Chris Fidao

Mistakes I've made in AWS

Chris Fidao:

I’ve been using AWS “professionally” since about 2015. In that time, I’ve made lots of mistakes.

Other than occasionally deleting production data, the mistakes all arose from ignorance - there’s so much to know about AWS that it’s easy to miss something important.

Here’s a collection of the most commonly missed things when using AWS with Laravel Forge!

Learning from your mistakes is powerful. Learning from other people’s mistakes can be just as powerful without the major drawback of, you know, feeling all that pain!

Jonas Lundberg

Ain is a terminal API client (alternative to Postman, Paw, Insomnia)

Ain was born out of the frustration of working with many API endpoints in GUI clients.

While pretty, I could’t use any shell-scripts or commands such as uuidgen as input to the endpoints without copy pasting from a terminal. And I had to copy-paste the resulting output back into the terminal to further slice and dice it.

I had become a human pipe and my ctrl+c, ctrl+v fingers were hurting. By using curl and/or httpie for the heavy lifting, Ain removes you from the piping of input and output. With Ain, you can:

  • Organize API endpoints using files and folders
  • Use shell-scripts and executables anywhere
  • Put things that change in environment-variables or .env files
  • Share the resulting curl or http(ie)-call with friends and foes
  • Pipe any output for further processing

Cory Etzkorn

Notion's journey to Next.js

What Vercel has enabled teams to do with Next.js is next level, and it’s truly evident when you read stories like this one from Cory Etzkorn on Notion migrating their marketing site to Next.js.

We rebuilt our entire marketing site from scratch, choosing to go with a statically generated architecture over our former purely client-rendered approach. Two months and 109 React components later, we’ve now fully migrated to our framework of choice, Next.js, and couldn’t be happier with our decision. Here’s how we got there.

Notion's journey to Next.js


I ruin developers’ lives with my code reviews and I'm sorry

This post is a confession of an “egocentric maniac” (his words) and how damaging code review can be:

This review I kicked off the article with? I didn’t send it. Instead I gave the guy a couple of comments and politely asked to fix a couple of things. No big deal if the code’s not good, I can fix it myself it I need to. But I can’t fix the psyche of a guy broken by dozens of harsh reviews.

My personality today isn’t my disease. It’s a disease of the whole industry, at least in Russia. Our mentality is predicated on the cult of power and superiority. And that’s what we need to fix: just stop being that. It’s quite easy, actually.

Emma Hyde Medium

Ruby is still a diamond

Emma Hyde:

I have seen a staggering amount of Ruby is Dead missives in the last few years, and a decline, or at least, an often discussed decline, of the language’s popularity and ranking. But what makes Ruby so much worse than other languages?

She goes on to discuss how Ruby 3.0 addresses two of the most criticized elements of Ruby: its ability to handle processes simultaneously and and its overall performance.


Harbormaster – easily deploy many Docker-Compose apps on a single host

Here’s their pitch:

Do you have a home server you want to run a few apps on, but don’t want everything to
break every time you upgrade the OS? Do you want automatic updates but don’t want to buy
an extra 4 servers so you can run Kubernetes?

Do you have a work server that you want to run a few small services on, but don’t want
to have to manually manage it? Do you find that having every deployment action be in
a git repo more tidy?

Harbormaster is for you.

You create a YAML config file with all the git repos you want it to include and it’ll watch them for changes (on a timer) and do the necessary cloning/pulling, service restarting, etc. that needs doing to make it all run. Simple. Neat!


A highly customizable and lightweight framework for crafting Go CLIs

Nice is a highly customizable and lightweight framework for crafting CLI apps.

Nice respects idiomatic Go code and focuses to be clear, efficient and easy to write and maintain.

You can use it as a full-featured non-opinionated framework or use any nice packages as stand-alone libraries.

I’m a big fan of the similar projects section in the README. Classy!

A highly customizable and lightweight framework for crafting Go CLIs


Why you should be deploying Postgres primarily on Kubernetes

This is a ~15 minute presentation (with transcript) by Álvaro Hernández at a Data on Kubernetes Community event about why he believes Kubernetes solves a big problem with running Postgres in production.

Running a Postgres installation, with or without containers, is trivial. However, setting up a production environment is a whole different matter. Postgres is not by itself a production-ready software: it requires a set of side tools to complement its functionality: connection pooling, monitoring, backup tools, high availability software, you name it. This is called the “Stack Problem”. This brief talk discusses the Stack Problem, understanding how Kubernetes is the platform that best solves it, and what the main advantages (and disadvantages!) are of running Postgres on Kubernetes.

Craig Kerstiens

Postgres 14: it's the little things

Craig Kerstiens on the little wins coming in Postgres 14, which is scheduled for the end of September:

Postgres is, and for some time will continue to be, the first database I turn to. As Postgres focuses on the little things, it just deepens my commitment to it. Why look elsewhere when the bond just grows over time? So today I wanted to call some extra attention to those little things, the ones that don’t get the spotlight, but simply make a developer’s life better.

He goes on to highlight the JSON syntax improvements, read-only roles, what’s new in psql, and more.


A tool like jq, but for HTML

htmlq uses CSS selectors to extract bits of content from HTML files. Mozilla’s MDN has a good reference for CSS selector syntax.

This looks super handy. Examples!

// Find part of a page by ID
curl --silent | htmlq '#get-help'

// Find all links in a page
curl --silent | htmlq --attribute href a

// Get the text content of a post
curl --silent | htmlq  --text .main

Aftab Alam

Get up & running with Astro

This is part 1 of a 5-part series on learning Astro, a new-kid-on-the-block static site builder that’s capturing the hearts of web developers due to its Bring Your Own Framework (BYOF) approach and Zero Emitted JS (ZEJS?) by default.

Throughout this series, I’ll walk you, step-by-step, through building an Astro-based blog(codenamed: Astro-Ink). You’ll discover more of Astro, its benefits, and super-interesting constructs and patterns that Astro brings to the table.

Martin Heinz

A solution to software supply chain security

In the recent months there’s been a lot of noise in the area of supply chain security because of increase in attacks, with notable ones like Microsoft Exchange Server or SolarWinds breach. These attacks could have been prevented with proper tools in place, yet finding the right tool for the job might be difficult as this area is hard to navigate and most of us - developers - aren’t security experts. There’s however a project that can solve this. Its name is sigstore and in this article we will look at what it does, why we need it and how it fits into landscape of existing tools in this area.

0:00 / 0:00