Newsletter 36 – 02/2023

Featured

BIG DATA IS DEAD – Fabulous post, with many truths about the myth of “big data”, for most companies the big data era never arrived, and most of the existent datasets are over 1 TB of storage.

Is software getting worse? – IMO yes! And we need more posts like this, more people reasoning about the way and quality we’re building software today.

The technology behind GitHub’s new code search – Index and search on 115TB of code is not an easy task, the previous solution with ElasticSearch wasn’t working anymore, so they needed to create something new, this post describes how they did it.

MISC

The Case Against Monkey Patching, From a Rails Core Team Member – Monkey Patching is one of the most notable features of Ruby, but it’s dangerous when used without caution, and your code lives for years.

Whatever happened to Ruby? – Languages don’t die, can Ruby is an example. This post talks specifically about Ruby but can be with any not “hot” language.

A thorough team guide to RFCs – It’s important to define a decision-making process, RFC with its variations is the most used and known process for It. IMO it’s important to companies adopt It, to start registering and taking feedback on tech decisions.

Coding 102: Writing code other people can read – Many new people are starting to code, unfortunately, beginner courses never care about code quality. This post brings useful tips.

Three layers to secure a software development organization – Software needs to be secure, and applying simple concepts in the three layers of an organization can drastically reduce the chances of being attacked.

Newsletter 35 – 02/2023

Featured

We invested 10% to pay back tech debt; Here’s what happened – How to solve tech debts is a big discussion, and sometimes leads to conflicts between engineers and stakeholders, invest part of the team time to work only on tech debts is the most common way.

8 Hard Truths I learned when I got laid off from my SWE job – As we saw in the news in recent days, many tech-based companies are laying off, this is a very sensitive moment for every people who are suffering from this (Not only SWE), this post talks about 8 hard truths that the author learned when got laid off.

PEP 703 – Making the Global Interpreter Lock Optional in CPython – This PEP proposes adding a compile flag to remove GIL from python, its a draft but if approved can help Python developers in many ways, especially those involved with deep learning, and high processing applications.

Examples of problems with integers – Integers have their problems just like floats, but many engineers care only about floats’ problems, in this post, some real and cool examples of problems with integers.

MISC

PLATFORM ENGINEERING AS A STARTUP – The platform engineering teams need to be treated and behave like a company, with the product, leadership, customer success, and everything needed to maintain a company with a solid project.

Conversation Skills Essentials – Conversation skills are the most important skills for every developer, this post gives some essential techniques that you can apply to have good conversations, these tips are valuable and can help you talk with anyone.

26 programming languages in 25 days, Part 1: Strategy, tactics, and logistics – The author has solved each 2022 Advent of code exercise in one different programming language (solving one in two!), this is awesome, and in this post, he shares its strategies, thoughts, and logistics.

A Guide to the Terminal, Console, and Shell – A deep historical post about the first computers and how some aspects of the past still reflect in our operations systems design and how we call some things. For people who like history, a great post.

Managing Your Career Without a Manager – Many people have problems managing their careers without a manager, this post gives some tips that may help.

My First Code Commit in Ruby – Posts about first contributions to open source are always fascinating.

Ruby 3.2’s YJIT is Production-Ready – Some interesting news coming from Ruby’s YJIT (one of Ruby’s JIT), they successfully deployed it to production in one service and noticed ~10% of speedups, while other benchmarks noticed even more!

What Happens When A CPU Starts – What happens when your CPU receives energy?

Newsletter 34 – 01/2023

Featured

Building A Virtual Machine inside ChatGPT – This month many posts about ChatGPT was published, I don’t want to stress this topic even more, but this one is interesting.

From Zero to 50 Million Uploads per Day: Scaling Media at Canva – 50 Million uploads per day are huge, this post explains how Canva managed to handle It while dealing with MySQL reaching its limit, and migrating to another database.

How to make time for learning in tech – To be a great engineer is needed to continually invest in your knowledge, and keep studying over time is mandatory. Unfortunately, not all companies invest and give time to learn, and knowing some tricks to have this time is useful.

Hiring For Additivity“Echo Chambers” is a common problem for every company with some years of existence, this post talks about how Netflix hired “Additivity” to avoid this problem.

MISC

Visual Patterns to Improve Monitoring Dashboards – Knowledge of how to build good monitoring dashboards can help you in the future during a critical moment, some patterns and techniques from UX can be useful to build dashboards that really help.

A Gentler, Better Way to Change Minds – Arguing with someone who disagrees with you, is always hard, changing minds is even harder. The solution is to change the way that we present our values.

Tips for analyzing logs – Analyzing logs is a daily activity for almost all engineers, know how to search and analyze them is valuable, especially while searching for bugs or solving incidents.

Little Languages Are The Future Of Programming – A opinative post about little languages being the future of programming, today we have dozens of turning complete general purpose languages that are capable of doing anything if you code. But the future can be little languages that focus only on one task and do it with mastery, just like SQL.

Newsletter 33 – 12/2022

Featured

The hidden cost of complexity – Awesome post with a lot of nice short reflections about complexity. “We admire the complexity and avoid simplicity, while we should admire the simplicity and avoid complexity.”

What is a developer experience team? – DevEX is gaining space in many tech discussions, especially in mid-large companies. Knowing ways to start one of these teams from scratch, prioritize, and impact is always helpful.

How the clipboard works – Have you ever thought about how the clipboard actually Works? This post explains in a simple and intuitive way.

How Trying New Programming Languages Helped Me Grow as a Software Engineer – Learning new programming languages can always help you improve, learning different concepts, paradigms, patterns, and ways of solving problems.

MISC

Move faster, wait less: Improving code review time at Meta – The time that a code stands at the “code review stage” is crucial to improve the engineering team’s productivity and happiness. This post by Metas’s code review team, tells how they reduced this time.

Ruby concurrency is hard: how I became a Ruby on Rails contributor – A nice dive into a bug into a library (gem) that ended in fixing the same bug in many other gems!

The Real Problem with Go – A little “clickbait” title, but a fascinating discussion about how Go (and any other OSS) can improve not only the technical part but also the process of getting reviews and contributions merged.

(Re)building Threat Detection and Incident Response at LinkedIn – A interesting post talking about how a large company as Linkedin with over 850M customers, rebuilt its threat detection and incident response.

An Inside Look at MS-DOS – A old doc about how MS-DOS works, with tons of interesting things about file formats, memory allocation, FAT, and all these operations system stuff.

Newsletter 32 – 10/2022

Featured

How Wine works 101 – Do you know how wine works? Tip: It is not an emulator.

My Future with Elixir: set-theoretic types – Elixir announced that it will be developing/researching a set-theoric type system, in this post, José Valim talks about that.

Syntax Design – Syntax design is one (if not the most) important thing in one programming language, this post talks about some aspects of language syntaxes and interesting things.

On the Importance of Pull Request Discipline – Pull requests can be used as documentation and commit messages neither. It’s important to have the discipline of both writing good pull requests and commit messages. This gives good tips about how to get started on It.

Conway’s Law – Conway’s Law is a well-known príncipe of software engineering, and it’s always worth remembering and thinking about It.

Reducing Logging Cost by Two Orders of Magnitude using CLPCLP is a fresh new tool capable of compressing and making searches, especially on logs. As this tool is primarily focused on logs it takes advantage of many aspects of this data to do a better compression and search. Uber achieves a massive cost reduction using it and explains how in this post. Also, a better description of this tool can be read in this paper.

MISC

The Hundred-Year Programming Language – This post brings a nice reflection about what makes a language live, and what language strengths can make it live as the years go by. It makes you think about the future, and about which languages you’ll be programming 30 years from now.

Building a startup on Clojure – Building products in languages with tiny popularity is always fun Clojure is a fun language that you should give a try.

The disproportionate influence of early tech decisions – Early tech decisions can be seen in any company, especially the ones with more years of existence.

YAGNI exceptions – YAGNI is a principle that is important to always remember while developing, especially green field projects. BUT of course, some exceptions exist and this post brings a nice initial list.

Hunting memory spikes in the Erlang BEAM – BEAM has great tools to debug applications that run on It. This post explains how folks from New Relic used it for hunting memory spikes.

Make Meetings Work – Meetings are hard, and many people really don’t like them. Excellent tips can help you make meetings less boring.