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. That’s about where I am today!

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

Wombat IDE - Defining define

First, minor bug fixes and reorganization:

  • Fixed a problem with line separators that was causing automatic indentation to fail on Windows
  • Re-factored save/load code to the text area
  • Store a hash of the saved contents with each text area so that we can recognize files that don’t need to be saved
  • Add an option to disable confirmation on save before either running or exiting (if disabled, just automatically save in both cases)

read more...


Wombat IDE - Ant build script

I’ve been having issues with the automatic updates and half-manually building things through Eclipse, so I decided to use a build system. Previously, the only experience I have with such systems is GNU make which isn’t particularly Java specific. So I decided to learn something new and try out Apache ANTas a build system. Essentially, I’ve added the following features:

  • revision - get the SVN revision number to use as the current version
  • compile - compile the code (required revision)
  • dist - create a JAR file from the built code (requires compile)
  • sign - sign the JAR files so they can be deployed (requires dist)
  • deploy - create the files necessary for Webstart (requires dist, sign, and revision)

read more...


Wombat IDE - Bug fixes and undo/redo

Two minor bug fixes: Fixed the behavior of the bracket matcher so that the functions < and > actually work. Removed tabs on automatic formatting to avoid problems with different tab widths And a new feature: Undo/Redo. Now any text field, specifically the REPL and the code editor have an undo/redo stack as they should have had all along. It just uses the Swing Undo/Redo API, so it wasn’t terribly hard to implement, but it was something that needed to be done.

read more...


Wombat IDE - Stopping and syntax editing

A few new features today in r170, a stop button and a dialog to select syntax options.

First, the stop button. There’s one thing that I’ve been meaning to work on for quite a while: the ability to stop code that is currently running. To that end, I’ve added a new button to the interface (highlighted below) that will do exactly that. At the moment, pretty much all that it does is request that the currently running Kawa thread will stop. It isn’t perfect, but it’s better than nothing.

read more...


Wombat IDE - A few minor fixes/enchancments

There are just a few end of the month bug fixes and enhancements this time:

  • (Hopefully finally) fixed the long standing Issue 2: Automatic indentation sometimes gets out of sync
  • Added a recent documents menu
  • Added an option to reset custom color scheme to the default
  • Fixed an issue where the program wouldn’t close if text was waiting to be displayed

read more...


Wombat IDE - C211 tree and image libraries

To start off, I have a small list of bug fixes / minor improvements before I get to the real meat of what I’ve got for the day:

  • Added ability to change font size
  • Added a program icon (which doesn’t seem to work on OSX, I should look into this)
  • Added an IconManager to deal with all of the menu icons
  • Added option to reset the Scheme environment if it gets broken for whatever reason
  • Changed prompt from »> to §, mostly because I just like the character (also a single character saves space)
  • Fixed display, redirecting it to the REPL. Unfortunately trace still doesn’t work
  • Bound true to #t and false to #f to make input and output match
  • Fix for a problem that would prevent Wombat from closing on OS X

read more...


Wombat IDE - Enter the bug tracker

Today saw another round of bug fixes:

  • Internal swap of [] to () to make Kawa behave correctly (this is a hacky fix, I should figure out a better way to do this)
  • Split the code for the REPL into seperate files for better organization
  • Some sanity checks on bracket matching, preventing a few errors I was seeing

read more...


Wombat IDE - A ray of Hope

Since I moved to Kawa, I’ve been having an issue with maintaining the state between calls to the interpreter. Everything works fine when I load and run an entire file at once (for example when loading the options files or actually debugging my own code), but when I try to run individual lines of code to add custom bindings, it doesn’t work.

read more...


Wombat IDE - A busy day of bug fixes

Today was a busy day of bug fixes, mostly minor. Here’s a nice list: Added building the webstart files to the automatic build system Removed references to the old SISC code Fixed a crash when the syntax definitions couldn’t be loaded successfully Fixed an error with dynamically reloading options Added better sanity checks to option loading, defaulting to known values if necessary All of this has prompted a new build: r113, available here.

read more...