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 - Minor bug fixes

Just a few bug fixes this time:

  • A few fixes for error message related to incorrect usage of car and cdr to better match what Chez gives
  • Tweaks to clean up the build system
  • Fixed the JAR signing system to automatically sign JARs only if they’re out of date (prevents Webstart from re-downloading them)

Wombat IDE - Bug fixes and new image code

First, bug fixes: Fixed an issue that made the C211 libraries disappear on a reset list should be printed as a procedure (rather than a type) Fixed a problem where reload would fail Fixed a problem where the wrong procedure name would be printed in errors in make-image and image-map Added code to automatically add a git tag on deploy (based on the version number) Also, I’ve rewritten the image code (especially read-, write-, and draw-image) to make them significantly faster.

read more...


Wombat IDE - Git

Long story short, I switched from SVN to Git. I could go probably go into a long list of reasons why, but really it comes down to two:

  • I want a lightweight branching model (to keep things like the screen sharing out of the deployed builds)
  • I want to learn a new version control system (I’ve used Git a bit, but this is the largest project I’m working on so will force me to learn more quickly)

It took a bit to get everything moved over, but I think everything is working correctly now. I’m still on Google Code, just using their Git back-end.

read more...


Wombat IDE - Bug fixes, memory issues, and screen sharing

A bit of a bigger update today, bringing the version number up to r213. First, bug fixes: Removed visible references to Java, replacing class names in errors Fixed an issue related to hanging on non-procedure errors Fix for even? and odd? to correctly deal with both Java and Kawa numbers Added trace-define Increased stack size to delay infinite loop errors (so that larger code that isn’t actually an infinite loop can run) Do not format after #!

read more...


Wombat IDE - Bug fixes

A small list of bug fixes:

  • Fixed printing for empty strings and Kawa specific strings (derived from gnu.lists.FString)
  • Fixed a problem with the Ant script when the build directory didn’t previously exist
  • Fixed random to correctly deal with large numbers (larger than the range of a Java int)

The new build is r194.


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...