Nördiga namn

Vi hänger en del på svenskanamn.se nu när vi väntar smått och funderar på namn. Ibland blir det lite utsvävningar från det aktuella målet att hitta ett mer gångbart namn till Mini än Mini… jag kollade till exempel upp att det finns folk som heter dessa namn:

Java (7 kvinnor)
Ada (963 kvinnor, 4 män)
Pascal (508 män, 22 kvinnor)
C (111 kvinnor, 14 män)
Perl (2 kvinnor)
Delphi (2 kvinnor)
Cobol (1 man)
Haskell (1 man)
Pyton (1 man, men utan h)

Det fanns faktiskt ingen Fortran, trots att det låter lite som ett namn… kanske en idé? :)

Och förresten: om du inte förstår vad dessa namn har gemensamt får jag lov att gratulera till icke-datornördskapet. :)

Jag är Sun Certified Java Programmer!

Nu är jag Sun Certified Java Programmer! Skrev provet på Cornerstone inne i stan idag vid klockan 13. Jag hade förmånen att få stanna hemma och plugga på förmiddagen, så jag har inte alls varit på jobbet idag. Riktigt skönt att kunna slutspurta på egna villkor och spara lite tid.

Det var svettigt att sitta på Cornerstone och klura. Programmet var riktigt uselt (till och med sämre än Whizlabs) och jag var ganska långsam, så jag blev lite stressad – men det jämnade ut sig eftersom vissa frågor gick väldigt snabbt att svara på sen också. Jag var klar när knappt en halvtimme av de 3½ timmarna återstod och kollade igenom en bit av början innan jag blev för otålig och lämnade in. :)

Det gick bra! Jag fick 83% och godkänt var ju 65%. Jag fick en utskrift med resultat per område också (men man får inte se vilka frågor man hade rätt och fel på):

Totalt 83%
API Contents 70%
Collections/Generics 80%
Fundamentals 90%
Declarations, Initialization and Scoping 83%
Flow control 81%
Concurrency 100%
OO Concepts 80%

Känns himla skönt att jag klarade det! Imorgon får jag ta ett snack med chefen om vad jag ska ägna mig åt nu. Jag har inte velat ta upp det tidigare, ifall jag inte skulle ta tentan… Mitt förslag är i alla fall att rikta in mig på ett annat Sun-cert, Sun Certified Web Component Developer. Jag är riktigt sugen!

Mer övningsresultat för SCJP

Nu har jag även gjort Practice Exam 3 och Final Exam i Whizlabs. Final Exam hade faktiskt mestadels frågor som var nya för mig och det kändes som att jag hade dålig koll! Därför blev jag positivt överraskad av resultatet – samma som på Practice Exam 3! Här är fortsättningen på tabellen från det tidigare inlägget (65% är godkänt).

Exam 1 Exam 2 Exam 3 Final
Totalt 71% 78% 76% 76%
API Contents 85% 83% 50% 71%
Coll/Gen 63% 80% 83% 73%
Fundamentals 79% 70% 75% 57%
Decl/Init/Scoping 55% 100% 60% 75%
Flow control 50% 56% 90% 92%
Concurrency 100% 86% 86% 88%
OO Concepts 75% 57% 100% 75%

Märks det att jag friskade upp Flow control-kunskaperna mellan Practice Exam 2 och 3? :)

Nu återstår bara att se hur det går på det riktiga provet…

SCJP-satsning

Nu börjar det närma sig ett försök att skriva SCJP-tentan. Jag har gjort två övningstentor med följande resultat (65% är godkänt):

  Exam 1 Exam 2
Totalt 71% 78%
API Contents 85% 83%
Collections/Generics 63% 80%
Fundamentals 79% 70%
Decl/Init/Scoping 55% 100%
Flow control 50% 56%
Concurrency 100% 86%
OO Concepts 75% 57%

Det börjar väl se hyfsat ut, men en stor nackdel med Whizlabs-programmet jag använder är att samma frågor återkommer i de olika testen. Ibland kommer man ihåg svaren från förra gången man fick frågan och det känns ju inte riktigt rätt. Jag trodde att det skulle vara nya frågor till de ”Practice Exams” som ser jätteseriösa ut och som jag sparade till sist, men det visade sig vara samma frågor jag övat med…

Värst vad jag är dålig på Flow control, förresten. Ska det vara så svårt? Det innefattar loopar, exceptions, assertions och lite sånt. Får nog öva lite mer där…

Märks det att jag läst om kapitlet om Declarations, Initializations and Scoping mellan testomgångarna..? :) När det är ny-läst sitter det rätt bra, men sen ska det ju sitta kvar också.

Jubel! Lämnade precis in lab 2!

Åh, så härligt! Nu klarar min typechecker alla femtielva testfiler den ska klara, så jag har precis lämnat in den! Såå skönt eftersom jag avsatte ända fram till och med måndag för den och alltså har tre dagar tillgodo – jag planerar att dela tiden mellan tentapluggande och författande. Inte alls illa! Det är fortfarande en labb kvar (i denna kurs + mer i en annan fast med senare deadlines), men informationen har inte ens kommit ut ännu, så det är inte riktigt läge att börja.

Labben jag precis gjort är en type checker (se bilden ovan för en liiiten del av den) för en delmängd av C++. I lab 1 gjorde vi en parser för en något större delmängd C++, genom att beskriva grammatiken i BNF (eller LBNF, för att vara exakt).

Om du inte alls fattar vad jag pratar om:

  • En parser gör för programspråk vad grammatikkontrollen gör för ditt Word-dokument, ungefär. Det handlar om att kontrollera att man uttrycker sig rätt.
  • En type checker kontrollerar att det du gör är rimligt, t.ex. att du använder siffror i matematiska uttryck och inte till exempel försöker dividera 3 med ett päron eller något annat tokigt.

För typcheckaren kunde vi välja mellan Haskell och Java som implementationsspråk. Haskell är tydligen Chalmers älsklingsspråk, men jag har aldrig använt det (även om jag har haft en del skoj med Scheme, som är en variant av Lisp, som precis som Haskell är ett funktionellt programmeringsspråk). På sätt och vis hade det varit kul att testa lite Haskell, men samtidigt är det riktigt kul att testa sin Java-kompetens. Jag har verkligen fått bättre programmeringssjälvförtroende tack vare framför allt kursen Pragmatisk programmering, där jag skrev en egen browser, Anywhere. Således är det alltid roligt att ta sig an programmeringsprojekt i Java numera: det tar tid att sätta sig in i vad man ska göra, men sen går det. Jag ägnade flera dagar åt att sitta och peta i befintlig kod och testa diverse småpill innan jag plötsligt fick stenkoll på typecheckern (å, vad jag tycker om svengelska… men kan man prata om typkontrollerare? Eller vad heter det?). Med lite mer träning kanske inkörningsperioden till nya projekt blir kortare, men redan nu har jag känslan av att jag klarar av saker jag tar mig an. Jag har ganska bra känsla för java. Det känns som att jag har tagit mig en bit från att 1997 förundras över vad jag kan skapa med html-taggar efter att ha läst Annica Tigers HTML-guide (nej, den såg inte ut så 1997). Det är roligt!

Ikväll myser vi! Någonstans efter att jag länkade till Wikipedia (Java och Haskell) åt vi mumsig middag och delade en flaska Periquita och nu har jag dessutom fått i mig ett par drinkar med vodka och ginger ale, så nu är jag lullig och lycklig. :) Jag vet inte om man borde få skriva blogginlägg i det här tillståndet, men jag hoppas att det inte märks alltför mycket. :)

Jäääklar vad skönt det är att ha lämnat in labben! Nu ska jag dricka lite mer vodka + ginger ale (billig variant, såklart)…

Anywhere – min browser

Nu skriver jag från min alldeles egna browser, Anywhere! Nackdelen med att programmera just en browser är att man måste gå till olika webbsidor och då är det väldigt lätt att fastna… jag borde lära mig av mina misstag och bara testa tråkiga, icke-dynamiska sidor. Min klassiker är annars olika nyhetstidningar och då blir jag ofta ”tvungen” att bara läsa någon liten artikel… inte så smidigt.

Än så länge är browsern väldigt begränsad… just nu håller jag på och finslipar history-funktionen, som faktiskt börjar arta sig riktigt bra. Browserns lilla specialitet är att bokmärken lagras på en server, så att man ska kunna komma åt dem oavsett varifrån man surfar – detta funkar också rätt bra, men jag måste göra en smartare funktion för att uppdatera serverfilen vid vissa typer av ändringar, just nu tar det alldeles för lång tid.


Skriva dagboksinlägg med Anywhere.

”Egen browser” är nästan en sanning med modifikation, eftersom jag bara bygger själva skalet och bäddar in en existerande html-renderare. Jag använder något som kallas BrowserLib för att kunna använda olika renderare med en enkel inställning. Det bästa är att använda JDIC, som helt enkelt lägger in datorns standardbrowser i mitt browserfönster. Av någon anledning får jag dock inte alls min standardbrowser (Firefox) utan Internet Explorer, vilket gör att jag smått blir tokig när jag surfar med Anywhere. Det märks på renderingen och på högerklicksmenyn och jag tycker verkligen inte om IE! En riktigt jobbig grej är att om en länk är inställd att öppnas i ett nytt fönster så öppnas den i ett alldeles vanligt IE-fönster. :( Misstänker att det går att fixa så att grundbrowsern gör mindre väsen av sig, men just nu fokuserar jag bara på projektets ska-krav för att bli godkänd!

Som syns (om än dåligt) i bilden ovan har Anywhere tabbar, men är ganska ful. :) Ni får även se lite av mitt egenhändigt ihopsnickrade ”bloggverktyg”.

Måste jobba lite på Anywheres hemsida också… där kommer man inom några veckor även kunna ladda ner den fantastiska browsern.