Showing posts with label Solaris. Show all posts
Showing posts with label Solaris. Show all posts

Wednesday, May 27, 2009

My Apologies to opensolaris.org Blogs

For the last three years all my blog posts have been showing up at http://opensolaris.org/os/blogs/, even though a big chunk of them had nothing to do with Solaris. At the time, I had no idea how to filter just the Solaris specific entries. Now that I think about it, I don't think Blogger even supported tagging back then, and without tags, filtering would have been impossible. Nevertheless, I apologize.

Yesterday I learned how to filter blog posts and today I've finally rectified the problem. There will be no more posts about how to make a great hot dog, book reviews, cloud computing notes, a rant about twitter, and other silliness.

Tuesday, May 19, 2009

The Nail in the Coffin

My experimentation with Solaris/OpenSolaris is over. Amid the uncertainty that the Oracle purchase of Sun Microsystems has introduced I got some advice at PGCon2009 today that put the nail in the coffin. I asked someone, what OS was the best for running PostgreSQL? His response was, "The OS you are most familiar with". That OS is GNU/Linux.

In recent years Sun has tried really hard to change the image of Solaris from old Unix to Linux killer (specifically RedHat Linux) to Linux like. To drive the point home, the newer releases of OpenSolaris use bash as its default shell. But it's not enough. The biggest problem Sun had with shaking it's legacy image is that it's still legacy. For example, there are about 5 different flavors of the ps command in a default Solaris install. Sun was fanatic about maintaining backwards compatibility. The problem with that kind of religious fervor is that all the mistakes of the past become a permanent part of the system and haunts it in the present. So if you are a newcomer to Solaris and there is no one there to hold your hand, it is difficult to figure out what is the best way to accomplish a task or the best flavor of a particular tool to use. In essence Solaris newcomers are acutely susceptible to The Paradox of Choice.

So for all the great technology that is in Solaris, the investment in trying to learn it just isn't worth the return right now because I can do everything I need to do in Linux in a fraction of the time and with less frustration (i.e., Solaris still doesn't have a decent package manager). And in all the cases that are important to me, Linux and it's applications run faster than the Solaris equivalent.

But although the nail is in the coffin I'm not going to say goodbye. Who knows, one day I may have to call upon the Cruel Tutelage of Pai Mei and once again embrace the way of the Sun (err ... Oracle).

Tuesday, June 26, 2007

A Developer's Journal: Solaris #11

CTRL+BACKSPACE has bitten me for the last time.

I've been trying to make OpenSolaris/JDS my work environment for the last week and time and time again my desktop restarts itself because of CTRL+BACKSPACE. 99% of the time I swear I didn't press the key combination! Fixing it has solved one of the many things about JDS that annoy the crap out of me (I'll tell those stories another day).

The solution is extremely simple. Edit the xorg config file located at /etc/X11/xorg.conf and add the following line to the ServerFlags Section:

Option         "DontZap"  "true"
Save the file and hit CTRL+BACKSPACE to restart the JDS for the last time.

I'm so elated I figure I would take a moment and send this one up. Thanx Alfred Peng.

Monday, June 18, 2007

A Developer's Journal: Solaris #10

I've solved the font problem. It was a font rendering issue. I have dual 20 inch LCD monitors and the default font rendering settings just wasn't cutting it. A quick visit to the "Font" dialog box under "Preferences" made all the difference. The fuzz is gone. Yeah!

I've also completed configuring my bash environment ala Gentoo so Solaris is starting to feel a lot less foreign to me than it did two days ago. The next step is installing and configuring IDEA and pulling down my current working set from a couple Subversion repositories. I don't think the real benefits of Solaris are going to be evident to me without hacking on some code.

Saturday, June 16, 2007

A Developer's Journal: Solaris #9

Installation complete! Yeah!

Initial Reactions

The fonts look like crap! At this point, I'm not sure if the problem is the default set of fonts or if font rendering just sucks. Every bit of text everywhere is fuzzy. Text is my life! I am a programmer and sometimes blogger, after all. Solving this issue is at the top of my todo list.

The default configuration for the root user account is just plain insipid. The root user does not have a default HOME directory so every file and directory that gets automatically created by the shell or the desktop environment gets dumped to /. How absolutely, positively, retarded is that? Every Linux distro I have ever used creates a /root directory to store the root user's files. I just can't fathom the rationale behind not setting a decent default directory for root.

Now some of you may say or be thinking, "you are not supposed to be using the root user account anyway". If you did say that then you've obviously never installed Solaris 10. Because if you have installed it then you know you only ever get prompted to provide a password for the root user. The install process forces you to wait until the installation is complete to create a normal user account. The problem is on first reboot the only account you have to log in with is root and the minute you log in, the desktop environment creates a host of hidden files and directories on the root filesystem for root. So you never get the opportunity not to use the root account. Like I said before, insipid, and that's putting it nicely.

The good news is most of my hardware works out of the box. The only thing that isn't working is my USB DVD-R/W. One more item for my todo list.

A Developer's Journal: Solaris #8

I am returning to the world of Solaris. My original foray into the land of (the) Sun didn't go so well. It was a try and buy 60 day trial of a T1000 that just didn't go a well as I had hoped. Some of the problems were Sun's fault but most of them where mine. One of the big issues was proximity. The T1000 was hosted in an off site data center which required several layers of indirection to get to the machine and some things are just harder to do remotely. The bottom line is I didn't get the most out of the 60 days. But I really am interested in learning more about Solaris. DTrace is simply too compelling a technology to ignore, especially now that Solaris is opensource. So almost 8 months later I'm revisiting the land of Sun.

This time around I'm doing things a lot closer to home. I've added a SATA RAID controller and 4 35GB 10,000 RPM HD to my workstation. This will be Solaris' new home. I had to get rid of my CD-R/W for a 3 disk enclosure but I have an external USB DVD-R/W so no sweat.

A standard Solaris install is bit more heavy weight that I'm interested in. Coming from the land of Gentoo, I'm used to and prefer installing things as I need them instead of a default kitchen sink install like the one that comes w/ standard Solaris 10. Plus, I'm a tinkerer. Fortunately for me, Sun saw me and my kind coming and has a distro taylor made for us; OpenSolaris Developer Edition. We get the latest and greatest Solaris kernel and the developer tools necessary to tinker, compile, and profile. It has a (relatively) recent GNOME based desktop and Firefox is the default browser.

As soon as I'm done posting this I'm going to go burn my (downloading) distro to DVD and install it. Stay tuned.

Friday, October 06, 2006

A Developer's Journal: Solaris/CMT #7

I got the answers I was looking for:

Solaris has major releases every 2 - 3 years and minor releases every 3 - 6 months S10 is the current major release.

...

The updates have major features integrated. To move from Update to Update you usually re-install the OS. You download the CD image or put it on your install server. You can opt for a Upgrade option as well. In between updates there are patches. These fix problems with a variety of products. There is one patch in particular called the kernel jumbo that has many of the fixes for just the OS. These can be downloaded from sun.com. There are mandatory patches to fix panics etc. These are available for free download. Others require a support contract.

A Developer's Journal: Solaris/CMT #6

I'm back in Solaris mode and I've hit a wall. Solaris 10 is Unix and that's great because visa-vi GNU/Linux I am very comfortable with Unix. Before I got my hands on my box I made the decision not for force my GNU/Linux habits onto Solaris because its probably a recipe for pointless frustration. So I'm very interested in learning the Solaris way of doing things. The issue I'm struggling with right now is patching and versioning. I don't understand how they fit together as a whole. Now I know I just said I wasn't going to force my GNU/Linux habits onto Solaris but I need to do a little compare and contrast to ensure that I'm asking the right question.

In Gentoo there is no explicit concept of a version. There are live CD releases such as 2006.1 or 2006.2 but you can't use that as a mechanism for discussing the version of Gentoo that's actually running on your box because as soon as you run emerge --sync && emerge -uD world or build your own kernel the whole version concept breaks down.

At the other extreme is Windows. You buy a copy of Windows of a specific version and it stays that way until Microsoft releases a new version and you explicitly purchase and install the new version. In the interim the most you can do is apply hot fixes and service packs. So to move from WinXP to Vista I would have to buy Vista and install clean or do an upgrade of my current WinXP install.

So which one is Solaris most like? Gentoo or Windows? Because I'm trying to get from Solaris 10 1/06 to 6/06 and I'm not sure how to get there.

Saturday, September 09, 2006

A Developer's Journal; Solaris/CMT #5

I am feeling disingenuous about my "A Developer's Journal; Solaris 10 ..." title because I've made 5 entries so far and have said very little about Solaris 10. The truth of the matter is Solaris is the means and not the end. Let me explain. I have absolutely no interest in Solaris as an end to itself at this point because of Linux. And though Sun has made awesome progress with Solaris on x86 it still has a way to go before it is as seamless as Solaris on Sparc. So my key interest in Solaris is strictly with Solaris on Sparc in general and Solaris on Niagara processors specifically. Therefore all entries, starting with this one, will be titled "A Developer's Journal; Solaris/CMT ...". My apologies to any readers who have arrived here under the assumption that these are strictly Solaris 10 entries.

Monday, September 04, 2006

A Developer's Journal; Solaris 10 #3

The T1 is here. Andrew called to let me know it's at the office. It only took 6 days. I'm impressed. I guess Sun has finally got the kinks in there supply chain hammered out.

I need to figure out where I'm going to put it. I can set it up at the office or take it down to the data center or set it up at home. I just don't know right now because my thoughts are elsewhere. I've got some integration work to do with Jetty and a heck of a lot of code to write for the web service interface for my project.

So much to do so little time.

Sunday, September 03, 2006

A Developer's Journal; Solaris 10 #2

After 2 "Try and Buy" applications Sun Microsystems has finally shipped my T1. The thought of getting my hands on it gets my geek johnson tingling. You may be wondering "why just a tingle?" Well, when I first read about CMT coming to a server near me my geek johnson pitched a tent with enough head room for Yao Ming to enter without bending his head. But the truth of the matter is I am a cynic to the core. Vendors are notorious for contorting the truth and calling it marketing.  They all claim their product is the greatest thing since Internet porn which is obviously a lie. THERE IS NO THING BETTER THAN INTERNET PORN! There. I said it. Go tell your friends. I'll wait for you in the next paragraph....

So I'll read the technical specs and the research and whitepapers on a technology/product but I don't drink the marketing Kool-Aid. So until I get my hands on the box and start playing with it you'll only get a tingle out of me.

Friday, September 01, 2006

A Developer's Journal; Solaris 10 #1

I'm testing the Solaris 10 waters. My plan for this journal is to record my Solaris journey in as much useful detail as possible. But before I start reporting my trials and tribulations I want to discuss why I'm taking this path (remember Linux is my OS of choice).  There are 5 reasons why I'm looking at Solaris 10 now (from most to least importance):

  1. Try and Buy
  2. Chip Multi-Threading (CMT)
  3. DTrace
  4. ZFS
  5. Hotspot

Try and Buy

Try and Buy made the list and snatched the number one spot because it makes number 2 accessible given my limited R&D budget.

CMT

Sun has jumped ahead of the competition (Intel/AMD/IBM) in terms of throughput computing with the release of the T1 processor, code-named Niagara. I had previously discussed the coming of throughput computing here and here and I'm surprised yet thrilled to see it come to pass so rapidly. Most of the reviews of Niagara I've read are from people who don't have a clue about multi-threading and/or what makes it great. I'm guessing they have a rudimentary understanding of what a process is and probably don't know why scaling systems with threads is more efficient and performant than doing it with processes. So I'm really excited to get a crack at throwing an application that was designed from the ground up for multi-threaded deployment at Niagara.

DTrace

I'm a performance junkie. I like to make things go fast and it is hard to make something go fast when you don't understand what the thing is doing. Before DTrace it was possible to get pieces of the puzzle and sometimes it was possible to postulate about the whole and get it right but that's usually a hit or miss and it takes years of experience to develop the facilities to get more hits than misses. With DTrace there is no need to postulate it becomes possible to know with absolute certainty what the hell is going on. DTrace takes the guessing out of performance tuning.

ZFS

The disk subsystem is probably the most mission critical part of a computer because it's where all the programs and data are stored and without programs or data a computer isn't worth squat.

Aside:

Okay I concede. You can turn it into a modern art piece or make an ugly end table but other than that it isn't worth squat!

Unfortunately the disk subsystem is also the most unreliable. So any practical technology that handles reliability w/o major performance costs is a big deal to me. For years we've been subject to either uber expensive SCSI/RAID systems or cheap unreliable (and slower) IDE systems. But that's all changing, SATA and it's ilk are catching up to SCSI in terms of reliability and performance which will eventually drive SCSI out of the picture or force the price of SCSI down to the point where there is really no difference in terms of choosing one over the other. The bottom line is ZFS makes reliable disk subsystems something everyone can afford.

Hotspot

Given that the hotspot JVM is a Sun product and so is Solaris I conjecture that hotspot works better on Solaris than anywhere else. Especially Solaris on Sparc. So even though I'm a big Linux fan I'm an even bigger Java one.