More on Java 7 Bug: Q&A with Uwe, Comments from Geir

If you've been watching the Java SE 7 release news, you know about the bug reported by the Apache Lucene community last week. The long-awaited release of a new version of standard Java apparently contains hotspot compiler optimizations that miscompile some loops, which can cause the JVMs in some Apache projects to crash and even result in incorrectly calculated results leading to bugs in some applications.

"It is strongly recommended not to use any hotspot optimization switches in any Java version without extensive testing!" Apache Lucene's warning (here, scroll down to "news" section) concluded.

Lucene and Solr committer and Project Management Committee (PMC) member Uwe Schindler reached out to Oracle to report this issue about five days before the release. He connected with Vladimir Kozlov, principal member of the technical staff at Oracle who works on the Hotspot VM and the JIT Server compiler (and who worked at Sun from 1999). Kozlov responded via the public Oracle Hotspot mailing list that,"All loop optimization fixes will go definitely into jdk7 update 2. We will try to push them into update 1 (which is targeted only for security fixes) but we can't promise…."

Lucene currently ranks among the top 15 open source projects on the Open Source Census, and with installations at over 4,000 companies, it's one of the top 5 Apache projects. The company that provides commercial backing for both the Lucene and Solr projects, Lucid Imagination, is based in San Mateo, Calif.

But Uwe, the guy I wanted to chat with about this issue, lives in Bremen, Germany. We tried to connect via Skype, but I suffer from Time Zone Dyslexia, a tragically untreatable condition that prevented me from calculating the time difference between Silicon Valley, where I live, and Uwe's home, so he graciously answered some questions via e-mail. Here's the Q&A:

JKW: The analysts I've spoken with say that they haven't heard "widespread" complaints about this bug. How serious is this issue for anyone outside the Lucene community?

Uwe: The bugs mentioned in the announcement mail have different severity. The one that crashes the JVM (the Porter-Stemmer bug) is in my opinion only minor, because it crashes your JVM and you know: There is a bug. Oracle now ranks this bug "HIGH," as it was reported by the Lucene committers, is easy reproducible, and shows that they are doing something.

More serious are index corruptions caused by the wrong loop optimizations (those bugs are currently ranked "MEDIUM" at the Oracle bug tracker and [have existed for] several months, but were not fixed for the JDK release). Without very intensive testing (you have to index a lot of documents to produce huge full-text indexes), you will not find them. So without our warning, it might happen that all your test cases work fine and then in production, when your shop has ten thousand articles, you suddenly corrupt your search index and your web site is offline.

The Lucene developers were feeling that they had to inform the users on the Web page and mailing lists about the problems to prevent people [from] complaining about Lucene and Solr and open bug reports that cannot be handled.

JKW: I guess there's no pressing need to upgrade to Java SE 7 in the short term. Can't Lucene shops just run existing workloads on stable Java 6 configurations?

Uwe: That's what we recommend. It was a rule from the 1990s that you should never use a software release with a 0 on the minor version. This is also true here. Most installations of Lucene are based on Apache Solr, which provides an enterprise search platform. Those installations are generally server side, so administrators will for sure test it before they upgrade to Java 7.

The problems are more [about] Lucene installations as part of desktop search engines or other Java-based search applications running on users' computers. Windows computers that might soon be upgraded automatically by Oracle's online Java update could then be affected. A simple example (mentioned on Stack Overflow http://tinyurl.com/44pqov3) is, the Eclipse IDE. If you let it run with the just-released Java 7 and open the online help, it will simply crash, because Lucene is part of every Eclipse installation.

JKW: Are you concerned that Oracle might not take this seriously, given their strained relationship with the Apache community?

Uwe: Oracle took action by changing the priority of the related bugs. I don't think they will try to belittle the problem, because the developers and journalists put a lot of stress on them.

I also asked Uwe to comment on a statement I heard from one analyst: "It's hard to avoid the conclusion that this complaint is related to ongoing tensions between Oracle and the Apache Software Foundation." But this wasn't his cup of tea, so I turned to Geir Magnusson, Jr., director of the Apache Software Foundation.

"This absolutely has nothing to do with the tensions between Oracle and the ASF," Magnussen said. "Lucene and Solr are very popular and important pieces of software, used throughout the world for mission-critical applications. The project served the Solr and Lucene user community by informing them of these problems, problems that can result in data corruption and data loss."

He also noted that there was "no condemnation of Oracle" in the alert from the Lucene project, just an assessment of the problem, some references to bug reports in the Oracle Java bug tracking system, and workarounds for users where possible. But he did add, "One might argue they [the Lucene people] are too forgiving, since Oracle knew before release, but given this is a bug warning rather than an editorial, it's the right tone."

Posted by John K. Waters on August 2, 20110 comments


EnterpriseDB's Postgres Plus 9.0 Server Adds HP-UX Support

EnterpriseDB, the commercial distributor and supporter of the open source PostgreSQL object-relational database system, has launched the latest version of its Postgres Plus Advanced Server. The new version (9.0) comes with new support for the HP-UX operating environment and better compatibility with Oracle, among other enhancements.

I talked with Robin Schumacher, EnterpriseDB's director of product strategy, about the release, and he acknowledged that it includes a lot of new stuff from the community. He was especially enamored of three community-generated enhancements: Streaming Replication, Hot Standby and Upgrade In Place.

Postgres has been criticized for not having its own built-in replication capability. Now users can replicate from a single master to one or more slaves using the tried-and-true write-ahead log technology that has been in Postgres forever. Hot Standby acts as a failover mechanism, standing at the ready should the primary DB server fail, but as the name implies, it's not just a cold machine. People can actually use it to query the data and offload reporting and business intelligence functions, for example, to that Hot Standby server. Schumacher likens the capability to Oracle's DataGuard product's Active Option, but its freely bundled in with the server. Upgrade In Place frees users from the "dump-load" methodology. So it's a lot faster; in EnterpriseDB's own tests, Schumacher says, gigabyte upgrades that used to take hours now take minutes. 

PostreSQL 9.1 is currently in its third beta. If you're interested, there's a link to a beta testing how-to and links to release notes and documentation on the PostgreSQL community Web site

The list of enhancements in this release also includes a couple of standouts:

  • New support for Oracle's embedded SQL programming language, Pro*C. "People can basically take their Pro*C applications and aim them at our database instead and they'll function just fine," Schumacher said.
  • New support for replicating Microsoft SQL Server data to Postgres Plus through a new graphical replication console, dubbed xDB, which allows users to point and click their way through creating replication policies. The company already supported Postgres to Postgres and Oracle to Postgres replications.
  • Support for the HP-UX operating environment on Itanium-based HP Integrity servers. File this one under "Seizing an Opportunity." Oracle announced earlier this year plans to stop developing new versions of its DB and software for the Itanium chips. "Lots of people like their HP hardware, they're happy with HP support, and don't want to switch it out," Schumacher said. "And so we're adding this support. If you're looking for an alternative to Oracle, we've got a nice story here."

I also like a new piece of built-in intelligence called the Index Advisor. A developer or a DBA can pass the Index Advisor a SQL workload that contains SQL statements, and it will come back and recommend indexes that they should build on the underlying tables to improve performance. It makes those recommendations, forecasts performance improvements based on those indexes, and even provides the code to create them. There's also a new Code Profiler designed to allow developers to find an analyze performance bottlenecks.

It's been interesting to watch the evolution of this company, which emerged from stealth mode six years ago o launch its first product, EnterpriseDB 2005, at a LinuxWorld conference in San Francisco.

PostgreSQL, of course, has been around in one form or another for about 20 years. It emerged from the POSTGRES project, a database research effort directed by Prof. Michael Stonebraker at the University of California at Berkeley in the mid-1980s. Stonebraker had also lead the groundbreaking INGRES (Interactive Graphics and Retrieval System) project, which, along with System R from IBM, revolutionized database systems by allowing data to be accessed through a high level language. ("POSTGRES" essentially stands for "post-INGRES.")

With its fledgling flagship product, EnterpriseDB set out to improve on the venerable open-source DBMS with enterprise-targeted features, including compatibility with many applications written for Oracle and SQL Server databases.

"We're standing on the shoulders of hundreds of staff years of work," Andy Astor, founder and then CEO of EnterpriseDB told me at the time. "And it's important for us to be cognizant of that heritage -- and we are. Our job is to enhance that technology to compete in a commercial environment." (Astor is currently serving as vice president of the Asurion Mobile Applications group, which develops and supports that company's digital protection products.)

Today the company bills itself as a provider of "enterprise-class PostgreSQL," and I'd say that's a fair label.

Posted by John K. Waters on July 15, 20110 comments


Adobe's Flash/Flex 4.5 Supports Apps for Android, BlackBerry and iOS

Adobe recently unveiled an update to its Flash Builder and Flex tools designed to enable developers to build apps for iPhone, iPad, and BlackBerry's PlayBook tablet. (Support for Android devices was released in April 2011.) As the company put it, Adobe Flash Builder 4.5 and Flex 4.5 give developers "a single platform for building highly expressive mobile applications that can be distributed via the Android Market, Apple App Store, and BlackBerry App World."

Adobe's senior technical evangelist Christophe Coenraets demoed the new tools for me, and I talked with him about Adobe's strategy.

"People are facing the reality of a fragmented market that no one owns, and in which they have to deliver their applications on multiple platforms," he said. "It's a problem for which we now have a solution."

Adobe sidesteps the fact that Apple doesn't allow runtimes on iOS devices by creating a self-contained executable that links to the runtime library, Coenraets explained. "This creates a totally legitimate application that doesn't rely on the Flash Player at runtime, because we linked the Flash Player libraries as part of the application," he said.

If the crackling blogosphere buzz accompanying this announcement is any indication, the prospect of building apps on a single platform for on these devices -- including iOS gear -- is enormously appealing. But skeptics remain to be convinced that the performance will be there. Cross-platform tools exploit common denominators and sometimes fail to make the most of the native platform.

Coenraets claims that the performance is good, of course, and his demo of two applications -- the PolitiFact Mobile application and a two games from HD Interactive: a spin-based matching game called Mr. Mixit and the Pyramix word game -- supported that claim. The PolitiFact app took about three weeks to build and runs on Android, BlackBerry Tablet OS and iPhone. The two games are available on Android, BlackBerry, Tablet OS and iOS devices.

You can check out those apps and several more on the Adobe Developer Connection  Web site.

Flash Builder 4.5 and Flex 4.5 are being offered as standalone products, but also as part of Adobe's Creative Suite 5.5 Web Premium and Master Collection.

Posted by John K. Waters on June 30, 20112 comments


Milinkovich on the Evolution of the Eclipse Release Train

As I reported on Wednesday, the Eclipse Foundation launched its sixth annual Release Train this week. I spoke with the Foundation's executive director, Mike Milinkovich, as I have for each release, and we got to talking about this thing that started out as an experiment back in 2006.

The Foundation's first Release Train, code-named "Calisto," comprised 10 projects. It was then the largest ever simultaneous release of multiple open-source projects, and during the run-up no one was absolutely certain the then two-year-old Foundation was going to pull it off. "Herding cats" was a phrase that came to mind at the thought of coordinating so many OSS releases. But they did pull it off, and its success proved to be a significant milestone in the evolution of this community.

"If you think back six years ago," Milinkovich observed, "there was a lot of unhappiness about the sheer number of plugins and the complexity involved with managing your Eclipse install, and how you find things, and how to install them all, and how are you were supposed to know all this. You just don't hear that anymore. I think the release train and the packages combined have helped dramatically improve the satisfaction of our user community with what they're getting from Eclipse."

The number of projects included in the annual Release Train has grown each year. Indigo is a whopper, with 62 projects, 46 million lines of code, and the work of 408 developers and 49 organizations.

And those packages Milinkovich mentioned have become an important component of this annual synchronized project release. They're pre-defined bundles of tools and tech designed to make life easier for Eclipse users. For example, the "Eclipse IDE for Java EE Developers" provides a set of tools for Java developers building Java EE and Web apps. It comes with a Java IDE, as well as tools for Java EE, JPA, JSF, Mylyn and others. The "Eclipse Modeling Tools" package combines a complete SDK with an Ecore graphical modeler, a Java code generation utility for RCP apps and the EMF Framework, model comparison support, support for XSD schemas, OCL and graphical modeler runtimes.

Packages now account for the vast majority of downloads from the Eclipse website, Milinkovich said.

"People are mainly downloading packages that are tailor-made for the domain their interested in," he said, "whether it's Java, Java EE, C/C++, or the like. Having these roll-oriented or domain-oriented packages has greatly helped the Eclipse user community feel that what they're getting is a much more robust and stable platform."

The Foundation began with four packages included with "Europa" in 2007. The dozen packages included with Indigo are listed here.

The annual Eclipse Release Train is now an integral part of the Eclipse community, and Milinkovich believes that it has been "nothing but a force for good."

"It has helped to generate a much stronger sense of shared community and shared process across all the projects," he said.

Milinkovich hastened to remind me that the Eclipse community has always been an open source community that lives and breathes through contributions and support.

"Many of the users out there forget that this is not a product, that this is free stuff," he said. "All of this is happening because of the volunteer efforts of individuals and people who are being supported by their employers. And we can always use more support, both in the form of contributions of time and code... and money."

If you're interested in contributing to the cause, you can find more information on the "Friends of Eclipse" support page.

BTW: The next Release Train is scheduled for next June. Its code name, "Juno," probably won't mean much to Americans, but Canadians like Milinkovich will no doubt notice that it was also the code name for the sector of beach on the Normandy coast taken by the third Canadian Infantry Division and commandos of the Royal Marines during the invasion of German-occupied France in 1944. (Thanks, Wikipedia!)

Posted by John K. Waters on June 24, 20110 comments


Japan Prize Comes to Google

Since 1985, Japan has recognized innovators in science and technology from around the world with its annual Japan Prize. But the ferocious, earthquake-spawned tsunami that struck the island nation in March and the subsequent nuclear crisis put this year's award ceremonies on hold.

That is, until Vint Cerf stepped in.

Google's chief Internet evangelist, co-progenitor of the Internet and the Silicon Valley's dapper-est technologist brought the event to his company's Mountain View, Calif. headquarters last month. The Japan Foundation's chairman, Prof. Hiroyuki Yoshikawa, traveled to California to present this year's award in person to Dr. Ken Thompson, a distinguished engineer at Google who co-created the Unix operating system with Dr. Dennis Ritchie, Distinguished Member of Technical Staff Emeritus at Bell Labs. Dr. Thompson received his award during a simple ceremony at the Googleplex; a separate event was scheduled for Dr. Ritchie in New Jersey.

It would be hard to overstate the impact of Unix, which the two computer scientists created in the late 1960s at a time when operating systems were bulky, disorganized hairballs tied to specific hunks of hardware. Unix was fast, lightweight and, perhaps most important, portable. Prof. Yoshikawa called it "a major driving force behind the development of the information age."

Since 1985, 70 people from 13 countries have received the Japan Prize in the two broad fields it covers: Mathematics, Physics, Chemistry and Engineering; and Biology, Agriculture and Medicine. Ten Japan Prize winners have also won Nobel Prizes. Thompson and Ritchie received certificates of recognition, a commemorative gold medal and a cash award of 50 million Japanese yen (about $600,000), which they split.

Prof. Yoshikawa took a moment before presenting the award to thank Google for launching Person Finder. Created by the search engine giant's crisis response team, Person Finder an interactive database designed to allows users to search for missing persons online, or submit information about people who are injured or missing. Reportedly, more than 400,000 records were tracked by the tool.

I was invited to attend the local ceremony, which was no doubt a shadow of the event in Japan, where Emperor Akihito and Empress Michiko actually attend. But Dr. Thompson seemed delighted, and downright humble.

"We were just trying to get something better to get our own work done," Thompson said.

He also told a long story about an impulse purchase of a baby alligator, which he raised in a Pyrex dish in his Bell Labs office when he was a junior scientist, and whose escape earned him company-wide notoriety. (It just got funnier and funnier.)

Before the award was presented, we were treated to a little video history of the careers of Thompson and Ritchie, during which both scientists separately admonished young researchers to pursue their passions without regard for their commercial implications (more or less).

"Research and development are two different things," Thompson said. "Development has clear goals, but research is goal-less because it is the act of discovering something new. My advice to researchers is to continue enjoying the research at hand....Unix resulted from research into new things we were merely interested in. We were very lucky it turned out to be very fruitful."

We spend a lot of time here focused on enterprise software development, which is all about goals. There's nothing wrong with that, of course, but it's good to be reminded from time to time of the potential of simple curiosity fully embraced.

Posted by John K. Waters on June 20, 20110 comments


AMD Developer Summit for Software Designers

Chipmaker Advanced Micro Devices (AMD) is probably not the first company you think of when it comes to software developer conference organizers, but the company's Fusion Developer Summit, wrapping up today in Bellevue, Wash., really brought it with three days of keynotes, breakout sessions and hands-on labs -- all designed to help codederos make the most of its evolving technology.

AMD explained the impetus for the conference on the event Web site:

"Heterogeneous computing is moving into the mainstream, and a broader range of applications are already on the way. As the provider of world-class CPUs, GPUs, and APUs, AMD offers unique insight into these technologies and how they interoperate.  We’ve been working with industry and academia partners to help advance real-world use of these technologies, and to understand the opportunities that lie ahead. It’s time to share what we’ve learned so far."

AMD's Fusion APUs (Accelerated Processing Units), which were unveiled in January, combine a multicore CPU, a DirectX 11 video and parallel processing engine, a dedicated Universal Video Decoder 3 (UVD3) HD video acceleration block, and a high-speed bus for carrying data among the APU's cores.

Before the show, I talked with Manju Hegde, corporate VP of AMD's Fusion Experience Program, about his hardware company's interest in putting together a software developer conference.

"When the PC market was young," he said, "it was possible to sell based on technical merits and technology metrics -- basically, processor speed. But as the market matures, and as Apple has shown the world so forcefully, end users care about solutions based on what they want to do -- solutions and experiences -- not megahertz and gigahertz. All these experience that users really care about come from a strong ecosystem between us and developers, but it's an ecosystem that users are rarely exposed to. That's why developer tools and environments -- and conferences like this one -- are important to a company like ours."

In other words, the software is the medium in which the hardware vendor connects to the consumer. It's an obvious relationship, but not necessarily a compelling reason to attend a conference, Hegde admitted.

"Attracting developers isn't easy," Hegde said, "because they very quickly see through fluff. Every company touts their wares to them, and everyone is vying for their attention, so they have very high standards. So it was important to have material of high technical quality at the conference, and solid keynotes."

The event's keynote roster included AMC corporate fellow Phil Rogers ("The Programmer's Guide to the APU Galaxy"); Jem Davies, ARM Fellow and VP of Technology in the company's Media Processing Division ("Compute Power and Energy-Efficiency: Partnerships, Standards and the ARM GPU Perspective"); Microsoft's Herb Sutter, principal architect in the Native Languages group ("Heterogeneous Parallelism at Microsoft"); Corel CTO Graham Brown ("Creating a decision framework for OpenCL usage"); and Eric Demers, AMD corporate VP and CTO in the Graphics Division ("Evolution of AMD's Graphics Core, and Preview of Graphics Core Next").

AMD is making all of these keynotes available on the Web here. They're all good, but Graham Brown's OpenCL talk was a standout. (The Open Computing Language is a framework for parallel programming of heterogeneous systems.) Also, Phil Rogers laid out the roadmap for AMD's Fusion System Architecture (FSA) for APCs and PC platforms at the show. And Herb Sutter announced Microsoft's plans to add new massively parallel computing capabilities to the next version of its C++ compiler and to graphics processing units (GPUs).

AMD also made some news at the show by announcing the first round of companies participating in the AMD Fusion Fund program. This program was created to "initiate strategic investments in companies that are developing unique, digital consumer, and professional experiences that take advantage of the power of the innovative AMD Fusion family of Accelerated Processing Unit (APU) products," the company said in a statement.

Among the new Fusion Fund partners, AMD threw a spotlight on videoconferencing software maker ViVu. In February, AMD demo'd a system it created with ViVu, called "AMD Wireless TV," at the Consumer Electronics Show. This week the two companies announced that AMD is investing in ViVu through the Fusion Fund. The amount of the investment was not disclosed.

More than 700 developers attended AMD's first software developer conference, an unexpectedly high (and encouraging) number, said Hegde.

"At the end of the day, this conference gave us a chance to let all the developers know how we are making it much easier for them to capture all the compute and graphics capabilities that are going to be in our roadmap," Hegde said.

(BTW: I just learned that AMD is working with Morgan Kaufmann, an imprint of Elsevier Science & Technology Books, to publish a new book for developers entitled "Heterogeneous Computing with OpenCL." Lots of co-authors on this one, including Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry and Dana Schaa. Look for the book in August.)

Posted by John K. Waters on June 16, 20110 comments


Java Toolmaker Battles Redeployment with a JRebel Yell

Java toolmaker ZeroTurnaround has broadened its "attack campaign against redeploys, the natural enemy of Java developers," says its says CEO David Booth, with the release of JRebel 4.0, the latest version of a JVM plug-in designed to allow developers to make on-the-fly code changes in Java class files.

ZeroTurnaround claims that Java developers spend an average of 10.5 minutes of every coding hour redeploying their apps to see changes. The company bases that claim on its own recent survey of 1,000+ Java EE developers on turnaround time, tools, and application containers in the Java ecosystem. The company's raizon d'etre is to reduce that time, Booth said.

"When Java developers want to see the effects of new code (or make changes to existing code), they have to redeploy their entire application -- even to see the smallest changes," Booth said in a statement. "We'd like to enable Java developers to start up their container when they start working, and know that's the last time they'll have to do it all day. With JRebel 4.0, we're 95% of the way there."

The JRebel plug-in is designed to integrate with the JVM and app servers on the class loader level, so it doesn't create new class loaders, but extends existing ones.

Version one of the plugin was released more than three years ago. This latest version supports reloading changes to Enterprise JavaBeans 3.x, anonymous class reloading, the Instrumentation API and HotSwap, and Full Seam 2.x. This version is also expands support to 35 frameworks. The company emphasizes that JRebel uses the Instrumentation API to instrument the application server class loaders and other basic classes, "…but the API does not play part in the actual reloading process…."

JRebel supports Java 1.4 and Java 5+. It also supports a number of application servers, including, among others: WebLogic, WebSphere, Tomcat, JBoss, GlassFish, Google's App Engine, Apple's Web Objects, Jetty, and NetWeaver.

The company has also integrated JRebel with the Eclipse IDE. JRebel for Eclipse is available from the Eclipse Marketplace.

The company sells the JRebel plug-in on an annual subscription basis, but it's offering a 30-day eval download.

Posted by John K. Waters on June 9, 20110 comments


Interview with Miguel de Icaza: Xamarin, Attachmate Layoffs, Future of Mono, More

Miguel de Icaza took time out from his hectic starting-a-company schedule to chat with me this morning about his new Mono venture, Xamarin, which he and other Novell ex-pats are just getting off the ground. He announced the startup in his May 16 blog post, hot on the heels of news that Attachmate Corporation, which acquired Novell in April, had laid off virtually all members of the Mono team.

De Icaza was able to confirm those layoffs with some confidence, because he had to conduct them himself. "It really could have been worse," he said. "I had to say, hey, you're no longer employed, but then I could say, and neither am I."

De Icaza is, of course, the originator of the Mono Project, an open-source implementation of the .NET Framework based on C# and the Common Language Runtime (CLR). In 1999 he and Nat Friedman founded a company called Ximian, originally to provide Linux and Unix desktop apps based on the GNOME platform. That company became a driving force behind Mono, and it was acquired by Novell in 2003.

But Mono never truly flowered under Novell, de Icaza said, especially in the mobile space. In fact, one of the reasons he is sanguine about the layoffs is that he and his Mono mates have been trying to spinoff the technology from Novell for more than a year.

"We all thought that Mono could really shine on its own," de Icaza said. "For years we've been wrapped in this bubble of Novell, and our mobile efforts didn't align with the strategies of an infrastructure company. We pursued them because a lot of people asked us to do it, and we're passionate about it. I guess you could say that I welcome being laid off, because it gave us a reason to get together and do what we all wanted to do." 

Under Novell, the Mono team did create MonoTouch, which allows developers to create C# and .NET apps for iPhone, iPad, and iPod Touch devices, and Mono for Android for developers creating apps for devices running that OS. Novell owns both of those technologies, which means that Xamarin will be building some of its initial products from scratch, including a new commercial .NET offering for Apple's iOS, and a new commercial .NET offering for Android. Xamarin will continue to contribute to the Mono project and the open source implementation of Silverlight known as Moonlight, de Icaza said, and he plans to explore "Moonlight opportunities" in the mobile space and the Mac appstore.

"At Novell we built both open source and proprietary products," de Icaza said. "The open source code is, well, open source. And the proprietary things are owned by Novell. We need to rebuild those things if we want to be in the market with similar products."

De Icaza added that he'd be happy to take over those proprietary projects if Attachmate decides not to pursue them, but he's not waiting around for that decision to be made.

"This is a very big acquisition," he says. "They have their own execution plan, and Mono isn't necessarily their top priority. So, we need to have a plan that doesn't depend on their timetable. We can't really afford to wait around."

De Icaza wouldn't offer any name or numbers, because "all the paperwork hasn't been completed yet," but he did tell me that most of the laid-off Mono team members would be joining the company.

On the speculation of the funding behind Xamarin, de Icaza says his fledgling company currently has two committed angels, neither of which is Microsoft, and he's providing some of the initial funding himself. "I'm not going to rule out that I'd like to have Microsoft as an angel investor," de Icaza told me. "We have talked to a lot of people at the company, and they do like us. But for that matter, I wouldn't mind having Google and eBay and RedHat and eTrade and Novell. We're pitching to everybody who will listen right now."

And what about that new company name?

"We've used monkey themes for many years," de Icaza said. "Ximian was a play on simian. Mono is Spanish for monkey. Xamarin comes from the tamarin monkey. And we kept the X, though to tell you the truth, I can't remember why we used it in the first place."

De Icaza expects his new company, which will be headquartered initially in Boston, to be incorporated early next week. Stay tuned.

Posted by John K. Waters on May 20, 20114 comments


New Tool Lets Java and .NET Devs Refactor Software Architecture

"Refactor mercilessly," say the Agilistas -- especially the XPers. Good advice, but the process of changing a program's internal structure to make it easier to understand and cheaper to modify without altering its external behavior can be challenging and messy.

Enter Headway Software, a Waterford, Ireland-based company on a mission to make refactoring easier and more effective. The company's newly released refactoring tool, Restructure101, is the fulfillment of a vision, the company's CEO, Chris Chedgey, told me in an e-mail, of "nothing less than the manipulation of software files and functions with the same ease that has been available to hardware engineers for decades."

"The key is to understand the vast number of interdependencies in as much detail as necessary," Chedgey said, "without overwhelming the user. The LSM was the breakthrough we needed."

The LSM, or Levelized Structure Map, is an interactive visual model designed to allow software architects to delve into structural problems and explore solutions by directly manipulating the model in a sandbox environment, Chedgey said. LMSs "levelize" items into rows or levels. Items in the same row are not interdependent, but every item on that level depends on at least one item on the level just below it. This display technique allows developers to see the entire code base at once, including dependency information.

The maps actually exist within a simulated sandbox, so it's simple to drag-and-drop hunks of code from level to level, untangle the code and reduce complexity. Once the refactoring simulation is completed, devs export an "action list" to their favorite IDE and work through the actual changes there.

Both Java and .NET IDEs are supported. And Headway provides a Web-based repository for tracking progress on a project-wide basis.

Restructure101 provides a number of discovery and manipulation capabilities on top of the LSM. Among them: the ability to find package tangles and break them by dragging and dropping packages, classes, and methods/fields. It also supports other direct manipulations, such as creating sub-packages or inner classes (wrapping), removing package structure (flattening), and automatic repackaging.

Headway bills itself as the first independent software vendor to focus purely on software structure and architectural control and the fundamental tenets of building maintainable and extensible software. The company's products (Structure101, Structure101 Build, and Restructure101) use reverse engineering, structural analysis, and architectural mapping techniques for Java, .Net and C/C++. It also offers third-party parsers for ActionScript, PHP, SQL, SysML and UML.

Posted by John K. Waters on May 19, 20110 comments