More Navigator fixes, the road from St. Petersburg to Beijing
St. Petersburg is a beautiful city! Other than the nightly battles with mosquitos in my hotel room, the trip was excellent. I spent a week meeting with engineers who are working on NetBeans plugins, and finally got to meet a lot of people I'd conversed with via email. We've got a great group of folks there.
Nevsky Prospect in St. Petersburg at sunset
Saturday, my friend Martin Ryzl, the original author of, and current manager of the development team for the NetBeans Mobility Pack and I flew from St. Petersburg to Beijing. It was the first trip for both of us to both cities. Particularly interesting was when the plane did a 180 degree turn in the middle of the runway (there are three sets of wheels, two under the wings and one in the middle - reverse the directions of the wing sets and pivot) - it was a disconcerting moment when we suddenly seemed to be executing an impossibly tight turn on the runway for our stop in Novosibirsk.
For the Novosibirsk to Beijing leg, I bug-fixed and growled and cursed at my laptop, while Martin glowingly showed me one after another another cool thing his guys had implemented in Mobility, that he hadn't had a chance to try before, but could include in his demo - for example, a stack trace from KVM only gives you a bytecode offset; NetBeans will now reverse engineer a real stack trace for you by reading the class file. You can now edit guarded blocks in the editor. Mobility just keeps getting cooler.
Martin Ryzl in the cavernous hall of Sun's temporary digs in St. Petersburg
The plane flight was productive. In a recent blog I listed some interesting line switches that affect the behavior of the Navigator component in NetBeans. A couple people pointed out that some of them were no longer working in NetBeans 5.0. Plane flights are a great time to get things working, so now they all are. A quick recap (with some new ones):
- nb.navigator.singleclick - one click to navigate between methods instead of double clicking
- navigator.string.abbrevs - strategically omit characters from method names to keep from needing a horizontal scrollbar (far from perfect, but handy)
- nb.navigator.relatedItems - highlight all callers of the selected method/field (currently infrequent false positives, working on it)
- nb.navigator.decorate - show overriding method names in bold, final stuff in italic. The performance problems with this feature seem to be much better in 5.0 trunk builds - might even be viable to turn on by default - we'll see
- nb.navigator.noscroll - Having Navigator scroll when the caret moves can be distracting; this disables auto scrolling. Works best if you dock Navigator to the right of the editor so it has a lot of height - for most java files, all methods will be displayed, and horizontal real estate is less critical than vertical screen real estate.
- nb.navigator.reordering - Allow (in natural sort mode only - right click and choose it from the menu) you to drag and drop methods to reorder them in your sources
See my earlier blog for details on how to use them; in a nutshell, start NetBeans with, e.g.,
People who know me know I have a perverse love of non sequiturs and mistranslations - even to the point of writing software that generates its very own non-sequiturs (almost a decade ago, but it still works...as well as it ever did). While my all time favorites come from an English menu in Warsaw, fascinating sayings in English abound. The following can hardly be called a mistranslation - this ATM machine is perfectly succinct and to-the-point:
Led Zeppelin meets ATM - who knew?
Martin and I had lunch at a pleasant restaurant near the hotel yesterday - I ordered "The farmer is small to fry the meat" - it was yummy:
The food here has been fascinating and wonderful - particularly something called "Chrysanthemum water with honey" was wonderfully refreshing after a dehydrating international flight.
I have no idea what these folks do, but it sounds interesting:
So far so good.