Main | June 2007 »

May 2007 Archives

May 6, 2007

Mission Statement

The purpose of this website is for a bunch of geeks to blog about what they think of different OSes and various developments in technology. Due to the evils of blog spam, comments are disabled until we figure out the best way to safely encourage reader feedback. All writing on this site is strictly the view of the respective author and does not represent in any way the view of the employer or affiliates of the author.

Nexenta

I have been burned by *nix hybrids in the past. I had high hopes for the debian BSD project, however actually installing that left me in a pretty unusable state.
Nexenta is currently tempting me, an OpenSolaris/Ubuntu Hybrid with a sun kernel and the ZFS file system, as well as the very usable Gnome interface. It remains in alpha state. The installer is not the ubuntu installer, but instead a text based installer similar to BSD projects. As the sun kernel does not have as much FS support as the linux kernel, your choices are basically ZFS or nothing. Which is not going to make a lot of users happy.
My problem with projects like this is that they don't usually stand a chance of swaying users from each of their component camps. The solaris people are not going to move to Nexenta as there are no man pages (license issues), the GNU people are not going to move due to a lack of apt-get (license issues) and the fact that a majority of GNU people seem to be perfectly content with the highly configurable 2.6 series Linux Kernel.
It remains to be seen when Nexenta moves out of alpha and hits beta status.

Linux and the problem with finite resources

In software development, there usually comes a point where you stop working on features that are draining resources, and focus on getting the features that can be finished on time done.
However, I don't see this happening in linux, as there will always be someone using a software project, linux distribution, or project fork that will disagree with the decision to cut it. As the leading figures tend to listen to these users more frequently than not, there is a great deal of effort spent on them that could be better spent on a different area of linux.

Since there is no real one true leader (some would say Linus Torvald, but he really makes strong suggestions, not commmands or decrees) there is no one to force consensus. Take a look on sourceforge for projects that have not been touched in years and you will find more than a couple. As the developers realize just how much effort is required to support different versions of linux, and adapt to changes on dependencies like glibc or gtk, they may realize that if they working this hard they might as well get paid for it. This will lead to both a decrease in the size of the linux volunteer army, and a potentially abandoned project.

The many different distros of linux are both a blessing and a curse. Projects like Slackware are not very user friendly, but still have a very passionate base. But ask yourself, would you rather have a niche distro? or a more complete installer and hardware detection scheme for a more wide-scale distro? Is there even a way to make everyone happy here?

Ranting about Dell

I recently purchased a Dell Optiplex 745. It is an excellent computer with a Core2 Duo processor, 2GB of Ram, and a 10K RPM Raptor SATA hard drive.
My complaints with it are few but ones I feel strongly about.
The system arrived with an ATI X1300 video card, which is pretty weak sauce. Most users when tempted to upgrade it will be discouraged by the fact that there are NO PCI-E power connectors for higher end video cards. Added to this is the fact that the power supply itself is only 310 Watts. However as it was the sole factor keeping the WinSAT evaluation of my computer's performance low I bit the bullet and upgraded to an Nvidia 7900GS. I did this by splitting one of the 2 available molex power connectors and the reforming them into one PCI-E power connector via an adapter. So far the system has been stable, and the WinSAT score has jumped from 4.3 to 5.1.
During 1997-1999 Dell was infamous for putting similar keyed but incompatible power connectors on their power supplies and motherboards. As a result, if you just plugged a new ATX power supply in, you fried your board. Granted, this is not the case today, but if dell really wants people to not take such drastic action they could make the power supplies at least functionally capable of dealing with today's peripherals.

Chicken? Egg?

Most hardware makers see no real rush to develop 64 bit drivers as the user base isn't there yet.
Most users see no reason to adopt 64 bit OSes as the hardware support isn't there yet.
Most software makers see no real rush to develop 64 bit native versions of the software as a) the 32 bit version runs fine on 64 bit and b) the users and the hardware support isn't there yet.

As a passionate fan of 64 bit computing this drives me up the wall.

Package management vs optimization

There seem to be two main camps regarding package management.
Install from sources
Install from binaries.

This makes a big difference when one of two things: dependencies and updating.

Now, I prefer the debian way in this case. apt-get install and then apt-get dist-upgrade as wanted. this works for other packages installed the same way, when it causes problems is if you compile something from source on the same system. When debian recently released 4.0, my routine updating of the system caused some problems with software that xenotrope had compiled from source. why? glibc had been updated.

now with the BSD or gentoo way, this wouldn't really be a problem as the binaries would be compiled from source every time. However, this has caused me to get tired of BSD's ports system. installing the simplest package can take ages as all dependencies have to also be compiled. Now the latest version of FreeBSD claims binary installation and updating for its ports system. Arguably apt-get on debian already has this as you can specify apt-get install to install and compile source. are we seeing convergence to a standard?

Computer Optimization I

There are a few things you can do to make your system run a bit better.

Disable what you don't need (hardware)
Go into your bios and turn off the things you don't need. If you are not using your parallel or serial ports, turn them off! If you aren't using your integrated modem, turn it off!
However, I would suggest keeping a record of what you do turn off. That way you can have a first step in trouble shooting why a device isn't working.

Remove windows components you don't need.
Chances are you probably don't need MSN explorer.
in windows XP open add remove programs control panel and click on add/remove windows components. Then go through and remove what you don't need.
If you aren't using MSN explorer or Outlook Express, it is just taking up space and providing potentially security issues.

Update your dell firmware
http://support.dell.com has updates for just all about of their models. Most of the updates help performance, compatability, or reliability. Just make sure you don't lose power to the system during the update, and back up your data first.

May 7, 2007

IPv6: A Response to "Chicken? Egg?"

Monk points out that there is a Catch-22 in 64-bit adoption: people aren't demanding it because the hardware manufacturers don't support it very well, and the hardware manufacturers don't support it very well because the people aren't demanding it.

The same could be said for IPv6. Every major operating system from Windows to OS X to the Linux and UNIX derivatives all support IPv6, and there are probably entire networks run by masochists that are taking advantage of IPv6 address space. The problem is that if I configure my own IPv6 system, and I want to go read CNN.com, I'm going to have to use IPv4 to do it.

There are ad hoc workarounds and grandiose ideas about embedding all of IPv4 inside IPv6, but the simple fact is that my sister doesn't give a damn about any of this. She dials up, she opens IE, and if the CNN.com homepage doesn't pop up after she types it into the address bar, she flips out. It's a fact: there are more users on the Internet than network administrators to educate them. As such, we are never going to be able to reliably migrate to IPv6 until there's an actual benefit to the end users to want it. Until CNN.com goes strictly IPv6, there won't be much demand to stop using IPv4 to get to it.

Of course, the public backlash of such cutting edge exclusions would probably ruin the site's advertising revenue. In practice, CNN.com -- and every other site -- is going to have to support both IPv4 and IPv6 until the lion's share of the traffic ratio tips from one protocol to the other.

As God is my witness, this will never happen.

There is no advantage to sysadmins to go through the hassle of creating new IPv6 interfaces just to placate the few superdorks who insist upon using the next gen utilities, devoid of any real advantage, for no reason other than that they can. IPv4 works. IPv4 is proven technology. IPv4 is popular. IPv6 is none of these things. Why would anyone stop using one to begin using the other?

Not living up to your potential

My middle school social studies teacher frequently gave me a hard time for not living up to my potential. "Not firing on all cylinders" was how he phrased it. Today's storage buses are in the same situation. Or are they?

During construction of my last system I agonized over the fact that the Western Digital Raptor drives (10K RPM, 4.6ms seek time) were only SATA-150 and not SATA-300. as a friend pointed out to me, the concern was moot. There was no way the drive could saturate the SATA-150 pipe let alone a 300 pipe. The faster seek times would more than anything else set the winner apart.

Yet system builders continue to clamor for a SATA-300 Raptor. Why? Is it the planning for future expansion? I think it is more to due with the goal of eliminating as many bottlenecks as possible. I know I have felt the frustration at being hamstrung by a certain bus or interface, so it is clearly a case where emotion can trump reason.

May 8, 2007

What the hell is wrong with SCO?

Back in the 1970s, there was an operating system called UNIX. It was a neat idea developed by Bell Labs and ultimately grew a huge following that resulted in numerous spin-offs and workalikes. Every Linux and BSD, from Ubuntu to OS X, can look back at the original Ritchie and Thompson UNIX and give thanks.

But that original code doesn't exist anymore, right? Right?

UNIX, proper and true UNIX-brand UNIX, was owned by AT&T, and like all good companies, they just licensed the hell out of it. They sold it and resold it and transferred it and it was rebranded and reforged by a dozen different companies. Eventually it was obtained through a merger by a little Utah outfit called SCO.

Just so you know, SCO was recently asked to delist from the NASDAQ because its stock price is so low. There is a reason for this.

SCO has a bunch of different products, UnixWare and OpenServer being probably their best-known operating systems. They're famous for pretty much two things. One, people detest their products and two, they're actively trying to sue IBM for infringing on "their" UNIX intellectual property.

I don't intend to discuss the lawsuit. If you want that, read Groklaw. What I'd like to discuss is what the hell is wrong with SCO.

There is, I think, a reason why Linux is so popular. Yes, it's inspired by UNIX. Yes, it's fast and efficient and has a ton of software packages that support it. Yes, it's (usually) free. But on top of all of that, it's easy to use.

Now before you spit Coke Plus all over your keyboard and monitor, you have to understand that Linux isn't meant to be easy for your mother or your brother to use. It's not meant for them to use at all. It's meant for use by developers and technically-adept users, of which there are legion. And for these mighty code and script gurus, Linux is an easy and fun place to stage all your computing operations.

By contrast, SCO is still bolting bits and bobs onto an operating that was meant for use by hardcore FORTRAN geniuses. SCO's offering, in the 21st century, is essentially the same platform that your grandfather was using back in his college days. They've rebranded it, but they haven't exactly improved it.

When Dennis Ritchie sits down at a Linux machine, I can only imagine that he quietly awes at how far his ideas have gone and how many bright people have solved the problems he faced back at Bell Labs. A modern Linux system has graphics, advanced browsing features, and a plethora of shells that feature, by default (gasp!) tab completion.

Whenever I find myself touching a SCO server, it is with absolute disgust and disdain for how little the product has changed. Compiling anything on a SCO system is a chore because of the numerous ABIs they've introduced, changed, and revamped. Kernel compatibility technically exists, but you are hard-pressed to actually see it work. And if you try to do it better than SCO can (and doing something better than SCO can isn't even remotely hard), they'll sue your sorry ass for violating the IP that they rightfully own solely by Mandate of Checkbook.

So SCO is hemorrhaging money, and they can't offer a cheap, stable, usable, or modern product. It's only a matter of time before they become so desperate to pay off the shareholders that they pass off the cursed UNIX copyright to some other company that will try to wring some value out of it. The cycle will repeat: revamp, market, slander, then sue as a last resort.

Meanwhile, the rest of the world has seen the best UNIX can offer, and have already improved upon it tenfold. You can download and burn an operating system, as UNIX-y as you want it, and effortlessly do things that your grandfather only dreamed of doing on his old mainframes.

Compatibility be damned: if you want to make a good product, you need to lose sight of the licensing aspect and focus on usability. If SCO made software that was usable, they might actually be able to sell it.

May 11, 2007

grande elatte

Elatte may have been what I have been waiting for. Ubuntu with an opensolaris kernel. I had my doubts, as it was in alpha stages, but I have high hopes.

The Good:
Autodetects 64 or 32 bit systems.
Very fast
apt-get dist-upgrade works
runs under vmware

The Bad:
limited selection of software
/proc just ain't the same
no lsmod/rmmod/insmod

I realize the last two of the bad are pretty much no-brainers, but I figure if they made such an effort to make the system linux-like, they would make some kind of virtual redirectors or something. I was amazed at how fast the install and execution were.

further experimentation is necessary.

The Tragedy of Choices

Behavioral experts agree: you never ask your kid what he wants to wear to school. Children, with their under-developed cognitive skills, don't quite possess the abilities to narrow down the options in their closet and analytically eliminate choices until they can conclusively pick the blue pants and the red shirt.

A young brain just spins its wheels when presented with a seemingly limitless number of choices. It does not know how to perform the process of elimination. Instead, you are supposed to eliminate choices ahead of time. You ask the child "Do you want to wear the red shirt or the green one?" Presenting fewer initial choices makes for an easier problem space for the brain to navigate.

Personally, I have about sixteen different ISOs scattered on my hard drives. I have a couple of Ubuntus for a slew of different architectures, at least five Kubuntu live CDs, a few openSUSE distros, probably two different versions of Arch, and something called "Sabayon". Last time I checked, I still run Windows. I'm happy to download these things left and right — hell, it almost justifies my bizarre obsession with BitTorrent — but I have yet to actually pick a distribution that I can stand.

I don't even have a particular requirement that the ISO I download fit an architecture I currently own. I find myself frequently eying the purchase of a new system or contemplating what it would take to assemble a new PC from parts. Ultimately, I always seem to decide that both of these things demand too much effort, and I subsequently wind up going home to my old, reliable Pentium III and forgetting the whole matter for about two weeks.

May 16, 2007

The joy of server.

I love Windows Server 2003. It helps that I worked on both it and 2003 sp1. It is a very stable, mature, reliable operating system. It also makes a great workstation. I find it surprising that hardly anyone has sounded the horns over 2003 sp2. But it is out there. and it rocks. oh how it rocks.
Get it here

Later on I will show you how to turn Server 2003 into a workstation. It isn't as weird as it sounds.

May 30, 2007

On Licensing

Today a friend of mine IM'd me asking for advice on how to bridge a MySQL database with .NET. Aside from the fact that I normally charge a significant amount of money per hour to answer questions like that, I found it interesting that he was asking me for advice on a subject I was, at that very moment, executing on behalf of a client.

The client has a Microsoft SQL Server database that has some very important data, and a Linux-based MySQL server that runs a very important program. Hmmm.

My first two approaches involved writing scripts to be run on the Linux server to pull information from the Windows system and push it into MySQL. Approach one was a script that would connect to the SQL Server via ODBC, pull records, and push them into MySQL. Perl, Python, Ruby, whatever. There were numerous languages that could perform this function. The key ingredient, of course, is a Linux-based ODBC driver.

Sadly, ODBC drivers for Linux come in two classes: trial versions and the kind you have to pay for the privilege to use.

Well, I for one refuse to call up my client and tell them "Hey, great news on the project. We have a script that can speak ODBC to the SQL Server and everything's going to be just peachy for 14 days. After that, you're going to have to buy a license for an amount of money that is undisclosed on the company's website (never a good sign). Oh, and before I forget: upgrading the OS or making a change to your hardware contractually invalidates the license and requires you to purchase another one. Oh, and the drivers won't run unless the licensing service is running, too. Toodles."

Screw that. I don't mind -- too much, anyway -- paying for quality software. But to expect me to continue paying? For something I already bought? I refuse to let my vendors treat me like a criminal, or anything other than a customer who has purchased a product and now has full rights to use it in whatever manner he sees fit.

I also don't buy DRM'd music. Go figure.

Approach the Second was a slightly more convoluted idea: export the data from the SQL Server to a Windows share that is mountedon the Linux system via Samba. The script in use here was a simple line-by-line parser that only dealt with a comma-delimited text file and MySQL.

After about three minutes of explaining approaches the First and Second to my boss, he blinked, asked me a basic question about ODBC, and then asked me if it would be possible to hook an ODBC driver directly into the export wizard in Windows.

Blink.

MySQL is free, and so is the ODBC driver that they provide for it. No trial versions. No "Lite Editions". MySQL offers it as a simple download on their site: you don't even need to register or create an account. I downloaded the ODBC connector, installed it, and had the DTS export configured and working on two separate systems in under 30 minutes.

So, to recap: pulling from SQL Server to MySQL via ODBC? Expensive. Licenses. Scripting. Pushing from SQL Server to MySQL via ODBC? Faster. Easier. Safer. Free.

To the extent that I found a better solution because I wanted to avoid the draconian licensing problems of the first, most obvious solution, I'm glad I spent an afternoon working on an alternative. I do not feel that there is anything to be gained from the idea of "lending" someone your software for a limited time and contingent on them never upgrading or changing their system in any way.

About May 2007

This page contains all entries posted to Electric Sheep in May 2007. They are listed from oldest to newest.

June 2007 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.35