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...
I recently had laser eye surgery for my near-sightedness, and while evaluating if I could have the surgery I discovered that I was suffering from dry eyes. Thanks to this, my ophthalmologist recommended that every 20 minutes while using screens, I look somewhere 20 feet away for 20 seconds, a technique known as 20-20-20 rule. I had issues...
I recently had laser eye surgery for my near-sightedness, and while evaluating if I could have the surgery I discovered that I was suffering from dry eyes. Thanks to this, my ophthalmologist recommended that every 20 minutes while using screens, I look somewhere 20 feet away for 20 seconds, a technique known as 20-20-20 rule. I had issues...
Your browser does not support the audio element. Download MP3 Also catch Xecast on YouTube (I'll make a proper podcast feed soon, trying to de-scope so I can actually get things done). Mimi> These show notes were generated using Google Gemini 1.5 Pro. Should this podcast take off, we'll find a better way to do...
A couple of days ago I was reading on Hacker News about a feature in some Linux window managers where they allow collections of tabs from different apps. This reminded me of BeOS, but at the same time it reminded me of an app from 1992 for classic Macintosh called Stapler, and how I’d talked about that and it’s one-time spiritual successor,...
Last night I had a dream that someone had asked if they could write SearchLink plugins in Python. The answer was no, but it got me thinking. To be clear, no one has asked for this, but I did some Saturday morning coding anyway. You can now write a script in any language, and as long as it returns YAML or JSON with appropriate keys, it will work...
Last night I had a dream that someone had asked if they could write SearchLink plugins in Python. The answer was no, but it got me thinking. To be clear, no one has asked for this, but I did some Saturday morning coding anyway. You can now write a script in any language, and as long as it returns YAML or JSON with appropriate keys, it will work...
It’s been a few weeks since I listened to this German podcast episode about the downfall of a company called Schlecker and I keep thinking about an anecdote one of the hosts shared.
I have been planning on making a technical blog for a long time. I gave it a couple of tries before but never got it finished. Now, I made the final stretch and have one up. From the title, you might have seen the technologies used, and you might ask, “Why Jekyll?” The reason is that static websites are small, cheap, and fast. I am...
Last year, my internal M.2 SSD drive stopped working. I had experienced disconnection problems over the last 2 years; however, last year, it just refused to turn on. It was also encrypted with BitLocker. I took it to a repair shop that claimed they could perform data recovery. However, after waiting for a couple of days, they informed me that...
If you have followed my Getting a blog running with Jekyll, GitHub Actions, AWS S3, and CloudFront post, among other things you will see an issue where if you manually go to the 404.html page, CloudFront will happily serve you the 404.html page with 200 OK status code. This not only is wrong, but also hurts SEO. I don’t care much about SEO...
I am scared of using AWS. In AWS, you can’t easily put a hard cap on the money that you will spend, meaning if you are the target of a DDoS attack or if something goes wrong, you might be overcharged massively. For me, this means that if my CloudFront distributions are under a DDoS attack, I might get a budget notification in my email, but...
In this post I will try to explain how electronic passports work, how to read files from them and how to verify the authenticity of the chips inside them. Hopefully it will provide an entry point for those who have not tinkered with smart cards in the past.
In the second part of this post I will try to give code examples for some basic functionality in eMRTDs. I will add code snippets for each of the sections. The code is mostly a port of my other project eMRTD_face_access from Python to Rust (emrtd crate). It came to life because I was interested in a rewrite of the project in Golang to take it...
UUIDs are a 128-bit number, represented as groups of hexadecimal digits, separated by - characters. For example, a UUIDv4 looks like 62b5dcd2-1549-4e1c-8315-0e83b2518b35. They're primarily intended as identifiers, and they have a few versions that have different properties. I'm going to focus on UUIDv4 here and why you might not need them. Side...
Identify and fix common JavaScript memory leaks (Node.js and Deno.js)
Buttondown's API calls are very fast, and one of the reasons why is that we've removed every single possible database query that we can. The most recent was what looked like a fairly benign COUNT(*) query, coming from the default Django paginator; if you're gonna paginate things, you need to know how many to paginate, fair enough. However, it...
I came across some high usage under my Vercel account. Vercel usage donut charts. Cropped for brevity What is “Fast Origin Transfer”? The docs are vague, and whatever it is, seems like I’m about at my limit. Vercel used to have straightforward pricing, but they recently updated their model. Instead of...
Buttondown's API calls are very fast, and one of the reasons why is that we've removed every single possible database query that we can. The most recent was what looked like a fairly benign COUNT(*) query, coming from the default Django paginator; if you're gonna paginate things, you need to know how many to paginate, fair enough. However, it...
Buttondown's API calls are very fast, and one of the reasons why is that we've removed every single possible database query that we can. The most recent was what looked like a fairly benign COUNT(*) query, coming from the default Django paginator; if you're gonna paginate things, you need to know how many to paginate, fair enough. However, it...
Summary of a response about how to order products by their votes/reviews using rank aggregation (using Shopify approach).
A guide to configuring WezTerm using its Lua API. Focuses on appearance, keybindings, multiplexing, workspace navigation, and status bar (powerline) setup.
This paper is from Herlihy and Wing appeared in ACM Transactions on Programming Languages and Systems 1990. This is the canonical reference for the linearizability definition.I had not read this paper in detail before, so I thought it would be good to go to the source to see if there are additional delightful surprises in the original text....
M.G. Siegler: A Time to Kill... XitterThis has all been instituted under the guise of free speech, but that is, of course, bullshit. If Xitter wants to be the haven of truly free speech, it should be a completely open source and un-monetized network that no single company
Ezra Klein back in February 2024: Democrats Have a Better Option Than BidenEverybody I have talked about this, literally everybody, has brought up the same fear. Call it the Kamala Harris problem. In theory, she should be the favorite. But she polls slightly worse than Biden. Democrats don’
As many of these updates seem to, this one started with a bug report from my friend Jay Miller, which caused me to run the test suite on SearchLink and discover a few things had broken since I last looked at it. So you get an update. Aside from fixing bugs that had cropped up, I spent some time on the various browser searching tools. SearchLink...
[SearchLink]: searchlink [wiki]: https://github.com/ttscoff/searchlink/wiki/Searching-Browser-History-And-Bookmarks As many of these updates seem to, this one started with a bug report from my friend Jay Miller, which caused me to run the test suite on [SearchLink] and discover a few things had broken since I last looked at it. So you get an...
The TextBuddy giveaway has ended, and I have winners to announce! The winners! Congratulations to: Patrick Ahles Philip Davis Peter Versteegen Jim Krenz René de Heer Stephen Lowry David Nieporent Mijalche Santa Lari Kovanen Hans verschooten You should have received an email with details, please let me know if you didn’t hear...
The TextBuddy giveaway has ended, and I have winners to announce! The winners! Congratulations to: Patrick Ahles Philip Davis Peter Versteegen Jim Krenz René de Heer Stephen Lowry David Nieporent Mijalche Santa Lari Kovanen Hans verschooten You should have received an email with details, please let me know if you didn’t hear...
More posts like this please. Short, snappy and handy! I chuckled at the absurdity of conflicting rotation values in the resulting code, but it does the job perfectly well for what Robin was trying to achieve: animating around a shape, not spinning. I’m not sure when I would use this technique, but I know I will in the future and this is going to...
Most people should take more flights. This especially applies if you’re young: you need to find out where you belong. If you want to do interesting things with interesting people, most of that will happen in larger cities. For a … Continue reading →
Each of us adheres to an education principle that will act as a north star. This principle is often modeled after or against how we were raised.To some, this principle emphasizes the authority in parental authority: "My kids do what I tell them to because I tell them to do it." To others, the guiding principle is one of full agency of the child: "My kids are human beings; they know what's best for them." And the majority of people have principles somewhere between these two...
Suppose you wanted to approximate Γ(10.3). You know it’s somewhere between Γ(10) = 9! and Γ(11) = 10!, and linear interpolation would give you Γ(10.3) ≈ 0.7 × 9! + 0.3 × 10! = 1342656. But the exact value is closer to 716430.69, and so our estimate is 53% too high. Not a very good […] The post Interpolating the gamma function first appeared on...
M.G. Siegler on his relatively new Spyglass blog (running on Ghost, which always makes me happy): Apple Introduces Revolutionary New Fees for EU DevelopersBasically it feels like Apple is making the changes that the EU clearly is angling for, but doing so in the most pedantic way possible,
Would you like your scone warmed up? asked the barista as I placed my order in the bookstore cafe. I was touched by the question. I am used to cafes asking questions about the preferences of an order – “would you like that with oat milk?”, “what size of coffee would you like?” – but this time felt different. I was then asked what jam I would...
While sitting at my desk, I gazed up at the window and saw red, orange, yellow, green, blue, indigo, and violet. A rainbow. This is the second one I have seen over the last few days. Today’s rainbow looked like the bottom was close to my house. With a spontaneity that I didn’t realise I have, I walked briskly to get my shoes and keys. I was...
Aug 9th, 2024 How the SNES Graphics System works Last week's article discussed how the Super Nintendo's Video system feeds the TV's CRT. Today I'll summarize what I understand of the hardware generating these graphics. A precious resource is Jonathon Donaldson's schematics of the SNES. If you have a large monitor, I recommend to take a minute and
Aug 9th, 2024 SNES graphics: 186.2ns or bust! The last article discussed the hardware of the Super Nintendo's graphic system. This one describes how these components collaborate to render sprites and backgrounds. Researching this topic was really cool since it allowed me to understand how limitations such as the number of layers in a mode, the depth (bits-per-pixel) of...
Yesterday, I launched my latest project, Failure Hunt, on Product Hunt. Unfortunately, it wasn’t as successful as I had hoped it would be.… Continue reading → The post Failure Hunt on Product Hunt appeared first on Sergey Kaplich.
Me a few weeks ago: tfw when you have an idea for a personal website redesign, and then you build it, and then you hate it, and then you have to decide whether to ship it anyway or keep what you have As you can probably guess from the title[1], I decided to keep what I have and throw away what I built. But I felt really bad throwing it away, so I...
Hi. I’m Fabian “ryg” Giesen, one of the co-authors of Oodle, originally made and sold by RAD Game Tools, now (after an acquisition in late 2020) officially Epic Games Tools as per the business license. Everyone (even at Epic) still mostly refers to us as RAD though; it’s been a long-standing name and nobody sees […]
As AI continues to evolve, so do the threats against it. As these GenAI systems become more sophisticated and widely adopted, ensuring their security and ethical use becomes paramount. 0Din is a groundbreaking GenAI bug bounty program dedicated specifically to help secure GenAI systems and beyond. In this blog, you'll learn about 0Din, how it...
This is interesting. A trifle more expensive, a little faster, more RAM, flash and PIO, and a bonus set of two RISC-V cores you can use instead of the slightly faster ARM ones (both sets already come on the chip, and the active set is selected upon boot). Oh, and signed boot. Plus the kind of backward compatibility you’d expect from them–even...
Apple: Updates to the StoreKit External Purchase Link EntitlementDevelopers can communicate and promote offers for purchases available at a destination of their choice. The destination can be an alternative app marketplace, another app, or a website, and it can be accessed outside the app or via a web view
Jason Snell on Six Colors: Apple’s permissions features are out of balanceBut what Apple’s testing in the latest macOS Sequoia betas is brutal because there’s no end to it. It’s a subscription you didn’t buy and can’t
Raspberry Pi Pico 2 - RP2350 adds more PIO, RISC-V cores The $5 Raspberry Pi Pico 2 was announced today, with a new chip, the RP2350. This silicon improves on almost every aspect of the RP2040: 3 PIOs instead of 2 150 MHz instead of 133 MHz base clock Faster Arm Cortex M33 cores and RISC-V Hazard3 cores I've had access to pre-release...
A rich set of functions for working with date, time and durations.
A rich set of functions for working with date, time and durations.
How costly it is to call functions and builtins in your python code? Does inlining help? How have the recent CPython releases improved performance in these areas?
For the longest time, I’ve had “do an article about why position sticky probably isn’t working” item on my articles to write list and I’m glad to tell you, I have removed that item today because Kilian has nailed it. The position: sticky capability is unbelievably useful, but it comes with many little quirks that prevent it from working as...
I honestly don’t know what AMD is thinking here, only a few months after this being released and making decent progress. They’re definitely not buying themselves any goodwill (it looks like a legal self-justifying hack job, the kind of thing that an org will do to avoid having hassles for their own sake) and it’s not as if this was endangering...
‘Small Village’ of Supposedly-Deceased Intellectuals Found Alive, Thriving at Caribbean Resort Gabriel Martinez, a 35-year-old confectioner living in the Cayman Islands, thought he was posting a simple promotional photo when he snapped a picture of his ‘cocoa-banana-surprise’ and posted it to Instagram last week. Instead, he ignited a scandal...
The PlayStation has some unorthodox methods for generating 3D graphics. This article explains how PS1 graphics work & covers some important visual artefacts that are associated with Sony's console.
Benj Edwards: Major Shifts at OpenAI Spark Skepticism About Impending AGI TimelinesThe moves have led some to wonder just how close OpenAI is to a long-rumored breakthrough of some kind of reasoning artificial intelligence if high-profile employees are jumping ship (or taking long breaks, in the case of Brockman)
Silent changes in payment methods on big creator funding platforms raise some unpleasant questions. UPD Aug 13, 2024: The kind-of-official reply from BuyMeACoffee, and my response to it. UPD Aug 14, 2024: A support email to one of the users gives BuyMeACoffee’s reasons, and also they blocked me on X (Twitter). What happened Recently, many...
I learned this neat Bash trick today where you can make a raw HTTP request using the /dev/tcp file descriptor without using tools like curl or wget. This came in handy while writing a health check script that needed to make a TCP request to a service. The following script opens a TCP connection and makes a simple GET request to example.com:...