08 June, 2009

BSD - Reliability, Fast Speed, No Cost, Open Source. Yup.

Oh dear. It blew a gasket

Yeah. So much for FreeBSD 7.2 being super-robust, or so I thought. It seems that FreeBSD doesn’t like holes (bad blocks) in file systems any more than other operating systems do, and there’s no way of telling FreeBSD's UFS2 filesystem to include a list of bad blocks that it finds when it builds the filesystem, though in way earlier releases, there used to be just such a utility, called bad144.

I had put FreeBSD on to the 20 Gb drive after I had moved Linux data off it to another drive. After I installed FreeBSD, it worked really well. Right up until I had to turn off the power on it one day, as it had locked up fairly solid. When I brought it back up, the inevitable fsck happened, as most operating systems do when a partition hasn’t been cleanly unmounted. It got stuck when it couldn’t read a particular block, and wouldn’t go any further, even when I ran fsck manually. Needless to say, I then backed up the data to another drive, and will figure out what else I need to do—perhaps I can migrate the DOS drive to the end of the hard disk so that I can restore FreeBSD into a space without any “holes” in it.

So where to from here? Any other issues?

I have to say that that has been the only issue I’ve struck with FreeBSD 7.2 so far. Yes, the issue’s a biggie, but no real reason to pan the whole OS just because of hardware fallibility. And frankly I like the idea of the whole of the source of the OS (that’s not just the kernel, but also the base applications) being available in one place, as opposed to the normal Linux behaviour of the kernel being downloaded from kernel.org, and the applications (whichever applications the distribution decides upon) being provided from other sources, such as the Free Software Foundation’s GNU suite of applications

FreeBSD shares this model of supplying a complete operating environment with the other variants of BSD (Dragonfly, NetBSD, OpenBSD and others), and has offered models for other operating systems to do the same—FreeDOS is one example, Plan 9 is another.

Oh yeah, another thing—FreeBSD doesn’t seem to much like my SATA controller (a SiI 3112 with added USB/Firewire interfaces) and won’t actually read any data from the drive connected to it. Strange, but again, not a reason to pan the OS. It just seems strange that Linux has no appreciable problems both booting off the drive, and running off the drive, yet FreeBSD has issues. Driver code, perhaps?

And now, a bit of history

The origins to the free versions of the BSD operating system reach all the way back into the late seventies when UCB and others were providing patches to the then king of operating systems - AT&T UNIX. All an institution needed was a valid UNIX licence, and to be able to pay the (relatively for software) minimal cost for the tapes and postage, and they could have the BSD additions to UNIX for a song.

Of course, this still didn’t bring BSD into the realm of the average C64/Amiga 500 computer user of the day, but it came close. Generally if you were earning enough money, you could buy it yourself (along with the expensive AT&T UNIX) and install it on your own hardware—probably also very expensive at the time. It wasn’t until the mid eighties that an attempt was made to reduce the cost to practically zero, and remove the requirement of having an AT&T licence. It wasn’t until the late eighties that Bill Jolitz and others decided to port BSD to the then-popular Intel i386 processor to produce the 386BSD OS, that people at home finally had a UNIX-like system they could afford the cost of. The story of the initial release of 386BSD was published in Dr Dobb’s journal over several issues starting in early 1991. While 386BSD was not a success, eventually foundering for technical and community reasons, others took up the charge and furthered some of the concepts at least, if not the core of 386BSD - and merged it with some work done to produce 4.4BSD-lite, and then produced FreeBSD from that merger. Further history is mentioned in the BSD wiki entry and is probably more accurate than I have just been. Other exceptionally informative articles live at Lynne's Blog. And yes, that's Lynne Jolitz, wife of William Jolitz, one of the architects of 2.8BSD and 2.9BSD, among other things.

And now? Anything else to report?

Oh yes. You want to know where to from here? Well, now that I've installed FreeBSD, I've found that I'm having slight issues in GUI mode, as things only seem to kick off when I move the mouse. Hm. Not terribly useful to me, but it’s something I can handle. I’ll have to deal with all that once I actually get the FreeBSD data reinstalled into a slightly safer place - somehow, I suspect a hole in a DOS drive isn’t going to have quite the same problems as a hole in a BSD filesystem.

That will at least mean I can keep playing with FreeBSD.

28 April, 2009

Stuff, or fluff?

Is it stuff, or is it fluff?

Yup. What's it really worth? That stuff you've collected over the years? People will debate this topic like, forever. Compare, a 1946 Austin 7 against a 2008 Ford Falcon. Just doesn't compare. One goes faster than the other. One uses less petrol than the other. One is a darn sight easier to repair - guess which one. Yet will you find the ardent Austin owner willing to give his precious vehicle up for a modern vehicle instead?

Uh, no.

Then there's just uh, fluff.

A 1995 Pentium I 90Mhz machine with four 72-pin memory slots. It's got four PCI slots, two VESA slot and two ISA slots. It's just been consigned to the tip because it only supports a maximum of 128MB memory, and that's only Fast Page or EDO. No SDRAM support here. Its keyboard controller is shot, though fixable with another chip from a similar machine, it's just an 8042. The internal inbuilt CMOS battery is shot, resulting in the CMOS clock being reset to 01/01/1980 every time it's powered on. Even if the CMOS were to retain the time between power ups, it fails the Y2K test. The hard drive controller doesn't support a hard drive faster than 8.4GB from the BIOS - yep, that's that 1024 cylinder limit kicking in. The CDROM drive is double speed. The floppy drive stopped working about seven years ago and hasn't been cleaned of dust bunnies in nearly that long. The IDE cable only works if it's twisted in a figure eight around the power cable to the hard drive, and even then requires the occasional kick to make sure it stays in place for longer than 15 minutes. Hence the rubber band holding the connector onto the drive. Oh, hang on, that's perished.

At least Linux boots on it. But really, it's for thin client use only. Oh, hang on - NetBSD boots on it too. Remember? NetBSD runs on everything. But definitely time for the recycling plant. Oh, wait a minute, this doesn't conform to ROHO guidelines for minimum levels of exotic chemicals used in the manufacture. So we can't even recycle the components.


Fluff.

Another piece of fluff: a hand scanner with a proprietary 8-bit ISA card that plugs in and only has drivers for Windows 3.1. God, that is SO fluff.

Then, there's my own piece of fluff that I actually still own, because it hasn't canned over yet. It's an XT. Not a true blue, not even close. It has a Hercules card AND a CGA card. It has TWO XT drive controllers, I'm not sure which one works and which one doesn't. I have two 20MB drives. Yes, that's Mega bytes. Not Gigabytes. And they're both MFM. I think the CGA card has a serial port on it too, which leads to a bit of confusion when plugging in the sickly green monitor I still have. It's destined to become a classic, though not a very good example of the class of XTs available. It even provides a 10MHz Turbo!

I'm sure I don't have to provide any more examples.

Are we on to the good stuff yet?

Then, there's stuff. Like the current batch of netbooks coming out. The previous generation of these didn't have much memory, and only had a 2GB SSD drive to store the whole OS onto. Not a lot of room, I think you'd agree. And probably destined to become the year before's fluff. Or hand me downs. Or something like that.

The more modern incarnations however, feature the later Atom processors and a decent amount of drive space. Smaller than a laptop, they also take less power than a typical laptop, yet they have features that most good laptops have, like a crystal clear screen that's literally gorgeous to look at. It's only 1024x600 on an 8.9" screen, but that's still large enough to display documents on and not get eyestrain. It's eminently portable, folding down to not much larger than my FX9750 calculator, but a darn sight more powerful. I'd be happy enough to receive one of these in about four years time, as I've been looking for a machine that I can read ebooks on, type up the odd source code file, or perhaps even listen to some MP3 tunes. Trouble is, I probably won't end up with one, as they'll probably be retained by their owners.

So—what items of fluff or stuff can you provide? How low can you go to provide a horror story of a machine touted as the best thing since sliced bread, yet ten years later (or less) has ended up simply being the biggest lemon of its class? What would be your current dream machine or geek item? Nothing too weird, it might end up being next decade's lemon.

I'd love to hear your comments.

12 April, 2009

A fast bit of chrome.

Wow - I've got my cake and I can eat it too!

I've been taking the latest Google Chrome browser for a spin recently, and I'm frankly pleasantly surprised. There's only one thing I've found that I can't do in it, but more on that later. It's fast, there's minimal "fat" with it (no superfluous stuff) and it renders content accurately—or seems to, anyhow.

Let's apply the ACID test

Google Chrome's ACID3 test picture

I ran Chrome through the ACID tests, and it seemed to pass all but the ACID3 link test with flying colours. Chrome passed every element of the ACID3 test but took too long, which is about standard for my machine (Duron 1GHz, 1256MB, VIA motherboard, ATI Radeon 7000 AGP card). For some reason the linktest seems to show up as failed too. However, I can probably forgive these few failings. This is definitely a plus for the toolkit that Chrome is based on (WebKit, otherwise known as KHTML, used inside KDE's Konqueror.) Firefox 3.0.10 managed 71 out of 100 tests, and was quite slow in the process even on a Celeron 2.8GHz machine, though I'm not going to screenie it here, as this article's already too bulky.

Picture of IE7's ACID3 test picture - oh dearIn a not surprising comparison, Internet Explorer 7 looks like a dogs breakfast, I can't even tell how many tests it uh, passed, neither can I click on the letter A to find out. I really really hope for Microsoft's sake that IE 8 fixes some of the bugs with the renderer, because frankly in the mode I had IE7 in (fairly much untweaked, how you're supposed to have it), this response to the ACID3 test is totally useless. Incidentally, from what I've read on the current-at-the-time Wiki page on ACID3, apparently Microsoft don't actually intend on making their browser achieve a perfect score.

Microsoft, developers of the Internet Explorer browser, said that Acid3 does not map to the goal of Internet Explorer 8 and that IE8 will improve only some of the standards being tested by Acid3.[17]

Aww, I found a bug(let)

As I said before, I've only found one thing I can't do - and that's to delete entries off the list of downloaded files. In comparison, Firefox shows a list of downloaded files, and if this list becomes overly large, it affects how fast Firefox loads and displays documents. However, I'm able to delete entries from that list, unlike Chrome. Will Chrome fall foul of that same problem? I rather hope not.

There's not really much more I can say on the subject, but well done, Google. I'm impressed enough to have made it my default Windows web browser, supplanting poor old Firefox 3 in the process. The only questions I have left are:

  1. when is it going to appear on Linux, and
  2. when is it being open-sourced?

Apparently, as WebKit is open-source, we already have the basic codebase of Google Chrome now... just not the source code to the Google tweaks they made to make it so screaming. I imagine that Safari may well have similar results to Chrome, due to its use of the Webkit codebase.

June 8th 2009

Further to the article, I finally got a copy of Internet Explorer 8, and fired it up on ACID3. It has improved on its godawful previous score of 12/100, and now the picture at least looks a bit like the reference page. Now there are boxes of about the right shape, though they don't appear to have any colour in whatsoever. *sigh*. Never mind. We can take hope that eventually, Microsoft will come up to par. IEX, maybe?

Oh, sorry. You wanted to see what it looks like on my computer? Doesn't this article already have enough heartbreak in it?

08 April, 2009

Finally, SQL Server Express 2008 is installed

It was a bit of a struggle

... but I did it. After a couple of false starts, that is. I initially selected SQL Express 2008 for download and installation, (that's Microsoft's server for those not in the know) and then found that I probably should be installing the SQL Express 2008 with Advanced Tools. Well, I tried. I really did. The problem was, the file wasn't playing ball. Either I'd download it and attempt to install it and find that it was broken when it was decompressing, or I'd not even manage to get it to download. So I gave up and went ahead and installed just the plain server from media I already had. Then there was the little debacle I had just getting the Management Tools working. I also wanted to install some sample databases I'd seen on a Microsoft website in relation to the SQL Server, but every time I kept trying to install it, it kept failing stating I needed to enable Full Text search. That particular facet is only supplied (at least in the Express versions of SQL Server) with the Advanced version.

I had a feeling that Full Text Search was an option that I could tweak by installing the Management Tools, so I gave that a go again. That eventually got installed today, after I downloaded the standalone executable for the tools to add to the standalone SQL server. I did have a struggle when I tried to execute the management tools executable the first seven times, but all I kept getting was the SQL Server Installation window. What I hadn't realised is that because I hadn't (apparently) completed the install of the SQL server the first time, I had to complete that step first. Once I actually did that, then things started working. I ticked off the box for Management tools, then waited while it spun the drive platters, and installed. Whew. Finally I had them installed. I tried the tools out, but found out that I did really have to install the Advanced version, just to get the sample databases installed.

So, I decided I was going to give the Advanced install a try, given that I'd had success with the installation of the Management tools. So, I clicked the executable that I needed to run, chose "Advanced", and waited. Finally, it actually installed properly. So then all I had to do was choose the facets I needed. I ticked off the Report module, and the Full Text Search boxes, completed the process, and sighed after I saw the two "Success" boxes.

Another struggle

... I'm going to end up with (now I have the AdventureWorks databases) is simply getting my head around how to use Microsoft's variant of SQL; either as a simple SQL server (which is normally how I'd use it) or in any other aspects of how to get it running better. I'm used to that, though I'm pretty new to the whole SQL scene. My only previous experience has been creation and maintenance of databases and tables in a PostGreSQL environment, as well as issuing queries against that database. I've also tried out two GUI front ends to browse databases.

Other issues include how I can make full use of the whole Visual Studio environment (at least the Express portion), and how I can compare it with the equivalents under Linux/FreeBSD/Solaris. Namely, that's gcc for Linux and FreeBSD, and Solaris' compiler suite in addition to gcc running on Solaris. Once I get enough programming experience under my belt, I eventually want to get to the stage where it really doesn't matter what environment I'm using or what compiler, I should be comfortable with the tools in use.

I'll let you all know what luck I have.

01 March, 2009

In, out and round about.

In for a penny.

Okay, so I've got this tape deck and radio combo I have to occasionally repair, because it tends to uhm, not go right. Anybody would think I'd just go out there and get a new one, junk the old one, you know. Well, One - I don't have any money, so two, I like to repair my own things where I can. Saves ME money, saves other people's time telling me they can't fix it because they no longer have the repair manual, yada yade yada, gives me the satisfaction of repairing it, and so on. Only ... somewhere in the back of my mind is the nagging thought of "what happens if I can't repair it this time?", and then I get a little worried.

I thought "Right, I've had enough"—I feel like I can't be bothered with having it in the state it was in; namely, not working. Now "not working" to me, means not performing as it was originally built to - in this case, the tape mechanism wasn't playing... something was jammed. I wasn't sure whether it was the transport mechanism or not, though I'd almost ruled out any of the circuitry beyond the playback/record head, and settled on the problem being almost purely mechanical. Those sorts of problems, I can fix. I'm no electronics whiz, can't measure a transistor's hFE without hauling it out of circuit to do so, and besides which, mechanical problems are a bit more amenable. At least, that's what I was hoping the first time I headed inside the case.

Okay. Speakers unplugged, unconnected and hauled off. Then, it's on to the screws. First five screws unscrewed, off comes the back.. hang on, no it doesn't, there's something else holding it on. Damn, where is that fifth scre... ah, there it is, on the base, along with the other six screws I have to probably undo, just to get the sides off. Off comes that screw, the other six screws, all neatly laid out in order so I can put them back on when I've fixed the problem in seven minutes, or so. Then off comes the back, gently, while I figure out which of the three leads have to come off... in this case, I decide, all three can come off. Gently does it, that's AC Flex I'm unbending there. Right. That's the back done. Now, how does... ahh, that's right - once the back comes off, the sides will come off in one assembly. Ease that dial thingymagig off, I'll need that later for the pot on the fine tune control. The buttons will stay in place - they're nice like that. One was missing long before I got the tape deck, so I don't worry about stereo/mono switching any more, though I do toggle the switch back to stereo while I notice it.

I reach inwards to see if I can twirl the motor around, the usual fix for this particular problem - oh, I can't get to it. Now, how the heck did I do this last time, twenty two months ago? (Or was it longer? I can't remember) Ahh, that's right—there's a central screw tying the front to the circuit boards, just in behind the transformer cables from the diode bridge. I reach for that screw, have it out in a matter of seconds. I'm doing well now, I can take the front off, and finally look at the little flippy thing that turns the head around for playing the tape in the right direction. I figure it's sort of up, but not really, and reach for the wheel in the back to twirl it around again, only I still can't get to it. I'd need fingers like spiders legs with the strength of cabling to deal with that... right. Time to take the whole tape transport system out - luckily it's all on one lump of metal, secured by four easy-to-reach screws. I have them off, also in a matter of seconds, also laid out neatly so I can put them all back in the order I took them out in. You can't be too careful when you're doing this job - no sense in having three more screws left over when you've finished than when you've started. It's off with the rubber band for the digits capstan, that always comes off anyhow, so it might as well come off properly now.

I finally get my fingers on to the wheel concerned, spin it around some until I hear a satisfying click from the mechanism, don't bother to check the head's flipped around, as that's what usually happens anyhow, right? Everything looks good, so I put mechanism back, screw the four screws back into place, and even remember to put the capstan band back on. I'm hot to trot as I put the front back on, uhm, wait a minute, something's not fitting. Oh, that's right. The spike for the direction-switch mechanism popped out from underneath the screw that was holding it down so the tape mechanism would go around to begin with. This is beginning to be a little unfunny. Undo the teeny tiny little screw (I've had to find a third screwdriver to take this one off; as it's so tiny, none of the other screwdrivers have heads that little), and set it aside, with the teeny tiny screwdriver head pointing at it so I can find it again. Put the front on again, good, it all fits.

Put in the little screw, then the sides, then put the back on... oh, hang on, I've got to connect those three leads back so they don't short to anything inconvenient, like the hot side of an AC cord, for example. This puppy's not earthed, so being careful of that fact will save someone's life. That's Batt+, Batt -, and ... hang on, this white wire doesn't go anywhere. Oh, that's right, it's the aerial plug. Right. Pull it over to the obvious contact. I can stick the actual telescopic aerial back on it when I get it back into the bedroom. But for now, I'll stretch.... hm. Won't come that far.. Weird. Hang on, pull the back a bit further into the case so the wire will stretch to the contact. Right. That's come far enough now, let's plug it on and have out of.... wait a minute, it doesn't fit. Am I sure, or am I only imagining it? After another couple of minutes of fruitless poking and prodding, I give into the realisation that no, the aerial contact isn't that one. Where the heck is the aerial connector? It surely can't go onto the tuning capacitor, those are NEVER used as aerial inputs except for DC (direct conversion) sets and crystal sets and the like.

Ah, it's up over in the corner, right next to the AM rod. Figures. Right. Let's get my fat little fingers in there—no, they're not actually fat, but they certainly feel like it in this job. Can't quite reach down into the case to get the connector onto the spike. Rats. I know this came off, so it can jolly well go back on! I need more room to work in. Ah, that's right, I just put the sides on, let's see if moving those aside does give me any more room. Reach over to the sides, pull them off in one piece, set them aside. Yup, now there's plenty of room to put everything back. Cool! Put the recalcitrant aerial connector back on, fit the Batt + and the Batt -, and get ready to put the sides back on. Grab the sides, slide them back into place, put back the six screws I pulled out from the base earlier, and eventually reach for the back to put that back into place. I'm almost done now. Reach for the five screws, put them back into place, and tighten them down. We'll test it now.

Out for a pound?

Plug into wall, find tape (Jean Michel Jarre's "Concerts Lyon/Houston") and close door. Press power. Nothing. Flick power switch—handy, that. No lights. Oh, hang on - I can't hear anything without earphones. It's time to grab those from beside the mouse hub, uncoil them and insert relevant plug into relevant hole. Ah, that's right. This tape deck needs that lever depressed so it can play tapes. Depress lever some and screw the tiny little screw back into place. Press power again... hm. No satisfying "Clunk" as I hit power. I flick the switch, only to realise I've flicked it already. I toggle the power switch—nothing. Darn. Here I was thinking this job was going to be simple. Turns out it just got a bit more complicated, and I have to dive back inside to figure out what else is wrong. I've never had this problem with this tape deck before, guess there's a first for everything.

Back into the case, undo the five screws—hang on, gotta power off and unplug. No point in frying myself—this is an unearthed case, remember. Undo five screws; can I do this job without having to remove the sides? I seem to remember that if I don't have to remove the sides, that saves me about six screws, and a bit of work. Take off the back, remove the Batt and aerial lead, set aside screws in the usual order. Reach for the bottom of the circuit board; darn, gotta take off the base anyhow. Guess the sides are coming off after all. Take the screws out, take the bottom and sides off, have a quiet look around to see what I can see on the bottom (copperised tracks, but still somewhat conducting) or the top. Nothing's obviously wrong, so I figure I must have jarred something loose. I put back the sides, the back, plug back into the wall, just to check out. Hm. Nada. Obviously not connected yet. Time to remove the back and the sides again, and have more of a nosey around inside. Hm, better check the fuse while I'm here, I guess. It looks a bit coppered up too, come to think of it. Pull it out, looks good to me, put it back in. Plug into the wall, flick switch, nope. No juice. Unplug, scratch my head and wonder what the heck happened. Pull meter down from bench, set to AC, 1000V, put neg probe on the case of the transformer, the pos probe on somewhere else hopeful. 4V. Nothing really useful. Try DC volts instead ... 4V. Well, at least it's consistently f00kd. Scratch my head some more, flick the power switch off again, look at the back, flick the voltage change switch a couple of times, figuring anything'll work. Plug back in, and flick the power switch. Hey! There's lights this time! Wahey!!! I think my job's almost done.

Now I've sorted that out, I can put the case back together, so I do that, remembering this time to put the back on first so I can connect the aerial lead, then I can put the sides on, then put the back on properly. Plug back into wall, and I decide I'd better run one final test to make sure everything's all right. Maybe it was just the power glitch that caused this. Flick switch, satisfying lights glow. Reach over for the earphones, get them plugged in—radio goes. That's at least good. Flick the switch back over to tape, press play. Uh oh, nothing happens. Oh, that's right - this wants its lever depress... hang on, it's already depressed from when I screwed in that little screw again. Oh, great. so the original problem is still not fixed.

sigh

Undo the first five screws (again), remove back (again), remove only the four screws that actually hold the sides on, because now the base can stay on as I don't need underneath it. Remove the central screw inside, as I need back into the tape mechanism again. Pop off the front, taking that little screw out too... yup. gotta point a little screwdriver at it so I don't lose it. Off with the capstan band, off with the four screws that hold the tape mechanism in place, and I ease it out to have a further look at it. I ease out the tape from the place where it's sitting, press the play head, and it doesn't move. So I press play - the play button depresses and locks satisfyingly. But the head doesn't actuate. Weird. I jiggle it a little, and it flicks, and pops back down into place. Ah, I see. Now it should actuate. Press play, nope. Doesn't actuate. Strange. Jiggle around some more, then realise I have to flip the head around manually anyhow. Do that, then press play. Clunk. The head actuates, finally. Good. Press stop, the head drops back down. I think I'm done here, so I'll wrap up. Put the mechanism back into place, not quite as easily this time, as I have to contend with the base being in place instead of neatly out of the way. Still, I manage it, and put the front back on, remembering to put the little screw back into place to lock that lever down. Put the central screw in to hold the front on, then put the sides on, put the back on, oh, hang on - have to put the aerial back on, so it's off with the sides, on with the aerial connector, then on with the sides, then on with the back. Put a tape into the mechanism, plug in the earphones, plug in the plug into the wall, flick switch, flick power on. Press play, ahh. NOW it works. I even hear sound, though it's .... hang on, it's backwards. Whoops.

Press stop, off with the power, unplug, five screws, four screws, central screw, one tiny screw, front. Remove tape, fiddle with head, flip it around. Tiny front screw back in, central screw, etc etc... only this time I don't put the back on. Just put the tape back in, press play. Yay, now I get sound; though it's a bit muffled, it is recognisable and playing in the right direction. Cool! While the music's playing, I put the sides on, aerial contact didn't come off this time, so it's the back on after the battery contacts go back into place. Plug the power in - yup, still goes, still plays the tape. Good. I'm done.

And then I realise the capstan band is still out on the floor.

Expletive deleted by request of owner

Suffice it to say, that after the job was finished (and after a suitable couple of deliberate drops onto the floor)—yes, that did fix the audio, not muffled now), I'd spent nearly three hours on this simple little tape deck. It now works, thankfully, which means I can plug my MP3 player into it and hear music through the speakers. But boy, was this an adventure I don't wish to repeat.