The layout curse.

I’ve spent the last few days trying to get the elements of a Web site to align themselves properly. Even with Cascading Style Sheets, I’m running into trouble. I haven’t given up yet, but it’s frustrating when I don’t understand why one browser displays things in a certain way – let alone trying to figure it out with two different ones…

New mice move sideways.

Microsoft has now developed mice with wheel buttons that tilt left and right, so not only can you scroll up and down but you can also scroll horizontally (with the appropriate drivers, I’ll assume).

This is sort of cool. I’ve often wondered what, if anything, could ever replace the mouse (and keyboard) as the logical way of getting a computer to do what you want. While this doesn’t actually replace the mouse, it does enhance it in a logical direction.

I remember reading a couple of years ago about a device that was hooked up via some kind of EEG, and a computer, to a guy who was then able to make a cursor on a monitor move up, down, left, or right simply by thinking about it. Something about what he was thinking altered his brain wave patterns sufficiently enough for the software to detect the change and move the cursor. It’s hard for me to imagine anything other than a sophisticated version of this replacing our current mice. (Unfortunately, I don’t have a link to this bit of news, nor have I heard anything since then about how research might have progressed.)

A nice bottle of wine.

I’m not quite ready to open a cold bottle of beer after work, when Michelle gets home. Tonight, it’s going to be one of the bottles of red wine left over from the party. I think I can manage that. Tomorrow, I’ll try returning to the more dangerous elixir…

It was more like “Labour Night”.

I did my best to make sure that the two mini-kegs (“bubbas”) of beer (Sleeman and Holsten – not Blue…) that we’d bought for our Labour Day Eve party were finished by the end of the night. I was even more determined than I would have been had the bulk of the people who’d said they were going to attend actually made it. (Too many people begged off or were no-shows altogether – without any warning or contact – for it to have really been a party, rather it was more like just a small get-together.) In other words, I drank too much. I paid for it by retiring earlier than I would have liked and getting up in the middle of the morning for some porcelein throne worship. (That particular deity can be a harsh taskmaster.)

Still, in all, I enjoyed myself. At least, what I can remember of it I enjoyed…

It’s definitely Canadian “Idol” – not “Artist”.

First Karen Lee Batten in the earlier rounds, then Toya Alexis, and now Jenny Gear. It’s a clear sign that the Canadian public isn’t voting on (just) the basis of talent (either classic or, in the case of Jenny, original).

I don’t think that Karen should have made it to the end, but she should have got a lot farther than she did. Also, while Jenny was my personal favourite, and I would have been really happy to see her go all the way, I don’t think that purely on voice she should have made it – but she should have been in the top 3 at least).

Hands down, Toya was the most talented of any of them. Nobody else in the competition had a voice to compare to hers. She should have won it or, at least, got to the top 2 spot.

Instead, the voters keep doing something really strange. They don’t pick the most talented. Instead, they seem to be picking the most “sexy” or “popular”. Or, perhaps, even picking the one that lives in their home city/province despite anything else. (It would be interesting to see the statistics of where the voters live vs. the people for whom they’ve voted. Everyone left comes from a different province. How much do you want to bet that the winner of the show comes from the province with the greatest number of voters? Jenny Gear was from Newfoundland. Let me think about the population there… Or am I being too cynical?)

Which makes the production of the show into a bit of a sham because it’s not advertising itself as what it really is. The judges sitting up there do talk about stage presence to some degree but, mainly, it’s the singing that they’re critiquing more than anything else. But, if the voting is any indication, they’re out of sync with things and not representing what other people are using as their criteria for judging. At least one of the straight talent judges should be replaced with some kind of “pop culture image” judge so that there’s more contrast in terms of what the show’s about – raw talent and (apparently) public identification. That judge shouldn’t talk about how well the person sang, but about how well they sold themselves to their demographic and whether their stage performance helped or hindered their “popular” fan base.

Without acknowledging this and, in fact, implying that it is just about talent (as is implicit in everything that goes on) is unfair and I feel cheated by the kind of “bait and switch” that the show seems to have supplied. (Plus I can’t help but wonder what kind of mixed signals it’s sending to the peformers themselves.) Not that I shouldn’t have recognized this before, of course. But if I should have, then certainly the producers should have – and re-styled the show’s presentation to take all of this account.

Oh, and if all of that brings down the professionalism of the show’s production, what can I say about the running lame jokes and the recurring L’Oreal plugs? I’m now about ready to shoot “funny man” John Dore if I ever see him on the street (I’m hoping it’s really just the lines he’s given rather than any genetic inheritence on his part) – as well as to go on a personal mission to stay as far away from L’Oreal products as possible (they may be good, but nothing turns me off anything more quickly than blatant over-advertising).

I actually cared a little bit about this show at one point – now, I’m afraid, anything still to come is just airtime filler.

The long and the short of it.

Okay. As promised here is my more detailed outline of what happened a few days ago. Although my memory of the details have faded a little bit, so has my shock – so it all evens out. I’m also leaving out all of the really technical details, and explaining things in a fashion that, hopefully, will make some kind of sense to people who don’t know all that much about computers. Suffice it to say, that I could have written much more on the subject. Also, any mild kind of surprise that a technically savvy person might pick up from this is nothing in comparison to the actual details that I’ll be leaving out.

I’d been working on a Web page that made use of PHP to query and display parts of a database. It was the first time I’d actually done this, and I have to admit that it was far easier than I’d thought it would be. I’ll definitely be making use of this sort of things again. Not only does it dynamically construct the page from the database (so all you need to do is add/remove/edit items in the database and the Web code takes care of displaying all of those changes on its own) but you can also create “multiple” pages out of a single file using various conditional statements and PHP’s ability to call itself self-referentially. (This, rather than my previous methods of doing this which would rely on multiple files or multiple directories.)

In any case, I’d backed up my regular (HTML) Web page as “Welcome.bak”, while I was working on the “Welcome.php” file. In case it didn’t work out, I could always return to my previous work. When it did work out, I decided to delete the old file by typing the Linux command “rm Welcome.bak”. This would have been fine – except that immediately after I’d done so I realised that I hadn’t typed that at all. Instead, what I’d actually typed was “rm Welcome.php”!

Knowing that it would take me at least a couple of hours to redo what I’d just finished accidentally deleting, I decided I’d investigate the possibility of somehow undeleting the file. While I’ve done this sort of thing in Windows before, I’d never done it with Linux. I got on the phone with my best friend, Glen, who quickly pointed me to “The Coroner’s Tookit” – which contains such utilities as “grave-robber” and “lazarus”. (I just love people who come up with cool names like this.) It’s meant primarily as a tool to recover data from systems that have been hacked into and compromised, rather than just as a way of recovering a single, small file, but I figured I’d try it out anyway. The odd’s seemed good that I could get the file back relatively quickly.

The first thing that happened was that I needed to generate a file containing all of the (now) free space on the hard drive (using the “unrm” command). Actually, to be more precise, the space on the Linux “partition” containing the /www directory where all of the Web site files are kept. I didn’t think that would be a problem since I had another portion of the hard drive just as big, and I didn’t think that there really was all that much free space. However, I was wrong. The “undelete” file (on which I was then supposed to run “lazarus”) took up all of the space I had before unrm stopped. Not only was I not sure if it stopped because it was actually done or because it had simply run out of room to write any more, but I certainly didn’t have any free space left over to run the additionally required “lazarus” command to go on to the next step.

No problem. I had enough free space on my Windows computer. I thought I’d just share my Windows hard drive with my Linux server and have it write everything out to it. This seemed simple enough. Except for, seemingly, a few initial problems. First of all, I didn’t have the “smbmount” command that I needed to this on the Linux side. Downloading and installing it was no problem. But when I ran it nothing happened. Finally, I realised that I’d disabled all of the required networking components on my Windows computer. (I like to not have more enabled on my Windows computer than necessary for what I normally do. Keeping things to a minimum means that it can run faster.) I spent some time reinstalling / reconfiguring things there. After this, that unrm utility finally started to create the “undelete” file that I need on my Windows computer.

Then it stopped when the file was 2 Gig in size. (It needed to be around 4G.) Apparently “smbmount” has a self-imposed limit of working with files that are no bigger than 2G in size. So close – but not there yet. I investigated and found that there were some patches that could be applied to smbmount to get it to bypass this problem. After trying to install these to no avail, I discovered it may, in part, have been due to not having the most up to date version of the Linux operating system “kernel” in place. So I downloaded that and installed it.

At which point my workstation was no longer able to connect to the Internet (although my server could). Apparently some kind of incompatibility with the newer kernel I’d just installed was at work. So I now had two problems. My initial issue with the file I wanted back (which had led me down a series of unexpected obstacles in trying to get my server to have access to enough hard drive space) and the fact that I couldn’t get on the Internet from my workstation in order to further investigate things properly.

I spent some time booting back and forth between the old kernel (with Internet access but without the >2G support I needed) and the new kernel (with the >2G support but without Internet access) – and quickly got tired of that dance. So I focused on the Internet problem. I spent a fair amount of time downloading, installing, and configuring various things before I finally gave up and called it a lost cause.

Back to the hard drive space issue. I gave up on smbmount and tried a different utility (mount.cifs for those who care) that should have worked. Many more hours of trial and error ensued on this before I finally got it working. Although I really shouldn’t say “working” since, while I could make a connection and start the file transfer (theoretically without that 2G limit), it would always die on me relatively quickly with a generic write error for some reason that I still can’t identify.

By this time over 24 hours had gone by since I’d deleted that file. But I was still determined not to be beaten by everything going on, so I decided to move the hard drive (with its free space) from my Windows computer to the server directly. Before doing that I had to resize the portion of the drive on which I’d installed Windows, so that there was actually enough free space, not being used by Windows, that the server could access without causing all sorts of damage. (Linux and Windows don’t co-exist very well, if at all, in terms of using the same portions of a hard drive). I discovered that I didn’t have quite enough free space when taking the resize into account, so I backed up some MP3 music files onto tape using the utility Arkeia, then deleted them to free up the room. After which I resized the hard drive and transferred it over to the Linux server.

Only to discover that the computer that’s home to the Linux server is too old to understand that the drive I’d just put installed was a 40G drive. (It thought it was only an 8G drive.) While I was careful not to intentionally let anything write any data to it, something must have happened in the process I went through because when I gave up on that idea (and the whole undelete thing as a whole) it was to discover that my Windows hard drive was unusable. All data seemingly gone.

Now, around this point, I would have given almost anything to turn the clock back 36 hours and just accept the fact that the one file was gone, and that I should just swear a little bit about that but then get on with the 1-2 hours business of recreating it. However, that was not to be. About the only thing that gave me any kind of hope at all at this point was the fact that Windows actually did start to boot and show the initial screen before giving me the famous blue screen of death. If the drive had really been nothing more than a boat anchor, I should have got something like a “Non system disk.” error when turning the computer on. So something was still on the disk, despite the fact that it didn’t seem usable. (Disk utiilites informed me, variously, that the resizing I’d done previously was now “undone”, that the name of the disk was “?????”, that it didn’t exist at all, and that its capacity, rather than being 40G, was something like 100P (which is 100,000,000G). I had a pretty good idea that a place like Action Front Data Recovery Labs would be able to retrieve everything. They can get back data when a drive has been formatted (as well as worse), and what had happened to this disk seemed a lot less serious. But – making use of them would cost me at least a thousand dollars and there was no way I could afford that.

I ended going out to various pubs with Michelle and getting myself a little drunk. Not that I actually felt all that drunk, since I was still so wound up about what had happened.

In the end, it turned out to be Glen who saved the day. He brought with him a utility that connected to my Windows computer (with its questionable drive) from his laptop. This utility (a variation of one I already had but different in its approach) saw the drive with its correct size, and was able to run Windows’ own “chkdsk” program against it. It turned out (as I’d expected / hoped) that none of the actual data was corrupt or missing, just the “index” on the drive that told it were everthing was located. (Similar to reading a book in which every word has been printed on the page in random order.) So, the “index” was successfully repaired and everything was back to normal.

All, that is, except for a couple of things. My backup program had “forgotten” (somehow) that I’d backed up those MP3 music files. I still had the backup data on tape, but it didn’t know about it. Nor could I figure out how to “scan” the tape so that it would remember. Currently, I still don’t have those files restored. Even though they’re backed up on tape, I can’t do anything about restoring them. This is not a major disaster (certainly not in comparison to having lost everything) but it is pretty ironic when you’ve got a backup you can’t figure out how to restore it (it makes the whole enterprise pretty useless, despite your good intentions). If I can’t figure out how to scan the contents of that tape, I may have to forget about restoring it, and simply scan the original CDs back into my computer again, as I did the first time.

Further, to add insult to injury, I can’t figure out how to actually create a backup using this utility any more. When I’d first used it, the important files I’d marked had only taken up a single tape. Now, for some reason, the program isn’t using all of the tape I put in and is insisting on using two tapes. But when it prompts me to insert a 2nd tape, and I do so, it doesn’t do anything except sit there. When I click on the “Okay” button it has, it closes out the job and I’m left with just a partial backup. This utility, Arkeia, I’ve always found to be much more complex than necessary, and I’ve constantly struggled with it since I started using it – but, in the end, had (I thought) figured it out so that it was usable. Now, it just seems to be a waste of time – or worse, since it’s given me a false sense of security. Unfortunately, I don’t know of any other (free) utility that will let me backup both my Linux and Windows computers from the tape drive in my Linux server.

Also, that long-deleted file was still deleted. When I got back to recreating it from scratch, I discovered that I actually did have another, older, version of it in another directory. So I was already halfway there. It only took me an hour to get things back to where there were before. If fact, they ended up being better because, in the process, I fixed a problem I’d had with the original version!

The strangest thing about all of this is that, even in hindsight, there was no single point in time at which I could have realistically thought that it would be faster to just recreate this file from scratch than to go through the seemingly simple steps of attempting the restore. Even as time stretched on, the (to my mind) remaining steps of resolving the most current roadblock and continuing on should have taken less time than the file recreation. There’s no way that, given what I knew then, I could have thought that it would be such an involved or, in the end, futile process. Glen agrees with me on this – he would have done exactly what I did. With the one possibile exception that he would have made sure he had a full backup of the Windows hard drive before moving it over to the Linux server. (Of course, even if I had done that – and it’s something I’ll make sure I do from now on, even if I have no reason to suspect anything will happen to warrant needing it – it may not have done me any good since I bet I wouldn’t have been able to get this utility to restore anything off of it…)

My first priority at the moment? Make sure I get some kind of working backup / restore solution for my two computers. At this particular point, I think it will just be to copy all of the important files from one to the other. So long as both computers don’t die on me I’ll be fine. After that I really need to look into a usable backup utility. (Or, at least, figure out how in the world to use the one I currently have.)

Don’t touch that button!

The short story: I deleted a file on my Linux server responsible for part of a Web site I’ve been working on working on and I tried to “unerase” it. 24 hours later, due to an almost unbelievable series of technical hurdles, it still wasn’t unerased and I’d thought I’d lost every file on my workstation and was left without a working backup (resulting in the loss of data from 20 years ago up until now).

Currently: All of my workstation files are available again, but the one file originally deleted 36 hours ago is still deleted. I’ll now spend the 2 hours or so it will take to recreate it from scratch.

Coming up: A much longer journal entry listing all of the details, and outlining the torturous path I walked down in the last two days.

Speed reading.

I have a problem. I’m reading too quickly. I’m now reading a book every 2-3 days – and I’m not even concentrating on doing this, just picking it up everytime I’m not doing anything else. (I don’t want any smart comments about how this must mean I don’t do anything.)

This wouldn’t be a problem if I had a steady source of income. Then I could just keep buying new books. However, since that’s not the case, it means that I’m stuck re-reading books in my collection that I’ve already read. While it’s interesting discovering some of these stories all over again – I’d rather be looking at something new.

Does anybody want to pay me to write book reviews? How about just shipping me books you’re done with? (In order to avoid any duplication, you can see what books I currently own, and have read, here.)

Nothing’s ever the same.

I think I’ve been doing a good job with my Web site designs. I make sure that my code validates, that it looks the same in Mozilla/Netscape, IE6, and IE5, and that it scales appropriately to fit different screen resolutions.

Unfortunately, I had a nasty shock the other day when, in spite of having taken all of that into account, I saw one of my sites on somebody else’s computer. It didn’t look very good. The colours were off and some of the formatting was strange. It was due to a difference in fonts (producing difference sized text) and in either their video card or monitor not displaying the colours the same way.

Now I need to add some more checks to my repertoire. Things like knocking back my colour display from 32-bit “true colour” to just 256 colours and making sure everything looks all right. Also, making sure to leave lots of space (vertically or horizontally) in any place where an increased text size could have an unintended affect on the element placement I’d been trying to get. (Which, unforunately, might make things look strange when the font is smaller.)

I know that there’s no way I can ever get things to look the same way for everybody – nor will I ever get things to even display properly, without obvious problems, for everybody – but it’s more than a little annoying when it’s the customer’s own system that produces strange results.

Don’t leave home without it.

Although, in the case of the Ontario Post Office, taking your credit card with you doesn’t do you much good.

Yesterday I went through the process of having them deliver some business flyers for me. I’d already went there before to get the instructions and the list of drops per residential area, so Michelle and I had everything counted out, bundled up, and ready to go. Of course, that wasn’t the end of it. Not only was there a lot more paperwork to fill out, but, when I pulled out my Visa to pay for it all, I was told that I couldn’t pay for mail drops that way.

What was funny was that I was standing right in front of a cash register that had a Visa sticker on it (as well as signs for other credit cards and debit) and I pointed rather hopelessly at this. It turns out that they do accept credit cards for almost everything – but just not that. This reminds of me of Grand & Toy where, a few months ago, I tried to pay off a bill with my credit card but they “weren’t programmed” to accept it. (I could have paid that way at the time, but it had gone onto an expense account, and I was trying to clear the balance.) I had to go and get some cash from the bank. Same deal here.

It strikes me as very strange that any business that is set up to accept credit cards for most of their transactions would have some kind of artificial limitation in place for some specific transactions. Surely if somebody is offering to give you money, and you have the technical ability to accept it, you’d make use of that. Even if it’s something “funny” with the piece of software involved with the one transaction – you’d think you’d get on the horn to have it updated and/or put some kind of manual supplemental process in place to take it into account. Does it make any business sense for a company to turn down money? Especially money as represented by one of the most common transactional forms?