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).
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.
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.
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.
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!
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:
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 2021 goals are (modified from their original values after a reality check):
730435 miles (Beeminder goal). (See the running page for a log.)
2500030000 XP in Chinese on Duolingo (Beeminder goal).
5240 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.
There are some stretch goals, but I’m keeping them back.
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-----