Photo of Paul Fenwick

paul.j.fenwick

Welcome to my home on the internet! Everything here is free under the Creative Commons Attribution 3.0 license unless marked otherwise.

This site contains various pieces of writing across my various interests, and spanning several years. You can fork this site on github if you wish.

Today:

Today: Prepare for teaching Database Programming with Perl, including revision of new content. Fly interstate.

Thursday: Teach Database Programming with Perl, and prepare for Perl Security.

Friday: Teach Perl Security and prepare for ToEE. Fly back to Melbourne.

Saturday: DM a ToEE session. Continue writing paper for the Australian System Administrators Conference.

Sunday: Continue writing paper. Revise my article for SAGE Advice.

Monday: Review and submit paper, article, contracts, and advertising material. Perform handover with staff member returning from South America.

Tuesday—Thursday: If lucky, perform end of financial year accounting and adjustments, and prepare on-line resources to go with SAGE Advice article. If unlucky, catch-up on conference and article submissions. If deeply unlikely, deal with all of the above plus client issues.

Sometime in October: Rest!

(read more...)

World of Warcraft EULA

World of Warcraft EULA
I don't try to hide the fact that I'm a gamer. I love games. Card games, board games, computer games, strategy games, role-playing games, on-line games. I love them all. I helped start an AD&D club in grade 4 in primary school. I wrote a printer-driver as an English assignment in high-school to print Tolkien's Dwarven runes on a Commodore-64 printer. I'm a gamer, through-and-through.

The gamers of the world are blessed through modern games technology. Present-day computers are capable of producing mouth-wateringly good graphics and sound, and with the rise of the Internet, huge and detailed multi-player games have become available. The early forms of these were the MUDs — Multi User Dungeons/Domains/Dimensions, and were text-based. The newer games games are often referred to as MMORPGs — Massively Multiplayer Online Role Playing Games, and are immersive experiences.

I've played a number of MMORPGs in my time. There's currently a "second generation" of MMORPGs, including Everquest II, Star Wars Galaxies, and World of Warcraft, that build significantly upon what was learnt from older, "first generation" MMORPGs like EverQuest. The second generations MMORPGs are undergoing plenty of growth, and with good reason.

I have a number of friends who play World of Warcraft (WoW), one of the second-generation MMORPGs made by Blizzard Entertainmentww. WoW have had the foresight to include a free "guest pass" with boxed copies of the game. This allows an owner of the game to give their friend a 10-day free trial. I recently had one of these handed to me.

I had a hard time getting through the registration process. In order to participate in the "free trial" one needs to provide name, address, telephone number, and credit card details. It looks like Blizzard isn't interested in anyone participating unless they can provide significant proof they have the capability to go and purchase a boxed-set of the game, and then pay an ongoing subscription fee.

After a day or two I finally agreed to provide Blizzard with what I thought was an excessive amount of registration information. I'm eager to play with new toys, and I have plenty of friends telling me how much they enjoy the game. Having completed the registration, the game starts, and immediately starts to download a patch. I was expecting this, MMORPGs are regularly patched to add new features.

Finally, the patch installs, and an End User License Agreement (EULA) is displayed; and then a second one. Included in the patch is an updated EULA, and it makes a standard MMORPG license look like a walk in the park. In particular, it includes the following:

(read more...)

Liver function tests

Liver function tests
Yesterday my doctor told me that I have a lifelong, incurable disease, and I was overjoyed by the result. It was the best possible news.

It all started about six weeks ago, when I had a blood-test taken by the doctor. I was feeling great, and I'm sure most people in my situation would have been out doing something enjoyable, rather than being prodded with a needle in a doctor's surgery. However, I believe in catching problems well before they start. A little blood-work now and again is a great way to spot issues before they turn into more serious problems.

In any case, I hadn't expected my blood tests to show anything abnormal, so I was rather surprised when my results came back with elevated liver enzyme levels (ALT, ALP and GGT). This in itself was no great cause for alarm; I was showing no other signs or symptoms of ill-health, and there are many acute reasons why they could be elevated.

A discussion with the doctor convinced me to give up alcohol for the next month, just to be on the safe side, at which point a second blood-test would be taken. So I went around my business pretty much as normal, although with a few regrets that I couldn't enjoy the occasional beer after work.

My second blood test results were more interesting, and it was ironic that due to an IT problem the surgery only had a partial copy of the results. However from that partial transcript it was clear that my enzyme levels were still elevated, and that I didn't have any of the nastier forms of infectious hepatitis. However we were at a loss as to why my levels were still high.

The doctor scheduled me for a full abdominal ultrasound. The ultrasound machine was one of the coolest toys I had seen in a long time. A small amount of gel, a hand-held sensor, and one can take incredibly detailed images of inside a patient. I spent half the examination gawking at the machine and asking how it worked, as well as discussing how the organs are imaged and measured.

The examining doctor did a very thorough job, with images taken of my spleen, kidneys, gall-bladder, aorta, and of course my liver. Lots and lots of liver images. The result was that every single organ looked completely normal in size, shape, and texture. No signs of disease, no signs of inflammation.

Back to the doctor with my ultrasound results, and what I was expecting to be a perplexing situation for the both of us. However this time my doctor had the full results in front of her, and discovered that I tested positive for Cytomegalovirus, or CMV.

A person living in the USA has between a 50 and 85 percent change of contracting CMV by the age of 40, and I imagine the conditions in Australia are much the same. The virus remains dormant for most of its life, but will occasionally flare up causing flu-like symptoms, particularly when the patient's immune system is weakened. When it does so, it also causes mild, reversible hepatitis. It has no long-term health consequences, and is not considered a serious disease.

Now everything makes sense. I had recently been showing flu-like symptoms near the time of my blood tests, and the elevated enzyme levels without apparent inflammation or damage to the liver is a classic sign of CMV. I'm getting some more bloodwork done to make sure, and should have a conclusive result by next week.

What's interesting about this whole affair is that I've known that I've had CMV for years. I'm a regular blood donor, and CMV is one of the routine tests performed on blood donors. When I showed up positive many years ago I had queried the blood bank about it, and they simply described it as "a type of flu, not something to be concerned about".

If my doctor and the blood bank had actually compared notes, then my CMV status would have been already known, and a test for activated CMV could have been performed immediately, potentially saving me a rather uneasy period where I knew there was some "mystery disease" that was causing problems with my liver. Still, I'm very glad that it looks like I'll be given a clean bill of health.

(read more...)

Machine "Recovery"

Machine "Recovery"
Machines should be designed with consideration for when things go wrong. Now, let's pretend that you have an "appliance". It has an LCD screen, rather than a keyboard and monitor. If you're lucky, console on serial has been enabled. It has "no user servicable parts inside", and while it runs Linux underneath, it's primarily marketed at non-Linux gurus.

You're picking a filesystem to place on one of these "appliances". Do you choose a filesystem like ext2/ext3, which is used by practically every Linux system worldwide, has good stability, and excellent recovery tools? Or do you choose something else?

For these appliances, a different filesystem was used. This filesystem is a fast journaling filesystem, but it has some problems when things go wrong. It doesn't have a real fsck program, it just assumes that it's always good, all the time. So when there is a problem and corruption does occur for whatever reason, finding and repairing that can be difficult.

This brings me to my situation. There was corruption on the root filesystem. There was also a repair tool, on the root filesystem. The repair tool will not execute on a mounted filesystem, not even one mounted read-only. Normally this is fine, boot from external media and repair, but these appliances have no option to boot from external media. There's nowhere for that external media to go.

So, my options are to get a new copy of the filesystem tools (which can allegedly repair a read-only mounted filesystem), or to pull the disks (RAID-1) from the machine, get them mounted in another machine, get the tools on that, get them working properly as a RAID, repair the filesystem, and put them all back into the appliance that contains no user-servicable parts.

I decide to try the newer version of the tools.

Being a rather cautious person, I take an image of the root filesystem first, and ask the new tools what they would do with it. Well, they'd make some pretty big changes to the superblock that look very suspicious; then they'd tweak a few bitmaps here and there; and then they'd segfault.

Having your filesystem repair tool segfault on step two of seven in the repair process is not a way to fill your system administrator with confidence. It's very, very bad. Some people have nightmares where they're drowning, or speaking naked, or their house burns down. Sysadmins have nightmares that their filesystem tools segfault part-way through changing a filesystem.

Now the tools do say they could potentially segfault if run in no-write mode, since they can't repair the things which later parts of the tools expect to use, but my faith is still quite shaken. Okay, let's try the tools again on the image in write mode...

The tool walks through the image, makes a number of changes, and says all-done. I'm not convinced that relocating the entire superblock to a totally different location was a good idea, so I try to mount the file using a loopback device. No joy here, the kernel on these appliances can't handle a loopback image of more than 2Gb. Welcome to 32-bit limit land.

At this point I'm pretty much decided that running the repair on the real filesystem is a Bad Idea, but I decide to continue a few more tests on my image. I mean, it should contain a perfectly good filesystem now, right? So if I run the repair tools again, it should come up all clean? Wrong!

Running the repair tools again claims there are still errors (different ones, and much less) on the system. It also claims that they're fixed, but running it again reveals the same errors in the same places, right where I feel the superblock should be sitting.

Needless to say, I'm recommending that data and services me migrated off this appliance and the entire thing rebuilt/reinstalled from scratch.

I'm only glad that these machines looks like they're going to be retired before the end of the year, and replaced with new servers running ext2/3, with ports for a keyboard and monitor as well as a serial console, and the most blessed ability to boot into single-user mode.

(read more...)

Luxury!

Luxury!

I have time!

After what seems months of ending training, fire-fighting, software-development, and paperwork, I finally have a more free and flexible schedule. It's glorious! I slept in the other day, have been playing network games, writing conference papers, and otherwise having a wonderful time.

Sure, clients still call all the time, but with simple things that are easy to diagnose and fix. No big disasters, no crushing deadlines. It's just great.

Now, I have a big pile of work that hasn't been done because I'd been so busy. Some of that's quite important, and it looks like I'll be able to knock it over with plenty of time to spare. That's a really good thing, because it's means no painful deadline crunches later on.

I've even got confirmation that my replacement wetsuit is on its way, although I'm somewhat unconvinced about cold-water diving in winter.

Unsurprisingly, my body has reacted to all this wonderful time and relaxation by catching a very minor cold. I don't know why people get sick when they stop being stressed and busy, but it's certainly more convenient then the other way around.

(read more...)

Bitcoin QR code This site is ad-free, and all text, style, and code may be re-used under a Creative Commons Attribution 3.0 license. If like what I do, please consider supporting me on Patreon, or donating via Bitcoin (1P9iGHMiQwRrnZuA6USp5PNSuJrEcH411f).