schleyfox's comments

schleyfox | 10 years ago | on: How We Partitioned Airbnb’s Main Database in Two Weeks

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).

schleyfox | 10 years ago | on: Yahoo Open-Sources MySQL Performance Analyzer

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.

schleyfox | 12 years ago | on: How to Become a Better Developer

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.

schleyfox | 12 years ago | on: Introducing SmartStack: Service Discovery in the Cloud

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.

schleyfox | 13 years ago | on: Mercator Puzzle

South Africa was hard, but the hole for Lesotho was the big tip off for me.

schleyfox | 14 years ago | on: The Man Who Broke Atlantic City

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.

schleyfox | 14 years ago | on: The Anorexic Startup: A Tale of Sex, Drugs, and C++

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.

schleyfox | 14 years ago | on: Advanced programming languages

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.

schleyfox | 14 years ago | on: Advanced programming languages

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.

schleyfox | 14 years ago | on: Image Ad Blending Works Really, Really Well

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?

schleyfox | 14 years ago | on: Dropping out is probably not for you

I psuedo-dropped out* a week ago. I think the thing that really stuck out in my case was that all of my family and friends responded with a sincere "congratulations!" when I told them about it.

* I've scraped enough credits together to collect my CS degree in May with my peers, though I do miss the english lit classes I was taking.

schleyfox | 14 years ago | on: Why are you still deploying overnight?

There are deploys and then there are deploys. 99% of your deploys should be fine to go live whenever the code hits the repo. I definitely still prefer scheduled overnight deploys whenever significant infrastructure changes need to go live. Downtime should still be minimized, but sometimes a maintenance window is necessary.

schleyfox | 14 years ago | on: Why the Era of Free Stuff Is Ending

Amazon Prime isn't free shipping (as far as I know >$25 standard shipping is still a thing). It's a flat rate for unlimited 2 day shipping. Two day shipping is expensive, but the combination of an annual fee and the increased likelihood of purchases for subscribers is good for Amazon's bottom line. Subscribers get faster shipping and pay less as long as they order more than four or five things a year. It seems like a pretty decent win for both consumers and Amazon. I imagine Amazon's brick and mortar competitors are somewhat less amused.

schleyfox | 14 years ago | on: When "clever" goes wrong: how Etsy overcame poor architectural choices

MySQL and Postgres are awesome for a lot of what websites do. They have advantages and disadvantages. Things like sharding tend to be premature optimizations except for write-heavy sites running at high scale. I prefer a mixture of SQL and NoSQL for the projects I work on. Redis, especially, is great at things like atomic updates and counters that become cumbersome in sql. With a well architected model-layer the complexity of multiple datastores can be minimized significantly. By using the right tools for the job, we are often able to simplify even versus using one database and a hacky solution.

schleyfox | 14 years ago | on: Daring Fireball: Amazon's New Kindles

The one major advantage of the keyboard on the old models (and why I'm glad they are still being sold) is for students using ebooks in class. For my literature discussions we often have to reference specific sections so the keyboard, while crap, allows you to quickly search out a key phrase in the section under discussion. Page number mappings are still not all that available and often time off of weird editions that aren't even close to standard real paperback editions.
page 1