This week was full with attending the demos and workshops. On Tuesday, I spent half day on the Microsoft Unify Tour 2007. I planned to be there full day but an important business meeting made me change the plan. Fortunately, the sessions should be available recorded on the Web, so I will be able to check them later. The topic was bang-on - considering that we are in final phase of large project, using distributed network of SQL Server 2005 installations with replication and location was same as usual.
YOU should write blogs. Even if nobody reads them, you should write them. It's become pretty clear to me that blogging is a source of both innovation and clarity. I have many of my best ideas and insights while blogging. Struggling to express things that you're thinking or feeling helps you understand them better.
From http://steve.yegge.googlepages.com/you-should-write-blogs.
C++: an octopus made by nailing extra legs to a dog.
(Steve Taylor).
When C++ is your hammer, everything starts to look like your thumb.
(Unknown author).
I guess somebody got pretty fustrated with good ole C++ :-)
A friend sent me link two days ago making me aware that Mozilla decided to change the source code control system (= SCCS) they use. When such large and important project as Mozilla moves ahead and changes something so basic and fundamental to development as the SCCS, there must be good reason behind it. What was even more interesting was the system selected: no, it was not Subversion, but something much less established - Mercurial. Actually, until they selected it I was barely aware of its existence.
Another important step forward for all who are looking for alternatives to replace Outlook. With latest Thunderbird 2.0rc1 release it is now possible to add calendaring capability to Thunderbird (using the Lightning add-on) with Google calendar synchronization that works even with iCal invitations :-). Really nice.
The author's blog at http://bfish.xaedalus.net/?p=239 seems to be down, but cached version is available.
Credits and thanks to Joel for finding it.
It is a sad news - Kurt Vonnegut Jr., one of the great sci-fi writers, died at the age of 84.
Thanks for all the great hours spent reading many of great books he wrote over last 55 years. I guess that best way how to show respect is re-read something he wrote - like this one.
This was one great weekend ! Easter should be more often than once a year, I guess. Unlike Christmas, there was no shopping craziness before and much less overeating danger. Not counting overdose of chocolate, of course, but that's OK.
I managed do mostly nothing for about one day - up to Friday evening. Then I dived into the Ruby and Ruby on Rails world. After reading this and one third of this book, I like Ruby even more. I actually did write some code - not much, but rewrote some of my old Python scripts I use to manage files and repositories. The new Ruby version is shorter and IMHO more elegant (even with my limited command of Ruby idioms), much better readable - albeit a bit slower than Python version. But that does not change my very positive impression of new language. In addition to these (and btw, the mixin's are so great it is even scary), I learned to love the Rake and gem tools. Gem is pre-packaged Ruby component, managed as unit, that can be installed and updated remotely using the gem tool. It solves the problem of versioning - something I wished Java had from the beginning. It also provide similar functionality as the GAC in .NET: allows side-by-side existence of multiple versions of the same component and makes component available to other programs. Very clever, very convenient. Same story as with the language - gem is something similar that Perl did have with CPAN, but it is just cleaner, nicer and polished ...
I have decided to take weekend off. No catching up, no work, no stress. And it will be a proper weekend - 4 days long in total because both Friday and Monday are statutory holidays in Thinknostic. Great opportunity to relax, decompress, catch up on some reading and audio books and do something fun. And maybe gettogether with friends and celebrate Vlad's birthday. After all, the 28H is not every year :-)
.NET 2.0 offers very rich and nicely designed library of core data structures, collections and algorithms. Occasionaly, you run into situation when you need something not in there. Before starting to design you very own extension of LinkedList or HashTable, look into interesting open-source project NGenerics - chances are you will find it there.
It contains quite a few new data structures:
Association Bag BinaryTree BinarySearchTree Deque GeneralTree Graph HashList Heap Matrix ObjectMatrix PascalSet PriorityQueue ReadOnlyPropertyList RedBlackTree SkipList SortedList extensions of existing data structures to work with Visitor pattern