642 karma · joined March 31, 2007
Interview: How has Ruby on Rails been holding up to the increased load?
By various metrics Twitter is the biggest Rails site on the net right now. Running on Rails has forced us to deal with scaling issues - issues that any growing site eventually contends with - far sooner than I think we would on another framework.The common wisdom in the Rails community at this time is that scaling Rails is a matter of cost: just throw more CPUs at it. The problem is that more instances of Rails (running as part of a Mongrel cluster, in our case) means more requests to your database. At this point in time there's no facility in Rails to talk to more than one database at a time. The solutions to this are caching the hell out of everything and setting up multiple read-only slave databases, neither of which are quick fixes to implement. So it's not just cost, it's time, and time is that much more precious when people can['t] reach your site.None of these scaling approaches are as fun and easy as developing for Rails. All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise. Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both.It's also worth mentioning that there shouldn't be doubt in anybody's mind at this point that Ruby itself is slow. It's great that people are hard at work on faster implementations of the language, but right now, it's tough. If you're looking to deploy a big web application and you're language-agnostic, realize that the same operation in Ruby will take less time in Python. All of us working on Twitter are big Ruby fans, but I think it's worth being frank that this isn't one of those relativistic language issues. Ruby is slow.
http://www.radicalbehavior.com/5-question-interview-with-twi...
And just to be clear, I wasn't knocking Rails. I have absolutely nothing against it, I haven't even used it yet. I was just trying to point something out. The developer's words, not mine.
The fervor among some of you is disturbing.
Apparently, Hacker News user "enki" started this one if I'm not mistaken.
If I were a more religious man, I might think it to be divine.
As an aside, Media Temple is screwing us over right now. We submitted our application last night around 9 PM EST. Around 4 AM MT took their service down for upgrades and our site has been down since. We're freaking out and still waiting to hear back from them.
One, how many of these so-called startups are actually receiving outside funding? It's one thing to hack together a dumb idea and put it online with ad banners all over the place, and another to actually receiving funding for said idea.
Funding hackers versus straight-up entrepreneurs is smart on YC's part for a number of reasons, but most of all because sites like YouTube blow up just as much for the technology behind the scenes as the implementation of the idea itself. Justin.TV is viable not just for its idea, but the clever things they've developed to make live video streaming cost-effective. And this likely plays into why YC looks more for smart people, as opposed to smart ideas.
More broadly, simply sharing some of the things you mention is cool and all, but what if teams with complementing ideas collaborated. If our team is accepted, I'm definitely going to keep an eye out for teams who may be in related problem domains, or are approaching issues we expect to encounter further down the road.
That's not such a big deal with JS, but it's a very big deal when your backend is in the toilet. You may as well flush.
Not necessarily. You can have a great idea and still have shaky cofounders. It doesn't automatically mean your idea sucks, cofounders can have any number of outside concerns that may prevent them from throwing their full weight behind your project. Job, wife, SO, children, mortgage, bills, school, etc.
And even then, your partners may not realize what a big idea you're sitting on. I think Robert Morris had little faith in Viaweb from the beginning. I guess that's how he ended up getting his ear pierced.
Cut to three years later.
A good family friend gave me an old Apple IIe in 1994 (I was 9). I would break it, and then watch him fix it. It was fascinating, and I finally had my chance to figure out how to make machines do what I wanted.
I'll mix in some hip-hop if I'm feeling a burst of excitement.
I spend 99% of my time coding. I like YC because it lets me focus on what I'm good at now, and then coaches me through the business aspects of delivering a product later. The details holding me back from doing this on my own are exactly what YC offers mentoring through.
I'm not so worried about living expenses, but rather how to answer the relevant application question.
Here's the PHP I use to derive domain + subdomain: function getDomain($URL) { $Parsed = parse_url($URL); $Parsed = str_replace('www.','', strtolower($Parsed['host'])); return $Parsed; }
Not likely to be very helpful to PG, since HN is Lisp. Nonetheless, maybe someone else could use it.
I have no advice, but my opinion, for what it's worth, is that if this is THE person for you, I truly doubt you would even be capable of neglecting them anymore than absolutely necessary. Sounds a bit off, but I believe it.
If you are with THE one, you guys ought to be magical. That doesn't mean there won't be ups and downs (PG will tell you startup life is all-consuming, and personal experience says he's right).
I lost my SO, but it didn't really phase me too much. She wasn't the one for me. If you're asking this question because you're going through this problem right now, maybe it is best to free yourself of unnecessary entanglements. But if you feel the person you're with is the one for you, do your best to keep your startup worries to the computer screen.
Oh, during the "good times" with my SO, I used to be a pretty spontaneous person. Once the startup life began, I got pretty boring. Look out for that one. I hear women don't like boring.
Today has been a bad day, with very few good moments. I just sat down with a beta tester and watched him go through the joining process. Part of the problem is that joining is, in fact, a "process". Watching him use the site also revealed a plethora of glitches that are going to keep me up all night and well into tomorrow.
Days like today force me to think about each and every mistake I've made so far, where I went wrong in each instance, and how easily each mistake could have been avoided had I done X - whatever X may be.
Ugh.