Slack Engineering Icon Slack Engineering

Deploys at Slack

Jonathan Chang and Michael Deng share all the details of the systems required to deploy at Slack.

Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system.

Deploys at Slack

The Changelog The Changelog #387

Prepare yourself for Quantum Computing

Johan Vos joined us to talk about his new book ‘Quantum Computing for Developers’ which is available to read right now as part of the Manning Early Access Program (MEAP). Listen near the end of the show to learn how you can get a free copy or check the show notes for details. We talked with Johan about the core principles of Quantum Computing, the hardware and software involved, the differences between quantum computing and classical computing, a little bit of physics, and what can we developers do today to prepare for the perhaps-not-so-distant future of Quantum Computing.

Brain Science Brain Science #15

Working from home

Given all of the recent changes and adjustments many individuals have made to working remotely, Mireille and Adam discuss some of the relevant aspects of working from home. How do you develop habits that work for you to be the most productive? Which factors make a difference to be successful in navigating challenges that emerge and how can you develop ways of staying socially connected while being physically distant?

Startups blog.taskade.com

Google Wave’s failure is a great lesson for modern real-time collab tools

Google Wave was all the rage in 2009, but interest soon fizzled. This post takes us through that history, answering this question along the way:

With the full weight of Google 💰 behind it, why aren’t we all using Wave today? What caused a revolutionary, real-time collaboration tool to fizzle out in just a few short years?

What can we learn from Wave’s failure? The author has one key takeaway that will serve all of us well to keep in mind.

Nikita Sobolev sobolevn.me

Do not log

Almost every week I accidentally get into this logging argument. Here’s the problem: people tend to log different things and call it a best-practice. And I am not sure why. When I start discussing this with other people I always end up repeating the exact same ideas over and over again.

So. Today I want to criticize the whole logging culture and provide a bunch of alternatives.

Josh Aas Let's Encrypt

Let's Encrypt has issued 1 billion certificates

In June of 2017, Let’s Encrypt celebrated 100 Million certificates issued. Now, just about 2.5 years later, that number has grown to 1 billion. What’s changed since 2017?

In June of 2017 approximately 58% of page loads used HTTPS globally, 64% in the United States. Today 81% of page loads use HTTPS globally, and we’re at 91% in the United States! This is an incredible achievement. That’s a lot more privacy and security for everybody.

In June of 2017 we were serving approximately 46M websites, and we did so with 11 full time staff and an annual budget of $2.61M. Today we serve nearly 192M websites with 13 full time staff and an annual budget of approximately $3.35M.

What’s driving this adoption?

Nothing drives adoption like ease of use, and the foundation for ease of use in the certificate space is our ACME protocol. ACME allows for extensive automation, which means computers can do most of the work. … Since 2017 browsers have started requiring HTTPS for more features, and they’ve greatly improved the ways in which they communicate to their users about the risks of not using HTTPS.

The Changelog The Changelog #389

Securing the web with Let's Encrypt

We’re talking with Josh Aas, the Executive Director of the Internet Security Research Group, which is the legal entity behind the Let’s Encrypt certificate authority. In June of 2017, Let’s Encrypt celebrated 100 Million certificates issued. Now, just about 2.5 years later, that number has grown to 1 Billion and 200 Million websites served. We talk with Josh about his journey and what it’s taken to build and grow Let’s Encrypt to enable a secure by default internet for everyone.

The New Stack Icon The New Stack

How git changed the way we code

The New Stack takes us on a fun trip down memory lane:

Fifteen years ago a number of the Linux kernel developers tossed their hands in the air and gave up on their version control system, BitKeeper. Why? The man who held the copyright for BitKeeper, Larry McVoy, withdrew free use of his product on claims that one of the kernel devs had reverse engineered one of the BitKeeper protocols.

Linux creator Linus Torvalds sought out a replacement to house the Linux kernel code. After careful consideration, Torvalds realized none of the available options were efficient enough to meet his needs:

Kubernetes github.com

What happens when ... Kubernetes edition

Remember that README that answers the age old question:

What happens when you type google.com into your browser’s address box and press enter?

Well, the format is back with a Kubernetes focus, this time answering:

Imagine I want to deploy nginx to a Kubernetes cluster. I’d probably type something like this in my terminal:

kubectl run nginx --image=nginx --replicas=3

and hit enter. After a few seconds, I should see three nginx pods spread across all my worker nodes. It works like magic, and that’s great! But what’s really going on under the hood?

Drew Devault drewdevault.com

Drew Devault's unorthodox, branchless git workflow

In short, I use git branches very rarely, preferring to work on my local master branch almost every time. When I want to work on multiple tasks in the same repository (i.e. often), I just… work on all of them on master. I waste no time creating a new branch, or switching to another branch to change contexts; I just start writing code and committing changes, all directly on master, intermixing different workstreams freely. This reduces my startup time to zero, both for starting new tasks and revisiting old work.

If the blog post ended here, you might think Drew is crazy. But he goes on to explain how he uses rebase to clean things up before pushing upstream.

I enjoy hanging out on master quite a bit, myself. However, when I’m ready to take on something “big” or “gnarly” I don’t hesitate to git checkout -b and work from there.

Brandon Bayer github.com

Blitz.js — a Rails-like framework for full-stack React apps without an API

Brandon Bayer:

The central thesis is that most apps don’t need a REST or GraphQL API. Blitz brings back the simplicity of server rendered frameworks like Ruby on Rails while preserving everything we love about React.

Additionally, Blitz is bringing other Rails goodness that’s missing in the React ecosystem like file structure and routing conventions, a really nice console REPL, intelligent code-scaffolding, and a fine-tuned out-of-the-box setup with Prettier, Typescript, ESlint, Jest, Cypress, etc.

The framework ‘wars’ continue right alongside the monolith-vs-microservices debate. For more on the principles behind Blitz, check out the manifesto.

Manuel Vila freeCodeCamp

How to simplify full-stack development with a unified architecture

Manuel Vila, writing for freeCodeCamp:

In this article, I introduce the concept of “unified architecture” that dramatically simplifies the development of full-stack applications.

Indeed, this architecture unifies the six physical layers (data access, backend model, API server, API client, frontend model, and user interface) usually seen in “well-designed” applications into one single logical layer.

It is like going from a 3D world to a 2D world. Everything gets a lot easier.

That “unified architecture” manifests itself as Liaison, which we linked to last week and it caused some… controversy discussion. In this article, Manuel explains why Liaison is different than similar RPC things that came before it. Interesting stuff, to say the least.

Practical AI Practical AI #84

COVID-19 Q&A and CORD-19

So many AI developers are coming up with creative, useful COVID-19 applications during this time of crisis. Among those are Timo from Deepset-AI and Tony from Intel. They are working on a question answering system for pandemic-related questions called COVID-QA. In this episode, they describe the system, related annotation of the CORD-19 data set, and ways that you can contribute!

Luca Florio florio.dev

A letter to myself as a fresh software engineer

This “letter to self” from Luca Florio is a great example putting down in writing what you’re optimizing for and front loading (which we talk about on Brain Science) so that future you can make choices more easily.

Dear Self,

You just graduated and you are ready to start your career in the IT field. I cannot spoiler anything, but I assure you it will be an interesting ride. I’m writing you this letter because I want to give you some advice that will help you be a better professional. Nothing you won’t learn by yourself in the next few years, but it is something that I wish someone had told me when I started my career. They are not ordered by any means and are all equally important.

0:00 / 0:00