Posted in Uncategorized on January 25th, 2010 by Fredrik Wendt – Be the first to comment
PNG är ett icke-förstörande format, dvs ingen färginformation förstörs när man sparar bilden. PNG är därför bäst av dessa tre vanliga format. PNG har stöd för transparens, dvs genomskinliga bildpunkter (bakgrunden syns igenom).
PNG lämpar sig bäst för “datorgenererad” bildinformation.
JPG är ett förstörande format, dvs färginformation förstörs/förloras varje gång en bild sparas ned och läses in igen. Man anger i procent hur “hårt” man vill att JPG skall komprimera/förstöra färginformation. Sparar man med 100% så förstörs väldigt, väldigt lite information, men å andra sidan så komprimeras bilden inte så mycket och filen blir stor.
JPG lämpar sig bra för naturlig bildinformation, såsom fotografier.
GIF är ett icke-förstörande format som ersattes av PNG pga patent-problematik. Patentet som täckte den komprimeringsalgoritm som används är inte längre giltligt, men det finns ingenting som GIF klarar som PNG inte klarar - PNG är alltså en bättre version av GIF då PNG har flera och bättre komprimeringsalgoritmer.
GIF lämpar sig bra om man vill använda webbläsare från 1900-talet, dvs innan stöd för PNG kom. :)
Posted in Uncategorized on January 24th, 2010 by Fredrik Wendt – Be the first to comment
Satte in en ny hårddisk (var en SATA-strömkabel kort sist) och möttes mot min förvåning av att en av raid-enheterna inte dök upp. Efter lite pillande visade det sig att mdadm faktiskt vill att man uppdaterar dess konfigurationsfil manuellt:
mdadm --examine --scan --config=mdadm.conf >> /etc/mdadm/mdadm.conf
Sedan var allt löst, frid och fröjd:
root@filserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md_d4 : active raid1 sdc1[2] sdb1[0]
488383936 blocks [2/1] [U_]
[==>..................] recovery = 12.9% (63137152/488383936) finish=116.1min speed=61024K/sec
md0 : active raid1 sde5[1] sdd5[0]
71015168 blocks [2/2] [UU]
md2 : active raid1 sde6[1] sdd6[0]
85272896 blocks [2/2] [UU]
unused devices:
Posted in Uncategorized on January 23rd, 2010 by Fredrik Wendt – Be the first to comment
Äntligen! Jag har lyckats leta efter denna film utan att hitta den … Detta är lite långsamt för att ta till sig offline, men det pekar på intressanta saker. (man kan nästan börja med att spola fram till 5:45).
Posted in Uncategorized on January 16th, 2010 by Fredrik Wendt – Be the first to comment
Jag såg idag av en händelse ett utmärkt exempel på användning av Gravatarer. På konferensen Codebits hemsida så ser slängde man upp en ansiktsvägg med konferensdeltagarnas gravatarer, vilket ju kan ge en känsla för hur konferensen ser ut! :)
För större konferenser borde detta vara ett enkelt sätt att samla in bilder på talare, och efteråt för folk som bara hann se en del av ett föredrag att snabbt/lätt hitta “ah, det var han som hade den där galna iden om [topic]” … Jag kommer iaf lättare ihåg ett ansikte än ett namn … read more »
Posted in Uncategorized on January 9th, 2010 by Fredrik Wendt – Be the first to comment
rsync –progress –verbose –recursive –backup –update –safe-links –times –one-file-system –compress /path/photo/ user@host:path/photo/
Posted in Uncategorized on January 4th, 2010 by Fredrik Wendt – Be the first to comment
Med min nya Nokia N900 som kör Maemo GNU/Linux så har jag lagt lite tid på att dekorera mina kontakter i adressboken med foton. Utöver ett fåtal personer som jag manuellt lagt in en bild för, har jag använt programmet Hermes för att tanka hem uppgifter och bilder (foton) från Facebook och Twitter. Själv har jag skrivit en utökning som gör att Hermes även använder bilder från Gravatar.
Gravatar har dock inte den spridning bland mina kontakter som jag hade hoppats. Det är fler av mina kontakter på LinkedIn som lagt upp en bild på sig själva, än motsvarande för Gravatar. Detta blev uppenbart när jag körde ett litet script som skapade en LinkedIn-vägg och en Gravatar-vägg. Skall se om jag kan få dessa väggar uppdaterad automatiskt lite då och då.
-
-
Gravatar
-
-
LinkedIn
Posted in Uncategorized on December 22nd, 2009 by Fredrik Wendt – Be the first to comment
En språklärare på högstadiet, diskuterade det här med “kön” med sina
elever.
T ex - sa läraren - benämns oftast båtar, flygplan och orkaner som “hon”. En av eleverna undrade då vilket kön i så fall en dator skulle vara. Läraren gjorde då detta till en gruppuppgift och delade upp klassen i två grupper - killar för sig och tjejer för sig. Uppgiften var att ge datorn ett kön och motivera varför.
Tjejerna kom fram till att en dator definitivt är en “han” eftersom:
- Han kan en hel del, men vet sällan hur han skall använda sin talang utan att få instruktioner.
- Det är meningen att han skall hjälpa till att lösa dina problem, men hälften av tiden är han själv det största problemet.
- För att få hans uppmärksamhet måste du först sätta på honom.
- Så fort du skaffat dig en, vet du att om du bara hade väntat litet längre skulle du kunna hittat en bättre modell.
Killarna, å andra sidan, ansåg att en dator är en “hon” eftersom:
- Ingen, utom hennes skapare, kan förstå den inbyggda logiken.
- Det språk en dator använder för att kommunicera med en annan dator är obegripligt för alla som inte är datorer.
- Minsta lilla misstag lagras i ett långtidsminne och kommer att ställa
till problem långt efteråt.
- Så fort du har fastnat för en, kommer du tvingas att spendera halva lönen på mer eller mindre nödvändiga tillbehör.
Posted in Uncategorized on December 21st, 2009 by Fredrik Wendt – Be the first to comment
Häromdagen var jag på GothPy-möte och fick se och testa på PyUseCase. Efteråt funderade jag på det 18-månadersprojekt (~8 utvecklare) jag nyss avslutat där ExtJS varit GUI-ramverket i applikationen (dvs en Rich Internet Application).
PyUseCase för ExtJS
- Det hade varit väldigt användbart.
- Jag har inte sett något liknande för webb.
- Jag tror inte att det är omöjligt …
- … men det kan kräva en hel del kunskap (om Selenium IDE) och kod att få till. :/
Jag har ännu inte kollat på Selenium 2. Jag har inte testkört Bromine utan bara tittat på dess screencast. ** I början av projektet jag satt på pratade vi dock om att det hade varit fint att ta oss till den nivån att man hade selenium-test som verifierade use case. Det närmaste jag såg ett verktyg som skulle kunna stödja det var STIQ, men organisationen ville inte testa detta - att använda Selenium var tillräcklig risk i projektet tyckte man.
** “Management can look at the icons ” 7 minuter in i filmen :)
Versionshantering
Varken STIQ eller Bromine verkar dock versionshantera testen, eller gruppera dem i “detta är use-casen för sprint 10″, och det är något jag känner att jag saknar. Under de 18 månader vi jobbade så byggdes flera funktioner om, så i sprint 10 kanske vi stödde 15 Use case, medan sprint 11 bara klarade 12 eftersom 3 skrevs om.
Sättet vi hanterade det på var att kommentera bort test case från testsviten. Inte snyggt, men eftersom Hudson mailade oss varje gång testen inte fungerade var vi nästan tvungna …
Avslutande tankar
- Det jag gillar med Bromine är kopplingen till krav/use case.
- Det jag gillar med STIQ är wiki-hanteringen och att man försöker abstrahera testen till logiska enheter/interaktionssteg.
- Det jag gillar med PyUseCase (för GTK) är hur inspelningen mappar till logisk enhet/interaktionssteg. Separationen med texttest är inte dum, eftersom valideringsbiten faller bort från stegen som behövs för att utföra use caset. Att ha två representationer av GUI:t (en ASCII-art och en verklig) är dock inte intuitivt för mig och känns som ren duplicering. Kanske är det ett nödvändigt ont man får acceptera för att få rena “use case test”?
- Med ett UI-ramverk som ExtJS borde man kunna lyssna på komponenter på samma sätt som PyUseCase gör med PyGTK. ASCII-art-rendreringen server side (eller iaf någon logg) är jag tveksam till.
Posted in Uncategorized on December 12th, 2009 by Fredrik Wendt – Be the first to comment
Pyttemjuk har tittat på vad JavaScript egentligen gör, i en rapport som kallas JSMeter. Borde ta upp DOMen …
Posted in Uncategorized on December 8th, 2009 by Fredrik Wendt – Be the first to comment
Fick glädjande nog til minuter på dagens dotNetForum till att presentera konferensen JSConf.eu. Tio minuter är väldigt lite tid, speciellt när projektorn och min dator inte är överens (fick lösas med att starta om X, varpå gconf kände igen “skärmarna” och använda rätt inställning direkt).
Fler personer än väntat kom fram efteråt och hade bra frågor - riktigt kul! Förhoppningsvis får jag komma tillbaka och prata mer om hur man optimerar webbplatser - det var detta ämne som verkade väckt störst intresse. :)
Presentationen (PDF)
Presentation (ODP)