Monthly Archives: January 2006

Quick and dirty animation

I was asked how I did the animation of building the desks on my personal blog.

The camera was set up on a tripod in the corner of the room. It wasn’t set to automatically take pictures; instead I set it to its 10-second timer and periodically took pictures, generally when I was about to do something. So in a sense the pictures are all posed, and apart from the varying light outside you can’t tell that it took quite a few hours to put the first desk together, followed by a gap of a couple of days before the second one was done.

Unfortunately the camera got moved a bit while doing the second desk. I also forgot until later to take a picture of the completed desks, and by that point the tripod had been put away, so that last shot is handheld, and askew from the others. It was late, and I couldn’t be arsed lining it up exactly. Close enough.

I ended up not using some of the pictures, discarding many of those that had nobody in them, because I thought it would look better to see people moving around in each shot, rather than flashing in and out of view.

To do the animation, I considered what formats would work best for appearing on the blog page (rather than in a separate player or as a download). This ruled out using MovieMaker (which for online-use produces WMV only, so wouldn’t be playable on anything other than Windows). Animated GIF might have been quite economical bandwidth-wise, since much of each frame didn’t change, but I don’t have any good tools for that. Besides, GIF for photos sucks. MPEG compression would work a treat for something like this, but I didn’t have the time nor energy to properly explore that.

I ended up with Flash, using an old copy of Swish that came as a magazine freebie. (I have an old copy of Flash sitting around somewhere, but I never took the time to properly learn it). I’d previously used Swish for the 404 page and “Wanky Flash intro”, and while it isn’t as flexible as fully-fledged Flash, it’s not bad for simple stuff, and very easy to learn.

Swish was formerly installed on one of my old computers, and though the version I used (1.5.2) is discontinued, to my surprise I was able to re-download it from the Swish website and resurrect my old freebie licence via their web site. Full points to Swish for that.

All the frames were resampled in Photopaint to 400×300, and saved with some heavy JPEG compression to keep the filesize down to 15kb or so per frame. Plenty of artefacts, but who cares when each would be displayed for less than a second. I did use less compression on the first and last frames, which are displayed for longer. Again, properly using the newest Flash movie-playback features would probably have made possible much better compression, but no time Bellamy, no time!

Loaded a few of the pictures into Swish, and set them up to appear/hide every 4 frames (at 12 frames a second, so three pictures per second). I tried a few different options to get a speed I was happy with; fast enough that the whole thing isn’t too long and is interesting (I hope), and provides comic effect. But also slow enough that you can see some of the detail, such as hiding behind the polystyrene, and holding the beer bottle. The kids having a light-sabre fight with polystyrene didn’t quite work, as one of them was out of shot.

I noticed later that Swish lets you set the number of frames per second, making it dead easy to change the overall speed. Which would have avoided some fiddling. Oh well.

The final SWF Flash file came out at 450Kb or so, which shouldn’t be too slow to start up, even on dialup connections. Not that the speed of playback is critical anyway in this case.

I’m quite happy with the end effect, and people who saw it appeared to enjoy it too.

Vaccination and Hippies

Owen turned four (months) recently, and he was taken to the doctor for that round of inoculations. That reminded me that when Cathy and I were doing childbirth classes we discovered that the lunatic fringe is alive and well in Melbourne. The subject was “Sleeping Soundly”, the opening minutes of which were about vaccination for no reason I could discern.

The World Health Organisation, whom the Choices for Childbirth speakers quote when lamenting (quite rightly, in my opinion) the high medical intervention rate during childbirth, is studiously ignored when talking about how one ought to explore both sides of the “debate” over immunization. The WHO says “No child should be denied immunization without serious thought about the consequences, both to the child and the community”.

Humans are terrible at estimating risk (also known as probabilities). They happily play lotteries (one in millions chance of winning), but then drive their kids to school (running a pronounced risk of a car crash and injuries vs a vanishingly small risk of a perverted old man snatching their kid and having his way with them). Humans are prejudiced machines – they decide things without knowing all the information (pre-justice, or pre-judge). They make decisions based on what they can recall on the subject. And this counterpointed by the news media, which reports news. They don’t report that millions of Aussies got out of bed, went to work and came home again, without incident. That’s not news. Someone being bitten (or better yet, taken) by a shark, that’s news – because it hardly ever happens. Things that are unusual, different, out of the ordinary and notable are part of every night’s TV viewing. A viewing night of four hours – 240 minutes – includes 30 minutes of really unusual stuff, so odd and weird that the TV station sent a film crew out to take pictures of it (ever woken to find a camera crew filming you getting out of bed? “This morning, Josh got out of bed…” No, didn’t think so). And humans think “I better be careful when I go swimming, a shark could get me. I’ve seen that happen a couple of times in the last few months. In fact, just to be safe, I won’t go swimming”. We have crime shows on every night, leading viewers to think “there’s a lot of crime out and about. I’ll drive to the shops”. The news loves a good kidnapping “little girl snatched from her bedroom”, and happily ignores the fact that almost all child abductions are performed by relatives. But we’ll drive them to school, to keep them safe (and fat). So when the Tabloid TV shows announce that a child has reacted poorly to an inoculation, immunization rates plummet, in the same way breast cancer screening rates jumped right after Kylie got it. More often than not, they use their power for evil rather than good.

These same TV shows give equal time to minority and majority opinions, in the interests of fairness. Which would be fine, except humans will go “hmmm, it seems that professional opinion on this seems to be divided down the middle, I’ll just be safe and not vaccinate my child (besides, needles hurt).” It’s dangerous and irresponsible, scaremongering amongst the vaccination decision makers – parents. And they’re being affected by it. Infectious diseases the developed world thought it had eradicated (think whooping cough, which was almost wiped out – ) are resurfacing as a result of the crazy hippies who reckon that this vaccination thing is all a money making scam by the multinational pharmaceutical companies.

Vaccines don’t always work. They are not 100% effective. You can get a disease after being vaccinated against it – the vaccine may not provoke an immune response. And that doesn’t have to matter.

Needles hurt. Vaccines have an inherent level of danger. Injecting pathogens into your body isn’t something it’s really designed for, and keeping vaccines viable for an acceptable time means there’s stuff in them that some bodies will not react well to. Some immune systems go ape shit when they see the disease. Some people die. I’d like to point out how badly the bodies of these people will react when they get the real, live, unattenuated, unadulterated, honest-to-God virulent form of the disease – exceptionally poorly. But none the less, there is a potential cost associated with being vaccinated.

I’m going to talk about Herd immunity and the free loader effect. A certain level of non-vaccinated members of the population is acceptable, but varies from disease to disease – the immunization you’re given may not invoke an immune response in you, but at the same time, if about 90% of the population is immune, generally an infectious disease is not going to become pandemic. Which is fine, and everyone’s happy. Until God damn hippies start running around not getting immunised, becoming free loaders on those of the population who have run the risk of reacting horribly. With enough people unimmunised, eventually the herd immunity effect breaks down, and the kids of the hippies end up getting diseases that we thought no one got anymore. And, no doubt, the hippies whinge about it, but refuse to take the blame for the kids of responsible parents who got the disease despite being vaccinated against it – because their bodies failed to produce an immune response. And those responsible parents will be too grief stricken to blame the hippies for killing their child.

The Australian federal government’s Immunisation Myths and Realities booklet talks about the complaints that hippies put forward. Myths such as the MMR vaccination causing autism.

The adverse reactions a vaccination may produce are mild compared to what would happen if they actually got the disease. The only elevated risk is to those intolerant of egg products.

Let’s have a look at what these diseases do. Because, if you were against immunizing against them, they can’t be that bad, insofar as diseases go, right? Because you’re happy to run the risk of your child catching and living with (and dying from) these diseases, verus the risk of your child having “something happen to them” as a result of being vaccinated.

From the Australian National immunisation program schedule of immunisations, things that you’re innoculated against:

  • At the moment of birth: hemorrhaging. Normally Vitamin K is produced by bacteria in the intestines, and dietary deficiency is extremely rare unless the intestines are heavily damaged. But newborns are nearly sterile – if the embryonic sack is intact, they are sterile. Thus, no bacteria, and no Vitamin K, which is needed for the posttranslational modification of certain proteins, mostly required for blood coagulation.
  • Polio, check out photos of polio victims. The virus invades the nervous system, and the onset of paralysis can occur in a matter of hours. Polio can spread widely before physicians detect the first signs of a polio outbreak – so forget pulling your child from school when someone is noticed with polio, this is not a prophylactic method with any level of success.
  • Diphtheria, check out photos of children with Diptheria, a bacterial infection. Long-term effects include cardiomyopathy (the heart wastes away) and peripheral neuropathy (ie, paralysis).
  • i

  • Pertussis or whooping cough. Doesn’t sound so bad, a bit of a cough. Check out the photos of babies with a bit of a cough. Complications of the disease include pneumonia, encephalitis, pulmonary hypertension, and secondary bacterial superinfection.
  • Rubella, a relatively mild disease (photos) unless it’s caught by a developing fetus. Lifelong disability results. But I guess that’s the fetus’ problem, not yours.
  • Mumps usually causes painful enlargement of the salivary or parotid glands. Orchitis (swelling of the testes) occurs in 10-20% of infected males, but sterility only rarely ensues; a viral meningitis occurs in about 5% of those infected. In older people, other organs may become involved including the central nervous system, the pancreas, the prostate, the breasts, and other organs. The incubation period is usually 12 to 24 days (again, don’t bother pulling your kids from school – they’ve already got it). Mumps is generally a mild illness in children in developed countries. So your child should get it.
  • Hepatitis B – Over one-third of the world’s population has been or is actively infected by hepatitis B virus, so it can’t be all that bad. Hepatitis B infection may lead to a chronic inflammation of the liver, leading to cirrhosis. This type of infection dramatically increases the incidence of liver cancer. Only 5% of neonates that acquire the infection from their mother at birth will clear the infection. Seventy percent of those infected between the age of one to six will clear the infection. When the infection is not cleared, one becomes a chronic carrier of the virus.

There are other diseases, but I’ve only got so much time. Read the Australian federal government’s Immunisation Myths and Realities booklet. And for the love of all that’s right in the world, get your children immunised.

Just because you don’t understand statistics, science or even simple logical reasoning, doesn’t make vaccinating your children a bad thing. Perhaps, if you don’t understand any of these things, you should leave the decision making on vaccination to the professionals?

Acer’s web site needs work

I’ve set up my new desks at home, and have been looking around at good deals on LCD monitors. Officeworks have some Acer ones on special at the moment, so I went to look at the Acer web site to review their dead pixel policy.

It’s a mess in Firefox. Looks rather better in IE. But we’ll live with that for a moment.

Find the page with warranties, and try to look at their monitor warranty:

Error 404
Not found – file doesn’t exist or is read protected [even tried multi]

Great. Find their contact page. It insists on knowing what OS I’ve got installed, because it thinks it’s only for tech support contacts. I lie. Eventually get the form submitted with the info above. It submits, then takes me to… another 404 page.

Bzzt, strike 2. Hopefully the message got through.

So then I tried a site search for “dead pixels”.

Error 500
HTTP Web Server: Lotus Notes Exception – Database is not full-text indexed

Bzzt, strike 3. Acer really needs a revamp of its web site.

.NET security bites back

I was running a .NET app, and all it did was say:

Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.

After I hit Ok, the app crashed with an exception. I didn’t write it. Others could run it, I couldn’t. What was I doing wrong?

I was running the exe from a network share. Copying the exe to local fixed the problem.

Where to rest in Pacman

Resting in PacmanObviously if you’re playing in MAME you can just press P to pause, but on a real Pacman arcade game, what do you do if you’re playing a mammoth game and you want to rest? Go just to the right and up from the starting position.

The ghosts won’t find you, you can rest for a while.

That’s certainly something I wish I’d known 20 years ago…

This is God calling

Yesterday I answered the ‘phone. Because I was home, having a holiday, which is soon to be rudely interrupted by a short working stint, but that’s by-the-by. I could tell that whomever had called didn’t know anyone in the house; the phone’s listed in my girlfriends name. “Hello, Mr [Girlfriend’s-name]?” is a dead giveaway that they’ve pulled the number from the phonebook, and immediately puts me on the defensive. Which is why I have no interest in having the phone in my name. I can spot low-life scum a mile away with the arrangement as it is.

Now, the first thing I do when I have a telemarketer on the phone is to get them to tell me who they are. The lass weasled about, talking about a survey. Surveys don’t care about the identity of the respondent; this was marketting. Eventually she said she was representing the Jehovah’s Witnesses, at which point I terminated the call; religous fundamentalists get up my nostril.

Neither Cathy nor I get any telemarketing calls – oh, well maybe we get a couple a year from local gyms. It’s because we’re signed up to the ADMA’s do-no-call list. If you’re not signed up, stop reading, and go sign up now. The local gyms get the line “we only purchase goods from members of the Australian Direct Marketting Association” and they’re taken care of.

So, here we have technology being used for evil. Evil, not only because it’s evangelical fundamentalists at work, but because they claim they’re doing a survey about how people in the local neighbourhood feel about stuff. Because it’s a survey, that would be covered by the Australian Market & Social Research Society, which (they would claim to keep the statistics clean) doesn’t operate a do-not-call list (in spite of the fact that people that don’t want to be surveyed are going to do all sorts of bad things to their stats).

Worst of all, I don’t think there’s much I can do about it, except I remember hearing about a guy who had installed a PABX with and IVR – “if you want to talk to Cathy, press 1 now. To talk to Josh, press 2 now. Pressing 3 now will let you talk at Owen, but don’t expect a cogniscient conversation out of him.” Apparently, in the US, he was getting zero telemarketing calls – which is quite a feat.


  1. Has the obesity epidemic reached the point where the Jehovah’s Witnesses can’t be bothered leaving the house to recruit souls so that they can, pyramid-sales-scheme-like, go to heaven?
  2. Why don’t the Jehovah’s Witnesses tell people up front you’re not going to heaven, even if you convert (there’s only 144,000 spots – what are the chances you’ll be goody-two-shoes-super-converter enough to get in)?
  3. Why doesn’t the AMSRS operate a do-not-call list?
  4. Why doesn’t the government ban harrassment like this?
  5. What can I do to stop this from happening again?

IE’s mysterious status bar

I don’t normally use IE, so when I was taking a look at something in it, I suddenly noticed how many mysterious unnamed panels the status bar has.

IE6 status bar

A little tinkering identified some of them. Others remain a mystery. Left to right (this is IE6, and may differ according to what add-ons you have installed):

  • Main part of the status bar. Shows the URL you’re about to jump to, or “Done” when it thinks it’s finished loading a page (though sometimes it hasn’t really), or nothing. Fair enough.
  • Progress bar, only appears when loading a page
  • Unknown
  • Single left click gives me access to the MSN toolbar popup blocker settings
  • Double-clicking takes me to a dialogue to manage add-ons
  • Unknown
  • Double-clicking gives me information on the Security certificate, if the page has one. On a secure page, you get a padlock icon here.
  • Icon and text indicating the page’s zone. Double-clicking takes you to the Security options

Maybe someone can reveal what the two blank unknown panels are for. But it strikes me as pretty silly that these are here, blank, with no clues given. No tooltips when hovering, and no response when left-clicking, left double-clicking or right-clicking. Why bother having them?

Even those that do respond shouldn’t be blank, not if the designers intend people to actually use them. Why would you bother clicking around a blank panel? Are we supposed to use our sixth sense to work out what they do?

I can almost see my house from here

Hold the front page! Google News is coming out of beta!

Meanwhile, Google Maps has dramatically improved the quality of its satellite images for Melbourne, much of which formerly looked really fuzzy. Though the south-eastern bit (further out than about North Road and Warrigal Road) is still very fuzzy.

Portable applications

Here’s a handy thing: portable applications (that is, those that can live happily on a removable disk, without having to be installed to run properly), and is has them categorised and available for download. They include dev tools like NVU and FileZilla, all the way up to portable versions of OpenOffice.