November – ingen anledning att deppa

Färgerna försvinner och regnet kommer. Man kan lätt tycka att det är läge att kapitulera för de mörka krafterna men det finns en ljusning! Om tio dagar (14 november) ordnar vi i Symfony Sverige en endagskonferens om modern php/Symfony och årets talarlista är riktigt spännande. Tycker vi har fått ihop en bra variation och jag ser fram emot alla föreläsningar. Har du inte redan köpt biljett så skynda skynda och hoppas vi ses där!

Stängd data

Örebro kommun ligger långt fram med öppen data för offentliga uppgifter. Örebro kommun, tillsammans med Länsstyrelsen och universitetet, ordnar dessutom en tävling i hur man använder öppen data bäst. Det är riktigt kul och jag kommer såklart att följa tävlingen. Hade jag haft tid hade jag gärna varit med men antalet projekt jag driver bör snarare minska än öka.

Ett miniprojekt jag kodade ihop häromkvällen använder data från Örebro kommun som dessvärre inte är öppen. Jag scrapar uppgifter om bibliotekslån och sammanställer på familjenivå. Givetvis går det inte att ha personers boklån som öppen data men det hade varit riktigt snyggt om konton man skapar på kommunens sajter kan använda OAuth för att tillåta tredjepartsapplikationer att komma åt datan.

I mitt boklåneprojekt sammanställer jag hela familjens boklån och skickar ett mejl till mig om vi inom familjen har en eller flera böcker som ska lämnas tillbaka inom några dagar.

screenshot

För den som är intresserad finns koden på Github.

Setup invoicer.se

I förra inlägget skrev av lite om idén bakom invoicer.se. Nu tänkte jag skriva lite om tekniken bakom.

Själva sajten är skriven i php och ramverket Symfony2. Speciella bundles vi använder är

  • KnpSnappyBundle – för fakturapdfgenerering
  • CloudBackupBundle – för dagliga backupper till Dropbox
  • EkinoNewRelicBundle – för rapportering till New Relic
  • VreshTwilioBundle – för smsutskick (min fork för att bara skicka sms till ett valt nummer på stagingmiljön)
  • BCCResqueBundle – tillsammans med Redis är det ett väldigt bra kösystem.
  • Samt Doctrine migration-, fixture- och extensionbundle och andra självklara bibliotek.

Givetvis använder vi git och Github för versionshanteringen. Phpci är uppsatt att köra testsviten vid varje pushning så man får ett tydligt svar om branchen är ok att merga eller inte. Jenkins är såklart bättre men eftersom vi bara kör med en server kan vi använda Phpci utan att något ytterligare behöver installeras på servern.

Släpp av ny kod till antingen staging- eller produktionsmiljön görs enkelt med ett terminalkommando tack vare Capifony. Vid släpp till stagingmiljön laddas fixaturerna om och till produktionsmiljön sker en databasbackup och migrationerna körs.

För logghantering använder vi Loggly. Jag har satt upp lite sökningar så vid tex fatal error så får jag ett mejl. Eftersom testsviten innehåller funktionstester för (i princip) alla controllers actions och deras olika http status så fångas det mesta innan koden når produktionsmiljön. Det har faktiskt bara hänt en gång att Loggly mejlat för ett fel.

En annan tjänst vi använder är New Relic. Nu har vi inte speciellt mycket trafik och sajten är väldigt stabil så har inte jättenytta av tjänsten just nu. Men det är ändå en väldigt bra tjänst för att kolla hälsostatus på applikationen.

Vid något riktigt kritiskt så hela sajten går ner har vi Pingdom som larmar.

Än så länge klarar vi oss på gratisversionerna av alla tjänster. När vi når gränserna för att behöva betala har vi förhoppningsvis också ökat våra intäkter så de kostnaderna inte blir speciellt tunga.

Phpkonferens coming up

symfonyseOm 11 dagar, den 22 november, hålls den första(?) phpkonferensen i Stockholm. Arrangörer är Symfony Sverige och platsen är Hilton Slussen. Även om konferensen anordnas av Symfony Sverige är endast 3 av 7 föreläsningar om Symfony så konferensen är verkligen något för alla som är intresserade av modern php-utveckling.

Priset för hela konferensen går på ynka 498:- och programmet och resten av allt du behöver veta finns på symfony.se/november-camp.

Hoppas vi ses där!

Beställningar på en karta

Jag var lite nyfiken på var i Sverige mina gräsklipparknivar säljer bäst så jag kodade snabbt ihop en liten tjänst som använder E-butiks api och placerar beställningarna på en Googlemaps-karta.

karta

För den som är intresserad finns koden på Github. Förutom att importera ordrar från E-butik går det att importera ordrar från en egen json-fil.

Håll koll på klickjournalistiken i Örebro

Jag har svårt för artiklar skrivna för att få så många läsare och likes som möjligt. Men även om jag ogillar företeelsen byggde jag bestoforebro.se som listar de mest delade nyheterna senaste 24 timmarna från Tvärsnytt, NA, P4 Örebro och ETC Örebro. Jag har som sagt inga förhoppningar om att sajten främjar bra journalistik (just nu ligger en artikel om en påkörd hund på plats nr tre). Men det var kul att testa några nya tekniker och för den som är nyfiken ligger allt på GitHub.

Ändring 2015-01-07
Jag har flyttat sajten till bestoforebro.jon.se.

Symfony Live Paris 2012

Nu befinner mig ungefär på samma ställe som förra inlägget, fast med riktning åt andra hållet. Symfony Live är alltså slut och jag är snart hemma igen. Till skillnad mot Symfony Day som jag varit på tidigare var det betydligt fler deltagare på Symfony Live och även fler sessioner. Dag ett hade två spår och även ett unconferencespår. Dag två hade tre spår plus unconferensspåret. Det var alltså inte svårt att hitta intressanta sessioner att gå på! Dessvärre innebar det även att jag missade flera intressanta dragningar. Men de flesta sessionerna spelades in så det kommer att finnas möjlighet att se de senare. Tror att de blir tillgängliga för alla.

De jag tyckte var intressantast handlade om composer, bundleconfiguration, twig.js, websockets och såklart David Zuelkes session om designing av REST-apier. Givetvis måste jag även säga att Magnus genomgång av Gittern på unconferencen var väldigt givande.


Konferensen hölls på universitetet i Paris.


Bra slides är viktigt.


Dag ett avslutades med Symfonyjeopardy.


På lördagen var det hackday där mitt hackande mest bestod av att uppgradera mitt länk/sajthanteringssystem till Synfony 2.1 och lära mig Composer. Kör du inte Composer på dina phpprojekt med dependencies så set till att börja göra det snarast!

Läs även min kollega Magnus som bloggat om resan.

På väg mot Symfony Live 2012

Avbryter föräldraledigheten än en gång för att jobba. Förra gången var för Symfony Day i Köln och nu är det för Symfony Live i Paris.

Är riktigt peppad även om jag missar yngsta dotterns tvåårsdag. Sitter nu på en Swebus-buss med WiFi och lyssnar på sjörapporten i SR-appen. Dåtid möter nutid. På Arlanda möter jag upp mina kollegor Magnus och Tom. I Paris vet jag att Tobias Sjösten men osäker på om fler svenskar ska dit. Ska du?

24hbc ett halvår senare

Nu har det gått ett halvår sedan förra 24hbc och mitt och Magnus projekt Stoxs.se ligger fortfarande stilla. Inför 24hbc trodde vi att vi hade en bra aktiepartner med det visade sig att de körde fulspel så vi har gjort blandade försök att hitta en ny partner men utan att lyckats.

Det ända rätta när man kört fast är såklart att open sourca projektet så på GitHub finns nu Stoxs publika repo. Hoppas projektet kan inspirera andra att göra något med koden!

Octocat från octodex.github.com

Symfony2workshop

Det lilla communityt som pysslar med Symfony2 försöker få det att växa och i helgen ordnade Symfony.se en fullbokad nybörjarworkshop. Runt 25 personer träffades först på en restaurang där Kollegorna bjöd på lunch. Sen gick vi till Swordfish lokaler och satte igång med själva workshopen. Min kollega Magnus hade förberett ett ett scenario med en fiktiv hamburgerrestaurang som skulle ha en enkel sida. För den som vill kika mer finns repot på GitHub. Själv var jag med som någon typ av hjälpreda men det hela flöt på rätt bra så det var inte så många som behövde hjälp, förutom vid själva uppsättningen av Symfony2 lokalt.

Dagen avslutades med middag på Scandic och fortsatt Symfony2snack. Stort tack till framförallt Magnus och Tobias som ordnat med workshopen och såklart även till Kollegorna och Swordfish. Kul att se att så många är intresserade av Symfony2 och hoppas verkligen deltagarna fick mersmak!