The Short History of Sorting in C#

Recently, while reading Jon Skeet’s excellent book “C# in Depth” I came across the long and varied history of sorting in the C# language. It provides a tantalising view of how the language has evolved over the years. Apart from being a great example on C# in particular it’s also a good example on how […]

Continue reading →

Javascript Classes

Javascript isn’t a classical language, at least not yet. It’s prototypal, which is a bit like every object being a class in waiting. You can create graphs of objects where one object inherits from another, but the idea of classes doesn’t really exist. This can be a drawback, specially with code encapsulation. It becomes difficult […]

Continue reading →

WinPcap Dropping Packets

WinPcap is a handy windows packet capture library. It works by filling a buffer with packets that are passing through a network adapter of choice. Your application interacts with WinPcap by taking those packets off the buffer and processing them. Sometimes when the speed at which you process the packets off the buffer is slower […]

Continue reading →

What Azure Table Storage Isn’t Good at

Now that the dust has settled on Cloud Computing and the mob has moved on with the pitchforks to burn the Big Data barn down it’s worth while trying to understand one major feature of Windows Azure – it’s Table Storage model. What is it really good for? Put another way, what about it isn’t […]

Continue reading →

Redis vs Azure

Redis and Azure table storage have a lot in common. Both have no schema’s enforced on the objects that they store. Both have limited complex query capabilities and both are touted as being “post SQL” storage. However there is one major difference between the two that tends to dampen comparisons and that is how they […]

Continue reading →

Selenium Python and TinyMCE

Getting Selenium to inject text into a TinyMCE control using the python API can be difficult. Some solutions don’t work nicely across platforms. Using the TinyMCE API on the other hand provides a handy alternative. Here “tiny” is the id of the textarea that you have assigned a TinyMCE editor to.

Continue reading →

CMake – Platform Specific Actions – the WIN32 and UNIX variables.

This entry is part 5 of 5 in the series CMake - The Beautiful Beast

Sometimes you need to link one library on Windows and another on Linux (or vice versa). CMake has a number of variables that allow you to do this easily: CMake sets these variables for you. You can use them in your CMake scripts to do specific functions only under a specific Operating System. That’s it! […]

Continue reading →

Pessimistic vs Optimistic Concurrency

Concurrency is when multiple jobs see incremental progress within the same time period. It may be that the concurrency is parallel where both jobs progress together at the same time or time sliced wherein parts of both jobs are done one after the other by a single processor. Whichever the case concurrency creates problems for […]

Continue reading →

CMake find_package

This entry is part 4 of 5 in the series CMake - The Beautiful Beast

In the last scroll on CMake we discussed adding libraries that you write to your own code. This time, we look at using third party libraries out of the box. This turns out to be fairly easy with CMake – though there are exceptions (alternatively spelled “bugs”). Adding a third party package such as the […]

Continue reading →