Take one old PC (considered obsolete by its previous owner and consigned to the scrapheap), add a lashing of a spare operating system (Linux is fine but, in all honesty, Windows is easier for this project). Mix in some random game controllers chosen by lucky dip into your "parts" box (anything from an expensive Playstation joypad with a USB adaptor through to an old two-button gameport joystick is fine). Add a dash of emulators for older games systems that you knew and loved. Sprinkle with a hefty swig of configuration, plugging in and cursing. Decorate with a lashing of ROM downloads of games that you still currently own but can't be bothered to play because the setting up of the games console that runs them takes longer than completing the game.
Finally, download lots of popular freeware games, give them a try-out, then have a retro/freeware-games party with anyone that has a favourite old game they haven't played in years. A TV-out capable card will help matters immensely, allowing you to play them on the telly in the front room, just like the old days. If not, a nice monitor will do just fine. Or for those lucky enough to have a projector, this would be the best way to keep a room full of big-kids happy.
Seriously. I've just done the above with my own ingredients... a 1GHz PC with 512 MB RAM (although you could probably get away with even less). I slapped a spare copy of Windows XP Home on it (I always end up with a little collection of Windows XP licenses from the various computers that I repair or, if they are beyond repair, recycle). I "upgraded" the onboard graphics to an ancient and obsolete AGP 4x card because I wanted TV-Out (the less said about that the better - old TV's that can't display the refresh rates you want without flickering can ruin hours of careful planning and playing with settings).
I threw in a spare 4-port USB card and as many reliable games controllers as I could find. A cheap cable to connect the sound through the television, a few extender cables for the various controllers (because in the heat of a gaming party someone WILL tug on them) and a cordless keyboard/mouse set to control the system from the living room sofa. A little utility called Joy2Key also came to the rescue, especially if you do what I did - I made a tiny Visual Basic util to turn the machine into a primitive "who pressed first" quiz buzzer - more on that later.
The emulators available to such an "obsolete" machine cross all sorts of systems (but only those ones that I ever played on or still have... I have somewhere a CD with Commodore 64 emulators and ROM's but I don't think I've ever even loaded it because I never used to have that particular piece of gaming history, so I have no interest in seeing the games it used to play.) Currently, my particular setup has (in order of age), ZX Spectrum, Sega Master System, Nintendo Gameboy, Sega GameGear, Philips CD-I, Sega Megadrive, Super Nintendo and Nintendo 64 emulators, all of which have several popular games (everything from the previously mentioned JetPac through to Super Mario 64) loaded and ready to play, full screen, full speed, on this old relic of a PC. Anything of the Nintendo 64-era or less is fully playable on such a machine, given the right emulators, and more powerful machines will laugh at them.
It even has DOSBox running several old DOS games that I've only just consigned to the "cupboard of slow, ageing death" where games live that are no longer easy enough to play on modern systems but which I still have a fond memory for (Syndicate, Cannon Fodder, Command & Conquer, Settlers etc.)
And it plays them all fantastically. The foresight of using my best two games controllers (a USB PC joypad made to duplicate a Playstation Analog Dual Shock and an actual Dual Shock with a Playstation -> USB convertor) even allows precise analog control of Mario in Mario 64, or while driving in Mario Kart. And with a press of a button and a change of emulator, it's suddenly a Kempston joystick in a ZX Spectrum.
It's been great to play all the classics. JetPac just isn't JetPac unless it's played on a TV and is emulated so accurately that all it's little palette flickers happen just right. And Target Renegade is still a fantastic game for picking up for only a few minutes for a quick bash. Super Mario 3's Battle Game (the version from the SNES remake) is a great party game.
So every game I've ever owned on a games console is now sitting on one easy-to-manage, quick-to-boot, no-fiddling-with-TV-tuning PC with gamepads enough for a four player battle in any emulated system that supported it. When I originally had this system set up, it was on an equivalent laptop and that was even more fun... there's nothing better than being able to whip out your laptop at someone's house and launch into four-player frenzied gaming of some of the classics.
And I also loaded this PC up with some other games that I had lying around or had downloaded previously...
- Slicks 'n' Slides
An old DOS racing game that I was a registered user of, way back when. With a utility like Joy2Key, you can play four-player with ease (beats having to cram four of us around a single keyboard like we did when we used to play this in Maths lessons in school!).
- XQuest 2
A marvellous freeware game that requires precision control of the mouse
- SCUMMVM
An emulator for various point-and-click adventure games, which comes with Beneath A Steel Sky as a freeware game
- OpenTTD
A remake of the classic Transport Tycoon Deluxe
- Abuse-SDL
The dark and fantastic Abuse from Crack dot Com.
- Rocks 'n' Diamonds
Another remake, this time of Rockman.
- PySolitaire
A card-game to wipe the floor with all the rest (but you can still add Solitaire and Hearts to your PC "console" if you want) - hundreds of customisable card games in one program.
- Liquid Wars
A brilliantly original game, part strategy, part fast reactions.
- Battle Painters
A wonderful game to leave the kiddies with - each player has to paint as much of the screen as possible before the timer runs out. I use Joy2Key on this as well, for the same reason as Slicks 'n' Slides, though this is a Windows game.
- Super Mario War
The best Christmas present I ever gave my mum - she is a massive Mario Battle Game fan and this gave us a night full of entertainment. Mario-themed but the number of games alone is enough to keep the most ardent Mario-hater busy. And such four-player mayhem is incomparable.
Not to mention TuxRacer, Pingus, Gate 88 and all those other great freeware or open-source games.
It's the best games console I've ever had. I even ended up naming the PC "CONSOLE" in it's configuration. It doesn't have network or anything else set up - it was worth sacrificing an old PC for and, as far as I'm concerned, the best use of a Windows XP license ever.
I turn it on. Within about 30 seconds it's in Windows (no net = no need for lots of utilities / services that slow it down) and ready to play. That 30 seconds would be taken up by switching to the right SCART socket, untangling the joypads etc. anyway, so you don't even notice it. Then, when you're in, you can play some old ZX Spectrum game while you wait for your loved one to settle down with a controller that they don't mind using, then you can both have a blast on Mario Kart 64 or play some silly freeware game without having to switch machines. When she goes to bed, you can load up a bit of Syndicate or finish off that Red Alert campaign.
You can have "Mario nights"... Start with the original NES versions, then do the Gameboy ones, working your way up to Mario 64 and filling in the time with some Battle Games, a quick blast of Mario Kart or a four-way battle in Super Mario War. And when anyone comes over and says "Do you remember
It's great and it's the best investment of time I've ever put into a Windows system. I was going to download one of these menu systems that they have for multi-emulator setups but they were all pants and I found that a desktop folder called Games with a shortcut for each machine type is more than good enough. When you have a lot of games on the system, you would spend longer setting up a menu system and then selecting them than you would just loading up an emulator and typing in the name anyway. You can assign shortcut keys to each shortcut and, if you want, use something like Joy2Key to load up particular ones from the joypad!
Joy2Key is a bit of a fiddle but it's only really necessary for comfort on old games or emulators that can't reassign keys to joypads easily. Do it right and you have the "best" joypad be the controller - the one that can pause, open games, exit emulators etc. by pressing the right buttons on it. Or you can just delegate the keyboard to someone who knows the shortcut keys for each emulator.
I found that the Playstation-style joypad controllers were the best to use. Enough buttons for almost any game system (with a few spare for vital functions like Pause etc.), digital and analog controls, cheap, comfortable, easy to get hold of and easy to find adaptors for (in the UK, Game sell them in all their shops). They're also especially close to the original SNES controllers that I end up playing more than other types of games.
The most time-consuming bits were:
- Making it boot fast
Don't install anything that you don't need to (networks etc. included). Clear out all your startup entries. Set all BIOS options etc. to be as quick as possible. Make your desktop as plain as possible and completely empty your system tray. Make sure everything is plugged in each time you use it. You don't care that the system looks ugly, but if it jerks in the middle of a four-player game you'll be regretting putting that large theme on your desktop.
- TV-Out
My own fault really, because I was trying to use what I had to hand. Only when I was several days into getting it to work did I realise that all my problems stemmed from a television that just wouldn't support non-standard refresh rates at all, not even by the slightest degree, but didn't moan about them. I have an external D-Sub -> SCART convertor that just wasn't up to the job of changing refresh rates without having MASSIVE jerkiness (single screen games worked fine but anything that scrolled horizontally or, worse, vertically looked absolutely crap).
So I tried a video card with TV-Out which was perfectly smooth at doing that job, but which had BIG problems with colour display on my TV. Turns out that the old TV just doesn't support colour over a S-Video connector, even if it's connected via SCART. That wasted HOURS of fiddling, soldering, setting-tweaking etc. and on any other TV it just worked fine... so I used a different TV. My next step will be to get a nice flatscreen for it. The most important thing is that everyone can see it, so a small flatscreen with a limited viewing angle is a no-no unless you have some kind of dual-head setup and run one screen for each "team". (P.S. A very brief experiment showed conclusively that playing Jetpac on a 10-foot-wide projector image connected over S-Video is the coolest thing ever, but a very expensive way to run a games machine, so it's just not practical).
- Emulator configuration
Every one had it's own idea of what was Joypad 1. Every one had a different set of buttons on it's emulated controllers. Quite a lot have some weird options or programming that make them totally unsuited to the task. Some quit out if you pressed the same button on the joypad as selected the menu too many times (highly annoying when in the middle of a game). I had Gameboy emulators that couldn't emulate 4-colour Tetris as fast as a Nintendo 64 emulator could emulate Mario 64 on the same setup. I had Megadrive emulators that ALWAYS tore the screen no matter what VSync/Resolution/Buffering/Refresh options you chose. I had a CD-I emulator that will only accept mouse input. I had DOS emulators that needed settings tweaked for each and every game to get the best out of them (and even then at least one of them needed Joy2Key to make it easily playable). ZX Spectrum emulators offer emulations of so many different types of joystick (some of which conflict) that it's a pain to configure them all. Some I fixed, some I persevered and did it the hard way, some I ditched and replaced with other emulators, some I set up with certain limits (i.e. no more than four players, etc.)
- Distractions
Every time you set up an emulator, you just HAVE to test the games several times to make sure that they are all right, don't you?
- Programming
Yep... I did a bit of programming. It's a party machine, it's obvious from the outset. This thing is great at parties. And the best bit is, it's multipurpose. The hardest thing in the world to get is a decent Quiz Buzzer - one of those "who buzzed first" things. So I wrote one. I misused Joy2Key so that any button on the first joypad "typed" a 1 on the keyboard, second joypad 2 etc. and then I wrote a small VB program that just waited for input after the quizmaster had "opened the question" and then whatever character was typed first was declared the winner. It probably wasn't perfectly accurate but it did the job and took about twenty lines of BASIC code and a freeware Joy2Key to do it.
It's a good project to do. It requires limited resources compared to other PC projects (office and schools are throwing out PC's that can do this, TV's are perfect for playing old games on because you don't need the high-resolution of a monitor, any gamepad or joystick will work etc.). It is immensely fun and can be as simple or as complex as you like. It brings people together.
And I guarantee you that, if you are of the age that you can remember playing these sorts of consoles and not just Playstations, you will get ten times more play out of it than spending the equivalent amount of money on the newest games console. For the price of a new games console and a single game you can have every game you've ever played on in full better-than-the-original glory.
Saturday, April 14, 2007
Retro-gaming value for money
Wednesday, March 28, 2007
Jetpac
Seeing how I've been looking back at some of my older games recently, having been disillusioned with most modern ones and without a computer to play them on for a while, I was horrified to spot this bit of news:
Take a 16 kilobyte game, of classic nature, with fast, simplified gameplay, clear objectives, simple controls, that used to run on a processor of only a handful of MHz.
"Upgrade" it for modern machines, in the process making the screen hideously difficult to see what's going on, full of fancy unnecessary effects, several of which do nothing more than make the ENTIRE gameplay field obscured from the player's view, add extremely primitive multiplayer into a game never designed to have it and only release it (online) for one of the most powerful modern games consoles.
And in the process remove years of good game-playing memories.
Sunday, January 07, 2007
Linux - Good enough, Easy enough, Supported enough, Common enough.
I was recently sitting on a bench on the platform of a local train station when a large man, who was sitting next to me, started talking to me for no apparent reason. This isn't unusual - I must attract local nutcases - but I worked out who he was when he asked if I was "into computers". Seeing as I had no indications on me that would suggest I worked with computers, I quickly realised that he must work in the school that I had just finished working at.
I was right, he was a maths teacher there, and once I had realised this, we introduced ourselves and got talking. First, my answer to the question whether I was "into" computers was a little understated. You can't move in my house for flashing lights and humming fans and it's been that way for nearly ten years. It's my hobby, my job and most things that I do in some way tie back to computers.
Anyway, he started to demonstrate his knowledge of computers, a trait that I find common among people who discover that I "know" IT. The first words out of his mouth took him above the average Word-letter-writer and placed him into the "geek" bracket - Java (in terms of programming environments and not just "that bit in IE that makes fancy websites"), LaTeX and Linux. For those unfamiliar with LaTeX, it's a typesetting language designed for hard-to-typeset symbols, usually used with mathematical formulae. Tying this together with my earlier discovery that he was a mathematics teacher at the school, I quickly realised that he a) actually knew more than average about IT, b) he was researching things to help him work and that c) he was already aware of free and open-source OS's and software.
(Incidentally, he was shocked that I had a degree and further shocked that it was in Mathematics and Computing - he hadn't expected that in a lowly computer technician. That made me into "someone he could to talk about mathematics without having to dumb down")
This mention of Linux and LaTeX further elevated him to "person that *I* can communicate with on a technical level". The fact was that he was using Linux, LaTeX and Kile to do his job, without anyone "making" him doing it, without anyone even knowing he was doing it and without any sort of help from other people got us talking all the way to our station.
He had a Linux desktop (although his technical knowledge hadn't quite reached the level of compiling his own software, so everything was RPM-based), he had found a Linux-based program that he found interesting and useful to his own work and he was trying his best to get things running as smoothly as possible. He asked if I would mind if he popped into the ICT office the next time he was around in order to ask some more questions to help him get enough things working that he could demonstrate Kile to the rest of the Maths department in the school. Immediately, I said "of course not". And why not? Because not only was he POLITE, not only was he TRYING to do as much as he could understand (the two main determining criteria on whether or not I go out of my way to help somebody), but he was also trying to use Linux to get stuff done, which isn't the easiest thing for a relative novice to do.
Similarly, my brother has recently had to help the local Scouts complete their IT proficiency badges. My brother is quite a Linux fan but has never really "run" his own Linux system. He has a router/firewall/storage server/print server/emergency-desktop system that I set up for him some years ago and is capable of using it and managing it himself, so long as there is someone like me or a Google result that helps him find the command he wants, once he's discovered he needs to do something.
The Scout IT activity badge is remarkably well-designed, unlike some computer-based achievements for children, in that it does not make mention of ANY particular computer or operating system. Criteria such as "Create a simple website" or "Take part in a video conference" are worded so that, although they may suggest examples for possible software, they are not heavily biased in terms of the platform on which the activities must take place. Most, if not all, requirements could be completed on something as antique as DOS or CP/M!
This is especially good given the average budget of a small Scout group who would be required to arrange such activities on a fairly regular basis. A few old, obsolete machines loaded with even FreeDOS would be able to complete enough criteria for most of the stages of the IT badge, without unfairly hindering the children required to complete them.
It was with this in mind that my brother, a born-educator, wanted to provide a challenge to the more "cocky" Scouts. Those who have been trying to show off that they "know" computers when in fact all they have ever used is a Windows XP PC which was already installed and set up for them would, on the day, be faced with a Linux-KDE desktop. To the experienced, and genuinely talented, children this would be little more than a cosmetic hinderance. To those who have just memorised that they click the "Blue W" or the "Blue e" to get things done, it would be an awakening.
By the time these children are in the workpool, it's possible that the OS's that are commonly in use today would be completely obsolete and not just from a versioning point of view, but from the methodologies and techniques used. As an example, when I was at school, for my "official" education, I was taught to use BBC Micros with 5.25" floppy disks, followed by Amstrad PCW512's with 3" floppy disks with integrated CP/M, moving onto Windows 3.1 machines (with MICE!), which meant drag-and-drop, windowing metaphors, multi-tasking etc., and finally onto Windows 95 (which introduced me to the world of computer crashes and diagnosis like never before). By university, we were introduced to Linux, Apple Mac and SGI UNIX workstations.
So, if I had "learned" computers only from those that were taught TO me from my school days and then been thrown into the workplace, I would have to relearn everything that I knew. The only way that I was able to keep up and still stay ahead of the class (and the teachers) was to not "learn" specific operating systems, terminology, methodology or icon locations but to spot the patterns and learn how to operate any generic computer. This was mainly aided by the fact that I was exposed to lots of different OS's and architectures before I had left secondary school. Since then I have applied these skills to operating systems that I had never seen before. I have managed networks that I have never had any formal training on with only a few seconds in which to "learn" the system. And I haven't managed to blow anything up yet.
My brother learned the same way, that a broad, general education is far better than a targeted, by-rote education, and wished to convey this to the children at the same time as doing their ordinary badges but without hindering them in such a way that it would interfere with their actual results.
Thus, he wanted to trial a small Linux desktop system to use on the day.
He set aside an entire evening for installation, not including hardware setup (inserting hard disks etc.), plus an old 833MHz computer with 128Mb RAM.
It took us less than an hour to install, from a blank harddrive and 2 Slackware CD's.
The next thirty minutes he spent marvelling about how easy the setup process was, how much of the hardware it supported, how much stuff was "pre-installed" with the basic system (enough to do everything that he intended to do, even though he had initially wondered about installing OpenOffice, the built-in KOffice was consider more than adequate), how "obvious" the setup questions were (although he is more than computer-literate, he still loved the explanations given for options that he was unfamiliar with - most of which told him exactly what each option did, why it did it and what he should choose if he was unsure), how customisable the whole thing was, how secure (when running as an unprivileged user) it was and how quickly and smoothly it all worked. The step-by-step instructions held his hand just enough (although he doesn't really need it and isn't put off by reading a HOWTO or asking on a forum or even just experimenting) at every single stage and I usually made him make the decisions about what option to choose - if in doubt, he chose defaults.
Considering it was Slackware (a server-based distro, really, and an older version at that), on an old machine, using more swap to get stuff done than real RAM, with the default 2.4 kernel, with the default VESA drivers on a crappy 16Mb graphics card, without any sort of real configuration, turning features off or having to fiddle, he was impressed at just how fast and usable a desktop system could be created so quickly. There were some rough edges, which was the main reason for my presence as he was perfectly capable of trialling this himself.
For one thing, he had to type "startx" at one point! And then later edit inittab to make it always boot graphically. He had to select hdb in one place instead of hda despite there only being one drive present (weird ancient BIOS assigned the first hard drive to hdb when hda was empty?!) and I advised him to install LILO to MBR instead of the other locations. That was about it. And none of those problems would be present on any desktop-targeted distro.
However, once in the GUI, he created his own, locked down users (i.e. normal users other than root). He had office suites ready and they were trialled at the touch of a button. He was able to change the clock that was out of date - although he was asked for a root password as he was logged in as one of his restricted users at the time. At no point was he asked for driver CD's, Windows updates, or to reboot. Nothing took over his hard disk or wiped out boot sectors without asking. Functionality that could only be enabled with the addition of extra software on his Windows was there by default - multiple desktops, multiple clipboard entries, etc. Everything ran smoothly without any knowledge of the hardware involved (although, admittedly, we didn't do anything more complicated than join the local Ethernet).
And I know from experience that sound (had this computer had possessed even a built-in soundcard) would work flawlessly without "drivers", printer and scanner support would be the work of a few seconds even on Slackware, never mind an auto-detecting desktop distro, wireless would be just as easy and well-supported. The only problems that MAY have appeared would be with exotic or entirely obsolete hardware - and hardware that exotic or obsolete would either not work at all in Windows or certainly not work without installing lots of drivers. With that effort, they could almost certainly be made to work on Linux just as quickly.
We seem to have reached a plateau. Linux is "good enough" for most tasks, "easy enough" for most people (technically-minded or not, especially if pre-installed for them), "supports enough" to make it run on virtually any hardware no matter what its vintage, "common enough" that even relative novices are hearing of it and using it (and in fact most places are using it whether they know it or not in the form of in-house black boxes, routers, TomTom kits, ISP's, webhosts, firewalls, etc.), "supported enough" in that the simplest of Google searches will throw up hundreds of places to find help (whether by yourself, directly from other people or from somewhere that will sell you support).
And it seems increasingly true that Windows is fast becoming "not enough". Not secure enough (Let's not even get into that debate - I'm taking Windows + supplied software + latest updates against Linux + supplied software + latest updates). Not fast enough (with modern Windows' hardware requirements). Not forgiving enough (of sloppy users, old hardware, etc.). Not usable enough (with more restrictions, problems, confusions, distractions and idiosyncracies). Not simple enough (seven different versions of Vista, difficult to install from scratch on "unusual" hardware, harder and harder to get simple stuff working, more and more complex to secure). Not cheap enough.
The only question remains, how long until you've had enough?
Tuesday, October 03, 2006
Slackware 11.0 - first experiences and upgrade process
Well, Slackware 11.0 is officially out after an exhaustive batch of release candidates and (due to some hideously attentive monitoring of the ChangeLog in recent weeks) I've already upgraded to this system. In fact, I've been downloading each new package for the last few weeks as and when they changed the Changelog, and about once every few days, I'd create a DVD and install it onto a copy of my primary partition to find problems before I took the plunge and actually started using it as my primary desktop (replacing an up-to-date, clean Slackware 10.2).
The upgrade, as ever, goes like a dream so long as you follow instructions *very* carefully - don't omit any steps. We won't mention my moment of idiotic forgetfulness where I forgot to upgrade the rc.udev file once I'd installed it or even failing to copy the initial /dev from my existing partition to the "mirror" partition that I was upgrading, both of which caused Slackware to fail to boot... One of those is mentioned in the upgrade.txt (transfer ALL the .new files across! In a moment of blindness, I omitted rc.udev.new), however the other was just common sense if you intend to work from an accurate copy of your existing system! Those installing onto a clean partition should have no problem at all.
After many, many tests (I was, after all, performing a major operating system upgrade on a system that was still being used for "real" work), I copied my Slackware 10.2 main partition to a blank space, freed up 1.5 Gb on it (as leeway for new packages, upgrades, temporary files etc.) and installed the upgrades over the top of this copy. Once I'd followed the upgrade.txt (which, at the time, was the 10.1->10.2 upgrade.txt but still the principle is the same), all I had to do was recompile my kernel (Slackware 11.0 now ships with GCC 3.4 which means you also have to recompile any custom kernel or kernel modules that you may have had from Slackware 10.2, which only used GCC 3.3), reinstall lilo and it all just worked.
However, be very careful if you have extra modules in your kernel (e.g. nVidia/ATI drivers, out-of-tree wireless drivers etc.) as they *will* need recompiling. When you are using the same compiler and kernel on two different machines, the modules are usually transferable between the two machines, but Slackware has changed the default compiler so this time-saving trick no longer works. Failing to recompile them *will* crash your machine, maybe not immediately - for instance, in my initial testing on a blank partition, failing to recompile the nVidia modules and instead "copying" them from a previous installation crashed the machine hard as soon as OpenGL was used, but had functioned perfectly until then (even accelerating X and video flawlessly).
The crash was so hard that the (journalled) filesystem stopped halfway through a write and corrupted the partition - proof, if ever it were needed, that the use of proprietry modules removes any guarantees of stability and also that journalled filesystems and RAID are no substitute for adequate backups. That's also why you should always backup and/or test on a copy of your primary partition before you do stuff like this - I did it out of academic interest and was surprised that X or the kernel didn't throw up more warnings.
Applications, however, should not require any re-compilation at all, unless they are very tightly integrated into the kernel or statically build from the supplied libraries (something that they shouldn't do for most purposes). I haven't found anything that I've needed to recompile except for kernel modules but I'm sure I will find something that will have stopped working - a lot of stuff uses the kernel as the definitive source of information on things like kernel structures etc.
KDE was neatly upgraded to 3.5.4 in the process, all my old settings just ported over without any hassle (although a few KDE-specific tweaks, such as what the taskbar looks like and how multiple-desktop thumbnails work had reverted to a new default - easily changed and they were the exception rather than the rule). And it still runs like a dream.
Given a 1Ghz, 512Mb RAM machine, there is no significant detrimental performance difference between Slackware 10.2 and 11.0. In fact, because of both the KDE and X.org upgrades, programs under X run noticeably smoother - this is an old machine and small optimisations make a big difference when you don't use eye-candy like transluceny and anti-aliasing. Even code like a static-QT installation of Opera 9.0 is seeing responsiveness improvements compared to before. Given that Slackware is not designed as a desktop OS, it functions admirably under such circumstances and the system requirements are minimal.
Because it's Slackware, most desktop software will require, at some point, extra libraries or installations (for instance, mplayer codecs and OpenOffice.org are not included) but everything will usually compile cleanly from source without any patches or there is always Linux Packages.net for packages of any extra software you may need. Slackware's main install is only around the 3-4Gb mark when installed (depending on filesystem and block size) so on a modern hard disk, there's plenty of room for extra software. My main partition (not including personal files in /home directories) rides comfortably around the 10Gb mark and there's always plenty of space for a full install of Slackware plus Wine, Crossover Office, Microsoft Office, OpenOffice and many, many other large pieces of software.
One word of advice - take upgrade.txt's suggestion to just "install the rest of the packages" lightly - in fact the best method, especially if you are short of disk space, is to go through each package directory one-by-one... e.g. upgradepkg --install-new /root/slackware/a/*.tgz etc. Not only does this make it easier to omit the KDE/Koffice internationalisation packages for languages you don't speak (e.g. upgradepkg --install-new /root/slackware/kdei/*en_GB*.tgz), or to omit those packages that you don't need installed anyway (TeX or emacs for example), it saves a lot of time and diskspace and prevents you upgrading to a 2.4 kernel (hiding in slackware/k) and then having to reinstall the 2.6 kernel packages from /extra.
In terms of the final product, hotplug/udev is greatly improved and detects most peripherals and uses them automatically - nothing new or exciting unless you've not run any other recent Linux distro, but being able to plug in a USB drive, joystick or mouse and have it instantly recognised and have X/KDE start using it is a welcome return to the ease of a typical Windows installation. This does require a relatively modern 2.6 kernel though, but the scripts are still designed to take account of older kernels (2.4 or 2.6) that are not able to do this. And yes, 2.4 kernels are still the default for the time being.
One other change to the install process is that the sata.i bootdisk is now set as the default for any bootable CD or DVD (even the text on "how to boot in an emergency" on the boot screen reflects this), allowing direct installion on a old-style-PATA or shiny-new-SATA harddrive without having to select a different bootdisk - apparently a code conflict between the modules for the different hardware has now been resolved, making this possible. It's a welcome simplification to the install process.
All in all, the installation was fairly flawless but be careful about your kernel - unless you stick with the default 2.4 or 2.6 kernels (which will be out-of-date within a week or so, if not already) you are going to have to recompile the kernel and any modules and then reinstall LILO or GRUB. The only other thing to remember (and it's in upgrade.txt) is to ensure that all the .new files that appear on your computer have your settings transferred into them and then rename *them* to replace your original configuration - this way you won't miss any new config options that might have appeared.
I suppose the biggest disappointment would be for Gnome users - there isn't a sign of Gnome left in Slackware (the distribution cited ease of compilation/packaging as the reason for its removal in the last release) although you can still get Slackware packages for it from various third-party sites. To me, this went unnoticed as when I first started off installing Linux with X desktops, I tried both of the major window managers at the time and KDE came off best every time. Gnome felt clunky, old, out-of-place, like the Borland Windows dialogs used to back in the early days of Windows... nothing WRONG with them, they just didn't fit.
They are both now skinnable and in fact either can look like the other, so it's not a win-win situation - however, because of that there's also little reason to claim Gnome's loss is devastating... KDE can be made to work just the same and in fact the two projects are collaborating on just about everything these days. The GTK libraries etc. are still installed by default and, in fact, some ancient Gnome-based software that was left on my setup from its previous Slackware upgrades still functions perfectly.
People say that KDE is full of bloat but, I'm sorry, 3Gb for an entire OS including X and an office suite? That's well within the realms of convenience on a modern computer and most packages can be omitted if you really want (you can get a X installation down to less than a Gb if you really try and omit all the rubbish - I'd hate to imagine what the absolute minimum would be - I should think it would be amazingly small). And a 512Mb system showing only 100-200Mb in use when I have several applications open (and a few dozen background processes including Apache) under X/KDE is perfectly acceptable. And with KDE4 currently in development, the introduction of QT4 is supposed to make everything so much faster and leaner. But let's not get ahead of ourselves.
Altogether, Slackware 11.0 is another flawless upgrade of a "clean source" distribution - there are very few patches to the software included on the disks and the kernel is always "pure"... making upgrades, recompiles and troubleshooting simplicity itself. I should also imagine that it makes the lives of the software developers much easier as the bug reports are directly relevant to the software, rather than patches that the distro has tried to add itself.
Thursday, September 07, 2006
Computers, gadgets, modern life and control.
It occurs that I've discovered a major theme in my life - control. Everything that I own has to be under my control. This obviously starts with my PC. Starting out on DOS, I was used to controlling most aspects of the computer's operation; I could control what programs it ran, whether they stayed resident or just ran once, when they ran, etc. Windows 3.1 also allowed such control but moving towards the more modern Windows OS, I gradually realised that I was losing this control. I didn't know what programs were running, when or why. I couldn't change settings, I couldn't rename stupidly-named menus or folders, I didn't get choices over where software installed itself and a lot of the time I couldn't change it later.
So I switched, to Linux of course, and now I have my control back. I get to decide what runs and when. Programs don't mysteriously insert themselves into the depths of my computer without me a) knowing, b) being able to revert the changes or c) having some way to prevent it. Software doesn't taunt me with promises of being able to do something only to stop me doing that exact thing until I pay more money, take out a subscription, click on an advert etc. If it does, there's always an alternative somewhere that I will be able to freely use. This is what used to make Windows more tolerable - If I couldn't control some aspect, such as which programs are allowed to connect to the Internet, I could always find some shareware or freeware that would allow me to control that aspect.
Unfortunately, this modern epidemic of removing control of modern electronics from the user's hands (the person who PAYS for these same products or services and enables them to be produced) and into the hands of the company (that receives the money, could not be in business without the user and whom, without checks, would dictate when, where and how much upgrades and further products will cost) has reached even the humble television.
Televisions and VCR's were always quite complex for the inexperienced user and rather difficult to exercise control over. I've seen at least one TV that, by a single keypress, will wipe out all its stored channel information, seek out every frequency and insert only discovered stations back into a list but in the order it finds them rather than any realistic ordering (such as by channel number etc.) and in so doing wipe out any channels for VCR's, games consoles or camcorders that might have been painstakingly set up.
The programming of the average VCR was legendary but towards the end of its life it became greatly simplified - no longer were they used as tuners but just as plain recorders, thus eliminating one level of commplexity in setting up recordings. VideoPlus codes enabled simple future-recording of programs on any channel for the exact time required to capture a particular program, even in some cases accounting for last-minute re-scheduling. Now most of that same functionality has moved into the era of the DVD-Recorder and HD-recorder although if anything the complexity is even more reduced - integration with automatic digital TV programme guides enables one-touch recording of future programs just from advertisements or trailers on any of a thousand channels. Programme guides also make browsing and recording any program on any channel on any day a breeze.
However, DVD has brought with it restrictions - restrictions which remove our control. You can't play an American DVD on a British DVD player - why? Not because of a technical difference, not because of an incompatibility but because the DVD inventors and distributors don't want to let you. Why? So they can sting more money out of you if you happen to live in such a closed market. The solution? Most DVD players sold are now either multi-region by default or multi-region capable. However, problems still remain with this format - UOP (User Operation Flags - those restrictions that prevent you skipping trailers, adverts, copyright warnings etc.). Again, these are an in-built mechanism designed to do nothing else but ensure that you see those messages.
When you are browsing your DVD's or waiting for the film to start UOP's are usually mainly used on trailers and commercial content that the user just DOES NOT WANT TO SEE, ever, and after they have seen it once, why would they want to watch any of it again? Sure, give them the option to see it again but let them skip it if they want as well. What's so wrong with a menu option on the DVD that lets me see trailers and other notices IF I decide to? I am perfectly aware of copyright law and if I wish to skip that inevitable 20-seconds of static screen I should be able to. Few DVD players have anything that lets you bypass the DVD's UOPS - however most PC DVD players can be patched or have utilities installed that will make them bypassable.
In fact, the libraries and media players that I have installed on my Linux computer just to be able to watch DVD's in the first place automatically do this for me - I just press skip and it skips forward, no matter what the DVD says I can or can't do. My control is restored, just not in my own front room where instead I make a point of noting which DVD's have excessive UOP control and either copy them, removing it in the process, or label them so I know to put them on five minutes before my tea is done so I can be out of the room while they go through their rigamarole. If neither is possible or practical, I merely make a mental note to never buy any of the things advertised and to try not to buy from the same distributor again, or at least not until they sort their act out. I honestly have a product/manufacturer blacklist in my head whenever I purchase a product.
My PC speaker's don't insist on locking themselves to full volume when a banner advert plays sound because it's intrusive, obnoxious and counter-productive (I will not buy those speakers or will stop visiting those websites) so I don't see why I should be forced to sit through ten minutes of adverts just to get to the film that I'VE PAID TO SEE. The same principle applies to cinema - how many people don't go in until the main feature has started, i.e. ten minutes after they say it starts on the ticket?
My car takes a lot of my control out of my hands but for very important reasons (my life, my safety) I still have control over some important points. I don't expect to be able to modify the algorithm that controls the activation of an airbag by any setting or by modifying any software or hardware - I wouldn't want to and there is no reason to. However, I would expect to be able to disable it, for instance, in the case of an emergency or if someone was working on the steering rack. This particular device is something installed to save my life - I don't expect it to be at all tinkerable or for it to be disabled without major interference with the car and major warnings (i.e. my airbag light staying lit on the dashboard).
Additionally, I want to be able to sue the airbag manufacturer if it failed to be deploy in an emergency situation (or my relatives but ideally **I** would be the person suing the company!). Therefore, I don't need to, or want to tinker with the details of its operation but I still have overall say over whether it's turned on or off. Relatively speaking, then, I have more control over my airbag than I do my DVD player, which has no reason at all for failing to let me turn off an unnecessary feature that allows me to enhance the use of hardware that I have purchased.
Would people tolerate a TV that would lock you into a single channel when you had selected to watch a movie and not allow you to change channel or switch off until you had sat through ten minutes of trailers? (The strange thing is that such TV's probably exist or are at least feasible for being manufactured today!) Would people tolerate vacuum cleaners that refused to suck until they had noticed your carpet was dirty, or because you used a competitors dust-bag? (Again, another likely occurence if the current state of inkjet printing is anything to go by) Would people tolerate telephones that auto-answered calls from marketers who had paid a fee to the telephone company and put them straight onto speakerphone?
One of the most popular features on telephones in the UK is a "Do Not Call" list for marketers, with severe penalties for companies that do not take account of it. My telephone has Caller ID functionality - I even get to control WHO I answer the phone to. My front door has a CCTV system - I get to control WHO I answer the door to (and leave marketers standing there in the cold and the wet). My oven and microwave do what I tell them to (within certain set parameters to ensure safety) and don't try to override me.
Most control-restrictions boil down to copyright control and advertising. Now copyright control is something that no form of protection has ever or will ever stop. Cinemas and DVD manufacturers are usually the source of any leak of pre-release films, professional copyright infringers have the knowledge, equipment and ability to bypass anything that the manufacturer may put in their way and those infringing copyright will not be stopped by such petty restrictions. Laws like the DMCA and its international equivalents fail to take account of one point - if someone is willing to break the law by pirating a movie, they will not think twice about breaking a law that prevents them from buying a device or using the "analogue hole" (the fact that if I can view it in any way, there will be ways to record that viewing, even if they are as primitive as using a camcorder to record the image on-screen) to copy the movie in the first place.
Additionally, it's impossible for a device alone to determine whether a copy process is infringing copyright - I am allowed to copy my DVD's for backup purposes in many countries. I may make one copy but then if the original disc breaks or is lost, the backup copy that saved me will also need to be copied, or I will have to obtain a second copy from somewhere. No chip in the world can currently decide accurately (or even just "well enough") whether or not I'm infringing copyright in doing either of those. In fact, in many cases, such backups are necessary. If you have ever let children loose with DVD's you will know that the discs scratch easily and many companies even refuse to provide copies of the DVD if this accidental damage happens to one you own (in the days of the ZX Spectrum, almost every company that distributed tapes would replace them free-of-charge if they stopped working).
The device has no way of knowing whether or not I am copying a DVD that I personally own or one I've rented or one I've filmed myself - in many cases this is the way that most modern copyright control systems end up being bypassed - any copyright flags or restrictions are removed to make the device "believe" it's genuine. Proof of purchase should be all I need to ensure that I can copy the disc and/or view copies of the disc. Even in court I'm innocent until proven guilty so it would be up to the device to prove, legally, that what I was doing was illegal. It couldn't. Ever.
That leaves advertising. Advertisting is not the only way to make money, or make your product known. Obtrusive advertising is a guaranteed way to lose money and make your products and even your own company infamous. If I wish to buy a product then I will research it. Not only will I not take any notice of brand-names or memories of previous advertisements of a company's products but I will absolutely blacklist a particular product, manufacturer or even entire line of products (such as DVD's or Blu-Ray or similar) based purely on how much control they expect to have over me. When I'm buying a product, the information available to me is what I base my decision on and not what advertisements I've seen in the past. When I go to the cinema, I base my decision on what is showing, not on every trailer I've seen since I last went to the movies and the ones before that. Only at the point of purchase do I NEED to know about any product.
As the years go by and copyright-protection gets ever more restrictive and more and more control is taken out of my hands, my mental blacklist grows. HDTV with it's amazing copy-protection? Blacklisted. (and my TV is five feet from my sofa and I don't see either how it will improve my perception of the TV image at that distance or why it's worth paying out for a mere resolution enhancement) Operating systems that want to dictate what audio/video streams I can play, where I can output them to or how many copies I can have installed? Blacklisted. (although I would like to point out that every OS I've ever installed has been properly licensed.) Cars that would only accept parts produced by their original manufacturer? Blacklisted.
And when enough of these blacklisted items are from a particular manufacturer? That manufacturer is blacklisted in its entirety.
The future, with its gadgets and gizmo's which are "vital" for modern life, holds immense interest for myself. As gadgets get more complicated, there has to be a certain amount of internal abstraction. We don't need to know how or why they work, just so long as we control what they do. My PC is the most complex appliance in my house and yet I exercise full control over what it does. My VCR has immensely complex integrated circuitry, although nowhere near that of my PC, that I don't need to understand to be able to use it and still it doesn't remove my control of its operations. Manufacturers would have you believe that "you can't" change what things do, because they are such complex machines. However, we have to keep in mind what motives they have for removing any controls we have - for instance, DVD region control and UOP's. There is no technical, functional or legal reasons (except for enforced compliance with what the manufacturers believe we should be paying for their DVD's in our particular country, whether or not we are legally able to import cheaper versions of the same DVD) why these two features should even exist and they can only interfere with our use of a product that we pay for in the first place and continue to fund by buying DVD's.
Are DVD's a product or a service? Is legally-bought downloaded music a product or a service? Is the computer hardware or software I buy a product or a service? If I stop paying for subscriptions and upgrades, or stop watching the advertisements, should things that I've "bought" be taken away from me? Everyone who sells these things wants them to be a service - they can charge more in the long run and revoke your use if ever you change your mind about paying for them. Everyone who buys these things wants them to be a product - they can control them and do what they want with them inside the confines of their law-abiding homes. Somewhere along the way, someone's going to have to come up with a reasonable compromise.