SUN Solaris is effectively dead.

I wanted to wait to get a more concert announcement, but apparently it’s not going to come.  In case you missed it, on Friday Oracle robo called the people working on SUN hardware & software and effectively laid them all off.

We can now dispose of any pretense that Oracle was interested in any SUN technology, or has any plans for it in the future, rather it was a poor ruse to give the impression that there was a future that Oracle was interested in, to drum up a larger settlement amount for how Google deprived them of their licensing for the Dalvik, the Java inspired VM.

Now that Oracle has failed twice in suing Google, there is no longer any need to keep up the charade.

The mismanagement of SUN after the purchase by Oracle is nothing short of stupendous.  While busy chasing pie in the sky litigation, two very important and very lucrative markets were literally expunged from SUN’s portfolio as Oracle clearly has no vision or any competency.

SUN announces the ‘GRID’ in 2006 aka cloud computing

Seriously, look at this announcement from 11 years ago.  Oracle could have been a leader, although given their horrific support and business of treating customers like criminals, perhaps their incompetence is a good thing.

Hi. I’m Jonathan Schwartz, chief operating officer for Sun Microsystems. For nearly a quarter of a century, Sun Microsystems has been saying the network is the computer, and today I’m pleased to announce that Sun is launching the world’s first true computing utility. The Sun Grid is an Internet accessible compute utility that provides anyone in the United States easy access to a super computer for the affordable price of a buck per CPU hour.

So what does it mean for you? If you’re a biotech company, it means that you can plug into the Sun Grid to run complex modeling jobs and get results instantly. If you’re a startup, you can rely on Sun Grid now instead of spending your own capital to build out your own IT infrastructure. Sun Grid let’s you focus on your core competency and get to market faster. If you’re an online business that needs additional resources at peak times, why don’t you provision your own infrastructure for normal work — workloads and let Sun Grid handle the spikes? And if you’re an enterprise running at steady state, use the Sun Grid to test new products and innovations without jeopardizing production systems.

With Sun Grid, you’re not required to a commit to a long-term contract. There’s no hidden fees. You can dial up or dial down based on your own usage of your own compute resources. You don’t need to negotiate the price. You don’t need to negotiate the terms. And you don’t need to meet with a sales person or try to structure a funny finance contract. Simply go to network.com, purchase hours through PayPal with a credit card and start computing.

Today we’re throwing open the doors to the public Sun Grid and inviting everyone to try it out. There’s an interesting sample application up there right now that reads text, say, from an article on the Web and converts it into an MP3 file that you can download to your iPod. Imagine everyone in New York streaming a custom version of the Wall Street Journal to their iPod every morning. With Sun Grid, they can.

We welcome all ISVs to build and deploy software services on the Sun Grid. We’ll be publishing the API specification shortly. For developers generally, Sun Grid offers a heavyweight runtime environment for low-testing your apps across multiple horizontally clustered systems.

Now, I’m sure there’s lots of uses of the Sun Grid that we haven’t even thought of, and we can’t wait to see how it evolves. One of our founders once said, “Innovation happens elsewhere.” Well, log onto network.com and test drive today.

With Sun Grid, the network truly and finally is the computer.

Another interesting artifact of the time is that Jonathan is that he kept a blog, making SUN more accessible.  Sadly this didn’t catch on in the world of tech, where for some reason people either confine themselves to twitter, or Facebook, both platforms that they don’t own, nor can they actually control.  Instead modern CEO’s hide behind PR teams, as they have done since the advent of Public Relations (Thanks Ed!), and of course one of this many posts on the grid.

With the rise of AWS around the same time, there really could have been a far more stronger and competitive area, and as always Microsoft was totally asleep at the wheel letting Virtual Server languish with no x64 path for years to come, and a public cloud not available until 2010!

The Intel Itanium managed to kill almost all the popular RISC processors, and combined with Linux killed the majority of SYSV Unix in the world.  Just as the Itanium Linux combination upset the midrange world, AMD pushed x86_64 to the forefront upsetting the Itanium push before it even began.  In 2017 to not be on x86_64 & ARMv7 is just suicide.  Oddly enough IBM still managed to not only sell PowerPC based kit, but AIX hasn’t seen a new version since 2015 with the larger push of course going to Linux.

Open Solairs

SUN knowing that their future was imploding did the great thing of opening Solaris, Java and other great tech.  Naturally Oracle closed the door soon after buying SUN.

Open.

Naturally you’ll never see the words open over at Oracle.  To say the hacker open culture of SUN is incompatible with the litigious and highly customer toxic Oracle is an understatement.  At least this did get the OS out into the wild, with things like ZFS and Dtrace to live on, and outside of Solaris.  However even Apple was scared enough of the possibility of lawsuits from Oracle to have dumped ZFS from OS X, even though they did have it running.

The other amazing bit of tech they did have was VirtualBox, which started out as a German virtualization product to bring the wonders of OS/2 to other operating systems.  VirtualBox coupled with the grid on Solaris x86_64 could have been an incredibly robust platform, but of course that was never to be.  VirtualBox is still around however, so there is that at least.

I suppose there could be a lot more said about the ultimate rise and decline of SUN.

Like Cisco and Oracle, SUN’s fortunes took a dramatic uptick in the late 1999 .com fueled gold rush, along with the parallel Y2K gold rush.

$63.4 to $3.28, source Bloomberg

It’s hard to keep on going when you lose the majority of your value in the .com crash.  SUN struggled to re-define itself, and ultimately rebranding itself as JAVA just wasn’t enough to save itself.  Amazon may have been a retailer, but it quickly gained a reputation as a competent data centre operator, where as SUN was unable to do so.

The death of the SPARC, and Solaris was inevitable, just as the 68000 & SunOS was doomed in the 1980s.  When I talk to enterprise architects on what platforms they are going to use in upcoming projects, the new portable .net is catching some attention, c# may be gaining some traction again, but nobody wants that ‘killer’ combination of Solaris+Java+Oracle.  I know plenty are already tied to it, but I don’t see anyone championing it.

I know from my own personal experience of having a signed contract with Oracle, and having them arrive on site, doing an audit, invalidating their own contract as being “not properly authorized by a ‘rogue’ salesman”, and having our prices doubled overnight, and being forced to downsize our infrastructure as our faster processors had too many cores (even though we disabled the additional cores in the BIOS), I had moved all future projects to Microsoft SQL, as a flat rate of $5,500 retail for SQL Server was a flat out bargain.  I didn’t care if Oracle was 10x as fast, I could buy 100x more MS Servers for the price of an Oracle 10g grid.

The other lesson is that even though Apple could have bought SUN, and had an enterprise market, the bottom line is that it doesn’t matter.  Just as Apple abandoned Enterprise Objects, the X-serve, the Mac Pro, and OS X Server as a real viable server platform, the truth is they make so much more money on iTunes royalties, that they are the ones quickly approaching a 1 Trillion dollar market cap.  The ironic thing is that although you need an enterprise, there is no money in servicing the enterprise, there is far far far more consumers out there.

I’ll keep links I find on this developing story

PC-MOS/386 v5.01 released under GPL v3.0!

Sources over on github!

https://github.com/roelandjansen/pcmos386v501

I’ve only just received notification of this, and had to post it forward.  All I know is that you’ll need Borland C++ 3.1 along with Borland Brief to re-build the system.  I haven’t tried it just yet, but I most certainly will!

For those unaware, PC-MOS is a multi-user multi-tasking MS-DOS like Operating System.  I looked at this some years ago.. More so interested in seeing if and how various MS-DOS like OS’s could run under modern emulation.

It may be interesting to pit FreeDOS vs PC-MOS/386.

On a personal note, it’s great to see that PC-MOS won’t just end up a minor footnote in wikipedia until it gets pushed off, instead it can live on

Started to re-build my MS-DOS machine

DooM!

Good news, it actually works!  I was using the version 1.1 WAD, so honestly weird crashes really aren’t unexpected.  I haven’t looked much at what to do with audio, but I was really impressed compared to the Qauake II wars, it was really surprising to not only see DooM run on the first shot in real metal, but the keyboard works as well.  Well enough for me to pick a level, and get killed.

Naturally it doesn’t work under Windows, however it runs fine with MS-DOS mode.

Porting Catacomb3D to MS-DOS (DJGPP v1/GO32).

Catacomb 3-D for GO32

No really, it’s Catacomb 3-D: The Descent.  First ported to 32-bit SDL by NotStiller.  Me being the person I am, I fixed a slight bug regarding binary files on Windows, and MS-DOS, then cleaned up some of the C++ syntax (yuck!) making it far more C89 friendly.  And of course, hot off the heels of DooM for GO32 DPMI, I was able to get it to build and run using GCC 1.39 and GO32.

I know most people really won’t care, but I found it kind of interesting.  I should try to see if it’ll run on actual hardware, just as a comparison of tightly optimized Borland C++ / Assembly vs 100% pure C on DJGPP.  The best tech of 1991 for sure!

At current I just put the source up, you can git it here.

unresolved symbol __imp____iob_func aka SDL 1.25 & Visual Studio 2015

While trying to build something with Visual C++ 2015 Community edition I got this fun error while trying to link:

LNK2019 unresolved external symbol __imp____iob_func referenced in function _ShowError
LNK2019 unresolved external symbol __imp__fprintf referenced in function _ShowError

So it turns out that some of the fundamental streams have changed, and when the SDL library is compiled it attaches LIBC into it, which then creates this fun mis-match.  The fix is easy, of course, just download the source to SDL 1.25, and re-build it with Visual Studio 2015.  But then you’ll get another error that /ZI and /Gy- are incompatible with eachother.  I just changed /ZI to the older /Z7 setting, and I could quickly compile SDL, copy the libs to my project and happily link & run.

Installing Borland C++ 3.1 in DOSBox: Too many subdirectories!

too many subdirectories?!

So I wanted to install Borland C++ 3.1 under DOSBox to compile something ancient.  I’m on a MAC so MS-DOS player is not currently an option.  I have disk images, which p7zip can happily break down into files, giving me a bunch of files in a single directory, the perfect thing to mount as a ‘disk’ under DOSBox.  However I had subdirectories with patches, source and other stuff in my virtual ‘floppy disk’.  And the installer bombed.  Turns out it wasn’t any file limitation, or anything in the guest C: drive, no the Borland installer doesn’t like sub directories on the install source.

Remove those, and it’ll install just fine.

Also, maybe it’s the weird Borland extender, but Borland C 2.0 runs WAY faster under DOSBox than version 3.1

Quakecon 2017

It’s that time of year again, QUAKECON.  If I were one to plan things, I’d be there either as an indie, with a table featuring such hits as QuakeWorld for OS/2, and of course the much beloved Quake II for MS-DOS.  But I’m a slacker, and things get forgotten.

As always, the old iD catalogue is on sale, featuring DooM!

Ultimate DooM is $9.75 HKD which is $1.25 USD.  So if for some reason you have never bought DooM, at this price it’s hard not to have it.  And of course all the old MS-DOS DooM can be had for $3.15 USD!  And of course for those who want to downgrade to version 1.1, don’t forget my ancient article “Just how ‘original’ is the Ultimate Doom on steam?

26th anniversary of Linux!

As the joke goes:

Happy 25th birthday, Linux! Here’s your f-ing cake, go ahead and compile it yourself.

So it’s always a fun time for me to push my old project Ancient Linux on Windows.  And what makes this so special?  Well it’s a cross compiler for the ancient Linux kernels, along with source to the kernels so you can easily edit, compile and run early Linux from Windows!

As always the kernels I have built and done super basic testing on are:

  • linux-0.10
  • linux-0.11
  • linux-0.12
  • linux-0.95c+
  • linux-0.96c
  • linux-0.97.6
  • linux-0.98.6

All of these are a.out kernels, like things were back in the old days.  You can edit stuff in notepad if you so wish, or any other editor.  A MSYS environment is included, so you can just type in ‘make’ and a kernel can be built, and it also can be tested in the included Qemu.  I’ve updated a few things, first with better environment variables, and only tested on Windows 10.  Although building a standalone linux EXE still requires a bit of work, it isn’t my goal here as this whole thing is instead geared around building kernels from source.  I included bison in this build, so more of GCC is generated on the host.  Not that I think it matters too much, although it ended up being an issue doing DooM on GCC 1.39.

So for people who want to relive the good old bad days of Linux, and want to do so from the comfort of Windows, this is your chance!


Download Ancient Linux on Windows
Download Ancient Linux on Windows

Setting up Windows environment variables for DJGPP (& other GCC based compilers)

DJGPP & other compilers, such as EMX require that you set needed variables with a UNIX style slash convention.  Also it is a pain to hard code the entire path into a command shell.  I know this works on Windows 10, although I’m not sure about earlier versions.

The %cd% variable contains the current directory, so it makes it easy to do something like this:

@echo.
@set tmpdir=%cd%\tmp
@set path=%cd%\bin;%PATH%
@set C_INCLUDE_PATH=%cd%\include
@set _LIBRARY_PATH=%cd%\lib
@echo.
@echo finished.

Which is great, but of course all the paths are MS-DOS style.  There now is the ability to replace strings!

@set _tmpdir=%cd%\tmp
@set tmpdir=%_tmpdir:\=/%
@set _tmpdir=

So in this example I set a temporary variable to the MS-DOS style path, and then using the pattern :(match)=(replace) it will then replace \ with /, giving me the UNIX style path.  I then just set _tmpdir to nothing, unsetting the variable.  So this way I don’t have to hard code any paths, and I can flip the slashes as needed.

Another fun thing is you can do logic blocks..  A simple one if a file doesn’t exist then compile it:

IF NOT EXIST dhyrst. (
echo.
echo Executable missing attempting to compile….
@make -f makefile
echo.
)

I’m sure most people knew about this, but for an old guy used to doing things the hard way, it was nice to see that there finally was some way to do this kind of thing.