This felt like a normal work week in that I had much less free time than I’d like due to constant pivots. But there were a few fun bits, like rediscovering a pouch full of stickers from my travels and past developer events: This was a bit of fun Homelab and Wi-FiI got a new machine to review, and spent a little while setting up a...
In this tutorial I'm going to show you how to extend SQLAlchemy so that you can define database columns that are stored encrypted. In the solution I'm going to share, the columns that are designated as encrypted will transparently encrypt and decrypt themselves as data moves to and from the database. For this tutorial I'm going to use SQLAlchemy...
So how hard could it be. As input we have something like Fri, 17 Jan 2025 06:07:07 in UTC, and we’d like to turn this into 1737094027, the notional (but not actual) number of seconds that have passed since 1970-01-01 00:00:00 UTC. Trying to figure this out led me to discover many ‘surprise features’ and otherwise unexpected behaviour of POSIX...
I don't use TikTok so I have no idea, but presumably some people are like "what do I even watch on my phone now?"LegalEagle with a good explainer over what's happening. For the record, I think this sucks and isn't how
Even though I don’t find these kinds of posts very interesting to read, I guess it can’t hurt to quickly raise up to the stupid blog questions challenge—Thanks, Joel. There is nothing shockingly new in here and most other articles about blogging might be of better use to you. Getting “nominated” to participate feels like being obliged to engage...
Dense search continues to be an attractive ingredient of a successful search application (despite some beliefs that it can be taking turns as its own industry category). Leo Boytsov (Senior Research Scientist, AWS, currently working in Q Console team) is excellent at explaining things from the ground up. He does it in a calm, confident and...
Setting up a media server on a PC or using a computer as a network audio renderer (endpoint) is easy nowadays. But the problem with computers is that they were never designed with audio in mind. While there are improvements for USB-based playback available (such as our JCAT USB Card FEMTO or JCAT USB Isolator), the network controller part...
What Tolkien can teach us about mercy. by always excellent The Wonder of Tolkien, discusses the following message from Gandalf ‘Pity? It was Pity that stayed his hand. Pity, and Mercy: not to strike without need. And he has been well rewarded, Frodo. Be sure that he took so little hurt from the evil, and escaped in the end, because he began his...
This article durably captures my reddit comment showing techniques for std::unordered_map and std::vector equivalents in C programs. The core, important features of these data structures require only a dozen or so lines of code apiece. They compile quickly, and tend to run faster in debug builds than release builds of their C++ equivalents. What...
Corn tastes better on the honor system by Robin Wall Kimmerer — with cool paper illustrations by Suus Hessling The writings of some early colonists reveal that they thought corn a primitive crop, because it did not require machines or draft animals to cultivate and process, as did their familiar wheat. They mistook the apparent […]
TIL: Downloading every video for a TikTok account TikTok may or may not be banned in the USA within the next 24 hours or so. I figured out a gnarly pattern for downloading every video from a specified account, using browser console JavaScript to scrape the video URLs and yt-dlp to fetch each video. As a bonus, I included a recipe for generating a...
Thinking for yourself and asking questions about war and race and sexuality can make you unpopular and get you fired. You still need to find a way.
TikTok may or may not be banned in the USA within the next 24 hours or so. Here's a pattern you can use to download all of the videos from a specific account. Scrape the list of video URLs I used a variant of my Twitter scraping trick. Start by loading up a profile page - like https://www.tiktok.com/@ilgallinaio_special - in Firefox or Chrome or...
Seven years isn’t an awfully long time to work as an IC in the industry, but it’s enough to see a few cycles of change. One thing I’ve learned during this period is that, to be a key player in a business as an engineer, one of the biggest moats you can build for yourself is domain knowledge. When you know the domain well, it becomes a lot easier...
I got tired with all the AI scrapers that were bullying my git server, so I made a tool to stop them for good.
Walking on a new path is exciting after overcoming the inertia of choosing a different place. A cottage perks through the winter bush. I wrote in my notebook as I was walking through a park I don’t usually visit. Today was one of those days where I had no plans in particular other than to go to a bookshop and get coffee. I felt relaxed: I had...
Expanding on my previous post, I show the impact of checking both directions in pairwise evaluation
Ideas are the new currency of the 21st century. If you’re familiar with James Altucher’s work, you know about becoming an Idea Machine by writing 10 ideas a day. But Choose Yourself Guide to Wealth takes the Idea Machine concept further, covering how to turn your ideas into reality. Here are four lessons I learned from reading Choose Yourself...
As is the case every year, 2025 is starting off relatively slowly. There’s not a lot of training courses to run yet, and since a few of the projects I worked on wrapped up in December, I find myself with a little bit of extra time and headspace on my hands. I actually enjoy these slower moments, because they give me some time to think about where...
Here is a summary of the 100 languages I used for Project Euler.
If you’re a competent software engineer at a large tech company, your time is in very high demand. Lots of people will want you to do things…
I spent the holiday season practicing my handwriting, which was… unexpected. The reason why is that I got a Supernote Nomad, which was enough to warrant spending a pretty large chunk of time using it either exclusively or in tandem with my other devices. Although it’s been only a couple of months, the part of me that initially pondered the Nomad...
Had the first of a series of meet-ups I’m organising in which we discuss Chip Huyen’s new book. My notes from reading the chapter follow this, and then I’ll try to summarise what we discussed in the group. At a high-level, I really enjoyed the final part of the chapter where she got into how she was thinking about the practice of ‘AI Engineering’...
You know how I blogged recently about a certain VTuber’s graduation from Hololive? Unrelated to this, Nimi Nightmare debued! (Atom feed here). It was wonderful hearing her voice and jokes again. Her artists did an amazing job matching her design to her personality as well. Caspurr Catachini, Clara’s and my favourite male VTuber, also lent his...
I was tagged by Anders Thoresson to answer the challenge. I accepted. Why Did You Start Blogging In The First Place? As you can see from the first blog post on this particular blog, I'm coming up on just 3 years of blogging here. This is the first time that I have blogged in any manner that you could call consistently. It all started at that time...
I have a draft riffing on something I read recently about how people don’t care about things. It started getting a bit long, and included a lot of semi-related stuff about tech that I thought would make more sense breaking out into its own post. Hey look, that’s this one! Have you ever noticed that so many things in our daily lives often just…...
To the credit of the team that put this presentation together, they mostly got it.
The little tool I use to generate descriptive branch names for jj is now more configurable and reliable. And I learned some things!
I slept in yesterday. I’d had a rough Friday at work, and I wasn’t feeling it when I got up at my usual time Saturday morning. I rolled over expecting to sleep for another half an hour, and woke up… at 10:30. Great! I hear the normal among you say in response. Sleeping in is a wonderful treat for days off, and certainly something many of you...
Tom Warren, The Verge: Earlier this month you could search for “Google” on Bing and get a page that looked a lot like Google, complete with a special search bar, an image resembling a Google Doodle, and even some small text under the search bar just like Google search. The misleading UI no longer appears on the Google search result of Bing this...
Tim Hardwick, last week for MacRumors, “Apple Smart Home Hub Launch Possibly Delayed Until Later in Year”: Apple’s long-rumoured smart home hub or “command center” may not arrive in the spring as previously expected, according to Bloomberg’s Mark Gurman. [...] Apple originally planned to introduce the home hub in March 2025. However, writing in...
Joanna Stern, in her weekly Tech Things newsletter for the WSJ: Despite what my iPhone’s frequent notification summaries report, my husband isn’t messy, he isn’t sad and he definitely didn’t take out the garbage — because, again, I don’t have one. Wife? Yes. Husband? No. As part of Apple Intelligence, the company rolled out these AI-powered...
DeepSeek API Docs: Rate Limit This is surprising: DeepSeek offer the only hosted LLM API I've seen that doesn't implement rate limits: DeepSeek API does NOT constrain user's rate limit. We will try out best to serve every request. However, please note that when our servers are under high traffic pressure, your requests may take some time to...
Lessons From Red Teaming 100 Generative AI Products New paper from Microsoft describing their top eight lessons learned red teaming (deliberately seeking security vulnerabilities in) 100 different generative AI models and products over the past few years. The Microsoft AI Red Team (AIRT) grew out of pre-existing red teaming initiatives at the...
Kyle Wiggers, writing at TechCrunch: Google says it has begun requiring users to turn on JavaScript, the widely used programming language to make web pages interactive, in order to use Google Search. In an email to TechCrunch, a company spokesperson claimed that the change is intended to “better protect” Google Search against malicious...
Looking at some claims that quantum computers won't work. #quantum #energy #variables #errors #rsa #secrecy
Big news for me: after 6 years, I’m leaving Salesforce to join the folks at Socket, working to secure the software supply chain. Salesforce has been very good to me. But at a certain point, I felt the need to branch out, learn new things, and get out of my comfort zone. At Socket, I’ll […]
The purpose of this post is to expand on the following sentence [1]: Russian letters are created by entering [Ctrl-k followed by] a corresponding Latin letter followed by an equals sign -, or, in a few places, a percent sign %. The Russian alphabet has 33 letters, so there couldn’t be a Latin letter for […] The post Entering Russian characters in...
It’s not simple to transliterate Russian names to English. Sometimes there is a unique mapping, or at least a standard mapping, of a particular name, but often there is not. An example that comes up frequently in mathematics is Pafnuty Lvovich Chebyshev (1821–1894). This Russian mathematician’s name Пафну́тий Льво́вич Чебышёв has been...
I had a look at which movies, released in 2024, I’d actually seen and there were literally one or two to choose from. Despite there being some amazing TV shows...
Let J(x) be the function plotted below. This is the Bessel function J1, but we drop the subscript because it’s the only Bessel function we’re interested in for this post. You can think of J as a sort of damped sine. We can create versions of J with different frequencies by multiplying the argument x […] The post An unexpected triangle first...
A weekly collection of seven interesting links
This Friday (17th), the Read.cv platform announced that it was acquired by Perplexity, an AI startup, and it will cease operations.
I've been advocating for RSS (and you should too!), and was ready to send Steam support a message asking them to add RSS to their website. But low-and-behold they already have it! If you visit the Trackmania News page, there's a 'Links' dropdown, where you can select 'RSS'. Then you can 'Share' that page with your feed reader app (or copy+paste...
Highlight of the week: heard from several people in response to my post on friction in indie web connection 😄 Looking forward to: making this blood orange olive oil cake Stuff I did: 7.75 hours writing — I committed to my accountability buddy that I would make a decision this week and I regret that […]
An incredible video about the development of robots not solely controlled by software but by people that enable them to work jobs they otherwise could not do so. While I guess you could technically call these “robots,” they come across more as “waldos,” devices that enable people to physically work from a remote location. In any case, I think...
How Cowboys and Equestrians Are Rescuing Horses From L.A.’s Fires by Rory Satran As the Eaton fire blazed, Philippa and Natasha Price raced to an abandoned stable in the foothills of Altadena, Calif. Power lines fell around them, the sisters later recalled, while they sped into a restricted zone last Wednesday with a horse trailer. The...
This post was originally typo’d with “bog” instead of “blog”. As that Oblique Strategy says, honour thy error as a hidden intention. I’ve written before about the things I look for in a blog. This time I thought I’d flip this on its head… an exercise that used to be much easier when I was into gymnastics. This is what will make me bounce...
One of the many ways I use a great app in day-to-day life!
The news of this slipped me by last year, but I just saw OpenWrt has their own hardware now, based on the BananaPi: OpenWrt One is based on the MediaTek Filogic 820 SoC and has WiFi 6, dual-band, 3×3/2×2, 1x 2.5Gbit WAN, 1x 1Gbit LAN, 1GB DDR4 RAM, 256 MiB NAND, 16 MiB NOR (for recovery), M.2 SSD, USB-C Serial console and USB 2.0. You can buy the...
It's the old parlor game and I'm forcing myself to play.
I visited a coffee shop I have not been to in at least two years today. On the wall, above the coffee equipment rested on wooden countertops, there was a quotation written on a sign. It read: I’ve learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel. - Maya Angelou...
A while ago I came up with an “error handling expressiveness benchmark”, some common error handling cases that I want to support in Fir. After 7 months of pondering and hacking, I think designed a system that meets all of the requirements. Error handling in Fir is safe, expressive, and convenient to use. Here are some examples of what we can do...
Here's a bunch of interesting programming languages that I didn't get around to trying out.
We all want to know what we know now but ten years ago. That’s how this Reddit AMA felt when I read it. Len, a 102-year-old WW2 veteran, sat with his grandson to answer questions about history, WW2, and life in general. His grandson, who did the writing part, wanted to hear more of Grandpa’s stories. These are my favorite answers and quotes. “War...
You can go a long way as a software engineer without ever managing to think clearly. The feedback loop of writing and running code is so…