DisplayPort och HDMI

Besökte familjen i helgen och fick då ta med lite distraktionsmaterial (film som fångar dotterns uppmärksamhet = “friare” tid för föräldrar).

Jag bytte nyss laptop och den Lenovo ThinkPad T410 jag nu släpar runt på har en DisplayPort-utgång som ännu inte prövats. Det finns en hel del förvirring kring DisplayPort och vad den kan göra. Efter att ha läst produktbeskrivningar för adaptrar (DisplayPort till HDMI), forum-inlägg och blogginlägg så visade det sig till slut att:

  • DisplayPort är en bra ersättare för HDMI (lättare att bygga in i chipset)
  • DisplayPort är inte belagt med licensavgifter – HDMI är belagt med licensavgifter
  • DisplayPort klarar upp till X antal ljudkanaler i Y bitars upplösning med Z hz – det finns gott om plats att föra ut ljud
  • Lenovo hade problem med att få till ljud ut på DisplayPort under 2009 och 2010 – min kom December 2010 och borde därmed vara OK
  • Ubuntu (10.04 iaf) har bättre stöd för detta än vissa versioner av Windows
  • Killen i disken på Teknikmagasinet “inte trodde” att  DisplayPort inte stödjer ljud – “du får vara min testkille då”

Jag skaffade en sladd med inbyggd konverterare på Teknikmagasinet (lös adapter + sladd var önskemålet, men adaptern kunde inte hittas i butiken i Skövde), funkade kanon.

Crystone Renewal Disorder

Loopia har en bugg som gör att kund B inte kan registrera en domän som kund A tidigare registrerat via just Loopia. På grund av detta vände jag mig till Crystone för drygt två år sedan. Deras tjänster är dock överprisade och krångliga att hantera (tycker jag) och jag sade därför upp kontot så fort jag flyttat över domänen till annan part.

I veckan kom så ett mail från Crystone med rubriken “Renewal Order 058XXX” om noll kronor. Det kan man kanske tycka är ok – det kanske är viktigt för Crystone att visa att de har kvar mig i sitt register, men att jag inte har några tjänster och därmed inga kostnader att betala för dessa tjänster nu när jag (tydligen) valt att förnya tjänsterna automatiskt.

Så, jag tänkte be Crystone plocka bort mig ur sina register. Dessvärre är denna renewal order skickad från no-reply@crystone.se och länken i mailet till support (www.crystone.se/support) fungerar inte (404). Skönt att de iaf avslutar mailet som man inte kan svara på med: “Skicka aldrig kreditkortsinformation eller lösenord till oss via e-post.”

VNC-studsare

Jag hade för fem år sedan en egenskriven blogg. Sedan åt jag upp databasen. På den fanns iaf instruktioner för hur man lätt kunde sätta upp VNC på windows så att man kan hjälpa en människa i nöd.

Eftersom både jag och t ex min far befinner oss bakom en NAT/router så är det inte helt rättframt. För att lösa detta satte jag upp en VNC-studsare – en bit Java som knöt ihop två TCP-koppel. Idag skulle vi behövt detta. Eftersom jag inte hittade det så skrev jag ihop det på nytt.

De övergripande instruktionerna är att servern (den som behöver hjälp) ansluter med “reverse” (x11vnc -connect host:port) och klient (den som ger hjälp) till samma port på studsservern.

Mer detaljerade Windows-instruktioner får vänta tills nästa gång.

Studsserver

Kör VncBouncern. Den skriver ut porten som används.

Linux

Lite kommandon:

x11vnc -connect localhost:`netstat -lnp | grep java |tr ':' ' ' | tr -s ' ' | cut -d ' ' -f 4`
vncviewer 192.168.1.157:`netstat -lnp | grep java |tr ':' ' ' | tr -s ' ' | cut -d ' ' -f 4`-encodings "copyrect hextile corre rre"

Bakgrunden till -encodings är att när man ansluter till sin egen maskin för att testa så säger vncviewern “Same machine: preferring raw encoding”, och det går apslött.

Om Milltime

Milltime Professional är ett trevligt verktyg och detta ville jag framför. Längst ned på skaparens hemsidan fanns också en länk för “Feedback” – kanon. Dessvärre var den rutan begränsad till 500 tecken. Så här är min riktiga feedback, oavkortad.

Hej.

Jag har precis använt Milltime Professional för första gången och tycker rent allmänt att det är ett kanonverktyg att använda för en utekonsult – tack vare veckovyn. I övrigt är det väldigt klickbaserat vilket inte är lika kul när man jobbar på många projekt samtidigt. Veckovyn är verkligen kanon i detta sammanhang.

Det enda jag saknar är smidig inloggning. Jag hade gärna sett att man kunnat registrera ett OpenID för sitt konto och på det sättet fått bra integration med andra lösningar, t ex Google, Plaxo, WordPress, Yahoo, AOL – ja, listan är lång och företag som stödjer detta är bland andra Microsoft, Sun, VeriSign och Paypal.

http://en.wikipedia.org/wiki/OpenID

Det finns färdiga bibliotek för alla tänkbara plattformar och det enda som påverkas är autentiseringen i er produkt. Jag hoppas ni ser ett värde i att kunna återanvända den autentiseringsmekanism som era kunder redan använder (t ex alla som använder Googles tjänster).

Vänligen,

Fredrik Wendt

Ämnen för Java-TDD

Tittar på att gå ett steg längre med TDD-workshops och lämna de grundläggande ämnena. Följande har efterfrågats:

  • testning med/av legacy code
  • vad är bra respektive dåliga test
  • funktionell eller acceptansdriven testning (ATDD)
  • beteende driven utveckling (BDD)

Egna saker jag själv skulle vilja gräva lite mer i och ägna ett par timmar åt:

  • hamcrest (matchers)
  • dotmesh (methods)
  • making EasyMock suck less
  • making Mockito suck
  • easyB
  • Fitnesse

I allmänhet så saknar jag en diskussion om hur lättredigerade test (wiki?) versionshanteras ihop med koden de testar eller är skrivna mot. Detta är ju högst intressant när man går in och gör en hot-fix för en produkt som rört sig mycket under ett år, och en kund som har produkten i drift sedan ett drygt år tillbaka vill sin fix. Hur kör man samma testsvit som man hade för ett år sedan på ett enkelt sätt? Hur är egentligen inte svårt. Jag har bara inte sett många bra lösningar, ännu. TextTest, xUseCase och liknande plain text-ramverk är en bra lösning. Frågan är bara om testen är tillräckligt tillgängliga för ATDD – hur får man kunden att känna att det är hans/hennes test?

Get Trac back on Track

Trac is great – it just works for so much straight right out of the box. It’s not perfect though. And the fixes I need I’ll assemble here.

jQuery.js

It’s just not ever there. :)

sudo vim /usr/share/pyshared/trac/web/chrome.py
        #add_script(fakereq, 'common/js/jquery.js')
        add_script(fakereq, 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js');

and in add_script, add hack for filenames starting with http:

    if filename.startswith('http'):
        script = {'href': filename, 'type': mimetype}
        req.chrome.setdefault('scripts', []).append(script)
        scriptset.add(filename)
        return

Automate updating of trac wiki pages

There’s an XmlRpcPlugin that I’ve used successfully. I just love Python and XMLRPC.

easy_install -Z -U ....xmlrpc

Proper notification to wiki page changes

I’m currently using the rss2email application for proper notification of wiki updates. :(

Eclipse och Subversion-Howto

Övergripande steg

  1. Skapa ett Java-projekt och lös uppgiften (eller iaf delvis).
  2. Checka ut det som redan finns skapat åt dig på http://prov.wendt.se/svn//trunk (jag har gjort branches, tags och trunk) och spara det som ett nytt projekt.
  3. Konvertera det nya utcheckade projektet till ett Java-projekt, lägg till test-katalog och JUnit 4.
  4. Kopiera över de filer du skapat från steg 1. Kontrollera att det fungerar som tidigare.
  5. Checka in.
  6. (Ta bort ditt gamla projekt om du vill.)

Egentligen är det bara steg 3 som är trixigt.

Det finns två menyval som inte syns (nästa gång skall jag spela in med mindre skärmstorlek så allt syns), och det är

  • i steg 3. Högerklickar på projektet och väljer Properties längst ned.
  • i steg 5. Mappen .settings och filerna .project och .classpath tycker jag inte skall checkas in, och väljer därför Team » Add to svn:ignore

[flashvideo file=http://wendt.se/misc/kyh-moo-svn-howto.flv width=460 height=298 /]
Filmen kan tankas hem som ogg också – mycket bättre kvalitet (ca 8 MB, flashfilmen är på 11!).