Archive for the ‘Uncategorized’ Category

gcjx marches on

Ranjit has
done some nice work on gcjx
recently, adding visitor methods to the model and writing code to
print the AST — in a lispy format, no less.

I’ve also been hard at work on gcjx. I set up a special install
tree so that I could test gcjx-compiled object code against a
known-to-work libgcj. This let me quickly find a number of bugs in
the tree-generation code. At this point most of the libgcj test cases
now work when compiled with the new front end.

This weekend I spent some time working on the type inference code,
and last night gcjx was able to compile its first generic method
invocation.

Qwest

Yesterday my DSL router suddenly and mysteriously stopped working.
After some futzing about, and a realization of the strange fact that
lack of internet access translates immediately into a sense of
isolation, I called Qwest. I was expecting an irritating hassle, but
instead they overnighted a new router to me. Thanks Qwest! I’m a
whole person again.

Moneyball

Moneyball is as excellent a book as I had heard. I checked it out
from the library yesterday, and, forgetting everything I know about
myself, decided to read a chapter just before bed. Predictably, I
couldn’t put it down and now I’m paying for it. It was worth it
though.

Denver Java Users Group

I gave a talk about gcj to the Denver Java Users
Group
last Wednesday. Essentially I gave an updated version of my
FOSDEM
2004
talk. (While updating it was fun to see that we went from a
54% japi score to a 92% score…)

I think the talk went quite well — much better than my anemic
OSCON performance. There were a number of questions about what we’re
doing and how gcj works, though afterward I found out that one of the
slides was confusing and made it seem as though gcj translated java to
C++.

It turns out that the reason I was invited to talk was due to a
suggestion from Tom
Poindexter
, who I know from the Tcl days. That made me happy 🙂

After my talk, Tom Marrs gave a talk about J2EE things, I think
centered around a book he wrote and which will be released shortly.
It was quite enlightening about web services, deployment descriptors,
and things like that — I think his book will be pretty good when it
comes out. J2EE seems to be an area where nasty hacks are just taken
for granted, e.g. his deployment process runs xdoclet and then does a
series of search-and-replace operations on the output to work around
bugs. So much for the open source advantage.

Marrs was running Windows and during his demo he typed
cls in a terminal window. I had a sudden rush of
something like nostalgia, a feeling that I was vividly reliving the
ancient and dusty past, like seeing that Apple II screen saver that
comes up occasionally.

Nice quote from the president of DJUG (who I sat near later on at
the restaurant while he told us wild tales about his wild and strange
career): “we don’t do marketecture here”. I hadn’t heard that before.

Afterward I was told that a lot of this web services stuff is on
the wane a bit (or, possibly, perceived to be) and that some people
are looking around for alternatives to these huge J2EE stacks.
Supposedly the .NET equivalents aren’t seeing much uptake, and some
shops are moving to Ruby on Rails (though this is said to only work
well in some situations); and other folks are using Spring (about
which I know zilch, as in, not even enough to know if this statement
makes sense).

I asked a bit about J2EE implementations too; I figured these
guys, who do this sort of thing for a living, would probably have good
answers. The Jonas JOTM component was singled out as being good, but
I think not many folks were really using Jonas. JBoss was widely used
and discussed, but is apparently known for being somewhat flaky;
however some folks even did crazy things like develop on JBoss and
then deploy on WebSphere, mostly to avoid per-developer charges
(though these guys said they were going to stop doing this as it is
too painful). BEA also got good comments.

Transporter 2

Sequels seem to have a real problem with plot continuity. Maybe
the creators get distracted by trying to be systematically more flashy
than the original, and forget entirely about things like plot,
sequential action, and the like. Transporter 2 succumbs not only to
this problem, but to the “greasy evil” problem; that is the one where
it seems like a good idea to identify all the bad guys by covering
them in a fine film of vaseline.

I enjoyed the first Transporter enough to rent it one day and see
it a second time (though, I feel it wouldn’t stand up to a third
viewing). This one… I’m sorry I saw it at all.

Refactoring C++

In preparation for a demo I’m giving soon, I’ve been playing more
with the new CDT release. I think the biggest change is
support for refactoring. In my little experiments I was able to
rename classes, macros, methods (though I haven’t tried virtual methods
yet), functions, and variables. Pretty cool!

The way this works under the hood is that they have a C and C++
parser written in java (which understands GNU extensions as well).
Renames are handled by using the parser’s AST to find the appropriate
locations to modify. This way they don’t end up renaming in places
that use the same name but which refer to different objects.

I suppose they wrote their own parser for the classic reasons:
the perennial favorite, license problems; and the fact that the GCC
parsers aren’t exactly reusable. In Java, pretty much everybody
writes their programs as reusable libraries. In C, pretty much
nobody does.

Random idea of the day

I recently read that the PIDA IDE has
integrated support for pastebin. This seems like a great idea to me
— I often think about ways to more fully integrate irc into my
development experience.

Bots are doing a lot of nice tasks these days — the CIA bot, bots
for talking to bugzilla, and bots for tracking tinderbox results.
This all seems to be done piecemeal, every project does it
differently.

It might be interesting to run an irc bot inside eclipse and have
it automatically integrate different things. The pastebin idea is one
— it could upload code on command and post the URL to the channel of
your choice. Another would be to recognize bugzilla references (or
perhaps URLs) and show them in the appropriate Eclipse view. Thinking
bigger, perhaps ways to share development tasks via irc (or some more
suitable, and more secure, IM); say shared debugging, where gdb is
running on one person’s machine but both developers have a UI showing
what is going on.

Eclipse Happenings

The CDT
3.0
has been released. This is good news, though I’ve had a bit
of trouble getting it to work well on FC4. I think there may be some
kind of gdb version clash, but I’m not sure yet. Unfortunately the
CDT still has a ways to go before it can catch up to C development
tools on other platforms — e.g., Apple has “fix and continue”, but
the underlying Linux C tools still don’t support this sort of thing.
(This is one of the reasons to write in java — the tools are
undeniably better. More on this topic some other day.)

The KDE-Eclipse project
looks pretty cool. It seems to provide the long-awaited autoconf
plugin.