Although I have been an expert in popular computer programming languages like C, C++, and Java, the software side of most of my current consulting and personal work is in Racket, which originally grew out of the Lisp dialect PLT Scheme.
This page covers misc. Racket work of mine that is publicly-available at this time. (Most of my Racket-related work products are proprietary and confidential, but I'm trying to get some of the more generic stuff open-sourced.)
If you're a user of Racket, Common Lisp, or Scheme, and in the greater Boston area, you simply must join the boston-lisp-announce low-traffic, announcements-only list that I manage.
If you're using plain Emacs for Racket or Scheme development, you might want to be using my Quack enhancements to Emacs. You might also want Racket Scribble Emacs Mode.
I try to package up general-purpose Racket code from my personal projects as reusable open source libraries, both big and small.
bencode: BitTorrent Bencode Decoding
ccnum: Credit Card Number Utilities
CharTerm: Character-cell Terminal Interface
cpuinfo: CPU Information
csv: Comma-Separated Value (CSV) Utilities
gdbdump: GDB-based Native Thread Backtrace Dumps
html-parsing: Permissive Parsing of HTML to SXML/xexp
html-template: HTML Writing Template Language based on SXML/xexp
html-writing: Writing HTML from SXML/xexp
hostname: Getting Hostname, FQDN, and IP addresses
json-parsing: JSON Parsing, Folding, and Conversion
levenshtein: Levenshtein Distance Metric
McFly Runtime: Embedded Package Documentation Runtime
McFly Tools: Developer Tools for Racket
mediafile: Media File Metadata Utilities
numformat: Sketchy Number Formatting
numspell: Spelling Numbers as English
Overeasy: Racket Language Test Engine
parted: Interface to GNU Parted Disk Partion Utility
path-misc: Misc. Path Utilities
postnet: USPS POSTNET Barcode Encoding
progedit: Programmatic File Editing
Protobj: Prototype-Delegation Object Model
Rackonsole: Lightweight Operator Console for Racket Server Processes
randtok: Random Token String Generation
rfc3339: RFC3339 Date and Time Format
scgi: Web HTTP SCGI and CGI
shootout: Expression Performance Comparison
soundex: Soundex Index Keying
srfi-9-plus: Enhanced define-record-type
sudo: Sudo Command Processes
tabexpand: Tab Character Expansion
uri: Web Uniform Resource Identifiers (URI and URL)
vlc: VideoLAN VLC Media Player Control
web-server-xexp: SXML/xexp Support for Racket Web Server
WebScraperHelper: Simple Generation of SXPath Queries from SXML Examples
xexp: SXML/xexp Representation of XML and HTML
Obsolete and unsupported libraries:
ASXT: Another Scheme XML Transformer [obsoleted; replacement might someday be released]
HtmlPrag: Pragmatic Parsing and Emitting of HTML using SXML and SHTML [replaced by html-parsing, html-writing, xexp]
Httper: Web HTTP Client in PLT Scheme
linux-proc-apm: Linux /proc/apm APM Data Access in Scheme [no means of testing]
Morc: Mock Arc Programming Language as Scheme Extension
srfi19.plt: Neil's Temporary SRFI-19 for PLT [a version now in PLT]
Testeez: Lightweight Unit Test Mechanism [obsoleted by Overeasy]
UriFrame: Web Uniform Resource Identifier Framework for PLT Scheme [obsoleted by uri]
UrlSkip: Web URL Simplification in Scheme [not maintained]
A Racket-based app, which is a work-in-progress, is RackOut.)
Also hosted here is Lytha Ayth's SICP in Texinfo Format.
Obsolete pages: Using OpenGL with PLT Scheme (now part of PLT Scheme), Zhu Chongkai's MrMathematica (now hosted elsewhere), and SSAX for PLT Scheme (now maintained by Kirill Livosky).
© Copyright Neil Van Dyke Contact