Django signals are evil

I was trying to figure out what a Django app was doing today. It turned out that the original developer had decided to monkey patch a third party app. I hardly need say that monkey patching is evil (i.e. a last resort), but one of the things I needed to check along the way was that there was no code being triggered by a (Django) signal, and the problems it causes are very similar to monkey patching. Continue reading

Beating Node.js with TCL

This is partly a reaction to people who talk as if Node.js is unique, and partly to test my code against something that has seen production use. There are all sorts of problems with doing this sort of comparison, and while I would have liked to compare more servers, used a better environment, performance tuned everything, done more measurements etc. but I think what I have done is enough to prove my point. Continue reading

Python IDEs part 4: Liclipse and PyCharm

I have never liked the user interfaces of either Eclipse or Pycharm, so it is hard to be impartial. Liclipse, for those unfamiliar with it, is an Eclispe based IDE, that is a successor to Pydev. Both are proprietary, but prices are reasonable. After trying them again I still do not like Eclipse or Liclipse, but I do see the appeal of Pycharm. Continue reading

Trying Python IDEs

I have been using Geany for a while, because it is lightweight and has a nice UI, and it will be my baseline for this comparison, but it lacks some features I would like to have. The most important is good auto-completion, but refactoring support would be nice and real time linting even nicer. So, I made myself a list of IDEs (and extensible editors) that met my criteria. Continue reading

Open sources licenses still not understood (by Hiscox, at least)

Insurance company Hiscox has posted a misleading article on “the advantages and risks of open source software” in its “small business knowledge centre”. It is not clear who the article is aimed at, the explanations of legal issues are unclear, and the discussion of security issues irrelevant. They could have saved themselves from looking foolish if they had asked some with some technical knowledge and familiarity with the licences to review the article. Continue reading

Fossil vs Git

I have used Fossil for version control for a few years, and I like it, but this recent comment on the fossil-users mailing list made me think about its limits:

we must agree Fossil [..] much easier and friendlier to use.

It is, and it is not. I do recommend it, and it does provide a a lot of functionality and it is easy to learn and use. Continue reading

Tablets: anti-consumer and anti-innovation

Tablet computers (and smart phones) are bad. They are bad for consumers and kill innovation. They move power from the owner of the device to its manufacturer, and denying the use of a cheap base for research and development, the very base that made the tablets possible in the first place, and, if PCs follow suit, innovation will become much harder. They deny consumers choice, are sometimes impossible to update (a security nightmare) and are inflexible. Continue reading