/ 16.jan.2009
Under veckan har jag och Micke 1 avslutat arbetet med prototypen, det kommer att ske en presentation den 3:e februari och sen får vi se om projektet blir av.
Jag kommer att kika på lokalisering till nytt språk av befintlig webbplats för en ny kund, vet inte så mycket mer om det projektet än.
Jag kommer att fortsätta att försöka hitta en olåst iPhone till vettigt pris och förhoppningsvis börja läsa någon av böckerna jag fick från Amazon igår.
jQuery har fyllt tre år, och lagom till födelsedagen lanserade de en ny version. Versionen i fråga är jQuery 1.3, fylld med fixar och nyheter. Även hastigheten är avsevärt förbättrad.
Förutom själva biblioteket så har dokumentation i form av en Adobe AIR applikation släppts. Den går att ladda ner på http://api.jquery.com/ (Där man såklart även kan läsa dokumentationen)
Flickr har släppt en ny funktion för att hitta foton i närheten. Ett exempel hittar man på http://flickr.com/photos/peterhellberg/2848071666/nearby
/ 09.jan.2009
Under mellandagarna har jag jobbat vidare med projektet som till största delen bygger på en frontend skriven med hjälp av jQuery och Rails som backend. Jag blir bara mer och mer förtjust i jQuery för varje dag som går och jag kommer absolut att kolla på jRails nästa gång jag ska utveckla en “vanlig” webbplats.
Jag hjälpt Stina och Robert med lite grundarbete inför offerten de ska skriva och diskuterat PDF-generering från HTML med Johan.
Kommer att jobba vidare med projektet tillsammans med Micke 1 och förhoppningsvis få det förlängt efter att vi presenterat prototypen.
Min förkylning som vägrar att ge med sig. Förhoppningsvis så går den nog att bota med lite Thailändskt solsken. (2 veckor kvar nu)
I helgen har jag tänkt kurera mig bäst det går, koda lite och antagligen spela lite Extreme Team Deathmatch i Call of Duty 4: Modern Warfare. (Min gamertag är: c7 se)
Asus har presenterat sitt omåttligt häftiga Eee Keyboard vilket är en komplett dator med trådlös hdmi och pekskärm. Att det sedan är väldigt likt apples tangentbord skadar ju inte heller. Jag hoppas verkligen att Eeebuntu kommer fungera bra.
Tycker som många andra att de borde döpa produkten till Keeeyboard.
Fler och fler webbhotell börjar förstå grejen med Ruby on Rails, några som verkar bra är:
Skriva gärna en kommentar om du känner till fler hotell med schysst stöd för mod_rails.
/ 07.nov.2008
Under veckan som gått har jag gjort lite småsaker, planerat ett nytt projekt, gått på möte med Fredrik och uppdaterat Lunch-applikationen [lösenord krävs], man kan nu ladda upp en bild till varje restaurangs profil.
Mockups för ett nytt projekt och förhoppningsvis kunna påbörja utvecklingen så smått. Nu är det äntligen dags för ett fullfjädrat Rails-projekt med allt vad det innebär. Jag tänker mig Bort (eller någon av de andra varianterna) som grund till applikationen, deployment med Capistrano och Phusion Passenger som applikationsserver.
Det jag nu måste bestämma mig för är vilket CSS ramverk jag ska använda mig av, de tre jag väljer mellan är 960 Grid System, Blueprint CSS och YUI Grids CSS. Någon som har några preferenser? Då får ni gärna skriva en kommentar.
I helgen ska jag spela Gears of War 2 och antagligen gå på klätterfilmsfestivalen CRIMPER som Jacob är med och arrangerar. Sen kommer min far på besök.
Några spännande Erlang-projekt som jag vill kika mer på i framtiden är Apache CouchDB och ejabberd.

Apache CouchDB är en distibuerad, feltolerant och schemafri dokumentorienterad databas åtkomlig genom ett RESTful HTTP/JSON API.
ejabberd är en Jabber/XMPP instant messaging server, licensierad under GPLv2, skriven i Erlang/OTP. Bland annat är den platformsoberoende, klustringsbar och modulär.
/ 31.okt.2008
Även denna vecka har jag och Stina jobbat vidare med Academy. Förutom att koda PHP så har jag skrivit lite dokumentation samt gjort lite script för databasbackuprutiner.
Efter att jag hört mig för inne i #rails.se om vilka backupscript som är bra så testade jag BackupNinja, och jag kan helt klart säga att jag är imponerad. Enkel konfiguration och default script för att göra de vanligaste rutinerna, dumpa databasen, skicka filer till en annan server osv.
Jag kommer antagligen att påbörja ett nytt railsuppdrag, mer om det efter mötet på måndag. Planerar att använda mig av Bort samt Paperclip (för uppladdning av bilder) som grund till projektet.
Jag kommer att gå på gubbfest (En kompis som fyller 30) och förutom det ska jag självklart lira lite mer Fable 2.
Nu har CodeIgniter 1.7.0 släppts och några av förändringarna är:
Som vanligt så hittar man hela listan på förändringar i användarguiden
/ 17.okt.2008
Under veckan som gått har jag och Stina jobbat vidare med Academy. Har gjort lite spexiga saker med Mootools som för övrigt har komit i en ny version.
Jag har även satt upp en VPS hos GleSYS och jag är helt klart imponerad över deras nya Platinum konto:
Att man sedan får automatisk failover och 5 ip-nummer gör ju inte saken sämre, allt för under tusenlappen + moms i månaden.
Vi kommer att jobba vidare med Academy, skriva lite backup rutiner och göra ett enkelt annonssystem.
På måndag ska jag gå på Railsträff med Stockholm Ruby User Group (SHRUG), nån som hänger på?
Jag kommer att hålla koll på årets Rails Rumble och koda vidare på Axept. Kommer även att kika på biljetter till Thailand, börjar ju bli “that time of the year” nu :)
/ 05.sep.2008
Under veckan som gått har jag arbetat med att skriva dokumentation samt gjort en överlämning av projektet. Idag är sista dagen på det fyra månader långa Railsuppdraget jag haft under sommaren.
Jag behövde en bättre template för RDoc och efter lite letande så hittade jag Mislav’s Hanna vilket är en riktigt stilig template skriven med hjälp av Haml och Sass. (Vilket enligt egen utsago ska vara lättare att underhålla)
Jag har testat diagramgeneratorn RailRoad med lite blandade resultat, den gillar till exempel inte namespaces.
Jag har även käkat lunch med Robert och diskuterat lite ytligt om telefonväxeln Asterisk, i samma veva blev jag kontaktad av Voxway. De pysslar med Ruby i kombination med talsvarstjänster, VoiceXML osv.
Nästa vecka kommer jag att vara tillbaks på H21 där jag kommer att agera teknisk projektledare/utvecklare under de nästkommande månaderna. Kommer troligtvis jobba mest med CodeIgniter och MooTools.
Förhoppningsvis blir det mer RoR-utveckling snart igen.
I helgen ska jag ta det ovanligt lugnt, ska antagligen koda lite Ruby och umgås med vänner.
De växter jag planterade på balkongen för ett tag sedan har verkligen tagit fart nu, lagom till hösten.
Jag kan för övrigt verkligen rekomendera plasttrallen Bergo Royal, min balkong blev genast mer hemtrevlig. (De ska hålla för ökenklimat i 10 år… borde räcka)
Pluggen Shadow verkar riktigt intressant och jag kommer antagligen att få användning för den i framtiden.
/ 04.jul.2008
Nu har vi haft lite överlämning då jag ska agera standin för min kollega som går på semester idag. Under de kommande tre veckorna ska jag se till att drifta systemen, vilket förhoppningsvis ska vara rätt lugnt.
Under veckan som gått har jag löst lite buggar, skrivit lite nya specs (100% grönt nu!) och sett till att databasmigrationerna fungerar som de ska.
Jag har även löst hur jag ska fejka att man har en inloggad användare i mina controller specs (då jag använder Restful Authentication)
1 2 3 4 5 6 7 8 9 |
Spec::Runner.configure do |config| # mock the current_user method to # provide a mock user object to fake login! def login_as(role) current_user = mock_model User current_user.stub!(:has_role?).with(role.to_s).and_return(true) controller.stub!(:current_user).and_return(current_user) end end |
Sen kan jag helt enkelt göra såhär i mina controller specs
1 2 3 4 5 6 |
describe FoosController do before(:each) do login_as :admin end # The rest of the code end |
Jag kommer som sagt var att jobba med att se till att allt lirar som det ska, släcka eventuella bränder och liknande. Förhoppningsvis hinna koda lite och få grepp om web services i SuperOffice.
Synergy och mer specifikt SynergyKM som låter mig styra en andra dator med samma mus och tangentbord som jag använder till min Macbook Pro. Jag “byter dator” genom att dra muspekaren till höger om min externa skärm, funkar perfekt (delar till och med clipboard).
SuperOffice som skryter om “55000+ lines of sample code” när det sen visar sig att exemplen som var intressanta för mig är mer än 22 månader gamla.
Jag ska hjälpa en kompis att flytta, förhoppningsvis klättra på lite stenblock och kanske dricka en öl eller två i solen.
/ 27.jun.2008
Under veckan har jag jobbat med lite nya vyer och skrivit ett antal specs, jag har även lekt lite med nginx och thin.
Har sett till att rensa upp lite i koden (DRYing) genom att börja använda mig av before_filter i stil med
1 2 3 4 |
private def get_company @company = Company.find(params[:company_id]) if params[:company_id] end |
Jag ska lära mig så mycket jag hinner om systemen för att kunna vikariera för en kollega som går på semester nästa fredag.
Om vädret tillåter så ska vi antagligen ut till Kolartorp och bouldra lite.
/ 18.maj.2008
Under veckan har vi jobbat vidare med de interna vyerna för säljare och backoffice samt planerat fler delar av databasen.
Vi valde att använda både restful_authentication och role_requirement som jag nämnde tidigare.
En del av arbetet med vyerna består såklart i att presentera felmeddelanden från ActiveRecord::Validations men tyvärr saknas det fullständigt stöd i rails 2.0.2 för att översätta felmeddelandena till svenska, mer specifikt så går det inte att översätta kolumnnamnen.
Jag har skrivit följande kod för att presentera felen på ett lite snyggare sätt.
1 2 3 4 5 6 7 8 9 10 |
def get_error_message(object, object_name, action) message = object.errors.size << " fel förhindrade " << object_name message << " från att #{action}\n<ol id=\"error_list\">\n" object.errors.each do |column, error| message << "<li> #{object.translation(column)} #{error}</li>\n" end message << "</ol>\n" end |
Modellerna har sedan en metod för att returnera det översatta kolumnnamnet.
1 2 3 4 5 6 7 |
validates_presence_of :name, :org_number, :customer_number def translation(column_name) { 'name' => 'Namn', 'org_number' => 'Organisationsnummer', 'customer_number' => 'Kundnummer' }[column_name] end |
Och med lite stilig css så kan felmeddelandet se ut ungefär såhär.

/ 09.maj.2008
Jag började på ett nytt projekt denhär veckan, min arbetsplats i minst fyra månader kommer nu att vara belägen på Ynglingagatan 2 på företaget Newsline Group där jag ska vara delaktig i ett större railsprojekt.
Under veckan som gått har vi mestadels arbetat med att ta reda på hur alla system fungerar samt planerat hur vi vill bygga systemet.
Det kommer att bli tre större delar i systemet

Jag läste på lite om det inbyggda skyddet för Cross Site Request Forgery och det verkar ju vara precis det man behöver, simpelt att använda också :) Det verkar dock som om man enbart kan använda XML när man bygger sitt REST-API direkt ur lådan, måste ju ordna JSON!
Kommer antagligen att använda RoleRequirement samt RestfulAuthentication i den “interna” applikationen (För säljare och backoffice)
1 2 3 4 5 6 7 8 9 10 11 12 |
class ApplicationController < ActionController::Base helper :all # include all helpers, all the time # See ActionController::RequestForgeryProtection for details # Uncomment the :secret if you're not using the cookie session store protect_from_forgery # :secret => '8b10bb71800843d42d6f81601789ce53' include AuthenticatedSystem # This module gives you the require_role helpers, and others. include RoleRequirementSystem end |
/ 02.maj.2008
Var på möte med UR i fredags, vi kom fram till att de ville ha en ny och “häftig” version av mediebiblioteket. Jag satte såklart igång direkt med att skissa upp en applikation rent konceptuellt. Har haft planer på att testa någon indexeringsmotor i kombination med rails under en längre tid och efter en snabb undersökning (läs: Snackade lite med grabbarna inne på #rails.se @ freenode) så kom jag fram till att Sphinx med railspluggen Ultrasphinx var det bästa alternativet.
(Kommer antagligen att testa Solr + acts_as_solr vid ett senare tillfälle)
Satte upp Thin frontad av Apaches mod_proxy på sebulba för att hosta railsapplikationer under utveckling.
Temat heter micro och är gjort av seaofclouds.
Det drivs med Mephisto under Ruby on Rails