Review of Slack

Slack Tom DeMarco Broadway Books, 2002 In Slack, Tom DeMarco takes a somewhat heretical position about how a business can succeed. He argues somewhat convincingly that companies need less efficiency and more slack in order to adapt to changes in their environment. DeMarco goes on to define slack as that period of time when you… Read More »

Review of MySQL CookBook

MySQL CookBook Paul DuBois O’Reilly, 2003 This book covers a large amount of material on using MySQL. If you are new to MySQL (or SQL), this book could be a tremendous help. There are only two bad things I can say about this book. One is that it is huge. If you don’t read books… Read More »

Unit tests that should fail

I was doing a little research on the Java JUnit test framework and ran across the article The Third State of your Binary JUnit Tests. The author points out that in many test sets there are ignored tests as well as the passing and failing tests. As the author says, you may want to ignore… Read More »

Thread death

There is a subtle aspect of threads that may be worth exploring having to do with the concept of joining. Many threading systems support the possibility of waiting until a thread completes in order to retrieve its exit state. This is often started through a function called join(). In order to support this feature, a… Read More »

Worker thread patterns

Any system that uses the worker pattern may also want a dispatcher thread that wakes up workers and sends them on their way. In this approach, the dispatcher thread handles setting up the data needed to finish the task. The dispatcher may either choose a worker from a pool of suspended threads or create a… Read More »

Threading Patterns

Possibility of thinking of multi-threading design patterns as a way to organize threading code. Some possible patterns include: Fire and Forget (background thread) Periodic (Timer) IO thread Producer/Consumer Worker thread (work queue) Copier thread Pipeline (must be careful) Swarm? The background thread could be joined at a later time or a thread that runs it’s… Read More »

Perl as a “dinosaur”?

Someone asked a question about updating SVG dynamically from a server on the SVG Developers list this morning. One of the (many) responses pointed to an article on SVG server-side. As usual, I went to check it out to see if it might hold some tidbits I could use. Or maybe, it could be a… Read More »

The Smite Class

In attempting to do Test Driven Development, we noticed that one of the problems with testing object validation code was the necessity to have broken objects to test with. This is particularly important in cases where the internals of an object may come from somewhere uncontrolled. For instance, objects that may be read from disk… Read More »