December 2024

58 bookmarks saved in December 2024

How I’m trying to use BlueSky without getting burned again - Welcome

https://chrisholdgraf.com/blog/2024/bluesky
My guiding principle for using BlueSky (or any platform or SaaS product for that matter) is to assume that it will go away in three years. It’ll either go bankrupt, get bought, or change its strategy to enshittify the product. You can make an argument that BlueSky has some technical protections against this (though Cory Doctorow is still skeptical about how enshittification may play out with BlueSky) but I think the heuristic above is still the right one to follow.

Don’t build your castle in other people’s kingdoms – How To Market A Game

https://howtomarketagame.com/2021/11/01/dont-build-your-castle-in-other-peoples-kingdoms/
The kingdom gets absorbed by another neighboring King that has no idea why people where there in the first place and starts changing the laws and everyone leaves. Example: Tumblr There are countless tales of this happening. EVERY SINGLE EXTERNAL KINGDOM will do this to you. No matter how “cool” or “hip” they are right now. They will let you down.

Indiana bakery still using Commodore 64s originally released in 1982 as cash registers — Hilligoss Bakery in Brownsburg sticks to the BASICs | Tom's Hardware

https://www.tomshardware.com/desktops/indiana-bakery-still-using-commodore-64s-originally-released-in-1982-as-point-of-sale-terminals
Aside from the technical curiosity, it would seem that Hilligoss Bakery is actually well-appreciated in its local Brownsburg community for the quality of its pastries and not simply the oddity of using a "microcomputer" originally released in 1982— though to Hilligoss' credit, the shop actually opened back in 1974, which would make the Commodore 64s a year-eight acquirement at the earliest. We can only suppose that further upgrades haven't been needed since.

Getting a dial-up modem working with VoIP – Peter Mount's Blog

https://area-51.blog/2021/01/16/getting-a-dial-up-modem-working-with-voip/
Most people don’t have a land line anymore, nor are there many BBS’s online that are connected to the old phone system, so the only option is using VoIP to connect them. However if you read online, most people say it’s either not possible or would be painfully slow. So, let’s see if we can get something working.

The story of Rogue - Spillhistorie.no

https://spillhistorie.no/the-story-of-rogue/
Rogue is one of the most influential games of all time. Even if you haven’t played it, you’ve definitely played several games that have Rogue’s DNA in them. It became so popular when it was released for UNIX-based systems in 1980 that it created its own genre, which we still know as ‘roguelike games’. Even in the decades when these games were niche experiences, the genre was important. The action role-playing game Diablo built directly on the roguelike genre, which means that all the games that followed in Diablo’s footsteps also have their roots here.

Principal Engineer Roles Framework

https://www.linkedin.com/pulse/principal-engineer-roles-framework-mai-lan-tomsen-bukovec-142df/
The framework was pretty helpful for us as a team to optimize (or “force multiply” as we say in the Amazon Principal Tenets) the impact of our super awesome Principal Engineer community. We used the role framework to assess Principal Engineer engagement for our most important projects across Amazon S3/Glacier. In some cases, we changed the role of the Principal Engineer.

Legend of Zelda: Four Swords Adventures

https://lparchive.org/Legend-of-Zelda-Four-Swords-Adventures/
Released in 2004 for the Nintendo GameCube, Zelda: FSA made use of the wack-ass peripheral known as the GCN-GBA link cable. By hooking these cables up to your Game Boy Advances, you and three friends could play through a cooperative adventure through a land of shittily scaled sprites and bizarre graphical effects known as Hyrule. At the end of each level, everyone gets judged by the game and their heroic cohorts and through a variety of criteria (mainly money), there's a winner for each level. Cooperate and compete. Nintendo's done that a couple of times now.

Tripos, the Roots of AmigaDOS – pagetable.com

https://www.pagetable.com/?p=193
The core of the Amiga Operating systems consists of the three major components Exec (scheduling, memory management, IPC), Intuition (GUI library) and AmigaDOS (process and file management). AmigaDOS is based on the Tripos operating system which Commodore bought because development of their own DOS subsystem failed to meet deadlines. In this article, I am presenting searchable PDFs of the very rare Tripos manuals (638 pages) as well as the AmigaDOS manual (304 pages). Comparing the two documents will share some insight in the relationship between Tripos and Amiga OS.

Advent of Code on the Nintendo DS

https://sailor.li/aocnds.html
The problem with Advent of Code is that it is a waste of time. Most of the puzzles are in the realm of either string processing (somewhat applicable to programming), logic puzzles (not really applicable to most programming), or stupid gotchas in the input format (annoyingly, very applicable to most programming). So to combat this a lot of people use Advent of Code as an excuse to learn a new programming language that they wouldn't otherwise have a reason to use.

Never Forgive Them

https://www.wheresyoured.at/never-forgive-them/
I will never forgive these people for what they’ve done to the computer, and the more I learn about both their intentions and actions the more certain I am that they are unrepentant and that their greed will never be sated. I have watched them take the things that made me human — social networking, digital communities, apps, and the other connecting fabric of our digital lives — and turned them into devices of torture, profitable mechanisms of abuse, and find it disgusting how many reporters seem to believe it's their responsibility to thank them and explain why it's good this is happening to their readers.

The enshittification of the web in one image – The Interconnected

https://theinterconnected.net/kirabug/the-enshittification-of-the-web-in-one-image/
But this screenshot right here of the Financial Times site posting a Cory Doctorow article about enshittification is a work of art. Yes, we’ve proven that quality news needs to be paid. Yes, subscriptions are a good way to do that. And yes, cookies do often keep your computer secure. But putting an article on enshittification behind both a paywall and a giant cookie management dialog asking you to accept cookies from FT and their 27 technology partners? Chef’s kiss right there.

The Math Behind The Music Of The 80s | Hackaday

https://hackaday.com/2024/12/11/the-math-behind-the-music-of-the-80s/
Part of the reason the DX7 was so revolutionary was that it was among the first accessible synthesizers that was fully digital, meaning could play more than one note at a time since expensive analog circuitry didn’t need to be replicated for multiple keys. But it also generated its tones by using frequency modulation of sine waves in a way that allowed many signals to be combined to form different sounds. While most popular musicians of the 80s used one of the preset sounds of the synthesizer, it could produce an incredible range of diverse sounds if the musician was willing to dig a bit into the programming of this unique instrument.

I Like Makefiles

https://switowski.com/blog/i-like-makefiles/
The reason I like makefiles is that they often follow an unwritten convention of implementing the same set of commands to get you up and running. When I find a project I know nothing about, and I see a Makefile file inside, chances are that I can run make or make build followed by make install, and I will get this project built and set up on my computer. Or at least I will get information on other steps I need to include.

Taking regular screenshots of my website – alexwlchan

https://alexwlchan.net/2024/scheduled-screenshots/
I was mulling over this for a while, and I had an idea. I like having a set of screenshots as a visual history of the stuff I’ve worked on (including this site), but I’m not very good at remembering to create them. I just finished a bunch of design tweaking on this site, and I completely forgot to take a screenshot of what it looked like before I started making changes.

Implementing Filtered Semantic Search Using Pgvector and JavaScript

https://www.timescale.com/blog/implementing-filtered-semantic-search-using-pgvector-and-javascript-2/
Conventional search methods rely on keyword matching, where the system locates exact words or phrases from the query within documents. This technique can be enhanced to better capture the context and intent behind the user's query, leading to more relevant and precise search results. Semantic search focuses on understanding the meaning and intent behind the query. Combining semantic search with filters—or additional parameters to narrow the results based on specific attributes—further improves accuracy. In this article, we explore semantic search with filters and demonstrate how you can implement it using pgvector and JavaScript.

Nobody Gets Fired for Picking JSON, but Maybe They Should? · mcyoung

https://mcyoung.xyz/2024/12/10/json-sucks/
JSON is extremely popular but deeply flawed. This article discusses the details of JSON’s design, how it’s used (and misused), and how seemingly helpful “human readability” features cause headaches instead. Crucially, you rarely find JSON-based tools (except dedicated tools like jq) that can safely handle arbitrary JSON documents without a schema—common corner cases can lead to data corruption! (blog also has a neato minimap view of the whole entry on the side, like VSCode)

Found Decades Later

https://www.twobraids.com/2024/12/found-decades-later.html
For two days, I have been obsessively poring over these documents and photos, reveling in the memories. I have a new window into my thoughts, emotions, tragedies and triumphs from lost decades. Long-dead friends and lovers whisper in my ears from within my own words.

Employees are being marched back to the office. But why? | Life and style | The Guardian

https://www.theguardian.com/lifeandstyle/2024/dec/08/employees-are-being-marched-back-to-the-office-but-why
Like many people I thought Covid, with its stopped clock and blunt force, would bring a major reckoning. A reckoning with small things, like what we wear, and with large things, too – how we relate to each other, for example, how we consume and, crucially, how we work. But what seemed to happen, and very quickly, was that people rushed back to try to make life exactly as it was before. There was a panic to fill the empty office blocks, to repopulate the Prets and very little incentive to use the imposed pause to look around at what could be improved and what we’d got terribly wrong. I sound like a child saying this, I know, but what if the office blocks became affordable flats instead? What if we learned one single lesson? The rise of hybrid working was one of very few silver linings to the pandemic – that reach for an elusive balance and acknowledgment from employers that their workers were human beings, too.

The Pixel Canvas Shimmer Effect

https://ryanmulligan.dev/blog/pixel-canvas/
I recently stumbled on a super cool, well-executed hover effect from the clerk.com website where a bloom of tiny pixels light up, their glow staggering from the center to the edges of its container. With some available free time over this Thanksgiving break, I hacked together my own version of a pixel canvas background shimmer. It quickly evolved into a pixel-canvas Web Component that can be enjoyed in the demo below. The component script and demo code have also been pushed up to a GitHub repo.

Install Docker natively on Android Phone and use it as a Home Server | CrackOverflow

https://crackoverflow.com/docs/system_administration/containerization/install-docker-natively-on-android-phone-and-use-it-as-a-home-server/
In this tutorial, we will guide you through the process of installing Docker on your Android phone, specifically using a OnePlus 6T with postmarketOS. I also wrote another blog post explaining how you can run this phone without a battery, allowing it to run forever as long as it remains connected to a power source. If you’re interested, feel free to check it out! This guide can be adapted only for phones on the postmarketOS device list. Please note that this process will erase all data on your phone, so it’s important to use a device you don’t need.

The 70% problem: Hard truths about AI-assisted coding

https://addyo.substack.com/p/the-70-problem-hard-truths-about
AI isn't making our software dramatically better because software quality was (perhaps) never primarily limited by coding speed. The hard parts of software development – understanding requirements, designing maintainable systems, handling edge cases, ensuring security and performance – still require human judgment. What AI does do is let us iterate and experiment faster, potentially leading to better solutions through more rapid exploration. But only if we maintain our engineering discipline and use AI as a tool, not a replacement for good software practices. Remember: The goal isn't to write more code faster. It's to build better software. Used wisely, AI can help us do that. But it's still up to us to know what "better" means and how to achieve it.

'Weird Al' Yankovic Releases Four Simultaneous Takes of His 'Tacky' Music Video From 2014

https://laughingsquid.com/weird-al-tacky-four-simultaneous-takes/
The inimitable “Weird Al” Yankovic released four of the six different takes of the music video for his song “Tacky” running together simultaneously. The song, a parody of “Happy” by Pharrell, was released in 2014 and played a big part in Yankovic’s Mandatory World Tour.

The NES Expansion Port Is Finally Emerging From The Darkness. Why Now?

https://tedium.co/2024/12/02/nintendo-expansion-port-history/
After 39 years, console modders have begun to develop ways to use the Nintendo Entertainment System’s infamous expansion slot, a key example of vestigial manufacturing. In honor of this amazing feat, which is being used to add Bluetooth and Famicom Disk System support to the console, I thought it might be good to take a look back at this fascinating wrinkle of history. Today’s Tedium ponders the legacy of the NES Expansion Port, and where it’s going next.

About | Skia Canvas

https://skia-canvas.org/
Skia Canvas is a browser-less implementation of the HTML Canvas drawing API for Node.js. It is based on Google’s Skia graphics engine and, accordingly, produces very similar results to Chrome’s <canvas> element. The library is well suited for use on desktop machines where you can render hardware-accelerated graphics to a window and on the server where it can output a variety of image formats.

How to fix Storybook screenshot testing | Tiger Oakes

https://tigeroakes.com/posts/storybook-test-runner-screenshots/
As an alternative to Chromatic, I’ve been using Storybook’s Test Runner to power screenshot tests for Microsoft Loop. We configure the test runner to run in CI and take a screenshot of every story. However, the initial implementation based on the official Storybook docs was very flaky due to inconsistent screenshots of the same story. Here are some tips to reduce flakiness in your Storybook screenshot tests.

Automatically Posting to Bluesky on New RSS Items

https://www.raymondcamden.com/2024/11/05/automatically-posting-to-bluesky-on-new-rss-items
For this solution, I'm using Pipedream. I've blogged for years now and love it. Their free tier will support what I'm showing below so you should feel free to give it a try. There are many alternatives out there, but Pipedream has some great features that I think make it stand out. You'll see that especially in the first step below. But, keep in mind if you've already got a platform you would want to use, as long as you can handle the execution on new RSS items, you could probably just skip to the last step and copy and paste from my code.

Godot Isn't Making it

https://www.wheresyoured.at/godot-isnt-making-it/
New, more powerful chips require entirely new methods to rack-mount, operate and cool them, and all of these parts must operate in sync, as overheating GPUs will die. While these units are big, some of their internal components are microscopic in size, and unless properly cooled, their circuits will start to crumble when roasted by a guy typing "Garfield with Gun" into ChatGPT.

PyMyFlySpy: track your flight using its headrest data | Robert Heaton

https://robertheaton.com/pymyflyspy/
When you connect to an airplane wi-fi network, you’re usually met with a payment page where you can purchase access to the internet. The page also usually gives you the same flight information that you’d find in the back of your headrest, like speed, direction, and estimated flight length. Perhaps it would have a map as well, I thought.

93-year-old YouTuber back in business after being kicked off platform over porn allegation | CBC News

https://www.cbc.ca/news/canada/toronto/youtube-porn-allegation-academic-1.7400158
Metta Spencer, a sociologist whose online broadcasts regularly feature world leaders in the fields of peace, climate change, pandemics, famine and, ironically, cyber risks said she spent weeks trying to convince YouTube Canada that the porn clips were the result of a hacking attack, without success.

Creating a Proxmox or QEMU ChromeOS Flex VM | Kevin David

https://kevindavid.org/code/2024/03/20/chrome-os-flex-proxmox.html
I recently wanted to experiment with ChromeOS Flex but didn’t want to install it on a physical machine. I also was doing this without a USB key, which complicated things slightly. After some trial and error, there are two non-obvious steps to get the installer running: Properly mounting the .bin live USB image in a way that’s accessible to the VM Setting graphics drivers to something ChromeOS Flex supports, which enables the VM to successfully boot the live USB image

modernity is stupid: a rant not about politics | The Roof is on Phire

https://phirephoenix.com/blog/2024-11-05/modernity
The only reason I even moved to Omnivore is because Mozilla has been systematically neglecting and underfunding Pocket for years and the app is increasingly dominated by things I did not save, the literal one job it had, and I had moved to Pocket after Instapaper first changed ownership in 2013 or whatever and I didn’t like the new owners, and I also can’t go back to Pinboard because while I used to love that dude’s writing he’s turned into a transphobic asshole crank so fuck him, but like, why do I even know that?? Why do I know what Maciej thinks?? Why do I know that DHH is a fucking creep and a weirdo which is why I will never pay for their email service which otherwise seems pretty cool, why do I know that Brave is the homophobic browser in bed with cryptocurrency bros, why do I know that the Kagi dude thinks adding suicide prevention hotlines to search results for “how to kill yourself” is censorship, why do I know about Matt Mullendweeb’s entire existence?? The modern world is unbelievably stupid, and if you don’t pay attention to the stupidity when something bad happens someone shows up in your notifications all like, well what did you expect. I expect you to fuck off!!

Turning Your Root URL Into a DuckDB Remote Database | Drew Breunig

https://www.dbreunig.com/2024/12/01/turning-your-root-url-into-a-duckdb-remote-database.html
On the Overture Slack, Jake Wasserman shared a cool trick where you can connect to a remote DuckDB database using the ATTACH statement, using an HTTP or S3 URL. Jake’s demo was especially cool because he created a DB containing only views referencing an Overture parquet on S3, so the hosted database file was only a couple hundred kilobytes.

Frutiger Metro | Aesthetics Wiki | Fandom

https://aesthetics.fandom.com/wiki/Frutiger_Metro
Frutiger Metro (also known as Flat Frutiger Aero, Vector Metro, or Vector Vomit) is a broad design aesthetic that encompasses the "Frutiger" vector-based graphic designs of the 2000s, utilizing glossy textures, abstract flourishes, humanism, nature, gradient blocks, and bloom elements. It combines flat, minimalist graphics with a maximalist design philosophy, typically catering to a pre-teen/teenage demographic. Frutiger Metro shares a lot of similarities with Frutiger Aero and other aesthetics of the time; unlike Frutiger Aero which has a large focus on detailed glossy 3D designs, Frutiger Metro is flat.

Frutiger Metro Aesthetic - frutiger-aero.org

https://frutiger-aero.org/frutiger-metro
Frutiger Metro, also known as Flat Frutiger Aero, Vector Metro, or Vector Vomit, is an expansive design aesthetic that encapsulates the "Frutiger" vector-based graphic designs of the 2000s. It features glossy textures, abstract flourishes, humanism, nature-inspired elements, gradient blocks, and bloom effects. Frutiger Metro combines flat, minimalist graphics with a maximalist design philosophy, often appealing to a pre-teen and teenage demographic. While sharing many similarities with Frutiger Aero and other aesthetics of the era, Frutiger Metro distinguishes itself by its focus on flat, 2D designs, in contrast to Frutiger Aero's emphasis on detailed, glossy 3D elements.