Blogginlägg taggade som "Kod"

Att öppna Open Source rörelsen

Alla skulle ha allt att vinna på en ännu öppnare open source rörelse där mer kunskap tas till vara och distribueras under öppna former. Den pågående kommersialiseringen av open source projekt är ett positivt steg i rätt riktning eftersom det innebär fler avlönade arbetstimmar.

De betalda arbetstimmarna innebär att vi får en möjlighet att forsätta sudda ut "för programmerare av programmerare" och istället få in fler yrkeskategorier som är nördar i sinnet och på det sättet skapa en öppnare open source rörelse.

Idag kan alla som vill lära sig tillräckligt för att förstå och göra önskade ändringar i sin egen installerade miljö. Men den som vill få sitt arbete in i den distribuerade versionen måste utöver kodknackande lägga ner mycket tid på att penetrera och hävda sig i de sociala nätverk och grupperingar som utgör varje enskilt projekt.

Drive on the open source economy

Detta är fullt naturligt eftersom gruppdynamik med en kärntrupp är en känslig balansgång och vi gillar att samarbeta med dem vi känner. Men är det rimligt att av den skickliga marknadsföraren, gränssnittsdesignern eller ekonomen kräva kodkunskap?

Det är just dessa yrkeskategorier som för tillfället mest behövs inom open source rörelsen för att vi tillsammans skall kunna ta allt till nästa steg. Det är här enskilda företag och sammanslutningar av företag och statliga myndigheter måste ta sitt ansvar. Genom att skjuta till pengar och avsätta tid kan de kvalitétssäkra kunskapen som den kollektiva gemenskapen producerar.

Det behövs Gränssnittsdesigners för att förbättra användarvänligheten och logiken i de flesta open source projekt. Grafiska element skall inte bara se snygga ut de måste placeras med ett logiskt resonemang. En ikons placering, en menys uppbyggnad eller en aktiv system händelse är direkt avgörande för den produktivitet som användaren kan uppnå.

En av de saker som gör öppna operativssytem så intressanta är att de ständigt bidrar med tekniska innovationer men deras grafiska packetering hindrar dem från att bli massmarket accepterade. Att användare sluter upp bakom varumärken är naturligt eftersom dessa ger oss en möjlighet till att agera ut vår identitet. Genom att aktivera och tillföra fler Marknadsförare kan vi skapa de konkreta förutsättningar som gör öppna system säljande och accepterade.

Men att bara pumpa in pengar i Öppen källkod och tro att resten kommer att sköta sig själv är inte någon hållbar lösning. För att kvalitetssäkra behövs fler konkreta fakta och ekonomiska modeller som kan skapa bra förutsättningar för de företag som vill ha en aktiv roll i att ta rörelsen till nästa steg. Det går att skapa ett företag rakt ovanpå eller runt öppen källkodsbaserad mjukvara men vilka andra roller kan företagen ta? Personligen tror jag att de stora vinsterna finns i de synnergieffekterna som spridda sektorer utanför IT kan uppnå genom att aktivt delta i öppen källkodsrörelsen.

av Jonas Odencrants
taggad som Kod

Kommentera eller dela

Kommentera aldrig kod

Nu när man precis slutat skolan och ska ge sig ut i arbetslivet känns det relevant att reflektera lite över vad man lärt sig. Framförallt måste jag titta på vart gränsen mellan nitisk lärare och god praxis går. När jag studerat har jag många gånger fått höra hur viktigt det är att kommentera min kod. Och att det är bättre att kommentera rikligt än att inte kommentera alls. Detta leder ofta till att man har kommentarer som egentligen säger exakt samma saker som koden redan gör.

Att sitta och kommentera kod man redan skrivigt är ofta ganska onödigt, och om man måste ha kommentarer för att man gjort så komplex kod är det något som är seriöst fel. Programmering ska inte vara komplicerat. Det ska bestå av många små enkla lösningar som tillsammans arbetar för att lösa ett större och mera komplext problem. Det är i alla fall enligt mig en av grundpelarna inom de flesta typer av programmering.

 
for i in p_range:
   if checkP(h, i):
       save.append(i)

De tre rader kod ovan säger inte så mycket egentligen. Varken vad de försöker göra eller varför de gör så. Det enda vi kan se är hur koden försöker lösa problemet. När jag dokumenterar min kod arbetar jag ofta med tre frågor. Var, varför och hur. Detta sett att angripa problemet hjälper ofta när man försöker se vad och vilka kommentarer som kan vara relevanta.

 
# Check if a port is open, then save it in a list.
for i in p_range:
   if checkP(h, i):
       save.append(i)

Samma tre rader kod som innan, denna gång med en kommentar som svarar på frågan om vad koden försöker göra. Somliga hävdar nog att detta är tillräkligt och att vi nu har dokumenterat nog. Jag hävdar att det är bättre att göra på följande sätt.

for port in portRange:
    if isOpen(hostname, port):
        open_ports.append(port)

Fortfarande samma tre rader kod. Men denna gång har jag valt att byta namn på variablerna istället. Och nu kändes den kommentaren jag hade tidigare överflödig, så jag har valt att plocka bort den. Som utvecklare tycker jag det står ganska klart vad dessa tre rader kod försöker göra och även hur de löser problemet.

Den tredje frågan om varför problemet löses på detta sätt är alltid den svåraste att förklara. I detta fall kommer dessa tre rader kod från en portscanner jag hacka ihop lite snabbt för någon vecka sen. Och om du inte förstår varför en portscanner går igenom en for-loop och sen utför funktionen isOpen på varje port har du fortfarande mycket att lära. (Och varför jag ville ha en portscanner var för att jag inte kunde installera nmap på den maskinen jag satt på, kunde inte installera något alls)

(Exemplen ovan är skriva i programmeringsspråket Python)

av Carl-Johan Westin
taggad som Kod

Kommentera eller dela

Sök rubriker med Nybriker

Nybriker för mig handlar mycket om kunskapöverföringen, visst är det intressant och praktiskt att ha alla de svenska rubrikerna vid ett tillfälle samlade på ett ställe? Men det är också väldigt smidigt att följa utvecklingen och det avtryck som nyheter och dess rubriker gör på andra källors rubriker under en dag.

De flesta källor bidrar med ny kunskap och det är upp till läsaren att analysera det samlade antalet källors samlade kollektiva kunskap för att förstå och besluta om vad den nya kunskapen innebär för ens idé. Men då varje tjänst med självkänsla bör komplettera sitt erbjudande med en sökmotor har Nybriker också det.

Sökmotorn tillhandahålls av Google och tillåter alla att söka direkt när de ser en artikel rubrik som intresserar dem, med detta menar jag att så länge du har webbläsare fönstret eller fliken aktiverad och du har klickat i den så är det bara att skriva på tangentbordet. Då flyttas fokus till sökfältet och söksträngens resultat börjar synas, ett förfarande som snabbar upp att hitta rätt reslutat och lämna Nybriker för att läsa vidare på någon annan källa. Men tryck inte [enter] när du är klar då laddas sidan om eftersom [enter] vid ajax sökning enligt mig är överflödigt, för att rensa sökresultatet får du trycka på [esc] för snabbast resultat.

Jag laddade upp en film på Vimeo för att vida hur allt går till som du gärna får bädda in på din egen site för att visa upp när du konstruktivt recenserar eller kreativt trashar Nybriker. Bakgrundsmusiken till filmen är ett Creative Commons Attribution 2.0 Generic licensierat verk av den franska artisten Religionnaire. Klicka på HD OFF för att komma till Vimeo och se filmen i dess högupplösta glory.

Helst hade jag viljat ha en svensk sökmotor en hybrid mellan Twingly och Sesam men eftersom ingen är tillräckligt modig eller tillräckligt välbärgad att förstå att utmana Google med en öppen API får det än så länge bli Googles API. Nybriker har dock ett eget index som de flesta techies säkert redan förstått, och en sökfunktion till detta index är under utveckling men begränsade ekonomiska resurser gör att det som finns än så länge är i privat beta.

av Jonas Odencrants
taggad som Kod

Kommentera eller dela

« Föregående Nästa »

(3 inlägg)