About

Permalink:

My name is Alan and this is my personal site. I do software for a living. My background is in computational mathematics, but I’m no longer active in research. I have a wife and two boys, and a neutral evil cat (but I repeat myself).

My interests

Tech

I like Linux and FreeBSD. My daily driver is a System76 Serval WS, which, aside from some hiccups involving the NVIDIA GPU (mostly on Fedora, but I’ve since reverted to System76’s Pop!_OS and had no issues), and the camera hardware, has been an absolute pleasure to use.

Music

I usually listen to classical music or jazz at home. If I really want to concentrate I might put on something more atmospheric, even doomy. I also like band like Ladytron and Massive Attack, and the absolute classics like Pink Floyd, Jethro Tull, or Rush, and I dig stoner metal as a style.

I don’t get to play much anymore, but at one point I was the bassist for the 1st Marine Division band, and I still have many instruments, most of them stringed, now mostly gathering dust. When my kids get older, maybe I’ll play some more.

Reading

I mostly like to read science fiction. Right now I’m (re-)reading Speaker for the Dead as an audiobook.

I write the occasional book review here.

Chess

I play a lot of chess. It’s probably the one thing I do most on my phone. I have an account on lichess.org and one on chess.com. For some reason, my Elo ratings are much different between sites. You should add me and challenge me to a game!

Running

In late 2019 and early 2020 (before the pandemic), I ran a couple of 5Ks. Here’s me running a 5K last January, just before the pandemic:

New Year 2020 5K: I’m in the brown shirt and shorts with the #475 bib.

I quite enjoy racing, even if my times are only about average for my age group. I’d registered for a few more races in spring 2020, but they were all cancelled (unfortunately, but obviously the correct thing to do). With no races, I lost the motivation to run and have only done it sporadically since. The hope is that by mid-fall things will be back to normal, so, inshallah, my next race will be a turkey trot.

Not having run much lately means I have to start from square one: 3 miles a week. I have a tendency to go too hard in my training and end up hurting myself, so in the next year I plan to add no more than half a mile per week on average, with frequent rest periods. “There is no hurry. We shall get there some day.”

My goals

My 2021 goals are (modified from their original values after a reality check):

  • Run 730 435 miles (Beeminder goal). (See the running page for a log.)
  • Reach 25000 30000 XP in Chinese on Duolingo (Beeminder goal).
  • Post 52 40 or more posts to the blog (Beeminder goal).
  • Use a Raspberry Pi to power an autonomous robot that can avoid obstacles and perform SLAM in an indoor environment.
    • In so doing, become conversant (or expert) in the methods and applications of computer vision.
    • In so doing, become conversant (or expert) in ROS.

There are some stretch goals, but I’m keeping them back.

Colophon

The sweet theme is (slightly) modified from Chip Zoller’s Hugo Clarity. Many thanks, Chip. 🙏

Send me email:

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFYPQ/8BCACr3IQF37MbbrAB8xU3uhckDOLbie+GuSLIecwfKgGScUWjx2Hu
VWhdJkQ42BTfKvFund+ReV54YLbnz1wUYzOdi2tSvsLINaByUOF4cTCBs3K33tEn
ghc9dq2BpYO/FY6n9Wj35a6Z5RO9Hw6WM1AS0BlNkI4uMSuZnCt3uO8yUj0bRODR
DCVUpO9Pr2XLGyaM0EoHn94xqnqrvNurR5YGmk+CUptApXinu7Q0qPlKkBt+4+te
7xqfI+gd/BlwJTfJ7lw456Cf16GPUDjPgpuEw7VIHjhWBAGV6/ul1iIXvauC1AcF
xhxB7uHICnuZD9lClfNEL61t6TarRrhCBrdHABEBAAG0OkFsYW4gTGlkZGVsbCAo
VXJzdXMgaG9ycmliaWxpcykgPGFsYW4uYy5saWRkZWxsQGdtYWlsLmNvbT6JATgE
EwECACIFAlZPBy0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEE6YFbLd
+rXWQ1IH+gKADim94Vrmy1FH+9q1mPy24fkiCubcnsfzs5Cufl0utTOhi0JW6Z+b
AQ6Wjv4MVZfb90YsrNleKuVTHPmiVTZ6W9ctVyjdmZ4S/gHFWFVUeLCViWVQ7uNx
pl7JxQKhws7AXWV0s6HdO8/MPsU/gPI9zecu6Q5bs/NqMbnPgVFz7D0h5S7CL2h/
fJqLBDPS3i/sDeVk4NP5qaBLR5e1UYZj46IMYKo9qkWyQzxg41r2Vgwbi414x9fC
/jLglJVuYGD2ubvz9u423b7ANcf52fVkHbb8dr+9XZB6lawSy6I8DD9G2gqgJz57
J6LNgEvqtuVaDZfYh2MkX9kwj/FrQp25AQ0EVg9D/wEIAO/q42qK5tJ9Hapy2gWc
Khqrfvy/TiaPCXm+BKz9jdwPVmoHEHMEcxANC1zGEtdbbUXqsD9WEiuIh+JIHNpD
N0znVazl4tIjSmy/gEYfw5MowObdTlMpuHQTt3gPyLMfe+pl4fYuAJrEGbjlMx/z
veAoSOplwC57G+JMkvNV+qjD18h0lDKkTb3Up8kehDZLT/F8blJ+1MQKbmW7VT1Q
Il1U+oz1kEecFx5Tg5FBpTlfQmasL/A1YsAnj0UyxI5jFlFCVXQ2JV4tsGfX1e8k
scVc2mIWBeLYnfgwmkBV64bFjse1nI3u5VEv+wd4wY84BEkaiqYAvw+2EU9+uxaQ
yh0AEQEAAYkBHwQYAQIACQUCVg9D/wIbDAAKCRBOmBWy3fq11k72CACh7InCuOzh
fF+zw9e2CtPvVYHRn4dLjvVbF+5eufTYDdKKQfcfdnV+GQO8y4YhIh6rKmk2mcj2
QGPdjjxLUOA0izTwYwsqjKEecFgzy9oeYRPJCDfMvzBAH+hcC56duevC34X5IcXS
LU0SX/cGELHFB5XhsN3uxOvVQZPeQjfSj85o8SUt3m+4xXujAZisqrR8MekoVrnU
133/LkLYGDkvv2Ko8TEMg6JipVoc3ULn/j6TY3jItmpiWCwdvGKJZEI1cw2j7yKi
QCWqHbLX2U2UGEqMyPqMGnim2LT6g0wayUVBxwgR4E03q60CERS+T6dbsMtVRRYf
Lq2cRvYmPFFE
=8wnw
-----END PGP PUBLIC KEY BLOCK-----