René's URL Explorer Experiment


Title: Home | nyanpasu64's blog

Open Graph Title: Home

X Title: Home

Description: Adventures in programming, hardware, DSP, and chiptune

Open Graph Description: Adventures in programming, hardware, DSP, and chiptune

Opengraph URL: https://nyanpasu64.gitlab.io/

direct link

Domain: nyanpasu64.gitlab.io


Hey, it has json ld scripts:
{
  "author": {
    "@type":"Person"
    ,"name":"nyanpasu64"
  }
  ,"description": "Adventures in programming, hardware, DSP, and chiptune"
  ,"url": "https://nyanpasu64.gitlab.io/"
  ,"@context":"https://schema.org"
  ,"@type": "WebSite"
  ,"headline": "Home"
  
}

authornyanpasu64
og:localeen-US
og:site_namenyanpasu64's blog
twitter:cardsummary

Links:

nyanpasu64's blog https://nyanpasu64.gitlab.io
Postshttps://nyanpasu64.gitlab.io
Tagshttps://nyanpasu64.gitlab.io/tags
(Mostly) disabling the Cyberduck nag on macOS May 21, 2026Cyberduck on macOS normally nags you every time you close the program to purchase a "donation" key. Removing it entirely requires modifying and recompiling the application yourself (or possibly patching the compiled Java code), but you can reduce the blocking popups to almost nothing with the following shell commands: https://nyanpasu64.gitlab.io/blog/cyberduck-nag/
Fixing kernel updates not applying in Fedora 43 November 19, 2025One of the stranger issues you can encounter on Fedora is when new kernels stop being bootable from the GRUB bootloader. This usually happens after major version updates, and has been reported online from Fedora 39 up to the present day. In my case kernels were being installed to /boot/efi rather than /boot, where GRUB expects kernels to be placed. In the process of fixing this issue, I learned about how Fedora and kernel-install determine where to place boot entries. https://nyanpasu64.gitlab.io/blog/fixing-fedora-kernel-updates/
How I helped fix sleep-wake hangs on Linux with AMD GPUs December 29, 2024I dual-boot my desktop between Windows and Linux. Over the past few years, Linux would often crash when I tried to sleep my computer with high RAM usage. Upon waking it would show a black screen with moving cursor, or enter a "vegetative" state with no image on-screen, only responding to magic SysRq or a hard reset. I traced this behavior to an amdgpu driver power/memory management bug, which took over a year to brainstorm and implement solutions for. https://nyanpasu64.gitlab.io/blog/amdgpu-sleep-wake-hang/
A guide to CRT photography August 11, 2024It's well-documented that acquiring a CRT display instantly awakens an instinct to show off photos of game title screens and calibration patterns to every Discord friend and server within earshot, at the expense of actually playing games on the display. CRT photography is a tricky art, requiring you to account for factors like flicker, moire, brightness and color accuracy, and room glare to produce optimal results. Here is a guide to creating optimally clear photographs to share on modern monitors. https://nyanpasu64.gitlab.io/blog/crt-photography/
Making iron gall ink from oak galls June 11, 2024Back in May, I was taking a walk around the neighborhood when I came across an oak tree with dozens of galls hanging from the stem. At first I thought these were seed pods and didn't even recognize the tree as an oak, but PlantNet (and later Seek) informed me it was a valley oak. At this point I realized the pulpy brown masses hanging from the stems were oak galls, and I had the idea to make my own iron gall ink like people did in centuries past. https://nyanpasu64.gitlab.io/blog/iron-gall-ink/
Update: CRT modelines and EDID editing October 20, 2023I've released a major update to my article, "A deep dive into CRT modelines and EDID editing". I've expanded on getting a VGA output using HDMI-to-VGA adapters (DACs), reading, writing, and editing EDID data on Windows, Linux, and Mac, and tuning modelines in CRU to improve geometry and sharpness. If you're interested in using CRT monitors on computers, be sure to check it out! https://nyanpasu64.gitlab.io/blog/crt-modeline-2023-10/
Diagnosing video signal loss on Wii and GBS-Control July 4, 2023Last year I bought a GBS-Control to upscale and transcode game consoles for a VGA CRT monitor, and have been using and developing for it since. A few months ago, while playing my Wii in 480p with the GBS-C in passthrough mode (zero-latency non-scaling transcoder), I started getting random black screens every few hours. While I initially suspected a simple software problem, locating the cause of this bug spiraled into a multi-month adventure involving overheating chips, transmission-line time-delay measurements, and chasing RF interference. https://nyanpasu64.gitlab.io/blog/wii-gbs-c-sync-loss/
A deep dive into CRT modelines and EDID editing June 5, 2023In the process of setting up CRT TVs and monitors, I've often worked with modelines, the cryptic strings of numbers which define how a GPU should drive a display cable with rows of pixels. Once critical to 90's Linux users trying to setup XFree86 to display on their CRT monitors, modelines have found a new life among hobbyists who tinker with resolutions and framerates to bring out the full potential from their CRT and gaming LCD monitors. https://nyanpasu64.gitlab.io/blog/crt-modeline-cvt-interlacing/
Exploring the appearance of CRT televisions and monitors March 4, 2023There's a recurring school of thought that the best way to experience the visuals of pre-HD console and PC games is to play them on period-accurate CRT displays. CRT images have a characteristic rich colorful look, with soft warm scanlines and crisp phosphors, as well as zero (added) latency and unmatched motion characteristics, all which make CRTs so beloved by retro gamers. Here we will explore how TV/monitor construction and operation create the various features making up the CRT look. https://nyanpasu64.gitlab.io/blog/crt-appearance-tv-monitor/
A filesystem only a penguin could love December 10, 2022About a year ago, when loading games onto my Wii's USB hard drive (shhhh), I found the hard drive would not mount on the Wii but only on Linux. Although I initially suspected a disk incompatibility, digging revealed a bizarre rabbit hole, where broken Linux FAT32 resizing tools produced corrupt partition headers only recognized by Linux, which fsck couldn't fix, and PhotoRec outright hung on when reading. https://nyanpasu64.gitlab.io/blog/parted-fat32-header-corruption-testdisk-photorec/
Adjusting the backlight PWM frequency on an Ivy Bridge laptop November 8, 2022After chip-level-flashing a Ivy Bridge Dell laptop (Inspiron 15R SE 7520) with a corrupted BIOS chip (the BIOS spontaneously corrupted in 2014 then I fried the EC trying to reflash the BIOS, but that's a story for another time), I was disappointed to find that the backlight was dimmed using PWM at 200 Hz (a period of 5ms). https://nyanpasu64.gitlab.io/blog/backlight-pwm/
Playing Stray (2022) on a CRT TV in 480i October 20, 2022One of my recent projects was to get my PC to output 480i signals to my recently acquired Trinitron TV for running modern and historical games on a CRT TV. (I'd definitely be better served by a CRT monitor, but I didn't have one and still don't 😿.) https://nyanpasu64.gitlab.io/blog/amdgpu-stray-crt-480i/
Porting my blog to Zola June 27, 2022🔗 Moving away from GitHub Pages and Jekyll I've hosted my blog for a few years on GitHub Pages and Jekyll, sporadically updating it with new content. Recently I've grown frustrated with the difficulty of writing posts, and synchronizing drafts between devices without pushing to m… https://nyanpasu64.gitlab.io/blog/porting-my-blog-to-zola/
Implementing low-latency shared/exclusive mode audio output/duplex June 14, 2022Audio output and duplex is actually quite tricky, and even libraries like RtAudio's ALSA backend get it wrong. If you're writing an app that needs low-latency audio without glitches, the proper implementation architecture differs between apps talking to pull-mode (well-designed, low-latency) mixing daemons, and apps talking to hardware. https://nyanpasu64.gitlab.io/blog/low-latency-audio-output-duplex-alsa/
The missing guide for Arch Linux PKGBUILD's pkgver() version numbers August 13, 2021Pacman's version comparison algorithm was designed over a decade ago to properly sort many categories of real-world version numbers, and is now set in stone, quirks and all. Later on, the AUR developed pkgver() conventions and templates which turn Git commits into version numbers… https://nyanpasu64.gitlab.io/blog/the-missing-guide-for-arch-linux-pkgbuild-s-pkgver-version-numbers/
ExoTracker Newsletter #2 - Pivoting to SNES, designing an instrument list March 10, 2021For those of you who aren't already aware, ExoTracker is a tracker-like composing tool, based around subdividing beats instead of integer rows. This allows the user to place notes at arbitrary fractions of a beat (like sheet music), and additionally allows tracker-like delay effe… https://nyanpasu64.gitlab.io/blog/exotracker-newsletter-2-pivoting-to-snes/
An unsafe tour of Rust's Send and Sync January 1, 2021Rust's concurrency safety is based around the Send and Sync traits. For people writing safe code, you don't really need to understand these traits on a deep level, only enough to satisfy the compiler when it spits errors at you (or switch from std threads to Crossbeam scoped threads to make errors go away). https://nyanpasu64.gitlab.io/blog/an-unsafe-tour-of-rust-s-send-and-sync/
ExoTracker Issues - Abandoning the grid October 10, 2020Trackers have decades of design, with interlocking features and design decisions, many based on the assumption that every event is quantized on a grid: You don't need lines above events, since it's obvious which row the event is in. In regular trackers, events are treated as ta… https://nyanpasu64.gitlab.io/blog/exotracker-issues-abandoning-the-grid/
ExoTracker Newsletter #1 August 26, 2020I just finished implementing timeline entry editing. Since I have school coming up, I decided to release a demo of its current state. Since my summary was getting a bit too long to post in Discord, I decided to write a blog post / newsletter. 🔗 Demo download Windows 64-bit: https… https://nyanpasu64.gitlab.io/blog/exotracker-newsletter-1/
Describing convolution using item-based indexing and inclusive ranges May 8, 2020This is a follow-up to my previous post, "The gridline mental model of indexing and slicing". I split this out because it's related to DSP as well as programming, and may not be as interesting to the broader programming audience. In some cases, it's useful to think of array indi… https://nyanpasu64.gitlab.io/blog/describing-convolution-using-item-based-indexing-and-inclusive-ranges/
Older →https://nyanpasu64.gitlab.io/page/2/
Zolahttps://www.getzola.org
Tale-Zolahttps://github.com/aaranxu/tale-zola
modifiedhttps://github.com/nyanpasu64/tale-zola

Viewport: width=device-width, initial-scale=1.0


URLs of crawlers that visited me.