Archive for December, 2012

Christmas Trains

So once upon a time there was a guy. And over the course of his childhood and adolescence, he was in the habit of acquiring model trains for he and his brothers to play with. Nowadays, these would be referred to as “old school” trains, with the fancy switches, electricity to power them, little reservoirs that you can fill with dry ice or something so that the little smokestacks really spit out smoke, everything mounted to big swaths of plywood with fake grass, dirt, mountains, matchbox cars, and 1 inch high people strewn about. This guy, as he got older, thought to himself… you know, wouldn’t it be cool if I could have a couple boys (or, I suppose, girls) and when they’re old enough, they can play with this stuff too. We’ll be able to make it a father/son (or, I suppose, daughter) project and they can learn all about electricity, being responsible with potentially dangerous stuff, and so on. I should also note that this guy would have been thinking and saying these things in German, since he was my Dad, and was in Austria at the time those thoughts would have been percolating.

I should maybe take a moment here, and note that some of this story I’m telling second hand, I was either not there yet or too young to remember when some of these details were happening. I’m also not quite sure of the sequence of events, but it isn’t that important. I suspect there was some embellishment on the part of story-teller, but it still makes for a good yarn, so just bear with me.

Anyway, so let us fast forward a few years now, and now that guy is married, and has two kids, aged 4 and 2. Still in Vienna at this point, but already planning to move over the good ol’ US of A, where the lovely lady has most of her family, and of course, misses them terribly. At some point here, this guy’s stepmother decides that she is going to take that whole train set and all of its associated trimmings and trappings, and send them off to one of her nephews. Dad was apparently not consulted on this, nor was anyone else that might have had some relevant input to the decision. If I’m conveying a bit of bitterness, it is because there was some. I’ll leave it at that, since, again… this predates me, and it is hard for me to feel a lot of emotion about something that couldn’t possibly have mattered to me at that point in my life.

Ok, so there was some animosity, regret, sadness, opportunity missed for some quality Dad/son time there, and life went on.

Another fast forward, and here I am, now a Dad myself. Two kids, 4 and almost 2. And lo, check it out. Opa David (my Dad-in-Law) decides to send us his trains. Once again, these are the old school variety. I haven’t done a complete inventory yet. I do know that there are at least there are two locomotives, at least 3 cars, and a whole mess of track. There are two of the “transformer” boxes that let you regulate the speed and direction of the train. There will need to be some cleaning, probably a few parts that need to be replaced, but even with the very limited stuff we set up today, we were able to get a functioning oval of track around the Christmas tree with one of the locomotives and two cars hanging off behind. It throws off a few sparks here and there, lights flicker on some particular rusty bits of track, but it runs!

This will be a long project, spanning a bunch of years, especially since the kids are pretty young still. This kind of thing, I believe, is a labor of love, with long hours spent with sandpaper, modelling glue, and linear miles of wire so that the little streetlights will all turn on when the room gets dark. Perhaps I’m letting my imagination get away from me a bit here, but … well, what good is that darn thing for anyway, if not to close your eyes and let it run a bit wild the possibilities.

So thank you Opa David. Someday, Madeline and Nicholas will come to appreciate what I already know… just how special a gift this is.

Happy Holidays to all!


not so elegant hacks

Some time ago, I went through, as I do on a semi-regular basis, and updated passwords on everything I could remember. I have tools for this. The tools are very good at making things random and hard to guess or hack. They let me specify the types of characters that should appear in them, and how long they should be, and all kinds of funny rules to consider.

This time, I decided to also update the passwords on my DSL modem at home. The maker is Actiontec, although ultimately that isn’t relevant. On the password screen, they accept any character on the password screen, and entries of any length. Given that, I chose my 16 character mixed profile, which is pretty much the strongest one I generally use. A very few sites/apps accept longer ones, but not usually. The dialog accepted my new password, and saved it, and since I was also experiencing some port connection issues at the time, I decided to reset the modem. No problem, everything came right back up minutes later, and I was good to go.

I popped back onto the admin page for the modem, and was going to login to verify that the memory usage was back down to nominal levels. What’s this? An error??? Let’s see here… “Your password cannot exceed 15 characters in length”. WHAT??? It let me enter 16 characters when it asked. How can the login screen only take 15? So then I think, ok… maybe it automatically chopped the final character off? Nope. Maybe it chopped the first character off? (Ok, I admit thats kind of out of the realm of reality, but I’m getting desperate here)… Nope. After trying many different further combinations, including my old password, ALL CAPS, no caps, etc, I decided to do a little more poking around. Fire up the firefox debugger, and look at the code evaluating on this page. Sure enough, there is a routine in the javascript there that is validating my input on that page, and checking to see that the input <= 15 characters. Ugh.

So, I realize at this point that I could reset the modem back to factory defaults, and go ahead and reconfigure my custom settings. I have some specific port maps setup and this is generally a big pain in the butt, so I decide to try contacting their support first. Hit the webpage, leave a message with my email address, and await my reply. A few days later, they do so, indicating that the login page should be able to accept any password length that the password reset script would have allowed, and that I should check to make sure I’m typing correctly.


Really? Um, ok. That is like asking me if the power cord is plugged in. They indicate there is no “backdoor” and that I need to reset the modem to defaults in order to resolve, thank you for playing, we’re considering this issue resolved, and please don’t ask us any more of your stupid questions. kthxbye.

Alright, so now I get back in and try all the things I did before, thinking…ok, maybe they’re right, I just typed it wrong, and went through all the usual logical steps that I could have accidentally done things incorrectly, and I get the same result. As a last ditch effort, I go in and check the code again, except this time, I’m going to try and play with the values. Once again in the debugger I enable a breakpoint in the javascript, and start stepping through the code, watching the values of several different variables I see defined to see how it manipulates things before it finally submits the form. This time, I leave off the final character (going back to a 15 character, allowed value), and step it past the check that was previously failing. It does some more manipulation of the username, password, the current ip address, etc, and then sets that big long string into a new variable just before submitting. So just before the exit, I go back into that variable, and add my character back, by hand, in the debugger console. Click “Run” and close my eyes a bit. Wait 5 seconds… open my eyes… I’m logged in!

Every once in awhile, all the crap I went to school for actually comes in handy. No, not the most elegant hack, but it got the job done.

Return top