2010-06-29

Japan

När jag var liten bodde det en man i en liten stuga på andra sidan skogen. Han kunde inte förstå hur ett så högteknologiskt land som Japan kunde förlora en straffläggning.

2010-06-27

Xcode 4


Jag tittade igenom en WWDC-presentation om Apples utvecklingsverktyg (allt från WWDC 10 finns på iTunes), och Xcode 4 verkar kunna bli the shizzle, jämfört med Xcode 3 som är typ scheisse:

- Ett fönster. Inte tusen fönster. Ett fönster. Steve Jobs har uppfunnit the one window application. Hurra för Steve Jobs!

- Interface Builder finns integrerat i Xcode. I det enda fönstret. Man kan se dem samtidigt, man kan dra outlets och actions från buildern till källkoden.
- LLVM tar hand om kod-komplettering och att berätta för en när man stavat fel till saker. På demona ser det fett ut, hur det ser ut i verkligheten vet jag inte. Man blir lite orolig när presentatörerna står och säger positiva saker om hur bra editorn i Xcode alltid har varit, medan jag själv tycker att den är pinsamt långsam ganska ofta.
- De har gjort något åt svn-stödet, och förhoppningsvis fått det att funka. Och lagt till stöd för git. Och en diff-viewer med timeline. Och i motsats till t.ex. Versions så ska de tydligen ha stöd för både branch och merge. Förhoppningsvis på ett sätt som är användbart, snarare än som i Tortoise, där merge-funktionaliteten är så kryptisk att man ändå blir tvungen att göra det från kommando-raden.

- En ny debugger, LLDB. De sa mest att den är snabbare än gdb, jag hoppas att den har mer att komma med, t.ex. debuggning av optimerad kod.


Jag sa så sent som för någon vecka sedan om Xcode att det är uppenbart att det har utvecklats helt utan inblandning från Apples legendariska interaktionsdesigners. De verkar ha kallats in till Xcode 4. Att basera vyer på filter/sökningar känns ganska mycket mer 2000-tal än statiska hierarkier. Däremot antar jag att mindre sexiga delar av UI:t, som t.ex. projektinställningar, fortfarande är en enda röra. Jag skulle vilja se en kompetent interaktionsdesigner stoppa det i sin crack-pipa och röka.

Sen vill jag inte hypea det här för mycket innan jag har testat själv, det som visas i presentationen är bara den yttersta ytan . Ingenting sägs t.ex. om sådant som sub-projekt, som antagligen kommer fortsätta ofunka även i Xcode 4.

2010-06-25

Skriv om, skriv rätt!


Jag har hållit på och läst "Working Effectively with Legacy Code" av Martin C. Feathers ett tag, och blev klar med den igår. Den tog inte tid för att den var tråkig, utan för att jag ville smälta delarna ordentlig. (Jag väljer att inte ta matsmältnings-metaforen vidare, det skulle bli obehagligt.)

Det är en bok som alla programmerare borde läsa, åtminstone de som inte kör test-driven utveckling av trivsel och ohejdad vana. Den här boken visar inte bara med väldigt konkreta exempel hur man inkrementellt förbättrar rutten kod, utan illustrerar även väldigt tydligt varför unit-tester är ett måste.

Författaren har uppenbarligen högt ställda krav. Han definierar legacy code som kod som saknar testfall. Det kan låta lite hårt, men han visar varför det är vettigt.

Om du någonsin har blivit irriterad på svårförståelig kod och det har känts jobbigt att fixa den, läs den här boken!

2010-06-24

iBloggosfären

När jag ändå bara sitter här och känner mig emlig så kan jag ju posta lite länkar till saker som ni kan läsa i midsommar, istället för att supa och dansa runt midsommar-granen.

Tomi Ahonen är som vanligt väldigt ambitiös, genomtänkt, välanalyserad och pratig, när han skriver om hur smart det är att investera i att skriva appar till iPhone/iPod/iPad. Sett ur investerings-perspektivet har han antagligen helt rätt, och det vore nyttigt för många att läsa det här. I kommentarerna påpekas aspekter som saknas i hans resonemang, även om det känns som om många helt enkelt gillar App Store.

Jag tror att den huvudsakliga anledningen till att många appar i App Store utvecklas för just iApparaterna är att det är kul och enkelt. Man laddar ner ett SDK till sin Mac och sen kör man. Apple tar hand om allt krångel (saker i stil med betalning, distribution och att i värsta fall vägra dig tillträde). Det förklarar varför det finns en massa små, roliga appar utvecklade på fritiden. Hur många skriver kod till Symbian för att det är kul? (Awesome random clipart, eller hur?)

En annan anledning till att utveckla iAppar är att det är den coola plattformen. De man vill nå med sitt budskap har iPhone. Det är coolt att ha en iPhone-app. Det är trevligt för oss som har iPhone att det är så, ska man resa med Västtrafiken så är iPhone-appen väldigt trevlig. Men ville Västtrafiken nå ut till så många som möjligt så hade det varit smartare att satsa på andra plattformar. Vilket de kanske gör också, vad vet jag?

Nåja, jag lovade länkar, inte svammel. Russell Beattie skriver att tablets är framtiden. Det kanske han har rätt i, eller så uppfinner Steve Jobs något ännu bättre så småningom. Och även om jag inte har någon iPad eller någon annan tablet så tror jag att han underskattar Apple en aning. Bortsett från all hype så har de en förmåga att göra mer rätt än många vill erkänna.

2010-06-20

Pirates! - Eaglesoft crack, save game fix (C-64)

This version is identical to the Eaglesoft crack of Pirates!, except in that version, the game won't recognize disk side 1 after you've loaded a saved game, which means that you can't resume playing from a saved game. The fix is very simple: disk side 1 needs to have the disk id "p1". I don't know why no one else has uploaded a fix, so for your convenience, here it is.


(This is not an official release or anything, just something for you gamers out there who are as retarded as me, and still play C-64 games on real hardware now and then. If you're using an emulator, just use the snapshot function instead. Or play the Amiga/PC/Mac version.)

2010-06-17

Drömkod

Jag läste "Dreaming in Code" av Scott Rosenberg. Den handlar om utvecklingen av ett open source-program som heter Chandler, och utspelar sig mellan 2003 och 2006. Under denna tid lyckas utvecklare+chefer begå i stort sett vartenda misstag som existerar. Med detta som bakgrund berättar författaren för läsare som inte kan programmera om olika programmerings-relaterade fenomen, som jak-rakning, the mythical man month, Extreme Programming, katedralen och bizarren.

Det är kul att läsa om ett utveckling, även om det i det aktuella fallet är smärtsamt och pinsamt, lite The Office sådär. Jag har även problem med själva berättandet. Författaren gör avstickare för att ge bakgrund och teoretisera, ibland 30 sidor i taget. Själva berättelsen hamnar i bakgrunden. Eventuellt hade det varit mer intressant om jag inte känt till det mesta innan, men jag har svårt att acceptera för långa pauser i berättelser. Vi lär av Charles Bukowski!

Författaren har en djupt pessimistisk syn på mjukvaruutveckling. Det går inte att få till det. Det går inte att planera, det går inte att estimera. Det finns utvecklingsprocesser, men de funkar bara för de som utvecklat dem, och kanske inte ens för dem. Programmerare vill inte vara med om någon planering, det vill bara optimera sina verktyg istället för att skriva vettig kod. Jag tror att det är den typen av attityd som saboterar många projekt. Man tror inte att det finns något som hjälper, och om man testar något som borde hjälpa så tar man det inte på allvar, och så fort man misslyckas så misströstar man och går tillbaks till en kombination av vattenfall och cowboy-programmering. Inte för att det är bättre, utan för att det är det som är bekvämast för alla inblandade: projektledarna kan planera på det sätt som är mest bekvämt för dem (Olle jobbar på A i två månader, Kalle jobbar på B i 4 månader) och utvecklarna slipper alla former av struktur och får skriva kod ostört.

Några teoretiker finner dock nåd inför Rosenbergs ögon: Brooks "The Mythical Man-Month" hänvisas det flitigt till, på det där naiva sättet som det brukar göra ("Kan vi verkligen ta in en ny utvecklare nu, det är ju bara 3 månader kvar till releasen, tänk om det blir kaos, tänk på att man-månaden är mytisk!"), eftersom det är den enda teorin om utveckling som alla känner till. Eric S. Raymonds "The Cathedral and the Bazaar" hänvisas det flitigt till, även om det ganska tydligt framgår att dess beskrivning av open source-projekt bara stämmer på ett fåtal större projekt. Joel Spolsky ges också stort utrymme att prisa Microsoft och slå ner på alla sätt att försöka strukturera upp utvecklingsprojekt.

Boken pendlar mellan tumme upp och tumme ner. När det handlar om hur Chandler-gänget försöker designa klart allt innan de börjar koda, eller väljer motsatt inriktning, så är det bra, men frustrerande. När det handlar om allmän data-historia så är det ofta ganska trist.

Version 1.0 av Chandler verkar ha släppts för några år sedan, sådär 5 år senare än tänkt. Jag laddade ner 1.0.3 för Mac, men det gick inte att starta på min dator.

Dödliga filer

Jag tycker att Chrome kan låta lite väl lillgammal ibland när han pratar med mig. När jag vill ladda ner ett program så säger han "This type of file can damage your computer, are you sure you want to download it?"

Med den typen av onyanserad kommunikation så är det ganska uppenbart att Chrome inte är menat att användas av vem som helst, för om man inte vet vad de egentligen menar så låter det där ganska hotfullt.

Eftersom jag läser kommentarer på IDG ganska regelbundet så känner jag att jag måste omvandla det där till en bilmetafor. Tänk om bilen sa "Den här mackapären förstör miljön och kan förvandlas till en dödsfälla vid minsta misstag, antingen av dig eller godtycklig med- eller mot-trafikant", hur fan skulle det låta? Va, va, va?

2010-06-15

Dagens dikt

Hålla mig vaken
Hålla mig vaken
Hålla mig vaken
Hålla mig vaken

Jag somnade i andra halvlek
Men jag måste
Hålla mig vaken
Hålla mig vaken

Hålla mig vaken
Hålla mig vaken
Hålla mig vaken
Hålla mig vaken

Jag köpte snus
För att nikotinet
Kanske kan
Hålla mig vaken

Hålla mig vaken
Hålla mig vaken
Hålla mig vaken
Vaken

Hålla mig vaken
Hålla mig vaken
Hålla mig vaken
Hålla mig vaken

Jag sov ändå
En del på planet
Hålla mig vaken
Hålla mig vaken

Hålla mig vaken
Hålla mig vaken
Hålla mig vaken
Vaken

2010-06-13

Summering

Det var mycket som var bra på Atlassian Summit. Jag lärde mig en del nya makron som kan ha avgörande betydelse för att få till dokumentationen som vi vill ha den. Nya Green Hopper har ett par killer features (men kanske inte killer combinations). Jag var på några riktigt bra presentationer om Agile och en väl genomtänkt presentation om distribuerad versionshantering (git och Mercurial).

Hela evenemanget var riktigt bra, jag skulle säga att det var bättre än WWDC, som jag var på förra året. Det är mindre, så man lära känna folk på ett annat sätt. Maten var riktigt bra, festen var mycket trevligare, och jag och Gustav festade loss ganska bra både där och på efterfesten. Jag spelade biljard för första gången på typ 15 år.

Idag lyckades vi dessutom hitta det thailändska stället vi åt på förra året. Det ligger precis på gränsen till Tenderloin (knarkhandlare och sinnessjuka tiggare utanför). Vi har tagit en öl på fjolårets favorit The Hydeout. Vädret har varit jättebra, speciellt idag.

I övrigt vet jag inte riktigt, men jag är sjukt trött och måste sova nu. Guten nacht!

2010-06-09

Utdrag ur loggboken

Igår var vi ner till San Jose och tittade på The Winchester House. Ganska kul att ha varit där, men det är synd att jag inte råkade vara typ 10, snarare än lastgammal, för då hade jag nog uppskattat det betydligt mer.

I förrgår var vi ute och gick som bara fan. Först var vi till Guitar Center, eller Russ och Chris var dit, medan jag gick upp till Guitar Center-parken och tog det lugnt. Sen gick vi ner till Mission och letade efter Amerika-strumpor och åt en burrito. Sen promenerade vi till Haight-Ashbury via Castro och en kulle med fet utsikt. I Castro drack vi något kallt, sen gick vi tillbaks mot stan, stannade till på fjolårets favorit The Hydeout och drack något annat kallt. Sen var vi möra, och lyckades bara palla oss bort till China Town för middag, och en bar mittemot hotellet för lite mer öl.

Min förkylning har inte riktigt lagt sig, utan jag har förföljts av en retsam hosta, men det känns som om den verkligen är på väg att lägga sig nu. Ganska skönt, för imorgon börjar Atlassian Summit, och jag har ingen lust att sitta och hosta inne på föreläsningar. I påsen man fick när man skrev in sig så fanns det bland annat med en enormt stor t-shirt (one size fits all lardasses) och en liten påse vulkanaska.

Igår var vi och åt middag på The Stinking Rose, en italiensk restaurang som har vitlök i allting. Trevligt nog så hade de inte gjort så mycket gimmick av det som de kunde ha gjort: det där med vitlöken var inte överdrivet. Rekommenderas!

Jag har inte tagit ett enda foto än. Jag satsar på att få till en helt foto-fri resa, det hade varit något!

2010-06-07

På västkusten

Nu är jag plötsligt i San Francisco igen. Flyget från Frankfurt blev försenat för att de blev tvungna att byta däck på planet. Detta skedde efter att vi hade bordat, så vi satt där någon timme och överöstes av kalluft, eftersom solen stekte planet. När jag fick maten så hade smöret smält och efterrätts-frukten var varm. Trevligt.

Flygresan var inte helt oväntat lång och trist. Jag har en hosta som inte riktigt har velat ge sig, och tolv timmar i flygplansluft gjorde inte saken bättre.

Men väl framme i San Francisco så var allt frid och fröjd, förutom att det blivit fel i vår bokning, så att vi fått två rum med dubbelsängar, snarare än två rum med två separata sängar. Efter en del palaver så fixade det sig, även om vi är tvungna att byta rum igen imorgon.

Men vem kan vara missnöjd när man kan äta friterad macaroni and cheese och dricka Anchor Steam på tapp?

2010-06-03

Tvättstugemammans visor

Alltså, idag hände någon när jag tvättade som var så jävla CP.

Fast tydligen inte så PK. Folk med vett använder aldrig "CP" i pejorativ mening. Typ Alf Svensson skulle aldrig göra det. Alf Svensson som tror att loggning av sökord i sökmotorer kommer sätta stopp för pedofilin i världen. Alf Svensson är typ helt jävla CP. Ett tag så spann vi vidare på den här CP-grejen och började byta ut "CP" mot t.ex. "MS" och "förkyld". Det var kul, speciellt när man kunde idiotförklara någon genom att säga t.ex. "Men har du ont i halsen, eller?"

Men nu var det inte CP vi skulle snacka om, utan tvättstugan. Såhär va, jag skulle stortvätta, så jag laddade stugans enda maskin full med tvätt, fyllde på med skölj- och tvätt-medel och gick hem. När jag kom tillbaks till tvättstugan cirka fyrtio minuter senare så hade det hänt något jävligt roligt: jag hade lämnat tvätt- och skölj-medlet ovanpå tvättmaskinen, vars skakningar hade fått de bådas behållare att flytta sig i sidled något så jävligt att sköljmedlet hade ramlat av maskinen, slagit i backen och tömts på sitt innehåll, medan tvättmedelspaketet på ett ytterst delikat sätt balanserade på kanten till tvättmaskinen. Så jävla CP.

Men det är inte allt som är mongo. Många av de mer mongo grejerna som har hänt mig har hänt i tvättstugor. Speciellt sedan jag flyttade hit till min nuvarande lägenhet, där min hyresvärd (Akelius Fastigheter AB (tvåbokstavskombinationer, vad brukar de förekomma i för sammanhang? red.anm.)) är helt mongo i sin liberala syn på städning. Allra roligast var det vid något tillfälle när det var översvämning i torkrummet och det luktade mäsk i hela källaren. Minst roligt är det när torktumlaren är trasig typ var tredje gång man tvättar. Dags för en ny, kanske?

Det finns säkert mycket mer man skulle kunna säga om detta fascinerande ämne, men jag borde göra något viktigt, typ vika tvätten, så jag avviker. Syns!

Eller vänta, jag har ju ett foto på ett typiskt mongo-UI:



Notera de minimalistiska input-enheterna. Man har försökt sig på minimalism, vilket det är lätt att blanda ihop med enkelhet. Så du har en 40-graders och en 60-graders knapp. Vill du använda andra varianter så snurrar du på hjulet. Sen vill du tacka ja till något, hur gör du då? Min stora erfarenhet av idiotisk UI:n (larmet på jobbet, ja vad ska man säga?) gjorde att jag testade det enda som verkade tillräckligt dumt för att funka: jag tryckte på hjulet. Det visade sig funka. Tur för mig, annars hade jag luktat rätt illa vid det här laget.

"Compass control", ja, jag säger då det. Nu är det fest i Kapernaum, minsann!

2010-06-02

Ambulerande lanthandel

Ety jag är sjuk och emlig, så ligger jag på schäslongen och latar mig, snarare än att göra rätt för mig. Jag har då valt att se en dokumentär på SVTPlay, som jag blev tipsad om av min kollega byrådirektören: "Roger Nilssons rörelse". (Denna video finns tillgänglig t.o.m. ons 23 jun)

Roger Nilsson hette en man. Mannen hade en rörelse. Rörelsen bestod i att i ur och skur köra runt med sin livsmedelsbuss. Livsmedelsbussen var en ambulerande lanthandel. Från Veberöd kom mannen.

Det är både frustrerande och befriande att se den här typen av dokumentär. Det finns inget budskap. Allt den gör är att visa något. Man är tvungen att själv tänka, snarare än att Janne Josefsson bankar in i en vad man ska tycka. Det skaver lite i hjärnbarken.

2010-06-01

Gubbgnäll

Hej!

Jag är en gammal gnällig gubbe, och idag har jag två saker att gnälla på: kor i reklam och förkylningar.

Angående korna så tycker jag det är ganska smaklöst hur deras liv framställs på t.ex. mjölkpaket. "Är Majvi rädd för björnen?" Nej, det är hon inte, för björnen kan inte ta sig in i ladan där hon står. "Kan Rosa gå vilse?" Nej, det kan hon inte, för hon står fixerad i ett jävla bås och skulle behöva vara någon typ av ko-Houdini för att kunna ta sig ut, och det är inte så troligt att just Rosa skulle vara det. Snälla, kan ni inte börja göra samma sak med gödkycklingar också?

Angående förkylningar så är jag upprörd över att jag har drabbats. Igår hade jag ont i halsen. Idag är jag hostig och snorig. Ska det aldrig ta slut? Jag sitter hemma och jobbar för att slippa smitta mina kolleger. Det är tråkigt. Jag får i och för sig mycket mer gjort än när jag sitter på det stimmiga kontoret, men det är fortfarande tråkigt.

Just det, sen var det det här med hur ungdomar nu för tiden klär sig också, men vi tar det en annan gång.

Med vänlig hälsning,

Linus