Oscar Wilde famously wrote, “The only way to get rid of a temptation is to yield to it.” But this quote is as profound as it is misunderstood.
People believe that giving in to a temptation is a weakness. And they judge harshly those who can’t resist their unhealthy urges. Yet, they don’t apply the same standard to people obsessed with, say, sports or arts. The difference between these two is thinner than most think.
My proposal for a talk I delivered at Velocity Amsterdam, 2016. Slides are included at the bottom of the page. For the full transcript of the talk, visit https://sudarkoff.blog/p/distributed-ops-for-distributed-apps (paid subscription, free trial available).
Description In the world of microservices, when things are moving fast and constantly breaking, the accepted wisdom is that teams must own the whole stack and operate their services themselves. But how much stack is “the whole stack”?
Ingredients 3 eggs 1 pinch of salt 3 tbs of brown sugar 30g of butter 200g of all purpose flower 0.5L of whole milk 1 generous splash of Amaretto (alt: vanilla extract, Rhum, any other flavorful booze) Method Batter Beat the eggs Add the sugar and salt, and stir well Add the melted butter, and stir well Add some flour until the batter gets more uniform and then add some milk to make it smooth, continue until all flour rand milk have been added Add Amaretto Let the batter rest for an hour Cooking You will need a ladle, some melted butter in a small container and a brush to oil the pan Set the pan on a medium heat Brush the pan with a little bit of melted butter (repeat every 5-6 crêpes) Using the ladle, pour some batter onto the pan while tilting and turning it to cover the entire surface of the pan with batter Take care not to make it too thick, these are not pancakes!
This was originally shared with the engineering org of a company I worked for at the time. It’s my stream of consciousness about the type of system my team was building at the time. Reproducing here without modifications, enjoy the chaos of my unedited remblings.
Team,
It became clear to me in the last few days that there’s not enough clarity about what we’re trying to build.
We keep talking about relatively small and specific things, but we never discuss the philosophy behind it all.
Does running make you a better person? Does climbing mountains make you a better person? Does becoming a parent make you a better person?
Some people seem to believe that it does. And there are plenty of those (especially those that don’t run, climb, or have kids) who believe that it doesn’t. And I tend to agree with them.
My deep conviction is that nothing extrinsic can ever make you a better person.
This is my favorite recipe for pancakes. I made it a dozen times in the last few months and they inevitable turn out delicious.
These recipe is gluten-free, but not vegan. And I’m not sure how I would adopt it. Also be warned, your kids are probably not gonna love you anymore after you betray their trust by serving them these on a beautiful Sunday morning.
Please note that all the ratios in this recipe are by weight.
My dad’s borscht recipe that he has been cooking for 50 years.
Ingredients 500g of beef with bones 3L of water 200g of root vegetables (e.g., onion, carrot, parsley root, radish) 200g of shredded cabbage 200g of beets 100g of tomates 300g of potatoes bay leaf, pepper, salt, herbs to taste Method put the beef in the pot and add water simmer for a minimum of 2 hours, add salt after about 1h30m cut the root vegetables into 10mm cubes and sauté in vegetable oil separately sauté shredded cabbage until soft coarsely grate the beets and sauté for 15-20 minutes, until fully cooked blanche the tomatoes, cut them into pieces, and sauté in vegetable oil for 10-15 minutes on low heat remove the beef from the pot and filter the broth then add the sauteed root vegetables and cabbage to the broth and set on medium heat when it starts to boil again, reduce the heat to simmer add the potatoes cut into 15mm cubes and cook for 10-15 min add the sauteed beets and cook for another 10 min cut or shred the beef into small-ish pieces and add back to the soup finally add the sauteed tomatoes, bay leaf, pepper, herbs and the borscht is ready!
Understanding a few key concepts will help you make sense of how Git works and how to use it effectively.
Full history With Git, every repository contains a full copy of the project history, and no repository is inherently more important than any other.
Content-addressable Git stores content in files with names that are 40-hexdigit (160-bit) SHA1 hashes. This has some interesting implications. It means for example that Git will never store the same data twice within a repository because identical data would have identical SHA1 hashes and therefore be stored in the same file.
This is a proposal I made for improving the disk selection algorithm of a distributed file storage system.
Current Disk Selection Algorithm The current algorithm randomly selects a disk among the top N percent and assigns it to a given equivalence class. This strategy is suboptimal for a couple of reasons:
Even when there’s a great variability of fitness values among the top N percent of the disks, the most suitable disks will have the same probability of being selected as the least suitable disks, thus leading to unbalanced placement.
There are many lessons to be learned from rock climbing, but the following three are the main ones for me.
Don’t give up Very often giving up in rock climbing is scarier than persisting—nobody likes falling. Especially if it’s a long and nasty fall. And what you very quickly discover is that in rock climbing, like in life (or Jazz, if you’re a musician), sticking with it for long enough eventually gets you up there.