sciencething.org

Home

Here can be found various programs.

CDoc

CDoc is a simple program to generate pretty TeX output from annotated c or c++ code. Download or get the README.

Narsi

Narsi is not a real scheme interpreter, but it's close. It's reasonably quick even though its an interpreter, and uses GMP, so that it has fast MP arithmetic. Fun for number theory play. Get it here. Documents, such as they are, can be found here. This is the latest release as of May 7, 2004. Fixed printer to cut off printing of circular data structures. Made Environment truly first class. Release as of April 3. Fixed to egregiously silly bugs. April 2, 2004. New, write behaves correctly, fix to obscure call/cc incompatibility. March 21, 2004. New, there is the beginnings of a code optimizer. (All it does now is elide begins with only one expression.) New, some minor performance improvements. Release as of March 15, 2004: New, ` is now implemented in scheme and understands ,@. (I know it's embarrassing it didn't before). This makes Narsi a little slower than before but there's now an inline macro expander that speeds things up to faster than before. New, macros are now in line with other (non-hygienic) scheme macro systems. New, one glaring bug in call/cc corrected. New, embarrassing bug fix. New found trivial crash condition and fixed it. New ugly feature, call/cc, but some people like it. New, nifty feature, coroutines. 'Nother new nifty feature: made more script friendly. 'Nother new nifty feature: sockets. Also check out this for a more or less complete listing of scheme implementations. Also check out schemers.org for the best scheme jump off point.

Here's where the non-standard libraries needed for Narsi can be found: libpcre, libgmp.

userblock

Userblock is a simple user space block device driver kit for Linux. Here is the README. Here is the source.

uvfs

UVFS is a user space filesystem kit. The README is here. Here is the source for version 0.5, now only of historical interest, and here are the last release notes I had anything to do with. It is maintained now at http://sourceforge.net/projects/uvfs/.

Earlier version:

Daniel Gryniewicz has kindly provided a patch against 0.4 which makes UVFS 0.4 work with devfs (for those of you brave enough to use devfs ;). With 0.5 this patch should no longer be necessary.

Version 0.4

Version 0.3.1

Version 0.3

Version 0.2

Version 0.1

org.sciencething.unix

org.sciencething.unix is a tiny java library which provides a useful set of native unix system calls via jni. It has been tested on linux and mac osx. Download it here

JavaAST

JavaAST is a library that parses java source into an abstract syntax tree, allowing the manipulation of that tree and subsequent export as java source. It's alpha software now, but does seem able to parse and regurgitate even fairly gnarly java 1.5 source. Download it here. The readme is here.