Sedan det tillkännagavs att Symbian ska bli open source så har den delen av bloggsfären försökt fatta vad det innebär. Det är tydligen svårt. Alla som blir utsatta för det första gången verkar tänka "det kommer leda till anarki". Ungefär sådär som Andrew Tanenbaum tänkte för 15 år sedan, då han kom fram till att Linux aldrig skulle funka. Och det leder inte till vilken typ av anarki som helst, det är total anarki som gäller. Du kanske sitter på Nokia och jobbar på en ny telefon, och plötsligt har någon idiot i Singapore skickat in en patch som gör att din telefon går sönder. Hur detta faktiskt skulle kunna hända i praktiken ägnar man inte mycket tankemöda åt, man antar helt enkelt att det kommer bli så. Och detta problem måste man lösa.
Jag läste någon blogpostning igår, som bland annat handlade om hur binär-kompatibiliteten i Symbian ska kunna uppehållas när Symbian blir open source. När man stöter på den typen av naiva resonemang vill man först ta sig för pannan, sen hälla i sig en panna sprit, sen slå skallen i en värmepanna. Det bloggosfären inte inser är att ingenting ändras i och med att man släpper sin kod som open source, förutom att personalstyrkan kan komma att bli mer flytande. Just så. Inte nödvändigtvis större, men något mindre lättplanerad. Det är fortfarande samma människa som kommer bestämma vad som inkluderas i nästa release. Inte någon galning i Nya Zeeland. Hur ska galningen i Nya Zeeland kunna göra det? Ska ni helt enkelt ge honom fri tillgång till ert versionshanteringssystem, och varför skulle ni göra det? Han är ju helt galen!
Det var också något förvirrat resonemang kring vilka som skulle få bidra med kod (vilket totalt motsäger antagandet ovan, om att vem som helst skulle kunna skicka in kod var som helst). Tydligen skulle man kunna få bidra med kod till open source-Symbian om man hade ett gott renommé inom branchen. Ni kanske skulle försöka lära er av de som kan det här. Bra kod är bra kod, oavsett vem som skriver den, och dålig kod är dålig kod, även om personen som skrivit den råkar vara anställd av Symbian idag. Har ni funderat på att skaffa en Linus? Det är inte svårt att inspektera kod om man kan produkten den ska in i.
Visar inlägg med etikett dålig kod. Visa alla inlägg
Visar inlägg med etikett dålig kod. Visa alla inlägg
2008-09-21
2008-04-06
Ack Xlib du sköna!
I morse tröttnade jag definitivt på bloatet som kallas Gnome och gick tillbaks till min gamla vän Windowmaker. Igen. Alltså, in med Windowmaker, ut med bekvämligheten. Ska man köra Windowmaker ska man inte vara rädd för att pilla i configfiler, även om det inte är strängt taget nödvändigt. Men det finns lite andra problem att fixa, som min gamla favorit, att byta mellan svensk och engelsk tangentmappning. Förra gången jag körde Windowmaker så löste jag det från kommandoraden: "se" ger svenska tecken, "us" ger engelska (det där har att göra med vad tangentmappningarna kallas av systemet, inte att jag tror att USA ligger i England, eller vice versa).
Den här gången valde jag en annan väg: hur svårt kan det egentligen vara att skriva en liten sådan där dockapp? Om man bara tar en befintlig och modifierar den för sina egna hårdkodade ändamål så borde det väl inte vara så svårt? Nej, det var det inte. Jag plockade en som hette wmbuttons, som ger en ett gäng knappar för att köra olika kommandon, och började mixtra med koden.
Det tog några timmar, fast det inkluderade surfande på google pictures efter bilder på svenska och engelska flaggor (5 minuter) och en rejäl uppstädning av koden (större delen av tiden). Hurra för fri mjukvara: jag har nog inte sett så dålig kod sedan jag lämnade universitetet. Eller vad sägs om nästlade switch-satser, där den inre switchen kollar efter vilken musknapp man tryckt ner, och sedan gör samma sak oavsett vilken det är. Fast i tre olika cases, och med identisk kod i varje fall. Och detta på två ställen, precis efter varandra. Jag är uppenbarligen inte mållös, men det lär ha mer att göra med mig än med koden i fråga.
Sen har vi de andra klassikerna: den enorma main-funktionen, där i stort sett all funktionalitet finns, en stor mängd globala variabler, helt ovettig ordning på (de fåtaliga) funktionerna, onödiga omritningar, kommentarer i koden som bara berättar vem som skrivit delar av den, hjälp-meddelandet som skrivs ut på stderr, blajiga debug-utskrifter (typ "Bye!" när man avslutar), hårdkodade koordinater i utritningsfunktionen, lyssnande på onödiga events och slutligen, min personliga favorit: buffer overflows i argument-parsningen.
Men fick jag ut något av det då? Jodå. Jag lärde mig lite mer om bazaar, framför allt hur bekvämt det är att använda distribuerade versionshanteringssystem till små, enkla projekt. Nu finns det ingen anledning alls att inte versionshantera sin kod. Jag lärde mig lite om det allmänt bespottade Xlib, som i och för sig är gammaldags och lite knöligt, men som jag (med en hel förmiddags erfarenhet) tycker verkar ha fått ett oförtjänt dåligt rykte. Och så att xpm-bilder definieras i C-syntax, som man kan inkludera direkt i koden. Döm om min förvåning när jag öppnade en i vim och kunde se själva bilden, wysiwyg, direkt i editorn. Helt crazy och en manifestation av total unix-coolhet.
Annars då? Jodå, s'att, men det...
Den här gången valde jag en annan väg: hur svårt kan det egentligen vara att skriva en liten sådan där dockapp? Om man bara tar en befintlig och modifierar den för sina egna hårdkodade ändamål så borde det väl inte vara så svårt? Nej, det var det inte. Jag plockade en som hette wmbuttons, som ger en ett gäng knappar för att köra olika kommandon, och började mixtra med koden.
Det tog några timmar, fast det inkluderade surfande på google pictures efter bilder på svenska och engelska flaggor (5 minuter) och en rejäl uppstädning av koden (större delen av tiden). Hurra för fri mjukvara: jag har nog inte sett så dålig kod sedan jag lämnade universitetet. Eller vad sägs om nästlade switch-satser, där den inre switchen kollar efter vilken musknapp man tryckt ner, och sedan gör samma sak oavsett vilken det är. Fast i tre olika cases, och med identisk kod i varje fall. Och detta på två ställen, precis efter varandra. Jag är uppenbarligen inte mållös, men det lär ha mer att göra med mig än med koden i fråga.
Sen har vi de andra klassikerna: den enorma main-funktionen, där i stort sett all funktionalitet finns, en stor mängd globala variabler, helt ovettig ordning på (de fåtaliga) funktionerna, onödiga omritningar, kommentarer i koden som bara berättar vem som skrivit delar av den, hjälp-meddelandet som skrivs ut på stderr, blajiga debug-utskrifter (typ "Bye!" när man avslutar), hårdkodade koordinater i utritningsfunktionen, lyssnande på onödiga events och slutligen, min personliga favorit: buffer overflows i argument-parsningen.
Men fick jag ut något av det då? Jodå. Jag lärde mig lite mer om bazaar, framför allt hur bekvämt det är att använda distribuerade versionshanteringssystem till små, enkla projekt. Nu finns det ingen anledning alls att inte versionshantera sin kod. Jag lärde mig lite om det allmänt bespottade Xlib, som i och för sig är gammaldags och lite knöligt, men som jag (med en hel förmiddags erfarenhet) tycker verkar ha fått ett oförtjänt dåligt rykte. Och så att xpm-bilder definieras i C-syntax, som man kan inkludera direkt i koden. Döm om min förvåning när jag öppnade en i vim och kunde se själva bilden, wysiwyg, direkt i editorn. Helt crazy och en manifestation av total unix-coolhet.
Annars då? Jodå, s'att, men det...
Prenumerera på:
Inlägg (Atom)