One month from now…

I will be sitting on our deck, over-looking our backyard, with a glass of lemonade in my hand, waiting for it to cool down enough that I can jump in the the hot tub.
The kids will be asleep, each in their own room — and neither of those rooms shared with us.
Music will be playing, streamed from the Mac over a gigabit wired network, controlled by my iPhone — unaffected by the neighbour’s microwave ovens.
And when I’m ready to call it a night, I’ll pull pajamas out of a drawer, instead of a suitcase, and sleep on a real bed — not a mattress on a floor.
And it will be good.

Warning: Some parts of this post might be inappropriate for people without children, or the desire to have children

I don’t usually blog on Saturdays. But then again, we don’t usually have a Saturday with nothing to do and only one baby in the house!
Nic’s parent’s have Ben for the whole weekend, and so far, our Saturday has been amazingly mischief-free! We went to Home Depot and window-shopped for blinds, power-washers, central vac accessories, lighting fixtures, and deck repair gear, had a nice quiet (and classy!) McDonald’s breakfast — until the college students rolled out of bed and all the bro-dawgs showed up with last night’s conquests in tow, still wearing their, now-disheveled, clubbing clothes.
At one point, a couple of young people came in the front door and went straight to the ketchup dispenser. That seemed odd, but it got even weirder when they left shortly after… leaving the dispenser full of little paper ketchup cups empty. It took us a minute to piece together their alternate use: jello shooters. Who says college students aren’t thrifty?
Its weird to think we were that young and dumb just a few years ago. Amazing how fast life changes. Our big problems these days seem to revolve around baby stuff. Ben and Abi had their first Canadian doctor’s appointments ever yesterday… comparing that experience to their experience in the States is a whole other post, but needless to say, not everything lined up the same. They already have some shots that they wouldn’t have gotten yet in Canada, and they’re missing some shots they should have gotten by now. And in Canada, they mix compatible drugs into one needle, to avoid poking extra holes into babies, but in the States, they keep them seperate so each drug company gets appropriately compensated. This caused quite a bit of confusion when one needle contained 5 drugs, 1 of which Benjamin already had…
Or something like that. Nic and the doctor sorted it out. I gave up when the discussion started to sound like a word problem in math class, and just played with Benjamin to keep him distracted. Both kids have had fevers lately. Ben was back up to almost 104 earlier this week, but got better quickly. Now Abi is spiking near 102… fun stuff.
You know what else is being fun about being a parent? Poop. I’m going to pause here, and allow non-parents to stop reading if they want. Those who want to commiserate with us can hit the jump to keep reading.
Continue reading

Using PHP and a Shell Script to Restart an AppleTV remotely — via the web

As a follow up to my previous post, here’s how to do the same thing, but from a web browser (say, on your iPhone) — it assumes you’ve already written a shell script, as discussed earlier.

  • Configure Apache to run PHP on your Mac (these instructions are for Leopard, but similar ones are out there for Tiger)
  • Configure Apache to run as your own user, instead of the WWW user — a serious security risk. Only do this on an internal network! The WWW user won’t have adequate permissions to do what we need to.
  • Put this .php page in your /Library/WebServer/Documents/ folder as RestartMedia.php — you’ll need to supply your own image file in the same path as well.
  • Visit http://yourcomputer.local/RestartMedia.php from a browser. Clicking on the text or image will execute a shell script located at: /Applications/Automation/RebootMediaServers.sh

Obviously you can customize this at will, including file locations. This was just a quick hack that does the job for me — and the webpage is optimized for Mobile Safari.

Using AppleScript and a Shell Script to Restart an AppleTV remotely


Both my media serving devices (a NAS, and a Mac Mini) are using TwonkyVision Media Server to share media using uPnP. It works great, but as I mentioned earlier, I needed a script to make it start back up in the morning.
Unfortunately, I’ve found that my AppleTV freaks out a bit when this happens, and as a result, needs its own reboot. Restarting the Finder helps, but streaming still gets weird, so a full, daily reboot is in order. Using the same iCal-alarm-firing-an-AppleScript trick, I updated my Twonky restart script to also tell the AppleTV to restart. But it wasn’t that easy.

  • First of all, you need to exchange keypairs with the AppleTV so that you can login over ssh without a password. If you’re using an older patchstick, the process is a little different, since it may only support ssh1. This wiki page explains the process, and the slight tweak to it for ssh1.
  • Second, you need to set the AppleTV up to allow you to sudo without a password. This is harder than it sounds, and requires modifying the /etc/sudoers file on the AppleTV. The only way I found to do that was to sudo cat /etc/sudoers > ~/sudoers the file (which dumps the contents of one file to another, which you can access more easily), copy it over to my Mac, edit it, copy it back, set the permissions, and sudo mv it back over-top the original. You’ll need to add this line to the bottom of the sudoers file:
    frontrow ALL=(ALL) NOPASSWD: ALL
  • Make sure you change the permissions (chmod 0440) and ownership (chown root:wheel) on your new sudoers before you replace the original, or you’ll screw yourself out of sudo!

To test those things, you could go to Terminal on your Mac and try something like:
ssh -1 frontrow@appletv.local 'sudo ls-l'
(drop the -1 for newer Patchsticks)
If you’ve setup everything right, you shouldn’t get prompted for a password to login OR to get a directory listing. Once that works, the AppleScript is easy and looks like this:
do shell script "ssh -1 frontrow@appletv.local 'sudo reboot' &> /dev/null &"
(drop the -1 for newer Patchsticks)
At some point, I’m also going to attach this to a PHP script (somehow) so I can use Safari on my iPhone to do a reboot from the couch if needed. I’ve only found two other ways to reboot the AppleTV — yanking the power cord, or using the remote to put it in recovery mode. Neither seems as elegant as my solution.

Haircut @Home

The boy needed a haircut. We’d wake him up from his naps, and even with the air conditioning on, his hair would be matted to his head with sweat.

But his last haircut (which was also his first) cost over $10. That’s a lot of money for a baby’s head — especially when he pretty much needs his hair cut every month.

So we figured it was time for a crash course in hair dressing.

The boy was pretty patient with us, and the only person who got cut by the scissors was me.

The results? Not bad for our first try. A little uneven in the back, but he’s not complaining about it…

Big Summer Weekend #2

So when events like these come and go, I like to try to capture my feelings, or some recording of the time on the blog, so that when I look back, it’ll remind me of what it was like.
As for Randy’s wedding… I don’t think I’ll have to write much. I doubt I’ll ever forget this particular event. Whether it was loosing two groomsmen at the last minute (one to a roundhouse punch), the creative and humorously appropriate groomsman outfits, having a serious thunderstorm roll in just before the bride was to walk through the garden for the outdoor ceremony, or the incredible fun we had, totally out-of-our-element at the reception, but totally belonging there because of the part we played in Randy’s story, all of it was incredibly memorable.
My speech, that I was so nervous about, required a pretty careful balance of reflection, encouragement, honesty, grace, humor, pride, spirituality and neutrality that both the intended recipient, and the gathered audience needed. A tall order, for sure, which is why it made me so nervous. But aside from opening by calling the groom a douchebag (he had it coming), I think I managed to avoid screwing it up too much. And I sure was honored to be asked to give it.
My other bestmanly duties for the weekend were a little different than what I imagine is the norm, but it was a lot of fun helping with the big day, and the celebration was hard-earned, and well-deserved.
Randy’s story is one I’ve long-since learned I can’t really tell here, but suffice it to say, he’s come a long way, and he’s found a good partner to share the rest of the journey with him. I doubt I’ll ever forget how proud I am of him right now.
Pictures in the sidebar, and more on Flickr…

At the Movies…

So, I saw Dark Knight this afternoon. I’ve been looking forward to this movie for a long time, and its been hugely successful on this, its opening weekend, so I had to get to see it. My opinion?
Its ok, but not great. It left me feeling unsatisfied.
Don’t get me wrong, Christopher Nolan is a brilliant filmmaker, Christian Bale can do no wrong, and Heath Ledger was the Joker… it just offered nothing new.
It could be because Batman Begins was the best re-boot of a franchise ever, and the sequel had too much to live up to. It could be because the hype was too much for anything to satisfy. But it just felt like this movie had no style. There was nothing in it we haven’t seen before…
Batman was the same as the first movie, only his suit was a little sillier looking, and his gadgets a little less impressively derived from the plausible.
Gotham was too normal a city. In Batman Begins it looked like a normal city, but with just a hint of story-tale too it — a little bit of surreal.
And Heath Ledger really only offered a slightly more mature interpretation of Jack Nicholson’s Joker. He was adequate to the task, but brought very little that was new to the table. Certainly he doesn’t deserve an Oscar (posthumous, or otherwise) for the job.
And the story line was just… uninteresting. If you’re going to make people sit through two and a half hours of film, you should at least have a good reason. There seemed to be no reason here, except that Christopher Nolan doesn’t want to do yet another sequel. By the end of the movie it was clear that he’d lost interest in the franchise.
Which is fine. Its a passable follow-up to Batman Begins, but a third movie would likely sink the series right into mediocrity.
Oh, and I couldn’t escape this nagging feeling, that struck me about 1.5 hours in, that Nolan is a Republican, and he’s trying to draw some misguided parallel between Batman and George W. Bush. Watch it, and see if you don’t catch on (Hint: listen for the part about “A real hero is someone who isn’t afraid to be hated so that the terrorist doesn’t win!”)
In contrast, let me tell you about the other movie we saw in theatres recently: Wall-E. I know this may seem like comparing apples to oranges, but I can’t help it — I don’t get to go the movies that often these days, and its inevitable that I’ll have to decide which was a better waste of my time and money.
Wall-E is full of things we’ve never seen before. Its completely creative, beautifully presented, and loaded with characters who drawn you in emotionally (without even speaking a word.) If Batman is a traditional tale of good vs. evil, where most of the characters (save for the “bad guy”) are drawn as essentially good, Wall-E is a non-traditional tale that more accurately depicts reality: most people are essentially stupid and self-absorbed. It doesn’t need a good guy and a bad guy to drive the narrative — in fact it suffers from almost none of the crutches of the simpler stories that Hollywood-produced drivel is usually hobbled by.
I’d like to go on about it longer, but I think you should just go see it yourself. If you have a choice between Batman and Wall-E at the theatres in the next couple weeks, go see Wall-E. Its altogether more satisfying, original and enjoyable than the half-hearted sequel to a good re-make of the decades-old Batman franchise…
The new Bond looks good, though!

So we took our monkeys to see the kids at the zoo

Ben’s favourite New York babysitter came to Canada for her first international trip ever! We saw Toronto Island, the Toronto Zoo, and the GSTA (Greater St. Thomas Area) in all its mediocrity! More pictures in Flickr.


We’re burnt and tired, but at least we’re managing to pull off a few summer activities! Today’s Nicole’s birthday (happy birthday, babe!) and for one short week, she’s older than me. You can bet I’ll be rubbing that in!
Big Summer Weekend #2 comin up fast…

Take me out to the ball game

I know this isn’t the Blue Jays logo any more, but it was the last time I went to see them play. In fact, this was their logo the last time I watched any MLB at all.
Its not that I hate baseball. Its just that I don’t care. Baseball is no worse than any other professional sport — athletes are over-paid and over-worshipped for playing a game, while people in other parts of the world starve to death. Just seems kinda stupid to me. But I guess it doesn’t bother me enough to be passionate about it… I just don’t really get emotionally involved in sports at all.
It doesn’t help that the last baseball game I went to went into like 14 extra innings, and we were stuck in uncomfortable seats for 32 hours straight… or something like that.
Anyway, I’m going to a ball game tonite. And I’m actually kinda looking forward to it. Not the part about watching doped up, spoiled rich guys swinging a club and chasing a ball around a field. But the part about hanging out with my old friend Randy, doing something he enjoys, and celebrating the fact he’s grown-up to the point where he’s ready to commit to his girlfriend and to their son in marriage. And I guess it would be nice if the home team won (especially since they’re playing New York) but either way, tonight we’re celebrating a victory.
Here’s hoping there are no extra innings…