Tagged Singletons - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2024-05-27
Essays on programming I think about a lot | benkuhn.net
Computers can be understood • Choose Boring Technology • The Wrong Abstraction • Falsehoods Programmers Believe About Names • The Hiring Post • The Product-Minded Engineer • Write code that is easy to delete, not easy to extend • The Law of Leaky Abstractions • Reflections on software performance • Notes on Distributed Systems for Young Bloods • End-to-End Arguments in System Design • Inventing on Principle
Saved
on: 2024-05-27
string theory, the guitar kind
This is an interactive string simulator that uses basic Fourier math to generate audio & visuals according to where on the string you pluck from. The audio math is done on the GPU in WebGL
Saved
on: 2024-05-23
The curious case of the missing period
When Simple Mail Transfer Protocol is not simple
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…
Saved
on: 2024-05-21
IBM and the Transformation of Corporate Design
When IBM hired designers in the 1950s to shape how the public would see the new computing technology, the tech giant changed modern corporate branding forever.
Saved
on: 2024-05-15
Optimizing PHP applications for performance — Mateus Guimarães
A quick guide on how to set up OPCache and fine-tune PHP-FPM.
Saved
on: 2024-05-07
Why you should take a look at traefik, even if you don't use containers
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.
After years of wait, CSS now has enough Math functions supported,
particularly mod(), round(),
and trigonometric functions.
It's time to revisit the time-based way of animation, hope it'll be more useful this time.
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. I want to share the basic rules we apply to make the "impossible" upgrades successful and steady.
Saved
on: 2024-04-26
HTML attributes vs DOM properties
They're completely different, but often coupled.
Saved
on: 2024-04-25
shipmonk-rnd/composer-dependency-analyser
🚀 Fast detection of composer dependency issues (unused dependencies, shadow dependencies, misplaced dependencies) - shipmonk-rnd/composer-dependency-analyser
Saved
on: 2024-04-23
Check out some examples
Saved
on: 2024-04-23
Inside the Super Nintendo cartridges
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."
Saved
on: 2024-04-19
Caching secrets of the HTTP elders, part 1
ETags - an elegant weapon, for a more civilised age
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. What’s the point, then, of all these items?
Just like I save items in games, in real life I too am reluctant to ask for favors or promote my own projects. (Sometimes I even save all my favourite treats and I never eat the last one). I treated these social and professional resources as if they were single-use “magical items”, not to be wasted but reserved for some important-yet-undefined future magnum opus event.
Recently I played Baldur’s Gate 3 and I decided to try something new: I would actually gasp use my items as needed, as they were intended, without undue reservation. Not only was it actually fun to use my fireball scrolls and blow stuff up, but I also discovered new layers and hidden quests. For instance, using a ‘Speak with the Dead’ scroll on a certain suspicious corpse unveiled a questline I would have otherwise missed.
Saved
on: 2024-04-17
I Nearly Died Drowning. Here’s What it’s Like to Survive.
On coming to terms with a near-death experience.
Saved
on: 2024-04-17
This is a teenager
Watch hundreds of teenagers grow up into adults – and see how their lives turn out
Saved
on: 2024-04-16
StockTune: Free Music, Endless Possibilities
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. Explore Free Stock Photos at StockCake: Quality & Variety! Stock Cake.
Saved
on: 2024-04-13
A deeper dive into optimal PHP-FPM settings
PHP-FPM config files usually aren't something that you give too much attention to until something goes wrong. Here's what you can do when that time comes.
Saved
on: 2024-04-09
How to think about HTML responsive images
srcset, sizes, picture, source, and how they all fit.
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
Discover how to find the best Mario Kart 8 build using the Pareto frontier method. This interactive guide explores multi-objective optimization of speed, acceleration, and other key stats to help you beat your friends on the race track.
Saved
on: 2024-04-05
Avoid blundering: 80% of a winning strategy
Why do startups typically fail? It turns out that "avoiding those things" is already a plan for success.
Saved
on: 2024-04-03
The Rise and Fall of 3M’s Floppy Disk
The high-profile creator of magnetic media gave it up nearly three decades ago
Saved
on: 2024-04-03
A Deep Dive into Email Deliverability in 2024
In this post we cover the new email deliverability guidelines for Gmail and Yahoo.
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.
Saved
on: 2024-03-25
Y2Z/monolith
⬛️ CLI tool and library for saving complete web pages as a single HTML file - Y2Z/monolith
Saved
on: 2024-03-25
php.hospital - A pragmatic approach to modernizing legacy PHP code
A pragmatic approach to modernizing legacy PHP code
Saved
on: 2024-03-20
Spreadsheets are all you need.ai – A low-code way to learn AI
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
Saved
on: 2024-03-13
Breaking Down Tasks
Something missing from this series on estimation, until now, has been a discussion of how to “break down” a project into a well-defined task list. I’d not previously written about this because, to me, it’s largely intuitive. But it isn’t for everyone, so this post fills the gap, and explains in detail how I break down projects into a task list.
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.
But how do we know if 10 passing or 100 passing tests is enough? What if there are over 10 000 cases we should test?
Saved
on: 2024-03-12
bruno
Saved
on: 2024-03-11
Powerful ASCII art editor designed for the Mac.
Saved
on: 2024-03-10
My talk on CSS runtime performance
A few months ago, I gave a talk on CSS performance at performance.now in Amsterdam. The recording is available online: (You can also read the slides.) This is one of my favorite talks I’ve ev…
Saved
on: 2024-03-07
Guitar chords search VanillaJS | Typesense
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. Today, we are thrilled to unveil a groundbreaking addition to our platform - the Interactive SQLite Documentation! Now, alongside our comprehensive...
Saved
on: 2024-03-07
dekuNukem/bob_cassette_rewinder
Renew and Refill Bob Cassettes for 98% Cost Saving! - dekuNukem/bob_cassette_rewinder
Saved
on: 2024-03-07
Fonts are still a Helvetica of a Problem
CVEs in three strange places and the unique problem of safely processing and handling fonts.
Saved
on: 2024-03-06
Library of Juggling
Saved
on: 2024-03-05
CSS for printing to paper
Saved
on: 2024-03-04
https://blog.ayjay.org/the-real-value-of-a-catholic-modernity/
Saved
on: 2024-02-28
Paged.js — Made with paged.js
Saved
on: 2024-02-27
CodeMate
Saved
on: 2024-02-27
Welcome
Community website for Apache Superset™, a data visualization and data exploration platform
Saved
on: 2024-02-27
Infrequently Noted
Cupertino's attempt to scuttle Progressive Web Apps under cover of chaos is exactly what it appears to be: a shocking attempt to keep the web from ever emerging as a true threat to the App Store and blame regulators for Apple's own malicious choices. By hook or by crook, Apple's going to maintain its home screen advantage.
Saved
on: 2024-02-26
Narrowing types for static analysis | Jordi's Ramblings
Lessons learned migrating big old codebases to strict PHPStan configs
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
I've run this business for three years now, and I'm only just now starting to *get it*.
Saved
on: 2024-02-24
Privacy Isn't Dead. Far From It. | Electronic Frontier Foundation
Welcome! The fact that you’re reading this means that you probably care deeply about the issue of privacy, which warms our hearts. Unfortunately, even though you care about privacy, or perhaps because you care so much about it, you may feel that there's not much you (or anyone) can really do to...
Saved
on: 2024-02-23
Solo dev for 15 years, I'll have a junior dev help me soon. What should he
Saved
on: 2024-02-21
Why is Prettier rock solid?
Saved
on: 2024-02-20
A beginner’s guide to making beautiful slides for your talks · ines.io
I love designing slides for my talks, so here are some of my not-so-secret secrets and three beginner-friendly steps for how you can up your slides game.
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
Saved
on: 2024-02-17
(37) PHP UK Conference 2024 - YouTube
Share your videos with friends, family, and the world
Saved
on: 2024-02-16
How analyzing your codebase can save you time and money
Saved
on: 2024-02-15
Component Party
Web component JS frameworks overview by their syntax and features: Svelte 5, React, Vue 3, Angular Renaissance, Angular, Lit, Ember Octane, Solid.js, Svelte 4, Vue 2, Alpine, Ember Polaris, Mithril, Aurelia 2, Qwik, Marko, Aurelia 1
Saved
on: 2024-02-14
Is something bugging you?
At first glance, Antithesis couldn’t be more different from FoundationDB (our last company), but it’s a continuation of that story in a funny sort of way.
Saved
on: 2024-02-13
SSH Port
The SSH port is 22. This is the story of how it got that port number. And practical configuration instructions.
Saved
on: 2024-02-12
IdreesInc/Miracode
A sharp, readable, vector-y version of Monocraft, the programming font based on Minecraft - IdreesInc/Miracode
Saved
on: 2024-02-12
(Almost) Every infrastructure decision I endorse or regret after 4 years ru
Assortment of technology startup infrastructure recommendations
Saved
on: 2024-02-10
One Minute Focus
Science backed method to leverage focusing visually for 1 minute to increase mental/cognitive focus
Saved
on: 2024-02-07
About pandoc
Saved
on: 2024-02-02
The business of check cashing
Check cashing, as a business, is a poorly understood "alternative" financial service.
Saved
on: 2024-01-31
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. Anyone who's had some practice doing this will likely tell you that the internet is a dangerous place.
🖖If you found this helpful or insightful leave a comment to let me know, or follow me on Mastodon - @nish@social.nishtahir.com
Exposing any IP onto th
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. Thus, avoiding integration tests is not advisable; instead, it’s crucial to strike a balance by writing tests at an appropriate level to ensure high confidence in the codebase. Achieving this equilibrium between time efficiency and confidence is paramount. Rapid feedback is essential for a smooth workflow, and today, I’ll share concise tips to enhance the efficiency of your integration tests. The effort invested is worthwhile, as swift feedback is indispensable for seamless operations, and each minute of improvement is magnified by the frequency of executions and the number of developers in the company.
Saved
on: 2024-01-26
Code of Conduct
Saved
on: 2024-01-26
Python & JavaScript Libraries
The initial versions of the Ollama Python and JavaScript libraries are now available, making it easy to integrate your Python or JavaScript, or Typescript app with Ollama in a few lines of code. Both libraries include all the features of the Ollama REST API, are familiar in design, and compatible with new and previous versions of Ollama.
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?
Symfony actually adds a deprecation message to those options, but they're not easy to spot.
Today, we'll show you how to spot them with the help of Rector, PHPStan, and one other fantastic tool.
Saved
on: 2024-01-24
Why You Want React Query
Let's take a look at why you'd want a library like React Query, even if you don't need all the extra features it provides...
Saved
on: 2024-01-23
Loadership
Loadership is your go-to tool for generating and customizing loading spinners. Easily configure and copy-paste spinners in HTML/CSS, or SVG to enhance your web projects with smooth,
professional loaders.
Saved
on: 2024-01-19
Slashing Data Transfer Costs in AWS by 99% · Bits and Cloud
Saved
on: 2024-01-15
git branches: intuition & reality
Saved
on: 2024-01-15
Pines - Alpine and Tailwind UI Library
Pines is a library of animations, sliders, tooltips, accordions, modals, and more!
Saved
on: 2024-01-13
3 Signs Your Project is Becoming Legacy - Arrays Creep
In [the first post](/blog/3-signs-your-project-is-becoming-legacy-and-how-to-avoid-them), 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
How the internet reshaped itself around Google’s search algorithms — and into a world where websites look the same.
Saved
on: 2024-01-08
HTMX Playground
Learn HTMX with examples, and use the playground 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. It will run a mock server that intercepts outgoing requests from HTMX.
Saved
on: 2024-01-08
An app can be a home-cooked meal
I made a messaging app for my family and my family only.
Saved
on: 2024-01-05
Paper Sizes and Formats Explained: The Difference Between A4 and Letter
Paper sizes and formats explained: learn more about the difference between A4 and Letter paper formats.
Saved
on: 2024-01-05
Push Notifications - What to Push, What Not to Push, and How Often
Sending helpful & engaging pushes, filtering annoying pushes, and finding the frequency sweet spot.
Saved
on: 2024-01-02
Building Maintainable PHP Applications: Over-engineering vs under-engineeri
Tags:
#programming
Saved
on: 2023-12-31
10 reasons why Unpoly may be a better choice than htmx | Matteo Contrini
htmx and Unpoly are JavaScript libraries that add interactivity to multi-page applications (MPA). Here’s why Unpoly might be better choice.
Saved
on: 2023-12-27
Architetture dimenticate: la stazione di servizio AGIP che sembra una navic
Sono i primi anni Cinquanta quando Enrico Mattei, fondatore di Eni, incarica l’architetto Mario Bacciocchi di ideare una serie di edifici per la neo-azienda multinazionale. A Milano conserviamo ancora un ricordo meraviglioso di quel periodo, e si trova proprio in viale Certosa.
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. So, I got curious, started reading about them, and wanted to see
if I could reason about them from the first principles. Writing one from the ground up with
nothing but Go’s standard library seemed like a good idea.
Saved
on: 2023-12-27
A List of Hacker News's Undocumented Features and Behaviors
Some of the hidden norms about Hacker News not otherwise covered in the Guidelines and the FAQ. - minimaxir/hacker-news-undocumented
Saved
on: 2023-12-27
10 Things Software Developers Should Learn about Learning
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…
Saved
on: 2023-12-23
10 Tips For Building SSR/HDA applications
In this guide, Carson Gross provides ten practical tips to help developers transition from Single Page Applications (SPAs) to Server-Side Rendering and Hypermedia-Driven Applications, focusing on essential mindset shifts and architectural advantages.
Saved
on: 2023-12-22