This is a great summary of the low-level API differences between Windows and Linux file systems.
Entries Tagged ‘Linux’:
filed in Linux on Feb.28, 2010
Puppet is an invaluable tool for managing a large number of Linux servers. By defining different classes for each service I deploy, I can easily define what runs on each server I control just by changing the site manifest.
A problem I ran into early when I was bringing services into Puppet was slightly different configurations on servers with different specs. For example, I run Tomcat on three servers but one is also running some other services. On this one server the JVM maximum heap size needs to be lower than on the others, but the rest of the Tomcat configuration is the same. To manage this without making a second class definition I used the template system in Puppet.
There are four steps to making this work. First you need to define a default for the variable. Next you need to write the template. Third, connect the template to a file on the client. Finally override the variable where you need it.
Those of you in the know already know that Adobe recently released Flash 9 for Linux. An official, honest to god, up to date version. The best part? It actually works.
I’ve had problems with Flash since I switched to Linux, because I foolishly chose the AMD64 version of Kubuntu. After messing around with a 32-bit chroot for awhile, I finally discovered Swiftfox, a version of Firefox compiled to use 32-bit libraries but optimized for, and compatible with, 64-bit systems. I could watch Flash movies again. Sound didn’t work, but who needs to hear them anyway? Oh, and since Macromedia never released Flash 8 for Linux, there were more and more SWF’s that I couldn’t watch. And it crashed the browser a lot.
Okay, so it totally sucked.
Even so, I was pretty disappointed after I upgraded to Swiftfox 2 and found that Flash stopped working. Imagine my surprise when I clicked on the missing plugin button and saw that Flash 9 was available. I knew Flash 9 for Linux was out, but I’ve never had the plugin search feature actually work correctly. Then, right before my eyes, Flash 9 installed, the page reloaded, and the SWF started playing. With sound. “Thus Spoke Zarathustra” came on the radio, the sun broke through the clouds of winter storms, and a chorus of angels heralded, or trumpeted, or whatever it is that choruses of angels do.
It’s almost as if big companies are starting to take Linux seriously.
My first experience with Linux was in 1996. Somebody I met in IRC offered to send me a set of Slackware CDs he had lying around for free. What a deal! It blew my mind a little to think that a whole operating system could be (legally) free. I can’t remember now if it was four CDs or eight, but I remember being a little disappointed after I got it installed. Later I understood that Slackware was probably the worst distribution to start with, but then, coming from Windows and DOS, I couldn’t understand why nothing worked right. Where were the drives? Where’s the GUI? Why can’t it autodetect my sound card? With no guidance and no goal, it felt like I had taken a huge step backwards into the days of DOS. I quickly gave up on it, but the vision of a free, open source OS had impressed me deeply. I tried to switch to Linux on my desktop around 1998 or ’99; I think it was Redhat 6.something (this was before Redhat was selling an enterprise edition, I believe). I spent days and days trying to configure things like an internet connection over PPP, email, and sound. Sound never worked, but I finally figured out the rest. The breaking point, though, was X11.
What a mess. Back then, you had to actually define every display mode in terms of the horizontal and vertical refresh timings of your monitor. Not only that, but the only guidance the documentation gave was to find these timings in your monitor’s manual (what manual?), along with the ominous warning that using an incorrect set of timings could permanently damage your monitor. I finally got X11 working, but the default windows manager was ugly as hell, and there weren’t even any decent GUI applications available.
Well, by this time I’d had enough. I was spending all my time just trying to get the damn system to work the way I wanted instead of actually using it, and I haven’t even mentioned the dependency hell caused by RPM (this was before yum). For a number of years, Linux’s only place in my eyes was on servers. I finally switched for good last October, this time to Ubuntu 5.10, then Kubuntu 6.06. Here are the reasons I switched:
- Ease of use. Most things just work now; installation was a breeze, all of my hardware was detected, and most of the configuration dialogs make sense.
- I had started using a lot of GNU software on Windows with Cygwin. The Cygwin folks have done a great job, as have the contributors to GNU software that release Win32 versions, but despite all this running the stuff on Windows is still a pain in the ass. This was a very important point. I had gotten used to using a lot of software that I knew would work better and be easier to use in Linux. This is probably the biggest reason that I was able to stick with Linux through the rough parts, because even if I was having trouble with WMVs or Flash, I could still do my work.
- Windows Vista will be an expensive, unnecessary upgrade. I never upgraded from Windows 2000, but when it went into the no-updates phase I realized I’d be forced to upgrade soon. Vista has absolutely nothing that I need, and a lot of features I don’t want. On top of that, I realized in the previous year that pirating software is unethical, and I had a moral obligation to stop. Facing the choice of paying $200 for an OS with a lot of features that I didn’t want, or paying nothing for an OS with a lot of features that I did want but felt a little awkward, I decided to hunker down and make the switch.
Why am I writing this? There is a big group of people that advocate open source software with a conviction approaching religious. Like anyone advocating anything with such conviction, I think they are causing some harm to their cause. Here’s the thing that most of them try not to admit: Linux is not right for most people. Sure, it could be right for most people, but it isn’t. A lot of it isn’t Linux’s fault, but even if you got hardware manufacturers to make real Linux drivers, and you got the X11 group behind XGL, and you hired Orson Scott Card to write documentation for every package that was so good you’d read it in the bathtub, it still wouldn’t be right for most people.
Most people are afraid of change. These days, Linux itself isn’t really such a big change from Windows (patent and printer issues aside), but expecting someone to change not only their operating system, but every piece of software they use, it’s too much. Most people have a tenuous grasp on their computer as it is, they simply can’t drastically alter every aspect of how they interact with it.
If you’re serious about advocating open source software you have to embrace Windows. You don’t have to use it, but you have to acknowledge that most people do use it, and it’s good enough for them. Don’t push Linux on people, push open source alternatives to software they already use. Once they get comfortable with those things, they’ll find Linux when they’re ready.
If you want to advocate open source software, you have to be rabidly anti-piracy. Unfortunately, the very idea that software can be owned by someone, the crux of piracy, is considered invalid by a lot of OSS advocates, but for the average Windows user price is the only advantage that OSS has over more traditional software. Piracy takes that advantage away, so you absolutely must make it very clear to people that piracy is wrong. Really guilt them about it, and they’ll make the right choice when they know they have an option.
Remember that computers are already very scary for most people. So talk softly and carry a big LiveCD.