Last November I wrote a molecular simulator called Go Replicants! that uses Go potentials to simulate protein folding processes and study some of their thermodynamic properties. Its source code and some instructions can be found here.
Last November I wrote a molecular simulator called Go Replicants! that uses Go potentials to simulate protein folding processes and study some of their thermodynamic properties. Its source code and some instructions can be found here.
Vivek Ramachandran has created a screencast demonstrating the use of my program Halberd. Do watch it if you want to see Halberd in action!
I have written some notes on functional programming in Maple mainly to help me find my way around it. For the moment these notes are very terse but I find them useful as a cheat sheet and I might expand them in the future.
I decided to follow the zeitgeist and declare .emacs bankruptcy. This is the outcome.
The pros and cons of doctests have been discussed elsewhere so I won’t enter that debate here.
I was told it was trivial to roll your own doctest suite in Common Lisp. I have done that and it is easy indeed but I have included the code in incf-cl for those who would like to use it right away.
Continue Reading…
Chris Ball asked everyone who likes Unix for a tool which would be to function calls what strace and ltrace are for system and library calls respectively.
I wanted to write this myself for a long time but what prevented me from doing so was the fact that I had come up with a trivial shell/awk script that achieved almost the same goal. Continue Reading…
List comprehensions are a programming language construct that closely mimics the way you declare a set in mathematics and sometimes are more succinct and readable than using a composition of mapcar, delete-if or an ad hoc imperative loop.
Having list comprehensions in Lisp was something I was missing from Python and Haskell. So I tried to find something similar and discovered that Continue Reading…
I’ve just released the first version of cl-buchberger, a Common Lisp
implementation of Buchberger’s algorithm for the computation of
Gröbner bases.

There are many improvements waiting in the pipeline but the basic
functionality is there.
You can read more about cl-buchberger here.
I wrote Libbtrace some years ago to allow some kind of introspection in C programs: namely, to be able to inspect the program’s backtrace showing not just the addresses but also the relevant function names. This was useful when the GNU Debugger lacked proper multi-threading support.
This library used an undocumented (at the time) glibc function called backtrace(3) which would return memory locations but not function names. Today, browsing old source code, I reviewed the library and was glad to see that backtrace(3) is currently not only documented but it also offers the same features my library did, so I won’t be updating Libbtrace anymore.
The folks at remote-exploit.org have included my program Halberd in Backtrack v 2.0 Final, a live Linux distribution specializing in penetration testing. Isn’t that cool?