HNHacker News
TopNewBestAskShowJobs

i0exception

1,420 karma · joined February 5, 2012

https://i0exception.substack.com/
submissionscomments
i0exception··on Saving $30k a month by improving garbage collection
It's a lot harder to make such drastic changes to something that's already serving production traffic at scale. It's okay to reinvent solved problems sometimes because the alternative is be a multi-year project with unclear returns.

Also, the 7 day retention is a feature - it helps us recover data quickly in case of bugs in our storage code.

i0exception··on Ever-increasing home values are a Ponzi scheme
Companies can always issue new shares to dilute you (or in Apple's case, buy them back to reduce the number of shares)
i0exception··on Readings in Database Systems, 5th Edition (2015)
This needs a [2015] tag.

The thing that makes the redbook special in my opinion is that the editors have been able to apply their research to solve actual problems for paying customers! You don't get to see enough of that in academia.

i0exception··on Top Paying Tech Companies by SWE Level
Most companies in the valley have a terminal level (a level at which you're not expected to progress to the next one) that's close to level 3 in the chart here. In my experience, a lot of people don't progress beyond that. For the ones that do, the number of years of experience plays a smaller role than the quality of the experience itself.
i0exception··on Top Paying Tech Companies by SWE Level
Salary negotiation is pretty one sided today with companies holding all the cards. Better visibility into numbers will definitely help level the playing field.

Collecting offer letters is an interesting way to build trust in data. What's the incentive for someone to upload their offer letter though?

i0exception··on The Greatest Keyboard of All Time Reborn (2018) [video]
If you're interested in buying one of these, Unicomp (https://www.pckeyboard.com) purchased the rights to continue making Model M style keyboards once Lexmark removed them from their line of products.

If you want to buy one of the originals, https://clickykeyboards.com has them.

Also, the Model F (https://en.wikipedia.org/wiki/Model_F_keyboard) is considered by many as being superior to the Model M. IBM made far fewer Model Fs compared to the Ms, so if you find one of these in the wild, it'll be really expensive. https://www.modelfkeyboards.com is trying to re-create the original Model F.

i0exception··on Uber Sinks to New Record Low as IPO Share Lockup Expires
Most people who joined in 2015 were getting RSUs and not options. Also, the strike price on options is dependent on the 409A valuation and not the valuation at which they raised money.
i0exception··on Vote Today on Senate H-1B Bill
1. The US issues approximately 1M greencards every year - employment based petitions are around 10% of that number 2. The bill does a gradual rollout of eliminating the cap - so most people who have already applied for a green card and are in the US should not be affected 3. Employment based green cards are allocated based on skills - there's a specific allocation of 50K green cards just for diversity every year. That's around 35% of the employment based allocation.
i0exception··on High-performance, exactly-once, failure-oblivious distributed programming (2018)
Kafka can probably guarantee exactly ones semantics on publishing (conditions apply). It definitely cannot guarantee exactly once semantics on the consumer and processing side. Imagine a scenario where you receive a message from Kafka and process it, but the processor crashes or has a network partition right after. There's no way for the message to be acknowledged and you either have to design your system to be idempotent or handle exactly-once semantics further down the stack.

Databases have been handling exactly-once semantics for decades now. What Kafka is doing is not new and actually gives you a false sense of security when it comes to these kinds of things.

i0exception··on Safely Rewriting Mixpanel’s Highest-Throughput Service
We don't run a TSDB. A TSDB doesn't work for the kinds of queries we run - specifically, TSDBs don't work if you want to

  * analyze every datapoint you receive
  * when the dimensional cardinality is high
  * you want to analyze behaviors over time (e.g. the output depends on the orders of events followed - like creating a funnel report)
There's no off-the-shelf solution that does this at the scale at which we operate - hence the need to write our own custom solution.
i0exception··on Safely Rewriting Mixpanel’s Highest-Throughput Service
Disclaimer: Not the author, but I was on the team that migrated our infrastructure to GCP.

As a startup with limited resources, it's important for us to invest all our engineering strength into the things that create direct value for our business. We'd rather pay Google to manage machines and run services like Kubernetes, Spanner, Pub/Sub and others and free up the engineers to work on our core analytics platform.

i0exception··on Learning to Build Distributed Systems
Being on-call/carrying the pager for a complex and unstable distributed system is a great way to understand how to build a good one. Building a distributed system isn't hard per-se. It's almost always the non-determinism and the associated difficulty in debugging errors that's a problem.
i0exception··on How And Why We Switched from Erlang to Python (2011)
We try to avoid microservices wherever possible. If we're adding something new, it typically starts off as part of the service being deployed - either as a container within the pod (we use kubernetes) or as a library that the code can use. If something grows big enough in a way that it can't scale with the service it's running with, we split it into a separate service. The opposite is also true - if a service that we run no longer warrants a separate deployment, we make it a container or a library. We use GRPC for most communication and interfaces for anything that travels package boundaries. Both of these help with making the split/aggregation a lot easier to manage.
i0exception··on How And Why We Switched from Erlang to Python (2011)
Averages are a little misleading because pretty much everyone touches python only about half the engineering team uses it as their primary programming language. I don't have the median number of commits or lines per commit handy - but that would be a better approximation of developer productivity.
i0exception··on How And Why We Switched from Erlang to Python (2011)
Disclaimer: I work at Mixpanel

We have a monorepo and I imported our entire commit history into Mixpanel - https://twitter.com/i0exception/status/1010663994435067904

As you can see, over the last 3 years, we've rewritten large parts of our infrastructure in golang. While we still use python for a lot of things, we felt that the type safety and concurrency primitives in go were a much better fit for writing some of our core services.

i0exception··on Using Fourier Transforms to Multiply Numbers
If anyone's interested in writing and testing their code for this - https://www.spoj.com/problems/MUL/
i0exception··on Google Cloud Platform – The Good, Bad, and Ugly
I'm surprised that GKE is not included in the list of "Good"s. Managed kubernetes has been a game changer for us.
i0exception··on Practical Go benchmarks
His use of b.N is correct. The code you have is simply multiplying N by 100 with the inner for loop - so your times are 100x of what each "concat" operation (+,WriteString) takes.

You are also allocating a new string/buffer/builder for every run - which is not useful if you want to just benchmark concat.

i0exception··on DoorDash raises $535M, now valued at $1.4B
I really hope they use some of this money to better screen dashers and improve customer support.

We used to order lunch on Doordash once a week till things got so bad that we decided never to use Doordash again. Orders would regularly have missing or incorrect items. Some dashers would leave the food in the lobby, text me, and leave. Delivery was hardly ever on time and there was no way to get in touch with a human on customer care except through some unlisted numbers. We've switched to Caviar(https://www.trycaviar.com) since and have no complaints.

i0exception··on India Wants to Give Half a Billion People Free Health Care
That's like saying if everyone maxes out their health insurance, insurance companies will go out of business. In any given year, not everyone is going to use the ~$8000 allocated to them. Also, healthcare in India is cheap. $8000 goes a long way.
i0exception··on Changes to USCIS policy on eligibility criteria for H1B visa
[IANAL] New guidelines as to what constitutes as a speciality occupation are already in place at the other centers handling H-1B applications. The only thing this memo is saying is "Hey, someone issued you folks a memorandum in December 2000 that shouldn't be used anymore because things have changed. We're rescinding it so that no one uses it accidentally"
i0exception··on Changes to USCIS policy on eligibility criteria for H1B visa
[IANAL] "Computer programmers may no longer be eligible for H-1B visas" -

This is absurd and incorrect. The USCIS memorandum is rescinding a document dated December 2000 because it doesn't want the Nebraska Service Center (NSC) to use the old guidelines for issuing H-1B visas for computer related positions. The NSC started adjudicating H-1B applications last year after a hiatus of around 10 years.

i0exception··on USCIS Will Temporarily Suspend Premium Processing for All H-1B Petitions
This is not the same as the new suspension. The one in 2015 only affected extension of stay applications (if you want to extend your visa beyond 6 years). Typically people start the extension of stay process well in advance (USCIS lets you start at most 6 months before expiry).

The current one affects anyone trying to file a new petition (including those that are cap-exempt). If someone wants to switch employers they cannot use premium processing, which affects their ability to travel internationally and/or move jobs.

i0exception··on USCIS Will Temporarily Suspend Premium Processing for All H-1B Petitions
This is not against the law. If your visa is current, you can start working as soon as you get the receipt notice for the new H-1B application https://www.murthy.com/2011/06/27/h1b-faqs/
i0exception··on New Zealand Will Give You a Free Trip If You Agree to a Job Interview
For a brief period of time I was either able to edit someone else's profile or the information I entered was overwritten with that of someone with the same last name. Be careful with entering any personal information there.
i0exception··on Ask HN: The habit adopted in 2016 that had the greatest impact on your health?
Waking up before 7 AM every day - I seem to have a lot more energy throughout the day and I sleep better at night.
i0exception··on New Yorkers Are Publicly Shaming Cars in Bike Lanes
Yes, but they don't get to break them selectively based solely on who would come to greater harm, like the parent commenter suggested. There are common rules of the road that apply to everyone.

For example, it's not okay for a car to rear end a truck or for a pedestrian to jaywalk.

i0exception··on New Yorkers Are Publicly Shaming Cars in Bike Lanes
So going by this, different rules should apply for

  Car vs. Motorcycle
  Truck vs. Car
If you're on a road that's being shared by other vehicles, you need to follow the same rules as everyone else.
i0exception··on Ask HN: How do you view large JSON files?
If you're familiar with vim, you can do this

  cat unformatted.json | python -mjson.tool | vim -
And then use vim's folding methods to navigate the file (http://vim.wikia.com/wiki/Folding)
i0exception··on 10x or not: You’ve got to do things right
Then your definition of 10x doesn't apply to a software engineer either. What measurable metric does a "10x developer" outperform the average developer in?
Page 1 of 2Next →