För dig som är beslutsfattare inom näringsliv eller i offentlig förvaltning eller som arbetar med fri programvara / öppen källkod.
FOSSDay 2010 är ett inspirerande halvdagsseminarium där du kan få information från företag, myndigheter och akademin kring produkter, tjänster, inköp och upphandling. Dagen organiseras av Fossgruppen och IT-Universitetet tillsammans med Op5, Cybercom och Redpill Linpro och äger rum i Göteborg den 5:e november.
Seminariet erbjuder ett fullspäckat program med start klockan 09.45. Dagen erbjuder kortare föredrag, fika, mingel och lunch samt möjlighet att prata med och besöka de företag som deltar. Vi avslutar klockan 15.00 med kaffe.
Talare som deltar på seminariet är:
Peter Östlin – op5
Kommersiella intressen som drivkraft för utvecklingen av öppen källkod
Patrik Lägermo – Cybercom Group
Starta och driva projekt med FOSS-verktyg
Göran Westerlund – Kivos
Hur samverkar västsvenska kommuner kring open source?
Thomas Altré – RedPill
Öppna möjligheter
Daniel Melin – Kammarkollegiet
Ramavtalsupphandlingen “Öppna programvaror 2010″
Marcus Rejås – Rejås Datakonsult
Öppna programvaror i offentlig verksamhet
Espen Riskedal – Cutehack
Mobila tjänster med Qt
Kostnaden för seminariet är 450 kronor och inkluderar lunch, kaffe och bullar. Anmäl dig och ditt företag på fossday.se.
Jag behöver läsa en hög böcker (eller iaf bläddra igenom) på kort tid – så kort tid att det inte var aktuellt att köpa böckerna fysiskt eftersom de inte skulle gå att få skickade till Göteborg i rimlig tid (fredag till måndag). “Aha, äntligen skall Kindle få en chans” tänkte jag, men den hade leveranstid på mellan 1-2 veckor.
Blocket till räddning – en herre i Kungsbacka sålde en Ipad för 4500 kr, obruten förpackning inköpt i USA och jag slog till efter att kollat att både Amazon/Kindle och O’Reilly kan leverera till Ipad, vilket de kan. (De kan även leverera till Androidbaserade läsplattor, men jag smalnade av problemet till en plattform i dagsläget, och egentligen var det ju en Kindle jag ville ha pga läskvalitet, så om det ändå skulle bli en “dator” – varför inte pröva det hajpade). Sedan började det: problemen.
Problemen
Problem 1. En hårdvarudefekt till följd av det är att laddaren har USA-kontakt, men det ordnades lätt med gammal överbliven utrustning från Kinaresa och en morakniv.
Problem 2. Värre var det med att komma igång. Man måste köpa Windows eller Mac OS för att kunna börja använda sin Ipad. Det finns inget annat sätt att komma förbi detta. Av okänd användarvänlig anledning skall man nämligen köra Itunes och “initiera” sin Ipad in i sin Mac-värld. Lösning: Använde Antons laptop som ännu har Windowspartitionen orörd och fungerar, tanka hem Itunes och kör.
Värdet av detta aber för mig som konsumen är ännu okänt. Både windows och Mac gör ju att priset åker upp med 20 % till, och det GÅR INTE att välja bort. Skärmen bara stirrar på en med en bild av en USB-kabel och Itunes-ikon.
Problem 3. Efter första omstarten (där man faktiskt stänger av plattan) så krävde den Itunes igen – jag hade tydligen inte initierat plattan tillräckligt första gången (trots att det gick hur bra som helst att maila, köpa applikationer och böcker).
Problem 4. Efter korrekt initiering med Itunes så ville inget av de tidigare nedladdade applikationerna starta, varken Ibooks, Kindle, SSH Pro (köpeprogram) eller något av de andra. Den första animationen när programmet startar gick igenom men sedan bara programmet försvann. Inget felmeddelande, bara borta och man hamnade på hemma-/startskärmen.
Lösning: Ladda hem ett nytt program från app store, kör det och efter det så kom alla andra igång igen.
Inte bara problem
Animationerna är gränslöst snygga, man blir nästan som Gollum om man är nörd och pixelintresserad.
Ogillar
AppStore-applikationen är inte jättebra utan snarare väldigt begränsad och uppmuntrar inte till att hitta och tanka hem hur många applikationer som helst. Att över huvud taget hitta knappen som gör att man tankar hem och installerar ett program, gratis eller ej, tog mig en minut att hitta. Call to action?
Skärmen är rätt lågupplöst och det är inte kul att läsa böcker.
Den väger ganska mycket – mer än en tung pocket och därför inget jag skulle ligga och hålla över huvudet i sängen eller liknande. Det är tom svårt att veta var man skall göra av den när man sitter i soffa eller vid ett bord. Har sett att en del Androidtabletter har inbyggd fot.
Skärmen reflekterar ljus från lampor. På flygplatsen och i flygplanet fick jag se till att välja en bra plats för att inte bli störd av bländande lampor runt omkring.
Amazon t ex har en del menyer som aktiveras när man hänger med musen över dem (hover), men med Ipaden måste man träffa den lilla lilla ytan med drop-down-ikonen (triangel på spets).
Att köra Ipod-applikationer på Ipaden blir till ett skämt.
Saknar kamera så att man kan köra VOIP (Skype).
Slutsats efter 3 timmars användning
Skitkul, skitdyr skitpryl med skitsnygga animationer. tv.nu-applikationen är riktigt läcker, men det tror och hoppas jag att Androidversionen är också.
Jag kommer absolut att skaffa Androidplattor – det är vanebildande roligt och bekvämt att kunna göra ganska mycket utan att isolera sig helt från omvärlden, och det tog inte mer än 15 minuter innan jag försökte peka på min laptopskärm för att klicka på en knapp i ett webb-UI.
Ett varningens finger
Den ersätter inte en laptop – det gick bättre att skriva på än jag trodde, men inte i närheten så snabbt som på en laptop (detta bloginlägg hade varit mördande att försöka skriva t ex). Placering av enheten – vare sig det är i knät, på bord, på plånbok eller annan tillfällig lösning – allt är onaturligt och plattan väger så pass mycket att “vad som helst” fungerar inte som stöd.
Den ersätter inte tidning eller andra liknande föremål helt ut (även om det är lite snyggt):
Detta är helt enkelt en bok som varje programmerare bör ha läst. Den innehåller ca 80 konkreta tips som omges av beskrivning av hur man bör jobba i olika perspektiv. Innehåller tips som dessa:
20: Keep Knowledge in Plain Text
21: Use the Power of Command Shells
23: Always Use Source Code Control
30: You Can’t Write Perfect Software
32: Crash Early
34: Use Exceptions for Exceptional Problems
38: Put Abstractions in Code, Details in Metadata
47: Refactor Early, Refactor Often
På rubriken Debugging, bl a
24: Fix the Problem, Not the Blame
25: Don’t Panic
26: “select” Isn’t Broken
27: Don’t Assume It – Prove It
Jag har faktiskt skrivit av alla tips i en lång lista, för att enkelt kunna läsa igenom lite då och då.
In about six weeks I’ll give a talk at Agile Testing Days together with Emily Bache. The talk’s title is set to “The Coding Dojo
as a forum for teaching TDD” and we are last to speak on Wednesday before the final key note of the day (and the “chill out” event). I’m looking forward to the conference which I’m sure will be full of insights and rewarding in many ways.
Detta är en bok som i tre steg visar hur Kent Beck tycker man skall skriva kod. Boken är lättläst, enkel att förstå och Beck är ganska tydlig i vad han menar och hur han föreslår att man skall jobba.
Min behållning av boken är den lilla privata lappen med “test att skriva” – något som han alltså förespråkar men som jag själv aldrig använt i större utsträckning. Jag petar istället ner alla test-idéer i kod, typ:
// FIXME: testa null
Om jag skall ge mig på att sammanfatta vad han förespråkar så är det:
börja litet
använd en lista där du skriver upp testfall som du vet eller kommer på behöver testas
låt design växa fram
använd refaktoreringssteget till att skriva den riktiga implementation
misslyckas man med ett stort test, skriv ett mindre istället
få hellre ett test till att gå igenom än att ha vacker kod
Jag rekomenderar boken till någon som har ett hum om vad TDD är men som inte sett hur det kan fungera i praktiken. Kodexemplen är visserligen ganska lätta men det intressanta är att se hur han jobbar med problemlösning, vad TDD-metodiken ger och att det banne mig inte är svårt att börja.
I väntan på David Saff’s alternative assertThat(x).y() så nöjer jag mig med:
public class EmptyMatcher extends TypeSafeMatcher<Collection < ?>> {
@Override
public boolean matchesSafely(Collection< ?> c) {
return c.isEmpty();
}
public void describeTo(Description desc) {
desc.appendText("empty");
}
@Factory
public static lt;T> Matcher< ? super Collection>> isEmpty() {
return new EmptyMatcher();
}
}
som gör att man kan skriva trevlig enkelt läsbar kod, t ex:
@Test
public void filteringAnEmptyListReturnsAnEmptyList() {
List anEmptyList = new ArrayList();
List result = testee.filter(emptyList());
assertThat(result, isEmpty());
// men helst: assertThat(result).isEmpty();
}
Tomas Ekman (tidigare på Tryck Till Tusen Grafiska, nu på Brilliant Smile) frågade mig om jag kunde göra en web-to-print-lösning åt honom. Det gjorde jag på knappt 25 timmar och resultatet kör nu live på webbtryck.se.
Lösningen fungerar fint och Tomas kunder (mäklare där två kontor nu kör för fullt) är nöjda, så pass nöjda att jag skall försöka se om vi inte kan få fler kunder att använda systemet.