I've a little thing where I like to know roughly how many days it until something. My kids' birthdays, my wedding anniversary, Christmas... Following my focus on Generated Web Apps where launch sites and services without touching a single line of code, I decided to build a simple service that didn't require anyone to sign-up or sign-in, but could...
This is all I am capable of writing tonight. I've spent all day trying not to feel anything with little success.
While working on my recipe handling for this site as outlined in my previous post I realised that there are many recipe-related browser extensions available so I should be able to test my schema.org markup and my microformat class locally so I downloaded a handful of the most popular ones. And it turns out they just...don't use the schema to...
In the mid-1990s, the web rapidly evolved, and the need for a more dynamic and interactive browsing experience became increasingly apparent. Netscape, the company behind the popular Mosaic web browser, recognized this shift and wanted to stay ahead of the curve.Brendan Eich was then a young programmer with a
In Xcode 16, Apple quietly introduced the ability to format your Swift files using Swift Format. I’m a long-time user of SwiftLint, but having such a tool built into Xcode would be a great convenience, so I decided to give it a try. Here is my description of why I use such a tool, how well it works compared to the alternatives, and how I...
I write a blurb review for everything I log on Letterboxd but since most people aren’t sickos who check it every day like I do, I figure it’d be nice to do a once-a-month roundup and revisit my thoughts on the stuff I liked days-to-weeks later. I’ll omit my last couple VIFF films since I’ve already talked about em’ a lot elsewhere. Southland...
As evening breaks here in Portland on Election Night, here’s a very short look at how things are going over here for me at the moment, on a day on which I stuck to the usual routine until lunchtime. First, while I had some morning insomnia starting before six o’clock in the morning, I did eventually get back to sleep and overnight the intensity...
Today rather than publishing a lengthier post, I’ll point you to some work I’ve done on this site’s design.
Although I’ve been using Python 3.12 in production for nearly a year, one neat feature in the typing module that escaped me was the @override decorator. Proposed in PEP-6981, it’s been hanging out in typing_extensions for a while. This is one of those small features you either don’t care about or get totally psyched over. I’m definitely in the...
This is an external post of mine. Click here if you are not redirected.
I’m moving more code into Cloudflare workers everyday as they are cheap, fast, and powerful. But it hasn’t been without struggle. This is the story of one such struggle with a troublesome endpoint. The endpoint in question verifies the OpenID authentication signature directly with Steam. In short, this code runs after the user authenticates with...
New in C2y is an operator that does something people have been asking us for, for decades:
This one required a few other features to be implemented first, so let’s jump right in.
Generating documentation from tests using files-to-prompt and LLM I was experimenting with the wasmtime-py Python library today (for executing WebAssembly programs from inside CPython) and I found the existing API docs didn't quite show me what I wanted to know. The project has a comprehensive test suite so I tried seeing if I could generate...
This is meant as a tutorial on how to use a VPS to get a public IPv4 address for self-hosting reasons. Often, people want to run a server out of their college dorm that doesn't give them a public IPv4 address, or out of their house from behind CGNAT. It's a simple solution and an excellent alternative to software like Rathole or Cloudflare Tunnel...
Before Copernicus promoted the heliocentric model of the solar system, astronomers added epicycle on top of epicycle, creating ever more complex models of the solar system. The term epicycle is often used derisively to mean something ad hoc and unnecessarily complex. Copernicus’ model was simpler, but it was less accurate. The increasingly...
Sarah Perez for TechCrunch: Substack Is Giving Out Free Subscriptions to Boost App InstallsPublishing platform Substack is now pushing users to install its mobile app by offering gifted subscriptions. While Substack itself is available across platforms, including the web, those who want to take advantage of the free subscription
I wanted to be able to change the colours used in a sketch, all from Emacs. For this, I can reuse my Python script for analyzing colours and changing them and just add some Emacs Lisp to pick colours from Emacs. Figure 1: Selecting the colour to replace Figure 2: Selecting the new colour (defvar my-recolor-command "/home/sacha/bin/recolor.py")...
The other day I asked a famous blogger who uses RSS if he would be willing to share his list of feeds, so others could subscribe to them. He declined, for good reason, there was private stuff in the list he couldn’t share. I certainly understand that. Then I realized, as often is the case, […]
Sup nerds, I'm back from SREcon! I had a blast, despite knowing nothing about site reliability engineering and being way over my head in half the talks. I'm trying to catch up on The Book and contract work now so I'll do something silly here: ternary operators. Almost all operations on values in programming languages fall into one of three...
Hey folks - just a quick warning. This post is kind of a mashup/update of two earlier posts. Back almost two years ago I talked about this process but used Twitter and Mastodon: "Automatically Posting to Mastodon and Twitter on New RSS Items". Earlier this year I first talked about using the Bluesky API, with a very appropriately named post:...
Suppose you want to interpolate a set of data points with a combination of sines and cosines. One way to approach this problem would be to set up a system of equations for the coefficients of the sines and cosines. If you have N data points, you will get a system of N equations in […] The post Trigonometric interpolation first appeared on John D....
Developer experience, or shortly DX, seems to be the number one thing that people pay attention to in their chosen tools/frameworks.
This post floats a variation of boats’ UnpinCell proposal that I’m calling MinPin.1 MinPin’s goal is to integrate Pin into the language in a “minimally disruptive” way2 – and in particular a way that is fully backwards compatible. Unlike Overwrite, MinPin does not attempt to make Pin and &mut “play nicely” together. It does however leave the door...
As I said in my last post, I have been using eBay recently for the first time in many years. I have even made a pretty reasonable amount of money in exchange for the things which were on my shelf...
If I could give advice to my 18-year-old self, this is what I'd tell me. If you're 18, read this and do it. Thank me later.
Generally speaking, I don’t think redesigns or rebrands are constructive. Change tends to jazz up interest and rebrands and redesigns are no exceptions, but I’m strongly of the opinion that brands genuinely don’t matter that much – whatever positive associations a brand has comes from consistency – and if companies invested the same time and...
On 1st of November 2024, Michael Paquier committed patch: Add SQL function array_reverse() This function takes in input an array, and reverses the position of all its elements. This operation only affects the first dimension of the array, like array_shuffle(). The implementation structure is inspired by array_shuffle(), with a subroutine...
I think this both vindicates my year-long interest in running LLMs on industrial “edge” hardware and signals that it’s time to step back and re-assess how to address that space. 3.2 TOPS isn’t exactly stellar performance when compared to what you can (nominally) get out of a RK35xx’s built-in NPU and way below the target for things like Copilot...
This is a quick note to mention a connection between two recent posts, namely today’s post about moments and post from a few days ago about the Laplace transform. Let f(t) be a function on [0, ∞) and F(s) be the Laplace transform of f(t). Then the nth moment of f, is equal to then nth derivative […] The post Moments with Laplace first appeared on...
Tomorrow is the US Presidential election, and no one knows what's going to happen. Maybe Kamala Harris will win, maybe Donald Trump will. It's a toss up, just like it is every election cycle. Sometimes I think that we could have Jesus Christ himself running against
You already know Donald Trump. He is unfit to lead. Watch him. Listen to those who know him best. He tried to subvert an election and remains a threat to democracy. He helped overturn Roe, with terrible consequences. Mr. Trump's corruption and lawlessness go beyond elections: It's his whole ethos. He lies without limit. If he's re-elected, the...
Easily view the source of a function or method in your terminal using Git and this shell script.
clarification What I mean is that, conceptually, “MOATs” are not a useful abstraction. There is a saying that “all models are wrong, but some are useful” and I am saying that, as a model, MOATs are not useful. I think that asking a founder “what their MOAT is” will not offer useful information about their project. I am also specifically...
The web development community talks a lot about single-page apps, but are we all on a single page? Here's my ontology of apps organized by rendering and navigation.
Being unemployed can be incredibly depressing. So much rejection. Everything seems to be out of your control. Everything except for one thing: what you produce. You might know that repeatedly posting on social media that you are looking for work is ineffective. That it looks (or at least feels) worse each time you say so. But there is at least...
Use the &&= operator to safely update truthy values while preserving falsy states
One of the first pieces of Zig code that you're likely to see, and write, is this beginner-unfriendly line: var gpa = std.heap.GeneralPurposeAllocator(.{}){}; While we can reason that we're creating an allocator, the (.{}){} syntax can seem a bit much. This is a combination of three separate language features: generics, anonymous struct literals...
A guide to using ??= in JavaScript to handle null and undefined values elegantly
Modern development ecosystems thrive on code reusability, and packaging systems like PyPI for Python and Composer for PHP play a significant role in this narrative. With a simple command, developers can integrate a multitude of libraries, shaving hours off development time and leveraging the work of countless open-source contributors. However,...
New OpenAI feature: Predicted Outputs Interesting new ability of the OpenAI API - the first time I've seen this from any vendor. If you know your prompt is mostly going to return the same content - you're requesting an edit to some existing code, for example - you can now send that content as a "prediction" and have GPT-4o or GPT-4o mini use that...
This article is seven years old, but it was never published. I don’t know why. This article is seven years old, but it was never published. I don’t know why. mpimpi is not meant to be used. It is a low-level interface designed to build libraries upon, because it is expensive to develop supercomputing libraries tailored to each specific high-performance number-crunching cluster system, so libraries are built on is not meant to be used. It is a low-level interface designed to build libraries upon, because it is expensive to develop supercomputing libraries tailored to each specific high-performance number-crunching cluster system, so libraries are built on mpimpi, which is then implemented on the high-performance clusters. This means , which is then implemented on the high-performance clusters. This means mpimpi is... is...
I used to share some YouTube videos every week in my newsletter, but that turned into feeling like work, so I stopped. Buuuut, it is fun to share some joy with others, so here's a few videos I've watched in the last week or so that
anything out of frame is immediately forgotten, making it very dream-like and surreal to explore #
Streaming in SvelteKit is a powerful feature that allows you to load data progressively. In a nutshell, streaming allows your SvelteKit app to send an initial content response to the browser quickly, while fetching and sending additional data as it becomes available. This can make your app feel more responsive, especially when dealing with slow...
I've had a note in my todo list for quite a while to get my (admittedly small) collection of recipes on my website. The note mentioned to look into Cooklang which is a "recipe markup language" but I also wanted to see if anyone knew of any other standards I should be looking at before I went ahead. I got a few responses: Caleb pointed me to the...
It was reported over the weekend that Apple has purchased Pixelmator, the company behind a variety of image and photo editing products. As is the norm now, with acquisitions of...
It turns out that image-mode allows you to open an image and then crop it with i c (image-crop), all within Emacs. I want to select a region and then write it to a different file. I think the ability to select a portion of an image by drawing/moving a rectangle is generally useful, so let's start by defining a function for that. The heavy lifting...
Anthropic released Claude 3.5 Haiku today, a few days later than expected (they said it would be out by the end of October). I was expecting this to be a complete replacement for their existing Claude 3 Haiku model, in the same way that Claude 3.5 Sonnet eclipsed the existing Claude 3 Sonnet while maintaining the same pricing. Claude 3.5 Haiku is...
Summary: Life with a cargo bike has been working out really well for our family. I used to walk for an hour to get to some of A+'s playdates, pushing her in the Thule bike trailer / stroller that she still fit into. I liked bringing popsicles during the summer so that A+ could share them with her friends, so I often balanced a small cooler on top...
These past few days we’ve been greeted with a damp, cold mist: finally autumn is really here. Last week’s Halloween was celebrated with a local organized stroll through the park obstructed by everything scary that the organizer’s minds could think of. During the day, the walk was supposed to be child-friendly, but the masks managed to evoke...
they're asking people not to access NYT games or cooking apps until it's over, so give up that Wordle streak #
“This code’s no good,” says Pittsford, pointing at the screen: def update_and_get_balance(account, amount): database.debit(account, amount) return database.get_balance(account) Sol, the author of the code, peers over his shoulder and squints. “What’s wrong with it? It adds the amount, then gets back the new balance.” Pittsford shakes his...
“This code’s no good,” says Pittsford, pointing at the screen: def update_and_get_balance(account, amount): database.debit(account, amount) return database.get_balance(account) Sol, the author of the code, peers over his shoulder and squints. “What’s wrong with it? It adds the amount, then gets back the new balance.” Pittsford shakes his...
Take a look at these two animated gifs. First: Second: Can you tell the difference between them? Do you care? If not, we might not be a good fit. #designEngineering Reply via: Email :: Mastodon :: Twitter Tagged in: #designEngineer
the incredible web-based Mac/NeXT system emulator somehow keeps getting better #
Aardman Animation worked with Patrick McHale and the original voice cast for an elaborate stop-motion tribute #
Nous Hermes 3 The Nous Hermes family of fine-tuned models have a solid reputation. Their most recent release came out in August, based on Meta's Llama 3.1: Our training data aggressively encourages the model to follow the system and instruction prompts exactly and in an adaptive manner. Hermes 3 was created by fine-tuning Llama 3.1 8B, 70B and...