Thursday, 7 January 2010

Tricky behaviour in .NET when inheriting methods

A friend of mine showed me a little information from MSDN that described the behaviour of methods that have the same name as other methods from the base class. Go to the MSDN site and scroll to the Override and Method Selection section.

A small excerpt: Override methods are not considered as declared on a class, they are new implementations of a method declared on a base class. Only if the C# compiler cannot match the method call to an original method on Derived will it try to match the call to an overridden method with the same name and compatible parameters.

Long story short: if you create a method in a derived class that has the same name as a method in the base class, the method in the derived class will always be used, even if the base class method matches better the call signature. In other words Derived.DoWork(double value) will be used instead of Base.DoWork(int value), even the value passed is an integer. Indeed, the double value method will be used even if there is a Derived.DoWork(int value) method, but one that overrides a method in Base.

You can solve this by casting to the base class, but the best idea is to never create methods with identical names to ones in the base class.

Simply Noise

Happy New Year! May the year bring... wait a minute, I didn't mean to add to the noise that follows any large celebration like the New Year. In fact, quite the opposite. I intend to show you a way to block the outside noise in a relaxing way while on your computer.

Many a time a simple mp3 player would do the trick, however, sometimes you need to read boring documentation and that makes your brain switch to the text of the songs played rather than stay focused on what must be read and understood. Enter SimplyNoise, a simple site that generates white, pink and brown sound, with an optional feature to modulate the volume, thus shielding you from the outside audio interference, yet not disttracting your attention.

This also helps with tinnitus, if you have the misfortune of suffering from it. Recent research also shows that the condition can be alleviated if the specific frequency of the tinnitus sound is blocked. If they would block some frequencies from their generated sound, they would actually provide a medical service.

My personal favourite is the brown sound with modulated volume. Sounds just like standing on a beach.

Happy relaxed coding!

Monday, 28 December 2009

Deadhouse Gates by Steven Erikson

book coverThe second book in Steven Erikson's Malazan Book of the Fallen series, Deadhouse Gates starts from where Gardens of the Moon left, using some of the characters, but in a completely different storyline. Thus, it can be read as a separate book.

I found Deadhouse Gates to be both better in the good parts as well as worse in the bad parts than Gardens of the Moon. The characters are more complex, the storyline more interesting, the battles more epic, but the magic is even stronger, its power never truly explained or detailed so that it fits in the background. What use is an army, if a single mage can obliterate whole realms? How does a human empire span so much land unchallenged, while creatures that can crush it singlehandedly exist in the world?

As expected, the characters more their separate ways, occasionally meeting for brief periods of time, but essentially having their own story arches. There is the Coltaine arch, with the moving story of a brilliant commander protecting thousands of ungrateful whiny rich refugees; the Felisin arch, which describes the life of the younger Paran sister, driven by the hate towards her older sibling and adjunct to empress Laseen; the story of Kalam, the assassin, in his quest to kill Laseen; the tale of Crokus and Apsalar and Fiddler, travelling the magical desert Raraku; finally, the story of Icarium the Jaghut and Mappo Runt, the Trell, both insanely old and searching for Icarium's lost memories.

Great book, I started reading the third in the series and I don't see me stop until I finish the entire Malazan saga. I found an interesting link that can serve as an encyclopedia of the Malazan universe. Here it is: Malazan universe.

Wednesday, 23 December 2009

Joy of Thinking, lectured by Ed Burger and Michael Starbird

Joy of Thinking: The Beauty and Power of Classical Mathematical Ideas is an earlier math course, staring a long haired Ed Burger and his Texas U colleague Michael Starbird.

Many of the ideas in Introduction to Number Theory have obviously originated here, however I didn't find this course so interesting, maybe because it was not so well thought trough or maybe because it was clearly targeted at a lower level of understanding and the many repetitions of basic ideas kind of turned me off.

The content of the course is structured into three parts: Numbers, Geometry and Probability. The first part contains very little that has not been covered in Introduction to Number Theory. The geometry section is a bit interesting as Michael Starbird takes us through some topology, talking about the Möbius strip and the Klein bottle. The last part is basic probabilities, although there are some interesting problems studied there.

Overall, a fun course, better suited for people that are really not into maths, but more into interesting ways of thinking. The last lecture summarises the life and thought "lessons" learned from this trip into mathematics.

Monday, 21 December 2009

EasyReplace - replace files in a folder hierarchy with newer versions

Yay! New Github project: EasyReplace.

What it does is replace all files in a folder hierarchy with the files you drag&drop on the app info box. It is very helpful when you want to replace old library files or some other versions of your files with newer ones without having to manually navigate through solution folders.

Life on Mars revisited

...and no, I am not talking about the Ashes to Ashes spinoff of the British series, I am talking about actual life on Mars.
Microscopic picture of the meteorite
Remember in 1996 when everybody was talking about finding signs of life in a meteorite that came from Mars? At the time the theory was dismissed because other causes for the structures in the meteorite were thought to be valid. Here comes a new study from december 2009 that invalidates the proposed non-organic processes in which the features on the martian rock could have been formed.

Yay! Merry Christmas, green guys!