Tag Archives: software

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, …)

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.

Diff Tools, Redux

Some time ago, I mentioned here how I like to use colordiff. Well, on a Mac I actually prefer Apple’s FileMerge GUI diff tool, which is is part of the Xcode command line tools, and accessible from the command line as opendiff.)

I recently discovered diffy, which is similar to colordiff, but offers a -split option that gives you the side-by-side effect of opendiff.

Even more interesting to me, however, is diffr, which is a “diff postprocessor” that shows the differences within a specific line. You run diff -u ... | diffr to see what you want.

Thousands of words worth of pictures:

plain old diff
colordiff (aliased to diff because duh)
diffy -s split
diff -u … | diffr
FileMerge, invoked from the command line

Update: I appear to have been wrong. Evidently, opendiff is part of Xcode proper, not the command line tools. Which means I won’t be using it in general, because it’s freaking huge.

Setting Up a Mac

Fixing mouse scroll direction, key bindings, setting up Exposé spaces, etc.

Installing Keynote, Numbers, and Pages plus any software previously purchased from the App Store.

Installing replacement browsers: Chrome, Firefox, and Brave, along with Xee and iTerm2 and Skim.

Installing MacPorts, then software starting with ImageMagick. Imagemagick because it’s a good test of everything working properly.

$ sudo port install imagemagick +graphviz -x11

Then adding some of my favorite utilities

$ sudo port install antiword bat colordiff exiftool jhead lame sox tree xz

$ sudo port install ffmpeg -x11

$ sudo port install nnn ranger

Then install software development languages: go, rust, and ruby. Follow them with some CLI utilities written in those languages:

$ cargo install broot cw du-dust dutree exa fd hexyl \
just lsd pastel ripgrep sd

$ go get -u github.com/gokcehan/lf

I wouldn’t take it gift-wrapped

Office 2016 for Mac now available as stand-alone software. I’ve been exposed to Office 2013/Windows, and to get anything done, I have to use Office 2011 on my Mac.

I wouldn’t even install Office 2016 on my Mac for $100 even if it left the old version intact. More likely, though, it clobbers the previous version. In that case, I’d only do it for the cost of a new computer—so I could throw out the old computer with Office 2016 on it.

Windows PC Start-up List

Download a copy of PC-Decrapifier (or Decrap) and Should I Remove It. (You’ll need to get other things from Ninite (below) but start by getting Revo Uninstaller in case you’re having trouble decrapifying something.)

Product Key Finder by Magical Jellybean.

From Ninite.com create installers for:

  • Chrome, Firefox, and Opera. You can’t have too many alternatives to Exploder.
  • Dropbox and Google Drive.
  • Notepad++, Python, WinSCP, Putty, and WinMerge
  • LibreOffice

vim and gow (Gnu on Windows) and maybe Cygwin.

Ruby Windows Installer.


Telegram Desktop

MarkdownPad (or pay $15 and get Pro)

Be not slow to consult Alternative To.

And when you’re ready, make a backup image using Clonezilla. Or at least a system restore point.

Podcast Publication Date

A couple of weeks (months?) ago, my podcast feed quit including a publication date, and I couldn’t figure it until just the other day. The problem was that my publication tags looked like this:

<pubDate>Sun, 05 Apr 2015 19:18:25 AKDT</pubDate>

but that won’t validate. It never has, but something must have changed in Apple land (either on their servers, or in iTunes) to make the times quit working.

The problem is that AKDT isn’t a RFC-822 compliant time zone. (It assumes that time zones in North America have names that are 3-character strings.) Instead you have to use ‘-0800’. (AKST isn’t compliant either, so you have to use ‘-0900’.)

<pubDate>Fri, 10 Apr 2015 10:24:15 -0800</pubDate>

Tech Links

LinuxUser (UK): Create a NAS box from spare parts.

Ars: Intel’s Broadwell mini-PC. I love the form factor. But then, I’ve owned three Mac Minis.

I keep thinking I should learn the R language. Of course, I used to think that about GnuPlot.

HowToForge: Installing Git and Using GitHub on Ubuntu.

GSoC: SciRuby. There’s a program I’d love to rewrite 20 years later using a high-level language to do the Fast Fourier Transforms. I’m not sure what I’d use for the GUI.

Web UpD8: Install the official Telegram client for Linux.