what i work on after work and between exams. tablets, boards, apps, whatever i end up needing.
centuryplay
kotlin · android 11+ · 63 ★
streams whatever my android phone is playing to airplay speakers. i built it so a 1990s bang & olufsen beosound century could play from my phone, through a raspberry pi running shairport-sync. lossless, multi-room, and it shows up in the system output switcher like any bluetooth device.
custom roms for both pad pro models, starting from a full dump of the stock tablet. most of the time went into making it feel smooth: perfetto traces, surfaceflinger composition and hwui on vulkan until the jank went away. the xiaomi pen works too, worked out from captures of the stock rom.
an old dv camcorder, a radxa rock 2f and a phone. the yocto image captures dv and hdv over firewire, streams a live preview over webrtc, and gets set up over bluetooth and wi-fi from an android app. flash it to an sd card and it boots straight into the recorder.
backs up iphone photos, videos and albums to google photos, entirely on the phone. no desktop app, no server.
swiftuiios
lec2tex + durjavenpython · latex
turning university material into books: lecture videos with bulgarian audio and whiteboards into a 172-page statistics book, and 365 pages plus 165 photos of state-exam notes into one compilable latex book.
bench power on
bench writing image.wic.gz
bench flash ok, checksum matches
U-Boot SPL 2024.07
Starting kernel ...
[ 0.000000] Booting Linux on CPU 0x0
[ 3.411870] systemd: multi-user.target
board login: root
test boot ............ ok
test network ......... ok
test capture ......... okrun 0412 passed
powerflashboottestpass
labgrid handles power, serial and flashing, so a change turns into a run: flash it, boot it, test it, read the log, go again.
i like that part boring and repeatable. it leaves room for the rest to get weird. the rock 2f image, the pad roms and centuryplay all came out of loops like this one.