24 signs of stress

Here's a beautiful demonstration of various signs of stress.

Found on Jonathan Hardwick's homepage.

Standard Annotation Language for Haskell

A thought struck me today: Maybe Haskell needs some standard way to annotate the source code? There's already a semi standard for documentation and that is Haddock. But what I mean is something juicier than that.

It seems several projects are working on attaching some kind annotations to Haskell. It mostly has to do with properties of Haskell functions, for example if a function is idempotent or if it commutes with some other function. The two larger projects that I'm aware of that does these kinds of things are Programatica and Cover. And there is also DrIFT which it a kind of code generation tool for Haskell to simply certain repetitive tasks. All these projects use different means to attach information to Haskell programs.

But doesn't Haskell already have a way to annotate the source code? There is the compiler pragma specified in the language standard. Well, pragmas are only standardized up to the point that they are delimited by certain characters. Apart from that, all bets are off. We need some more structure, a unified syntax along the lines with Java's annotations. While I haven't used the annotation mechanism in Java it looks really well designed and useful. Something along those lines is what I'm after for Haskell.

So, what would this look like. Currently I have no idea. All I know is that having a common way of expressing things saves time and work. Syntax is not shallow, it is really important. The problem is that those people who need it the most (the Programatica and Cover people) are the people who are the least likely to spend any time with this. I know most of these people and the look down upon thing like this, defining a common syntax with no meaning. But XML is also a syntax without meaning and although that sounds like something really ridiculous XML has actually saved a lot of work and has let programmers and designers spend their brainpower on the more semantic parts of their problems.

Well, I should really talk to someone about this. Make the wheels start turning. We'll see how it goes. Unfortunately I'm a bit pessimistic.



There's been lots of talking about Google the past days (well the past years in fact...) I thought I'd write down some of the news here.

First of all the result Googles Summer of Code was published. I'm really impressed by the number of successful projects that has been sponsored by Google. It's a great thing for the open source community and I hope we will see more of this. And I expect we will since it must generate a lot of good-will for Google.

Secondly, Google is pouring some more money. This time it is to the Oregon State University and Portland State University for helping them maintaining various open source websites and projects. There's an official press release.

Perhaps the most exciting news is that of base.google.com (it's currently down but has been known to be up at occations). It's a database where you can add all kinds of things. The really interesting thing happens when it is connected to Googles other services like Google Local, Froogle and the upcoming Google Wallet. Then you can share and trade information and goods, you can start local or global clubs and organizations. The possibilities are almost endless. The only potential problem that I see is how to structure the site so that it doesn't become "too abstract". That is, it becomes so general that it is almost useless. But I think Google will solve this, they know how to do things right. There's an article at ars technica about this.

Finally a note from Googles official blog about some stuff that was published on Google Video. Personally I haven't used Google Video so I cannot really say anything about it. Other search engines just search the web for video files and let you search them. But Google requires video makers to upload them onto Googles site. The archive will ofcourse be a lot smaller but perhaps it will be more useful. Time will tell.

Well, Google is hot. And they just continue to lanch new stuff all the time. Some people might fear that Google might become too big. But I don't think that is a problem. If there is one company that I will happily see taking over the world it is Google. With their philosophy that one can earn money without being evil, and which they've also proven to be correct, I trust the company fully.


Quote time again

Long time since I posted a quote here. This time it is from an invited lecture given at the conference FLoC in 1996. The reason I found this quote is because I read it in an article. Just a warning before you read it; You need to be a computer scientist to understand it.
Translating a conjecture into clause normal form before handing it over to the theorem prover is like shooting oneself in the foot before starting on a long hike.
-- Gerard Huet


Dark matter and Cosmology

For quite some time I've been rather provoking about our current knowledge of the universe by saying: "The only thing we know for sure about the current model is that it is false." The problem that has been plaguing scientists for some time is that the observed weight of the galaxies isn't enough to hold them together with gravitation. At least that's what the theory says. And since we all know that the theory is right (I'm being ironic here) people have suggested "dark matter", mass that we haven't been able to observe, to be floating around and making up for the lack of mass. This whole thing has always sounded a bit ridiculous to me. It's a sure sign that a theory is in trouble when you have to patch it like this. So I've just been waiting for the downfall of the theory.

Now it might turn out that fixing the theory is surprisingly easy. Researchers have now redone the calculations using a better approximation. They've used general relativity theory instead of Newton's old workhorse of a theory. It turns out that this closes the mass gap and removes the need for dark matter. The article hasn't been reviewed yet but if it holds out then it is a very good thing for the present cosmological model.

Web 2.0

I've just read one of the most interesting articles I've ever read about the internet. Tim O'Reilly is writing about what is called Web 2.0. To be honest I hadn't heard about this term until recently. It's a name which tries to capture the new ways of the internet, the new services, the new business models and how it all works. O'Reilly tries to nail down the core of Web 2.0 and has some very insightful comments on the way. It's a long article but it is well worth the read. Go on, read it!

What Is Web 2.0


Levine the Genius Tailor


It is impossible to begin a discussion of psychological principles of programming language design without recalling the story of ``Levine the Genius Tailor.'' It seems that a man had gone to Levine to have a suit made cheaply, but when the suit was finished and he went to try it on, it didn't fit him at all. ``Look,'' he said, ``the jacket is much too big in back.''
``No problem,'' replied Levine, showing him how to hunch over his back to take up the slack in the jacket.
``But then what about the right arm? It's three inches too long.''
``No problem,'' Levine repeated, demonstrating how, by leaning to one side and stretching out his right arm, the sleeve could be made to fit.
``And what about these pants? The left leg is too short.''
``No problem,'' said Levine for the third time, and proceeded to teach him how to pull up his leg at the hip so that, though he limped badly, the suit appeared to fit.
Having no more complaints, the man set off hobbling down the street, feeling slightly duped by Levine. Before he went two blocks, he was stopped by a stranger who said, ``I beg your pardon, but is that a new suit you're wearing?''
The man was a little pleased that someone had noticed his suit, so he took no offense. ``Yes it is,'' he replied. ``Why do you ask?''
``Well, I'm in the market for a new suit myself. Who's your tailor?''
``It's Levine---right down the street.''
``Well, thanks very much,'' said the stranger, hurrying off. ``I do believe I'll go to Levine for my suit. Why, he must be a genious to fit a cripple like you!''
Would it be inappropriate to concot a version of this story called ``Levine the Genius Language Designer''? The first problem in discussing language design is that we do not know the answer to that question. We do not know whether the language designers are geniuses, or we ordinary programmers are cripples. Generally speaking, we only know how bad our present programming language is when we finally overcome the psychological barriers and learn a new one. Our standards, in other words, are shifting ones---a fact that has to be taken into full consideration in programming
language design.

Psychology of Computer Programming by Gerald Weinberg (pages 210-211 in the silver anniversary edition). Via LtU.


Good Worms

A constant problem with today's internet is (beside the problem of spam) the many viruses and worms that take control of peoples computers. And this is not a new problem. No, it has been around since the 80's at least. So why do we still have this problem? Well, it hasn't become a real problem until the internet took off in the late 90's. As time passed on more and more security holes where found in computer which were exploited by worms and viruses. But these holes were patched and today's operating systems are much more difficult to exploit for a worm.

So why are worms still a problem? Because most users use old unpatched software. Even modern worms use old exploits to propagate through the internet.

This is a very frustrating situation. I wish that we could somehow force the people who uses insecure systems to upgrade. But there might be a way. Using the same holes as the malicious worms use we could create 'Good Worms' which patched systems instead. There is a very interesting article about this in eWeek. Ofcourse there are many potential problems and complaints about this techniques but I think it can be made to work and I think it needs to be done considering the present situation. Make sure to read the article and also read the articles it refers to which argues very well for Good Worms.


Less depressed or more happy?

Psychology and psychoanalysis has to date mostly been about negative emotions such as depression, anger, frustration and so forth. When you go see a shrink he will probably discuss all the bad things in your life and your negative thoughts. Unless your lucky. Because, as of late, this field has realized that focusing on the bad just doesn't do it. It's not enough to just make people less depressed, they need to be more happy!

I just read the most exciting article on the about happiness and the newly started research in that area. This whole line of thinking makes very much sense to me, to try to do something good instead of avoiding to do something bad. But I should admit that most of the time I'm no better than anyone else in this respect. I'm actively working on getting better in this respect right now, though.