The case for location-independent salaries

Miguel Carranza from RevenueCat lays out why he and his co-founder decided to provide equal compensation for the same role regardless of location. Here’s the bullet points of their reasoning:

  • The quality of the work is equivalent
  • Immigration can be a challenge
  • Keeping up with the competition
  • It’s simpler
  • It’s part of our company mission

Read his post for the details along with some downsides of this approach.

Cockroach Labs Icon Cockroach Labs – Sponsored

How to store billions of files with CockroachDB and Kubernetes

logged by @logbot permalink

Optimal Systems came to CockroachDB with the best kind of problem: they had become too successful. Optimal was founded in 1991 to meet the European Space Agency’s need to archive its satellite photos. Decades of successful growth saw the storage product they built for the ESA evolve and expand to serve clients in more than 30 countries. In the past few years, as new customers continued to sign on, Optimal Systems realized that their success was outpacing their system. They needed to modernize their infrastructure to keep up.

They looked at Google Spanner, which led them to investigate CockroachDB. Once they did, they saw that CockroachDB offered everything they were looking for.

Get Started with CockroachDB for free

Chris Coyier CSS-Tricks

Images are hard.

I believe Chris Coyier put that period at the end of this post title for a reason:

Putting images on websites is incredibly simple, yes? Actually, yes, it is. You use <img> and link it to a valid source in the src attribute and you’re done. Except that there are (counts fingers) 927 things you could (and some you really should) do that often go overlooked. Let’s see…

He goes on to list 15 bullet points of things to consider. This images situation is actually a microcosm of the web (and all software?) itself: it appears easy/simple at first, but the deeper you go, the more dizzying the depth.

Ship It! Ship It! #11

Honeycomb's secret to high-performing teams

Gerhard talks with Charity Majors, ops engineer and accidental startup founder at about high-performing teams, why “15 minutes or bust,” and how we should start using Honeycomb in our own monolithic Phoenix app that runs There is just one step, and it’s actually really simple!

They also talk about how Honeycomb uses Honeycomb to learn about Honeycomb, which is one of Gerhard’s favorite questions. As for key take-aways, deploying straight into production is really important, but not as important as optimising for humans - which are not replaceable cogs, that learn and share their learnings continuously. That is the secret to making things easy and happy for everyone.

Go Time Go Time #189

Do devs need a product manager?

What is a Product Manager, and do Engineers need them? In this episode, we will be discussing what a Product Manager does, what makes a good Product Manager, and debating if engineering teams truly need them, with some tech companies going without them. We are joined by Gaëlle Sharma, Senior Technical Product Manager, at the New York Times, leading the Identity group.

Teleport Icon Teleport – Sponsored

Comparing SSH keys - RSA, DSA, ECDSA, or EdDSA?

logged by @logbot permalink

What’s worse than an unsafe private key? An unsafe public key.

The “secure” in secure shell comes from the combination of hashing, symmetric encryption, and asymmetric encryption. Together, SSH uses cryptographic primitives to safely connect clients and servers. In the 25 years since its founding, computing power and speeds in accordance with Moore’s Law have necessitated increasingly complicated low-level algorithms.

As of 2020, the most widely adopted asymmetric crypto algorithms in the PKI world are RSA, DSA, ECDSA, and EdDSA. So which one is best? Well, it depends.


Windows 11 in React

This open source project is made in the hope to replicate the Windows 11 desktop experience on web, using standard web technologies like React, CSS (SCSS), and JS.

The project description says “in React”, but the source code is comprised of 93.5% CSS. I love this portion of the README that addresses why the author built it (I assume they get this question a lot).

WHY NOT? Why not just waste a week of your life creating a react project just to coverup your insecurities of how incompetent you are. Just Why not!

Windows 11 in React

Brad Van Vugt

Controlling a battlesnake with a webcam, Replit, and your face

Battlesnake’s Brad Van Vugt:

This past spring on Coding Badly, Joe and I, for whatever reason, challenged ourselves to build a camera-controlled Battlesnake. The result was “Facesnake” – a Battlesnake controlled in real-time using your face and webcam. This post outlines how we built it using Replit and tracking.js :-)

You can also jump straight to the source code or watch Facesnake in action here.


No, we don’t use Kubernetes

At Ably, we run a large scale production infrastructure that powers our customers’ real-time messaging applications around the world. Like in most tech companies, this infrastructure is largely software-based; also like in most tech companies, much of that software is deployed and runs in Docker containers.

As you might expect if you’ve been following the technology scene at all, the following question comes up a lot:

“So… do you use Kubernetes?”

Ably doesn’t, and Maik explains in this artiicle why.

We talked with @lawik about the same topic a few weeks back on Ship It! #7. We even did a follow-up YouTube stream. I think that a conversation with Maik would be really interesting 🎙


Generating JSON directly from Postgres

Too often, web tiers are full of boilerplate that does nothing except convert a result set into JSON. A middle tier could be as simple as a function call that returns JSON. All we need is an easy way to convert result sets into JSON in the database.

PostgreSQL has built-in JSON generators that can be used to create structured JSON output right in the database, upping performance and radically simplifying web tiers. Fortunately, PostgreSQL has such functions, that run right next to the data, for better performance and lower bandwidth usage.

I certainly wouldn’t advise this in many (most?) scenarios, but I can see a time and a place where “cutting out the middle man” would be quite advantageous, indeed. Keep it simple. Keep it lean.

Alex Ellis

The Internet is my computer

In 1984 John Gage of Sun Microsystems was credited as saying “The Network is the computer.” Almost four decades ago, John had a vision of distributed systems working together to be greater than the sum of their parts.

For this article, I surveyed the land of hosted IDEs and it turns out that we’ve progressed beyond running VS Code on an iPad whilst sipping a cocktail.

You can still do that, but there’s way more to it today and I’ll take you through some of use-cases and add my own thoughts. There’s also a practical guide at the end to get started with the open source VS Code browser by Coder.

Command line interface

Slice and dice logs on the command line with Angle Grinder

Angle-grinder allows you to parse, aggregate, sum, average, min/max, percentile, and sort your data. You can see it, live-updating, in your terminal. Angle grinder is designed for when, for whatever reason, you don’t have your data in graphite/honeycomb/kibana/sumologic/splunk/etc. but still want to be able to do sophisticated analytics.

Angle grinder can process well above 1M rows per second (simple pipelines as high as 5M), so it’s usable for fairly meaty aggregation. The results will live update in your terminal as data is processed. Angle grinder is a bare bones functional programming language coupled with a pretty terminal UI.

I’m not gonna lie, they had me with the name on this one.

Slice and dice logs on the command line with Angle Grinder
0:00 / 0:00