Catching a transitory file in the act

Trying to debug a printing problem on my Linux box, I found myself needing to read a file that was so temporary that it would be deleted automatically within a few miliseconds after its creation.
The file in question was created in /tmp, which being mounted tmpfs meant that file recovery was not an easy option.  However the fil did have a predictable component to its name: it always started with "PrtDrv-".  This allowed me to just poll for it using BASH!

Adobe's ExtendScript: power with roadblocks

ExtendScript is a very powerful tool for adding custom functionality to Abobe products - in my case Photoshop.  I've got a non-paid (family) project where I've got to convert a Microsoft PowerPoint file, slide-by-slide into a series of PSDs with lots of little rules: the correct images broken out into separate layers at the correct position and layer level, text combined from all locations in the slide and filled into the correct text layers, layers shown or hidden as needed, and more.

UPS WorldShip went crazy

UPS WorldShip is a nice and powerful peice of software, but when things go haywire with the network share or WorldShip's shared folder it gets a bit weird.

First release of Anaximander the Grid Cartographer

Anaximander is a tool designed for OpenSimulator, InWorldz, and related grids to create world maps fast.  Utilizing the power of the D programming language's native parallism tools and down-to-the-metal compiled code, Anaximander cuts a task that took over 10 minutes on a small test grid of 27 regions to about 10 seconds.

CardMunch goes Dodo - and the replacements aren't.

CardMunch was a neat idea - use your gadget's onboard camera to scan capture the contents of a business card and upload it to a free service where it would then be translated into contact information.  With the built-in LinkedIn integration it would then associate the contact with their LinkedIn account, if they had one, allowing you to send a contact request at the push of a button - after all, if they gave you their card, you should be able to make instant contact on LinkedIn.

Rearranging Pivotal Tracker 2.0 Released!

I have released version 2 of the Google Chrome extension that allows you to rearrange the order of the panels in Pivotal Tracker! What's new you ask? Try these new features on for size:

Adventures in compiling for Mac OSX

I've come to the conclusion that the module auto-downloader concept I'd been working on was not useful to implement - there's no ability for it to scale. With potentially dozens or more of modules for the engine being possible, there's no sane way of building an auto-downloader that can be easily maintained and kept up-to-date. It is much simpler just to provide simple instructions for how to install a module and let the users get them from wherever they want to get them. Thus I've turned my attention to getting the codebase compiling and working on OSX.

Quaternion-based rotations added to NLS

After an unexpected amount of work - and some "minor" interruptions like almost losing my vehicle's engine due to buildup in the oil passages - I finally got the Rotation data type into the script API. Each API method is fully unit-tested in AngelScript using the unit test library I wrote.  Using unit tests has saved my bacon more times than I can count thus far!  While I used to just write quick once-off tests or just stepped through my code in a debugger to see if I got something right, the unit tests keep me from having to do that over and over again.

Rearranging Pivotal Tracker

I've been a fan of Pivotal Tracker for several years now.  It's helped me organize and schedule iterations for everything from work tasks to school projects and more - all in the nice, fluid "Web 2.0" manner we've been coming to expect from modern web applications.  It's been great - until one day I suddenly needed to do some reorganization that required opening several panels at the same time.

NLS Game Engine version 0.1 release

Version 0.1 of the NLS Engine has been released!  Check out the updated documentation and download the binary release.

Syndicate content