Archive for February, 2012
Writeup JFokus 2012 – Tutorialdagen
Idag var jag på JFokus tutorialdag. Två sessioner på ca tre timmar vardera. Jag valde Continuous Delivery med Neal Ford och HTML 5 med Robert Nyman.
Continuous Delivery
Ska man sammanfatta den första sessionen med en mening, så kan man säga att den troget följde boken med samma namn (som jag kommer att recensera på techbookreader i dagarna). Det jag saknade i boken blev inte förtydligat under presentationen, men jag kunde ställa mina frågor till Neal efteråt, så det löste sig. Jag undrade hur man får till static, pinned, och fluid dependencies på riktigt och hur man ska förhålla sig till databasdeltan och branchning. (Svaren är: använd Maven, skriv automagiskt om POM:en vid misslyckat bygge, respektive ”gör det inte”.)
Som sagt, inget supernytt för den som har läst boken och fått jobba med liknande saker, men några takeaways blev det:
CD handlar om att teamat måste kontrollera mer av sin omgivning. Infrastruktur och databaser kan inte längre kontrolleras av andra. Kanske uppenbart, men ganska axiomatiskt. Detta gäller även ”the last mile”, d v s slutintegration, utrullning, Q/A. Nu måste man ta hand om allt. Stackars de utvecklare som bara vill koda…
Komponenter: Om man inför komponenter på rätt ställen kan man göra om arkitekturförändringar till design.
Bra nyckeltal:
- “Hur lång tid tar det att få ut en rad kod i produktion” (Mary Poppendieck)
- Ledtid är måttet på IT:s effektivitet (tämligen självklart, men jag gillar absoluta utsagor formulerade som korta meningar)
Sköna citat:
- Om drift: “We invented computers to do simple repetitive tasks. Now we hire people to do simple repetitive tasks on computers”
- Merge ambush = Man får en massa förändringar från trunken, så att ens bygge förstörs totalt. Påträffas typiskt vid branchning när en annan branch ”har vunnit”.
Jag måste läsa:
- The Four Steps to the Epiphany: Successful Strategies for Products that Win
- Release It!: Design and Deploy Production-Ready Software
- Neals gratisartiklar på devloperWorks. Sök på “emergent design”.
Mjukvara att testa:
Tal att se:
HTML 5
Mekanisk presentation, där mycket HTML 5 visades. För en newbie som jag var det bra. Jag tyckte själva presentationen spretade. Första delen handlade om semantiska element, andra om forms och tredje om API:erna, men den röda tråden inom varje block var inte självklar. Baserat på denna presentation och några enstaka från andra konferenser drar jag slutsatsen att HTML 5 har en bit kvar. Jag kan givetvis ha fel, men detta är inte mitt fokusområde.
För det första verkar åter igen browser-tillverkarna göra lite som de vill. Gillar de inte en viss del av standarden, så struntar de i den (Microsoft om keygen-taggen [förresten, varför ska man ha en tagg för att generera nycklar???]), och vissa lägger till egna klasser eller tolkningar för att fylla ut gap, och hoppas att andra ska följa efter. Känner vi igen detta?
Form-elementet har blivit rejält pimpat i HTML 5! Mer input-element, t ex color, range, datetime, o s v och funktioner för validering, MEN utvecklingen av dessa är eftersatt, eftersom browser-tillverkarna tycker att prestanda och 3D är viktigare. Implementationen spretar alltså mellan olika browsers, och man måste fortfarande använda otippade JavaScript-lösningar på ställen där man helst hade sluppit.
Sen har vi allt det där med Web Sockets, Web Workers och local storage. Jag tolkar det som att man bokstavligt talat försöker uppfinna opertivsystemet: IPC, trådning och permanent minne. Kalla mig konservativ, men jag känner en viss oro. Det mest talande exemplet är Web Sockets. Jag vet inte mycket om dem alls, men tittar man på deras API, så verkar det vilja mimikera get gamla hederliga socket-API:t från UNIX. Jag kan tänka mig att det finns ett antal utvecklare som aldrig har arbetat med C under UNIX och detta API, och de förstår inte hur bra det är att det har abstraherats bort de senaste 10 åren. Nu ”uppfinner” man det i HTML 5 och JavaScript. Det är inte självklart att resultatet blir bra. Samma sak med trådning. Man har uppfunnit trådar i webbläsaren, medan resten av världen har börjat bygga abstraktioner runt trådar, eftersom trådning är svårt, eller programmera med funktionella språk. Lång rant.
Summa summarum, så lärde man sig mycket i alla fall.
Andra takeaways i punktform:
- HTML 5 Doctor verkar vara en bra site att kolla in om man ska greja med HTML 5.
- Man kan skapa egna attribut i HTML 5, så länge de börjar med ”data”. Kolla t ex här.
- Vid.ly är en skön site om man behöver koda om lite video till olika format
- Popcorn.js: gulligt ramverk för att lägga på sidocontent samtidigt som ett videoklipp spelas.