This is a pretty simple issue that was easy to solve but took a bit of fumbling around…
I recently checked out the new Java SwingSet3 project from it’s SVN repo, to play around with it. It’s a NetBeans project so it was simple enough to fire up NetBeans 6.0 and use it’s built-in Subversion support to check the project out from the repository directly…
My plan was very simple: check out the code with NetBeans, build it, run it (using JDK 1.6.0_10 beta for the new Nimbus look/feel too) and then hack at the code.
Okay, so I hate working in Windows, but on my employer’s equipment at least, I must live with it. After having had this machine replaced twice (faulty Dell hardware) and rebuilt more times than I can remember (Windows BSODs), for a total of at least 3 system migrations this past year, I thought I’d better keep a list of what free software to install on top of Windows, and what adjustments to make, so that at least I don’t feel like I’m wearing a straight jacket. Here goes:
It is useful to have different versions of the JVM installed, for a number of reasons:
Different optimisation features from different JVM implementations
Different language features from different JVM versions
Java classes compiled with “Tiger” won’t run in “Mantis”…
It is also useful to be able to quickly switch between installed JREs/JDKs depending on the task at hand.
If I’m hacking in Linux, the JPackage project provides a much nicer solution to this problem, and the Linux distro’ I’m using (SUSE 10.0) uses JPackage. It’d be nice if there was an update-alternatives for Cygwin, but since there isn’t I’ve come up with this hack.
On the 32-bit Windows platform, JVM programs can only ever use up to about 1.5–1.6 GiB of memory in RAM per Java VM process. Allocating a heap size greater than this amount does not work. What’s going on?
I’ve been playing with customising jEdit a little bit, and decided to have a go at writing some simple date insertion macros. These perform the same work as some old elisp functions I wrote years ago in Emacs, to insert date/time stamps in various formats. In my .emacs file, I bind these functions to short-cut keys, and then use them for updating Changelogs in code and in offline journal entries.