The Source for Java Technology Collaboration
User: Password:



Tim Boudreau's Blog

Tools Archives


Desafio NetBeans - the plugin contest - postcards from Brazil II

Posted by timboudreau on November 25, 2005 at 08:31 AM | Permalink | Comments (4)

I'm here in Brazil to kick off the Desafio NetBeans, the NetBeans plug-in writing contest. A training company down here, that I've worked with, GlobalCode is running the contest, and Sun is supplying the prizes - three expense-paid trips to the JavaOne conference in San Francisco in May. It's country-wide, and open to all Brazillian Java developers. It's a lot of fun to be helping put together something that will give away something really cool - and a trip to JavaOne is pretty darned cool.

So as a part of that, Charlie Hunt and I are frenetically flying around Brazil, doing training on NetBeans and NetBeans module writing, and the new plug-in development tools in NetBeans 5.0. We did a three hour talk for the local JUG in Sao Paolo last night, got in after a late dinner at 2AM, and were on the way to the airport to Salvador at 5:30 this morning; then we'll fly to Natal at 1AM tonight, with a 3AM stopover, to do the training talks there tomorrow night. Did I mention it's fun? Did I mention it's exhausting? :-)

Brazil is, as always, a fascinating and beautiful country. I'm continually amazed by how networked people are here - every Java developer seems to know every other one. A friend of mine who works at Google told me that a social networking program called Orkut is hugely popular down here - and indeed it seems to be - I'm told even taxi drivers have accounts on it, and teenagers compete on the size of their friend networks. I've never seen anything quite like it.

florianopolisPanoramaEmailSize.jpg
A panorama from Florianopolis (click for full size)

So, for any non-networked Brazilian Java devlopers who would like to meet us in our travels, here's our basic schedule:

  • Thursday, November 24, 2005 - Sao Paolo
  • Friday, November 25, 2005 - Salvador
  • Saturday, November 26 - Natal
  • Monday, November 28 - Brasilia
  • Tuesday, November 29 - Florianopolis
  • Thursday, December 1 - Porto Alegre
  • Friday, December 2 - Campinas


Simply insanely cool...

Posted by timboudreau on November 21, 2005 at 06:05 PM | Permalink | Comments (13)

I'm still having way too much fun writing the extensible Gimp-like image viewer tutorial code (well, if I keep this up I'm just going to have to admit that it's taking on a life of its own...).

And I write a lot of random logging code that looks like:

doSomething (rect.x, rect.y, rect.width, rect.height);

Try this in NetBeans 5.0: Open the options window, go to Editor | Code Templates. Click New to add a new abbreviation. Enter

${RECT}.x, ${RECT}.y, ${RECT}.width, ${RECT}.height

Assign it the abbreviation rr.

Now, in the editor, simply type rr[SPACE]. Like this:

tpl0.png
Now press SPACE and the magic happens:

tpl1.png

And type a string like bounds. Presto! All of the repetitions of the string change too!

tpl2.png

It seems trivial, but I can't remember the last time I was this gaga about an editor feature - I keep having more uses for it. For example, standard NetBeans module boilerplate:

${Clazz} singleton = (${Clazz}) Lookup.getDefault().lookup(${Clazz}.class);
|
(the | character is where to put the caret after I press Enter)

will generate, e.g.,

MyService singleton = (MyService) Lookup.getDefault().lookup(MyService.class); 

or a classic, converting a checked exception to a runtime exception:

IllegalStateException ise = new IllegalStateException (${Exception}.getMessage());
ErrorManager.getDefault().annotate (ise, ${Exception});
throw ise;

and assign it to the abbreviation "ise". I type ise[SPACE] and get

        IllegalStateException ise = new IllegalStateException(e.getMessage());
        ErrorManager.getDefault().annotate(ioe, e);
        throw ise;

with the name of the exception selected so I can correct it. Wow!

Of 5 Years of Open Source NetBeans, Netbeans Day (this Sunday!) and Leftover Chicken

Posted by timboudreau on June 25, 2005 at 12:42 AM | Permalink | Comments (1)

Five years ago this week, we put the final touches on the initial NetBeans.org website. It wasn't as pretty as it is today, but watching it go live - and getting our first patch within a few hours of going live - was an incredible moment. If you're in the San Francisco area, you can come join us this Sunday for NetBeans Day (free, whether you're going to JavaONE or not).

If you work at Sun, the week before and the week of JavaONE is a week of complete and total insanity. In my case, I'm giving or co-presenting 5 talks in the next 5 days. Hectic, but a lot of fun. If you come to NetBeans day, I'll be doing a talk on building plug-ins; we've also got a hands-on lab at JavaONE where you'll actually build plug-ins.

And a lot of the NetBeans team is out here from Prague! It's great having friends in town, especially ones I've been missing quite a bit since I moved back to the U.S. in November, so I had the whole group over for southern fried chicken tonight (and cooked enough to be able to feed half of NetBeans day I think - anyone need chicken urgently in San Francisco? I can bring care packages up tomorrow).

NetBeans founder & architect Jarda Tulach; Radim Kubacki - performance team; Jan Chalupa - core team manager; Petr Hrebejk - trouble maker theGuys.JPG

If you're attending JavaONE and want to say hello, you can find me at NetBeans Day, the NetBeans Plug-Ins hands-on lab, Charles Ditzel's "10 reasons to use NetBeans" (we failed on this one...we couldn't keep it to just 10 :-)), and Jarda Tulach and my BOF on API design.

Clockwise from lower left: A bottle of Gatorade; Trung Duc Tran - Lead Architect; Radim Kubacki - performance; The Back of Jesse Glick's Head trungNradim.JPG


Postcards from Brazil

Posted by timboudreau on April 14, 2005 at 05:26 PM | Permalink | Comments (9)

I've spent the last week in Brazil, doing some talks about NetBeans, how to write plug-ins, etc. What a lovely country! And so much enthusiasm for Java, open source and NetBeans!

nbInBrazil.jpg

Having all this time in airports and planes has given me a chance to work on the new editor hints plug-in for NetBeans. This module provides unobtrusive features in the editor that let you add casts, implement methods, lots of cool stuff, while staying mostly out of the way. It when my colleague Jan Lahoda and I both wrote plug-ins to do this sort of thing on the same weekend. So we banged the results together, and started getting more contributions from another community member - so other than merge conflicts because we've all been working fast and furious on it, it's coming along swimmingly. We hope to make it available on the update center soon; with this sort of thing once you lose trust, it's gone forever, so we want to make absolutely sure it's generating good code and not offering to do dumb things before making it available. If you're brave and have a checkout of NetBeans, you can find it in contrib/editorhints and contrib/editorhints/java.

edHints.png

As I said, Brazil is lovely - the climate reminds me of visiting my grandparents in Jackson, Mississippi as a boy - but maybe a bit hotter. And I've met a huge number of Java developers who have been wonderful to talk with and work with - the enthusiasm down here is infectious! And fortunately, there are wonderful beverages to cool off with - just bore hole and insert straw:

coconuts.jpg

I also met Dalibor Topic, who works on Kaffe - and he managed to get Kaffe working from NetBeans (they still need to finish implementing Swing, so you can't run NetBeans itself there - but you can install it as a "platform" and use it as the JVM you run/test in if you want).

POV-Ray support for NetBeans...and pix from the road

Posted by timboudreau on February 19, 2005 at 01:17 AM | Permalink | Comments (3)

I'm doing a NetBeans module-building presentation inside Sun next week. POV-Ray scene language makes a nice demo for explaining how to do some things. So NetBeans now has POV-Ray support...
povshot.png

POV-Ray is pretty cool - I used it years ago in my brief period doing commercial graphics work. Unlike most 3D rendering software, rather than a modeller (though Moray is a good one), it uses a "scene language", so you enter things like sphere <0, 0, 0> to define what's there. And since it's working with mathematically perfect geometric primitives, rather than triangle-meshes, you don't end up with weirdness if you zoom in too close.

It will work well to demonstrate some basic NetBeans concepts like how to recognize and edit file-types, how to write a basic project type, and do loose coupling between the two. The sources are now uploaded into NetBeans CVS in the contrib project. To try it on Windows, it's worth getting a non-GUI version of POV-Ray.

If you're saying to yourself, I want that NetBeans module-building tutorial! Why is it only for Sun people?!, you can get it. This is the shake-down-cruise for doing this - we'll do it for more people around JavaONE, and elsewhere. Of course, if you're interested, please comment to this blog - gauging interest is a good thing.

And after a month on the road demoing NetBeans, I'm back in rainy Palo Alto. A few people commented that they liked the pictures in the last blog about my travels, so I'll share a few more. My last stop was a great dinner with Ben Galbraith and a bunch of folks from the Utah Java Users Group in Salt Lake City. I'll be back there to talk about NetBeans to the full group on March 17th. Please come!

The pictures below were shot on my drive across Utah and Nevada, on the next to last day of driving. Yes, polarizing sunglasses can be used as a filter on a digital camera :-)

The Great Salt Lake
saltLake.jpg

Hills with shadow
hillsNshadow.jpg

A power plant at dusk
chimneys1.jpg



NetBeans on the Road

Posted by timboudreau on February 03, 2005 at 07:07 PM | Permalink | Comments (3)

So I moved from Prague to California. And I had this car in Massachusetts. What better way to get it to California, than to drive, with lots of stops to demo NetBeans for people?

It's been an interesting trip - thus far I'm in Dallas, Texas. I've been to a bunch of Sun field offices, and learned a lot about this company and its customers - working in Prague is a bit like working for a different company, so it's good to learn more about how the mother ship runs.

It also meant getting caught in New York City for the blizzard that hit the midwest and the northeast of the U.S. a few weeks ago. I've never been in New York when it was silent before. So the couple days afterward looked like this:

newJerseyHighway.JPG

One thing that's always fun to demo is the Mobility Pack for NetBeans - people are just gaga about it. When I demoed this stuff at Javapolis back in December, I asked a question for the +/-100 people in the audience: "How many of you have ever developed a J2ME app?" Three people raised their hands. "Okay, how many of you would try it if it were really easy?" Everybody raised their hands. And it really does make it easy. So I've got a feeling this is going to take off.

So tomorrow it's more meetings, then a visit to the Telephone Pioneers Museum in Dallas - my grandfather worked all his life for the telephone company, and I have a collection of circa 1918 test equipment in mint condition, which I would donate if I knew it would not be thrown away. After that it's on to Colorado!

Just to show the road isn't all snow:

SunsetInOhio.JPG


Culture shock

Posted by timboudreau on January 09, 2005 at 02:05 AM | Permalink | Comments (4)

A lot of folks know me as Mr. NetBeans - in 1999, I'd been working as a contractor for a bunch of years, had backpacked through Prague and liked it, and found a job ad on monster.com from a tiny little company in the Czech Republic called NetBeans. I'd done some tools work before, had been doing a ton of GUI component development in Delphi, and was looking to do something different. I thought to myself, "I'm never going to hear from these guys," but I sent a resume for the heck of it. Life being stranger than fiction, they hired me. And I found myself working with a fantastic bunch of people with a great product, in a beautiful city. I'd studied Russian in Monterey in college (which I thought would help, and it did, but speaking Russian to people in Prague does not make you popular, as I quickly found out), which helped in learning Czech.

So in November I moved to California - back in the U.S. after years away. And I'm working in marketing now (no, I haven't given up programming! But NetBeans has desparately needed a real marketing team for years and now we actually have one!).

When you live away from your native land, you get used to things where you are - but it happens so slowly you don't notice it. So coming back is interesting - first, things have changed while you away, and second, you have changed while you were away - your definition of normal has subtlely shifted. Sometimes it's amusing, sometimes it's disturbing. Here's what's weird:

  • I talk on elevators - Americans have a sort of taboo about talking to strangers on elevators - it's like we're all trapped in this small space, and slightly afraid of each other or something. NetBeans original office in Prague was in an airplane parts factory. Every morning I'd ride the elevator with a bunch of guys going to other offices. And I would get off the elevator on our floor, and there would be a chorus of "Na schledanou" (good bye) from the folks still on the elevator. I didn't know what to make of it, and I asked my ex-girlfriend about it. She said "Well, Tim, they're pointing out that you were rude and didn't say 'DobrĂ½ den' [good day] when you got on!" Light dawns on marble head... Now breaking the habit is the challenge, so I don't weird out people on american elevators!
  • So, how is everything? - The inevitable question when you've just taken a particularly large mouthful of food in a restaurant (is the timing part of the training?). My idea of service in a restaurant is if it takes less than half an hour to get the check, and if I actually get what I ordered (waitress brings soda water. Tim: "But I ordered a cola!" Waitress: "But I brought you soda water" [walks away]). The "So how is everything?" question just induces panic, and grunting affirmitively while chewing apparently isn't an effective response. Seriously, though: I went to the same pub on my corner for lunch 3 times a week for two years, when I was working on NetBeans book. One day, after about a year and a half, the old woman who ran the place asked me "Jak se mas?" (How are you?). That was an incredibly touching moment - I was accepted as a local - and in Czech culture, if you are asking that, you actually want to know the answer.
  • The explosion of cards in my wallet - In Prague, I needed my drivers license, my metro pass my health card and bank card with me. My wallet is already exploding with Costco, Albertsons, Safeway, Hollywood Video, dental, medical, optical etc. cards. I need a new wallet to fit it all.
  • Health care is not simple - I lived in a country with a system of socialized medicine, and excellent health care for five years. Choose your own doctor? Sure - there's only one plan, and every doctor's on it. Go to the doctor? Show them the card, done. Need medication? Show them the card, done. High taxes? Yeah. And you get what you pay for. Best public transportation in the world - believe me, I saved in not needing a car everything I paid in taxes and then some. I spent 2.5 hours in an "orientation" at Sun U.S. where 50 of us discussed all our myriad health care options, all of which, well, suck in one way or another. Let's just contemplate the cost to the economy of Sun (and every other company in this country) having to pay 50 people for two and a half hours to sit in a room and do Q&A or which way we want to get screwed. It doesn't have to be like this - I've lived the alternative, and while it's not perfect there either, it's a serious improvement. This mess is just silly.
  • We have a primitive banking system - if I never see another paper cheque in my life it won't be too soon
  • September 11 changed a lot of things - I'd flown back to Prague the day before. My coworker Mike came by my office and said "The U.S. is under terrorist attack." I asked him what he'd been smoking. Some other people ran down the hall. We made a coat-hanger antenna in the conference room TV and saw the second tower fall. It was late afternoon. You really wouldn't believe the outpouring of sympathy - I met up with some fellow Americans in Prague later. The Czech bartender was crying. Nobody could believe it. Everybody took it personally, not just Americans. The hardest thing was that you simply couldn't get through on the phone, not that day. Coming home, I find people have a different attitude to the rest of the world than when I left in 1999. More aware, which is good, but more scared, which I wish weren't the case.

Now, it's not all complaints - there are things which I've really missed:

  • Good ethnic food - I was on a five year quest for a good burrito in Prague; typically there's an attitude that you pretty much wrap some random stuff in a tortilla and your done. Probably the most stunning example was the brussel sprout burrito.
  • Dishwashers - oh, the luxury, oh the arguments that don't have to happen. I'm lovin' it!
  • Clothes dryers - for the first time in five years, I do not have laundry hung to dry on a line suspended above my kitchen table! It's decadent!

So, it's good to be back, and it's weird to be back, and it'll be nice to be in one place long enough to feel like I live there (that won't happen until at least next month - in the next blog I'll talk about my upcoming NetBeans road-show - driving the long route from Massachusetts to California and demoing NetBeans everywhere I can between here and there!).

NetBeans now has Mac-friendly key bindings

Posted by timboudreau on September 08, 2004 at 01:37 PM | Permalink | Comments (7)

I just committed some changes to NetBeans key bindings handling, so that mac users will get key bindings that are much more like other mac apps (no change for Windows or Linux users).

Specifically what's different:

  • Ctrl -> Command - everything that normally maps to Ctrl will use the Command key instead, except where that's impossible (Command-H always hides the app, Command-Q always quits, Command-~ always changes windows, that sort of thing)
  • Command-G maps to Find-Next
  • Command-R maps to Replace (Ctrl-H, the windows key binding, works as well)
  • Cursor control keys in the editor are the default mac ones - Option-Left-arrow to skip to next word, etc. (Option==Alt)

Also, dialog buttons will now appear in the correct order on Macs, with OK on the right.

Alas, these changes will not be in NetBeans 4.0 Beta 2 - I missed the cut-off, but it's better to review things properly than to rush. They will be in Beta 3.

Please give it a try, and let me know if any of your habitual keystrokes are doing the wrong thing. You can download tonight's build here. Be sure to select "Daily" from the "Build Type" drop-down.

The build with these changes will become available just after 4PM PST, or 1AM GMT.



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