2008 September : Dragons in the Algorithm


Threadsafe Java Servlets

Web servers are inherently threaded applications: their primary purpose is to serve up a website or web application to a large number of users. Essentially all of the frameworks for creating web applications, such as Java’s “servlet” specification and all of the structure built on top of it, provide built-in support for handling queries from different users simultaneously, and they make it possible for these threads to operate “safely” (without data corruption) so long as a few basic rules are followed (“Don’t store anything in the servlet instance variables.”, and “Don’t access anything stored in static variables unless it is threadsafe.”).

However, threading issues for web servers are not limited to the fact that there are multiple simultaneous users — it is also possible to be processing multiple HTTP requests a single user at the same time. more…

How to email MY blog posts from Outlook

This post is mostly for my own use; it updates a previous posting with the details of exactly how I am sending out the email version of these blog postings. more…

The Secret to Making Chrome

ChromeGoogle has released a new browser, “Google Chrome“. It features quite a few innovations: some user interface innovations include tabs above the menus and URL bar, a single field combining the URL and search fields, search and status bars that disappear when not in use and a home page showing small versions of your 9 most-visited sites. Perhaps most interestingly, it runs each tab and plug-in in a separate process so errors or slow-downs in one cannot affect the rest. It also features a strikingly fast JavaScript engine (for those fancy “Web 2.0″ AJAX pages) and some interesting security innovations like “scoping” pop-ups to remain over the page that generated them. And it supports a porn mode… sorry, “Incognito Mode” where no record is kept of your browsing (is this because Google knows something about our browsing habits?). more…

[Here there should be links to more entries, but WordPress is a pain and I can't make it work.]