Category Archives: Technology

Raspberry Pi maintenance

I hadn’t done any system maintenance in quite a while:

$ sudo pacman -Syu

And when I did, I got this message:

error: failed to commit transaction (conflicting files)
rpi4-post-install: /etc/udev/rules.d/99-vcio-rewrite.rules exists in filesystem
Errors occurred, no packages were upgraded.

Which means (I’m told)

Previously we added this file to fix a few issues, but it was not owned by any package. So with this update, we switched it to be owned by rpi4-post-install, which results in this file conflict. Workaround: Run

sudo pacman -Syu --overwrite /etc/udev/rules.d/99-vcio-rewrite.rules.

CSV from the command line

There’s a whole bunch of tools out there:

miller seems to be the most versitile (that I could install without effort)

xsv also looks good.

dasel appears to be similar, but I haven’t tried it yet.

pspg looks very good.

The instructions to install csvtk are out of date (go get instead of go install)

Most of the homepages for these list others as well (tv, visidata, …)

Psych 4.0 is broken

That’s what I hear, anyway, that Psych 4.0 quit working.

The toolchain I’ve constructed to publish my podcast quit working after a recent upgrade I’ve been trying to get it working.

Unfortunately, while I’ve been using ruby since 2001, I’ve never had to figure out how rubygems work. I program for a hobby. It’s not my day job. For what I do, I’ve always been able to use the most recent version. I don’t even know how to use Bundler. (As a first step, I should try it in a single script.)

I did figure out that I could uninstall 4.0, but I might need something that depends on it. So I need to learn how to specify a particular version in my own scripts.




Unicode on the Mac’s APFS is Insane

That’s what I hear, anyway.

I inherited a bunch of files created on a Mac that have Korean names. On a Mac they look like this: ’13 주문 MIROTIC.m4a’ and ’01 Hook가 HookGA (feat. 화사).m4a’

But on my Linux backup system, they look like this: ’13 주문 MIROTIC.m4a’ and ’01 Hook가 HookGA (feat. 화사).m4a’ .

In wordpress, I can’t tell the difference. But I can tell you it doesn’t make rsync happy.

I haven’t figured this out yet. But I wanted to remember what little I did figure out.

OpenSSL problem on (older?) Macs

I had a whole bunch of problems break my podcast all at once, and I’m slowly figuring them out, one by one.

One of the problems is keeping both ruby 2.7.4 and 3.0.2 from building:

Installing openssl-1.1.1l...

BUILD FAILED (Mac OS X 10.13.6 using ruby-build 20211109)

Inspect or clean up the working tree at /var/folders/2h/930zdx_d2dv8l6tg8m_kw_fh0000gn/T/ruby-build.20211114160436.20979.mnlPJV
Results logged to /var/folders/2h/930zdx_d2dv8l6tg8m_kw_fh0000gn/T/ruby-build.20211114160436.20979.log

Last 10 log lines:
        ^
clang  -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/luke/.rbenv/versions/2.7.4/openssl/ssl\"" -DENGINESDIR="\"/Users/luke/.rbenv/versions/2.7.4/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/luke/.rbenv/versions/2.7.4/include  -MMD -MF crypto/rand/randfile.d.tmp -MT crypto/rand/randfile.o -c -o crypto/rand/randfile.o crypto/rand/randfile.c
crypto/rand/rand_unix.c:385:47: error: use of undeclared identifier 'kCCSuccess'
    if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess)
                                              ^
2 errors generated.
make[1]: *** [Makefile:4637: crypto/rand/rand_unix.o] Error 1

Because I’m the next thing to a Normie, I never discover a new problem. This one has been observed since September (or earlier). That post says “the OpenSSL fellows do not develop on MacOS.” Fortunately, some people do. But I have to learn how to use the workarounds.

Maybe Get Some Coffee

I got this message when I was rebuilding my father-in-law’s 2007 iMac. It happened at one point when I was trying to install on OS on the boot drive.

This might be the most realistic time-to-complete estimate I’ve ever seen in an Apple installer:

(I haven’t talked about that computer. I got it a couple of years ago and I’ve been meaning to upgrade it, just like I did with our own 2007 iMac. The only difference from that upgrade plan was I only used a 1 TB drive for the boot drive. The use case is to back up some computers at work, so I added a 4 TB external drive. I would have prefered making it internal, so I could use the SATA connection rather than a USB 2.0 external drive. But … sigh. Apple. There isn’t really room for another drive (yes, I know about replacing the Superdrive with in internal drive) but beyond that, getting at the drive, in case it fails and needs replacing is so incredibly hard, that I decided I could live with slow backups.)

Bash / Zsh customization

AAPL changed the default shell from bash to zsh in either Mojave or Catalina. I ignored that, since nothing they’ve done lately betrays any understanding of Unix. But even after I moved back to bash using chsh, my Mac keeps reminding me that I’m doing it wrong. So I thought to myself: what if I did migrate to zsh? Or, rather, what’s keeping me from doing it? (Aside from AAPL being the ones to recommend it, I mean.)

Well, I know bash syntax pretty well, and I’ve got a bunch of shell scripts I wouldn’t want to find the bash-isms in. But OSX still includes bash, so running a shell script in bash is as simple as putting the right shebang up top. Assuming you have shell initialization working.

I do have it working. I think. I never know for sure. It’s a baling wire and chewing gum contraption, I admit.

The problem is that bash initialization is impossible to figure out. And even if you do figure it out, then you have to figure out what /etc/profile and /etc/bashrc and who-knows-what are invoking and in what order.

But if I don’t figure it out, I’ll always be to afraid to find out if zsh is worth using. Fortunately, I have a handy guide I can use to get a zsh initialization working.