c hacks

This page contains links to some of my c hacks. It is autogenerated from the comments (if any) at the head of each file.

irmail.c(updated Sat Nov 13 16:43:19 2004)
/* IrDA dock program */
/* loosely based on the test code in openobex apps */
/* Accepts OBEX data on your IrDA connection, converts it to a
MIME-format mail message, and drops it into a mailbox. */
/* currently takes no parameters, so if you want to change the default
drop location, you'll need to change the mbox define below. */
/* Things that need work:
- allow mbox to be specified on command line
- remove nasty chdir hack
- do some file locking on mbox
- see if it's possible to dig the IR connection info out of the
connection, so we can fake up Received headers.

libnw(updated Wed Nov 21 12:29:52 2012)
mple(updated Wed Nov 21 12:53:04 2012)
photopc(updated Wed Nov 21 12:29:52 2012)
rvp(updated Wed Nov 21 12:29:52 2012)
samba(updated Wed Nov 21 12:29:52 2012)
snafooz.c(updated Thu Oct 28 09:28:31 2004)
/* snafooz, "The" squishy foam puzzle. Trademark, registered or otherwise, of
* Idea Lab (idealab.net). No permission secured from Idea Lab, despite my
* best efforts; they simply didn't respond.
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation.
* This file is provided AS IS with no warranties of any kind. The author
* shall have no liability with respect to the infringement of copyrights,
* trade secrets or any patents by this file or any part thereof. In no
* event will the author be liable for any lost revenue or profits or
* other special, indirect and consequential damages.
* This is the first major thing I've done in GL. As such, all errors are
* mine, because I was too lazy to read up on how to do it right. Several
* ideas (and bugfixes) came from tooling with lightlab
* (http://www.jwz.org/lightlab/)
/* TODO:
- "solveme" mode
X make it do something when solved
- some wackiness here that I've not figured out
- have it print out the solution on the console
- interactive mode
- texture on front side of the 2x2 area
- have one, need to do it better, though
- figure out logic for permutations, needed for larger shapes where "pick
10 of 12" applies
- use an array of pieces instead of piecemin/piecemax
- populate the array using permutations
- further optimise the piece drawing
- collision detection on all the time, not just at landing
- better use of pieces in brute force solveme mode
- need a pseudo-random way of picking them
- can't be random because that screws up the brute force
- complex shapes
- 3x1x1
- 2x2x1
- 2x2x2
- 3x3x1 cross
- 3x3x3 cross
- flat shape data (i.e. return the pieces to their frame)
- can use a 2x3 grid without having to define the frame
- use linked list in snafu()
- use collision detection in snafu()
- multiple collision detection points
- "show collisions" should light up the entire collision area
- mode where shapes are wireframe and impact areas are lit
- kill off more globals
- change time-based trigger to mechanics-based

Waider Ugh. Did I write that?