Sarah Drasner CSS-Tricks

Mistakes I've made as an engineering manager

Sarah Drasner:

I’ve been a manager for many years at companies of different scale. Through these experiences, I’ve done my share of learning, and made some mistakes along that way that were important lessons for me. I want to share those with you.

The four mistakes that Sarah details, which we can all learn from:

  1. Thinking people give feedback the way they want to receive it
  2. Trying to do everything yourself as a manager is the best way to help
  3. Communicating something one time is enough
  4. You have to have everything together all the time

JavaScript v8.dev

How the V8 team made JS calls faster with this clever trick

Victor Gomes details the elegant hack (in the best sense of the word) he and the V8 team came up with to significantly increase V8’s JavaScript function call performance (by up to 40% in some cases).

Until recently, V8 had a special machinery to deal with arguments size mismatch: the arguments adaptor frame. Unfortunately, argument adaption comes at a performance cost, but is commonly needed in modern front-end and middleware frameworks. It turns out that, with a clever trick, we can remove this extra frame, simplify the V8 codebase and get rid of almost the entire overhead.

A fascinating read and fantastic performance improvements for all to enjoy.

Martin Heinz martinheinz.dev

Building docker images the proper way

At this point probably everybody has heard about Docker and most developers are familiar with it, use it, and therefore know the basics such as how to build a Docker image. It is as easy as running docker built -t name:tag ., yet there is much more to it, especially when it comes to optimizing both the build process and the final image that is created.

The article goes on to cover caching, slimming, and securing your images so they’ll run faster and be less prone to abuse.

Opensource.com Icon Opensource.com

5 reasons why I love coding on Linux

Seth Kenlon:

It turns out that Linux is an excellent platform for programmers, both new and experienced. It’s not that you need Linux to program. There are successful developers on all different kinds of platforms. However, Linux has much to offer developers. Here are a few things I’ve found useful.

I switched from Linux to OS X macOS 15 years(ish) ago and I hadn’t looked back until the last year or two. It might be getting time to give Linux another shot. But which distro to choose?🤔

Ruby fastruby.io

Why wasn't Ruby 3 faster?

Noah Gibbs tries to reason through why some folks are disappointed in Ruby 3’s lack of speed improvements:

I think some of the problem was misplaced expectations. People didn’t understand what “three times faster” was supposed to mean. I don’t think people thought it through, but I also don’t think it was communicated very clearly.

So: some people understood what was promised, and some people didn’t.

What was promised?

I think Noah hits on a lot of solid points here.

Documentation matklad.github.io

Why you should have an ARCHITECTURE.md

If you maintain an open-source project in the range of 10k-200k lines of code, I strongly encourage you to add an ARCHITECTURE document next to README and CONTRIBUTING. Before going into the details of why and how, I want to emphasize that this is not another “docs are good, write more docs” advice. I am pretty sloppy about documentation, and, eg, I often use just “simplify” as a commit message. Nonetheless, I feel strongly about the issue, even to the point of pestering you:-)

The author points to rust-analyzer as a good example.

Google Icon Google

Google is funding rewrites of critical OSS projects in memory-safe languages

Dan Lorenc, from Google’s Infrastructure Security Team:

Software written in unsafe languages often contains hard-to-catch bugs that can result in severe security vulnerabilities, and we take these issues seriously at Google. That’s why we’re expanding our collaboration with the Internet Security Research Group to support the reimplementation of critical open-source software in memory-safe languages.

Notice he said “expanding our collaboration”, which must mean they’ve been doing this for a bit, but I wasn’t aware of the effort? An uplifting trend, regardless. Work is well underway:

The new Rust-based HTTP and TLS backends for curl and now this new TLS library for Apache httpd are an important starting point in this overall effort. These codebases sit at the gateway to the internet and their security is critical in the protection of data for millions of users worldwide.

Michael Irigoyen irigoyen.dev

Stop using icon fonts

Michael Irogoyen:

Continued use of icon fonts is a detriment to your visitors and a time-sink for you. By replacing your existing icon font implementation with SVG icons, you’re helping people utilizing assistive technologies, improving the quality, clarity, and reliability of your icons, and reducing your time to maintain legacy assets.

He makes a compelling case.

Andy Bell Smashing Magazine

Things you can do with CSS today

Andy Bell writing for Smashing Mag:

The present and future of CSS are very bright indeed and if you take a pragmatic, progressive approach to your CSS, then things will continue to get better and better on your projects, too. In this article, we’ll look into masonry layout, :is selector, clamp(), ch and ex units, updated text decoration, and a few other useful CSS properties.

Design geofcrowl.com

A collection of human interface and software design guides

Geof Crowl:

After posting about the OpenStep User Interface Guide, I started to wonder how many different human interface guides or software design guides that I could find from the past and present. It doesn’t seem like there’s a good collection of these anywhere on the internet, especially in regard to past software design guides. I think there’s a lot of value in these even outside of just being a historic reference.

An excellent starting place, whether you’re looking for help designing your UI or help designing your UI design guide.

0:00 / 0:00