Kategori: EDB

Groovy slurping of yr.no

It’s about time for a new geek post!

I’ve been playing around a bit with Groovy lately, and it’s really neat, especially for processing XML stuff. It has a bunch of ways of reading it, from the more normal Java-like ways of DomBuilder to the Groovy way of XmlSlurper. And then it has it’s really cool builder syntax for constructing XML, or pretty much whatever else you can represent as a tree (Swing GUIs, JSON and so on).

Now I’d like to combine some slurping and building to show some custom formatted weather data for the city of Oslo, consumed from the Norwegian online weather portal yr.no‘s API!

  1. def weather = new XmlSlurper().parse(yrUrl + "/varsel.xml")
  2. new MarkupBuilder(writer).div {
  3.     h2("Vær for " + weather.location.name)
  4.     p {
  5.         def w = weather.forecast.tabular.time[0]
  6.             String.format("%02d", w.symbol.@number.toInteger()) +
  7.             (w.symbol.@number.toInteger()<9 && w.@period == "0"?"n":"") + ".png")
  8.         span("class":w.temperature.@value.toInteger()<0?"minus":"plus" + " temperature",
  9.             w.temperature.@value.text() + "°")
  10.         br()
  11.         span("class":"wind", w.windSpeed.@name.text() + ", " +
  12.             w.windSpeed.@mps.text() + " m/s fra " + w.windDirection.@name.text())
  13.     }
  14.     p("class":"nag", "Varsel fra ") {
  15.         a("href":yrUrl,"yr.no")
  16.     }
  17. }
  18.  
  19. println writer.toString()

That’s it. About 20 lines for reading and parsing a URL and building a HTML fragment, now let’s see you do that with plain Java and the DomBuilder… 😉

There is some added ugliness in there that probably deserves an explanation. For one, since I wanted to display temperatures below/above zero with a custom CSS class I’m checking the value of the temperature. Secondly, I wanted to use the weather images directly off NRK’s server. Symbols 1-9 starts with a leading zero and symbol 1-8 are different during nighttime..

Reklamer

Sneglepost, nei takk!

Når kan vi endelig si takk og farvel til snegleposten?

Abandoned MailboxStop the snailmail (plz)!

Jeg har en slik «postkasse»-sak (ikke helt ulik den på bildet), men den står i den andre oppgangen så det er sjeldent jeg gidder å gå for å tømme den. Men en gang innimellom må jeg jo det, og verifisere at det ikke er kommet noe viktig post (det har det selvfølgelig aldri). Jeg har ikke satt opp klistremerke med «Nei takk til reklame», så det fylles opp rimelig kjapt, og enda kjappere nå når det nærmer seg jul. Det var ganske tydelig å se på den bugnende kassa med blanke julemagasiner nå… Jeg lurer på hva som skjer om jeg ikke gidder å tømme og det ikke blir plass til vanlige brev? Vil brevet gå i tur med melding om «full postkasse»?

Ærlig talt, det er på høy tid at vi blir kvitt denne eldgamle og svært utrendy kommunikasjonsmetoden. I disse tider har vi efaktura til regninger, altinn til selvangivelsen og epost til alt annet. Utmerkede alternativer til den gamle snegleposten. Jeg regner med at de fleste som bestiller pakker på nettet allerede får en SMS eller epost når pakken er på postkontoret, muligheten er der ihvertfall. Så hva er det da man trenger den tradisjonelle postkassa til nå? Gårsdagens nyheter trykt på et stykke dødt tre? Er det en regel som sier at man må ha det, eller kan jeg bare ta vekk navnet mitt fra den og slippe å gå å tømme den med jevne mellomrom? Jeg bare lurer…

Kommentar til en kommentar

Snoket litt igjennom kommentarer til moderasjoner og blant spamen som ikke akismet allerede hadde tatt kom jeg over denne godbiten som en kommentar til min legendariske post om mitt «Hellige våpen«:

Hi!

I want to extend my SQL knowledge.
I red that many SQL books and want to
get more about SQL for my work as db2 database manager.

What can you recommend?

Thanks,
Werutz

Wtf? Det er jo ingen linker i posten så jeg antar det ikke er spam, men hvorfor i all verden fyren spør meg om en anbefaling av en SQL-bok i en post om en pastasleiv har jeg litt problemer med å forstå. For all del, det er jo hyggelig at han spør (på sin egen variant av engelsk), men jeg syns det er litt merkelig. Har han postet til feil adresse? Eller er han bare full? Hmm.

USB-votter

I forbindelse med at vi byttet lokaler på jobb og flyttet inn i Aspiros lokaler på Egeertorget fikk vi også installert nytt AC-anlegg. Med unntak av et par bagateller (som at det ramler store isklumper fra det) har det fungert ypperlig og holdt varmen unna i sommer. Problemet er imidlertid at det tilsynelatende fortsatt virker litt for bra (etter min mening) og jeg (og bare jeg..) har sytet litt over kalde hender på jobb i det siste.
Heldigvis har vi et utmerket verneombud som tok ansvar i den vanskelige situasjonen og overrakte meg disse på torsdag:
Les mer «USB-votter»

Amazon.com

Nå er det en liten evighet siden jeg har handlet noe fra Amazon.com og da har det jo selvfølgelig hopet seg opp på ønskelisten min der. Idag fant jeg ut at det var på tide å ta unna litt og da endte jeg opp med å bestille dette:

Mindcandy 1 har jeg rotet bort og den og #2 er jo obligatorisk inventar for tidligere aktive demoscenere. Anbefales forøvrig også til alle som er interessert i en enkel og kort introduksjon til demoscene-fenomenet! 😉 Ellers gleder jeg meg også til å få lest litt mer av Nietzsche, litt ymse romaner og «Beautiful Code» som jeg har hørt mye bra om. Forhåpentligvis kommer jeg også i gang med lesingen til SCJP-eksamen i høst! 🙂

Google Chrome

Google lanserte plutselig sin nye webkit-baserte nettleser idag, etter å først ha annonsert den i går. Jeg skriver selvsagt denne posten i Chrome og den virker veldig lovende foreløpig (etter 15 minutters bruk). Den virker kjapp, både på siderendring og spesielt på javascript. GUIet er litt uvant og jeg vet ikke helt om jeg liker det. Minneforbruket ser også ut til å være relativt lavt. En finurlig oversikt får du ved å klikke på det blå, velg «Task manager» og deretter «Stats for nerds». Legg spesielt merke til at den legger inn en sammenligning med Firefox dersom du har den også oppe! Fiffig! 😉

Chrome

Les mer om Chrome.

Nokia Sportstracker

Jeg har bedrevet endel jogging siden i vår, og jogger nå ymse runder i Oslo by og omegn 3-4 ganger i uka. Jeg har tidligere skrevet om pedometer-applikasjoner (kart hvor du kan plotte inn ruter og få vite distansen), og idet jeg skulle finne frem den posten idag slo det meg at siden jeg nå har en telefon med GPS (en Nokia N78), burde det være mulig å gjøre dette på en bedre måte.

Les mer «Nokia Sportstracker»

Blogg flyttet!

Herved er det offisielt. Denne bloggen har emigrert fra sin server i USA og hjem til Norge!

Nærmere bestemt til min gamle laptop i stua. Ihvertfall inntil videre. Bra for meg siden det vil gå ultrakjapt å lese og oppdatere min egen blogg og kanskje bra for dere, avhengig av torrentintensitet og andre variable faktorer. 😉