Lägesrapport

Inget speciellt att rapportera, jag tänkte bara meddela att min TW-krönika som förespråkar skadeståndsansvar för vårdslös programmering nu finns tillgänglig – minnesgoda läsare känner igen temat från ett tre år gammalt inlägg.

Men när jag ändå har textarean framme kan jag meddela att kursen i nationalekonomi har varit jätteintressant, men att examineringen nu på fredag verkar bli rätt trist – för att svara på frågorna krävs inte något eget tänkande, men däremot en hel massa noggrannhet och detaljer. Säkert bra för vissa, men dåligt för en kreativ slarver som mig. Och vad är grejen med att det förväntas att juriststudenter ska ogilla/vara dåliga på matte?

Arbetet på lagen.nu 1.5 går vidare – jobbet med tabelligenkänningskoden jag skrev om sist har gått ganska bra. Ett enkelt exempel är att den här plaintexten tolkas som den här tabellstrukturen. Ett lite knepigare är den här texten som blir den här strukturen. Det senaste jag jobbat med är hanteringen av referenser i löpande text – något jag också skrev om för tre år sedan, men det nya är att koden modulariserats så att man kan ha en grammatik för vanliga svenska lagtexter, en för typiska förarbetshänvisningar, en för EG-lagstiftning osv, och vid instansieringstillfället välja vilken eller vilka grammatiker man vill använda.

På söndag ska jag springa premiärmilen och hoppas få en tid nedåt 45 minuter, eller i vart fall inte mer än 50. Vi får väl se. De senaste veckorna har jag bara sprungit 12- och 21-kilometersrundor (fartleks– och LSD-pass, respektive), så det ska bli kul att köra ett plattan-i-mattan-rejs.

Lazy Saturday

Den här lördagen har jag sett fram emot länge. De senaste två
veckorna har varit mördande med en tuff deadline och en svår tenta
inom loppet av 36 timmar.

Deadlinen var för en en artikel och en krönika för Techworld (som
nu lagt ut den krönika
jag skrev
om ambassadhacket
i mitten av december — det här med pressläggningstider är en märklig
omställning för mig som bloggvan). Det är första gången jag skriver en
riktig artikel, inte bara löst tyckande i krönikeform, i en
papperstidning, och allt som är nytt tar ju alltid extra tid och
kraft. Artikeln handlar om PUL, riktar sig mot det typiska
IT-användande företaget, och blev förförhållandevis lyckad, tror
jag. Lång blev den i vart fall, 14500 tecken vilket är en bra bit över
de 12000 jag egentligen fick till mit förfogande. Vi får väl se om den
är kapad när den dyker upp i tryck nån gång i slutet av april. På
grund av all tid som artikeln tog fick krönikan skrivas på
rekordfart. Den rör förhållandet mellan IT-expertis, rättsväsendet och
risken för rättsosäkerhet när de inte kan prata med varandra, främst
föranlett av domen mot Uppsalahackaren — lite
på samma tema som min f.d. chefs
artikel i CS
för några månader sedan.

Vid sidan om detta har jag också tentapluggat för tentan i rättshistoria,
som jag skrev i torsdags. Kursen har varit väldigt intressant och
mycket intensiv – frågeställningarna och tankegångarna har varit
ganska annorlunda från andra kurser på juristlinjen, och har gett en
teoretisk bas att förstå vad jag egentligen lärt mig under de tidigare
tre åren. Stundvis har det gjort ganska ont i huvudet, men på det hela
hamnar kursen klart i topp tre. Det enda jag egentligen tycker är synd
är att den inte ligger tidigare i programmet – den bakomliggande
frågeställningen om förhållandena juridik/rätt/värderingar/makt är
något jag skulle ha velat haft i bakhuvudet under några av de mer
materiellt inriktade kurserna. Nu blir det nationalekonomi
i fyra veckor, vilket också verkar annorlunda. Huvudkursboken
är på engelska med massa diagram och färger istället för omfattande
notapparater, bara en sån sak.

Tillsammans med allt detta har jag ju också ett vanligt jobb att
sköta. Både våren och hösten bjuder på en del spännande arrangemang
som IRI på ena eller andra sättet är inblandade i. Den 13:e mars
håller LISA ett möte
om elektronisk publicering av författningstexter
, och till hösten
slår vi på stort och arrangerar nordisk
konferens i rättsinformatik
mellan den 17:e och 19:e november –
jag håller nu på att färdigställa konferenswebbplatsen. Notera gärna
användandet av hCalender, hAtom med flera mikroformat på webbplatsen –
förutom det direkta användbarheten genom extensions som Operator utgör
de även grunden för det Atom-flöde och det iCalendar-flöde som finns
tillgängligt. Eftersom IRI-webbplatsen bygger helt på statiska filer
ligger inte nyhetsartiklar och kalenderhändelser i en databas, utan
istället genereras Atom/iCal-flödena genom att ett offlinescript
parsear mikroformaten och bygger statiska filer. En typisk
lowtechlösning i min smak.

Motionen har gått lite sisådär. Jag har som ambition att springa en
dryg tvåmilsrunda kring Stockholm varje söndag, men senast jag
försökte tvingade en krånglande stortå, eventuellt framkallad av
dåliga skor, mig att avbryta efter bara några kilometer. Vi får se om
det blir ett nytt försök imorgon. I övrigt har jag bestämt mig för att
skala ner ambitionerna den här säsongen — det blir inga långa
cykelutmaningar eller något nytt försök på Kalmar Triathlon i år. Även
om jag verkligen gillade upplevelsen av att göra en mer seriös
satsning så har jag andra saker som jag vill göra, och det finns helt
enkelt inte tid. Det får bli motion för husbehov, och kanske en liten
urladdning på midnattsloppet i slutet av sommaren.

En av de saker jag vill göra är en uppryckning av Lagen.nu. Det är
roligare än på länge att koda, och den nya kodbasen börjar bli riktigt
bra. Jag har fått till ett bra testramverk där jag anger en indatatext
i stil med:

1 § Första paragrafen.

Första paragrafens andra stycke.

2 § Andra paragrafen.

för att sedan parsea den till en objektstruktur (byggd av subklassade
unicode-, list- och dict-objekt
) som sen serialiseras till ett
enkelt ”facit” i stil med:

<Forfattning>
  <Paragraf id="P1" ordinal="1">
    <Stycke id="P1S1">
      <unicode>Första paragrafen.</unicode>
    </Stycke><Stycke id="P1S2">
      <unicode>Första paragrafens andra stycke.</unicode>
    </Stycke>
  </Paragraf>
  <Paragraf id="P2" ordinal="2">
    <Stycke id="P2S1">
      <unicode>Andra paragrafen.</unicode>
    </Stycke>
  </Paragraf>
</Forfattning>

Jag hade sedan tidigare en variant
på den här test- och facitfilsbaserade regressionstestningen
, men
det nya ramverket testar på precis rätt ställe (objektstrukturen, inte
den slutgiltiga genererade utdatan — det ovanstående är alltså inte
det egentliga utdatat även om det kan se ut så) för att det ska vara
busenkelt att utveckla ny funktionalitet genom att först skriva
testfall.

Resten av eftermiddagen tänkte jag ägna åt att få igenom mina nya
testfall för tabelldata — ett lätt exempel är tabellen i 3 §
personuppgiftslagen
, ett lite svårare tabellen i Sekretesslagens 16:e
kapitel
. ”Table recognition” visar sig vara ett svårt problem som
det forskats
mycket på
. Vi får se hur långt jag når med de naiva algoritmer jag
kan komma på.

Och ikväll blir det hårdrock – Dillinger Escape
Plan
kommer till
stan
. Och precis nyss när jag kollade upp det där fick jag veta
att Poison the Well är förband – bonuslyx!