Time-stamp: <2018-09-03 09:45:34 (bm3719)>
#+STARTUP: content

* Project List (2018)
** Computer Science/Programming
*** DONE Learn You a Haskell for Great Good
    - State "DONE"       from "STARTED"    [2018-08-28 Tue 22:52]
    - State "STARTED"    from "TODO"       [2015-08-06 Thu 13:51]
It's been a couple years since I wrote much Haskell, so this will get me back
into it before doing a larger text.  http://learnyouahaskell.com/chapters

This book gets either praise or not, depending on who's asked.  At first I
rather liked it, and accordingly started taking close notes.  However, I've
settled on an opinion somewhere in the middle for it.  Most of the info you
want is in here, but some things are too verbose and others not tied together
as well as they could be.  The tone of this also gets old quick.  As a result,
I stopped most note-taking around applicative functors.  I'll cycle over all of
this again with Hutton's Programming in Haskell, which is supposedly better.
*** DONE Why Types Matter (slides)
    - State "DONE"       from "STARTED"    [2018-08-30 Thu 21:48]
    - State "STARTED"    from "TODO"       [2018-08-29 Wed 08:13]
A 96-slide deck introduction to type theory and applications.  Hoping there's
some helpful contextual framing here.

I rather dislike slides, but I really hate slides that incrementally load
content.  There is some good introductory content in here, I guess, but not
much of it.
*** STARTED Type Systems (paper)
    - 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.
*** 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:
https://www.cis.upenn.edu/~bcpierce/tapl/resources.html

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.
https://soundcloud.com/lambda-cast
*** 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:
https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure
*** 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 The Lambda Papers
Having already skimmed these some, I've observed a lot of stuff in here that
make these not particularly enlightening.  For one, the code is antiquated and
not really too close to any modern Lisp syntax.  These are also very much a
product of their time, and include a lot of context within the academic
environment from which the ideas arose.  That would probably be of interest to
CS historians focused on the topic (if any even exist), but isn't useful today.
Another big factor is that most any functional programmer worth his REPL prompt
will already know most of the stuff here, as it's presented in a more
digestible form in places like SICP.

The bits worth reading today are likely confined only to their commentary on
the lambda calculus itself.  Just read those parts.

http://library.readscheme.org/page1.html
*** 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 and Learn You a Haskell).  Might give this a
try.
*** 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
libraries.
*** TODO Roll Your Own IRC Bot
Probably a good example to learn some real world programming idioms in Haskell.
http://www.haskell.org/haskellwiki/Roll_your_own_IRC_bot
*** 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
complete.
*** 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.
http://learnyouanagda.liamoc.net/toc.html
*** 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.
http://www.akkadia.org/drepper/cpumemory.pdf
*** 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:
http://www.cs.indiana.edu/eopl/
*** 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 The C Programming Language (2nd Ed.)
C is on my shortlist of languages to use for the rest of my life.  So, doing
the exercises here will be a good refresher.  I'll just do those without doing
any build management or special tool use.

I have a hardcopy of the 1st edition and a mobi copy of the 2nd.  If I do
bother to read this, I'll probably just read the mobi version casually.  Since
I already know it, spending too much time here is probably a waste.
*** TODO Learn C the Hard Way
These "Hard Way" books tend to be a little sloppy, but are okay for language
intros for non-academics or practice-heavy language refreshers.  This will
probably be good enough C practice for me, especially if there's a gap between
reading this and TCPL.

http://c.learncodethehardway.org/book/
*** TODO NeHe OpenGL tutorial
I don't actually want to program OpenGL, but a tutorial could be a good
refresher of 3D programming concepts.
http://nehe.gamedev.net/
*** 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 Book of Types: Type-Level Programming in Haskell (in development)
Currently being written.  Readable in part now, but I'll just wait until it's
done.  Supposedly will be available on Leanpub when done.  Author:
http://reasonablypolymorphic.com/
*** 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
*** STARTED Introduction to Mathematical Thinking
    - State "STARTED"    from "TODO"       [2017-04-16 Sun 03:18]
This is the textbook for a 10-week Coursera course of the same name. This is
also the initial text recommended by this guy's "path to programming language
theory enlightenment": https://github.com/steshaw/plt

I'll give this a try, as it's of moderate length and just in case there's
something I've missed in my haphazard academic and self-taught math education.

Took notes and did exercises in practice/misc/itmt.org.  To keep things moving,
I skipped a few of the really tedious/redundant exercises.  I might move these
out to another math-related project later.

This is a mostly decent book, though a few of his explanations were mildly
lacking.  I doubt almost any HS grads (one of the targeted audiences) would be
ready for this.  I would also prefer topic introduction not occur inside of
exercises.  Splitting them makes the text more versatile.  I completely
disagree with not providing answers, as would've been nice to check my work and
confirm correctness.  This would have also prevented me from not being able to
solve certain problems.

Left off on page 67.
*** STARTED Category Theory for Programmers
    - State "STARTED"    from "TODO"       [2017-09-11 Mon 02:53]
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.
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
*** 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 Snakes of West Virginia
    - State "DONE"       from "STARTED"    [2018-01-24 Wed 13:00]
    - State "STARTED"    from "TODO"       [2018-01-24 Wed 11:12]
This is a PDF put out by the WV DNR.  Snakes like to hide in piles of wood,
fallen trees, and tall brush, so encountering them is pretty much inevitable.

Only two are poisonous, the northern copperhead and timber rattlesnake.  If I
see one of those, I'll unfortunately have to shoot it for safety reasons.  All
the others are harmless.  Even so, the chances of a fatal snake bite are
astronomically small and only a few people have ever died from them in the
state.  I probably won't worry about it in that case.

Copperheads have a brown, coppery color with hourglass-shaped stripes.  Both
poisonous snakes have larger diamond-shaped heads, which the non-poisonous ones
don't have.
*** DONE The First World War
    - State "DONE"       from "STARTED"    [2018-01-29 Mon 10:19]
    - State "STARTED"    from "TODO"       [2015-12-04 Fri 07:27]
I've read this back in college, but lacked some of the context necessary to
understand everything completely.

Pretty good, but seems biased towards the British perspective.  Since I've read
up on WWI extensively elsewhere, I can say much missing context prevents it
from being a comprehensive narrative.  This is in line with my earlier
experience reading it, back when I knew nothing about the conflict.  The
general approach here might have been okay if the length was longer.  I'd have
preferred it stuck to one type of analysis or perspective, however.  My choice
would've been grand strategy.
*** DONE 2018 Kawasaki Mule SX manual
    - State "DONE"       from "STARTED"    [2018-02-22 Thu 01:33]
    - State "STARTED"    from "TODO"       [2018-01-29 Mon 03:11]
Thinking about getting one of these for the new property.  Read the full 156
page manual first to see if there's any deal breakers.

Notes:
- Uses regular 87 octane gas.
- Has a carburetor and choke.
- Along with hill climbing and pulling heavy loads, also be sure to use low
  gear for normal driving at low speeds.
- A differential allows for an outer wheel to rotate faster than the inner
  wheel during a turn.  This has numerous advantages, like equalizing torque,
  reducing tire wear on turns, causing less damage to surfaces, etc.  Locking
  the differential forces them to turn at the same rate.  This can provide an
  advantage when the traction under each wheel noticeably varies but you don't
  want to vary individual wheel speed.  Situations might include mud, climbing
  rocks, or in snow.
- I'll have to check this in person, but it looks like an OEM trailer hitch is
  available.  This is the "bracket" and not a receiver tube, it seems.
- Maybe check the wheel bearings lube after a lot of use?  The manual doesn't
  say out to do this, however.
- Since I'll probably not run this excessive distances, default to the 1 year
  maintenance schedule (or maybe 1.5 years to save some money).
- Be sure to at least run the engine every 2-4 weeks to keep the battery
  charged.
- When washing, be sure to cover the muffler rear opening with a plastic bag
  and the ignition switch hole with some tape.

There's a lot of maintenance data here that I'll use as a reference when I need
to perform certain tasks.  The user-level maintenance should be no problem.
*** CANCELED The Design and Implementation of the FreeBSD Operating System (2nd Ed.)
    - State "CANCELED"   from "TODO"       [2018-02-23 Fri 02:02]
The most recent (2014) FreeBSD internals book.  Will read this instead of The
Complete FreeBSD, which is now rather old.

FreeBSD went full-SJW with a new CoC.  They then doubled down on it.  I'm
sitting out the controversy and will hope for a positive outcome.  But,
experience shows that once you let the SJWs in, it's hard to dislodge them.
I'm canceling all future FreeBSD work until I see a complete reversal.  Since
that's unlikely to happen, I'll be working on a plan for migrating to a
different OS in the future.
*** CANCELED FreeBSD Porter's Handbook
    - State "CANCELED"   from "TODO"       [2018-02-23 Fri 02:04]
The Handbook claims reading this can help when fixing broken ports (an all too
common problem on FreeBSD).  Maybe I can fix broken ones I need myself.

Won't be contributing to FreeBSD until CoCgate is positively resolved.
*** DONE CDEJ
    - State "DONE"       from "STARTED"    [2018-02-24 Sat 20:29]
    - State "STARTED"    from "TODO"       [2018-02-24 Sat 12:03]
An ezine, similar to b4b0 in that it incorporates the same mid-2000s EFnet
scene.

Not that great.  Only has a few articles worth reading.
*** DONE My Twisted World: The Story of Elliot Rodger
    - State "DONE"       from "STARTED"    [2018-04-29 Sun 10:36]
    - State "STARTED"    from "TODO"       [2018-04-27 Fri 18:42]
An incel manifesto and autobiography, I guess.

Well, I read the whole thing.  I used to enjoy reading stuff like this, but I
think I'll pass on it from now on.  After mentally retooling a bit to be a
manager, I emulate mental states more naturally now and reflexively doing so
with crazy people hurts my brain.
*** DONE The Scythe Book
    - State "DONE"       from "STARTED"    [2018-05-17 Thu 09:56]
    - State "STARTED"    from "TODO"       [2018-05-03 Thu 09:59]
A book about scything that came bundled with my scythe.

Pretty poorly written, actually.  Full of opinions, rumors, and just bad
writing.  Most of the book is also useless filler.
*** DONE Space Empires IV manual
    - State "DONE"       from "STARTED"    [2018-07-08 Sun 07:33]
    - State "STARTED"    from "TODO"       [2018-06-25 Mon 11:22]
The 118 official manual.  Will also read the SE4 wiki pages.

Well, I read it.
*** DONE HTZ
    - State "DONE"       from "STARTED"    [2018-07-10 Tue 22:39]
    - State "STARTED"    from "TODO"       [2018-07-10 Tue 09:42]
A 3-issue zine (or at least, that's all I have) that may capture some of the
identity and internal propaganda of the left-leaning "hacktivist" scene from
the mid-2000s.

Nobodies with grandeur delusions.  Righteous indignation and sanctimonious fury
in good measure, and though terminally unhappy people be they, this is pretty
mild compared to the modern standards.  Perhaps these same mouths are frothier
now.  Some observations:
- Everyone that disagrees with me is a right-wing fascist.  Skilled hax0rs
  trade skripts to exploit vendor-announced vulnerabilities in PHP CMSes.  I
  forgot to patch my CMS because I was too busy taking credit for a protest
  that I attended and fascists compromised my server, which is an attack on
  free speech.  I exploited their CMS, thereby defending freedom, and have been
  unjustly arrested by the FBI.
- There are many, many technical inaccuracies here, which is especially telling
  since the technical content is all entry-level.  Even worse, the vast
  majority of what's little is here is boring PHP code that does nothing
  interesting.
- Likewise, there's a lot of inaccurate information about how the government
  works and was modified after 9/11.  Just one example: this claims that "Total
  Information Awareness" is a new government agency, created under DARPA.
- These guys sure like to repeat themselves, but I guess propaganda is usually
  like that.
- The full laundry list of mid-2000s left talking points is here.
  Interestingly, nothing has really changed about most, but no one seems to
  care about the majority of them now.  I guess this stuff doesn't age well.

While amusing in a cringe-inducing way for a little, this gets boring quick.
*** DONE Confidence Remains High
    - State "DONE"       from "STARTED"    [2018-07-13 Fri 17:48]
    - State "STARTED"    from "TODO"       [2018-07-11 Wed 22:58]
A late-90s zine from the often-hated so1o himself.

Big difference between the pasted content and the original stuff here, with the
latter being pretty pathetic shell scripts and short C programs mostly full of
printf calls.  Definitely not as funny as their opposition (though probably
of roughly equal skill).

That there exists a world of h4x0rs waiting for programmers to be sloppy and
release software with security oversights never fails to amaze me.
*** DONE ~el8
    - State "DONE"       from "STARTED"    [2018-07-14 Sat 16:16]
    - State "STARTED"    from "TODO"       [2018-07-14 Sat 08:23]
A 3-issue Efnet H/P zine from the late-1990s.

Meh.  A few amusing bits and lots of 13375p34k, but mostly boring.
*** DONE feh
    - State "DONE"       from "STARTED"    [2018-07-14 Sat 23:46]
    - State "STARTED"    from "TODO"       [2018-07-14 Sat 16:18]
A 4-issue Efnet zine from the mid-1990s.

Surprisingly unremarkable.
*** DONE The Definitive Guide to SQLite
    - State "DONE"       from "STARTED"    [2018-08-14 Tue 01:02]
    - State "STARTED"    from "TODO"       [2018-08-12 Sun 02:41]
SQLite is the standard embedded database.  I'll just skim this book a bit to
not be completely clueless and/or until I get bored.  Judging from the TOC, it
looks like this topic doesn't really deserve a full book, as it's at least half
ancillary filler.

Very boring, as expected.  There's some useful CLI help early on though.
*** CANCELED 2015 Explorer Owner's Manual
    - State "CANCELED"   from "TODO"       [2018-08-16 Thu 00:47]
Read this and the supplementary booklets.  Maybe skim some of the parts that
are just reference.

Notes:
- Always use the tire inflation PSI from the tire label on the vehicle, even if
  it's less than the value recommended by the tire manufacturer.
- Check tires for wear bars, which indicate when it should be replaced.
  Generally, replace them when 2mm of tread depth remains.
*** 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.
*** STARTED 2018 F-150 Owner's Manual
    - State "STARTED"    from "TODO"       [2018-08-20 Mon 13:36]
Read this and the supplementary booklets.  Study warranty information
carefully.

Notes:
- Key fobs conveniently take CR2032.
*** TODO Absolute OpenBSD (2nd Ed.)
My current thinking is to replace FreeBSD with OpenBSD on the server and
workstation.  If my laptop's wireless isn't supported, I'll maybe try NixOS
there.  I'll read this book to get some context first, then read the OpenBSD
FAQ in its entirety.  As this book is from 2013, I'll not commit any finer
details to memory.
*** TODO NixOS Manual
Read at least most of this before/while giving NixOS another try.
https://nixos.org/nixos/manual/
*** 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.  Have a copy on Kindle.
*** 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:
http://www.wolframscience.com/nksonline/toc.html
*** TODO On Thermonuclear War
Having read about a third of this already, I observe that book is 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.  I find it the perfect example of a
presentation needing no editorializing.  In fact, the work would be lessened
were one included.  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
ideas.
*** 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.
https://nso.nato.int/nso/nsdd/APdetails.html?APNo=2064&LA=EN
*** 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 After Life
    - State "DONE"       from "STARTED"    [2018-01-05 Fri 02:26]
    - State "STARTED"    from "TODO"       [2017-12-28 Thu 01:43]
A recommended AI-focused hard scifi novel.  Using the EPUB version, but it's
also available online here.  http://sifter.org/~simon/AfterLife/

Turning this into a good story would mean changing almost everything.  No good
ideas, cringe-worthy pop culture references, needless sleeze, and ultimately
pointless in the end.
*** DONE Vortex
    - State "DONE"       from "STARTED"    [2018-01-19 Fri 04:40]
    - State "STARTED"    from "TODO"       [2018-01-07 Sun 03:56]
The final novel in the Spin series.  I'm a bit wary, since I found Axis so
unnecessary (at least in the form it took).

One note-worthy quote, regarding tragedy of the commons situations: "They
hadn’t given much thought to long-term consequences, but how could they?  They
had no reliable mechanism by which they could think or act collectively.
Blaming those people for the death of the ecosphere made as much sense as
blaming water molecules for a tsunami."

Pretty lame, unfortunately.  No good ideas, no compelling plot, uninteresting
characters, and pointless ending.  Finishing this turned into a real chore.
*** DONE Pillars of Eternity short stories
    - State "DONE"       from "STARTED"    [2018-02-23 Fri 00:08]
    - State "STARTED"    from "TODO"       [2018-02-16 Fri 03:54]
A series of 5 official e-books, produced by Obsidian.  The first four are
publicly available on the site and I got the 5th from purchasing the game.
Will give it a try, but will quit if they're not that great.
- The Ratcatcher: Meh.
- Blood Register: Meh.
- The Reaping: Kinda crap.
- Until He Started Screaming: Read a bit and quit.
- The House of Wael: Read a bit and quit.

One of my complaints about PoE was the writing quality.  It's an unusual case,
being competently composed and much labored over, yet lacking anything that
would make one want to read it.  It reads like a team of millenials showed up
to work every day and worked on it, which is probably the case.  This is as
true for these e-books as in the game.
*** DONE The Lost Stars series
    - State "DONE"       from "STARTED"    [2018-03-26 Mon 23:15]
    - State "STARTED"    from "TODO"       [2018-02-26 Mon 18:50]
A military scifi novel series that follows Beyond the Frontier.  This one
focuses on the Midway system featured in previous entries.  After this is a
prequel series called The Genesis Fleet (being written) and a continuation
trilogy called The First Stars (not yet started), should I want to keep going.
- Tarnished Knight: Only okay.  Hopefully is just setup for a more interesting
  series.  As is, I'm not sure this was the most compelling setting.
- Perilous Shield: More of the same.
- Imperfect Sword: Contains a book-specific narrative about a neighboring
  system, which in most ways is better than the previous entries.
- Shattered Spear: Mostly decent, but the series ending exposes severe Deus ex
  machina.

Not a bad series, but only as a spin-off from the previous saga.  Would have a
hard time standing alone.  Has a few annoying typos, errors, and oversights.
*** DONE Blindsight (reread)
    - State "DONE"       from "STARTED"    [2018-04-03 Tue 18:37]
    - State "STARTED"    from "TODO"       [2018-03-28 Wed 23:29]
Reread this in preparation for reading Echopraxia.

Great novel and worth a reread.  Lots of original ideas and a worthwhile
central one, suitably explored.  This is a good example of the opposite of the
kind of user-friendly writing that Asimov exemplified.  Writing here is dense,
technical, and skips huge chunks it expects the reader to fill in.  It makes
for a rewarding activity for the non-passive reader.
*** DONE Echopraxia
    - State "DONE"       from "STARTED"    [2018-05-17 Thu 06:26]
    - State "STARTED"    from "TODO"       [2018-04-03 Tue 18:37]
A novel in the same universe as Blindsight, which I rather liked.

Has a couple of good ideas, but the implementation doesn't come together on
this one.  Ended up being something of a chore to read.
*** DONE Takeshi Kovacs series
    - State "DONE"       from "STARTED"    [2018-06-24 Sun 08:09]
    - State "STARTED"    from "TODO"       [2018-05-19 Sat 10:49]
A semi-scifi series by Richard Morgan.  Might be crap, but will give it a
look.
- Altered Carbon: Tightly interconnected plot with decent writing.  Has some
  skippable sleeze.  Fails as a mystery novel by my measure though, as the
  reader is left unable to speculate due to insufficient clues.
- Broken Angels: More of the same, yet less well thought-out of a plot and with
  extremely dull pacing/advancement.
- Woken Furies: Skipping.
*** DONE Liber AL vel Legis
    - State "DONE"       from "STARTED"    [2018-06-25 Mon 08:24]
    - State "STARTED"    from "TODO"       [2018-06-24 Sun 23:35]
Probably the foundational text of Thelema.  Might just be filled with nonsense.
http://lib.oto-usa.org/libri/liber0220.html

Nonsense gibberish, and not the entertaining kind.
*** DONE Camouflage
    - State "DONE"       from "STARTED"    [2018-06-30 Sat 17:32]
    - State "STARTED"    from "TODO"       [2018-06-25 Mon 23:26]
A Joe Haldeman novel about a personality dichotomy between super-intelligent
beings and a BDO, perhaps.

Readable, but more of a adventure story than anything.  Most compelling when in
BDO-mode, which is only a tiny fraction of the content.  The story's antagonist
was particularly one-dimensional, with the only revelation being completely
predictable.
*** DONE Mindbridge
    - State "DONE"       from "STARTED"    [2018-07-03 Tue 10:53]
    - State "STARTED"    from "TODO"       [2018-06-30 Sat 23:12]
A novel by Joe Haldeman involving the Cygnus Loop among other things.

Actually rather bad.  Jumps all over the place in time, intersperses random
things like articles, has plot-irrelevant sleeze, and shifts perspective, all
to no benefit to the story.  I did briefly think the story might redeem itself
during a later narrative shift, but was again disappointed.
*** DONE Grainne War/Aftermath series
    - State "DONE"       from "STARTED"    [2018-07-06 Fri 23:34]
    - State "STARTED"    from "TODO"       [2018-07-03 Tue 22:12]
Also called the Freehold series.  Looks like another military scifi series.
Will definitely at least require skimming over the smut, which the books
contain at least some of.  Might still otherwise be too low-brow.  Will bail if
necessary.  Listings vary on order, so I just ordered them by publish date.

There's a follow-up series to this, called Ripple Creek, not yet scheduled
here.
- Freehold: At 150 pages in, I must have endured at least a dozen sex scenes.
  Has some poor editing with misspellings and grammar errors.  Where this story
  is going is pretty predictable and I doubt I'll get enough out of it to
  justify the time to read the whole series.  Cutting my losses now.  This
  setting is mildly intriguing though, and I could imagine it getting a better
  treatment with an author more up to the task.
- The Weapon:
- Contact With Chaos:
- Rogue:
- Angeleyes:
*** DONE Starquake
    - State "DONE"       from "STARTED"    [2018-07-13 Fri 18:36]
    - State "STARTED"    from "TODO"       [2018-07-10 Tue 08:56]
The sequel to Dragon's Egg.

Rather forgettable and full of filler.  Adds little of note to the creative
lore of the original.  A bunch of contrived stuff happens, with predictable
results.
*** DONE In Death Ground
    - State "DONE"       from "STARTED"    [2018-07-19 Thu 14:24]
    - State "STARTED"    from "TODO"       [2018-07-15 Sun 00:47]
Another military scifi novel.  One in a series, called Starfire, but I'll give
just this one a try before committing, since this is the author who wrote Out
of the Dark.  Remainder of the series is listed here:
https://en.wikipedia.org/wiki/Starfire_(board_wargame)#Books

My favorite combination: hard scifi, military scifi, and naval
strategy/combat. Good in some ways, lacking in others.  Writing is occasionally
quite good, but these islands of goodness are amid a sea of mediocre writing.
Leaves out irrelevant personal details, making the conflict the main focus.
The warring civilizations themselves are the main characters.  Some of the
scifi elements are straight from the mid-90s, with the most regrettable being
the unimaginative ETI races.  Will continue with the series, at least reading
the sequel.
*** DONE The Shiva Option
    - State "DONE"       from "STARTED"    [2018-07-25 Wed 20:45]
    - State "STARTED"    from "TODO"       [2018-07-19 Thu 14:24]
Sequel to In Death Ground, concluding its story.  In the same series are a
prequel and a few other books, only loosely connected to this one and its
predecessor.

Very much more of the same.  Overall, the course of the conflict described
here, while somewhat realistic within the confines of the Starfire lore,
*** DONE The Last Ship
    - State "DONE"       from "STARTED"    [2018-08-12 Sun 02:31]
    - State "STARTED"    from "TODO"       [2018-07-25 Wed 20:45]
A cold war naval novel.  Supposedly okay, but has some lengths of content where
skimming or skipping ahead is highly advised.  Will give it a try.

Here be an author that is unarguably capable of high quality writing.  Maybe he
needs someone to point him in a meaningful direction, because this is mostly
wasted on banal musings about two things: mundane, everyday things that no one
really needs another dose of dinner table philosophy on; and detailed, specific
reflections obviously gleaned from a life as a naval officer, but of no
interest even to me, someone interested in naval warfare.  The latter may be
due to the author's rather uninteresting naval career as a public relations
officer.  Normally, I would value a novel so dense with reflective tangents, as
the happenings of a fictional tale are really of marginal practical value.
But, after slogging through hundreds of pages of it, I started skimming past it
unless it immediately looked interesting.

That leaves the plot itself, which is actually rather thin.  Not only would it
have worked better without the jumping in time, it would make more sense
in-universe too, since this is supposed to be the reflections of the main
character as events unfold.  Generally, I've found post-apocalyptic fiction to
all meld into a dull sameness, with very little room for real innovation.
That's true here too and it'd have to be. If he had been notably creative in
the genre back in the 1980s, those innovations would have been solidified as
tropes by now.  As it is, reading about meeting basic needs like food and
shelter is just not interesting enough for 100s of pages.  The novel is at its
best when it's a US Navy warship, in action.  Sadly, those times are very rare.
*** TODO Aurora
Another recommended AI-focused hard scifi novel.
*** TODO Sprawl Trilogy
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 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:
*** TODO SSN
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.  Have a mobi copy on
Kindle.
*** 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 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 The Long Earth series
A 5 part novel series about infinite Earths, in this case connected and used as
a device to explore lack of resource limits.  On its surface, parallel worlds
is a tired concept for me, and I'd rather see infinite resources explored via
other means (like asteroid mining).  I might still give it a try though.  Have
copies of all on mobi.
- The Long Earth:
- The Long War:
- The Long Mars:
- The Long Utopia:
- The Long Cosmos:
*** TODO The First Formic War trilogy
Technically just part of the series of Ender's Game novels, following the 10
entry core series.  However, I wasn't planning on reading those and will just
risk trying this prequel series as a standalone experience.  Will cancel if
that isn't working out too great.  I'll put this off for a bit in case I change
my mind about reading the full series.
before starting.
- Earth Unaware:
- Earth Afire:
- Earth Awakens:
*** TODO Ideal
A posthumously-published novel by Ayn Rand.  Only recently released in 2015.
Need to find a copy.
*** 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 complete.
*** 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, which I need to run the converter on.
- 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, 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
these).

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:
- 2018 8th novel:
- 2019 9th novel:
** Technology/software
*** CANCELED MongoDB
    - State "CANCELED"   from "TODO"       [2018-02-23 Fri 02:05]
I'm definitely at least suitably competent with MongoDB, though I could
probably benefit from a slight increase.  There's little point in going too
deep though, since I mainly only interrogate data on it through a CIDER REPL.

Tasks:
- [X] Install MongoDB on workstation and server.  I was doing a source install
  of this, but my current FreeBSD version is far enough ahead for the
  aggregation pipeline features.
- [ ] Master all features provided by monger.  Read guides and code API.  Write
  some code with it.
- [ ] Briefly scan the online manual.
- [ ] Maybe skim the book MongoDB in Action (2nd Ed.).

Learned enough of this by osmosis to get work done.  I'm less interested in
this for my own work.  I'll replace this with a Riak task instead.
*** CANCELED update CUPS setup on FreeBSD
    - State "CANCELED"   from "TODO"       [2018-02-24 Sat 01:28]
print/cups-client is no more.  Figure out how to get printing working again.

Canceled.  Might try to do the same on OpenBSD, once I get the basics working
the way I want.
*** DONE Iridium
    - State "DONE"       from "STARTED"    [2018-02-23 Fri 21:55]
    - State "STARTED"    from "TODO"       [2018-02-23 Fri 21:23]
Replace my full-featured web client installs (which I occasionally need for web
development) on both Windows and my dev VM with Iridium.  This is a
privacy-focused client.  It's Webkit-based, but with all Google-specific
functionality removed.

Only did this on Windows and tested on an OpenBSD VM.
- Added uBlock Origin.  Be sure to go into settings and disable extra stuff.
- Added ZenburningChrome UI theme.
- Added Dark Mode.  This is similar to darken-page, but is modal for all pages
  after activation.
- Changed default search engine to DuckDuckGo.
- OpenBSD version does pull in a lot of dependencies.  However, if I switch my
  dev VM to OpenBSD, I might put it there for web development.  I certainly
  won't put it on my workstation.

About as good as a modern, mouse-centric web client can be expected to be.
*** DONE qutebrowser
    - State "DONE"       from "STARTED"    [2018-02-23 Fri 22:21]
    - State "STARTED"    from "TODO"       [2018-02-23 Fri 20:15]
OpenBSD doesn't support Conkeror currently.  Looking at this as a possible
replacement.  Looks decent at a glance, but is Qt-based.  Not crazy about it
being implemented in Python either.

Notes:
- After starting it up the first time, run ~:adblock-update~.

This is actually a nice web client so far.  While I would prefer Emacs
keybindings, the vi ones are definitely more efficient for a web navigation,
though I'm not sure the modes add much.  It might be worth the overhead.  Will
try it out in a VM for awhile before deciding.
*** DONE youtube-viewer
    - State "DONE"       from "STARTED"    [2018-04-28 Sat 11:04]
    - State "STARTED"    from "TODO"       [2018-04-27 Fri 08:12]
On the rare occasion I need to watch a video about something, it'd be nice to
not to have to use YouTube's garbage web interface.  This is in pure Perl, so
it should run anywhere.  Only using the CLI version here, but a GTK2 UI exists.
https://github.com/trizen/youtube-viewer

Install:
- sudo cpan Module::Build
- perl Build.PL
- sudo ./Build installdeps
- sudo ./Build install

Works okay, kinda.  One downside is I don't see a way to install this
non-globally.  Detects players, so plays stuff in mplayer for me.  Thus,
mplayer commands work when watching videos.  Another big one is that since this
streams the video, mplayer will exit if you try to navigate around the video
past the buffer.  It will also exit if you pause the video for a long time then
come back later.

Notes:
- The help menu is contextual and displays more options when results are
  active.
- In the config file, ~/.config/youtube-viewer/youtube-viewer.conf, I might
  want to update the hashbang.
- In the config file, I can change videoDefinition to "standard" for slow
  computers.

I'll keep this around on my laptop for the rare lecture or such, but will try
to stick to my general life goal of not watching any video at all.
*** DONE pre-upgrade Emacs yak-shaving
    - State "DONE"       from "STARTED"    [2018-07-02 Mon 10:13]
    - State "STARTED"    from "TODO"       [2018-07-02 Mon 09:16]
I was going to put this off until upgrading the Emacs version, but work needs
align with doing a pass on this now.  I'll do another one and fix any broken
stuff in isolation after upgrading my workstation.

Stuff did:
- Upgraded all ELPA packages.
- Since CIDER was upgraded, upgrading cider-nrepl and other dependencies in
  profiles.clj.
- Updated pabbrev.el.
- Updated volatile-highlights.el.
- Updated rainbow-delimiters.el.
- Updated geiser.
- Updated python-mode.el.
- Updated web-mode.
- Updated rainbow-mode.
- Updated js2-mode.
- Updated markdown-mode.
- Updated aggressive-indent-mode.
- Updated elscreen.
- Updated multi-term.el.
- Updated lusty-explorer.
- Updated EMMS.
- Updated with-editor.
- Updated magit.
- Updated org-present.el.
- Updated xterm-color.
- Updated wttrin.el.
- Updated htmlize.el.
- Updated powerline.el.
- Deleted beacon from .emacs.d/lisp.
- Byte-compiled the top level standalone elisp files.

Skipped updating SLIME since I'm considering deprecating it.  Will decide
when I upgrade my workstation, since I'll maybe skip the CL stack then.
*** DONE SQLite
    - State "DONE"       from "STARTED"    [2018-08-14 Tue 01:11]
    - State "STARTED"    from "TODO"       [2018-08-12 Sun 11:26]
There be many applications for embedded databases.  My main interest is for
game data and mocking client/server DBMSes.  This looks simple enough that I
could probably get by with a 10-minute tutorial, but I'll invest some effort to
make sure I don't miss anything important.  Will try to integrate it into my
webapp-template project.

Notes:
- A good standard routine is to run ~.headers on~ and ~.mode column~ to
  optimize data returned for display.  Use ~.show~ to look at all settings.
- Use ~.schema~ to describe tables.
- To export a DB, run ~.output file.sql~ and ~.dump~. Return output back to
  stdout with ~.output stdout~.
- Looks like CSV export only works on a per-query basis.  Either change
  settings manually of if I want to enclose fields in quotes, use ~.mode csv~.
- Import dump files with ~.read file.sql~.  ~.import~ can read CSV, but ensure
  the separator character and header setting is correct.
- Invoking commands from the CLI: ~sqlite3 test.db .dump > test.sql~.  The CLI
  can also read from stdin.

Learned this good enough.  Created a database for my webapp-template project.
Noticed once again that the displeasure of using a DBMS is proportional to how
heavy-weight it is.  Another option is the H2 database, which is rather popular
in the Java world.  I'll stick with SQLite for now, but might consider H2 if
I've got a JVM project in mind.
*** DONE disable Steam friends list
    - State "DONE"       from "STARTED"    [2018-08-21 Tue 11:15]
    - State "STARTED"    from "TODO"       [2018-08-21 Tue 11:12]
Steam changed to popup a chat UI upon startup.  See if there's a way to disable
this and note it for future gaming rig setups.

Change the shortcut on the desktop to include: -nochatui -nofriendsui

I really regret having bought a dozen or so games on Steam.  It really sucks
having them locked into their platform.  I'll forgo buying from Steam in the
future, even if there's a huge sale.
 *** DONE fix port forwarding
     - State "DONE"       from "STARTED"    [2018-09-02 Sun 10:53]
     - State "STARTED"    from "TODO"       [2018-09-02 Sun 10:50]
 Currently I can't ssh into the home network from outside.  Same for pulling up
 internal websites.  Probably need to set forwarding rules on the DSL modem,
 which is also a router.  From there, it should point to my primary router.  At
 the current time, the DSL connection is out, so I'm queuing this for later.
 
 Notes:
 - My normal AP has the IP of 192.168.254.21.  Confirm this under the My
   Connected Home tab.
 - Port Forwarding is under the Firewall settings.
 
 Just did SSH for now.  Tested and works.
*** 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:
https://www.exoscale.com/syslog/clojure-application-tutorial/

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 upgrade to CIDER 0.18.0
 This version is now out but not on ELPA.  This is a reminder to check back in a
 few days.  Also upgrade cider-nrepl, of course.
 
 Notes:
 - C-c M-x (M-x cider) replaces C-c M-j (M-x cider-jack-in).
*** 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.
*** 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.
https://github.com/Provisdom/defn-spec
*** 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.
https://github.com/jarcane/clojurice
*** TODO hiccup
Previously briefly used, but might be worth a closer look.  Renders data
structures in HTML.  Also can do interesting things with zippers.
https://github.com/weavejester/hiccup
*** TODO Brave
Consider replacing Iridium with this.
*** 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.
https://github.com/Microsoft/winfile
*** TODO Indium
Looks like it might be the current best for integrated JavaScript development.
https://github.com/NicolasPetton/Indium
*** TODO restclient.el
https://github.com/pashky/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.
https://webpack.github.io/

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
functions.

- [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.
https://github.com/halgari/fn-fx

Here's a blog article on the subject:
http://nils-blum-oeste.net/functional-gui-programming-with-clojure-and-javafx-meet-halgarifn-fx/
*** TODO update to xmonad 0.13
I think I'm already using this on my laptop.  See release notes:
https://github.com/xmonad/xmonad/blob/master/CHANGES.md#013-february-10-2017

Also check out: https://github.com/xmonad/xmonad-testing

Keep an eye out for this version being pushed to the repo.  Do a =stack update=
and check ~/.stack/indices/Hackage/packages/xmonad to see what version is
current.
*** 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.
*** TODO HTML5
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:
http://realworldclojure.com/on-the-judicious-use-of-core.async/
*** 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.
https://github.com/clojure/test.check

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.
https://github.com/facundoolano/advenjure
*** TODO Peridot
Full Ring testing with sequences of calls.  Good for, say, testing a login
sequence.  Watch the first lightning talk here:
https://www.youtube.com/watch?v=xaxF5RDdVRE
*** 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.
https://github.com/cognitect/transit-clj
*** 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:
http://www.reddit.com/r/emacs/comments/224d2c/psa_if_you_are_editing_javascript_in_emacs_set_up/

Read this too:
http://truongtx.me/2014/04/20/emacs-javascript-completion-and-refactoring/
*** 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 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.
https://ucsd-progsys.github.io/liquidhaskell-blog/

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.
http://gorilla-repl.org/
*** 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.
https://github.com/chrisdone/structured-haskell-mode
*** 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.

http://www.emacswiki.org/cgi-bin/wiki/KeyboardMacrosTricks
*** 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.
https://opam.ocaml.org/
*** TODO tuareg
Seems to be the canonical OCaml mode for Emacs.  Can be install via opam.
https://github.com/ocaml/tuareg
*** 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
versions.
*** 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
purposes.
*** 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.
http://overtone.github.io/
*** 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.
https://github.com/arcadia-unity/Arcadia
*** 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.

http://mh-e.sourceforge.net/
*** 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.
http://twelf.org/wiki/Main_Page
*** 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.
*** TODO presentation on types
The idea behind this talk is to bridge the gap between modern typed FPLs and
Clojure.  The subtopics include:
- Basics of what it means to be dynamically typed.
- Other type concepts at work in Clojure, like extrinsic typing.
- How do deal with types in Clojure code.
- core.typed and the concept of optional typing.
- How constraint-based programming like spec can be used to satisfy some of the
  problems associated with lacking types.
- Some basic type theory.

Sub-tasks:
- Check out core.typed, and write up a quick example.
- Read Types and Programming Languages.
- Create presentation in LaTeX Beamer.
*** 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:
  http://www.XML-Sitemaps.com
- 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 The Wizard Sniffer
    - State "DONE"       from "STARTED"    [2018-01-19 Fri 20:03]
    - State "STARTED"    from "TODO"       [2017-11-29 Wed 17:00]
Winner of IFComp 2017.

Original and pretty entertaining.  The game's only true puzzle might be a bit
much for non-programmers though.  There's a couple mechanics that are a bit
weird, like switching followers.  Worth playing, I'd say.
*** DONE Cabela's Big Game Hunter
    - State "DONE"       from "STARTED"    [2018-01-20 Sat 13:30]
    - State "STARTED"    from "TODO"       [2018-01-20 Sat 11:23]
Since I have the PS2 emulator working, I'll try one of these hunting games for
it.
*** CANCELED Phantasy Star Generation 1
    - State "CANCELED"   from "TODO"       [2018-02-03 Sat 04:29]
The English translation of the "enhanced remake" for the PS2 of the original
Phantasy Star (which was on the SMS).  Will need a PS2 emulator to play this.
http://www.pscave.com/psg1/download/

Notes:
- Installed PCSX2 1.4.0.  Only did the controller setup, left everything else
  default.
- Creates a user folder, under which is a directory for the PS2 BIOS ROM.
- Use F4 to set game speed to unlimited.  This is useful for skipping boring
  stuff and speeding up repetitive tasks like XP farming.
- Hold X to walk faster.
- Use the automatic battle option to save button pressing.
- Walkthrough: http://www.pscave.com/psg1/walkthrough/

This works pretty good, but I'm skipping it since it has annoying first person
dungeons.  Will play PSG2 instead.
*** DONE Phantasy Star Generation 2
    - State "DONE"       from "STARTED"    [2018-02-06 Tue 02:54]
    - State "STARTED"    from "TODO"       [2018-02-01 Thu 01:21]
The beta version of the English port of the PS2 version of Phantasy Star 2.
http://www.pscave.com/psg2/

Notes:
- At least read the gameplay and background info here:
  http://www.pscave.com/psg2/changes.txt
  http://www.pscave.com/psg2/walkthrough.txt
- I couldn't get the Enhancer item generation chain to work correctly, despite
  trying two different ways.  Since it requires days to redo this, I just used
  Cheat Engine to stick in the Golden Stone.  I searched for a Trifluid
  (value 4128911) and replaced it with the stone (value 4128937).  Then I
  completed the turn-in normally.  This seems to break the save though, so only
  do it after saving at the first town on the other planet.

A very generic JRPG experience.  The new content really isn't much help either.
Things that would be improvements, like expanding the view area, aren't done.
I can't remember how many of the many annoyances were present in PS1, but this
definitely has a lot of them.  Overall, not worth the time.  Since I'm skipping
PSG1, uninstalled PCSX2.
*** DONE Dragon Quest I & II
    - State "DONE"       from "STARTED"    [2018-02-08 Thu 03:48]
    - State "STARTED"    from "TODO"       [2018-02-06 Tue 23:22]
Grabbed the English translation of this Super Famicom remake of the first two
Dragon Warrior games (originally for the NES).  Supposedly it fixes some of the
annoyances.

Notes:
- In Snes9X, turn off sound sync to fix audio clipping.
- In DQ2, the ship treasure location highlighting doesn't work.  The method I
  used was to go 2 half-tiles west of the peninsula north of Lianport and keep
  searching every half tile while heading north.
- There's a lot of bugs in these ports.  Use save states constantly.  Sometimes
  the game will get corrupted runtime memory and need to be restarted and
  loaded from a save.
- Disable Snes9X's frame skipping to speed up farming.  Doing it at warp speed
  still takes many hours, however.

Finished both games.  Attempted to auto-kill everything in the game by holding
down the A button, and was able to do so with only a few exceptions for bosses.

These are definitely bad games, very poorly designed and uninspired.  On the
surface, one would think that DQ2 is the better game, but it's actually worse
for various reasons.  Trying to figure everything out in DQ2 without a
walkthrough would be an exercise in frustration.
*** DONE Carmaggedon TDR 2000
    - State "DONE"       from "STARTED"    [2018-02-09 Fri 16:10]
    - State "STARTED"    from "TODO"       [2018-02-09 Fri 15:51]
Got a free copy on GOG, so might as well try it out.

Unplayable.  Induces massive nausea.  Had to quit after 10 minutes before I
puked.
*** DONE Old School Runescape
    - State "DONE"       from "STARTED"    [2018-02-10 Sat 12:21]
    - State "STARTED"    from "TODO"       [2018-02-09 Fri 22:12]
One of the official Runescape versions.  This one is supposedly from
around 2007.

Well, I played it some.  Then I got bored.  I also got depressed since the game
is full of bots.
*** DONE Dragon Quest III
    - State "DONE"       from "STARTED"    [2018-02-21 Wed 22:16]
    - State "STARTED"    from "TODO"       [2018-02-16 Fri 20:12]
The unofficial English translation of the SNES port of the original NES game.
I seem to recall this one being the better of the series.  Will try my normal
method of power-leveling and using auto-attack.

The best of the series, by far.  Still pretty simple and full of mindless
content.  Played about 90% of this with frame skipping off, saving many days of
work.  The next would've been the DQ4 remake on PS1, but I think no translation
exists nor would I want to continue anyway.
*** DONE Ford Simulator 5
    - State "DONE"       from "STARTED"    [2018-03-10 Sat 23:50]
    - State "STARTED"    from "TODO"       [2018-03-10 Sat 23:20]
The last (I think) in a series of promotional "games" made by Ford to showcase
their lineup.
*** CANCELED GTA: San Andreas: First Response
    - State "CANCELED"   from "STARTED"    [2018-03-12 Mon 02:04]
    - State "STARTED"    from "TODO"       [2018-03-10 Sat 23:07]
A mod police mod for this game.  There's also a unmarked CVPI mod too.

Installing this breaks my install for some reason.  Instead, I installed a few
Crown Victoria cars and drove around a bit until I quickly got annoyed by the
game's driving mechanics.  GTA V has a decent enough of driving mechanics such
that I might give it a try some day instead.
*** DONE Hearthstone
    - State "DONE"       from "STARTED"    [2018-03-18 Sun 01:13]
    - State "STARTED"    from "TODO"       [2018-03-17 Sat 22:35]
A F2P card game by Blizzard.  Never tried a card game before, so I'll give this
one a try.

This might have been okay, but the business model ruins it.  Buying card packs
is straight P2W, along with loot box style gambling.  Also, I'm not really a
fan of this genre's randomness factor involving battles revolving around card
decks.  I'm not sure if it would work, but I'd rather see a game where I
construct the deck ahead of time in anticipation of the opponents abilities and
deck, then have random rolls for damage.  Uninstalling.
*** DONE CAYNE
    - State "DONE"       from "STARTED"    [2018-03-20 Tue 01:21]
    - State "STARTED"    from "TODO"       [2018-03-19 Mon 20:49]
A 2D isometric adventure game, free on GOG.  Sequel to the rather crappy
STASIS, and supposedly worse.

Has only two types of puzzles: easy and nonsensical.  Ends quickly and without
resolving much.  Not really a good game, but it's okay for being free, I guess.
*** DONE Penultimate Destination
    - State "DONE"       from "STARTED"    [2018-04-06 Fri 18:29]
    - State "STARTED"    from "TODO"       [2018-04-06 Fri 10:31]
The second most popular MUD (the first is full of furries).  I think this one
might still be a sex-based MUSH, but I'll look around to see if there's any RPG
content.  penultimatemush.com 9500

Looks to be a chat-only MUD, entirely centered around sex talk.
*** DONE AVATAR
    - State "DONE"       from "STARTED"    [2018-04-29 Sun 23:18]
    - State "STARTED"    from "TODO"       [2018-04-08 Sun 18:33]
One of the more popular fantasy-themed RPG MUDs.  avatar.outland.org 3000

Has a wiki with maps and other info here: https://avatar.melanarchy.info/

Played for a few days and had fun for a bit, but don't really have time for
this right now.  Might try again in the late fall/winter.  Seems like a decent
MUD, but probably involves a lot of grinding.  Having maps available for a MUD
is rather a necessity to save massive time.  Will probably skip any that don't
have them available.
*** DONE Flare RPG
    - State "DONE"       from "STARTED"    [2018-05-04 Fri 09:45]
    - State "STARTED"    from "TODO"       [2018-05-02 Wed 07:38]
An open-source 2d isometric game engine.  Try out one or more of the dev-made
demo games.  This looks unlikely that it's something I'd want to use, since
it's optimized for action RPGs, but it's worth a quick look.

This is a clone of the Diablo 2 engine, and while not really my preference,
does a pretty good job of that.  The Empyrean campaign is pretty decent, and
would probably make action RPG fans happy.
*** DONE Shadowrun (Genesis version)
    - State "DONE"       from "STARTED"    [2018-05-27 Sun 21:04]
    - State "STARTED"    from "TODO"       [2018-05-25 Fri 21:45]
Technically a replay, since I've played this to completion about 15 years ago
and a few times in high school.  Mostly interested in how it holds up and what
game mechanics made it so compelling.

Definitely not as good as I remember, but still a good game.  Certainly better
than the SNES version and one of the few still-playable console games.  I do
get the feeling that the game may have been rushed towards the end.  The plot
of this game is also very unsatisfying and remarkably thin when you look at it
in isolation.

As a kid, I used to think the original Shadowrun mythos was epic and endlessly
fascinating.  It's still pretty good, and I like it better than the straight
fantasy competitors or even modern Shadowrun, but I now realize how universally
derivative it is.  The strong point is definitely the Neuromancer influences
and their tight integration into a physical world.
*** DONE Depths of Peril
    - State "DONE"       from "STARTED"    [2018-06-02 Sat 21:09]
    - State "STARTED"    from "TODO"       [2018-06-02 Sat 16:35]
An action RPG from 2007, or thereabouts.  Already had a copy, so will give it a
look.  I've briefly played this before, but can't recall if I liked it or not.

A reasonable set of game mechanics, I guess.  Playing against the clock and
doing RNG chores is not what I want to do with my time though.
*** DONE Helherron 2.1055
    - State "DONE"       from "STARTED"    [2018-07-05 Thu 18:20]
    - State "STARTED"    from "TODO"       [2018-06-02 Sat 22:34]
Apparently the author of this is still working on it.  Checking in to see if
the game is playable now.

Finally completed this.  This is a pretty solid tactics-centric rougelike.
There's lots of content here, and a play-through takes weeks.  The only
downside is that it gets a more than a little repetitive.
*** DONE Space Empires IV
    - State "DONE"       from "STARTED"    [2018-07-10 Tue 09:05]
    - State "STARTED"    from "TODO"       [2018-07-07 Sat 09:32]
The 4x game that is supposed to be the best at ship design.  Was interested but
was still going to skip this due to being a bit burnt out on 4x. However, it
was on sale for $1.49 on GOG, so might as well give it a try.

Try this later with the DevNull mod, which supposedly fixes the majority of the
bugs in the game.  However, it also adds some things like space monsters, which
I'm not sure I want.  This and many other mods are included in the extras/
directory.

Possibly the best 4x I've played so far, or at least a close second after
Stars!.  For an older game, it does do a good job of covering all the core
genre features too, and competently.  Of course, there are things I'd probably
change about it:
- I'd prefer that warp point usage not be instantaneous.  As it currently
  stands, the length of edges in the galaxy map don't matter.  This also makes
  for a very spatially small-feeling game world.
- Supplies get consumed way too fast.  Understandably, this is necessary given
  the previous point.  I'm fine with supplies/fuel being a factor, but it's
  tedious as is.  Options for research to mitigate this would've been nice too.
- Could use some more game creation options like allowing placement of players
  on the map.
- Though the races aren't quite as stock as usual, they're still not that
  creative.  There's a few isolated areas where they can play differently, but
  it's pretty minor.
- While it's true this game does give more options than normal for ship design,
  there really aren't that many clever things you can do with it.  Ship roles
  are designated by technology available, and it's pretty obvious what the
  optimal layout would be given those parameters.  I'm thinking a better
  ship-based 4x game would be fleet-based almost exclusively (perhaps excluding
  colony ships and scouts), and have a UI optimized for their creation,
  maintenance, and use.
- As usual for 4x games, diplomacy sucks and probably should've just been left
  out.
- I'd tweak the mechanics to be less planets, but have them with more space for
  facilities.  Colonization should be a more involved affair to balance this.
  Sending a colony ship to colonize a "tiny" planet, with the only purpose of
  setting up a single facility seems rather silly.  Also, a large part of the
  game is churning out colony ships to spam the game world as fast as possible.
- The UI needs optimization in many ways.  Many of the game's bugs are UI
  related.
- I'm pretty sure the game cheats.
- As usual, empire management really grinds game progress to a halt as a medium
  or large map fills out with a lot of units/colonies.

Playing all of these 4x games is really repetitive since they're all so
similar.  I'm also starting to think that the underlying conception of the
genre is flawed in some deep, and possibly intractable, ways (not unlike the
AoE-clone RTS genre).  If they could have realistically gotten better
fundamentally, they probably would have by now, given how many come out every
year.  I don't even see the incremental "improvements" as anything but cycling
on feature focus.  20 years from now, 4x will be exactly the same, just
possibly with better graphics and more cemented genre conventions.

Played a few games but the tedium turned into a real grind.  Not a fan of
paying for 4x games, but I guess $1.49 is about right for this.  Skipping the
mods, but if I ever do come back here, that will be my excuse.
*** CANCELED Tempest 4000
    - State "CANCELED"   from "TODO"       [2018-07-10 Tue 09:11]
Look into this when it's done.  So far, it just looks like a graphical rework
of Tempest 2000.  That version was a good game, but had many flaws that need
fixed here for me to be interested.

Skipping for sure.  At casual glance:
- The sound effects are a downgrade.  2000 had meaty explosions and all sound
  really meshed well.  Some stuff here is unbalanced, like the iconic
  "superzapper recharge" sample being nearly inaudible.  Others like "yes yes
  yes" are removed.  New samples aren't as fitting into the, uh, abstract
  nature of the game, or something.
- Uses the exact same soundtrack.  The original has some good selections, but
  some of the tracks were sub-par and should've been replaced/remixed.
- Something seems off about the graphics.  Perhaps it's too clean.  More pixel
  chaos would capture the previous incarnation's feel better.
- Maybe my biggest annoyance: including a minigame after every single level.
  This took one of the more annoying things about 2000 and made it even more
  prevalent.  All minigames probably needed to be either removed or redone.
- The number of enemies increased, but are easier to kill.  I'd have liked to
  see the game more focused on testing skillfully applied precision and less
  about spamming hordes of enemies.  More variance between level groups, with
  differing optimal strategies, would've been nice too.
- The only real improvement I see is that with higher resolution, you can make
  out stuff that's coming or is on the upper end of the grid.  On the Jaguar,
  you could only see a pixel or two.
- Overall, this is an uninspired remake, probably made by day jobbers with no
  particular affinity for what made 2000 great.  My default expectation for a
  remake is that it'll be a downgrade, so I'm not particularly disappointed.
*** CANCELED Sang-Froid: Tales of Werewolves
    - State "CANCELED"   from "TODO"       [2018-08-05 Sun 08:16]
Got for free on GOG.

Skipping, even though I have a copy.  Too heavy on the time-critical action
mechanics for my taste.
*** DONE Avadon: The Black Fortress (revisited)
    - State "DONE"       from "STARTED"    [2018-08-24 Fri 23:52]
    - State "STARTED"    from "TODO"       [2018-08-02 Thu 11:51]
I might be capable of giving this another try.  One can get the whole
collection of these RPGs for cheap, so I'm using this one as a test to see
whether I could conceivably want to do that.

This game actually does have a surprisingly huge amount of content.
All of my original criticism still holds, and I'd also add:
- Tough enemies are only so because they play by different rules than the
  player, like getting more attacks per round or being able to move twice.
- The trash mob combat is a real time waster.  Having everything except
  vitality reset shortly after a fight takes away the only potential purpose
  for them of resource management.
- Especially late game, battles are often just about chaining AoE attacks.
  There is little practical difference between any of the classes in this
  sense.
- Endgame combat is a mess and full of annoyances.  Infinitely respawning
  enemies, enemies that can hit 3 or more times per round, stunlock, etc.
  Worst of all, one of the main ending options is basically impossible to
  accomplish due to boss mechanics that weren't fully thought through.

There's potential here for a good game, but there's way too many downsides.
Finishing this became a real chore and timesink.  I'll be skipping the
remaining RPGs from this developer.
*** STARTED 688(I) Hunter/Killer
    - State "STARTED"    from "TODO"       [2017-05-16 Tue 00:47]
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.
*** STARTED GTA V (single player)
    - State "STARTED"    from "TODO"       [2018-03-24 Sat 18:02]
Grabbed on Steam for $30.  Will attempt to be a law-abiding citizen.  Might try
the online version later, where perhaps it's easier to do that.

The online version really only has spaz-type players that aren't any fun to
share a world with.  Missions take forever to load and turn the main world into
a mini-game lobby.  Sticking with single player.
*** TODO Shroud of the Avatar
There's a free trial available for this, which is now released.  It's obvious
this was a pretty epic crowdfunding failure.  But, I'll give it a try anyway,
since it's free.
*** TODO Ultima Online
Now F2P, so might as well give it a look.
*** TODO Chrono Trigger
Normally I hate JRPGs, but supposedly this is one of the best video games of
all time, so maybe it's an exception.
*** TODO Galactic Civilizations II: Ultimate Edition
Got a copy for free, so will give it a try sometime.
*** TODO Noir Haven
A text-only MUCK at mucks.cyberleo.net 7878.  Not sure I'm too interested in
the setting though.
*** TODO Crusader Kings II
Got for free on Steam.
*** TODO Endless Sky
One of the top-down, 2D space trading/combat games.  This one is open source
and in active development.  https://github.com/endless-sky/endless-sky/releases
*** 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.

Docs:
- Beginner's Guide:
  https://steamcommunity.com/sharedfiles/filedetails/?id=180463026

Setup:
- 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 5.1.0.0.  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
  14.dat.
- 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:
  http://steamcommunity.com/app/201310/discussions/0/558751364352364986/
- 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 Pioneer
An open source space sim.  Looks like an Elite-clone at casual glance.
https://pioneerspacesim.net/#&panel1-7
*** TODO Space Station 13
Supposedly a unique concept.  Multi-player, however, so maybe just give it a
try for a bit.  https://spacestation13.com/
*** 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.

Notes:
- Update to 1.04.
- Might want to flag the binary with -wantVSync.  Try without it first.
- Install RA 1.41.
*** TODO The Operational Art of War III
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
another).

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.

Notes:
- A copy of the manual is included in the install.
- Read the tutorial .doc file while doing the tutorial mission.
*** 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.

Notes:
- Start a terminal with =urxvt -fn "xft:dejavu sans mono:pixelsize=22"= if
  playing fullscreen.
*** TODO Red Storm Rising
A 1989 sub simulator for DOS.  Try to get this working correctly in DOSBox.
Looks like it might be mildly entertaining.

I can spare myself the DOSBox setup by using this online version:
http://playdosgamesonline.com/red-storm-rising.html
*** 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 System Shock 2 (modded)
Try this with the Rebirth (improved models/textures) and/or SHTUP mod (higher
resolution textures).  For sound, there's also a mod called "DeepFriedBeer's
Sound Upgrade for SS2".

There's also a reboot of System Shock in the works now, though I'm not counting
on that being good.
*** 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:
http://aurorawiki.pentarch.org/index.php?title=Main_Page

Notes:
- Grab the portable version, mentioned here:
  https://www.reddit.com/r/aurora/comments/3z6hy3/aurora_allinone_installer
- 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 Superpower 2
I have a CD copy of this in my collection, I think.  Find it and give it a
try.  I only put a couple of hours into it previously.
*** TODO Command: Modern Air/Naval Operations (purchase)
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.
*** 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.
*** TODO Wasteland 2 (purchase)
Seems lacking in depth on the items/stats/strategy side of things compared to
JA2 1.13+AFS.  It does have some other unique features, like it supposedly
includes at least some procedurally generated content.  I've read a few bad
points about it, and negative reviews suggest I'll probably dislike it for
things like it's random loot system and lack of variety.  Get this on GOG if I
do, but wait until it's extremely cheap (under $10 at most).
*** TODO Tyranny (purchase)
Uses the Pillars of Eternity engine.  Looks like it might be okay, but will
wait until it's under $20 and all expansion packs are bundled.  Check back
around 2019 or so.  Might skip entirely though, since it doesn't look that
great.
*** TODO Stellaris (purchase)
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.
*** TODO Planescape: Torment: Enhanced Edition (purchase)
Might be willing to give this another go.  Wait until around $5 on GOG.  Since
I have a CD version of it too, I might be willing to just use that instead.
 *** 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.
*** 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 Tales of Maj'Eyal 1.5 (in development)
Includes the second expansion to ToME, with a complete 1-50 campaign.  Also, in
1.5, the possessor class is supposedly being added.  Recent versions have
supposedly made the game's plot-related enemies not so lacking in variety.  I'd
still like to do an oozemancer run.  I could do that now, but by the time I get
to this, 1.5 should be out.  Could also play this on FreeBSD, since there's a
port available now.
*** TODO HELLION (in development)
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.
*** 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.
** Programming projects
*** CANCELED bf
    - State "CANCELED"   from "TODO"       [2018-08-31 Fri 08:52]
bf is easy to learn (already learned it once before), but a real challenge to
write programs in.  Maybe implement a few of my favorite algorithms in it.  One
way to debug bf code is to use bf2c, which converts what you write into
something legible.  There's also an Emacs mode for the language, of course.
Could use the Haskell interpreter for this.

No longer interested in this enough to actually spend the time.
*** 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.

Features:
- 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
  levels.
- 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
Ring/Compojure.
- 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
language.
*** 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.
*** TODO WROL
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
contributors.

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
currently.
*** 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.
** Computer science/programming goals
*** CANCELED minimal front-end competence
    - State "CANCELED"   from "STARTED"    [2018-08-31 Fri 09:09]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 00:37]
Get from knowing mostly nothing about modern front-end development of the
client-side, web app kind to at least being able to slap something together.
I'll rely on my general programming skills to compensate for my lack of
ecosystem knowledge when/if I have to do anything here.  I'd really hate to do
this, but it would be useful at work and I think I can do it in a minimally
intrusive way.  Try to squeeze this whole half-assed effort into 3 weeks.

Already read Front-End Developer Handbook 2017, which did provide a little
context.  I might give at least the trends part of this a glance every year
from now on.

The plan:
- [X] Read up on npm.
- [X] Look into MathJax and replace all math on my sites with it.
- [X] Read up on highlight.js.
- [X] Read up on Grunt.
- [X] Maybe read up on Mithril.
- [ ] Read up on Webpack.
- [ ] Read up on ESLint.
- [ ] Read/skim Eloquent JavaScript: A Modern Introduction to Programming.
  This will be my reintroduction to the language.
- [ ] Read selected parts of Understanding ECMAScript 6: The Definitive Guide
  for JavaScript Developers.  Take notes.
- [ ] Read up on React.  Maybe grab a book on this and/or split it out into its
  own topic.

This was going okay, with the exception of being boring.  I'm still going to
cancel it for now, to be replaced by doing basically the same thing in
ClojureScript.  I might resurrect this regardless of how that goes, for two
reasons:
- Knowing Java and JavaScript are a good insurance policy if I roll a critical
  failure in life one day.  This is counterbalanced by JavaScript's ephemeral
  nature.
- For better or worse, JavaScript is one of the core technologies that the
  world is built upon.  Knowing more about it means understanding the world
  better.  The downside here is that the whole web part of it is a giant
  kludge.
*** 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
  somewhat.
- 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
  exceptions).
- 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
technologies.
*** 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 Types and Proofs.
- [ ] 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.
  https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
- [ ] 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:
  https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_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":
  http://www.haskell.org/haskellwiki/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.
  https://github.com/Gabriel439/post-rfc/blob/master/sotu.md
- [ ] 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
  self-education.
- [ ] 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:
  https://en.wikibooks.org/wiki/Haskell/Category_theory
- [ ] 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 goals
*** DONE block sites with /etc/hosts
    - State "DONE"       from "STARTED"    [2018-01-06 Sat 03:06]
    - State "STARTED"    from "TODO"       [2018-01-06 Sat 02:30]
As part of my 2018 plan to further remove distractions from my life, I'll block
various sites using the hosts file method.  To do this, edit /etc/hosts and add
entries that look like =0.0.0.0 www.example.com=.

Some comments:
- This method works great, but it is not a solution for an underlying problem
  of being vulnerable to distractions.  But like any brain-rewiring effort, not
  reinforcing the neural pathways that make up the undesirable behavior is a
  necessary component.  Since these are information foraging activities, the
  brain is in a variable reward cycle, making the behavior extinction
  resistant.  Removing the exploit altogether is a separate task.
- I only added a dozen or so entries that I know I've wasted time on in the
  past.  Whenever I spot myself wasting time somewhere, add it to the file.
- While I'm at it, I'll also block any biased/propaganda sites, pay sites, and
  sites with embedded popups.
- This isn't a panacea.  There are sites that have both useful info and tons of
  useless info.  It would be easy to still waste time there since I'm reluctant
  to lock myself out of the useful stuff.
- I'm only doing this on my main workstation for now, where I do most of my
  work.  I might copy it over to my laptop next after awhile.
- Also added hosts that do client-side coin mining.  Used this list:
  https://github.com/hoshsadiq/adblock-nocoin-list/blob/master/hosts.txt
*** CANCELED no/less refrigeration
    - State "CANCELED"   from "TODO"       [2018-01-07 Sun 02:06]
A refrigerator costs about $1/day in electricity to run (for an efficient
model), and getting rid of it zeros out this cost.  Another option is to switch
to a mini-fridge.  Either way, a full size refrigerator and freezer is a waste
of money since it's mostly unused space and sometimes completely empty.  Will
wait until I'm done with apartment life for this, since there's no point in
lugging around my own mini-fridge in the meantime.  If I ever choose to unplug
an apartment fridge, be sure to leave the door open to avoid mold.

I may re-imagine this concept to include a chest freezer and a mini-fridge.
The deep freezer will be useful if I'm raising a lot of my own food.

Update: Looks like I can afford to run a refrigerator now.  I'll definitely get
a chest freezer too.  I still want to save electricity as much as possible, of
course, but the point of this task no longer really applies.
*** CANCELED DIY Soylent
    - State "CANCELED"   from "TODO"       [2018-01-07 Sun 02:11]
This recipe seems promising, provided I remove the added flavoring.  May want
to look into reducing the molybdenum though.
https://diy.soylent.com/recipes/schmoylent

However, I should look around a good bit first and see if there are better
options, or completely devise my own from scratch.  Decide whether to
completely replace bought Soylent with this, depending on confidence level in
my recipe.  I'm slightly less inclined to do this now that Soylent's price has
dropped 23%, but I'm still somewhat interested in the idea of saving all that
money and being non-dependent upon the existence of a single company.

Update: I'm no longer inclined to do this.  I've settled into using this max 1
meal/day and Soylent powder is cheap enough for me.  Another reason is the
difficulty is replicating the vitamin/mineral balance.  I consider that worth
the $1.54 for 400 calories.  Even if I ate nothing but Soylent, it would cost
about $2810/year, which is a huge improvement from my current food costs.
*** DONE buy property
    - State "DONE"       from "STARTED"    [2018-01-17 Wed 09:08]
    - State "STARTED"    from "TODO"       [2017-12-01 Fri 07:23]
A long-time goal of life has always been to extricate myself from the hive.
The time has come for the final realization of that goal.  The main trade-off
will be being a home owner.  However, I'm sure that if I do it right, it'll be
a net positive effect on life, and not just by a small margin.

My general goals of this effort are:
- Protect a sizable chunk of net worth against inflation (low property taxes
  are necessary here for this to work).
- Move to a rural or semi-rural area.
- Own a fairly large plot of land.
- Own an appropriately-sized, utilitarian house.
- While self-sufficiency isn't a goal, increase the amount for which I provide
  for myself.
- Keep one foot in the door with marketable technology skills, my urban
  acquaintances, and some of the minor benefits of the city.  This means I'll
  not move too far out such that I'm completely isolated from these things.
  This is a minor goal, and I'm willing to sacrifice this for optimizing other
  things.

This entry is just noting this effort here for life journal reasons.  See full
details, goals, strategies, and notes in buying_house.org.

This went extremely well, particularly considering it was my first time.  In
retrospect, there were a few minor areas of optimization, but nothing major.  I
am now the owner of some real property, free and clear.  I can't envision any
part of this being a mistake, but I'll remain vigilant in that regard.  No
matter what, this was motivation to quickly acquire a very thorough education
in a big part of the real world that renters are sheltered from.

Lessons learned:
- This is a complex process with many steps.  It would be significantly more
  complex if I was getting a mortgage.  Apparently most people, even those who
  work in the industry, can't keep track of all the moving parts.  Using
  org-mode makes this as easy as it probably could be.
- Get to know all the personalities involved and understand their motivations.
  This includes the sellers, seller agents, buyer agents, inspectors, etc.  The
  seller is the most important here.  This is hard to do when communication is
  done through multiple parties.  Try to connect directly with as many people
  as possible and talk to them in person, phone, or email as much as possible.
  Try to talk to everyone in person at least once, and the seller as often as
  possible.
- Probably the only thing I was a little weak on is that while I did take
  advantage of it some, I didn't maximize for desperation on the part of other
  parties.  Cash in hand means you're holding what everyone wants.  That makes
  you the boss and most people are willing to dance for their supper.
- Don't trust any other parties to do their jobs or have your interests in
  mind.  Follow around inspectors.  Track all tasks the buyer agent has on
  their list and make sure every one of them is complete and on time.  These
  people will average to the mean IQ or maybe slightly below it.  You might
  have to do all or most of the thinking for them.
- Online searching is the way to look at 1000s of homes and save an insane
  amount of time.  There was no way I'd have found something as close to
  perfect as I did by being led around by an agent.  The software for all real
  estate sites sucks, so this is a very laborious process requiring possibly
  100s of hours.  I again used org-mode to help, but since you can't export
  data as an end-user, I still had to use a combination of 3 sites.  I also had
  very specific criteria, differently weighed, and only some of them are search
  criteria available on those sites.
- Do massive amounts of research on everything about housing.  If you know
  nearly nothing at the start, like I did, spend 100s of hours researching
  everything about home buying, ownership, mechanicals, etc.  In aggregate,
  this will always pay off, you're less likely to make expensive blunders, and
  you'll need much of that knowledge to properly maintain your home anyway.
  I've been completely confident in every decision along the way thanks to this
  upfront investment.  Both the search and this self-education were basically
  full time jobs for months each.

Now all I need to do is close up shop in my current location, quit work, and
get out of here.  I have some follow-up tasks to this, but the main effort will
be towards structuring what comes next.
*** DONE liquidate extraneous possessions
    - State "DONE"       from "STARTED"    [2018-01-17 Wed 10:25]
    - State "STARTED"    [2009-07-30 Sun 12:56]
Make several more complete audits of remaining possessions and trash or sell as
much as possible each time.  Some groups of items to address are media, books,
clothes, furniture, computer parts, and electronic devices.  Most of this is
stuff I accumulated before moving out on my own, then a second wave of buying
stuff once I first commanded some reasonable purchasing power.

At least 1000lbs of stuff trashed/sold so far.  Sold a lot of bulky stuff and a
couple white elephants.  I'm near the end, but there's still further
optimization that could be done.

I've been at this for awhile and have made good progress.  I've made small
profits where possible, but in the end everyone loses on purchasing consumer
goods.  I don't miss anything I've sold, which probably means I should've never
bought any of it in the first place.  Getting rid of stuff also takes more work
than buying it.

I think it's safe to call this done for now.  I have a few minor selling tasks
to wrap up before moving, but the main thrust of this effort is complete.  In
fact, I'll probably switch to acquiring some possessions needed now that I have
a place and know what property features it has.
*** DONE upgrade router
    - State "DONE"       from "STARTED"    [2018-01-31 Wed 18:53]
    - State "STARTED"    from "TODO"       [2018-01-27 Sat 20:45]
Find a suitable upgrade my WRT54G, ideally one that supports up to 801.22ac.  I
was going to put this off, but the overlap will be handy for setting up DSL at
the new place early and having one less thing to worry about on moving week.

Finding a consumer-grade router that doesn't suck was a chore.  Selected the
Linksys AC1900.  Setup went fine, it seems.  Some notes:
- Facade is inferior to the WRT54G since it has no status lights.  The only
  status lights are on the back.  Has an annoying backlit logo on the top,
  which I guess might blink if something's wrong.
- Supports simultaneous 2.4GHz and 5GHz.
- Admin panel doesn't work in Conkeror.
- Port forwarding is organized under the security configuration section.

I guess I would say this product is only okay.  It's only an upgrade to the
WRT54G in that it supports more modern protocols and seems to have a stronger
signal.  Everything else is equivalent or a minor downgrade.  As there are no
deal breakers or major annoyances, I can live with it.  Checked eBay and the
WRT54G sells, but only for a few dollars, so after moving I'll just stick it in
a box for a backup, in case this one gets fried in a power surge or something.

Update 2018-02-22: Covered the backlit logo with a piece of black paper and
tape.  Now it doesn't hurt my brain ever so slightly when I look in its
direction.
*** DONE baseline life knowledge research
    - State "DONE"       from "STARTED"    [2018-02-03 Sat 02:41]
    - State "STARTED"    from "TODO"       [2018-01-03 Wed 23:40]
I've identified a baseline set of info I'll need to do some isolated research
in.  Know these topics in outline or better, such that I can lazy load any
specifics.  Some of this involves resurrecting long dormant memories from
before I started college.  Around then is when I hyper-focused on computer
science and intentionally allowed everything else to atrophy.  I'll probably
spend no more than a few days on each of these, unless I identify some critical
gap.

I'll track the details in ideas.org.  Rolling these up here to identify the
core subset needed for now:
- [X] Appalachian culture.
- [X] Local geography.
- [X] UTVs.
- [X] Scythes.
- [X] Gang reel mowers.
- [X] Septic systems.
- [X] Water heaters.
- [X] Chainsaws.
- [X] Bench grinders.
- [X] Gravel driveways.
- [X] Generators.
- [X] Outdoor wood furnaces.
- [X] Horses.
- [X] Heat pumps.
- [X] Bass boats and trolling motors.
- [X] Roof gutters.
- [X] Drywall.
- [X] Vehicle trailers and hitches.
- [X] Processing firewood with hand tools.
- [X] Drills and bits.
- [X] Wells and well pumps.
- [X] Freezing vegetables.
- [X] Home canning.
- [X] Deck maintenance.
- [X] Basic first aid.

I'll have further skills to master later, but these are the basics useful right
now.  Most of this stuff is pretty simple at the end-user level.  My previous
level of ignorance would've had consequences eventually, mostly in higher costs
and a fair amount of nondeterminism.  There's also some aggregate utility to
understanding all of the systems that control your environment.

One general conclusion from this effort is that I'd like to minimize the number
of additional engines in my life.  I'll try to combine those devices as much as
possible, even if suboptimal.  Electric power tools are less offensive, but
I'll also minimize those as a secondary priority, where convenient to do so.
*** DONE buying stuff: round 1
    - State "DONE"       from "STARTED"    [2018-02-17 Sat 20:53]
    - State "STARTED"    from "TODO"       [2018-01-28 Sun 11:50]
Now that I'm leaving apartment life, I'll need a lot more stuff.  Some is for
doing things for myself that I used to pay people to do for me.  The rest is
because more space enables new activities.

I'm dividing my stuff purchasing into 3 main groups.  Part of the reason for
doing this is to define these purchasing sequences as discrete events and not
part of a shift in consumption habits.  The default is still multi-use items
and minimizing consumerism.

This group is stuff I'll work on getting prior to the renter on my property
moving out (and thus not really having it available for my own use):
- [X] Vacuum cleaner: Old one broke.  Bought some Bissel model.  Seems to work
  well, but looks rather silly.
- [X] Infrared thermometer: Use to test all windows and walls both in summer
  and winter.  Can also use on the external wood furnace, cooking, annealing
  metal, and possibly other uses.
- [X] Tube of lithium grease: Use for sliding doors, windows, hinges, garage
  doors, chains, springs, gears, bearings, and similar applications.
- [X] Water/mud-resistant boots: Will need for wet grass, muddy soil, and just
  general use.  I considered getting full height rubber boots, like farmers
  wear, but I'll just hide indoors when it's that wet outside.  Bought the
  Men's Small Batch L.L.Bean Boots, size 12 (since they run a little large).
  These appear to fit perfectly.  Modded these with a file to remove the
  branding on the heel.  This also smooths out a surface that can trap dirt.
  These reduce agility somewhat, so I'll still default to using my old military
  boots during dry times.
- [X] Tape measure: I think I got a Stanley 25' one.
- [X] Stiff plastic brush: Use for scrubbing tile, concrete floors, siding,
  foundation, and decking.  Bought one but might get another with handle later.
- [X] Carpet shampooer and 1 gallon cleaning solution: Bought the "Hoover
  SteamVac Upright Carpet Cleaner with Surge", solely due to it being on sale
  at Home Depot.
- [X] Electric drill and drill bits: Got the DeWalt DCD780C2, which is a kit
  that includes drill, two batteries, and a storage case.  Also bought a
  21-piece drill set.  Skipping a driver set for now, but I'll probably get one
  at some point.
- [X] Extension cord: Got generic 50ft one.  This one is only rated for 10amp
  though.
- [X] Mop: Got some kind of self-wringing mop.
- [X] Electric lawnmower: Bought the Greenworks Pro 60-volt, since I had a $60
  coupon for Lowe's.  I'll get the cordless chainsaw that uses the same battery
  later (and then hopefully never buy anything at Lowe's ever again).
- [X] A few low plastic bins: Might need this to dual as a litter box for
  awhile.  Later, I'll just use it for storage.

Total cost should be around $1100 or so.

So far these all seem like decent purchases.  Should've bought a carpet cleaner
long ago.
*** DONE optimize TracFone settings
    - State "DONE"       from "STARTED"    [2018-02-23 Fri 00:06]
    - State "STARTED"    from "TODO"       [2018-02-22 Thu 01:03]
This phone is better than a smartphone, but still has many annoyances.
Probably the biggest is not being able to block spam.  I've already looked into
whether there is a number blocking feature and unfortunately none exists.  The
things here might be able to mitigate the damage, however.

Tasks:
- [X] Fix annoying text message alert: Found setting to only alert once.
- [X] Setup voicemail: Uh, I think I successfully did this.  Press and hold 1
  to access the mailbox.  Then enter the PIN I selected.
- [X] Test voicemail by calling from another phone to see if I get a
  notification of messages: This works.  I get a notification of it and an
  option to delete each message by hitting 7.  If I have a bunch of spam here,
  I might try hitting 7 early to see if that deletes it.

Once I quit work, I'll turn the ringer volume down to level 1 and let all calls
go to voicemail.  This will let me answer calls when I'm expecting one, but
otherwise it won't wake me up or break concentration.  I'll see if spam calls
end up as voicemails too.  If so, I'll just ignore them and check once every
couple weeks.
*** DONE replace vehicle
    - State "DONE"       from "STARTED"    [2018-03-07 Wed 17:50]
    - State "STARTED"    from "TODO"       [2018-02-26 Mon 18:51]
My plan is to eventually have two vehicles between the two of us, mainly for
transportation security given that we're so remote:
- Car: This will be what we use 95% of the time for shopping and general
  travel.  It should be fuel efficient, reliable, and low in value (to reduce
  property tax).
- Truck/SUV: This will be used only for inclement weather, transporting large
  stuff, and hauling a trailer.  It only needs to be of low value.

I'll address the car situation first, since that's something I can do before
moving.  A thought I had was that I may be in a unique situation such that a
Ford Crown Victoria Police Interceptor, which are often sold to the civilian
market after being decommissioned, might be a good choice for me.

Pros:
- In WV, most vehicles are huge trucks and SUVs.  The roads are usually 2-lane.
  My tiny car would be clobbered in most collision scenarios.
- I intend to drive less overall, hopefully negating additional fuel costs.
- A push bar will protect the car against head-on deer collision.
- Reduced property tax.
- Higher ground clearance.  My current car scrapes the pavement on high crown
  back roads in WV.
- Superior snow performance.  The CVPI isn't perfect at this, but way better
  than my car.  Throwing some weights in the back can help too.
- Superior performance off road and on poorly maintained roads.
- Due to it looking like an unmarked police car, you're less likely to be
  harassed by highly emotional drivers.
- Parts are cheap/plentiful and I can do more of the servicing myself.
- Most have easy to clean interiors with floors made of textured plastic.

Cons:
- Will incur several hundred dollars of transaction costs.
- More inspection/registration inconvenience.
- Reduced fuel efficiency of around -14MPG.
- No center console.
- CVPIs are often used pretty hard as fleet vehicles.
- These interiors can be extremely rough and dirty.
- Some additional nondeterminism in vehicle reliability for the short term.

This is a net win on the pro side, especially in the long term.  If this works
out, I might get the truck/SUV as a former police auction vehicle too.

Update 2018-02-26: I looked at one I thought promising at a local dealer
specializing in these.  At least the ones there are really rough vehicles.  The
particular specimen I had an eye on has way too many idle hours (over 8000) and
has several things broken such that the car is currently not usable.

Update 2018-03-03: Went to look at another CVPI in Ashland, VA.  Found it
acceptable and worked out a straight trade for my current car.  They need to
fix the alignment and will call me back on 2018-03-05 when it's ready for
pickup.  Will probably go grab it 1-2 days later in the early morning.  This
one is about as good as they come and has low miles and wear.  The only problem
is that the mufflers have been removed.  I'll probably try to just live with
that and only get them replaced if there's an inspection issue.  I saw a lot of
parts laying around at the first place I went to.  Once I get the car, give
them a call and see if they have any spare police center consoles.

Update 2018-03-05: Got notified that car is ready to pickup.  Asked if they can
remove bumper stickers.  Didn't get to ask about gas.  Will go buy gas can and
fill it up some, just in case.

Update 2018-03-07: Picked up car.  Updated parking badge.  Seems to run okay so
far, minus a few minor quirks noted in the maintenance task.  So far this seems
like a good idea.

Some ideas/notes:
- The best online repository of knowledge is crownvic.net.
- Read the Police Interceptor Modifier Guide for the year in question.
- The CVPI has kevlar lined doors and trunk.  There are also stab-proof plates
  in the seat backs.
- Set the torque wrench to 95-100lbs for the lug nuts.
- There is a fuel shut off inertia switch in the trunk.  If it ever gets
  tripped, like after hitting something, just hit the button to reset it.
*** CANCELED inspect/maintain CVPI
    - State "CANCELED"   from "STARTED"    [2018-03-26 Mon 21:34]
    - State "STARTED"    from "TODO"       [2018-03-08 Thu 23:21]
Once I get the CVPI, perform these tasks.  These are to find out exactly what I
have and to bring it back as close to spec as possible.  Some of this will have
to wait a couple months until I have some room to work in.  I'll probably split
off some of the risky stuff for later.

Update 2018-03-20: Looks like I rolled a critical failure on this one.  I also
think the dealer screwed me over by resetting the codes and selling me the car
as-is, given that several critical CEL codes popped up as soon as I drove it
enough to reset.  I do, however, still think that it can be a great car if I
put the money/time/effort into it.  My current plan is to just get this running
good enough to do the move, then getting something more reliable in truck/SUV
form.  I'll probably still keep this for local use and as a backup, for now.

Tasks:
- [X] Remove bumper stickers: Dealer did this upon request.
- [X] Inspect exhaust system: Asked dealer and they said it has smaller
  mufflers installed.  Not a straight pipe or cut-off.  Still has catalytic
  converters, so it should pass emissions inspection, hopefully.  If not, I can
  always speed up my residency transfer to WV.
- [X] Update car insurance.
- [X] Print out new insurance card.
- [X] Vacuum interior: Done, but still could use another round.
- [X] Find location of DLC (data link connector) port: It's just below and to
  the right of the steering column.
- [X] Detail the interior: Cleaned entire interior and finished with Armor All.
  Looks pretty good but could use another round in a month.
- [X] Try to remount the spare tire and jack in the trunk shelf: Got the wheel
  mounted using the spare bracket plate and retainer screw.  Not sure where to
  mount the jack itself, so I just left it on the trunk floor.
- [X] Pull out the air filter and see if it's dirty: Checked and it needs to be
  replaced.
- [X] Clean mass air flow sensor: Used MAF cleaner.  Was pretty easy to do.
- [X] Remove dealer-branded plate holders: Tossed.
- [X] Set clock to current time: First turn on the radio.  Then hold down the
  clock button and use the seek and tune buttons to set the time.
- [X] Confirm paint is WT, "Performance White" by looking at sticker in door:
  Confirmed.  Color code is: M6640A, WT.
- [X] Check what battery I have: AutoCraft Gold Battery, model 65-2, with 850
  CCA.
- [X] Check tire size sticker in door: Appropriate size is P235/55R17.
  Currently installed tires are Travelstar UN33, P235/55R17, 103W XL.
- [X] Inspect tread wear on all tires and compare against the unused spare:
  Need new tires.  Wear is uneven across them.  Pep Boys has a 4 for 3 deal
  going on until 2018-03-31.
- [X] Check whether turn signals show proper orange color: Need to replace
  these.
- [X] Take in car for a check engine light.  Might be a stuck open thermostat,
  which I'm hoping it is, since that's cheap and would explain the slow warm
  up: Lots of things are wrong. Broke into two groups.  The place I took it to,
  G&C, has also raised their prices considerably, so I'll only do a few
  critical things there.
- [X] Fix this subset of things that the repair shop found:
  - Plugs/coils were bad, resulting in a misfire.  Maybe the intake manifold
    gasket is bad too.  Misfire could be caused by coolant leaking onto plugs.
  - Thermostat bad, as suspected.  Replace thermostat and seal.  Flush coolant.
  - Serpentine belt is going bad and needs replaced.
- [X] Inspect exhaust system to ensure exhaust comes out of tailpipes:
  Confirmed.  The exhaust system hasn't had a sloppy muffler delete, at least.
- [X] Sniff some anti-freeze: I guess I can recognize this smell now.  No like.
- [ ] Appointment scheduled for 2018-03-19 at local Ford dealer to address:
  - Replace crankcase breather hose, which should be connected to the air
    intake tube.  The air intake will also need to be replaced.
  - Fix coolant leak.  Garage thinks this is the thermostat housing, but could
    also be a cracked intake manifold.
- [ ] Get emissions inspection at Jermantown Shell.
- [ ] Get registration, pay sales tax, and get title.  Go to the DMV in
  Winchester, VA, to save hours of waiting.
- [ ] Vacuum trunk, inside air box, and around engine.  Do interior again too.
- [ ] Replace air filter: Ordered a WIX 46814 (supposedly more optimal than the
  standard Crown Victoria filters, but only fits the CVPI air box).

Update 2018-03-26: Had to confess defeat.  The determining factor was having to
replace the entire intake manifold, which would run about $2000.  Combine that
with the long, long list of things that still need to be addressed after that
(a good half of which I can't do myself), and it doesn't make sense to keep
this, at least not for me.  Traded it in for a 2015 Ford Explorer XLT with
warranty coverage.
*** CANCELED follow-up car maintenance
    - State "CANCELED"   from "TODO"       [2018-03-26 Mon 21:38]
Do this stuff post-move.  Separated since this stuff is less critical and/or
will be cheaper to do not in Northern VA.  If I have some free time though,
I'll try to do the PCM task.
- [ ] Get code reader and figure out how to use it.
- [ ] Use carpet shampooer to clean interior.
- [ ] Clean throttle body: Have cleaner.  Don't use the red tube (as it might
  fly off and down the intake manifold).  Wait until air intake tube is
  replaced.
- [ ] Sea Foam the engine.
- [ ] Get these done before winter:
  - Replace oil cooler hoses and seals.
  - Get brake pads and rotors checked and maybe replaced.
  - Get sway bar bushing and links checked and maybe replaced.
  - Get new tires.  See if balance, alignment, and center steering are
    included.  Keep old tires.  Check if alignment comes with warranty.
  - Replace fuel filter.
- [ ] Inspect brake fluid color/condition.
- [ ] Confirm exhaust system claims: Look under car and fact check claims about
  what's down there.
- [ ] Read manual and other included documentation.
- [ ] Twist off dome light lid and see if it's the newer LED one.
- [ ] Get a multimeter and test the battery.
- [ ] Check transmission fluid when car is fully warm.  Before looking, cycle
  through gears with the brake depressed, then return it to park.  Regardless
  of outcome, get this changed once I have a backup vehicle.
- [ ] Get hose, spray nozzle, and sponge.  Wash car.
- [ ] Clean out rocker panels.  Mud and salt can accumulate here.
- [ ] Clean underside of hood and maybe even look under the insulator if the
  retainers are easy to remove.
- [ ] See if I can find a copy of the service manuals.
- [ ] Put very light coat of lithium grease on steering shaft/u-joint.
- [ ] Park indoors and put a piece of cardboard under the engine overnight to
  see if anything leaks.
- [ ] Wax and buff.  Maybe get a buffing attachment for my drill.  Maybe clay
  too?
- [ ] Remove center caps and inspect lug nuts for rounding and measure them to
  see which ones I have.
- [ ] Change power steering fluid.  Might want to try doing this myself with a
  turkey baster.
- [ ] Replace turn signal bulbs.
- [ ] Get new tires.  Keep old ones.
- [ ] Check the recommended torque on the lug nuts and confirm they're to spec.
- [ ] Fix burnt out backlight behind fan knob on the climate control unit.
- [ ] Remove rear seat bottom and clean under it.
- [ ] Seal off peeled paint areas.  Look up how to do this.
- [ ] Do a transmission flush and replace filter.
- [ ] Fix airbag warning light.  Probably a blown fuse but could be airbag
  circuit shorted to ground.  Can't tell without checking what code it's
  returning.
- [ ] Fix fuel fill cutoff.  Might be the fumes escape line/vapor separator
  (sometimes called the vent tube), or various other tubes in that fuel system
  assembly.  Could get fuel filter replaced at same time.
- [ ] Check if fuel filter looks old and replace it if so.  Might want to have
  a mechanic do this.
- [ ] Remove front seats and clean under them.  Be careful not to break bolts.
- [ ] Inspect the sway bar bushing and links.  Maybe have someone turn wheel
  and listen near each front tire to see if it sounds unhealthy.
- [ ] Remove wheels and clean back of tires, back of wheels, and wheel well.
- [ ] Consider an engine compression test.
- [ ] Consider proactively replacing oxygen sensor.
- [ ] Consider getting the speed difference issue fixed.  Could be an
  incorrectly geared VSS (vehicle speed sensor).  Alternatively, it could be a
  mismatch between the rear gears being 3.27 with the computer tuned for 2.73.
  The latter sounds more likely, since 70 MPH at 2.73 = 1700 RPM.  At 3.27,
  that would be 58 MPH.  Check the differential tag, which will display the
  gear ratio on it.  A Ford dealer can flash the PCM (power-train control
  module) to update it to match.  I could also grab a spare P71 PCM and put it
  in.
- [ ] Look into maintenance for the rear differential and its oil.  Supposedly
  should be done every 30-50k.
- [ ] Find out how to check the battery drain.
- [ ] Add repeatable tasks to task list, with frequency notes.

Update 2018-03-26: Traded in car.
*** CANCELED install CVPI center console
    - State "CANCELED"   from "STARTED"    [2018-03-26 Mon 21:38]
    - State "STARTED"    from "TODO"       [2018-03-09 Fri 21:57]
Like almost all of these cars, mine came with no center console.  Ideally, my
center console would at least include:
- Arm rest.
- One or more mic clip plates.
- CB radio.
- Momentary button for airhorn.

A laptop mount, storage box, and cup holders would also be nice but aren't
required.  Call local dealer and see if they have any surplus consoles in
stock.  If not, thepolicefleet.com in Frederick has all of this stuff.
Alternatively, grab a Gamber-Johnson with mount on eBay.  This task only
involves just getting the console setup and ready to go for accepting any
electronics.

Update 2018-03-09: First I vacuumed the crap out of the center console area.
Then I used some tape to remove most of the remaining detritus.

I then grabbed an old Troy Products console (looks similar to the CC-PCFX14,
but maybe an older variant), mounting bracket, arm rest, and laptop platform.
This also came with a microphone, two clip plates, various wires, and random
other junk attached.  Got the whole lot of it for $100 from High Performance
Motors.  The stuff was disgustingly filthy, so we spent hours cleaning it.

I have the console friction-mounted for now.  Once I get around to it, I'll
install the mounting bracket and permanently mount it.  However, I may remove
some of the accessories that don't serve any purpose first.

Remaining tasks:
- [ ] Clean the mount.  Give the console another once over.
- [ ] Clean the rusty spots down to bare metal and spray paint those areas.
- [ ] Put console back into friction mount position.
- [ ] Get two adjustable wrenches and at least remove the laptop mount and
  maybe the 12V plug.
- [ ] Put console back into friction mount position.
- [ ] Get some bolts, nuts, and washers, and see if they'll do for attaching
  the console to the mount.
- [ ] When I take the front seats out to clean underneath them, also mount the
  combined console.

Update 2018-03-26: Traded in car.
*** CANCELED make additional CVPI modifications
    - State "CANCELED"   from "TODO"       [2018-03-26 Mon 23:38]
This collects some modification ideas for the CVPI.  I probably won't do most
of this, since it's not really worth the effort and money.

I'll wait until I have secondary transportation before doing anything risky.
I'll split these off into discrete tasks as I have a more solid plan.
- [ ] Either remove plate holder or get a blank black plate for the front once
  I move to WV.
- [ ] Consider replacing mufflers.
- [ ] Get quote on window tinting.  See if ceramic or carbon film is used.
  Make sure they'll redo the work if there are bubbles.  I'll probably wait
  until after moving and get tinting legal for WV (which is less restrictive).
  WV max is 35% for back/sides.
- [ ] Install a 100W combined airhorn/PA system.  Permanently mount the center
  console first though, so I know where I'll put stuff.  By far the best is the
  Whelen PAP112.  Will need a momentary button for the airhorn.  sirennet.com
  is the best source for this stuff but it's also available on Amazon.
- [ ] Install CB radio: Inquire at a local vehicle electronics place about what
  would be involved in installing equipment I select ahead of time.  Check on
  the antenna situation.  Get a Troy Products mounting bracket on eBay for
  whatever CB I want and also get the radio.  Have this stuff professionally
  installed.
- [X] Test antenna: I put the CB antenna on the trunk, with the cord run around
  the trunk lid.  This is just for testing purposes.  Will remove before it
  rains.
- [ ] Antennas: See if I can replace any of the antenna hole plugs with NMO
  mounts.
- [ ] Check what fire extinguisher fits into the mount in the trunk.  Or, just
  measure it and get one of the right size.  I think the sizes are pretty
  standard.

Update 2018-03-26: Traded in car.
*** DONE get seeds
    - State "DONE"       from "STARTED"    [2018-04-12 Thu 20:52]
    - State "STARTED"    from "TODO"       [2018-01-20 Sun 15:55]
These are my primary incentives for gardening:
- Food is a significant percentage of the average person's budget.  Like most
  other consumables, it is done with post-tax dollars.  Regulation is extremely
  heavy in the industry, adding additional cost.  While subsidies and general
  efficiency do balance this out somewhat, those tend to be limited to specific
  subsets of the industry.  One can selectively take advantage things that are
  cheap and still trade time for money pretty effectively, if done right.
- Living a good distance from the grocery store makes regular trips very
  expensive.  A basement full of preserved foods will likely save many
  thousands of dollars in fuel and vehicle wear.  I'd like to consolidate trips
  to no more than once every 2 weeks or so.
- All these vegetables should help make it easy to decrease caloric intake.
  Related physical activity increases energy expenditure.  If health improves,
  I may reduce Soylent consumption and replace with garden produce, saving
  further money.
- Producing your own food increases self-sufficiency and is arguably a
  non-surrogate fulfillment of the power process.

I've done this as a kid and know that I dislike a lot of the monotonous manual
labor.  So, I'll stick with low maintenance produce exclusively.  Any crops
that end up infested with bugs, I'll skip in subsequent years.  A secondary
priority is optimizing for food cheap to grow, but expensive to buy.  I'll also
be using only hand tools for now.  It's also possible to waste a lot of money
gardening, so I'll be doing everything with an eye towards spending almost
nothing.  Costs should only be a few hand tools and seeds.  This first year,
I'll just try experimenting with as many species as possible to see what works.
Subsequently, I'll consider selling surplus at a farmers' market.

First try buying seeds for cheap at a local store.  Whatever I can't get, order
online.  For trees, maybe check local stores after move in first, then go with
bare roots online for the remainder.  I'm in grow zone 6b.

Fruits/vegetables:
- [X] Sunflowers: Pretty much zero maintenance.  Birds will eat these, but it's
  easy to plant enough to have plenty of seeds left over.  Also good for
  filling a bird feeder for free, if I want one of those.  Plant a ton of
  these.  Some varieties may need help standing up as they get tall.
- [X] Carrots: Keep weeds clear.
- [X] Radishes: Keep weeds clear.
- [X] Green peppers.
- [X] Jalepeño peppers.
- [X] Tomatoes: The most work, but produce a useful staple food for sandwiches
  and other purposes.  Also great for canning.  Try to build my own trellises
  out of junk wood.  Go with Brandywine Heirloom.
- [X] Onion.
- [X] Pumpkins.
- [X] Spaghetti squash.
- [X] Watermelon.
- [X] Cantaloupe.
- [X] Sweet corn: Next year get another heirloom variety.
- [X] Potatoes: Just using some from a bag from the store.
- [X] Mini-pumpkins: Will just use these for cheap gifts.

Herbs, focused on defense against pests:
- [X] Mint: Also repels mosquitoes.  Supposedly will displace other plants so
  maybe keep in pots.  Perennial.
- [X] Oregano: My favorite general herb.  Perennial.
- [X] Thyme: Repels corn earworms, tomato worms, and various other insects.
  Plant around corn or tomatoes.  Perennial.
- [X] Basil: Plant around porch to keep flies away.
- [X] Lavendar: Plant anywhere, maybe in pots.  Harvest and dry and put bundles
  in attic to keep away flies.
- [X] Rosemary: Repels various insects harmful to plants.  Plant in random
  spots around other plants around house and in the garden.
- [X] Dill: Repels aphids, tomato worms, and various other annoying insects and
  mites.  Plant all over garden.
- [X] Cilantro: Good for soups.
- [X] Catnip.
- [ ] Lemongrass: Also good for ornamental reasons around the house.  Plant
  near porch.
- [ ] Garlic: Plant this next to other garden plants to fend off pests and
  bugs.  Maybe plant around house too.

In the future, I'll consider stevia, tea, gourds, miner's lettuce, beans,
turnips, red beets, cucumber, cayenne pepper, and zucchinis.  Beans and
zucchinis are especially useful.  Keep an eye out for field corn for next year.

Didn't get all the seeds I wanted, but I definitely have plenty for the current
size of the garden plots.  I'll need to work on some fencing to expand them for
next year.
*** DONE try out scythe
    - State "DONE"       from "STARTED"    [2018-05-15 Tue 16:33]
    - State "STARTED"    from "TODO"       [2018-05-01 Tue 11:24]
I now own lots of grass.  I'd guess it's at least 2 acres, if I don't count the
areas that have been recently left to grow wild, which are probably another 2
acres.  Mowing with internal combustion engines sucks, as I know all too well
from earlier in life.  I'm also trying to limit the number of ICEs I own to no
more than 3, which doesn't leave any room for a gas-powered lawn mower.

After thinking about this for months, my plan is to use an electric mower until
I get a scythe.  Afterwards, I'll just use it on the half acre or so directly
around the house.  The scythe, I'll use for everything else.  There, I'll let
the grass grow to two lengths, one being around 6" for the main lawn areas, the
other I'll only cut once a year.  The latter I'll collect some of for mulch.

Ordered a scythe "outfit" from scythesupply.com with the following:
- Peening jig and whetstone.
- 28" grass blade.
- Bent snath.
- Galvanized metal stone holder.
- Sharpened blade.

Tasks:
- [X] Assemble and test scythe.
- [X] Read all instruction sheets.
- [X] Get wood glue and glue/hammer parts together tight.  Let dry for 24 hrs.
- [X] Test wetstone on belt.  Works best mounted at 4 o'clock.
- [X] Find something to make a peening log out of.
- [X] Put at least one coat of boiled linseed oil on wood.  Let dry for 24 hrs.
- [X] Make a few wooden spacers to wedge between the ring clamp and the blade.
- [X] Read book about scythes that came with the outfit.

I've mowed a good bit of grass with the scythe now and it works pretty good.
Using it is a physical skill that needs a fair amount of practice to get right.
All the benefits I envisioned have been realized:
- No engine noise.
- No breathing in exhaust fumes.
- No ongoing expenses.
- Negates the need for a string trimmer.
- Scything is good exercise and does something useful at the same time.
- Can be done outside when it's relatively wet.
- Can't really break, run out of gas/oil, and needs very minimal maintenance.

However, there's some good reasons why scythes aren't more popular, and more
than a few downsides apply to my situation:
- Scythes perform poorly on thin, wispy grass.  Regardless of sharpness or
  technique, it seems to just push over it.  There's a good bit of this kind of
  grass in various parts of the yard.
- One must be very careful not to hit a rock or other hard surface.  This
  causes some serious blade damage.
*** DONE buying stuff: round 2
    - State "DONE"       from "STARTED"    [2018-05-15 Tue 17:01]
    - State "STARTED"    from "TODO"       [2018-03-06 Tue 16:13]
This is the list of stuff to get once my property becomes available for use.
There will be a gap between the renter leaving and me moving in.  I'll use that
opportunity for cleaning, moving some smaller items over, and stocking some
supplies.  I might be able to get most of this stuff prior to the move.

Planned purchases:
- [X] Gas can(s): Got a 2.5 gallon one and a cheaper 5 gallon one.  Not a big
  fan of the modern gas can design though, so I may keep an eye out the old
  metal types and jerry cans.
- [X] Funnel: Got a long, slender one.  Should be good enough for now.
- [X] Auto-watering device for pets: Got the largest one at Walmart.
- [X] Pack of dust masks: Got a pack of 2.
- [X] Case of 16x25x1 HVAC air filters: Got 2 for now.
- [X] Coolant hydrometer: Bought ABN Deluxe hydrometer.
- [X] Code reader: Bought Innova 3030.
- [X] Box of blue latex gloves: Got one.  Maybe get another to leave in garage.
- [X] Seed starter trays: Bought 2 for $5/each at Walmart.
- [X] Shovel: Acquired.
- [X] HVAC foil tape: Got a roll of the shiny kind.
- [X] Work gloves: Got one pair of the latex-dipped cotton work gloves, size L.
  These might be the same that are available online by the dozen for cheap.
  I'll do a bulk order if I like these after using them for awhile.
- [X] Ball of twine: Grabbed.
- [X] Adjustable wrench.
- [X] 1/2" torque wrench, with range around 25-200 ft-lb: Bought a Kobalt
  50-250lb one.  Will still need a smaller one for the <50lb range.
- [X] Plastic folding table and 2+ folding chairs: Got plenty of chairs and
  tables for free from the house sellers.
- [X] Hoe: Acquired.
- [X] Garden rake: Acquired.
- [X] Pickax: Bought 5lb one with synthetic handle.
- [X] Box of light bulbs: Got 4 75W equivalent LEDs.
- [X] Splitting maul: Got a 6lb one with a synthetic handle.
- [X] Can of spackling paste and putty knife: Acquired.
- [X] Heavy-duty staple gun and staples: Got an Arrow brand one that takes size
  T50 staples and a box of 1/2" long staples.
- [X] Set of drivers for drill: Bought DeWalt set.
- [X] Caulking tube, caulking gun, razor scraper, caulk remover: Acquired.
- [X] 5 mini-blinds: Got cheap 35.5" (actual) ones.
- [X] Safety glasses: Acquired.
- [X] Watering can with thin spout: Got small one for indoors.
- [X] Scythe, stone, stone holder, peening jig: Acquired.
- [X] Can of boiled linseed oil: Acquired.
- [X] Bottle of wood glue: Acquired.  This is the cheap kind though.
- [X] A few boxes of nails: Have a couple different types.  Should be good for
  now.
- [X] Sandpaper of a few grits: Got a variety pack and one 400 grit pack.
- [X] 69" steel digging bar: Acquired.
- [X] Forest or similar sized axe with synthetic handle: Got a 4 lb one.
- [X] 6" bench grinder: Got the Delta 6" at Lowe's.
- [X] Bench vise: Got a Craftsmen 5" one.

Total cost for all of this stuff is around $1500.
*** DONE pump septic tank
    - State "DONE"       from "STARTED"    [2018-05-29 Tue 10:10]
   - State "STARTED"    from "TODO"       [2018-04-25 Wed 14:09]
The septic tank has between 7-10 yrs of plop in it.  Time to clean it out.

Called Peacemaker Septic Service (304-856-3000) on 2018-04-24 and scheduled
tentatively for next week.  Lady will call back when they pick a day.  Ask guy
about riser installs.  Looks like these might be expensive and not worth the
cost.

http://www.peacemakersepticservice.com/

Cost is $265 for the pumping and $100 for digging it up.  Will try to dig up
the opening when it is dry next.

Update 2018-05-08: They forgot about my appointment on 2018-05-04.  Called back
on 2018-05-08 and said they'd be over the same day.

Update 2018-05-08: Turns out this guy serviced it last time.  He thinks it's a
1500 gallon tank.  However, the tank is buried in an unknown location.  Will
need to find where it is before he'll pump it.  He did locate what he thinks is
a pipe, which I put a rock and metal bar next to.

Tasks:
- [X] Go to county health department and get a copy of the septic records: Did
  this but with mostly useless results.  Did get well and septic form copies
  and filed them with the rest of the house paperwork though.  Confirmed the
  capacity is 1500 gallons.
- [X] Track down original house owner and ask about access hatch location:
  Managed to talk to him and he said it was either at the metal bar location or
  12-15' north of the transfer box, but a little to the west.  Depth is
  supposedly around 2.5' or so and there is a plastic riser above the hatch.
- [X] Dig about 4' down at the metal bar location or until I hit something.

  This worked and I found the riser lid about 2.5' down.  It looks like the lid
  might be a 24" Polylok 3008-RC.
- [ ] If the above doesn't have positive results, in the location mentioned by
  the original owner, remove about a 5'x5' box to about 2.5' and continuously
  probe around while doing so.
- [ ] If the above doesn't work, rent a medium sized backhoe and have the
  neighbor kid operate it to dig out the tank.
- [X] Call back the septic service guy and reschedule a time to pump.  Try to
  do so when it's not raining and tidy up the edges so mud and rocks don't fall
  into the tank during the pumping.

Update 2018-05-21: Called and got in line.  They'll call back with an
appointment time, I guess.

Update 2018-05-29: Septic tank pumped.  The top of the tank is way down there,
about 6-7' in depth.  4 or 5 risers are stacked on top of each other, and
several of them are broken a bit.  It appears these are then somewhat squishing
the inlet pipe, which could potentially result in clogging (which in the worse
case would result in sewage backing up into the house).  However, I poked it
free with a long rebar and it ran pretty smooth after that.  Also, the original
owner had definitely knocked a bunch of rocks into the tank.  These clogged the
hose at one point.  The majority are right below the access hatch, but some are
spread around it a bit too.  The septic guy thinks I should redo the pipe and
clear the rocks, which would be pretty expensive and require extensive
excavation.  He recommends a Mennonite named Gene at 304-359-0913 who can
supposedly do everything.  I'll think about this before I cover it back up.
Note: From the riser cover, it goes straight down 9 feet or so into the tank.
Be careful not to stand on this for safety reasons.  Falling into the tank
would mean asphyxiation and death.  Find some kind of plate or wood or
something to cover the ground above the riser.

Side note: Rayburn can be reached at info found here: http://www.idigwv.com/
*** DONE plant herbs
    - State "DONE"       from "STARTED"    [2018-06-24 Sun 14:30]
    - State "STARTED"    from "TODO"       [2018-05-08 Tue 21:02]
Lower priority than the garden, so I'll probably get to this late.  Get
perennials started first.  Will take stock of what's left after this round and
decide whether to plant more this year.

Tasks:
- [X] Mint: Planted all in the long pot.  Sprinkled remainder around house
  randomly.  If these grow, I might migrate some to the main flower bed as
  ground cover.
- [X] Thyme: Started one batch in a plastic container.  Planted rest in right
  outside pot.
- [X] Rosemary: Planted more in the pot that already has a few.
- [X] Oregano: Planted in seedling starter.  Will migrate outside and maybe put
  some in pots.
- [X] Basil: Planted in seedling starter.  Will migrate outside and maybe put
  some in pots.
- [X] Catnip: Planted in improvised plastic container on porch.
- [X] Lavendar: Planted in two pots on porch.
- [X] Cilantro: Planted in center outside pot.
- [X] Dill: Planted in left outside pot.

I think I'll just have the flower bed near the side door be the herb garden in
the future.  Managing all the pots is too much work.  Next year, I'll plant
everything directly outside and migrate any perennials.  Then whatever survives
can stay.  The most I'll have to do then is just keep the weeds out of it.
*** DONE plant garden
    - State "DONE"       from "STARTED"    [2018-06-24 Sun 14:34]
    - State "STARTED"    from "TODO"       [2018-04-12 Thu 20:47]
Once I have all seeds tools (or maybe even before then) get things ready for
planting.  Note that the previous owners strongly advise waiting until early
May to plant anything outside.
- [X] For each seed type, check whether I need to start it in a seed starter.
  Do so for the ones that require it.  For the others, just set them aside:
  Done.  Seed starter filled up.  Had some extra space, so filled that with
  carrots and a few other things.
- [X] Check out blackberry patch and weed it.
- [X] Use shovel, fork, and garden rake to till the soil in the various plots.
- [ ] Wait until planting time then plant everything.  Use sticks, rocks, or
  ties to mark where rows are and make a map.
- [X] Weed everything 1 or 2 times.
- [ ] As plants get big, spread grass clippings around them to prevent weeds
  from growing.

Except for the tomatoes, things should be mostly hands-off if I do it right.
Maybe create a follow-up task to record what does and doesn't work.

Main plot (from the west):
- Radish, spaghetti squash, pumpkin.
- Potato, nothing.
- Dead okra, carrot.
- Carrot.
- Carrot, green pepper.
- Carrot, sweet pepper.
- Jalapeno, dead okra.
- Sunflower.
- Sunflower.
- Sunflower.

Secondary plot:
- Watermelon.
- Watermelon.
- Sweet corn.
- Sweet corn, pumpkin.
- Pumpkin.
- Pumpkin.
- Cantaloupe.
- Cantaloupe.
- Spaghetti squash.

Berry plot:
- Blackberry x2, blueberry, some other kind of blueberry.
- Sweet grape.

Raised plot:
- 5-6 strawberries.
- Cayenne peppers.

Animal pen:
- Nothing.

Update 2018-06-24: Carrots all got choked out by weeds.  Will plant them
earlier next year.  Will also start inside plants (probably just tomato and
peppers) much sooner, like early March.  Next year, I'll also be planting
various beans, beets, cucumbers, and peas to try those out too.  Finally, I
neglected to put grass clippings between the rows and had to keep hoeing down
weeds as a result.  Will do that part right next year.

I'm calling this task complete, but I'll still be tilling the unsuccessful
strips and replanting more corn there.
*** DONE plant trees
    - State "DONE"       from "STARTED"    [2018-07-09 Mon 22:17]
    - State "STARTED"    from "TODO"       [2018-05-26 Sat 21:05]
Get some fruit and nut trees planted as soon as possible in the spring.  These
won't pay off for many years, but once they do, I'll have plenty of free food
from them.

Get (maybe order bare roots from groworganic.com):
- [X] Pawpaw: Planted 2 east of garage.  Had to fence these since the deer were
  nibbling on them.
- [X] Apple: Trying a few red delicious seeds in a pot.  The internet is
  conflicted on whether these grow into fruit-producing trees.
- [X] Plum: Planted 2 NW of house.  Southern one is a Superior plum, the other
  is Santa Rosa plum.  Both are dwarf trees that will grow to about 10' high.
- [X] Plant a few mulberries to see if they'll grow: Planted two clusters in
  small pots.  Will transplant to something bigger if they sprout.
- [X] Plant a cherry in a pot to see if it will grow: In pot next to porch.
- [X] Get some protective fencing and/or something to wrap the trunks of the
  fruit trees in to prevent girdling.
- [ ] Transplant a few evergreens from field to front of house:

Taking care of transplanted trees is a bit of work, so I'll do the rest of the
trees later.  I'd still like to plant: Pear, cherry, walnut, and almond.

For the evergreens, I'm going to grow a few of the different varieties on the
property in pots and see which ones I like before planting them.
*** DONE clean stained ceiling drop tile
    - State "DONE"       from "STARTED"    [2018-07-10 Tue 11:39]
    - State "STARTED"    from "TODO"       [2018-07-09 Mon 22:27]
Looks like this has one of those circular water stains from a past sink leak
above the basement living room.  The internet says to make a 50/50 mix of
bleach and water, put it into a spray bottle, and repeatedly spray the area.
Let it dry in between applications.  If there remains a ring at the end, use a
q-tip with pure beach to touch it up.

Worked great.  Didn't need to use the q-tip.  Checked all other tiles in the
basement and they're fine.  Might use this method for any future stains on
stuff like drywall.
*** DONE clean dirty spot on siding
    - State "DONE"       from "STARTED"    [2018-07-10 Tue 12:02]
    - State "STARTED"    from "TODO"       [2018-07-10 Tue 11:41]
The vinyl siding on the side of the house near the door has some discolored
areas.  Hopefully, it's just dirt that will come off with a good brushing.
Will still do a full siding cleaning later, but this is the only spot that
kinda sticks out.

This worked as planned.  In fact, it was so easy, I'll go ahead and schedule
cleaning the rest of it.  I also need to pull the nails the previous owner used
to hang stuff on the house side and patch them up.
*** DONE fix minor plumbing problems
    - State "DONE"       from "STARTED"    [2018-07-17 Tue 11:26]
    - State "STARTED"    from "TODO"       [2018-06-01 Fri 15:53]
There's many minor issues in the plumbing category that would be nice to have
addressed.

Issues:
- Have master bathroom shower drip fixed or possibly replaced.  Ask if I should
  get new shower head first on my own.
- Tighten west master bathroom toilet.
- Get side bathroom shower faucet drip fixed.
- Fix loose faucet in side bathroom.
- Fix low flow in downstairs bathroom faucet (probably clogged with dirt).
- Downstairs faucet is also loose.
- Tighten downstairs toilet.
- Fix dripping pipe under master bathroom.
- Ask about water heater rod and draining.

Update 2018-06-01: Called D&D Plumbing (https://danddplumbingllc.com/) and put
the service request in.  They'll call back to setup an appointment.

Update 2018-06-21: Called back and restarted the process.  They had apparently
lost all record of my previous call.  The returned the call and we have an
appointment for 2018-06-26, unknown time.

Update 2018-06-26: Water heater is from 2012 and should be fine.  Downstairs
toilet is tightened, side bathroom faucet tightened.  Work done seems to have
caused a leak in side bathroom sink on the hot line.  Claims they will call
back when they have the parts for the other stuff.

Update 2018-07-06: Called back to see why we were never gotten back to.

Update 2018-07-10: Called back again after still not hearing anything back.
Receptionist said she would call the plumber right away and get back to me
immediately.

Update 2018-07-12: Got call back from plumber and scheduled appointment for
2018-07-17.

Update 2018-07-16: Plumber called and confirmed arrival on 2018-07-17, between
0930 and 1000.

Update 2018-07-17: All known problems are now fixed, finally.  Billing incoming
via email.

Update 2018-07-26: Total was $350.67.
*** DONE clean vinyl siding
    - State "DONE"       from "STARTED"    [2018-07-19 Thu 21:39]
    - State "STARTED"    from "TODO"       [2018-07-12 Thu 09:48]
Just use water and the long brush.  Most of the dirt on it is just dust that's
blown onto it over the last 10 years, so if I can't reach some high places,
it's not a big deal.  Maybe do a final pass with a stiff brush to remove the
remaining gunk spots.

Not a perfect job, but good enough for something outside.  Used captured shower
water to save some pump/filter power.  Might do this every few years, as
needed.
*** DONE conclude SUV acquisition
    - State "DONE"       from "STARTED"    [2018-08-15 Wed 21:43]
    - State "STARTED"    from "TODO"       [2018-03-26 Mon 21:47]
Made a tough call to cut losses on the CVPI, as it was turning into a money
pit.  Instead, I bought a 2015 Ford Explorer XLT with 57k and several extras
like remote start and leather interior.  Cost was $26k after fees and taxes.

To recoup some of these costs, we'll downgrade the vehicle plan to only have 2
total (this and one normal car).  This might end up being the better plan in
the long run and meet minimal needs adequately.

These are the post-purchase tasks needed to wrap up this effort.  Once I do
this stuff, I can just enter maintenance mode for the vehicle and forget about
it for the most part:
- [X] Deliver spare CVPI key and air filter to dealer: Delivered.
- [X] Go to DMV and pay tax and get title for the CVPI: Done and gave title to
  finance person at dealership.
- [X] Call car insurance and get insurance transferred to the Explorer, with
  the address set to WV.  Email new insurance card to dealer finance person:
  Policy updated and email sent.
- [X] Update vehicle on file at apartment complex: Done.
- [X] Put floor mats in car: These are a little big, but still fit.
- [X] Get second key: Also confirmed that I should receive title in the mail
  in the next week or two.  Also got 2 extra license screws.
- [X] Check tires for wear bars: These are present.  Tires look new.
- [X] Go back to dealer and ask about title, since it never showed up: They
  confirmed that they sent it in to the WV DMV.
- [X] Get new temp tags/registration (due to them messing up my forms, which
  were resent on 2018-04-17):
- [X] Wait for title, plates, registration, and stickers to arrive in mail:
  Acquired.
- [X] Find service schedule for Explorer: The dealer has a system for regular
  service intervals (I assume) every 10k miles or so.  There's a sticker on the
  windshield to this effect.  I'll give this a try the first time and see how I
  like it.
- [ ] Get WV inspection done:
- [ ] Memorize keypad code:
- [ ] Read manual:
- [ ] Setup auto-pay for insurance:

Swapped this out for a new Ford F-150.  Will make new task for that.
*** DONE Ford Explorer mods
    - State "DONE"       from "TODO"       [2018-08-16 Thu 00:31]
This vehicle is close to perfect as is, but there are a couple minor things I
want to do to it, since I intend to keep it for a long time:
- [X] Get filler plate for the front plate holder: Ordered a black Explorer
  one.  Painted the spare screws black to match.
- [ ] Get a tow package installed.  Check cost in Winchester, VA.  In Fairfax,
  it costs $800.
- [ ] Maybe get better fitting floor mats and a pair for the middle row.
- [ ] Get side windows tinted at the same % as the other windows.  Get ceramic
  tint only.  Maybe look online for advice on tint matching.
*** DONE get WV driver's license
    - State "DONE"       from "STARTED"    [2018-08-20 Mon 13:36]
    - State "STARTED"    from "TODO"       [2018-08-20 Mon 10:47]
I already have a valid VA license, so this shouldn't be too hard, just a big
waste of time.  Do this after I make a trip over there to check the mail (which
will hopefully have the electric utility bill).  Get one marked "For Federal
Identification", which requires waiting until receiving it in the mail.

Tasks:
- [X] Change car insurance to new address.
- [X] Get a copy of the electric bill.
- [X] Go over to DMV in Romney, WV.  Bring:
  - Proof of identity: Birth certificate.
  - Proof of SSN: SS card.
  - Proof of residency: Requires 2, but bring 3, just in case.
    - Property deed.
    - Utility bill.
    - Car insurance card.
- [X] Get voter registration done while there.

Got temporary driver's license.  Permanent one will arrive in the mail at some
point.  I guess my voter card will too.

Update 2018-08-28: Received voter's ID.

Update 2018-08-31: Received permanent license, which is good for 5 years.
*** DONE no/less air conditioning
    - State "DONE"       from "TODO"       [2018-08-25 Sat 23:07]
I recall living without AC in most places as a kid and it was fine, so I can
probably do it again.  This will be especially easy without a job, since office
thermostats tend to be set very low, making heat acclimation difficult.  While
it's nice that this saves some money (estimating $350/yr or so), I'm more
interested in doing this so I'm not such a wimp about being outside for 4
months.

Since I do own an air conditioner, however, I may either use it extremely
lightly or just for the hottest few weeks of the summer, depending on how this
goes.  I can also just sleep during the day and stay up at night to help.
Electricity consumed for computers is less expensive then anyway.  I also have
a basement that will probably be cooler.

My main caveat here is that I don't want to do this if I'm so uncomfortable
that I can't focus on writing code.  Abort if that happens and go back to
maximizing for physical comfort.

Start with using no A/C at all, and then only lightly if it starts getting
unbearable (if used, set it very high, like above 82°F).  Reevaluate after
doing this for most of the summer and determine whether to adjust or include as
part of the standard living practice.

Results: Went without A/C for most of the entire summer, only turning it on in
the very hot weeks.  I noticed that it's extremely hard to concentrate on
programming or any other thought-intensive tasks when the ambient temperature
is too high.  So, I'll compromise on this to some extent.  A lifehack I've been
using is to just turn on the HVAC fan, which will circulate cool air from the
basement.  This usually gets me about -3° for nearly free.  It only works for a
few hours before the basement temperature normalizes, however this is usually
enough to get it through the hottest part of the day.
 *** DONE make Cafepress store
     - State "DONE"       from "STARTED"    [2018-09-01 Sat 13:36]
     - State "STARTED"    from "TODO"       [2018-09-01 Sat 12:27]
 Had a few ideas for t-shirts.
 
 Notes:
 - Use ImageMagick to make backgrounds transparent:
   ~convert test.png -transparent white transparent.png~
 
 Made some and ordered one to test.  I'll skip making the store though, since
 the company has a policy against designs hateful against groups of people or
 something silly like that.
*** STARTED replace basement door
    - 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
2018-08-31.
 
 Update 2018-08-31: No call, no show.  Called to complain about it and they
 rescheduled for 2018-09-11T08:00:00Z - 2018-09-11T10:00:00Z.  They said they'd
 give us some compensation for the inconvenience.
*** 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.  See year-end review task for details.
- Track weight every Monday morning in Gnuplot file.
- The goal is <190lbs by end of year.

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.

Tasks:
- [X] Audit all data everywhere.
- [X] Order drive.
- [ ] Mount drive on workstation and include as part of standard setup
  procedure.
- [ ] 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
time.
*** 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.
*** 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.

Tasks:
- [X] Fill tire with air: Done but it slowly leaks out.
- [ ] Get new tire:
- [ ] Tighten bolts: Needs socket wrench.
- [ ] Clean off rusty parts:
- [ ] Put new coat of paint, white outside, black supports.  Skip inside
  probably.
- [ ] Consider repainting wood handles brown:
*** STARTED conclude truck acquisition
    - State "STARTED"    from "TODO"       [2018-08-16 Thu 11:04]
Though it would seem stupid to trade in a car I bought under a year ago, I ran
the numbers on this and it's pretty close to even on trading in the Explorer
and getting a truck now instead of later.  Trading now: transaction costs, low
depreciation, cheap or no trailer.  Later: same transaction costs, high
depreciation, more expensive trailer, and cost of tow package for SUV.  Since I
plan to keep the truck indefinitely, sooner rather than later seems the way to
go.  So, I picked out a F-150 XLT with the sport package.

Remaining sub-tasks:
- [X] Go back in on 2018-08-17T12:00:00Z and pick it up and drop off the SUV.
  Clean all stuff out of the SUV first.
- [X] Call insurance company and switch insurance to new vehicle.
- [ ] Wait until I receive my permanent registration from WV and then put my WV
  plates on the truck.
- [ ] Get WV inspection.  Apparently I can just have them swap the sticker, but
  for the same price.
- [ ] Memorize keyless entry code.

I did some measurements and the Mule should fit directly in the back of the
truck.  Therefore, I should be able to get away without buying a trailer,
saving some money, maintenance, and licensing.
*** STARTED Ford F-150 mods
    - State "STARTED"    from "TODO"       [2018-08-17 Fri 22:02]
Will only make some minor mods.  Might skip some of this:
- [X] Get a spray-on bedliner installed.  Scheduled appointment at LINE-X of
  Winchester for 2018-08-24T09:00:00Z.  Signed up for the premium, which is an
  extra $100.

  Done and looks great.
- [X] Get trailer hitch mount/ball: Got one from neighbor.  It's a straight
  mount with two fixed balls, one 2" and one 1 7/8".  It was a little dirty, so
  washed it, cleaned it with steel wool, and repainted it.
- [X] Get filler plate for front.  Ordered a custom plate from cafepress.com on
  2018-08-17.  Should arrive in 1.5 weeks or so.

  Turned out quite well.  I might design other stuff there later.
- [ ] Get side windows tinted: Decided to skip this, as the front windows did
  come at 70% from the factory.
- [ ] Get 5/8" hitch pin:
- [ ] Get Setina PB400 push bar or Westin brush guard.
*** TODO rekey all doors
Get all external doors rekeyed to a new, unified key.
*** 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 buying stuff: round 3
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 2015 Ford Explorer.
- [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 one
  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.
- [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.
- [ ] 5/8" trailer hitch pin:
- [ ] Loading ramp of 1000+ lb capacity:
- [ ] Feed or snow shovel:
- [ ] Ratchet set and another set of sockets:
- [ ] Outside thermometer: Hang near front door on nail already there.
- [ ] 1/2" metric and standard socket set:
- [ ] 5 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.
- [ ] Reactive .22 target:
- [ ] Large jug of Permethrin: Dilute this to .05% and make tick repellent.

Canceled trailer due to Mule hopefully fitting in truck.
*** 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.
- [ ] 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.
- [ ] Inspect condition of lights and wiring.  Rewire or fix anything
  non-functional.
- [ ] 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 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 post-work life optimization
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.

Tasks:
- [ ] 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.
- [ ] Catch up on all minor life tasks, like eye and dental appointments,
  government sticker collections, etc.
- [ ] Catch up on possession maintenance.
- [ ] 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.
- [ ] Switch to only using mutt for email.
- [ ] Ignore IRC almost all the time.  Only pay attention to it when working on
  the game project.
- [ ] Clean out all work-related files I have laying around.  Delete any
  codebases that don't have anything useful in them.
*** 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, radish, red onion.  Will do at least two rounds of beets
and onion.  The radishes, I'll just plant as space becomes available.  I might
want to add some topsoil to this area.  This bed doesn't get too much sun so if
this doesn't work very well, 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.

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
grow.

Stuff needed: More seed starter trays, with larger cells.  Additional
small/medium pots.  Maybe a few large ones for the porch.  Get more/better
tomato trellises.  Most of these plants I don't need to buy seeds for.
*** 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.
*** 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.

Tasks:
- [ ] Read https://en.wikipedia.org/wiki/Orbital_mechanics and various linked
  topics.
- [ ] 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:
http://jbotcan.org/wave_lesson/
http://www.lojban.org/tiki/wavelessonscontinued

And read this online book:
http://www.lojban.org/tiki/The+Lojban+Reference+Grammar

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
sim.

- [ ] 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 at most one variation for weather).

This concept appeals to me for these reasons:
- Brain clock cycles are freed up from having to decide what to wear every day.
  In my case, that's not much work anyway, but it's still effort expended for
  no result.
- Every article of clothing owned will actually be worn regularly.
- 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
  wardrobe.
- Human clothing is a solved problem.  Pending the invention of some kind of
  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.

I'm putting off actually executing on this plan until I get a permanent
residence, so as not to drag around more stuff.

Tasks:
- [X] Get one good pair of gloves.
- [X] Buy about 20 boxers.  Went with Ex-Officio.
- [ ] Buy about 20 more pairs of socks.  I like the Allen Edmonds variety.
  These are very expensive though, so wait for a sale and stock up.
- [ ] Find a type of t-shirt that fits perfectly.  Once found, purchase around
  15 black and 5 gray.  Find one reasonably thick so they last longer.
- [ ] Find a type of black polo shirt and get 8-10 of them.  I think I know
  which of these I want.  Got 3 so far.
- [ ] For colder times, get 4-5 gray long-sleeve t-shirts to wear under the
  polo shirts.  Got 3 so far.
- [ ] Figure out which jeans I have that fit me the best and get about 10 of
  them.
- [ ] Select 4-6 jackets that work best with these items and toss the rest.
  This should include: top-coat (cold resist), military jacket (max AC), light
  jacket (wind resist), raincoat (water resist).  Any others can be backups.
- [ ] Consider getting a pair of Allen Edmonds boots or casual shoes (maybe the
  Voyager walking shoes).  This leaves work boots and 2 casual shoes.
- [ ] Select still useful clothing that otherwise works fine and prioritize
  wearing it out.
- [ ] Throw away all other clothes.
- [ ] Ensure all purchased clothing has no visible brand labels or other
  printing.
- [ ] (Optional) Consider replacing dress shirts.  I haven't been able to find
  a reasonably priced one that I like recently though.  Maybe keep 5 of these,
  primarily for hip CC.

I'll revisit this task once all this is done, perhaps with more of a focus on
what's actually owned.
** Macro-goals
*** DONE attain competence in new job skills
    - State "DONE"       from "STARTED"    [2018-02-06 Tue 03:33]
    - State "STARTED"    from "TODO"       [2014-04-16 Wed 10:45]
Hopefully a list of everything used is forthcoming and I'll update this then.
I won't have a ton of time to work on this, but I'll use some of my free time
on it and wrap the rest up on the job.

Tasks:
- [X] Spring Security: Make a template/sample where this works with Compojure.
- [X] Groovy: At least get comfortable enough with this to write/edit code.
  Will lazy-load the rest.
- [X] monger: Get familiar with this.  Will lazy-load deep knowledge.
- [X] Ring: Do the task above.
- [X] Compojure: Do the task above.
- [X] Node.js: Shouldn't need to actually use this.  But, I'll still install
  it and get used to npm.
- [X] Docker: At least get familiar with the concept.
- [X] Clojure: Finish reading The Joy of Clojure, at least.
- [ ] MongoDB: Do the MongoDB task above.
- [ ] Webpack: Do the Webpack tasks above
- [ ] Lodash: This is the underscore.js superset being used.
- [ ] Twitter Bootstrap: Read the docs.
- [ ] Refresh JavaScript skills: Maybe read a book on ES6.

Update 2018-02-06: Looks like I'll be able to make it out without finishing off
the items on this list that I'm less enthusiastic about.  Otherwise, I'd call
this successful.  At least, it was successful enough to get pretty awesome at
functional software architecture and a few of the other things I actually do
care about.
*** CANCELED FreeBSD mastery
    - State "CANCELED"   from "TODO"       [2018-02-23 Fri 10:40]
FreeBSD will be my primary OS, maybe for the rest of my life.  I'm willing to
invest several weeks in more study of it if it makes using it even better.
I've already put a lot of time into it, and that's all paid off over time.
This should take it to the next level.

Subtasks:
- [ ] Read The Design and Implementation of the FreeBSD Operating System (2nd
  Ed.).  This should give a better understanding of the kernel and system
  architecture.
- [ ] Build a more highly customized kernel, reading up on all relevant flags
  and hints in detail.
- [ ] Go through all ports and see if there's anything useful I don't know
  about.  Make a list of stuff to check out on a VM and another list of
  heavyweight applications to use only on VMs (maybe just in a GNU/Linux VM).
- [ ] Once I have a finalized list of workstation software (which shouldn't be
  too different from my current one), install them all on my final setup and
  update freebsd_setup.org.
- [ ] Read all documentation for each application.
- [ ] Check out custom make flags for all applications.  Recreate my
  /etc/ports.conf file.

Canceling this due to CoCgate/huggate.  This is maybe a good lesson in not
getting too heavily invested in something like an OS.  I'll stick with my
current and more pragmatic level of OS expertise in the future.  I'll also
apply that to other software too, with the only exception being Emacs.
*** TODO switch to OpenBSD
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.

Tasks:
- [ ] 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.
*** 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
  intermediate.
- 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 2018
Context: I made up for a disappointing 2016 with a super-productive 2017.  The
future is bright if I can keep up, or even build upon, that momentum.  There's
plenty of room for improvement still too.  In 2017, I had several periods of
low productivity, either for playing games or getting mired in distractions,
and I've had several other parallel efforts not tracked here.  Work has also
been especially draining.  Acknowledging all of that is this year's master
plan.  Generally, I intend to take care of many long-running issues and start
tackling some extremely tough efforts.

Goals for 2018, now ordered by priority:
- Distraction management: If I thought there were a way to build up distraction
  immunity, I'd work on that.  Maybe I'll think about that some.  In the
  meantime, I have a good plan.  Here's a refined version of the plan from last
  year:
  - Actively ignore all popular media about everything, especially general
    interest and news sites.  Be in ignorance of national and global news.
  - I have a few feeds very narrowly focused on just my active interests.
    However, it's probably still best to ignore these.  I should only catch up
    on them when I have a few minutes that would otherwise be wasted, like if
    using the bathroom.  However, I value mental downtime too, so that's not
    critical either.  I'm also implementing blocking sites via the hosts file.
  - Only venture onto the general web when seeking information or asking
    questions where I cannot get the answers elsewhere.  Video should only be
    used for quick tutorials on real-world tasks I lack experience in, like
    repairing something or operating some machinery.
  - Scale effort wisely.  Not all topics need completionist achievements.  When
    a half-assed job makes sense, do that.
  - Maximize use of Unix machines.  Only use Windows box for dedicated tasks
    like VMs and games.  I use the VMs there for work sometimes, so once that's
    over, turn the Windows box off when not using it to save power and raise
    the overhead of playing games.
  - Have a max of 1 active game at a time.
  - Have a max of 1 active fiction book at a time.
  - Take breaks between games and fiction books.  While having something
    non-work related to go to is nice, they have their own mental overhead.
  - Put even more effort into sticking to this plan.  This works.  When I
    deviate from it, distractions predictably parasitize my time once again.
- Health: The #2 priority after distraction management (since everything else
  depends on that).  This has the greatest ROI in terms of quality of life
  among anything I could do next year.  Points:
  - I expect active improvement every week starting week 2 of 2018.
  - Get a treadmill or some other piece of aerobic equipment for the new house.
  - Grab the weight set from parents and put it in the new house.
  - Every day, max food consumption is 1 full meal and 1 light meal.  Aim for 2
    light meals or 1 full meal.  A complete light meal is defined as one dose
    of Soylent or normal food under 600 calories total.
  - Get a mountain bike for riding around the new local area.  Find out which
    roads are safe for doing so.  See if I can go to any stores just on bike.
    If so, I'll do as many errands that way as possible, even if it costs more.
  - Switch normal food consumption away from so much prepared and frozen food.
    Make things like mashed potatoes, veggies, and other dishes that combine
    into multi-item meals.
  - Goal: Weight <190lbs.
- Post-work:
  - Finish acquiring property.  This is already in motion.  I'm hoping this
    goes snag-free, but it apparently does require a lot of manual oversight.
    Managing this via org-mode seems to be working great.  Since there's a
    rent-back agreement, this will stretch out until at least mid-April.
    That's a significant chunk of the year, so try not to let it consume too
    much overhead.  However, I do want to default to making sure it's all done
    right.
  - Quit work.  If I can, I'll stick around a little after moving to pad out
    the liquid funds and get a few items I could use.  However, don't do this
    for more than a few months, at the absolute max.  After that, I will
    definitely not do any W-2 work until 2019-08 at the earliest, and will
    maybe never do any.  I'll not plan that far out now though.
  - Execute sub-tasks in post-retirement life optimization task.
  - Figure out what it means to own a huge property with various outdoor goals.
    Figure out what those goals even should be.  This is intentionally vague
    since I haven't done any of this stuff since I was young.  Maybe start from
    the way the family did things then as a baseline and branch out from there.
  - Resurrect my atrophied real world life skills.  At least get to the point
    that I can confidently perform any property and life maintenance.
- Self-study goals:
  - Do a little Clojure wrap-up.  Maybe just read Applied Clojure.
  - Get marginally competent with Haskell.
  - Figure out what OS(es) to migrate to.
  - Do all the type theory pre-requirements.
  - Maybe do a presentation on type theory.
  - If I have some extra bandwidth, learn modern front-end development too.
    This is less urgent, since I have nothing to use it for at the moment, and
    it churns so quickly.  My thinking is to approach it through ClojureScript,
    thereby leveraging Clojure skills and avoiding JavaScript Fatigue at the
    same time.
- Meta: Give this list a once-over after leaving work.  I have a lot of general
  life tasks I've been working on in a separate list I can merge in here.  See
  about merging in some of my other org-mode files and just keeping the main 2
  for all general activities.
- Miscellaneous:
  - Get caught up on health care: Dental exam, eye exam, and get Lasik surgery
    if possible.
  - After leaving work, tear down and redo all computers (except perhaps the
    Windows box) and their OSes from the ground up.

Results:
- Distraction management: Stuck to the plan, which both worked and is easier
  now.  Not having super-fast internet is a plus, but my new life is one where
  there's just more interesting things to do beside online timesinks.  I also
  tend not to fritter away time on the computer, only sitting down at it when I
  have a specific task in mind.  This is a healthier relationship with digital
  unreality, I think, and one that I forgot I lost after switching to urban
  apartment life.
- Health: TBD.
- Post-work: TBD.
- Self-study goals: TBD.
- Meta: TBD.
- Miscellaneous: TBD.
- Conclusions: TBD.