Recent submissions

Comment · 11 years ago
Hi, one of the Airbnb engineers involved in this op here. Yeah... that does sound a lot like 3 years ago. The situation has gotten a lot better, especially with 5.6 and PIOPS. These days, things work pretty smoothly (even as the volume of traffic and data has scaled massively).
Comment · 11 years ago
From my understanding, Aurora is a modified MySQL with a few components substantially rewritten and a new, log-structured storage engine added that is well integrated with Amazon's storage infrastructure (volumes auto-grow, quorum is handled at the storage layer, replicas are just caching views on top of shared, replicated storage). MySQL has support for multiple storage engines over a relatively simple API, while Postgres is tightly integrated with its storage engine.

In addition, MySQL just has a lot fewer features and points of extensibility, so it would likely be easier to support.

Comment · 13 years ago
We used sparkey for hammerspace, which is very similar to cdb. cdb was actually the first thing we evaluated, and it validated parts of our approach.
Comment · 13 years ago
This is what we did, except leaning on file system cache instead of explicit mmapping.
Comment · 13 years ago
Reading code is the best way to get better at programming. It's good to start with really smart, really good code, but you should also read bad and mediocre code (and more importantly, be able to figure out from reading why it is bad or whether it only seems bad at first glance.)

Reading code starts out being really hard, but with practice it can become almost as easy as reading prose. It's a winning proposition on all levels as you can pick up new techniques, understand how things are done (rather than just what they do), and see the trade offs and decisions that are actually made. Practicing code reading also improves debugging skills as you have to use the same skills to understand the what and the why of perfectly working but unfamiliar code.

Whenever anyone asks me what they should do to improve their programming, I usually suggest reading more source code. Another benefit is that code can't lie as easily or as convincingly as the documentation can.

Comment · 13 years ago
One of the neat tricks with using the localhost HAProxy is that developer mode can just be a single Vagrant VM with all services configured to run on the port that they would have in Synapse. With HAProxy all the production servers think they are talking to localhost, and in development they actually are. The Vagrant VM can then be configured/reconfigured using Chef and the production cookbooks (with some overrides in the roles or environments). It should also be possible (though not entirely trivial) to run some of the services in the cloud for development, allowing developers to switch in and out the components that they need to actively develop.
Comment · 13 years ago
South Africa was hard, but the hole for Lesotho was the big tip off for me.
Comment · 14 years ago
The #10 state is Virginia, which is 20% African American (compared to California's 6.2%). I'd say that poverty is the more probable root cause.
Comment · 14 years ago
Sadly, I think this is an increasingly recent phenomenon (get off my lawn). It's kind of funny given the style and length of HN favorites like pg and Steve Yegge.
Comment · 14 years ago
I think in this case it is more accurate to label it as a parody. It sets up an exaggerated scenario that is clearly ridiculous, but it is only far enough from the current tulip mania to strip away some of the artifice. It's more akin to the I.T. Crowd (but with more verisimilitude), in which case we are exactly the right audience for it.
Comment · 15 years ago
Is it really so hard to take existing talent and train them to use other languages? Especially in cases where the existing library and tooling ecosystems exist (e.g. anything based on the JVM) the actual language probably won't be a show stopper for the level of talent you need. If a new language takes a couple weeks to get up to speed in, so what? The bigger problem, IMO, is the existence of libraries and basic development tools like build systems and dependency management. I'm fairly pleased with how many of the newer languages that build on the JVM allow easy interop so that you can use the existing ecosystem when it makes sense.
Comment · 15 years ago
You get that message fairly often because the implementation uses continuations (http://en.wikipedia.org/wiki/Continuation). This is one functional style for making a stateless protocol (HTTP) into a stateful one. HN could use a different design (one with less state) and avoid these issues with a few different trade-offs. This is an implementation detail rather than something specific to FP vs. non-FP. Also, best I can tell, HN still stores all of its data in flat files rather than a traditional datastore.
Comment · 15 years ago
And you are falling into the "if I build it they will come" trap.

He definitely has a niche business. Many of us do. For most of us, our niche is tech. Patrick's niche is education.

In the tech/startup niche, often the extent of marketing that is required is posting to HN and getting featured by TechCrunch. Trying to expand our niche outside of this is probably a bad sign, and most likely ineffective. I hold this thread as a prime example of how much we hate advertising.

The education niche is quite different. You don't reach them by getting coverage for raising a round of financing or writing a blog post on SEO that casually mentions your cloud based retro encabulator. This "deceptive" marketing may be an effective way to raise interest in different segments of his target market.

Traditional online advertising is increasingly ineffective because of all the bad ads in that form. Would we be so quick to ignore all ad-like content if we hadn't been tempered with the aversion therapy of flash horrors, scams, and weightloss/white teeth/work at home? The end result is even advertising that might serve a useful purpose can't exist in that environment, so, like bacteria after the invention of penicillin, it has to adapt and change and find a new way to continue. If only "good" ads make the jump, then I think we're better off as a whole. If bad ads make the jump, we'll soon get pretty good at filtering them out as well. Honestly, if scam ads can blend seamlessly into a page, what does that say about the actual content?

Comment · 15 years ago
Someone should tell the Nginx guys that blocking IO is not a problem that web servers actually have. I'm sure they will be thrilled to not have to do complicated event programming anymore.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton