Ubuntu and I – Beauty Isn’t Enough

I’m not a new Linux user. Actually, I’m about as far away from being a new Linux user as you can get. I’m perfectly comfortable getting down as low as you want to go, rolling in the grease, re-routing the pipes and wiring, or smashing about in the subatomic.

So you Arch Linux cutie dilettantes, you go have your fun running your scripts and googling for what someone else did to fix something, and feel all big about yourselves. That’s wonderful. It’s good to learn. Maybe you’ll be solving some problems some day too, that other people will benefit from. But don’t think I need to hear anything about how wonderful Arch Linux is.

I don’t want my main workstation computer to be used for tinkering. I want it to be no hassle at all – no time sinks. I want it to look nice, function well with the developing “ecosystems” on the net, and be stable. I want it to be a no-brainer. My brain and time is needed for other things. The workstation is merely the conduit. I don’t want to waste time fiddling with it.

This is why a few years ago I started using Ubuntu. They just gathered up all the stuff and slopped it into a pretty package that worked, for the most part, without me having to hunt down drivers, recompile, decide which messaging client was going to work best now with the ever-evolving technologies, etc., etc. They gave me the no-brainer for my workstation. Yay for them, yay for me. And they embraced Free Software! Mostly.

Ubuntu replaced Debian on my workstation. It made me feel ok because they drew from the quality of Debian, taking the latest developments, and packed them up nicely. I didn’t have to wait 2 years for updated software on the workstation. Joy! Of course, where servers are concerned, I am very happy for Debian’s more careful release cycle…

Lately, however, Ubuntu begins to irritate. A little like a beauty who turns out to be insanely controlling and utterly self-centered. Sure, I admit, I haven’t shown a lot of love back, but I just assumed we had an understanding that our relationship was a marriage of convenience.

Now, I find myself increasingly inconvenienced. For example, a couple days ago the Ubuntu boot process started to hang, telling me my Windows partition was horribly corrupt. I won’t deny that. But the filesystem really is fine. So I have to take out the Windows partitions from fstab if I want Ubuntu to boot, then add them back when I want to mount them later (in the specific way I want them mounted). Or write some scripts to mount and unmount them. Yeah, so what, you might say. Easy. Yes. But it means my workstation is requiring my attention and work.

And sound… sometimes the soundcards are detected, sometimes they are not. I can reboot until they are detected. Then sometimes the volume is locked all the way on, or all the way off. Despite muting. Despite levels. I can select a soundcard used for the speakers, or for the headphones, yet often times it doesn’t matter which I select. Sure, I can troubleshoot pulseaudio, alsa, or whatever else might have been thrown into the works. But that requires my attention, and my work.

The point is, if I were using Debian’s workstation right now, I wouldn’t have to worry about minor updates breaking things. I wouldn’t really have to worry that any of my customizations within the OS would break my boot process. I would, however, have to deal with a glacial release cycle, which is wonderful for servers, but annoying for desktops. Then again, I would have the same software versions to work with on the workstation as I do on the servers.

Ubuntu is beautiful, no doubt. Visually, I prefer it hands down over Windows 7 or OSX. Functionally as well. One of the worst things for me when working in Windows or Mac is that I feel trapped within what they’ve provided for me. Anything unique I must research and work to get past their many “easy” abstractions, and even then I am often locked out due to a proprietary nature. Though this is not the case with Ubuntu, I certainly have to dig through much fluff at times.

Also, I happily pay Canonical for Ubuntu One service. I do it more to thank them, than for any benefit – though it is nice having my music and documents automatically sync to my laptop. But I can’t easily use Ubuntu One with any other Linux distribution. It’s not like syncing files remotely is even remotely difficult! But this kind of “lock-in” isn’t compelling enough for me to remain true to them. In fact, it pushes me away.

Also, the noise around Shuttleworth’s directional intent for Ubuntu does not sit the best with me. Actually, it hasn’t from the beginning. I’m not fond of any person or business taking from another, then calling it their own. I’m looking at you, too Apple, especially. And of course, Microsoft.

So my no-brainer workstation based on Ubuntu is now up for re-evaluation. Arch is out because the install processes won’t install /root on an LVM drive made of RAID. Sure I can get around that. I’m not going to bother, though. Debian, I could boot over into right now. I like the look of Fedora with Gnome 3, but it’s a chore to get all the drivers right. Thank patents and proprietary nonsense. Debian suffers because of this, too. But the process is faster/easier with Debian. And I swore off Gentoo after the last library dependency debacle I experienced. Arch users, Gentoo is where you’d really do some learning, btw.

At this moment, I’m considering trying Linux Mint – the Debian version. I do this because I had almost convinced myself to switch back to Debian on the workstation and follow along the “unstable” path. My thinking is, Linux Mint may filter out much of the riskiness in doing this, since it goes through them (using the “testing” branch rather than “unstable”, apparently).

Basically, I’m really not liking the more commercial feel of Ubuntu lately. And since my no-brain reason for using it isn’t exactly valid any more, I think it’s time to switch. The irony is, many of the things that make Ubuntu more accessible to the masses is making it more difficult for me. I think I am not alone in this.

So we’ll see what the Mint can do. And if it can’t, then Debian it is. Recreating the eye candy functionality is easy, if I want to bother. It will be nice having my panel applets back. Best of all, I can always count on Debian to be a solid rock. And any deviation from Free and Open will be mine, not theirs. This makes me happy.

Next in this series: Out of Ubuntu’s Bed to Hairy Arch Linux in a Dark Alley

Fat Worms that Suck Blood – When Patents Attack

Software patents continue to be a devastating barrier to companies and programmers who might otherwise create some wonderful things for us. Certain evil companies run by misguided and greedy people collect patents for the sole purpose of extorting money from companies and people who create things.

A few years ago I wrote an article called Freedom is Free! on software creation and the oppressive legal issues surrounding it. Today I came across an NPR article that does a most excellent job of laying out the problem for people who may be unfamiliar with the issue.

So this quick post is solely for this purpose, to point out that most excellent article on the problems with software patents called When Patents Attack. In it you will find the twisted and manipulative logic used by “patent trolls” to justify their own parasitic greed.

Caught in Orbit Tonight with Ion Drives – Vesta and Dawn

Vesta as seen from Dawn spacecraft

Image of Vesta taken during approach of NASA's Dawn spacecraft. NASA/JPL-Caltech/UCLA/MPS/DLR/IDA

If years of planning and work pay off, NASA’s Dawn space craft was just now gravitationally captured, as of 10pm PST, by an asteroid that lives in the wide region of our solar system between Mars and Jupiter. The asteroid is named Vesta.

It’s thought that Vesta, which is only 326 miles in diameter, once had lava flows. If Vesta did once have lava flows, it makes no sense with our current understanding, since Vesta is too small to contain a molten interior. The Dawn spacecraft will spend a year orbiting Vesta investigating its composition in an attempt to shed some light on this puzzling situation.

Some people believe Vesta may have a high concentration of radioactive elements, such as Aluminum-26, that fell together from a nearby supernova explosion, and worked its way to the core of the asteroid, resulting in geologies similar to what we find on Earth and Mars. Hopefully, we’ll know soon enough.

After a year, Dawn will depart from Vesta heading toward the nearby dwarf planet Ceres. This will mark the first time any spacecraft has managed to orbit one celestial body, then move away to orbit another.

Ion EngineNASA accomplishes this feat through the use of ion propulsion drives rather than chemical rocket drives. The Deep Space 1 mission years ago proved the viability of using ion propulsion drives for space exploration. Ion drives allow spacecraft to travel considerably faster than chemically-propelled rockets. Although chemical rockets produce a lot more up-front force, ion drives produce a small force over thousands of days, which gives you much faster speeds, and incredible “gas mileage”. In fact, at full throttle, the ion propulsion drives will produce little more force than a piece of paper does when held in your hand.

Tomorrow night around this time we’ll know for certain if Dawn was captured by the gravitational field of asteroid Vesta, and the science will begin. It could well be we will learn some important facts about how our solar system coalesced into this big ball of dust we’ve come wandering out from. Here’s hoping!

Anticipation on the 4th of July with Fetched Balls

It’s nearly dusk & fireworks will start soon. For being out so far away from Seattle you’d think there would be nothing but sparklers. But ever year, somehow, fireworks start going off in all directions — big ones that often fill the sky. I really don’t know who can afford such things, but it’s more than one person or group!

Jake doesn’t mind the noise. It starts 2 or 3 days before the 4th, and continues 2 or 3 days after. Loud booms that feel like something slapped the top of your roof. You can hear some here.

They’re getting louder and more frequent now. Soon you’ll see them shooting into the sky, even before it’s completely dark. You can’t resist the anticipation, I suppose.

Here’s Jake playing catch an hour or so ago. I found a hole he dug, too, and he gets disciplined.

Nothing is Not Undefined in Relationships

NullData can be arranged relationally. When you order data with relationships in mind, it can be important to know what type of data we’re talking about.

Data types can be many things; numeric, integer, floating point, text, binary, dates, times, addresses — data types can be anything a database daemon was designed to support.

A problem can arise when you have a data container that is empty, awaiting data. For example, if your data type is integer, you may believe that a 0 represents nothing. But a zero represents a 0, not nothing, even though a 0 can represent nothing to us. Some databases might automatically place a 0 in a data container if no other value was provided. Other databases might not be so bold and reckless.

The problem is more apparent when considering text, or strings. If your container is meant to contain a string, yet you find yourself with no string to put in it, you have to ask yourself a question: “is the fact that I have nothing to put in it purposefully nothing – an empty string – or is it instead that it is an unknown, or undefined?”

Consider being told that you will have something done for you on Thursday. That’s great. It fits nicely in the date container. However, the Tuesday before, when you re-query the person, you find out that it may or may not happen on Thursday. If that confluence between a date and an event were to be filled, should it be an empty value, or an undefined (NULL) value?

Really, it depends upon the person who may or may not show on Thursday. Most people would say not to even define an event until that event is a “real” event. You can always add or delete things at any time. But that takes measurable work, and it consumes resources, and you have no built-in way to know if it’s tentative or not – it either is, or it isn’t going to happen.

A null in this case is very good at stringing people along. The event will easily be update-able to be happening or not, yet will never cause a conflict with any other overlapping event because it has an undefined value – NULL.

Interestingly, database users still argue over the usefulness of nulls in databases. Opponents of nulls claim that nulls easily confuse people and that any facts of known, unknown, or undefined values should live in the logic of the program running, rather than in the structure of data reality.

On the other hand, proponents of nulls claim that nulls reflect the reality of experience, in that some data must have the potential to be undefined when it has not specifically been set, even to nothing — because in doing so you can then claim data related to that thing may also be unknown or undefined.

Unfortunately, the real reality is that people and their languages are not always the best at accommodating undefined things – whether they are the ones generating the undefined things,  attempting to process them, or just simply to sensibly store them, in relation to any knowns.

Personally, I like nulls. Because they tell a story — and a fuller, richer one at that. Just keep in mind your own logic and language issues. Oh, and of course, those same things of others.