Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

I’ve again gotten quite backlogged with publishing photos from various adventures. Today I fortunately had time to push tree sets on Flickr : Midgard developer meeting in Komorniki, Poland GUADEC 2006 in Vilanova i Geltru, Catalonia Death Monkey 2006 rally from Helsinki to Gibraltar Enjoy!

Update: Rewrote several sections “Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it.” - Alan Perlis This article contains some things I have learned that has made me into a better developer than I was before I learned them. There are nine tips. These are not necessarily the only, or the best things I have learned, but I like the number nine. Becoming a better developer is a complex path.

Updated for republication in Mr Bool In my experience, the most serious bugs in programs in production are in error handling routines. Inventive programmers often try fancy things when dealing with errors, but error situations are often omitted during testing. This article examines the fundamental questions of exceptions: What causes exceptions, and what can be done with them? Bad User, Bad Server, or Bad Programmer Practices of an Agile De..

What happens when a customer asks for a simple new bit of functionality? Do you have to execute changes on four different systems, test each in isolation and in combination, involve a separate testing, infrastructure and operations team? If so, your architecture is probably not service oriented. In this post, I will examine the real meaning of coupling, and how it relates to SOA. I will, like others taking about SOA, try to define what I me..

After I switched from Movable Type to Wordpress as my blogging software, the comment spam problem has returned from the grave. So I’ve looked for good solutions for WordPress: I ended on a verbal CAPTCHA with a math question (which may also keep stupid commenters out - not that I have any of those, of course). I am considering some of the “fight-back” solutions out there too: Maybe returning a really big response really slowly when spam is ..

What is the next letter in this sequence: A E I. And this sequence: A B G D? How about this one: B C D G J? A boy and his mother are in a horrible car accident. They are rushed to the hospital, but on the way, the mother dies. When they arrive at the hospital, the nurse exclaims: “But that is my son!”. How can that be? You’re in the basement of a house.

My article series on Lazy Loading will be published on java.net tomorrow. In relationship to the publication, I am taking down the original articles from my blog. Please go to Java.net for to read about lazy loading. Update: The article was just posted last Tuesday. I have updated the links in this post.

Myopia: the inability to see distant objects as clearly as near objects. PreferredConsumer.com What makes a good statement? In my experience, a good statement is one that people will disagree with frequently. One of the internal quality auditors at my company has an excellent plaque in her office: “If you and I agreed all the time, one of us would be superfluous”. So, in the spirit of disharmony: Agile development is all about being myopic,..

We just got back from vacation this week! No computers, no telephones, no IM, no text messages, no stress (just the occasional deer, moose or bear). Several years ago, I didn’t take any vacation at all during the year and promptly vowed never to do that again. In just one week of vacation, you can reduce all of the stress that you worked so hard to build up all year long. Remember that Canadian companies are famous worldwide for overworki..

We just got back from vacation this week! No computers, no telephones, no IM, no text messages, no stress (just the occasional deer, moose or bear). Several years ago, I didn’t take any vacation at all during the year and promptly vowed never to do that again. In just one week of vacation, you can reduce all of the stress that you worked so hard to build up all year long. Remember that Canadian companies are famous worldwide for overworki..



When I see people after they have read about SOA or attended a conference with SOA, there are a few ideas that seem to pop up repeatedly. I have even been guilty of using these ideas myself. These ideas were proven to be bad before SOA came around, and (some) SOA evangelists seem to think that SOA solved these problems. It did not. It just refused to learn from history. Some of these ideas work under some circumstances, but recent SOA-itis ..


Barcelona I just returned from The ServerSide JavaSymposium Europe. Great conference, with interesting tracks and good opportunities to get to know people. The conference was in Barcelona, which was interesting, because hardly anyone (taxi drivers and waiters included) understand English here. It’s the first time where I’ve been a place where I am totally unable to communicate verbally with people around me. So it as a bit of an adventure. ..

Roger Sessions has just published “A Better Path to Enterprise Architectures”. His main point is that large, centralized, big-bang enterprise architecture efforts fail. I could not agree more. Sessions gives some good arguments for why you would want to deliver incrementally. He calls this approach SOA. This is a fairly common way of defining SOA - basically SOA is another name for incremental deliveries. If this is SOA, I don’t hate SOA at..

Vendor's Law - jhannes.github.io - 19 years ago - eng
Blessed synchronizity: From Jason Yip’s blog: Vendor’s Law: Organise people into roles corresponding to the tools that you want to sell to them. And today’s Dilbert:

SOA evolution - jhannes.github.io - 19 years ago - eng
In my previous post, I talked about how I feel SOA encourages rigid design. Of course, in some situations, you may not really have a choice. When creating Business-to-Business (B2B) integration, interfaces will naturally be much more rigid. There is no way around it, SOA or SOA-not. Ian Robinson recently published an article on Martin Fowler’s webpage titled Consumer-Driven Contracts: A Service Evolution Pattern. The article gives some very..

On JavaZone 2005, I talked about “Why I hate SOA”. I found it hard then, and I’ve still found it hard for a while to express this sentiment concisely. I think I’ve finally got it! One of the most common inefficiencies I discover in organizations is poorly designed boundaries. I find that people suffer when a boundary is too ridig, not when it is too loosely defined. Contractual interfaces create a “mine versus yours” mentality, where every ..

Suomenlinna island fortress Kerttu had her entry exams to the Biological faculty of University of Helsinki yesterday, and therefore she is now free to enjoy the summer. To mark that, we decided to go flying a bit around Espoo and Porvoo. The runway 27 was in use so we took the plane out through Nokka and returned later through Deger. The wind was a bit bumpy, but otherwise it was nice to fly again after the long winter bre..


Fortune Teller - mbutler.org - 20 years ago - eng
A flash application based on Joan Bunning’s Learn Tarot online course. Uses the public domain Rider-Waite deck and the Celtic cross spread. Flash is no longer supported in browsers, but the swf file is available here and can mostly be run using Ruffle. Run it here using Ruffle – don’t forget to right-click and enter […]

UPDATE: This is was my first every blog post. We'd just released "uboot BJ", introducing blogging and video galleries to uboot. well really a lot of things were far from optimal about the software. lots of bugs but a lot of things which were integration troubles, i.e. one bit of software worked 95% and another software worked 95% and together they worked 0%. today and yesterday sat with smo and went through a whole bunch of software from ..

Dominos - sam.hooke.me - 20 years ago - eng
Dominos is a physics based platform which requires skill, speed, dexterity and luck to navigate your way to the end of each level. Play as a variety of characters which all handle differently, from the slow and heavy rock to the bouncy banana. Roll, jump, drive and surf your way through 19 crazy levels, from grasslands and caves, through the desert to the city. For more physics platformer fun, see the sequel Dominos 2: Winter Edition

Dominos - sam.hooke.me - 20 years ago - eng
Dominos is a physics based platform which requires skill, speed, dexterity and luck to navigate your way to the end of each level. Play as a variety of characters which all handle differently, from the slow and heavy rock to the bouncy banana. Roll, jump, drive and surf your way through 19 crazy levels, from grasslands and caves, through the desert to the city. For more physics platformer fun, see the sequel Dominos 2: Winter Edition

This post is an analysis of the difference in philosophy between static and dynamic typed languages and the pragmatic ramifications of these philosophical differences. I will use Nil/Null/None-types as basis for the example. The Nil-value is used in OO programming languages to designated a non-assigned value. Any object reference can be nil, which gives it a special role. In effect, Nil is an instance of all types. This is a concept that ca..

One of the blogs I enjoy reading is that of Jason Yip: You’d think with all my vide game experience that I’d be more prepared for this (excellent title!). He usually writes short and sweet posts that gets a point across in just a few sentences. Here are a few of my favorites: The method where people talk to each other and trust each other and build things incrementally and… (I’ll probably blog about this at some later time) The Goals, Quest..

One Six Right , the documentary about the Van Nuys General Aviation airport in Los Angeles is available on Google Video ( Updated: not available ) The documentary tells the story of this historic airport well, and outlines how important general aviation is to the whole aviation industry. It also shows several beautiful historic airplanes flying from Van Nuys. Something similar could help the other historic and endangered ai..

Aslak Hellesøy created the …. interesting tool Guatanamo. From the documentation: “Do you have problems maintaining high test coverage? All code is guilty until tested innocent. Send the untested code to Guantanamo!” (that is, delete it) I think this is a very interesting policy, and even though it is too extreme to ever be practical, it reveals an underlying principle: If code doesn’t have tests, it doesn’t have value. Chances are that it ..

Mika Naimark has posted his trip report of the Shnjaka sown ship expedition last summer: At the same time, the expedition was a good test for our newly built boat in her natural conditions and habitat. If not for this trial, our archaeological experiment would remain inconclusive, leaving the consistency of reconstructed withy-sewing technique under some doubt. So we did not take shortest rout for our voyage, on the contrary, we str....

I am planning to see if I can do some more work on test automation. I have discovered that I am pretty good at going into existing code bases and adding tests now. In order to practice, and to have something to demonstrate, I would like to find a deserving open source project that I could add some unit tests to. The design of the project doesn’t have to be good.

My newest computer is a Dell XPS thing. It’s a huge monster of a laptop (really a gaming laptop, good for the performance). It comes with external LED lights on the top, sides and bottom. These lights are normally only configurable though a custom program. Since I got the PC, I have been dying to find a way to control these LEDs from a script. Finally, today, I found out how.

Writing my previous post got be thinking about code comments. I have seen a lot of bad comments in my years, and I’d like it to stop! Here are a few examples from the horror cabinet of the world of code comments. Stating the bloody obvious Never, ever, say in comments what the code already says. Ever: class Bar { /** gets the foo of the bar */ public String getFoo() {.

Recently, there has been a discussion about code comments on the pragmatic programmer mailing list: “Should you comment or not? What should be commented?” The one point I haven’t seen expressed succinctly is the following: Given a finite amount of time and a codebase with some … issues (which codebase doesn’t have issues?) what is the most useful thing you could do with your time? How often is the answer “comment more”?

In the book Software for Your Head, Jim McCarthy introduces The Core Protocols (pdf). Even though the book occasionally give off a new-agey feeling with ritualistic interaction, I think the Protocols have a lot of merit. I especially like “the decider protocol” As I see it, the Decider protocol is a basic tool for consensus-based decisions. I think consensus as a tools in misunderstood and underutilized. It is easy to assume that basing dec..

David Heinemeier Hansen’¨s talk at OSCon is available at IT Conversations. For those who don’t know, DHH is the man behind the big rising star of 2005: Ruby on Rails. Favorite quote: “Too many technologies are chasing flexibility as thus it was free. It is not. Your exchanging flexibility for velocity in development, for a delay in changing you mind, and it is really a bad notion! … In other terms, constaints are liberating”

OK - so Apple released the new Intel Macs this month and shocked everyone with their amazing speed improvements. But what I noticed is that Apple didn’t create a whole new look for them - essentially, the new line is in the same beautiful package as the iMac G5 and PowerBook. These designs must be very good if Apple is going to stick with them, and as a result, are key turning points in Mac evolution. Does evolutionary theory apply to co..

OK - so Apple released the new Intel Macs this month and shocked everyone with their amazing speed improvements. But what I noticed is that Apple didn’t create a whole new look for them - essentially, the new line is in the same beautiful package as the iMac G5 and PowerBook. These designs must be very good if Apple is going to stick with them, and as a result, are key turning points in Mac evolution. Does evolutionary theory apply to co..

One of the most profound ideas in lambda calculus, is the Y-operator. I’ve learned the Y-operator at least three times, and every time, I found it extremely hard to understand. This blog is therefore an example of a quixotic undertaking: I want to see whether it is possible for me to explain the Y-operator so that you, gentle reader, can understand it with minimal background. In this case, “minimal background” means at least a few years of ..

I have been working as a Software Architect for several years now, but I still find myself unable to answer the question “what is software architecture?” However, I think I can point to some of the factors that can make the architectural work successful. First: Architecture is about vision, communication and governance. The vision bit is relatively simple: Any company has huge inefficiencies in how it operates. I think the very nature of bu..

Helsingin Sanomat , which originally had a very aggressive stance against the airport , has now published its gallup results saying majority of Greater Helsinki inhabitants want to keep Malmi Airport as-is : Malmin lentoasemasta kysyttiin, pitäisikö lentokenttä ottaa asuntorakentamiseen edellyttäen, että lentoasemarakennukset säilytetään. Vaihtoehtona oli alueen säilyminen lentokenttänä kuten nyt. Kaikissa kaupungeissa selvä enemmis....

1. Don’t give personal information to obtain documents on the web Many sites want you to register to get a free document or certain web page. What do you think they use your information for? Spam, spam and more spam. If you want to get these documents without putting in your personal information, simply put the URL for the site in http://bugmenot.com and get past the registration! 2. Protect against Viruses Use Firefox - Many spywa..

1. Don’t give personal information to obtain documents on the web Many sites want you to register to get a free document or certain web page. What do you think they use your information for? Spam, spam and more spam. If you want to get these documents without putting in your personal information, simply put the URL for the site in http://bugmenot.com and get past the registration! 2. Protect against Viruses Use Firefox - Many spywa..

C# 3.0 is Right Around the Corner (in the Microsoft sense of the word…), and it brings to bear a lot of interesting features. Most of them come together in the technology called LINQ (Language INtegrated Queries). Even though I doubt I will use C#, I think there is a lot that can be learned from this preview release. Let’s take a look at an example Query: var contacts = from cust in customers where cust.

7 visitors online