Hampton is talking “roughly” about working with Ruby at Wikimedia. Everyone calls him “HAML Guy”
This is the least planned talk we’ve ever seen, but he does 4 things well.
He has a lot of opinions, so he’ll just show his philosophy.
How he got involved: A friend complained about not having wikipedia on the iphone, so he learned Objective C and wrote it up with a ruby backend. It was the first wikipedia app on the iPhone store, and made tens of dollars on it. Well, maybe a little more, enough to move away from Florida and work on it.
He called it “iWick”, which got him in trademark trouble with the Wikimedia lawyers. They were nice, and he eventually got in touch with the Wikimedia CTO. So, they bought it and hired him to be a lead developer – all within the span of a couple of months.
His job is to “make sure information gets into as many hands as possible”
So, he build a big Merb and Nokogiri backed platform – and they didn’t give him a hard time.
Well, the developers didn’t give him a hard time, but the IT guys did. They thought it would be a performance problem, need more servers, etc. So, that was a challenge to prove that Ruby could be fast. When you have millions of users, milliseconds matter.
Good news, it is really fast (Thanks wycats!)
This is a major part of wikipedia, and it will continue to get bigger.
Try to be a visionary
“Visionary” is a big word, you get grants, etc. All that means, though, is that you “see” something. Everyone comes up with those things ALL THE TIME, but few people do it.
He didn’t even own an iPhone when he wrote the original app, but that didn’t stop him.
Checklist for being a visionary:
- Do you have any ideas?
- You have to be smart.
- You have to drink a lot.
Yehuda writes a million things on Github. He is a great programmer, better than most people here. However, the important thing is that he DOES it. You can’t just fork a project, hack for 20 minutes and give up. You JUST HAVE TO DO IT. GROW SOME BALLS. Just make it happen. It’s THAT simple.
If you are a new developer, it might suck, but just do it. Do it again and again. You will get better!
If it is a BIG idea that needs a lot of people to do it, then that’s not a great one. Some people make money doing a blog post, but that is labor intensive. Find ideas where you don’t have to do a lot a work.
We have the power as developers
We don’t need business people. We are consumers, we know what people want, so go do it.
Find what you are passionate about. He is really excited about Wikipedia, so that’s what he does. If you are into Dog Breeding, then make a site about it. Whatever your weird hobby is, then do it!
It’s about being cool
He was a total nerd in high school, nobody liked him, he was really shy and didn’t talk.
He decided later that there was no difference between cool people and not-cool people, the difference is just doing it. When he walked into Wikipedia, he was going for an iPhone developer, even though he didn’t have a lot of experience in Objective C, etc. But, he told himself “I can do that!”, and he did. He still gets nervous after a talk, but that’s OK. If you have an idea or passion, write it down, and just do it.
Say there was no Ebay. You could write an auction site in a weekend – not a great one, but the basic functionality. What if nobody had thought of ebay yet? It would be a good idea. It is not that hard.
Just do it!
Take a weekend of your life. A lot of caffeine. A lot of alcohol. A lot of cigarettes. Whatever does it for you, just do it!
If you want to learn programming, start from scratch. Many people learn programming in a company, but that isn’t always good – you get constrained. It is better to write something on your own, and learn it on your own.
Just do it!
Q: I was told you are going to sing a song
A: Goes into “Space Oddity” by David Bowie
Q: What is the most awesome code you ever wrote, and the worst code you ever wrote?
A: The iPhone stuff is the best. But then he talked about the worst code – there was some really bad code (logic in views, etc) he wrote early on which was about to get taken over by some other developers. So, he volunteered to rewrite and clean it up, so people wouldn’t twitter about the bad code that “The HAML Guy” wrote.
Q: Mediawiki is php and mysql, how do you plug into it?
A: It is all on the server farm, so it pulls it and parses it with Nokogiri. Currently with no caching. Server is 1.5 million hits a day, load is less than zero.