The Source for Java Technology Collaboration
User: Password:



Tom Ball's Blog

January 2007 Archives


Jackpot just open-sourced? But I thought it already had...

Posted by tball on January 25, 2007 at 03:31 PM | Permalink | Comments (7)

After months of slogging through Sun's Open Source Review process, last night I committed Jackpot's source to the NetBeans public CVS repository. If you want to browse it, follow the directions in the NetBeans CVS Access page, specifying "jackpot" as the module to check out. You may be in for some disappointment if you do this, however, as all these source files provide is IDE integration for Jackpot, its UI, and rule file editor support. Where's the beef? Where is the code that does pattern matching on compiler ASTs and transforms them? Where is the source rewriter? WHY IS SUN YANKING MY CHAIN AGAIN!!! (I really get email like this occasionally.)

Now take a deep breath and relax. The truth is that Jackpot started life as a research project prototype which found some useful conclusions, including:
  • javac can be a great Java model generator for other Java tools;
  • a re-entrant javac turned out to be really fast when run as a background task; and
  • you can do some really gnarly-yet-safe editing with it.
So the Jackpot project passed much of its source to the javac team to make it re-entrant and its model useful for other tools for Java 5.0 (mostly James Gosling's work), and worked with the javac and NetBeans editor teams to help define the Compiler API released in Java 6. In a very real sense, you were using some parts of Jackpot when compiling with Java 5, and the associated source code is in the javac code recently made public.

The Jackpot piece most interesting to compiler junkies was released a few months ago. The new Java editor, which is coming in NetBeans 6.0, is based on the Compiler API and the transformation engine from Jackpot. That engine was quietly included as part of the new editor's release to open-source last October:

cvs.png


To browse the engine's source (and the Java editor enhancements), check out the "java/source" project using the CVS instructions above.

Yesterday the remaining parts of Jackpot were released to open-source, the ones no other project needed to publish first. The project is now a lot smaller than when we first transferred to the Developer Products Group (aka Tools), but its integration into the javac and NetBeans Java editor source bases will ensure its wider use throughout the Java community.

Yet Another "5 Things" Blog

Posted by tball on January 16, 2007 at 11:55 AM | Permalink | Comments (2)

Here I was hoping to avoid participating in the "5 Things" blog game, but then Greg tagged me and sent an email vaguely warning against breaking the chain. So here goes:
  1. I never had a formal university education (just college courses whenever they look interesting). Although my high school was rated in the nation's top-ten public schools, their guidance counselors ... how to put this delicately ... sucked, perhaps because it was so easy for their college-track students to qualify for the top colleges. My strengths were in math and English, and was told that since people with advanced English degrees have few career prospects (a common question asked by humanities graduates is "And do you want fries with that?"), my two best job choices were to either join the NSA or become an actuary for the insurance industry. As a long-haired hippy then (we didn't call ourselves hippies, though), neither becoming a government spook nor spending my life calculating when people will die sounded very appealing. If only someone had clued me into how the University of Illinois' math department was starting to teach programming (later creating the first graphical web browser), my life would have taken a much different turn.

  2. I was a union steelworker. After finishing high school and before music paid the bills, I worked for a couple of years at AMSCO in Chicago Heights, Illinois, first as a grinder and then finished an apprenticeship as a maintenance mechanic and electrician. This wasn't some clean steel-slitting operation, but a down-and-dirty foundry specializing in very big castings. (AMSCO in the USA no longer does cast steel, but you can see the sort of pieces we created on the AMSCO Cast Products (Canada) site.) After you have worked here, no programming job can be considered real work.

  3. My first job was as a professional boy soprano (I'm a baritone now). Yes, back eons ago (the early sixties) it was politically-correct for churches to have all-male choirs, with boys singing the soprano and alto parts. At the peak of the baby-boom there were enough candidates that you had to try out for the best choirs and be both talented and dedicated to be accepted. St. Mark's Church had an exceptional choir in those days, and for some reason I made the cut. It was hard work, in part because the boys had to memorize all of our music; my guess is that there were too many delays getting twenty boys' sheet music organized during church service. It was great training, however.

    Professional? Yes, actually: because the boys practiced Tuesday and Wednesday afternoons (Thursday evening and Sunday morning practice for the full choir) we were paid anywhere from $1.50-$3.00 a month based on attendance and seniority. That may not seem like much ("mouse nuts", as they said in the foundry), but that is equivalent to $12-$20 in today's dollars. Nice pocket change for a nine year old back then.

    I was part of the choir for two years, but timed that tenure poorly: a year before I joined they recorded a record album, and the year after I left they performed a concert tour in Europe. Still, the most spiritual moment I've ever had was hitting the high-A in Handel's Hallelujah Chorus with a thirty-two foot pipe organ blasting behind me on Easter morning.

  4. I was a semi-professional singer and bass player in a touring rock band based in Denver, Colorado. I say "semi" because we never made much money after our expenses, but it was mostly a full-time commitment. This was in the mid-seventies when "accoustic rock" became very popular, especially in the western states. Three-part tight harmonies with a mix of accoustic and electric instruments; although much of our material was original, we were in a similar genre as the early Eagles and Pure Prairie League. BTW, it's quite mentally challenging to sing lead while playing a counterpoint bass part. I think learning to manage two distinct thought processes concurrently helped develop my multi-threading coding skills later.

  5. I have an evil twin. You'd think having an unusual name, a professional focus on static analysis tools, singing in a choir and playing bass guitar would define me as a unique individual, but Microsoft and Sun each employ such "individuals". We had dinner together awhile back and tball(2) turned out to be a nice guy, so he's really only evil by association. However, his first research job was with Bell Labs, whose parent company back then had a logo that looked suspiciously like the Death Star -- so maybe the soap operas are on to something with all their evil twin plots.
That's five things, but now comes the harder part: naming five others to tag. Maybe this will get my AWT/Swing partner-in-crime Amy Fowler to start blogging again, and I'd like to hear from James Gosling, Carl Quinn, Scott Violet and Ruth Kusterer. There, my first action list item for the new year is finished.



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds