Archive for July, 2009

Minor housekeeping

I’ve made some small adjustments to the software page, mostly in the section regarding terminal applications. I was looking over it the other day and realized what was listed there wasn’t particularly accurate, in one sense.

For example, I rarely — extremely rarely, at best — use irssi, not for any failing of the software, but just because I don’t care for chatting. It’s a good application, and a fine piece of programming, but I don’t have a need for it, so it seems faulty to endorse it.

I haven’t added things like screen or dvtm, or framebuffer applications like fbgrab or fim, mostly because they don’t seem to fit in with the rest. Perhaps they warrant their own section.

Alsaequal scratches the itch

Thanks to Onyros for pointing out Alsaequal; my spontaneous desire to see an equalizer for the console seems to have been satisfied.

That’s running on Arch, just because there were already PKGBUILDs in AUR for it and its dependencies, and I wanted to get the chance to tinker with it before making the jump to Crux. If I get things working my way I’ll put Pkgfiles on here later.

Setting it up takes a quick configuration file that can (probably) be cut-and-pasted from the home page. Mine worked cleanly without any changes; depending on your card assignment, you might have to adjust a number or two.

Otherwise it seems to do what it claims to. The next step is to run it up against mocp and see if they play nice together. Pun intended. :P

Carving out the garbage

One of the blogs I regularly visit is Luke Maciak’s Terminally Incoherent, which is saying something since to be perfectly honest, I visit very few. My opinion of blogging in general is rather low, and I include myself in that lump since the entire phenomenon is kind of pointless. Keeping a diary in any form is rather vain, and sharing it openly with a large number of people is really just fishing for attention. I suspect we all suffer from self-esteem issues, in varying degrees.

Now that I’ve managed to insult a huge portion of the Internet-savvy population of this planet, I’ll return to my original point, which was to say that Luke’s work is a cut above the usual grade of blogging. I was particularly enthralled with a post from a few days ago, called “On Optimization,” where he described the work of COBOL programmers from decades before running circles around ASP.NET applications in spite of drastic — drastic, as in generational — hardware differences. It’s worth reading through to the end.

For my own part, I can corroborate some of the things he discusses, from an end-user’s standpoint. I certainly don’t have enough programming experience (I am laughing as I type that) to fully understand the implications of what he’s describing, but I have enough experience on the receiving end to empathise.

It’s something that I see and sense on a daily basis at times — poorly written, overcomplicated software that does too little and requires too much to get nothing done well. I could name any of a dozen in-house applications and programs that I’ve used in specific offices over the past decade that did almost nothing, but were the only “solution” for whatever task needed done. Half of them were cumbersome and only partly complete, the other half were overweening browser-based pages that required half a dozen add-ons, AJAX and a high-speed network line, usually just to press a button and acknowledge something.

Maybe I’m being obnoxious since, again, I have no ability to correct what I see as defective work. In my defense I can only say that I came from an age when the peak of entertainment, the highest forms of puzzles and finesse all fit in a clunky 4Kb cartridge, and sold for around US$20 a pop. I will admit that better games and software have appeared in the days since my old Atari VCS, but I’ve seen some colossal duds too.

And the idea of waiting for the hardware to improve to the point where the inefficient programming is eclipsed. … It boggles the mind. By extension, I wish I could say that everything I use in Linux was svelte, clean and efficient, but I am not so much a dreamer as to cling to that notion. I can say that when I sense garbage, I treat it as garbage, and that’s a lot of what this blog is devoted to: carving out the garbage.

On the other hand, there is no getting away from some poorly written stuff, or bloat that can’t be effectively avoided. And until I get off my hind end and learn to do it better … well, I guess I’m just stuck whining into my pointless little blog, like so many others. :evil:

Proper word-wrapping in vim

That last post took hours to put together, so this one will be short and brief. A long time ago I found two settings for vim that, when used in conjunction, give me the word wrapping I need when I compose these posts from within Charm. I never made a note of them, which is bad form.

The problem is something I’ve talked about before, so I’ll spare you the long and boring reason for needing that behavior. Under Crux, the plain-jane vim that gets built doesn’t word-wrap; instead, words are simply broken at the end of the line. Nothing wrong with that, but with

set formatoptions=l
set lbr

in my .vimrc, words break at spaces or hyphens, and links break at slashes or hyphens. It’s a very nice adjustment, particularly if you want vim to behave a little more like a word processor, and not so much like a text editor. Not that there’s anything wrong with that. :)

Running the 2.6.30.1 kernel ultralight

About a year ago I made some notes about plucking out parts of the 2.6.25.5 kernel — as well as some other ideas — with a goal of knocking down the boot time on an eight-year-old 550Mhz Celeron to about 16 seconds from Grub to X. I’ve configured a lot of kernels for a variety of machines in that time, and I have a few more subtractions to recommend.

I have the same disclaimers as last time.

  • I am by no means an expert. ;)
  • This is not a beginner’s task.
  • You should be able to do everything described in the Crux Handbook before you try this.
  • Do not copy and paste into your system. I am 99 percent sure your computer won’t even boot.

The good news is, depending on your hardware, core functions like graphics and networking rely only a few settings scattered here and there. You can reasonably get by without needing to leave in a whole lot.

Which is what we want: Everything nonessential stripped out. And that’s one of the benefits of working with older machine — you can relax in the knowledge that, after a while, your machine is so mainstream that kernel changes and updates are highly unlikely to require a lot of work. Find a configuration that works for you, and kernel updates after this will, more than likely, be no-brainers.

But again, it’s important for you to know your hardware, inside and out, before you get started. As I have mentioned in the past, you would do well not to start with this, but to start with something like Arch Linux or even Ubuntu, check and see what the automated systems picked for you, and scribble those down on a piece of paper (you do remember what paper is, don’t you?). Then start up the Crux installation CD, make sure the stuff you need is in place, and start building.

Enough talk. Here are the dirty details.

From the initial menuconfig menu, I disable Enable loadable module support. We’ve already stumbled onto something that is strongly-hardware related. I can afford to run with a lighter, faster kernel, which supposedly is what this option allows, because I don’t have any hardware that requires loadable module support. Some things require it; for example if you want to use a proprietary driver for your Nvidia card, you have to leave it enabled. Some other things, like some network drivers and so on, will also require it. The key is, if it breaks, change it back.

Under General setup,

  • Disable Prompt for development and/or incomplete code/drivers. I do this because, again, I don’t have any hardware on this machine that needs those drivers. That Atheros-based Corega wireless card I was using a few months ago needed those incomplete drivers though. Maybe that had something to do with why it was misbehaving.
  • Disable BSD Process Accounting, Export task/process statistics through netlink, Auditing support, Control Group support, Initial RAM filesystem and RAM disk (initramfs/initrd) support, Profiling support and Activate markers.

    With a machine this old I have the luxury of omitting almost anything marked “EXPERIMENTAL” and as a general rule, it seems to work. Again, if you pop a high-end wireless card into your Pentium II laptop, you might need to pay a little closer attention.

    On very, very old systems, like my Pentium, Optimize for size seems to have a visible effect on boot time. Smaller kernels load faster than larger ones, I guess. But on a newer, faster system, I wonder if you’ll really notice a difference.

Under Enable the block layer > IO Schedulers,

  • I disable Anticipatory I/O scheduler and Deadline I/O scheduler. My experience with Ubuntu suggests that CFQ is the quickest option, although you might find it worth your time to try one of the other two.

Under Processor type and features,

  • I disable Tickless System (Dynamic Ticks), High Resolution Timer Support, Symmetric multi-processing support, Support for extended (non-PC) x86 platforms, Generic x86 support, HPET Timer Support, Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4, Enable X86 board specific fixups for reboot, /dev/cpu/microcode – microcode support, Check for low memory corruption, Reserve low 64K of RAM on AMI/Phoenix BIOSen, EFI runtime service support, Enable seccomp to safely compute untrusted bytecode and kexec system call.

    My rationale on most of these should be fairly obvious — a 550Mhz Celeron doesn’t need multiprocessor support, I don’t plan on swapping kernels midstream, etc. If the hardware doesn’t have it or I don’t need it, I remove it.

  • Processor family is set to Pentium-III/Celeron(Coppermine)/Pentium-III Xeon.
  • High Memory Support is off.
  • I leave the Timer frequency at 1000 HZ.

One small note for very, very old machines: I’ve noticed that x86 PAT support keeps my Pentium from booting.

Under Power management and ACPI options,

  • I disable Power Management Debug Support (this is just the beginning of all the debugging stuff I disable), Suspend to RAM and standby (with a machine that starts in 11 seconds, I don’t need suspend :twisted: ), and Hibernation (aka ‘suspend to disk’).
  • Under ACPI (Advanced Configuration and Power Interface) Support,
    • I disable everything described as “deprecated”, everything described as “future”, and Battery. My battery is dead.
  • Under CPU Frequency scaling I disable all of CPU Frequency scaling.

Don’t quit now. There’s lots more fun coming. Under Bus options (PCI etc.),

  • I turn off PCI Express support and Support for PCI Hotplug.
  • For PCCard (PCMCIA/CardBus) support,
    • I disable 16-bit PCMCIA support. That leaves only the yenta-compatible support, which is what I use in this machine.

Networking support is a fun one. First, turn off Amateur Radio support and RF switch subsystem support. I have no idea why Amateur Radio is enabled in a default kernel, but I regularly turn it off. Next, under Networking options,

  • I turn off Transformation user configuration interface, IP: multicasting, IP: advanced router, IP: policy routing, IP: kernel level autoconfiguration, IP: TCP syncookie support, Large Receive Offload (ipv4/tcp), TCP: advanced congestion control, The IPv6 protocol, NetLabel subsystem support, Security Marking, Network packet filtering framework (Netfilter), and QoS and/or fair queueing.

    And yes, to answer your question, I can still surf the Internet. If you want to know details of what those things do (and by extension, why I don’t use them on a 550Mhz Celeron), check the help pages for each one.

  • This is a wireless machine, so most of what is listed under Wireless is useful. All the same I disable Old wireless static regulatory definitions and Wireless extensions sysfs files.

Bouncing back up to Device Drivers, I turn off Generic Driver Options > Managed device resources verbose debug messages. Then

  • I turn off Block devices > RAM block device support, Misc devices, Serial ATA (prod) and Parallel ATA (experimental) drivers, Multiple devices driver support (RAID and LVM), Macintosh device drivers, Power supply class support, Hardware Monitoring support, Watchdog Timer Support, Multimedia devices > DAB adapters, EDAC – error detection and reporting and DMA Engine Support.
  • I enable ATA/ATAPI/MFM/RLL support, along with Include IDE/ATAPI CDROM support and the Intel PIIX/ICH chipsets support. I turn off Probe IDE PCI devices in the PCI bus order (DEPRECATED).
  • Because I have a Thinkpad laptop, I enable X86 Platform Specific Device Drivers > ThinkPad ACPI Laptop Extras. Not that it’s a particularly good reason, but. …
  • Graphics support can be a little tricky. On a framebuffer only system I enable most of the framebuffer stuff, but on X systems I have a tendency to leave it all out. The final product is what determines the configuration here. As it stands now this is a framebuffer-only machine so
    • I disable /dev/agpgart (AGP Support) > AMD Opteron/Athlon64 on-CPU GART support, Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) and enable VGA 16-color graphics support, Userspace VESA VGA graphics support and VESA VGA graphics support under Support for frame buffer devices.

      On a framebuffer machine with a video card listed in that menu, I usually pick that alone.

    • I usually let Console display driver support and Bootup logo alone. In other words, no compiled-in fonts for me. ;)

Sound is best described as disabling absolutely everything, and enabling only ALSA and the option for Intel/SiS/nVidia/AMD/ALi AC97 Controller. And yes, sound works fine on this machine.

Under HID Devices, I disable HID debugging support, /dev/hidraw raw HID device support, PID device support and /dev/hiddev raw HID device support. For Special HID drivers, I enable everything I possibly can, and then, after this is all done, usually float back through this menu to find some things that are locked until later. It’s a little annoying, but worth it not to compile support for some esoteric force-feedback game controller. :roll:

USB support is similar; I disable USB verbose debug messages, USB announce new devices, USB selective suspend/resume and wakeup, USB Monitor, EHCI HCD (USB 2.0) support (because this is a 1.1-only machine) and USB Printer support.

Moving backward slightly, under Device Drivers > Input device support, I disable Support for memoryless force-feedback devices, Polled input device skeleton and anything labeled as Joysticks, Tablets, Touchscreens, Miscellaneous or otherwise. In the Hardware I/O ports section, I drop Serial port line discipline.

Similarly, for Character devices, I turn off Non-standard serial port support, Serial drivers > 8250/16550 and compatible serial support, Hardware Random Number Generator Core support and HPET – High Precision Event Timer.

Don’t forget to disable I2C support when the option opens up.

Next on the menu: All the way back up to File systems. I am partial to ext2, so I enable Second extended fs support and drop DNotify support, Inotify file change notification support, Quota support, Kernel automounter version 4 support (also supports v3) and Miscellaneous filesystems. As this machine has no DVD or CDRW drive, I leave off UDF file system support under CD-ROM/DVD Filesystems.

(A side note: I regularly connect between machines with NFS, so I enable both NFS client and server support under Network File Systems. It’s not necessary for the running of the machine, but I use it, so I thought I should mention it.)

I disable everything under Partition Types > Advanced partition selection. I enable the Japanese character sets under Native language support.

Kernel hacking is kind of fun. I turn off Kernel debugging, Compile the kernel with frame pointers, Tracers > Support for tracing block io actions, Remote debugging over FireWire early on boot, Early printk via EHCI debug port and Allow gcc to uninline functions marked ‘inline’.

I turn off all the Security options I can. I like to live on the edge.

Under Cryptographic API I disable only the Hardware crypto devices submenu, because I have no hardware crypto devices. Similarly, jumping back up to the top menu, I disable Virtualization, because using a 550Mhz Celeron for virtualization is rather like sprinting with cement blocks stapled to your feet.

And believe it or not, that’s about it. If you look over the end of that last post, where I talk about compilation options and so forth, most of that is still the same. I don’t use X on this machine any longer and that’s a good thing, so the dip in start time between this machine now and that machine then is mostly due to the fact that I don’t have to wait for it to start. With X, these newer kernels were shaving about 2 or 3 seconds off the 16-second mark. But it’s been a long time since I could use X on this, so I might be conveniently misremembering. :evil:

If you have suggestions, warnings or apocryphal tales of single-digit startups on Pentium II machines with exceedingly sparse kernels … I’m all ears. :mrgreen:

And now, because I know someone is going to ask, here’s the dot-config file. After the “more” break, of course. ;)

Continue reading ‘Running the 2.6.30.1 kernel ultralight’

moc and the graphic equalizer patch

I’ve been toying with a patch for moc that supposedly — and I have to say supposedly — adds a graphic equalizer to mocp. It’s not exactly anything critical, but I was poking around the guts of the Internet a few days ago, and realized there was nothing like an equalizer at the console.

alsamixer is not an equalizer, for my money. And aside from application-dependent equalizers that run against X, or a half-decade-old GTK1.2 equalizer, I seem to have found another hole in the software landscape.

Which is why I was moderately enthused at finding that page. But I haven’t actually seen screenshots of it, and I haven’t gotten the patch to properly splice with the source code yet. So I might be chasing after a months-old page with no hope of success.

On the other hand, if I keep poking around at these things, I might come up with something useful.

Cleaning up is hard to do

I’m one of those people you hear about, the ones who don’t like application histories or configuration files that stack up old addresses and locations when closing. I don’t like cached thumbnails. I have about four bookmarks in elinks, about two in Firefox and maybe two e-mails in my address book for alpine. It’s not that I’m paranoid or on the run from the law, I just think histories and most-recently-used file lists are sloppy and leave a lot of garbage around.

I consider it a big plus when an application will clean up after itself, or give me the option to remove any leftover gunk that spilled over into my home directory. Even better is an application which makes no mess to start with, or gives the option to leave no trace, a la Firefox’s “privacy mode.” (Or whatever it’s called. I’ve forgotten now.)

For programs that aren’t as sensitive to my eccentricities, I have to play rough. In those cases I usually employ a two-pronged approach, relying on scripts that start the application then delete it’s residue, alongside an alias that points at the script. Here’s an example.

#!/bin/bash
centerim -T
find $HOME/.centerim/ -iname "*history*" -delete

centerim keeps histories of chat sessions in its configuration directory, which I find a little annoying. I like each session to start clean, without the remainder of the last session appearing in the display. To the best of my knowledge, centerim doesn’t have an option to clear the history on its own, so I remove them myself.

Each account keeps its own history file in a separate folder. But each file is called “history,” so a find command is (probably) the easiest way to sift through the subdirectories, and deftly remove them.

Here’s another one. elinks keeps a goto history and a search history, and stacks up cookies in a single file.

#!/bin/bash
elinks
rm $HOME/.elinks/gotohist
rm $HOME/.elinks/searchhist
cp $HOME/.elinks/cookies.edit $HOME/.elinks/cookies

Here I can use the $HOME variable followed by the file location to peck out those history files. The next line, however, replaces the cookies that were stored in the session with a file I hand-edited to keep only the ones I wanted. That’s a little habit I picked up when I had the same problem with Kazehakase, years ago: keeping a personalized version of certain files.

Here’s another one where that comes in handy.

#!/bin/bash
emelfm2
cp $HOME/.config/emelfm2/cache.edit $HOME/.config/emelfm2/cache
rm -rf $HOME/.thumbnails $HOME/.recently-used.xbel

Because emelfm2 stores some drop-down histories and column settings in its cache file, I replace it every time I close it, using one that restores a set of preferred “defaults” instead.

The last line, however, trims out two files that are sometimes generated outside the configuration directory — the GTK most-recently-used file, which I abhor; and the generic thumbnail folder. That one is actually not the fault of emelfm2, it’s generated by Mirage, which I usually start from within emelfm2. This way, if I want to sift through some wallpaper files in a series of directories, I can keep one session of emelfm2 running, start Mirage repeatedly, and eliminate all the thumbnails in one fell swoop, when I close emelfm2.

Firefox is one of the worst offenders in my book, with any of a number of folders being created when it starts. Like I mentioned, you can more or less get around that with the “privacy browsing” setting, but for those who don’t have that, or aren’t interested, this is what I use to clean up Firefox’s droppings.

#!/bin/bash
$HOME/.firefox/firefox javascript:%20resizeTo\(1280,1024\)
rm -rf $HOME/.adobe $HOME/.macromedia $HOME/.thumbnails $HOME/.recently-used.xbel

I use the precompiled Firefox binary and keep it in a hidden folder in my home directory, which is why the first part of the first line looks funny. The second part resizes the window to 1280×1024, because the -height and -width flags for Firefox, have never, in my experience, worked. But that’s not news.

On the other hand, anything Flash-based that I encounter is going to open files for .adobe and probably .macromedia too. And there’s the most-recently-used file again, cluttering up my personal space. And sometimes the thumbnails too.

But they’re all fairly easy to get rid of. That, coupled with stringent settings from within Firefox itself, and I can be reasonably sure that I won’t be stumbling across garbage leftover from previous sessions.

Which satisfies my desire for a clean, fast system. Call me crazy. :twisted:

Note to self: Setting locales

Almost a year ago, when Crux jumped from 2.4 to 2.5, locales were handled differently. And for some reason, I always seem to forget them. This is just to remind myself of the commands I used to set them up, with en_US as a vanilla example.

localedef -i en_US -f ISO-8859-1 en_US
localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1
localedef -i en_US -f UTF-8 en_US.utf8

The available options are in /usr/share/i18n/locales/, which is the part I always seem to forget. And that is, after all, why this blog is here: To remind me of stuff. … :mrgreen:

Cleaning can’t hurt

I have a tendency to fear hardware problems. That might sound odd since I regularly strip, clean and reassemble machines without a second thought. However, one or two of my possessions are true antiques, which means the chances of finding spare parts is almost nil, and one or two were bought in other parts of the world. And that suggests an added layer of logistics, in getting replacement parts … if an issue warrants replacement parts.

I thought perhaps I was going to be stuck doing that today, when the Inspiron went through a series of arbitrary shutdowns, some within seconds of powering up, and causing some minor data glitches in the process. When I did get to a full desktop, I noticed a severe lag in moving the mouse, slow window redraws, and a constant whir of the fans.

The bad part was, it began to do the same things regardless of the distro. I began to think something was injured on the inside of the machine, and I would have to do some serious analysis — the kind that makes you wonder if a computer is worth keeping or not.

But instead of panicking and throwing the entire business out the window, I decided to step away for a few minutes, and take a sidelong look at the issue. I like to do that sometimes: Occupy myself with a completely unrelated matter, and let a problem roll around the back of my mind for a while.

And so while I was cleaning the house and sorting out some papers, I thought about the issue and the information I had. In my experience, when a part fails, it fails completely, so suffering performance like that was unlikely to be anything totally busted. On the other hand, when environmental conditions become subpar, the machine tends to work against itself, which can make things move slowly.

And that seemed closer to what I was experiencing. And that got me to thinking perhaps the fans were the biggest clue, alongside the arbitrary power cuts. Both of those suggest overheating, and perhaps that there was something keeping the center of the machine from cooling properly.

And then I got to thinking, “When was the last time I opened the case on that laptop fully?” I occasionally shoot compressed air at the vents, but I realized I hadn’t pulled it apart in at least two years. Maybe more.

So, armed with the belief that the software was not to blame, but that it was just poor hardware maintenance, I flipped the machine, pulled the four screws that held the keyboard down, and lifted off the heat plate.

It wasn’t as bad as I was expecting, but the fins on the heat sink were definitely dusty. I blew compressed air throughout the center chamber, the fans and under the cards. I cleared out the PCMCIA bays and drive tray, and even lifted off the palmrests and cleared out a few crumbs.

Nothing terrible, nothing worth taking pictures of. But definitely a little unsavory.

And after reassembling, things seem to be better. Boot times improved, there is no more lag or redraw problems. I don’t know if a proper cleaning made it happy or not, but the effort was not in vain. I’ll keep messing with it over the next few days, and see if the demons are gone.

The wrong reasons to use Linux

Everybody has a list of reasons to use Linux; I have my own, more or less, spread out over the length and breadth of this blog. Still, aside from the misinformation spewed forth by Redmond, I believe there are “wrong” reasons to use Linux. Which is to say, I think there are things that attract people to trying Linux, but I would not use as a selling point. Up front though, I should say that whatever draws you to Linux is your business, and not my concern at all.

  1. Compiz. You might read that and feel like you just got hit in the face with a glass of cold water. After all, Compiz is way cool. It’s smooth, clever, innovative, years ahead of the competition and best of all, free-as-in-beer. What’s to dislike?

    I don’t dispute any of that. I also think it’s cool and smooth, and even cooler and smoother because you can get a vastly superior desktop experience on hardware so outdated, Vista’s requirements are suddenly a joke. I mean, I even tried to run it on an ancient GeForce2 card with only 16Mb of memory once, and got somewhere near an end result.

    No, my concern is simple — Compiz is flair. It’s shiny-glossy-pretty, but doesn’t necessarily make using a computer any more successful. And for as many people as I have seen scrap Linux because they couldn’t get Compiz working … well, again, I just think that’s the wrong reason to switch.

    I would much prefer people moved to Linux because they can pick up a window manager that allows them to rearrange and organize multiple desktops and wallpapers by theme, or even better, because they have a need for a desktop that’s lighter and faster than anything Microsoft or Apple sells now.

  2. Speed. I’m going to split hairs here, and make a few distinctions. It is, after all, a little ironic that I would call out Linux on speed while writing a post on a blog dedicated to eking out the last smidgin of speed from outdated hardware.

    And it’s true, yes, that Linux machines can run faster and speedier and more efficiently than most other operating systems. Unfortunately that requires a degree of experience to achieve, and the average first-run-in with Linux is more likely to be with heavier, bulkier distributions.

    And judging by the occasional thread on the Ubuntu Forums or the Arch Forums, the speed of the included software is sometimes suspect. Firefox in Linux is regularly lambasted for being a sludge, when an identical system with Windows XP is generally snappier. Who’s at fault? Beats me.

    But that’s where I’m coming from when I say speed isn’t a good enough reason to use Linux. Distros like Ubuntu or Fedora and so forth are great introductions, but come with weight problems that don’t reinforce speed as a selling point. Over time and with the right software selections, it’s always possible to carve a system down to a true speed demon. But that usually requires a measure of experience and curiosity, and I think most Linux newcomers might lack one or the other.

  3. Gaming. A year or so ago, I coached a World of Warcraft player through an Ubuntu-plus-Wine installation, which was a particularly hairy experience. In the end it worked, but not to the satisfaction of the player. Frame rates were lower than a native Windows system, the game felt laggy, and effects didn’t show like they “should have.” As you might imagine, within a week or so, Ubuntu was gone and Windows was back on, and to the best of my knowledge, it will probably never be back.

    I think it’s important not to hold out Linux as a solution to Windows gamers who want to get away from Microsoft. But notice that I said solution there. As an option I think it’s fine. But holding out Ubuntu or another distribution as a platform for Wine as a solution to running Windows Game X … is a mistake in my opinion. Invariably the experience falls short of what people want, and if they are gamers already, they’re unlikely to be willing to suffer any performance hit whatsoever, just to assuage their conscience on some other tertiary issue, like licensing.

    On the other hand, I heartily endorse Linux as a gaming platform for Linux games — that should go without saying. If you can get someone hooked on Neverwinter Nights or Tremulous or Warzone 2100, that’s a fantastic reason to keep a Linux machine in the house. But trying to shoehorn Linux into a machine and expect a hardcore Windows gamer to be happy … well, I’ll just say I’ve never seen it happen.

  4. Duress. This is probably the worst possible reason I can think of — using Linux because you’re forced to. Even common-sense psychology dictates that forcing someone to use a tool they don’t know or didn’t elect to use is doomed to breed dissatisfaction. Spoon-feeding Linux to an unwilling user is, in my experience, a guaranteed turnoff.

    That might sound a bit hypocritical since one of the things I do in my spare time is polish an IceWM knockoff of Windows 2000, but the two ideas are not necessarily mutually exclusive. If ease-in-transition is an issue, it makes sense to create a desktop as similar as possible to what someone already knows. Transition is already a foregone conclusion.

    On the other hand, forcing someone to use Linux — or any operating system, really — is stripping out one of the core principles that Linux stands for: freedom. And in this case, freedom to choose includes the freedom to choose Windows or Mac OS or whatever. I would never allow someone to suffer through using Linux if what they really want is something else. It’s just not good business.

    (This is where I tip my hat and acknowlege that in a workplace, the rules are changed. If your job requires you use Linux or another operating system, it’s a different story. But it’s also no longer an issue of free choice, so I suppose I can dodge the bullet that way. :roll: )

And that’s where I’ll stop. It’s a delicate situation, trying to convince someone to use a different operating system. Linux and its brethren have a huge list of advantages, but pushing the wrong one on the wrong person is going to backfire catastrophically. Evangelize, by all means, but don’t make the wrong sale. You only get one chance to make a first impression.

Next Page »


Welcome!



Visit the Wiki!

Some recent desktops


May 6, 2011
Musca 0.9.24 on Crux Linux
150Mhz Pentium 96Mb 8Gb CF
 


May 14, 2011
IceWM 1.2.37 and Arch Linux
L2300 core duo 3Gb 320Gb

Some recent games


Apr. 21, 2011
Oolite on Xubuntu 11.04
L2300 core duo 3Gb 320Gb

Enter your email address to subscribe to this blog and receive notifications of new posts.

Join 144 other followers

License

This work is licensed under the GNU Free Documentation License. Please see the About page for details.

Blog Stats

  • 3,164,314 hits

Archives


Follow

Get every new post delivered to your Inbox.

Join 144 other followers