Thursday, December 23, 2010

Monday, December 06, 2010

Friday, November 26, 2010

Thursday, October 21, 2010 dynamic dns updater client

I've written a small app which updates the dynamic dns service at with your latest real IP.
check it out here:

Monday, October 11, 2010

Socialdemokratisk avbildning

Olof Palme staty i Folkets Park, Malmö

Snyggt, kolla tiggaren. Speglar den socialdemokratiska skattepolitiken finfint, stå med handen utsträckt till svenska folket och ta deras pengar. ..
Published with Blogger-droid v1.6.1

Friday, September 24, 2010

Evening ardelenesc

Dumnezeiesc de bun.. Ciabatta, jumåri sirbesti, ceapå suedezå si votcå americanå. Fuck, yea!
Published with Blogger-droid v1.5.9

Monday, August 30, 2010

Good quality code vs value for customer

In our programmers discussion forum, the following discussion emerged: one party argues that value for customer really means "quick and dirty" solutions. Code that works, and is fast to write. The customer never knows the difference, and is happy that the job was done fast. The other party argues that so called "good quality code" written "by the book", following good design principles, such as using interfaces, patterns, well written comments, and naming standards, might not take much longer to implement, but will be cheaper to maintain, and be of better use to the customer.

Proffessionally, I've seen a couple of combinations:
* Uninterested customer & technical leadership, some interested developers. This implicitly means quick and dirty
* Uniterested developers. This means that everything will be barely usable, regardless of interest from customer, or technical leadership.
* Technical leadership that is into name dropping, or buzzword bingo. Here, if you (the developer) are interested, you could actually do some good. You can write good quality code, because the technical leader doesn't understand what you're doing, and when you're done, you explain nicely in a short email how well the code is written, which principles you have used, and your technical leader will be happy to use that in his report to the customer. Job well done, everyone is happy.
* Interested customer, less interested technical leadership, or lack of development skill. This usually ends bad.

The analogy with good quality code vs bad quality code: it's like good or bad engineering in cars. First, when the car is new and shiny, a Renault Clio is very nice. Smells new, spins like a cat, and life is good. After a couple of months, things start to happen. A rubber sealing falls off. A plastic knob cracks. "It was cheap, I can live with that" , you say. Then, the headlight goes out. No worries, I'll stop by the gas station, and buy a lamp. You buy the lamp, and start fiddling, but you can't really reach inside to pull out the bulb, because there's no clearance between the battery and the headlight. So you have to take it to the mechanic, who will HAVE TO lift it up, UNSCREW THE WHOLE WHEEL ARCH PANEL (!!! this is actually true) in order to get to the headlight. This will cost you an hour, and probably around 150€ or so. And this every time a headlight goes out, so to be on the safe side, you have to replace all three lamps at the same time.
Combine this with some notoriously bad french car electronics, and you have lamps going off pretty often.

Now compare this with a slightly more expensive Volkswagen. On the VW, you could change the bulb in about 5 minutes. Yes, you've payed 3-4.000€ more. Will that money be a waste? How many times can you change bulbs on a Clio for 3000€ ? Say 300€ a year, because the bulbs could burn out on both sides in one year, as on my old Mitsubishi Galant. So 300€ a year, times 10 years. In ten years, you've saved 3000€ on bulb changes only. What about the other bits and pieces that work right now, but on a 10 year old Renault, they need to be changed? What about the rust on 10 year old french tin can ?

How much does that 3-4.000€ extra mean when you start thinking like that ?
Why do people understand the logic when it comes to their own car, but not software ?

I've yet to see interest in good quality code from all parties. It must be as in all other businesses, most of the people are mediocre, and just want to go to work, worry as little as possible, make sure they don't have to answer any difficult questions so noone notices how stupid they really are, and hurry home to collect their paycheck.

Please take your time and comment on the above

Project description

"Mitt HP SM projekt är som en Rubiks kub med några extra dimensioner. Och med färger som inte riktigt passar ihop."

Eng: "My HP SM project is like a Rubik's cube with a few extra dimensions. And with colors that do not quite fit together"

Boy, I don't envy him ..

Thursday, August 19, 2010

KTM wishlist

I just tried the KTM 990 SMT, and as I am positively impressed, I am equally amazed how stupid KTMs can be designed and built.
The chassis is fantastic, it's quick, light steering, stable, powerful, and wheelie prone. Unfortunately there are some build and design issues:
The mirrors will probably fall off before your test drive is over. Why ? The mirrors on my Yamaha have never vibrated off. Are the Japanese smarter, or do they just give a shit?
The brake pedal is model 80's, like it's made in a shool workshop, kindof like it's bent from one piece of tin can, with a serrated edge. I know that KTM says they're about "Ready to Race" and such, but they should be equally about quality, since people are used to buying the Japanese passive quality, where everything stuck together stays that way, and engines never break down.

Another stupid thing is the instrument console, it's unreadable, and doesn't have a fuel meter. Why ? Why is that so hard ?

Until my here wishlist is complete, I'll stick to Yamahas:
- Fuel meter
- mirrors that don't vibrate off
- readable instruments
- better quality rearsets
- Better fuel economy

Saturday, July 31, 2010

Monday, July 19, 2010

Thursday, April 22, 2010

GlassFish v3 NetBeans 6.8 start error

Error while starting glassfish v3 in netbeans Address family not supported by protocol family: bind:

If you're using GNU/Linux, simply edit /etc/sysctl.d/bindv6only.conf and change 'net.ipv6.bindv6only = 1' to 'net.ipv6.bindv6only = 0'

Run "invoke-rc.d procps restart" to enforce changes

Thanks to magikfingerz for the solution

Wednesday, April 21, 2010

LG Plasma TV Red Snow

If you have a TV that does something similar to this image, you might be able to fix it yourself with just a screwdriver. This is sometimes just red, sometimes just green, and other times mixed like in the picture. My tv was covered in red pixels up to 80% of the screen. It started out as just some red dots in the most dark areas, but it increased up to the point when I decided to either fix it, or kill it, so I can get Wife Acceptancy for a LED TV. Well, it so happens that I fixed it without knowing what I was doing, but using my brain.

What you need first is to get the following gear before you start unscrewing anything:
  1. a flat screwdriver with a 2-3mm head, preferably isolated handle, you can isolate it yourself with some plastic or rubber
  2. a rubber dish washing glove so you don't kill yourself if the screwdriver makes contact with anything electrified
  3. a clear dinner table
  4. a stack of books
  5. a mirror sized so you can slide it under the TV
  6. a DVD-player running a movie, connected to the tv on the AV1 channel
  7. an electric screwdriver, there are a lot of screws
  8. fine point permanent marker
Then you remove the back panel, by removing all the screws except those under the connectors in my case, that panel is separate. In my case you need to remove the "legs" to remove a couple of the screws. Get some books, put them on the dinner table in 4 equal stacks, and put the TV with the glass down on the books. Slide the mirror half way under the tv. Get the back panel off, and it should look like this:
You will be working in the areas marked 1 and 2. Locate anything you can screw on, with a Philips adjustment head. Sometimes orange, mine were grey. You're trying to locate one called VSCAN, that should be marked on the circuit board, just besides the adjustment head. Mine was of course called Vs, so I assumed (correctly) that I had found it. Mark the adjustment head position with a fine point permanent marker so you can go back to the exact original setting.

Put the screwdriver in the adjustment head, start the TV in HDMI mode and start looking in the mirror to see if the adjustments make any difference. Turn first left, and if left gives more bad dots, turn in the other direction. You should get less of the red dots in the left direction. I turned mine to maximum counter clockwise.
The adjustment head just besides the marked area is some 5-volt adjustment which on my TV does nothing, but if I turn it too much, the TV shuts down, probably as a failsafe against too high voltage.

If you try and adjust this, and the TV shuts down, Don't panic, just disconnect the TV from the outlet, and wait a minute. Also turn the
adjustment head back to the original position.
Move on to the next circuit board, where you find more adjustments. Mine shows SETUP, SETDN, and a third unmarked. I tried all of them, and all of them correct the red pixel phenomenon to some extent. The SETUP and SETDN are on my TV now one turned to the limit clockwise, and the other one counter clockwise, since those settings gave the best picture. The last unmarked adjustment head did get rid of the last of the red pixels. There was a last grey adjustment head which I didn't tamper with since I was happy with the results. Try these settings on the AV1 channel with a DVD running, so you don't adjust only for HDMI. Shut down the tv for a couple of minutes, start up, and check both channels again, to make any last adjustments.

Shut down everything, and put it back together.
Good luck!

Thursday, February 04, 2010

Itinerary 2010

Trelleborg - Travemunde / Ferry T/R 150€
Travemunde - Hamburg / A1, 83 km
Hamburg-Altona - Bolzano / Autozug T/R ca 370€
Bolzano - Stelvio / 87,5 km
Stelvio - Davos / 104 km
Davos - Lausanne / 360 km
Lausanne - Freiburg ?
Freiburg - Wurzburg/Bolzano?