Using Automated Website Testing to Win at Parenting

Sasha climbing a rock wall

Today my daughter starts a one-week summer camp at our local Earth Treks rock climbing center. She’s super-excited, and has been looking forward to this since I signed her up last December.

Of course, there is always a catch. The summer camp scene here in the D.C. area is ultra-competitive, and this one was no exception. You have to sign up early to get into camps with only a few slots, sometimes as early as October or November. By January and February, most of the summer camp programs in the area are open for enrollment, and mostly filled up. When they open, you gotta get in quick.

But I’m terrible: I forget things, I get busy. Just like every other working parent. And I certainly don’t trust myself to remember to check one particular summer camp every day in order to get in right when registrations open. Fortunately, I had a friend and former co-worker who is into climbing and had worked at that Earth Treks. She helped me narrow down about when registrations would open, but didn’t know the exact date. With only twelve slots per camp, once registration opened, those slots would fill quickly.

When Web Tools and Parenting Collide

Then it dawned on me. At my previous agency, we had used Ghost Inspector to perform daily tests on some of our websites in order to make sure certain features were always in working order. As a joke, I even had used it to snapshot the AWS home page once a day to see if I could spot new offerings by the cloud mega-service. What if I could use that same tool to gain an edge on the summer camp sign-up scene?

So I used the Ghost Inspector to find the path through to where the summer camp sign-up page would be. Because there was a bit of JavaScript tab action going on, there wasn’t a single definitive URL that one could just “hit” to see if registration was open. So I created a recording of how to get to the page where the sign-ups would be, and set Ghost Inspector to run that script every day.

Then I waited.

Every day for two weeks I got an email that my test “passed”. That is to say, the result was the same that day as the previous recording. Nothing had changed.

But of course, that’s not what I was looking for. In this case, a “passed” test was actually a failed result. But I waited, and after a couple of weeks, it finally came: I got an email notification that my Ghost Inspector test had “failed.” But in this case, it failed because the sign-up form had appeared. Registration was open!

I jumped onto the site and signed Sasha up for camp, the first registrant for that week’s program.

Is It Worth It?

Of course, at $99/month, Ghost Inspector is a pricy tool for just trying to get an edge on signing your kid for camp. Fortunately, I’ve had my account so long that I’m grandfathered into the free “Personal” plan that gives you 100 tests per month. I’m not sure that that plan still exists, but there is a 14 day free trial.

There are also alternatives to Ghost Inspector, but I can’t vouch for most of them. The requirement for this particular application was the ability to record a script of which elements to click on to get me to the screen I wanted. As I said earlier, there was no canonical URL I could just go to that had the form I needed. If there is, your options open up, because any visual regression testing tool that keeps a history would work.

Wraith is a tool I’ve used in the past for visual regression testing, but it’s pretty archaic and seemingly an abandoned project at this point. UIlicious is another scriptable tool, and they appear to have a free tier (but I’ve never tried it). There’s also the old, and extremely geeky Selenium. I’ve never been able to master it, but if you’re a QA engineer already well-versed in its use, it may be all you need to accomplish the task.

And if you have Ghost Inspector already, and you have the tests to spare, setting up another is no sweat. And getting your kid into the camp she really wants is totally worth it.

What work tools have you used to achieve a great parenting hack? Let me know in the comments!

Mondays Are Super Hard When You’re a Freelancer

Photo credit: Ferdinand Stöhr

Once upon a time, I worked at an agency. Mondays were great. I woke up invigorated every work week, ready to take on the challenges. I loved my team, respected my boss, and did great work for our clients.

Then that job went away and I became a full-time freelancer, er, solopreneur. Now Mondays are a different story entirely.

When you’re freelancing, your day is completely different than when you’re working for an employer. If you’re like me, you work from home at least most of the time. You do work for a variety of different agencies and/or direct clients. You try—as best you can—to balance your work obligations with family ones. And you don’t always succeed.

Last night, I had trouble sleeping, so I made a huge mistake. I checked my email at 4:30 in the morning. I was greeted with a client wondering why I had the audacity to charge them for the time I have spent and will continue to spend addressing an emergency situation with their site. That’s always a positive (not) way to start your work week (and something I never had to deal with working for an agency).

Later this afternoon, I’m going to have to take most of the afternoon off to take the kids to the dentist and follow that up by an emergency PTA meeting. Part of the reason for being a freelancer is having the flexibility to deal with these kinds of situations, but what is problematic is how the rest of my family just expects me to be able to deal with these situations, all the time. Never mind that I’m working on a project where I have 10 tickets that need to be done this week (with more tickets to come, no doubt). I’m home all the time. I don’t have a “boss” to answer to when I need to take off early in the day.

No, I just have deadlines, and those deadlines don’t care that my kids are due for their teeth cleanings.

Mondays are an ever-present reminder that freelancers don’t get the respect—either at home or from other professionals—that agencies and other companies do. Yeah, we try to keep set schedules, as all the “How to Be a Freelancer” advice sites and books tell us to do, but usually our families haven’t read the same advice. And it’s impossible to “be on the program” without buy-in from everyone else in your life.

Like the other mom in the carpool who forgot you go to the client site on Tuesdays and asks you to pick up the kids from the bus when it’s not your turn. Like the PTA meeting that’s called for 5:30 when you already have a call with a West Coast client scheduled. Or the kid who never knocks on your door and barges in when you’re on a video call. (I have such empathy for this guy.)

It’s also harder to face Mondays when you know the majority of your non-familial interactions for the next five days will consist of text-based messages over a chat program. Context is lost. Social chat is minimal to none (not that this is always a bad thing, but sometimes it’s nice to shoot the breeze with people you’re not related to by blood or marriage). And it’s easy to feel socially isolated to the point of being a shut-in when you don’t get to see the faces of the people you’re working with.

The above tweet is from a long time ago. These days, Mondays are so much harder. Harder to feel energized. Harder to feel passionate about what I do. Harder to face the grind of another week. Feel the same way? Share your thoughts in the comments.

New Year’s Resolutions: 2017 Edition

John Oliver Says "Fuck You" to 2016

First a quick 2016 year in review: It sucked. Never mind that my childhood hero died. Closer to home, our remaining two household cats died, I lost a job I loved and had devoted myself to for the last four years, and America elected a misogynistic, pathological liar and serial antagonist as its next president, sending me into utter, absolute fear for the future of our nation. And people wonder why I didn’t bother to send out holiday cards this year.

So let’s move onto 2017, shall we?

I actually hate new year’s resolutions. But they seem to be a thing to do, and unlike most other years, the new year does actually likely mean a new beginning that I hope to share more information about soon.

Professionally, I have one goal that is long overdue:

Seriously, not enough developers are doing this, and we all should be. So wherever I end up in 2017, expect this to become the law of the land.  😉

And of course, I have a personal resolution as well. Being laid off from RP3 hit me hard, particularly because so much of my personal identity was wrapped up in my job. After four years of being absolutely dedicated to “the cause,” being let go ripped me to my core in a way that I haven’t quite gotten over, nearly two months later.

So in 2017, I’m not going to let that happen again. Wherever I end up, I’m going to take more care to separate my identity from my job and do a better job remembering that it’s not where we work that defines us, but how we live our lives, raise our families, and contribute to society that does.

A couple of other things: I need to learn JavaScript. Like really learn it, not just muddle my way through it. And maybe I’ll watch less Simpsons on FXX. Don’t hold me to that one, though.

Whatever you resolve (or don’t! that’s good too), may 2017 bring a better year than 2016 was for many people.

Oh, and…

So Long, and Thanks for All the Fish

Thursday was my last day at RP3 Agency. While it didn’t necessarily end the way I would’ve liked (do these things ever?), I feel deeply appreciative of my years there, and I wish them nothing but the best of success for the years to come. In my tenure there, I learned so much and had opportunities I had never  before dreamed of, many of which involved  increasing my participation in the WordPress community. I will always be grateful for the friends I made, and the work we did as a team.

While it’s tempting to sit back, take a break, and do nothing for a little while, I’m not that kind of person. I’ve always been someone that needs to be busy: always working, always producing. (Now, if we were in the throes of ski season, my attitude might be a little different. 😉 )

I’m already pursuing some opportunities thanks to the incredible friends I’ve made at RP3 and the WordPress community over the years. And if you have a need—freelance, permanent, or somewhere in between—drop me a line. I’d love to hear from you.

Home Sweet Home

Today I returned home from my exile to the West Virginia mountains after receiving my iodine-131 treatment last week for thyroid cancer. While there was certainly a “vacation” aspect to the whole thing (yes, I got to do a lot of skiing, thank you very much), it’s good to be home and rejoin my family.

It’s kind of a weird thing to be away because you’re “sick,” but not really be sick. On Monday, a coworker set up a webcam so I could listen in on an all-hands meeting (I was still working remotely, after all), and one of the account managers asked how I was. I was fine, my coworker said. “She’s been skiing,” he told her. I suddenly felt a little guilty that I was spending a week at a ski resort in January, ostensibly for health reasons. It all seemed kinda shady.

Continue reading “Home Sweet Home”

5 Suggestions for Improving Your Podcast

I listen to a lot of podcasts. No, seriously, a lot of podcasts. On all different subjects: Apple, space, movies, front-end web development, and even one particular radio show that has described itself as a soft-core sports show — just to highlight a few of my favorites — all funneled through Instacast onto my iPhone.

Mostly I listen to these podcasts either during my short commute to and from work and while I’m working (so long as what I’m working on isn’t super brain-intensive, requiring my complete focus and concentration; it’s off to Pandora for those times).

So while I’m not a great expert on producing podcasts, I consider myself somewhat of an expert at listening to them, and I’ve compiled a few friendly suggestions for those podcast creators to improve their product.

Continue reading “5 Suggestions for Improving Your Podcast”

Not Quite So Out of Touch Maybe?

It seems the reports of my future isolation have been somewhat exaggerated.

A couple of weeks ago I saw a new doctor at Johns Hopkins in Baltimore who still recommended the RAI treatment, but basically called all of the other doctor’s recommendations “silly.”

So here’s the scoop: In the beginning of January I’ll be spending a few days in Baltimore receiving medication and getting tests in advance of the RAI. I will not have to come off my current thyroid hormone replacement medication, which means I won’t feel crappy from lack of thyroid hormone. Yay for that!

I’ll still have to take the radioactive pill (probably), but at a lower dose. The next week will still be spent in the hinterlands, but then it’ll be back to Baltimore for a follow up test. Assuming all goes well, I’ll be able to head home after that.

Over all, much less dramatic than the original plan. Which means less time to work on all those projects I’ve been queuing up.  Hmmm…

Just Call Me “Fallout Girl”…

When 2013 is all said and done, it will have been quite the eventful year for me, including turning 40, writing a book, winning Twitter, and attending my first WordCamp San Francisco.

Sandwiched into all of that was some not-so-minor health issues which I’m still going to be dealing with for a few more months to come. In late September, just after WordCamp Baltimore, I had to have my thyroid totally removed because it had grown too large and gross to do me any more good.

Continue reading “Just Call Me “Fallout Girl”…”