All Articles

1091 articles in total

Bulk-Editing 508 Zenn Articles with Playwright and Internal API for Migration Redirects

When migrating 900+ articles from Zenn to a self-hosted Hugo blog, I used Playwright and an undocumented API to bulk-replace article bodies with redirect notices.

zennplaywrightpythonseo

Building a Custom Hugo Theme with Tailwind CSS v4 and Submitting to Hugo Themes Gallery

A record of migrating from PaperMod to a custom Tailwind CSS v4-based Hugo theme and submitting it to the official Hugo Themes gallery.

hugotailwindcssthemecss

🔄Handling App Store Rejection and Resubmission Entirely via API

A record of handling a rejected App Store build by replacing the build, updating screenshots, and resubmitting entirely through the App Store Connect API.

iosappstoreconnectapiflutter

🎨A Reusable Prompt Template for Generating iOS App Icons with AI

A reusable prompt template for generating Apple HIG-compliant iOS app icons using AI image generation tools like Gemini, DALL-E, and Midjourney.

iosdesignaiprompt

🛡No Firebase Needed: Operating an iOS App with Apple-Native Tools Only

How to handle crash monitoring, analytics, update prompts, and review requests for an iOS app without sending user data to external services — using only Apple-native tools and open-source libraries. Based on real-world experience with an App Store-published app.

iosswiftprivacymetrickit

Pitfalls of Converting TEI XML Standoff Annotations to Inline, and a DOM-Based Solution

A record of a document structure corruption bug encountered while converting TEI XML standoff annotations to inline for a Vue.js viewer in the Digital Engishiki project, and the DOM-based solution.

teixmlpythonbeautifulsoup

📺How to Upload VTT Subtitle Files in YouTube Studio

Step-by-step guide to uploading VTT subtitle files for both the original and translation languages in YouTube Studio, with screenshots

youtubewebvttsubtitle

🗺Developing "IIIF AR": An iOS App for Placing IIIF Images at Real Scale in AR

A development log for "IIIF AR," an iOS app that places high-resolution IIIF Image API images at real-world scale on detected floor surfaces using ARKit, dynamically loading tiles as the camera approaches.

iosarkitiiifswift

🧠Diagnosing and Fixing Memory-Related Crashes in an iOS OCR App

Investigation and fixes for a 6.7% crash rate in KotenOCR, an iOS OCR app using ONNX Runtime with 6 models totaling ~230MB on disk.

iosswiftmemoryonnx

🔍KotenOCR: Fixing Duplicate Detections in Modern-Script OCR Mode (Adding NMS and Class Filtering)

Fixing duplicate detection results in KotenOCR's modern-script OCR mode (NDLOCR-Lite) by adding NMS and filtering to line_* classes, achieving detection accuracy on par with the reference ndlocr-lite implementation.

iosocrndlonnx

🖼️Fixing Universal Viewer 4.x "Unknown content type" Error with Local Hosting

Documenting the cause and fix for the "Unknown content type" error in Universal Viewer 4.x, resolved by self-hosting with a custom initialization.

iiifuniversalviewernuxtdigitalhumanities

🎬How to Upload English Subtitles (VTT Files) in YouTube Studio

Step-by-step guide for adding English VTT subtitle files to a YouTube video that already has Japanese subtitles

youtubewebvttsubtitle

Observed Timing: Apple Sales Reports API Data Availability and YouTube API Quota Reset

Documenting the actual observed timing of when Apple App Store Connect Sales Reports become available and when YouTube Data API v3 quota resets.

appstoreconnectapiyoutubepython

🤖Auto-Generating Bilingual Video Subtitles with Claude Code and Publishing via IIIF v3 Manifests

How to efficiently generate bilingual video subtitles using Claude Code's multimodal capabilities and ffmpeg scene change detection, then publish them via IIIF v3 manifests

claudecodeffmpegiiifwebvtt

🎬Digital Tale of Genji Video Subtitle Project: Publishing Bilingual Subtitles with IIIF v3 Manifests

A project adding Japanese/English bilingual subtitles to Digital Tale of Genji tutorial videos, published as IIIF v3 manifests

iiifwebvttdigitalhumanitiesgenji

📜KotenOCR v1.3.0: Dual OCR Modes for Classical and Modern Japanese Text

KotenOCR v1.3.0 adds NDLOCR-Lite support for modern printed text OCR alongside the existing classical text (kuzushiji) mode, with one-tap mode switching and parallelized recognition for up to 6.7x speedup.

iosocrkuzushijindl

📚Building an Automated DH Tool Awareness System with Playwright, RSS, and AI

Automatically collecting DH tool information from X posts, RSS feeds, and GitHub API, then generating weekly summary articles with AI

digitalhumanitiesgithubactionsplaywrightopenrouter

📚DH Weekly Topics — 2026年3月21日週

DH Weekly Topics — 2026年3月21日週

dhweeklydigitalhumanitiesデジタルアーカイブocr

Parallelizing OCR Recognition on iOS with Swift Concurrency for up to 6.7x Speedup

Using withThrowingTaskGroup to parallelize OCR recognition in an iOS app, achieving 1.4x to 6.7x speedup depending on the number of detected text regions.

iosswiftconcurrencyocr

🔍Building a Cultural Heritage Explorer App with Japan Search API

Development notes on building JPS Explorer, an iOS/Android app for exploring Japanese cultural heritage using Japan Search APIs, with mobile-specific features and automated App Store submission

digitalhumanitiesjapansearchflutterios