Numerical sorting in ruby

November 19th, 2008

Quick note on how to do numerical sorting in ruby.
When calling sort, ruby will perform a lexicographical sorting by default, meaning that the following array

1
2
a=["0","10","9","1"]
a.sort.each{|val| p val}

will output

"0"
"1"
"10"
"9"

If this is not what you want, this might be it:

1
a.sort{|x,y| x.to_i < => y.to_i}.each { |val| p val }

outputs:

"0"
"1"
"9"
"10"

Yay, blocks to the rescue:)

Vi sjekker kontact-blogging

November 11th, 2008

Kontact (KDE) har mulighet for å bruke wordpress som backend for journalnotater. Vi tester hva som er mulig…

CSS/Rails

September 15th, 2008

Notat til meg selv:
bruk

<%= stylesheet_link_tag "cssfil" %>

for å inkludere css, så slipper man trøblete proxy-servere som bare vil servere gamle versjoner.

Bare en liten tanke…

August 26th, 2008

Hvorfor i alle dager er ikke HomePlug-dingser også PoE-providere?

Tilbakereferanser og detaljspesifikasjoner

August 25th, 2008

Etter å ha lest en del detaljspesifikasjoner begynner jeg å få en idè om enkelte ting jeg skulle ønske jeg hadde tilgjengelig i programvaren som brukes til å skrive slike j…. dokumenter i.

  • Tilbakereferanser
    Èn ting er referanser til andre deler av dokumentet - jeg vil gjerne også ha linker til samtlige deler som refererer til en gitt passasje i dokumentet. Eksempel: Hvis 1.1.3.4 og 2.3.1.5 referer til 3.2.4.1 vil jeg at det skal være mulig å stå i 3.2.4.1 og kunne gå direkte til 1.1.3.4 og 2.3.1.5
  • Breadcrumbs
    Yup - det er blitt en vanlig del av webhverdagen vår, og det hadde vært greit om dokumentasjonsverktøy hadde muligheten til å vise en sti bakover i tid. Ikke minst når man hopper som en hyperaktiv frosk mellom 1.1.3.4, 2.3.1.5 og 3.2.4.1
  • Markering av mulige invaliderte seksjoner ved oppdatering av en gitt seksjon.
    Egentlig det samme som tilbakereferanser, eller en avart av sådanne. Jeg vil ha en liste over hvilke seksjoner (definert som de som refererer til gjeldende seksjon) som muligens må oppdateres etter at jeg har endret gjeldende seksjon.
  • Seksjonssammendrag
    En kort beskrivelse av hva seksjonen gjelder, slik at det er mulig å bruke denne som en “merkelapp” når man la musen over lenken til den refererte seksjonen.

Jeg vet, det høres ut som en wiki - og det er ikke langt ifra. Det er et litt utvidet wikikonsept, men det hadde gjort jobben mye enklere for dem som skriver og ikke minst leser spesifikasjoner.

…og bare så det er sagt: Word egner seg dårlig…

Egyptisk linsesuppe

August 25th, 2008

En mild suppe som  passer for alle. Dessverre litt lang tilberedingstid - regn med rundt en time.

  • Pitabrød
    Delt i pizzabiter
  • 450g Gule linser
  • 1 tomat
    Fjern frøene og hakk i småbiter
  • 1 gulrot
    Skrell og del i småbiter
  • 1 potet
    Skrell og del i småbiter
  • 2 ts salt
  • 1 ss olje
  • 1 løk
    Skrell og finhakk
  • 7 dl kyllingbuljong
  • 1 ts cummin
  • 1 ss persille

Man skyller linsene til de skyllevannet blir blankt, putter det i en passende gryte og fyller på såpass med vann at det står fem centimeter over linsene. Legg i gulrot, potet, tomat og salt. Kok opp og la småkoke i 30 minutter. Fjern skummet etterhvert.

Etter endt koketid siler man av kokevannet og tar vare på det. Lag pure av de kokte grønnsakene, og bruk nok av kokevannet til at det blir jevnt. Stek løken gyllenbrun i oljen og tilsett pure, buljong og krydder. Kok opp og la det småkoke til det tykner (rundt 10 minutter).

Stek pitabrødstykkene i en panne til de blir gylne. Pynt suppen med persille og server sammen med pitabrød.

Drink 0.1

August 12th, 2008
  • 1 cl Rom
  • 1 cl Gin
  • 1 cl Cointreau
  • 1 god dæsj sitronsaft
  • 1 dl tonic water

Helles over knust is, og til slutt legger man

  • 2 cl jordbærsirup

i bunnen av glasset og rører forsiktig, slik at man får en jevn overgang fra rødt til blankt.

Snadder:)

avahidè

August 11th, 2008

Vet ikke om dette allerede eksisterer, men jeg skriver det ned mens jeg husker det…

Det hadde vært fint om man kunne definert events som ble trigget av at man nå var i nærheten av spesifikke devices. For å gi en forklaring for bruksområde:

  • Gjør utskrifter til din private skriver fra laptopen din mens du er bortvekke, utskriftene starter så snart maskinen oppdager skriveren via avahi.
  • Gjør oppdateringer av ikiwiki på laptopen vha. git. Endringene pushes til hjemmeserveren så snart den blir oppdaget av avahi.
  • Unison/tsync filsynkronisering blir automatisk aktivert når to maskiner er i nærheten av hverandre.
  • ++

Finn duplikater i en tabell

June 16th, 2008

Denne er grei når man skal finne dupliserte verdier i en tabell:
SELECT felt,
COUNT(felt) AS duplikater
FROM tabell
GROUP BY felt
HAVING ( COUNT(felt) > 1 )

Tanker om et mrsmt prosjekt

March 22nd, 2008

Jeg har hatt lyst til å involvere meg bittelitt i kde4-utviklingen helt siden de røsket ut koden min. Siden mitt tidligere tilskudd til kde var noe såpass unyttig som hoppende ikoner må det være noe tilsvarende unødvendig denne gangen også. Det slo meg da jeg satt på unyttig eyecandy numero uno: snow. Yup, man kan ha snø dalende ned på skjermen sin i kde4. Det er nyttig, det. Problemet er at snøen oppfører seg som om den befinner seg i vacuum på en planet med langt svakere tyngdekraft enn jorden (les: den daler rett ned, uten noen som helst endring i hastighet). Dermed var det gjort - foreløpig planlegger jeg følgende:

  • hastighet må bestemmes av en retningsvektor
  • subpartisjonering av skjermen i NxN ruter inneholdende en vindretningsvektor
  • les av musposisjon ved jevne mellomrom og endre vindretning slik at man får inntrykk av at muspekeren lager “drag”
  • Det hadde vært skikkelig kult å imitert endringer i retningsvektor på grunnlag av luftmotstand i snøfnugget