Latest logs

34
aiai動畫個人開發

I Switched My AI Anime Storyboards to "One Panel, One Line" and Made 28 Episodes in Two Days

Once making an episode got easy, my time started going into deciding "what to make." Over the two days of October 8–9, I made short animations for 7 series, 4 episodes each. That's 28 episodes in tota...

ai遊戲開發劇本

I Had AI Write My Game Script, and "Three Hundred Years" Showed Up 308 Times

Not enough words? Just add a few more AI writers. Sure enough, the word count got there, and so did a pile of repeated dialogue. In the script for the game I'm making, the phrase "three hundred years"...

ai遊戲開發個人開發

I Had AI Play Thousands of Rounds of My Tactics Game, and Found Out Playing Manually Was Pointless

Auto-battle was too strong. If pressing one button and letting it fight wins just as much as me playing carefully, why would I ever play manually? The game I'm making has grid-based combat, a.k.a. a t...

ai遊戲開發claude-code

Ten Days, 2.6 Billion Tokens: How I Shipped an R15 Game to itch.io

"Honestly, I wouldn't pay 1200 for it myself. But 1200 marked down to 900? That I'd buy." If I ranked this month's projects by tokens burned, first place wouldn't be Live2D. It'd be a game called NEUR...

ai區塊鏈黑客松

12 Seconds: My Testnet Private Key Got Swept Clean

"Can you check the on-chain history for these two? Did my private key leak?" Thirty-some hours before the hackathon deadline, I sent 0.2 test ETH on Sepolia into my deployment wallet. 12 seconds later...

ailive2dclaude-code

How Is Your Work Worse Than GPT's? Burning 1.4 Billion Tokens to Rig a Live2D Girl (v1)

The most infuriating complaint I made in the session: "Sure, all the features are there, but what I wanted was a range of motions, not her eyes shooting off her face." The session that burned the most...

exporeact-nativeswiftui

How to Cross the Bridge Gracefully: Leaving SwiftUI for Expo

I always assumed cross-platform meant laggy and slow. Then I actually sat down with Expo and the tools in its ecosystem, and it turns out that's not true. When I started building Solid(ar)ity (an iden...

react-nativevision-cameraios

Hell Difficulty: Optimizing Camera Performance on Mobile

The camera is the nastiest part of a phone to work with: dozens of frames per second, and every single one is fighting your CPU, GPU, and memory for resources. This year I built two camera-heavy apps....

提升自我

Held Hostage by Tools: Rethinking the Case for All in One?

Being a modern person is honestly kind of hard. Lately the thing that feels unreasonable about the world is why there are so many tools, and why most of them do the same thing <br / Especially with th...

blogcloudflare隨筆

Manage It Yourself: Taking Back My Data Sovereignty, and the Road to a Brand-New Blog

Moving house has been the heaviest ordeal for bloggers these past few years. I'm the kind of blogger who updates whenever the mood strikes, but I'm actually pretty attached to my blog. In college I wr...

solidaritydidcypherpunk

Solid(ar)ity, Solidarity? Finding Each Other Through Cards and Connection

Written to promote Solid(ar)ity, whose name is so badly chosen that it's nearly impossible to search for. This post is also mostly a chronicle of the blood, sweat, and tears from a full year of buildi...

程式筆記Swift

Don't Be Too Independent: Untangling Swift's Dependencies and Architecture

In the Swift world we've gotten used to a powerful Xcode and a clean syntax, but as a project grows, an invisible monster starts prowling through the code: dependencies that have spun out of control L...

serverlesscloudflaredatabase

Watch Your Connection Pool: A Small Trap When Connecting to a Database from Serverless

The connection pool is common sense on a traditional backend. Move it to serverless and it turns into a landmine. I touched on this briefly in "Survival Rules for a Hakka Engineer," but after finishin...

程式筆記Android

The Ultimate Fix: Lost Your Keystore Password but the IDE Still Remembers It? Catch It in the Build Log

The farthest distance in the world is when the password is right there in the IDE, and I can't see it I bet plenty of Android developers have hit this soul-crushing moment: you're about to build a Rel...

serverlesstypescriptelysia

The Core Choices of ElysiaJS and Hono: Apples and Oranges? No, a Legendary Duo

If you write backends on serverless, you've almost certainly used Hono a lot, but it may not be your only answer. ElysiaJS smells delicious and is worth a taste. I happen to be using both right now: S...

serverlesscloudflare隨筆

A Hakka Engineer's Survival Rules: Is Serverless Worth It? Try It and You'll Know

The cloud is seductive, but the moment the bill shows up is genuinely nerve-racking Lately I've been thinking about how, as a Hakka engineer (we're famously thrifty), I can squeeze every last drop out...

At Heart, Engineers Are Masochists

Just some recent musings, talking a bit of nonsense~~ After a stretch of tormenting AI tools like Cursor and Claude (assistants?), I couldn't help thinking of a meme: a boy in the future who doesn't g...

提升自我

The Greatest Truths Are the Simplest: Was KISS Right All Along?

Keep It Simple, Stupid The line above is a core principle of Linux kernel design, and it's easy to forget amid today's trendy frameworks and designs. Lately, especially in the DHT and blockchain proje...

程式筆記Javascripthexo

Troubleshooting a Hexo Upgrade to V5

I happened to reinstall my computer, and this blog was lying on my D: drive waiting for me to move it into a fresh environment, so I happily upgraded it. Updating hexo to v5.0 Updating hexo to V5 is p...

程式筆記C#

Auto-Connecting a SerialPort in C# by VID and PID

The C serial port function's official example looks something like this With this approach you have to go change the port every single time you open it, which is a real pain. So I found a function som...

程式筆記Golang

Golang Json Parsing Gotcha: Capitalizing Struct Field Names

This one's actually kind of interesting. Lately I've been playing around with web scraping in Golang. The fast compilation and the handy colly make it really easy to pick up, but at the end of the day...

程式筆記Javascript

NDK Error When Compiling a Shared Library (.so): executing external native build for cmake

I was in the middle of adding a C++ shared library to Flutter and figured I'd try writing a native Java version first, and then I ran into this cursed problem😱😱😱. At first I assumed it was some syn...

程式筆記Javascripthexo

Adding the utterances Comment System to the Hexo NexT Theme

Intro I happened to be redecorating my blog and realized I still didn't have a comments section actually already comes with a lot of comment systems built in, e.g. Disqus, gitment, etc... I don't real...

程式筆記Javascripthexo

Building a Free Blog with Hexo

For a variety of reasons, I've moved from Blogger over to GitHub Pages, and the Blogger site that kept me company for a semester has officially stopped updating. For old times' sake, here's the origin...

程式筆記Linux

Lenovo-LEGION-Y520 windows10+Ubuntu18.04 Dual Boot

Prep before installing 1. First, carve out a partition in Windows for the new system This PC - right-click - Manage - Disk Management 2) Burn Ubuntu onto a bootable USB. I used rufus and ubuntu 3) Go ...

程式筆記Tensorflow

Recognition Error: tensorflow KeyError "The name 'import/input' refers to an Operation not in the graph."

A small error I ran into recently Put simply, you typed the name wrong, so your input is, well, input wrong. I dug through posts online and tried all kinds of things like , and they were all wrong. In...

程式筆記OracleDB

Fixing [INS-30131] When Installing Oracle 12c

Test (installation) environment windows 10 + Oracle Database 12c Solution Open cmd and enter and you can get into the installer without the error popping up, since it skips the old-version OS check.

程式筆記Ruby on Rails

Rails Logs: Notes on Fixing a Few Small Errors

Runtime error solution. Just add the following to your and that fixes it Got this warning But sqlite3 was already in the , and it still threw an error solution. Change the original to \ I think Ruby's...

程式筆記Ruby on Rails

Rails Logs: The rvm not a function Bug When Setting Up a Ruby Environment

Getting this error When you get the error message, even though is clearly set in your .zshrc, and this weird problem shows up Here's the fix Once running no longer throws , the problem is solved It's ...

程式筆記Linux

Must-Have Software and Tweaks After a Full Linux Reinstall

The tweaking saga Reinstalled Ubuntu 18.04 more times than I can count these past few days @@ 1. The first time was a newbie test run. Then, because was a bit laggy rendering documents sent over from ...

程式筆記Linux

Installing Linux on a Lenovo LEGION Y520: A Log

Intro Over the weekend some Windows settings got on my nerves a bit, so I went ahead and installed Ubuntu 18.04 LTS. The reason I'm writing this down is that laptops honestly aren't very Linux-friendl...

程式筆記

Project Management Tips for Hackathons

Management tips From watching my teacher's story of how he won hackathons, I pulled out a few key points The strongest enemy The slide-deck crowd is the strongest enemy at any Hackathon. Once you reac...

程式筆記html

Frontend Logs: html/css Key Notes

Study notes The difference between margin and padding Position is their biggest difference margin is the outer spacing; it can be negative. Also called "fill" padding is the inner spacing. Also called...

程式筆記Ruby on Rails

Rails Logs: Meet the Three Rake Brothers (for When rake db Goes Wrong)

Saving yourself when rails db breaks Run these in order, or run migrate on its own; this is the last-resort fix The whole procedure is pretty dangerous, so I recommend only doing it during development...

Apps I ship

Free on iOS and Android.

Solid(ar)ity

Solid(ar)ity

A privacy-first identity wallet: zero-knowledge proofs and signed cards swapped face to face, no central server.