Archive for May 2007

Why blogging is important


Joel Oleson is suffering if you do not blog ! Sounds strange ? Read the article Join the SharePoint Blogging Revolution!

He makes several very good points – which have very little to do with Sharepoint – but I think the best one is helping the “organic indexing” of the Web space and helping the search engines out there better rank content. I wrote about this while ago.

Reading blogs and feeds offline


It happened! After starting my preferred feed aggregator – Google Reader I have noticed the new feature that sounded so good that I almost could not believe it: offline reading. Using new plugin – Google Gears, the reader can cache 2000 items locally and allows you to go offline and read the news, blogs or whatever you have subscribed to absolutely anywhere.

The installation starts with this screen:


and goes on with this:


After browser restart, all magic is hidden under small greenish button next to Settings:


Pressing the button downloads the 2000 items. The download is very fast, on cable modem it takes about 10-15 seconds.


After download, you can disconnect the cable, switch off the wireless – or whatever you do – and take your latest and greatest blogs and news wherever you want. Here is the link to the “official” blog announcement.
Thanks, Google – this is great feature !

Quote of the day (Martin Fowler)


“Corporate IT is dominated by bloatware. Time and time again we have to deal with expensive software purchased on golf-courses that just get in our way while sucking funds and development hours. Technologies that make it harder
for programmers to do what they like to do best – make a difference for the businesses they are supporting. “

Martin Fowler

BOTD (blog of the day): Frans Bouma's Blog


A brief look at my Google Reader subscription list made me aware that I have added to my reading list a loooot of blogs, newslist and so on. Unfortunately, they are not organized very well and should be properly placed into folders. In a process of doing that, I will put some of the interesting blogs here.

For today, it is Frans Bouma’s blog – focusing on .NET and Microsoft technology platforms. From the most recent good articles, look at why API’s should not be designed by scientists – discussing and comparing various ways how the database level paging is handled in various databases (MySQL, PostgreSql, DB2, Oracle, SS2005), or read Frans’ comments on Entity Framework being cut from .NET 3.5 – which is sad, but IMHO fairly accurate summary of the recent development. See for yourself.

Online diagram drawing tool


Flash based, allowing create simple structures like graphs, org-charts, system diagrams. Diagrams can be exported to XML and saved locally – or converted to JPG or PNG on-line. Nice Web2-ish look and feel.

See for more.

New version of extension for Firefox


Wonderful thing about Firefox extensions is the autoupdate feature. Go to Tools->Extensions, select Find update and for all installed extensions you get the latest and greatest …. usually.

One extension where the update did not work was the button for Firefox. I was happily using version 1.2 of the plugin and would never found out about the update, if I had not set the new workstation. The latest version 1.5.29 did not show in the updates. Which is too bad, because it is so much better …

New extension gives you new menu item and sidebar, with two panels: tags and bookmarks. The tags are interconnected, for example, if you have bookmark tagged as ‘3d’ as well as ‘animation’, you will see animation as child of 3d tag as well as 3d as child of animation. Tags can be sorted by alphabet or by frequency, bookmarks by last added, site, most visited, last visited.

Complete tutorial is here. If you are still using the previous version, go ahead and upgrade – by uninstalling the old version and installing new from here. It is absolutely worth it.



DHH is (obviously) David Heinemeier Hansson (the creator of Rails) and RIA (in this context) means Rich Internet Applications. And here is the quote:

I think there’s always room for new ideas, but I don’t think that the whole fuss that’s currently going on about RIA, rich Internet applications, is justified. I think we’ve been through this cycle so many times before that it in some ways amazes me how history seems to be ignored. We went through this with Java applets, they were going to rule the Web. Everything was going to be in a Java applet. HTML and CSS is history. And Flash came around, and Flash started focusing on applications. Now Flash is going to rule the Web and HTML and so on is yesterday. Now, Silverlight, Apollo, JavaFX, they’re all bidding to take over the JavaScript, HTML and CSS [spaces], and I just don’t buy it. I don’t buy that developers by and large are going to jump into a proprietary technology and replace what HTML and CSS has given them.

Read the full interview here

Three amazing visualization projects


Found by accident – as usually – while searching for something completely different.

Visuwords – visual dictionary, showing semantic relations between words.

Universe by Jonathan Harris.

Wikisky – detailed online sky map, showing the positions & basic characteristics of space objects using a Google Maps like interface.

And two great videos: the 4 minutes video summary on what Web2 actually means and very funny presentation about PowerPoint presentations.

Unified ID's for legacy database


I found a handy T-SQL trick that helped to solve the following problem: during datawarehouse creation, we needed to consolidate multiple data sources from databases belonging to two generations of system: older one using int identity keys, the newer one, designed for replication and distributed data scenarios using GUID’s as primary keys.

In the consolidated database, we needed to create single representation that would allow to store both new GUID based identities as well as old int-based keys. Direct conversion between UNIQUEIDENTIFIER type and int is not allowed. The following one liner will do the trick:


The “fake GUID’s” it creates from integers are easy to identify as they have leading zeros. If you for any reason do not like it, replace the 0 in first convert with any suitable number.

Using Wiki markup without a Wiki


Even with having Wiki as the main documentation repository, not all documentation ends up in a Wiki. Some documentation needs to be managed as part of the source tree – e.g. Readme’s, compilation instructions and similar. This information is usually either plain text or in some form of text processor format, mostly Microsoft Word compatible. Both have their selection of problems. Word documents are large, bloated, harder to version controlled and not readable in shell environment (try to cat or tail Word document :-)). The plain text format lacks visual structure and without headlines, bold/italic, font sizes etc is harder read.

Some projects I was working on were trying to use HTML as documentation format – but it was too hard to edit using “programmers editors” … and HTML generated by MS-Word is not much better than binary format from readability and version management perspectives.

One format that works amazingly well is a plain text with Wiki markup structure. There is wide selection of various markups, the one I like the best is the Textile markup (which is implemented by many Wiki systems, including Confluence). Textile is very easy to remember, us natural to read and gives the document enough structure without being in the way. Using Textile as “source markup” allows us to copy and paste the document content directly to the Wiki, should it be required. Textile can be also very easily transformed to full fledged HTML using libraries available for all languages of interest (in my case – C#, Java, Python, Ruby – and hopefully will find something for Objective-C as well) to convert it to HTML.

The best feature of using Textile is that some editors – namely TextMate on Mac – support Textile natively and show headings and font attributes properly even without pre-processing step. And with Preview function even generate HTML right away. The similar can be done using plugin in JEdit as well as in Notepad++ with this syntax file.