Blogs

Windows Phone 7 development in Visual Studio 2010

The recently released Microsoft Visual Studio 2010 does not support mobile development for OS versions prior to the new Windows Phone 7. If you want to write software for Windows Mobile 6.5 or lower, you need to stick to Visual Studio 2005. So much for backward compatibility.

iPhone OS 4.0 features

Apple has recently announced the long anticipated release 4.0 of their iPhone OS. The list of new end-user features is disappointingly short - the main item seems to be the addition of some GUI multitasking. Many important, easy to add and practical features, already found in the "jailbreak" versions are not mentioned.

WPF DataGrid row validation

I recommend reading this interesting article (WPF DataGrid Practical Examples) about WPF DataGrid. Among other things, it describes how to perform row validation using the standard IDataErrorInfo interface.

Log viewer for Windows

Monitoring text log files is quite important activity in our day to day programming lives. Unfortunately, Windows operating system does not include convenient tools to perform the task by default. Nothing comparing to tail -f or GNU less is deployed with an installation of the OS from Redmond. Luckily, some free alternatives are available on the Internet.

How to invoke click event in WPF programmatically

Sometimes you need to to trigger a click or some other event for one of your WPF controls, such as a button, a menu or a checkbox directly from code. There are no methods on the controls themselves do do this directly per event type. However it is not a big deal anyway - simply use RaiseEvent like this (assuming you have a MenuItem object called item):

LINQ QuickSort in C#

This is most certainly not the recommended way of implementing QuickSort, it assumes there are no duplicates, but it should work:

        private IList<int> sort(IList<int> a)
        {
            if (a.Count <= 1)
                return a;

Fedora Core 12

I have recently installed Fedora Core 12 on my server box. It was an upgrade from Fedora Core 9 and I had to do an intermediate upgrade from 9 to 10, since direct transition from 9 to 12 is not supported. Aside from this small annoyance the process went through very smoothly. It looks like Fedora Core 12 supports an "in place" upgrade mode, similar to recent version of Ubuntu.

Safe implementation of INotifyPropertyChanged interface

With arrival of WPF the usage of INotifyPropertyChanged interface has expanded dramatically. The most annoying and dangerous part of implementing the interface is, obviously the fact, that you have to pass your option names as strings. This leaves your code prone to bugs - if in 3 months time you rename one of the properties, there is very good chance that you will forget to update the string name as well. In order to overcome the problem we can use some reflection and a little bit of boiler plate code. The good people of the Internet have done all the work for us already, so just copy, paste and enjoy!

Events and BinaryFormatter serialization in .NET

Serialization in .NET world is not straightforward. For years we've been told to use XmlSerializer, but it has its limitations. It is unable to serialize anything but the public properties/fields, it cannot deal with interfaces in most of the circumstances (specific collection interfaces being the only notable exception) etc.

Source code highlighting in Drupal

It is nice to be able to blog about software. For instance, a few years ago I wrote an article about web development using C++. I still get a comment or two about it almost every week, despite the fact that not a single line of code has been written for the project, unfortunately.

Follow the updates to the site - subscribe with your favourite aggregator:

Feed Icon | XML Icon | Google | Yahoo! | Bloglines | Newsgator | MSN | AOL | Monitor This