Apache2, WordPress 3, OpenId och segfault

Pillade med Squeeds blog igår och det slutade med Segmentation fault. Det visar sig att OpenID-pluginen kikar efter om zend finns installerat och denna kik gör att Apache-processen segfaultar. Mycket intressant eftersom jag kör samma setup på min privata blog med exakt samma programvaror och hos samma hosting partner (GleSYS). Min instans är något större, men det borde inte spela någon roll.

Debugging och core dumps: peta in CoreDumpDirectory /tmp i configen, sedan

aptitude install php5-dbg
ulimit -c unlimited
/etc/init.d/apache2 restart

Och för att kolla på en stacktrace:

gdb /usr/sbin/apache2 -c /tmp/core.pid
set pagination 0
bt
bt full

Lyckades dock sätta upp en ny “ren” instans som fungerar utan problem. Antar att webbnissarna som installerat drupallite olyckligt ändrat något jag inte kan hitta.

Google OpenID

https://www.google.com/accounts/o8/id fungerade bra för registrering av konto. (Man behövde inte krångla med https://www.google.com/accounts/o8/site-xrds?hd=squeed.com som URL.) Efter att XRDS-Simple-pluginnen installerats funkade allt som väntat.

Nordstedts spanska fickordbok

Översättningarna är i regel av mycket hög kvalitet. Appen som sådan saknar lite funktionalitet, i min smak följande:

  1. Möjlighet att spara vissa ord under “mina favoriter” eller liknande. Det är inte ovanligt att man förbereder ett litet batteri med ord eller fraser som behövs för att t ex byta ut en trasig varmvattenberedare (calentador de agua). Att ha dessa tillgängliga i hettan skulle vara mycket användbart.
  2. En historik över senast valda ord hade också hjälp mycket. Upp till de 100 senast markerade orden hade varit kanon.
  3. Stöd för landskapsformat – det går snabbare att skriva in ord, och blir framför allt färre misstag, med ett “fullstort” tangentbord.
  4. Länk till gramatikhjälp från verb. När man slagit upp “veta” och får saber, så vill man direkt få se böjning av detta. Detta bör fungera för både vanliga regelbundet böjda verb samt vanligt förekomna oregelbundna verb.
  5. Tangentbordet försvinner när man kommer tillbaka från ett ord.

Ord som saknas

Faktura. Fanns som synonym under räkning, samt fakturera.

Sony Ericsson Arc

After about one week’s usage, these are the bug’s I’ve run into.

Issues

Stays in USB-to-PC mode

Somehow, my phone won’t get out of this mode. In the notification area, it still asks if I want to connect the memory card, even though I disconnected the phone several hours ago.

Battery drain

Sure, using wifi does consume battery but it’s still worse than on my N900 with a 1.5 yrs old battery.

Folder menu doesn’t collapse after app start

When an application is started from a folder in the bottom “container” of the home screen, then that folder is still open when returning from the app.

Findings

A hardware button to lock orientation

Lying in bed or in a sun chair, having that Ipad lock on the side was really useful. I’d go with an easily accessible software switch, but going into settings to turn it on/off is too far away for my liking.

Services not restarted when requested

I accidentally killed a few services too many (when looking for performance killers) and suddenly bluetooth obex transfers stopped working, as well as all searches (both web and speech searching with google.com just stopped working, the browser showed up but didn’t do anything).

Translation is poor

One example: When Google voice search is analyzing the recorded sound, the top label says “Working” in English, and “Fungerar” in Swedish (“it works”).

Gmail is a separate application from e-mail

Why, oh why? I’ve yet to see the amazingness of this.

No unified communication out of the box

Why, oh why? I’d like:

  1. one stream of directed messages (incoming and outgoing – basically all conversation, texts/SMS, email, jabber, twitter DM etc …)
  2. one stream of social messages (facebook, twitter, RSS feed etc)
  3. one unified view of my communication with a contact (conversation and social stream separated probably)

Performance decrease with usage …

Starting apps gets slower and slower and slower and slower. Without noticeable change in available memory.

Sitecom WL-357

Skaffade i Spanien en Sitecom Wireless Mobile Router 300N WL-357 för att dela på den internetaccess vi har via Orange. Det fungerar för närvarande inte på grund av att det USB-3G-modem som Orange skickade med (minst ett år “gammalt”) inte stöds av Sitecom-routern. Loggen säger:

day  1 00:00:32 [SYSTEM]: DHCP Server, Sending ACK of 192.168.0.100
day  1 00:00:18 [SYSTEM]: WAN, Unsupported USB device vid:0x12d1 pid:0x141b
day  1 00:00:06 [SYSTEM]: WAN, Detect USB device vid:0x12d1 pid:0x1446
day  1 00:00:06 [SYSTEM]: WAN, start Mobile 3G mode
day  1 00:00:06 [SYSTEM]: WAN, stop Mobile 3G mode

Modemet funkar dock fint med Ubuntu (man behöver bara installera paketen modeswitch och modeswitch-data) så det är inte fel på modem eller abonnemanget, ett “Orange Internet Everywhere (Prepago)”.

hemsidan för routern fanns dock räddning i form av ny firmware med nyare lista med USB vendor- och produkt-ID:n. Kerneln gick inte att tanka upp, men application-uppdateringen svalde den och det var tillräckligt för att komma igång. Loggen säger nu istället:

Jun 24 15:57:51 [SYSTEM]: NTP, Local time=2011/06/24 15:57
Jun 24 15:57:51 [SYSTEM]: NTP, Daylight saving status: Disable
Jun 24 15:57:51 [SYSTEM]: NTP, Time zone = +0.0 Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London
day  1 00:01:01 [SYSTEM]: UPnP, Start
day  1 00:01:01 [SYSTEM]: UPnP, Stopping
day  1 00:01:01 [SYSTEM]: NTP, start NTP Client
day  1 00:01:00 [SYSTEM]: DNS, start DNS Proxy
day  1 00:00:58 [SYSTEM]: NET, start Firewall
day  1 00:00:58 [SYSTEM]: NET, start NAT
day  1 00:00:58 [SYSTEM]: NET, stop Firewall
day  1 00:00:58 [SYSTEM]: NET, stop NAT
day  1 00:00:58 [SYSTEM]: WAN, IP changed, restart services
day  1 00:00:58 [SYSTEM]: WAN, New IP = 90.169.113.215
day  1 00:00:56 [SYSTEM]: PPP, CHAP Authentication Succeeded
day  1 00:00:42 [SYSTEM]: WAN, Mobile 3G, SIM Card is ready
day  1 00:00:27 [SYSTEM]: WAN, Identify USB device 'Huawei E1552'
day  1 00:00:27 [SYSTEM]: WAN, USB device caps (0x0)
day  1 00:00:06 [SYSTEM]: WAN, Detect USB device vid:0x12d1 pid:0x1446

Bitcoin mining

Testar lite på chans att gräva efter guld. Jag skaffade ett AMD Radeon HD 6XXX från inet.se, drog in Ubuntu server 10.10 64-bit och installerade xserver-xorg-core, och följde i övrigt

Uppdatering

Det tog lite tid att komma igång, och att hitta en mining pool som ger OK utdelning för erlagd insats. En lokal ordentlig spik i valutakursen mot dollarn kom när Silk Lane sålde knark mot “ospårbara” bitcoins. Inom loppet av fyra dagar gick kursen från ca 6 dollar till uppåt 35! Jag ändrade munin-graferna under tiden så man ser inte den branta uppgången i bilden nedan, men kursen dök (efter att senatorer drog in lite tjänster och fick Silk Lane nedstängt) så ser det ut att stiga igen. Under nästa vecka skall jag gräva för deepbit.net igen mot fast ersättning och se om det ger bättre utdelning än BTCGuild.

Det är för övrigt galet enkelt att skapa Munin-grafer. Python äter upp dåligt formaterad JSON som Yaml (Google currency har inte ” på objektattribut).

Valutakursen BTC-USD från MtGox
Valutakursen BTC-USD från MtGox
Intjänad bitcoins from BTC Guild
Intjänad bitcoins from BTC Guild
Plånbokens värde i SEK
Plånbokens värde i SEK

JavaForum 2011Q2

Igår var det JavaForum 2011Q2 som denna gång hölls på Ullevi Konferenscenter – en lokal jag tyckte funkade mycket bra. Jag hade anmält mig som talare på ämnet Clean Code med förhoppning om att få till lite diskussion – det är ändå inget jättenytt eller kontroversiellt ämne.

Jag hade 30 minuter och använde 21 av dem till att agitera med presentationen nedan. Övriga 9 minuter höll jag tyst bäst jag kunde för att få lite diskussion och det gick – det var olika deltagare som ställde frågor och svarade. Ett par småskratt och målet med kvällen nåddes.

Kanske kommer någon in och betygar min prestation på Speakerrate?

Finns också som PDF.

Böcker om Scrum mm

Jag brukar ta med mig ett par böcker när jag håller workshops eller predikar om ett ämne jag håller nära hjärtat. Eftersom det ofta är svårt att hinna svara alla frågor eller gå på djupet på alla ämnen så brukar det uppskattas att jag lämnar referenser till böcker (eller bloggar) där man kan gräva sig djupare. Efter fredagens “Agile Injection” fick jag frågan om att skicka över listan med böcker jag hade med mig då. Här är den. :)

Följande utmärkta böcker rekomenderas varmt

Agile Project Managemeng with Scrum, Ken Schwaber
9780735619937
Appendix A är Scrum i ett nötskal (~10 sidor). “A book of case studies about Scrum”. Som Knibergs bok, fast mer polerad och mindre detaljrik.

Scrum and XP from the Trenches, Henrik Kniberg
9781430322641
125 sidor med erfarenheter: how we do testing, how we do sprint backlog, how we arrange the team room, how we do daily scrums, … Man bör kunna grunderna (helst prövat på) för att fullt uppskatta boken.

Clean Code, Robert C. Martin
9780132350884
Utmärkt genomgång av hur man renskriver kod, och varför. Ögonöppnare för många.

Working Effectively with Legacy Code, Michael C. Feathers
9780131177055
Utmärkt bok om “refactoring” – hur skall man attackera legacy code (dvs kod som inte täcks av automattest).

Mycket bra är också

The Pragmatic Programmer, Andrew Hunt, David Thomas
9780201616224
Insiktsfullt om kärnan av systemutveckling – hur jobbar en “bra” utvecklare (eller hur blir man).

Följande böcker har inte samma nivå, men är fortfarande bra.

Extreme Programming Explained, Second Ed, Kent Beck, Cynthia Andres
0321278658
Kent Beck försöker förklara Extreme Programming. Lyckas sådär.

Test-Driven Development, Kent Beck
9780321146533
Kent Beck visar upp TDD i praktiken med riktig kod i tre kapitel. En bra praktisk genomgång.

Andra har uppskattat

User Stories Applied, Mike Cohn
Agile Estimating and Planning, Mike Cohn
Agile Software Development with Scrum, Schwaber, Beedle

och lite utanför ämnet

The Mythical Man-Month, Frederick P. Brooks, JR
9780201835953
Insikter kring mjukvaruutvecklingen från 1975, med uppdatering tjugo år senare. Intressant om man tycker utveckling av systemutveckling över tiden är intressant.

Key Signing Party

Efter att ha deltagit vid nyckelsigneringsfesten på FOSDEM 2010 så behövde jag se hur man hanterar mass-signingering. Ubuntu erbjuder ett paket som heter signing-party, där programmet caff ingår. Med caff signeras en nyckel och den skickas sedan krypterat till mottagarens adress. På så sätt kan man implicit verifiera e-postadressen. Fungerar fint och integrerar bra med gpg. Det är inte helt optimalt dock – det kräver lite input för varje UID (identitet i nyckeln) som man vill signera. Förklaringen till det är att man skall kunna välja att bara signera delar av en “hel” nyckel, vilket kan vara fullt rimligt.

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.