Sunday, August 31, 2008

The "Appliancising" of Free Software

Ever since I watched the fledgling Free Software movement take hold a few years ago in Thailand, I've thought that the current trend of what I'll call "appliancising" was the natural end game for Free Software (and really all OSes in general).

There's an interesting article up at Computerworld about how Red Hat and Suse got cut out of a huge deal in Germany. Essentially, a German company ran into some problems with Suse that soured the deal, so decided to move to another platform. While the obvious competitor was Red Hat, the company didn't need a full Red Hat contract, so they decided to go with CentOS, an untrademarked version of Red Hat ES.

HP, the company's hardware vendor, officially supports Red Hat, so HP is also supporting CentOS with extra management applications for the Munich-based company.

I find the whole story quite interesting and maybe telling about where we'll be in a few years.

The eeePC from Asus uses Xandros, but not a stock Xandros. Asus contracted Xandros to create a special (maybe we'll call it "branded") version specially for the eeePC. Asus is using this as a selling point. Asus easily could have developed their own version, but they didn't. Why is that? Asus' Splashtop, now available on virtually every motherboard, is making waves the way Dell's meager Ubuntu offering never could, but Asus, a Taiwanese company got that technology from DeviceVM in Silicon Valley.

So, before I go into some more examples and a prediction or two, I want to take a step back in time, to when the grass was greener and life was simpler ... my childhood. Back then (the 70's and early 80's), computers were pretty simple. There was no talk of an operating system choice because there really was no choice. Unix vendors sold the hardware and the software as a unit. They were intimately tied to each other. The home systems were the same. I'm not sure I can call the built-in BASIC interpreter for my Model I and "operating system," but that's really what it was, and there was no way around it for a long time. Apples didn't have choice, either. Things haven't changed on that side.

Back to the present, when Mac OS X is the gold standard in the press. The hardware is theirs. The OS is theirs. Most of the apps are theirs, and they have nice little tie-ins like the iPhone and the iPod and the iTunes store. Whew. That's a lot of "i"s. People who like Macs love them. Asus runs the eeePC the same way, and would be smart to have an eeePC store or at least a line of peripherals and add-on software just like Apple. Your NAS (QNAP NAS pictured above) now comes with a customized Linux or maybe FreeNAS if the manufacturer is pushing to market fast. It works. There are no hassles. It's not really upgradable, anyway, so why should the average user need to think of it as anything but an appliance?

Square One (pictured right) is a home internet server allowing a user to (from the website):
  • Create a local area network of up to four PCs (more if you add an external switch or wireless access point)
  • Share one Internet connection for the whole network
  • Back up files to and share them from Square One’s networked hard drive
  • Connect a USB printer to Square One and print from any PC
  • Run a full-featured web site, web forum, or blog without paying expensive hosting or colocation fees
This is a pretty attractive set of features, and the operating system appears to be a custom Linux distribution. Does the purchaser care? No. Does the web site even mention Linux? No.

How about the Zonbu (left)? It's a desktop appliance which does automatic upgrades and backups to the Zonbu server. Its selling point is "hassle-free computing." With everything Zonbu does, it's trying to remove headaches from desktop computing. The user just needs to turn the thing on and use it. It's a real appliance. Zonbu uses a tweaked Gentoo installation (is there any other kind?). The system gets great reviews and is compared to a Mac though costing only US$99 US$299. So far, though, uptake is really slow. I'd buy one if I lived in the U.S. Note: As pointed out below, Zonbu appears to have changed their pricing model and strategy. They now sell the computers, support, and OS separately. This move makes them much less interesting.

Then there are the phones. Just the way the iPhone is a cut-down version of OS X, the Android (prototype is pictured to the right) and OpenMoko phones are Linux. Who really cares, though, except gear heads? The average guy just thinks that the phone looks good and has cool functions for a reasonable price. Phones always have been appliances, though, right.? There's no real movement happening except to multi-touch displays and desktop-like functionality. Wait. I guess that is pretty important. You desktop in your hand. Yeah. A desktop appliance.

I promised a prediction or two. First, this looks bleak for Red Hat and Suse, right? I mean, when this Munich-based company decided to standardize on a new version of a Linux operating system, they chose CentOS, which means Red Hat did the development and didn't get any of the money. You know ... one of those situations that brings up the question "How do you make any money?"

I don't think it's so bad, though. Look at Asus. They are paying Xandros and DeviceVM, even though they could have logically done something in house. It only took Canonical a couple of months to push out the Ubuntu netbook remix, you know. Asus is a hardware company, though, and I'm pretty sure they don't want to get into software beyond developing drivers and tweaking a BIOS (which they purchase, too). If fact, I'd be willing to bet they don't really want to do drivers or the BIOS, either.

Five years from now, we'll have "the end of the desktop," which has been predicted for years now. It won't really be dead, but phones, netbooks, and Zonbu-like appliances will take a good share of it. I doubt Zonbu will be on your desk, because the first to market rarely is the one to make a big splash. Linux vendors will continue to make ends meet (but not become uber-wealthy) by supplying the expertise to "appliancise" their distributions for these hardware manufacturers, just as BIOS makers continue to make money. The support number for your Ubuntu netbook will probably actually be routed to a Canonical help desk where they'll be sure to answer the phone with your supplier's name instead of their own. Users will purchase online updates and add-ons, probably caring little about the Free nature of the software. Even hardware houses which try to do their own thing in-house will contribute back upstream just to keep future costs down.

Techies, of course, will continue to tear the appliances apart, mod them, and generally use them in ways they weren't designed for.

Saturday, August 30, 2008

Idiotic Move of the Year Award

... goes to me!

A couple of days ago, I got tired of manually inserting the vboxdrv the first time I wanted to test something after a reboot (which happens about five times a week due to an intel driver bug in Lenny) so I typed
# echo vboxdrv > /etc/inittab
That's right, folks, not double GTs! I didn't realize that I had mistyped, though (it was a typo) and went along my merry way until the next reboot when, you guessed it! I got stuck at a prompt I've never actually been at in almost eleven years. Reading the error, there seemed to be a problem with inittab ... something about a limit of four characters. Odd, that.

Oh, well, I decided that the problem with /etc/init wasn't something I wanted to try to fix inside the system, so I broke out a live CD. The one I had handy was Ubuntu 8.04.1, so I booted and opened /etc/inittab on the proper partition.
vboxdrv
stared at me, and I immediately realized what I had done. Wow, I felt stupid. Not really a problem, though, because I could just copy over the inittab from the live CD and everything should be workable (though there might be some differences) and I could fix from there. Except, ummm ... Ubuntu doesn't appear to have inittab. I'm going to have to look into that one and write about how they get around it. I didn't realize that Ubuntu was actually using Upstart for anything yet.

Luckily, I just had to boot an old laptop with Lenny, copy the file to a USB key, and move it over to the machine.

Still, it's easily the stupidest thing I've done to a system in a year, maybe in three to four.

Thursday, August 28, 2008

My "Internet friend" asked this question, though not of me

"Hello Alex, thanks for the reply. I wonder with Ubuntu if you could walk into Harvey Norman and choose whatever printer and scanner you like then take them home and get them to work within 15 mins? I wonder if you could find PC games for Linux such as Crysis, F.E.A.R., Half-Life 2, etc? I wonder if you could run every piece of 3rd party software you have now? I wonder with Linux whether you have the massive library of 3rd party software to choose from for your business or personal needs? I wonder if your PS3 can communicate with your Linux PC's MP3 library as a media server? If you answered 'yes' to all those questions, then wow, Ubuntu is better than I thought and I apologise for being mistaken."

Your answers are:
1) No, not any printer or scanner, but if they are supported they will work in about 5 seconds, not 15 minutes. If you run a Linux-based OS, you learn to check your hardware purchases, just the way you check the system requirements on the back of a software box.
2) You can find many great games for Linux, but certainly most games are made for ... consoles and handhelds. Haha. Got you! Windows PCs come in second, but a lot of the FPSes and MMORPGs are there. Linux is MUCH sparser, but there's always Nethack! ;)
3) Yes, I can run all my 3rd-party software I have now. I wonder if I can run every piece of third-party software I have now on Windows. The answer is probably not. It just depends on what you own, I guess. Mac users are in the same boat. They don't seem too unhappy.
4) Linux has HUGE stores of software, including stuff from Unix 30 years ago on forward to this year. Vista can't run stuff thats ten years old and it has had its share of complaints about compatibility. There are, though, lots of niche markets that aren't covered by Linux or any Unix. They may never be covered. It depends on how the market goes.
5) I don't have a PS3, but my PS2 can play MP3s AND movies streamed from my Linux box. Bet you didn't know that the PS2 could operate as a media center, did you? The PS3 can run Linux, so I'm sure it could be a Linux client. The XBox certainly can. LinuxMCE is a cool media solution for your entire house. It does things that Windows really WANTS to do, and that MS shows off, but that never make the release. Watch the video: If you don't want the technical detail and just want the flash, skip forward about ten minutes.

Note: Apparently, you use a uPnP application like MediaTomb to stream to the PS3. How easy is that?

Oh, I know that all those questions were rhetorical and that you didn't really want answers to them. I gave you the straight dope, anyway. Some was positive and some wasn't. Computers are that way.

In reality, my machine's operating system can inter-operate with Macs with no trouble. WinXP, too. It can read any major file system from MS or Apple or Sun or IBM. It can use Mono, ELF, and NeXT applications natively. It can serve as a web and/or file server from a machine with a 200MHz CPU and 64MB RAM (really quite a bit less). It can run on a netbook or a phone. It can run on Itanium or MIPS or Arm. It can boot from the Intranet using only PXE and give me the same experience I have with a regular desktop without even having any disks or Flash ROM. It can boot from a live CD. It can run a supercomputer or a render farm. It can do as much or as little as I please with it, using the resources to match the task. I can install it as many times in as many places as I care to, and it never accuses me of copyright infringement. Can WinVista do those things?

If you answered 'yes' to that question, then wow, Vista is better than I thought and I apologize for being mistaken. :P

You're happy with your Windows machine. Stay on it. I'm not asking you to switch. On the other hand, don't belittle people who donate hundreds of thousands of hours to make an amazing operating system by putting it down for not running Windows applications or using Windows drivers or integrating with your WindowsMCE perfectly. Some people spend all the time they have trying to make it happen. Microsoft puts virtually no time into trying to inter-operate with anyone else. Show some basic respect.

Wednesday, August 27, 2008

Is This a Debian or a Gnome Blog? Vacation's over.

I talk about Gnome a lot when I talk about Debian. Why is that? Is my blog really about Debian or is it really a Gnome blog in disguise?

There's one answer, and it's short. Gnome is the default desktop for Debian. It's not all you can use. In fact, Debian is so large and varied that talking about any environment more than 10% of the time would be unfair. I like to stick to the defaults when I give advice, though, because it fits the largest number of people.

I'd like to spend more time exploring other DEs like Openbox (which I do use sometimes), FVWM-Crystal, or even KDE, but I have a lot of work to do and I don't like to spend too much time futzing around. I'll do what I can to get some reviews of the DEs/WMs in Debian up over the next few weeks. Don't expect anything in-depth, though, because I don't use them enough to make those kinds of remarks.

Speaking of getting work done, my week and a half of vacation is over tomorrow, and I'll be a lot quiter than I have been. The time's been good, though. I got Games That Work off the ground with almost 60 games, I finished the pre-seeds and did the site/documentation for it, and I got the first iteration of D2D out the door. I need to improve my scripting and packaging skills. Now that's a place to spend that spare time I don't have.

The Debian2Debian Server-Client 0.05 Packages Have Arrived!

I had to figure out how to make a meta-package for this one, but it's here and done. Install the d2dserver.deb to enable easy file sharing, a DAAP music server, and a cache for apt installation.

The d2dclient installs software which makes the client aware of the server and allows easy communication with other clients.
  • gnome, 
  • empathy and telepathy-salut, 
  • giver, 
  • conduit, 
  • gnome-user-share, 
  • gnome-office, 
  • ttf-liberation, 
  • gnome-office, 
  • service-discovery-applet
It also sets the apt process to use the cache on the server.

Read the project page and don't ignore the warnings, please.

Tuesday, August 26, 2008

HOWTO: Create a debian metapackage

What's a metapackage?

A metapackage is a package which doesn't have any files to install, but depends on other files to make sure they are installed. A good example of a metapackage would be the gnome package in the Debian repos.

Why would you want to make one?

In my case, I need to make an easy way to get my Debian2Debian server/client setup. I need to install certain packages and scrit some stuff afterwards. Maybe you want to make one so that setting up a copy of your desktop on another computer will be easy. MAybe you just want to help a friend install some packages.

The process

This is really easy. Create a directory to hold your files and name it after the package.
mkdir mypackage
Fill the directory with the proper structure
mkdir mypackage/DEBIAN
touch mypackage/DEBIAN/control

Edit the control file so that it looks like this:
Package: mypackage
Version: 0.10
Section: main
Priority: optional
Architecture: all
Depends:
Installed-Size:
Maintainer: Daeng Bo
Description: A metapackage for Daeng
 Detailed description (optional, and notice the leading space)


Create the package by running
dpkg --build mypackage
from outside the directory.

Congratulations! You're finished. Install your .deb or send it to a friend.

Monday, August 25, 2008

HOWTO: Easy music sharing (or anything else you want)

This is a quick HOWTO describing an easy setup for sharing files in a home network with no security and no headaches.

There's a popular Ubuntu Howto which uses anonymous FTP and some other stuff, with lots of downloaded scripts. I'll make everything a lot simpler for you than following that one.

Objective: To have music files served through DAAP from a server that everyone can access to add new albums to. There's no configuration on the client and very little on the server. There's no security. Anyone can change or delete files.

Procedure:
Create the directory you want to share music from.
# mkdir /home/Music

You need to install Apache 2 and ZeroConf support for it.
# tasksel install web-server
# aptitude install libapache2-mod-dnssd

Next, you need to enable the DNSSD module
# a2enmod mod-dnssd

Edit your /etc/apache2/sites-enabled/000-default file and add the following two lines to the beginning of the file:
DNSSDEnable On
DNSSDAutoRegisterVHosts On


Add this to the bottom of the file:
<Directory /home/Music>

    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Alias /Music "/home/Music"
<Location /Music>
    DAV On
    DNSSDServiceName "Shared Music"
    DNSSDServiceTypes _webdav._tcp
</Location>


You can change the name or the directory path if you like. You can even add five or six of these definitions if you want to.
Change the shared directory to be owned by the web server so that there are no permission problems.
# chown www-data:www-data -R /home/Music

Restart the web server. Be careful. Read the output and make sure that it starts correctly.
# /etc/init.d/apache2 restart

Go to Places > Network and find your share there at the top level. You can right-click to mount it ("Connect to this server").

You're finished. No scripts to download. No hacks. Just WebDAV and Avahi.

If you want to server the Music the ZeroConf way to a client, install Tangerine (which comes with Mono and GTK ... What a waste!). I prefer mt-daapd, but it's not available in the repositories anymore.

It uses a graphical configuration client. If you don't want that (I don't), you can create a .tangerine file.

[Tangerine]
name = Shared Music
password_file = /home/Music/.tangerine-passwd
debug = False
max_users = 0
log_file = /home/Music/.tangerine-log
port = 0
publish = True
plugins = file,session
[FilePlugin]
directories = /home/Music

and then start tangerine.
$ tangerine /path/to/.tangerine

Open up your Rhythmbox and look over the music. It may take a few moments to come up.

Happy sharing!

Other I' Been to Ubuntu Stories

Related Posts with Thumbnails