27 karma · joined November 10, 2012
No, this is resume-driven-development, Google-scale-wannabe FUD. Understand your requirements. Multiple databases is non-trivial overhead. The only reason to add multiple databases is if you need scale that can't be handled via simple caching.
Of course it's hard to anticipate what level of scale you'll have later, but I can tell you this: for every tiny startup that successfully anticipated their scaling requirements and built a brilliant microservices architecture that proactively paved the way to their success, there's a 100 burnt out husks of companies that never found product market fit because the engineering team was too busy fantasizing about "web-scale" and padding their resume by overengineering every tiny and unused feature they built.
If you want to get a job at FAANG and suckle at the teat of megacorporations who's trajectory was all based on work done in the early 2000s, by all means study up on "best practices" to recite at your system design interview. On the other hand, if you want to build the next great startup, you need to lose the big co mentality and start thinking critically from first principles about power to weight ratio and YAGNI.
The question is how far can they push it without totally frustrating the power users. I think it may be inevitable that Apple eventually stops making machines that the majority of non-Apple developers can tolerate.
> Sandboxing non-App store apps
I thought sandboxing was only required for App store apps?
I have to disagree here. There are clear use cases for either Drupal or Rails. I understand why you yearn for a Ruby Drupal, because dealing with PHP is a hassle, but objectively there is little to be gained since Drupal is already a beast and performance would only be hurt by being ported to Ruby.
Aside from that, the key advantage that Rails or other low-level web frameworks have over Drupal is that they don't make any assumptions beyond the fact that you are using HTTP. With Drupal there is an incredible amount of pre-existing architectural cruft to enable its powerful functionality, but it creates a ton of overhead to deal with as soon as you want to do something that doesn't neatly fit it's paradigm. As soon as you brought something like this into Rails then you'd be defeating the purpose of its simple elegance.
I just don't see any way to separate out the best of both worlds. They have very distinct use cases.
The secondary reason is indeed cultural, but not it's nothing so abstract as what 37signals does. Rather it's the technical culture of moving fast and breaking things. With Rails you need to stay on top of upgrades all the time. If you are actively working on an app then this is a net benefit because you get new features. But it also creates maintenance work downstream, and not just with application code, but application servers are also relatively unstable. When you have something with a high heterogenous installation count like WordPress or other popular open-source apps, the pain of maintaining version compatibility and keeping it running over time far dwarfs any benefit of using a more powerful language like Ruby.
However, if your site goes down for any reason a postmortem of this sort is definitely warranted. The word "launch" is not signifying much more than a point in time in this case, and I think you're jumping to a lot of conclusions about what hopes they were pinning on this event.
> Now, Facebook follows the steps that most tyrants do, quietly moving from sham elections to an official policy that users will have no vote in site governance.
When I read this my first thought went to the ridiculousness of comparing Facebook to a dictator. But it shows that Anil sees Facebook as almost necessary infrastructure. Not using Facebook is not a realistic possibility. Instead we must hope against hope that they will right their tyrannical ways.
Frankly I'm not holding my breath, but Anil has reach so maybe something good could come out of it.
The fact is it doesn't matter how good the engineers are, if they are mismanaged then you will not get good results. The main thing that Silicon Valley has really figured out is the necessity of letting engineers into the board room so to speak. You can't have a bunch of big-shot executives trying to dictate what to do from on high because the technical and operational challenges are just as significant as the political and strategic challenges. If the engineers are outsourced, or don't have autonomy, or aren't given a seat at the table for high-level decisions, then it will be impossible for them to deliver anything as groundbreaking as what the Obama campaign delivered.
What is conventional wisdom in Silicon Valley has been slow to make its way into the political sphere, but I think the cat's out of the bag now, and I'm sure you'll see a lot less hubris and a much more solid effort from the GOP in 2016.
Honesty, integrity, credit where credit is due, etc, but an overdeveloped sense of humility is the best way to go unrecognized, at least in America.
> The whole tone of this article is a good example, actually
Hold on there, don't extrapolate whatever shitty article makes it's way to HN or Reddit as a litmus test for a "community" (btw, putting "community" in quotes is pretty condescending in and of itself). This guy has no standing in the ruby community whatsoever. I don't know if he's a good developer or not, but his article is certainly sensationalistic and defensive and won't earn him any respect from any ruby devs I know.
If you were to judge every PL community by their most defensive blowhards then you wouldn't be a programmer at all, because every community will attract some proportion of ignorant coat-tail riders without the courage to confront the real issues of their ecosystem.
The Ruby community's biggest fault is a higher-than-average adherence to fashion, as annoying as that can be from a stability perspective, it's not an unmitigated failing because it means a genuinely good idea may catch on faster.
Starbucks / Blue Bottle makes even more sense considering that BMW is already a driver's car. The driving experience is at best marginally better by going to Ferrari. Whereas Starbucks is anything but a coffee drinker's coffee. People go there more for a caffeinated treat vs being into coffee per se. If Starbucks started producing the lighter roasts and more subtle flavors that coffee drinkers value, it wouldn't work with the heavy cream and sugar. So the whole Blue Bottle philosophy dovetails nicely. That said, they'd need to keep the association under wraps to avoid frightening away the coffee snobs.
The bottom line is that people don't come to Facebook because of brands. Rather brands come to Facebook because that's where the people are.
The fact that at one point a business convinced a user to click a Like button does not provide anything approaching a symmetrical benefit to Facebook. Sure, Facebook is always happy to add content, but that marginal value of that content is nowhere near as important to Facebook as the distribution is to the brands. Facebook's primary asset is an engaged user base, and it's the social exchange that engages users. Meanwhile if businesses are pursuing any social media strategy, where can they get anything approaching the reach of Facebook? Even if another startup comes up with the reach, they'll be in the same monetization boat as Facebook and certainly will make decisions that piss off someone.
Twitter is more obvious semantically, but heavy Likers of brands on Facebook already understand the implication, and increasingly so will everyone else, regardless of the terminology. For me it's basically to the point where I only Like things that are owned or run by people that I actually know.
However actually shipping when you're that young is hard. It was not til I was 19 or 20 that I finally felt like I could write "real" software. The pieces just never fell into place before that despite dabbling for a decade or more as a child. Granted the web as it exists today makes it infinitely easier to learn today than it was when I was a kid, but I'm not going to use that as an excuse. Even with Google in all its glory I can't say unequivocally that I would be shipping code if I were 14 today.
I did do some cool stuff in HyperTalk though.
Of course there could be numerous curatorial reasons, but that first one would seem to be a deal-breaker regardless.