The state of Java – My Feburary Register Column

This month, my column at The Register is on the state of Java and the evolving nature of J(2)EE:

Despite all the inside-bickering, lawsuits, a shotgun wedding to Oracle, drawn-out releases, and rivals from PHP, to Rails, to Swift, Java is still in wide use and shows no signs of finally dying. Jobs-wise, you’d be hard-pressed to find a better language than Java as your primary programming language if you wanted to switch from dropping off hot-pies to writing code.

Check out the rest!

Source: Java? Nah, I do JavaScript, man. Wise up, hipster, to the money • The Register

Questioning DRY


Recently, I’ve been in conversations where people throw some doubt on DRY. In the cloud native, microservices mode of operating where independent teams are chugging along, mostly decoupled from other teams, duplicating code and functionality tends to come more naturally, even necessarily. And the benefits of DRY (reuse and reducing bugs/inconstancy from multiple implementation of the same thing), theoretically, no longer are more valuable than the effort put into DRYing off.

That’s the theory a handful of people are floating, at least. I have no idea if it’s true. DRY is such an unquestionable tenant of all programming think that it’s worth tracking it’s validity as new modes of application development and deployment are hammered out. Catching when old taboos flip to new truths is always handy.
Continue reading “Questioning DRY”

What I’m looking forward to at SpringOne Platform

The biggest cloud native conference is coming up at the first week of August, SpringOne Platform. To plan out my time I took at look at the sessions. Here’s what I’m looking forward to and what I think you, dear readers, will find interesting as well. Doing a list like this, of course, ends up excluding some awesome sessions, so be sure to check out the talk list yourself as well.

Also, if you’re interested and haven’t registered yet, be sure to use the code pivotal-cote-300 to get $300 off.

Dealing with legacy

Almost every conversation I have with large organizations involves a discussion about dealing with legacy software. While you may not be running JFK era IT, you probably have to deal with legacy. Here’s some sessions on that topic:

Cloud Native Coding

Moving to The New, New Thing requires different ways of architecting and coding your software. Here’s some sessions that go over those new ways:

Case Studies

While cooked up demos of Pet Stores and Breweries are education, I’m most interested in hearing tales of what’s actually happened out in the world. Here are some of the case studies that look interesting:

The Usual Chuckle-heads

And, to highlight talks from my team:

(And, remember: if you want to come, you can get $300 if use the code pivotal-cote-300 when you register.)

Oracle says it is ‘committed’ to Java EE 8 – amid claims it quietly axed future development

There was a bit of a stink recently that Oracle was backing out of JEE support, the layer above the core of Java that provides a lot of common APIs, services, and frameworks that orginizations use to make applications.

“Almost all work from Oracle on Java EE has ceased for more than six months with no end to the inactivity in sight. Unless things change soon Java EE 8 won’t be delivered in anywhere near the time when it was initially promised if it is delivered at all.”

It’s open source with implementations of it being closed source (in the form of Java application servers like JBoss, WebLogic, WebSphere, etc.). These are the stacks that many, many orginizations use: it’s a sub-set of the application infrastructure and middleware market which Gartner estimated to be around $23.8bn in 2014. So: lots of use out there.

Whatever that “backing off plan” may have been, Oracle seems to be backing off those plans and is back on the open JEE

Very recently, however, amid intense pressure from the community, IBM and Red Hat, The Register understands Oracle executives realized that the proprietary API route would be a disaster: it would cause too much damage to the ecosystem, and there was no guarantee people would use the new closed-source API.

Source: Oracle says it is ‘committed’ to Java EE 8 – amid claims it quietly axed future development

Sputnik Cloud Launcher – Doing More DevOps

One of the tools in Project Sputnik is the “cloud launcher.” The idea for this tool is to help instrument a DevOps life-cycle: the tool models out a simulated cloud on your desktop during development, and then deploys it to “real” clouds once you’re ready. We demonstrated one version of the cloud launcher at Dell World this week that uses juju.

In the meantime, OpsCode’s Matt Ray has been working on another approach (which he describes in the above video) that uses Chef under the covers. See the code checked into the Sputnik repo as well. I’m looking at these two versions as proofs of concept, or even “spikes” to explore how to best implement the idea. We’re eager to get feedback and engagement from the community to figure out which approach (or a third!) is most helpful.

Project Fast PaaS and Dell Cloud Labs

A couple of developers in our Dublin cloud labs started working on Cloud Foundry and set it up to run on our Dell cloud. You can check out more info and sign up for a invite to it.

Moving Beyond The PaaS Paradox

In my strategy role I’ve been looking at PaaS for awhile now. In doing that, I keep hitting upon what I call “The PaaS Paradox.” If you take any given analysts forecasts for PaaS, the overall market looks “bad” compared to IaaS and SaaS: $2.9B by 2016 by a recent Gartner estimate – or about 3% of the ~$110B public cloud market in 2016 (I subtracted out that annoying “advertising” segment that Gartner tracks).

And then you have some real gorillas already moving in there: Microsoft, Salesforce, Google, IBM, Oracle, and so on. While several billion may seem amazing to individuals, in the IT industry, it’s not much…esp. if you’re competing with those guys. (As another data point along the PaaS road: EngineYard helpfully reports its revenue from time-to-time, $28M back in July, 2011.)

And yet, everyone is always going on about how PaaS is mega important. Each year it’s going to be “the year of PaaS,” and analyst survey data always indicates high interest in PaaS.

My theory has been that when most people, esp. all those gleeful survey respondents, think of PaaS they’re not thinking of “pure PaaS” (or 1st and even 2nd generation PaaS). Instead, they just are thinking “doing software development with cloud technologies and practices.” Once you re-calibrate your whiz-bang charts to include all of software development, “PaaS” seems a lot more attractive.

I ran this by Jeffery Hammond and James Staten in a conversation the other day and they framed it in another, interesting way: people want the ability to run, and target different frameworks in a cloud context. Heroku is the classic of example of this. While Heroku is a PaaS, it’s more about being able to run rails (and plenty of other languages and frameworks now). This flexiblity fixes that unsettling feeling that 1st generation PaaS had: you were using, essentially, a propriety framework that was limiting your choice.

Or, as Stephen puts it: PaaS is the new middleware.

With that framing, you can escape the PaaS Paradox, and PaaS is a lot more interesting. So far, Cloud Foundry has seemed one of the better architectural fits for this “PaaS as middleware” think.” As we move “Project Fast” through (the new) Dell Cloud Labs, I’ll be eager to see how that architecture plays out and even more excited to see how the Dell community reacts to and participates in the project. As with Project Sputnik, a huge part of what we’re doing is engaging with developers, which sounds like a pretty good way to spend time to me.

Also: check out some demo videos of Project Fast PaaS.

Cloud Closures and Server-side JavaScript Injection – Episode #165


Charles asked me to think of some ways you’d use sandboxed JavaScript on the server side – I jump right in with some examples:

To listen to the episode, subscribe to the podcast feed in iTunes or whatever, download the episode directly, or click play below to listen right here:

We’ll see if any of it helps Charles out with his talk. #151 – "BAM! What's in your UNDERPANTS?!?!"

Tuna Steak

To listen to the episode, subscribe to the podcast feed in iTunes or whatever, download the episode directly, or click play below to listen right here:

In this two episodes in one episodes, Charles and I embed an episode of RIA Weekly into an episode of It’s like a taco in a hamburger wrapped in a slice of pizza.

Here’s a brief summary:

  • Detroit’s motto is actually “Speramus Meliora; Resurget Cineribus”, which means “We Hope For Better Things; It Shall Rise From the Ashes” in English.
  • Check out The Bladerunner game FAQ I wrote long ago.
  • Charles gives his love to DonkeyTron 5000.
  • Since both of us have heard the NPR coverage of Detroit this week, I (re-)ask Charles, “what’s up with Detroit?”
  • This gets us into a discussion of the villains plans to tear down the old city and build a new one in movies like Darkman, Robocop, and Bruce Sterling’s recent book The Caryatids, which I give a brief overview of.
  • Don’t forget Charles’ upcoming talk at the Ann Arbor JUG! Charles will try to address Pete F.’s desire for a recording.
  • Charles discusses his concept for “,” that is, seeing how much social media ego you have.
  • This leads us to propose the Listener Market Research Omnibus Survey. Want to participate, just tell us!
  • For a detailed summary for the RIA Weekly episode, see the RIA Weekly #49 show-notes.

Charles on JavaScript

The Wrong Way to Drink

Charles has been developing and giving a talk on using JavaScript over the past few months. He gave it up at the Detroit Java User Group, and it looks like he’ll be giving it at the Ann Arbor Java User Group next week, Tuesday April 28th. Charles has been perfecting the “every-day” use of JavaScript for awhile, as you know if you’ve been listening to the podcast, and this talk is a good sum-up of all that work and knowledge.

Here’s the summary:

Charles Lowell will show why JavaScript is like no other major language when it comes to embedding into an application. Drawing from personal experience, Charles will present a treatment of the JavaScript object system and philosophy.

He will demonstrate how to use JavaScript to implement a scriptable webservice and demonstrate the ability to add and remove properties to native java objects and classes.