The earliest memory I have of ‘programming’ is in the early/mid 90s when my father brought home a computer from work. We could play games on it … so of course I took the spreadsheet program he used (LOTUS 123, did I date myself with that?) and tried to modify it to print out a helpful message for him. It … halfway worked? At least I could undo it so he could get back to work…

After that, I picked up programming for real in QBASIC (I still have a few of those programs lying around), got my own (junky) Linux desktop from my cousin, tried to learn VBasic (without a Windows machine), and eventually made it to high school… In college, I studied computer science and mathematics, mostly programming in Java/.NET, although with a bit of everything in the mix. A few of my oldest programming posts on this blog are from that time.

After that, on to grad school! Originally, I was going to study computational linguistics, but that fell through. Then programming languages (the school’s specialty). And finally I ended up studying censorship and computer security… before taking a hard turn into the private sector to follow my PhD advisor.

Since then, I’ve worked in the computer security space at a couple of different companies. Some don’t exist any more, some you’ve probably heard of. I still program for fun too, and not just in security.

But really, I still have a habit of doing a little bit of everything. Whatever seems interesting at the time!

Wombat IDE - Another bug fix / feature post

Additional features:

  • Since both the image and turtle libraries need the same color code, I’ve factored that out into it’s own module: [(c211 color)](http://www.cs.indiana.edu/cgi-pub/c211/wombat/docs/c211-color.htm "C211 Color API")
  • Issue 193: Opening a file on top of an empty replaces that document.

Bug fixes:

  • Fixed documentation issues with image->list, list->image,
  • Issue 187: Fixed the direction parameter to hatch to take degrees rather than radians to match the rest of the library.
  • Made links in the about dialog clickable.
  • Issue 186: Fixed the recent document manager on documents with the same name.

read more...


Wombat IDE - Vector of vector functions

Added two functions to the matrix library:

  • (vov->matrix vov) - converts a vector of vectors to a matrix
  • (matrix->vov m) - converts a matrix to a vector of vectors

Quick and simple, but highly useful for testing and display purposes.  


Wombat IDE - Updated syntax, documentation

First, a few bug fixes with the keyword lists and help links: Added a bit of code to differentiate between a normal let and a named let. Fixed for losing the syntax definitions on some systems. Also, I wrote code to generate help files for the C211 libraries. Theoretically, I should just be able to update these with future updates to the APIs: Image API Matrix API Tree API Turtle API Color API (Edit: Added 19 May after re-factoring of colors) As a side note, I’ve added two new functions to the tree API:

read more...


Wombat IDE - Help and image bug fixes

A new feature: any keyword can now have an associated hyperlink that points to the Chez Scheme API reference for that function. Just click on a function that you want help with and hit F1 on your keyboard. The link will open in your systems default browser. So far only the functions built into Petite Chez Scheme work correctly, I’ll be adding the C211 libraries as soon as I write the documentation for it.

read more...


Wombat IDE - Another round of issues

I have a new chunk of issues this time, this time with screen shots.

Updated turtle library with new names

Essentially, I’ve changed a few of the names in the previous turtle API and added a few new alias.

  • spawn has been renamed to hatch
  • split has been been renamed to clone
  • teleport! has been added as an alias to move-to!
  • turn-counter-clockwise! has been added as an alias to turn-left!
  • turn-clockwise! and turn! have been added as aliases to turn-right!

read more...


Wombat IDE - Animated turtles

Sometimes I keep going beyond the point where I probably should. In this case, I want to add an animation feature to the turtle graphics library so I just went ahead and wrote one.

These new functions have been added to the turtle API:

  • (live-display b) - b should be #t or #f to enable or disable the live display, default is #f
  • (live-delay n) - set the timer between frames, default is 0.1 seconds
  • (live-display) - is live display enabled?
  • (live-delay) - get the current delay

read more...


Wombat IDE - A pile of features and bugs

Another one of those posts. 😄 Bug fixes: Fixed a problem with the interop libraries reporting they were finished before they actually were. Now when reading a few hundred images, the call will block until they are actually read rather than just pretending to read them as it was. Issue 158: Prevent backups of backup files (no double ~). Basically, if a person directly edits a backup file, they’re on their own.

read more...


Wombat IDE - A new way

Up until now, the Petite bindings have been built around a threaded model where one thread existed solely to send new commands to the Petite process and another solely to read responses back. Mostly, this would stop the problem with the Java Process model that would cause it to deadlock if the data was not actually being consumed–the reading thread could act as a buffer in this instance.

read more...


Wombat IDE - Busy day for small changes

Bug fixes:

  • Issue 138: Automatically create a backup file (with a ~ suffix) on save and an option to disable it. There have been a few issues with Wombat crashing that I haven’t managed to track down, this should help people recover from those. (They’re rare; as in 2 cases reported among over 150 students for several months, so this shouldn’t happen to the majority of users).
  • The mnemonic in the recent documents menu has been tweaked to be ascending and 1 based rather than descending and 0 based.
  • Fixed an issue where occasionally hitting enter in the REPL wouldn’t run the current code based on incorrect bracket matching.
  • list->image and image->list are not properly highlighted as keywords.

read more...