Simone Magnaschi
Senior Full Stack Web Dev

Tagged Singletons -

I've added a pretty interesting feature to Tempest: tagged singletons. Let me give you the tl;dr: Tempest allows you to attach a tag to a singleton definition, which means you can have multiple singletons of the same class, as long as their tags differ.
Saved on: 2024-05-27

Essays on programming I think about a lot |

Every so often I read an essay that I end up thinking about, and citing in conversation, over and over again. Here’s my index of all the ones of those I can remember! I’ll try to keep it up to date as I think of more.
Saved on: 2024-05-27

string theory, the guitar kind

The same simulation is used to calculate audio & visuals. Plucking at different parts of the string produces different sounds, just like on a guitar.
Saved on: 2024-05-23

The curious case of the missing period

Recently during my 1 on 1 with my manager we talked about a current project that one of our other teams are working on. This sparked a memory from one of the previous projects I worked on long ago.  At the time the client used Microsoft Word templates with placeholders in the document.
Saved on: 2024-05-22

Rethinking Text Resizing on Web

Airbnb has made significant strides in improving web accessibility for Hosts and guests who require larger text sizes. Improving web accessibility is a critical priority at Airbnb, and we use the Web Content Accessibility Guidelines (WCAG) to help guide our compliance efforts.
Saved on: 2024-05-21

IBM and the Transformation of Corporate Design

Until the arrival of Elliot Noyes as IBM consulting director of design, IBM’s many office products were a confusion of styles: from 1930s-era punched card equipment—complete with steel Queen Anne legs—to room sized computers inflected with mid-century styling, festooned with tiny signal lamps.
Saved on: 2024-05-15

Optimizing PHP applications for performance — Mateus Guimarães

I recently posted this tweet and it kinda blew up. I was not expecting it, since I didn't do anything special. To give some context: this was for a legacy PHP application running on 5x t2.xlarge (8vCPUs, 32GB of RAM). Those are massive machines, and super oversized for the application's needs.
Saved on: 2024-05-07

Can I email…

Support tables for HTML and CSS in emails
Saved on: 2024-05-07

Why you should take a look at traefik, even if you don't use containers

Traefik got really popular over the last few years in the bubble of home-lab youtubers, that’s when I first heard about it.
Saved on: 2024-05-06

Time-based CSS Animations

In my earlier post Time Uniform For CSS Animation, I took a note about a way to do CSS animations with time ticks instead of keyframes. It was limited applicable because CSS lacked the ability of doing complex Math calculations.
Saved on: 2024-05-05

Master the Change

When we upgrade a new project to the best version possible, the latest PHP and framework versions, it's not only about changing syntax sugar to a more fancy one. It's about the vast focus shift in project management so far. It's a change to master.
Saved on: 2024-04-26

HTML attributes vs DOM properties

Attributes and properties are fundamentally different things. You can have an attribute and property of the same name set to different values. For example:
Saved on: 2024-04-25


This package aims to detect composer dependency issues in your project. This means you can safely add this tool to CI without wasting resources.
Saved on: 2024-04-23

Check out some examples

Dashboard, cards, authentication. Some examples built using the components. Use this as a guide to build your own.
Saved on: 2024-04-23

Inside the Super Nintendo cartridges

One of the exceptional characteristics of the Super Nintendo was the ability for game cartridges (cart) to pack more than instructions and assets into ROM chips. If we open and look at the PCBs, we can find inside things like the CIC copy protection chip, SRAM, and even "enhancement processors".
Saved on: 2024-04-22

Why you need a "WTF Notebook"

There's a very specific reputation I want to have on a team: "Nat helps me solve my problems. Nat get things I care about done." I keep a bullet journal.
Saved on: 2024-04-19

Caching secrets of the HTTP elders, part 1

There is no hard limit on table size in csvbase. Within reason, they can be as big as you like. And if you go off and run your own instance you can do whatever you want. Big Data isn't always Better Data, but it's nice to have the option.
Saved on: 2024-04-17

Use Your Potions and Scrolls

I find that when I play RPG games, I often hoard single-use items like potions and scrolls, saving them for some future critical moment. I finish games like Skyrim with a backpack full of unspent resources, reserved for a crisis that never actually arrives.
Saved on: 2024-04-17


This is the latest version of the Descent 3 source code. This includes the '1.5' patch that Jeff Slutter and Kevin Bentley several years ago. At the time, it worked for Windows, Linux, and Mac.
Saved on: 2024-04-17

I Nearly Died Drowning. Here’s What it’s Like to Survive.

This story was funded by our members. Join Longreads and help us to support more writers. Spring in Montana is a season of waiting, trapped in a limbo of rotten snow and inaccessible trails.
Saved on: 2024-04-17

This is a teenager

The world has a lot of compassion for kids. When we're young, we have so little control over their lives. We play around, mess up, and get into trouble. We also endure dysfunctional homes, family chaos, violence, bullies, and whatever else comes our way.
Saved on: 2024-04-16

StockTune: Free Music, Endless Possibilities

Move Your Audience with StockTune's Free Music Library. Download Premium Royalty-Free AI-generated Tracks. No Attribution Required!
Saved on: 2024-04-13

StockCake: Captivating Free Images for Every Occasion

Unleash Creativity with StockCake's Free Image Library. Download Free Photos for Commercial and Personal Use. No Attribution Required!
Saved on: 2024-04-13

A deeper dive into optimal PHP-FPM settings

In most cases, PHP-FPM settings aren't something an average developer would be in a position to examine more closely. That's ok; not everyone wants or has to spend time dealing with that kind of adjustment on the server. 
Saved on: 2024-04-09

How to think about HTML responsive images

The days with an immobilized knee are long and I’ve just read through the Images section of the HTML Standard, as one does, hoping to better understand how responsive images work. The term responsive image encompasses two complementary approaches.
Saved on: 2024-04-09

Lennon McLean

This article is written about a Hello World program written in C. This is about as high as you can go as a high-level language without having to worry about what your specific language is doing in the interpreter/compiler/JIT before your Hello World proper actually runs.
Saved on: 2024-04-09

27 Words You Should Never Use to Describe Yourself

Some are incredibly overused. Others just make you sound full of yourself. Either way, you lose.
Saved on: 2024-04-08

Mario meets Pareto

Finding the fastest driver is as simple as ranking them by their speed statistic. Here you might think that Bowser or Wario are a no-brainer. But you can't just rely on speed to find the optimal build. You have to consider one as well.
Saved on: 2024-04-05

Avoid blundering: 80% of a winning strategy

You have been told: Establish a vision. Set goals against the vision. Create actions that achieve the goals. Measure progress against the goals. I’ve told you that myself. It’s how you should plan work.
Saved on: 2024-04-03

The Rise and Fall of 3M’s Floppy Disk

If you ask the average person what the company 3M does, odds are if they have a few gray hairs hanging out on their scalp, they might say that the company makes floppy disks.
Saved on: 2024-04-03

A Deep Dive into Email Deliverability in 2024

Around 50 years ago, in October 1971, Ray Tomlinson, a graduate of MIT, sent the first email email over a network.. Last year, ~121 trillion emails were sent between ~4.3 billion people.
Saved on: 2024-04-01

For Brilliant Color: Packaging the First LSD Blotter

Eric Ghost's cleverly disguised LSD packaging mirrored the 1960s counterculture's psychedelic vision. The image that follows is not of actual Kodak film but rather of a clever and gently satiric stealth packaging for underground LSD made by the New Yorker Eric Ghost — aka Eric Brown — in 1968.
Saved on: 2024-03-25


_____ ______________ __________ ___________________ ___ | \ / \ | | | | | | | \_/ __ \_| __ | | ___ ___ |__| | | | | | | | | | | | | | | |\ /| |__| _ |__| |____| | | | | __ | | | \___/ | | \ | | | | | | | |___| |__________| \_____________________| |___| |___| |___| A data hoarder’s dream c
Tags: #tools #webdev
Saved on: 2024-03-25 - A pragmatic approach to modernizing legacy PHP code

I started this website to share some of my learnings and some of the pitfalls I've encountered while modernizing legacy PHP code (my clients' code as well as my own side projects). I ordered it in a way that I think makes sense, but feel free to jump around as you see fit. I hope you find it useful.
Saved on: 2024-03-20

A quick guide to JWTs in PHP – Rob Allen

The most common use of JWTs is as an authentication token, usually within an OAuth2 workflow. Creating these tokens is part and parcel of the authentication library that you use. To really understand JWTs, read RFC7519. For a more readable introduction, read the one on
Saved on: 2024-03-20

Spreadsheets are all you – A low-code way to learn AI

Spreadsheets-are-all-you-need implements the forward pass of GPT2 (an ancestor of ChatGPT) entirely in Excel using standard spreadsheet functions.
Saved on: 2024-03-15

PostgreSQL is eating the database world

PostgreSQL isn’t just a simple relational database; it’s a data management framework with the potential to engulf the entire database realm. The trend of “Using Postgres for Everything” is no longer limited to a few elite teams but is becoming a mainstream best practice.
Saved on: 2024-03-15

40 years of programming

In April, 1984, my father bought a computer for his home office, a Luxor ABC-802, with a Z80 CPU, 64 kilobytes of RAM, a yellow-on-black screen with 80 by 25 text mode, or about 160 by 75 pixels in graphics mode, and two floppy drives. It had BASIC in its ROM, and came with absolutely no games.
Saved on: 2024-03-13

Breaking Down Tasks

In a management group, someone asked for resources on teaching planning. I shared a link to this series on estimation, but quickly they came back and told me that there was something missing.
Saved on: 2024-03-12

How to Measure Your Type Coverage | Tomas Votruba

When we come to a new code base, we look for a code quality metric that will tell us how healthy the code base is. We can have CI tools like PHPStan and PHPUnit. PHPStan reports missing or invalid types, and PHPUnit reports failing tests.
Saved on: 2024-03-12


Bruno is a Fast and Git-Friendly Opensource API client, aimed at revolutionizing the status quo represented by Postman, Insomnia and similar tools out there. Bruno stores your collections directly in a folder on your filesystem.
Saved on: 2024-03-11

Powerful ASCII art editor designed for the Mac.

What are the system requirements? The app requires macOS 10.14 Mojave or later. If you're running an older version of macOS, you can download Monodraw v1.3 which only requires macOS 10.10 Yosemite.
Saved on: 2024-03-10

My talk on CSS runtime performance

This is one of my favorite talks I’ve ever given. It was the product of months (honestly, years) of research, prompted by a couple questions: To answer these questions (and more), I did a bunch of research into how browsers work under the hood.
Saved on: 2024-03-07

Interactive SQLite Documentation: Experiment with Queries in Real-Time!

At SQLite Cloud, we are dedicated to making database management as seamless and intuitive as possible.
Saved on: 2024-03-07


How I defeated Bob Dishwasher's detergent cartridge DRM to refill it at 1/60 of the cost of buying new. To get your own Bob Rewinder, visit here.
Saved on: 2024-03-07

Fonts are still a Helvetica of a Problem

At Canva, we’re continuously looking for ways to uplift the security of our processes, software, supply chain, and tools on our road to building the world’s most trusted platform. Canva processes millions of files across a broad range of graphics formats every day.
Saved on: 2024-03-06

Library of Juggling

What is it? The Library of Juggling is an attempt to list all of the popular (and perhaps not so popular) juggling tricks in one organized place. Despite the growing popularity of juggling, few websites are dedicated to collecting and archiving the various patterns that are being performed.
Saved on: 2024-03-05

CSS for printing to paper

At work, one of the things I do pretty often is write print generators in HTML to recreate and replace forms that the company has traditionally done handwritten on paper or in Excel.
Saved on: 2024-03-04


Explore your data with SQL. Easily create charts and dashboards, and share them with your team. Blazer is also available as a Docker image.
Saved on: 2024-02-28


CodeMate The Revolutionary Search Engine for Developers You may want to try
Saved on: 2024-02-27


Apache Superset is a modern data exploration and visualization platform StarWatchFork Overview Superset is fast, lightweight, intuitive, and loaded with options that make it easy for users of all skill sets to explore and visualize their data, from simple line charts to highly detailed geospatial ch
Saved on: 2024-02-27

Home Screen Advantage

After weeks of confusion and intentional chaos, Apple's plan to kneecap the web has crept into view, menacing a PWApocalypse as the March 6th compliance deadline approaches for the EU's Digital Markets Act (DMA).
Saved on: 2024-02-26

Narrowing types for static analysis | Jordi's Ramblings

I have spent the last year moving a few big old codebases, including Composer, to PHPStan's level 8. Here are a few lessons I think I have learned in the process. I still believe there is some truth to this, and going back and fixing things does take a conscious effort.
Saved on: 2024-02-24

(49) LARACON EU 2024 - YouTube

Amsterdam, Netherlands Muziekgebouw Feb 5-6, 2024 Laracon is an annual gathering of passionate web developers that love building software using Laravel. Whet...
Saved on: 2024-02-24

Lessons from my third year running a SaaS - Max Rozen

It all started three years ago when I shipped a minimum viable product (MVP) in a week, at least, I thought it was minimally viable. OnlineOrNot started as a toy - I had just learned how to use Next.
Saved on: 2024-02-24

Privacy Isn't Dead. Far From It. | Electronic Frontier Foundation

The fact that you’re reading this means that you probably care deeply about the issue of privacy, which warms our hearts.
Saved on: 2024-02-23

Solo dev for 15 years, I'll have a junior dev help me soon. What should he

Hi guys, here's a little bit of context : I've coded with notepad++ or equivalents for 15 years. I've discovered PHPStorm a year ago and it changed m
Saved on: 2024-02-21

Why is Prettier rock solid?

I've always wondered why Prettier is so good. Yes, it learnt from gofmt what to do. Yes, it was announced on a real life conference, which helped get the initial momentum behind it. All that is fine, but what was a bit inexplicable to me is its quality.
Saved on: 2024-02-20

A beginner’s guide to making beautiful slides for your talks ·

I’ve done quite a bit of conference speaking over the years, and I love designing slides and coming up with a new visual theme for each topic. It’s fun and keeps me motivated to put in the work and actually write my talks.
Saved on: 2024-02-19

UI = f(statesⁿ)

“UI is a function of state” is a pretty popular saying in the front-end world. In context (pun intended), that’s typically referring to application or component state. I thought I’d pull that thread a little further and explore all the states that can effect the UI layer…
Saved on: 2024-02-17

Popular git config options

As usual I got a TON of great answers and learned about a bunch of very popular git config options that I’d never heard of. I’m going to list the options, starting with (very roughly) the most popular ones. Here’s a table of contents:
Saved on: 2024-02-17

How analyzing your codebase can save you time and money

A comprehensive guide about hotspots in your codebase, cognitive complexity and avoiding disasters by being proactive. An article inspired by the book “Your Code as a Crime Scene” by Adam Tornhill with practical examples.
Saved on: 2024-02-15

Component Party

Component party github Reactivity# Declare state# Update state# Computed state# Templating# Minimal template# Styling# Loop# Event click# Dom ref# Conditional# Lifecycle# On mount# On unmount# Component composition# Props# Emit event# Slot# Slot fallback# Form input# Input text# Checkbox# Radio# Sel
Saved on: 2024-02-14

Is something bugging you?

It’s pretty weird for a startup to remain in stealth for over five years.
Saved on: 2024-02-13

SSH Port

The default SSH port is 22. It is not a coincidence. This is a story of how it got that port. When I (Tatu Ylonen first published this story in April 2017, it went viral and got about 120,000 readers in three days.
Saved on: 2024-02-12


The font for those who like Monocraft but want to be able to read what they type! Follow me for updates on this and other projects!
Saved on: 2024-02-12

(Almost) Every infrastructure decision I endorse or regret after 4 years ru

I’ve led infrastructure at a startup for the past 4 years that has had to scale quickly. From the beginning I made some core decisions that the company has had to stick to, for better or worse, these past four years.
Saved on: 2024-02-10

One Minute Focus

Look at the dot (and breathe) for just 1 minute to improve mental focus for your next task About
Saved on: 2024-02-07

About pandoc

If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc can convert between the following formats: → via pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, prince, pagedjs-cli, context, or pdfroff.
Saved on: 2024-02-02

The business of check cashing

Happy 2024! I had been hoping to have a year-in-review for 2023 ready by now, but a combination of illness and travel bushwacked me in January. So instead of that, we’ll go with regular programming for today and return to that later.
Saved on: 2024-01-31


Things that are three digits? All images are public domain or creative commons images.
Saved on: 2024-01-31

Variable Fonts (v0.2)

⚠️ Notice: As a showcase of variable fonts, this site requires a web browser that supports OpenType font variation technology. It looks like your browser doesn’t, so please consider upgrading to one that does (the latest versions of Chrome work well, even on older operating systems).
Saved on: 2024-01-29

I looked through attacks in my access logs. Here's what I found

I've been self-hosting for over a decade. It's freeing because I own my data, and do not depend on any platform other than my cloud host, which I can easily switch off. Self-hosting gives much insight into what it takes to run a cloud service.
Saved on: 2024-01-28

Tips for optimizing integration tests

While unit tests are known for their speed compared to integration tests, the latter offer heightened confidence in the system’s functionality.
Saved on: 2024-01-26

Code of Conduct

Here is the Code of Conduct for Improbable Island There are four rules - be kind to others, be kind to yourself, be kind to the game, and be kind to the staff.
Saved on: 2024-01-26

Python & JavaScript Libraries

Both libraries make it possible to integrate new and existing apps with Ollama in a few lines of code, and share the features and feel of the Ollama REST API. Both libraries support Ollama’s full set of features. Here are some examples in Python:
Saved on: 2024-01-25

Modernize Symfony Configs

Symfony configuration is one of the changes that are difficult to spot until they're removed in the next major version. Then you must Google the "invalid option id error message" and hope for a solution. That doesn't sound like an excellent way to spend your weekend, does it?
Saved on: 2024-01-24

Why You Want React Query

It's no secret that I ❤️ React Query for how it simplifies the way we're interacting with asynchronous state in our React applications. And I know a lot of fellow devs feel the same.
Saved on: 2024-01-23


LoaderShip is the ultimate CSS-only loader configuration tool that allows you to effortlessly customize and generate stunning loaders for your website. Simply Copy & Paste without any installation or dependency hassle.
Saved on: 2024-01-19

Slashing Data Transfer Costs in AWS by 99% · Bits and Cloud

There are lots of ways to accidentally spend too much money on AWS, and one of the easiest ways is by carelessly transferring data. As of writing, AWS charges the following rates for data transfer: Data transfer from AWS to the public Internet ranges from $0.09/GB in us-east-1 (N. Virginia) to $0.
Saved on: 2024-01-15

git branches: intuition & reality

Hello! I’ve been thinking about git branches a lot, and I keep hearing from people that they find the way git branches work to be counterintuitive. It got me thinking: what might an “intuitive” notion of a branch be, and how is it different from how git actually works?
Saved on: 2024-01-15

3 Signs Your Project is Becoming Legacy - Arrays Creep

In the first post, we looked at the long-term effects of our decisions. Turning a legacy project into a fresh one is a matter of the "just do it" approach. But there are 3 things we should take with care even if our project seems outside the legacy project category. First of those are arrays.
Saved on: 2024-01-09

How Google perfected the web

As the 14th season of Bravo’s Real Housewives of New York City came to a close this fall, I found myself on Reddit, reading rumors about the marriage and divorce timeline of one of the show’s stars.
Saved on: 2024-01-08

HTMX Playground

A simple code sandbox for playing around with HTMX. No setup needed! It allows you to write code in a backend-like environment, running entirely inside the browser. You can define endpoints within server.js and render your own templates.
Saved on: 2024-01-08

An app can be a home-cooked meal

Have you heard about this new app called BoopSnoop? It launched in the first week of January 2020, and almost immediately, it was down­loaded by four people in three different time zones.
Saved on: 2024-01-05

Paper Sizes and Formats Explained: The Difference Between A4 and Letter

The North American paper sizes are based on traditional formats with arbitrary aspect ratios. The most popular formats of the traditional sizes are the Letter (8.5 × 11 inches), Legal (8.5 × 14 inches) and Tabloid (11 × 17 inches) formats.
Saved on: 2024-01-05

Building Maintainable PHP Applications: Over-engineering vs under-engineeri

Overengineering (or over-engineering) is the act of designing a product or providing a solution to a problem in an elaborate or complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.
Tags: #programming
Saved on: 2023-12-31

10 reasons why Unpoly may be a better choice than htmx | Matteo Contrini

There’s been a trend of developers discovering multi-page applications (MPA) again lately, this time with the help of some JavaScript libraries that add interactivity without having to create a single-page application (SPA).
Saved on: 2023-12-27

Architetture dimenticate: la stazione di servizio AGIP che sembra una navic

Continua il racconto dedicato alle architetture dimenticate, Forgotten Architecture. Oggi parliamo di uno dei primi progetti “dimenticati” di cui mi sono innamorata, l’ex stazione AGIP di viale Certosa, che fa angolo con viale Espinasse.
Tags: #art
Saved on: 2023-12-27

Reminiscing CGI scripts

I’ve always had a thing for old-school web tech. By the time I joined the digital fray, CGI scripts were pretty much relics, but the term kept popping up in tech forums and discussions like ghosts from the past.
Saved on: 2023-12-27

A List of Hacker News's Undocumented Features and Behaviors

Hacker News, a simple link aggregator owned and operated by Silicon Valley startup incubator Y Combinator, has had many positive effects on SV startups and engineers as a whole.
Saved on: 2023-12-27

10 Things Software Developers Should Learn about Learning

Learning is necessary for software developers. Change is perpetual: New technologies are frequently invented, and old technologies are repeatedly updated.
Saved on: 2023-12-27

Hacking htmx applications

With the normal flow of frontend frameworks moving from hipster to mainstream in the coming few months, during a test, you bump into this strange application that receives HTML with `hx-` attributes in responses.
Saved on: 2023-12-23

10 Tips For Building SSR/HDA applications

Building web applications using traditional Server-Side Rendering (SSR) or, saying the same thing another way, building Hypermedia-Driven Applications (HDAs) requires a mindset shift when compared with building web applications with Single Page Application frameworks like React.
Saved on: 2023-12-22

Introducing the new Wasmer JS SDK

Dive into a world where running any WASI and WASIX package in your browser is a breeze. Whether it's Python, Bash, FFmpeg, or any package published in the registry, Wasmer Javascript SDK makes it all seamlessly possible.
Saved on: 2023-12-22