Øredev - Enter Userverse

ImageThink at Øredev

För snart två veckor sedan åkte de flesta av oss till konferensen Øredev - Enter Userverse i Malmö. Jag antecknade ungefär 40 sidor i min Moleskine under konferensen, men denna bloggpost täcker bara några godbitar :)

Keynote: Only your mom wants to use your website

Alexis Ohanian berättade om hur Reddit startades, att de bara lagt ut $500 på marknadsföring (stickers) och att genomtänkta användargränssnitt visa att man respekterar användarna.

Your biggest enemy online is the back button.

JavaScript effects

Seb Lee-Delisle inledde med att prata om kreativ programmering med Processing och openFrameworks. Han fortsatte med att live-koda ett animerat träd med Canvas och JavaScript.

Länkar

WebSocket: Hyper or What?

Peter Moskovits från Kaazing höll en rätt imponerande presentation och demonstration av möjligheterna med WebSocket.

Länkar

Node.js - A practical introduction

Felix Geisendörfer berättade om Node.js historia och ekosystem. Han nämnde även att de använder V8’s Crankshaft JIT i Node.js 0.6

Keynote: Abstraction Distractions

Neal Ford höll en väldigt bra keynote där han bland annat listade 10 “regler” för att hantera abstraktioner.

  1. Förväxla inte abstraktionen för den äkta varan.
  2. Förstå en nivå under din vanliga abstraktion.
  3. När de väl internaliserats är de mycket svåra att bryta.
  4. Abstraktioner är både väggar och fängelser.
  5. Döp inte saker som exponerar underliggande detaljer.
  6. Dina abstraktioner är inte perfekta.
  7. Förstå konsekvenserna av rigiditet.
  8. Bra APIer är både hög- och lågnivå på samma gång.
  9. Generalisera för 80% av lösningen.
  10. Bli inte distraherad av dina abstraktioner.

Users want 100% of what they want.

Ilya Grigorik

Den enligt mig bästa talaren på konferensen var Ilya från Google (tidigare PostRank). Det är verkligen inte vanligt med utvecklare som har så bra förmåga att förmedla sin kunskap så bra som han lyckades med. Jag gick därmed på alla tre av Ilyas föreläsningar.

Introduction to Machine Learning

Ilya inledde med att beskriva vad maskininlärning faktiskt är. Och att man kan se det som evolution baserat på empiriska data.

Han rekomenderade även boken Mahout in Action samt algoritmen Perseptron. Några Ruby bibliotek som användes i exempelkoden var rb-libsvm och linalg.

Han avslutade med att rekomendera att vi skulle kolla på Google Prediction API.

Building High Performance Ruby Web-Services

Ilya pratade om Goliath och EM-Synchrony.

Request isolation is a bug, not a feature.

Han visade även hur man med hjälp av Fibers (genom EM-Synchrony) kan fortsätta använda samma typ av flödeskontroll som man har tillgång till i synkrona ramverk.

Avslutningsvis rekomenderade han två PeepCode screencasts om EventMachine (del 2).

HTTP can be a high performance transport.

Modeling concurrency in Ruby and beyond

Enligt Ilya klarar man sig inte med enbart trådar eller events, man behöver båda två.

Han nämnde Actor-modellen som hastigast, men fokuserade mer på CSP då han såg några fördelar med den modellen. En stor skillnad mellan Actors och CSP är att man i CSP fokuserar på namngivna “kanaler” snarare än meddelanden.

I CSP kan man även delegera kanaler, kanske till en annan process.

Exempelkoden använde sig bland annat av Ruby-biblioteket Agent.

Några språk och ramverk fokuserade på Actors
Några språk och ramverk fokuserade på CSP

Han rekomenderade även boken Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages.

/ Peter