Monday, March 30, 2009

Squid for Fedora Core 4

Today's post is just a short note - I wish the Fedora Legacy project was still alive. As it is, it's quite difficult to update older Linux servers. There must be millions of them, for example with earlier versions of Fedora Core installed. The hardware still runs fine, the software is stable, up times can measure in years. This is good, the TCO couldn't be lower.. But if you want to update an rpm package to gain some new features you're out of luck.

Obviously one way to fix this would be to upgrade the whole server to a newer version of Linux, like CentOS 5. It's exactly this kind of forced technical migration projects that is the bread and butter of IT revenue, without providing any benefit to users. The system will be off-line for a few days, after which the IT guys will announce that (hopefully) the migration went fine, and the system is now up to date again. Users won't see the difference, but mostly have come to accept this as a given.

Sometimes you're in luck though. Today we managed to take the sources for a newer version of the Squid proxy cache, intended for Fedora Core 8, and rebuild it for Fedora Core 4.

So here's my gift for today:

Here is the original source package that we used:

Let's see if we can postpone that full server upgrade for a few more years..

Friday, March 27, 2009

Best free workplace for freelancers in Amsterdam

I'm writing this from my new office, on the 6th floor of a very good-looking building in the center of Amsterdam, with great views, ample desk space, an excellent cafeteria and your choice of wireless Internet for your laptop or unlimited use of PC or Apple desktops. I'm not the only one. Around me hundreds of others, mostly young and hip, are enjoying the same facilities. Best of all, it's free (except the cafeteria, of course) . No multi-year rent contract or any other obligations. You don't even need a library card. Yes, that's right, I'm at the Central Public Library. If the word library is strongly linked to 'old and stuffy' in your mind, like it was in mine, then you really need to see this.

I'm not sure if it leads to more library books being read, but it sure is a nice public service. Of course it has a few downsides. Gaining access to the wireless LAN is a bit more difficult than I'd expected (it's not anonymous so you first need to register, then configure some unusual network settings on your laptop). Also, in particular in the afternoons it can get quite crowded, with a corresponding effect on the speed of the Internet connection. For the time being, for me it's only a welcome change from my own tiny suburban office. Because of my multi-year rental contract, and because I don't have to share the Internet connection with anyone. But if the recession lasts a few more years I might move here permanently.

Some basics:
Centrale Bibliotheek OBA ODE
Oosterdokskade 143
1011 DL Amsterdam
Customer service 0900-bibliotheek (0900-2425468), 020-5230900 or
Opened daily from 10:00 till 22:00

Network settings for Windows XP: in the authentication properties of the wireless connection set the EAP type to PEAP, disable 'authenticate as computer', enable 'authenticate as guest', and in the PEAP properties disable 'validate server certificate', select EAP-MSCHAP v2 authentication, and configure EAP MSCHAP v2 to disable 'automatically use my windows logon'. This will result in Windows asking for your registered user name and password when making a connection.

Wednesday, March 25, 2009

Favorite Firefox plugins

I know that nobody asked me to, but I'm going to tell you anyway: my list of favorite Firefox plug-ins. Which is incidentally why I haven't tried out Chrome yet for more than a minute. I can't take a browser serious that doesn't have plug-ins yet. In particular something to synchronize bookmarks. And dictionaries in multiple languages. The other plug-ins that I use are more technical and less critical. Let me give you a more structured view:
  • Foxmarks Bookmark synchronizer. I switch computers a lot so I need something like this, and Foxmarks works great. Basic bookmark synchronization hasn't failed me yet, it has a lot of other features that I haven't used yet.
  • United States English Dictionary and Woordenboek Nederlands(Dutch Dictionary). I use the in-browser spelling checker a lot, with wikis, with GMail and now also with Blogger. Indispensable.
  • Quirk SearchStatus. A simple way to show basic web page metrics.
  • Live HTTP Headers. Can display request and reply HTTP headers.
  • Web Developer. I needed a way to sign out of basic HTTP authentication (the kind where the web site does not have a log-in page but instead the browser shows a log-in dialog). Normally browsers don't provide the associated log-out functionality. In fact for Firefox this plug-in seems to be the only way. It can do an enormous amount of other stuff that is probably cool also, mainly related to CSS.
What is your favorite Firefox plug-in?

Monday, March 23, 2009

Stupid yet tempting business ideas

About 5 years ago I started the habit of recording every idea for a new business venture that I came across and that I liked. It takes only a single good one to become a millionaire, right? That hasn't happened for me yet, but I hope that with good execution I may turn some of them into successes. For obvious reasons I won't tell which ones are still on the list that I consider excellent.

Instead today I wanted to mention a few that are on my list because I like them, even though they are not very practical - could even be considered stupid.

First my definition of what constitutes an excellent idea, so that we can compare the stupid ones:
  • The idea should target on-line consumers and small businesses, to enable efficient scalable marketing. Ideas that require a lot of off-line sales effort are less suited to my impatient nature and my growing aversion to large upfront investments.
  • A first prototype should be easy to build (within 2 months), again to limit required upfront investment.
  • It should be clearly feasible to earn money from the idea, e.g. through subscriptions, micro payments or advertising.
  • It should be fun and educational to work on.
Obviously ideas like Twitter and Skype are good recent examples that more or less match my criteria. For me, and probably also for a lot of other experienced IT people, they are very much in the category of 'why didn't I think of that first, I could have hacked that together in a few weeks'.

Here are, without further ado, a few of my stupid ideas:
  • Free DNS hosting (e.g. EditDNS). It's tempting because it seems complicated to make at first sight, but in actual fact it would be pretty easy, and fun to do. DNS is a very critical piece of Internet infrastructure, so how cool would it be to have a popular service in this area? Also, without wanting to insult existing providers like EditDNS, it looks like the competition could use some challenging. Indeed, current providers look like they were thrown together in a few weeks. That's likely because it's also a stupid idea. Stupid because it's hard to make money off it. You compete with non-free DNS hosting that's already very cheap (most ISPs offer DNS hosting as a package with domain registration for about 10 USD per year). Additionally advertisement income is minimal because system administrators set it up only once through your site, and then you have to provide the service for years without a single chance to show an ad.
  • A discussion forum focused on the strange and remarkable one-liners of a popular politician. A fine example would be Geert Wilders, the controversial Dutch politician. It would be relatively easy to open a new discussion thread on the forum ever day with one of his non-conformist statements. It would be satisfying to see large amounts of people try to be the first one to post in support of - or in 100% opposition of - that daily subject. It would also be pointless because I predict that advertisement income would be minimal - no advertiser in his right mind wants to be associated with heated political debate, in particular related to issues such as immigration policies.
Let me know in the comments whether you think any of these two could be profitable. Or perhaps you have some less-than-optimal business ideas of your own?

Saturday, March 21, 2009

Why do I ignore commercial software?

When I read back my last two posts about wiki software I noticed that I had ignored commercial offerings in this area without really evaluating them, without giving any reasons. Any software architect can tell you that that's not how you should do things. You should evaluate all the options, and be objective about it. When I do consulting for clients, like my last gig at KLM Air France, I am careful to do just that. For various reasons it's often Open Source that gets ignored in places like that. But when my own money is on the line, for personal use or for my own companies, then I automatically focus on Open Source only. For wikis - TWiki, for CRM - SugarCRM, for word /spreadsheet processing - OpenOffice. Why is that?

Part of the reason to ignore commercial software is likely the cost saving. I suspect that for many users of Free/Open Source Software that's an important aspect. It saves money, but perhaps more importantly it also lower the threshold to use something, and removes a lot of hassle. Instead of having to think about payment and delivery you can simply download it and start using it right away. If you find out you don't like it you can select an alternative and try that, without having to feel guilty about investing money in a software package that will now go unused.

The other major aspect of FOSS - that you can inspect, change and redistribute the source code yourself - is less important to me. It's certainly nice, and a cornerstone of what makes FOSS unique, but in practice I rarely use that possibility.

Clearly it's not those two aspects alone. If the only alternative to MS Office was a FOSS package that crashed all the time, and was completely unusable, designed by some blind nerds without any regard for normal human beings, then I'm sure I would buy MS Office. But the alternative is Open Office, a stable piece of software with good usability and some nice features (e.g. PDF export) that MS Office doesn't have by default.

So, after thinking about it some more, I'm sure it must be quality. I've come to ignore commercial software subconsciously because I've learned that for nearly every purpose there's Open Source software that's just as good, and often better. My experience is that most Open Source packages feel as if they were designed for smart people, by smart people with a passion for what they were doing. Commercial software often feels as if it was designed for stupid people, by people who are probably smart, but also wanted to go home at 5 o'clock to be with their families. And by definition they were guided by project managers and marketing departments that value the interests of their company above that of the user.

Commercial products nearly always have some built-in limitations, and some options that were deliberately removed, in order to create the opportunity for a more expensive variant with those options added in. Open Source packages typically have all the options that any normal user could be interested in, and then some.

I'm convinced that in the end many commercial packages will simply disappear, replaced by Open Source alternatives that are simply good enough. It's telling that while commercial vendors like Microsoft have more and more difficulty thinking of significant new features to justify a next release, many of the major Open Source packages have matured so much that they seem to have frozen. The Linux kernel for example has been at version 2.6 for ages already, with regular minor updates but without a version 3.0 or even 2.8 on the horizon. And that's good. After all another important architecture principle is: if it works don't break it.

TWiki vs MediaWiki part 2 - the battle

Ah TWiki. It is great. (See part 1 of this post for some background). Some of the things that I really like about TWiki are very subjective, but I'm going to list them anyway:
  • Its default interface is nice-looking and not too cluttered (big score against TikiWiki).
  • Its file-based storage is easy to understand, and gives me a confident feeling - an admin user with a text editor can access the page data directly to fix things if needed, run scripts, etc. I haven't needed to do that yet, but it's obviously a big plus compared to XWiki and most other wikis. (In case you are wondering - the only major downside as far as I can see is slow search when you have tens of thousands of topics. That bridge is so easy to cross that I don't consider it a downside at all).
  • It's very flexible, with a powerful template-based user interface and a solid collection of plugins.
Now I've started some consulting for a new web site that obviously needed a CMS. It's a bit like a Wikipedia, so I started looking at MediaWiki as an obvious implementation candidate. (It also turned out to be the only serious new candidate. There are various wiki feature comparison matrices on the net, and if you skip commercial candidates like Sharepoint and Confluence, and skip Google Sites because it's limited in many ways then it seems MediaWiki, TWiki and TikiWiki are more or less the main contenders). MediaWiki has some nice features, in particular its internationalization support. For many purposes it may be the best wiki around. It certainly is a serious contender. (I suspect that TWiki is more fun to use and look at, but didn't try to prove it).

Two things killed it for our purpose. It doesn't have sub-wiki's, which surprised me. It doesn't have page-level authorization! I know that authorization in general is a bit against the wiki spirit. The TWiki documentation doesn't hesitate to remind the administrator of that at every possible opportunity, but at least TWiki has the feature. This gives the admin the possibility to choose to use it or not. But the MediaWiki guys thought this wasn't a feature we should use, so they didn't build it in! To me this seems like two species of dinosaurs involved in a Darwinian battle for survival, with one of the dinosaurs saying 'oh, I'll pull out my own claws, I really shouldn't use them because they're not nice'. Should be an easy victory for the other guy.

So far TWiki hasn't let us down yet in this new setting. I takes a bit of work to turn it into a public CMS (instead of the free-for-all edit fest that a wiki is by default), but the result is quite satisfying from a technical standpoint. No ugly hacks needed. Yay.

Friday, March 20, 2009

TWiki vs MediaWiki part 1 - wiki prehistory

Over the past few years I've had the opportunity to test out various wikis, for teams within my previous company, Devinition. I've learned that wikis are great, but that even some of the well-known wiki engines are pretty awful. I'll use a few blog posts to write down my likes and dislikes, so you don't have to go down the road that we did - trying out everything under the sun and ending up with a whole bunch of incompatible page graveyards.

We started out with TikiWiki, back in 2005. TikiWiki certainly has tons of features built-in, but I disliked it from the start because it looked like a typical Open Source 0.1 product. (I assume - and hope for its users - that recent versions have better looks).

Then we implemented an XWiki for the whole company. Primarily because it seemed the Java-based wiki with the best features at the time, and I optimistically thought that with all the Java skills in our company we could do some great integration magic with it. Instead it quickly instilled fear with its horrible user permissions interface. We've had to resort to direct access to the underlying SQL database only once, when some colleagues messed up the permissions beyond normal repair with only a few easy keystrokes. Interesting though it was - trying to get the correct settings back again while puzzling through a meta-meta model - it put XWiki on my avoid-in-the-future-at-all-cost list. However, at that point our teams had already put quite a number of pages into it, so it was really too late to migrate away.

As a kind of in-between snack I used Google Docs with some smaller teams. It works great, but it's not really a wiki replacement of course. Instead it has an excellent spreadsheet feature, and it lets you easily share a few documents with random people. My golden tip of the day is for Google: simply add a 'wiki page' document type to Docs with concurrent editing and support for adsense display and it will run circles around Google Sites and 99% of the existing web hosting.

At that point I also started using a personal wiki. It coincided with reading David Allens 'Getting Things Done'. In my experience they are a great match. A personal wiki is easily flexible enough to act as a store for all your GTD administration (project lists, actions, reference data, etc.) Looking at it from the other side - a wiki can quickly become a mess of random pages and the GTD method provided for useful structure. I'll leave the details of my GTD approach for a next post, but just finish by saying that I used a TWiki, perhaps because it was the next well-known Open Source wiki that I hadn't tried yet.

In part 2 I describe why TWiki is better than all the other wikis, and how it beat MediaWiki in a fierce dinosaur-style battle.

Thursday, March 19, 2009

Selecting a topic for your blog

There are a lot of blogs about blogging, so I've been reading a bit about selecting a goal and a subject for your blog. Conventional wisdom is that you should select a niche topic to stand out from the crowd. If you spend a lot of time at home making beautiful cakes anyway, why not blog about it? Add a nice photo of each cake to your blog post and you can be sure that a select group of cake aficionados will read your every post and drool about it.

Personally I think that niche topics are overrated, very 2007. A blog like that will probably look great, but require a corresponding time investment. You'd better enjoy all the attention those 17 fanatical followers are giving your blog, because that's all you will get with those mile-long posts like '100 tips to get a great glaze'. Needless to say I don't make cakes at home, or any of those easy to visualize things, which also prevents me from going this route. But that doesn't matter. I firmly believe that we live in the Age of Search, and that even if you blog about totally random subjects your posts will be found by readers, in particular if those posts are practical and to the point. So, I will use this reasoning as an excuse for a more or less random(1) selection of topics, and I plan to be amazed by the large numbers of readers flocking to each post. I'll let you know how that works out in a few months.

(1) At least some posts will be about web application development, agile project management and investment.

Wednesday, March 18, 2009

First Post

With the economic downturn it's taking a bit longer to find a new contract than I had anticipated. There's a bright side also - I have some time to fool around, to invest. So I've decided to start blogging. It will be interesting to see if I keep it up when I have less time. Perhaps I will document some of the stuff that I've done in the past, a bit like a programmer adding comments to his code after the product has long finished and is out the door.

An easy prediction: if the downturn continues then blogs will be springing up left and right at an even greater rate than in the past few years. It's good for your visibility, right? My own short term plans, besides checking my inbox for e-mail from recruitment agencies every 5 minutes: I'm working on investment software, and on a Wiki-based public site. More later. First I'm going to fiddle with some Blogger settings.