TravisSwicegood.com

22 August

Ning Jobs: We're hiring!

For those of you who follow me on Twitter, you know I've recently gone to work for Ning. Been living under a rock and don't know what Ning is? It's a platform that lets you build your own social network. Best of all, if ya don't like the way something is implemented, you can get access to the source and change it around yourself.

The team of people working on Ning is amazing. The number of new people since I stated a few weeks ago is crazy. We're growing by leaps in bounds, but there a few positions that are close to my heart... if only because it helps spread the load of work that I'm responsible for! :-)

The team I'm on, Application Development (AppDev), needs more of us. We're responsible for building the PHP and Javascript that the user interacts with when they're on the network. When you create your own social network, you're on the code we write. The same code that you can get access to if you want. PHP and Javascript a great, but raw programming talent and a willingness to learn the languages are even more important.

We're also in need of a top notch Flash dev or two to join our team as well. There are a few of us who can muddle our way through Flash apps and make things work, but having someone who really groks it would be a huge bonus.

If you're a top notch PHP or Flash guy and are interested in working on something big and exciting, Ning's got a place for you. Telecommuting is definitely an option - I think about half of our AppDev team is remote now stretching from London to Melborne to Canada to NYC and (now!) Kansas. Shoot me an email with your resume if you're interested. Seeing as how my name is travis and the domain name is ning.com, an enterprising person should be able to figure it out: ;-)

Tags: hiring, jobs, ning

21 August

Lessig on McCain on Tech: A must watch

Imagine having a phone service that only called other members. Like Verizon's IN network, except you can't get out of the network. That's what some of the companies that provide the bandwidth behind the Internet would like to see the Internet become. A place where they control who sees what.

Want to go to Yahoo? That's only $5 a month. Google? Well, that's $25 a month. Oh, what's that? You want to go to the sites you find on Google? Well, that's an extra $75. Oh, and here's our email client for you to check your email. No, you can't use your own client...

That's the kind of sales pitch you could get when signing up for Internet service in the future if "net-neutrality" is not defended. It's an Internet that resembles AOL in the early 90s. John McCain doesn't believe in net-neutrality:

When Regulation Is Warranted, John McCain Acts. John McCain does not believe in prescriptive regulation like “net-neutrality”...

That's taken directly from his Technology Policies. Feel free to verify for yourself.

I could go on, but Lawrence Lessig (who's site happens to be down right now) did an excellent video reviewing McCain's technology platform, so I'll let him do the speaking.

8 August

Today is the day!

No, no, no. This isn't yet another post on the long overdue death of PHP4, nor does it have anything to do with Olympics (which I'm boycotting), nor does it have to do with today being three of the lazy infinity symbols side-by-side.

Today happens to be the day I'm getting married to Megan. Should have already happened by the time this post becomes public. Meg and I have been together for almost two years now. Neither of us believe a piece of paper is the ultimate declaration of our love; we've been in a committed relationship with the intent of sticking together for quite some time now.

But... every now and then it's nice to have those little things. The introductions as "my husband" or "my wife", the ring, the tattoo (a story for another post). So, today we're making a public declaration of our love for each other and our plans to see where this journey takes us. Wish us luck... we'll need it! :-)

2 August

It could happen to you...

Tags: hope, moveon, obama

29 July

My iPhone 3G Story

As most of you who follow me on Twitter know, I've been trying to get an iPhone. Not so hard that I've been camping out, but I've made a couple of unsuccessful trips to the Apple stores in the KC area. Yesterday - my first full day in Cali - I managed to snag a white 16G and also managed to be one of the few people who's purchased an iPhone without waiting in line.

Around 7 last night me and a few of my new coworkers headed over to the Apple store that's a few blocks away. I asked about getting a white iPhone and was told they were out for the day. I got the low down on the process for getting one. They passed out tickets based on how many phones they had in stock starting at 8 AM.

Once I knew the rules of the game, seemed simple enough to get one. I'd just walk over one morning this week, spend 20 or 30 minutes waiting in line, then come in to the office. We wondered around the store for a few minutes looking for a headset that the $200 cost scared her away from and then the girl from the front rushes up to me.

"Which iPhone did you want again?"

"The white one..."

"Ok, hold on."

She heads back up to the front, starts talking to one of the other "geniuses", then starts walking to the back. "Today's your lucky day," she said as she walked past. About 15 minutes later I was making my first call on my shiny new iPhone. :-)

20 July

The Internet is an Orgy

Ever since I mis-titled Terry Chay's talk, I've been thinking of putting together a presentation called The Internet is an Orgy. Just like a real orgy, it can be a lot of fun but it just takes one person to screw everyone.

That point has been getting proven today. Amazon's S3 service is experiencing it's second outage of the year. According to Amazon's status site, they're been down for roughly 6 hours right now. Sites like SmugMug are completely down as they rely 100% on S3 to serve photos from. Avatars on Twitter are broken because Twitter uses S3 to offload that content.

And the poor people using EC2. EC2 isn't directly effected, but you have to have access to S3 in order to bring up another server. This is six hours that you've had to make due with just the servers you have running right now. All of that "elasticity" is just that - a marketing word in air quotes if you can't bring more servers online.

Don't think you're immune to this type of problem just because you're a consumer. Case in point, if Ma.gnolia goes down I loose access to all of my bookmarks and the ability to store anything else. I bookmark a lot when I'm wondering around the web.

I've blogged about distributed systems before though. Whenever I see a central point of failure, I cringe, but we move more and more the way of the centralized which I feel is against the very grain of the internet.

There are notable exceptions. Erlang, my current favorite language, is designed to be distributed across machines with little more than a network connection and not fail if that connection disappears. Git enables distributed version control and is being used as a distributed data store for everything from open source projects to distributed ticket tracking systems.

I'm sure if I looked, I could probably find a few more examples. This isn't meant to be a riff on centralized services like Amazon's S3 or EC2. They are great and can be very valuable to scale out quickly, especially when you're just starting out. There is the proverbial "but", however. Don't think they won't go down just like any other service Treat them just like any other cluster. If you can't afford downtime, have a backup plan.

13 June

To Hell and Back: the story of Michael Vick's pit bulls

Next time you start to stereotype something - be it a person or a dog, remember these pups:

As I think most of you know, I picked up a Piaggio Fly 150. I need to get my motorcycle learner's permit and/or my license. There's an on-road motorcycle course that's being offered here in town that I'm considering taking that waves the need to take the motorcycle skills test - haven't decided on that yet.

I've taken the written test—the only part that is required for the permit—twice. And failed both times. You can miss 5. The first was 6, the second was 7. They're both BS, though I would have been sort of surprised had I passed it on the first try. I hadn't even opened the "manual" once.

So what questions have I missed. Here's the first one: You following a car and the car following you is crowding you... what do you do?

  1. Slow down
  2. Speed up
  3. Pass the car in front of you
  4. Make rude gestures at the driver behind you while swerving from side to try to force them off of the road

Ok—so the last one I made up, but it was something as obviously wrong as that. So, what would you do? I chose "Pass the car in front of you". You're following another car, so you're at a safe distance, right? Closing that gap means you are then being unsafe. Slowing down is passive aggressive and you've got an ass driving behind you since he's tailgating so there's no telling how he'll react. That leaves passing the car in front of you.

Nope. According to the great state of Kansas, you're supposed to speed up. Ok... no problem. In all fairness I hadn't looked at the driver's manual so I wasn't expecting to pass it. I figured I would flip through the book then take it again. I took it again yesterday. This time the score was worst, but I'm almost ready to say screw it on principle because of the two that I missed that threw me over the limit.

So here's the two questions I missed:

What is the best way to be seen at night?

  1. Wear a retroreflective vest
  2. Wear fluorescent clothing
  3. Wear a white helmet with an yellow star
  4. Wear a cape made of the stars and bars and have your radio playing Sweet Home Alabama at at least 100 decimals

Yeah - we do things a little different in Kansas. ;-) If you know anything about the history of the state, you mark the last one off. Though it might get you some attention, we're a free state. And well, the helmet with a star is just silly.

So you can obviously narrow it down to the first two. I had never heard of "retroreflective" until I saw it on this test. I assumed it was a made up word and went with fluorescent. Should have known better just from the "reflective", but I overanalyzed it and went with B. Tonight I checked the handbook. The phrase "retroreflective" doesn't appear at all! Reflective yes, the five letters that make up "retro" in that order do not. Period. The question is bogus.

The next question I missed that I take issue with is thus:

What happens when your rear tire goes flat?

Before I so you the answers, remember that I'm a programmer. My title is "Staff Engineer". I approach things in a very (non-?)practical manner. I don't look for what happens in practice, but what should happen. Now, here's the answers.

  1. You will loose control
  2. You will loose power to the rear wheel
  3. Martians will invade your head
  4. The rear of the bike will start to wobble uncontrollably

Here's how that process goes in my mind. Martians aren't interested in my brain 'cause I have a flat tire, that's off. You don't automatically loose control, so that's off. Loose power, or start to wobble? Well, if you deflate a tire while putting uniform pressure on it, it will just deflate down to the rim. Though if you deflate it, you loose traction which causes you to loose power—at least until you strip the wheel down to the rim and start riding on the rim.

Back and forth it goes. I finally go with loose power based solely on the engineer in me. Just because you loose air pressure does not mean the wheel wobbles. I could set this experiment up in a lab and prove it. Provide a slight deviation in how pressure is applied, then it wobbles. Yes, I give you that, but the question doesn't mention that your passenger is turning their head so they can pick their nose. There is no qualifications, so I am left to assume they want the proper answer. You loose traction due to the deflation which causes you to loose power—at least temporarily—to the rear wheel.

Grr!

9 June

Polyphasic Sleep: Night 1

Despite dire warnings, I've decided to give polyphasic sleep a try. This week is pretty routine for me on the work front, so I think I can get away with it.

I have a simple reason for this experiment: curiosity. I can think of all sorts of things I would like to be able to do if time weren't an issue, and picking up an extra 40 hours week seems like a good trade off. In the end, I might not be able to keep it up just because of social strain it creates. Since I don't have an office to go in to or very many particular schedules to worry about keeping, it seems like I should be able to handle the social part of it though.

I'll be sure to blog about anything interesting I discover, and of course I'll be twittering about it. Now, maybe I can start making a dent in the ever-growing todo list that I have.

4 June

Write a blog post: Check

So this is the second day in a row that I've explicitly taken 10 minutes to write out a to do list for the day. 10 minutes is the max. If I make it that long and am still writing things out, tough. On today's list was write a blog post which was positioned after responding to a bunch of emails. Responded to those messages, now time for the blog post.

First off, if you're wanting to keep tabs on me, my FriendFeed is about the best way to do it. I've almost created an app to do exactly what FriendFeed does. I resisted joining FF when I first saw it because I wanted to do it myself. Pragmatism finally won out though and I just signed up.

php|tek was a blast. All of the presentations I attended were interesting, though sadly there was no PHPT presentations *cough* *cough*... ;-) Next time I guess. The other presentations that were missing were talks on distributed data. Everyone's talking about federated data being the only way to scale to the size of Tagged or Facebook or Digg, but no one was talking about how to do that practically. I may take up the torch and see what I can put together on the topic if someone else doesn't do it first.

One thing that the conference did help with was my view of the state of PHP. If one thing is going to save PHP from becoming the next Java (i.e., the language you make your living in but not the one you play with), it's the community. There's lots of cool projects in the works, and lots of great people working on them.

I announced that I am running for the PEAR Group to help shepherd the userland side of the community. This next year I hope to get PEAR2 off of the ground and start getting greater community and business involvement in PEAR. PEAR has some legacy cruft in the way it names packages and such that really make it hard to integrate PEAR1 code into an existing project. Hopefully we can make PEAR2 easier to embed.

I plan on trying to get some sort of regular updates back on the blog. In the meantime, my twitter account is updated pretty regularly.