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

July 13 2011

Who leads the Java parade?

Since Oracle's acquisition of Sun, we've been wondering who will lead the Java community. What sort of leadership is needed, and who will fill the shoes that, for better or for worse, Sun has occupied since Java was first released?

First, does the Java community need a leader? Significant portions of it are doing just fine without any "leadership," most notably the people working on big data. Their attitude seems to be "have JVM, will do great stuff, don't bother me with the politics." And granted, the politics of the Java world over the past decade have been worse than tiresome. But everyone in the Java community relies on a JVM, languages, and libraries, and none of the smaller players have the capability of maintaining and developing these themselves. What happens to the community if the JVM stagnates?

Oracle's community problem

Oracle's problem has been simple: while they've made occasional overtures and peace offerings to the Java community, they've also been, well, abusive. One need look no further than the departure of the Apache Software Foundation and Doug Lea from the JCP when it became clear that Oracle viewed the community process merely as a means to rubber-stamp their decisions. (Doug still contributes to OpenJDK, though through a stand-alone process that is then integrated into releases.) It is certainly true that Oracle is a very large company that has never had to worry much about community relations. I doubt Oracle developers expect much say in the future of the Oracle database platform. It's possible that this is just a cross-cultural faux-pas; I don't think it's Oracle's intention to kick sand into their developers' faces. I suspect it never occurred to Oracle's highest levels of management that the community would care.

In a nutshell, that's Oracle's biggest challenge. Can they win the community over, and convince participants they are at least trying to engage? Much of the creativity in the Java world has come from the community members. The current explosion of JVM languages certainly didn't originate at Sun or at Oracle, nor did most of the web frameworks in the Java space, nor did the thriving Hadoop ecosystem. At some point, developers may decide it's just not worth the hassle to be in an ecosystem where they're not respected as partners. There are alternatives: C#/Mono, the renaissance of the JavaScript space. It would be easy for enterprise developers to move to these alternatives. It would be more difficult (but not impossible) for large projects such as Hadoop or Cassandra to move. Oracle can't be displaced because they own the JVM, but I don't think they can assume the Java community won't just go elsewhere.

The puzzle of Google and Java

Google's attitude toward the Java community has been puzzling to me, though no doubt not to Googlers. Google is one of the biggest beneficiaries of the Sun diaspora, having picked up Josh Bloch several years ago, James Gosling very recently, Tim Bray and many others along the way. They've also consistently been the most creative and innovative users of the Java platform: regardless of whether you like GWT (and I don't), compiling Java to JavaScript is a brilliant and gutsy idea. App Engine's platform-as-a-service support for Java was unparalleled until Amazon announced Elastic BeanStalk. And the crown jewel, Android, is clearly the most interesting thing in the Java world today. Java ME's best hope for the future is to survive as a second-class citizen on Windows Phone 7. (I also see a sad future for a proud but fading mobile handset vendor, but that's another story.) But Google has never shown any interest in taking a leadership role. Their attitude towards most of their Java projects can be summarized as "We invented it; we use it; we like it; if you want to try it, go ahead; we don't particularly care whether it succeeds on a larger stage."

Google supports an active user group program (GTUGs), but as you would expect, they cover the whole range of Google technologies, not Java as such. And, like most technology user groups, GTUGs are largely inward facing; they don't create a lot of news on their own. Google's presence in the Java community at large is surprisingly low key.

I've been puzzled by this attitude, though perhaps it isn't strange. Google is a very large company that's interested in many things, from medical records to self-driving cars. But they know exactly where their money is coming from, and that's their advertising business. Projects that are related to selling advertising get marketing effort; projects that protect their ability to sell advertising in the future get marketing effort (I've argued that that's the motivation behind Android, and it's certainly somewhere in the background behind Chrome); but projects that are merely internal tools that they release to the public get short shrift. App Engine? Google is interested in providing tools to help developers build applications, but I don't think they see App Engine as a moneymaker; they're willing to let Amazon be the leader in cloud services. Contentious Java community relations? For Google, that's a distraction. Google's own Java developers are all the community it needs. Google has the resources to maintain its own JVM, should it come to that. That's probably a reasonable corporate policy, but it does not do the Java community any good.

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

VMware's role in the Java world

VMware probably acquired more talent from the Sun diaspora than any single company. And they've also made some interesting purchases over the years: SpringSource gave them a viable alternative platform to Java EE, with the Groovy language thrown into the bargain. They have made some very important moves with their open cloud platform, CloudFoundry: an open-source platform as a service (PAAS) framework that features a wealth of open source frameworks, including Spring, Rails, Sinatra, Node.js, and Grails and other JVM-based technologies. Again, Java is so important to the enterprise computing space that building a cloud platform around Spring is a no-brainer. But outside of the Spring community, VMware has played their cards close to their chest. Am I the only person who has had trouble figuring out where they're going or what they're doing?

VMware's aims are not unlike Google's. They have more to be gained from the success of their properties — Spring and Grails are much more than tools for internal use. But they're very focused on larger corporate goals, as they try to move from domination of the virtualization world to domination of cloud computing. Their latest purchases show that they see the cloud as providing corporate applications to end users. With the addition of Socialcast to their portfolio, it's clear they see that cloud computing is essentially social, and that thriving companies must have a social component. All this is well and good, but it's a strategy that can succeed with or without Java. While they have a definite interest in seeing Java's Open Source community prosper, as far as I know they haven't shown any interest in the community as a whole. They've bought companies formed around open source projects, but they haven't, at least up until Cloud Foundry, started any projects of their own. And while Cloud Foundry provides a great platform for running Java applications in the cloud, it isn't itself a Java project: it's written largely in Ruby on Rails and Erlang.

So while VMware has an important role in the Java community, they're not a Java company as such. Indeed, they're using what they see as the best tool for the job. That's certainly a good practice, and perhaps the hard lesson we've learned after a decade or so of language wars. VMware has talent and some wisdom — but as a company, I don't think there's a desire to be a community leader.

What do we want from a Java community leader?

JavaPerhaps we should be asking the bigger questions: What do we want from a community leader? Is that role necessary at all, or is it just a holdover from Sun's often inept attempts to deal with the movement they created? I've already mentioned maintenance of the JVM, and the job of pushing it (and the language) into the future. We've debated new language features long enough; at some point, someone had to own the job of implementing Java 7, with closures or without. Oracle has taken on that task, and succeeded. I think they've made some hard decisions, and good ones: deferring closures until Java 8, while keeping the invokedynamic bytecode instruction that makes it easier to implement dynamic languages in the JVM. Bringing Java 7 to closure (if not bringing closures to Java 7) is a significant achievement, and something that could have wandered on for years under Sun's leadership.

But is that all we want? Sun's tenure as leader of the Java community was stormy, with Sun probably not getting enough credit for keeping the fractious participants together. As I said many times, the JCP was the "least dysfunctional standards group out there." But that came at a cost. In my admittedly idiosyncratic reading, the train-wreck that was EJB 2 came from Sun's inability to say "no" to powerful vendors, who wanted certain kinds of features. If you remember JINI (and you probably don't), Sun's marketing told a bizarre story about Jini-enabled Internet refrigerators, rather than treating it as an enterprise technology that would compete with J2EE. As a result, JINI died a slow death. The history of Java is littered with initiatives (Java Media; Java Communications; even JavaFX, in which Oracle has taken a renewed interest) that Sun hyped briefly because it fit their strategy du jour, then dropped.

I'm not asking for Oracle, Google, or VMware to re-start any of these dead technologies. That's probably water over the dam, though should it happen, I'd be cheering. But being a technology leader doesn't just mean declaring yourself a leader and standing in front of the parade. You have to understand where the parade is going and lead. And that's a deeper role than just pushing the Java language and the JVM into the future. It requires understanding what developments are important, and valuing those developments for what they are even if it conflicts with your own story. It requires pushing back against other JCP organizations that "need" arcane features at the cost of sane design. And it requires doing so without appearing to abuse the good will of the millions of developers working with, and on, Java. Are any of the companies in the Java community willing to exercise this kind of technical leadership? Are there any organizations willing to think about what features the Java platform really needs, and bring those ideas to fruition? That's what we need for leadership in the Java community. It's time for the real leader to stand up.



Related:


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.


Related:

May 25 2011

Developer Week in Review: Apple devs cry "gimme shelter"

Another week of industry hijinks has passed, which means it must be time for another edition of the Developer Week in Review.

Apple offers some cover

App store screenshotAfter developer complaints that Apple was leaving them out to dry, in regards to the Lodsys patent threats being aimed their way, the House of Jobs stepped up to the plate and announced that they considered iOS developers to be covered by the existing licenses granted to Apple by Lodsys for in-game purchases.

This is a bit of a good-news, bad-news story from an intellectual property perspective, as it doesn't offer any relief to non-Apple developers from the patents themselves. Apple paid off Lodsys, which in a sense increases the perceived validity of the patents. Other non-Apple-based developers (such as Valve's Steam), could find themselves on the wrong end of a letter from Lodsys. Still, it lifts a bit of the uncertainty from the iOS space, but not all of it. Lodsys has not yet responded, and should they choose to follow an SCO model, the whole Apple development world could end up enmeshed in a long, messy lawsuit.

Speaking of which, Apple appears to be loading for bear in its various lawsuits with other smartphone makers, acquiring 200 mobile-related patents from Freescale. The have evidently decided that "he who ends the lawsuit with the most patents, wins."

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

See, I knew there was a reason they bought Sun!

Continuing our ongoing coverage of Oracle's dismemberment of Sun's assets, this week brought news of something that Oracle is actually keeping. Revenue on the Oracle's acquired line of Sun hardware jumped 13% over the same quarter last year. However, since overall server sales grew by 12%, it's not like Oracle can take much solace from the figures, especially since the former market-leader now represents a feeble 6.5% portion of the server business. "At least we didn't lose any more market share" isn't a particularly motivating battle cry.

At this point, Sun hardware appears to be stuck in the position that Apple used to be in — an expensive boutique brand in the minority. I have a hard time seeing Larry Ellison pulling a hardware rabbit out of his hat, the way Steve Jobs did.

Sony, security spelled backwards

Does Sony lock the doors at their main headquarters when they go home at night? Does Ryoji Chubachi leave the keys to his car in the ignition on a regular basis? That's certainly the impression you might have of the corporate giant after the third wave of SQL-injection-based attacks struck Sony this week, this time targeting Canadian and Asian sites. Although these latest attacks are dwarfed in scope by the massive data losses suffered by the Playstation Network and Sony Online Entertainment, the continual barrage of attacks must seem like the death of 1,000 cuts to Sony by now.

More to the point, it is hard to imagine that consumers will be enthusiastic about sharing any of their personal data with Sony after a month of horrific press. As I've mentioned in the past, the cost of not sanitizing your input data is so high, and the effort so small, that it should practically be a capital offense to neglect it.

Got news?

Please send tips and leads here.



Related:


May 12 2011

Developer Week in Review: Oracle sends Hudson on its way

Lesson for the week: If you really want to stir up an anthill, attack the conventional wisdom of code development best practices.

In other news ...

Another piece of Sun falls off the good ship Oracle

At this point, I could almost follow the practice of Gregg Easterbrook 's Tuesday Morning Quarterback and put this text on Autotext, but in the past week, Oracle cast off another piece of their acquired Sun technology. In this case, it was the integrated build platform "Hudson." Either fed up with the infighting that had led to the spin-off "Jenkins" project, or simply unable to figure out a way to monetize the code, Oracle threw up their hands and gave the whole shebang to Eclipse.

The open question now is whether this will lead to a reconciliation between the Jenkins and Hudson clans, and a return to a single unified project. It would be nice to see an alternative to the divisiveness that has led to the myriad MySQL forks now populating the universe.

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

Probably not what Google wanted at the top of the news cycle

Google made some significant announcements about the future of Android to kick off the yearly Google I/O developer-fest. However, some of the news cameras were also focused on the other coast, where Google and Apple executives were being grilled by Senator Stuart Smalley Al Franken about their location monitoring practices.

While lawsuits spring up like flowers in May, Apple has scrambled to push a new iOS release into the wild that drastically reduces the quantity of location data stored on phones. The company also published a fairly exhaustive explanation of why they were storing the data in the first place.

You're a developer, relax!

Good news for all you code rats up to your necks in missed deadlines and burdensome processes. You actually work in the third least-stressful job on earth! Two immediate points to come mind:

Got news?

Please send tips and leads here.



Related:


April 15 2011

Wrap-up of 2011 MySQL Conference

Two themes: mix your relational database with less formal solutions and move to the cloud. Those were the messages coming from O'Reilly's MySQL conference this week. Naturally it included many other talks of a more immediate practical nature: data warehousing and business intelligence, performance (both in MySQL configuration and in the environment, which includes the changes caused by replacing disks with Flash), how to scale up, and new features in both MySQL and its children. But everyone seemed to agree that MySQL does not stand alone.

The world of databases have changed both in scale and in use. As Baron Schwartz said in his broad-vision keynote, databases are starting to need to handle petabytes. And he criticized open source database options as having poorer performance than proprietary ones. As for use, the databases struggle to meet two types of requirements: requests from business users for expeditious reports on new relationships, and data mining that traverses relatively unstructured data such as friend relationships, comments on web pages, and network traffic.

Some speakers introduced NoSQL with a bit of sarcasm, as if they had to provide an interface to Hbase or MongoDB as a check-off item. At the other extreme, in his keynote, Brian Aker summed up his philosophy about Drizzle by saying, "We are not an island unto ourselves, we are infrastructure."

Judging from the informal audience polls, most of the audience had not explored NoSQL or the cloud yet. Most of the speakers about these technologies offered a mix of basic introductory material and useful practical information to meet the needs of their audience, who came, listened, and asked questions. I heard more give and take during the talks about traditional MySQL topics, because the audience seemed well versed in them.

The analysts and experts are telling us we can save money and improve scalability using EC2-style cloud solutions, and adopt new techniques to achieve the familiar goals of reliability and fast response time. I think a more subtle challenge of the cloud was barely mentioned: it encourages a kind of replication that fuzzes the notion of consistency and runs against the ideal of a unique instance for each item of data. Of course, everyone uses replication for production relational databases anyway, both to avert disaster and for load balancing, so the ideal has been blurred for a long time. As we explore the potential of cloud systems as content delivery networks, they blur the single-instance ideal. Sarah Novotny, while warning about the risks of replication, gave a talk about some practical considerations in making it work, such as tolerating inconsistency for data about sessions.

What about NoSQL solutions, which have co-existed with relational databases for decades? Everybody knows about key-value stores, and Memcache has always partnered with MySQL to serve data quickly. I had a talk with Roger Magoulas, an O'Reilly researcher, about some of the things you sacrifice if you use a NoSQL solution instead of a relational database and why that might be OK.

Redundancy and consistency

Instead of storing an attribute such as "supplier" or "model number" in a separate table, most NoSQL solutions make it a part of the record for each individual member of the database. The increased disk space or RAM required becomes irrelevant in an age when those resources are so cheap and abundant. What's more significant is that a programmer can store any supplier or model number she wants, instead of having to select from a fixed set enforced by foreign key constraints. This can introduce inconsistencies and errors, but practical database experts have known for a long time that perfect accuracy is a chimera (see the work of Jeff Jonas) and modern data analytics work around the noise. When you're looking for statistical trends, whether in ocean samples or customer preferences, you don't care whether 800 of your 8 million records have corrupt data in the field you're aggregating.

Decentralizing decisions and control

A relational database potentially gives the DBA most of the power: it is the DBA that creates the schema, defines stored procedures and triggers, and detects and repairs inconsistencies. Modern databases such as MySQL have already blurred the formerly rigid boundaries between DBA and application programmer. In the early days, the programmer had to do a lot of the work that was reserved for DBAs in traditional databases. NoSQL clearly undermines the control freaks even more. As I've already said, enforcing consistency is not as important nowadays as it once seemed, and modern programming languages offer other ways (such as enums and sets) to prevent errors.

Flexibility

I think this is still the big advantage of relational databases. Their complicated schemas and join semantics allow data mining and extended uses that evolve over the years. Many NoSQL databases are designed around the particular needs of an organization at a particular time, and require records to be ordered in the way you want to access them. And I think this is why, as discussed in some of the sessions at this conference, many people start with their raw data in some NoSQL data store and leave the results of their processing in a relational database.

The mood this week was business-like. I've attended conferences held by emerging communities that crackle with the excitement of building something new that no one can quite anticipate; the MySQL conference wasn't like that. The attendees have a job to do and an ROI to prove; they wanted to learn whatever would help them do that.

But the relational model still reflects most of the data handling needs we have, so MySQL will stick around. This may actually be the best environment it has ever enjoyed. Oracle still devotes a crack programming team (which includes several O'Reilly authors) to meeting corporate needs through performance improvements and simple tools. Monty Program has forked off MariaDB and Percona has popularized XtraDB, all the while contributing new features under the GPL that any implementation can use. Drizzle strips MySQL down to a core while making old goals such as multi-master replication feasible. A host of companies in layered applications such as business intelligence cluster around MySQL.

MySQL spawns its own alternative access modes, such as the HandlerSocket plugin that returns data quickly to simple queries while leaving the full relational power of the database in place for other uses. And vendors continue to find intriguing alternatives such as the Xeround cloud service that automates fail-over, scaling, and sharding while preserving MySQL semantics. I don't think any DBA's skills will become obsolete.

March 23 2011

Developer Week in Review

Netflix went down over three hours ago, and everyone is on edge here. My son just started reciting the script to "Monty Python and the Holy Grail" in an attempt to keep our courage up. This may be the last thing I ever write, so — Oh, never mind, it's back up again ... Crisis averted, and on to this week's developer news.

We have an App Store Appstore for that!

Amazon AppstoreAmazon this week unleashed their own Appstore for Android devices. Apple took umbrage at the use of the (evidently trademarked) term "App Store" and fired a salvo of lawyers across Amazon's bow. Amazon responded by essentially saying "Hey, app store is a generic term." To which Apple responded "So is windows, and Microsoft gets to protect that ..."

Given that Apple gave Amazon multiple warnings not to use the App Store tag, it's unclear why Amazon decided to be the one application store to challenge Apple for use of it. And unlike nebulous patent claims, trademark claims are pretty straightforward. Amazon is going to have a hard time arguing that their use of the term "Appstore" is sufficiently different from Apple's App Store, and that there couldn't be any confusion. But however things fall out in the end, the only winners, of course, will be the lawyers.

A moment of silence for Sun.com, please

An old and venerable friend is passing away, and we should all take a moment to reflect on the long and fruitful life that it led. Oracle has announced that they will be decommissioning the sun.com domain, the 12th oldest domain name on the Internet. For those of us whose fingers can type "java.sun.com" automatically, it will be a jarring change.

I first encountered Sun way back in 1985 when Xerox AI Systems decided to port their Interlisp workstations to run on Sun hardware. The Sun 4/110 on my desktop was (to me at the time) the coolest thing on the planet. For a while, it seemed like Sun (along with Cisco) was the Internet. Now the last major vestige of Sun, their domain, will be sold off like cattle. Excuse me, I think I have something in my eye ...

O'Reilly MySQL Conference & Expo, being held April 11-14, will spread the latest and best knowledge on MySQL and related technologies to the global open source community.

Save 25% on registration with the code MYS11RAD



Bake for 20 minutes, and Drizzle liberally with SQL


One of the side-effects of Oracle acquiring Sun is that MySQL was thrown into somewhat of a turmoil. Forked versions seemed to be cropping up everywhere. Now the first of the baby-MySQLs is getting on the bus and heading off to school, as Drizzle has announced their general availability release.

For individuals and companies looking for an alternative to Oracle's MySQL offering, Drizzle offers an API-compatible replacement that aims to be a leaner, meaner database optimized for high-performance operations. For those wanting a more traditionally MySQL experience without the Oracle baggage, MariaDB is still out there, of course.

Got news?

If you have some juicy news, please send tips or leads here.



Related:




February 09 2011

Developer Week in Review

I am led to understand that there was some kind of sporting event on Sunday. As our brave New England lads were not involved, I foreswore it (except for watching the commercials on Hulu, of course ...) But now that the nacho-and-beer-induced stupor that many of you seem to have been suffering from has worn off, let's see what happened around the industry last week.

The 49th caller wins tickets to Google I/O

If you had your heart set on a trip to the beautiful George Moscone center for Google's annual developer love-fest, you needed to have fast fingers this year. The general registration signup opened and closed again in under an hour, after the website took a beating usually reserved for iPhone reservations.

Your weekly Oracle news

Proving once again that Oracle totally fails to understand the open source community, there's now a major todo brewing around the continuous integration project formerly known as Hudson. The basic timeline appears to be as follows:

  • Oracle takes down the source repositories for more than a week to do infrastructure changes, without warning the developer community.
  • The founder and chief committer created a GitHub project so that work could be done while Oracle got their act together.
  • Oracle got snotty and said that the GitHub project couldn't be called Hudson because Oracle owned the trademark.
  • The developer community said "Fine, we'll change the name to Jenkins."
  • Oracle said "You can call it whatever you want, but it'll be a fork."
  • Hilarious hijinks ensue!



Keyboards for real programmers


LISP MachineAfter last week's (DMCA'd) peek at the Internet, circa 1994, here's another blast from the past: a collection of keyboard photos from the early LISP machines! These keyboards had a set of modifier keys yet to be surpassed in the world of programming, sporting not only a control and alt (meta) key, but also a hyper and super key. All of them could be chorded, leading to such memorable key presses as "control-meta-hyper-yu shiang whole fish."

Regrettably, the page fails to display any keyboards from LISP Machine, Inc, which was my first corporate employer (after a six-month-stint working at the MIT AI Lab.) However, if you look at the photo, you can see what was the bane of my existence when I did field service calls for LMI, the notorious A=M ECO (Engineering Change Order). There's a series of white wires running down the center of the front wire-wrap panel. They are twisted-pair with one wire grounded on either side, and were put in because the original single-wire runs were sensitive to induced current from wires they crossed. There were 32 of them, they needed to be unwrapped on both ends from the pins, teased out with dental tools, and then the twisted pair wires added in place of them. It took hours, and woe to you if you broke another wire while removing the target ones. But tell that to the kids today ...

You young whippersnappers come back next week, and Uncle James will tell you more tales of computers new and old. Until then, get off my lawn! Suggestions are always welcome, so please send tips or news here.



January 20 2011

Four short links: 20 January 2011

  1. Ajax Code Editor -- MPL/GPL/LGPL-licensed Javascript code editor that can be embedded into web sites. This used to be Mozilla Skywriter which used to be Mozilla Bespin. (via Mozilla Labs blog)
  2. Sun A Year After: The Open Source Projects -- roundup of what happened to Sun's open source projects after the Oracle acquisition. It's like the plague struck: some are dead, some are dying, some are fearful, others plough on resolutely.
  3. libcpu -- open source library for emulating CPUs, built on llvm. (via a Stackoverflow answer on emulators)
  4. MIT Open Courseware Supports Independent Learners -- they've taken some popular classes and made sure the material stands alone, by writing new material to replace references to closed/offline/etc. textbooks. OCW Scholar is not a distance-learning program, but rather educational materials provided for free without the support of an instructor or teaching assistant. The trade-off for this content-based approach without interaction is that OCW Scholar can be used by a very large audience for only the cost of digital distribution. How long until cheap teaching universities spring up, offering the MIT courseware with on-site TAs?

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.


November 03 2010

Developer Week in Review

Here's your weekly helping of developer info:

The sudden but inevitable Apple news

Several pieces of news on the Apple front this week. First up: the Gold Master seed (which either sounds like something you plant to get nice apples, or something out of a bad SF eugenics novel) for iOS 4.2 dropped, signaling the green light for iPad/iPhone/iPod developers to submit 4.2-ready applications to the App Store. Traditionally, the pre-release to developers is followed about a week later by the general release, and is identical.

Meanwhile, continuing to muddy the waters about what is and isn't allowed on the iPhone, Adobe gave a sneak peak of a tool that converts Flash movies into standard HTML5 movies, thus making them viewable on iOS devices (and HTML5 browsers without Flash installed.)

And evidently the iPhone will be coming to Verizon in 2011. I'm sure you've already heard about it, I just didn't want to be the last journalist on the planet to report it. Is there such a thing as a secret at Apple anymore? At this point, if Apple had been in charge of the D-Day invasion, the Germans would have been waiting on the beach with gift baskets.

Motivations behind Oracle's Sun acquisition get clearer

So far this year, Oracle has sued Google over Java on the Android and pretty much killed off OpenSolaris. So what's next for Larry & Co.?

The answer came when 33 contributors from the OpenOffice project jumped ship for LibreOffice. Evidently, Oracle appeared to have little interest in putting much effort into OpenOffice. Decoding the corporate-speak from Oracle's PR department, the reaction to the defections so far might best be summed up as "Don't let the door hit your butt on the way out."

As former Sun projects acquired by Oracle drop like flies, it becomes possible to deduce what Oracle really bought Sun for simply by listing what's left: mainly MySQL and Sun's hardware business. Bets, anyone?

Is IE slowly heading toward minority status?

No one browser can take the credit, but Microsoft's Internet Explorer continues to slowly lose traffic share to Firefox, Chrome, and the other hungry young punks nipping at its heals. Now down to 59.25 percent of total browser usage, IE is a far cry from the heady days of 90-plus percent dominance. For all you AJAX and HTML5 developers out there, it should serve as a signal that the days of "This website requires Internet Explorer" need to be laid to rest for good, unless you like alienating 40 percent of your potential user base.

Another week, another platform

So, you say that developing for OS X, Windows, Linux, iOS, J2ME, HTML5 and Android isn't enough diversity to keep your mind occupied. Now you can add Chrome OS to that list. Vendors will soon release an onslaught of Chrome-powered netbooks, smartbooks and notebooks. Conventional wisdom is that the world doesn't need another notebook operating system, but conventional wisdom said the same thing about Android, and now everybody laughs at him at the water cooler at work. In other words, ignore Google at your peril.

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


April 08 2010

Brian Aker on post-Oracle MySQL

Brian Aker parted ways with the mainstream MySQL release, and with Sun Microsystems, when Sun was acquired by Oracle. These days, Aker is working on Drizzle, one of several MySQL offshoot projects. In time for next week's MySQL Conference & Expo, Aker discussed a number of topics with us, including Oracle's motivations for buying Sun and the rise of NoSQL.

The key to the Sun acquisition? Hardware:

MySQL Conference and ExpoBrian Aker: I have my opinions, and they're based on what I see happening in the market. IBM has been moving their P Series systems into datacenter after datacenter, replacing Sun-based hardware. I believe that Oracle saw this and asked themselves "What is the next thing that IBM is going to do?" That's easy. IBM is going to start pushing DB2 and the rest of their software stack into those environments. Now whether or not they'll be successful, I don't know. I suspect once Oracle reflected on their own need for hardware to scale up on, they saw a need to dive into the hardware business. I'm betting that they looked at Apple's margins on hardware, and saw potential in doing the same with Sun's hardware business. I'm sure everything else Sun owned looked nice and scrumptious, but Oracle bought Sun for the hardware.

The relationship between Oracle and the MySQL Community:

BA: I think Oracle is still figuring things out as far as what they've acquired and who they've got. All of the interfacing I've done with them so far has been pretty friendly. In the world of Drizzle, we still make use of the Innodb plugin, though we are transitioning to the embedded version. Everything there has gone just along swimmingly well. In the MySQL ecosystem you have MariaDB and the other distributions. They're doing the same things that Ubuntu did for Debian, which is that they're taking something that's there and creating a different sort of product around it. Essentially though, it's still exactly the same product. I think some patches are flowing from MariaDB back into MySQL, or at least I've seen some notice of that. So for the moment it looks like everything's as friendly as it is going to be.

Is NoSQL a fad or the next big thing?

BA: There are the folks who say "just go use gdbm or Berkeley DB." What they don't fundamentally understand is that when you get into a certain data size, you're just going to be dealing with multiple computers. You can't scale up infinitely. Those answers come from an immaturity of understanding that when you get to a certain data size, everything's not going to fit on a single computer. When everything doesn't fit onto a computer, you have to be able to migrate data to multiple nodes. You need some sort of scaling solution there.

With Cassandra, and similar solutions, the only issues that come up is when they don't fit the data's usage pattern. Like for instance with data analytics. There is also still the "I need these predicates across a relational entity." That's the part where the value key systems obviously fail. They have no knowledge of a relationship between two given items. So what happens then? Well, you can end up doing MapReduce. That's great if you've got an awful lot of computers and you don't really care about when the answer is going to be found. MapReduce works as a solution when your queries are operating over a lot of data; Google sizes of data. Few companies have Google-sized datasets though. The average sites you see, they're 10-20 gigs of data. Moving to a MapReduce solution for 20 gigs of data, or even for a terabyte or two of data, makes no sense. Using MapReduce with NoSQL solutions for small sites? This happens because people don't understand how to pick the right tools.

MySQL and location data:

BA: SQL goes very well with temporal data. SQL does very well with range data. I would say that SQL works very poorly today with location-based data. Is it the best thing out there, though? Probably. I'm still waiting for someone to really spend some time thinking about the location data problem, and come up with a true location store. I don't believe that SQL databases are the solution for tomorrow's location-based data. Location services are going to require something a lot better then what we have today. Because all we have today is a set of cobbled together hacks.

MySQL's future:

BA: There hasn't been a roadmap for MySQL for some time. Even before Sun acquired MySQL, it was languishing, and Sun's handling of MySQL just further eroded the canonical MySQL tree. I'm waiting to see what Oracle announces at the MySQL Conference. I expect Oracle to scrap the current 5.5 plan and come up with a viable roadmap. It won't be very innovative, but I am betting it will be a stable plan that users can look at.

I see a lot of excitement about multiple versions of MySQL. I'm hoping to see this push innovation as the different distributions differentiate themselves. I believe that the different MySQL distributions will all become forks eventually.

In the Drizzle world, the excitement is in the different sorts of plugins that have been written, and the opportunity for more. There has been a bunch of work around the replication system, and how it integrates with other systems. We have plugins now that allow Drizzle to replicate into things like RapidMQ, Cassandra, Gearman, Voldemort, Memcached and other database systems. Having a replication system that was designed from day one to be pluggable is a game changer for some enterprises. Drizzle's future? Everything is open source, and we will see where the community wants to take it.

I would like to see more focus on data bus architectures, i.e. geographical replication. In the past, replication was a lot about how to scale out. That's dead and gone. Anybody who's doing scale-out with replication is creating a future headache for themselves. What I'd like to actually see is more attention to how we pass data between datacenters. I would also like to see more work done on shared-nothing storage systems. There's been a few attempts at that with MySQL, but thus far, the attempts have been failures. The reasons for this? Poor code quality and difficulty of use. I believe we'll see new shared-nothing solutions coming out that will work better then anything that's been written so far.

March 05 2010

MySQL migration and risk management

Oracle's acquisition of Sun has opened up all sorts of questions: Will MySQL get the support it needs? What will become of the MySQL community? Where should database administrators put their efforts and resources?

Ronald Bradford can answer that last question. Bradford, an RDBMS expert and a speaker at the upcoming MySQL Conference and Expo, has been guiding DBAs through key aspects of MySQL integration for years. In the following Q&A, he discusses the pros and cons of migrating from Oracle to MySQL (hint: it's not just about cost savings). He also weighs in on the future of MySQL and its community.

Jumping from Oracle to MySQL

Mac Slocum: What are the upsides to migrating from Oracle to MySQL? Is cost the major factor?

Ronald BradfordRonald Bradford:The Oracle license cost is generally the most important factor for organizations considering migrations. Also, integration with open source LAMP products that provide many features you see today, including project management, bug tracking, wikis, blogs, and customer relationship management, are better served when all systems can communicate with the underlying data storage in MYSQL.

Newer and cheaper multi-core hardware, and a correct scale-out architecture, manages risk better then a single, large, scale-up instance of your data. Failure of 1-10 percent of your user data is far better then 100 percent failure.

MS: What are the major issues with Oracle to MySQL migration?

RB: Adequate education and skills development is the most significant and most under-budgeted cost in migration. While the cost of licensing and subscriptions is generally less for non-Oracle solutions, MySQL is not Oracle. Most organizations underestimate the time needed for staff to become proficient in a new skill, especially when they're required to maintain existing systems.

The second factor is staff pushing back against MySQL. For example, management at a top 20 website I was involved with made the decision to replace Oracle with MySQL. The technical resources, including system architects and senior DBAs, were not in agreement and they sometimes actively fought against the implementation of MySQL.

The third issue is monitoring. MySQL does not have the level of in-depth instrumentation it should. While it's integrated into existing open source monitoring products, MySQL is not always well supported by production network operations center systems.

For these reasons, slow integration with less critical systems is a successful integration model. This enables time for a comfortable and successful transition and it creates confidence moving forward.

MySQL's future

MS: What do you think will happen to MySQL once dust settles from Oracle's acquisition of Sun?

RB: Oracle has made a written commitment to invest in MySQL at the same rate as Sun for the next three years. Given the vast experience and R&D budget Oracle has given its product line, I hope more is invested in MySQL.

MySQL Conference and Expo In the year following MySQL's first acquisition by Sun, they failed to produce advances the community would have liked. Many in the community were disappointed by the stealth release of 5.4. I suspect it will take some time for Oracle resources, processes and procedures to integrate with the existing MySQL engineering lifecycle, and it will take time before we see any future work.

I would like to see two areas of MySQL deficiency addressed: a totally integrated and online backup solution, and better instrumentation.

MS: Will the MySQL developers under Oracle build stronger bonds with users?

RB: Open-source culture is unique in comparison to commercial, closed-source products. Developers who work for MySQL now will continue to be available to alumni and the community, and I suspect they will continue to write, blog and actively present.

While there has already been a small exodus of staff from the Oracle acquisition, any restrictions between staff and open source developers will greatly hurt the community. On the flip side, it will be difficult for Oracle developers who start using and contributing to MySQL development to be more open and responsive. It's unfamiliar ground.

MS: Will work by Monty Widenius and others bring into being a larger after-market of MySQL extensions and patches?

RB: The after-market movement started many years ago when MySQL executives lost perspective on the community and focused on commercial viability. This after-market will continue to flourish. I agree with a fellow community member who recently stated that the trademarked version of MySQL will be just one variant of the overall MySQL product. There are individual products that are as good if not better then the official MySQL version. What's lacking are commercial support options and documentation.

MS: Will the varied projects that fall under NoSQL take market share from relational databases? Or will they grow in parallel?

RB: MySQL has continued to grow in the database market. Oracle and other products have also grown. That indicates a general increase in demand regardless of the specific product. I see NoSQL adding value and options to an increasing marketplace.

The NoSQL options have some great benefits, and in any emerging topology it's important to architect a solution that maximizes the strengths and minimizes the weaknesses of the products in use. Persistent or non persistent key-value stores, including Memcached, Tokyo Tyrant, Redis and Cassandra, are ideally suited for some functionality. Unstructured data being managed by MongoDB or CouchDB will be ideal in other situations.

Another key area is that of free text searching. Products such as Sphinx, Lucene and Solr are critical to a successful website or application.

The recent news that Twitter is moving to Cassandra highlights that products like these can deliver in highly available and scalable situations. It all depends on the right product for the given business requirements.

MS: You'll be speaking at the MySQL Conference and Expo in April. What are you hoping attendees will take away from your "MySQLCamp for Oracle DBAs" tutorials?

RB: It will be difficult in two sessions to provide great depth for Oracle DBAs. However, attendees will get the wealth of my 20 years of commercial experience in Oracle, MySQL and other RDBMS products. They'll also get a methodology for how to approach MySQL from a different skills background. Attendees will be able to identify the clear strengths and weaknesses of MySQL, and I'll provide information on common pitfalls.

If I was to give a single statement that also encompasses some important content, it's this: Don't Assume. MySQL is not Oracle. Obvious mistakes in terminology, syntax and structure can be significant in the performance and best practices for using MySQL.

The outline of the four talks in my MySQLCamp for the Oracle DBA series, two of which are being presented at the conference, is available on my website.

Note: This interview was condensed and edited.

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.

Don't be the product, buy the product!

Schweinderl