A Better +1
I'm writing this shortly after getting access to Google+ - Google's latest attempt at a foothold in the social networking space. The whole rollout has several interesting features, but by far the most...
View ArticleHow Little Things Change: a Pascal-to-Javascript Converter
I've just "finished" writing a pascal-to-javascript converter, with the intent of using it to port 400,000 lines of physics simulations (from CUPS) over to browsers and therefore mobile devices....
View ArticleInstalling LLVM Haskell Binding on Snow Leopard
Installing LLVM Haskell Binding on Snow Leopard This is really just a quick memo to all those out there who install llvm (with Homebrew, perhaps), and then discover that when cabal tries to install the...
View ArticleGo Isn't C
Come to think of it, most languages aren't. (All but one, if I'm not mistaken.) Let me start off on another tack, though. It's always tempting to over-engineer - to build the internals of a system up...
View ArticleFunctors in Go
Go's interface{} - equivalent, for our purposes, to (void *) in C - allows us enough leniency in the type system to implement a perversion of haskell's perversion of category theory's concepts of...
View ArticleThis is the Problem (and what can be done)
Today being today (wow! It worked (so far)! Even after months of eager, happy speculation, I still feel so good!), I spent a good deal of time watching C-SPAN. Not much about SOPA - the House spent the...
View ArticleDo Small Things
The amazing thing about technology, as pointed out by Justin Rosenstein, is that it "empowers small groups of passionate people with an astonishing degree of leverage". Quite true. One often sees...
View ArticleYou Don't Need Generics (Or, Idiomatic Go Without Generics)
Go's lack of generics can make some programming shortcuts harder to take. For example, there is no direct way to write a typesafe sort function that takes as arguments an array and a comparison...
View ArticleYou Are Not Special
Everyone has their own delusions of grandeur. The ill-conceived notion that somehow, this editor, mail client, web app, or game I just conceived of 15 minutes ago is going to make it big. Before I...
View ArticleMigrated This Blog
I've just finished migrating this blog to jekyll - all migrated posts (coming from wordpress) are in HTML - this post and all future ones are stored just as markdown.
View ArticleFirst Languages Don't Matter
Any hacker with his salt can debate for hours the question "what programming language should I learn first". Everyone certainly has enough practice - at least once a week, someone asks #golang-nuts if...
View ArticleA Lighter Pommed
One of my main gripes with running linux (Arch w/ dwm) on a macbook pro is that the hotkeys handler daemon is a bloated, half-decade-old, mildly bitrotted clunker from debian: pommed. The two major...
View Article"Corruption Hurts the Corrupt, Too (Re: Megaupload)"
You would think, that prosecuting those running a set of websites almost universally recognized as a major hub for piracy - a set of websites serving almost no other purpose - would be pretty damn...
View ArticleUninstalling X11 on OpenBSD
X11 is distributed on OpenBSD as an optional part of the core system, rather than as its own set of packages; therefore, there is no pkg_delete available to automate uninstallation. Fortunately, the...
View ArticleThat's Not Groupthink
Persuasion isn't always "here's the facts, you're either an idiot or you're not" - it's "here are the facts and here is a sensitivity to your state of mind", and it's the facts plus the sensitivity,...
View ArticleTechnology-Minded
An argument occasionally used against the claim that the advent of the Internet has been the biggest thing since electricity (or the steam engine, or the printing press), is that a man from a...
View ArticleThe Fallacy of Choice
People like choice.Well, that's not quite true. It would be more correct to say that we don't like to loose choice. Few people actively seek situations in which they'll have more freedom, but almost...
View ArticleFlexible Format Strings in Haskell
One of my continual frustrations with most programming languages is the lack of facilities for creating quick'n'easy parser. C has scanf, but that's unbelievably fragile, and not particularly useful...
View ArticleInverted Scrolling on Linux
Now that I've started using OS X Lion at work, I've quickly grown to like the more intuitive inverted scrolling it uses. (For those who don't know (or pay attention to) any apple fans, the direction...
View ArticleThe Simplest Recursive Function
GHC's Data.Function package provides an interesting function fix, defined as:fix f = f $ fix f Wait, what? This thing's supposed to be useful?The purpose of this function (a "fixed-point combinator")...
View Article