The Curious Engineer

All blogs / Software / engineering practice

Erik Bernhardsson

erikbern.com

Software / engineering practiceAI / MLEngineering management / careersDistributed systems / cloud

Posts
187 from 21 Oct 2012 to 25 Feb 2026
Posting
now and then (2 in the last year)
Kind
personal blog
Feed
https://erikbern.com/atom.xml

2026 2

  1. Software companies buying software: a story of ecosystems and vendors
  2. Read more…

2024 4

  1. It's hard to write code for computers, but it's even harder to write code for humans
  2. Read more…
  3. Predicting solar eclipses with Python
  4. Read more…

2023 2

  1. Simple sabotage for software
  2. Read more…

2022 6

  1. What I have been working on: Modal
  2. Read more…
  3. We are still early with the cloud: why software development is overdue for a change
  4. Read more…
  5. σ-driven project management: when is the optimal time to give up?
  6. Read more…

2021 10

  1. Storm in the stratosphere: how the cloud will be reshuffled
  2. Read more…
  3. What is the right level of specialization? For data teams and anyone else.
  4. Read more…
  5. Building a data team at a mid-stage startup: a short story
  6. Read more…
  7. Software infrastructure 2.0: a wishlist
  8. blog post I wrote last year
  9. What's Erik up to?
  10. Read more…

2020 12

  1. Giving more tools to software engineers: the reorganization of the factory
  2. Read more…
  3. Developer experience as a competitive advantage
  4. Read more…
  5. Mortality statistics and Sweden's "dry tinder" effect
  6. Read more…
  7. How to set compensation using commonsense principles
  8. Read more…
  9. Never attribute to stupidity that which is adequately explained by opportunity cost
  10. Read more…
  11. How to hire smarter than the market: a toy model
  12. Read more…

2019 11

  1. What can startups learn from Koch Industries?
  2. Read more…
  3. We're hiring at Better
  4. Read more…
  5. Buffet lines are terrible, but let's try to improve them using computer simulations
  6. Miscellaneous unsolicited (and possibly biased) career advice
  7. Modeling conversion rates using Weibull and gamma distributions
  8. Why software projects take longer than you think: a statistical model
  9. Why software projects take longer than you think
  10. Headcount goals, feature factories, and when to hire those mythical 10x people
  11. Data architecture vs backend architecture

2018 12

  1. The hacker's guide to uncertainty estimates
  2. I don't want to learn your garbage query language
  3. Business secrets from terrible people
  4. New approximate nearest neighbor benchmarks
  5. Missing the point about microservices: it's about testing and deploying independently
  6. Interviewing is a noisy prediction problem
  7. Waiting time, load factor, and queueing theory: why you need to cut your systems a bit of slack
  8. Lessons from content marketing myself (aka blogging) for five years
  9. New benchmarks for approximate nearest neighbors
  10. I'm looking for data engineers
  11. Books I consumed in 2017
  12. Plotting author statistics for Git repos using Git of Theseus

2017 18

  1. Toxic meeting culture
  2. Learning from users faster using machine learning
  3. Annoy 1.10 released, with Hamming distance and Windows support
  4. Why conversion matters: a toy model
  5. On the Equifax breach and how to really prevent identity theft
  6. The number of letters in the word for each number
  7. The software engineering rule of 3
  8. Machine, Platform, Crowd
  9. Google diversity memo, global warming, Pascal's wager, and other stuff
  10. Fun with trigonometry: the world's most twisted coastline
  11. Optimizing for iteration speed
  12. Blogroll
  13. Conversion rates – you are (most likely) computing them wrong
  14. The mathematical principles of management
  15. The eigenvector of "Why we moved from language X to language Y"
  16. Why I went into the mortgage industry
  17. Language pitch
  18. Functional programming is the libertarianism of software engineering

2016 19

  1. The half-life of code & the ship of Theseus
  2. Are data sets the new server rooms?
  3. Pareto efficency
  4. State drift
  5. When machine learning matters
  6. Subway waiting math
  7. Approximate nearest news
  8. What is your motivation?
  9. Dollar cost averaging
  10. Why organizations fail
  11. NYC subway math
  12. Exploding offers are bullshit
  13. Meta-blogging
  14. Iterate or die
  15. My issue with GPU-accelerated deep learning
  16. Some more font links
  17. Analyzing 50k fonts using deep neural networks
  18. I believe in the 10x engineer, but...
  19. Books I read in 2015

2015 29

  1. More MCMC – Analyzing a small dataset with 1-5 ratings
  2. There is no magic trick
  3. Installing TensorFlow on AWS
  4. Looking for smart people
  5. MCMC for marketing data
  6. Interview with a Data Scientist: Erik Bernhardsson
  7. Nearest neighbors and vector models – epilogue – curse of dimensionality
  8. Nearest neighbors and vector models – part 2 – algorithms and data structures
  9. Nearest neighbor methods and vector models – part 1
  10. Presentations about Spotify music recommendations
  11. Antipodes
  12. Software Engineers and Automation
  13. coin2dice
  14. Benchmark of Approximate Nearest Neighbor libraries
  15. More Luigi alternatives
  16. 3D in D3
  17. The hardest challenge about becoming a manager
  18. The lane next to you is more likely to be slower than yours
  19. Better precision and faster index building in Annoy
  20. Annoy – now without Boost dependencies and with Python 3 Support
  21. Ping the world
  22. Black Box Machine Learning in the Cloud
  23. It's called Berkson's paradox!
  24. Norvig's claim that programming competitions correlate negatively with being good on the job
  25. Pinterest open sources Pinball
  26. The relationship between commit size and commit message size
  27. My favorite management failures
  28. Leaving Spotify
  29. Scala Data Pipelines for Music Recommendations

2014 26

  1. Everything I learned about technical debt
  2. I already found the best gifs
  3. A brief history of Hadoop at Spotify
  4. Luigi Presentation @ NYC Data Science, Dec 16, 2014
  5. Luigi talk tomorrow
  6. Deep learning for… Go
  7. Deep learning for… chess (addendum)
  8. Deep learning for... chess
  9. Optimizing things: everything is a proxy for a proxy for a proxy
  10. Luigi conquering the world
  11. Annoying blog post
  12. The Filter Bubble is Silly and you Can't Guess What Happened Next
  13. Detecting corporate fraud using Benford's law
  14. Running Theano on EC2
  15. In defense of false positives (why you can't fail with A/B tests)
  16. Recurrent Neural Networks for Collaborative Filtering
  17. Where do locals go in NYC?
  18. How to build up a data team (everything I ever learned about recruiting)
  19. The power of ensembles
  20. MLConf 2014
  21. Music recommendations using cover images (part 1)
  22. Luigi success
  23. Welcome Echo Nest!
  24. Momentum strategies
  25. Ratio metrics
  26. Benchmarking nearest neighbor libraries in Python

2013 32

  1. More recommender algorithms
  2. Microsoft's new marketing strategy: give up
  3. Bagging as a regularizer
  4. Model benchmarks
  5. statself.com
  6. Implicit data and collaborative filtering
  7. Vote for our SXSW panel!
  8. What's up with music recommendations?
  9. 3D
  10. 2D embedding of 5k artists = WIN
  11. Delivering Music Recommendations
  12. ML+Hadoop at NYC Predictive Analytics
  13. HubSpot's Picture Shows how to Maintain Monocultures in the 21st Century
  14. More Luigi: Presentation from OSCON
  15. Optimizing over multinomial distributions
  16. More Luigi!
  17. hdfs2cass
  18. Nodoc
  19. Wikiphilia
  20. Spotify's Discovery page
  21. Fermat's principle
  22. Snakebite
  23. Stuff that bothers me: “100x faster than Hadoop”
  24. Presentation about Luigi
  25. Being data driven
  26. Annoy
  27. More Luigi!
  28. ML at Twitter
  29. I'm featured in Mashable
  30. Slides from NYC Machine Learning talk
  31. NYC Machine Learning meetup
  32. Momentum and mean reversion might just be volatility bias

2012 4

  1. Calculating cosine similarities using dimensionality reduction
  2. Tumblr's awesome project names
  3. A neat little trick with time decay
  4. Luigi: complex pipelines of tasks in Python