Plugin för etiketter i WordPress
Jag har släppt en ny, förbättrad version av insticksprogrammet Jerome’s Keywords. Jerome har tidigare sagt att version 2.0 skulle kommit i september, men ingenting har hänt. De förbättringar som finns i min version kommer enligt honom vara med i nästa version.
Detta insticksprogram är ett utmärkt sätt att sätta valfria etiketter på sina inlägg. Dessutom kan man skapa snygga ”etikettmoln”. Mina förbättringar är dessa:
- Etiketterna exporteras i flödena. Ursprungligen är det endast den inbyggda kategoriseringen i WordPress som exporteras, men nu kan du alltså exportera alla dina etiketter. På så vis kan du få dina inlägg att synas på rätt ställe på exempelvis Blogwalk och Technorati.
- Bara exakta etiketter matchas vid sökning. Om du tidigare sökte på exempelvis etiketten telefoni, fick du med också de inlägg som märkts med mobiltelefoni. Det kanske är önskvärt för vissa, men jag gillade det inte.
Felkonfigurerade agenter ger fel information
Eniro har en tjänst som samlar lediga jobb från olika källor. Dessa kan man prenumerera på via e-post, och nyligen fick jag en märklig uppsättning jobb. Uppenbarligen har de ett program som automatiskt söker efter annonser på webben (en så kallad agent), och det fungerade inte alls bra just då.
Ett utdrag: (Rubriken ska i vanliga fall vara en ledig tjänst, därefter en kort beskrivning och organisationens namn.)
Anställd
Stockholms bioetiska centrum framgångsrikt men ifrågasatt!
Stockholm Universitet, Stockholm
Stockholm Universitet, 30 septemberBesöksadresser & fler kontaktuppgifter
Buss: Bussarna 40 70 540 samt 670 stannar vid T-banestationen Universitetet.
Stockholm Universitet, Stockholm
Stockholm Universitet, 30 septemberKalendariet
Ett urval av aktuella händelser vid Stockholms universitet varav de flesta är öppna för allmänheten.
Stockholm Universitet, Stockholm
Stockholm Universitet, 30 september
Jag tittade efter på Stockholms universitets hemsida, och tydligen har agenten utgått från sidan lediga anställningar och följt varenda länk därifrån. Exemplet visar hur bräckliga sådana agenter är – som bygger på formateringen av data hos en extern källa. Förmodligen har det fungerat tidigare, men det ser ut som att universitetet har ändrat syntaxen på webbplatsen nyligen. Pricerunner har samma problem, och har därför personal som ständigt övervakar deras agenter och resultaten av informationsinhämtningarna.
Tidigare utvecklade jag ett schemaprogram för KTH-studenter, och det förlitade sig helt på formatet på datan som schemaservrarna levererade. Med jämna mellanrum förändrades formatet och jag var därför tvungen att ändra i mitt program och släppa en ny version. (Nu fungerar programmet inte alls, men eftersom jag inte har något behov av det längre har jag låtit bli att fixa problemet.)
Snabbstart med Windows Vista
A Windows Vista computer starts and shuts down as quickly and reliably as a television, typically within 2 to 3 seconds. Windows Vista processes login scripts and startup programs and services in the background so you can start working right away.
Så skriver Microsoft nu. (Via Forever Geek.) Man fortsätter:
You’ll also shut down and restart your computer less often by using the New Sleep state, a simple one-click on and off experience which not only reduces power consumption, but also delivers and protects user data.
Det verkar alltså inte handla om ett standby-läge, utan man menar att datorn verkligen ska starta på ett par sekunder. Det låter otroligt, med tanke på att min nuvarande dator tar kanske 5–10 sekunder på sig att gå igenom BIOS-uppstarten. Kanske menar Microsoft att man börjar mäta efter BIOS?
Den snabbaste uppstarten jag har sett var för det modulära realtids-operativsystemet QNX. På min dåvarande dator var jag inloggad i det grafiska systemet c:a 20 sekunder efter att jag satt på strömmen till datorn (om jag inte minns helt fel). Windows 2000 tog 2–3 minuter på sig.
Men systemkraven för Vista som har börjat läcka ut antyder att det krävs en rejäl hårdvaruuppgradering från XP-datorn, något som också bidrar till en snabbare uppstart. APC Magazine citerar Nigel Page från Microsoft, och sammanfattar hans uttalande:
... Vista would work best on a video card with more than 256MB RAM, 2GB of DDR3 memory and a S-ATA 2 hard drive.
En annan möjlighet är att Microsoft samarbetar mer med moderkortstillverkarna och därigenom lyckas nå en lösning som gör det möjligt att starta datorn på två sekunder. Vi får väl se.
Ett stort problem med öppen källkod
Ett av målen med öppen källkod är att det ska vara enkelt för alla att hjälpa till. Det kanske det är, men gör folk verkligen det? Det verkar som att man hellre startar konkurrerande projekt än att hjälpa till. Hur många textredigerare behöver vi egentligen, och varför envisas folk med att utveckla nya hela tiden?
Det finns en speciell attityd som har jag hört talas om flera gånger under min utbildning; ”not invented here syndrome”. Den attityden får folk att se ned på program som andra har utvecklat, och tänka att man själv kan göra så mycket bättre. Ofta slutar det med att man börjar om från början och utvecklar något som redan finns. (Ibland är det också så att man inte orkar sätta sig in i någon annans kod, och man inbillar sig att det är enklare att börja om än att läsa dokumentation och förstå redan fungerande kod.) Det är självklart ineffektivt och bör undvikas.
En enkel Google-sökning indikerar att 36–74 000 projekt på SourceForge har en ensam utvecklare. (Varje projekt ger 2–4 träffar.) Antalet projekt med två utvecklare är 21 000, tre utvecklare 11 000. Minskningen fortsätter likadant till de 3 400 projekt som har sex utvecklare. Därefter visar sökresultaten 300 projekt med sju utvecklare; en osannolik minskning som kanske tyder på att min metod är bristfällig.
(Det kan förstås finnas tillfälliga utvecklare som inte syns i statistiken, men för att spara kod i SourceForges cvs-träd måste man vara registrerad hos projektet. Jag har själv e-postat korta kodsnuttar till utvecklare för ett par projekt, men jag syns inte i statistiken för dem.)
Folk verkar vara medvetna om redundansen. Det finns många program som heter något med ”yet another”, och det tyder på att det redan finns många liknande projekt. Varför utvecklar man då ännu ett, istället för att hjälpa till med något av de existerande? Denna redundans gör att utvecklingen går långsammare än den hade kunnat göra i en idealvärld. Tänk om alla som var missnöjda med ett program bestämde sig för att försöka åtgärda problemen!
Kan det vara så att det är för besvärligt att engagera sig i projekten tillfälligt? Jag har själv ett enkelt förslag till Firefox-projektet, men jag vet inte vad jag ska göra av det, och jag vill inte gå igenom en krånglig registreringsprocess. Hade Firefox haft ett kontor i närheten hade jag kunnat gå dit och prata med utvecklarna. Även om e-post är enkelt är kommunikationen ibland lättare på de personliga och mer avspända sätten. Att hålla ihop utvecklare via e-post, MSN eller Skype är mycket svårare än på ett kontor, där man tar fikapauser tillsammans.
Detta inlägg gäller naturligtvis bara för distribuerade öppen källkods-projekt, men den absoluta majoriteten hör till den kategorin. Undantagen är de riktigt seriösa projekten som exempelvis mySQL och Qt, som drivs av ”riktiga företag”.
Skype + Ebay + FBI = säkerhetshål?
Nu när FBI och FCC pratar om att tvinga fram bakdörrar för avlyssning i alla VoIP-system känns det extra aktuellt att titta till Skype. Även om man köpts upp av amerikanska Ebay kommer man dock förbli ett eget bolag, baserat i Luxemburg. Men förmodligen kommer Ebay få påhälsning av amerikanska agentbyråer, och det är inte orimligt att man till sist ger efter för kraven.
Jag har tidigare skrivit om att Skype i dagsläget är omöjligt att avlyssna, på grund av (eller tack vare) kryptering. Det finns naturligtvis både för- och nackdelar med detta. Jag kan vara säker på att ingen vet vad jag säger, men å andra sidan kan också kriminella det.
Vanlig telefoni är förstås avlyssningsbar. Men såvitt jag förstår är det inte helt enkelt att koppla in sig på någon annans ledning. På Internet behöver man inte fysisk tillgång till några kablar (mer än sin bredbandskoppling); det räcker med en IP-adress. Idag skulle det gå att avlyssna Skype-samtal med hjälp av en trojan, men en bakdörr kan göra det ännu enklare. Hur lång tid skulle det ta för dvd-Jon att hitta/knäcka den?
FBI vill tvinga fram en bakdörr
Vad är egentligen en bakdörr? Som Skype ser ut idag använder man AES och RSA för att skicka samtalen. Dessa algoritmer har inga bakdörrar. En lösning är att lägga in bakdörren i själva programmet, så att FBI med en särskild nyckel kopplar in sig i ditt program och väntar på att du ska ringa. Det finns kanske andra, bättre sätt att göra en bakdörr på.
Zennström fick 2003 en fråga av News.com:
If the FBI or Europol came to you and said, ”We order you to include a secret backdoor for unencrypted wiretapping in the next version of Skype,” what would you do?
– Obviously we would work with authorities in whatever jurisdiction we would be subject to. Sure, we would sit down and talk to them. But we would not just say here’s the backdoor and just bluntly do it.
Nu är det alltså fastställt. ZDNets blogg om ip-telefoni skriver:
Last week, after FBI prompting, the FCC issued an edict requiring most VoIP providers install software that could accommodate authorized wiretaps. This capability is to be in place within 18 months.
Intressant att notera ”most VoIP providers”. Vad det innebär har jag inte lyckats ta reda på. Men som vanligt handlar det om ett beslut som bara gäller i USA. Om man ser Skype som enbart programvara utan kopplingar till USA behöver de inte bry sig.
Skype är stängd programvara
När det gäller kryptering och annan datasäkerhet brukar man säga att man inte ska lita på ”stängd” programvara. (Sådan som inte publicerar källkoden.) Skype påstår att de använder AES, men hur kan vi vet det utan att undersöka koden själva? Vanligtvis brukar oseriösa företag ta fram stängda produkter med hemliga krypteringsalgoritmer, men dessa ska man absolut inte lita på.
Skype litar man tydligen på, och kanske har det att göra med att företaget och Zennström verkar ”coola” och att de verkar veta vad de gör. Om de installerar en bakdörr måste vi tro att de har gjort ett gott jobb och att de inte har öppnat våra samtal för hackare världen över. Hade de istället valt att publicera källkoden hade vi kunnat låta världens alla experter kontrollera och testa, för att säkerställa vår fortsatta integritet.
I värsta fall inför man en bakdörr som knäcks av hackare. Då kommer Skype förlora kunder och tvingas ta fram en ny lösning. Så håller man på så fram och tillbaka i all evighet. Eller så låter man bli att införa bakdörren. Jag vet inte vilket jag föredrar.
Läs mer på The Register och Slashdot.
Nördigt felmeddelande
Felmeddelanden i program och på webben bör vara informativa. Framförallt bör man få användarna att förstå varför felet uppstod och vad de kan göra för att undvika det. Tyvärr är de flesta meddelanden ganska ”nördiga”, dvs. inriktade mot expertanvändare. SL har ett ganska bra exempel på sin Reseplanerare.

F1 säger mig ingenting, och varför misslyckas sökningen hela tiden? Vem är det som misslyckas, egentligen?
Hur man får felet: skriv in en sökfråga och låt sidan vara öppen ett tag. Till slut går tiden för sessionen ut, och klickar du då på ”senare resa” eller dylikt, får du detta felmeddelande. Varför man över huvud taget använder sig av sessioner kan jag inte begripa.
Om bokmärkets oanvändbarhet
Webbläsarnas bokmärken har från första början använts på ”fel” sätt. En undersökning från 2000 visar att en webbläsaranvändare i snitt har 19 mappar med 12 bokmärken i varje, plus 44 som ligger i ”rot-mappen”. 25% av alla dessa bokmärken är ogiltiga. En annan undersökning från 1995 visar att endast 2% av alla sidor besöks via bokmärken.
För några år sedan gjorde jag en observation: jag märkte att jag själv hellre sökte efter en sida via Google, än letade bland mina bokmärken. Skriver man in ett ord i adressfönstret i Firefox försöker den först hitta en domän med det namnet, sedan görs en ”I feel lucky”-sökning på Google; vilket innebär att användaren skickas direkt till den första träffen.
Jämför med det grafiska och det textbaserade gränssnittet till ett operativsystem. Ett grafiskt system gör att du inte behöver komma ihåg några kommandon, men det textbaserade är mer effektivt om du faktiskt gör det. När du letar efter en sida vet du vad du söker – därför är det mer effektivt att skriva ned det, än att leta i en hierarki. Tack vare sökmotorerna behöver du inte veta den exakta adressen, utan bara några viktiga nyckelord för sidan eller webbplatsen.
(Det har förresten dykt upp tilläggsprogram till Firefox som låter dig söka igenom dina bokmärken. Varför då inte söka igenom hela webben? Detta tilläggsprograms existens tolkar jag som en bekräftelse av min hypotes; bokmärkessamlingar är jobbiga.)
Om jag kommer ihåg vilken domän en sida finns på kan jag börja skriva in det i adressfönstret. Firefox visar då de sidor på den domänen som finns i min historik. Det är ett alternativ till bokmärken för obskyra sidor som inte hittas med sökmotorer. Det är också snabbare än en sökning, så ofta föredrar jag det – men historiken är begränsad.
Jag installerade nyligen om Firefox och har nu exakt 13 bokmärken. Av dessa går samtliga till sidor för inloggning (banken, mina bloggar och andra slutna areor). Jag skulle förmodligen inte hitta någon av dessa sidor med en Google-sökning, och adresserna är lite besvärliga; därför väljer jag att bokmärka dem. För denna typ av användning är bokmärken faktiskt utmärkta, så helt oanvändbara är de inte!
Dessutom fyller bokmärket en annan funktion, nämligen som en påminnelse. Om du lägger in ett bokmärke kommer du med jämna mellanrum se det, och kanske komma ihåg att besöka den sidan. Lägger du inte in den som ett bokmärke kanske du glömmer bort den. Men, hur viktig kan sidan då egentligen ha varit?
Ännu en funktion bokmärket fyller är som ett arkiv där man lagrar intressanta sidor som man inte har tid att läsa just då. När man sedan har en stund över, eller är uttråkad, kan man bläddra bland sina bokmärken för att hitta något att läsa (eller göra; många sidor är ju interaktiva). Men när bokmärkesmappen används som ett arkiv blir de viktiga bokmärkena svårare att hitta. Då är det nog smartare att ha ett separat system för dessa; exempelvis del.icio.us.
En titt på Tungsten E2
I vintras sålde jag min senaste handdator, en gammal Handspring Visor Edge. Istället köpte jag en Sony Ericsson P900, som jag var missnöjd med och precis har sålt igen. Nu köpte jag slutligen en Palm Tungsten E2, som verkar lovande men inte helt perfekt.
Min Handspring hade Palm OS 3.5 och svartvit skärm. Den var tunn, silverfärgad, helt i aluminium och hade ett smart skydd som fälldes ned över skärmen. Jag gillade den starkt, även om modellen var fyra år gammal när jag till sist sålde den.
När jag hade bytt till P900 märkte jag ganska snabbt att jag slutade använda PIM-funktionerna i den (kalender, att-göra-listor, anteckningar etc.). Den var helt enkelt mycket mindre effektiv än Palm OS var för mig. Det tog längre tid att skriva in möten, anteckningar och liknande, och längre tid att bläddra och hitta.
Alltså kände jag ett starkt sug efter att återgå till Palm OS. Den här gången blev det en Tungsten E2, billigast och nyast i Tungsten-familjen. Jag har lekt med den ett tag nu, och kommit på ett antal fördelar med en E2, jämfört med P900:
- startar nästan omedelbart – P900 tar kanske en minut på sig att sätta igång
- ”dedikerat” område för inmatning med penna – med P900 blandade systemet ibland ihop klick med textinmatning, vilket gjorde det mycket enerverande och ineffektivt att exempelvis skriva en punkt (jag lyckades nog aldrig heller markera den text jag skrivit; det tolkades som ”backspace” eller mellanslag)
- kan synkroniseras med Linux – omöjligt med P900
- har plats för SD-kort på upp till 1 GB istället för Memory Stick Duo på 128 MB
- standarduttag för hörlurar – P900 har ett 2,5-tumsuttag
- många fler program till Palm OS än till Symbian/UIQ (åtminstone upplever jag det så; jag installerade bara Opera och OggPlay på min P900)
Naturligtvis har P900 ett par fördelar också:
- inbyggd telefon och kamera
- bättre batteritid – svårt att jämföra, men P900 har 400 timmars standby (16 dygn) och E2 har ”upp till 8 dagars normal användning” på en laddning
- större inbyggt minne – 48 MB mot 32 MB (påverkas dock kraftigt av operativsystemets och programmens karaktär; Palm OS-program är i regel mycket minnessnåla)
- vagga för smidig synkronisering och laddning medföljer (endast usb-kabel och separat laddare för E2)
Jag lyckades snabbt koppla ihop E2 med min mobiltelefon (Siemens S55) via Bluetooth. Det var föredömligt enkelt! Nu kan jag skriva och skicka sms på handdatorn utan att röra telefonen. GPRS ska jag också försöka få igång eftersom E2 innehåller en webbläsare. Adressboken från telefonen gick också smidigt att föra över via Bluetooth.
Men jag stötte också på något jag blev besviken över. Mp3-spelaren som ”medföljer” E2 måste installeras från cd-skiva. Denna cd-skiva är inte över huvud taget läsbar från Linux, så jag laddade ned mp3-spelaren istället. Det var en .exe-fil, som visserligen gick att öppna med Wine, men till sist klagade installationsprogrammet över att jag inte hade installerat Palm Desktop! Omöjligt att få igång i Linux, alltså. (Ej att förväxlas med synkronisering och överföring av program till E2 i Linux, för det går utmärkt med exempelvis J-Pilot.)
När jag så småningom startat om i Windows, installerat Real-spelaren och lagt in lite musik på ett minneskort kom ytterligare besvikelser:
- Om filnamnen innehåller UTF-8-tecken visas filen inte alls. Jag måste alltså döpa om vissa filer med å, ä eller ö som jag vill lyssna på.
- Filerna kan inte ligga i mappar utan endast i roten. Hur smidigt är det när minneskorten rymmer kanske tio album? Förvisso finns det stöd för spellistor, men mina spellistor är baserade på en hierarki med mappar.
- Hörlursuttaget har en väldigt dålig SNR (signal-to-noise ratio). Dvs. det brusar förfärligt mellan låtar och även under tystare musikpartier. Jag provade med mina fyra bästa hörlurar, och märkligt nog är bruset konstant oavsett volym.
Ingen musikmaskin, med andra ord. Jag hade hoppats kunna lämna mp3-spelaren hemma, men den får nog följa med även i fortsättningen.
För att testa hur den fungerar som bok/bokläsare/bibliotek köpte jag eReader Pro tillsammans med ett typsnittspaket och en bok av Robin Hobb. (Totalt $32, ungefär 240 kronor.) Jag brukade läsa böcker på min Handspring, men nu var det mycket bättre på alla sätt! Väldigt läsbar text med hög kontrast och bra typsnitt (Bell MT från paketet är riktigt bra). Jag klickar igång ”auto-scroll-funktionen” och sätter mig tillrätta. Fördelen med att läsa e-böcker på det här sättet är att det är så enkelt att ta med dem överallt – långt överlägset pocketböcker till formatet.

Bildkvaliteten ovan beror mer på kameran än handdatorn. Typsnittet är Bell MT, storlek 18 – fullt läsbart från ett ”normalt” läsavstånd (upp till drygt en halvmeter).
Riktlinjer underlättar för alla – bryt inte mot dem i onödan!
Webben har de senaste åren (enligt min uppfattning) blivit mer och mer standardiserad och välstrukturerad. Till stor del följer man exempelvis W3C:s rekommendationer, som ibland också kallas standarder. Men tyvärr finns det avvikelser, och när man löser en uppgift på ett icke-standardiserat eller rent ut sagt märkligt sätt, då kan det få konsekvenser.
Semantik och html-taggar
Blogger har en WYSIWYG-redigerare så att man enkelt kan skriva sina blogginlägg. Markera texten och klicka på B så blir den fetstilt. Men av någon obegriplig anledning använder man sig inte av taggen b eller strong, utan man förlitar sig helt på stilmallar! Html-koden blir: <span style="font-weight: bold;">Text</span>, och det finns åtminstone tre nackdelar med detta.
- Webbläsare utan stöd för stilmallar, eller som har stängt av stilmallar tillfälligt, visar texten icke-fet.
- Koden är längre, dvs. tar mer utrymme.
- Markeringen har inget semantiskt värde – ett program som söker igenom koden ser inte att den är fetstilt.
Jämför med den dåliga ovanan som åtminstone jag ägnade mig åt för länge sedan, att använda p-taggen med olika stilar för rubriker och allt möjligt. Det är inte bra, men kan ändå renderas precis lika snyggt i den senaste webbläsaren, med rätt inställningar.
Http-koder
För att webbläsare och program ska veta ”hur det gick” med http-anrop returneras alltid en kod. De vanligaste är 200 (ok) och 404 (not found). Ännu ett obegripligt avsteg från riktlinjerna är att skicka en 302-kod (found) istället för 404 när en sida inte finns på webbservern.
Detta görs på Socialdemokraternas sidor på s-info.se. När du anger en sida som inte finns skickas koden 302 till din webbläsare, som tolkar det som en omdirigering till en sida som i sin tur visar ett felmeddelande. Faktiskt heter denna sida 404.asp, men koden 404 skickas aldrig.
Bagateller, kan tyckas. Men koden 302 står för en tillfällig omdirigering, och enligt ”standarden” anses inte ursprungsadressen vara felaktig. Det får vissa konsekvenser:
- Om ett tag kommer Google och andra sökmotorer hitta min länk till dennasidafinnsinte.html på s-info.se, och indexera den. Koden 302 tolkar de som att sidan är ok, och felmeddelandet kommer lagras i databaserna. Sedan kan du alltså få upp deras felsida som ett sökresultat!
- Spindlar och andra program som vill testa om en viss fil finns på webbplatsen (favicon.ico är ett typiskt exempel), får svaret: ”visst finns den filen, men vi har flyttat på den tillfälligt!” Om programmet inte är försiktigt kommer det läsa in felsidan och tro att det är exempelvis en ikon. (Så gjorde mitt skript först, när det letade efter bloggarnas ikoner till Blogwalk.)
Kort sagt: håll dig till rekommendationer, normer och standarder. Snälla?