Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
User Journal

Journal Journal: Submitted: Sun $1M open source innovation award challenge

LarsWestergren writes "Sun has created an innovation award program with one million dollars divided between six open-source projects -- Open Office, OpenJDK, Open Solaris, Open Sparc, Netbeans and Glassfish. Individuals or teams submit proposals to the projects and and can be awarded up to $175000 if the proposal is accepted and they deliver the code."


This submission got modded to oblivion quickly in the Firehose queue. Really makes me wonder - do Slashdotters really find this so uninteresting? Or do people here hate Sun so much? Or is there a shadowy cabal from rival companies that doesn't want the truth to get out??! :)

User Journal

Journal Journal: Submitted story: State of OpenJDK and Java7

LarsWestergren writes "David Flanagan, the author of Java in a Nutshell has a nice writeup (the first in a series) of the state of the open source development of the next version of Java. The article explains the difference between the JDK7 and the OpenJDK projects and how to join them. Furthermore, it has an overview of the release schedule, proposed language changes and projects of interest. A more technical and in-depth tracking of the language changes and proposed new features can be found at Alex Miller's blog ."

Hmm, downvoted from yellow to green within minutes. As usual Slashdot doesn't seem very interested in stories about Java unless they are negative. Probably won't get posted. Too bad.

Edit: Hey, seems it was accepted! Nice, my first in a year or so. :)

User Journal

Journal Journal: Railsconf 2007, JavaOne 2007, and women in the industry 3

A short journal entry about something that pissed me off. Keynote speakers at both Java One and Railsconf 2007 talked about bridging the gender gap - getting more women into the IT industry, and starting by changing ourselves and being more inclusive, accepting or whatever. Excellent point, and I agree totally. But what entertainment do the conferences then provide for us? At Railsconf, we had a "surprise" appearence by this marching band. As they were lining up, the band leader, dressed as a carnival cryer, pointed at one of the girls and shouted in his megaphone - "Everyone, don't look at Emma as she is adjusting her panties! White is not a band colour, you naughty girl!". There was a large monitor in the conference center showing a slideshow of pictures from the conference, and some of the pictures I linked to above appeared there. Ok, so there were one or two guys in the band who also must have used vaseline to get into their minipants, but two wrongs don't make a right to me.

I decided to skip the JavaOne After Dark Bash this year because I was too tired and it is usually too loud. I heard from others who had gone though that things got even more tasteless there with a woman on stage in a metal outfit who used a grinder on herself so the sparks flew. Apparently it went so far she was face down on stage with legs far apart and using the grinder on her crotch. Did the people who arranged the entertainment feel we needed some serial killer mutilation fantasies to spice up the evening, or who was it supposed to appeal to? I don't get it.

Some people will say I'm a prude, and that both shows were tongue-in-cheek burlesque. Ok, maybe, but that excuse only works once or twice, and I see this sort of stuff all the time in the computer industry. Last time I was reading reports from a major gaming conference for instance, about half the articles I found had NOTHING in them about the games, just "reviews" and photos of booth babes. And those were articles by major gaming sites and gaming journals. We might even be worse than the car industry. Most shameful of all, appearently someone at the Rails conference was surreptitiously taking pictures of female participants and putting them on a "Rails chicks" page together with their real names. The people who arranged the conference managed to get it shut it down as soon as they heard about it, to their credit, and also I presume had a stern talking to the guy. I hope he got kicked out and banned from future conferences, if he wasn't he should have been.

JavaOne and RailsConf planners - the next time you are going to lecture us about making this a more welcome place for women, please start with having a private talk to the people who decide the conference entertainment.


Journal Journal: Java One 2007 wrapup

I had intended to write a daily report on Java One like Cay Horstmann or my colleague Ola Bini , but I was too exhausted to do that. Now we are driving up to Portland for RailsConf, and I finally have the time and energy to write something.

This was my second Java One. This one was better than last years in my opinion. Either the quality was higher or I've become better at picking the interesting sessions .Seeing the amount of innovation going on, I'm not worried that Java the language or especially the platform will disappear anytime within the next 10 years (if it remains the dominant language remains to be seen of course). Seems there is lots and lots of cool stuff going on in robotics, embedded and mobile markets. Not something I work with, but the technical demos last days by Perrone Robotics, ABB and so on were really impressive.

This year I went to several labs. DTrace lab was great, I'm installing OpenSolaris or Nexenta as soon as I get home and will try to contribute to JRuby and other open source projects with DTrace. SunSPOT lab was also great fun. I'm buying a dev kit as soon as they are legally available to order in Europe. The currently manufactured batch did not comply with EU laws for decreasing dangerous chemicals in manufacturing process. I like those laws, so I'll take the minor inconvenience of waiting a month or two for my new toy rather than circumvent import rules.

JavaFX (previously F3 or Form Follows Function) was neat, but I see it is facing a uphill battle. Some say it is not meant to compete with Flash or Microsoft Silverlight, but it will obviously be compared with them anyway and it seems tool support is currently lacking for JavaFX to be able to attract large numbers of graphic designers or developers. However, perhaps it will at least prevent Java developers from leaving the platform. Some have also questioned making a new language for it and have suggested a better solution would have been to use Groovy, JRuby or any of the other existing scripting languages to create a Domain Specific Language instead. Perhaps, I'm not familiar enough with dynamic languages to know if that is a superior solution. Also, remember that JavaFX have been in development for almost three years (I believe), and when they got started the speed and stability of dynamic languages on the JVM was nowhere near where it is today.

I went to several technical sessoins about new features in Java. The Superpackages, modularity and JVM Kernel technical sessions were interesting. If Sun and the open source contributors manage to pull it off quickly and correctly, Java the platform will really be a force to be reckoned with on the desktop. Neal Gafters Closures session (my last TS of the conference) was really good. I really really want closures for Java now, and I think the BGGA proposal comes closest to what I want, good trade off between backward compatibility and power. I don't know if everyone in the audience understood that with closures, we wouldn't have to write this kind of stuff ever again in Java:

try {
} finally {
    try {
    } catch (IOException ex) { //Comment to stop Checkstyle or PMD from screaming at me for having an empty catchblock...

Instead you would import a util class somewhere from java.io, that class defines a "withStream" method that takes a number of argments AND a closure argument, and that util class takes care of all the boilerplate code for you once and for all, and using it in your code would then just be to use the method something like this instead (sorry if I get the exact syntax wrong):

withStream(inStream) {

You can similarly use it to simplify concurrency, iterations, or anything that you would previously have used anonymous classes for before, but closures don't have many of the problems that anonymous classes do. With closures, you can refer to variables outside the closure without them having been declared final, you can use "this" and "return" keywords just like normally, you can nest closures and it still readable, and so on. Now that we are on the topic of that technical session, it seems that feelings were a lot more heated at this years Java One. I didn't stay through the whole Q&A, but from what I have heard from others the discussion at this and other sessions got really heated. Not to the level of screaming and swearing, but definitely tense. It is good that people are passionate, but I hope it doesn't turn into personal attacks.

I think there was less "swag" this year, but that's ok by me. In my opinion much of it is junk that goes straight to landfill after the conference anyway, and chasing after prizes distracts from what is important at the conference - making new contacts, participating in the open community, and learning stuff. That said, the high end prizes were probably better this year. $5000 for the virtual flying dukes contest for instance. I didn't submit my entry, my avatar only managed to catch the t-shirt 50% of the time, and I thought it had to be 100%. I went to the jMonkeyengine session on Friday, and it turned out I had made the maths much more complicated than needed. A bit depressing that I didn't manage to solve it considering how much math I've been doing last year. Oh well, better luck next year. The avatars people had been doing were not all that impressive. In my own humble opinion, the stuff I had done in Blender was much cooler. I will continue practicing, and we shall see next year (if I get to go to JavaOne again that is). They said the competition would probably return in some way,

Most important thing at the event for me was probably the open sourcing of the java platform. The people at Sun are really dedicated to this, and things are moving ahead quickly. I met people from JMX in person, which was great, and talked to lots of other interesting people. And I won an iPod thanks to being the fastest at solving an anagram in a room of around 75-100 people at the Sun Certified Professionals party. Woo!

Sun Microsystems

Journal Journal: Java One report - Day 0: Open Community Day

First Open Solaris session was very good. Heavily oriented towards sysadmin topics - DTrace, Zones, ZFS etc. Very neat, but not too relevant for my everyday use as a Java developer. I went up afterwards asking about drivers for graphics cards, wireless etc. They claimed wireless and nVidia drivers are on par with Linux, and ATI on the way. Cool kilt on the speaker.

Nexenta and DTrace sessions were not as good. Open Solaris/Nexenta talk was a bit too basic, felt like a sales pitch. The speaker spent a little too much time explaining basic (first year) "race conditions in c threads" theory when he was showing compiler and debugging tools. I would have liked to see more about how the features compete.
  DTrace session - one guy was constantly typing code on screen, the speaker was sometimes referring to what he was writing, sometimes not. That was distracting as you didn't know if you should try to follow the code or not, also distracting was the banter from the fellow team members on first row since many of us (sitting behind them) couldn't hear what they said, only what the speaker replied. Nevertheless, awesome technology. It was actually Sun engineers who quickly solved Twitter's awful Ruby on Rails performance using DTrace.

Netbeans 6 and Matisse sessions were excellent. Extremely impressive how far the platform has evolved the last couple of years. I'm really looking forward to Beans Bindings now. Some of the Czhech speakers have adorable accents, they sound like Dr Nick from the Simpsons. :)

The virtual flying dukes contest was more difficult than I expected. My avatar is finally going in the correct direction, but 50-100% too far for some reason. Maybe I just suck as a programmer.


Journal Journal: Submitted story: JavaOne 2007 call for papers

The 2007 JavaOne call for papers closes this friday. According to conference organizer Anette Vernon, there are currently only a little over 300 submissions so far, but appearently most people do submit at the last minute judging from earlier conferences.

New this year is that technical contents doesn't have to be 100% about the Java platform, but can be about for instance scripting, Open Source and community development, consumer technologies, or next generation web. This is one of the world's biggest developer conferences with around 14000 participants last year, so why not hurry up and submit your paper?

Edit: Still kicking around in the "pending" queue more than a week later, but since the deadline has closed I doubt it will be accepted....


Journal Journal: Building JDK7 on Suse10.1 part 2

My second attempt to do build the whole JDK, and to make life a bit exiting I am going to use a newer OS and gcc version than is recommended. I wouldn't do this if I was building a production ready runtime, but I am just trying to fix and verify a few starter bugs. I simply followed the directions here. Pretty straightforward, all required C source files are available to install through YAST.

When doing make dev-sanity to test system setup first time, I got the following errors.

ERROR: You do not have a valid GCC29_COMPILER_PATH setting.
    Please check your access to /java/devtools/linux/gcc29/usr/
    and/or check your value of ALT_GCC29_COMPILER_PATH.
    This will affect you if you build the plugin target.

ERROR: You do not have access to valid Mozilla header files.
              Please check your access to /java/devtools/share/plugin/mozilla_headers_18/java/bool.h
              and/or check your value of ALT_JDK_DEVTOOLS_DIR, ALT_MOZILLA_HEADERS_PATH,

ERROR: Missing ./../src/share/lib/fonts/LucidaTypewriterRegular.ttf.
              Verify you have downloaded and overlayed on the source area all the binary files.

To fix the font error, download the JDK 7 binaries jar, unpack with java -jar JARNAME and copy the files -r into the source tree.

Mozilla error, download Mozilla headers jar, unpack anywhere, export ALT_MOZILLA_HEADERS_PATH=${WHERE_YOU_UNPACKED_IT}/share/plugin/.

The last error is that GNU GCC egcs 2.91.66 (that EXACT version) is needed to build Mozilla java plugin. The installation instructions state, if you don't want to build the plugin, this is not needed. But it doesn't really say HOW to skip building the plugin. Well, if you already have an earlier installation, you can try this, which I found at Cay Hortmanns blog:
  export ALT_GCC29_PLUGIN_LIB_PATH=/usr/local/java/jdk1.6.0/jre/plugin/i386/ns7-gcc29

Next error I get was something like this:
>ERROR: You do not have access to the previous java release jre bundles.
>ERROR: You do not have access to the previous java release sdk bundles.

You can fix this by downloading these bundles and messing about with the variables ALT_PREVIOUS_RELEASE_PATH, ALT_PREVIOUS_JDK_FILE and ALT_PREVIOUS_JRE_FILE. Last time I tried that I never got it to work. But there is an easier way, and that is just to skip building the images target. And the solution to this I got from Tim Bell
Export the environment variable SKIP_COMPARE_IMAGES

Now I passed the make dev-sanity test. Horray! Now I go on to try "make dev".

Next error:
make[3]: Entering directory `/home/larsw/java/jdk7src/trunk/motif/lib/Xm/util'
make[3]: *** No rule to make target `/usr/X11R6/lib/X11/config/Imake.tmpl', needed by `xmkmf'. Stop.
make[3]: Leaving directory `/home/larsw/java/jdk7src/trunk/motif/lib/Xm/util'

Installing motif-devel headers through YAST fixed this.

Next error: ../../../../src/solaris/hpi/native_threads/src/interrupt_md.c:115: error: static declaration of 'sigignore' follows non-static declaration /usr/include/signal.h:377: error: previous declaration of 'sigignore' was here

Ivan Tarasov had the solution for this.

Next error: ../../../../src/solaris/bin/java_md.c: In function 'get_cpuid': ../../../../src/solaris/bin/java_md.c:1119: error: PIC register '%ebx' clobbered in 'asm'

If my knowledge of C is weak, when it comes to assembler it is non-existant. :-)
However, both Cay and Ivan get by this by commenting out the clobbering of the ebx register. I join the line of those waiting to hear from the experts if this is an acceptable solution. The code comments just say: "ebx is callee-save, so push it even though it's in the clobbers section". Doesn't feel good to comment away stuff I don't understand until it works, but for now I guess I'll just put a book on assembler on my Christmas wish list. I hoped to get some sleep during the holidays, but there is always next year I suppose...

Next error:
t/JTop/JTop/classes ../../../../src/share/demo/management/JTop/JTop.java ../../../../src/share/demo/management/JTop/JTopPlugin.java ../../../../src/share/demo/management/JTop/JTopPlugin.java:53: package com.sun.tools.jconsole does not exist
import com.sun.tools.jconsole.JConsolePlugin;

First attempt: In the file j2se/make/mkdemo/Makefile I removed management and scripting as targets. They are only demos after all.

Second attempt: After looking around, I found this! Do NOT export J2SE_ONLY, it is an old, probably non-working, option! I tried to build as small as possible of course to make it easy, but it was that which caused management/JMX to not build, but these are needed later. Hopefully this option will be removed.

Final errors: /bin/cp: cannot stat `/usr/local/java/jdk1.6.0/jre/plugin/i386/ns7-gcc29/ns7/libjavaplugin_oji.so': No such file or directory /bin/cp: cannot stat `/usr/local/java/jdk1.6.0/jre/plugin/i386/ns7-gcc29/libjavaplugin_nscp_gcc29.so': No such file or directory

These are caused by bugs(?) in the Makefiles. When I Googled for it, I found that once again Ivan had the solution.

Now it all builds, for real this time.

This will also be the last entry in this series, since I am going to remove Suse from all my home and work computers until Novell gets a clue. I guess my next distro will be Ubuntu. I really really like KDE, but Kubuntu doesn't feel as polished yet. Hmm...maybe Fedora?

User Journal

Journal Journal: The Economist technology quarterly

Submitted story:

The current issue of The Economist has its science supplement Technology Quarterly available online for free. In this issue, articles discuss among other things vat grown clone meat, the (impossible) economics of fuel from trash, episodic gaming, a Chinese eco-city, high tech concrete and computer "mind reading" through Bayesian engine augmented cognition .

End submission.

Slashdot journal is buggy by the way. In my first post I have tried to enable comments several times, either through editing the entry and selecting "comments enabled" in the dropdown menu, or clicking on the "enable comments" link. Neither works.

Edit: Rejected.


Journal Journal: Building JDK7 on Suse10.1

How that JDK is being open sourced, I thought it would be interesting to build JDK7, so here are some notes from my experiment in case anyone is interested. I shall try to submit bugs that I find whether they are in Linux, Netbeans or Java, and if my programming skills are up to it I will try to solve them.

Day 1: Latest Netbeans (Relase Candidate 1) downloaded. Needs Java 5 to start, but I have (yet again) problems with Yast in Suse 10.1, it instantly crashes whenever I try to update anything, so I'll just download JDK6 from Sun manually.

Once JAVA_HOME is set, Netbeans starts. Notably faster startup on JDK6, Swing is snappier now, plus very nice anti-aliased fonts. Swing is defenitly catching up with SWT quickly. Subversion plugin downloaded and installed from within Netbeans without any problems. No "checkout from svn/cvs as new project" that I could see, this is something that I'm missing from Eclipse. The subversion menu has a "checkout" command though, it is the only enabled menu command, so I'll guess I try that, and try to import the sources as a new project once it is done.

Repository location URLs for JDKs are a bit hard to find, but I finally found it at this blog. You will need a username and password to do a checkout for now, but this will hopefully change as the open sourcing process continues. The Netbeans checkout wizard fast and easy, but once checkout starts, there is only no svn output feedback by default, just a "process running" animation. I have to go the destination dir to see the files appear, not very good, if download grinds to a halt, will I be able to see it? I have a very slow DSL (damn you, Spray!), so I leave the computer alone for an hour. When I come back, Netbeans is appearently still running the checkout process, but repeated "df" command from bash shows that the download must have halted, nothing is appearing on the drive. Just what I worried would happen. Netbeans should either add svn output so we can see what is happening, or a timeout.

I kill the Netbeans checkout process, and try to find a way in the preferences to get a visible svn output in Netbeans, but no luck. I go to command line instead, clean up the old locks, and try running an update. Seems to work, and now I see progress for each file. Seems command line is the way to go... for now at least, we shall see if it works better once a project is imported in Netbeans. End day one.


Journal Journal: Open source source-code management for an open JDK

From now on I'm going to journal all my submitted stories, so that next time the Slashdot editors say they only post stories by Ronald Piquepaille, beatles-beatles et al is because they don't get any good submission by us others, I'll have something to point to and ask the Slashdot public what they think. :-)

Submitted today:
As Sun is working towards open sourcing the JDK, they have previously asked the community which bug tracker to use, and now Mark Reinholt (Chief Engineer for the java platform) blogs about which distributed source-code management tool to use. They are currently leaning towards the Python based Mercurial, but Linus Torvald's Git and Bazaar are other solutions being evaluated.

Edit: Rejected, half a day later.

Slashdot Top Deals

I haven't lost my mind -- it's backed up on tape somewhere.