🔥 @SeedSigner en español GETTING CLOSER!!! 🔥
It seems so simple, but it took me all day to add the logic to make our titles able to scroll.
Certain phrases in other languages just aren't going to fit on our tiny screen so this was always a must-have part of this multilanguage effort.
But all of our UI components are custom built -- can't just whip out some css or JS -- so any new behavior takes some work to add in.
Tomorrow: Do the same thing for button text (looking at you, "Herramientas"!).
Keith Mukai
KeithMukai@nostr.seedsigner.com
npub1tv8g...7wn2
SeedSigner lead dev. Bitcoin Core dev (barely). Specter Desktop contributor. python-nostr, rana, NIP-26.
I thought I could implement a pretty important new @SeedSigner feature in the uninterrupted 2-3hr block I had earlier today.
Narrator: He didn't even come close. Like not even a little. Like, wow, he's really terrible at time estimates.
Me now:
---
(ya, I'll be fine. Just astonishing and hilarious to be so wrong!)
---
(ya, I'll be fine. Just astonishing and hilarious to be so wrong!)This is super nerdy, but I've spent most of today so far working on (er, struggling with*) the @SeedSigner CI test runner (automated process that sanity checks code updates).
We have a typical test suite for it to run, but our screenshot generator is, in its own way, another set of tests that help reveal unexpected bugs.
It's stupidly simple, but it took HOURS to figure out how to get the CI to merge those two sets of test results into one final "coverage" report (how much of the code is actually tested).
Happy to report: success!
With "Coverage report" cleanly in its own section of the CI checks, we'll be able to easily see if any proposed new code additions are missing appropriate tests. In general, coverage should be ngu only. If coverage decreases, your work on those proposed changes is not yet done.
This is building off of amazing work by dbast (https://github.com/dbast) to get these CI checks integrated in our repo in the first place!
---
*sometimes building in public means also exposing just how bad you are at some things. Oof, the guess-and-check struggle!!


Lots of really interesting insights and observations landing hard for me (in a good way) in this podcast ep.
Really strongly recommend giving it a listen.


Hidden Brain Media
Emotions 2.0: The Benefits of Mixed Emotions - Hidden Brain Media
Sometimes we feel just one single feeling with overwhelming force. We’re joyously happy. We’re crushingly sad. But sometimes it’s...
Sprinting to prep the multilanguage @SeedSigner release in time* for @Adopting Bitcoin but in the meantime I'm SO EXCITED to get these RP2350 dev boards in to play with as soon as I'm back from El Salvador!
The hope is that the RP2350 microcontroller will be an easier platform on which to port SeedSigner to MicroPython. Getting us onto a microcontroller (while still fully supporting the original Pi Zero hardware/codebase, of course!) will open up some huge new possibilities.
---
*("in time" actually means "have a preview release to demo" 'cause there's no way we could get a full final release adequately tested in time)
The hope is that the RP2350 microcontroller will be an easier platform on which to port SeedSigner to MicroPython. Getting us onto a microcontroller (while still fully supporting the original Pi Zero hardware/codebase, of course!) will open up some huge new possibilities.
---
*("in time" actually means "have a preview release to demo" 'cause there's no way we could get a full final release adequately tested in time)YOWZA! My best sourdough result yet! 40% wheat, 60% bread flour. 75% hydration.
The raised ridge is called the "ear" and is an aesthetic thing that home breadmakers kind of obsess over. First time I've gotten one to pop up like this!
And it's hard to tell from the photo, but the oven spring (how puffy it gets when baked) is huge!
Back side of the ear has some beautiful caramelization.
Eager to cut into it but have to let it cool for a while.
The raised ridge is called the "ear" and is an aesthetic thing that home breadmakers kind of obsess over. First time I've gotten one to pop up like this!
And it's hard to tell from the photo, but the oven spring (how puffy it gets when baked) is huge!
Back side of the ear has some beautiful caramelization.
Eager to cut into it but have to let it cool for a while.GETTING CLOSER!!!
Not done yet, but able to at least move the @SeedSigner multilanguage code into a DRAFT PR state.
It's a MONSTER. Huge PRs are NOT a best practice, but this one touches everywhere and required some deep refactoring.
Started this work in APRIL 2022!!!
I put it on the shelf ~Oct '22 but THANKFULLY @Jean Do carried it forward and kept it alive for the next ~18 months.
Not sure I would've made it this far without his efforts!
Started this work in APRIL 2022!!!
I put it on the shelf ~Oct '22 but THANKFULLY @Jean Do carried it forward and kept it alive for the next ~18 months.
Not sure I would've made it this far without his efforts!Which browser tab is eating up 5 GB of RAM?!!!
@primal. Basically every other day or so I kill the tab to free up the memory.
Can y'all limit your caching? I know nothing about browser-side caching, memory management, etc. But this is pretty ridiculous.
It turns out that "Nothing stops this train" is, in fact, a true statement about more than one train.
cc: @Lyn Alden
TFW you're greeted by @npub1kuma...z2v7 after being away for a week!
#dogs #dogstr #pup #bestfriend
@HODLween decorations are intense!


Update for those of you who have dropped Twitter entirely:
Elon thinks this is a good UI.
"... More"?! Are you f'n kidding me? 🤣
Imagine being the PM who's feature didn't make the cut: "Sorry Brian, just can't justify putting a 13th item in the list; gotta keep things short and sweet so we don't overwhelm users. 12 is the sweet spot."
"... More"?! Are you f'n kidding me? 🤣
Imagine being the PM who's feature didn't make the cut: "Sorry Brian, just can't justify putting a 13th item in the list; gotta keep things short and sweet so we don't overwhelm users. 12 is the sweet spot."A friend gave me some of her #sourdough starter.
Biochem is neat!
Next step: work in some dark rye and whole wheat flour to kick up the activity and flavor.
#bread #baking #foodstr
@Ungovernable Misfits I think the word you were looking for is "apochryphal".
https://fountain.fm/clip/K9AVAgOHjJEUkDQx7k6R
Quick FYI for any @npub17xvf...c9as Global Bitcoin Summit attendees who are playing with their #Bitaxe:
When I plugged mine in, the little display stayed blank. But everything else worked fine. I figured it was just a bad screen.
BUT...
IT LIVES!!!
Turns out I just needed to do a firmware update on it.
Initial Bitaxe connection:
Plug it in and, even though the screen might be blank, check the available wifi networks on your laptop. One of them should be something like "Bitaxe_blahblah". Connect to it and the Bitaxe web UI should come up.
From there you should be able to go to Settings in the web UI and I'd recommend updating the firmware FIRST.
Update firmware:
Click the links under Latest Release to save the esp-miner.bin and www.bin files. Ideally verify their hashes against the official releases.
Then Update Firmware (select the esp-miner.bin you downloaded) and Update Website (the www.bin file).
It'll reboot and you might need to tell your laptop to reconnect to the Bitaxe's wifi access point. Hopefully your Bitaxe's little display will now come to life.
Once that's done, then you can enter your wifi SSID/password via the web UI to get your Bitaxe onto your local network. Also configure your solo mining pool, btc payout address, and worker name.
Once those are saved, it'll connect to your local wifi and the previous Bitaxe wifi access point will be disabled.
ps: I recommend configuring your Bitaxe to solo mine to -- its reporting UI seems to be a bit more reliable than the sexier looking public-pool.io
pps: If you need to get back into the Bitaxe web UI once it's on your wifi network, you'll need to access it via its local IP address (watch the cycling display; one of the readouts tells you its IP) by typing that into a web browser on a device that's also connected to your local network (e.g. your phone connected to the same wifi).
CC: @skot9000
When I plugged mine in, the little display stayed blank. But everything else worked fine. I figured it was just a bad screen.
BUT...
IT LIVES!!!
Turns out I just needed to do a firmware update on it.
Initial Bitaxe connection:
Plug it in and, even though the screen might be blank, check the available wifi networks on your laptop. One of them should be something like "Bitaxe_blahblah". Connect to it and the Bitaxe web UI should come up.
From there you should be able to go to Settings in the web UI and I'd recommend updating the firmware FIRST.
Update firmware:
Click the links under Latest Release to save the esp-miner.bin and www.bin files. Ideally verify their hashes against the official releases.
Then Update Firmware (select the esp-miner.bin you downloaded) and Update Website (the www.bin file).
It'll reboot and you might need to tell your laptop to reconnect to the Bitaxe's wifi access point. Hopefully your Bitaxe's little display will now come to life.
Once that's done, then you can enter your wifi SSID/password via the web UI to get your Bitaxe onto your local network. Also configure your solo mining pool, btc payout address, and worker name.
Once those are saved, it'll connect to your local wifi and the previous Bitaxe wifi access point will be disabled.
ps: I recommend configuring your Bitaxe to solo mine to Solo CKPool - Anonymous Bitcoin Mining
OMG spent an hr or two on a draft doc, took @npub1kuma...z2v7 for a walk, then returned to discover that my laptop had unexpectedly rebooted itself.
Look on my works, ye mighty, and despair.
I learned this lesson via constant Win95 crashes decades ago (CTRL-S is burned into my muscle memory). Stunning to be bit by it again in 2024.


I absent mindedly pet @npub1kuma...z2v7 while I code. But I mostly kind of forget that she exists when my mind is elsewhere.
But eventually she'll remind me that there's an actual being next to me. And sometimes when I look over to re-engage with her, it's clear that she never forgot that I was there.
Dogs are the best.
#dogs #dogstr
#dogs #dogstr