Simone Magnaschi
Senior Full Stack Web Dev


From a trash-filled Earth to the futuristic Axiom and back again, WALL·E is a finely crafted balance between consumerist dystopia and sixties space-race optimism.
Saved on: 2024-07-12

The installation and documentation of koel

My laptop went out of disk space – thank you, Parallels. My phone had only 16GB of storage. And I still had a good 40GB of mp3 stored in my external hard drive.
Saved on: 2024-07-12

A Guide to PHP Attributes | Ash Allen Design

When building web applications in PHP, there may be times when you want to add metadata to annotate your code that can be read by other parts of your application.
Saved on: 2024-07-03

The Super Effectiveness of Pokémon Embeddings Using Only Raw JSON and Image

Embeddings are one of the most useful but unfortunately underdiscussed concepts in the artificial intelligence space relative to the modern generative AI gigahype.
Saved on: 2024-07-01

These Stunning Butterflies Flew 2,600 Miles Across the Atlantic Ocean Witho

Gerard Talavera was walking on a beach in French Guiana in October 2013 when he came across a spectacle that stopped him in his tracks: about ten butterflies fluttering around with tattered wings. These were not just any butterflies.
Saved on: 2024-07-01

A Model of a Mind

\(\newcommand{\customstrut}{}\) \(\newcommand{\crossedouty}{\dot y \kern -5pt \scriptscriptstyle{\diagup\atop\vphantom{y}}}\) \(\newcommand{\crossedoutone}{\dot 1 \kern -5pt {\scriptscriptstyle{\diagup\atop\vphantom{\textstyle 1}}}}\) \(\newcommand{\crossedouttwo}{\dot 2 \kern -5pt {\scriptscriptsty
Saved on: 2024-07-01

Adding PHPStan to a legacy project | BackEndTea

PHPStan is a static analysis tool for PHP. It helps you find problems in your code base, like passing wrong types, calling methods that don’t exist, detect wrong annotations, and so much more.
Saved on: 2024-06-29


Sean Endicott quoted a CNBC interview with Microsoft’s CEO of AI, and it’s nothing if not entertaining! “With respect to content that is already on the open web, the social contract of that content since the 90s has been that it is fair use.
Saved on: 2024-06-29

The World's Fastest Voice Bot Demo

A demo showcasing the potential capabilities of voice-driven AI chatbots when optimized and deployed to minimize network and model latency.
Saved on: 2024-06-27

Table of Contents

Corcel is a collection of PHP classes built on top of (from framework), that provides a fluent interface to connect and get data directly from a database.
Saved on: 2024-06-27

The story of Jim Phillips' Screaming Hand

Jim Phillips is one of the most iconic skateboard artists in the history of the sport. The graphic designer created the famous "Screaming Hand." Jim Phillips was born in San Jose, California, in 1944. Phillips grew up as an Army brat and moved from place to place until he was six years old.
Saved on: 2024-06-26

The many faces of undefined in JavaScript

But in the end, you have to use this language and you can’t avoid undefined values. Here are some things I’ve found that can limit the exposure to the defects created by the many faces of undefined.
Saved on: 2024-06-26

Synthesizer for thought |

I share new posts on my newsletter. If you liked this one, you should consider joining the list. Have a comment or response? You can email me.
Saved on: 2024-06-24


llama.ttf is a font file which is also a large language model and an inference engine for that model. Ehm, what? llama.ttf is a font file which is also a large language model and an inference engine for that model.
Saved on: 2024-06-24

Introducing Type Perfect for extra Safety

When dealing with legacy, we first focus on safety by knowing the important types. Code must have reliable type declarations to be refactored safely. Over time, we've been adding our custom rules to address PHPStan blind spots first. Today, we're proud to publish them in one solid package.
Saved on: 2024-06-20


Make music in the browser by letting balls clash, setting key, mode, gravity, speed... MIDI enabled.
Saved on: 2024-06-19

Monads are like burritos

At first I thought the choice of burritos was only a facetious reference to the peculiar and sometimes strained analogies these tutorials make. But then I realized that monads are like burritos.
Saved on: 2024-06-02

?️ Hi.Events: Open-source event ticketing application built using Laravel

Hey all 👋 Over the last year I've been working on an open-source ticketing application. It's finally somewhat useable, so I thought I'd share. [h
Saved on: 2024-06-01

Things you wish you didn't need to know about S3

Let’s try all the different S3 encryption options, see why it’s more like access control than encryption, and why that matters. What happens when marketing and cloud security get together without supervision? Enjoy our review of cloud security marketing material.
Saved on: 2024-05-31

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