RSS Amplifier

Blog

phpied.com

Stoyan's blog

phpied.comRSS feed ↗10 posts

Written by

Latest posts

Starting in the Analog domain

I find myself writing more orchestral music, it's tough, requires more concentration than programing (skill issue?) and is sooo time consuming. I also write code (duh!). And I also write books (not so much recently but still) One thing in common I notice lately is that the sooner you start to "commit" things in the [ ]

Quick and dirty linting

This post is another installment of the series dedicated to building sightread.org. Parts 1, 2, 3, 4, 5, 6. I've been using TypeScript (actually JSDoc + tsc --noEmit) as my linter for a while. Well, TBH, I didn't do it intentionally, it's just something Claude does outta the box. I saw some linting going on [ ]

Measuring SVG rendering time

The questions Is rendering large SVGs significantly slower than smaller ones? Is there a cut-off size above which things are terrible? And what if these SVGs were PNGs, just for giggles. To answer this let's generate a bunch of test images and render them! The code is here Test images A Python script (gen.py) generates [ ]

Minimum viable image optimization

This post is another installment of the series dedicated to building sightread.org. Parts 1, 2, 3, 4, 5. When I was writing the last blog post, it occurred to me that I'm still optimizing images by hand. I think dropping images into ImageOptim is a second nature for me. So I decided to update my [ ]

Oops, I build.js’d it again

Who amongst us has not created a blogging software of some fashion or another? I know I have, many times. My latest (joke-y) attempt was Lizzy.js. The desire to go into a writing mode and don't worry about anything else is always strong. Even a dead simple self-hosted WordPress is often too much. Just give [ ]

Type checking without the muck

This is part 4 of a series about hacking on sightread.org with minimal tooling/building and maximum web platform-ing: Part 1: Import JavaScript like it's 2026 Part 2: Maximally Minimal Build Process Part 3: Do It Yourself: code coverage and testing Now let's talk about types, the type of types that check if you made a [ ]

Do It Yourself: code coverage and testing

This is what turns out to be a part 3 of a series about building sightread.org with minimal tooling: Part 1: Import JavaScript like it's 2026 Part 2: Maximally Minimal Build Process The previous posts covered how I structure js modules for parallel loading and how to build a production-ready app with a 200-line build [ ]

Maximally minimal build process

In my previous post I described how I set up sightread.org with no build process and modern JavaScript. The goal was raw ES modules, no transpilation, no bundling, just script type="module" and we're off. That worked great for a minute but I wanted just one more thing: long-lived immutable JS resources that can be cached [ ]

Import JavaScript like it’s 2026

I started this new project called sightread.org to generate music to practice sight reading. (Still early days, it works with rhythms only). I wanted to go for no build process and modern JS and modern HTML. How modern is modern? IE8? IE10? In my head when I think "modern" it always brings an image of [ ]

Introducing Lizzy.js

I created this joke-y "framework" to build a website, or a blog if you will, from markdown files. The idea is to (ab)use Apache's default directory listing. The "index" page reads the Apache's HTML of a given directory and produces a list of articles. When the user clicks, the markdown file (corresponding to an article) [ ]