Paul Graham essays

Paul Graham is a Lisp programmer, a hacker, and he writes about various things. It is hard not to relate to him, if you have programming background yourself. One of the articles that I’ve read recently is about intellectual curiosity and disobedience: The word “hacker”. I agree with most of what he says, although “hacking”…


Read More

Tail recursion in VMs.

In object oriented languages executed on top of virtual machine, tail recursion is something static compiler is not capable of optimising. Tail recursion optimisation must be done on the dynamic compiler – and this task usually falls onto Just-in-time compilers (JITs). Many JITs of Java and .Net VM are however unable to properly recognise and…


Read More


Erlang, is it really a parallel language?

Erlang is a concurrent functional programming language that is claimed to be well suited for parallel programming.Some experts however think otherwise. The author makes a good case for Erlang not being any different to other functional languages without side-effects, capable of exploiting coarse-grained parallelism. I guess it is generally accepted that Erlang offers only good…


Read More

Singularity and Midori from Microsoft

Midori according to the article from InfoWorld is the next generation presumable cloud (or Internet) based replacement for the somewhat aging Windows OS. Midori is an offshoot of a research project Singularity that started in 2003 with the aim of rethinking the software stack and playing with new architectures for the operating system layer. This…


Read More

Looking inside Dalvik Virtual Machine.

This Dalvik presentation (video) contains a seminar about the internals of the new Virtual Machine from Google. The Dalvik Virtual Machine (DVM) (Dalvik is a city up north in one of the fiords in Iceland) is the application workhorse behind the new Google’s Android platform. User applications can be written in Java (or any language…


Read More


10 most common mistakes in Software Development

A good article summarising the 10 most common mistakes in Software Development. The most common three are: overly optimistic schedules, unrealistic expectations and wishful thinking. All of which boil down to inadequate project management practices, software estimation mistakes and lack of adequate project monitoring and risk assessment. This suggests that improving existing process will only…


Read More

Programming languages: revisited.

Quite a good article about programming languages posted here. Leveraging existing infrastructures, syntax and programmers base seems to be extremely important. Not so much the actual features and programming models. Not real but rather perceived benefits and large programmer base. I suspect the real Java contender might be in the area of distributed/parallel computing and/or…


Read More

Fedora 9 on home computer

Eh, this was suppose to be a quick re-install of my home setup (dual-chip dual-core Opteron AMD box) to new Fedora 9. For development Fedora 9 offers all the cutting edge packages and libs, so it is easy just to follow up. Nice and tidy – all 32-bit libs are gone – all kept 64-bit…


Read More