On Sun's Eclipse, and Other Tales

This is the sort of piece I probably shouldn’t be writing (given that it’s partially related to work and stuff), but it’s been over ten years now since most of it happened, and not only are there tales that need telling, I also have very few opportunities to commit them to writing that are not easily come by.

So a couple of weeks of forced rest at the time most of the former key folk at Sun are leaving Oracle seem like as good a time as any to give this (and other topics) a shot, especially because ever since I wrote about the very beginning of it all, twenty years back, I’ve found lots to reminisce about, especially regarding the years prior to my return to Marketing.

Getting back to the matter at hand, I’ll openly admit I’ve always had mixed feelings towards both Sun and Oracle. This may not be the most politically correct thing for me to say (especially since I’ve always tried to be publicly neutral about most things, given the degree of mis-interpretation that personal blog posts are prone to these days), but I would hardly work at any of them.

I’ve felt this way since way back when I was an undergrad student, and having both companies as constant presence over the years didn’t improve matters – and I’m about to tell you why.

Like I once wrote, I’m old enough to remember Sun shipping Solaris without an X server and folk putting up spoofs of their advertising posters with “downgrade to Solaris” plastered over the new logo, and had a SPARCstation IPC on my desk for a good while (a legacy from a workmate who smoked so much that the little square under the box was the only clean, grey area on an otherwise nicotine-saturated yellowish-brown desk when I moved it to a new spot upon taking over his seat).

Around the same time, I was looking for a job outside academia and was interviewed at Oracle by a guy who was probably about my current age – I don’t recall all the details (my e-mail archive and notes don’t stretch that far back, although I’m pretty sure I have some record of it someplace), but locally Oracle was a sales & support organization through and through (most of the job seemed to entail taking support calls and doing field work), and since I wanted to do coding or integration, I came away with a rather negative impression of my prospects there. They called me back quite a few times, but I distinctly remember deciding that I didn’t want to be cannon fodder for a company that did little else but license and troubleshoot databases.

Sure, their enterprise apps came out in the 1980s, but the business in Portugal didn’t seem to have much to do with them in the mid-90s, and I’d had a few encounters with SAP (where a couple of my college mates have steadily risen through the ranks over the years), and even though I loathe the SAP user experience with a passion to this day, if I was to do something in IT I’d rather do it there than at Oracle.

There was also the fact that I’ve always disliked databases in general (a feeling that quite a few years dealing with Oracle, Sybase and even mySQL did nothing to allay), and committing myself to something that was even then starting to look like a commodity (regardless of how many bells and whistles vendors bolted on) simply wasn’t in the cards.

But back to Sun. I used to subscribe to SunWorld Magazine (at least that is what I think it was called initially – I dumped a lot of my old magazine stacks when I got married), got rid of the Sun C compiler and moved to gcc during the first iterations of Solaris (back when it was hard to figure out which was the most buggy, the compiler or the OS), but got frustrated with the development and desktop environment and eventually moved on to Windows NT 4.0 for a few years – long enough to host an alumni mailing-list on it and help put together multi-link PPP support for the PC-BIT ISDN cards that were all the rage in Portugal ages ago.

Sun had a few local resellers, and as luck would have it I happened to work at one for a while a couple of years later – our focus was selling networking gear (anyone remember Kalpana Ethernet switches? I sold the first ever in Portugal, I think) and handling Sun gear was merely a collateral of our selling Firewall-1 and SNMP management solutions, so everything was good for a bit.

Fast-forward a few years later and I’m helping setting up an ISP from scratch – I was initially recruited to do product management as part of the Marketing team, but as my natural propensity for fixing trouble developed I got sent to (quite literally) “keep an eye” on Engineering, which was then headed by a pro-Sun consultant who sincerely believed a fully-integrated Sun solution was the answer to all of our problems1.

Now, I had come from another ISP where things were mostly run on throwaway Linux boxes and cheap hardware, and where we would go and tinker with the source of just about anything until it did what we wanted (even though I was somewhat of an outlier, since I insisted on using Windows on my PC), so the mammoth scale of the endeavor and the degree of complexity involved (I remember network diagrams with machines plugged into eight different, segregated LANs and suchlike) made me wonder – and start asking questions.

I obviously got into some hot water right from the start, mostly because I simply could not believe things needed to be that complicated (the fact that they actually needn’t didn’t help).

Over the years that particular ISP lasted, I had the occasion of watching a number of “core”, “enterprise-grade” Sun software crumble to bits when faced with real-life situations – everything from Sun Web Server going nuclear under trivial loads and being replaced (sneakily at first) with custom builds of Apache to recurring troubles with SIMS (the Sun Internet Mail Server, since then superseded by the Sun Java Messaging Server), for which we had to craft a number of workarounds and which was so much of a pain that when my small team of misfits had to build the very first version of Megamail (yeah, you can blame me for that, too), we threw away most of it except for the one bit that worked (the message store) and wrapped it in a heavily customized Horde webmail front-end.

We were forced to do all the front-end stuff on Sun boxes at first, but the performance was so bad that eventually we shut them down one by one and replaced them with Linux ones. Nobody noticed anything but improvements, and after a number of iterations (where I no longer took an active part) the entire infra-structure was eventually migrated to FCCN.

I should mention, however, that Sun did two things beautifully – it had brilliant salespeople (some of whom I’m still keeping track of), and it flew in truly expert support personnel when things got tough – but neither could fix the underlying flaws in the software any more than we did (they only worked in terms of available patches and scheduled releases). Performance-wise, it was untenable for any company to keep throwing hardware upgrades at the problems we had, so those two positives only evened out the overall situation.

In the meantime, our little non-Sun band had pretty much set up shop outside the “regular” ISP infrastructure. We shunned the multiple firewalls, insane network setups and security theatre and set up a small cluster of Compaq machines running Linux on the open Internet (mostly for accao.net, its Quake and suchlike servers and its little portal, which I managed directly).

By that time, Cobalt came out with these wonderfully small, energy-efficient and flexible 1U servers that were great for website hosting, and we stacked half a dozen or so next to the 4U Compaqs and ran entirely too much stuff off them: the games portal, corporate hosting for a few customers, our own network monitoring, etc. We became a satellite ISP of sorts, and even kept mailing-lists and alternate mailboxes for the staff and the Sun SIMS consultants, which was kind of ironic…

I had a Qube 3 on my desk, and hated when Sun bought the company and essentially trashed it – the server appliance market wasn’t even a toddler then, and they essentially murdered the best available solution at the time.

And it was very near that time, during one of my rare physical visits to the data center right at the peak of the Sun hardware purchasing frenzy, that I walked all the way through to the end of the racks and came across a stack of boxes roughly my height (I’m a bit more than 1.8m tall) and around half a meter on the side – six or seven of them stacked alone from the rest.

To my utter shock, they were filled to overflowing with plastic feet for E250 and similar machines. These feet were purple plastic squares roughly 7cm on a side and 2cm thick, and they’d been stored there since they weren’t needed for rack-mounting. There were hundreds of them, and to this day I keep one on my office desk drawer as a memento of the folly all those big, hideously expensive and needlessly complex Sun boxes represented.

That plastic memento and Cobalt’s demise (which I tried to allay by endlessly tinkering with the boxes we had to upgrade them to modern Linux packages over the years) made an indelible mark on my views towards Sun where it regarded their hardware strategy, and it was at that time that I knew that anything else of consequence I’d ever build would run on cheap Intel hardware, no matter what – this was outside the Mac sphere, and I wasn’t betting on Apple ever tackling the enterprise market (in case you were wondering – I’m a pragmatist, not a zealot).

Karmic balance was restored a few months later, when the RFQ for our e-commerce solution drew to a close and we set up a sizable bunch of Dell boxes for it (and, eventually, other things), running a mix of Intershop and other doodads atop Windows NT.

I think we ran it against an Oracle back-end (I do know that the Internet portal databases were Sybase’s turf, given their tight relation to the CMS we were using), and that was when I started getting tangled in the kind of database engine/support/tools licensing discussions that further tainted my view of enterprise solutions.

Fortunately, by then, we had moved on to planning the replacement of the Sun mail servers with Exchange (which was an entirely new ball game), and eventually I left the systems field altogether and ended up on corporate network services by the time we sold off the original ISP (over the years we’ve since set up five or six more similar infrastructures, depending on who’s counting and if you consider partnerships or wholly-owned systems).

And that was pretty much it as far as my involvement with Sun “big iron” is concerned. I’ve since tinkered with Solaris a bit now and then, but never found cause to adopt it, even though I think it’s now a very good and stable OS.

But, on the whole, there’s no excuse for Java, which I’ve had to literally work against for years throughout. I learned the language, I coded in it, I watched as the cornerstone of our mobile portal was built atop it and spawned an even larger set of boxes just for the sake of running another “enterprise-grade” replacement for Cocoon (which did a very competent job of running most of it on a pair of Linux boxes), and the only decent use I’ve ever seen of it (i.e., where it delivered on its promise of cross-platform compatibility) was on MIDP.

I’m going to be very candid here: the language was good enough to begin with, but Sun bungled it repeatedly across several slightly incompatible JDK releases and tried to use it as the proverbial hammer – everything from mobile apps to enterprise solutions were looked at as nails, and Java became a sprawling mess with arcanely complex tools and deployment models, the epitome of which (for me) is Eclipse, the modern Emacs if there ever was one.

I sincerely hope Java dies off, although Oracle is still using it (on their own optimized VMs, if my memory serves me correctly) and even things like IMS are reliant on it to some extent. As far as I’m concerned, there was far too much emphasis placed on application containers and suchlike during the grand years of pre-.NET enterprise architectures, and Oracle and the rest of the industry re-cast most of their large-scale corporate apps along those lines as they moved forward.

Me, I happen to think that .NET is a far better solution than Java for the average (i.e., non-bloated and properly designed) enterprise environment, although Microsoft isn’t doing much better at managing different editions of it than Sun did of the early JDKs, but what matters to me the most now is that thanks to web-based solutions Java has become utterly redundant on the desktop and that it has pretty much vanished from the customer-facing mobile environment except for MIDP and Dalvik (which I think is a brilliant approach, by the way).

There’s also RIM, of course – the Blackberry OS was once little more than a microkernel to support a custom Java VM, but with the news of their upcoming QNX acquisition, that is sure to change…

So no, I’m not too sad about Sun’s eclipse. They were grand, they helped shape computing as we know it today, they had a profound impact on my life, but the original company’s demise is a whole new opportunity as far as (re)emergence of some things are concerned – not just in terms of new opportunities for the brilliant folk there (most of which have moved on already, it seems), but also in terms of products and ideas.

For instance, the one thing on their hardware portfolio that I’d like to see fully resurrected are their amazing Sun Rays, which, ironically, are almost exactly what Larry Ellison envisioned when Oracle coined the Network Computer moniker.

That I believe in (remember, I’m a heavy Citrix user), and would probably go back into systems and IT if Oracle (or someone else) took it up seriously.

Sadly, that doesn’t seem likely at all right now. Well, maybe if the iPad computing model pans out… We’ll see.

1 In all fairness, he was experienced, quite earnest and eventually became as disappointed with the results as we did, seeing as he kept a T1 line at home and was the quintessential grey-haired UNIX geek who just wanted things to work forever.