1,979 karma · joined September 5, 2007
The post you are replying to is talking about the small subset of individuals who have had their corpus callosum surgically severed, which makes it much more difficult for the brain to send messages between hemispheres. These patients exhibit “split brain” behavior that is well studied by experiments and can shed light into human consciousness and rationality.
This is one of our few remaining unsharded databases (legacy problems...), so we can't easily canary a fraction of serving capacity. However, one clear remediation we can implement easily is to have our tooling change a replica first, failover to it as primary, and, if problems are detected, quickly fail back to the healthy former primary.
Lesson learned. We'll be doing a review of all of our database tooling to make sure changes are always canaried or easily reversible.
We're always learning and improving. In order to scale, we'll need better ways to manage complexity and isolate failure. Our tools, patterns, and processes have changed quite a bit over the last few years, and they will continue to change. Ultimately, we want every Stripe employee to have the right information evident to them when they make decisions. This will be challenging, especially as we grow, but I'm excited to take on that challenge.
If you're still interested in working at Stripe, I'd encourage you to reapply! Our needs have changed quite a bit since you applied, and we're willing to reconsider candidates after a year has passed. Feel free to shoot me a resume: jorge@stripe.com
We have a library that allows us to describe expected schemas and expected indexes in application code. When application developers add or remove expected indexes in application code, an automated task turns these into alerts to database operators to run pre-defined tools that handle index operations.
In this situation, an application developer didn't add a new index description or remove an index description, but rather modified an existing index description. Our automated tooling erroneously handled this particular change and interpreted it not as a single intention but instead encoded it as two separate operations (an addition and a removal).
Developers describe indices directly in the relevant application/model code to ensure we always have the right indices available -- and in part to help avoid situations like this. In addition, the tooling for adding and removing indexes in production is restricted to a smaller set of people, both for security and to provide an additional layer of review (also to help prevent situations like this). Unfortunately, because of the bug above, the intent was not accurately communicated. The operator saw two operations, not obviously linked to each other, among several other alerts, and, well, the result followed.
There are some pretty obvious areas for tooling and process improvements here. We've been investigating them over the last few days. For non-urgent remediations, we have a custom of waiting at least a week after an incident before conducting a full postmortem and determining remediations. This gives us time to cool down after an incident and think clearly about our remediations for the long-term. We'll be having these in-depth discussions, and making decisions about the future of our tooling and processes, over the next week.
And there are plenty of off-campus jobs (SAT tutoring, etc) that can pay $35+/hr.
The Microsoft world runs .NET, Visual Studio, C#/VB.NET/ASP.NET, targets the Windows desktop runtime (tho increasingly also the web), relies primarily on proprietary (and usually non-gratis) libraries and tools, etc.
The Open Source world revolves around *NIX, uses open-source languages (gcc, clang, Java, V8 Javascript, MRI Ruby, etc), targets the Linux runtime and sometimes OS X/iOS, relies primarily on open-source (and gratis) libraries and tools, etc.
The ecosystem differences go pretty deep. For example, even though either world can interop with practically any SQL database, inhabitants of one will largely choose Microsoft SQL Server while inhabitants of the other will largely choose MySQL/PostgreSQL.
Both can have great software development or terrible software development. It's possible to mix and match (eg, using Windows doesn't preclude you from writing Ruby).
But startups tend to choose the Open Source world, likely due to the combination of lower licensing costs and the "hackability" of open-source software. I'd argue that due to those same reasons, the Open Source world has produced more innovation in the last decade.
But I have no idea whether you work for yourself, for someone else, or whether you're a hiring manager.
Greg emailed the list two weeks ago with a proposal for the open-source retreat. The reaction internally was quite positive. He polled open-source maintainers externally to see whether this was something they'd be interested in. The reaction externally was quite positive too.
Greg hammered out the details and shipped it.
There's still GC from objects allocated by Kafka in the JVM, but the actual message data doesn't even go through the JVM.
Send me an email, I'd love to chat: jorge@stripe.com
"During the Brazilian inflation of the earl 1990s, for instance, supermarket workers reportedly spent half of their time replacing old price stickers with new ones." -- Essentials of Economics
We'll be contacting this researcher to ask where they got this data and whether it conforms to our policies.
First, it has kept the NSA in the headlines for almost three months now (quite a feat when you consider our cultural attention span is usually measured in fractions of days).
Second, it has let officials make denials and give reassurances come back to haunt them and tarnish then credibility when further disclosures are made (consider that Senator Feinstein, chair of the Intelligence Committee supposedly providing Congressional oversight of these surveillance programs, who spent weeks claiming said oversight was quite robust, admitted to not knowing about the internal NSA audit finding thousands of privacy violations).
I'm pretty confident there will be more disclosures. But given the realities of the news cycle and the political process, they are much more effective if they happen gradually.
Could someone add a backdoor to git that hides backdoors from showing up in git? Could gcc be backdoored to add backdoors to arbitrary software? How likely is it that NSA has a few zero-days lying around they could use to hack into the servers that host git or gcc or any other tool you rely on? What if they had agents among the committers and maintainers of these projects?
Security against a well-armed, well-funded, well-organized, secretive adversary is hard.
When the the US invaded Iraq, I started to doubt my own firmly held beliefs. Did they possess some classified evidence that I did not? Going to war without the authorization of the Security Council was such a grave breach of precedent and international law that I didn't believe the Bush administration would take such a drastic action if they didn't fully expect to find WMDs.
It turns out they didn't secretly have reliable information the rest of us didn't. They were blinded by conviction and ideology.
I'm sure these people in government and at the intelligence agencies truly believe these programs are vital to protect the US from terrorism. They know spying can be abused, but in their minds any abuse is unintentional and minor relative to the purported benefits of spying on terrorists.
As much as you dislike the government, you can't just ignore how incredibly powerful it is in people's daily lives. The incidents of legally recognized marriage are very real and very significant. I've met many families separated (or threatened with separation) by immigration law that didn't recognize same-sex couples. No amount of saying "fuck off" to the government is going to change whether you're family members will be allowed to live in the same country as you.
In the case of Alan Turing, no amount of him saying "fuck off" to the government could prevent them from criminalizing his relationship and chemically castrating him. The UK government issuing a pardon is a overdue recognition that they instituted a campaign on suffering on many people, one of whom hand a significant part in saving the country from the Nazis.
Secondary markets have issues, but so do secondary offerings overseen by the company. There can be pretty big principal-agent problems, both around price and around timing.
I'm less familiar with the traps and pitfalls of RSUs, but in general they seem fairer than ISOs. I hope they're used more widely.
Transfer Restrictions:
Bylaws and option plan documents shall include limitations on
certain transfers, including on secondary markets, to
competitors, or that may trigger public reporting obligations.
In order for investors, founders, and employees to cash out on their stock holdings, companies need to have an exit. An exit can be an acquisition by an already-public company, or an IPO (taking the company public).In the first Dot Com bubble, companies would IPO before reaching profitability and sometimes even before reaching significant revenue. For a number of reasons (scrutiny from Wall Street, public reporting obligations, Sarbanes-Oxley), companies that intend to go public increasingly choose to delay their IPOs.
In 2004, Google went public with 2003 revenues of $960m and profits of $105m. In 2012, Facebook went public with 2011 revenues of $3700m and profits of $1000m.
One way shareholders managed their longer time-until-IPO horizons is by selling their stock on the secondary market. Many startups (SecondMarket, SharesPost, etc) were set up to help shareholders of successful companies like Facebook and Twitter sell their private company stock to qualified investors.
The transfer restriction quoted above means shareholders can't transfer (sell) their stock until IPO or unless they have the consent of the board.
Investors tend to have long-term horizons and may not care about getting locked up in an investment until IPO. In any case, investors are well represented on boards. Founders have leverage with the board and can negotiate partial cash-outs (selling some of their common stock to investors), but in any case own their shares outright and can hold on to them until IPO.
Employees with incentive stock options, however, can get screwed. Options are not stock and (even after having vested!) will expire if the employee quits or gets fired. If the company is doing well, the Fair Market Value (FMV) of the stock may be much higher than the employee's exercise price, which means exercising the options will incur a large Alternative Minimum Tax (AMT) penalty. This means an employee might have very valuable, vested stock options but no way to keep them upon leaving the company because exercising can put them in a tricky cash flow situation where the IRS expects them to pay taxes on unrealized (and unrealizable, because of transfer restrictions) capital gains.
This term sheet is generally founder-friendly, but the transfer restriction is certainly not employee-friendly.