A recent project at work required building a multi-step dialog to manage the interface between a user and an expert system (and some fairly advanced NLP to boot). On the surface this looked like a fairly standard Wizard problem — design a bunch of screens with questions, and then collect the answers as the […]
Day-to-day Memoization
Memoization (not memorization) is the process of remembering the results of a computation for use later. (I think of it as “making a memo” to look back on later.) Memoization is the core to any dynamic programming implementation, and allows many simple algorithms to run in linear or polynomial time when they would otherwise take an exponential number […]
Creating a secure webauth system: Part 1 — HMAC
This is the first in an n-part series about web authentication for a system where user identification and attribution is important, but content protection is not. This entry assumes that a secure method has been used to negotiate a shared secret — as the result of username / password authentication over https, for example.
Obviously […]
Things I need
There are many small apps that I wish I had, here’s a short list of the ones that come to mind at the moment:
A process monitor that shows the top consumer.
I often tack my system(s) to the max, and therefore run out of cycles frequently. While this is sometimes the result of batch computations […]
(not (fill-paragraph))
I use emacs as much as possible, today being no exception. Currently, I’m doing a fair bit of writing at work, and unfortunately that means Word (or Open Office at best, depending on what OS I’m in). Neither program supports much in the way of emacs compatibility modes, so if I’m generating new content (as opposed to […]
The Matrix is under construction
<blink>12:00</blink>
Artificial Intelligence is a term with a great deal of accumulated baggage. Throughout the years sci-fi authors and screenwriters have depicted AI as a marvelous double-edged sword. On one hand, the benefits of ‘AI’ are myriad—free, inexhaustible and ethical sources of labour could greatly increase our productivity, even to a point beyond that of reason, allowing everyone to […]
mt.el: posting from emacs
MT + Emacs + Markdown & Geshi?
Is it possible? We’re here to find out :) I just got around to installing ml.el in emacs, and this post is essentially a test to see if markdown syntax will work (and round-trip to Movable Type and back to emacs — it seems to come from mt correctly…).
Source code:
transcode-language: java public class […]
Linux, ASP.Net and Apache
The mono project, which aims to provide an OSS alternative to the .Net framework, is capable of serving ASP.Net pages (amongst other things). On Friday I sat down to do this, and realized that while there are many pages that describe the process, none that I could find, covered all the info needed to […]
Blog migrations
I’ve moved Bitwise Evolution to yet another blog — this time I’ve moved from WordPress to MovableType. The motivating factor was that WordPress made it extremely difficult to post correctly formatted code along with other content. WordPress also doesn’t store a non-html version of each post, so you can’t easily edit […]
Polymorphic Generics in C#
Generics are great for adding some level of type safety to C#, but you may run into problems when using Generic classes with objects that aren’t of the exact Class or Interface indicated by the generic type template. Enter Generic Constraints.
Generic Constraints let you restrict the number of types a type variable can apply […]