This is where I aim to provide anybody interested with my software, ranging
from simple shell scripts to make life easier, to whatever it is that I get
around to writing.
Copyright:
This software is, unless otherwise stated, Public Domain, Free Software, or whatever you want to call it. There is no warranty supplied - use at your own risk!
You are free to copy, alter, enhance or whatever you see fit. The only thing that I ask is that you let me know what you do. I don't charge for this software, but I'd appreciate if you could do me the favour of contacting me to let me know what you are doing with it.
Full details are in this blog post.
You have a Mac somewhere where you use Apple's excellent iPhoto to manage your huge digital photography collection.
However, you don't have (and most likely don't want) a spiffy but locked-down and feature-light Apple TV to display them on your TV, instead preferring the excellent and far more versatile open-source mythtv.
Mythtv has mythgallery which displays pictures from a normal filesystem reasonably well, but the poor thing has little to no understanding of the complexities of Apple's "iPhoto Library" on-disk layout. I'm talking Albums basically, plus an understanding of "Originals" versus "Modified". I just want it to be how it looks in iPhoto, but on my big LCD screen in front of the couch, controlled with my myth remote. Is that too much to ask??!
This project is hosted at Sourceforge.
The idea behind this was that I have lots of 'stuff' in electronic form, but my brain just isn't able to keep track of where I put it. File systems aren't much help, because they force me to choose only one place in a hierachy to store something.
So, I wrote Thoughtthing to act as a layer which sits over the top of lots of other things, and gives me a consistent, easy to navigate interface. You might find a use for it too.
It is implemented as a set of web pages in PHP which talk to a MySQL database, and released under the GPL.
ppl -
an enhancement to the unix script people, which allows an
input file of logons to search for. Just make a file called
people.list, which contains the login names, one per line,
of the people you want to look for.
dehuge
- sick of getting huge.mail? Use this script by changing it to your logon
where it says [your logon here], and never get down from hugemail again!
TGUI
(dir) - a modular
Graphical User Interface written in BLUE, it's main aim is to allow programmers to concentrate on coding features rather than the interface.
Although it's far from perfect, it's as good as I intend to make it.
TaskBoggle (.tgz)
- my group's final project for first year. It is a program which takes an
arbitrary BOGGLE file (very basic language), and either interprets it as
BLUE code, or outputs MIPS assembly code. An example BOGGLE program (for
Fibonacci numbers) is here.
It uses TGUI (above) to provide the GUI. My principal input, besides TGUI, was, along with Kim Jackson, the production of the MIPS output code.
NB: It's MIPS output code is not quite optimal, but it works :)
ThreeSpace - this piece of software uses an OctTree to store information about spatial data, ie. points in space. It then has the ability to find vec
tors, formulae, neighbours, co-linearity, etc.
optimizer -
this is a program which performs peephole optimization on MIPS assembly code, which it gets from stdin
. It is capable of reducing nested stack usage by instead referencing unused
registers, and reducing register-to-register moves to minimise machine time
used. Output is to stdout.
Try running this on the output of TaskBoggle, above, for interesting results.
Comments: a really dirty hack, it doesn't follow correct methods at all :(
Co-authors on this one were again Kim Jackson, and John Brett.
Memory Prosthesis - the most 'polished' version of this particular project. It utilises the swing user interface toolkit.
rcat - just like cat in UNIX, but it does it backwards
Six Degrees of Separation - an attempt at playing the 'six degrees of separation' aka Kevin Bacon game.
Comments: failed miserably :(
Assembler
- an assembler for the ace language, converting assembly language into the
machine code. A virtual machine was also written, but not by myself. Comments: works reasonably for simple cases.
Co-authors were Edward Easton, Jade Chin and Jonno Bayl.
Compiler - a compiler for the ace language. Read more about ace here.
Comments: Text-book design, parser is too strict.
Co-authors were Edward Easton, Jade Chin and Jonno Bayl.
Graphics Editor -
an editor which utilises the GraphApp library.
Comments: very dodgy but interesting.
Scanline - an implementation of the scanline algorithm. It uses GraphApp for output, and .GEN files for input.
Comments: performs reasonably well for 2D and simple 3D cases.
Robust File System - a simulated file system that utilises a form of software RAID for redundant robustness.
Comments: not even remotely ready for real-world , but it was very interesting to learn the
theory.
l337 - a program that makes
text l337! Works either on a file specified on stdin/stdout.