Browse Month: August 2013

08/30/2013

Ahh, Pandora ads. Check out the fine print for this one, which is apparently some kind of low-testosterone treatment that you apply to your armpit.

My favorite part is the sentence that begins If you expect another person to have direct skin-to-skin contact with your armpits…

Uhh… is that some kind of weird fetish I don’t know about?

08/30/2013

Quote by a friend:

I love how in scary movies the person yells out “Hello?” As if the killer is going to be like, “Yeah, I’m in the kitchen; want a sandwich or something?”

08/29/2013

Amazon has everything.

Except cool neckties.

As someone who values a really sweet obnoxious necktie to accent an otherwise dull grey suit at church, I’m always looking for the next silk accessory that’s covered in paisley or bright flowers or (my favorite) tie-dye. I enjoy the Jerry Garcia ties that Kohl’s sells, and I wish I could go to Amazon and find something equally awesome. Alas, despite a gazillion ties available in the store, they tend to be pretty dull.

I don’t want to look like a banker.

08/26/2013

I’ve always been fascinated by the transcendental number pi, so I thought it was really cool when the first 100,000,000,000 digits of pi were transformed into art via a random walk.

(Click for a larger version)

This image represents pi in base-four notation, and each subsequent digit determines the location of the next pixel. Zero means “move down”, one is right, two is up, and three is left. We start at the point marked start and proceed through a hundred billion digits, eventually coming to finish. Although this is hardly a rigorous mathematic proof of the randomness of pi’s digits, the fact that there’s no discernable pattern here is a pretty strong indicator that the digits are likely random.

Math as art is so cool.

08/26/2013

I love lyrics like this on Pandora:

08/24/2013

We have this little stuffed hedgehog that I think Zack got around the time he was born. His name is Hedgie (naturally!) and for some reason he cracks me up. Zack still keeps him in his bed, not because he’s afraid of the dark and needs a stuffed animal for protection, but just for nostalgia.

Zack suggested that perhaps I could take a nice photo of Hedgie so we could use him on our computer desktop backgrounds. So I had a little photo shoot just now. I think the pictures came out nicely.

Long live Hedgie.

08/23/2013

I have a client who I’ve been working with for almost 12 years. I know a lot of people there, and over those years I’ve seen a lot of changes. I feel like we have a great relationship of trust and mutual support, and I’ve always done my best to provide the very best service for them.

All of a sudden, this week someone in the Legal department decided that we have to slam the brakes on all of the projects we’re doing because there’s no contract with Zing! I explained that I’d signed contracts in the past– probably years ago– but since no one can find them, they felt that we needed to get something in place before we could possibly continue working together.

Last night they sent the contract. It was horrendous– clearly the work of a corporate legal team who wants everything weighted in their favor, at the expense of the little ten-man company who’s working with them. The indemnification clause prevented me from suing them even in cases of “gross negligence or willful misconduct”… in other words, they could intentionally sabotage Zing, and I would be powerless to sue them. Nice. They also required that Zing carry five separate insurance policies with a minimum coverage of over $12 million. Umm, what?

I wrote a lengthy email identifying all of the clauses I felt were unfair or unreasonable, to which they replied that well, it was certainly my choice to stop working with them. Since they’re a long-time client and provide significant revenue for Zing, it’s not like I’m going to walk away. On the other hand, I’m not about to sign a contract that’s clearly unreasonable. I already went through this legal showdown with Google a few years ago (their contracts are even more lopsided). I may be a small business owner, but I’m not a pushover.

In the end, I decided to reword and strike various parts of the contract before I signed it. That should make things interesting– will they accept my changes, or is this the start of a big negotiation? Of course I had to print two copies and physically mail them… thanks, lawyer-type people, for keeping things back in the Dark Ages before we had email and electronic signatures. Sheesh.

08/21/2013

I’ve owned BitRelay, my web-hosting company, for about twelve years now. For most of that time, I’ve sort of considered it a “side business”. My main source of income has always been web programming, not web hosting. Hosting is notoriously a low-margin business– in general, web providers are in a race to the bottom. My cheapest accounts run $20/month for simple static sites, and that same $20 would probably buy several years’ service at one of dozens of low-cost hosting providers out there.

In short, it hasn’t been about making money– it’s been about having access to dedicated servers and an environment that I know and control. Back in 2001 when I got started in the hosting business, there was no “cloud”, nor were there even virtual servers. $20/month was par for the course, and dedicated hardware was much more expensive than it is today. So it made a lot of sense for me to set up my own operation to support my main business of building web sites.

Fast forward to today, when I have four full racks with over a hundred servers, and probably well over $100,000 worth of hardware. I’m not quite sure how I ended up here, but this isn’t a garage operation any more. In addition to the growth I’ve seen on the technology side, I still feel like having a hosting company is a great thing. It gives me a lot of capability and flexibility as I work with clients who have very specific (and often quite complicated) needs. Perhaps the best thing about hosting is the servers just hum along, running 24/7 and earning money while I sleep.

That is, until something goes wrong. Then everyone is calling and emailing, asking why their web site is broken (or down entirely), or why they can’t get email, or what’s going on with the business-critical system we built for them. Those are tough conversations, and cause a lot of stress all around. Fortunately major incidents are very rare; I’ve had only a handful in twelve years.

One of them happened a couple of weeks ago, which unfortunately was when I was on Trek and completely out of communication with the technical world for four days. My team at Zing did an amazing job of working through the challenges, reassuring clients, and even considering alternative solutions for an apocalypse scenario. It didn’t come to that, but they were sweating. When I found out what had happened, I felt pretty bad about it. I hadn’t given them the tools or access they needed to properly troubleshoot, leaving them with some difficult options (one of which was to actually drive up to the middle of Wyoming to find me on the trail somewhere!).

In any case, I learned a hard lesson and realized that I’ve been treating all of this like a side business for over a decade, when in fact it needs to have much more of my attention. My clients absolutely depend on me. Sure, some of them have a little brochure web site that could be down for a day without a lot of impact… but others have mission-critical stuff that would easily cost them thousands or even tens of thousands of dollars if it was offline for a day. Ouch.

As such, I’ve been working for the past two weeks on planning all sorts of redundancies, failovers, and even alternate hosting solutions. I need to write documentation, set up access, and train my team so the next time I’m incommunicado (ahem, fall backpacking trip with Thom) they have what they need to battle the emergency. It’s been interesting to consider worst-case scenarios and figure out how to bring things back to life.

I cross my fingers that nothing goes so wrong that it requires these drastic measures, but I hope that within a month or so I’m in a much better position to offer these services to clients and feel confident they’ll be rock-solid. I guess we’ll see.

08/20/2013

Kyra just finished her first high school softball game. She decided to try out for the Skyline team this year, and tonight they had their first game.

Unfortunately I didn’t get a good photo– this was shot through the fence, past the batter, with a nice view of the football team practicing on the field beyond the fence. Kyra played second base for a few innings; she didn’t get a chance to bat because they were pretty much three-up-three-down each inning. The other team whomped them 18-0.

Still, it’s pretty cool that she’s on the team and I’m excited for her and the other girls to get better through the season.

08/18/2013

Well, tonight marks the end of an era. Our last rat, Squinkie, passed away.

She had a tumor that was almost half of her body weight, and it was infected pretty badly, but she didn’t really show signs of pain or sluggishness. So we decided to have her put down.

That’ll end the string of pets at our house. If the kids want to get another pet, I’ve told them they’re welcome to do so… when they’ve moved away. The rats were a lot of fun, and they really grew on me, but it’s time to move on.

08/15/2013

Josh and I just went to Subway to grab a sandwich. The Sandwich Artist there was amazingly fast. She whipped out the bread and had everything ready lickety-split. Wow.

Of course, the guy handling the toppings was working in slow motion, so there was a big sandwich traffic jam on the counter. Go figure.

08/13/2013

For some reason, the little smiling ghost logo used by the Symfony PHP framework team bugs the living heck out of me.

I did something bad and the entire site crashed… I don’t want a smiling Pac-Man ghost telling me about it. Grrr.

08/12/2013

Yeah, another sweet application for our full-time on-site programming job:

I search job for improve my english language and web developments skills. I ready to start working on the terms novice developer and perform tasks remotely.

08/10/2013

This evening we headed over to the Boulder County Fair. Laralee pointed out that we’ve lived in Boulder County for fourteen years and we’ve never gone to the fair.

It was a gorgeous evening, and there were a lot of kiddie rides, goats and cows and chickens and bunnies, and plenty of vendors selling food. Of course, in the tradition of county fairs everywhere, all of the food was deep-fried. Mmm. We ended up getting snow cones from Alex, who was working his first shift at Boulder Snowie. Although we had to buy cones for the kids, I get free snow cones for life because I helped with the company web site. Nice!

The kids had coupons for free ice cream, so of course we had to take advantage of that. Here’s Zack playing Mr. Cool as he eats his.

We headed across the street to Red Robin for dinner– always good food. Then we came back to the fair to see Face in concert. They’re an acapella group, and a lot of fun.

Unfortunately the boys were getting restless: Zack doesn’t care much for music, and Alex had been working at the fair all day already. So after an hour we headed home. Good fun all around.