Dragons in the Algorithm
Adventures in Programming
by Michael Chermside

Separation of Concerns

Once upon a time (in the dark ages of web application development) we built our applications as a single monolithic Perl CGI script, or perhaps a large JSP file containing the entire application. The code looked something like this:


<% Cost[] costs = CostHelper.calculateCosts(loanData, currentDecision); %>
Current Costs:

    Cost …

Read more

Posted Mon 27 October 2008 by mcherm in Uncategorized

Many ways to attack websites

Developers of web applications have quite a few different kinds of "attacks" to worry about. I will try to describe the major categories I know of, including one which is "new" as of the past month or so.

SQL Injection

The most venerable is the SQL-injection attack (and related attacks …

Read more

Posted Thu 09 October 2008 by mcherm in Uncategorized

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