>

Hi there 👋

Welcome to my blog.

Analysis of HPC Matrix Multiplication Performance Benchmarking

This post analyzes matrix multiplication performance on Intel Xeon CPUs and NVIDIA V100 GPUs, comparing results across C++, OpenMP, CUDA, MPI, NVSHMEM, and Python frameworks like NumPy and CuPy.

January 11, 2026 · 19 min · 3873 words · Tategoto Azarasi

Reproducing RetinaSim on an HPC Cluster

Recently, I undertook a rather challenging task: to fully reproduce a paper titled “Physics-informed deep generative learning for quantitative assessment of the retina” on a High-Performance Computing (HPC) cluster. The core software repository for this paper is RetinaSim. The goal was not merely to run the code, but to completely replicate its complex software stack and simulation workflow in a strictly managed computational environment, one that likely differed significantly from the original developers’. This blog post will chronicle my entire journey from the initial attempt to the final successful run, focusing on my chain of thought as I diagnosed and resolved a series of tricky issues. ...

December 28, 2025 · 16 min · 3234 words · Tategoto Azarasi

Building a Data-Driven City: Integrating Housing, Safety, and Deprivation Metrics with Python

This post details how to build an interactive urban planning visualization system using Python, Geopandas, and Folium by integrating housing pipelines, crime data, and socioeconomic metrics.

December 3, 2025 · 7 min · 1444 words · Tategoto Azarasi

Importing My University Timetable into a Personal Calendar: A Hands-On Journey Through Manual API Exploration and iCalendar Generation

Learn how to reverse-engineer a university’s private timetable API using browser developer tools and write a Python script to convert the JSON data into a universally importable iCalendar (.ics) file for your personal calendar.

November 9, 2025 · 15 min · 3004 words · Tategoto Azarasi

Building a TypeScript Video Downloader for Complex, Anti-Scraping Websites

How to build a robust video downloader from scratch with TypeScript, Node.js, and Playwright, capable of handling complex anti-scraping mechanisms, dynamic content loading, and network race conditions.

November 9, 2025 · 19 min · 3970 words · Tategoto Azarasi

Uol 2025 Wk3 && LeetCode Biweekly Contest 168 Solutions

Weak Vertices The Problem In graph theory, the structural integrity of a network can often be analyzed by identifying fundamental shapes within it, such as triangles. A triangle provides rigidity and is a common motif in many applications. This problem asks us to identify vertices that are not part of any triangle. A vertex i is defined as being part of a triangle if it has two distinct neighbors, j and k, which are also neighbors of each other. Our task is to find all vertices that do not satisfy this condition, which the problem statement refers to as “weak vertices.” The graph is given to us in the form of an adjacency matrix. ...

October 25, 2025 · 56 min · 11743 words · Tategoto Azarasi

Uol 2025 Wk2 Solutions

Recount Problem The recent schoolboard elections were hotly contested: a proposal to swap school start times for elementary and high school students, a controversial new dress code proposal that bans athletic clothes in school, and a proposal to raise real-estate taxes to pay for a new football practice facility, and the list goes on and on. It is now hours after the polls have closed and a winner has yet to emerge! ...

October 1, 2025 · 19 min · 3838 words · Tategoto Azarasi

Discovering a Delete-Your-Files-and-Run Level Bug in debtap

A deep-dive investigation into the Arch Linux tool debtap reveals how a well-intentioned typo fix accidentally activated a catastrophic rm -rf bug that deleted all files in the current working directory.

August 6, 2025 · 10 min · 2059 words · Tategoto Azarasi

Troubleshooting a Stubborn DMIC on a ThinkBook 16 G7+ ASP with Linux

Detailed troubleshooting process for fixing a silent digital microphone on a Lenovo ThinkBook 16 G7+ ASP (AMD Ryzen AI 9) laptop running Linux, primarily resolved by adding the kernel module parameter options snd_sof_amd_common enable_pdm=1.

May 24, 2025 · 16 min · 3208 words · Tategoto Azarasi

Delving into Anki Cards: Demystifying Templates for Data Extraction and Practical Application

Uncover techniques to demystify complex Anki card templates using Puppeteer and JSDOM for accurate data extraction from dynamically rendered content and facilitate migration.

May 16, 2025 · 28 min · 5771 words · Tategoto Azarasi