This website does have a design; it's modelled after the best website on the internet: http://math.nyu.edu/




Lisp Stuff

I decided to try to familiarize myself with Common Lisp by implementing some of the nice features of Lush in CL. In case you haven't heard of it, here's a blurb from their website:

      Lush is an object-oriented programming language designed for 
      researchers, experimenters, and engineers interested in
      large-scale numerical and graphic applications. Lush is 
      designed to be used in situations where one would want to
      combine the flexibility of a high-level, weakly-typed
      interpreted language, with the efficiency of a strongly-typed,
      natively-compiled language, and with the easy integration of
      code written in C, C++, or other languages.

Lush is a really nice language to work with, and once you've tried out its tensor library or used its compile-to-C facility to interact with the real world, it's hard to live without.

So without further ado, here is some if this functionality re-implemented in CL.

Inline C

cinline.lisp [ASDF]
Depends on:

A package that uses your system's C compiler to compile and load inline C code. Works with CMUCL and SBCL (UFFI didn't cut it). When you download it, you may want to modify the following global variables: This package defines a reader macro for python (the language)-style multi-line strings, so you can write instead of Besides that, only one function (create-c-function) and one macro (cinline) are exported from this package. You'll probably just use cinline. The usage is: Here's an example


IDX

idx.lisp [ASDF]
idxmath.lisp [ASDF]
nn.lisp

A small matrix package stolen from Lush for use in Common Lisp. Not to be confused with Lush's impressive tensor library, this only implements a few bits and pieces. For an in-depth example, take a look at nn.lisp which implements a multilayer perceptron and makes heavy use of the IDX library.

Here's an example:

I would really appreciate any feedback on this code, even if it's something as trivial as telling me that I'm not following CL coding conventions. Please e-mail me (Yury Sulsky) here: <yury(at)nyu(dot)edu>.

Thanks!



Misc. Stuff

Equation Grapher

grapher-20090301.tar.gz [screenshots] [ binary (x86 64-bit Linux)]

An equation grapher I first wrote long, long ago. It's come in handy surprisingly often. Let me know if the binary works for you.


Kill Idle Terminals

kill-idle-terms

This is just a simple shell script but it's probably the most useful thing I've ever written. If you're anything like me, after about ten minutes at the desktop you have 20 terminal windows open, most of them doing nothing. This just gets rid of all of them. Bind it to a key combo for best effect. Works on gnome-terminal, aterm, xterm, konsole, and rxvt but add your own if you must.


Album Tagger

album-tagger.tar.gz
Depends on:

I admit it. My mp3s are almost all bootleg. But I want album information too! This is why I wrote album-tagger, a python script that uses MusicBrainz and Google to try to guess the correct Album, Year, and Track Number for your mp3s.

* As of 2005-03-29, version 2.0.2-10 of MusicBrainz python bindings, only the CVS version allows searching for release dates of mp3s. Don't worry, if you don't get the CVS version, Album Tagger will just be restricted to guessing the years from Google.
**This is included in the tarball. However, you do need to get a Google web services key and place it in the directory with a filename of googlekey.txt. This is optional, but recommended (if you don't do this, the program will just try to screen-scrape the info from Google).


Status Tray

statustray.tar.gz

A set of three programs that make life easier for anybody who doesn't run a GNOME/KDE panel. These are:

Here's what it looks like: The system tray (what holds everything else) is trayer from the Crystal FVWM project. The rest are: from right to left: datetray, sawfish's pager via swallowtray, acpitray, and wmcliphist (below). Check out the README for details.

Clipboard History Monitor

wmcliphist.tar.gz

I didn't write this. I wanted a clipboard monitor that can run in a system tray, so I modified wmcliphist, a clipboard manager originally written for Window Maker. I fixed a few bugs, updated it to use GTK2, and added a few features. I sent it to the original author but he never responded, so here it is.



My Stuff

Florence Pics
My Horrible First Home Page (IE only, fortunately. Seriously, don't even try this with anything but IE)