Other posts in the series include: Reckoning: Part 2 — Object Lesson Reckoning: Part 1 — The Landscape Subscribe to the RSS feed to be notified when new installments go live. Complexity Perplexity Carrying Capacity Should This Be An SPA? The Pits Aftermath Last time, we looked at how JavaScript-based web development compounded serving errors on...
In the hours following the release of CVE-2024-38063 for the project Microsoft Windows, site reliability workers and systems administrators scrambled to desperately rebuild and patch all their systems to fix a vulnerability where a specially crafted IPv6 packet can result in remote code execution.. This is due to the affected components...
NOTE: This post was published while Rspack’s latest version was v1.0.0-beta.4. Some details are likely to change as Rspack approaches its 1.0 release. Rspack is a Rust-based alternative to Webpack that promises to be faster and includes a few common conveniences too. After a year of trying, I’ve finally finished converting my two largest Webpack...
The convention in math for writing numbers in bases larger than 10 is to insert capital letters after 9, starting with A. So, for example, the digits in base 12 are 0, 1, 2, …, 9, A, and B. So if you’re familiar with math but not Linux, and you run across the base32 utility, […] The post Math’s base 32 versus Linux’s base 32 first appeared on...
A few high-profile app updates have recently gone down like a lead balloon. I have a lot of sympathy for the developers involved, and today I wanted to explain what I think happened with Overcast specifically.
Imagine you got a job offer from a company but weren’t allowed to start work – or get paid – for almost a year. And if you can’t pass a security clearance your offer is rescinded. Or you get offered an internship but can’t work on the most interesting part of the project. Sounds like […]
John Gruber: Nick Heer on Patreon Creators Paying the Full 30 Percent App Store Rate for New SubscriptionsThe whole notion of a platform like Patreon just doesn’t fit with the App Store’s model of taking a fee out of every single transaction for digital goods
This is great fun–and I’m a bit sad that it took me all of 10 minutes to get Windows 95 running very snappily (if a little buggy) on it, and yet I still cannot “legally” run legacy Mac OS versions on an iPad. I would pay good money for the ability to run Basilisk II and Mac OS 7/8 era software on my iPad Pro just as easily as I can do today,...
Learning a new skill is difficult. In the beginning, enthusiasm propels us. It's new and exciting, and we are making progress quickly.But learning is never a linear endeavor. Our motivation fluctuates. Distractions and other interests show up.Setbacks and plateaux are inevitable.A son learning to bike finally drops the training wheels and falls. A daughter learning the French horn can't play the piece she thought she knew to play the week before.These...
When the PostgreSQL project makes a release, the primary artifact of that is the publication of a source code tarball. That represents the output of all the work that went into the creation of the PostgreSQL software up to the point of the release. The source tarball is then used downstream by packagers to make binary packages (or file system...
Not going to make a big deal of it, but today I decided to officially close my Twitter (sorry, X) account. I know, I know, someone could take my username if they want and yes I know this means I’ll have to start a new account if somehow
We don't need packages to handle basic JavaScript tasks
Whoa! This is very interesting! My question: is the fungi now radioactive?
If you are following this blog for a while, it should be no surprise that most of the workflow in this blog is automated using Go. I basically write Markdown files with some special rules inside the repository, commit and push it. In seconds, the CI (currently GitHub Actions) will take the latest commit, generate some files (since I use the...
If you are following this blog for a while, it should be no surprise that most of the workflow in this blog is automated using Go. I basically write Markdown files with some special rules inside the repository, commit and push it. In seconds, the CI (currently GitHub Actions) will take the latest commit, generate some files (since I use the...
For my own reference, this is a quick reference table for vintage line/block-based Forth editors.
While I've written a lot about Zig, I've avoided talking about Zig's meta programming capabilities which, in Zig, generally falls under the "comptime" umbrella. The idea behind "comptime" is to allow Zig code to be run at compile time in order to generate code. It's often said that an advantage of Zig's comptime is that it's just Zig code, as...
Other posts in the series include: Reckoning: Part 2 — Object Lesson Reckoning: Part 1 — The Landscape Subscribe to the RSS feed to be notified when new installments go live. --> The Golden Wait The Truth Is In The Trace Zip It Near Peers Blimey JavaScript Masshattery Maryland Enters The Chat Chatanooga Chug Chug SNAP? In Jersey? Fuhgeddaboudit...
My favorite thing about this test is that it's not a test for whether these operations are happening inside of a transition. It might actually be better to do this with the first request as a subquery inside the insert, and this test will happily accept that solution.
John Gruber: The Mac Is a Power ToolSafety by default, but don’t get in the way of power users doing their jobs. And when the user needs an override for the safety features, there is an override, and the situation will make clear to the user that
From the Patron blog today:As we first announced last year, Apple is requiring that Patreon use their in-app purchasing system and remove all other billing systems from the Patreon iOS app by November 2024.This has two major consequences for creators:1. Apple will be applying their 30% App
I have read the first half of Traffic Flow Fundamentals11 Traffic Flow Fundamentals; May; Pearson; 1990. and since I have never shared how I write my flashcards, I figured I might take the opportunity to do so. This first half of the book generated around 120 flashcards. I wouldn’t normally make so many for just half a book, but this touches on an area which I have wanted to learn more about for a long...
Previously, I provided a brief introduction to the ideas that will be covered in this newsletter. Software development can be reduced to a single, iterative step. Almost everything we do in the course of a day — the pull requests, the meetings, the whiteboard diagrams, the hallway conversations — is an explanation. Our job is to explain, over and...
Mike Sass compiled a list of 36 assorted things, topping Nic Lake’s 35 things, so I figured I will be doing Mike a big favour by creating a list of 37 things. Here goes. The pistachio flavour servers the best quality check for any self-respected ice cream parlour. Why do my feet feel so great after clipping my toe nails? (Because you can hear...
I am teaching some GAMS classes, and a question arose: "How does the Simplex method work?" It's not easy to answer in a few sentences, but I want to touch upon the concept of a basis anyway. Once you have a good intuition of what a basis is, a simple Simplex method is not so far-fetched. I find the tableau presentation somewhat confusing and far...
This is the 52nd NULL BITMAP, which means I have been doing this for a whole year! I skipped one week before I decided that this was going to be a weekly thing, but besides that there has been a NULL BITMAP every Monday. If you have read any of them then thank you for partaking in this whole deal I am very grateful :) I wasn’t sure what an...
This is the 52nd NULL BITMAP, which means I have been doing this for a whole year! I skipped one week before I decided that this was going to be a weekly thing, but besides that there has been a NULL BITMAP every Monday. If you have read any of them then thank you for partaking in this whole deal I am very grateful :) I wasn’t sure what an...
Guest post by Sander O’Neil https://sanderoneilclock.tiiny.site/ This is a follow up to this post https://mathbabe.org/2015/03/12/earths-aphelion-and-perihelion/ from 2015 also try other experiments on my website: https://mroneilportfolio.weebly.com/analemma.html This JavaScript program is a clock/map/single star-star chart in the style of...
I’m excited to offer the next giveaway, 3 licenses ($39 value each) for SoundSource. SoundSource lets you define audio inputs and outputs on a per-app basis, plus apply effects to different channels. It puts control of all of your system audio devices in your menu bar, just a click away (it even has keyboard shortcuts). From the developer: Fast...
I’m excited to offer the next giveaway, 3 licenses ($39 value each) for SoundSource. SoundSource lets you define audio inputs and outputs on a per-app basis, plus apply effects to different channels. It puts control of all of your system audio devices in your menu bar, just a click away (it even has keyboard shortcuts). From the developer: Fast...
I fawn over Heydon’s writing a lot, but for good reason: they are very good. Step up their new article about the humble HTML anchor element () which not only explains what it is and how to use it correctly, but also how it all works under the hood of the browser too. Very interesting and very critical reading. Let’s hope Heydon does in fact make...
preface I don’t care if you believe or don’t believe in God. I care if you dogmatize science. the problem Unfortunately it is becoming common to portray people who are religious as dumb and claim that God is dead due to science. Our mathematically understanding of reality (physics) is not reality. We are not uncovering the hidden code of the...
So this is kind of a continuation from my previous post talking why my favorite device is a Chromebook. In this post I want to talk about what makes me this device unhappy, and comment about things that if changed would make it a much better device. But before talking about the negative aspects, let me talk about a positive aspect that I just...
So this is kind of a continuation from my previous post talking why my favorite device is a Chromebook. In this post I want to talk about what makes me this device unhappy, and comment about things that if changed would make it a much better device. But before talking about the negative aspects, let me talk about a positive aspect that I just...
You’ve probably seen this Python 101 thing before: @memoized def fib(n): if n 1: return n return fib(n - 1) + fib(n - 2) Leaving aside the absurdity of computing Fibonacci numbers recursively, it’s a common first introduction to Python decorators and higher-order functions. fib is just a function, and memoized takes that function and returns a...
I'm going to find out what it was like to develop software in the 8-bit era.
TL;DR: You can use Pydantic’s support for tagged unions to approximate sum types in Python; go right to Sum types in Python (and onwards) to see how it’s done.
Recently, I realized that I mostly get paid to ask questions. As a consultant, advising companies As a podcast host In calls with potential clients The curious thing is that, like most people in a similar position, I never had any formal training in asking questions! I basically just wing it and try to get better over time. That got me thinking:...
Every software engineer uses a programming language, usually multiple. Few of us make programming languages. This makes sense, because the work we need to get done can typically be done just fine in the languages that exist. Those already have people making them better. Let's focus on the task at hand. But that means that we're missing out on...
Aug 12 2024 There’s an old saying: There are only two hard things in Computer Science: cache invalidation and naming things. ― Phil Karlton I also appreciate the joke version that adds “and off by one errors.” Lately, I’ve been thinking about this saying, combined with another old joke: “The patient says, “Doctor, it hurts when I do this.” The doctor says, “Then don’t do that!” ― Henny...
Did you hear that Elon Musk dug a tunnel under the Las Vegas Convention Center? I think it is pretty universally known by now that the "Las Vegas Loop" is impractical, poorly thought out, and generally an embarrassment to society and industry. I will spare an accounting of the history and future of the system, but I will give a bit of context for...
A short note on what goes into a language's standard library, and what's left for third party libraries to implement!
Instead of an omnibus mega-post, this investigation into how JavaScript-first frontend culture broke US public services will be released in four parts. To catch them as they come out, subscribe to the RSS feed. When you live in the shadow of a slow-moving crisis, it's natural to tell people about it. At volume. Doubly so when engineers can...
Everything is better in color. Even better if it is HDR. In this post, we’ll provide an overview of what is happening with color in GTK, without diving too deeply into the weeds of colorimetry and color science. The high-level goals of this effort are to enable proper handling of HDR content and color-managed workflows. … Continue reading "The...
wickstrom.tech In the eternal search of a better text editor, I’ve recently gone back to Neovim. I’ve taken the time to configure it myself, with as few plugins and other cruft as possible. My goal is a minimalist editing experience, tailored for exactly those tasks that I do regularly, and nothing more. In this post, I’ll give a brief tour of my...
Back in May, I had the honor (nay, honour) to speak at HowTheLightGetsIn, an ideas festival held annually in Hay-on-Wye on the English/Welsh border. It was my first time in that part of the UK, and I loved it. There was an immense amount of mud due to rain on the festival ground, and many […]
I love this articulation: AI enables action without thought. It comes from an iA article about AI and the future of design (emphasis mine): Now, what actually is AI? The Italian philosopher and technology ethicist Luciano Floridi sums it up nicely. He posits that AI doesn’t replace our thinking with its own thought. AI, he says, doesn’t think for...
There isn’t a lot to report this week, other that I had a few setbacks at work and decided to re-focus on reading and doing some hardware projects to decrease my screen time. This entailed, among many other things: Peering at Wireshark dumps of both Ethernet and USB traffic Spending another hour debugging the SK1’s latest firmware upgrade–the...
Stapler is an intriguing Mac app that tries to replicate the workflow of the Classic Mac OS app of the same name–i.e., open a set of related documents and folders simultaneously to cater to a specific project/activity.
I’m been talking lately with a friend with a four-month-old baby. He mentioned the well-worn dynamic that older parents tell new parents to cherish their early days with their newborn, that they will grow up faster than you expect.I agree with the general sentiment, but I don’t think it’s a good thing to tell new parents. First, let’s be...
I don’t use sed very often, but it’s very handy when I do use it, particularly when needing to make a small change to a large file. Fixing a JSON file Lately I’ve been trying to fix a 30 MB JSON file that has been corrupted somehow. The file is one very long line. Emacs […] The post Editing a file without an editor first appeared on John D. Cook.
A few months ago, I wrote a piece on the TP-Link switches I’d been using so far, and I can finally tell you why: I’ve been testing a 9-port Sodola Multi-Gigabit Switch and its 6-port homelab-focused counterpart, and after three largely uneventful months using them in several configurations with great success, it’s time to post my notes. Both...
Recently I’ve had a bit of a fascination with rhythm machines. Not the computerized digital ones like that built into my old Yamaha organ, but fully analog ones. There’s something quite appealing about producing drum-like sounds with just discrete circuits of transistors, capacitors, and resistors. Let’s take a glimpse into a realm so analog that...
I talk a lot here about using computers freely, how to select programs to use, how to decide if a program is trustworthy infrastructure one can safely depend on in the long term. I also spend my time building such infrastructure, because there isn't a lot of it out there. As I do so, I'm always acutely aware that I'm just not very good at it. At...
In a recent work discussion, I came across an argument that didn’t sound quite right. The claim was that we needed to set up containers in our developer machines in order to run tests against a modern glibc. The justifications were that using LD_LIBRARY_PATH to load a different glibc didn’t work and statically linking glibc wasn’t possible...