Time-stamp: <2019-01-24 17:24:35 (bm3719)>
#+STARTUP: content

* Project List (2019)
** Computer Science/Programming
*** DONE Type Systems (paper)
    - State "DONE"       from "STARTED"    [2019-01-24 Thu 17:21]
    - State "STARTED"    from "TODO"       [2018-08-30 Thu 21:49]
An paper introducing formal thinking about type systems, extracted from the
Handbook of Computer Science and Engineering.  This might be a good review
prior to starting a formal self-education curriculum.

Quite good and covers a lot of ground. I'm also thinking now that I might be
able to get by with the basics and not need the huge course on the topic I
devised.  There's value in the underlying theory, but internalizing those
details seems to be more appropriate when implementing type systems, not using
them.  I'll still read some of my planned texts anyway though, and see how I
feel about this notion later on.  Didn't finish, due to wanting to get a more
thorough treatment of the more complex topics in textbook form.
*** TODO Types and Programming Languages
The famous text many have apparently used to attain a pragmatic level of
expertise in type-theoretic models.  Programming language type systems have a
basis in the discipline of type theory, which this book gives a formal
treatment of.  Supposedly has aged well, with a downside being it uses OCaml as
the implementation language.  Some have done the problems here in Haskell,
which I might consider.  Online resources for the book are here:

Note that Philip Wadler recommends TAPL, followed by Proofs and Types, followed
by ATAPL.  Do the opam and tuareg yak-shaving tasks before getting started.
*** TODO Programming in Haskell (2nd Ed.)
The most recent full-course Haskell book, updated in 2016.  Also includes
exercises, which I intend to do all of.
*** TODO LambdaCast (podcast)
A podcast about functional programming concepts.  Topic selection looks good.
On SoundCloud, so will have to find a way to download mp3s from there.
*** TODO Clojure Applied: From Practice to Practitioner
A mid-level Clojure book, focused on architecture and composable systems
design.  Focuses on some library specifics that may not last, but otherwise
looks like a good chance to sanity-check a lot of my self-learned design.
Unless something great comes along, I'm making this the last Clojure book I
seriously read.  I'll may still occasionally queue up some of my other Clojure
texts I have in e-book form for casual reading though.
*** TODO Études for ClojureScript
A 2015 book on ClojureScript with practice problems.  There's another O'Reilly
ClojureScript book, ClojureScript Up and Running, but I think I'll skip that
and just read an online tutorial or two to familiarize myself with the
infrastructure and language differences, then do this book.

Differences from Clojure are listed here:
*** TODO Web Development with Clojure (2nd Ed.)
I feel semi-motivated to at least be able to make a functional web application
with both Clojure and Haskell.  Since webapps are a highly pragmatic
programming task, I'll start with the Clojure implementation first, and
consider whether to continue after that.  While I can already make one with
Clojure and JavaScript, I'd like the front end to be in ClojureScript.  It's
non-obvious to me what tooling and setup is necessary to make this happen, so
perhaps this book will help.  The alternative is to piece it together using
random info from the web, which I'd prefer not to.  Since this book is from
2016, it might be prudent to sanity check everything from it online afterwards.
*** TODO Introduction to the Theory of Computation (3rd Ed.)
A book that supposedly reviews the fundamental theorems of computer science.
This is a highly recommended book among Haskell programmers.  Covers languages,
automata, context-free grammars, computability, and complexity.  Note that
there's another book of the same title.  The one I'm targeting is written by
Sipser in 2012.
*** TODO Lambda-Calculus and Combinators, An Introduction
This was recommended as a suitable introductory text for the λ-calculus and
includes Schönfinkel's combinatory logic.  Replacing "An Introduction to Lambda
Calculus for Computer Scientists" with this one (which I didn't like after
reading a couple chapters).  Another option is An Introduction to Functional
Programming Through Lambda Calculus.
*** TODO The Lambda Calculus
An extremely dense tome on the λ-calculus written by Barendregt himself.  By
the time I get to this, I'll know if it's worth the massive effort.
*** TODO What I Wish I Knew When Learning Haskell
A large compendium of all things Haskell.

Read: http://dev.stephendiehl.com/hask/
Repo: https://github.com/sdiehl/wiwinwlh
*** TODO The Haskell Programmer's Guide to the IO Monad (paper)
A short paper just on the IO monad.
*** TODO Haskell Programming From First Principles
A 2016 Haskell book that starts from nothing and seems to cover the standard
stuff (about the same coverage as Learn You a Haskell).  Sometimes criticized
for its rigor at the expense of pragmatics.  But, that might appeal to me.
*** TODO Real World Haskell
This was once the best Haskell book, but it's getting a little dated now.  I
might still read selected parts of it, however.  It's supposedly still relevant
in areas important to the Haskell practitioner.
*** TODO The Haskell Road to Logic, Maths, and Programming
Might skip this one, unless I'm doing a generalist math re-education at the
same time as my Haskell mastery task.  I might also use it as a source of
practice problems, since most books don't have any.
*** TODO Kleisli arrows of outrageous fortune (paper)
One of those algebraic structures that occasionally come up in Haskell
*** TODO Roll Your Own IRC Bot
Probably a good example to learn some real world programming idioms in Haskell.
*** TODO Fun With Type Functions (paper)
A tutorial on type families.
*** TODO Type Theory and Formal Proof: An Introduction
Consider this as a introductory text to the topic.  Sometimes comes recommended
as a first stop, though this is rare compared to TAPL.
*** TODO Practical Foundations of Programming Languages (2nd Ed.)
A book similar to TAPL, but updated in 2016 and not having full overlap.
Written by Harper, CMU professor author of the Existential Type blog.  Judging
from its increased terseness, I'm queuing it afterwards.  Answers to the
exercises here: http://www.cs.cmu.edu/~rwh/pfpl.html

Need to buy a copy.
*** TODO Proofs and Types
A 1990 book by Girard.  It looks like this ties together types with proof
theory, lambda calculus, and logic.  If so, that's just what's needed before
moving on to ATAPL and later dependent types.
*** TODO Advanced Topics in Types and Programming Languages
A compendium of type theory papers, curated by Pierce.  The point of the text
is to explore the interactions of types as they influence various CS subfields.
I'll probably give this a selected reading, given that I know some topics
extend beyond my interest window.  Includes a segue into dependent types.
*** TODO Dependent Types at Work (paper)
An introduction to dependent types in FP using Agda.
*** TODO Why Dependent Types Matter (paper)
A formal methods paper describing the rationale behind Epigram.  Probably won't
get much out of this until some more preliminary formal methods studying is
*** TODO The Little Typer
An introduction to dependent types.  Look into this a little more closely
before deciding to read.
*** TODO A Tutorial Implementation of a Dependently Typed Lambda Calculus
*** TODO Software Foundations
Ties together and introduces the topics: software verification, proof
assistants, functional programming, reasoning about the properties of programs,
and using type systems for program guarantees.  Depending on how this goes, I
may read one or more other Coq books at this point.
*** TODO Learn You An Agda
An very short online book for learning Agda.  More of a tutorial, really.
*** TODO Dependently Typed Programming in Agda
This appears to be one of the most useful Agda texts.  I may consider following
this with Verified Functional Programming in Agda (which I have a copy of).
*** TODO Introduction to Algorithms
The most used algorithms book (particularly at the gradschool level).  I should
definitely know everything herein cold, at least in outline form.  Have the 3rd
edition in PDF form and the 2nd edition in print.
*** TODO The Annotated Turing
A Charles Petzold book that works through Turing's 1936 paper "On computable
numbers, with an application to the Entscheidungsproblem".
*** TODO Artificial Intelligence, A Modern Approach (3rd Ed.)
My main gradschool AI textbook.  Has a lot of interesting stuff here I never
got around to reading.
*** TODO Gnuplot in Action: Understanding Data and Graphs
Just skim the first few chapters then use the rest as a reference.
*** TODO What Every Programmer Should Know About Memory
A comprehensive survey on how memory and software interact.
*** TODO Eloquent JavaScript: A Modern Introduction to Programming
Recommended as a good programming intro.  Could possibly use it as a
reintroduction text for refreshing JavaScript knowledge.  If I manage to feel
pretty good about the language prior to reading this book, I'll skip it.
*** TODO Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers
Come up with a selected topics plan for this.  The goal is just to get familiar
with the newer features in modern JavaScript.  I'll take some notes and use
those to refresh my memory when/if needed.
*** TODO Purely Functional Data Structures
Creating data structures in an FPL is a knowledge gap I recently noticed.  This
is the primary text that supposedly addresses that.
*** TODO Deep Learning
A massive 2016 tome collecting the current thought on this topic.  While not
that interested in ML, I like deep learning's higher-level data abstractions.
Maybe do a selected topics read of this.

I may want to read the foundational paper, "A fast learning algorithm for deep
belief nets".
*** TODO An Introduction to Programming in Emacs Lisp (3rd Ed.)
At =C-h i d m Emacs Lisp=.  I don't really have any big ideas for my own modes
in Emacs, so reading this isn't any emergency.  However, even if I never do,
this will help some in debugging existing code.  Seems to have been updated
in 2009, so might be a little dated on the current direction of the language.
I may wait until the next version comes out.
*** TODO Developing Web Apps with Haskell and Yesod (2nd Ed.)
Not a huge fan of web apps, and I'm semi-inclined to default to
Clojure+ClojureScript for anything web-related, but I might give this a skim.
Another Haskell web framework, Servant, is also popular now.  Compare the two
before investing a lot of time in Yesod.
*** TODO Essentials of Programming Languages (2nd Ed.)
There's a 3rd edition of this book, but apparently it's a downgrade.  Stick
with the 2nd edition's cleaner implementation.  Considering this as I was
shortchanged on my PL course in undergrad, and this book covers the more
rigorous treatment of the subject where students incrementally build an
interpreter.  See the official page for this book, with code:
*** TODO Design Concepts in Programming Languages
An comprehensive and massive tome on all things related to language design.  I
might start here if I want to shift from PLT to PL design.
*** TODO NeHe OpenGL tutorial
I don't actually want to program OpenGL, but a tutorial could be a good
refresher of 3D programming concepts.
*** TODO Data Mining: Practical Machine Learning Tools and Techniques (2nd. Ed.)
Another one I may skip if I don't get to it before retiring from employment.
*** TODO Thinking with Types: Type-Level Programming in Haskell
Currently being written.  Available on Leanpub.  Print version will be out late
2018, supposedly.
*** TODO Applying Type-Level and Generic Programming in Haskell (lecture notes)
Quickly read this when I get around to learning this topic, perhaps as an
outline on subtopics.  These are notes from a 2018 class on the topic
occasionally given by consulting firm Well-Typed.
** Math
*** TODO Category Theory for Programmers
An online book, where chapters are posted in a blog.  Might be too sloppy for
me, but will give it a try.  Will use the EPUB version for light reading on the
e-reader.  Some examples are supposedly in C++, which I'll skip/skim.
*** TODO How to Prove It: A Structured Approach
A college-level introduction to proof reading and writing.  The goal here is to
internalize thinking of the type required for solving proofs.  If this ends up
being inadequate, I can supplement this effort with Book of Proof (2nd Ed.)
which also looks good.
*** TODO Introduction to Logic (2nd Ed.)
This is a often-recommended self-study text on the subject, by Gensler.  If I
do read this book, I'll see about skipping the use of LogiCola, which is an
application designed for use with the book.  Since I've already taken classes
on this subject and this is just for refresher purposes, I might just read it
without doing exercises.
*** TODO To Mock a Mockingbird
An introduction to first class functions and construction to composition of
combinatory logic combinators.  These fundamentals are generally useful and
could be a good introduction to various PLT fundamentals.  Have an e-book copy.
*** TODO Contemporary Abstract Algebra (8th Ed.)
Highly recommended as an ideal self-education text on this subject.  I'll read
this book first, then reevaluate whether to queue any texts on specific
sub-topics, particularly group theory.  I also have the solution sets for the
problems here.  If I still want to do more of this, I also have a copy of A
Book of Abstract Algebra (2nd Ed.), which is also supposedly good.
*** TODO Conceptual Mathematics: A First Introduction to Categories (2nd Ed.)
Apparently one of the best category theory introductory books.  Will try to
start with this and see how it goes.
*** TODO Category Theory for the Sciences
Another supposedly great intro text.  I don't feel comfortable with just one,
so even in the best case, I'll give this one a try as well.
*** TODO A Taste of Category Theory for Computer Scientists (paper)
A lengthy 1988 paper by Benjamin Pierce.  Only available in image PDF form, but
could be useful as groundwork for Category Theory for Computer Science.  Just
read this without doing the exercises.
*** TODO Category Theory for Computer Science
Based on my self-study plan for category theory, I should be super comfortable
with the topic by the time I'm ready to read this extremely dense text.  The
goal is closing the gap from the abstract to application within CS, though if
this book isn't useful in that regard I may bypass it and just go to the PLT
application of the theory.  There are multiple books with the same CT/CS focus,
and this seems the most promising.  Contains both exercises and solutions.
*** TODO Concrete Mathematics: A Foundation for Computer Science
The most recommended math book for computer scientists.  From what I've read of
it previously, it seems to be a good sampling of things I've often encountered
and occasionally wished I had a thoroughly solid grasp of.  It is, however,
mostly in the number-crunching realm, which is probably of limited utility for
me.  As a result, I'll defer this and come back around to it after I've reached
my goals in pure math.  Consider doing all the exercises in Maxima.
** General Non-fiction
*** DONE 2018 F-150 Owner's Manual
    - State "DONE"       from "STARTED"    [2019-01-20 Sun 22:48]
    - State "STARTED"    from "TODO"       [2018-08-20 Mon 13:36]
Read this and the supplementary booklets.  Study warranty information

- Key fobs conveniently take CR2032.
- Use the Towing chapter for setting up trailer backup assist.
- Reset the oil change indicator after changing the oil.
- Wiper blades can be cleaned with a damp cloth.
- Bulb types are listed here when/if I need to replace them.
- Change the oil every 7500-10000 miles of normal use.
- Be sure to replace cabin air filter every 20k miles.
- Jack is behind the rear passenger-side backrest.  To release the spare tire,
  use the key on the covered keyhole in the rear bumper.

I'm thinking regular service visits every 10k is probably the best route.
Check the maintenance schedule (pages 558 and 559) before each visit and ensure
that the needed stuff gets done.
*** DONE Samsung ME16K3000AS manual
    - State "DONE"       from "STARTED"    [2019-01-21 Mon 13:39]
    - State "STARTED"    from "TODO"       [2019-01-21 Mon 11:54]
Learn all the features of the new microwave.

- There's a lot of specific recommendations here for different food types.
  Maybe consult this when defrosting specific items.
- To use other power levels, hit the power button, and enter a number, then the
  time.  The default, level 10, is actually not optimal for most of the stuff I
  cook.  7-9 is probably better.  Use 4 for reheating frozen stuff and 2 for
  melting margarine.
- Using multiple power level stages might be a good idea for defrosting then
  cooking frozen food.
- Always use "Eco mode".  Hit this button and the display will go out and
  reduce standby power.
- Occasionally clean the door seals.
- Use the bottom light to illuminate the stove area instead of illuminating the
  whole kitchen.
- Maybe replace the charcoal filter every few years.  This is what's used for
  internal venting, I think.
*** STARTED 688(I) Hunter/Killer manual
    - State "STARTED"    from "TODO"       [2017-05-16 Tue 01:05]
The 250-page manual for this game.  While a good bit is about just playing the
game itself, probably the majority of it is real world info about how
near-modern submarine warfare is conducted.
*** TODO NixOS Manual
Read at least most of this before/while giving NixOS another try.
*** TODO The Deluxe Transitive Vampire
A grammar book on proper English usage.  Will give this a read to ensure I'm
not making any mistakes, and just to remind myself of the various categories of
grammatical structure.  Some of these, I've forgotten due to never thinking
about it.
*** TODO Introduction to Objectivist Epistemology (2nd Ed.)
I'd like to give all of Objectivism one final comprehensive study, then maybe
write a critique of it.  But, I haven't been able to find a PDF of this yet.
I'll give it one more look, then give up on this one.
*** TODO What Is Lojban?
An introductory text to learning the language.  Will at least read this and
make a determination on whether to stick with it.
*** TODO A New Kind of Science
One of the earlier (if not the first of) attempts at proposing an alternative
model of the fundamental laws of everything computationally--an idea that's
resonated with me for a long time now.

Grabbed the e-book, but it's also available online here:
*** TODO On Thermonuclear War
Having read about a third of this already, this seems worth reading for more
than just entertainment value, despite being published in 1960.  The book is
infamous for its emotionally-detached analysis of data-driven projections of
the results of nuclear war.  Will save this as the next hardcopy read.
*** TODO The Influence of Sea Power Upon History, 1660-1783
I like naval history, though mainly starting at the Russo-Japanese war era.
Despite being very old, this is still considered a classic and relevant to
naval strategists to this day.
*** TODO Being No One: The Self-Model Theory of Subjectivity
This is supposedly empirically-based (though still a philosophical model),
opposed to the mainly nonsense self theory talk in pseudo-intellectual
academia.  I'll give self-stuff one final chance with this book, and if it's
garbage, forget about it forever.  I may even do so if it's great, since these
theories are pretty pointless anyway, and my biology based operating theory is
actually useful.  This is a massive book, far beyond my tepid interest in the
subject, so I may do a selected reading.
*** TODO Naval Warfare, 1815-1914
A medium-length book covering the transition period from wooden sailing ships
to modern steel.  Focuses on the technology advances of the time and their
implications on naval strategy/tactics.  The reason I'm interested in this,
apart from my affinity to surface warfare, is developing a mental model for the
strategy/technology relationship in naval warfare.  This should help formulate
a realistic space combat model should I ever get to working on my related game
*** TODO Multinational Maritime Tactical Instructions and Procedures
An unclassified version of the maritime volume of Allied Tactical Publication
1.  Used for international maritime exercises like RIMPAC.
*** TODO Seapower: A Guide for the Twenty-First Century (2nd Ed.)
Would rather read Fleet Tactics and Coastal Combat (2nd Ed.), but I already
have a copy of this, so I'll read it first (or instead).
** Fiction
*** DONE Aurora
    - State "DONE"       from "STARTED"    [2019-01-10 Thu 22:44]
    - State "STARTED"    from "TODO"       [2018-12-23 Sun 04:27]
Another recommended AI-focused hard scifi novel.

There's two main components of this novel.  The first is the narrative itself,
which is largely uneventful, with dull parts drawn out in great detail, and
ends up being mostly pointless.  The other is the application of various ideas
from math and computer science.  Unfortunately, these are obviously understood
by the author at only a pop-science level, and are often misapplied.  For
example, the author obviously doesn't understand what the halting problem
actually is, and thinks it just means non-terminating processes that need some
kind of escape hatch.  So, it's hard to find much good here, and even worse,
the uninitiated would come away from it thinking incorrect things about certain
topics.  Most of the rest of this author's works seem to have his politics
getting in the way of good story-telling.  That's not quite as bad of a problem
here, but I'll be skipping him from now on.
*** DONE The Coming Collapse series
    - State "DONE"       from "STARTED"    [2019-01-15 Tue 02:23]
    - State "STARTED"    from "TODO"       [2019-01-13 Sun 19:09]
I already read the first entry, Patriots.  I'll give the rest of the books that
currently exist a try, though I expect to get bored before finishing them.
This series is notable for each entry being about the same event, but told from
various perspectives and geographic areas.
- Survivors: Not as good as the first novel, which isn't all that great either.
  This is definitely an installment, as not much is actually resolved here.  In
  fact, many open threads are introduced.
- Founders:
- Expatriates:
- Liberators:

Skipping the rest of these for now, but I'll maybe read Founders at some much
later date if I get the urge for more of the same.
*** DONE Flood series
    - State "DONE"       from "TODO"       [2019-01-20 Sun 00:41]
Another Stephen Baxter hard scifi novel series.  This is about seismic activity
releasing large quantities of subterranean water.  Sounds a bit boring, but
I'll give it a chance.
- Flood: Quitting about 25% in.
- Ark:

Definite miss on this one.
*** STARTED Sprawl Trilogy
    - State "STARTED"    from "TODO"       [2019-01-20 Sun 20:24]
The progenitor of a genre.  In fact, I'm rather sad the future didn't turn out
this way.
- Neuromancer:
- Count Zero:
- Mona Lisa Overdrive:
*** TODO Mission of Gravity series
An older hard scifi novel about a highly oblate planet with a few other books
continuing the series.  Note that the second may only be tangentially related.
- Mission of Gravity:
- Close to Critical:
- Star Light:
- Lecture Demonstration:
*** TODO Dichronauts
Another Greg Egan novel about a world where there are 2 spatial dimensions and
2 time dimensions.

Explanation of the physics of this world are here:
*** TODO Cryptonomicon
Read some of this previously, but give it another try and probably finish it.
Supposedly the best of Stephenson's novels.
*** TODO Worlds of Chthon series
A scifi series begun by Piers Anthony, with the final two novels written by
Charles Platt.  Anthony is mainly a science fantasy author, so bail if these
are in that genre.  Need to find copies of the last two.
- Chthon:
- Phthon:
- Plasm:
- Soma:
A 1996 standalone Clancy novel about a US/China conflict over the Spratly
Islands, making it still sorta relevant today.  Refresh my geographic knowledge
by reading the Spratly Islands Wikipedia article first.
*** TODO Gravity's Rainbow
Supposedly Thomas Pynchon's magnum opus.  I'm mainly interested in its
experimental narrative style that is said to include detailed, specialized
knowledge.  "Experimental" in writing usually means crap though, so I'll bail
quickly if that's what this is.
*** TODO Beggars in Spain
A speculative look at the results of applied Objectivism.  I'm purposely
remaining in ignorance of any conclusions drawn here, so it could be complete
ass.  Objectivist fiction can occasionally be quite good, but most of it
(particularly the criticism, which often misinterprets it) is very awful.  If
this turns out to be the latter, I'll bail quickly.
*** TODO Proxima series
A new Stephen Baxter series about planet colonization.
- Proxima:
- Ultima:
*** TODO Ideal
A posthumously-published novel by Ayn Rand.  Only recently released in 2015.
*** TODO Crime and Punishment
Supposedly the best Dostoevsky novel and one possibly one of the greatest ever.
*** TODO Red Rising
A series.  Need to find a copy.  Might wait until the follow-up trilogy is
*** TODO Dune series
I feel ready for the massive undertaking of reading the entirety of the Dune
books.  There exists several curated lists of the order in which to read all
these, so I'll mostly stick to one of those.  For starters though, I'll read
these Frank Herbert authored works, which I consider the saga's core.
Supposedly, the following series are not as high quality and they seem to be
churning them out one a year, so I'll reevaluate when I get to that point.
There's also some other Frank Herbert novels worth considering later too.  Have
copies of all in text and mobi.
- Dune:
- Dune Messiah:
- Children of Dune:
- God Emperor of Dune:
- Heretics of Dune:
- Chapterhouse: Dune:
*** TODO Prelude to Dune series
The first of the expanded series, written by Brian Herbert and Kevin
J. Anderson between 1999-2001.  This is a prequel series, set just a few
decades before the events of Dune.  Reading these will determine whether or not
I can stomach the expanded series at all.  If these suck, I'm not going to be
wasting the months it'll take to read the rest.  Have copies of all in
text/PDF and mobi.
- House Atreides:
- House Harkonnen:
- House Corrino:
*** TODO Legends of Dune series
The second of the expanded series, written by Brian Herbert and Kevin
J. Anderson between 2002-2004.  Another prequel series, but set 10000 years
before the events of Dune.  Have copies in mobi.
- The Butlerian Jihad:
- The Machine Crusade:
- The Battle of Corrin:
*** TODO Dune sequel series
This is another expanded series, but one I'm considering separate for my own
reasons.  Written by Brian Herbert and Kevin J. Anderson between 2006-2007.
These follow the events of the core series and try to tie up loose ends based
on Frank Herbert's notes for the direction of the series.  Have copies in mobi.
- Hunters of Dune:
- Sandworms of Dune:
*** TODO Heroes of Dune series
Another expanded series, written by Brian Herbert and Kevin J. Anderson between
2008-2009.  Set between the events of Dune and Dune Messiah, and also between
House Corrino and Dune.  Have copies on mobi.
- Paul of Dune:
- The Winds of Dune:
*** TODO Great Schools of Dune series
The currently latest of the expanded series, written by Brian Herbert and Kevin
J. Anderson between 2012-2016.  Set 80-100 years after The Battle of Corrin.
Have first two in mobi, last in epub.
- Sisterhood of Dune:
- Mentats of Dune:
- Navigators of Dune:
*** TODO The Children of the Sky
The last in the series including A Fire Upon the Deep and A Deepness in the
Sky.  The setting for this one doesn't sound that great though, but the other
novels were at least readable, so I'll give it a chance.
*** TODO The Expanse series (in development)
Might be good.  Only know about the setting so far, which looks reasonable.
This series isn't yet finished, so wait until it is before reading.  Also might
be too mass appeal targeted, evidenced by an active attempt to turn it into a
show.  Need to find copies of the novellas and short stories (though I may skip

Here's a best guess on a good sequence, ordered by chronological release:
- Leviathan Wakes:
- The Butcher of Anderson Station (short story):
- Caliban's War:
- Gods of Risk (novella):
- Drive (short story):
- Abaddon's Gate:
- The Churn (prequel novella):
- Cibola Burn:
- Nemesis Games:
- The Vital Abyss (novella):
- Babylon's Ashes:
- Strange Dogs (novella):
- Persepolis Rising:
- Tiamat's Wrath (out in 2019-03):
- Untitled 9th novel:
*** TODO The Second Formic War trilogy (in development)
A followup trilogy, currently in the works.  Maybe check back in a few years to
see if it's done.
- The Swarm:
- The Hive:
- The Queen:
** Technology/software
*** STARTED projectile
    - State "STARTED"    from "TODO"       [2018-07-02 Mon 10:19]
A project-management/navigation package for Emacs.  One useful default is that
it considers git repos to be projects.  https://github.com/bbatsov/projectile
*** STARTED Component
    - State "STARTED"    from "TODO"       [2018-08-06 Mon 09:34]
A Clojure framework for DI-like state management of services with dependencies.
Been meaning to look at it for a while, since I occasionally have such things
in programs.  https://github.com/stuartsierra/component

Maybe also check out this use case:

This is more for genericizing the management of anything stateful.  A more
common use case I might be in the market for is a global cache that I might
otherwise just have a naked global Atom for.  At a higher level, it's for
declaring the order of stateful setup/tear-down.  I do appreciate keeping this
stuff in one place and top-level.  Equally of interest is the ability to stub
out parts of the system object, like for testing.  I will definitely be using
this from now on for any stateful apps.

I may circle back around here when I have little more time and create a new
n-tier template that uses Component.
*** TODO deprecate SLIME and maxima
Remove SLIME config from my base Emacs setup.  With no intentions of writing CL
any time soon (or ever, really), this will help de-bloat it a good bit.  I'll
also remove maxima and just put it back later if I actually use it again.
*** TODO Luminus
The most recommended Clojure web framework.  Can also create a new project with
~lein new luminus +re-frame~.
*** TODO fix Intero setup
This has been broken for awhile.  I've updated stack, switched to using the
locally installed version, but Intero's startup is still non-functional.
Either figure out what's wrong or redo it from scratch.  If I'm having problems
still, I can also check out ghcid, which is significantly less complex and
still integrates into Emacs, or Dante, which is a fork of Intero.

Maybe read this: https://github.com/soupi/minimal-haskell-emacs

And this:
*** TODO clojure.spec
Learn this quite thoroughly.  Create a list of resources to read.
*** TODO defn-spec
Wraps defn, adding optional checking of arguments and return values.
*** TODO clojurice
A full stack web app setup in Clojure.  Makes all the main architectural
decisions.  Worth looking at to compare against my best practices.
*** TODO hiccup
Previously briefly used, but might be worth a closer look.  Renders data
structures in HTML.  Also can do interesting things with zippers.
*** TODO winfile
A recreation of the 3.0 Windows file manager.  On my current Windows box, since
I mainly just use it for games, I didn't bother installing/configuring
xplorer2.  Maybe I'll use this instead, or just look at it briefly.
*** TODO Indium
Looks like it might be the current best for integrated JavaScript development.
*** TODO restclient.el
*** TODO Sitemaps
Sitemaps is a protocol used to inform search engines about the resources
available on a site.  Look into whether or not it's worth making one of these.
*** TODO Webpack
A JavaScript bundler and dependency manager.  Also has many other features,
including transpiling (most notably allowing one to code in ES6 and transpile
to ES5) and development deployments.  Setup a sample project.  Might consider
this for my own site use, though I'd rather defer this to use ClojureScript.

Added to freebsd_setup.org.
*** TODO ESLint
Replaces JSLint.  Installed via npm.
*** TODO edn
Look into using this to store the data in commercial-angler-clj, instead of its
current method of using CSV files with complex schemas and supporting

- [X] Read the edn specification: https://github.com/edn-format/edn
- [ ] Read this: http://www.compoundtheory.com/clojure-edn-walkthrough/
- [ ] Refactor game to use edn.
*** TODO fn(fx)
A functional wrapper around Java FX.  Use this for Clojure desktop application
development.  Deprecate all use of seesaw.  Rewrite commercial-angler-clj in
fn-fx.  Consider using the garden library for CSS generation.

Here's a blog article on the subject:
*** TODO clj-refactor.el
Probably should be using this.  This comes with pretty nice convenience
features like completion on and hot-loading dependencies, converting nested
structures to thread macros, auto-searching namespaces for filling in requires,
etc.  https://github.com/clojure-emacs/clj-refactor.el
*** TODO MariaDB
Determine if this is objectively better enough to be worth the tradeoffs.  If
so, switch to this from MySQL.  A port is available on FreeBSD.  Migrate all
databases over to this.
HTML5 is the de facto standard for web markup.  I've picked up some of this by
osmosis while updating my sites, but a more thorough scan of it might pay off.
Choose a text to read, assuming one exists that doesn't suck, in order to get
comprehensive coverage on it.
*** TODO duct
An application framework for Clojure.  Seems to include all of the features and
best practices I'm interested in.  https://github.com/duct-framework/duct
*** TODO core.reducers
Read up on the reducers library, here and in the linked blog articles.  Know
when to use them. https://clojure.org/reference/reducers
*** TODO core.async
Give this a proper self-education session.  Be sure to pay attention to using
transducers here.  https://github.com/clojure/core.async

Also read some criticism of the pattern here:
*** TODO test.check
The Clojure implementation of QuickCheck, the currently ultimate test library
for generative testing (also called property-based testing) and an alternative
to the standard example-based testing.  Note that double-check is a cljs port
of the same thing that I may want to check out later.

Example of use: https://github.com/reiddraper/clojure-transient-test
*** TODO specter
A library for manipulation of deep, nested structures in a unified and
performance-optimized way.  https://github.com/nathanmarz/specter
*** TODO clojail
Check this out for embedded REPLs.
*** TODO refrisk
Some kind of UI library?
*** TODO clojure2d
A small library for live 2D image manipulation, popular in "live coding" demos.
Will just give it a quick try.  https://github.com/Clojure2D/clojure2d
*** TODO advenjure
Maybe use this for my Celebrity Stalker game idea.
*** TODO Peridot
Full Ring testing with sequences of calls.  Good for, say, testing a login
sequence.  Watch the first lightning talk here:
*** TODO transit-clj
Might want to use this to propagate types between front and back ends on an
n-tier application that encodes data in JSON.  Supposedly, this parsing is
super fast (significantly more so than EDN).  I don't think there's a need for
it at the moment, but it's worth being aware of.
*** TODO PhantomJS
Seems to be the preferred back-end for ClojureScript.  Has a port in
lang/phantomjs.  Look into Emacs integration.  Note that if installing via npm,
be sure to symlink command nodejs to node.
*** TODO Tern
Looks like this provides a ton of JavaScript features for Emacs.  Also has an
AngularJS plugin.  http://ternjs.net/doc/manual.html#emacs

Also, see this for jumping to function code:

Read this too:
*** TODO play-clj
Was previously going to learn LibGDX, but then this Clojure wrapper to it came
out.  Seems quite excellent and I'll probably make this my replacement
lightweight game library.  There's also play-cljs, which is on top of p5.js.
*** TODO brick
A terminal interface library for Haskell.  Could be good for some early
practice projects.  http://hackage.haskell.org/package/brick
*** TODO GraphQL
An alternative to REST.  Maybe check out GraphiQL, which is a GraphQL live
editor/browser plugin, or something like that.  Lacinia, is a GraphQL library
by Walmart Labs.  https://github.com/walmartlabs/lacinia
*** TODO Riak
A distributed key-value store.  I've been meaning to get into using one of
these, and this is my current favorite.  Before starting, do a quick scan of
the market to make sure that's still the case.
*** TODO LiquidHaskell
A type system extension that allows for extra compile-time checking.  Looks
pretty amazing.  Look into this after getting to intermediate Haskell skill.

Tutorial: http://ucsd-progsys.github.io/liquidhaskell-tutorial/01-intro.html
*** TODO Gorilla REPL
Possibly the best data science solution for Clojure at the moment.
*** TODO structured-haskell-mode
Like paredit, but for Haskell.  Lack of AST-aware editing for a language I
intend to use a lot sucks pretty bad.  Looks like this has a stack build file
now, but still requires an external executable.  As a result, I'm deferring
this until I really get into it.
*** TODO Emerge
A merge tool for Emacs.  This is pretty simple to use, but I need to read the
info page on it (and maybe collect some common commands) and setup git to use
it as its merge tool.
*** TODO advanced Emacs macros
Currently just using macros on a one-time basis, which isn't utilizing their
full power. Write down the stuff needed to record macros, use them in batch
mode for text processing, and whatever else can be done with them.  Maybe start
an archive of useful macros that I often construct.

*** TODO opam
OCaml's package manager.  Supports having multiple compiler versions.
Available on FreeBSD and devel/ocaml-opam.  Read up on its idiomatic usage.
Along with the OCaml package itself, just get this setup good enough to get
some work done in and remove it all after completing work on TAPL (unless I
somehow find permanent utility in keeping it around).  Once done, I'll switch
to one of the implementations in Haskell, or write one myself.
*** TODO tuareg
Seems to be the canonical OCaml mode for Emacs.  Can be install via opam.
*** TODO migrate l1j-en server
Migrate my local l1j-en server to cellblock since it has enough RAM/CPU to run
it fine now.  Note that the server nonetheless is considerably slower to
startup than previously.  I'm waiting until there's a little additional
stability in the project in general before going this route.  This is mainly
due to the fact that I develop against it in Eclipse on Windows, and running it
there allows for a quicker edit-compile-test cycle.  When I'm ready to do this,
update my login INI files to include both the Windows and FreeBSD-hosted
*** TODO Dired+
Been using Dired a lot more lately.  This extends the functionality in ways I
might want.  http://www.emacswiki.org/emacs/DiredPlus

There's also Dired-X, which is already included by default.  If I don't want to
use Dired+, I may still want to expand my normal dired knowledge and include
Dired-X capability.  dired-k and dired-hacks might also be worth a look.
*** TODO crontab rsync scripts
Setup a backup schedule to the external USB drive I plan to get for these
*** TODO Overtone
An audio engine in Clojure, wherein you write source and have audio generated
programmatically.  Could be a plausible alternative to externally generating
audio files for games.  Supposedly, this allows one to trade programming skill
for musical skill.
*** TODO Unity engine
Check out the free version of Unity to see how much work it is to use.  Unity
has become super popular lately, especially with indie games.  Learn the basics
of the platform, then check out Arcadia, which integrates Clojure and Unity.
*** TODO nmh
Consider replacing mutt with this.  mutt's great, but nmh has full Emacs
integration (mh-e) and is supposedly faster (in execution and use), so maybe
this makes more sense for me.

*** TODO Twelf
A dependently-typed logical language more powerful than Prolog.  Comes with its
own Emacs mode and is available as a FreeBSD port.  Probably will skip, but
will at least consider it once I clear off some of the queue.
*** TODO Aircrack-ng
Being able to have free internet access almost anywhere would definitely come
in handy.  Maybe use kismet for grabbing IVs.  Get some dictionary files for
WPA.  Set all this up on a laptop.  Before spending time on this, look into the
viability of this for modern WPA2.  Aircrack-ng also provides some other
functionality, but not enough to warrant getting into it without the core
feature.  Might skip altogether, since I'm not really into this kinda thing.
*** TODO BitWig
Maybe look into this for normal audio creation.  Ardour is another alternative.
Both run on Linux.
*** TODO Krita
An open-source, free graphics program, seemingly great for drawing.
*** TODO SketchUp
A 3D modeling app that is supposedly super simple.  Use this to design a rifle
rack and any other furniture I want to make.  Can also export to common
formats, so it might be useful for other things.
*** TODO consider switching hosting to Vultr
RootBSD.net has been good to me, but they are very much not competitively
priced versus Vultr.  I might try deploying my VPS stuff to an instance here
and if it all works well, switching over my DNS records to it.  I probably
won't get around to this until next year though, so maybe get started on it in
late 2018.

Note that some OpenBSD users say that once you spin up an instance, you should
ask Vultr support to add ~kvm_intel.preemption_timer=0~ (I guess to their
QEMU/KVM host) in order to keep the OS stable.
*** TODO NeoMutt
Consider replacing Mutt with this.  NeoMutt is a fork of Mutt with added
features.  Mutt development is supposedly stagnant.
** Work-related
*** STARTED create pantheon of gods
    - State "STARTED"    from "TODO"       [2017-04-17 Mon 23:37]
Think of a hierarchy (or maybe a non-hierarchical assemblage) of gods.  This
should be a completely original conception of what gods should represent.
Historically, humans have created gods to represent things on a spectrum from
the easily fathomable (natural phenomenon, animistic elements, ancestral
lineage) to the mildly esoteric (simplistic, abstract concepts like virtues,
vices, and other anthropomorphous qualities).  Maybe create a page on the site
for these when done.

Properties of my conception of a pantheon:
- Properties of gods are based upon much higher-level abstractions.
- I'd also like a deep, n-ary connection between them that goes beyond
  dichotomous polar-opposites.
- The conceptual space they occupy should be all-encompassing, in some
  large-scale manner, while also ignoring human-scale concerns.
- They should also have symbolic expressions and appropriate names, preferably
  multiple of both.
- They should have a somewhat intelligible description possible, but also a
  true, maximally-esoteric description.
- The pantheon should have a canonical visualization in some obscure geometric
  or abstract polytope.

An example with 3 ternary subgroups:
- god X: Equivalence, implication?
- god Y: Composition and convergence.  Cellular automata.  Conceptually,
  influence and environment.  The comonad.
- god Z (Tensor): Path, direction, progression, state transition?

- god P: Binding, conceptually of names, physically of constraint of movement,
  range, spectrum.  The monad.
- god Q: Boundary, spatial and conceptual.  Surface.  Knowing of things.
  Finitude.  Shape.  The group/category.
- god R: Structure and structure-preserving transformation.  The F-coalgebra.

- god A: Indifference, both of nature and conscious entities.  The nature of
  the universe.  The machine.
- god B: Cause and consequence.  Determinism.  Futility.  Inevitability.
- god C: Stochastic processes/systems, statelessness.  Complexity, in reality.
  The Markov chain.

On the surface, sets are {{X, Y, Z}, {P, Q, R}, {A, B, C}}, but also there is a
deeper set definition of {{X, P, A}, {Y, Q, B}, {Z, R, C}}.

Also pondering the idea of a unification entity, ostensibly representing some
more fundamental abstraction of reality.  The other gods would not then be
discrete entities themselves, but rather eigenvalues of this entity when some
structural transformation is applied.  Alternatively, no central entity could
exist, but the gods themselves could be eigenvalues of each other.

Names: Vok,
*** TODO rewrite projects page on main site
At least add a blurb for MV Rockzap.
*** TODO read up on ShipBuilder
Just watch a video or something.  Has a full collection of ship components.
*** TODO search engine site tuning
Do these things once the main site is redone and I have some finalized content
for it.  SEO is one scummy industry, and if you ignore the spam part of it, you
can do it yourself quite easily.
- Sitemap.xml: Create one of these for search engine indexing.  See:
- robots.txt: Already have one of these, but should add stuff to exclude, like
  various script files.
- Google Analytics: Set this up.  http://www.google.com/analytics/
- Google Webmaster Tools: https://www.google.com/webmasters/tools/
- Dmoz: Add site here.  Google uses Dmoz to factor in its rank.  Go to
  dmoz.org, and click "Suggest URL".  Will need to submit it under some kind of
  software company category though.
** Games
*** DONE Underrail
    - State "DONE"       from "STARTED"    [2019-01-06 Sun 12:03]
    - State "STARTED"    from "TODO"       [2018-12-17 Mon 21:29]
A 2D-isometric RPG, highly reminiscent of Fallout 1/2.  Got on a GOG sale for

- Use the build tool to plan characters.  Set all stats to 3, level to 25 (the
  max), then max out the skills desired and backfill the prereqs:
- Looks like this uses SFML.  This is about the level of detail I wanted for a
  2D isometric game, though that would require a lot of building on top of SFML
  since it's not a full engine.  It does have bindings in other languages,
  including Haskell and Java, though I'd have to look into it to see how
  complete they are.  I'd imagine it's probably easier to use a native library.
- Use junkyard surprise (a food item) to boost base stats to get by stat
  checks.  This can raise a random stat +1 or +2.
- If playing a single weapon character, wear some items like boxing gloves or
  jack knife in the off weapon slot for the equip bonuses.

Great game and one of the best 2D-isometric games out there.  This game expects
a deep understanding of game mechanics, min/max builds, and crafting.  My first
character was an unplanned pistol/knife character with no crafting skills and
he found himself hopelessly outclassed by mid-game.  Restarted with a stealthy
crossbow/traps user.  Might try a stealth/psi or unarmed build next time, or
just the same build but dropping the bio, chem, and traps skills.

Next time, use this to save travel time:
*** CANCELED Nocturne
    - State "CANCELED"   from "TODO"       [2019-01-06 Sun 23:21]
A 1999 adventure game, now available as abandonware.

This runs, but is buggy and clunky to the point of being nearly unplayable.
*** CANCELED Space Station 13
    - State "CANCELED"   from "TODO"       [2019-01-06 Sun 23:39]
Supposedly a unique concept.  Multi-player, however, so maybe just give it a
try for a bit.  https://spacestation13.com/

Watched a few videos of it and will skip.
*** DONE The Operational Art of War III
    - State "DONE"       from "STARTED"    [2019-01-13 Sun 19:46]
    - State "STARTED"    from "TODO"       [2019-01-13 Sun 18:43]
There's a huge genre of TBS wargames that have minimal graphics and are mostly
on hex-based grids by convention.  These supposedly have a lot of strategic
depth.  I'd at least like to give one of them a try, and TOAW3 is often cited
as one of the best (the very expensive War in the Pacific: Admiral's Edition is

The copy I have was stuck in bin/cue format.  Converted this to an ISO using
bchunk on a Linux VM.  Deleted the bin/cue copy.  Installed to my WinXP VM.
Note that this is better at a lower resolution, like 1600x1024.

- A copy of the manual is included in the install.
- Read the tutorial .doc file while doing the tutorial mission.

Maybe I'm missing something, but I don't see the appeal.  It's hard to get a
good picture of the conflict at the operational level such that one can devise
anything like a clever strategy.  Also, the text and icons are nearly
unreadable at high resolution.  There exists a new version that fixes a little
of the clunky UI, but requires buying a new copy.
*** CANCELED HELLION (in development)
    - State "CANCELED"   from "TODO"       [2019-01-15 Tue 02:51]
A game supposedly focused on realism and survival in space.  Currently in early
access.  Looks like development might be stalled, so definitely don't buy.  I
find the concept appealing, so it costs nothing to check back in a few years,
just in case the unlikely thing happens and this game turns out great.

Looks to be one of those games forever in early access, plagued by bugs and
other problems.  Forgetting about this one.
*** CANCELED Stellaris (purchase)
    - State "CANCELED"   from "TODO"       [2019-01-23 Wed 23:44]
Another space 4x game, released in early 2016.  This one looks quite polished.
Already has a DLC.  Wait until maybe around 2020 or so.  Keeping this as my
currently most promising 4x game, but will replace if something better comes
along before it's reasonably priced.  I've been too disappointed with this
genre to pay more than $15 or so.

Skipping due to 4x fatigue.
*** CANCELED Command: Modern Air/Naval Operations (purchase)
    - State "CANCELED"   from "TODO"       [2019-01-24 Thu 17:24]
Super expensive ($80), but looks like a true Harpoon successor.  Keep an eye
out for a sale.  Probably better to buy from Matrix Games' site, which allows
for registration of the serial on Steam.  Was last on sale for $28, which is
still too much for a Google Earth application.  Multiple DLCs are also
available and can easily double the price if all are bought.  These will need
to be bundled with the main game before considering to purchase.

Skipping.  Might revisit the notion of playing this, but paying more than a few
dollars for a Google Earth interface to a naval equipment database doesn't seem
to make much sense to me.  Plus, I'm not sure I actually like this genre of
*** TODO 688(I) Hunter/Killer
First in the series of naval sims by Sonalysts, released in 1997.  May be too
ancient to be playable, but will give it a try first.  My plan is to progress
through all the PC games in this series, if possible.  However, I'll quickly
plow through these older ones.
*** TODO Avanor
Another rogue-like, similar to ADOM.  Available on FreeBSD.
*** TODO ADOM 3.0.6
Try the terminal version.  If there's monetization issues, go back to 1.2.0,
which I have a copy of.  1.1.1 is also still available on FreeBSD.
*** TODO Crusader Kings II
Got for free on Steam.
*** TODO X3: Terran Conflict + Albion Prelude (revisited)
Revisit this and restart my pacifist run.  I'm still a bit unenthusiastic about
the X-series due to X:R, but I'll give this game another chance.  I do somewhat
suspect that I may have outgrown the series altogether though.

- Beginner's Guide:

- Install game from Steam.
- Run the game from Steam once to do initial setup.  This will also allow
  checking graphics settings (leave these default, and if performance is an
  issue later, decrease AA to 2x).  Also setup the controller.
- Install X3:AP bonus pack  Read bonus pack README PDF.
- Install 3.2 non-Steam .exe.
- Install plugin manager.  Deselect Auto Updater.
- Manually install PSCO1 Cockpit Mod 1.33AP.  I have these as 14.cat and
- Install Universal Best Buys/Sells Locator into plugin manager.
- Install Universe Explorers.  Requires AP Libraries.  Install both into plugin
  manager.  Also requires Community Plugin Configuration mod, which is already
  installed by default in the plugin manager.
- Manually install transparent sidebar mod.  Create a "dds" folder in the root
  game directory and copy the dds file into it.
- Extract the MK3 Optimization mod and run the extraction exe against the
  addons directory.
- Install (as an archive) Reduced Enemy Missiles mod.  This reduces missiles to
  the X:R rate instead of the missile spam in AP.
- Try no floating icons mod.  This didn't work for AP, last I checked though.
  Maybe modify this mod myself?  Some guy had a solution here:
- In regedit, modify the HKEY_CURRENT_USER\Software\Egosoft\X3AP\GameStarts
  value to ffff.
- Set FOV to 80 for a 16:10 monitor.  This is a reduction and ideally the FOV
  would be 100 or so, but this does get rid of the stretching.
- Adjust in-game keybindings.  Copy over old config for this.
- Mods to consider later:
  - Anarkis Defense System, if I start using carriers.
  - ANCC Scramble, to scramble fighters.
  - Docking Lockup Fix, if the docking bug shows itself.
  - Terran Conflict plots 2.2a.  Only do this after doing the AP plots, if I
    ever do them at all.
*** TODO Sub Command
Second in the series of naval sims by Sonalysts, released in 2001.  Has the
cleanest graphics of the three.  Only allows play of 3 submarine platforms.
Will give this a try before playing DW.
*** TODO Dangerous Waters + RA 1.41
    - State "STARTED"    from "TODO"       [2017-05-13 Sat 02:14]
Probably one of the most involved sims ever made.  Once I can spare several
days to read the manual, I'll give this a try.  Also read at least the
Wikipedia articles on all weapons and platforms in the game.

The Reinforce Alert mod brings in a ton of new platforms, missions, and
improves graphics all around.

- Update to 1.04.
- Might want to flag the binary with -wantVSync.  Try without it first.
- Install RA 1.41.
*** TODO Nethack
Once I've finished most of the one-off games off this list, it's time to really
master Nethack and attempt to actually ascend a character (something that has
always been one of my goals in life).  Using games/nethack36-nox11.

- Start a terminal with =urxvt -fn "xft:dejavu sans mono:pixelsize=22"= if
  playing fullscreen on a 1920x1200 screen.
*** TODO Orbiter 2016
I've played this over a decade ago, but didn't give it the time it deserved.
Will give it another try since I'm into realistic space sims and orbital
mechanics.  http://orbit.medphys.ucl.ac.uk/
*** TODO Silent Hunter 4
Will play missions to get used to the game, then eventually try to complete a
100% realism career until getting awarded the desk job.  SH5 has also been out
since 2010 and is now DRM-free.  So, I might instead get that if I don't get to
SH4 anytime soon.
*** TODO Aurora
A freeware 4x game, one that's apparently of extremely huge depth.  Uses native
Windows GUI widgets, like Stars!.  Tutorials are available here:

- Grab the portable version, mentioned here:
- Ensure the Microsoft Visual C++ Redistributable for Visual Studio 2015 is
  installed.  On my Windows 7 box, it already was.
- A C# version is supposedly in the works.
*** TODO DCS World 1.5
The current DCS version, released in 2015-10.  Comes with free access to the
Su-25T and TF-51D.  There's no reason not to at least give these aircraft a try
and master their controls.

If I decide to get any modules, the current two highest quality are the KA-50
and A-10C.  I particularly like the KA-50's insane number of switches.
*** TODO Xenonauts (purchase)
Might be a worthy successor to the X-COM series.  Was released mid-2014.  Looks
okay, but doesn't seem to be worth $25.  Lacks much complexity, it seems, and
I'm not a fan of the manual air battles, so I'm not in any hurry to play this
and may skip it altogether.  Last seen on sale for $10.  Also check out Phoenix
Point, which might be out by the time I get around to this.  Xenonauts 2 is
also currently in development, and that might be worth looking at instead.  The
demo for that is already out.
*** TODO Phantom Doctrine (purchase)
A turn-based tactical game, supposedly using X-COM mechanics and similar in
theme to JA2.  Give a closer look before buying and definitely at least wait
until it's much cheaper (currently $40 at launch).
*** TODO Pathfinder: Kingmaker (purchase)
A BG-esque RPG based on the Pathfinder ruleset.  A good chance I'll skip, since
Pathfinder always struck me as a bit too direct of a ripoff of D&D 3.5 and
recently they've gone full SJW.
*** TODO Divinity: Original Sin 2 Definitive Edition (purchase)
Now that this is done with updates, wait until it's cheap and grab a copy on
GOG.  Ideally, I'd like a version with all the updates pre-packaged though.
*** TODO X4: Foundations (purchase)
Now out in late 2018, but wait 2-3 years for all the patches and expansions to
be included in a total package.  At casual glance, it looks like it might be a
proper X game, though I'm less enthusiastic about the genre these days.
*** TODO Cold Waters (in development)
A new sub-sim.  Give this one some time to see if they add some features hinted
at, like the ability to play as Soviet units.
*** TODO Rimworld (in development)
A scifi clone of Dwarf Fortress.  Check back on this in a few years, long after
it's been officially launched.
*** TODO Legends of Aira (in development)
A modern UO clone.  Looks rough and like it might be a crowdfunding disaster,
but I'll check in on it in a year or two.
*** TODO Underrail: Expedition (in development)
An expansion to the base game that adds a side story line and some new
** Programming projects
*** STARTED rewrite Commercial Angler
    - State "STARTED"    from "TODO"       [2015-07-26 Sun 02:20]
This could be a good sample project to do GUI programming in Clojure.
- Rewrite in Clojure using seesaw or play-clj.
- Consider using a deployable database for game data, like SQLite.
- Add saving and custom characters.

Update: Start over using fn-fx.  Also consider using EDN to store the data
instead of CSV files.  That would preclude the need for complex schema code.
*** TODO rewrite pexpect scripts
Rewrite these in some other language besides Python.  Once I do so, I can
deprecate my entire Python development stack and just keep around the built-in
python-mode around on Emacs and the Python interpreter pulled in by Xorg.
There's a list of libraries here: https://en.wikipedia.org/wiki/Expect

Maybe I can use the Java library via Clojure's interop.  Also I might just
deprecate these scripts altogether, since I don't use them much now.
*** TODO miscellaneous practice projects
Some ideas for a few practice projects of the ~3 day effort range.  Break these
into individual tasks if I choose to do any.
- An analog-style clock using vector graphics.
- A parallel Sieve of Eratosthenes.
- Use Delauney triangulation to convert a collection of circles into a graph.
- Rewrite my l33t-speak converter (which I think I lost the source for) in
  elisp.  This would make a superior converter than M-x studlify-region.  Call
  this l33tify-region.  I could also make one for dewdspeak (dewdify-region).
- A market data research program that uses Pearson's correlation coefficient to
  detect related and inverse-related ETFs.  This could actually be quite
  useful, since if one of these coefficients gets significantly out of line, it
  might be a promising trade to buy into a likely gap close.
- A price prediction modeler using Weka.  Locate a target equity that I want to
  predict the price of, and conjecture upon influencing/correlated equities.
- Utility to find the polygon representing the convex hull of a set of points
  in 2D.  Maybe also do in 3D.  This is a solved problem, so do it in some
  esoteric language.
*** TODO The Affairs of Men
Create a more formal design document in org-mode for this game and collect all
of the various ideas I've accumulated there.  Clean up/finish the preview page
and concept art graphics.

Currently, I'm not too worried about coming up with a realistic plan for
actually getting this project off the ground, since every time I've started
writing code, I've just ended up tossing it a year later.  So, the main goal
now is to finish my self-directed languages study.  At that point, I'm sure
I'll have more permanent ideas about how to approach this problem.
*** TODO MV Rockzap
Still a long ways off from actually beginning to implement this, but current
thoughts are to do this in Clojure, using some currently unknown combination of
graphics libraries.

No one has yet seriously attempted to write a game anywhere nearly this
involved in Clojure, so chance of failure is pretty high.  But, getting a
finished product is much less a goal than having some significantly complex
software to work on.
*** TODO Suburban Lawn
Probably write this in Clojure.  See sl.org for design doc.

Only spend a week or two making this, but actually try to make this game
entertaining to play.
*** TODO Anthrocon TD
Rehash of the tower defense game concept.  This is a reimaging of my original
TD game idea, Day Care Defense.  This version takes place in Pittsburgh on
fursuit parade day.  The lore goal can be to kill furries before they get through
the parade, so they can't yiff and procreate.

- Maps can be various fictional parade routes through Pittsburgh and/or the
  conference center.
- Include bloody remains that don't disappear (something no other tower game
  has, as far as I know), possibly even through levels.
- Possibly have (at least the option of) players retaining wealth through
- Have damage affect the speed of enemies.
- If I feel like it, write an algorithm to randomly generate playable maps.
- Towers are remote weapons platforms with upgrades possible: small arms, LMG,
  HMG, grenade, mortar, flame thrower, chemical irritant, etc.  Include damage
  calculations in kilojoules vs. mass, immolation vs. surface area.
- Enemies: Various normal furries, obese furries, wheelchair furries,
  quadsuits, bronies, scalies, various otherkin.
- Alternatively, think about making this a text-based tower game, something no
  one has attempted yet.
*** TODO web app ideas
Nothing too original here, but might be good practice for HAppS or
- Something to auto-generate RSS-feeds from web-journal posts.  Alternatively,
  something that aggregates post markup from a datasource into various
  presentation outlets (main listing, permalink listing, and RSS).
- Some manner of comment-validator that tests the following captcha idea: A
  captcha, for example, could start with an alpha/beta/eta-reduction answer and
  build up lambda expression complexity around it, then ask the user to reduce
  the expression and enter the answer before posts are accepted.  Think of some
  other composable mathematical expressions along these lines, then randomly
  select an algorithm and generate a problem.
- Auto-page creation based on a directory hierarchy.  Every directory and
  sub-directory will be checked for the existence of a home.edn file. If found,
  a page will be generated based on the template file with the content markup
  inserted into it.  If not found, it will just list directory contents if the
  server supports directory browsing.  When a page is created, the
  sub-directories and any other EDN files will be listed on a navigation bar.
  These will go to auto-generated pages as well.  The navigation will always
  include a top-level and possibly an up-one-level link.  Looks like a project
  called "werc" already does something similar to this, written in rc shell.
- Something to generate various system stats dynamically, so I don't have to
  paste this stuff in again when hardware or software gets updated.
*** TODO Detroit in Ruins
A light/medium-complexity RPG game taking place in modern Detroit.  Perhaps
done in the MMORPG style (but still single player).  Battle respawning monsters
like raccoons, bears, feral dogs, inner city blacks, UAW members, squatter art
students, social workers, prostitutes, arsonists, and community organizers.
Collect gold, food stamps, syringes, scrap metal, copper wire, etc.

This idea isn't worth going all out on.  So just use a pre-built isometric
engine.  This might be a good project for gaining competence in some work
*** TODO Clock Watcher
A simple 2D game with the same visual style of the NES game Wall Street Kid,
where you're a forgotten employee.  Basically, a video game version of this
story: http://shii.org/knows/American_Dream

Played in real time, the player has to endure 8 hours of pretending to be busy
whenever the boss walks by (by alt-tabbing back to Excel), waiting for 5PM (a
clock is visible to stare at), and putzing around with his computer to kill
time.  Status bar should show: Name, date, age, net worth.

Could be a good CLJS game.
*** TODO Freedom Club
A life-simulator where the player plays as Theodore Kaczynksi in his shack in
Montana.  Mostly intentionally boring, but will have activities like:
- Working on your manifesto.
- A mail-bomb construction mini-game.
- Creating night soil from excrement.
- Using a single shot .22 rifle to shoot rabbits, turtles, etc.
- Raising turnips.
- Managing supplies.
- Getting water from a nearby stream.
- Tons of hidden Easter eggs scattered around the game.
- A user-filled or auto-filled diary.
- Chasing away raccoons or other animals that try to steal your food.
- Receiving a monthly check in the mail from your brother.

Game world will be bounded on all sides by industrial parks and suburban
housing, but should include enough wilderness to spend hours roaming in.
*** TODO Trans-Neptunian Hermit
A space simulator taking place in Trans-Neptunian space, on and around Eris,
Makemake, Haumea, Sedna, and the smaller objects in the Oort cloud and such.

This could either be a more serious and scientifically accurate resource
management game, or possibly a more casual incremental game.
A WROL/SHTF scenario simulator.  This can even be a text-based game, but would
be more interesting as a graphical one.  The player starts as a normal
suburbanite and at a randomized time in the future, WROL/SHTF hits.  The goal
is to prepare enough beforehand to survive, managing resources, property,
etc.  The game concept revolves around being a 2-part game, divided by a
significant event that completely changes the game world.

A possible idea I had for this was that the cataclysm could be one of many
dozens (with clues that improve the statistical odds of a particular event
happening).  The player could spend time collecting clues to get better odds
on the event type, or just dedicate energy to preparing.
*** TODO Memewar
An abstraction of character management wherein you manage the susceptibility of
your character to all the world's major memes.  Would be good for a mobile
platform game.
*** TODO Celebrity Stalker
IF game.
*** TODO Departure Lounge
A nursing home RPG.  Probably good for a quick game, in which case the goal
could be escape to the outside.  This could also be an IF game too.
*** TODO GovSim
A multi-agent system that simulates different economic models.  Will have to be
detailed enough to simulate at least the majority of factors involved in
centralized economy management and be back-testable to some precision.  Should
have end user configuration options for tweaking assumptions (like agent
irrationality).  Not sure if this is possible, but would be incredibly awesome
if so.  If it is, it's likely a huge effort that would require a lot of

There's an existing commercial product something like this, written in Scala.
Maybe do some market research first.
*** TODO Turnip Farm
A farming sim, mostly involving raising turnips.  Just a concept for a setting
*** TODO Chore Simulator
Make the most dreadful grind of a generic fantasy MMORPG ever.  Only do this if
I have assets and an isometric game architecture already in place.  Will work
on the idea some to see if I can fill out the details of how it will be an epic
burden in every way.
*** TODO lambda calculus library in Clojure
Make a library that includes all the standard lambda calculus features,
particularly lambda reduction.  Some guy did a very lacking version of this
here: https://github.com/viebel/lambda-calculus
*** TODO Auto-Lineage
Use the l1j-en database to create a web-based version of Lineage.
*** TODO unnamed 2D Elite-clone, refactored
Concept in progress.  See notes in Endless Sky.
*** TODO The End is Near
A pre-apocalyptic concept game.  Check the news and talk to NPCs to get a feel
for what kind apocalypse is approaching and prepare accordingly.  End game
judges your preparations based upon against the actual scenario (represented by
a data structure) and scores you accordingly, with some text describing how
your character fares.  Can be done either as a console or web-based app.
** Computer science/programming goals
*** STARTED Clojure mastery
    - State "STARTED"    from "TODO"       [2014-05-05 Mon 17:12]
After vacillating between Clojure and CL for years, I've concluded that Clojure
is the way to go.  The analysis breaks down like this:

For CL:
- Better books.
- Deeper history with decades of ancient and awesome code.
- No JVM and its assorted baggage.  For example, Clojure will barf JVM stack
  traces and has no facility for investigating the stack, changing stuff, and
  resuming execution.

For Clojure:
- Active and rapid progress.  CL is comparatively stagnant.
- More active userbase, consisting of people more amicable to interaction.
  I'll take Clojure's nu-males over CL's angry, old fossils.
- Libraries more often actually work.  CL's ecosystem is full of mostly abandoned
  projects that were written for internal consumption.
- The better CL literature can still be leveraged in the Clojure world
- Most of CL's historical baggage is gone and a lot of ugly timesinks (like
  macro hygiene) are mostly non-issues.
- Clojure supports literal data structures.  Doing everything with just lists
  sucks.  CL also integrates PLT dead ends, like CLOS.
- Being a CL master means very little if your goal is to write useful and/or
  sellable software.  I can make money with Clojure, but not CL (minus a few
- Pretty much anything you'd ever want to do in software is supported or
  possible: logic programming, front-end development, game dev, etc.  Thus, it
  fills a bunch of roles impossible with CL.  Those that it is lacking in (like
  anything type-based) are covered by Haskell.
- CL+SLIME used to be superior to anything Clojure developers had, but
  Clojure+CIDER is now an overall better programming experience.

The plan:
- [X] Finish reading The Joy of Clojure (2nd Ed.).
- [X] Read Mastering Clojure Macros.
- [ ] Master clojure.spec.
- [ ] Read Clojure Applied: From Practice to Practitioner.
- [ ] Read a bit more on these topics: reify, refs, agents, futures, promises,
  transducers.  Make sure I know how/when to use them in practice.

After this, maybe create a separate task for ClojureScript and some supporting
*** STARTED type theory
    - State "STARTED"    from "TODO"       [2018-08-31 Fri 08:55]
I think my goals here are: advanced understanding of the concepts of type
theory and understanding the links between type theory and various other
subjects of interest (type systems, lambda calculus, logic, and PLT).  By the
end, I'll be ready for approaching dependent types and possibly later homotopy
type theory.

The plan:
- [X] Read Why Types Matter (slides).
- [ ] Read Type Systems (paper).
- [ ] Do opam setup task.
- [ ] Do tuareg setup task.
- [ ] Find and read a quick tutorial on OCaml.
- [ ] Consider reading Type Theory and Formal Proof.
- [ ] Read Types and Programming Languages.
- [ ] Read Proofs and Types (maybe).
- [ ] Read Advanced Types and Programming Languages.
- [ ] Deprecate opam, tuareg, and OCaml environment, maybe.
*** TODO lambda calculus
I'll do a minor dive on this for research in preparation for a presentation.  A
few larger efforts later, my current master plan has me coming back around to
it, where I'll do some gap-filling and link it to subsequent topics.  Only
tracking the larger effort here.

The plan:
- [ ] Read the lambda calculus content in The Lambda Papers.
- [ ] Read Lambda-Calculus and Combinators, An Introduction.
- [ ] If I feel the need for another text, insert one here.  The task for the
  previous text lists a few options.
- [ ] Consider reading selected parts of Barendregt's The Lambda Calculus.
- [ ] Maybe write a lambda calculus library in Clojure.
*** TODO Haskell mastery
Lesson plan for going from okay with Haskell (I can use it to solve smaller
real world problems) to dreaming in it:
- [X] Read Learn You a Haskell for Great Good.
- [ ] Consider reading this, which seems to be the standard advice in #haskell
  these days: https://github.com/bitemyapp/learnhaskell
- [ ] Read the Haskell Style Guide.
- [ ] Read What I Wish I Knew When Learning Haskell before going too far and
  repeating any mistakes: http://dev.stephendiehl.com/hask/
- [ ] Read Haskell Programming From First Principles.  This is a second pass on
  everything in Learn You a Haskell for Great Good, but with extra detail.
- [ ] Maybe do all of these problems:
- [ ] If I want a book with more entry-level exercises instead of the above,
  read Thinking Functionally with Haskell.
- [ ] Maybe do this course and exercises, if I still feel like I need any
  remedial overview: http://www.cis.upenn.edu/%7Ecis194/spring13/lectures.html
- [ ] Read all these monad tutorials, or at least until they get boring and
  redundant: https://wiki.haskell.org/Monad_tutorials_timeline
- [ ] Read Programming in Haskell (2nd Ed.).  Much of this should be
  intentionally redundant by now.  Skim sections that are a waste of time.
- [ ] Read the Typeclassopedia: https://wiki.haskell.org/Typeclassopedia
- [ ] Re-read and do all exercises from Yet Another Haskell Tutorial.
- [ ] Skim the text, but do all exercises from Real World Haskell.
- [ ] Read everything interesting on haskell.org, like "All About Monads":
- [ ] Spend a week reading everything on the wikibooks.org Haskell section.
  There's some important advanced concepts the books pass over, like CPS,
  Arrows, Monoids, Zippers, and concurrency.  Find code (or at last resort,
  blog posts) that demonstrates anything I don't grasp from here.
- [ ] Read or skim The Online Report: http://www.haskell.org/onlinereport/
- [ ] Re-read the essay "State of the Haskell Ecosystem" to branch into topics.
- [ ] Read the code for all the Haskell software I use to see if there's
  anything I missed.  All of this should be easily understandable by now.  Go
  through the entire Hackage repo and download the source for anything that
  looks interesting.  Keep a master list of packages I like so I can always
  cabal-install them.
- [ ] Consider reading and doing the exercises from The Haskell Road to Logic,
  Math and Programming.  Only do this if it ties in with a more generalist math
- [ ] Read (or maybe just skim) the GHC User's Guide.  Check for a newer
  version first.
- [ ] Maybe read a few of the academic papers on Haskell.  Most of these I've
  read so far are boring and seem to just be academic publish fodder.  Maybe I
  can find a pre-filtered list somewhere first.
- [ ] Consider reading the book Parallel and Concurrent Programming in Haskell
  by Simon Marlow.

After this, I have no excuses to not be able to write full-scale applications
in the language.
*** TODO dependent type theory
Still thinking about what this will look like.

The tentative plan (not integrated with the reading list yet):
- [ ] Read Software Foundations.
- [ ] Read Intuitionistic Type Theory.
- [ ] Type Theory and Functional Programming.  After ITT came out, this book
  describes how it can be used in practice.
- [ ] Read Programming in Martin-Löf's Type Theory.  Same as the above, but
  different in style.
- [ ] Read Learn You an Agda.
- [ ] Read the Agda docs: http://agda.readthedocs.io/en/latest/index.html
- [ ] Read Dependently Typed Programming in Agda.
** Math goals
*** TODO abstract algebra
Select a book on this subject, which will roll up a few other smaller topics,
like group theory, that are probably not worth me studying separately.  I'm
leaning towards Contemporary Abstract Algebra (5th Ed.), which is supposedly
optimal for self-study.  There are recommendations out there for A Book of
Abstract Algebra (2nd Ed.) by Pinter as well, which I also have a copy of.
*** TODO category theory
I've completed a high level pass on this in the form of study necessary to give
a presentation on it.  This has solidified my desire to make this a major
mathematical focus in life.  I also have better context for what a realistic
self-driven course in the subject looks like.

The plan:
- [ ] Do a high level pass on abstract algebra, providing a solid basis from
  which to build concepts here.
- [ ] Read two category intro texts: Conceptual Mathematics: A First
  Introduction to Categories (2nd Ed.) and Category Theory for the Sciences.
- [ ] With the goal being application towards functional programming, consider
  reviewing this course: https://wiki.haskell.org/User:Michiexile/MATH198
- [ ] Read the Category Theory wikibook on the Haskell Wiki:
- [ ] A Taste of Category Theory for Computer Scientists
*** TODO automated theorem proving
This task links in with other tasks related to type theory, Haskell, and
various language theory books, and is conceptually related to proof theory and
category theory.  The main goal here is to attain Agda (or Coq or Isabelle)
mastery to the point where I'm either using it to write code in instead of
writing in normal programming languages like Haskell, or at least be capable of
doing this for more complex problems.

The reason someone would want to do such a thing is that if you can prove your
solution in Agda using various type systems like Hindley-Milner and GADT, where
types are propositions, and your solution is correct in the formal system you
can prove it in any universal proof system.

If doing any work in Coq, check out this book, supposedly the best Coq tutorial
around: http://adam.chlipala.net/cpdt/
*** TODO formal logic
I should know all the main logic systems cold and be able to solve proofs in
them in my sleep.  I do kinda know this stuff, I just need to exercise those
neural pathways and do a gaps check.  If I feel like detouring for a couple
months, I can integrate it into my CS/math (re-)education plan prior to doing
abstract algebra.

Tentative plan:
- Read Introduction to Logic (2nd Ed.).
- Read To Mock a Mockingbird.
*** TODO graph theory
While one of the most useful of the mathematics I've employed in my career, I
don't see as many applications for it post-work.  Graph theory is still
generally useful in life and often pops up in strange places in functional
programming.  As a result, I'll probably just do a graph types and algorithms
refresher at some point.
** General life
*** DONE replace basement door
    - State "DONE"       from "STARTED"    [2019-01-02 Wed 17:21]
    - State "STARTED"    from "TODO"       [2018-06-25 Mon 15:52]
This door is a good candidate for replacement.  The previous owner thinks it
was just a spare door that was laying around, and predates the house.  It's
also too small for the opening, and as such, has a sloppy framing job done.  I
could probably live with that, but it also leaks water into the basement during
heavy rainfall.  I'll be using this as a test run for contracting through Home
Depot.  Consultation appointment is scheduled for 2018-06-25.

Update 2018-06-25: Contractor came out and gave quote of $4300 for a full
double door setup, screen, new frame, and installation.  A little more than I
wanted to pay, but it sounds like I'll get a good end product, so I'll give
this a try.  Lead time will be 6-8 weeks, however, so this will be in the queue
for awhile.

Update 2018-07-19: Appointment set for 2018-07-20 for remeasuring, supposedly
necessary before parts ordering commences.  Actual day of work is supposedly

Update 2018-08-31: No call, no show.  Called to complain about it and they
rescheduled for 2018-09-11T08:00:00 - 2018-09-11T10:00:00.  They said they'd
give us some compensation for the inconvenience.

Update 2018-09-11: Contractor showed, but door was wrong size and didn't come
with a screen door.  Supposedly, we're going to restart the process now.  Also
confirmed that my job order should have a note in it about getting compensated
for poor service.

Update 2018-10-12: Called to check job status.

Update 2018-10-16: Home Depot called back and scheduled installation for
2018-11-03, with the same contractor.  Asked about measurements, the screen
door, and compensation for inconvenience.  On the latter, the rep said that
Ray, the project manager, would be notified to include that in final billing.

Update 2018-12-12: Received call and scheduled install for 2019-01-02

Update 2019-01-02: Door replaced.  Looks pretty good.  Only downside is the
screen door kinda blocks easy access to the lower key.  Will just use the
deadbolt for this.  Supposedly, will get a $250 gift card in the mail in the
next week or so.

Will definitely not use Home Depot for installations in the future.  It's too
easy to get lost in the workflows they have and there's no room to accommodate
anything going wrong, which apparently is more likely to happen than not.
Worst of all is the price, which is terrible.
*** DONE get rid of some junk
    - State "DONE"       from "STARTED"    [2019-01-08 Tue 21:12]
    - State "STARTED"    from "TODO"       [2019-01-07 Mon 12:36]
Got rid of most of the junk items laying around from the previous home owners,
but there's still at least 3 pieces left: a dump truck tire, half of a metal
barrel, and a big piece of styrofoam.

Update 2019-01-07: Grabbed items from forest and put them near shed.  Also
grabbed a wood/wire semi-enclosure back there too.  Neighbor is going to the
dump soon, so I'll tag along to see where it is and how the pricing works.

Update 2019-01-08: Going to the dump is pretty painless.  The nearby one is
called the Hampshire County Transfer Station.  Tires do cost a little extra,
but otherwise it's pretty cheap.
*** DONE check out tree stands
    - State "DONE"       from "STARTED"    [2019-01-08 Tue 21:18]
    - State "STARTED"    from "TODO"       [2019-01-08 Tue 14:14]
There's 2 tree stands on the property, of unknown status.

Inspected and cleaned these up.  One looks in great shape and is pretty nice
and large.  This one is also in a good overwatch position over some trails.
The other is older and will soon be of questionable safety to be in.  I'll
maintain the first, but let the other degrade and/or tear it down at some
point.  This one is also not really in that great of a position.

Also cleaned up a bag's worth of trash found around these and nearby.
*** DONE neuter Stripey
    - State "DONE"       from "STARTED"    [2019-01-14 Mon 15:52]
    - State "STARTED"    from "TODO"       [2019-01-14 Mon 11:00]
Get Stripey neutered when we take him in for his final booster shot.  After
that, he'll never go to the vet again (at least, until the end).  Appointment
is on 2019-01-14 0815-0830.

Successfully snipped.
*** CANCELED fix microwave
    - State "CANCELED"   from "STARTED"    [2019-01-15 Tue 20:50]
   - State "STARTED"    from "TODO"       [2019-01-10 Thu 23:58]
The microwave stopped working during a very close lightning strike.  I think
and hope that it's just the main fuse.  The model is a Samsung SMH1622S.

To get to the fuse:
- Unplug the microwave.
- Remove the 3 screws holding the top panel, open the door the whole way and
  pull the panel out.
- Remove the 2 longer screws holding the control panel in and slide it down (or
  maybe it was up).  These are hard to get to, so I used a screw bit and
- Pull out the metal guard above where the control panel was.

Looks like the fuse is a M0805101 or WPM0805101.  Ordered a replacement.

Installed new fuse, but apparently more than the fuse was fried.  Will have to
buy a replacement.
*** DONE replace microwave
    - State "DONE"       from "STARTED"    [2019-01-21 Mon 11:41]
    - State "STARTED"    from "TODO"       [2019-01-16 Wed 20:40]
Broken microwave is 29 7/8" wide and 16 1/2" high.  It's a 1.6 cu.ft. capacity.
The current model Samsung of the same capacity is the same width and only
slightly taller, so it'll probably fit.

Ordered microwave and scheduled delivery and install on 2019-01-21.  Will get a
call the day before to schedule delivery window, I think.

Update 2019-01-20: Delivery will occur between 1000-1600, with a call 30 min
before arrival.

Update 2019-01-21: Installed and works.  Model is a Samsung ME16K3000AS.
Grabbed a copy of the manual PDF.  Will take old microwave to dump once I get
enough stuff.
*** DONE test humidity in basement
    - State "DONE"       from "STARTED"    [2019-01-21 Mon 22:55]
    - State "STARTED"    from "TODO"       [2019-01-16 Wed 16:39]
Use a digital hygrometer to see what the humidity range is, and whether it
could use a dehumidifier.  It might not need it now that the door is fixed,
which I suspect was the main humidity source.  Pull battery from hydrometer
when done.

Maxed out at 48%, but is usually in the 30s.  A dehumidifier wouldn't be
useless, but I could probably get away without one.  Will think about it.
*** DONE post-work life optimization
    - State "DONE"       from "STARTED"    [2019-01-22 Tue 00:21]
    - State "STARTED"    from "TODO"       [2018-09-14 Fri 19:57]
My job is pretty in line with the things I already do in life, at least
technically and with it being flexible about physical presence.  In fact, I'd
probably stay longer if the human interaction component was rewarding or at
least neutral.

Sans a job there's a fair amount of room for optimization.  I might split these
up when the time comes, but for now this collects ideas to implement after this
becomes a reality.

- [X] Take a little time off after leaving to cleanse the brain.  Keep this
  period to under a month, if possible, but ensure that I completely repair any
  brain damage incurred by being around so many mentally ill worker drones and
  over-socialized urbanites.  There are many standard behaviors I've subsumed
  that are only optimal because of interacting with such individuals.  I
  definitely don't want any of those dragged along as habits when not needed.

  Took off one month.
- [X] Setup voice mail on the phone and auto-ignore all calls.  Just check them
  once every few days at most.  This will prevent me from getting interrupted
  by all those spam calls.  Alternatively, see if there's a way to just let a
  whitelist of numbers come through and have the rest go to voice mail.  If
  auto-ignore isn't possible, just turn down the ringer volume.  Disable text
  messaging if possible.
- [X] Ignore IRC almost all the time.  Only pay attention to it when working on
  the game project.
- [X] Update government sticker collections.
- [X] Switch to only using mutt for email.
- [X] Clean out all work-related files I have laying around.  Delete any
  codebases that don't have anything useful in them.

Done.  Might also audit all stuff and do a maintenance pass.
*** DONE check temperature around boiler
    - State "DONE"       from "STARTED"    [2019-01-24 Thu 17:13]
    - State "STARTED"    from "TODO"       [2019-01-24 Thu 16:43]
There used to be some insulation here that was removed to replace the
recirculation pump.  I'll use the infrared thermometer gun to check for major
heat leakage and see if it's worth replacing it.

There's some heat leakage here, but it's not nearly as much as the front.  If I
have some spare insulation later, I'll put some here, but it's not a big loss
*** STARTED get utility trailer
    - State "STARTED"    from "TODO"       [2019-01-19 Sat 10:49]
Mule is 52.6" wide and 106.7" long, meaning I'll need at least a 5'x10'
trailer.  Go look at the ones available at Leonard of Winchester.  Once I get
this, consider getting a cover for it.

Got a 5'x10' one, model Carry-On Trailer 5X10GW from Romney Cycles, since it
was a bit cheaper.  Note that while plates are lifetime, inspections are
supposed to happen yearly.  In this county though, most people just ignore
that.  I might get it occasionally when bringing in the Mule for service since
it'll already be there though.

Follow-up tasks:
- [ ] Get plate and title in mail.
- [ ] Mount plate.
- [ ] Try putting Mule on it to test strap position.
- [ ] Devise some kind of cover for it, probably with a tarp/bungees.
*** STARTED get and setup chicken coop
    - State "STARTED"    from "TODO"       [2019-01-21 Mon 12:05]
Was given a chicken coop, currently located next door property, in exchange for
pig sitting.
- [X] Measure platform: Dimensions are 96"x73".
- [X] Measure coop: 73"x51", with the supports on the long dimension much
- [ ] Paint top of platform:
- [ ] Retrieve coop:
- [ ] Setup fencing and gate:
- [ ] Build ramp up platform:
- [ ] Maybe repaint coop to match other structures:

Will delay getting any animals for it until mid-spring.  Hoping to get 5-10
chickens and maybe a few ducks.
*** STARTED use Gnuplot and Soylent to lose weight
    - State "STARTED"    from "TODO"       [2018-01-07 Sun 01:04]
Living in a tiny box and working in front of a computer all day has made
fitness a problem area.  However, I refuse accept living with size 32 pants
(which should be at most 29).  I put consistent effort into this, and I've
noticed that that this effort has been load-bearing--without it, things quickly
start getting way worse.  That means I need an even bigger investment in order
to move the needle.  Upcoming life changes should make this easier, but I'm
rebooting this effort now.

The plan:
- Food intake: Max 1 normal meal and 1 light meal per day.  If a meal goes over
  1.2k calories, skip the light meal.  A light meal is defined as one Soylent
  dose or <600 calories of normal food.  Zero snacking or purchasing of snacks
  is allowed.
- Normal food composition: Shift non-Soylent meals to be a multi-component
  entrée that includes vegetable sides.  Make an effort to reduce carbohydrate
  consumption (which is where most of my calories originate).  This is based on
  my theory that when I do consume food with significant mass, it tends to be
  calorie-dense.  Lots of side vegetables have mass, yet low calories.
- Exercise: Maintain output here.
- Track weight every Monday morning in Gnuplot file.
- Current end goal is 184 lbs.  Will consider further goals once reached.

Success here is a mere test of will.  When done, re-evaluate on optimal way to
finish the job and get to maximum physical fitness.
*** STARTED consolidate personal data
    - State "STARTED"    [2010-02-03 Wed 13:17]
Go through all of the files I've accumulated in life and mercilessly delete
stuff that is either:
- Easily accessible online.
- Something I haven't looked at in years and am unlikely ever to.
- Something that if I did look at, would be a huge time-waster, like Windows
  games, ROMs, and crappy abandonware.

256GB USB 3.0 flash drives are now available under $100.  Once ready to do the
transfer, get one of these and mount it on FreeBSD.  I may format the drive
with ext2 since that's mountable in both Linux and FreeBSD (requires
sysutils/e2fsprogs).  Another alternative is to format it with ufs and make it
accessible via Samba (this is my preferred method).  I also may want a second
one eventually (once they get even cheaper) as backup.

- [X] Audit all data everywhere.
- [X] Order drive.
- [ ] Mount drive on workstation and include as part of standard setup
- [ ] Analyze and if necessary modify my existing backup directory hierarchy.
- [ ] Copy stuff over to the new storage destination.
- [ ] Write new rsync scripts to automate backups.  These are:
  - [ ] Windows Syncback script.  Might be able to skip this.  Ideally, I want
    no original copies of anything on my Windows box.
  - [ ] Full cellblock backup.
  - [ ] Full macroexpand backup.

Haven't decided whether to keep my Windows backup drive as-is, and rsync it.
I'll have to do that anyway for the VMs, so I'm leaning towards that approach
currently.  This also allows me to leave the backup drive offline most of the
*** STARTED write book: Bacha
    - State "STARTED"    from "TODO"       [2014-05-12 Mon 14:15]
Complete this book.  Repo setup in BitBucket.  Currently suspended due to
Angelica being in college and now working all the time.
*** STARTED fix flood damage to ATV trails
    - State "STARTED"    from "TODO"       [2018-07-09 Mon 22:21]
The county was hit by severe flooding in 2018-06.  The only negative effects
here were some erosion damage to the ATV trails in back.  My plan here is to
use the wheelbarrow and shovel to fill in the gaps created by runoff.  Also,
see if I can redirect water flow around or to the sides of the paths.  This
will take many hours, but should get better end results versus borrowing a
tractor with a front loader.

Side note: I will now start tracking all non-trivial home tasks here, to
exclude recurring maintenance.  The number of tasks done now should be less,
and thus not overwhelm this file with mundane, non-technical filler.

Update 2018-07-12: Filled in the crater (mostly), leveled out some of the deep
ruts, and did an experimental Mule bed-load of fill on the far side of the
stream.  Will now wait until it rains a 2-3 times to see how it settles or if
it washes away.

Update 2018-07-28: Added more crater fill of grass pulled from driveway.

Update 2018-08-21: About 2 weeks ago, the back path was redone with a skid
steer by neighbor for $200.  He also filled the crater completely.  Still need
to go up there with pick and shovel to create the drainage gutter on the side.
*** STARTED clean up wheelbarrow
    - State "STARTED"    from "TODO"       [2018-07-10 Tue 08:50]
Got a free wheelbarrow, but it's been neglected for many years.

- [X] Fill tire with air: Done but it slowly leaks out.
- [X] Tighten bolts: Used 1/2" socket.
- [ ] Get new tire:
- [ ] Clean off rusty parts:
- [ ] Put new coat of paint, white outside, black supports.  Skip inside
- [ ] Consider repainting wood handles brown:
*** STARTED buying stuff: round 3
    - State "STARTED"    from "TODO"       [2018-09-03 Mon 18:06]
This stuff list is lower priority or precondition-dependent.  I'll fully
populate it once I do some post-move budgeting.  I need to balance this stuff
against some potentially costly services.

I will at least need:
- [X] Glock 43 and OWB holster: Switching to this as primary winter carry.  Was
  going to wait on this, but saw one on consignment with accessories for $399.
  Came with a kydex OWB which works great.
- [X] Ladder: Got a 10' step ladder from the house seller for $150.
- [X] Truck or SUV: Got a new 2018 F-150 XLT.
- [X] A few gallons of distilled water: Used for batteries and coolant.
- [X] UTV: Bought a Kawasaki Mule SX 4x4 XC Camo.  Added a plastic roof,
  rear-view mirror, and trailer hitch.  Total cost, including tax, was just
  over $9000.
- [X] Large watering can: Acquired.
- [X] Electric chainsaw and bottle of bar chain oil: Got the Greenworks 60V 18"
  from Lowe's, along with another battery (bringing my total to two).
- [X] Wire cutters: Got some heavy duty ones.
- [X] New mattress, size queen: Got a T&N for $575.
- [X] Drain snake or Zip-It: Got a drain snake.  It's okay, I guess.  Turns out
  I didn't need it, but it'll be good for a cheap insurance policy.
- [X] Hose, spray nozzle, sponge: Got sponge.  For the other stuff, I'll just
  keep the 2 hoses and nozzle left by the previous owner.
- [X] Spool of wire: Grabbed a 0.25 mile spool of electrical fence wire.
- [X] First aid kit: Got an IFAK.
- [X] Freezer bags: Got a box or two.
- [X] 2-3 trash cans with lids: Got 3 from Walmart for relatively cheap.
- [X] Ratchet set and another set of sockets: Got a 1/4" set.
- [X] 5/8" trailer hitch pin:
- [X] Feed or snow shovel: Got a feed shovel with an extra long handle.
- [X] Reactive .22 target: Got a simple spinner.
- [ ] 1/2" metric and standard socket set: Skipping for now.  Probably will
  want at some point though.
- [ ] Outside thermometer: Remembered that I have an infrared thermometer gun.
  I'll just use that.
- [X] A few funnels of different sizes: Got a 3 pack, which I'll keep in the
  kitchen.  Might still get a few larger ones later.
- [X] Tarp: Got a 10x12ft one.  Might get another one with eyelets for boat.
- [X] Hose: Have 2, but got another metal one.
- [X] Pipe wrench: Will try to get by with just one, but some jobs do require
  two.  I do have the tongue and groove pliers that might do in a pinch.
- [X] Drill pump: Got a cheap one.
- [X] Hydrometer: Got a cheap, single AA battery one.  Also has a thermometer
  and tracks the range of humidity and temperature seen.
- [ ] 5-10 cu ft chest freezer:
- [ ] Chain sharpening files: Get for the type of chain used.
- [ ] 3 piece file set with different file shapes:
- [ ] Can of waterproofing wood protector, 1-2 large brushes:
- [ ] Chimney brush:  Measure flue first and get appropriate size.
- [ ] Large jug of Permethrin: Dilute this to .05% and make tick repellent.
*** TODO build a raised bed
Get 6 8ft 2x6" treated boards and 4 short square posts (or 48" of posts
total).  Find a flat spot within hose range and establish a raised bed there.
Transfer dirt from the pig pen into it.
*** TODO get wood stove thermostat fixed
This sometimes fails to shut off the HVAC fan without yanking the power cord on
it.  Looks like a simple fix, but something a professional needs to do.  Will
try local guy recommended by neighbor first.

Update 2019-01-11: Left a message.

Update 2019-01-18: Got in touch with guy and he said he'd call back on
2019-01-22 or 2019-01-23, with a tentative work date of 2019-01-24 or

Update 2019-01-22: Visit scheduled for early 2019-01-25.
*** TODO fix electrical issues
Some stuff I need an electrician to do:
- Fix outlet in basement bathroom: Has an open ground and is not GFCI protected.
- Fix crosswired front exterior outlet: Ensure this is GFCI protected.
- Fix outlets by stove: The GFCI (ground fault circuit interrupter) will not
  reset on these.
- Fix outlet in east master bathroom: Replace with GFCI switch one.
- Address light above sink: This causes lights on the other switch to flicker.
- Get transfer switch installed for generator: Ask about what kind of generator
  the switch will operate with and the plug type.
- Redo the thermostats and see if there's a unified one that can work with both
*** TODO rekey all doors
Get all external doors rekeyed to a new, unified key.  Do this after getting
the basement door replaced.

Update 2019-01-11: Checked local hardware store and they only do so if you take
all the locks off and bring them in.  Will check for locksmiths further out.
*** TODO fix roof flashing
A section of flashing blew off during a wind storm in early 2018.  This should
be fixed at some point to avoid water damage to the frame.  Maybe combine this
with a couple other roofing tasks.
*** TODO clean up boat
Got a boat for cheap from the seller of the home I bought.  I was just going to
buy or build a very tiny jon boat, but for $300 this one was too cheap to pass
up and is way nicer than anything I'd otherwise end up with.

This boat is a Starcraft Fishmaster 1232.  It appears that at least a wooden
deck, lights, pedestal seat, and camo painting were added.  It also has 2
cleats on the sides, one on the front, and two larger ones on the back.  There
are mounting brackets for front and back trolling motors.  It also came with 2
trolling motors, a paddle, and a marine battery.

Even with just a trolling motor, I would need to register this boat if I
operated it on public waters.  This is not something I intend to do, as I have
no boat trailer to transport it anyway.  If I ever change my mind, I can get
around that by just using the paddle or adding oar locks.  Keeping this
registered would eventually cost more than the boat itself.  I would also have
to pay sales tax on it.

Some stuff to do:
- [ ] Get new drain plug: Skipping.  The one there is fine.  Looks like the one
  there is a standard cheap type, similar or the same as what Walmart sells in
  their boating section.
- [ ] Get a battery charger that works with the 12V leads.  These should be
  less than $10: Skipping.  Will try to sell motors and battery.  My thinking
  is that trolling motors are overkill for a pond of this size.
- [ ] Inspect condition of lights and wiring.  Rewire or fix anything
  non-functional.  Skipping.  Some of these are broken and others appear
  intact, but without a battery, there's no point in fixing them.
- [ ] Clean entire surface of boat and chairs.  Flip over and check condition
  of hull.
- [ ] Repaint hull if needed.  I believe the hull material is aluminum.  If so,
  sand until metal is shiny.  Scruff it with a medium pad (maybe just use some
  steel wool).  Apply a layer of epoxy primer then a single stage or base/clear
  coat of poly enamel.  Alternatively, just clean it well and get a spray can
  of Rust-oleum.
- [ ] Inspect state of the wooden deck and repaint or replace it if needed.  If
  replacing, I might go for a more classic finished wood look.  Alternatively,
  just remove it.
- [ ] Remove cleats and soak in white vinegar for a few hours.  Then scrub off
  any rust.
- [ ] Take measurements and buy a tarp for it of appropriate size.  Be sure to
  account for the pedestal seat.
- [ ] Build a boat cradle to keep it off the ground.  Build one that includes
  tie down points for covering it with a tarp.  Ensure enough ground clearance
  so rodents don't move in under it.  Add carpeting or foam on the contact
  surfaces to prevent hull damage.  Get a feel for the weight of the boat and
  account for that in positioning the cradle.  I may split this off to wait
  until I can get a load of junk wood or something for free.

If I get an arc welder (or can borrow one) in the future, I might build a
roofing addition for this that can be slipped on when desired.  Then one could
hang out in the boat on the water for long periods of time or even take a nap
in it, without risk of sunburn.
*** TODO 2019 garden plan
Based on results from 2018, this is an optimization plan to incorporate lessons
learned, and continue experimenting with a few additionally desired vegetables.

Big garden: Jalapeño, green pepper, sugar pea, bush bean, tomato, tobacco.
I'll do the tomatoes in two batches again, staggering the 2nd group by 1.5
months.  Probably something will fail by then, so I'll use those plants as
filler.  I'm not sure if my tobacco seeds will grow yet.  If not, I'll plant
more green peppers.  I'll include plum tomatoes if the volunteer plant of it I
have now produces.  Bush beans don't require a trellis.  Sugar peas do, so use
tomato trellises and/or plant them along the fence line.  If fence planting
works, I may plant more along other fences.

Small garden: Sweet corn, sunflower, pumpkin, spaghetti squash, watermelon.
Sunflowers will be in two rows towards the western side.  Then interchanging
rows of corn and squash/melons.  The corn rows will stop 6' short of the east
fence.  The squash/melons will be planted in squares, so some of them have full
exposure outside of the corn rows.

Raised bed: Strawberry, cayenne pepper.  The cayenne pepper will just fill in
the remaining space, which might not be much next year.

Flower bed: Red beet.  This is a low light area, so even these might not work.
Plus animals eat things and dig up the dirt here.  If these fail, I'll just
plant my mint here and let it dominate the area.

Side of house: Cantaloupe, acorn squash.  Start these in medium pots, then
clear circles for them to grow.  Maybe put some cayenne and sunflowers here

Berry patch: Same.

In pots: Habanero, cherry tomato.  I might include some cayenne here if I have
the pots.  Start the cherry tomato in starter pots first, in case they don't

Stuff needed: More seed starter trays, with larger cells.  Additional
medium/large pots.  Get more/better tomato trellises.  Most of these plants I
don't need to buy seeds for.
*** TODO get Mule serviced
Take this in for a regular service visit around April or May.  Also get the
broken plastic fixed on the passenger side and recenter the steering wheel.

I'll also consider adding a snow plow and winch while there.  I got a price
quote for the full setup at $936, so I won't do it unless I have more money
coming in by then.  Just the winch, mount, and switch is about $375.
*** TODO 2019 tree plan
This includes more fruit trees and blocking the south wind with some
evergreens.  I'll see how this works out this year and cycle on it again next
year if needed.
- For wind-blocking trees, I'll spread some pine seeds around a strip on the
  side of the hill facing the large pond (excluding the part that would block
  the pond view from the porch).  Also try transferring some small ones from
  the mountain.  Then, I'll not mow that strip and hope for the best.  I'll be
  able to fill in any gaps in later years.  This may take several years to come
  to full fruition.  Pine is probably the best for this spot since it likes
  rocky soil and is evergreen.  These cones open in mid/late-spring and the
  seeds have wings on them.
- Go to the garden shop around April and get some additional fruit trees.
  - 2 pear.
  - 2 apple.
- Plant the walnuts I grabbed in some buckets and see if they grow.  After a
  year or so, put them in the ground.
*** TODO get riding or wide area lawnmower
The electric lawnmower works and is still my preferred method of mowing grass.
However, it doesn't work well when the grass is even a little wet and if it
rains a lot I can easily get behind.  I'll use a riding or wide area lawnmower
in those situations and to clear the areas that I won't regularly mow.  I'll
still leave large tracts of the lawn unmowed next summer, just to save
fuel/energy.  Even when owning this new mower, I'll still do as much as
possible with the electric one, both for the edges and around buildings, but
also generally.

Leaning towards getting the Cub Cadet XT2 LX42 or the CC 800.  Go here and look
at one (this place also sells loading ramps):
Shade Equipment Company
1237 Martinsburg Pike
Winchester, VA 22603

Either buy one in person or order it online and have it delivered (which costs
$79).  Width both of these is 50", which should fit in the truck bed.  Maybe
also get a set of mulching blades.

Went to look at these and only the XT2 was in stock.  I was thinking that this
and an electric string trimmer might be a viable option that covers all needed
capabilities.  Will think about it for a month or so.
*** TODO patch vinyl siding
There are a couple of damaged spots in the front of the house and several nails
in the north side.  There exists some product specifically for this task.

Not sure I'll bother with this.  Inspect all siding first to see if it's worth
the trouble.  I could just paint some tape white and use that if it's just a
few small holes.
*** TODO medical maintenance
I seem to be in good health, but I haven't had eye/dental checkups in a while.
- [ ] Get eye appointment.  Compare prescription to see if Lasik is an option.
- [ ] Get dental appointment.
*** TODO try out Kinesis Advantage
Got two of these for free from work.  Will give it a try for a few weeks until
I get good enough at it to know for sure if it's better.
*** TODO orbital mechanics (intro)
Get an outline understanding of this in order to properly play Rogue System.
This is a sub-field of astrodynamics, which is on my list as something I want
to properly learn thoroughly, so doing this has another side benefit.

- [ ] Read https://en.wikipedia.org/wiki/Orbital_mechanics and various linked
- [ ] Read http://www.braeunig.us/space/orbmech.htm and be sure to understand
  the math behind it.

Also watched a NASA educational film on the topic (which actually helped quite
a bit).  Note that orbital mechanics and astrodynamics are essentially the same
thing.  "Space dynamics", of which I have a book titled this, is a label used
prior to the establishment of the field.
*** TODO Lojban
Read ".i la lojban. mo".  Use Anki flashcard set, installed on Windows
(dependency list is massive and drags in Qt, so keeping it off FreeBSD).

Also, do these online lessons:

And read this online book:

Not sure if I want to bother being able to speak this, but writing/reading it
would be nice.
*** TODO astrodynamics
I'll need some basic knowledge here at least in order to make a realistic space

- [ ] Read Fundamentals of Astrodynamics.
- [ ] Read Space Dynamics, if I still feel weak on it.  This is an older book
  and supposedly not as good, however.
*** TODO Latin
Work through or maybe just skim "Wheelock's Latin".  I've learned a little
Latin since scheduling this task, and I'm not sure I like how messy the
language is.  Learn Lojban first.

Plenty of Latin texts to practice on here: http://www.thelatinlibrary.com
*** TODO mono-outfit wardrobe
There's other names for this concept and variations of it, but for me it means
wearing the same outfit every day (with variations only for weather).  Ensure
all clothing has no visible brand labels or other printing.

This concept appeals to me for these reasons:
- Brain clock cycles are freed up from having to decide what to wear every day.
- Every article of clothing owned will actually be worn regularly and it's easy
  to tell when short on something.
- The overall amount of clothes owned is significantly reduced.  There are no
  situation-specific outfits.
- With a varied wardrobe, one has to invest an amount of time into finding
  every individual article.  That cost is only paid once in a mono-outfit
- Human clothing is a solved problem.  Absent the invention of some kind of
  actually useful and affordable smart clothing, there's no point in trying to
  dedicate time/energy towards a problem that doesn't exist.  Purchasing all
  kinds of clothing variations is just cosplay at best.

What about costume-required events/places?  My opinion here is that if
something requires a specific costume that plain shirt+pants don't qualify for,
then it's probably not worth attending anyway.

Grabbed a few things as part of this plan, but I'll focus on it at some point.

- [X] Gloves: Bought a huge pack of rubber-dipped cloth gloves for outside.
  Will keep my leather gloves for driving.
- [X] 20 boxers:  Went with Ex-Officio.
- [X] 8-10 black polo shirts: I have about 5 unopened and 3-4 older ones.
- [X] 4-5 gray long-sleeve t-shirts: Have 5.
- [X] Rain jacket: Got a 5.11 one.
- [X] Waterproof boots: Got a pair of LL Bean ones and filed the unsightly logo
  away in back.  Maybe grab another pair and/or some shorter ones.
- [ ] 10 pairs more normal socks, 5 winter.  I like the Allen Edmonds variety.
  These are very expensive though, so wait for a sale and stock up.
- [ ] 16 plain black t-shirts: Have about 6 so far.
- [ ] 10 jeans: I like the 5'11" ones, but I'm waiting to see if I can lose
  another pants size first.
- [ ] Organize collection: Put clothes to wear out first in separate drawers.
- [ ] (Optional) 2-3 dress shirts:

Update 2018-10-17: Refactored this slightly.  Changes account for new life
situation.  Most importantly, I do have use for outside clothing and cold
weather gear.
*** TODO get new passport
Old one expired 2017-07-15.
** Macro-goals
*** CANCELED switch to OpenBSD
    - State "CANCELED"   from "TODO"       [2019-01-11 Fri 00:31]
Even if I was on the Core Team's side with huggate, I'd still need to part ways
with FreeBSD due to the exodus of others leaving due to it.  I've been meaning
to give modern OpenBSD a look, so this is fine with me anyway.  Here's the plan
for getting as comfortable as I am with FreeBSD with it, and hopefully
surpassing that level.

- [ ] Read Absolute OpenBSD.
- [ ] Read the OpenBSD FAQ.
- [ ] Install OpenBSD on a VM.
- [ ] Install OpenBSD on my laptop, and see if I can get all the important
  hardware working.  Backup plan here is to use NixOS.
- [ ] Install OpenBSD on workstation.
- [ ] Replace VPS with OpenBSD.
- [ ] Publish OpenBSD version of setup guide.
- [ ] Replace FreeBSD bookmarks with OpenBSD ones.
- [ ] Take a peek at autoinstall(8) for automating installation.

Canceling for now.  Might revisit this later to see if it supports more of the
applications I use.
*** TODO CS/math (re-)education
I know enough now to redo my CS education, optimally focused towards specific
end goals.  This will take years, but I think it'll be worth it.  This workflow
is a merger between CS, math, and programming goals that takes me to where I
want to be, with the end goal being represented by being fluent in interactive
theorem proving in a dependently typed, purely functional language like Agda.
This end goal, however, shouldn't be confused with the point of the effort.
Each step along the way represents a significant paradigm shift in thought and
skills.  This plan ignores remedial topics in which I'm comfortable with my
current proficiency.

The progression of topics:
- General "mathematical thinking": There are several options here, one approach
  is through formal logic, the other more proof-focused.  I'll probably do a
  combination of both, but proof solving is a higher priority and more
  generally useful.
- Abstract algebra: Study this to the depth covered by an intro-level course's
  textbook.  Apart from being foundational to later work, this also rolls up a
  lot of minor math topics I would otherwise be remiss to exclude.
- Theory of computation: A meta-subject I only need some gap-filling on.  Read
  a single, but carefully chosen, text on the subject.
- Lambda calculus: A mostly remedial effort, narrowing focus from the larger
  topic of computation to one towards functional programming.
- Haskell: Switch from Clojure to Haskell as primary language.
- Category theory: A multi-part effort involving several books, from intro to
- Type theory: In parallel or interspersed with the category theory topics, do
  the progression of 4-5 type theory texts.
- Agda/Coq: Keep Haskell and Clojure as main languages, but switch all
  self-study in languages one of these two, depending on which seems to have a
  more robust community (probably Coq).
- Dependent types: Supposedly Coq and various Haskell extensions support
  dependent typing.  After understanding the base theory, try applications of
  it here.

I'll have a good idea of where I want to go next after this once I get
there. But, I can already imagine multiple options now:
- Apply some of these ideas to real software.
- Pivot from PLT to language and compiler design.
- Progress into formal methods.
- Round out self-study with some ancillary topics like information theory or
  some of the AI subfields I never spent much time with.
- Go deeper into academic study of type theory, collecting and reading the best
  papers on the topic.

Will start this as soon as I clear off my more SE-related goals.  I might also
defer it for another couples months after that to do a front-end technologies
refresher for pragmatic reasons.
*** TODO year-end review for 2019
Context: Spent most of 2018 super-productive, though mainly not in the areas
this file is focused on tracking.

Goals for 2019:
- Distraction management: This requires constant vigilance, so it's still on
  this list.  No major changes, but definitely play fewer video games and/or be
  less completionist while doing so.
- Health: Starting the year off in a good enough place to plausibly close the
  gap on this by year's end.
  - Get a weight bench and use it when not doing any manual labor outside.
  - Switch to Soylent lunches when I have no self-grown food available.
  - Daily single full meal should always be primarily home-cooked and
    consisting of cheap items from the produce department or garden.
  - Get snack food consumption (like chips and pretzels) to near zero, even as
    meal sides.  Sides should be things like vegetables or beans.
  - Weight goal: 184 lbs.
  - Keep a semi-normal schedule for waking hours of 0800-2400, or something
    close to that.
  - Get caught up on dental and eye exams.  Consider Lasik surgery if possible.
- General life: Things are almost optimized here, but there's still some
  remaining work.
  - Finish UI.  This should end around April.
  - Implement new garden plan.  This should improve output by a significant
    margin over 2018.
  - Keep an eye out for remote Clojure or other functional jobs.  I'll also
    ponder my general financial outlook and determine whether I should increase
    my buffer by working a stint locally.  I could also consider whether it
    makes sense to do so in order to purchase the neighboring plot of land,
    stockpile supplies, or the like.
  - Fix remaining big items on property list.
  - Finish remaining large item purchases for property.  I think these are just
    riding lawnmower, generator, and maybe some other stuff (check list).
- Self-study: Did very little of this in 2018 due to the physical world
  dominating my time, but I should be able to make plenty of headway on this
  now, unless anything unexpected happens.
  - Clojure wrap-up: Read Applied Clojure and quickly go through the
    Clojure-related technical tasks (mostly libraries).
  - Dedicate a huge chunk of time to Haskell.
  - Consider doing a meetup lecture on some topic.
  - Do at least a couple side projects.  Start with some easy ones that have
    big skills payoffs.
- Miscellaneous:
  - Finish redoing all computers.  The laptop and VMs are done, but still need
    to do the workstation and VPS.
  - Finish refactoring targeted skills portfolio and review everything here one
    more time to make sure it's in line with that.
  - Maybe refactor this file to better track real life projects.
  - There's two work scenarios I would be willing to entertain if I happen to
    encounter them.  One is a lazy government contractor job where I can mostly
    or completely work from home.  The other is a functional programming job,
    which would probably have to be 100% remote.  Though I don't need the
    money, I probably could use it to buy the additional 20 acres of land
    across the road and maybe a few other things.  The details here will be
    important though.