RSSAmplifier

Blog

jsyang.ca

Recent content on jsyang.ca

jsyang.caRSS feed ↗88 posts

Latest posts

Samsonite Oyster 2 Hard Case Main Latch Replacement





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 A neighbor recently donated an old Samsonite hard case that is…

HandyBike 6-inch Folding Bike





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




Quadrillion Puzzle Replacement Piece

I recently picked up a dirt cheap copy of the Quadrillion puzzle game in great condition for the kids only to find that it was missing a piece. It made the perfect excuse to dust off the 3D printer and flex my programmatic CAD skills. 
 
 Coding began after taking a few quick readings from the digital caliper. The webbed bridge between the balls ( meniscus ?) was the trickiest part but I…

LLM Lab 2 - Handling SSE Streaming AI Models


 Cloudflare (CF) recently expanded their offerings within the Workers AI product. Not only are there more model options but token thresholds have been raised. In order to access these larger token tiers you need to use response streaming done via Server-Sent Events (SSE) . In a nutshell, SEE is simply a one-way version of WebSockets. You make a request to an HTTP resource and the host…

LLM Lab 1 - Honing Your Prompting with Google Sheets


 tl;dr 
 Like Googling, LLM prompt engineering is a basic skill that will become indispensible to personal and professional projects as LLMs become more entrenched in our computing activities. I created an LLM frontend which uses Google Sheets to trigger and record prompt iterations. Systematically develop an intuition for prompting and track/share your progress without additional effort.…

Printing large posters and documents (correctly) in MacOS

If you’ve ever had trouble printing large images and documents properly on MacOS, read on! 
 Background 
 Home learning is an essential part of early primary education and the UK Department for Education has some nicely distilled guidance on what sort of topics should be covered to advance through all the yearly checkpoints. As part of my own effort in promoting numeracy within the…

A-Bici Folding Bike





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




Mapping Serial Ports in Wine

If you need to use serial ports created by Serial-to-USB (S2U) adaptors in MacOS with your Windows apps running in Wine, you’ll need to map them so that Wine can correctly detect and use them. For the Wine version of the Bookman Desktop Manager 1.3 , I needed to map the port it used to COM1 : 
 
 Unplug all of your S2U adapters to begin 
 Run ls /dev/tty.usb* to list all of the…

Parallel ROM dumper for an obsolete cartridge-based eBook reader





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 As part of the reverse engineering effort for the Bookman…

HP iPAQ Bluetooth Folding Keyboard





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




Writing a CD-key generator for the Franklin Bookman Desktop Manager

A bit of history 
 Franklin Bookman devices were early eBook readers with plug in ROM cards that distributed (mostly) reference content. Later iterations could read user-written memory cards containing licensed content. These models often came with a “connectivity kit” that included 
 
 a serial / USB data transfer cable 
 a 2MB / 4MB read-write memory card 
 a…

Hello world in circuit board design: the most basic KiCad 6 tutorial


 KiCad is the open source standard for PCB design and these days a prerequisite for cheap professional PCB manufacture. I’m learning this tool out of necessity; the ultimate goal is to create a breakout board for a TSOP-50 (50-pin Thin Small Outline Package format) mask ROM chip located on a Franklin Bookman II device containing its onboard firmware in order to further my reverse…

Franklin BOOKMAN Data Archive

The Bookman Archive has moved to BookmanArchive.com .

Casual System Admin from a Dell Axim X51v PDA


 10 Easy Steps to being the coolest sysadmin in 2005 
 Ever wonder how complicated it would be to do some casual Linux administration from a mid-2000s PocketPC device?
Wonder no more! I’ll show you how a Dell Axim X51v along with
an infrared wireless keyboard can successfully connect via SSH into an Amazon EC2 Linux instance. 
 
 
 Download your PEM file, this is…

Dell NavTeq BT-332 Bluetooth GPS Receiver

As part of a Dell Axim PDA bundle, I came into possession of this curious Dell Navteq BT-332 Bluetooth GPS Receiver
that I’m planning to use with an offline OSM app on a laptop (something normally without a location sensor). 
 Before phones and other devices integrated location sensors the common setup was having an external GPS receiver that
would process and relay location data…

Think Outside Bluetooth Folding Keyboard





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 When the local coronavirus restrictions were enacted early on…

Sierra AGI Adventure Game Interpreter

My holiday project of implementing a Sierra AGI web runtime is coming along nicely. The game engine was revolutionary for its time. It was effectively an entire creative suite (content tooling, bytecode VMs for distribution to different computer architectures) that allowed the early Sierra On-Line game company to sell its games on many different early personal computer systems. 
 
 The…

3D Terrain Sandbox and Game Engine

Holiday projects in the 2020 season were extremely plentiful owing to the local COVID-19 lockdown measures. This was another game-related venture that I undertook in late November 2020 til early January 2021. What started off as a simple three.js experimentation sandbox to learn the ins and outs of the library and its API soon became a vastly expanded custom game engine project. Progress is…

How different languages sing Happy Birthday

The end of year winter season is a time when many of my family and friends celebrate their birthdays. This year
I came across a Cantonese birthday song beyond the basic “happy birthday” / 生日快樂 that made me ponder whether
other such “folk” birthday songs existed. 
 What are people singing about when they sing a common happy birthday song in their own language?…

WormForm - a Typography Block Sandbox

The name comes from the first thing I tried to recreate within it: the NASA worm logo. 
 There’s a Twitter account I follow which often posts design-related inspiration and imagery from various books, artists,
and commercial products: @presentcorrect. I happened upon a post that caught my eye. It was this page from the Gujarati
Type Foundry Book (1940): 
 
 I knew I had…

Halloween Pumpkin Carving 2020





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 Pandemic lockdown had most of the neighborhood occupied with…

Sinclair Research A-Bike Mk1 6-inch





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 Over the summer, my obsession with micro-folding bikes came to…

Dahon PrestoLite - The Lightest 16" Wheeler Yet





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 The Dahon PrestoLite is a 16" (ETRTO 305mm) wheeled folding…

Tiny Palm PVG100 phone on Three UK





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 I’ve always favored peculiarly sized versions of everyday…

Guitar Hero Live Bluetooth Controller Poll Rate Testing Jig

After releasing the GHLiveBLE tool, there were a number of hardcore Clone Hero enthusiasts who were curious to find out the poll rate of the GHLive bluetooth guitar controller. Given that the poll rate being how fast the controller can register button presses to the computer, a higher rate would allow for more “precise” play for the dedicated rhythm game fans. 
 And so, I set out…

Guitar Hero Live Bluetooth controller





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 Ever since we visited the National Videogame Museum , my wife…

Jersey on a Pacific CarryMe





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
 
 Jersey the Channel Island 
 Jersey is the…

Pacific CarryMe Shakedown Cruise





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 The Chorlton Wanderers are a local social cycling group riding…

Ender 3 Configuration Notes

What follows is a collection of notes I compiled for setting up my current (as of 2019)
3D printer. Table of contents for major sections as follows: 
 1. Costs
2. Subtractive modifications
3. Printable mods
4. Octoprint
5. `mjpg-streamer` tweaks
6. Raspbian tweaks
7. G-Code tweaks
 1. Costs 
 1 x Ender 3: £176 
 
 50% cheaper vs previous 3D printer…

Pacific CarryMe Folding Bike





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 The CarryMe is a folding bike with an incredibly small wheel…

Pho Recipe

Friday night Pho is one of our house traditions. Nobody
can resist the delicious combination of tastes that this simple
Vietnamese noodle soup offers. 
 After years of eating pho, I finally decided to attempt making it
for myself from scratch (or as from scratch as possible) purely
as an exercise of appreciation for this noodle dish. 
 Recipe 
 Like all…

3D printers





 
 
 
 


 


 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 During 2012, I had access to TechShop SF, a makerspace in San…

Snapshot testing with Jest + Preact + Picostyle

I’ve been using Preact as my alternative (API compatible) React of choice for a
few side projects for a while now, the main advantage being the API compatibility
with a significantly smaller sized addition to dependencies. 
 Likewise, my favorite CSS-in-JS microlibrary: Picostyle 
has similar file-size advantages. 
 Micro-libraries are great because they are…

KeyDings

As a way to learn the MacOS Cocoa API and Swift, I set out to write a MacOS system tray app
that would provide IBM Model M “clicky” keyboard sound effects whenever the OS detected a key up or down event. 
 To my complete surprise I was able to get a functional app working within an afternoon, which
goes to prove that the ecosystem for writing MacOS apps is well designed and…

Tabular / vertical code alignment in ES without IntelliJ

While block indentation alignment (1) is enough for most people, I believe further alignment formatters,&#xA;especially tabular or &ldquo;vertical&rdquo; alignment (2) tools, can greatly help in reducing the time it takes to visually process details in code: &#xA; // (1)&#xA;const bike: Record<string|number> = {&#xA; wheelSize: 16,&#xA; topTubeLength: 24.5,&#xA; manufacturer:…

CelCom: Feature Toggles and Testing

This post is a Celestial Combat devlog and also be found here . &#xA; Some of the code for Celestial Combat has been structured to provide a easy facility for&#xA;switching major subsystems of the game on/off. Additionally, unit testing is not time-efficient&#xA;given the benefits vs effort involved: we offer a cheaper solution in the form of scenario tests. &#xA; Feature toggles &#xA; You have…

CelCom: Simplifying development tooling

This post is a Celestial Combat devlog and also be found here . &#xA; Writing code is a necessary evil to get things done on a project and often the best kind of code&#xA;is no code at all. Good tooling helps us do things: &#xA; &#xA; FASTER: avoid writing code when the task least requires it &#xA; CHEAPER: avoid writing code when results are not worth the effort &#xA; EASIER: avoid barriers for…

Finding nostalgic music from 1996 Microsoft Interactive CD Sampler

In my childhood, I used to move around a lot. We usually didn&rsquo;t have&#xA;allowances for things that other kids used to hold onto, to be kept&#xA;between moves. Instead I collected music files and other digital treasures&#xA;that pleased my young brain. &#xA; One file that&rsquo;s firmly stuck in my memory was theme music for the&#xA;1996 Microsoft Interactive CD Sampler main menu. I…

CelCom: Improving HUD indicator designs

This post is a Celestial Combat devlog and also be found here . &#xA; Game design is essentially UX design. Bad experience design is more than jarring: it drives beginner players&#xA;away. CelCom previously had an example of bad experience design in one of it core gameplay mechanics:&#xA;landing spaceships was awkward and difficult. First you needed to be able to find the planet you want to land…

CelCom: Implementing saved games

This post is a Celestial Combat devlog and also be found here . &#xA; Celestial Combat is a game large in ambition and scope. Battles&#xA;often span multiple solar systems with hundreds of spacecraft and&#xA;planets with caches of materials for war production. &#xA; As the gameplay solidified, finding a way to persist player progress grew more important.&#xA;Saving score and progress within a…

Brompton Wheel Veloplugs

&#xA;&#xA;&#xA;&#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; &#xA;&#xA;&#xA; &#xA;&#xA; &#xA;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; I&rsquo;ve used rim plugs (&ldquo;Veloplug&rdquo; is a brand of…

Bike Light Phone Mount

&#xA;&#xA;&#xA;&#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; &#xA;&#xA;&#xA; &#xA;&#xA; &#xA;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; Broken LED lights &#xA; 2 years ago I bought two inexpensive…

Random Sound Tin

My daughter is approaching the 6 month mark. This is a time when&#xA;kids start to develop gross motor skills and begin to express&#xA;themselves through play. In anticipation, I jumped at the chance&#xA;to make some dynamic toys for her in addition to the mostly&#xA;rigid ones she&rsquo;s collected so far. &#xA; &#xA; &#xA; &#xA;&#xA; Ended up doing a Friday late night build. Since I didn&rsquo;t…

Isle of Wight Randonnee 2018

&#xA;&#xA;&#xA;&#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; &#xA;&#xA;&#xA; &#xA;&#xA; &#xA;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; The IOW Randonnee was fantastic this year. I rode down from…

Try before you buy fonts

A coding font called Dank Mono showed up in my programming feed recently.&#xA;As someone who is always looking for ways to improve my coding environment, changing the&#xA;default IDE font seemed like something worth investigating. &#xA; &#xA; I was pretty happy with Iosevka already but was curious to&#xA;see if Dank Mono was worth the social media hype; setting it as the IDE font would be the best…

Samsung Gear 360 (SM-200) image and video workflow on MacOS

I&rsquo;ve long been interested in 360 panoramic photos and videos and being a patient tech consumer, I was fortunate to get the 2016 Gear 360 camera for the low price of £80 shipped; 22% of the original launch price of £350. &#xA; &#xA; Additionally, I wrote a simple 360 web viewer , so I can use any image host (e.g. Imgur, Dropbox, etc.) and not be tied to a specific online platform like Kuula.

Gear VR Controller Reverse Engineering

&#xA;&#xA;&#xA;&#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; &#xA;&#xA;&#xA; &#xA;&#xA; &#xA;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; The result so far &#xA; Here&rsquo;s a video demo of I was able…

Mocute Bluetooth Gamepads

&#xA; These cheap bluetooth gamepads are often branded and sold as remote shutter buttons&#xA;for smartphones. I think their best purpose is actually to be used as gamepads, especially&#xA;for mobile devices and bluetooth-enabled PCs. They can be routinely found on either eBay or&#xA;Amazon for around $3 or 5 GBP, shipping included. This makes them one of the best value bluetooth input…

Faulty Raspberry Pi Zero W

If you&rsquo;ve done everything you&rsquo;ve known how to get a Raspberry Pi Zero W (v1.1) to work but can&rsquo;t&#xA;get it to boot up and recognize the Wifi, there&rsquo;s a chance you may have a defective board. &#xA; &#xA; &#xA; &#xA;&#xA; Setup &#xA; After purchasing you should have been able to do this to get it working:

Modernizing a Moulton Automatic

&#xA;&#xA;&#xA;&#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; &#xA;&#xA;&#xA; &#xA;&#xA; &#xA;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA; &#xA;&#xA;&#xA; I&rsquo;ve been obsessed with the design lineage of the Moulton…