Dragons in the Algorithm
Adventures in Programming
by Michael Chermside

Category: Programming

Threadsafe Java Servlets - a solution

In a previous post I wrote about how nearly all web applications built on Java servlets suffer from potential threading issues. Web browsers can make multiple simultaneous requests, which will result in multiple threads concurrently modifying the (not threadsafe) HTTPSession. Most people just ignore the problems (which strike rarely), some …

Read more

Posted Tue 07 October 2008 by mcherm in Programming

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 …

Read more

Posted Tue 23 September 2008 by mcherm in Programming

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 …

Read more

Posted Mon 15 September 2008 by mcherm in Programming

Metaphorical Programming

Unlike computers, humans tend to think in metaphors. That is, when we want to reason about something new or unfamiliar we reason by analogy with something familiar. This is a great mental trick and it is part of what allows humans to be flexible and to deal with unanticipated circumstances …

Read more

Posted Mon 28 July 2008 by mcherm in Programming

Go Easy on the Maintenance Programmer

"Maintenance Programmer": This common, and underappreciated species of programmer is often heard muttering and cursing under their breath. Sometimes bald from tearing their hair out in frustration.

From time to time we all have to do it: simple changes and maintenance to code - often other people's code. And the truth …

Read more

Posted Fri 18 July 2008 by mcherm in Programming