Pocket Reform Experience
September 12th 2024
========================

So this post is a little different than normal because I wanted to do
a little bit more of an actual review of my experience with the pocket
reform.

Now, I've got the original processor module (the NXP i.MX8M Plus) in
it that came from crowd supply which you won't even be able to buy
soon, so there are some Your Mileage *Will* (not may) Vary caveats up
at the front.

Okay so first off I want to say that I love this little machine. My
experience hasn't been frictionless but it's been overall really nice.

To start with, the keyboard is an absolute pleasure to type on and as
someone who has been using 40% keyboards for years the layout took a
*little* bit of getting used to for touch typing but not actually that
much. The kailh chocolate red switches feel great, they're *very*
light but now that I've gotten used to them I'm no longer hitting like
three keys at once accidentally and I can just appreciate the gentle
thock sound. The RGB leds on the keys are fun. I kinda wish they were
individually changeable but that's made up for by how cute the
trackball interface to changing the color is.

Oh, and the trackball? I'm a huge fan. I've never used one before but
I actually really like it in this form factor. I also appreciate the
dedicated keys to scroll and middle click near the trackball.

So what's the actual experience of using it? Like a lot of people I
had the issue of the batteries not knowing where the proper bottom was
so I had to disable upower with systemctl in order to let the
batteries drain until the system had a hard shutoff (spooky!) and
since then it's been charging up great and I'm getting between 5 and 6
hours of battery life with my normal workflow. I've also had pretty
good luck in being able to charge with my steamdeck charger and from
my portable battery pack with its usb-c -> usb-c port specifically
(the usb-a -> usb-c port doesn't register to the pocket reform), but I
know some people have had issues with charging prior to the firmware
updates.

Speaking of which, installing new firmware was pretty trivial. A nice
straightforward process. Between the main pocket reform guide and the
community forums you can find documentation for everything, but I *do*
recommend checking both places when you're having trouble because the
community forum is active and has a lot of specific instructions in
there on updates, small fixes, and common issues.

So far most of my friction with using it as a daily driver has been
two things: one is that arm64 just isn't as well supported as amd64 so
for packages not in the debian repo you're going to be doing more
manual compiling and less pre-built binarying. The second is that the
hardware only supports opengl 2.1 which, uhh, is *pretty old* at this
point and unfortunately that means some of the art projects I was
thinking of trying to do on here aren't feasible. I tried, for
example, to build open frameworks---the c++ creative coding
system---and after some finickyness in just getting it compiling the
whole things was still broken when I would try to run any
examples.

Now I know that if I eventually get one of the other modules they both
support opengl 3.1 which would be a *huge* improvement and I'm sure
there will be other modules coming over the years too.

And that's one of the contextual things that makes me not care *that*
much about it shipping only with opengl 2.1 support: this is a machine
for the long-haul. So I care more about the fact that the keyboard and
screen are great than I do about the fact that I can't do all the art
I want on it yet. I'll have that capability eventually. I mean I could
have it in a couple weeks if I just bought one of those upgrade packs
they're currently selling. But for now I think there's some virtue in
seeing just how long it takes to really hit the limits of this machine
as it currently exists before I start doing upgrades or mods. So
instead I'm largely using it as a writing machine (with my elaborate
denote setup as my personal wiki) and for common lisp and C
programming.

I'm going to see if I can teach some of my classes this fall by
carrying the pocket reform to campus rather than my full-sized laptop,
which honestly has started to feel *too* big now that I've spent a
solid week relying almost exclusively on the pocket reform. The only
complication might be that I have to each x86-64 assembly in a couple
units in one of my classes and that's not entirely amenable to an arm
machine, y'know?

I've been taking this little thing with me everywhere: on walks, on
the bus, to the library. It's startup and shutdown times are so fast
(suspend doesn't work, unfortunately) that I can pull it out and doing
a bit of writing and coding if I just have a few idle minutes. That's
pretty cool! And not an experience I'm used to having with a computer,
at least not since my ancient netbook that I used to do everything on
back in the late 00s, but even that old netbook creaked and ached
under a lot of tasks when it was new. This machine, as limited as the
processor module currenlty in it might be, is far more capable than
that.

There's only one bit of weirdness in my workflow which is that
org-mode was putting a little bit of lag into my typing and I figured
out that if I turned off the caching of org document structure that
happened with every keystroke with

(setq org-element-use-cache nil)

then most of the lag disappeared and then the rest was taken care of
by switching from visual line mode to auto fill in my text documents
with a couple of added hooks

(add-hook 'org-mode-hook #'my-text-modes-auto-fill)
(add-hook 'text-mode-hook #'my-text-modes-auto-fill)

other than that everything has been fine. And, again, upgrading the
processor module would almost certainly make those issues 1000%
disappear but I'm trying to live within my computational means right
now and wait until there's an *actual* nasty blockage that's forcing
me to upgrade

but for now I can stream my favorite dj on twitch (SeasideFM btw,
she's amazing) via yt-dlp and mpv to my bluetooth earbuds, having my
email open, and be interacting with a sly repl in emacs without any
lag so

eh

what do I have to complain about?

It's a great little machine and it's probably just going to keep
getting better as people make more modules for it, improve the
firmware, and figure out cool mods.