Aug 31, 2009 - The Architecture Analogy For Programming Is Wrong

Software Development has taken a lot of inspiration from architecture. Seems to build stable buildings, you have to plan as much as possible beforehand. Once things are put in concrete, it is too late or very expensive to fix mistakes and bugs. In analogy most IT companies try to do a lot of planning before sitting down to code.

I believe they might have drawn the wrong analogy, though: the final piece of software is not like the building. The proper analogy for the software is the final plan the architect emits. Building the building is more like then running the completed software on the computer, it happens when the work of the architect is already done. To be sure, while building buildings or running software, you'll still notice the one or other flaw that you have to fix "on the fly". But that doesn't contradict the general notion.

Why does it matter? Because this misguided paradigm is stifling software development and turning it into an expensive and arduous chore. It is very difficult and therefore expensive to plan everything in software development beforehand.

Unfortunately I don't know much about how architects really go about drawing their plans. There might be some interesting lessons there. To be sure there has to be some structure (a building needs windows, doors, stairs, toilets, ...), but I suspect overall it is much more free form and creative than misguided software development. For now I just felt like throwing that thought snippet out there... Please comment.

Jun 5, 2009 - Creating "Twitter This" Links


"Twitter This" Link Generator
Link Preview:  


Enter the text you want to be tweeted in the "Text To Tweet" field. In "Link Text" you can enter a text that should appear as the name of the link. If you then press "Create Links", the "Twitter This URL" field should contain the "Tweet This" link. For your convenience the "HTML Link Code" field contains a full HTML link element you can Copy+Paste into your web site (make sure you copy all of it, I recommend right clicking into the field and choosing "select all"). "Link Preview" shows you how the link should look on your web site.

Note that the form only works on my blog, on blog aggregators the JavaScript will probably be missing.

Nicole Simon has brought to my attention that creating "Twitter This" links is not as trivial as it might seem. I hope to remedy the situation by providing a simple tool for creating such links.

What is a "Twitter This" link? Simply, a link that brings the user to the Twitter page with a prepared status text field. All the user has to do to tweet your prepared text is to click the "Update" button. For example, if you click this link, you should be transferred to Twitter with the prepared status message

A handy form for generating "Twitter This" links, created by @Fractality : http://bit.ly/twitterthislinks

(Following this link does NOT tweet the text, you still have to press "Update". Why don't you go ahead and just tweet it - thanks! :-)). It even works if you are not currently logged in to Twitter. After you login, you should also see the prepared status update form. Alas, it does not (yet) work if the user has no Twitter account yet and decides to sign up on the spot. After the signup process, the text is lost (but if the user clicks on your link again, it will then work).

In my opinion, this is the preferred way to encourage users to tweet about you. Many Twitter applications ask for the user's login credentials instead and then proceed to post in the user's name. Admittedly, sometimes that might seem more effective because users might not even realize it is happening at first - so they will tweet about you even if they never intended to do so. But I consider it a slightly dirty trick, which might alienate users in the long run. Also, personally I have never given my login credentials to a Twitter app (OK, maybe once or twice, but I regret that now), and many users might feel the same.

How does one create such links? It is rather simple: add a parameter named "status" to the Twitter URL, like this: http://twitter.com?status=your_message, where your_message is your message. The minor issue is that your_message has to be URL encoded. That means certain characters in the message have to be escaped, for example "<" becomes "%3C". Most programming languages have utility methods to do this. For example you could simple paste the following snippet into your browser's URL field and press return:

javascript: encodeURIComponent('a text that needs encoding');

(except you have to be careful about ' and ", so that approach is not 100% failsafe).

To make it easier for you, I have created a simple form for creating such URLs, which now resides at the top of this post.

Finally, if you liked this post and/or find the link generator useful, please twitter this. Also follow me on Twitter @Fractality.

Jun 2, 2009 - @OfficeWorkout - Twitter bot to keep you fit

I have created a new Twitter bot: @OfficeWorkout tweets a random workout suggestions every 30 minutes. It should remind you to move your body occasionally if you are a screen worker.

I am looking for more suggestions for workouts that mesh well with office life. Best way to tell me would be to leave them in the comments for this post. Thanks!