Archive for the ‘Go Daddy’ Category

Music to My Ears

December 15, 2008

“Are we at the point now where it’s politically incorrect to be successful? At the end of the day, we didn’t make any bad mortgage loans, we are not building cars that don’t sell, and we didn’t lay any people off.” – Bob Parsons, “Grinch Is Not Invited To GoDaddy’s Shindig”

Advertisements

Ch-Ch-Ch-CheckBot

September 30, 2008

Yesterday I released my latest project at work. I call it CheckBot and it is a Windows service that pulls down messages from a third-party service, checks them for domain names, and replies with whether those domain names are available. I built it using a plugin architecture, so adding third-party services is a breeze.

The first plugin was Twitter. A Twitter user just has to follow domaincheck and then send that bot account a domain name through the direct messaging system. Within seconds, CheckBot will respond with its availability and include a link to register it on GoDaddy.com if it is available.

I am very proud of this application because I did it fairly quickly and I like the simplicity of the design. There was only one bug that came up during testing and it was both minor and quickly resolved. This sort of thing is exactly the reason why I love my job and the Gadgets Team I lead.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Wiki Wild Wiki Wiki Wild

September 18, 2008

My team just got moved to another group within Go Daddy on Monday. We had put a lot of information up on the old group’s SharePoint Wiki and needed to put it somewhere. The new group didn’t have a unified Wiki, leaving it up to each team. I hadn’t really looked at the Wiki world in a while and I imagined that I’d need to go with something like MediaWiki.

Then I remembered that Jeff Atwood had written favorably about a .NET Wiki called ScrewTurn. A cursory investigation indicated that it was pretty damn awesome!

In no time, I had a solid Wiki system up and running. It’s very easy to install and configure and it appears to hold to MediaWiki markup syntax, which is a big plus. I replaced its authentication system with Active Directory integration through an easily-installed plugin—enabling any employee to log in and edit pages.

The hardest part was migrating the content from SharePoint. It was brutal, tedious work but you only have to do it once. If you’re an employee and reading this on our network, you’re welcome to check out my handiwork. (If you need any help setting up your own ScrewTurn Wiki, let me know.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

The Fatigue of Ambition

August 15, 2008

Go Daddy‘s bringing Merlin Mann out to give a new talk tomorrow and I’m pretty jazzed. You may recall that he came out for an earlier event just this May for his Inbox Zero talk.

I’m excited for this presentation because its subject matter has been on my mind lately. I’ve been experiencing a debilitating sense of ennui and a lack of motivation. After much introspection and deliberation, I think I’ve located the source: too many great ideas and a fundamental uncertainty about which is the best course of action.

When I say too many great ideas, I mean it. At this moment, I’ve got some compelling ideas to contribute to an open-source project I’ve taken over—I still need to write up a blog entry about that fine mess I got myself into; a book idea that is unique, unprecedented, and possibly the start of an entire franchise—two actually, but the second one is going to require the first to be very successful; an iPhone application that could make me some decent side income; a historical project that could bring me enormous satisfaction; and a raft of business ideas that are all feasible to varying degrees.

In the face of all these nearly-equally viable choices, how do you pick one and set yourself to it? Normally, I’d consider a matrix of factors like which one has the most potential, which one lends itself well to maximizing time with my family, which one fits in with the life I envision for myself, and which one is best suited to my strengths. But there’s no clear winner in this regard.

So I stew and dawdle and get distracted easily. That lack of focus makes me upset because that’s not me! Any time I start to make some progress on one of these big-ticket ideas, some inner voice nags that another one is a better use of my time. Meanwhile, I’m caught up on my feed reading and on top of Twitter, which makes me even more unsettled because I know that these things are not the best uses of my time right now.

Merlin is not going to tell me anything I don’t already know. Heck, I am even familiar with all of the techniques he’s listed in his slide deck. But maybe his talk will be rousing enough to jar me from this rut, to just pick one from the many and get things done.

Then again, maybe writing this blog entry itself has provided sufficient impetus.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Go Go Daddy Dashboard!

June 10, 2008

Screenshot of the widget

I just deployed my latest effort: the Official GoDaddy.com Domain Search Dashboard Widget. I know, it’s not a terribly catchy name but it’s quite descriptive. It’s a Dashboard widget for Mac OS X that enables you to check domain name availability. It’s certainly a variation on a common theme but what can I say? Domain registration is bread and butter.

This widget was a little different than the other ones I’ve done, however. It’s got all the visual flair attendant with Mac OS X, to be sure. The animation took forever to get just right and smooth. It also had to have an update mechanism since it doesn’t reside anywhere that we can control. The update process is fairly simple but so is the app itself.

It consumed a lot more time than you’d expect, but I enjoyed it. Well, except for some of the fighting with Dashcode. Oh and that issue I had all yesterday with the little loading spinner: that drove me nuts trying to pin down the cause. (Incidentally, in the open method of the XmlHttpRequest object, if you specify false for the asynchronous parameter, it will not run any code that updates the widget until the response comes back. But only in the Dashboard version of WebKit. Safari works just fine. It was a pain to track down.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

TechFest 2008

May 17, 2008

Today was Go Daddy‘s first annual TechFest, which brought together all of Go Daddy’s IT staff from around the nation for a conference. It was a chance to meet the people you might have only ever dealt with via email, IM, or phone. It was held at F1 Race Factory, which we bought out for the whole day. Events took place in its set of meeting rooms as well as a massive air-conditioned tent set up in the parking lot.

The main suite of presentations dealt with the company as a whole: Bob Parsons’ candid (and hilarious) biographical sketch and reminiscences of the early days from employees that had been there 5, 9, and 10 years. It is simply astounding how far the company’s come from those salad days—it’s grown significantly in just the three years I’ve been there. For the first couple years of its existence, all the employees of Go Daddy worked in a house out in Cave Creek. The old-timers regaled us with tales of servers in the laundry room and concrete pillars erected in front of the garage for insurance reasons so that an errant car wouldn’t take out the entire development staff!

I gave a presentation on unit testing and test-driven development to approximately 37 people. (I say “approximately” because that was the attendance figure I had going into the presentation but I didn’t actually do a count during.) It was a version of the one I’d given in March to an internal team but all gussied up. By popular request (of those who didn’t attend the talk), here’s the slide deck. I can put it up because it’s entirely meaningless without me flapping my gums up there for an hour.

The set up surrounding the presentation was one disaster after another. I couldn’t find my VPN card so I couldn’t do a demo using a live connection. Then I made a screencast version of the demo, but the software I used for Windows could only export to a SWF. That meant that I had to open it up in a browser and use the context menu controls of the Flash plugin to navigate the video. My room was designed for 20-25 and didn’t have a built-in projector system, which further limited the available seating. I overcame each of these obstacles in turn because I allowed plenty of time to sweat out the details. I can’t emphasize enough the need to really explore your presentation environment before your talk; if I had relied on the previous night’s once-over, I would’ve chewed through valuable talk time fretting little hurdles as they arose.

I think the presentation went swimmingly! My boss came in for moral support but left rather quickly when he realized that I had it well under control. I was joking, I was animated, I was lively. I’m really happy with my decision to use rather spartan slides: it prevented me from just reading off them, eliminated reading ahead, and kept the audience guessing as to the images’ significance. Further, the audience asked technical, methodological, and insightful questions during the Q&A. That told me that they were engaged with the material, which is exactly what a presenter dreams of. And quite a few stayed 15-20 minutes past my allotted time to go into more detail!

The event closed with Merlin Mann’s presentation of Inbox Zero, which was amazing, and then the traditional overdoing of the prizes. I’ve been doing Inbox Zero for years but I found myself rapt due to his easygoing and quietly-hilarious style. It was worthwhile just to watch his presentation style; I think he made a big impact on the Go Daddy crowd.

Next year’s can’t come soon enough!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Three Years of Going Daddy

May 10, 2008

Today is the third anniversary of working at Go Daddy. In my time there, I’ve seen it grow from 600 employees to over 1,900. A similar level of growth has also occurred in revenue, domain registrations, and many other measurements. What’s really neat is that it still feels like a smaller company to me, even though it’s become an Internet powerhouse.

I haven’t talked about work lately beyond the actual work itself. Work has been, in a word, splendid! As I mentioned not too long ago, I transferred from the Quick Blogcast team to start a new team that I think is officially called the Gadgets Team. For a while, it was just me and I whipped up an iGoogle gadget that was well-received. My team doubled in size in January with the addition of my colleague Dominic and we’ve been cranking out code as a team. He’s been great to work with: I can assign him some work and know that it’s in good hands.

I have never been happier as a developer than I am right now. I’ve been working on an entry about why I like my job so much but I haven’t been able to be sufficiently specific to make it comprehensible. I’ve got eight projects on my plate that I’m either coding or managing and I can’t talk about any of them. I will when I can. Suffice it to say, they’re exciting and challenging and engrossing. And they’re so varied that I could continue at this rate for years and years without ever getting bored or restless.

Aside from the work, my pay is excellent and the benefits are outstanding. Next week, we’re having an offsite technical conference that brings together all the company’s IT staff from Denver, Iowa, Gilbert, Tempe, and Scottsdale. I’m presenting on unit testing and test-driven development and we’re bringing Merlin Mann in to give his Inbox Zero talk. This is the first of its kind and I’ve heard that it won’t be the last, which is a very promising development.

It’s funny how I feel like an old-timer having only been there for three years; I can’t imagine what things will look like after another three!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Talking ‘Bout My Integration

April 9, 2008

I deployed my most recent project at work today. It’s a Facebook application that allows Quick Blogcast customers to link their accounts to their Facebook profiles.

I know that bringing a blog into your Facebook profile is nothing new. There are many such applications out there right now that can do that. But I think this Quick Blogcast version is unique in that you can make it so that your friends and visitors never leave Facebook, even to comment! What’s more, we leverage nearly all of the Facebook integration points. This allows the Quick Blogcast customer to publicize his or her blog to the fullest extent while still respecting the conventions and norms of the Facebook world. While that may not sound like much, it’s been quite a learning experience for me.

For one thing, I had to master the Facebook API. Luckily, I only had to learn it secondhand because I had an excellent framework called Facebook.NET to lean on. After a month or so of experience, I even felt conversant enough to help others and supply patches. In so doing, I apparently really helped the developer of Thugz Passion, a game which I’ve grown to enjoy.

It was also a chance to get to know memcached better. I used the terrific Enyim.com Memcached framework to interact with a Win32 port of the service. I wish I knew enough C++ to move that project to the current version of the Linux original. I futilely check the danga email archives to see whether anyone’s gotten impatient with progress and just did it on their own.

I was (and am) very impressed by memcached, which is an excellent (and free) distributed caching system. ASP.NET is top-notch at scaling but its caching mechanisms (namely, the object bags like Cache, Application, and Session) can easily become bottlenecks after enough usage is thrown at them. I think memcached offers a way out—it’s certainly worked wonders in the Linux world.

I affectionately call this integration app Quick FaceBlogBookCast. It cracks me up every time; it’s easily the most cumbersome portmanteau I’ve come across. (I can’t believe I forgot the other Facebook app I released today: Domain Center for Facebook! It’s a way to spontaneously generate domain name suggestions from the information contained on your Facebook profile. The algorithms right now are pretty coarse, but I plan to refine them each and every release until they’re uncannily right some day.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

The Royal Treatment

February 12, 2008

Apparently, Prince Andrew is visiting my workplace today. They’ve cordoned off a huge swath of the parking lot and there’s some signs for media parking, so I expect it’s going to be a zoo. I’m really not a fan of monarchy, but it’s pretty exciting for such a high-profile visit. It sure beats J.D. Hayworth.

[UPDATE (2/14/2008): Here’s the definitive article on the matter with a photo of our president looking thoughtful and the prince looking quite princely—at least that’s how I’d imagine a prince to look.]

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

My New, New Thing

January 8, 2008

It’s done! Today at 12:45 PM, I submitted my latest project to the Google Gadget Directory, marking the final step in the deployment process. It’s a Domain Search gadget that’s actually quite a powerful little application. What’s really great about it is that it marked my first foray into serious test-driven development!

In the past, deadlines and inexperience had always prevented me from doing the kind of layered, thorough unit testing I’d wanted. That little application, actually the server-side piece that’s powering it, has 65 unit tests underneath it. It’s so refreshing to make changes and see that no tests were broken in the process.

TDD is one of those things best experienced firsthand. Now that I’ve had a taste, I don’t think I’ll ever go back. It just makes too much sense: the rigor added is intoxicating. Not literally, but it is self-reinforcing for sure. Anyhow, here’s how you can get your own Go Daddy Domain Search Gadget for your iGoogle homepage—until the gadget gets added to the directory officially when I will replace these instructions:

  1. Go to www.google.com/ig/directory.
  2. Click on the “Add feed or gadget” link in the right navigation section.
  3. Type or paste http://gadgets.godaddy.com/Google/domain-search.xml into the text field.
  4. Click OK in the dialog box that comes up.
  5. Click on the “Back to iGoogle home” link right above the iGoogle logo.
  6. You should now see the gadget.

[UPDATE (1/10/2008): I completely forgot that Google has an easier way: Add to Google]

[UPDATE (1/14/2008): It’s in the iGoogle Directory now!]

[UPDATE (1/17/2008): I just deployed a revision to it that adds in plain, Candice Michelle, and Dale Earnhardt, Jr. themes. Time to start working on the next version and it’s going to be huge. Sorry, that’s all you get.]

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, Inc.