|
|
||
Editor's Daily BlogJune 2005 ArchivesJavaOne Day 3Posted by invalidname on June 30, 2005 at 07:26 AM | Permalink | Comments (0)Reaching the breaking point JavaOne is a conference not timid in its ambition. With keynotes as early as 8 AM and BoF's stretching until 11:30 PM, perhaps only ADHOC/MacHack is more determined to keep paricipants from sleeping. And on Day 3, participants who've been slamming down sessions, BoF's and walking the pavilion may finally be hitting the breaking point. It wasn't hard on this day to finally say "Enough!" and flop down in a beanbag chair in front of the big-screen JavaOne highlights in Moscone South, or in Moscone North with one of the XBoxes playing Halo 2 and Madden NFL 2005. To cap the last three days of activity, JavaOne's "After Dark Bash" featured comedian Dennis Miller, an all-female Led Zeppelin cover band, and throngs of attendees trying to keep going. For those still determined to learn and share information, Birds of a Feather sessions offered a gathering of Jini developers, an editor's roundtable, and advice on writing a Java book, among many, many other topics. The energy level has been high, and there is perhaps a sense of renewed optimism among certain segments of the Java population. Client-side Java sessions attracted many attendees, and a session showing how J2ME will be used to power the interactive features on Blu-Ray movie discs was completely sold out. Day four wraps things up with James Gosling's address, the finale of the annual t-shirt hurling contest (one element of the conference that has been a bust compared to years prior), and a final slate of sessions. We'll probably also see attendees making a last run on the book store in Moscone North, and the gift shop under Moscone South. It's your last chance for a plushy Duke, as seen in the picture below (taken by Scott Schram).
From the community cornerPosted by daniel on June 29, 2005 at 06:48 AM | Permalink | Comments (1)From the keynote to the show floor to the sessions it seems as if java.net is everywhere. Stop by the java.net booth and check out some of the presentations from our community and project leaders. If you are a member pick up your java.net sticker - if you aren't, we're happy to sign you up and then give you a sticker. It's nice to see what a large percent of attendees are community members. It struck me during the keynote, how much activity there is on java.net that people don't know about. Many of the people with cool projects on stage this morning during Scott McNealy's keynote address host their code on our site. The JUIC project is being used to speed up produce transactions. This same mobile phone bidding system can be adapted to other industries. The highlight of the morning address for me was to see Fabiane Bizinella Nardon in a video on the Brazilian health system and then to see her on stage with McNealy. Her group is doing great work making it easier for Brazilians to get easier access to health care. Instead of having to fill out multiple forms with the same information about name, allergies, etc., a person's data is available throughout the health care system. Nardon told stories of how this has dramatically reduced the wait time for service. Their system is open sourced and people in other countries can access and adapt their code base. This fit in with McNealy's challenge to help eliminate the digital divide. Healthcare was one of his targets. He said "no industry is more screwed up than the computer industry, except healthcare." He cited statistics that included 98,000 preventable deaths each year. He then turned to Education as being disjointed and fragmented. Some of his goals included providing students and teachers access to the best content, addressing the needs for better teacher education, and helping schools with the challenges of technology obsolescence. The java.net GELC community is helping with these efforts. After a busy day in sessions and on the show floor, Chris Adamson and I headed over to the Communities in Action party. There java.net and other Java-based communities set up tables and talked to people about what they are doing. It was one of those gatherings that really personalized the conference. So many people have come to know each other from this gathering each year that it's a great time to catch up with developers working on interesting projects with interesting technology. Scott Schram took this picture of Bruno Souza with the JUGs community mascot "Juggy". JavaOne Day 1Posted by invalidname on June 28, 2005 at 06:46 AM | Permalink | Comments (1)New names, old friends, and a roadmap For many of us, JavaOne 2005 started off in the form of a line stretching out of the Moscone Center, around the Sony Metreon, and past the Yerba Buena Gardens. And I had arrived 15 minutes before the beginning of the general session. Given the stream of attendees I saw arriving as I waited, the end of the line was probably around the block and then some. This year's general session included much welcome news, not the least of which was a detente between Sun and IBM - the latter having renewed its Java license for another 11 years - and the retiring of the confusing and often-mocked "Java 2" naming scheme, in favor of "Java Standard Edition 6", "Java Enterprise Edition 6", etc. Java's ubiquity gained further credibility with numbers showing that far from "slowing", Java's reach is advancing in many key measurements: number of developers, number of licensees, and number of devices. On this last point, Sun's John Loiacono revealed that the number of Java-capable devices went up 42% last year and, for the first time ever, now outnumbers Java-capable PC's (and 708 million devices is not a small number either). Members of the original "Green" team - the project that became Oak, and later Java - were invited up on stage with Scott McNealy and Duke to commemorate Java's 10th birthday, complete with a massive cake prepared for the occasion. Looking to the future, Graham Hamilton offered a roadmap of Java SE's Mustang and Dolphin releases, and Bill Shannon toured the goals and features of Java EE's next version. Both are driven by JSR's, and Mustang's developments can be seen as it happens on the Mustang snapshot releases project on java.net. In the afternoon, JavaOne was its usual flurry of activity, with the roadmaps spelled out in greater detail in technical sessions (including one for Java ME, which was not previewed in the general session). The pavilion was packed with exhibitors, and the java.net booth was busy all day with mini-talks describing the many projects and communities on the site. So that's some of what I saw, but what about what you saw? We hope you'll visit our JavaOne forums to discuss what you're seeing and doing at the show. These forums are open to all java.net members, so those who aren't at the show can join in the discussion too. The JavaOne 2005 Discussion is for discussions of happenings at the show, while the Java One 2005 Links is where you can add links to JavaOne content you've seen around the web. JavaOne Day 0Posted by daniel on June 27, 2005 at 07:12 AM | Permalink | Comments (1)JavaOne officially begins today. The java.net page will be devoted to coverage this week and we invite you to get involved. If you are a java.net blogger, set the "Primary Category" of your entry to JavaOne and we will be able to include you on the front page. If you blog elsewhere, we have set up a special forum for you to post links to your entries on other sites and to interesting items you've seen elsewhere - JavaOne 2005 links. You can also join the conversation by posting to a JavaOne forum we've set up for you called JavaOne 2005 Discussions. We'll be featuring these items along with news pieces from the wire in the center column all week. On the right side of the page you'll find a java.net survey that will help us shape the site. You'll also find an updated Java bookshelf for the Safari book service and a rolling list of the latest news and blog posts. This weekend we met with java.net community leaders to talk about how we might better serve the projects and communities. It was great to meet so many of our community and project leaders and hear their thoughts on what is good and bad about our site. Also, JUG community co-leader Bruno Souza unveiled a puppet of the new mascot for the JUGs community (shown here with Bruno and Sarah). Dear FriendsPosted by invalidname on June 24, 2005 at 06:59 AM | Permalink | Comments (0)Join us, in person or online, for next week's JavaOne happenings Not all Java developers go to JavaOne. This is important, so let me repeat it: not all Java developers go to JavaOne. Sometimes we in the computer media get so focused on the major announcements, new software releases, and other activity that are timed to match the conference, that we may be overlooking the fact that the huge majority of Java developers don't want, don't need, or just can't make the pilgrimage to San Francisco in late June. For you, we'll be changing the front page next week, as we did last year, to provide a rolling view of what's happening at the conference. We'll have blogs, coverage from around the web, and other frequently-updated Java news. Think of it as all the excitement of JavaOne, without waiting for 2,000 people ahead of you on the Moscone Center escalators. On the other hand, if you will be at JavaOne, we hope to see you. The java.net presence in the pavilion will offer a Community Corner where you can learn about hosting and managing your project on java.net, meet community leaders, and learn about other projects in the form of 30-minute Mini-Talks. We're also hosting an event Tuesday night, open to all java.net members. Please join your fellow java.net members at the Java Communities in Action event Tuesday June 28 at 6 PM at the Argent Hotel in San Francisco. The event is free and you need not attend JavaOne to participate in this event. Also in today's Projects and Communities section, the Java User Groups now have a mascot: Juggy, the Java Finch. JUGs Community co-leader Eitan Suez introduces Juggy in his blog I believe I can fly ;-), noting that Juggy has been donated to all JUGs under a Creative Commons license. Chet Haase has some information about JavaOne Desktop Sessions in today's Weblogs. "I don't know about you, but I find conference program guides and websites somewhat difficult to use. There are just so many sessions in so many different areas that it's tough to wade through the universe of possibilities and figure out where I'm actually supposed to be at any given time (besides looking for a good cup o' coffee, of course). To that end, we wanted to give you a condensed guide to the Desktop sessions at the conference." Felipe Leme has an idea: SOIA - Specify Once, Implement Anywhere: "Have you ever wondered how hard it is to switch the implementation for a JCP-based technology? Here is my recent experience on the JSF arena." Doug Kohlert notes that the JAX-WS 2.0 RI Early Access 2 is now available. "This version of JAX-WS provides support for SOAP 1.2, MTOM. This is also the first implementation of a dynamic runtime that does not rely on non portable artifacts." In Also in Java Today, JavaServer Faces provides an alternative to Struts or Spring MVC for those who want a Web application framework that manages UI events in a Java Web application. JSF is now a standard part of the J2EE specification and provides a viable alternative to non-standard Web frameworks. In Face Up to Web Application Design Using JSF and MyFaces, Javid Jamae looks at how JSF works and has a surprising opinion on whether it's ready for mission-critical use. Are you developing Java web services? Then consider this: "Web services are increasingly becoming an integral part of next-generation web applications. They're also vulnerable to attacks. The nature of these attacks is the same as for traditional web applications, but the modus operandi is different. These attacks can lead to information leakage; further, they aid in remote command execution." What's your defense option? In the ONLamp Security DevCenter article Securing Web Services with mod_security, Shreeraj Shah shows how to deploy and configure the Apache mod_security module to defend against common forms of attack, without changing your source code.
In today's Forums,
In today's java.net News Headlines : Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Find Your WayPosted by invalidname on June 23, 2005 at 06:40 AM | Permalink | Comments (0)A path to radically simpler webapp development. By this point, most developers have heard about Ruby on Rails, a web application framework that has generated a level of enthusiasm and advocacy not seen in some time. Java has multiple frameworks - competition is good after all - some of them fairly light-weight and some, um, not. But RoR is about more than casting off the shackles of XML deployment descriptors: it's about the idea of "Domain Driven Development", allowing the developer to focus on modelling business logic and not managing relationships between various parts of the framework. If only someone would bring that to Java... In our Featured Article, RAD That Ain't Bad: Domain-Driven Development with Trails, Chris Nelson introduces the Trails project, hosted on java.net, as a Ruby-on-Rails-inspired Domain-Driven Development webapp framework. He shows how straightforward it is to create simple business objects as POJO's and immediately get a webapp that provides the typical means of manipulating those objects via a web interface. Osvaldo Pinali Doederlein is answering complaints about Bloated Mustang? in today's Weblogs. He writes: "Build 40 of Mustang was the first drop with the first significant new API additions. And the inevitable happened as some people started to complain about the addition of 'useless' features: who needs Web Services, Javascript or an HTTP server? Why Javascript instead of [put favorite language here]? Some of these features are indeed hard to justify in J2SE, if we miss the big picture." John Reynolds is predicting good things as Java Business Integration, JSR 208, passes final ballot: "JSR 208, will probably lead to a new crop of JBI-based ESB (Enterprise Service Bus)offerings. For me, JBI's advent will probably be a really good thing. SOA (Service Oriented Architecture) is a paradigm, not a product. I've bought into the SOA paradigm hook-line-and-sinker, but getting from vision to reality has proved difficult." "GlassFish has its first external commitor, Jacob Hookom! Wait, how is that possible? It's only been a couple of weeks?" In GlassFish external commitor, Carla Mott has the answer. In Also in Java Today , Narayanan A.R. says "I have been developing software systems using object-oriented programming (OOP) techniques for many years. So when I read that aspect-oriented programming (AOP) addresses many problems that traditional OOP doesn't solve completely or directly, I wanted to better understand its benefits in real world application development." In Aspect- vs. Object-Oriented Programming: Which Technique, When?, he attacks a case study with both OOP and AOP techniques and makes a line-by-line comparison of the two approaches. The Java 2D is not a new API, but you can use it to create some stunningly high-quality graphics with Java technology. The Java 2D API is easy to use and includes features such as image processing, alpha-based compositing, antialiasing, geometric transformations, international text rendering, and even support for advanced printing. In Learning Java 2D, Part 1, Robert Eckstein introduces the concepts Java 2D uses to render on-screen components. In Projects and Communities, the Java Communications Community project Mobicents, an open-source implementation of JAIN SLEE, is celebrating its recent certification, having passed the JAIN SLEE TCK. Mobicents is a professional VoIP platform that is applicable to other low-latency problem domains, such as financial trading and online gaming. The JavaServer Faces reference implementation is now available under the Java Development License (JDL). Ed Burns' blog entry about the development describes the upshot for JSF implementors, and he has updated the project FAQ so you can choose JDL or JRL before checking out code.<
Today's Forums,
offer an interesting idea in
Proposal: Annotation @Optional. User
In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. The future of JavaPosted by daniel on June 22, 2005 at 06:31 AM | Permalink | Comments (0)Looking forward to next Thursday's keynote The JavaOne conference has always had lots of keynotes. In a way, it confuses those of us searching for the key note. Other conferences have more than one address and many of them now call them keynotes. When I was a mathematician, the national meetings had different invited addresses which each had a different flavor. The Gibbs lecture, for example, was held at night and was the most accessible to non-experts. To be fair, JavaOne calls these gatherings "General Sessions". In the early days of JavaOne I thought of these as a morning convocation. John Gage would greet us and start our day out on the right foot with a series of announcements. He would punctuate the morning session with observations that reminded you there are some deep thinkers at the helm. There was a theme song to JavaOne - a sort of Pat Metheney-esque piece that would play accompanied by lights. You'd walk in each morning with a sense of excitement as you saw the stage and heard the music and rushed to your seat. It could be me, it could be them, but over time this feeling waned. It could have been the year that the message of the morning keynote was "you can make money with Java" or it could have been the growing number of keynotes from show sponsors. I like a t-shirt contest as much as the next guy, but I remember the days when James Gosling would talk to us about programming, the language, real time, or when he would show off the cool applications of Java that he had encountered. One of my favorite keynotes, however, used to be non-technical. It was accessible to non-experts but pushed us to think. Danny Hillis one year talked about the long now. These presentations were often followed by a panel discussion that looked at trends and discussed the future. It looks as if the "Futurist Panel" is back this year for a peak at where technology is going. We are a week away from this session and the JavaOne website doesn't tell us who will make up "this lively panel of technologists, analysts, authors, and financiers" but I'll be heading down to Moscone for this one. Hey - maybe I'll catch a t-shirt this year. James Gosling gives a nice sports analogy that illustrates why Real Time != Real Fast in today's Weblogs. "Since I've been involved in real time programming and the Real Time Specification for Java (JSR1) work, I've had a lot of people ask me about where real time can be used. There's more than a little confusion: many folks who've asked for "real time" actually want "real fast" (throughput computing)." Laird Nelson posts on Detachable Root Panes and Desktop Hopping "On today's menu: how to make a JRootPane subclass that can pop itself in and out of JInternalFrames and JFrames. Let's dive right in." Kirill Grouchnikov says You say Eclipse, I say IBM "How many times have you heard the statement from IBM people that Eclipse has been out of their hands for as long as they remember? Maybe their minds forgot, but their hands still hold tight." In Also in Java Today , working with JAI involves passing in operations as Strings along with the parameters they require. For an introduction along with code examples, check out the recent Core Java Tech Tip Introduction to Java Advanced Imaging. The example takes you through reading in an image file as a JPEG, applying a convolution to the image, and then transforming it so that it can be written out as a TIFF Whether it's summer barbecue season or a formal JavaOne industry event, it's inevitable that someone will come up to you and want to talk... about Jini service discovery, smart proxies, and JNDI. OK, even if this doesn't happen, it's nice to be able to chat up your friends when the occasion arises, so to commemorate the release of Head First Java, 2nd Edition, ONJava is featuring the very popular How to Talk About Jini, J2EE, and Web Services at a Cocktail Party by Kathy Sierra and Bert Bates. In Projects and Communities, Kirill Grouchnikov's blog entry Working with JAXB 2.0 - JavaOne BoF describes the projects in the Java Web Services Developer Pack project and previews a JavaOne "birds of a feather" session in which he and other community members will present and discuss the various JAXB projects.
Good news for members of the Linux Java Community: Blackdown's Linux port of J2SE 1.4.2-02 is now available, in both x86 and 64-bit AMD versions. Debian packages are also available and can be installed with Kellohair from the Peabody team explains the thinking behind mustang source - possible to build only native parts? in today's Forums, "The idea is to import the pre-built libraries (*.so's and DLL's) just like the it does now for Hotspot VM. Using the location JDK_IMPORT_PATH (or your own ALT_JDK_IMPORT_PATH setting) as the source of the built libraries. It would be important that this JDK binary match what you are building and also that you aren't changing any of the native interfaces. If this worked, a C/C++ compiler might not even be necessary for anyone just making changes to Java source files. But you would need a matching built JDK 6.0 binary tree." HLovatt contributes to the thread on Operator overloading (again) and functions "I think operator overloading is difficult to do and current approaches from other languages are lacking, that is why so many people are against it. We need a fresh approach because operators are slightly different than normal methods in that they are related to each other and in general efficiency is a concern." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. This is Your StoryPosted by invalidname on June 21, 2005 at 07:53 AM | Permalink | Comments (0)Too big for a single book Yesterday, Daniel blogged on Tim O'Reilly's blog entry The Rise of Open Source Java, which noted an upturn in Java book sales, attributable to both a Tiger-timeframe refresh of popular titles, and to major open-source projects based on Java, such as Spring, Struts, Lucene, and AspectJ. One of the talkbacks caught my eye, and not in a good way:
On its face, this is almost self-discrediting: by acknowledging the difference between language and libraries in the Ruby world, he immediately shows why a basic Java text can't also teach you how to use JSP's or Swing, any more than reading Kernigham and Ritchie will teach the budding C programmer how to write an app that uses CORBA, QuickTime, or some other third-party library. But the more interesting idea is the suggestion that it is the community that is responsible for providing documentation and support, and that the Java community is lacking. It's hard to imagine someone seriously leveling this accusation at the Java community, where every public API is expected to have publicly-available Javadocs (and anyone with the source can generate those docs easily), where most frameworks and libraries with significant traction are covered by feature articles and tutorials on sites like java.net and others, and where those resources are collected at one-stop shops like CodeZoo. To top it off, isn't the number of books proof that the community is providing documentation and support? True, books aren't free, but given that the average book costs less than the average Java developer makes in an hour, and given that we authors do have mortgages and health insurance to pay for, the situation seems fair to me. Is the Java community doing enough to document and support its many frameworks and libraries? Is that even a fair expectation? Let's hear what you have to say in the talkbacks below... In our Featured Article, Nigel Warren and Philip Bishop apply SOA principles in the small device realm. In Taking Service Oriented Architectures Mobile Part One: Thinking Mobile, they describe how to implement SOA onto mobile devices, show how to implement a simple messaging application using mobile SOA design principles, point to some of the security implications and how to handle them. In today's Weblogs. Greg Murray has some BluePrints for writing JSF Components that use AJAX: " This entry discusses different strategies for AJAX enabling new and existing JSF components. " N. Alex Rupp is scoffing at "an odd story on news.softpedia.com this evening about how ISO 18629 is going to grant computer programs the ability to reason." In Software Language Makes First Step Towards AI? Hardly, he writes: "don't buy the hype -- it's bad reporting, and I'll tell you why." Krishnan Viswanath writes: "I always thought that the Hash implementations (table & map) used buckets that are prime in number." In Hashmap Implementation, he writes: "But, recently, after digging around the source code to see what that default size is resulted in a bit of a puzzling situation." In Also in Java Today, NewsForge's Nathan Willis laments the Decline and Fall of the Version Number: "The world used to make sense. As the first rays of dawn broke over the horizon, farmers strode nobly into their fields of grain to reap the harvest of an honest season's living, while across the country programmers put to rest another night's coding and packaged a well-honed x.0 release, wistfully watching it bound off into the Internet to replicate blissfully on the mirror servers. People everywhere were happy. Then our version numbers collapsed. There was chaos. Some numbers got longer and longer. Some turned into letters and words. Some became dates. Nobody knew what the numbers meant anymore. People were afraid to ask what the numbers meant, and they became afraid of numbers themselves." Are you tired of building and maintaining toString() methods for all your data classes? In Automate run time classfile modification, consultant Dennis Sosnoski shows how you can automate the process using J2SE 5.0 annotations and the ASM bytecode manipulation framework. He takes advantage of the new J2SE 5.0 instrumentation API to invoke ASM as classes are loaded into the JVM, providing on-the-fly class modification at run time. In Projects and Communities, you may be aware that periodic builds of the next major version of Java are posted to the J2SE 6.0 (Mustang) Snapshot Releases project, but do you have a good idea of what's in Mustang? The article Core Java Technology Features in Mustang describes the major new features and bug fixes, and whether they've already been integrated. The latest Java Tools Community Newsletter notes the graduation of two projects from the community incubator: jTrac, a web-based generic tracking tool, and ThinNB, which provides Thinlet support to NetBeans by housing ThinNB NetBeans modules and installing the ThinNB Update Center in the NetBeans IDE.
In today's Forums,
In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Industry trendsPosted by daniel on June 20, 2005 at 07:13 AM | Permalink | Comments (1)Java book sales back up Tim O'Reilly (for whom I work) looks at book sales as one of many indicators of trends. It is not his only source of information, but at last year's Open Source Conference (OSCon) he showed a chart detailing a drop in Java book sales in the months that preceeded the conference this past August. It was a tough OSCon for Java developers - the audience applauded at this revelation. Java programmers noted that the next release of J2SE included major changes to the language and that it was unlikely that people would buy soon to be out of date books. In addition there was a growing number of third party and open source frameworks that had not yet been documented in books. It's hard to say such things out loud in a gathering of Perl, Python, etc. developers and not sound like a bunch of whiners. So, for the most part, we quietly grumbled amongst ourselves. In his weekend blog on The Rise of Open Source Java, Tim updates his slide from last year to include results up through a week or so ago. He comments:
Long before this trend was noted, OSCon Program Chair Nat Torkington doubled the size of the Java track from last year and invited me back as track chair. It was tough to choose among the many strong submissions but I think we've built a solid track and look forward to seeing you in the beginning of August in Portland. Shameless plug: head to the registration page today as it is the last day to save $400 on the registration. Can the AJAX label include Java applets? In today's Weblogs, Hans Muller explores this a bit in his post If You've Got a Name - Check out this Applet. "Applets are old and AJAX is new: the hot technology du jour, the saving grace for developers who've toiled for years, trying to make browser applications palatable. While the AJAX discussion lumbered along, I kept an eye on my neighbors' screens. On my left, an interesting looking animated application appeared. Given the discussion, I assumed that the application was some AJAXian miracle, like Google maps, [but] I discovered (insert trumpet fanfare here) that what I'd been watching was an applet." Jean-Francois Arcand posts his debut entry on Grizzly: An HTTP Listener Using Java Technology NIO. "Writing scalable server applications in Java technology has always been difficult. Before the advent of NIO, thread management issues made it impossible for an HTTP server to scale to thousands of users. I'm gonna start blogging on Grizzly, the HTTP Connector based on NIO shipped in GlassFish." Ben Galbraith offers a solution to applications that require different versions of a jar file in Classloading in J2EE Applications "We're increasingly seeing frameworks co-exist in an application that in turn rely on different versions of the same libraries. And the solution is?" In Also in Java Today , Bruce Eckel has moved his blog to artima.com and posted on his experiences with Object Design. He stresses that design must be simple and that people have difficulty separating abstraction levels, saying "we are drawn to the complexity that we know." After a long rant on UML, the piece ends with the observation that " if you insist that complete information must be available at every stage, you rapidly converge on analysis paralysis on the project level, and the waterfall approach on the method level. On the other hand, accepting that information is incomplete allows a project to become remarkably nimble. At each stage you know you will only be able to mine some of the information about the project, and when a vein begins to dry up you move on rather than wasting time trying to pry out every possible nugget. From experience, you know that you'll move forward a lot faster by moving on, into a design pass, or even by pseudocoding your design." Laszlo offers a dramatic rethink to rich internet application development. You code not with procedural declarations, but with XML markup. You don't compile; a servlet does that for you. And your code runs in the user's Flash plugin, even though you don't need to know the first thing about Flash to use Laszlo. In Exploring Laszlo Classes, Attributes, and Events, Satya Komatineni shows you how to set up and start writing Laszlo applications. In Projects and Communities, the JavaDesktop Community project XUI strives to make coding GUI's easier, and now it offers a greater level of attractiveness by integrating the Synth L&F and SVG. "With these visual enhancements we hope to silence the most vocal LAF critics. Well OK, being practical we hope they will at least have less to carp about!" From the Mac Java Community: Apple has released WebObjects as part of XCode 2.1, for free. This Java-based application server is commonly used for building e-commerce sites, most notably Apple's Online Store and the iTunes Music Store. As recently as May 2000, WebObjects had cost US$ 50,000. In today's Forums, TomWitmer asks if USB (and javax.comm) support benefit from support of unsigned types? A few of us discussed it in another thread. It's possible to work without unsigned types, but as Java communicates with more devices, devs are going to need simpler ways of exchanging unsigned data with those devices. The two times I've run into this issue, I was working in someone else's protocol. Both instances were resolvable through much bitmasking and up-conversion (uchar -> short, ushort->long, etc.), but direct support for unsigned variables would have greatly simplified that effort — tomwitmer Is there Strange Swing behaviour with -Xcomp or -server -XX:CompileThreshold:50? dtrehas writes that when he runs "a Swing based desktop application ( for a big telecommunication company ) with-Xcomp switch or -server -XX:CompileThreshold:50, a JLabel becomes shorter. e.g. xxxx yyy zzzzz becomes zzzz" In this week's Spotlight: The JXTA Community has just completed what it calls a "triple play": simultaneous releases of three different implementations of the JXTA P2P protocols, all of them interoperable. The three releases are JXTA-J2SE 2.3.4, JXTA-J2ME 2.0, and JXTA-C/C++ 2.1.1. Community members are also invited to meet up face-to-face at Sunday night's pre-JavaOne JXTA Town Hall meeting. In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Countdown CrunchPosted by invalidname on June 17, 2005 at 07:49 AM | Permalink | Comments (2)One work week until JavaOne Whether or not you're going to JavaOne, it would be hard not to notice the flurry of activity as the event looms (one work week away, at this point). News editor Steve Mallett e-mailed me and Daniel the other night to express his surprise at how many news items were available for the front page. I noted that two of his news items were for "RC1" releases of projects... perfectly timed for a JavaOne release after a final week of testing. For everyone working hard to get your stuff out the door in time, here's wishing you the best, and hoping you get a break after the crunch. For those of you who won't be at JavaOne, Max Goff wants to help improve the blog coverage of the event. In today's Weblog entry, Blogging JavaOne, he writes: "There should be a plethora of bloggers at JavaOne this year, which is only a couple of weeks away (June 27-30). With Microsoft co-opting ... I mean co-sponsoring the event, it promises to be an even more interesting gathering than any previous Java celebration. Is there anything in particular you would like to see a blogger from java.net cover at JavaOne this year?" Tom Ball talks about presenting Project Jackpot at JavaOne: "I will be giving a JavaOne presentation on Project Jackpot: A New Java Technology for Source Transformation, and have been working hard on a NetBeans plug-in to demonstrate it. I am really excited to be able to finally discuss our work to such a wide audience." Ed Burns has a jumpstart on using java.net for your JSR: "This is what we did with JSP and JSF to host our projects on java.net." In Also in Java Today, the Sun Developer Network article What's New in the Sun Java Wireless Toolkit 2.3 beta outlines the new features and APIs in the latest version of the Sun Java Wireless Toolkit. You'll learn about the toolkit's support for the Location API, SATSA, and the Content Handler API. Read the article to learn how you can create MIDP applications that discover their location, communicate with smart cards, respond to specific content types, and more. Whether you're targeting it with your web application, writing client-side DHTML or AJAX code for it, or just using it to surf the web, chances are you're aware of Firefox, the lean, fast browser from the Mozilla Foundation. But how much of its functionality are you really using? In the Mozilla DevCenter article A Firefox Glossary Brian King (contributor to Firefox Hacks) describes the terminology and concepts of this compelling client. In Projects and Communities, Eduardo Pelegri-Llopart's latest weblog entry announces: JAXP Builds now available. "The JAXP team has just posted early access builds of JAXP 1.3 and of JAXP 1.4. Specific JAXP 1.3 builds will eventually show up in GlassFish builds, while JAXP 1.4 will be in Mustang builds, but having separate builds will allow more flexible uses." The GELC is spotlighting SchoolClipse, a tool for managing a small private school. In Project Spotlight: SchoolClipse, project owner Stavros Kounis talks about the project as a "playground" for developing rich-client platform applications, as well as the project's current status and goals for the future.
User
The latest java.net Poll asks "Have you ever run a Java Web Start application?". Cast your vote on the front page, then join in the discussion on the results page. In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Jobs' commencement addressPosted by daniel on June 16, 2005 at 09:51 AM | Permalink | Comments (0)Connecting the dots Apple and Pixar CEO Steve Jobs gave this year's Stanford commencement address. Although much has been written about it, take the time to read through the transcript. The first of three stories that he tells talks about how the things that you learn and take time to investigate may have long term impact on what you do. His particular example is about taking a calligraphy class in college and later working on the typefaces for the Mac saying " it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later." When I taught high school and college, I would often hear students ask "when are we ever going to use this". The answer may be "never". You may never need to calculate a second derivative, analyze a work of art, have an understanding of a historical event, or have an appreciation of piece of literature. But it all makes up who you are. I just listened to a podcast of Science Friday where Ira Flatow talked to Richard Feynman's daughter about her book collecting his letters. What made Feynman such a compelling character was that his interests were much wider than just physics. In fact, even the work that led to his Nobel prize was the result of having the time to just play around and feel free to explore whatever interested him. As Steve Jobs says to the graduates:
Another of Jobs' points is that when your career takes an unexpected turn, that can be a great opportunity. Of course being fired from a job is stressful, but Jobs was fired in a spectacularly public way from a company that he helped found. He looks at the wonderful things that have happened to him recently:
Jobs' third story is about being told he would die within months of pancreatic cancer. He explained that he had always thought of death and that his time was limited - but it was abstract. Being told by a doctor that he had a couple of months to live was concrete and he advised the graduates:
Clark D. Richey, Jr. is connecting a different set of dots in his article Managing Timed Tasks Within a Cluster Utilizing The StopLight Framework in java.net's Featured Articles. You want tasks in your cluster to run at a specific time, but you want to establish some control over them, so that your sequence of tasks won't run concurrently on different boxes and fail to coordinate. The StopLight framework offers a solution, managing tasks' execution and verifying their health. In Greasemonkey Goodness in today's Weblogs, Ben Galbraith writes "Firefox's Greasemonkey extension is another piece of web technology that changes the game... are there any analogs for Java desktop applications? We've had to put up with poor user experiences in applications ever since the dawn of the desktop computer. Being able to fix annoying website UI glitches is a wonderful experience." Mohamed Abdelaziz writes about Distributed Collections, and Maps. "Have you wondered whether it is possible to create a distributed Map, or a Collection over JXTA? There's no reason to wonder any longer. The JXTA platform is well suited for the task, and provides several mechanisms which allow a variety of features which can be offered by such applications." Your latest NetBeans 4.1 Tip from Brian Leonard is to Move 'Scanning Project Classpaths' Dialog to the Background "Tired of waiting for NetBeans to scan your project's classpath? Check out this tip on how to push that process into the background. Plus, the latest news on what's happening at NetBeans Software Day." In Also in Java Today , "Anyone who has used Flickr, GMail, Google Suggest, or Google Maps will realize that a new breed of dynamic web applications is emerging." The key is the use of JavaScript and Cascading Style Sheet (CSS) features to create dynamic client side applications that work across systems and on all the major browsers. In Asynchronous JavaScript Technology and XML (AJAX) With Java 2 Platform, Enterprise Edition, Greg Murray shows how AJAX works with such J2EE technologies as servlets, JSP's, Java Server Faces, and more. There are widgets that developers keep building over and over again. It seems as if a calendar widget is one of them. In the Core Java Tech Tip Calendar utilities in JDesktop Native components, you will see how to use the prebuilt widgets to pop-up a monthly calendar view to pick dates. You can also use a related widget to display and select special events, certain dates, and ranges of dates. In Projects and Communities, the third-annual Java Communities in Action event will be held Tuesday June 28 at 6 PM at the Argent Hotel in San Francisco. The event is free and offers a chance to meet with community leaders and members of the JSR, JXTA, Jini and java.net communities. You need not attend JavaOne to join this event. Stanley Ho notes the submission of JSR 277 to the JCP, addressing "an area that has been long overdue for an overhaul, and the goal is to make it easier to bundle, distribute, and deploy Java applications and Java extensions," by addressing issues of versioning and inter-JAR dependencies. Rick Carson argues that money matters in today's Forums. "This is somewhat disingenuous. Suggesting that changing the way money flows won't effect the software industry is... interesting. You may be right. But historical examples show that changing the flow of money is usually catastrophic. The idea of the flow of money is an interesting one. Unlike others have suggested I don't think that it will entirely dry up, but there's every reasonable expectation that in many cases free software can act as a substitute (in the Econ 101 sense) good for paid software. Given the presence of a lower cost substitute, the average amount of money spent on that good will (should) decrease." s690716 posts on TWAIN / SANE / WIA Support . "Neither Java Imaging nor JAI have basic support for standards like TWAIN or platform-specific implementations/abstractions like SANE (Unix, Linux, OSX) or WIA (Win32). Are there any plans to support these standards? Using JNI is a bad workaround for a platform independant language... java." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. The Waiting is the Hardest PartPosted by invalidname on June 15, 2005 at 07:23 AM | Permalink | Comments (0)Isn't this great? Well, you can't have it yet. I need a new laptop. I switched to a desktop last year, but now JavaOne and a late-summer working vacation are looming, and I'll need portability. I'm only looking at Mac portables, because I think life is too short and too precious to use anything less. Problem is, while Steve Jobs got the Mac fans enthusiastic about Intel-based Macs the other week, his company isn't going to actually sell them for another year. So now I'm looking at buying into a dead-end technology... and given Apple's previous behavior, they will use a system update to push users off PowerPC at some point, perhaps sooner than I'd like. Plus, the current iBooks use a lousy video card that can't do certain high-end tricks that I might want to play with while I'm on the road (I'm a Java guy by day, but I do have an increasingly So what I want isn't ready. I need to work with what's out there today. I'm not the only one waiting for good things to come down the pipeline. In today's Weblogs, Chet Haase talks about the the Multi-Tasking Virtual Machine (MVM), why it's so exciting, and yet why it's not in Mustang. In Mmmmmm VM..... he writes: "Finally, I get down to the question of 'Why isn't it in the platform yet?', or more specifically, why isn't MVM going to be included in Mustang? Well, frankly, it's always a question of tradeoffs, just like any software project. [...] Given the niche category that I've backed this technology into [...] is it a critical feature that we should focus on in preference to some other Mustang feature?" In Bean Browsing with JXPath, Rich Unger writes: "Here's a little trick I've found useful for browsing the contents of my JAXB model, though it works just as well with any java beans. It's a GUI for testing JXPath expressions on a given Object." Ben Galbraith writes about some SVG Goodness: "After a long time rotting on the W3C website, SVG is finally getting some uptake... and Java is well-positioned to take advantage of the fun. Thanks to the Batik project, Swing applications can embed gorgeous (and often interactive) SVG files into their UIs today." In Also in Java Today, John Zukowski discusses assistive technologies in his Core Java Tech tip Accessibility and the Java Access Bridge. The good news is that "Provided you configure your Swing components properly, everything related to the javax.accessibility package happens behind the scenes. Accessibility aids are connected to the Java Virtual Machine (JVM) on a platform. When a user loads a program through the JVM with an attached aid, the Java Accessibility API provides the necessary information to the device in use." You do, however, need to consider what features you will be supporting e.g. accelerators or mnemonics. Killer Game Programming in Java author Andrew Davison is still playing movies in his 3D world. In Playing Movies in a Java 3D World, Part 2, he takes his Java 3D-based movie-playing application and replaces the Java Media Framework movie-playing functionality with one based on QuickTime for Java. Thanks to an MVC design, it's not too difficult: "as a consequence of the design pattern, the replacement of JMF by QTJ has little effect on the application--only the movie class (JMFSnapper) departs, replaced by a QuickTime for Java version called QTSnapper." In Projects and Communities, Greg Sporar's weblog NetBeans Day: Even more cool stuff has the rundown on new presentations added to the schedule for Net Beans Day, to be held Sunday, June 26, one day before JavaOne kicks off. Greg's highlights include demos of the NetBeans profiler, Project Matisse, and Project Looking Glass. Heads up to members of the Java Enterprise Community: BEA is hosting a 30-minute online session today called Service Infrastructure in the Enterprise, discussing the deployment and management of service-oriented architectures (SOA's). The event will be held today at 9 AM and 7 PM Pacific, and the sign-up is available online.
In today's Forums,
User In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Prepare to QualifyPosted by invalidname on June 14, 2005 at 08:15 AM | Permalink | Comments (0)A naming convention you won't soon forget Overly generic names are a hazard for programmers. J2SE 5.0 already has multiple You can, of course, go the other way. Today's feature article discusses a database benchmarking framework called "PolePosition", that takes its naming conventions to an extreme, and arguably past it. A series of tests is a "circuit" (sometimes also caled a "racecourse"), each test is a "lap", and the code to execute calls to a database or other persistence system is, of course, a "driver". Thus, you run the drivers through a set number of laps on the circuit to determine the winner. You can almost hear the TV announcer calling out "db4o goes inside, he's trying to get around Hibernate on the turn!" You can say this for Pole Position: nobody's going to confuse it with an XML parser anytime soon. In our Featured Article, An Open Source Database Benchmark, Rick Grehan takes a look at PolePosition, which describes itself as "a benchmark test suite to compare database engines and object-relational mapping technology." He writes: "the impetus behind PolePosition came from the observation that developers evaluating candidate databases for future applications often resorted to constructing ad hoc benchmarks rather than using "canned" benchmark tests (or relying on vendor-provided data). This is entirely understandable; to properly evaluate a database for a specific project, you would want to exercise that database in ways that correspond to the application's use of it." Upcoming Mustang improvements are front and center in today's Weblogs. Stanley Ho writes about Security and networking enhancements in Java Deployment: Most of the enhancements are already integrated into Mustang... the remaining enhancements will be available in a Mustang snapshot in a few weeks. Grzegorz Czajkowski writes about Releasing the Multi-Tasking Virtual Machine: The actual technology has proven relatively easy to implement and the original release was planned for early 2005. Well, so much for the plans. A whole bunch of items crept in, all the way from legal issues to handling large code releases on java.net Eduardo Pelegri-Llopart announces JAXP 1.4 at Java.Net: The CVS repository for the JAXP 1.4 Reference Implementation just went live at Java.Net in the JWSDP community. One of the nice things of this JAXP 1.4 implementation is that it provides a ready-to-use package that combines the StAX implementation with SAX and DOM implementations and all the benefits of JAXP 1.3 (like validation). In Also in Java Today , author and analyst Richard Monson-Haefel has some serious second thoughts about JAX-RPC. In fact, his latest blog entry is entitled JAX-RPC is Bad, Bad, Bad! He continues: "There I've said it. It wasn't as painful as I thought it would be to admit that the subject of my last book, J2EE Web Services, is a terribly flawed piece of technology. I'm glad I wrote that book, I think it has helped a lot of people understand a very, very complex Java technology (i.e. JAX-RPC), but I'm sorry that JAX-RPC and the rest of the J2EE Web services stack became the standard for Java web services." Matt Asay, of Novell's Open Source Review Board, has written a NewsForge opinion piece in which he asks Does 'community' still exist in open source? Noting that many of the gear-heads and hackers that used to represent open-source have been hired by corporations interested in OSS, he writes "in our rush to commercialize Linux and other open source projects, we tend to cloud the community aspect, which obviates many of the benefits vendors (and customers) derive from open source in the first place. Word-of-mouth marketing, supra-corporate QA testing, etc. These benefits disappear when community is trampled in the rush to commercialize open source." In Projects and Communities, Jini technology has a new licensing model, with recent specifications and implementations (like the Jini Technology Starter Kit 2.0.2) licensed under the Apache License v. 2.0. In Sun opens the Jini Licensing Model, Bill Venners discusses this change with Jini team members Jim Hurley (also a community contact for the java.net Jini Community) and Bob Scheifler. An interesting success story from the JXTA Community: Boeing has decided to use JXTA as part of of its Future Combat System (FCS) for the U.S. Army. A Boeing VP was quoted as saying that "JXTA technology ensures that services registered can be found quickly and efficiently." FCS is a networked "system of systems" the Army hopes will increase its agility and reduce logistics needs.
In today's Forums,
In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. The GlassFish projectPosted by daniel on June 13, 2005 at 02:25 PM | Permalink | Comments (0)Sun's J2EE in the open One of the repeated themes in the GlassFish documentation is that the "project is designed to encourage communication between Sun engineers and the community and will enable all developers to better understand Sun's J2EE development process." I think that has certainly been the case in the work on the Mustang release. Not so much a look at Sun't process so much as communication in forums and blogs between the community and the engineers. This week's project spotlight is GlassFish. "The first available module is Webtier, the next generation application server which uses Grizzly, an HTTP listener implemented in Java NIO. Access to more modules is in the works." GlassFish seems to be everywhere. In today's Weblogs, Brian Leonard answers the question What's It Take To Build The J2EE SDK? "Developing a product like the J2EE SDK is no small feat. Now you can see for yourself exactly what's involved. It's no small feat -- over 30 modules make up the SDK. You'll see the extent of the code and the number of developers involved." Scott Violet writes Matisse: one step closer to cross platform layout nirvana "Matisse shows work that the NetBeans and Swing teams have been deeply involved in for close to a year (YOW!) now. Get the skinny on what lies underneath Matisse: NetBeans new forms builder." Lance Anderson announces the JDBC 4.0 Early Draft Review is available. The draft includes "ease-of-development features, automatic loading of java.sql.Driver implementations, enhancements to Connection and Statement interfaces to permit improved connection state tracking, and more" In Also in Java Today , in the third part of an interview with Artima.com's Bill Venners, Design Patterns co-author Erich Gamma talks about Design Principles from Design Patterns, focusing on two key principles: program to an interface not an implementation, and favor object composition over object inheritance. Gamma says: "You want to build to last. That's been an important theme of Eclipse development since we started. We have built Eclipse as a platform. We always keep in mind as we design Eclipse that it has to last ten or twenty years. This can be scary at times." Serialization can be handy for persisting Java objects to disk, but it's quite limited in terms of searchability, robustness, and transactional integrity. Most developers reach these limitations and choose to use a database. But there is a middle way: "a prevalent system makes use of serialization... a serialized snapshot of a working system can be taken at regular intervals as a first-line storage mechanism." In Prevalence: Transparent, Fault-Tolerant Object Persistence, Jim Paterson shows how the Prevayler framework offers a compelling prevalence option for Java development. In Projects and Communities, the next Sun Developer Network Chat Session, What's New in the J2ME Wireless Toolkit , takes place Tuesday 6/14/05 at 9:00 AM PST (16:00 UTC). Join the chat to learn more about the J2ME Wireless Toolkit from lead engineer Ariel Levin, writer Jonathan Knudsen, and product marketing manager E-ming Saung. From the Mac Java Community: the Apple Sample Code projects Graphics Performance Demo 2 and Graphics Performance Demo 3 illustrate slowdowns that can occur when animating on a non-AWT thread and when using XOR drawing. These demos discuss issues related to OS X's native double-buffering and offer solutions.
In today's Forums,
lucretius2 adds his thoughts on the thread Please add types uint, ulong etc...
"I think it was one of the great decisions in Java not to have unsigned types. In my experience in C++ they always lead to type mismatch problems when mixing signed and unsigned types, and even bugs. For instance, a classic bug that arises with unsigned types is this:
Kohsuke responds to JAXB object interfaces and implementations. "How does that 3rd party library knows how to implement an interface generated by JAXB? Or is that interface implemented by a proxy? If you can touch that implementation, you can use JAXB annotations directly on those implementations. I can't think of an easy way to do this. Perhaps you can come up with an utility that copies the object field-by-field into JAXB objects?" In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Two years of java.netPosted by daniel on June 10, 2005 at 07:29 AM | Permalink | Comments (0)Thanks for your help When we launched java.net two years ago we stressed that it was a beta site that would grow and change over time. Looking back at the front pages over these past two years (we archived all but the first three) we've experimented with different components and some have worked better than others. As we celebrate our second anniversary today we are also looking forward at elements we might add to the site or existing elements we might change. If you have any thoughts, use the talkback to this blog entry or send us an email. As of last Monday we had over 145,000 members and 1,976 projects on java.net. We have a great team that works on the site every day. The community leaders work to recruit, support, and promote projects. Helen Chen of CollabNet provides a lot of guidance and support for the community and project leaders and is often the voice of reason in the daily discussions among the team members. Marla Parker of Sun has been filling in several roles and has done a wonderful job of making sure we have the resources we need while making sure we are able to still remain an independent voice. I work most closely with the O'Reilly team. It is hard to describe what site producer Sarah Breen does - because she seems to do everything and support everyone. Craig Palmer has also joined us this year producing articles and other aspects of the site. Mark Levitt was also with us this year as a producer before moving on to other O'Reilly sites. Miky Vacik's graphic design adds a special something to our pages. I love the tiles he creates for our feature articles. Tony Stubblebine is a programmer who supports us by adding new features and who helped us move our blogs to Movable Type this year and to launch Jive forums. Greg Dickerson does an amazing job of making sure the site stays up and responsive. David Lents has switched from the network side of the team to the programming side. These guys respond cheerfully to pages in the middle of the night and fix whatever has gone wrong within minutes. What you now see on the front page is the result of the work of Chris Adamson. About a month ago, Chris was promoted from Associate Editor of java.net to Editor. It was not so much a change as an acknowledgement of how much of the site he is responsible for. Since then he has been taking over responsibility for all of the elements on our front page and starting Monday we will begin sharing this blog. I have enjoyed working with Chris this past year and a half and look forward to where he will take the site. I'm not going anywhere, I'm just going to start taking less credit for Chris' work. I'm sure I'm forgetting to mention people. But your eyes are already beginning to glaze over - thank you for helping make java.net what it is so far and let us know what we can do to take it to the next stage. I went to Phil Torrone's box lunch session on Podcasting and it seems as if Andreas Schaefer is asking the right question in his blog entry Podcasting: The Hottest Thing on the Planet? in today's Weblogs. "In case you listened to Steve Jobs' Keynote presentation at the WWDC you probably noticed that he spoke about potcasting and that it is a hot thing. Now that Apple joins the club of podcast aggregator providers there is still room for the others because Apple's business is limiting iTunes feature set. For example jPodder is a Java application and therefore can run on any Java platform and with its plugin feature any number of players can be supported." Carla Mott's debut post is used for Announcing GlassFish. "The GlassFish Project is a gathering place for developers who wish to participate in the community development of the latest version of the Java (TM) 2, Enterprise Edition (J2EE(TM)) SDK. Developers can participate in the development process where community members can review source code, submit improvements, and join in technical discussions. GlassFish is a renewed partnership between Sun and the larger enterprise Java community." Eamonn McManus let's us know that he will be Blogging about JMX technology. "I'm the Specification Lead for Java Management Extensions (JMX) technology and I expect to be talking about it quite a bit in this blog. Over time I plan to talk here about the changes to the API that are planned or in progress." In Also in Java Today , the GNU Compiler for Java (GCJ), a free software implementation of Java, has been in development for seven years, but with the Free Software Foundation's recent call for volunteers, the project is suddenly receiving more attention than ever before. In The GNU Compiler for Java comes of Age, Bruce Byfield traces the project's long history and looks at its current capabilities. He writes, "judging from the implementation in Fedora Core 4, GCJ has reached the stage in which it can be used for development work." Want to deploy parallel tasks in J2EE, like reading from multiple URLs or executing multiple independent SQL queries? It doesn't work very well, thanks to J2EE's prohibition against spawning threads in managed code in a J2EE container. The available workarounds aren't pretty either. But Dmitri Maximovich writes, "It looks like all these complexities could soon be something of the past as two major players in the J2EE server market, IBM and BEA, are collaborating on a specification that provides a simple, container-manageable programming model for the concurrent execution of work." In the dev2dev article Parallel Task Execution in J2EE Using the Work Manager Specification, he looks at how the JSR 237 "Work Manager for Application Servers" specification addresses the problem. In Projects and Communities, the Java Games Community project Battle Tactics Arena describes itself as a "turn--based strategy game inspired by games like 'Final Fantasy Tactics' and 'Tactics Ogre', but played online." A demo is currently under development and the project is seeking artists and sound engineers. LuceneRAR is a project meant to yield a J2EE Connector Architecture (JCA) component to interface with Lucene, the popular full-text search component from Jakarta. This Java Enterprise Community project runs on all J2EE 1.4 application servers and provides Lucene functionality via JNDI In today's Forums, zixle responds to the comments on RowSorter and related classes. "Thanks for the comments! I've been meaning to blog about the new sorting/filtering API, but have been swamped with JavaOne. Anyway, I wanted to respond to various comments you've raised. There have been long running threads on the JDNC and swing forums relating to this API. They are: Mustang feature: Table Sorting and JXTreeTable/JNTreeTable Filtering and Sorting . For those wondering about the API look at the TableRowSorter javadoc - you can branch out to almost all related API from there." Walter_bruce expands on the idea of Multiple return values. "The idea that int could become an Object and gain all its abilities (dynamic runtime polymorphism, synchonization locks, etc) without having to pay any overhead is just not feasible with current technology. So you are left with a choice, make the programming APIs simpler/more uniform and always accept the overhead penalty, or add language complexity to allow the programmer to avoid the overhead when it is not needed." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Making a differencePosted by daniel on June 09, 2005 at 09:02 AM | Permalink | Comments (0)Slamming the profession Last night I had dinner with Rob Stephenson, co-leader of the java.net Global Education and Learning Community. He pointed me to this poem by Taylor Mali called What Teachers Make. In it, Mali is having a discussion with a lawyer who has made fun of teachers and believes he has properly put Mali in his place by asking him "What Teachers Make". By that, the lawyer means "what is your annual income", but Mali seizes on the multiple meanings and goes on a rampage (he engages in competitive poetry competitions known as slams) that includes some of the following:
Today is the last day of the school year for my two kids. They go to an elementary school which includes kids in Kindergarten through fourth grade. Some schools have a graduation for the students who are leaving - at Boulevard elementary they have a clap out. The kids from kindergarten through third grade line the halls and applaud as the fourth graders walk through the building and leave for the last time. Some of us applaud a little longer for those teachers who took our children and helped them learn to read and think and explore. Some day I'll return to teaching. If you haven't tried it I encourage you to do so. Maybe not in a formal setting, maybe not as the primary way you spend each day - but it is one incredibly satisfying way of making a difference. Our official birthday is tomorrow but we're posting the pictures today in our Featured Articles because the celebration will be half over in some parts of the world by the time we post tomorrow's site. In Happy Anniversary, java.net . Your pictures of Duke and family celebrating java.net's second anniversary. The annual Netbeans and Eclipse cat and dog fight has started again. In today's Weblogs, Calvin Austin blogs about it in the Open Source IDE shootout and asks "Is this good or bad for the community?" Eduardo Pelegri-Llopart notes that JWSDP is now also in GlassFish. "Many of the projects in the JWSDP community have multiple lives and are available individually, in the JWSDP bundle, and in many other artifacts. The latest one is the new GlassFish project." Mohamed Abdelaziz asks Have you heard of Google's Summer of Code? If you are a student, "Google is sponsoring the Summer of Code, and Project JXTA is one of the participating organizations." In Also in Java Today , relational and object databases lack many data management features required by modern applications, such as versioning, rich data references, inheritence, or fine-grained security. Content repositories extend databases with such additional capabilities. The Java Content Repository API (JSR 170) defines a standard to access content repositories from Java code, and promises to greatly simplify Java database programming. In Catch Jackrabbit and the Java Content Repository API, Frank Sommers reviews the Java Content Repository API and its open-source implementation, Apache Jackrabbit, from a developer's perspective. The general problem of taking information from a SQL database and turn it into Java objects, and vice-versa is known as Object/Relational Mapping. Hibernate is a lightweight O/R mapping service for Java and gives you the means for persisting your Java objects to and from an underlying database. Rather than you writing the SQL and converting queries to and from first class objects, Hibernate can take care of all this for you. In Quick Hibernate, Satish Talim says "there are many books and articles available on Hibernate and what I want to do here is quickly get you started with Hibernate," which he offers in the form of a hands-on crash-course. In Projects and Communities, the Java Tools Community has released issue 40 of their community newsletter, soliciting pictures for the JavaOne Community Corner slide show and passing along a tip on how to avoid "polluting" your CVS tree when working with Eclipse. The newsletter also welcomes five projects that joined the community recently. The JavaDesktop Community project Swing Utilities contains several handy and reusable utilities, such as the PreferencesMapper, which allows you to easily map Preferences to Components so that you can easily initialize configured components, or quickly extract their values. In today's Forums, Kohsuke responds to the thread JAXB and xsd:include (common type libraries across multiple schemas). "Generally, defining one namespace in multiple documents without referencing each other is going to cause interoperability issues. For example I know for sure that Xerces won't handle this correctly. If you've got errors from JAXB saying "duplicate definitions", that's technically a bug in the JAXB RI. I'm thinking about fixing this, but Overture would probably want to change their schema anyway." In the Multiple return values thread lucretius2 writes "It would be much nicer if an int (or other primitive value) was an Object. int would be a final immutable class extending Object. '1' would be a unique instance of int. So 1.equals(1) or 1 == 1, no matter what arithmetic operation created the 1. Autoboxing unfortunately is only guaranteed to work like this for numbers between -128 and 127, because these values are cached; other numbers are stored in objects on demand, so that if x == y (for ints x and y) we can't assume (Integer)x == (Integer)y. Autoboxing also has a space and time overhead, especially for large arrays of values, that would not exist if an int was an Object." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Happy tenth to PHPPosted by daniel on June 08, 2005 at 10:46 AM | Permalink | Comments (0)More celebrations I got an email pointing to this ten year old page announcing PHP 1.0. I had no idea that PHP and Java were officially released within weeks of each other. Thanks for passing on the reminder. I can't believe that PHP has been on my list of things to play with for a decade. Sigh, the new shinier toys keep rising to the top of the stack. Coming soon you'll find Improved Drag Gesture in Swing. You can read about them in today's Weblogs. Shannon Hickey marks the occasion of his first step into the blogging world by announcing the exciting release of improved Swing drag gesture recognition, one of the most highly requested J2SE bug fixes. Stanley Ho continues his series of posts with one on New User Experience in Java Web Start "The promoted Mustang build 39 contains the initial putback of the new user experience in Java Web Start, and you should download and try it out today! What you see at this point is just a snapshot of what we have been cooking, but it should give you some ideas about the direction we are headed." Arun Gupta asks Why rethink the Java SOAP stack ? Steve Loughran and Edmund Smith, from HP Labs, published a paper on "Rethinking the Java SOAP Stack". The paper examines JAX-RPC programming model for Web services. Here I post my comments on the article. In Also in Java Today , a recent Core Java Tech Tip "presents several options that have been available in past releases of J2SE to validate text input, including the DocumentFilter class added in the 1.4 release." In Validating text and filtering documents, John Zukowski introduces "validating input at the field level after all input is entered, [and] as the text component content is entered or removed." Finally he shows that since J2SE 1.4 you no longer have " to subclass the Document implementation to restrict the contents of the model, you can use the new DocumentFilter class. You simply attach the DocumentFilter to the AbstractDocument through the setDocumentFilter method. " Game developers might think of Java 3D as a means of developing their game world, and media APIs like JMF as a way to show "cut scenes," but what about putting the two together? In Playing Movies in a Java 3D World, Part 1, Andrew Davison writes "the ability to play a movie clip inside of a Java 3D scene opens up opportunities for richer, more interesting 3D content. A movie can display more believable backgrounds, such as moving clouds, a busy city street, or the view out of a window." Andrew is also the author of O'Reilly's recently released Killer Game Programming in Java. In Projects and Communities, in the announcement JXTA-C 2.1.1 Disneyland Beta is available!, Henry Jen asks developers to test against the new beta of JXTA-C, with the final release due on June 14. The announcement also indicates the major bugs being addressed in the beta. The jPortlet project offers a working prototype of a JSR-168 portlet container. This Portlet Community project features fine-grained security, support for multiple portals, JAAS and Tomcat integration, and sample portlets from Sun and Plumtree. Forax has an extended post about RowSorter and related classes in today's Forums. "First I want thank Sun folks to adding sorting and filtering capability to JTable. I suppose that the reason why RowSorter is included in javax.swing and not javax.swing.table, is that RowSorter could be used not only on a JTable but on JList and JTree too, that's great. I have some remarks about the design of RowSorter and the related classes. Let me fisrt write what i think about the current design... Bruni writes on JAXB and xsd:include (common type libraries across multiple schemas). "At the beginning, I want to find a solution which doesn't need to modify the original xsd schemas, because overture provides those schemas. After I read this thread, I tried to modify two xsd schemas by replacing 'xs:include' with 'xs:import', but I failed again. It said the imported xsd has the same namespace. Does it mean if I want to import some xsd, the namespace must be different? And at the end, I have to change to xmlbeans, there was no problem. But I hope to use Sun's jaxb some day. Drichan wants to know What are they Feeding the Mustang Team Man you guys are rocking lately. In just the last few weeks we have seen: - Gray Rectangle Flashing Window painting problem Fixes - SubPixel Anti-Aliasing - TrayIcon API introduced - many, many, others This is all awesome news and bound to make Mustang the best j2se relese ever. In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Apple to have intel insidePosted by daniel on June 07, 2005 at 11:35 AM | Permalink | Comments (0)Delivering the message We've been organizing bloggers to cover JavaOne for us this year. One of the ones I contacted responded "I'm such a nerd, I still get excited over these things." I thought about that as I entered Steve Jobs' keynote at Apple's developer conference yesterday. These still excite me. I've seen every MacWorld and WWDC keynote that Jobs has delivered since he returned to Apple and when he has a message to deliver, no one is better. You've heard by now about the announcement yesterday that Apple is switching from PowerPC chips to intel chips. However you feel about this decision, the way that it was delivered was masterful. First, the tension built as the audience waited for the rumors to be addressed. Then the rumor was confirmed with a slide that read "It's true". The audience groaned. What would this mean? Why would Apple risk years of foundering while they ported to yet another platform? What does a developer need to do to port to this new chip? What about products that are no longer under active development? Maybe I'm still under the influence of the famous reality distortion field, but the answers were stunning. The first news was the for the past five years Mac OS X has worked on both PowerPC and intel. Jobs called this the "Just in case" plan. This was not some spur of the moment "maybe we should change our architecture decision". You feel, again, that someone is driving the bus and that there is direction. Also, Apple provided developers with the tools they need to make the transition: developer tools were handed out immediately and intel Macs will be available for developers in the next few weeks. They even brought out a porting success story by having Theo Gray describe the 20 lines out of millions of lines of code in Mathematica that needed changing. The third piece is Rosetta which translates PowerPC for intel boxes on the client machine. As Jobs put it, it is fast (enough). The message was clear and the audience of developers left feeling a lot better than when they came in. A presentation worth studying. In our Featured Articles, Jonathan Simon is back with a look at Pixel Pushing. Users of desktop applications are demanding--something as simple as a misplaced or misaligned pixel is unacceptable to some users. So it's up to you to get things exactly right. But is this practical, and how do you do it? Jonathan Simon shows a process for analyzing, coding, and testing your GUI for pixel perfection, demonstrating it with a pixel-accurate mimicry of a Windows-specific icon. What do you do when it's time to ship your Java application? In today's Weblogs, Stanley Ho considers your options for Java Deployment in J2SE 5.0. "There are many new deployment features and enhancements in J2SE 5.0. The common theme across all the new features and enhancements in various deployment technologies in Tiger is Ease-of-Deployment. Specifically, the primary motivation behind adding many new deployment features and enhancements is to simplify your life as a deployer." Ken Arnold looks at some of the new odd little corners in Unicode marches on. "One of the odd little corners [...] is that Unicode has now grown beyond a 16 bit character standard, and so has lots of interesting new complications. What I always look for, though, is the new version of the Unicode book. In about 1,000 pages of technical text, one can find out amazing things about various languages and writing systems." Chet Haase is tracking more additions to J2SE Mustang in his post on Phil's Font Fixes. "The bits are in: we've just integrated LCD Text support into build 39 of J2SE Mustang. You can download the latest Mustang build and check it out (we integrated this feature into build 39, which should be live now). Phil Race was hard at work over the last several months implementing this stuff. Here's what he had to say about it..." In Also in Java Today , you can get a quick start guide to the java.net JGoodies project: Rob Smith's OCI article Introduction to JGoodies Binding. JGoodies "Simplifies binding Java Bean properties to UI components, reduces the lines of code needed to build Java UIs, [and] encourages separation of domain and presentation layers" The article shows how you might use Swing to display a simple UI and then introduces JGoodies and shows how the code changes. The article Create test cases for Web applications introduces jWebUnit, a library for testing web applications, based on the popular HttpUnit and JUnit testing tools. " jWebUnit provides a high-level API for navigating a Web application, combined with a set of assertions for verifying the correctness of navigation via links, form entry and submission, table contents, and other typical business Web application features." In Projects and Communities, the Jini Community has released its May newsletter. It features the first installment of Phil Bishop's "Jini Technology Introduction" series, along with blogs, project updates, and news from the Jini Community Decision Process. The LWN.net article Debugging free Java with SableVM and Eclipse notes the "liberally-licensed" SableVM. Of particular interest to members of the linux.java.net Community, this JVM is the first "free" (LGPL) JVM to support the debugging API's JVMDI and JDWP. In today's Forums, kalnayak posts about Pin compatibility with Xerces "In my perspective, Fast Infoset will get wide adoption only when someone develops an engine that is "pin compatible" with Xerces (or should I say JAXP complaint!). In fact, this should be able to transparently handle XML or binary XML without the application knowing the format and reuse the same, say, SAX event handlers. Trembovetski responds to a question about Netbeans and ClearType (b39) "Unfortunately there's no way to find out if you're displaying to a CRT or LCD monitor (not even on windows), so we're relying on whatever user set in the desktop preference dialog. BTW, as I mentioned on another board, WinXP by default sets the text smoothing property to Standard, even on LCD screens" In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Happy Anniversary TSSPosted by daniel on June 06, 2005 at 07:22 AM | Permalink | Comments (0)TheServerSide turns 5 I was surprised by the note from Floyd Marinescu that TheServerSide.com turns 5. They are such a staple in the Java ecosystem that I thought they had been around much longer. Thanks Floyd and the gang for all the great work you've done these past five years and best wishes for the future. Getting access in Java code to system level information that native applications might access is a long standing challenge. In today's Weblogs, Chris Adamson blogs on Getting the free disk space. "One of Java's longest-standing, most absurd deficiencies finally... and I do mean finally... gets fixed. Mustang will finally allow you to figure out how much disk space is left, before you try to write a file." Gregg Sporar reports on Project Matisse. "Don't enjoy doing layout grunt work in order to build a Swing application? Help is on the way. Project Matisse will eliminate that grunt work completely. It's more than just support for graphically drawing your form; Project Matisse provides hints as to where your controls should go on your form." Then new book Java Generics and Collections has been added to GELC for pre-publication help. Daniel Brookshier blogs that "Phil Wadler and Maurice Naftalin are writing a book titled "Java Generics and Collections". They are using the Global Education and Learning Community to help with the review of their book. Come take a look at their project and help them out. It is certainly a great way to learn about the subject before the book is published. In Also in Java Today , the Pragmatic guys have posted two chapters from Greg Wilson's new book Data Crunching: Solve Everyday Problems using Java, Python, and More. The PDF excerpt , Horseshoe Nails, covers the trivial things that you need so your whole application won't come "crashing down". This is the section on unit testing which includes a discussion of sampling and string I/O. Are you designing your persistent objects to support search? Paul Mukherjee writes, "I have seen many applications where the benefits of a carefully designed O-R mapping layer have been negated by ill-conceived search functionality that couples the domain objects tightly with the database." So, in Domain Searching Using Visitors, he shows how to use the Visitor design pattern to develop a search architecture that is flexible, maintainable, and adaptable to different persistence strategies. In Projects and Communities, Daniel Brookshier's blog Students to win prizes and fame today in Amsterdam for writing J2ME applications for Ricoh describes the Global Education and Learning Community's involvement in a Ricoh-sponsored contest to develop J2ME applications. A community project allowed students to get help from noted J2ME experts. The Apple World Wide Developer Conference (WWDC) starts today in San Francisco, and the Mac Java Community home page has a list of sessions of interest to Java developers. Also, a page on the community wiki, WwdcSessionNotes, describes what attendees will need for Friday afternoon's hands-on Eclipse demo. In our spotlight, As part of the java.net Community Corner at JavaOne, there will be a slide show on the plasma screens in that part of the pavilion. Members are invited to submit pictures of groups of developers, screenshots of projects, pictures of community leaders, and anything else that would help show the breadth of the java.net community. To submit, log into your java.net account, go to the Documentss & Files section of the the 2005 JavaOne slide show folder and click "suggest a file." TLund posts on Netbeans and ClearType (b39) in today's Forums. "Just tried the new build 39 with Netbeans 4.1. Finally we have sub-pixel antialiasing in Java, and it's looking very good. But, it doesn't seem to be working in all parts of the Netbeans IDE. The menu section (file/edit/view etc) is rendered with ClearType, but not the editor. The dropdownlist in "Navigator" is rendered with ClearType, but not the rest of the navigator window. etc.. Why is this? I should probably be asking the netbeans team instead, but I just wanted you to know." PLindsay comments on a New critical article on JAXRPC/WSDL "This paper is more evidence that web service standards continue to prove to be what it is not: simple and interoperable. The SOAP standard started life with Don Box's incredibly naïve specification which evolved in the W3C and ultimately required an industry third party (WSI) to step in and try to make sense of the mess. The reality is marketing has pushed us into a XML everything world where "we" the technical citizenry are sentenced to make it work." PatricBectel has some thoughts on the Memory manager on Win32 "As far as I can see, there's a chance beyond the "grey rect problem" fix to further enhance performance of Java client app. This effect is really annoying and it's a critical one for Swing client apps as they appear sluggish although they aren't. I keep telling my customers of this effect for years now (not to bother *me* with it, but M$, or switch to Linux), but few days ago I stumbled over the links above." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Code CleaningPosted by daniel on June 03, 2005 at 08:10 AM | Permalink | Comments (1)Whipping inherited code into shape A couple of weeks ago Alain Ravet posted this summary of what he does when he reviews code to clean it up and clarify it. Though you may items to add or delete - this is a great starting point for approaching a new glob of code. Thank you Alain for letting me repost it here:
In our Featured Articles, Bernhard Angerer and Andreas Erlacher have written Loosely Coupled Communication and Coordination in Next-Generation Java Middleware. The provide a careful overview of JMS and JavaSpaces and compare their features for supporting a distributed application. N. Alex Rupp returns with a piece on JPOX 1.1.0-beta-3 in Maven in today's Weblogs. "I've been interested in JDO technology for a good year now, and I've begun reapproaching JPOX, which my friend Dion showed me last year. As far as Open Source JDO implementations go, it's supposed to be great. I did run into a few problems while trying to get it running in maven, though. Here are some notes. Greg Sporrar is making plans for JavaOne just because Charles is going to be there" "Meet the experts! On Monday evening at JavaOne there will be a gaggle of Sun folks available to answer your questions. Get the scoop on future products and releases and inside tips you can't find anywhere else." William Wake continues his look at an acceptance testing framework in Fit code, part 2 "My strategy today is to chew off the routines that are small and/or simple, then go back and figure out the big routines. I have two things I'm trying to understand: "What happens with nested tables?" and "How do I insert stuff into the middle of a Parse?" In Also in Java Today , in the second part of an interview with Artima.com's Bill Venners, Design Patterns co-author and JUnit co-creator Erich Gamma discusses the appeal and perils of what he calls frameworkitis: "the disease that a framework wants to do too much for you or it does it in a way that you don't want but you can't change it." In Erich Gamma on Flexibility and Reuse, he discusses the challenges of making code reusable and extensible, the role of XP in reusable design, and the advantages of toolkits. Many web applications are now using AJAX to provide a richer client-side experience, and to reduce the endless page reloads of purely server-driven web applications. This moves some of the responsibility to client-side code, and that can be a good thing. In Joshua Gitlin's XML.com article, Errors and AJAX, he shows how to use the Java-like try-catch-finally supported by recent versions of JavaScript, and use the "onerror" event handler to send error handling into your code. In Projects and Communities, the JAXB reference implementation is designed for extensibility, and as Kohsuke Kawaguchi writes in his blog entry, Writing a plug-in for the JAXB RI is really easy: "I recently finished improving this functionality further for 2.0, so today I'm going to explain how to write a plug-in." Members of the Java Games Community take note: O'Reilly has released Killer Game Programming in Java. This 1008-page compendium covers imaging, animation sound, networking, 2D and 3D graphics. Its examples include a tile game, a side-scroller, and a first-person shooter. In today's Forums, cowwoc provides Feedback on SystemTray support in b38. He asks "What happens if I set a 16-bit icon when the desktop is in 16-bit mode and then the user changes to 32-bit color depth. I'm guessing my old 16-bit icon will look really ugly. I know other native applications deal with this problem (upgrade to a 32-bit icon on demand) but it doesn't look like our code does this. Should I open up a RFE?" Prunge asks about having Integer.parseInt, etc. accept CharSequence "How about having Integer.parseInt, Long.parseLong, Double.parseDouble and the rest accept a CharSequence as a parameter. This would save on object creation when doing lots of parsing from a StringBuilder or Buffer." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Talking more openlyPosted by daniel on June 02, 2005 at 06:50 AM | Permalink | Comments (0)What's coming in Mustang Say what you will about lawyers and licenses, it looks as if Sun has been serious about making the J2SE development process more open. Members of the team have been blogging more about what is going on and there has been a lot of open discussion in forums about bugs and issues. Are you going to get everything you want fixed in Mustang? No - but the engineers seem pretty willing to discuss the things that aren't going to make it if you ask them in a reasonable way. Most big companies have a core of smart and good people who often aren't allowed to be as smart or as good as they can be - at least not in public. Blog entries like the recent post by Bino George, help us understand some of what is going on. Can we steer the process? Not as much as we'd like and yet more than before. Combine Bino's post with Daniel Brookshier's today and you might make some plans for JavaOne. Look for those engineers who have been posting in the forums or in the blogs and ask to sit down with them over a beverage of their choice. In today's Weblogs, Bino writes about the New AWT Features in Mustang. In the most recent Mustang builds, the AWT Team has integrated several highly requested features and bug fixes. Please check out the latest Mustang build (anything after b38) and let us know what you think. In Do you know which version of MMAPI you are using?, Vikram Goyal explains that the "J2ME wireless toolkit 2.2 comes with the promise of a reference implementation of MMAPI 1.1. However, the actual version distributed with the toolkit is 1.0 and not 1.1. So where is the actual reference implementation (RI) of the Mobile Media API (MMAPI) 1.1?" Daniel Brookshier is getting a little excited about going to this month's JavaOne conference. In Want to have your brain explode? he writes "Meeting someone real-time enhances what you know about a person and it's usually a little disorienting (ok, you will not really explode) You never know if the next person is going to make your day, year, or life better and my mission at JavaOne is to meet as many people as I can." In Also in Java Today , in the article Fast and Easy XML Processing, hosted as part of the java.net JAXP project, Neeraj Bajaj shows some of the benefits of upgrading to JAXP 1.3. "JAXP 1.3 brings richer XML Schema datatype support to the Java platform by adding new datatypes that map to W3C XML Schema datatypes. Keeping pace with the evolution of XML standards, JAXP 1.3 also adds complete support for the following standards: XML 1.1, DOM L3, XInclude, and SAX 2..0.2. All this has already gone into the Java platform in the latest release of J2SE 5.0. If you are on J2SE 1.3 or 1.4, a standalone stable implementation of JAXP 1.3 is also available to download from java.net." A Java Tools Forum discussion is debating ideas presented by Bob Brewin, Sun's Chief Architect for Developer Tools. In a recent interview, he claims "we are rapidly approaching the point -- if we are not there already -- where applications are too complex for a classic IDE, much less the developer, to comprehend." The discussion begins with questions like "Are we seeing a comeback of higher level, case like IDEs?" and "Do you want easier frameworks or easier tools?" In Projects and Communities, the Embedded Java Community's news section links to a press release for the SmartControl SC-210/211, described as "rugged, network-enabled HMI computers with colour LCD and touch screen [...] and featuring full support for the Java programming language." Robert Eckstein has written an article introducing Refactoring in NetBeans 4.1. The currently supported refactorings are renaming entities, encapsulating fields, changing method parameters, and moving classes. Should there be a CD Burning Low Level API for Mustang ? In today's Forums, swpalmer writes "This should not be in the core APIs, but it could be a standard extension. It might make sense as part of the javax.media. package (If only Sun didn't drop the ball on JMF, we could have a pure Java video editing package like iMovie and iDVD). I think it makes more sense to start this as its own project on Java.net along the lines of JDIC... see how it goes from there. Find out How to Build Mustang with VS.NET 2003. Vijayj writes "Currently our build requires the Microsoft Platform Software Development Kit (SDK), November 2001 Edition compiler to build our deploy workspace. After the VC.NET 2003 compiler switch, we will be looking into the possibility of moving our MSSDK as well. At present we don't have the target date for this." In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. Different languages - different culturesPosted by daniel on June 01, 2005 at 06:56 AM | Permalink | Comments (0)Revisiting C I've spent the past week working on some sample code in C and Objective-C for a book on Bonjour (formerly Rendezvous) I'm co-authoring with Stuart Cheshire. When I first came to Java, the guys with the Smalltalk roots were stressing that a method call should feel like making a request of an object and not like a function call from C. This means, for example, if I have some bunch of data that I want to do something to, I would probably first have an object that encapsulates that data and contains the name of the methods that know how to operate on that data. I then would have some instance variable that can point to the results. In Java that looks something like:
I'd forgotten that in C the same thing looks something like this:
You know when you go to another country where they speak a language you haven't used in years? At first you translate everything back to your native language. But that is too jarring and too slow. So you then slowly start to think in the language of the country you are visiting. I'm not sure I can ever think natively in C again, but after a while the C way of doing things made sense in the middle of a C application. Then it was time for Objective-C. It feels like a cross between the two paradigms. You don't write I used a debugger this weekend for the first time in over two years. I was serializing an object, sending it over the wire, and deserializing it and the results were puzzling. The IM hint from Rainer was, use the debugger to examine the object before and after deserialization. It worked like a charm and (with his permission) I now have a Bonjour demo version of Ken Arnold's Jini mood ring. In Java, TDD has kept me out of the debugger between Fitnesse and Junit. In today's Weblogs Bill Wake provides his Fit Reading (1 of n). "'Fit' is Ward Cunningham's 'Framework for Integrated Tests'. I've used it for a while, and looked at some of its code along the way, but hadn't sat down and really studied it systematically. My plan is to spend an hour at a time, just digging in to what I find and sharing my notes." Romain Guy's debut blog is an appeal that Synth needs you! "Synth is great but not perfect, so help us! The problem is we will soon reach a feature freeze state and I won't be able to easily introduce changes in the public API." James Gosling is back on the road. He writes "I'm in Madrid for a couple of days to participate in their JavaExpo. I spent a couple of hours yesterday with a bunch of customer service engineers who where telling me about what's happening here in Spain."
In Also in
Java Today,
the Abstract Window Toolkit is still gaining new capabilities with each J2SE release, and John Zukowski's Taming Tiger: AWT grows up discusses some of the AWT improvements in J2SE 5.0: "these include Ant is great at building and packaging your web application code, but did you know that it can deploy your app as well? In Developing for the Web with Ant, Part 2, Steve Holzner shows how to use ant to copy files to their deployment directories (local or remote) and how to deploy to Tomcat and EJB containers. This excerpt from Ant: The Definitive Guide, 2nd Edition also shows how ant can compile your JSPs for faster startup and for deployment to servers that don't have the full JDK available. In Projects and Communities, the next Jini Community webinar, "Integrating and Migrating Legacy Services Using the IP Surrogate Architecture," will be held June 15 at noon EDT (16:00 UTC). In it, Jools Enticknap will discuss "experiences learned from integrating c/c++ legacy applications into a Jini based SOA." Java User Groups can enjoy wiki-style collaboration at the JUGs Wiki, in which you can add your JUG and build out community-editable content in a familiar wiki way. JUGs that have recently added pages to the Wiki include JavaUserGroupMilano and JavaSherbrooke. So Is Java going to move into the Game Platform environments (PS, XBox, GC)? In today's Forums, javakiddy writes, "the new generation of consoles are network enabled as standard, and the current 'buzz phrase' pushed by manufacturers is 'user created content'. Obviously this means music and other digital media - but for games this can also mean user created levels and characters, etc. So why not user created games, downloadable from a central on-line resource?" cowwoc would like to see Safer switch statements. "I propose modifying switch() such that if no "default" case is specified the compiler will automatically generate a catch-all statement that throws IllegalArgumentException with "Unexpected value In today's java.net News Headlines :
Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed. Current and upcoming Java Events :
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site. Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive. | ||
|
|