wiki:WikiStart
Last modified 4 years ago Last modified on 12/05/12 15:01:50

  1. Trent Apted's Public Code
    1. Public SVN Root
    2. License
    3. Audio Project on SourceForge
    4. C++
      1. ThreadMan: Synchronised thread manager
      2. ExactRbn: An elegant implementation of an exact-interpolation RBF Neural …
      3. Handle: Thread-safe C++ reference-counting handle using atomic …
      4. RxString: regular expression string library
      5. RConfig: Readable (rconfig) file parser and variable binder
      6. EditLineWrap?: C++ Wrapper around libeditline
      7. Crudebug?: Debugging libraries with runtime stacktrace support
      8. SdlServer?: A cross-platform and thread-safe threaded server built on top …
      9. libFolder?: Cross-platform folder walking and search
      10. ListUtils?: C++ output operators for STL collections (mainly)
      11. libMinXML?: non-validating XML file parser in 250 lines of code
      12. Calibrator?: Coordinate-system calibrator using ExactRbn
      13. chpass?: setuid htpasswd file updater
      14. pirates?: brute force dice rolling probability algorithms
      15. conbn?: C++ templates on steroids for testing Correlation …
      16. tprintf?: Type-safe templatized printf if you can't wait for C++0x
      17. Raybo: CSG Ray Tracer, specialising in "Logo" blocks
    5. C
      1. SockPrintf: a cross-platform printf for TCP and UDP sockets - oh how I …
      2. Allocator?: Macros for creating *very* efficient allocators for …
      3. Shuff?: A (slightly faster) implementation of /usr/bin/shuf, done …
      4. forkopen?: Like popen, but use fork and execl so we don't execute a …
      5. chrooter?: setuid C program to auto bind mount paths and allow users …
      6. picksquare?: OpenGL app for testing performance of …
    6. Python
      1. PyBib?: AJAX CGI Scripts to search and manage BibTeX databases
    7. Java
      1. bib2endnote?: My BibTeX to Endnote converter
    8. MIPS Assembler
      1. MIPSBI?: Arbitrary-length integer library in assembly code
    9. Matlab
      1. random assignments
    10. Prolog
    11. Haskell
    12. C/C++ Undergrad Projects
      1. (C++) Backpropagation Neural Network
      2. (C++) Reinforcement-learning Blackjack Program
      3. (C) debugging C interpreter, written in C
      4. (C) QUERY_STRING parser
      5. uunique
      6. sulley
      7. madman
      8. lambda
    13. Various
      1. AutoTemplate?: Templates for autoconf/automake projects
      2. BashScripts?: Various bash scripts for all sorts of cool stuff

Trent Apted's Public Code

This site is a collection of code I've developed in my spare time, placed here in case other people find it useful (and also because I'm a compulsive code hoarder and organiser). If you find a bug or have some other suggestion or comment, file a New Ticket (you *must* set a session cooking by clicking Preferences first, or it will probably get rejected as spam).

These mini-projects are organsised by language and summarised here. Follow the links in the summary for more details.

All the projects below are in the source browser, but I haven't had time to write them all up yet -- feel free to explore.

There is also a section of this wiki dedicated to things that are NotCode.

If you're looking for my contact details they're probably on my homepage.

Public SVN Root

http://code.apted.net/svn/pub/

But you probably don't want to check that out, because you will get all the tags and branches -- see the project pages for meaningful checkout examples.

License

Unless otherwise specified, the code here is released under an Artistic License. This basically means that you're not allowed to redistribute the code if you make any modifications to it, unless you have my express permission, so send me an email.

Audio Project on SourceForge

I have an audio project hosted on SourceForge called TappedAudio, released under LGPL. I describe it as "an audio library with an emphasis on the programming interface -- independent of the backend, written in highly-encapsulated C++ and using SWIG to present a unified API for C++, Python, Ruby, etc., regardless of the underlying audio platform". Basically, it bridges the gap between loading sound files and playing or recording them with a very clean cross-platform and cross-language API. See the SourceForge home page or SourceForge project page for more info.

C++

ThreadMan: Synchronised thread manager

See ThreadMan, code. Provides cross-platform management of threads (e.g. "joinAll", automatic cleanup), templating to match threadable functions and a "synchronised" mode that starts threads of the same function in series.

ExactRbn: An elegant implementation of an exact-interpolation RBF Neural Network

See ExactRbn, code. Provides an elegant templatized implementation of an exact-interpolation Radial Basis Function neural network for approximating real-valued vector functions, solved by LAPACK. Includes a demonstration program that "calibrates" 2-dimensional points.

Handle: Thread-safe C++ reference-counting handle using atomic counters

See Handle, code. Provides name demangling and automatic upcasting (throwing BadCast? where needed).

RxString: regular expression string library

See RxString, code.

RConfig: Readable (rconfig) file parser and variable binder

See RConfig: code. See mylib/trunk/configapp for a use-case.

EditLineWrap?: C++ Wrapper around libeditline

See EditLineWrap?. Gives a clean C++ API for libeditline (or libedit, a BSD readline workalike). See mylib/trunk/configapp for a use-case.

Crudebug?: Debugging libraries with runtime stacktrace support

SdlServer?: A cross-platform and thread-safe threaded server built on top of SDL

libFolder?: Cross-platform folder walking and search

ListUtils?: C++ output operators for STL collections (mainly)

libMinXML?: non-validating XML file parser in 250 lines of code

Calibrator?: Coordinate-system calibrator using ExactRbn

chpass?: setuid htpasswd file updater

pirates?: brute force dice rolling probability algorithms

conbn?: C++ templates on steroids for testing Correlation Coefficients for Bayesian Networks

tprintf?: Type-safe templatized printf if you can't wait for C++0x

Raybo: CSG Ray Tracer, specialising in "Logo" blocks

Sample ray tracings: http://trent.apted.net/gal/v/raybo/

C

SockPrintf: a cross-platform printf for TCP and UDP sockets - oh how I love thee

See SockPrintf. Provides a cross-platform tcpprintf and udpprintf that work somewhat like fprintf but accept TCPFILE* or a hostname(!) as a char* as the first argument.

Allocator?: Macros for creating *very* efficient allocators for small objects >= sizeof(void*)

Shuff?: A (slightly faster) implementation of /usr/bin/shuf, done before it appeared in GNU coreutils

forkopen?: Like popen, but use fork and execl so we don't execute a shell

chrooter?: setuid C program to auto bind mount paths and allow users to chroot

picksquare?: OpenGL app for testing performance of glRenderMode(GL_SELECT)

Python

PyBib?: AJAX CGI Scripts to search and manage BibTeX databases

Java

bib2endnote?: My BibTeX to Endnote converter

MIPS Assembler

MIPSBI?: Arbitrary-length integer library in assembly code

Matlab

random assignments

Prolog

Haskell

C/C++ Undergrad Projects

I make no guarantees about the code quality of these -- I was still learning!

(C++) Backpropagation Neural Network

(C++) Reinforcement-learning Blackjack Program

(C) debugging C interpreter, written in C

(C) QUERY_STRING parser

uunique

sulley

madman

lambda

Various

AutoTemplate?: Templates for autoconf/automake projects

BashScripts?: Various bash scripts for all sorts of cool stuff