On ShopTalkShow no. 628, Chris and Dave got to talking about s3/r2 and hosted media solutions. Dave graciously gave a shoutout to my Netlify “public folder” workflow, which reminded me of something I’ve been meaning to write about. Chris mentions how he prefers being able to drop a large resolution image on a CDN as his “source” and then request...
I sometimes go for a spelunk in to HTTP Archive looking at values here and there. I thought I would look at default manifest.json values. SELECT COUNT(*) FROM `httparchive.response_bodies.2024_08_01_desktop` WHERE url LIKE '%manifest.json' AND response_body LIKE '%"short_name": "React App"%' There are 551037 urls that end 'manifest.json' and...
.blink_me { animation: blinker 3s linear infinite; } @keyframes blinker { 50% { opacity: 0; } } I remember writing my first CSS file in Dreamweaver (still around) and it blew my mind that I no longer needed to use font, center, b, i, s, u and blink. The idea of separation of concerns between content and design was revolutionary (or at...
“Quantum supremacy is important both in its own right and as a benchmark or step toward something further. But my theory is that quantum supremacy cannot be achieved, and this is based on analysis of the stochastic behavior of samples … Continue reading →
Blog post: 20 Aug 2024 Blog post: 20 Aug 2024My friend L recently mentioned that he hadn’t seen any blog posts from me. It’s true, I haven’t posted for a while. Earlier this year I had explored My friend L recently mentioned that he hadn’t seen any blog posts from me. It’s true, I haven’t posted for a while. Earlier this year I had explored signed distance field fontssigned distance field fonts, in particular using , in particular using Viktor Chlumský’s multi-channel distance fieldsViktor Chlumský’s multi-channel distance fields[1][1]. I really enjoyed the many.... I really enjoyed the many...
This is Chapter 3, part 2 for the Designing Data Intensive Applications (DDIA) book. This focuses on storage and retrieval for OLAP databases. Analytics, data warehousing, star and snowflake schemasA data warehouse is a dedicated database designed for analytical queries. It houses a read-only replica of data from transactional systems within the...
Hello friends, Papa Notes presents: Conversations is back with a new episode! Listen to my very interesting and eloquent friend Mukom talk about parenting. You can find the full conversation on YouTube: https://youtu.be/iSO39N_yUwo?s...Or listen to the full conversation:
I was recently commissioned by a company to make a bespoke TLA+ workshop with a strong emphasis on reading specifications. I normally emphasize writing specs, so this one will need a different approach. While working on it, I had an idea that might make teaching TLA+— and other formal methods— a little easier. Pseudospecs There are two problems...
ML-KEM private key seeds are vastly preferable to expanded decapsulation keys as a storage format. A plea to standardize on them.
I've been pretty enamoured by Preact's Signals API and how it makes it easy to build applications that respond to state and environment changes, so following on from the reactive-prompt API that I built the other month, I've been exploring a higher-level Agents API that follows the same principles: Agents that can react to their environment using...
Yesterday, Netflix announced that Monument Valley 3, the next game in a what has been an iconic game series on iOS. The game is coming December 10 and will be exclusive to Netflix subscribers and available on iOS and Android. Monument Valley 1 and 2 will also be coming to
FYI This is the third and final part of our series on redesigning Piccalilli. To get the most out of this article, we recommend you start from the top. At this point, we’ve completed the design work and have also produced a backlog of production tasks, so I’m sorry to say, the build is actually quite boring to write about. It’s boring because at...
What happens if you listen to 60 seconds of your favourite radio station / audiobook and then 60 seconds of a random non-professional podcast? The former will be pleasant to listen to, with good intelligibility — it’s easy to understand everything the speakers say. The latter, however, are often somewhat unpleasant to listen to and have poor intelligibility. To add insult to injury, different episodes of the same podcast will often vary in quality and volume. Fortunately, it...
Memory mapping a file for reading sounds nice: turn inconvenient read calls and manual buffering into just simple indexing of a memory… but it does blocking IO under the hood, turn a &[u8] byte arrays into an async hazard and making “concurrent” async code actually run sequentially! Code affected likely runs slower, underutilises machine...
List of useful Unix terminal commands to boost your productivity. Here are some of my favorites.
It has been a few months since I wrote about Rye here last. You might remember that in February I passed over stewardship of my Rye packaging too to Astral. The folks over there have been super busy in building a lot of amazing tooling for Python packaging in the last few months. If you have been using Rye in the last few months you will have...
After using NixOS for the last 5+ years as my main OS, I end up with a configuration with many things that are interesting for one reason or another, but it is not listed anywhere (well, except if you are the kind of person that reads man 5 configuration.nix or the release notes in every release). So kind in the same spirit as my list of things...
After using NixOS for the last 5+ years as my main OS, I end up with a configuration with many things that are interesting for one reason or another, but it is not listed anywhere (well, except if you are the kind of person that reads man 5 configuration.nix or the release notes in every release). So kind in the same spirit as my list of things...
Spreadsheets are a fascinating tool. With a spreadsheet, you can both store and structure data, and include formulas that run computations on the contents of a sheet. Every so often, I ask myself how a spreadsheet works. How do spreadsheets turn data and a list of formulas into a complete table of data? This week, I set out to build a spreadsheet...
It has been a few months since I wrote about Rye here last. You might remember that in February I passed over stewardship of my Rye packaging too to Astral. The folks over there have been super busy in building a lot of amazing tooling for Python packaging in the last few months. If you have been using Rye in the last few months you will have...
I’m watching more cartoons this year than maybe ever before. Today we explore some of the reasons I think that might be.
Steven Knight from SellCell: iPhone 16 Pre-Launch Survey: 62% of iPhone Users to Upgrade to iPhone 16The second rumored feature the 2000 iPhone users want to see with the 16-series is the thermal control to avoid overheating, with 26.8% of those surveyed stating that this will positively affect
Previously, I provided a brief introduction to this newsletter, and then analyzed the structure of explanations in software development. For many in the software industry, "coupling" is a dirty word. This dates back to a 1974 paper entitled Structured Design1, which asserted that the goal of software design was to minimize coupling and maximize...
The revolution will not be on desktop. A tale of of two iPads, which ends in revolutionary musings. For a long time, I owned a terrible XPS13 (1250U CPU, 32GB RAM, 1TB Storage) which had major cooling issues. It throttled to the...
“Howdy is an informal salutation in the English language often used in the Southern United States. Originally a shortened form of the inquiry How do ye?, it was first used in Southern England in the 18th century.” — Wikipedia, Howdy, ret. Aug. 20, 2024
I've made a new tool that allows me to reuse my thumbnailing code across all my projects.
This is Chapter 3, part 1 for the Designing Data Intensive Applications (DDIA) book. This part focuses on storage and retrieval for OLTP databases.Even if you won't be implementing a storage engine from scratch, it is still important to understand how databases handle storage and retrieval internally. This knowledge allows you to select and tune...
There is a simple rule of thumb for converting between (circular) trig identities and hyperbolic trig identities known as Osborn’s rule: stick an h on the end of trig functions and flip signs wherever two sinh functions are multiplied together. Examples For example, the circular identity sin(θ + φ) = sin(θ) cos(φ) + cos(θ) sin(φ) […] The post...
Note: this made it on HN somehow. Around 2AM this morning I had a realization that this was the most stressed I have ever been. On verge of a complete breakdown. Why? Because I noticed around 10PM that jumpcomedy.com was entirely broken with all HTTP POST calls made by RTK Query failing. Nothing worked and though I had deployed recent changes,...
Secure Shell, of course. Besides the obvious OpenSSH link, this page will hold some of the less obvious (and more useful) stuff: Resources Category Date Link Notes Clients MIDP SSH SSH Tools includes a secure VNC client in Java, sources JavaSSH another (smaller) applet PuTTY Symbian port MindTerm oldie but goodie Java applet PuTTY ssheven a...
I’ve grown quite annoyed at whomever owns the Bloo/1.0.0 bot (I assume it’s a bot given the aggressive scraping of my site), so I’ve added it to robots.txt (for whatever that’s worth these days) and bumped up Cloudflare bot protection a tad. This may inconvenience people with custom RSS aggregators that also don’t behave nicely enough and pop up...
I’m not the target market for this, and neither are the projects I’ve been investigating RK3588 chips for, but I can see this being of interest for lower-end, single purpose projects – but considering the lower RAM and the lack of hardware video encoding on the 5 series, a Raspberry Pi 4 might still be a better choice.
These little modules have taken hobby electronics by storm, so of course I grabbed a few of them and have been hacking away quietly on both the ESP8266 and the ESP32. Resources Category date Link Notes Displays 2023 ESP32-Cheap-Yellow-Display a set of libraries for the ESP32-2432S028R and similar displays Documentation ESP32 Buyer's Guide an...
The moment you became a dad, you waved goodbye to your old way of vacationing.I recently talked to Jamie about vacationing with kids on the Papa Notes Conversations podcast. One thing stood out: you must go on vacation with realistic expectations.Whether your kids are teenagers or younger, you can be confident they won't merely comply with your preferences. Especially if you were dreaming of a...
Why Pivotal engineers changed teams so often, and how those changes happened
C. J. Date's Sigmod 1983 keynote, "Database Usability", was prescient. Usability is the most important thing to the customers. They care less about impressive benchmarks or clever algorithms, and more about whether they can operate and use a database efficiently to query, update, analyze, and persist their data with minimal headache. (BTW, does...
There are 2 types of blog posts: the ones you write for others, and the ones that you write for yourself. This blog post is the latter kind. What I am going to talk here is probably something most people know, but I didn't, and the documentation is all scattered in the internet. So I am writing mostly to remember myself, in future, if I have the...
There are 2 types of blog posts: the ones you write for others, and the ones that you write for yourself. This blog post is the latter kind. What I am going to talk here is probably something most people know, but I didn't, and the documentation is all scattered in the internet. So I am writing mostly to remember myself, in future, if I have the...
Here are some notes on my first attempt at using Blazin' Forth on a Commodore 64.
A modest critique of Htmx body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
People sometimes ask me how I come up with things to write. To me, it's the same as asking how I come up with things to say. There's always something to say. It might not be novel or interesting to most, but it's important to me and hopefully to someone else. What people actually want to know is how to come up with something interesting to write....
Bugs in distributed systems are hard to find, largely because systems interact in chaotic ways. And even once you've found a bug, it can be anywhere from simple to impossible to reproduce it. It's about as far away as you can get from the ideal test environment: property testing a pure function. But what if we could write our code in a way that...
Myke Hurley talking about Apple opening the NFC chip to other payment apps on the iPhone during today’s episode of Upgrade:I will be intrigued to see what actually this looks like when it launches. And I desperately hope it does not mean we're going to
The case was that a sequence was supposed to be sorted, but it wasn’t critical if it wasn’t. I.e. the more well-sorted the sequence was, the better, but everything would work okay-ish even with a random order. The sequence couldn’t be sorted up-front for two reasons: This was a soft-realtime application, so at no point could the sequence be sorted without blowing several deadlines. The sequence itself changed and was replaced every now and then, so in...
Good evening. Tonight, a brief position statement: it is a mistake for JavaScript’s WeakMap to not be iterable, and we should fix it.story timeA WeakMap associates a key with a value, as long as the key is otherwise reachable in a program. (It is an ephemeron table.)When WeakMap was added to JavaScript, back in the ES6 times, some implementors thought that it could...
Today I'm attempting the impossible: 71 movie tiers handed out in half an hour. Can it be done?! Well, I did it already, so yes, but it was a lot of fun along the way.
At the end of last year, I started using Twitter again, posting a few tweets every day. It's a nice community with interesting people, and I’m extremely happy to be a part of it.… Continue reading → The post addhashtags — an extension for those who forget to insert hashtags appeared first on Sergey Kaplich.
From Emil Kowalski’s newsletter (my Feedbin cache for your convenience): I started writing more blog posts recently. I like it because it's different than X. You get a spike of views when you share something on X, but that dies off quickly. If you provide great value with your posts, people will read it, share it, and talk about it. It's a...
Build a retrieval system with semantic, full-text, and fuzzy search in Postgres to be used as a backbone in RAG pipelines.
Let's make a little mock database. It won't actually do anything but pretend to handle requests. I've had cause at work lately to write some Go so we're going to use Go. type Database struct { requests chan Request } func NewDatabase() Database { return Database{ requests: make(chan Request), } } const maxConcurrentRequests =...
Let's make a little mock database. It won't actually do anything but pretend to handle requests. I've had cause at work lately to write some Go so we're going to use Go. type Database struct { requests chan Request } func NewDatabase() Database { return Database{ requests: make(chan Request), } } const maxConcurrentRequests =...
I’m excited to offer the next giveaway, 5 licenses ($11.99 value each) for iStat Menus. iStat Menus puts a bevy of system monitoring widgets right in your menu bar. Weather, CPU and GPU usage, Memory usage, date and time, network activity/bandwidth, battery and power, and disk usage. Any (or all) available at a glance, and detailed info on each...
I’m excited to offer the next giveaway, 5 licenses ($11.99 value each) for iStat Menus. iStat Menus puts a bevy of system monitoring widgets right in your menu bar. Weather, CPU and GPU usage, Memory usage, date and time, network activity/bandwidth, battery and power, and disk usage. Any (or all) available at a glance, and detailed info on each...
I’m excited to offer the next giveaway, 5 licenses ($11.99 value each) for iStat Menus. iStat Menus puts a bevy of system monitoring widgets right in your menu bar. Weather, CPU and GPU usage, Memory usage, date and time, network activity/bandwidth, battery and power, and disk usage. Any (or all) available at a glance, and detailed info on each...
This weekend I wrote three posts related to interpolation: Compression and interpolation Bessel, Everett, and Lagrange interpolation Binomial coefficients with non-integer arguments The first post looks at reducing the size of mathematical tables by switching for linear to quadratic interpolation. The immediate application is obsolete, but the...
It’s been a couple of months since my 486 motherboard gave up after I tried refitting it into the case with makeshift AT style motherboard standoffs. A PS/2 keyboard connector proved that the keyboard still works, and Vogons search results proved that flickering and then dead keyboard LEDs are signs of a possibly dud port, but I don’t have the...
I won’t provide any spoilers because Chris’ writeup is really good with a nice real world example. The only commentary I will add is using container queries for everything — including fluid typography and space — might feel like a good idea on paper, but you lose global flow and rhythm by doing that. For example, if you use container units for...
About 3 years ago, I announced Mess With DNS in this blog post, a playground where you can learn how DNS works by messing around and creating records. I wasn’t very careful with the DNS implementation though (to quote the release blog post: “following the DNS RFCs? not exactly”), and people started reporting problems that eventually I decided...