Category Archives: Virumvarum

Helvetes plattform?

I 2019 leste jeg om Helseplattformen for første gang. “Epic Failure in the making altså”, var min syrlige kommentar på Twitter. I oktober var skadefryden borte; “dette er bare trist”, kunne jeg melde da.

Jeg vet knapt nok hva en epikrise er, og forrige gang jeg var på legevakta ble jeg sittende å lure på hva sutur var for noe. Jeg jobber som systemutvikler, men jeg har aldri vært med på å lage et journalsystem for en helseregion. Allikevel følte jeg meg i 2019 sikker på at dette kom til å “gå åt skogen”. Hvorfor? Stort offentlig IT-prosjekt der man skal kjøpe “hyllevare”. Det går som regel rett vest.

Har det så gått rett vest? Tja, jeg er frisk og rask og jobber ikke i helsevesenet, så alt jeg har å basere meg på er annenhåndskunnskap fra media. Rett etter “go-live” (for et tøvete uttrykk forresten) hadde Adresseavisa en overskrift “Ingen har dødd”, noe som ikke akkurat var beroligende. På den annen side liker media å overdramatisere. Min andre kilde til informasjon er leserinnlegg. Disse kan enkelt deles i to kategorier: “helvetes helvetesplattformen” og “alt er fint, ingenting å se her, dette blir dritbra (snart, lover!)”

Førstnevnte kategori kommer fra faktiske brukere av systemet. Leger, sykepleiere, radiologer og hva nå enn alle disse hvitkledde kaller seg. Sistnevnte skjønnmaling kommer fra (bukse)dressdivisjonen og består av folk med varianter av” direktør” i tittelen. Sånn bortsett fra han som etter en times jobb på legevakta genierklærte Helseplattformen kan vi anta at du ikke vil at noen av disse skal utføre sutur på deg.

Så, hvem har rett? De som svartmaler eller de som rosemaler? Som regel ligger sannheten et sted midt imellom ytterpunktene, og jeg har som sagt ikke kompetanse til å bedømme dette.

Men uansett har ledelsen her tapt slaget. Jeg og andre trenger ikke kunne noe for å gjøre oss opp en mening. Vi har alle opplevd et “jævla drittsystem” og kjenner på frustrasjonen som uttrykkes. Derfor blir ledelsens kommunikasjon veldig hul. Kanskje ikke ting er så ille, men det er ikke perfekt. Alt for mye penger er svidd av, ting fungerer fortsatt ikke som det skal.

Derfor vil jeg bare oppfordre ledelsen i Epic Failure Midtnorge til å legge kortene på bordet: ærlig og redelig si: “dette gikk ikke som forventa, Helseplattformen fungerer ikke som den skal og vi kan ikke fortsette å kaste penger og overtid på å holde den flytende. Vi må gjøre noe, fort!” Før det skjer velger jeg å akseptere versjonen som presenteres av systemets brukere. Med hud og hår. Helvetes helvetesplattform!

Efficient PostgreSQL/PostGIS imports from Python using copy statements

For some reason I’ve had to import fairly large chunks of data into PostgreSQL/PostGIS using Python lately. When I wrote the HOGS app I decided that COPY statements was the way to go, as this is a fast and reliable way of getting large chunks of data into PostgreSQL.

But, as you might know, “COPY moves data between PostgreSQL tables and standard file-system files. ” [1]. Ugh, those pesky files. My data isn’t in files and shouldn’t be.

So I started googling and found this gist. That seemed to do the trick: Works with Python, uses psychopg2, and eliminates the need for a file. All the same while allowing me to use COPY statements. All good?

Well, almost. PostGIS is a bit picky. You need to provide the geometries as WKB. But, the WKB standard does not specify srid. So, if your table is defined with a column Geometry(4326), you’ll get an error. The solution? Use EWKB (the e is for extended). Using a tool such as pygeos lets you add srid to a WBK-encoded geometry like this:

from pygeos import to_wkb, from_wkb, set_srid

def add_srid(wkb, srid=4326):
    return to_wkb(
        set_srid(from_wkb(wkb), srid),
        hex=True,
        include_srid=True
    )
    

Another issue, worth considering when importing, say several million geometries, is that you probably want some commits in between. Mocking a bit about with generators, i found a way to split a generator into a generator that yields generators, so that you could iterate over, say 10 000 elements and hit a break. Something like this:

def split_generator(gen, elements_pr_generator):
    is_running = True

    def generator(gen):
        nonlocal is_running
        c = 0
        while c < elements_pr_generator:
            try:
                n = next(gen)
                yield n
            except StopIteration as e:
                is_running = False
                raise e
            c += 1

    c = 0
    while is_running:
        if c % elements_pr_generator == 0:
            yield generator(gen)
        c += 1

One last thing you might end up getting bitten by is the fact that the copy statement expects a file. And a file consists of text. And if you are inserting, say a dictionary to a json(b)-column, you might end up with errors. Same for None-values. In order to handle this, i wrote a line-generator, that takes a record from your generator and transforms it to a proper line:

def format_line(record, column_data):
    line_template = '\t'.join(['%s'] * len(column_data))
    data = []
    for column in column_data:
        key = column['key']
        value = None

        # get the value
        if key in record:
            value = record[key]

        if value is None:
            data.append('\\N')
        elif 'encoder' in column:
            data.append(column['encoder'](value))
        else:
            data.append(value)

    return line_template % tuple(data)

This function takes in a definition for each column, gets the data from the generator data, and formats it as a proper line to be fed to the COPY-statement.

If you combine these elements you end up with a small utility that lets you copy most python data into PostgreSQL with ease. So, if this is something you need, check out pg_geomcopy on github!

Ølbyen Trondheim

På lørdag ettermiddag satt jeg på Sot på Solsiden med en øl, og i en plutselig entusiasme over hvor bra Trondheim er som ølby twitret jeg følgende:

I etterkant har jeg tenkt mer over det, og det er faktisk enda bedre. Så, for de som ikke bor i byen, eller ikke frekventerer “trønderske ølfanatikere”, eller bare vil ha en oversikt over hva som skjer på øl-fronten i Trondheim kommer en oversikt fra mitt ståsted. Det er sikkert også mer som skjer, så si gjerne fra.

Bryggerier
Ja, E.C. Dahls er på vei ut og vekk, men de siste åra har vi sett en del nye bryggerier i byen og omegn.

Mest kjent er kanskje Austmann Bryggeri på Byneset (eller Høvringen for å være korrekt). Massevis av spennende (og noen kanskje ikke fullt så spennende øl), trivelige folk og “storleverandør” til polet, ikke værst på halvannet år. Northumberland har blitt et av favorittøelene mine, og det er faktisk et øl du får tak i på flere og flere steder i byen.

En annen nykommer er norges eneste (?) “gravitasjonsbryggeri”, To Tårn. Disse holder til i sand- og vanntårnet til jernbaneverket på Marienborg, og selv om jeg synes endel av ølet deres lider under “butikkgrensa” klarer de å levere endel gode øl. Sist ut var Solbærporter. Distribusjon ganske lokalt, utsalg og “pubkvelder” i bryggeriet av og til, men ikke full-distribuert på samme måte som Austmann.

Beveger vi oss utover bygrensene, men holder oss i Trøndelag har vi Klostergården bryggeri, som kanskje har gjort seg mest bemerket med sin tolkning av stjørdalsølet: Alstadberger, men de produserer også endel annet godt. Noe av ølet lider også under “butikkgrensa”, men andre er bare nydelige. Desverre er kun Alstadberger å finne på polet, så her er du avhengig av å være på rett sted til rett tid.

Bortsett fra disse finnes det en hel rekke “mikrobryggerier” i Trøndelag. I tillegg er det ikke lange veien til Stjørdal og Oppdal, to av lommene hvor norsk tradisjonsbrygging fortsatt lever.

Som om ikke dette er nok er hjemmebryggemiljøet i byen stort, det brygges øl på Moholt, det arrangeres hjemmebryggefestival, vinnerene av NM i hjemmebrygg 2013 var fra Trondheim, og tror du ikke hjemmebryggerene bak Polaris Porter også holder til i byen?

Byen huser også Bakke Brygg, en levrandør av råvarer, utstyr og kunnskap for hjemmebrygging. Disse har allerede flyttet en gang for å dekke etterspørselen, så det er ikke tvil om at hjemmebryggemiljøet lever i beste velgående her!

Bryggeripuber
Trondheim Mikrobryggeri er kanskje i den siste tiden mest kjent for øltavla si, men har servert øl brygget på stedet i 1998, og var sånn sett veldig tidlig ute. Man kan mene mye om ølet de lager, de serverer kun eget øl og kvaliteten kan variere.

Det skulle ta lang tid før Trondheim fikk flere bryggeripuber, men så kom det plutselig to på rappen. Daglighallen på Samfundet gjorde overgangen fra “fotballpub” til “kvalitetsølsted” en gang etter at jeg var ferdig med studiene, og det neste naturlige skrittet da var å brygge eget øl. Som sagt, så gjort, og nå serverer de både eget øl og andres, i trivelige omgivelser (gitt at det ikke er fotballkamp). Enkelte ølbloggere har sågar plassert Daglighallen på “topp 10” av norske ølbarer.

Det aller siste skuddet på stammen befinner seg i Fjordgdata, og Brygghus 9 spiller på ressursser fra flere steder. Eierene er de samme som driver Bakke Brygg, og de har også fått med seg bryggere derfra. For å bemanne baren har de fått med seg en flere burde kjenne igjen fra Den Gode Nabo, og for å tilby noe annet enn eget øl spiller de på varelageret til Beer Enthusiast. Brygghus 9 har en resturant i overetasjen, der de satser på skikkelig mat, samt en bar i kjelleren, med nevnte trivelige herremann.

Ølbarer
Strengt tatt er vel både Daglighallen og Brygghus 9 å regne som ølbarer like mye som bryggeripuber, men all den tid de faktisk har et bryggeri hanvner de i den kategorien. Det betur ikke at de ikke hører med på en allerede rikfoldig liste over gode ølpuber i byen.

Den Gode Nabo kan jeg ikke finnes upartisk i min beskrivelse av, stamgjest på tiende året som jeg er. Dog, en artig brygge på Bakklandet, med lekter på Nidelva om sommeren, generelt flinke folk bak baren og et godt utvalg er dette et sikkerstikk. Kan til tider være mye studenter som bråker eller turister som skaper kø, men når øl-utvalget er godt er naboen et nydelig sted.

Skulle du gå lei av naboen kan du labbe 100 meter borti gata og sette deg på Antikvariatet, men sørg for å kom deg innerst i bokbaren. Stedet har holdt på siden 2011, og har ikke verdens største utvalg, men det de har er som regel bra. 3-4 10 tappekraner og en 30-40 ca 70 øl på flaske. Flinke folk bak baren, men ofte mye kulturelle arrangementer, som noen ganger kan være en god ting, andre ganger ikke.

Diskoteket er et artig paradoks i Trondheims øl-scene. Navnet hinter ikke akkurat til et fantastisk ølsted, men med 10 tappekraner, og byens beste surøl-kjeller kan navnet bedra. Dog, stedet heter ikke Diskoteket for ingenting, så etter 21-22 er det ikke stedet for å nyte ølet ditt i ro og mak. Dog, ta en tidlig tur innom, og du vil ikke bli skuffet.

Sot er egentlig en hamburgersjappe på Solsiden (og den observante leser vil huske at det var der jeg satt da jeg fikk inspirasjonen til å skrive dette), men de har også et overraskende godt ølutvalg, og det er ikke noe i veien for å sette seg ned for en øl eller to. Fokus er på amerikansk øl, og de har endel godbiter andre steder i byen ikke har.

Bari har også matservering, og mye fokus på vin, men sist jeg var der hadde de også et decent ølskap, så det kan absolutt være verdt å ta seg en tur hit.

I tillegg har jeg hørt mye bra om steder som Bar Moskus, Ramp og Ila Braiinstasjon, uten at jeg har vært der selv.

Edit: Observante lesere har påpekt at Cafe Løkka også har et “over snittet utvalg øl”, og dermed er det bare rett og rimlig at den nevnes her. Jeg har ikke selv vært der på en stund, og det viser vel bare at utvalget av steder med godt utvalg i byen begynner å bli bra 😉

Resturanter
Flere av stedene nevnt over har også matservering, men det er ikke typen sted med hvit duk og servitører ved bordene (med unntak av resturanten til Brygghus 9), men det finnes også resturanter i Trondheim som kan tilby noe annet enn fransk og italiensk druesaft til maten 😉

To Rom og Kjøkken er vel stjerneeksempelet her. En virkelig gourmetresturant (som jeg ikke ofte frekventerer), som på strak arm setter opp en ølmeny til maten din om du foretrekker det over vin. Utvalget er godt, men lite (etter hva jeg husker), men fokus er øl til mat.

En annen resturant er Ågot på torget, en fiskeresturant med bånd til Austmann via styremeldemmer. På Ågot finner du skikkelig god sjømat, kombinert med et godt utvalg av lokalt og norsk kvalitetsøl. Vel verdt et besøk!

Øldistributører
Ølimportøren Beer Enthusiast har, etter at Austmann så dagens lys, etablert seg med en representant i Trondheim. Det betyr at steder som “BrukBlæst” (eller hva de nå heter) og andre, ganske standard utesteder, kan slumpe til å ha noen annet enn Brooklyn Lager å tilby den som har lyst på noe annet enn Dahls.

Å ha en øldistributør i byen betyr også at det titt og ofte blir annonsert diverse øl-happenings, mer om det under.

Utsalgssteder
Trondheim fikk “halvspesialpol”Valentinlyst på nyåret, noe som betyr at vi endelig har fått et sted å få tak i det litt særere ølet på polet uten å dra til Oslo eller Bergen. På tide! Jeg vet ikke helt hvordan det står til med “de facto” ølpolet i Trondheim på City Syd, men de var jo før kjent for fantastisk ølutvalg og service. Polet på Bankkvartalet er heller ikke å forakte.

Skal du ha butikkstyrke-øl er det vel verdt å ta en tur ut til Lade og Meny-butikken der. Her tar de inn mye godt øl, inkludert lokalt øl fra To Tårn, Klostergården og Inderøya.

Øl-happenings
Som sagt gir det å ha en øldistributør i byen muligheter for øl-happenings (eller snik-reklame), men det finnes en rekke andre arenaer også. En stabil traver er Det Gode Øls Klubb, som til stadighet arrangerer diverse øl-arrangementer, enten i lukkede settinger eller på en bar. På toppen av dette arrangerer en del av stedene egne øl-events, samt at både smakselv.no og Ølakademiet er i ferd med å etablere seg i byen etter hva jeg erfarer.

Rosinen i pølsa er vel uansett Bryggerifestivalen i Trondheim. Denne er blitt arrangert to år på rad i forbindelse med Trøndersk Matfestival, og blir bare bedre og bedre. Her stiller det som kan krype og gå av trønderske ølentusiaster opp som frivillige, og når man klarer å samle en solid gjeng lokale og norske bryggerier midt på Trondheim Torg på sommeren er det til å bli glad av!

Som om ikke det var nok arrangeres det som sagt et årlig hjemmebryggemesterskap i regi av Det Gode Øls Klubb, samt en juleøl-konkurranse på Tautra i sammarbeid med Klostergården.

Så, som sagt er det mye å glede seg over som øl-interessert i Trondheim for tiden. Det artigste er dog at de forskjellige tilbudene er relativt ulike, de fleste barene har ikke identisk utvalg og det er generelt mye flinke folk bak gjæringskar, barer og disker rundt omkring i byen.

På toppen av det hele er Trondheim såpass liten at man fort blir kjent med en rekke hyggelige folk via diverse arrangementer, så man klarer nesten aldri å stikke ut for en øl eller tre uten å møte på kjentfolk. Det er jo absolutt en hyggelig ting!

Skål!

Oppdateringer

Som du kanskje ser kjører jeg nå standard WordPress-tema på denne siden. Det gamle “designet” var, vel, gammelt.. Så ubrukelig markup, så overlessa med visuelt støy og plugins som tok et år å laste at jeg ikke gadd mer. Siden jeg ikke orker å sette meg inn i WordPress (igjen?) blir det standardtema for nå (hvis da ikke ånden skulle komme over meg?)

Men, hva er dette for noe tull sier du? Jeg har ikke skrevet noe her siden jeg rablet om øl i Desember, og så i April kommer det en oppdatering om, vel, ingenting? Tja, hva skal en si til sitt forsvar? Jeg kan jo begynne med å si at du kan sjekke ut innlegget mitt på Bouvet-Blogen, med den fengende tittelen “Koordinatinterpolasjon i kart på under 100 linjer kode“. En gjennomgang av noen blibliotek og verktøy for å jobbe med Geografiske data i Python!

Ellers så har jeg også vært aktiv andre steder, spesielt da på GitHub, så hvis du liker å lese kode kan det ha noe for seg. I den andre enden av spekreret som interesserer meg har vi øl, og om dette har jeg skrevet på Ølportalen, et debattinnlegg om spesialpolene: “Spesialpolordningen, økt utvalg eller diskriminering?” Ellers har jeg ikke skrevet en døyt i det siste, og jeg tror faktisk ikke heller jeg kommer til å oppdatere bloggen så veldig jevnlig utover. Dog, man vet aldri og plutselig kan det dukke opp noe her igjen.

Giddalaushet

Planen for lørdag (dvs gårsdagen) var ganske ambisiøs: På tross av sommerfest med jobb på fredagen hadde jeg et mål for dagen: Fullføre oppgraderinga av mineturer.org. Alt lå jo til rette for det. Samboer borte fra lørdag morgen til søndag ettermiddag, ingen planer på agendaen og egg og bacon i kjøleskapet. Været var vel meldt av type sommer, men når man har bestemt seg for å skrive kode er ikke det noe problem.

Så. Fredagen ble fuktig, det ble sent, men jeg kom meg da hjem til slutt. Så, lørdag morgen, våkner, fyllesjuk i 11-tida.. Snur meg rundt, sover videre. Våkner i tolv-ett-tida. Tar frem telefonen, leser gjennom twitterfeeden. Klokka blir tre før jeg kommer meg opp fra senga. Så blir jeg sittende å lese gjennom twitterfeeden på nytt, finleser alle lenker denne gangen. Frokost blir laga i 4-tida. Etter en dose egg, bacon og appelsinjuice er ikke bakfylla nevneverdig plagsom mer. Skal jeg sette meg ned og kode litt da? Neh. Setter på tv. 5 episoder Storage Wars senere føler jeg meg som en vegeterende idiot forran tven. Klokka nærmer seg 6-7. NÅ! Nå kan jeg kode litt? Åpner pc’en igjen, sjekker twitter og facebook. Konkluderer med at det er for kjipt. Så henter jeg frem boka jeg leste på. Leser en god stund. Ganske god stund. Klokka blir visst 02.00. Trøtt. Litt twitter igjen. Så ny bok. Sovner med boka i hendene, og våkner 02.30 for å skru av lyset.

Ok, det ble ikke noe koding på lørdag, men jeg har jo det meste av søndagen på meg! Tja, våkner i ett-tida, twitter-sjekk igjen før dusj og frokost (før to denne gang!). Så vasker jeg kjøkkenbenken og mopper gulvet. Må jo gjøre noe fornuftig i løpet av helga også. Men, klokka er halv tre, det er mange timer til jeg ser folk igjen. Nå kan jeg da kode litt? Nei, jeg setter meg ned for å skrive ett blogginnlegg om hvorfor jeg ikke skriver kode. Snakk om prokrastinering!

Så, jeg begynner å lure: Liker jeg egentlig å skrive kode? Synes jeg det er så slitsomt at jeg prøver å unngå det? Det er jo aldri noe problem på jobb, da møter jeg opp hver mårra og setter i gang. Jeg synes det er gøy. Hvorfor klarer jeg ikke da å motivere meg selv til å jobbe på et prosjekt der jeg selv bestemmer hva som skal gjøres, hvordan det skal gjøres og når det skal gjøres?

Jeg har en teori. Eller, det er ikke min teori, men det var en teori jeg (ironisk nok) leste via twitter; Kort fortalt, vi har aldri tid til å kjede oss mer. Dermed forsvinner kreativiteten. Tenk over det: er du som meg sitter du nok ikke å kjeder deg mer enn 4-5 minutter før du drar opp telefonen, sjekker hva som skjer på twitter, så facebook (og tenker at: hvorfor i helvette gidder jeg å sjekke facebook), før du spiller en runde Bejeweled eller et annet, intetsigende spill. Tiden til å kjede seg, tenke over hva man skal gjør, for så å gå i gang er eliminert. Og fordi det “skjer” så mye “hele tiden”, blir den tiden du har avsatt til å gjøre “ingenting” så forbanna viktig.

Jeg kunne ikke begynne å skive kode lørdag formiddag, for først måtte jeg sove, så måtte jeg prøve å kjede meg litt. Problemet er at jeg ikke klarer å kjede meg skikkelig, fordi jeg blir sittende å glane på kjedelig tv. Før i tiden hadde jeg skrudd av det kjedelige tv-programmet, nå kommenterer jeg dårlige reklamer på twitter mens jeg blir sittende å se på kjedelig tv. Det har altså blitt sånn at selv om man har satt av en hel helg til å jobbe med noe blir det ikke mer enn et par timer igjen til å gjøre det, fordi man “bare” skal gjøre ikkenoe først.

Jeg vet ikke helt hvor jeg vil hen, kanskje jeg vil utsette å skrive kode, kanskje jeg bare vil prøve å fortelle meg selv at jeg er en latsabb? Det jeg mest av alt lurer på er om det kun er jeg som er sånn? Er det bare jeg som kan ha mentalt satt av en hel helg til en ting, og ender opp med å ikke ha gjort en drit fornuftig hele helga? Og hva kan man gjøre med det? (Nei: “ta seg sammen” er ikke et godt svar!).

Innspill?