Leverantörsfakturor till Örebro kommun

Det började med att jag skulle begära ut fakturor för Örebro kommuns kostnad för bankidinloggningar till den värdelösa skolappen It’s learning och slutade med att jag hamnade letandes i excelfilerna med leverantörsfakturor som Örebro kommun publicerar som öppen data. Jag är inget fan av excel och dokumenten gav ingen vidare överblick. Så istället för att göra pivottabeller i excel slängde jag ihop en sajt som indexerar de publicerade excelfilerna och listar leverantörsfakturorna på konto- och leverantörsnivå.

För intresserade ligger sajten på orebrofakturor.jon.se. Det finns en länk i sidfoten till repot på Github om du är intresserad av koden bakom.

Hur gick det då med kostnaden för bankid? Nja, efter mycket mejlande fram och tillbaka fick jag tillslut några fakturor där i princip allt var sekretessbelagt. Vill någon riktig journalist ta vid så gör gärna det. Att det ska kosta oss skattebetalare pengar för att föräldrar ska logga in med bankid för att läsa veckobreven från skolan är helt galet enligt mig. Nu tror jag inte kostnaden är jättestor eftersom väldigt få orkar med krånglet för att läsa veckobreven. Vilket också är intressant, varför ska lärarna skriva veckobrev som väldigt få läser? Hade varit så sjukt mycket smidigare om vi bara fick veckobreven på mejl istället.

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