Formatting USB flash drives for write speed

Flash drives enjoy a reputation for being fast and that certainly goes for high-end models with their elaborate memory controllers and multi-bank layouts. A fundamental "problem" with current flash memory technology is that writing even a single bit of information requires that an entire block of flash memory is reset first [1], which greatly reduces … Continue reading Formatting USB flash drives for write speed

HTTP: The importance of declaring non-cachable resources as such

It works fine with Chrome and it fails on an Android 2.3 browser - the page is performing an XmlHttpRequest to the server for a resource that just changed for sure and yet it gets back an older version. That's the result of a. the browser assuming a resource is cachable even if no Etag … Continue reading HTTP: The importance of declaring non-cachable resources as such

Solving the 8 Queens puzzle with bit operations

The 8 queens puzzle is a classic (and quite fun to solve) toy problem: place eight queens on a chess board in such a way that all queens could fully move without being obstructed by any other queen. While without practical applications, it illustrates a number of aspects of designing algorithms and implementing programmes: - … Continue reading Solving the 8 Queens puzzle with bit operations

Speeding up initial page view of Ajax applications with static HTML

Many Ajax applications build the UI programmatically, i.e. think of GWT's UI builder or one of the many convenient jquery widgets which incurs a visible delay between the time of the initial page load and the time the page has finished rendering. The delay can be mitigated by a static "please wait while loading" message … Continue reading Speeding up initial page view of Ajax applications with static HTML