Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Tools, techniques, and theory for measuring and improving the power and performance of developers and their code
New blog: Papers in Computer Science
Hey all - I apologize for the (extremely) long period of no updates, I've been prioritizing other...
Date: 02/28/2009
P-complete and the limits of parallelization
We're entering an era where CPU clock speeds will soon cease to scale upwards and instead CPU...
Date: 09/07/2007
Robin's theorem
Most computer scientists are familiar with the P = NP problem, which asks essentially whether we can...
Date: 07/16/2007
Cache-oblivious data structures
In most data structure and algorithms classes, the model used for basic analysis is the traditional...
Date: 06/12/2007
K-nearest neighbor spatial search
I apologize to everyone for the hiatus - I realise a post is more than a little overdue and will try...
Date: 06/07/2007
Functional list processing in C# 2.0 with anonymous delegates
One of the benefits of functional languages is their great flexibility in list manipulation, which...
Date: 06/30/2006
Factoring large numbers with quadratic sieve
Today I'm going to talk about how the quadratic sieve factoring algorithm works, giving a...
Date: 06/19/2006
Color quantization
If you've ever done work with Web graphics, I'm sure that at some point you reduced an image with...
Date: 05/09/2006
How does JPEG actually work?
JPEG is an image encoding designed to compress photographs and similar images effectively, often 5...
Date: 04/12/2006
Encoding correctness in types
This article will discuss effective use of types to catch some common problems at compile time not...
Date: 03/27/2006
LiteratePrograms wiki
Hi everybody. This is a short post, but I just wanted to tell you all about a new wiki I created...
Date: 03/03/2006
The nature of computing and infeasible machines
If asked what they do, some developers might say "I write code" or "I program computers". But more...
Date: 02/06/2006
Literate programming
Literate programming, invented in 1981 by the same Donald Knuth who wrote The Art of Computer...
Date: 01/23/2006
Efficient selection and partial sorting based on quicksort
Most people who have studied algorithms remember quicksort, the ubiquitous sorting algorithm...
Date: 01/18/2006
Integer division by constants
Today I'm going to discuss a few clever algorithms for dividing values by constant values known at...
Date: 12/12/2005
Succinct data structures
Sorry for the long hiatus, everyone. Today I'm going to talk about succinct data structures, which...
Date: 12/05/2005
Persistent data structures
When learning to program in a functional language such as Lisp, Ocaml, or Haskell, one of the most...
Date: 11/08/2005
Non-nullable types
If you write programs in C, C++, Java, or C#, you've gotten used to having the null value around....
Date: 10/10/2005
Secret sharing
One of the most difficult problems in cryptographic key management is keeping a secret key safe from...
Date: 10/02/2005
Custom building and code generators in Visual Studio 2005
I'm a fervent fan of using code generator tools wherever possible to make your life easier. Although...
Date: 09/13/2005
Modular arithmetic and primality testing
Number theory is, roughly speaking, the study of properties of integers. Often a problem which is...
Date: 09/07/2005
The Visitor pattern and multiple dispatch
Today I'll talk about multiple dispatch, a programming language feature that increases flexibility...
Date: 08/29/2005
Floating-point arithmetic
What's got a mantissa field, an exponent field, is included in nearly every major programming...
Date: 08/24/2005
Unrolled linked lists
Today I'll be discussing unrolled linked lists, a simple variant of the linked list which has many...
Date: 08/22/2005
Stop writing header files
Although one of my favorite languages, C++ has a number of issues that make it difficult to write...
Date: 08/19/2005
Bloom filters
Imagine you're writing a simple spell checker in C. You've already collected a dictionary of 100,000...
Date: 08/17/2005
Welcome!
Hi everybody. My name is Derrick Coetzee. I'm totally new to the blog scene - I've barely read any,...
Date: 08/16/2005