
Pátek září 30, 2005
Implications of OpenDocument Format
The world can surely be a better place with a widely used open format for documents instead of the proprietary one(s). More on this topic on
Slashdot.

Čtvrtek září 29, 2005
www.netbeans.org Slow?
Is it the interest in the Beta? There's a
P1 issue filed, let's hope it will be resolved soon.
Update: Well, we're getting some
records in the amount of traffic this month (19 TB). So I guess a good fix may mean getting some new servers or bandwith :-)
Office Redesign in Prague
Here's a picture of me in my new office. How do you like it?
Well, the truth is that it is not my office, unfortunately. But I think I'll visit this nice new room from time to time :-)
Converting GridBag Forms to Matisse's GroupLayout
Today I spent some time by converting all forms in my
projectpackager plug-in from GridBag to GroupLayout. The reason for that was that for some strange reason the forms were not displayed properly on Solaris (probably due to platform differences in font sizes). At any case this was not a problem of GridBag but a problem of the unexperienced UI designer (me).
The bad news is that the automatic conversion doesn't work from GridBag -> GroupLayout. Matisse lets you change the layout and it looks good, but if you move things around, they get broken. So I had to use the manual approach. How did I do it? I made screenshots of the original dialogs using Gimp and then designed them again using Matisse. This part was really fast - I had all 3 forms ready in 10 minutes or so.
What requires more work is changing all the names of the components - from JTextField1 to usernameTextField, etc. But it is doable, supposing your forms do not contain too many components. The last thing which needs to be done is to create the events - it's basicly about generating the events and then copying their code from the original version.
And that's it - that was all I had to do and now my all forms are in GroupLayout. What improved? They look more consistent now. Why? Because they all use the same spacing rules. They also work now properly on all platforms. And if I decide to redesign them, I can do that in Matisse's free fashion.
I have one tip for anyone using Matisse in NetBeans 5.0 beta. It's still in beta quality, so you need to help it from time to time. The best way to design forms without getting exceptions is to start from top and go to bottom of the form. Be careful especially when the newly inserted components snap - don't let them snap to components you don't want them to snap to, especially if they are far away. If you get to a state when the form is not usable, undo few step back to the state where it was fine and try again (and again watch out for incorrect snapping). Hopefully all these tricks will not be necessary in the final version once NetCAT people help us find all the evil bugs.

Středa září 28, 2005
NetBeans 5.0 Beta is Live on www.netbeans.org!
I am pleased to announce that
NetBeans 5.0 beta is out. It was released a while ago today although it's a state holiday here in Czech republic (well, not for everyone). This baby ment a lot of sweat from hard work for lots of NetBeans people. We are looking forward to your feedback, please file all the bugs you'll encounter into
Issuezilla.
I am about to finish my 30-minute flash presentation which will be published in few days on Javalobby and will cover all the new features in 5.0beta. Excuse me for now, I go back to finish the demos so that the preso is ready ASAP.

Úterý září 27, 2005
StarOffice 8 is Out
More info on
StarOffice site. Better interoperability with Microsoft, support for VBscript macros, supports OASIS OpenDocument format... watch out, Microsoft!
On Scripting Languages
One of the nice things about working at Sun is that you can easily meet interesting people. I went once to the toilet... and there I see James Gosling. How many of you can say that they met James Gosling on a toilet? :-)
Today I met Tim Bray, who is one of the co-authors of XML v. 1.0 specification. And it was not on a toilet, but I had a chance to talk to Tim. I showed him the great features of the NetBeans 5.0 beta and we also spoke about some of the topics which we're both interested in, like scripting languages or blogging.
I share similar opinions about the coolness of scripting languages. Yes, I'd also love to see support for languages like Ruby or PHP in NetBeans. There's a lot of excitement around web frameworks like Ruby on Rails and it would be nice to have good IDE support for them. There are many challenges connected with making a good IDE support, some of them were already exploited with
project coyote, which adds scripting support to NetBeans.
I'm also excited about JSR-223 which brings scripting support to the Java platform, I
blogged it before. So I'm looking forward to the fruits which this JSR will bring, it can be easier writing of servlets using dynamic languages, powerful unit testing... or frameworks bridging scripting languages and Java platform?
I've been developing web applications in various scripting languages for 5 years before I came to Sun and I'm glad to see people here at Sun start to take them seriously (well I know, static typing is static typing)... Some of the scripting languages seem to be dirty, as some of them started as procedural languages and object support was added during their evolution. Yes, they're not perfect, but who cares if it's the best tool you can get to make some kinds of apps fast and they work? It's about developer productivity.
Anyway, I won't bother you anymore with my affection towards scripting languages, just wanted to say that they should not be neglected, because they do matter. Just investigate which languages and frameworks are in biggest boom... you'll see for yourself.

Pondělí září 26, 2005
Getting Ready for Beta and Focus Testing
NetBeans IDE 5.0 beta will be out during next few days, depending how fast the remaining P1s get fixed. These days our quality engineering team is performing intensive testing of beta. Special attention is given to the biggest highlights, like Matisse. I think some of my colleagues are getting crazy of making forms all the time, but that's what you have to do if you are a tester.
In our QE team, we do all the usual quality stuff like writing test specs, going through them, writing automatic tests, measuring code coverage, testing performance, accessibility (A11Y), internationalization (I18N), etc. As you can imagine, being a tester means doing a lot of repetitive tasks which are not as cool as writing code. I have the impression we have the same kind of issue as documentators, our work is basicly the opposite of exciting (which is boring).
This year we started to use a new technique called "focus testing". You gather a group of let's say six people who focus on testing a single part of the IDE. Although I was never a member of these focus groups - we did only few such tests so far, my impression is that this group way of testing is much less boring than usual testing (some people seem to enjoy it!). The point is that you can share experiences you have with tested features, bad-mouth developers for their silly bugs, discuss various strange things which occur when using the features and so on.
Of course you can find lots of duplicates during the focus testing, but that's not really an issue - at least you know which bugs are really visible. As an observer, focus testing seems to me as a really useful way of testing, the results are quite impressive both in number of filed bugs and in the confidence the team has about the biggest issues.
I read a few books about testing (which are probably even more boring than testing itself) and I never found description of such a technique in them. So I was wondering if there is some official term for this kind of tests and if other QE groups are using it. So if you did something like this before, please let me know, I'd be interested in your experiences.

Neděle září 25, 2005
All Knowledge of the Mankind... Archivable and Accessible?
Yesterday I did one of my favourite activities which is listening to speeches of great people who change the shape of IT industry. Brewster Kahle had a speech about
building universal access to all human knowledge and this one got me really excited. For instance, I never dreamed that *all* the books people have ever written could be archived on a small farm of Linux servers (supposing they're in plaintext). Wow!
Brewster goes further than books, he speaks about archiving music, moving pictures, software and what I find particuarly cool is archiving of the whole Internet. The Internet is changing all the time so it's necessary to archive it day by day. This way you can for instance find out what people thought about Bush before the Katrina hurricane and after it. I recommend to check out the
wayback machine, just type in your favourite site and find out how it looked years ago - e.g.
Yahoo in 1996.
I admit I admire such people with great visions, doing things other would think are impossible. They were for instance archiving 20 TV stations all around the world for several years in DVD quality. Wow. They're building racks of servers with storage of 1 petabyte. The traffic from www.archive.org is more than 1 gigabit per second... it serves as a free public storage for any data. There's a big archive of
LEGO films, too. I always get surprised what all kinds of crazy things people do, like converting Spiderman or Star Wars into LEGO.
The real problem is not the technology, but copyrights and licenses... obviously you can't get all popular music archived and distributed legally. Well, you can store music of bands like Grateful Dead or many other who believe in free music. I hope in future we can see more of such bands who agree that sharing is not a bad thing - it could work similarly as in software. Music bands could let people distribute all music for free and sell related services - concerts, t-shirts, CDs with nice covers, etc :-)

Sobota září 24, 2005
J2EE <-> J2SE <-> J2ME
One of the things I find particularly interesting on NetBeans is that it supports full scale of Java technologies "out of box". By "out of box" I mean that you don't have to search, download and configure various plug-ins. You can choose to install the app server boundle and mobility pack and suddenly you have a tool in which you can develop J2SE, J2EE and J2ME applications.
The other advantage is that support for various technologies is integrated (especially in the upcoming 5.0). For example, you can call a web service from a midlet to access J2EE backend, the code is generated for you by a wizard. Or you can refactor business methods and the deployment descriptors are updated for you automatically.
Side note: I spoke recently with Martin Ryzl from Mobility and I was amazed by the posibility of consuming web services directly on the phone. Some phones already implement
JSR 172 which defines how to call web services from mobile phones. Think about the possibilities...
Anyway, back to my main thought. To manifestate NetBeans' end2end application development support Brian prepared a demo script:
http://www.netbeans.org/kb/41/demo-end2end.html
Anyone can use this script for presentation of NetBeans' end2end capabilities. I have one suggestion to Brian and others - guys, why not to create a flash demo out of this?

Pátek září 23, 2005
Everyone's a Marketer
There's a very nice post about
all of us becoming marketers... this is a message to NetBeans developers who think their job is just programming... please read it and think about it.
Declaration: This link was stolen from blog of
Mike Milinkovich from Eclipse foundation. Hopefully such actions are perfectly legal on the Internet. Reading Mike's blog I realize how much both NetBeans and Eclipse projects meet same kind of issues and challenges.

Čtvrtek září 22, 2005
Why Software Sucks - And What to Do About It
Interesting essay from Scott Berkun. Not very short, but with lots of good thoughts.
O blogs.sun.com
Kolega z mé bývalé práce píše o tom jak Sun nastavuje světu (zdánlivě) lidskou tvář skrz blogy. Sice je to trochu starší příspěvek, ale myslím, že stále zajímavý... udělejte si vlastní obrázek - viz
smradoch.bloguje.cz.
Notice: sorry for writing in Czech, I just wanted to try it out... I'm linking to a post in Czech about blogs.sun.com.
First Blogs in Czech at blogs.sun.com
See:
http://blogs.sun.com/roller/page/psum and
http://blogs.sun.com/vita78.
Well, why not? On the other hand I believe it's more interesting to blog in English - you get bigger audience which also means more diverse thougths on what you write... anyway it's your blog and your decision.

Středa září 21, 2005
What are Most Significant Features of NetBeans 5.0?
As I wrote before, I am now preparing a 25-minutes flash presentation of NetBeans 5.0 beta. I'd like to ask for help from those who use daily builds or Q-builds of 5.0. What do you think are the most significant improvements between NetBeans 4.1 and NetBeans 5.0? Please help me prioritize them - here is my prioritized list:
1. Matisse - for it's free-design paradigm
2. New CVS - for it's intuitivness and integration with projects and refactorings
3. New Plug-in support - both plug-in support and NetBeans platform reborn
4. Editing improvements - code completion, code templates, refactorings, hints, error stripe, drag & drop, etc.
5. UI improvements - no scanning classpath, new Options dialog, project copy/move/delete, top menu on MacOSX, etc.
6. Java EE improvements - JBoss, Weblogic, JSF, Struts, JSP palette, XML improvements, SQL query, J2SE web services, etc.
7. Debugger improvements - ant debugger, run into method, expression evaluator
I will not talk about features which are not available in standard IDE (J2ME, profiling, collaboration,...) - I will just mention them. Did I forget anything important? Would you emphasize any of these? Thanks for your opinion!

Úterý září 20, 2005
Font & Color Schemes in NetBeans 5.0
It is possible to create additional font & color schemes in NetBeans 5.0. Although the new Options dialog is still a bit buggy (e.g. preview doesn't work), we received first custom fonts & color scheme as a contribution from NetBeans community. Martin Van Tonder from South Africa sent me a zip with a scheme and he agreed with publishing it, you can download it here:
Martin's Diamond font & color scheme
To install, just unzip this file into your userdir into config subdirectory. You can then change the scheme by choosing "Diamond" in fonts & colors section of new Tools | Options. Martin seems to really like green color :-)
If you have created a nice scheme yourself, why not to share it with others? It's possible now to create custom schemes for shortcuts as well!

Neděle září 18, 2005
Interesting Modules on Update Center
From time to time I need to visit the development update center to get some module. Last time I went there I was quite surprised how many modules are in there! I thought it might be useful to describe the interesting ones (it's not everytime obvious what features are hidden behind their names or even descriptions).
- Collaboration - this is Developer Collaboration, a set of modules which give you chat and possibility to share your projects with your friends. You can use the free share.java.net service to collaborate using this module. Very practical when you are a member of a bigger development team. It gives you a possibility to remotely edit files on another computer or build the project remotely - powerfull stuff. I've actually prepared a demo of these features but first version was rejected due to sexual harrasment issues (the chat was misused for seduction in the demo). I'll re-record it once I'm a bit more free...
- Derby Database Support - this is similar to Pointbase support we had in 4.1. Once installed you get a boundled Derby database server you can use for development. You can manage it through Tools | Derby Database.
- Developing NetBeans - here you can download the whole NetBeans API documentation as javadoc. After installation you can find the zip in your userdir under docs subdirectory. Practical if you are developing NetBeans plug-ins or above NetBeans platform.
- Editing - here are several code completion providers from Leon Chiver - I haven't tried them yet actually. You can also download the lexer module which is useful if you want to add support for additional languages into the IDE.
- Infrastructure - the interesting modules are Eclipse and JBuilder importers which help you migrate from these IDEs (from obvious reasons we want to make this very easy :-). Insane is a module which can help you analyse heap for memory leaks. Plus you can find in this category some other internal modules, I don't pretend to understand what these are for.
- Java - here you can find experimental refactorings, I especially take advantage of copy class (oops now you know that I'm a copy-paste type of programmer). The other ones are useful, too.
- Task List - a very useful tool I blogged about some time ago.
- Scripting Support - support for scripting languages - Jython, DynamicJava and Beanshell, all provided by project Coyote (it doesn't bite, don't worry).
- Testing Tools - these are useful modules which allow you to create UI tests. We use these to develop automated tests for NetBeans. These can be basicly used to automate tests of any Swing application using Jemmy library, so they are not limited to just NetBeans. You can find more details on the testtools webpage.
- Version Control - this category contains the original VCS support. We're in process of replacing the older versioning system support by a new one, at this moment CVS was rewritten (see my flash demo). The other versionings will be replaced, Subversion and MS Source Safe as first to come.

Sobota září 17, 2005
Just a Short Notice...
I'm starting to work on a flash demo of NetBeans 5.0 beta features. I do not know how to compress everything into 20-25 minutes but I will try hard. It will be published on Javalobby as an expert presentation around 5.0's beta time... stay tuned.

Pátek září 16, 2005
Star Wars Over Telnet
Try executing following command (supposing you're not behind firewall):
telnet towel.blinkenlights.nl
I've seen this as an animated gif, but watching Star Wars over telnet is way more geeky :-)
Copying IDE Features - Ethical or Not?
I just crossed this
discussion on Eclipsezone. Sure, we at NetBeans inspire ourselves from features available in other IDEs. But that's exactly what Eclipse does and other IDEs do, too. Copying some of the ideas may be unethical in general, but concerning IDE features - I think there's nothing really bad about it.
The main point here is that we listen to our users - they tell us "I found this cool feature in Eclipse or IDEA and would love to have it in NetBeans with this and that improvement". Should we ignore such a voice of customer just because it would be considered as copying? I don't think so - not listening to our users means loosing them. So it's better to implement a similar feature + make it better than in the other IDE. As long as it is legally OK, I think it's a wise thing to do.
Ideally, I would like to see NetBeans as the IDE others are getting inspired from :-) This can happen if NetBeans is the IDE which comes up with the really innovative features. From historical point of view, this was the case many years ago when there was no Eclipse. But my impression is that NetBeans is getting back on track with 4.x and 5.x releases - with features like Matisse, ant-based project system, new CVS support + areas some other IDEs don't cover out of box like J2EE, J2ME, profiling, developer collaboration, etc. I wonder when we'll see Matisse re-implemented in other IDEs...

Čtvrtek září 15, 2005
NetBeans Quick Tip #13 - Define a Shortcut for Ant Target
Did you know that it's possible in NetBeans to define easily a keyboard shortcut for an ant target? Just add your custom ant target to build.xml (through Files view). When this file is opened you can see the list of all targets in navigator. You can right-click on any of these targets to define a shorcut:
When you invoke the shortcut, the corresponding ant target is executed. So you can take advantage of ant's power by pressing a single key combination. Similarly you can add a menu item or a toolbar button for the ant target:
Tight integration of NetBeans with ant is a great thing, notice how many things are possible -
Geertjan has in his blog a huge collection of tips how to (mis)use ant integration.
Ah, I just noticed that Geertjan already blogged about defining shortcuts for ant targets. I'm not original this time.

Středa září 14, 2005
My Favourite Quote - What's Yours?
I love deadlines. I especially like the whooshing sound they make as they go flying by.
—Douglas Adams, author of "The Hitch Hiker's Guide to the Galaxy"
Photos from NetBeans Day in China
Thanks to Martin Ryzl we know how China NetBeans day and Java China looked like... here few photos:

Opening Ceremony -
Raising the Java Flag

Scott Mc Nealy showing his toys
(I wonder if he ever wrote a hello world in Java)

James Gosling and the audience -
Blond people seem to be rare in China

Peking Duck -
Obviously they were not starving on Java China
More photos provided by
Lukas.

Úterý září 13, 2005
Sun's Censored Adds
As a part of the
Network Computing Event 05Q3 Sun created adds which were
rejected by press for their quite controversial texts. This is my favourite:
While this is very funny, I personally don't think it's a good way how to get the message out - it's indecent and sounds quite arrogant. So it's perhaps better they got rejected. What do you think?
Update: Unfortunately the other rejected adds were removed from the page - they were probably too controversial. Perhaps you can still find them through blogs :-)

Pondělí září 12, 2005
China NetBeans Day Reflections
See blog reflections of speakers of the first stop of NetBeans would tour - Beijing:
James Gosling,
Gregg Sporar and
Tim Boudreau.
Matisse Compatibility Question
I noticed this question on nbusers mailist and thought it's so interesting that I should post it here:
Q: Will forms built using Matisse be forward compatible with Netbeans 5.0
release? In other words, can I begin using Matisse for *real*
development today, or do I need to continue waiting?
A: NetBeans 5.0 is already feature frozen - all features are done, so no
changes in formats, etc. You can use Matisse for creating forms and
these will open in NetBeans in the future. (Note we do not support forms
created in *previous* experimental Matisse version running with a
special command line switch.)

Neděle září 11, 2005
New NetBeans 5.0 Graphics
Geertjan was the first one to blog about
new NetBeans welcome screen. I cannot stay behind so here's the new look of splashscreen (will appear in daily builds soon):
I like the new graphics, even though it's quite wild... You may ask - am I and Geertjan in blogging competition? We discussed this topic once on a party and we agreed that we are. But I think this competition is good for everyone - we mostly blog about different areas so more news about NetBeans is spread.

Pátek září 09, 2005
NetCAT Application Form Closed Already
Wow, I would never expect such an overwhelming interest - it's much different from what we experienced in past releases:
We now have 500+ people in NetCAT. We decided to close application form now after being open more than 24 hours.
Thank you.
Local CVS on Windows
New CVS support works well for local repositories on Linux/Solaris but needs some tweaking on Windows. There is a
CVS FAQ which explains how to make local CVS work with new CVS support. You can also find there how to set up new CVS with public key SSH authentication and some other answers on frequently asked questions.

Čtvrtek září 08, 2005
Crash Test Dummies in NetBeans
What a P1 - is it the hot weather, stress or NetBeans developers started to smoke pot? :-)
http://www.netbeans.org/issues/show_bug.cgi?id=62404