Mountain.rb - Dag 2

Postad

Jim Weirich (@jimweirich) - “To Infinity And Beyond

Jim höll i konferensens första keynote, titeln löd  och innehöll allt från Speciella relativitetsteorin, rymdresor och Jims släktskap med folkgruppen Amish.

Our world is stranger than we think

Jim identifierade några områden som går att förbättra:

  • Testning/Expressiveness (Han har börjat jobba på ramverket Given)
  • Parallellism och stöd för flera CPU-kärnor
  • Message passing mellan Ruby VMs

Tech Block #1

Jay McGavren (@jaymcgavren) - “Ruby on Android with Ruboto”

Jay berättade om Ruboto vilket är ett projekt som gör det möjligt att köra Ruby under Android.

Som demonstration körde han en DRb server med Ruby Processing som han sedan fjärrstyrde från sin Androidmobil.

Tydligen har Dalvik en väldigt långsam reflektion, men det är något man aktivt jobbar med att lösa.

Wayne Seguin (@wayneeseguin) - “Do not Bring a Sword to a Gun Fight”

Kortfattat kan man säga att föreläsningen handlade om att välja rätt verktyg för jobbet.

Common sense isnt’t that common

De steg som Wayne gick igenom var:

  • Definiera problemet
  • Förstå problemet
  • Hitta möjliga lösningar på problemet
  • Utvärdera de olika lösningarna
  • Lös problemet

Wayne är kanske mest känd för att ha skapat versionshanteraren RVM.

Tony Arcieri (@bascule) - “Reia: Ruby Evolved”

Tony berättade om Reia (uttalas RAY-uh), vilket är ett Ruby/Python-liknande språk som körs under Erlangs VM (BEAM)

Projektet är i sin linda, men källkoden ligger självklart på GitHub så det är bara att sätta igång och experimentera om man känner att man behöver en något trevligare syntax än vad Erlang erbjuder. En trevlig liten detalj är att en JSON-parser finns inbyggd i språket. Stränghanteringen är även helt OK, men inte direkt snabb.

The fun syntax isn’t that FUN in Erlang

Lunch

Under lunchen snackade jag lite med Joshua Timberman (@jtimberman) från Opscode. De utvecklar verktyget Chef vilket används för deployment och konfiguration av servrar på infrastrukturnivå (Server configuration management). Som alternativ kan man nämna Puppet från Puppet Labs.

Evan Phoenix (@evanphx) - “Staking your Claim in OSS”

Evan gick igenom hur man driver ett lyckat open source-projekt. Fyra av de viktigaste poängerna var:

  • Karma
  • Open source är ett socialt fenomen
  • Kommunicera!
  • Var trevlig och håll en sansad ton, även om du inte vill acceptera vissa patchar.
Fork for LOVE!

Det självklara exempelprojektet var hans eget heltidsprojekt Rubinius. (En implementation av Ruby, Engine Yard sponsrar utvecklingen)

Rubinius

Projektet har många utvecklare då man från början bestämt att det räcker med en enda patch för att få commit-rättigheter. Evan beskrev lätta buggfixar som lågt hängande frukt och en “gateway drug” för nya utvecklare.

De har haft färre än 10 reverts under de tre år som projektet har funnits. Mycket beroende på det sociala kontraktet mellan utvecklarna.

Joe O'Brien (@objo) - “Everyone should know a little about Sales”

Joe berättade om sina erfarenheter som säljare och varför försäljning fått ett så dåligt rykte. Hans poäng var att försäljning handlar om att identifiera behov och hitta lösningar som passar båda parter. (Ganska likt det vi utvecklare gör) Han fortsatte även med att alla anställda är säljande, oavsett yrkesroll.

Peter Jackson (@peteonrails) - “Introduction to Geospatial Programming with GeoRuby, PostGIS, and OpenLayers”

Peter hade en ganska generell genomgång av geospatiell mappning (projektion/geometri) samt en snabb genomgång av projekten GeoRuby, PostGIS och OpenLayers.

Jay Zeschin (@jayzes) - “Avoiding the Seven Year Itch”

Jay från Factory Design Labs avslutade dagens föreläsningar med lite tips för de som sitter fast i långtgående projekt, föråldrade projektmodeller eller legacy-system. Han nämnde även den stora tekniska skuld som (oftast) finns i projekt av den typen.

A project is a relationship
  • Uppbrott
  • Tyst lidande
  • Ta lärdom och gå vidare
Developers have a vast amount of domain knowledge

Jay hade även en lista på vad man bör göra för att rädda ett projekt av denna typ:

  • Snabb återkoppling (test/deploy)
  • Var hänsynslös
  • Spikes regelbundet + En titt på verkligheten
  • Driv engagemang
  • Sälj in fördelarna
  • Bygg upp ett förtroende

Quick Left Hackfest

På kvällen gick vi till Quick Left och fortsatte diskussionerna, kodade lite och käkade pizza.