Blog posts, links, and more that I found good/interesting.
Building DigitalOcean's API gateway - Maurício Linhares' ramblings
TL;DR: this is mostly a text version of a presentation I've done a couple times ( English or Portuguese) on the history of building DigitalOcean's API gateway. How we made it easier for folks to build new microservices instead of continuing to add code to our monoliths, the successes, failures and lessons learned.
new codebase, who dis? (How to Join a Team and Learn a Codebase)
Home > Articles > new codebase, who dis? (How to Join a Team and Learn a Codebase)I have switched teams more often than I have had to implement an AVL tree, and you can guess which one of those two was taught in school. I wish someone had taught me how to join a new team!
Your legacy database is outgrowing itself - Unstructed.tech
Do you feel your database is growing too big or too old? Hard to maintain? Well, I hope I might be able to help you a bit with that. The text you're about to read is a real life experience of scaling a monolith database to be able to support a top 250-website (according to alexa.com).
Stealing Your Private YouTube Videos, One Frame at a Time
Back in December 2019, a few months after I started hacking on Google VRP, I was looking at YouTube. I wanted to find a way to get access to a Private video which I did not own. When you upload a video to YouTube, you can select between 3 privacy settings.
Designing Engineering Organizations - Jacob Kaplan-Moss
How should you structure a larger engineering organization, one with dozens (or hundreds) of engineers? There are many tradeoffs to consider, and no single right answer. But, there are some structures that work better than others. Summary: the most effective teams are stable, multi-disciplinary, aligned to product delivery.
Fixing User Personas
User personas are controversial. They're built with great intentions, and then break down. People aren't sure how to create them. They sit in drawers and hang on the wall, forgotten or ignored. But personas can be very beneficial if they're created and used properly.
Simulating the PIN cracking scene in Terminator 2
In the beginning of Terminator 2: Judgement Day, John Connor uses a laptop to crack the PIN of a stolen debit card. I don't think I saw Terminator 2 in the theater. I probably watched it years later on LaserDisc but the scene left quite an impression on me.
The Big Little Guide to Message Queues
Message Queues are now fairly prevalent-there are so many of them showing up so fast you'd think they were rabbits with an unlimited supply of celery, resulting in an kafkaesque situation where making a decision is like trying to catch a stream in your hands.
Uber's Real-Time Push Platform
Uber builds multi-sided marketplaces handling millions of trips every day across the globe. We strive to build real-time experiences for all our users. The nature of real time marketplaces make them very lively. Over the course of a trip, there are multiple participants that can modify and view the state of an ongoing trip and need real-time updates.
When we kept everything on paper, organised people had these things called filing cabinets. They stored all of their documents in them in a structured way so that they could find them again. Now those same people store all of their files in arbitrarily named folders on their company's shared drive and wonder why they can't find anything.
The Ultimate Skip Level Meeting Guide for Leaders
Subscribe to the Level-up Engineering Podcast The Ultimate Skip Level Meeting Guide for Leaders - Interview with Sarah Milstein & Tanisha Barnett from Mailchimp The higher you climb in leadership, the more important skip level meetings become for you. You have to see what's happening on the ground floor of your organization.
The Tragic Tale Of DEC, The Computing Giant That Died Too Soon - Digital.com
Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn more Last Updated on October 21, 2020 When you think of leaders in the computing industry, your first thoughts probably turn to companies like Apple, Microsoft, and IBM.
How to Make Your Code Reviewer Fall in Love with You
When people talk about code reviews, they focus on the reviewer. But the developer who writes the code is just as important to the review as the person who reads it. There's scarcely any guidance on preparing your code for review, so authors often screw up this process out of sheer ignorance.
The man who invented the Zamboni
As the great sage Charlie Brown once said: "There are 3 things in life that people like to stare at: a flowing stream, a crackling fire, and a Zamboni clearing the ice." Watching one of these machines glide across a skating rink, restoring carved-up ice to glassy perfection, is efficiency in motion.
The Father of the Emoticon Chases His Great White Whale
Every year on September 19, Dr. Scott Fahlman passes out smiley face cookies. He stands outside Pittsburgh's Carnegie Mellon University where he's been a computer science professor for nearly forty years, and plays campus celebrity. On the same date in 1982, Fahlman invented the smiley-face emoticon.
EPIC: Exploring challenges and opportunities in next-generation Internet architectures | APNIC Blog
The Internet is a truly amazing system. Originally developed as a research network in the 1960s and 1970s, it is still operational today, connecting billions of users and tens of billions of devices.
Make Your Test Fail
Watch "Make Your Test Fail" on egghead.io Have you ever seen a test go green and be surprised? You expect it to fail, but it somehow passes and you don't know why. When that happens, do you: Thank the testing gods for their blessing and move on? Figure out what's going on?
History's 7 Craziest Heists, From The Delivery Guy Who Robbed A Bank To The Theft Of The Mona Lisa
From ingenious bank robberies, and that time a couple of malicious thieves fastened a collar bomb around a pizza delivery guy's neck, to the elaborate mafia-backed Lufthansa Heist, these are the most astonishing grafts in recent history.
The Nine Phases of an Open Source Project Maintainer
There is more to running an open source project than writing code. In fact most of all work has to do with something else. This places additional requirements to project maintainers that are often not talked about. In this post we'll briefly go over nine distinct phases each with a different hat one might have to wear.
What Should Be Done About Social Media?
One of the most basic and urgent policy questions is how to tackle the rising role of social media in our public sphere. As social media has proliferated across the globe, societies have had to grapple with its implications for both exercising and constraining speech.
My Priceless Summer on a Maine Lobster Boat
During her college break, the author went all in on solitude-living alone on a Down East island and working for one of the area's few female skippers. Luna Soley reflects on a time of loneliness, hard work, and natural beauty.
psql command line tutorial and cheat sheet
You've installed PostgreSQL. Now what? I assume you've been given a task that uses psql and you want to learn the absolute minimum to get the job done. This is both a brief tutorial and a quick reference for the absolute least you need to know about psql.
Moving my serverless project to Ruby on Rails
I have a small side project: digital gift cards for hackers. It uses Shopify for all the store-related stuff: frontend, payments, refunds, reports, etc. But unlike regular digital products (ebooks, videos) I wanted each card that the user purchases from the store to be unique.
Personal Data Warehouses: Reclaiming Your Data
I gave a talk yesterday about personal data warehouses for GitHub's OCTO Speaker Series, focusing on my Datasette and Dogsheep projects. The video of the talk is now available, and I'm presenting that here along with an annotated summary of the talk, including links to demos and further information.
Doomsday prepping for less crazy folk
The prepper culture begs to be taken with a grain of salt. In a sense, it has all the makings of a doomsday cult: a tribe of unkempt misfits who hoard gold bullion, study herbalism, and preach about the imminent collapse of our society. Today, we see such worries as absurd.
As you may know, as of the time this text is being written youtube-dl's repository at GitHub is blocked due to a DMCA takedown letter received by GitHub on behalf of the RIAA.
How to Recalculate a Spreadsheet
Let's say I'm ordering burritos for my two friends while they quar up in Jersey City, and want to calculate the total price of my order: It's a little confusing to follow the flow of data in a spreadsheet when it's written like that, so I hope you don't mind this equivalent diagram that represents it as a graph: We're rounding the cost of an El Farolito super vegi burrito to $8, so assuming the per-burrito delivery toll remains at just $2 per burrito, it looks like the total for our two burritos will be $20.
By Maikel Mardjan © Copyright 2018,2019, 2020 BM-Support.org. Created by Maikel Mardjan. This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (cc-by-sa).
Understanding Statistical Power and Significance Testing
Type I and Type II errors, β, α, p-values, power and effect sizes - the ritual of null hypothesis significance testing contains many strange concepts. Much has been said about significance testing - most of it negative. Methodologists constantly point out that researchers misinterpret p-values.
How to Identify Destructive Leadership Patterns
In many aspects of our lives, we rely on those in positions of power to lead us. The role of leaders becomes especially salient in times of uncertainty. Throughout your life, you've probably seen several ways leaders can respond to challenging and ambiguous situations.
A Spectre is Haunting Unicode
In 1978 Japan's Ministry of Economy, Trade and Industry established the encoding that would later be known as JIS X 0208, which still serves as an important reference for all Japanese encodings. However, after the JIS standard was released people noticed something strange - several of the added characters had no obvious sources, and nobody could tell what they meant or how they should be pronounced.
Why Are the Noses Broken on Egyptian Statues?
Edward Bleiberg's essay first appeared in the catalogue for the exhibition Striking Power: Iconoclasm in Ancient Egypt at the Pulitzer Foundation in St. Louis, Missouri. The exhibition is based on objects from the collection of the Brooklyn Museum. * * * "Why are the noses broken?"
Russia's Retro Lenin Museum Still Runs on Decades-Old Apple II Computers
The versatility of the Apple II made it one of the most widespread personal computers of the 1970s and 80s. In schools, labs, and even command centers, these classic American computers kept a foothold even after the advent of more advanced machines.
Summary A new investigation argues that the politics is delaying much-needed electric grid unification Show Notes Electricity is the key to modern life as we know it, and yet, universal, reliable service remains an unsolved problem. By one estimate, a billion people still do without it.
Ruby one-liners cookbook
This chapter will give an overview of ruby syntax for command line usage and some examples to show what kind of problems are typically suited for one-liners. I assume you are already familiar with use cases where command line is more productive compared to GUI. See also this series of articles titled Unix as IDE.
The failed promise of Web Components
Web Components had so much potential to empower HTML to do more, and make web development more accessible to non-programmers and easier for programmers. Remember how exciting it was every time we got new shiny HTML elements that actually do stuff?
Understanding How UUIDs Are Generated
You've likely used UUIDs in projects before and assumed them to be unique. Today, we'll take a look at the main aspects of the implementation and understand why UUIDs are practically unique, though an incredibly small potential for duplication exists.
Software development is a craft. We tend to call it "engineering", but most of the time, it feels more like plumbing or carpentry. Most of the time, completing a task does not require any inventiveness.
Grapefruit Is One of the Weirdest Fruits on the Planet
In 1989, David Bailey, a researcher in the field of clinical pharmacology (the study of how drugs affect humans), accidentally stumbled on perhaps the biggest discovery of his career, in his lab in London, Ontario. Follow-up testing confirmed his findings, and today there is not really any doubt that he was correct.
An interview with Paul Mockapetris, the creator of the DNS
Mockapetris considers the current state of the DNS and its future in a world where countries are seeking to build their own intranets.
How I operated as a Staff engineer at Heroku
I was incredibly lucky to spend 5 amazing years at Heroku. By the end of my time, I was operating in a Staff capacity, although I'm honestly completely unclear which titles at Salesforce actually map to Staff. Because titles are unclear and because my role was a little amorphous, I chose not to submit a story to Will Lethain's great collection at StaffEng.com.
The surprising traits of good remote leaders
Fifteen years ago, Steven Charlier, chair of management at Georgia Southern University in the US, had a hunch that in-person charisma and leadership skills don't translate virtually. "Before I became an academic, I worked for IBM for a number of years on a lot of virtual teams," he says.
Jugaad takes agile to the extreme
Introduction Jugaad is an attitude towards delivery which originated in India and consists of three simple tenets: Humility: use whatever works without prejudiceOpenness: keep your options openFrugality: small expenses keep regrets small Jugaad is agility taken to the extreme and most suitable for projects with a high degree of change, risk and uncertainty.
Disrespectful Design-Users aren't stupid or lazy
It's a common narrative in tech to design products with the assumption that users are stupid and lazy. I think that is both disrespectful and wrong. The idea is rooted in a lot of research around product usability, but it has been bastardized. Think of it as a perversion of the Don't Make Me Think...
Microsoft's underwater data centre resurfaces after two years
Rory Cellan-Jones Technology correspondent Two years ago, Microsoft sank a data centre off the coast of Orkney in a wild experiment. That data centre has now been retrieved from the ocean floor, and Microsoft researchers are assessing how it has performed, and what they can learn from it about energy efficiency.
199: Toxicity in Tech with Amy Newell
04:31 - Amy's Superpower: Search Algorithms and Finding Things Finding Things in Code Visual vs Spacial Awareness 08:39 - Toxic Masculinity and Hierarchies in Engineering Roles 14:22 - Measuring Skill Advancement The Individual Contributor (IC) vs Manager Track Management vs Mentorship 21:02 - Congressive vs Ingressive 22:43 - Ways Toxicity Shows Up in The Workplace 29:07 - Unlearning and Psychological Safety 37:07 - The Word "Nontechnical" Respecting Expertise Skilled/Unskilled Labor: All Labor is Skilled Labor!
Internet: Old TV caused village broadband outages for 18 months
Every morning at 7am when the second hand TV was switched on, the village internet went down.
Harassers are nice to me, and probably to you
In any organization, there will be people who behave inappropriately, sometimes grievously so. Here's the paradox: the more senior the role you're in, and the more power you have to help coworkers who are facing awful behavior like harassment or bullying, the less likely you are to see those things.
This issue explores all things APIs-from their prehistory to their future, their design and development to their opportunities and impacts.
Ruby adds experimental support for Rightward assignments
This blog post discusses the support for Rightward assignments in ruby. Historically, all of the early programming languages were designed by Mathematicians. It's a common practice in mathematics to say let x = 4y + z, which is read as let x be equal to 4y + z.
I have memories of long-ago Sunday nights on the road, my sister and I drowsing in the back seat, our parents driving us home from a visit to our grandparents, all ears turned in the darkness toward a public radio show called Hearts of Space.