Joggy-von-jog-a-bit

I got a nifty GPS watch for my birthday in May. This page autologs my jogging (along with the occasional bike ride or hike).

Too. Many. Projects.

Fluix

Fluix is a content pipeline and runtime library for creating the UI for your XNA-based game/project in Flash.

I just started on it about a month ago, but it's coming along pretty well. There's a video on the google groups page if you want a quick preview.

Something new

Doxica

Doxica is an Online PDF, DOC, and PPT Viewer currently, with support coming for various other document formats. It's nice because there's no plugins to install, and there's optimized viewing modes for large desktop monitors, as well as smaller notebook screens.

For examples, check out these documents (chosen pretty randomly):

Nintendo DS hackery

Twin Isles

Twin Isles is a Civilization/SimCity-type game that I'm working on for the Nintendo DS. Second release. You'll need a homebrew enabled DS to be able to run it.

Since the first release:
VsWhiz

I recently moved to using Visual Studio 2005 for some work, and I desperately miss some Addins from .NET 2002/2003. I've started writing an Addin called VsWhiz to reimplement some functionality that I can't live without.

The two current features are:
Probably the next feature will be a better way of navigating using the built-in browse information, but I need to investigate how to get at that data first.

Webmonkeyness Extraordinaire

iis_multiplex

Under WinXP Pro, for some stupid reason, IIS (the builtin web server) won't allow you to run multiple web sites. iis_multiplex is a very simple ISAPI filter that lets you specify IIS-level redirections for where documents should be served from. The viewer's web browser "Location" bar won't change, and presto-magic-chango, you've got more than one web site. Instructions are included in install.txt on how to set it up. Updated to fix file loading bug, change to case-insensitivity on path comparisons, and to add a note on hosts file in install instructions.

Some people have reported that the filter doesn't load. This seems to be caused by a missing dll called MSVCR71.DLL, which you should put in your windows system32 directory if you have that problem (or MSVCR71D.DLL if you're using the "Debug" build).

Still not actually learning the language...

PSP Chinese Flash Cards

This is a homebrew PSP program that does Chinese character flashcards. To use it on a v1.5 PSP, copy the CHINESEFLASH and CHINESEFLASH% directories to your PSP Memory Stick.

Version 2: changes include a couple bug fixes, audio (speak the characters), saving settings.

Version 3: audio is non-blocking, so you don't to wait for it to stop playing to keep going, the audio is compressed on the memory stick so it's only 4meg instead of 11meg, "Corrupted Data" in PSP launcher avoided, settings file goes in PBP directory instead of root.

Version 4: Thanks to a Mr. Dougie Wong, this now works on firmware 3.40 A'.

Ready-to-run 1.5-3.40A', and source code (unchanged since release 3).

If you're upgrading from an old release, make sure to delete the old directories first as they have different names and will be wasting space.

Silly Application Department

cal

I got fed up of using the Windows calculator, when it's easier to start a debugging session just to use the debugger expression window to add numbers. I ripped off code from all over the place and made cal. It's a very simple expression evaluator (i.e. calculator) in a small tool window. It displays results in occasionally-helpful-to-programmers formats.

And now, 5 years later, I finally got around to adding << and >> as left and right shift. Release 2.

Stupid Wrapper Tricks

DirectoryWatcher

The only hit on Google for a C++ class to handle ReadDirectoryChangesW was a crazy 200k (!) beast on codeproject.com. So, here's my hopefully somewhat more sane version. In case you don't happen to be up on the back corners of the Win32 API, ReadDirectoryChangesW can be used to monitor (without polling) a subtree of a file system. The user is notified of additions, deletions, modifications, and renames.

I Have a Bit of a Lithp

sdlisp

The "d" stands for "D"umb. This is an implementation of lisp, if you could call it that, in one small C++ header file (about 150 lines of core code). It may be suitable for very simple scripting tasks. It implements lambda, basic arithmetic, quote, cons, car, cdr, if, begin, print, and set. You can also add some "extensions" which include list operations like fold, map, append, filter, composed car/cdrs (e.g. cadr), and a few other utility functions.

What me? Crash yet another hard drive?

backup

This is a very simple perl script that's a wrapper around Microsoft's robocopy.exe. It lets you specify sets of included and excluded files and makes a mirror of them to another (UNC) path. There's many others around I'm sure, but this one works like I want it to, so, uh, yeah, it's here.

Firefox/Easynews Search

Firefox (and Mozilla in general? not sure) have a little box like the Google toolbar, except that you can write a bit of script to configure it for any search engine. I've written one that works for the Easynews Advanced Search (the global one). You'll have to unzip that into something like C:\Program Files\Mozilla Firefox\searchplugins.

This is still here 'cuz.. whatever, but just right-click on your search box and "Add a Keyword for this Search". That's where the goodness is at.

Not quite teh animashun mastar yet

Maya futzing

I felt like I should know how those crazy animators do stuff, so I thought I'd give actually making an animation a shot. Turns out it's pretty tricky stuff, and a total black hole of spending as long as you want on it. This one (a not too exciting walk cycle) took most of a an evening, and it was only that fast thanks to the very nice rig that I was using. Front view (avi) and three quarters view (avi). If you're an animation hax0r, feel free to suggest and correct.

Rather than actually learning the language...

GBA Flash Cards

I've started taking a Mandarin course at a nearby college. There's a crazy amount of vocabulary to remember when you're learning a language (apparently) so I wrote this little Gameboy Advance program which does flash cards for learning a different language (displaying either first and guessing at the other). You'll need a GBA flash card (ironically) to play the game without an emulator, as well as the SGADE and a compiler to build the code.

Terribly Exciting Stuff

Personal Pictures

At long last, here at the end of the internet, you've managed to find what you've been searching for: Pictures of my cat. (Actually, I don't have a cat, but same idea.)

Mumbling about stuff

Some idle chit-chat about mostly game dev stuff. (rss feed)

My life as a kindergarten 5cR1p7 k1Ddi3.

O.G. h4ck3r


Yeah, so I couldn't spell at that age.