Comments are off!

| No TrackBacks

Not that anyone comments on here other than spammers anyhow. I'll turn them back on after I finally update MT to something recent.


Electrolux Diamond Jubilee canister vacuum disassembly

| No TrackBacks

I looked and looked, but I never did find a good pictorial guide (or a good guide at all!) for disassembly of Electrolux metal cansiter vacs. So, out came the camera, and here you go.

These instructions should apply to all of the late metal Electrolux canisters, so everything from the 1205 through the Grand Marquise on the “Aerus (née Electrolux USA) Surface Cleaner Timeline”: .

This particular vacuum is a Diamond Jubilee that belonged to my grandmother. It’s been pulling just a tad less suction than it should, so I figured I’d tear it apart and see if there are any obvious leaks. (The most clear one I could find so far was the hose - this model came with a woven cloth hose, and it’s starting to show its age.)

These are surprisingly easy to service, and the engineers left enough cabling inside to allow easy disconnection of parts without having to finagle your needle-point pliers into tight spots.

Important disassembly tips:


  • If you have a digital camera, take lots of pictures! They’ll be invaluable when putting it back together.
  • Label any cables you disconnect
  • Remember the canister is on wheels! Don’t let it roll off the table.
  • If you plan on running the cleaner in a partially-disassembled state, remember that the power switch has line voltage running through it. Be careful with it!

Getting Started

Find a nice work surface. You’ll need the following tools:

  • Screwdrivers, both a Phillips and a slot-head
  • A can of air, or a second vacuum cleaner, to clean up all the dust you’re going to find
  • A 9mm socket wrench and extensions (you have to reach a couple nuts that are are about 6 inches into the body)
  • Needle-point pliers
  • Something to cover your table if you don’t want to make a mess of it

P1091774.JPG Any pesky felines (red arrow) should make themselves scarce after realizing that you’re going to be working on that awful noisy machine.

First steps

Unplug from power, disconnect the hose and any accessories, and remove the dust bag. Place the machine on the table. P1091776.JPG Press the lever (red arrow) to release the bag door

Open up the blower door. You’ll find two screws there - remove them. P1091778.JPG Remove the two screws here.

Next, remove the two screws at the front - one at the front of the handle (behind the power switch), and one right behind the bag door. P1091780.JPG Remove these two screws, also

Now, the top cover should lift off without any resistance. P1091781.JPG Look at the lovely dust ridges caused by the blower diffuser!

Disconnect the two screws holding the power switch in to free the top cover from the rest of the machine. P1091782.JPG Remove these two screws to free the cover

Removing the cord winder

Next, it’s time to pop out the cord winder.

Remove the two screws at the rear above the cord winder, as well as disconnecting the vacuum line that’s connected to the winder. P1091783.JPG Remove the two screws (red arrows), and the vacuum line. The vacuum line is a friction-fit and should remove without much effort

Flip the cleaner over, and remove the one screw at the center-rear. P1091784.JPG One last screw…

After that, pull a couple inches of cord off of the winder, and rock the cord winder back and forth until it slides out. (Pulling the cord out a bit will make removal easier)

Easy! After it’s out, label the cords so you remember how it goes back in later. P1091788.JPG And don’t screw up the labeling like I did here!

Cord winder is free! P1091806.JPG

Removing the motor

The motor is up next. Look into the vacuum where you removed the winder, and you’ll see four bolts, each on a corner of a plastic housing. That housing is used to direct the airflow out through the top of the vacuum. P1091789.JPG Remove a 9mm nut at each of these four corners

As soon as you get all four of those nuts out, you should be able to remove the blower housing by simply rocking it back and forth. That will expose the rear of the motor.

Remove the motor by gripping it on the housing, and gently pulling out. P1091792.JPG Grip at the locations specified by the arrows, and gently remove.

A motor! Once again, label the terminals and wires so you remember how to hook it back up. P1091803.JPG

Bag housing

The last part to be removed is the housing for the bag.

Stand the cleaner on its end. P1091794.JPG

You’ll need to remove these four screws. Two of them are easy to get out - the last two are a bit more tricky. Start with removing the two screws on either side of the latch. P1091795.JPG The two screws at the latch (red arrows) can be removed easily. The ones in the hinge (green arrows) need a little more work before they can be reached

You’ll need to partially disassemble the blower door before you can get to those two screws. Remove the four screws on the back of the blower door. P1091797.JPG Remove the four screws on the bag door housing

After you’ve done that, you should be able to reach the two screws in the hinge. Note that you won’t be able to remove the bag door from the cleaner housing (at least not easily), as the cords run through some grommets attached to the housing. Unless you need to remove it, leave it attached and be careful not to pinch or over-stretch the cables. P1091798.JPG Remove the two screws in the hinge

Next, the bag housing should slide out. P1091799.JPG Slide the bag housing out. Careful with the vacuum line, you don’t want to stretch or break it

All apart

That’s everything! You’ve taken your poor Electrolux apart. Stand back and take a look at the mess on your kitchen table! P1091802.JPG


Your vacuum is useless in this state. You probably should put it back together before the cat sheds again.

Reassembly is reverse of disassembly, but here’s a couple tips:

  • Pay careful attention to cable routing.
  • Be certain to re-install the bag housing before the motor. (The other way around will end in frustration when trying to work the vacuum line that goes between the bag housing and the cord winder back into place.)
  • When putting the motor back in place, ensure that you’re not pinching any wires between the motor housing and the edge of the cleaner.

P1091804.JPG Careful with the cables!

  • Again, when putting the motor housing back in place, pay attention to cable routing.

P1091805.JPG The motor housing should lay flush against the motor frame.

  • Remember to put the blower gasket back in place before the cord winder
  • Pull the cord out of the winder a few inches when reinstalling to ease it back in.

That’s it! Put the bag back in and start cleaning. P1091777.JPG

MaruBlog - a supybot plugin

| No TrackBacks

MaruBlog is a worthless supybot ( plugin that dumps blog posts from the blog I am Maru into an IRC channel.

Currently, it's set to strip out any lines that contain non-ASCII characters, mainly because many IRC servers aren't Unicode-aware, and this plugin was developed for English-speaking users. It's simple enough to hack to make it dump the Japanese back out.

It also works better when most of the users are using IRC clients that are capable of inlining images, like alice (




Installation is simple, simply drop the plugin into your Supybot plugin directory, and issue "load MaruBlog".


You will need BeautifulSoup 3.0.x. ( 3.10.x does not work properly.


A summary of commands:
  • maru: Returns a blog post at random. Issuing an integer as a parameter (e.g., maru 451) will return that particular blog post.
  • hugs: Huuuugs!

Fun things to do

  1. Add "Hey" and "," to strings your bot will respond to.
  2. Add an alias for "maru!" to "maru"
Now, you can issue Hey Maru! or Hey, Maru! to get a blog post.

There is cat hair on my desk

| No TrackBacks

That is all.

University of Wisconsin-Parkside: Here I come.

| No TrackBacks

So I've applied, been accepted, and will be attending University of Wisconsin - Parkside in the Fall semester of 2009.

That is, as long as I don't fall into a giant hole of bureaucratic red tape.

I'm going to be working toward a Bachelors of Science in Computer Science. I was, at one point (fresh out of high school) working toward a BS in Computer Engineering at Southern Illinois University - Edwardsville, but a combination of lack of funding, not wanting to bury myself in loan debt, and a general lack of conviction eventually led to me leaving. I did finish an AAS in Network Administration and Computer Security from the College of Lake County, but that particular degree left me feeling, erm, uneducated. It got me into a great internship that led to a great job, but I feel like it's time to expand my educational horizons.

So. Here goes.

For the first time, I'm actually going to lay down my course schedule in front of me and figure it out at the start. I'm also going to do it on the internet, everyone can see it!

Here's my core course list for the next few years (I'll be a part-time student, so I'll be lucky to fit more than one course in per semester). Items in strikethrough should hopefully be covered by a transferring credit. (Nothing's guaranteed at this point. I'll apparently get an email in a few weeks telling me what went through.) c denotes that it should transfer from College of Lake County, s means SIUE.

Course CodeDescriptionCredit Hours
MATH 221 sCalculus and Analytic Geometry I5 cr
MATH 309 cProbability and Statistics4 cr
PHYS 201 sGeneral Physics I5 cr
CSCI 231Discrete Math3 cr
CSCI 241 sComputer Science I4 cr
CSCI 242 sComputer Science II4 cr
CSCI 250Digital Logic and Computer Organization4 cr
CSCI 331Computational Models3 cr
CSCI 333Programming Languages3 cr
CSCI 340Data Structures and Algorithm Design3 cr
CSCI 355Assembly Language Programming and Computer Architecture4 cr
CSCI 370Operating Systems3 cr
CSCI 380Files and Databases4 cr
CSCI 475Software Engineering Principles and Practice I3 cr
CSCI 476Software Engineering Principles and Practice II3 cr

Here's the electives. I'm not expecting anything to transfer, but I guess there is a chance that some of these might move over from CLC:

CSCI 405Artificial Intelligence3 cr
CSCI 409Human-Computer Interfaces3 cr
CSCI 420Computer Graphics3 cr
CSCI 421Computer Vision3 cr
CSCI 440Compiler Design and Implementation3 cr
CSCI 444Event-Driven Programming3 cr
CSCI 445 cWeb Security3 cr
CSCI 467Computability and Automata3 cr
CSCI 470Operating System Implementation3 cr
CSCI 477Computer Communications and Networks3 cr
CSCI 478 cNetwork Security3 cr
CSCI 480Advanced Databases3 cr

That said, I think I'd like to take CSCI 409 and CSCI 470 and 480.

First things first. I'm going to start slow, and take just one course in the upcoming semester. It depends heavily on what I can get in to and what transfers, but it will likely be one of the following:
* CSCI 231 - Discrete Math
* CSCI 250 - DIgital Logic and Computer Organization

Now, to get ahold of someone in the department and see if I can actually register yet.

Update - Aug 17, 2009

Hey, I have an appointment with an advisor tomorrow. Better than my significant other, who's going for Art and English Education, and after a series of phone calls was informed that he'd have to wait. Let's see how this goes. Note to self: Print out transcripts, bring old course catalogs (or place PDFs on iPhone.)

I hate WordPress

| No TrackBacks

The WordPressµ install on our production webserver is woefully out of date and is proving to be a TREMENDOUS headache to upgrade.

This will be the page (on a competing blog platform, nonetheless) where I shall complain about it.

Problem 1

The documentation sucks when you're not doing a minor upgrade.

I'm moving from 1.2.2 to 2.8. A straight upgrade results in blank pages, nothing logged, nothing dumped, nothing nothing. So, I'm incrementally upgrading. This is taking forever.

Problem 2

The documentation sucks when database changes need to be made.

I was trying to figure out why PHP kept barfing out errors like thIs:
[06-Aug-2009 12:50:20] WordPress database error: [Table 'blog.wp_1_term_taxonomy' doesn't exist] SELECT COUNT(*) FROM wp_1_term_taxonomy WHERE taxonomy = 'post_tag'

Thankfully, Google pointed me to this page:

Oh. How about that. There's another upgrade.php script that needs to be run.

Problem 3

The documentation for plugins sucks.

== Installation ==

Upload the Akismet plugin to your blog, Activate it, then enter your [ API key](

1, 2, 3: You're done!

Wouldn't telling me where to upload this be useful? I mean I could just drop it into /tmp/, but for some reason I don't think that would work.

Volkswagen Commercial Playlist

| No TrackBacks

I want a playlist on my iPod for my Rabbit (Mk5 Golf for the rest of the world) of a bunch of Volkswagen commercial songs. Here's what I've compiled so far, feel free to comment, YouTUbe links to commercials are appreciated, I'll be adding them to this table as I have time.

SongArtistVehicle (US Names)
IIBSCharles MingusJetta MkIV
Mr. RobotoStyxGolf MkIV
Mr. Blue SkyElectric Light OrchestraNew Beetle Convertible
Pink MoonNick DrakeCabriolet MkIII
The Birds and The BeesPatrick and EugeneRabbit MkV
Da Da DaTrioGolf MkIV
Singing in the RainMint RoyaleGolf GTI MkV
A Million Miles AwayJ. RalphJetta MkIV
WalkenWilcoJetta MkV
Sky Blue SkyWilcoEos
Jung at HeartMaster CylinderJetta MkIV
Little Fluffy CloudsThe OrbNew Beetle
The PassengerIggy PopNew Beetle


Someone has made a good start:

There's a dead stray cat in my Tomcat cluster

| No TrackBacks
Jul 24, 2009 4:28:06 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData SEVERE: Unable to send replicated message, is member [PooledSocketSender[/]] down? No route to host

Okay; after restarting the cluster member several times, I still see it in the $WEBAPP_NAME.ClusterMembership.MembersByName MBean in jconsole. How the hell do I purge these things? I just checked my logs, no one has had that IP address since 8:30 this morning, and that particular range is used for VPN logins.

Outlook Attachment Saving breaks when store is full

| No TrackBacks

Microsoft Outlook, starting with probably around Outlook 2000, decided to save all attachments to a temporary file store before placing them on your disk. Apparently this was for security, since it would allow a virus scanner to read it off of the disk before rendering it.

Whatever. That's not really important.

Either way, when the folder "fills up" (it doesn't need to fill up the disk, it seems to be an arbitrary amount), you'll get this message:

"Cannot create file: (filename). Right-click the folder you want to create the file in, and then click Properties on the shortcut menu to check your permissions for the folder."

Typically cryptic Microsoft error message, and yet again another message that doesn't give you a clue as to what's actually wrong.

To fix this:
1. Kill off Outlook.
1. Fire up good old regedit.
2. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Security
3. Find the OutlookSecureTempFolder key. Open it, and copy the string within (a filesystem path) to your Clipboard.
4. Go to that folder.
5. Delete the contents.
6. Start Outlook back up.
7. Rinse, repeat when it fills again.

How To Write Unmaintainable Code

| No TrackBacks

To my boss, if you're reading this: everything I've coded so far is in Python, and it's pretty hard to obscure that.