Author Archives: eric

How to write software

A guide for the solo programmer I have created a planning and organization process for developing software. The process works for me. I need to organize my work ahead of time or I get stuck working on unimportant details. I have built minimalism into the process. I tend to work alone. Solo programming imposes very [...]

Clojure News March 26

This is something I’m trying out. Probably best to watch in full screen. News from this week in the world of Clojure. Keyword arguments in Clojure. Disclojure episode 15. LabREPL announced.

Automatically create wrapper object in Clojure

Clojure has made it easy to do something which should be really simple and straightforward, but in Java is not. How many times have you wanted to create a wrapper class in Java? You have to write all of the methods to call the same method on the wrapped object. It must be a common [...]

Graph Reasoner for Clojure

I’ve been working on a graph reasoner I’ve called clj-reasoner. Graph reasoning is a way to do inference over a relationship graph. Let’s look at an example. Imagine we have gathered friendship data from various sites on the web. We basically have an impartial social graph: friendshipgraph — Generated by EHT-Graphviz Clojure code to generate [...]

Link Grammar and Graph Reasoner Projects

In my last post, I said I’d talk about what I’ve been working on. I started working on cleaning up my version of OMeta, but I found fnparse and that looks way better than my parser. It’s different two important ways: OMeta was a DSL for writing parsers, not a monadic parser; and OMeta could [...]

Looking forward to posting again soon

I’ve been working on some cool projects in Clojure, though I haven’t posted much about them. A version of OMeta-style parser. Basically, you define a grammar for a language that can operate on any Clojure data structure (not just strings). A Link Grammar parser. I hope to talk about them soon. Thanks for being patient [...]

Programming Language Religions

We have all experienced it: you make an innocent statement about a programming language online, and suddenly you are mired in a flamewar. You are labeled a fanboy and flamebait. Why is choice of programming language such a touchy issue? It’s like once you enter into certain areas of the topic of programming languages*, you [...]

Investigations into Terracotta

Clojure + Terracotta = Yeah, Baby! I just stumbled across this effort to get Clojure running on Terracotta, a JVM clustering infrastructure. Terracotta gives your distributed JVM’s a shared heap, so the possibilities of distributing computation are immense. This kind of thing really gets me going. All I need now is a room full of [...]

Writing map in Haskell

Recently, I posted an article about why I didn’t like Haskell’s type checker (or really, any of the other type checkers I know of) in theory. I sensed that it got a lot of flack. It was an idea I had been pinging around in my head for a while. It was not meant as [...]

Nice article on small software

The Virtues of Small Software Nowadays we have thousands of times the processing power, memory and storage yet, from the user’s perspective, software for the desktop, web and mobile seems to run slower than it should, or used to. While it does start a bit backwards-looking*, this article wraps it up with a great positive, [...]