Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

July 08 2011

Top stories: July 4-8, 2011

Here's a look at the top stories published across O'Reilly sites this week.

Seven reasons you should use Java again
To mark the launch of Java 7, here's seven reasons why Java is worth your time and worth another look.
What is Node.js?
Learning Node might take a little effort, but it's going to pay off. Why? Because you're afforded solutions to your web application problems that require only JavaScript to solve.
3 Android predictions: In your home, in your clothes, in your car
"Learning Android" author Marko Gargenta believes Android will soon be a fixture in our homes, in our clothes and in our vehicles. Here he explains why and how this will happen.
Into the wild and back again
Burnt out from years of school and tech work, Ryo Chijiiwa quit his job and moved off the grid. In this interview, Chijiiwa talks about how solitude and time in the wilderness has changed his perspective on work and life.
Data journalism, data tools, and the newsroom stack
The MIT Civic Media conference and 2011 Knight News Challenge winners made it clear that data journalism and data tools will play key roles in the future of media and open government.

OSCON Java 2011, being held July 25-27 in Portland, Ore., is focused on open source technologies that make up the Java ecosystem. Save 20% on registration with the code OS11RAD

July 07 2011

Seven reasons you should use Java again

O'Reilly is celebrating the release of Java 7, and our inaugural OSCON Java conference: July 25-27 in Portland, Ore.

Java's back, baby. Of course, lots of us never stopped using Java in the first place, or perhaps we weren't allowed to. But where platform selection was elective, especially among startups and web developers, alternative platforms have offered more agility and expressiveness over the last 10 years. The likes of PHP and Ruby on Rails enable developers to do a whole lot more with less.

Times change, and 16 years on, this ain't your father's Java. Here's seven reasons you should take another look at Java.

1. You can actually hire engineers

Not to be sniffed at when your Node.js Ninjas and Rails Rockstars get headhunted into the latest impossibly well-funded startup.

2. IDEs take the pain away

Eclipse and NetBeans are astonishingly powerful tools, and can mask some of the admitted horror that is Java API soup. Bend like a reed, admit you can't know everything, and float downstream on the good ship autocomplete.

3. Language support

You don't have to write Java to use Java. You can get all the benefits of the portable JVM runtime but scribble away in the familiar environs of Ruby or Python. It can be faster too. And that's not to mention the newer languages aimed at modern programming such as Scala, Groovy or Clojure.

OSCON Java 2011
To celebrate the release of Java 7, the first 77 people registering today for OSCON Java with code JAVA7 will get the pass at a discounted price of $700 (applicable to OSCON Java package only).

Register now with code JAVA7

4. Android

Who can resist the little green robot? Google made a sensible choice when they chose the Java language to power what's becoming the world's dominant mobile phone platform. So, maybe Oracle has a billion-dollar beef with this, but programmers — new and seasoned alike — are picking up Java as mobile becomes the future of consumer software.

5. Everybody else does

Java's ecosystem is a goldmine. Pretty much everything you want to do, there's a library for it. Actually, there's probably an Apache project for it. Very often the lowest impedance way to speak to the rest of the world is via a Java API.

6. It changes slowly

We're celebrating the release of Java 7 right now. It's been two years in the making, and frankly, there's not a whole lot that's changed for most people. If you can take your finger off the refresh button at Hacker News for more than an hour, any software that lives longer than a year becomes a real pain to maintain when the underlying platform keeps changing. Yes, looking at you, Rails.

7. You'll end up using it anyway

At a certain point you'll need performance, predictability and a ready supply of engineers. Scaling, deploying and programming to the cloud are places where Java excels. Twitter found this out, and will be talking about it at OSCON Java.

There's still time left to register for OSCON Java. See you in Portland, 25-27 July!


A rough guide to JVM languages

O'Reilly is celebrating the release of Java 7, and our inaugural OSCON Java conference: July 25-27 in Portland, Ore.

The possibility of using alternative languages on the JVM has always been an appealing side story to Java. Jython and JRuby were early pioneers in implementing a dynamic language on top of a statically typed VM. Now that Java 7 directly includes support in the JVM for dynamic languages, the coexistence is official.

Pick any of the languages here and you can expect the support of the robust JVM threading and garbage collection, plus access to a broad array of application libraries.

Up and coming


The pragmatist among JVM languages, Scala is a general-purpose programming language. It was conceived and is generally viewed as a "better Java," and of all alternative JVM languages has the best acceptance in an enterprise setting.

Scala combines the familiar feel of object-oriented Java with strong language support for concurrency, XML and functional programming features: many of the tools that contemporary complex and scalable systems require. Scala also takes a lot of the awkwardness out of Java code, through features such as type inference and traits.

object HelloWorld {
    def main(args: Array[String]) {
      println("Hello, World!")

Scala-related content at OSCON Java:

OSCON Java 2011
To celebrate the release of Java 7, the first 77 people registering today for OSCON Java with code JAVA7 will get the pass at a discounted price of $700 (applicable to OSCON Java package only).

Register now with code JAVA7


Clojure is a functional programming language based on Lisp. Through careful design, Clojure is simpler to read and use than Lisp, and it interacts cleanly with the Java world. Its functional nature makes programs very concise and composable.

In common with Scala, Clojure is designed with concurrency in mind. Its variables are immutable, and the use of software transactional memory and agents help manage shared mutable state in a more sustainable way than locking.

The experience of Clojure's inventor Rich Hickey is reason enough alone to give it a whirl. I once happily spent an hour listening to him describe the design and implementation of sequences in the language.

A "Lisp that could," Clojure is finding increasing (and surprising, to most observers) traction and acceptance. One contributing factor to this is an advanced build and package management infrastructure in leiningen and Clojars. Salesforce-owned hosted platform provider Heroku recently added Clojure as its third supported environment, following Ruby and Node/JavaScript.

A small but important omission from the Clojure ecosystem is a port of the book The Little Schemer.

(println "Hello, World!")

Clojure-related content at OSCON Java:

Tried and tested


A mashup of ideas from Python, Ruby and Smalltalk, Groovy gained early traction in the world of JVM languages, reaching its stable release in December 2007. Having been around a while, Groovy strongly acknowledges the Java world into which it was born, and is a good choice for Java developers wishing to use a more agile and dynamic language.

One of Groovy's jewels is Grails, a high-productivity web development environment inspired by Ruby on Rails. The Groovy world has also spawned Gradle, a modern project automation system for Java and JVM languages, providing an alternative to the established Ant and Maven projects.

println "Hello, World!"

Groovy-related content at OSCON Java:


Another veteran of the JVM language scene, Rhino is an implementation of the JavaScript programming language in Java. Part of the Mozilla project, it is typically used by developers to add user scriptability to their applications using JavaScript, though it is also used in situations where a system is predominantly implemented in JavaScript.

First released in 1999, Rhino has been around the block a few times. As a JavaScript engine, it is facing increasing competition from the C++-based V8, but retains the immense advantage of Java interoperability.

print('Hello, World!');

Remastered classics


A port of the Python language to the JVM, Jython offers some advantages over and above using Python, including Java's multi-threading and the ability to statically compile into Java classes. As a Python terse object-oriented language, programmers can quickly prototype in Jython, creating hybrid Java-Jython systems. Jython also offers developers an alternative to Rhino's JavaScript for embedding scriptability in their applications.

Jython also lets web developers bring popular Django web application framework into a Java setting.

print "Hello, World!"


The Java implementation of Ruby is no second-class citizen. JRuby has been recorded as better performing than Ruby 1.8, and strives for C-Ruby compatibility. Users of JRuby can benefit from using the Ruby on Rails web framework, or add Ruby scriptability to their applications.

One appealing aspect of building a system in JRuby or Jython is that it gives developers the option of reimplementing performance-critical code in Java without having to switch platforms as a project matures. Twitter's migration from Ruby to the JVM is a case in point.

puts "Hello, World!"

JRuby-related content at OSCON Java:

The Wild West

The JVM remains a fertile ground for language experimentation, as several of the languages featured in OSCON's Emerging Languages track demonstrate, including Seph and Gosu. As a platform, the JVM bootstraps language inventors and experimenters today much as lex and yacc did two decades ago. At OSCON Java, aspiring language creators should pop along to Charles Nutter's JVM Bytecode for Dummies.

There's still time left to register for OSCON Java. See you in Portland, 25-27 July!


Seven Java projects that changed the world

O'Reilly is celebrating the release of Java 7, and our inaugural OSCON Java conference: July 25-27 in Portland, Ore.

Java's open source ecosystem is strong and healthy, one of the primary reasons for our creation of OSCON Java. Over the last decade, several projects have traveled beyond mere adoption and had effects dominating the Java world, into software development in general, and some even further into the daily lives of users.


Ported to Java by Kent Beck and Erich Gamma from Beck's work in unit testing in Smalltalk, JUnit has been largely responsible for popularizing test-driven development over the last decade. Many implementations have been created, in .NET, C, Python, Perl and just about every language in popular use.


As Java and its APIs matured in the early 2000s, the Eclipse IDE provided a way for programmers to be productive and negotiate the growing Java ecosystem. Eclipse was also the first major project to use the SWT UI toolkit, providing important competition to Sun's Swing and showing that Java programs can provide a rich native interface. Eclipse has evolved toward a goal of being a universal IDE, and it now provides a rich foundation for platform vendors to integrate with.


The Spring Framework has played an important role in enabling Java developers to be productive, managing a balance between simplicity and features. Spring gives Java developers a set of services providing commonly used application functionality such as data access and transaction management. As a competitor to Sun's Enterprise Java Beans system, Spring enabled an alternative and simpler path for Java applications, as well as ensuring a healthy competition of ideas in the way Java applications are constructed.

OSCON Java 2011
To celebrate the release of Java 7, the first 77 people registering today for OSCON Java with code JAVA7 will get the pass at a discounted price of $700 (applicable to OSCON Java package only).

Register now with code JAVA7


The Solr server, and the Lucene search engine it encapsulates, has been for many years a simple and practical solution to providing search capabilities to web and enterprise applications. Solr's genius is in providing HTTP access to the powerful and fast Lucene search library, enabling it to become a part of any system, regardless of whether it is implemented in Java or not. More than any other project, Solr has ensured that good search is a checkbox item for modern web applications.

Hudson and Jenkins

Originally developed as Hudson, and now also as Jenkins, this continuous integration tool is a key part of a Java development setup. Jenkins provides automated build and testing of a software project, continuing in the footsteps of JUnit in enabling agile development on the Java platform. While both Hudson and Jenkins persist for now as forks of each other, it doesn't detract from the work of Kohsuke Kawaguchi in creating a world-class continuous integration platform and so enhancing the quality of much Java development.


This Java implementation of the famous MapReduce model is the powerhouse that has enabled most "big data" systems. By lowering the cost of extracting value from large data sets, Hadoop has made practical the personalization and advertising businesses of Facebook and Yahoo, and many other companies. In the same way that Linux enabled large websites to be built on cheap hardware, Hadoop enables large-scale distributed computing by handling failure at the software level. Both Hadoop and the above-mentioned Lucene are the product of the work of Doug Cutting.


Controversy is never that far from Java, whether the custodian be Sun or Oracle. Google's choice to use Java as the programming language for its massively popular Android mobile operating system has led to a renewed interest in the language from whole new communities of software developers. Android programs undergo a further step to convert JVM bytecode to Dalvik bytecode — Dalvik being a virtual machine optimized for mobile devices. Google has been able to leverage Eclipse to provide software developers with a mature development environment for creating Android applications.

Oracle and Google are currently engaged in a lawsuit over a claim that Android infringes on multiple patents held by Oracle. The results of that suit notwithstanding, Android has done much to recruit developers and perpetuate the use of Java in client-side software development.

There's still time left to register for OSCON Java. See you in Portland, 25-27 July!


June 28 2011

Clojure: Lisp meets Java, with a side of Erlang

ClojureClojure seems to be the hot new language of the moment, attracting both Java developers and hackers who remember Lisp with fond memories. To see what all the buzz was about, I talked to Stuart Sierra (@stuartsierra), a Clojure developer and author of "Practical Clojure." Sierra will be speaking about Clojure in next month's OSCON Java track.

What is Clojure? How does it differ from functional languages like Erlang?

Stuart SierraStuart Sierra: Clojure is a new programming language that runs on the Java Virtual Machine. It's in the Lisp family of languages and it's a general purpose language, but it emphasizes a functional programming style with tools to manage shared state in large multi-threaded programs.

It's similar to Erlang with its emphasis on functional programming, but whereas Erlang is designed for systems distributed across many machines, Clojure focuses on many threads within a single machine. Erlang is trying to solve the very difficult problem of making everything parellelizable across multiple machines. Clojure is doing something different. It's trying to make sure that many threads in the same machine can safely share state.

How similar is Clojure to the syntax of traditional Lisp-like languages?

Stuart Sierra: Clojure is probably a little bit closer to Common Lisp than Scheme in style. It would not be particularly difficult for someone with Lisp experience to pick it up, although they would have to learn about some of the differences in the syntax. Clojure has a little bit more syntax than Common Lisp or Scheme, so it's actually a little easier to read and it has fewer parentheses than Lisp-like languages typically do. We've done examples where we put Java code and the equivalent Clojure code side-by-side and there are the same number or fewer parenthesis in the Clojure code because it's so much shorter.

OSCON Java 2011, being held July 25-27 in Portland, Ore., is focused on open source technologies that make up the Java ecosystem. (This event is co-located with OSCON.)

Save 20% on registration with the code OS11RAD

Some developers have a visceral negative reaction to Lisp. Why do you think that is?

Stuart Sierra: I think the problem people often have with Lisp is based on first encountering it in an academic setting, and the particular Lisp language they were using was designed for academic purposes. Scheme, in particular, came out of academia, and that focus has often made it more difficult to use for real-world applications. Clojure, on the other hand, is a very pragmatic language. It was designed by a career programmer, Rich Hickey, who wanted to solve real problems that he had with other programming languages. So if you can get over the initial similarities with Lisps that you might have seen before, I think you'll find that Clojure is a very productive language to work with.

Is Clojure being used in large-scale production?

Stuart Sierra: Yes, there are many "success stories" listed on the Clojure website and more on our wiki. I work for a company, Relevance, that does consulting for enterprise software, and we've had several client projects written in Clojure that have been quite successful. It's also been used in production by Akamai, financial companies, big data companies that are doing large data processing, and in a variety of other places.

The Java Virtual Machine (JVM) seems to be the language platform of choice for developing languages. What makes the JVM so attractive, and how does Clojure leverage it?

Stuart Sierra: The JVM makes an excellent platform for language development, and that's why we've seen so many new languages show up. It's actually much better as a target for languages than some lower-level assembly-type languages for the simple reason that it provides a way for all of those different languages to interoperate. So now you can have Clojure code, JRuby code, Scala code and Java code all making use of the same libraries and all calling back and forth to one another. So a Java method call in Clojure looks like a Clojure function call, but you're calling a Java method call by name. That compiles to a normal Java method call that has all of the performance benefits that the JVM can provide. You can define classes in Clojure that will be available to Java programs and accessible to Java programmers through the standard calling conventions that they're used to. All of Clojure's built-in data types implement the standard Java collection interfaces, so they can be passed directly into Java code without changes.

What's the IDE situation for Clojure?

Stuart Sierra: IDE support is evolving. There are plug-ins available now in varying states of sophistication for all of the major IDEs: Eclipse, IntelliJ, NetBeans. A lot of people are also using Emacs or another sophisticated text editor with good support for writing Lisp-like languages.


June 15 2011

Developer Week in Review: Are .NET programmers going extinct?

After an adventure-filled return trip from WWDC (Southwest eventually did find my luggage ...), it's back to the regular grind, spanning the globe to bring you all the news you need.

Are .NET developers the next buggy whip makers?

So, you say you're a ninja .NET guru, able to churn out WFC C# code in the blink of the eye, and you've got every obscure Microsoft API call memorized? Well, if recent rumblings from Redmond are to be believed, there's a large asteroid heading your way called Windows 8.

To say that Microsoft developers are unhappy over the news that tablets running Windows 8 will use HTML5 and JavaScript as an app programming platform would be to say that Steve Jobs likes black turtlenecks. While Microsoft was clear to point out that old-style Windows programs will run on Windows 8, the message seems to be that spending years and years becoming a master of the arcane programming secrets that make Windows tick will no longer be necessary.

This is certainly good news for anyone who has ever taken one look at the phonebook-size manuals that .NET programming requires and ran away screaming. It also would seem to be good news for the HTML5 standard, although Microsoft's history with standards is a checkered one. But if your claim to fame is knowing the Microsoft platform inside and out, the writing may be on the wall that your talents are no longer going to be in such high demand.

Sorry I missed gym class, I was managing my IPO...

You may feel pretty proud of your child, who just won the spelling bee or got an A on her last math test. Then again, you could consider young Daniil Kulchenko, who just sold his company to ActiveState at the tender age of 15. Kulchenko's product, a tool for Perl development in the cloud, evidently caught the eye of the scripting IDE maker, and ActiveState both bought out the company and brought Kulchenko on-board as a part-time employee.

Forget feeling inadequate about your child. Kulchenko makes me feel inadequate.

OSCON Java 2011, being held July 25-27 in Portland, Ore., is focused on open source technologies that make up the Java ecosystem. (This event is co-located with OSCON.)

Save 20% on registration with the code OS11RAD

Get Ready for J2SE 7

It's taken five years, but the Java Community Process (JCP) executive committee has finally put their seal of approval on Java v7. The vote was 13-1, with Google the lone holdout. However, if you look at the comments that accompany the "yes" votes from companies such as Red Hat and IBM, you'll see that no one was particularly happy about Oracle's insistence on retaining the licensing veto on Java implementations, a stand that drove Apache out of the JCP after Oracle refused to bless the Apache Harmony implementation.

Java 7 will include support for multicore processing, as well as a bunch of improvements to the language, such as being able to switch on a string value, and a better way to check for null values. The new standard faces a final vote before it becomes the law of the land.

Got news?

Please send tips and leads here.


June 06 2011

Why OSCON Java?

What is OSCON Java? It's a good question. There are many Java conferences on every continent except Antarctica. Why is O'Reilly throwing its hat in the ring?

The Java community has always been a broad, fractious, interesting mess, capable of doing surprising things with little warning, and that's precisely why we're attracted to it. It's undeniable that Java is huge; it's been in one of the top two slots on Tiobe's Programming Community Index since Tiobe started in 2002. It's always been one of the largest components of the technical book market. Java's 2010 book sales represent a resurgence since 2008, but even in its weakest years, Java has always been one of the largest components of the book market. Beyond being huge, Java is one of the key languages of the open source movement. While there has been plenty of discussion over the years of the JDK's status as open source software, there has been no shortage of open source projects. SourceForge lists more than 25,000 Java projects, more than any other language.

A fertile ecosystem

Over the years, the Java community has birthed many of the most important ideas in software development, or was the conduit through which these ideas received broader audiences. Java was the first language to address interactivity and programmability in web pages: inadequately, as it turned out, but applets were still the first step on the road from a purely static web to the modern interactive web. The MVC design pattern was the basis for the Swing GUI framework, and was later adapted for many web frameworks. When it first came out, EJB didn't represent a new idea — the ideas came from products reaching back to the '60s, like IBM's CICS — but it enabled many people to write platform-independent database-backed software and push the web forward. And yes, the mistakes of EJB were one of the inspirations behind Ruby on Rails. Another response to EJB's complexity, the Spring Framework, grew from a relatively simple implementation of the Inversion of Control (IOC) design pattern to one of the dominant forces in Enterprise Java development.

It's amazing how much of the revolution in software development tooling originated in Java. Ant replaced Unix's make(1) utility, which had long outlived its usefulness. In turn, Ant has been superseded by Maven and Gradle. The ideas behing Extreme Programming, which morphed into the less strident Agile methodology, entered the world through Java. Java saw the first unit testing tools: according to legend, Erich Gamma and Kent Beck wrote the first version of JUnit while they were together on a long flight. Continuous Integration, another widely adopted agile practice, first appeared in the Java community with CruiseControl, which in turn has largely been supplanted by Jenkins.

Java has had a tremendous impact on the recent history of computing. But conferences aren't about the past, they're about the present and the future. Large as the Java community is, it's been some time since Java was the language that the "cool kids" used. At the second JavaOne, one of the Moscone Center staff said that it was the youngest crowd he'd ever seen there. That's certainly no longer true. We've all grayed. That may be why Oracle is presenting Sting and Tom Petty on stage at this year's JavaOne.

It's fair to say that Java stagnated. I was surprised to find that Enterprise Java looks basically the same as it did several years ago. EJB has been massively improved (EJB 3.0 and 3.1 are light years beyond the mess of EJB 2), and Spring has grown from a spunky upstart project to a mature part of the community, with major corporate sponsorship by VMWare. But we're still talking about JSF, Java EE, and enterprise web frameworks (well over a hundred at last count). The enterprise world is still clicking along, making lots of money, but what's changed? What's interesting? What's new?

Of course, there's plenty new. First, look at data. I'm not surprised at the rise of "big data" and data products over the past few years, and I am pleased at the role Java has played in all aspects of that movement. The Hadoop ecosystem is large and rich, but it's not just Hadoop. Cassandra is also a Java project. And while Cassandra is similar in many respects to HBase (part of the Hadoop project), Neo4J is another new Java database that has a completely different model, designed for storing data as graphs. Nor is it just map/reduce and databases. The Incanter statistics library is an important part of the Clojure world, Clojure itself being one of the many languages that have sprung up around the JVM.

There's more to come: I recently had a conversation with one of the authors of Storm, a very new (still unreleased) project designed to facilitate massively parallel realtime processing. It's written in Java, though its initial release will support client programming in many languages.

Another area in which Java has had a huge impact has been mobile. Yes, there is plenty of tension between Oracle and Google, but one can't deny the importance of Android in increasing interest (and drawing younger developers) to Java. An article recently pointed out that really innovative apps tend to appear first on Android, and then move to the iPhone. That matches my experience; Android's openness (which, yes, is debated) often allows developers to combine features in exciting and original ways, such as using NFC to read older RFID tags, a hack that Brian Jepson demonstrated at Google IO. And I expect the new Accessory API and toolkit to revolutionize what we can do with our mobile devices.

OSCON Java 2011, being held July 25-27 in Portland, Ore., is focused on open source technologies that make up the Java ecosystem. (This event is co-located with OSCON.)

Save 20% on registration with the code OS11RAD

The jewel of the JVM

Finally, it would be amiss to write about what's exciting in Java without mentioning the explosion of new programming languages that run on the JVM. At a JavaOne fireside talk a few years back, James Gosling said that the JVM was the "crown jewel" of the Java world — not the language itself. He's been proven right. There have always been many strange JVM languages kicking around; Wikipedia lists 67. I believe that's an understatement by a factor of two or three, though most of these languages are oddball curiosities. However, we finally have some JVM languages that are really sticking, and having a long-lasting impact. I've already mentioned Clojure and Groovy. JRuby and Scala are also in it for the long haul. It's important to understand that the Java community isn't just solely the Java language, it's about the fabulous work that's gone into the JVM, and the rich ecosystem of libraries that make the JVM a desirable target for innovation.

Java, for all its deficiencies, is widely used: in big data, mobile, enterprise, web, and cloud computing. I don't think there's any other language that can claim to be so important in so many fields. As Bjarne Stroustrup said, "There are only two kinds of languages: the ones people complain about and the ones nobody uses." He also said, "There are more useful systems developed in languages deemed awful than in languages praised for being beautiful." Java has plenty of people willing to complain; as I wrote in 2006, people have been dancing on Java's grave ever since Gosling first announced it at Usenix in 1995. But those complaints have never stopped good people from doing useful and important work in Java.

OSCON Java highlights

OSCON Java and its related conferences, OSCON Data and OSCON, will track the most recent developments in the Java world. I expect some of the highlights to be:

  • Languages: All the regulars are represented, but I'm particularly interested in Neal Ford's talk on functional thinking.
  • Tools: I look forward to hearing about Gradle, the Groovy DSL for building, testing, and deploying software; and Jenkins, the continuous integration framework.
  • Mobile: You're not surprised that we have Android. What's more surprising is that we have a session on cross-platform mobile development using tools like GWT and PhoneGap. (There is more Android content in the main OSCON event.)
  • Robotics: One area that Java hasn't hitherto penetrated has been robotics, but we've got a session about Robotics Programming — with live robots!
  • Cloud computing: The cloud has changed the nature of system administration and management. It's not a bunch of guys who mumble at consoles anymore, it's developers who build software to manage thousands of hosts at a time. BrowserMob will be showing how they've developed tools in Java to manage the cloud in bulk.

We've got a great array of keynoters, including Raffi Krikorian talking about the Twitter's transition from Rails to Java; you can expect an inspirational and thoughtful address from Kathy Sierra; and we'll have Josh Bloch, Martin Odersky, and others on the main stage to puzzle, delight, and challenge us.

There will be no shortage of interesting talks, hallway conversations, and birds of a feather sessions. OSCON Java is also under the broader umbrella of OSCON, which also includes OSCON Data, so you can also check out what's happening in those conferences as well.

OSCON Java is a celebration of the rich open source Java ecosystem, an ecosystem that's been built up over the past 15 years of work on Java by the many participants that make up the community. We're thrilled to be a part of it. Java developers have produced great things in the past, you are producing great things now, and we look forward to what you produce in the future.

June 02 2011

Developer Week in Review: The other shoe drops on iOS developers

Bags packed? Check! Ticket printed? Check! "I (Heart) Steve" T-shirt worn? Check! Yes, it's that time of year, when the swallows return to Capistrano the developers return to San Francisco for WWDC. I'll be there Sunday to Saturday, so keep an eye out for me and maybe we can get a beer or something.

But even as we await the release of Lion, iOS 5 and iCloud, the world continues to turn.

Well, so much for Apple's big umbrella

App store screenshotLast week, iOS developers everywhere breathed a sigh of relief as Apple stepped up to the plate, and said that they considered their developer community to be covered under Apple's existing licensing agreement with patent holding company Lodsys. Lodsys, evidently, had a difference of opinion on the subject. This leaves the lucky seven developers who got hit with the first round of lawsuits with an interesting choice. Do they settle with Lodsys, perhaps paying out many times what they have brought in as income from their apps, or do they fight and face expensive legal fees and a lawsuit that could drag on for years?

Android developers shouldn't gloat too much at the misfortune of their iPhone counterparts, since Lodsys is asserting that two of their patents cover Android apps as well. Apple and Google are going to have to take things up another notch, and offer free legal services to their developers, or things could get quite messy, quite fast.

OSCON 2011 — Join today's open source innovators, builders, and pioneers July 25-29 as they gather at the Oregon Convention Center in Portland, Ore.

Save 20% on registration with the code OS11RAD

OpenOffice finds a home at Apache

Oracle, as part of their ongoing shedding of all of their Sun acquisitions, had promised earlier in the year that OpenOffice would be given to some third party at some point. Well, that third party is Apache. Oracle will be donating the source code to Apache, where it will become an incubator project. For developers who have be interested in poking around with the guts of OpenOffice (or extending the functionality), but were leery of Oracle holding the strings, this announcement should eliminate any doubts. Statements from The Document Foundation (who split off a fork of OpenOffice) were guarded, but it seems like there's hope of reuniting the code streams, and avoiding yet another case of parallel development of the same "product."

Java rant of the week: Interface madness

As I am wont to do from time to time, I'd like to take a moment today to rant about a coding abuse that I see more and more frequently. That abuse would be the indiscriminate use of interfaces in front of implementing classes, usually with a factory. There are certainly places where the interface/factory pattern makes sense, such as when you genuinely do have multiple implementations of something that you want to be able to swap out easily

However, far too often, I see factories and interfaces used between classes simply because "we might" want to someday put something else in there. I recently saw an implementation of a servlet that called for authentication of the request. There's only one implemented version of the authentication code, and no real plans to make another. But still, there were Foo and FooImpl files sitting right there (there was probably a FooFactory somewhere, I didn't go looking ...)

Unneeded interfaces are not only wasted code, they make reading and debugging the code much more difficult, because they break the link between the call and the implementation. The only way to find the implementing code is to look for the factory, and see what class is being provisioned to implement the interface. If you're really lucky, the factory gets the class name from a property file, so you have to look another level down.

There's no excuse for doing this. It's anti-agile, and the refactor cost once you do genuinely do have a second version, and need an interface, is relatively low. End of rant.

Got news?

Please send tips and leads here.


May 08 2011

Feeding the community fuels advances at Red Hat and JBoss

I wouldn't dare claim to pinpoint what makes Red Hat the most successful company with a pervasive open source strategy, but one intriguing thing sticks out: their free software development strategy is the precise inverse of most companies based on open source.

Take the way Red Hat put together CloudForms, one of their major announcements at last week's instance of the annual Red Hat Summit and JBoss World. As technology, CloudForms represents one of the many efforts in the computer industry to move up the stack in cloud computing, with tools for managing, migrating, and otherwise dealing with operating system instances along with a promise (welcome in these age of cloud outages) to allow easy switches between vendors and prevent lock-in. But CloudForms is actually a blend of 79 SourceForge projects. Red Hat created it by finding appropriate free software technologies and persuading the developers to work together toward this common vision.

I heard this story from vice president Scott Farrand of Hewlett-Packard. Their own toe hold on this crowded platform is the HP edition, a product offering that manages ProLiant server hosts and Flex Fabric networking to provide a platform for CloudForms.

The point of this story is that Red Hat rarely creates products like other open source companies, which tend to grow out of a single project and keep pretty close control over the core. Red Hat makes sure to maintain a healthy, independent community-based project. Furthermore, many open source companies try to keep ahead of the community, running centralized beta programs and sometimes keeping advanced features in proprietary versions of the product. In contrast, the community runs ahead of Red Hat projects. Whether it's the Fedora Linux distribution, the Drools platform underlying JBoss's BPM platform, JBoss Application Server lying behind JBoss's EAP offering, or many other projects forming the foundation of Red Hat and JBoss offerings, the volunteers typically do the experimentation and stabilize new features before the company puts together a stable package to support.

Red Hat Summit and JBoss World was huge and I got to attend only a handful of the keynotes and sessions. I spent five hours manning the booth of for Open Source for America, which got a lot of positive attention from conference attendees. Several other worthy causes in reducing poverty attracted a lot of volunteers.

In general, what I heard at the show didn't represent eye-catching innovations or sudden changes in direction, but solid progress along the lines laid out by Red Hat and JBoss in previous years. I'll report here on a few technical advances.

PaaS standardization: OpenShift

Red Hat has seized on the current computing mantra of our time, which is freedom in the cloud. (I wrote a series on this theme, culminating in a proposal for an open architecture for SaaS.) Whereas CloudForms covers the IaaS space, Red Hat's other big product announcement, OpenShift, tries to broaden the reach of PaaS. By standardizing various parts of the programming environment, Red Hat hopes to bring everyone together regardless of programming language, database back-end, or other options. For example, OpenShift is flexible enough to support PostgreSQL from EnterpriseDB, CouchDB from Couchbase, and MongoDB from 10gen, among the many partners Red Hat has lined up.

KVM optimization

The KVM virtualization platform, a direct competitor to VMware (and another project emerging from and remaining a community effort), continues to refine its performance and offer an increasing number of new features.

  • Linux hugepages (2 megabytes instead of 4 kilobytes) can lead to a performance improvement ranging from 24% to 46%, particularly when running databases.

  • Creating a virtual network path for each application can improve performance by reducing network bottlenecks.

  • vhost_net improves performance through bypassing the user-space virtualization model, QEMU.

  • Single Root I/O Virtualization (SR-IOV) allows direct access from a virtual host to an I/O device, improving performance but precluding migration of the instance to another physical host.

libvirt is much improved and is now the recommended administrative tool.

JBoss AS and EAP

Performance and multi-node management, seemed to be the obsessions driving AS 7. Performance improvements, which have led to a ten-fold speedup and almost ten times less memory use between AS 6 and AS 7, include:

  • A standardization of server requirements (ports used, etc.) so that these requirements can be brought up concurrently during system start-up

  • Reorganization of the code to better support multicore systems

  • A cache to overcome the performance hit in Java reflection.

Management enhancements include:

  • Combining nodes into domains where they can be managed as a unit

  • The ability to manage nodes through any scripting language, aided by a standard representation of configuration data types in a dynamic model with a JSON representation

  • Synching the GUI with the XML files so that a change made in either place will show up in the other

  • Offering a choice whether to bring up a server right away at system start-up, or later on an as-needed basis

  • Cycle detection when servers fail and are restarted

May 04 2011

Developer Week in Review

Somewhere over the Pacific, a lonely iPad 2 sits in a shipping palette, wondering what fate holds in store for it. Is it destined to end up in the hands of a teenager, held in fingers covered in Cheetos dust and used to play endless sessions of Infinity Blade? Will it spend its days displaying cold financial data for some Wall Street shark? Be brave, little iPad 2, a caring home waits for you, and lots of exciting apps to run!

Meanwhile, the uncaring world continues to churn out programming news. A sampling follows.

Attachmate sends developers off to Germany on a Mono-rail

AttachMateMono has always had a mixed reception in the open source community, given that many see it as the slippery end of the slope toward a Redmond-dominated world. But for those who look upon the ".NET on Linux" project with favor, it could not have been good news this week when Attachmate, the new overlords of the entity formerly known as Novell, announced they were closing down US-based development of Mono and relocating the effort to Germany.

The news is especially distressing because Attachmate indicated that future work on Mono would be determined based on the whims of the "business unit leaders" over in the land of beer and schnitzel. After Oracle's recent shedding of several major open source projects they acquired from Sun, one has to start wondering if the formerly friendly environment for open source participation by major corporations still exists. Will future projects return to being developed by geeks in their basements, and if so, will viewership of "Game of Thrones" suffer?

The Army Corps of Engineers requires this section to release pent up mobile news threatening to overtop our levee

First off, the white iphones are here! The white iphones are here! For those who have been pining for an iPhone 4 that they can carry around before Labor Day (ask your mothers, they'll get it ...), the wait is finally over. As with any new Apple product, controversy immediately ensued, as some owners claimed the white phone was slightly thicker than the black model. Consumer Reports refuted this claim by by breaking out their calipers.

white iPhoneSpeaking of Apple ... speculation continues as to exactly what will be unveiled at WWDC. A new iPhone seems like a reach, but the continued beta releases of OS X Lion make it likely that it will be released at the conference in June. In addition, the news that app developers are seeing iOS 5 crash logs is a strong signal that the first developer release of the new iOS version will occur at WWDC.

Microsoft is trying to lure iOS developers to the dark side Windows Phone 7 by offering a conversion utility. There's no question that, since Nokia has jumped in bed with the House of Gates, we're going to see a lot of Windows phones showing up in the next year. For developers who can't afford to ignore that market segment, tools to make the transition are going to be a godsend, since Microsoft-style development is an entirely different world from Cocoa and Java.

Earlier in the year, it appeared that Android was going to eat Apple's lunch, but the latest report from Appcelerator and IDC shows developer interest in all platforms leveling out. Microsoft and RIM are the big losers in the report, with both scoring under 30% developer interest, compared to 91% for the iPhone and 85% for the Android platform. In a sign that RIM may see the writing on the wall, they made two significant moves this week. One was to get in bed with Microsoft by making Bing their default search engine, although it's unclear what RIM will get out of the deal. The other was a move to offer support for BlackBerry Messenger on Android and perhaps iOS devices, if "trusted sources" are to be believed.

No Java for you!

There was a time when Java applets were going to be the future of the web, and they were one of the original players in the RIA space. But, at least as far as Google is concerned, Java applets are so last decade. In the latest version of the Chrome browser, the Java plug-in is disabled by default. In some ways, this is an odd attitude for a company that relies so heavily on Java on their mobile platforms, but evidently Google considers Java to be a marginal technology on the browser at this point. For companies that want cross-browser compatibility and were depending on Java for their client-side RIA, now might be a good time to look at HTML5, Flex, or even Silverlight.

Got news?

Please send tips and leads here.


March 30 2011

Developer Week in Review

This is your Developer Week in Review, I'm Casey Kasem. Our first letter comes from a software developer in New England who writes, "Dear Casey. My wife just got accepted into the Experimental Psych doctoral program at UNH, and I'd like you to play something appropriate for the occasion." Well, going out especially for you, here's "I'll be Proofreading Your Papers for the Next Five Years, 'Cause I'll Never Split (Our Infinitive)" (Seriously, congratulations Bonnie!)

And you thought that Justin Bieber tickets were hard to score ...

What's the matter, pal? You say you had your heart set on going to Google I/O, but the tickets sold out in 59 minutes? Well, cheer up, because tickets went on sale this week for the Apple WWDC, and — oh, wait, those sold out in 8 hours...

If you heard the sound of keys frantically typing on Monday, it was developers all across America e-mailing their managers for authorization to buy the $1,600 Golden Tickets to Steve's Magic Chocolate Factory. Unfortunately, for those with glacial purchasing infrastructures, it took less than half a day for the doors to open and shut on this year's WWDC, to be held as widely expected on the week of June 6th at the beautiful (if you squint a lot) Moscone Center in the City by the Bay.

I have little sympathy for those griping that they didn't have time to get approval from their corporate overlords, since we've known for nearly half-a-year when WWDC was likely to be held and how much it was probably going to be. I got approval last December to go. Remember, a lack of planning on your part does not constitute a mistake on Apple's part.

The good news is that video of all the WWDC sessions gets posted to the developer's portal soon after the conference ends, so you can get a lot of the value of being there, without being there. In the meantime, you can start getting the purchasing wheels turning for the Microsoft PDC, which is evidently going to be in Seattle in the fall.

Google adds another legend to their menagerie

It seems like a Google collects another famous name in programming every month. There must be a mail-order club for it. This week, they added James Gosling, the father of Java.

There's all sorts of interesting dynamics at work here. For one, given the current fireworks about the Android JVM, adding one of the patent holders for Java to the Google side of the fight can't help but stir up the mud even more, since he'll now essentially be suing himself. It also is another sign of the leakage of talent from Oracle to everywhere else since the database giant acquired Sun's portfolio of products, although Gosling left Oracle several months ago.

With the acquisition of Gosling, Google is now just 3 geniuses away from total world domination.

"And I think it would be ironic if we were all made of iron!"

Alanis Morissette may not know what irony is, but provided a fine example this week, as they fell victim to a — wait for it — SQL Injection attack. In addition to user and staff credentials for that website (and its worldwide clones), reports say that (RIP) credentials were also raided.

As I sit in my office (well, my cube ...), with one of my favorite XKCD strips framed on the wall next to me, I can't help but marvel that in this day and age, people are still neglecting to sanitize their database inputs. And a database company has absolutely no excuse! Following the news that credit card data from a chain of Boston restaurants (including one I ate at) was stolen last year, and the company didn't find it necessary to notify anyone that their information might be in the wind, it's been just a fine and dandy week for the computer security industry.

Got news?

If you have a request for that special someone, or some juicy news, please send tips or leads here.


February 04 2011

Four short links: 4 February 2011

  1. Access to Knowledge in the Age of Intellectual Property (MIT Press) -- with essays by knowledgeable folks such as Yochai Benkler, Larry Lessig, and Jo Walsh. Available as open access (free) ebook as well as paper. I love it that we can download these proper intellectuals' intellectual property. (via BoingBoing)
  2. AwesomeChartJS -- Apache-licensed Javascript library for charting. (via Hacker News)
  3. Be Open from Day One -- advice from Karl Fogel (author of the excellent Producing Open Source Software, which O'Reilly publishes) for projects that think they may some day be open source: f you’re running a government software project and you plan to make it open source eventually, then just make it open source from the beginning. Waiting will only create more work. (via timoreilly on Twitter)
  4. MALLET -- open source (CPL-licensed) Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.

December 22 2010

Developer Year in Review: Programming Languages

Continuing our look at the year in development, let's move on to the exciting land of languages. We'll finish off next week with operating systems.

Java: Strategic asset or red-headed stepchild?

Watching Oracle's machinations around Java can be more than a little confusing. One minute, they're talking about forking it into free and commercial versions, a potential slap in the face to the open source community. Then they refused to let Apache's Harmony project have access to key testing suites to certify the Java alternative. But then Oracle ended the year on their hands and knees begging Apache to stay in the JCP (and failing).

Meanwhile, we saw yet another "that's not really Java" lawsuit. This time Oracle was suing Google over the Android implementation. Evidently, having Bill Gates and Steve Ballmer as dire enemies wasn't good enough for Larry Ellison, so he's trying to add Sergey Brin and Larry Page to his list as well.

On a side note, has anyone noticed how Java basically took over the mobile space? Of the three major smartphone platforms (sorry Windows, you have a ways to go before you make that list again ...), two of them run Java of some sort. If you add in J2ME, which is inside many of the "clamshell" phones, Java is the dominant player in mobile.

It was also a good year for the JVM, as JVM-powered languages such as Closure, Groovy and Scala leveraged the omnipresence of Java to gain traction.

I see your 8 cores, and raise you 8

Functional programming considers to gain in popularity in the years ahead, mainly as programmers try to come to terms with how to leverage all the multi-threaded power available to them in modern hardware. Along with the aforementioned Scala, Erlang and Haskell have also seen commercial deployments increase.

Francesco Cesarini gave a great talk at OSCON on how Erlang can help developers. Unfortunately, there was no transcript, because it had no side effects. (Trust me, the functional programmers in the readership are falling over laughing.)

In other language news ...

Perl: Perl 6 still lags "Duke Nukem Forever" as far as being promised software still awaiting final shipment, but only by three years.

PHP: With adding PHP to their language arsenal, you can now run PHP on all the major cloud-based platforms (the others being Amazon, Windows and Google.)

Ruby: No new major version of Ruby this year, nor any earth-shattering news, but it continues to be the language that all the cool kids use.

Python: Release 3.2 is on track for a Q1 2011 release. "Python" is also a lousy word to put into a Google News search, unless you enjoy reading about people smuggling snakes through customs and DPW workers making unexpected discoveries in sewers.

That's it for this week. I'll take a look at the year in operating systems in the next edition. Suggestions are always welcome, so please send tips or news here.


November 24 2010

Developer Week in Review

If you live in the U.S., this is the week to gorge on turkey. I wondered out loud last night to my wife if Thanksgiving is the day of the year when the most people eat the same meal. Can any of our overseas readers add to the conversation? Is there a holiday in your country where everyone eats pretty much the same thing? Anyway, before American brains shut down from an overdose of stuffing, here's some developer news you can use.

Oracle announces Plan B for Java

The Java language has continued to evolve over the years, adding features such as Generics. There's an ambitious wishlist of things that developers would like to see in Java 7, but apparently not enough time to do it all and still get a timely release out. As a result, the JCP has decided to forego some of the goodies until Java 8, which is not expected to grace the world until late 2012.

As a recovering LISP-head, the item on the deferred list that catches my eye the most is Lambda expressions/closures. With even relatively "primitive: languages such as Objective-C starting to adopt these structures in the form of Blocks, Java is already behind the curve in this regard. It's a shame it will have to wait another year.

No word if Java Plan B will require a doctor's prescription, or be available to developers under 18 without a note from their parent.

Did we win the SCO battle, but lose the Unix War?

As someone who has 10 framed shares of SCO hanging over his toilet, I was definitely among the many who rejoiced in the sound thrashing SCO received at the hands of Novell, in regards to who owned Unix. The conventional wisdom was that Novell would be a reasonable caretaker for the Unix IP, and would be unlikely to use it against Linux or those who used it.

Life is definitely less clear now that Novell is being consumed by Attachmate. For one thing, part of the deal involves transferring a big chunk of Novell IP to a company fronting for Microsoft. Hopefully, it's just the normal collection of garbage software patents every big company seems to end up with, and not anything that would provide an avenue of attack against Linux.

Rant of the Week: Injection Protection

I'm not sure what they're teaching up at those new-fangled universities these days, but it sure ain't software security. At least that's the assumption I have to make, given the number of SQL and Shell injection attacks I hear about every month.

My whine last week was about null pointer exceptions. They're sloppy, but usually harmless. Injection attacks can take down your entire system or reveal sensitive data to bad guys. In my misspent youth, I ran a chat system and added email support so people could send mail from inside the program. I made the mistake of appending the email address to the end of a string that got run as a shell command. It wasn't long before some "clever" vandal used the email address ";rm -fr ." There went my entire (non-backed-up) source tree.

Open source software is particularly vulnerable to SQL injection attacks, because the SQL schema is generally known. If you're lazy, and build queries using string concats with user-supplied data, it's trivial to enter data that succeeds, but also inserts or deletes data, in entirely different tables. You should always use the parameterized tools to place data into queries or inserts, and probably self-sanitize the data as well.

You should also run queries with the minimum credentials required, e.g., have a database user that can only do selects and use it for any parts of the system that don't require database updates. And have a privileged user be the only one that can update or access sensitive parts of the database.

That's it for this week. Suggestions are always welcome, so please send tips or news here.

November 17 2010

Developer Week in Review

Here's what's new for the trendy developer this week:

Java's future on Apple: Slightly less in doubt

Last week, it looked like Apple was all "You're not welcome here, Java." In the changeable world that is Jobsland, this week Apple was offering to marry the language, reiterating their support for Java in OS X, and indicating that they would be supplying code and resources to the OpenJDK project.

As I've noted before, this makes sense for Apple, because it gets them out of the JVM business, and makes Oracle the one-stop shopping solution for all your JDK and JRE needs. It also means that the Mac can be added as a regression-tested target for a new version of Java, hopefully avoiding the kind of Java versioning snafus that rendered IBM's SPSS (or is it PAWS this week?) statistics package broken for the last month or so.

Apple makes nice with Java and lets the Google Voice app hit the iPhone in the same week. Could peace in the Middle East be next?

Editorial: NPEs must die

Staying on a Java theme, probably the most common error messages I see on websites (after the all-too-common IIS MSQL database) are Java Null Pointer Exceptions (NPE). If you're not a Java person, an NPE is what you get when you try to call a method on an object, but the variable holding the object contains null, rather than a real object.

NPEs are to Java what bad pointer references are to C. The difference is that, unlike C, an NPE in Java is usually a non-fatal event. In a web server container like Tomcat, an uncaught NPE ends up as status code 500 HTTP backtrace spam.

NPEs are a direct result of not checking the validity of arguments and data before operating on it. Too many Java programmers are lazy, and assume because an NPE doesn't crash things, they can just let it trickle up the stack until someone catches it.

This is just plain bad coding. An NPE tells you almost nothing about what really went wrong. Instead, Java developers should check objects before invoking methods on them, and throw a more specific and meaningful runtime exception, such as an IllegalArgumentException, with details about what value was incorrect.

The same holds true for other languages, of course. It's always a best practice to verify values external to the current context. Java developers just seem to be especially bad about it. So remember folks, trust but verify!

And speaking of MSQL

This must be my week for segues, because speaking of MSQL, Microsoft released a CTP version of SQL Server 2011 (Denali, they call it). CTP is Community Technology Preview, which is kinda Microsoftease for "beta."

Love it or hate it, MSQL powers a lot of the web, and a new turn of SQL Server is a big deal for that part of the world that runs on 96-octane .NET fuel. Database technology is pretty much a two-horse game these days, now that Oracle owns the former third horse (MySQL.) A new SQL Server will hopefully raise the bar enough to get some new and interesting things out of Oracle's two database projects.

Another day on the JavaScript racetrack

Probably the most commonly programmed platform these days is JavaScript on the browser. As a result, browser vendors take their JavaScript performance numbers very seriously. For a while, Chrome has been the target to beat. Ok, technically, Opera has been posting better numbers lately, but Opera has never managed to build significant market share. Let's just say that Chrome has had the best numbers among the big 4 (IE, Firefox, Chrome, Safari).

Mozilla evidently decided not to take things lying down. The latest version of the Firefox 4 beta has turned in speed numbers the Road Runner would find respectable. How long will it take Google to respond? Or, will the new IE beta come from behind to snatch the crown of JavaScript performance? Personally, I'd prefer that Google fix Chrome so Flash doesn't break on the Mac if you look at it funny ...

That's it for this week. Suggestions are always welcome, so please send tips or news here.

November 10 2010

Developer Week in Review

Here's your weekly helping of developer info:

There's an App (Store) for that!

It seems like all the cool kids these days are doing it. Creating app stores, that is. Intel just unveiled their AppUp store, designed to let developers sell directly to netbook owners, using an App Store model.

Unfortunately, to use AppUp on your netbook you have to run Windows. All those Linux netbook app developers aren't going to find much of a welcome there, at least at the moment.

As the Java brews

In the continued soap opera that is Java these days, the Apache folks have decided to strike back at Oracle for what Apache claims is bad-faith action regarding the open-sourceness of Java.

Of course, Apache being Apache, the dramatic action isn't a lawsuit, but instead a strongly worded letter (that'll show 'em!) urging the members of the JCP to reject the next version of Java, unless Oracle mends their ways. If that doesn't work, they may even organize a bake sale or write letters to the editor.

Oracle's announcement this week that they will be splitting the JVM into a premium and free edition couldn't have helped things. If you're old enough to remember the kerfuffle that Sun raised when Microsoft tried to create their own version of Java, claiming that non-uniform Javas would defeat the value of the language, this recent move by Java's new daddy has particular irony.

Microsoft open sources a language! Oh wait, it's F#...

Raise your hand if you've ever heard of F#? No, it's not FORTRAN++, it's Microsoft's functional language, from Microsoft Research. This week, Microsoft dropped the F# compiler sources in a nice neat bundle on Apache's doorstep, with a note saying that they hoped that Apache could find a good home for it.

Two observations here: Does anyone but me remember that not too long ago, Mr. Ballmer referred to open source as akin to cancer? Microsoft seems to have embraced it recently, but I don't recall ever hearing an "oops, my mistake" from Steve B.

Secondly, why doesn't Microsoft open source something of real value to the community, but well past its prime? Windows 98 comes to mind, or maybe Word 2003. Either one would allow all sorts of interesting mashups and compatibility enhancements with other open source projects, and it's not like either codebase is particularly relevant anymore from a competitive standpoint.

Oh yeah, those guys in Cupertino ...

This Wednesday is supposed to be the day that Snow Leopard 10.6.5 and iTunes 10.1 release, followed soon after by iOS 4.2. I recently read that Netflix now consumes something like 20 percent of the total Internet traffic. I wonder if, on days when Apple drops one of their massive OS upgrades, Netflix doesn't take a back seat to Apple for a day or two, as all those loyal MacHeads run their updates?

That's it for this week. Suggestions are always welcome, so please send tips or news here.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.
Get rid of the ads (sfw)

Don't be the product, buy the product!