Vårstädning i Facebook

Jag kände att jag behövde se över hur mycket storebror Facebook känner till om mig och mitt leverne. När jag gick in under sekretessinställningar och sedan redigerade information om applikationer och webbplatser blev jag nästan lite häpen. Där fanns en lång lång lista över applikationer som tydligen hade rätt att läsa vad de ville om mig. Många av dem kommer jag ihåg att jag vid något svagt tillfälle tackat ja till (vem vill inte vara “Friends Forever”?) men nästan lika många kände jag inte alls igen.

I brist på vår i den riktiga världen bestämde jag mig för att utropa en vårstädning på Internet istället. Sagt och gjort, jag har nu tagit bort så gott som alla applikationer som hade tillgång till min information ifrån Facebook. De flesta av dem var inaktiva men det känns ändå skönt att ha dem borta.

Hur många applikationer har ni själva? Kolla här:
http://www.facebook.com/settings/?tab=applications

http://www.facebook.com/settings/?tab=application

Refaktorisering av kod

Att refaktorisera kod är nog något av det tråkigaste man kan göra som programmerare. Allt ska fungera precis som tidigare (kanske någon prestandaskillnad) men hela strukturen ska i värsta fall skrivas om!

Just nu sitter jag med hemsk PHP-kod, skriven av en medelmåtta till programmerare, och refaktoriserar denna kod till att vara objektorienterad och effektiv. Koden ska vara vacker! Att skriva bra kod är verkligen ett hantverk.

Jag gillar hur ni tänker… (facebook app)

Jag programmerar just nu en Facebook-applikation. När jag nu sitter och gräver genom kod och data ifrån Facebook så fick jag syn på följande information som är ett utdrag ur användarinformationen från Facebook:

    [relationship_status] => Married
    [significant_other] => Array
        (
            [name] => ....
            [id] => 123
        )

Array. Jag gillar hur ni tänker.

På Google-fronten intent nytt

Sällan har det väl varit så tyst från Google på deras Webmaster Central Blog. Inte sedan den 28 december har en ny post publicerats där. Där kommer annars cirka 10 inlägg per månad och nu när vi redan är framme vid den 17 januari tycker man att någon borde ha vaknat efter nyårsfesten.

Detta tillsammans med att Yahoo sällan publicerar några nyheter sedan de outsourcade sin sökmotor till Bing gör det väldigt tyst på sökmotorfronten. Bing publicerar en och annan nyhet men oftast är det kosmetika eller funktioner som endast är tillgängliga på andra sidan Atlanten.

Antingen jobbar de på något stort eller så är det bara väldigt tråkigt på sökmotorfronten just nu.

Base64-kodning för e-post

Ibland är lösningar lättare än man tror. Jag hade en bild som skulle kodas till Base64 för att vara del av ett e-postutskick.  Jag funderade först på om jag skulle skriva ett enkelt litet program för att konvertera bilder till Base64 samt skapa header-information som ska följa med bilden i e-postutskicket.

Den enkla lösningen var att istället för att skapa ett program så skickade jag bilden till mig själv med e-post. Sedan vara det bara att “visa källa” på e-postmeddelandet och klippa ut den färdig-kodade bilden inklusive header med mera! Perfekt och enkelt. Ibland gör man det lätt för sig.

Skicka formulär med “enter”

Jag stötte på ett lite udda problem idag. Ett formulär som tidigare haft en egen submit-knapp skickades nu istället med hjälp av ett javascript. Detta gjorde att möjligheten att skicka formuläret genom att trycka enter på en rad slutade fungera.

Tyvärr ville jag inte ha en submit-knapp längre utan ville fortfarande använda javascriptet för att skicka formuläret. Tyvärr var webbläsaren för smart för att luras av en dold-submitknapp. Jag ville inte heller ha en trigger på varenda fält i formuläret. Lösningen blev istället följande kodrader:

<form ... onsubmit="sendForm();">
...
<input type="submit" value="sök"
  style="background:white;color:white;border:none;">
</form>

Denna kod fungerar perfekt! Knappen syns inte (givetvis om bara om bakgrunden också är vit) och man kan fortfarande trycka enter i vilket input-fält som helst och formuläret skickas då via javascriptet!

Microsoft Security Essentials

För alla som missat det skulle jag villa påminna om att Microsoft Security Essentials sedan en tid tillbaka finns tillgängligt att ladda ner för alla Windows-ägare även här i Sverige. Tidigare var tillgången begränsad till vissa världsdelar men nu är den alltså i alla fall tillgänglig här.

Jag har alltid varit emot anitvirusprogram och försökt undvika dem bäst det går. Idag kan man inte vara utan skydd med tanke på alla hot som kommer ifrån Internet. För en gångs skull tycker jag dock detta är ett program som bör vara del av operativsystemet (till skillnad mot webbläsare och annat lull-lull som Windows ofta fokuserar på). Vem kan bättre än Microsoft själva veta var och hur man bör skydda systemet? Jag hoppas bara att de satsar ordentligt på den här produkten så att den blir minst lika säker som konkurrenterna som har flera års försprång i antivirus-hantering.

Under ett par månader har jag kört Microsoft Security Essentials (MSE) på min hem-PC och det har fungerat utmärkt. Alla mina tidigare antivirusprogram har alltid gjort mycket oväsen av sig i form av uppdateringar eller att de varit i vägen när vissa program skulle köra. MSE är mycket tystare av sig och hittills verkar den fungera bra. Det återstår att se vid nästa virusutbrott om den hanterar detta på ett bra sätt!

Enkel iPhone app i HTML5

Jag har jobbat väldigt länge som programmerare och jag har byggt hemsidor sedan 1996. När jag förra året började programmera iPhone apps i Objective-C tyckte jag det var en väldigt stor omställning jämfört med mycket av min tidigare kunskap.

Det var då med stor glädje jag upptäckte hur enkelt det är att skapa Webbapps med hjälpa av HTML5! Tack vare ett väldigt bra stöd för den nya HTML-standarden kan man göra väldigt avancerade apps i ren HTML. En bieffekt av detta blir även att koden inte blir systemberoende och med mindre tweaks kan flyttas över till andra framtida HTML5-kapabla plattformar (det finns tyvärr inte många idag som stödjer det och de som stödjer det gör det sällan fullt ut).

Läs mer om HTML5 på Wikipedia.