Time-stamp: <2019-01-18 07:35:14 (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.
*** CANCELED The Lambda Papers
    - State "CANCELED"   from "TODO"       [2018-12-11 Tue 23:36]
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

Read some of these, but there's a lot of uninteresting parts too.  In fact, the
ratio is far too high.  Skipping the rest.
*** CANCELED The C Programming Language (2nd Ed.)
    - State "CANCELED"   from "TODO"       [2018-12-11 Tue 23:37]
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.

Canceling C from my language portfolio, unless I have a direct need in the
future.  I'll probably switch to Rust or Go if I need to have any lower-level
personal projects.
*** CANCELED Learn C the Hard Way
    - State "CANCELED"   from "TODO"       [2018-12-11 Tue 23:37]
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/

Canceling C from my language portfolio.
** Math
*** DONE Introduction to Mathematical Thinking
    - State "DONE"       from "STARTED"    [2018-11-22 Thu 12:04]
    - 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.

Okay in some respects, though lacking in others.  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, but calling it done due to not getting as much out of it
as I'd hoped.
** 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.

Traded in car.
*** DONE 12 Rules for Life
    - State "DONE"       from "STARTED"    [2018-11-04 Sun 23:08]
    - State "STARTED"    from "TODO"       [2018-10-16 Tue 01:45]
Nominally a self-help book, but I'm interested in it for its perspectives on
the meta-reality of perception and myth.  This is a potential blind-spot in my
knowledge base, and one that I've perhaps been inconvenienced by due to my
prior lack of an internal model for non-scientific cognition.  In other words,
the thoughts of most humans are governed by the things Peterson talks about,
and not scientific materialism.

This is a potentially life-changing book.  If properly read, this goes far
beyond simple self-help, hitting on deep, latent truths that we have intrinsic
in our thoughts and neurobiology.  This book is dense with complexity and
profundity.  Even just the crafting of the prose is articulate and precise.

I also have a confession to make: Noticing him as a cultural phenomenon, I
wrongly dismissed Peterson as simply delivering a personal brand through
needless verbosity.  In reality, we're in the presence of a great thinker of
the highest caliber with, among other things, a functional message that can
transform an immense quality lives or even all of society for the better.

I could see this having immediate positive effects on my life as I read this.
As it left me wanting more, I did end up consuming a large amount of Peterson's
content in other media until the point at which it started getting redundant.
I must also add that, in the right environment, Peterson is possibly the
world's greatest orator, capable of speaking in real time in a manner that I
didn't think possible by any human.

Being disposed to skepticism, I also read a large amount of the endless
criticisms of Peterson.  Probably the most coherent is SSC's and its followup,
but almost all of them haven't put the time into criticizing the actual
content, or worse, being willfully ignorant of it.  The honest critiques most
commonly (and understandably) makes the error of not learning the language
used, which includes redefinitions for many already overloaded terms, in
particular ones from religion.  That said, he is human, and has made a few
definite errors in select statements, though these don't seem substantive and
are very rare considering such a large corpus.

I'll give this some time to integrate and reread this in couple years to ensure
I've extracted all of the useful insights.  I might also read Maps of Meaning.
While there's a lot more I could write about this topic, I'll just focus on the
things I will personally change, including:
- Abandon cynicism, except in jest.  Perhaps an exception for it could be made
  in factually hopeless situations, but there is probably going to be something
  more constructive one can do.
- Re-examine motivations for human interactions.  I've gotten better at not
  trying to best others in some game of intellectual dominance, but the
  suggestion of trying to go further and treat others as if they have something
  of value to offer is probably the next step.
- Always tell the truth.  When the consequences are dire, don't lie.  Again,
  I'm already doing pretty good here, but government/manager work has made me
  much better at bending truth or being deceptively selective about what I say.
  I've also spent a lot of work time politically scheming in zero-sum contexts.
  In fact, I'm quite a natural at it now.  This has the potential to create
  toxic cognitive dissonance with cascading effects and generally only gives
  short term gain.
- Slightly refactor how I track progress here.  Specifically, I'll drop the
  long lists of criticisms of things, and just mention overall quality and
  maybe some tips for avoiding wasting time as a note to myself should I want
  to revisit it.  One exception might be for conceptual content, but
  disagreement isn't really negative.  Instead, I'll focus on extracting
  whatever value is present, should a work prove less than great.
- Keep in mind that irrational or factually incorrect solutions can still be
  "true" in the sense that they work and have a basis in our meta-reality.
  More so, they have deeply ingrained neural circuitry that has been selected
  for and bug-tested for fitness over millions of years, or even longer.  Some
  of the details of the complete theory here conflicts to a degree with my more
  computational model for cognition.  There are areas of real life where that
  model is less optimal than this one.  At the very least, it can help prevent
  blindness to solutions that one can't arrive at using my preferred model.
- For the above point, as well as traumatic events, uncomfortable aspects of
  reality I lack agency over, and other such things, work to integrate or
  ignore them instead of uselessly flailing against them.
- Remember that pain is inevitable and even necessary, so don't shirk from it.
  Growth and pain avoidance both result in suffering, but only one delivers
  what Peterson defines as meaning.
- For public speaking, keep in mind two important tips:
  - Focus on various individuals in the audience and speak to them
    conversationally.
  - Know some multiple (like 10x) more than what you present.  The talk should
    then be a path navigated through that knowledge space, pulling in the best
    and most relevant information around it.
- Double down on my preferred manner of speaking.  Recent intellectual thought
  on persuasion and negotiation has been headed in the other direction, but
  Peterson is living proof that articulate, careful, and dense speech can work
  and is ultimately more rewarding.  While speaking to one's audience is still
  important, default to the highest end possible.
- Read more hard books, write more at the edge of my ability, and always have a
  queue of interesting topics to discuss.
- Re-visit some of my long-term goals and the process of goal-selection.  I
  think I'm close to a good system, but getting things wrong is expensive.  The
  focus of reviewing them will be on two principles:
  - Ensure the next goal in some area is something that extends competence to
    the next level.
  - Overall goals should be something that, as Peterson might say, justifies
    the tragedy of being.
*** CANCELED Absolute OpenBSD (2nd Ed.)
    - State "CANCELED"   from "TODO"       [2018-12-16 Sun 22:35]
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.

Read some, but canceling for now.  I'll reluctantly stick with FreeBSD for the
time being since it supports the dev stacks I need.  However, I'm going to
reduce the effort I invest into system internals and not participate in the
online community.  I do think OpenBSD is a better OS overall, and will check
back in later to see if it fulfills my needs at that time.
** 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.  A better concept for a sequel would've been humans questing for the
hidden information the first novel ended with.
*** 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.  The course of the conflict described here, while
somewhat realistic within the confines of the Starfire lore, is ultimately
rather unsatisfying.  Even real life conflicts have more interesting
developments at the strategic level than this one does.  Still worth a read,
but a little more story planning would've gone a long way.
*** 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.
*** DONE The Long Earth series
    - State "DONE"       from "STARTED"    [2018-09-23 Sun 05:46]
    - State "STARTED"    from "TODO"       [2018-09-16 Sun 01:34]
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.
- The Long Earth: Not actively bad, but also not good either.  Seems a bit
  devoid of interesting ideas, generic characters, and a generic plot.
- The Long War: Read a little, but seems actively bad.  Skipping the rest of
  this series.
- The Long Mars:
- The Long Utopia:
- The Long Cosmos:
*** DONE Borne
    - State "DONE"       from "STARTED"    [2018-10-02 Tue 02:19]
    - State "STARTED"    from "TODO"       [2018-09-30 Sun 10:10]
A new VanderMeer novel.  There's also an in-universe follow-on to this called
The Strange Bird.

This one just doesn't come together as a believable and immersive world.  Was
about to quit about 1/4 in, but seemed promising for a little while.  Then it
got boring and predictable again.  Fails to deliver in the end.  Will skip the
next entry.

When a fictional world vastly diverges from reality, effective world-building
is super critical.  This one reads like a fantasy novel, and maybe is okay for
people for whom that genre appeals to.
*** DONE The First Formic War trilogy
    - State "DONE"       from "STARTED"    [2018-10-12 Fri 02:05]
    - State "STARTED"    from "TODO"       [2018-10-06 Sat 09:46]
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: Has the essentials of a good story, only marred by some
  plot-irrelevant filler.  A few plot holes exist, and most of the characters
  are rather uninteresting.
- Earth Afire: Mostly useless filler.  More inconsistencies and a few factual
  errors.  Has a little kid semi-Mary Sue.
- Earth Awakens: Wraps everything up in a bit too unbelievable of a way.
  Has same issues as other entries, though not too bad.

Probably could've been condensed into one novel by leaving out all the filler.
This stuff is pretty easy to skim past though, so excluding it leaves a
readable story.
*** DONE Intelligent Design: Message from the Designers
    - State "DONE"       from "STARTED"    [2018-11-09 Fri 09:24]
    - State "STARTED"    from "TODO"       [2018-11-08 Thu 22:10]
The founding book of Raëlism.  Since this is 414 pages, I'll just read the
creation myth.  This is in a book contained within this one, called "Le Livre
qui dit la vérité".

This is actually a pretty creative interpretation of selected parts of the
Bible.  However, it fails on a lot of the details, venturing into areas which
would have probably better been skipped or provided alternative explanations.
Some examples include Samson's hair being an antenna from which he could
communicate with aliens, plant and animal life being created 22000 years ago,
and the alien homeworld being less than a light year away.
*** DONE The Road Not Taken
    - State "DONE"       from "STARTED"    [2018-11-09 Fri 22:41]
    - State "STARTED"    from "TODO"       [2018-11-09 Fri 21:50]
A short alien invasion story by Harry Turtledove, whose bibliography I went
through and only found this story potentially interesting.

A mildly amusing examination of how areas of technological development could
potentially be ignored if certain other areas are focused on.  Maybe humans are
doing this by optimizing for delivering ads online at the expense of progress
elsewhere.
*** DONE The Visitors
    - State "DONE"       from "STARTED"    [2018-11-10 Sat 14:32]
    - State "STARTED"    from "TODO"       [2018-11-10 Sat 00:49]
A Simak novel about an alien invasion, possibly by enigmatic BDOs.

Could be entertaining for some, but generally lacking by my measure.
Strangely, this turns into a commentary on America's love for cars.
*** DONE Starfish
    - State "DONE"       from "STARTED"    [2018-11-16 Fri 23:02]
    - State "STARTED"    from "TODO"       [2018-11-10 Sat 23:10]
The most recommended Peter Watts novel.  Available free online at:
https://rifters.com/real/STARFISH.htm

White not as good as Blindsight, this still has all of the fine trademarks of
it, including the pessimistic view of communication, critical analysis of
consciousness, and technically dense prose.

One interesting point: Sigmoid functions are a special form of the logistic
function, where the range is monotonically increasing.  These are proposed as a
model for "self-replicating information string" evolution in error rate vs
time.  Differences in these result in competition/parasitism.
*** DONE Heechee saga
    - State "DONE"       from "STARTED"    [2018-11-23 Fri 21:24]
    - State "STARTED"    from "TODO"       [2018-11-17 Sat 06:22]
A 6-book scifi series.  Supposedly good.  Will try the first at least.  "The
Gateway Trip" is a collection of short stories.
- Gateway: Pretty good and a compelling world, though slightly dated.  Includes
  a short story prequel at the end of this novel, which is also worth reading.
  I appreciate the enigmatic nature of the ETIs here, though I'll be surprised
  if that holds throughout the rest of the series.  While this has good scifi,
  the majority of the book is dedicated to the psychology of the main
  character.  Normally, I'd hate that, but it is somewhat well done here.
- Beyond the Blue Event Horizon: Quite bad.  One of those examples of
  exposition ruining a story.  Also lacks the atmosphere of the original.  Has
  lots of filler I skimmed over.
- Heechee Rendezvous: Read a little.  Decided to quit since this series just
  keeps going downhill.
- The Annals of the Heechee:
- The Gateway Trip: Tales and Vignettes of the Heechee:
- The Boy Who Would Live Forever: A Novel of Gateway:
*** DONE John Matherson series
    - State "DONE"       from "STARTED"    [2018-12-12 Wed 00:29]
    - State "STARTED"    from "TODO"       [2018-11-23 Fri 21:27]
The sequel novels to One Second After, which I read in 2014.  Probably will
have to skim some filler.
- One Year After: Pretty bad.  Skimmed most of this.
- The Final Day: Equally bad, if not worse.

A good example of the results of writing a main character too much like the
author.
*** DONE Starship Troopers (reread)
    - State "DONE"       from "STARTED"    [2018-12-22 Sat 06:05]
    - State "STARTED"    from "TODO"       [2018-12-13 Thu 20:12]
Read this about 20 years ago, but glossed over much of the content.  Will give
it another try.  I've been meaning to queue up a few more of Heinlein's other
novels too.
** 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.
*** DONE LaTeX Beamer
    - State "DONE"       from "STARTED"    [2018-09-13 Thu 20:04]
    - State "STARTED"    from "TODO"       [2018-09-13 Thu 11:51]
A document class for creating slides for presentations.  If you want to include
embedded rendered math markup in a presentation, you can either use this or
images snipped from a normal LaTeX document.

Works great and is easier than I thought it'd be.  Remember to double-compile
the presentation, or the page numbers might be incorrect.  There are various
online resources for previewing themes and colorthemes.  Use a grid one to pick
the combination I want for any given presentation.
*** DONE upgrade to CIDER 0.18.0
    - State "DONE"       from "STARTED"    [2018-09-17 Mon 10:35]
    - State "STARTED"    from "TODO"       [2018-09-17 Mon 10:20]
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).
- M-x cider now has a bunch of startup modes.  cider-jack-in-clj is the same as
  the old cider-jack-in.
*** DONE Brave
    - State "DONE"       from "STARTED"    [2018-09-20 Thu 22:56]
    - State "STARTED"    from "TODO"       [2018-09-17 Mon 13:17]
A privacy-centric, open source browser.  Has an ad-blocker already built in.
Consider replacing Iridium with this on both Windows and the Linux VM.

This has a few strange UI quirks, but nothing deal-breaking.  Has a decent set
of privacy settings that can be enabled.
*** DONE update Linux VM
    - State "DONE"       from "STARTED"    [2018-09-20 Thu 22:58]
    - State "STARTED"    from "TODO"       [2018-09-20 Thu 12:19]
Redo this in Linux Mint for now, but I'll circle back around to this and do it
in a different distro later.

OS setup, configured, and brought up to date.  Emacs and Clojure development
enabled.
*** DONE switch Linux VM to Debian 9.5.0
    - State "DONE"       from "STARTED"    [2018-09-23 Sun 23:39]
    - State "STARTED"    from "TODO"       [2018-09-23 Sun 17:52]
I was going to use Mint for l1j-en development, but the Eclipse package is
broken.  Will try Debian (Stretch) and see if that fixes things.  If so, I'll
delete the Mint VM.

Setup notes:
- Update /etc/sudoers.
- Edit /etc/apt/sources.list and comment out the CD-ROM line.
- Turn off screensaver and lock.
- Edit keyboard layout options and set "Hyper is mapped to Win keys".
- Install VMWare Tools, or probably just open-vm-tools package.  Note that
  instead of ifconfig, specify /bin/ip during install.
- Setup shared folders.
- Install emacs, auctex, w3m, eclipse, zsh, rxvt-unicode, curl,
  apt-transport-https, git, mysql-server.
- Install Leiningen.
- Follow instructions on Brave's GitHub account to install it via apt.
- Generate SSH key pair and upload public key to GitHub, Bitbucket, and
  l1j.org.
- chsh to zsh.
- Edit /etc/hosts.
- scp over .zshrc, .emacs, .emacs.d, .Xdefaults.

Well, I got this up and running, but when I get some free time, I'll still try
redoing this in Arch or something better.  The no-dynamic resizing of the
desktop kinda sucks.
*** DONE setup Arch Linux on laptop
    - State "DONE"       from "STARTED"    [2018-12-11 Tue 19:58]
    - State "STARTED"    from "TODO"       [2018-12-09 Sun 20:56]
Give this a try and update my arch-setup.org file.

Installed this on my spare laptop, and it works.  Would have to dedicate many
more days of research to get it perfect though.  I might keep this as a VM
option for later, or give Source Mage for comparison.
*** CANCELED update to FreeBSD 11.2
    - State "CANCELED"   from "STARTED"    [2018-12-11 Tue 19:59]
    - State "STARTED"    from "TODO"       [2018-11-26 Mon 10:31]
I still want to switch to OpenBSD, but I still need to be productive in the
meantime.  12.0 is coming out around 2018-11, so maybe hold off on it if I
don't get around to it soon.

Looks like stack doesn't have a binary for this version of FreeBSD, so I'll
have to go with the ports-installed version.

www/libxul is currently broken in FreeBSD, so suspending this to attempt the
OpenBSD leap now.

Update 2018-12-11: FreeBSD 12.0 was just released, so I'll switch to trying
that instead.
*** DONE try out MX Linux 17.1
    - State "DONE"       from "STARTED"    [2018-12-11 Tue 23:17]
    - State "STARTED"    from "TODO"       [2018-12-11 Tue 20:59]
A distro based on Debian stable.  Maybe replace my Debian VM with this.

Note: Use open-vm-tools-desktop instead of VMware-tools.

Works fine, and XFCE is okay, I guess.  I'll perhaps use this next time instead
of Debian whenever I remake my office docs and games Linux VM.
*** DONE setup FreeBSD 12.0 VM
    - State "DONE"       from "STARTED"    [2018-12-15 Sat 04:55]
    - State "STARTED"    from "TODO"       [2018-12-12 Wed 20:46]
Install 12.0 on a VM and get Xorg, xmonad, Conkeror, Emacs, AUCTeX, and stack
working.  If all that is functional, I'll proceed with a laptop setup.

Did most of it and it works so far.  Moving forward with laptop install a
little early to save some time, hopefully.  Also updated freebsd-setup.org and
will copy over the distfiles to save download time.
*** CANCELED doas
    - State "CANCELED"   from "TODO"       [2018-12-15 Sat 05:05]
Consider replacing sudo with this.

Canceling, due to stack expecting sudo.  I could still install doas and use
that, but I don't want to have to configure two commands just for that.  I
might still switch to it if I setup and OpenBSD box without stack.
*** DONE ZFS
    - State "DONE"       from "STARTED"    [2018-12-16 Sun 22:33]
    - State "STARTED"    from "TODO"       [2018-12-16 Sun 14:36]
Determine if I should use ZFS on my workstation.  Just read up on it and see if
there's any downsides versus UFS.

I suppose the main ZFS benefit for me is snapshots, but I'm not sure I'll make
much use of those.  It could save some time experimenting in a VM, however, but
most of that for me is testing to get a complete base system working when a new
version comes out.  I guess I'll skip it for now, since it adds some overhead
without much payoff.  If I ever setup work servers, personal business servers,
or large fileservers, I might want to revisit it.
*** DONE try out OpenBSD 6.4
    - State "DONE"       from "STARTED"    [2018-12-16 Sun 22:34]
    - State "STARTED"    from "TODO"       [2018-12-09 Sun 01:02]
Install this on my spare laptop and see how far I get on having a complete
development setup.  Doing a VM install first.  Will update openbsd-setup.org.

In 2014, a lot of the apps I need for doing work were deprecated from ports.
This includes Conkeror and AUCTeX.  I could still go ahead with it and do such
things in a VM, but I'll give FreeBSD 12.0 a try when it comes out.  I'm still
somewhat inclined to run OpenBSD on the laptop and maybe just use FreeBSD on my
main workstation.  For now, I setup a functional OpenBSD VM for occasional use.
*** CANCELED update to xmonad 0.13
    - State "CANCELED"   from "TODO"       [2018-12-16 Sun 22:35]
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.

Already updated to 0.15 with OS upgrade.
*** DONE setup FreeBSD 12.0 on laptop
    - State "DONE"       from "STARTED"    [2018-12-20 Thu 18:36]
    - State "STARTED"    from "TODO"       [2018-12-15 Sat 04:57]
Get everything I use working here.

Unfortunately, Conkeror seems hopelessly broken on FreeBSD at the moment.
Everything else works though, so I'll just put up with it on the occasion that
I need a full-featured web experience.
** Work-related
*** DONE presentation on types
    - State "DONE"       from "STARTED"    [2018-11-14 Wed 20:35]
    - State "STARTED"    from "TODO"       [2018-11-10 Sat 13:35]
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.

Cut some content due to splitting my time with someone else.  Still ended up
talking for 2 hours though, so it's probably a good thing I didn't write up a
core.typed example.
** 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.
*** DONE Ultima Online
    - State "DONE"       from "STARTED"    [2018-09-05 Wed 23:41]
    - State "STARTED"    from "TODO"       [2018-09-03 Mon 18:17]
Now F2P, so might as well give it a look.

So, so boring.  Made a blacksmith and got related skills to 50.  Started going
a little further on a few of them, but progress is painfully slow.  The UI
needlessly makes this slow progress even more painful.  Not sure what useful
things I could even do with higher level skills, so I think I'll call this
done.  I'll leave the game installed for awhile in case I want to look around
occasionally.
*** DONE Endless Sky
    - State "DONE"       from "STARTED"    [2018-09-10 Mon 23:36]
    - State "STARTED"    from "TODO"       [2018-09-10 Mon 13:02]
One of the top-down, 2D space trading/combat games, in the vein of Escape
Velocity.  This one is open source and in active development.
https://github.com/endless-sky/endless-sky/releases

Maybe read the wiki: https://github.com/endless-sky/endless-sky/wiki

Got up to a mid-level ship, but this gets old pretty quick, so I'm bailing.
Judging from the forums, the game also gets pointless once you amass a fortune.
So, the game is mainly the interim period where you farm missions.  Gameplay
rather sucks and combat especially does.  That said, the game is nicely made,
has a good UI, and generally looks good for a modern 2D game.  Having played a
few of the games in this genre, my conclusion is that it's another one of those
genres that has innate flaws in its core design.  The Elite-clone genre, which
is similar, solve most (but not all) of these issues.

Perhaps a better game along these lines would be to have a game world where
huge transport ships, hauling massive quantities of cargo and passengers, make
very lengthy trips and fare the various hazards (both environmental and
security-related).  This also would preserve the feeling of actually being in
space.  Even better might be to make it convoy-based and/or during wartime.  I
might see if I can flesh out a workable game concept from this.
*** DONE Noir Haven
    - State "DONE"       from "STARTED"    [2018-09-13 Thu 11:48]
    - State "STARTED"    from "TODO"       [2018-09-13 Thu 11:08]
A text-only MUCK at mucks.cyberleo.net 7878.  Not sure I'm too interested in
the setting though.

I guess this is just for chatting.  If I was gonna engage in chat with online
randos, I'd probably just do it on Freenode in some CS channel.
*** DONE Land of the Rair
    - State "DONE"       from "STARTED"    [2018-09-21 Fri 22:14]
    - State "STARTED"    from "TODO"       [2018-09-17 Mon 08:41]
A normal RPG from the creator of IdleLands.  Still in development, but playable
now.

Poorly conceived and not something I'd want to play, at least in its current
state.
*** DONE Shroud of the Avatar
    - State "DONE"       from "STARTED"    [2018-10-01 Mon 12:13]
    - State "STARTED"    from "TODO"       [2018-09-14 Fri 21:09]
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.

Notes:
- Install the runtime linked here in order to get maps working:
  https://www.shroudoftheavatar.com/forum/index.php?threads/in-game-map-not-working-read-this.121674/

Lots wrong with this game.  Pretty good lists about its shortcomings already
exist online.  I'll just add 3 points:
- This game suffers from a emergent property of P2W games, where most of the
  development effort is focused around catering to whales.  This results in a
  lackluster gain experience for normal players.  Something a non-whale player
  might want to look out for, e.g. with Star Citizen.
- Even if everything in the game were fixed today, it has still been running in
  persistent mode for a long time.  During that time, there have (and still
  are) tons of exploits that players have been constantly using, effectively
  ruining the multi-player aspect of it.
- The developers, including Lord Shittish, are SJW scumbags.

Not wasting any more time on this.  Quitting now while I'm ahead.
*** DONE GTA V (single player)
    - State "DONE"       from "STARTED"    [2018-10-01 Mon 12:15]
    - 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.

Didn't really play this too much.  Driving is better in the game, but I'd still
prefer a more sim-like experience.  Usable mirrors (and/or backup cameras) and
the ability to turn your head effectively to look around in first-person mode
would go a long way.  The driving model could still use a few tweaks in
direction of making cars handle more realistic too.  As it is now, it's still
optimized for an action-focused experience.  But, I suppose that's what the
target audience really wants.

On the good side, this game is a ton of content for the price.

I'll probably come back to this sometime to drive around a bit more, but I
think I'll skip this series from now on, especially if they continue in the
direction of more microtransactions.
*** CANCELED Wasteland 2 (purchase)
    - State "CANCELED"   from "TODO"       [2018-10-15 Mon 14:58]
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).

Gonna skip this.  I'll reconsider, maybe, if I find it for a few bucks in the
future and in the unlikely case that I'm overwhelmed with free time.
*** CANCELED Chrono Trigger
    - State "CANCELED"   from "TODO"       [2018-11-10 Sat 22:35]
Normally I hate JRPGs, but supposedly this is one of the best video games of
all time, so maybe it's an exception.

Played a little and I think I'll skip this.  Seems passable, but definitely too
thin of a world and combat system for me.
*** CANCELED Neocron 2
    - State "CANCELED"   from "TODO"       [2018-11-17 Sat 21:24]
A F2P 2002 FPS MMORPG.  Maybe try it out for awhile.

Can't get this to run properly on my computer, even with manually replacing
DLLs.  Giving up.
*** CANCELED Planescape: Torment: Enhanced Edition (purchase)
    - State "CANCELED"   from "TODO"       [2018-11-24 Sat 19:46]
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.

Looks like I can just use my old CDs and install a high resolution mod and get
the same thing.
*** CANCELED Superpower 2
    - State "CANCELED"   from "STARTED"    [2018-11-25 Sun 21:05]
    - State "STARTED"    from "TODO"       [2018-11-25 Sun 20:50]
I have a CD copy of this in my collection.  Find it and give it a try.  I only
put a couple of hours into it previously.

Game is nonfunctional on Win7.  The copyright protection says it works on XP,
but trying that there gives the same error.
*** DONE System Shock 2 (modded)
    - State "DONE"       from "STARTED"    [2018-11-28 Wed 16:47]
    - State "STARTED"    from "TODO"       [2018-11-25 Sun 21:27]
Arguably one of the better games ever made, though the stock version is a bit
hard to look at.  Try out a fully modded setup of this game, which supposedly
modernizes it to some extent.  Use the SS2Tool utility to manage mods and sync
the manual installation.

Notes:
- Follow the mod setup here:
  https://www.systemshock.org/index.php?PHPSESSID=d896eklelkartmu23hfb193i66&topic=4447.0

Did a non-PSI Navy run, using the wrench as much as conveniently possible.  The
modded version of this game really looks great.  I wish modern FPSes were made
with such clean graphics.  Might try an OSA run some years from now.
*** DONE Tales of Maj'Eyal 1.5.10
    - State "DONE"       from "STARTED"    [2018-12-08 Sat 16:09]
    - State "STARTED"    from "TODO"       [2018-11-29 Thu 22:39]
Includes the second expansion to ToME, with a complete 1-50 campaign.  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 and maybe another solipsist
run.  Could also play this on FreeBSD, since there's a port available now.

Notes:
- Install the Ignore Race/Class Locks mod, located here:
  https://te4.org/games/addons/tome/ignore-raceclass-locks
- Also added respec mods.
- Check out the "Somebody shut that dog up" mod if barks, howls, and eagle
  screeches get annoying.
- A good progression: https://te4.org/wiki/Recommended_Zone_Order_Progression
- Buy Combat Training category in Last Hope for 50gp.
- Buy Mindstar Mastery in Zigur for 500gp.  Take an alchemist escort before
  learning this and get Psiblades if a Solipsist.
- The above applies for Staff Mastery in Angolwen.
- Use the altar at Mark of the Spellblaze to corrupt the Heart of the Sandworm
  Queen.  This looks like circular floor tiles.
- Always manually pick up chest loot, since autoexplore won't grab it usually.
- If running an anti-magic shield, getting armor with on-hit equilibrium
  bonuses can make it run permanently.

Unfortunately, it looks like they nerfed drops in Ruined Dungeon.  For races
without XP penalties, it's possible to find yourself under-geared by then.  I
created a small mod that comments out the emptyDrops() call in
data/zones/ruined-dungeon/zone.lua.

Beat the game with a necromancer, which is now my favorite class in the game.
Also played a yeek solipsist, skeleton archer, skeleton skirmisher, thalore
oozemancer, and yeek summoner for awhile.  Summoner and oozemancer mechanics,
while interesting, make for a lot of tedious micromanagement.  Archer and
skirmisher are very simple classes, where you basically do the same thing the
entire game.  Necromancer really has a lot of complex synergies between talents
and more persistent summons.
*** CANCELED Tyranny (purchase)
    - State "CANCELED"   from "TODO"       [2018-12-08 Sat 20:38]
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.  Probably will skip entirely though, since it doesn't look
that great.

Guess I'll skip this.
*** DONE Pioneer
    - State "DONE"       from "STARTED"    [2018-12-08 Sat 22:57]
    - State "STARTED"    from "TODO"       [2018-12-08 Sat 21:46]
An open source space sim.  An Elite-clone, but has a more realistic universe
lore.  https://pioneerspacesim.net/

There's some nice stuff here like Newtonian physics and a clean UI, but this
game isn't really to the point of being enjoyable to play yet.  Maybe check
back in 5 years.
*** CANCELED Red Storm Rising
    - State "CANCELED"   from "STARTED"    [2018-12-08 Sat 23:59]
    - State "STARTED"    from "TODO"       [2018-12-08 Sat 23:47]
A 1989 sub simulator for DOS.  Try to get this working correctly in DOSBox.
Looks like it might be mildly entertaining.

Runs fine in DOSBox, but the game itself is a bit rougher than I'd like.  I
already have plenty of more modern subsims, so I'll skip this and play those
instead.
*** DONE Loot Box Clicker
    - State "DONE"       from "STARTED"    [2018-12-09 Sun 20:24]
    - State "STARTED"    from "TODO"       [2018-12-09 Sun 15:42]
An idle game about opening loot boxes, I think.  https://www.rule0.com/LBC

Too simple and too much clicking.  I guess this is how loot boxes work though.
Also has some bugs in it.
*** DONE Swarm Simulator
    - State "DONE"       from "STARTED"    [2018-12-09 Sun 23:50]
    - State "STARTED"    from "TODO"       [2018-12-09 Sun 23:27]
Yet another open-source idle game.  https://www.swarmsim.com/

Too click heavy.  Given the amount of clicking, too much navigation.  Lots of
wasted space could've been used for displaying more stuff on screen.
*** DONE Galactic Civilizations II: Ultimate Edition
    - State "DONE"       from "STARTED"    [2018-12-11 Tue 00:08]
    - State "STARTED"    from "TODO"       [2018-12-10 Mon 20:52]
Got a copy for free, so will give it a try sometime.

Okay, but also nothing amazing.  Has a few things that I don't like in 4x
games, like space being too cramped.  I'll shelve it for now and maybe come
back to it if I get the urge to play the genre again, which I'm rather burnt
out on currently.
*** DONE Space Company
    - State "DONE"       from "STARTED"    [2018-12-11 Tue 19:52]
    - State "STARTED"    from "TODO"       [2018-12-09 Sun 20:26]
Another open-source idle game.  https://sparticle999.github.io/SpaceCompany/

Not bad for a theme, the constantly expanding storage mechanic ruins it.  Even
worse is that you can only expand storage when full and it costs your entire
inventory of that resource, making it the most egregious example.

Cloned the source and played locally.  Changed a few multipliers to speed
things up a bit.  By mid-late game, the math really breaks down here.  One
would have to play this game for years to get to the end.
*** DONE Drakan: Order of the Flame
    - State "DONE"       from "STARTED"    [2018-12-13 Thu 20:06]
    - State "STARTED"    from "TODO"       [2018-12-12 Wed 14:21]
A 1999 adventure game, now available as abandonware.  Originally played this
through around 2000 or so.

Notes:
- Install the official patch first, then the community patch.
- Also disable lens flares on the in-game settings.
- Always make a manual save (and don't overwrite it) when leaving the dragon,
  since sometimes he gets stuck when flying to you.

A pretty good game, though even with patches it has some bugs and a few engine
quirks.  Some good points are that enemies are usually stronger than you and
have to be outsmarted, and swinging melee weapons is more realistic than the
overdone moves in most modern games.  This is also pretty advanced for its
time.

About half way through, I lost a hour or so of progress due to the dragon
getting stuck and me forgetting to backup save for long time.  So, decided to
quit since it was getting repetitive anyway.  The early game higher quality
anyway, with it getting restrictively linear with fewer side areas.  The later
enemies generally only have one tactic that works against them too.
** 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.
** 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.
** 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

Update 2018-12-16: Added a list of domains that serve up ads, tracking cookies,
and other scummy traffic I don't want.  This results in a significant speedup
on some sites.
*** 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.
*** DONE Ford F-150 mods
    - State "DONE"       from "STARTED"    [2018-09-03 Mon 18:05]
    - 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:00.  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.
- [X] Get 5/8" hitch pin: Got a 5/8" x 4 3/4" clevis pin.  Fits.
- [X] Get ratchet straps: Purchased.
- [ ] Get Setina PB400 push bar or Westin brush guard: Local shop doesn't stock
  Setina products.  Not entirely sure if I want a Westin.

Will put off the brush guard for now while I think about it.
*** DONE make hot sauce
    - State "DONE"       from "STARTED"    [2018-09-09 Sun 16:08]
    - State "STARTED"    from "TODO"       [2018-09-09 Sun 13:03]
Try making a hot sauce out of cayenne peppers.  Keep the ingredients simple for
now, and maybe modify later, e.g. adding lemon/lime juice, cilantro, or other
herbs.  If this works, I might try growing a few different peppers for sauce
next year.

Procedure used:
- Chopped 10 or so peppers of varying sizes (mostly big ones) in a food
  processor.  Put in small pot.
- Added 3/4 cup of vinegar.
- Added 1 tsp minced garlic.
- Added 1/2 tsp garlic powder and 1/2 tsp salt.
- Boiled on medium heat for about 25-30 min.
- Noticed that most of the vinegar had boiled off, so added more.
- Put back in food processor and turned into a chunky sauce.
- Put back on stove for 10-15 min.

This creates some super tasty hot sauce.  I rather feel like I don't need to
change anything about this.  I'll maybe add some sodium benzoate to it next
year, in order to create several bottles of the stuff and preserve it for later
use.  I'll just immediately use the bottle I made here.
*** DONE make salsa
    - State "DONE"       from "STARTED"    [2018-09-10 Mon 12:49]
    - State "STARTED"    from "TODO"       [2018-09-10 Mon 11:47]
Tomato inventory is getting a bit out of hand, so get some tortilla chips and
make some salsa out of them.  Note that salsa is a growth media for E. coli, so
make small amounts and refrigerate leftovers.

Try something like this modified recipe from online:
- 3 cups diced tomatoes.
- 1/2 cup diced green pepper.
- 1 cup diced onion.
- 1/4 cup minced cilantro.
- 2 tbsp lemon juice.
- 1/4 cup cayenne and jalapeño pepper.
- 1/2 tsp salt and 1/2 tsp black pepper.
- Stir ingredients in a bowl.

This works great.  Add some cumin and replace the lemon juice with lime juice
next time.
*** DONE roast sunflower seeds
    - State "DONE"       from "STARTED"    [2018-09-18 Tue 12:32]
    - State "STARTED"    from "TODO"       [2018-09-18 Tue 10:09]
I've got tons of sunflower seeds from the garden.  I'll save most of them for
bird food over the winter.  The rest I'll attempt to roast.  The variety we
grew seem to have both dark black and regular gray seeds.  I'll mostly eat the
black ones, since moths or something laid eggs in some of the gray ones.

Procedure used:
- Boil some water in a pot.
- Scoop measuring cups of sunflower seeds into pot.
- For each cup, add 2.5 tbsp of salt.
- Reduce heat to simmer and leave for 15-20 min.
- Drain water from seeds.
- Put on flat tray and roast in oven at 400°F.
- After 12 min or so, test a seed every couple of minutes to see if desired
  dryness is achieved.  Maybe move them around if there's a lot on the tray.
  Beware of over-roasting.
- If seeds seem suitably roasted but I just want to dry them a bit more, leave
  the oven at 200°F with the door cracked open.

This works but I overcooked them the first time.  If that happens, they're
rather unpleasant to eat.
*** DONE get satellite internet service
    - State "DONE"       from "STARTED"    [2018-09-30 Sun 18:53]
    - State "STARTED"    from "TODO"       [2018-09-10 Mon 08:32]
DSL service can go out for days here, so satellite is worth it as a backup,
since we need to stay reasonably connected for work.  It'll also allow for fast
downloading of data and to split usage across the services.  Setup backup WAP
to be used with this.

Went to the nearby reseller.  Installation appointment for HughesNet scheduled
for 2018-09-10T09:00:00.

Update 2018-09-10: Installer never showed.  Will call back tomorrow.  Number on
the business is 304-856-1100.

Update 2018-09-11: Rescheduled for 2018-09-18T10:00:00 - 2018-09-18T11:00:00.

Update 2018-09-19: HughesNet guy called and said he'd call back to schedule a
time, probably for this weekend or next week.

Update 2018-09-29: Appointment scheduled for afternoon of 2018-09-30.

Update 2018-09-30: Service enabled.  Had Exede dish and mount removed.  Setup
spare WAP for non-G adapters.

Throughput suffers a lot when it's cloudy, but it's still usable.  Now we're
immune to DSL outages and only need a generator to be immune to power outages.
*** DONE make crushed red pepper
    - State "DONE"       from "STARTED"    [2018-10-23 Tue 12:50]
    - State "STARTED"    from "TODO"       [2018-10-11 Thu 09:36]
This is a common cooking ingredient and condiment that I use on a lot of
things.  I have a ton of extra cayenne peppers, way more than I need for hot
sauce, so I'll make this with the remainder.  Unlike hot sauce, this is
generally cheap to purchase, so it doesn't save a ton of money.  On the other
hand, I think the store-bought kind uses a milder pepper, so making my own
still adds value.

Process:
- Let peppers dry on the vine for awhile until pliable and not fresh and
  crunchy.  This does result in the ones that touch the ground going bad, so
  check plants and harvest those for other use so they don't go to waste.  If
  peppers are still a bit fresh, leave them out for a few days until they dry
  out some.  This saves many hours of drying in the stove and the requisite
  energy.
- Cover baking trays in aluminum foil.  Can use multiple trays in the oven at
  the same time.  If some are less dry than others, separate them into trays by
  dryness so it's possible to leave one batch in longer.
- Lay out peppers in a single layer.  Leave stems on them or just slightly trim
  them to save space.
- Bake at 170°F for at least 5 hours, and probably several more.  Peppers
  should be completely non-pliable and break apart when bent.
- Put these in a food processor and pour into a jar for storage.
- Leave foil on trays for cooking other stuff.

This works great and the resulting product looks just as good as the
store-bought kind, but with a subjectively higher quality as well.  Probably
have enough for the rest of the year, but I'll probably be able to make another
batch or two.

Note to self: Stake plants and trim the lower branches in the future.  Cayenne
peppers are quite long and need a lot of space to stay off the ground.

Update 2018-10-23: A frost came early and killed all garden plants.  Harvested
the remaining peppers and will dry those.  Unfortunately, some weren't ripe yet
and were lost.  However, I did get a ton of peppers from just the 6 or so
plants I had, so I'm not complaining.
*** DONE file for (f)unemployment
    - State "DONE"       from "STARTED"    [2018-11-05 Mon 14:32]
    - State "STARTED"    from "TODO"       [2018-09-13 Thu 08:35]
I was hoping this would happen, and it did.  Instead of just quitting my job, I
managed to get my position eliminated first.  So technically, that means I was
laid off.  This then means I can file for unemployment and can reclaim some of
the massive amounts of money I've lost paying for it since I was 16.  There may
be blocking factors since I moved to a new state, however, but it's still worth
a try.

Tasks:
- [X] Figure out what benefits there are, how to file, and other details.
- [X] On 2018-09-15, or shortly thereafter, file a claim.

  Claim filed on 2018-10-04.

  Update 2018-10-05: Turns out I need to file in my former state of employment.
  Will start over.
- [X] Find site for VA unemployment filing and do so.

  Claim filed on 2018-10-08.
- [X] Wait to see if I get approved and come up with strategy for my
  unsuccessful weekly "job search".
- [X] Restart initial claim: Apparently, you have to start submitting weekly
  claims right away, but I didn't since I didn't know if I'd be approved.
  There was also documents saying you could wait 28 days, which turned out to
  not apply to claims.

  Restarted on 2018-10-29.
- [X] Start filing weekly claims.  Filed first claim on 2018-11-05
- [X] Activate debit card.

Looks like I have this running smoothly now.  Once this is done, I'll update
with my thoughts on whether it's worth the trouble or not.
*** DONE conclude truck acquisition
    - State "DONE"       from "STARTED"    [2018-11-10 Sat 16:49]
    - 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:00 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.
- [X] Wait until I receive my permanent registration from WV and then put my WV
  plates on the truck.

  This took 6 weeks, but finally it did arrive via FedEx from the dealer.  Next
  time, I'll skip the document fee and just do it myself.
- [X] Get WV inspection.  Done 2018-10-17.
- [X] Memorize keyless entry code: Done

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.
*** DONE get firewood
    - State "DONE"       from "STARTED"    [2018-12-13 Thu 18:14]
    - State "STARTED"    from "TODO"       [2018-12-02 Sun 22:33]
Need firewood for winter.  Best to get it before mid-summer so it has time to
dry out.

Bought an electric chainsaw (that shares batteries with the lawnmower) to fell
trees and process logs when/if needed.

Contact info for local wood guy given by neighbor's son in tasks.org.

Called and setup for delivery on the week of 2018-12-10 (probably early in the
week, like Monday or Tuesday).  Gave name, address, and number.

Update 2018-12-12: Wood delivery scheduled for tomorrow.

Update 2018-12-13: Wood delivered.  Still need to split it, read wood furnace
manual, then get it running.  Might try a test burn with some cardboard first
to ensure flue isn't obstructed.

Update 2018-12-31: Split all wood and ordered more.  Splitting wood by hand is
viable, but is very labor-intensive.  Since it takes a few days to get through
a truck-load, I bought a tarp to cover future piles while working on it.
*** DONE get wood furnace working
    - State "DONE"       from "STARTED"    [2018-12-31 Mon 18:33]
    - State "STARTED"    from "TODO"       [2018-12-02 Sun 17:13]
Apparently this thing hasn't been used in a couple years at least.  I have one
load of firewood, plus a couple trees and some wood that was already here.

Tasks:
- [X] Split all wood: Splitting maul from Walmart works pretty good.
- [X] Get a bottle of corrosion inhibitor: Local hardware store carries this.
- [X] Figure out how to fill with water: This isn't setup for inside filling,
  which is definitely wrong.  The only way to put water in is through the top
  steam vent.  The water can be drained from the back by opening the secondary
  out flow valve (which isn't hooked up to anything).  Use a bucket so as not
  to flood the area around the furnace.
- [X] Test pump and fan: Works.
- [ ] Test heat exchange: The pump is a recirculation pump, so it doesn't have
  the power to push air out of the high spot, which is on the HVAC unit.  Need
  to get this re-done.
- [X] Find someone to redo this system: Used neighbor's recommendation.  Info
  in tasks.org.  Satisfied with service.
- [X] Test heat exchange again: Works.
- [ ] Order another load of wood: Doing next.
- [ ] Sharpen splitting maul: Put in vice and use a file.

Seems to work now.  The only minor issue seems to be that the HVAC fan
sometimes runs constantly when using a custom temp setting.  That might be an
electrical issue.
** 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.
*** DONE year-end review for 2018
    - State "DONE"       from "STARTED"    [2019-01-06 Sun 23:53]
    - State "STARTED"    from "TODO"       [2019-01-06 Sun 23:40]
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.  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 non-CS/programming book at a time.
  - Take breaks between games and normal 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 for the most part, 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.
  - Ignore all popular media: Successful, with a few brief lapsing periods.
  - Curated feeds: Been using these, but only occasionally as planned.
  - Ignore general web: Not 100%, but pretty close.
  - Effort scaling: Bailed on several things at appropriate times, mostly.
    Need to still keep this in mind.
  - Maximize Unix machine use: Mostly done.  Probably spent too much time
    playing games though.
  - Max 1 active game: Successful.
  - Max 1 active CS/math book: Didn't have as much spare time here as hoped
    since I worked longer than planned, but this is a primary goal for next
    year.
  - Breaks between non-productive activity: Successful, though RL stuff
    consumed most of these periods.
  - Non-distraction effort: Put a lot of attention here, and it was warranted.
    Probably needs even more next year.
- Health: Took this pretty seriously.  This is a tougher area to improve than I
  thought it'd be, due to the drastic lifestyle changes necessary.
  - Weekly improvement: Failed.  Had large plateau periods and even some
    regression.  Need better discipline here next year.
  - Treadmill: Would be nice for the winter, but not really needed due to
    property size.  There seems to be an endless supply of manual labor I can
    engage in.
  - Weight set: Got part of this.  Still need bench and maybe barbell.
  - Food quantity: Utter failure.  Will try again next year.
  - Mountain bike: Decided not to get this due to the roads not really being
    safe for it.  Off-road trails are really only good on foot or ATV, and are
    sometimes not really usable on foot due to mud.  Mud prevalence could've
    been due to the unusually wet year, however.
  - Food quality: Done, when possible.  Ate 90% from the garden for 4 months or
    so.  Have a plan to increase this next year.  Probably can still use some
    work on the regularly store-bought food.
  - Weight goal: Down about 25lbs, which is a decent partial success.  Will try
    to finish the job next year.
- Post-work: Left the job later than planned, so this is still in-progress.
  This helped with the new home ownership expenses to a great degree, however,
  so it was worth it.
  - Acquire property: This was a much large timesink than I could've ever
    imagined, but was completed successfully.
  - Quit work: Worked remotely for an extra 4 months and managed to ride out
    the contract period, enabling UI, which I'm doing now.  Definitely the best
    of all possible outcomes.
  - Retirement optimization tasks: Started.  The 2 important parts: adjusting
    consumption habits and de-workifying the brain, are working as planned.
  - Goal selection: Still needs some retooling, as I made this before I knew
    the particulars of my situation and haven't revisited it at the meta-level
    yet.
  - RL skills: In-progress.  This is going great.  I did have to correct a few
    internet-induced misconceptions, but these were minor.
- Self-study goals: Didn't get to much of this.
  - Clojure wrap-up: Still need to do.
  - Haskell competency: Still need to do.
  - Type theory pre-reqs: Did some of these, but it turns out I didn't need
    that much remedial work.
  - Type theory presentation: Complete.
  - Front-end dev: Still need to do.
- Meta: Mostly done, but I'm still working on my targeted skills portfolio.
- Miscellaneous:
  - Health care: Still need to do.
  - Redo computers: In-progress now, and going slower than expected.  Will
    spend some time simplifying my setup after this is done so it's not such a
    time-sink in the future.

Conclusions: Generally, about as good a year as one can expect out of life.


* Project List (2017)
** Computer Science/Programming
*** DONE Cognicast (podcast)
    - State "DONE"       from "STARTED"    [2017-02-04 Sat 00:02]
    - State "STARTED"    from "TODO"       [2016-04-12 Tue 17:58]
Listen to the entire Cognicast up to episode 100.  I'm only listening to these
when stuck in a car, so this will take awhile.  Once done, will ignore the show
for awhile to let more episodes build up.

This show is very painful to listen to, thanks to all the non-technical talk,
music, politics, and SJW stuff.  However, I did occasionally glean useful
tidbits.  A fast-forward button is mandatory to retain sanity.  This took way
longer than expected since I needed to take breaks from the grating
personalities here.  I may skip the rest of this show in the future.  If not,
be more selective about choosing episodes to listen to.
*** DONE Front-End Developer Handbook 2017
    - State "DONE"       from "STARTED"    [2017-02-12 Sun 10:29]
    - State "STARTED"    from "TODO"       [2017-02-10 Fri 18:29]
Skim this to catch up on the modern front-end world, at least in outline.  This
is of limited utility to me, since anything involving a web front-end that I
would want to do on my own would be in ClojureScript, but it's worth a couple
evenings to at least not be completely ignorant of what a huge section of the
developer world is up to.  This mostly only covers the JavaScript ecology.  If
I spot anything super interesting, add a separate task for it.
https://www.gitbook.com/book/frontendmasters/front-end-handbook-2017/details

Some ideas:
- Definitely learn HTML5.
- Maybe find a book on ES6 from a functional perspective and skim it so as not
  to be in complete ignorance.  This might prove useful for client-side FPLs
  that have a JavaScript interop feature.
- The web animations section is worth noting the existence of in case I need it
  sometime.
- React has thoroughly displaced AngularJS.  Vue.js will probably end up taking
  second place soon.

Keep this around as a reference.  Be sure to check back next year around
February to see if there's an updated version.  I'm trying to defer any
front-end work on my part as long as possible to give WebAssembly time to
ripen.  However, it's likely I'll be waiting a good chunk of my life, as by my
estimate, we're at best 3-5 years out to having Clojure/Haskell->WebASM.
*** DONE The Type Theory Podcast (podcast)
    - State "DONE"       from "STARTED"    [2017-03-06 Mon 08:14]
    - State "STARTED"    from "TODO"       [2017-02-23 Thu 07:14]
A very rarely updated podcast on type theory.  http://typetheorypodcast.com/

This is actually a very good podcast.  I learned massive amounts of information
with each episode.  I'll probably listen to these files again later,
particularly episodes 1 and 6.  Now that I think about it, this is probably the
only podcast so far worth listening to by its own right, and not just as a
convenience compromise to salvage something useful out of driving time.  The
one and only downside is that the hosts' mannerisms are very beta-male, but I'm
used to that from being around Haskell programmers in real life.
*** CANCELED Paradigms of Artificial Intelligence Programming
    - State "CANCELED"   from "TODO"       [2017-03-15 Wed 21:11]
The classic Peter Norvig text on AI programming in Lisp.  If I stick with CL,
this is a must read, as it's not just a great AI text, but also uses those
concepts to introduce many advanced Lisp techniques.  Otherwise, I'll just
keep it as a reference.

I still like AI and might come back to this, but the overhead of it being
implemented using the finer details of Lisp downgrades its usefulness for me.
I'm also canceling a few things like this to make room for future work in
dependent types, while being realistic about my potential future output.  I do
lament that there aren't any really amazing CS texts like this one in Clojure.
It seems unlikely this will ever be the case though, since the majority of
cutting edge computer science is in the statically typed FPL world.
*** CANCELED Haskell: The Craft of Functional Programming
    - State "CANCELED"   from "TODO"       [2017-03-15 Wed 22:15]
Already did a couple chapters of this and it's only okay.  Leaving it third on
the Haskell mastery list, but I may skip it entirely, since it doesn't add
anything new.

This book is a little dated now and since it doesn't offer anything
particularly unique, I'll skip it.  I'll reevaluate if I somehow get through
all of the better books.
*** CANCELED The Little Prover
    - State "CANCELED"   from "TODO"       [2017-03-15 Wed 22:18]
A 2015 book that uses inductive proofs to prove facts about programs.

Glanced at it.  I think I hate this book's content style, which it share with
all the other The Little X books.  Apparently, I'm the only one who feels this
way though.
*** CANCELED An Introduction to Formal Languages and Automata
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 00:37]
A textbook from a course I took on this subject in gradschool, where only
selected parts were covered.  These topics do have ancillary influence on
various aspects of computer science, but I'm not convinced it's worth a
super-close study, given that I already know this stuff.  As a result, I'll
probably just give this a fast read.

Skipping this in favor of Introduction to the Theory of Computation.
*** CANCELED Applied Cryptography: Protocols, Algorithms, and Source Code in C
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 00:41]
The Bruce Schneier book, highly esteemed on the subject.

Will skip, since I don't have a need for cryptography in my more plausible
futures.
*** DONE 97 Things Every Programmer Should Know
    - State "DONE"       from "STARTED"    [2017-03-16 Thu 03:45]
    - State "STARTED"    from "TODO"       [2017-03-16 Thu 01:15]
An O'Reilly book on the SE trade.  Will plow through this quick in case there's
something here I can use.  Part of my light reading queue for Kindle.

Complete trash.  This is a missed opportunity to actually say at least
semi-profound stuff.  Instead we're stuck listening to a bunch of boring people
talk about their boring jobs.  A better book using this idea would have tracked
down some actual thinkers.  Bailing about 33% in.
*** CANCELED Compilers: Principles, Techniques, and Tools (2nd Ed.)
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 15:45]
The classic "Dragon Book".  This is the book to read if I want to know
compilers.  I have to decide first whether I'm really interested in this topic
though.  I'm considering contributing to some functional compilers, so this
would be the necessary groundwork for that.  If I don't want to do that, I may
just skim this and stick with the other language theory books covering
interpreter design.

I'm going to focus on pure PLT and skip compiler design for now.
*** CANCELED Compiler Construction with Flex and Bison
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 15:45]
Only read this if I want to do the kind of classic compiler design in the
dragon book.  If I don't want to do that, it's unlikely I'll read all of this
or program along with it (since I'd rather make interpreters in a functional
language), except perhaps casually for some additional comfort with the
principles behind the C and other compilers on Unix.

Canceling as part of a shift away from compilers.  I might come back to them
later, but I'll almost surely skip the compiler implementations in C either
way.
*** CANCELED Foundations of Computer Science
    - State "CANCELED"   from "TODO"       [2017-03-17 Fri 01:20]
Maybe good for a refresher.
http://i.stanford.edu/~ullman/focs.html

Canceling in part of my effort to reduce redundant self-study.  Also, I can
probably find a higher quality text for this if I wanted to invest the time
this would require.
*** CANCELED On Computable Numbers, with an Application to the Entscheidungsproblem (paper)
    - State "CANCELED"   from "TODO"       [2017-03-17 Fri 01:29]
The original Turing paper that formulates the Turing machine, recasts Gödel's
first incompleteness theorem in terms of computation, describes the concept of
universality, and equates Turing machine computability to the λ-calculus.  I
will probably just read The Annotated Turing first, then if I'm still
interested, I'll read this.  I doubt that will be the case though, since I'm
not a computing historian.

I glanced at this and it seems a low return on time, so canceling to make room
for higher value tasks.  Will just read The Annotated Turing.
*** DONE The Command Line Crash Course
    - State "DONE"       from "STARTED"    [2017-03-19 Sun 17:28]
    - State "STARTED"    from "TODO"       [2017-03-19 Sun 17:01]
A short e-book on the CLI, by Zed Shaw.  Plow through this quick and see if he
knows anything I don't.

Went through this whole book and already know everything here (minus the
PowerShell stuff, which I don't care about).  Would only be useful for a
complete n00b.
*** DONE Structure and Interpretation of Computer Programs
    - State "DONE"       from "STARTED"    [2017-03-20 Mon 00:01]
    - State "STARTED"    [2013-11-14 Thu 22:25]
Previously left off around exercise 25.

Instead of continuing this in Scheme, I'm going to restart this effort from
scratch using SICP Distilled.  I'll make a call on whether to come back and do
the full Scheme version after that, but it seems unlikely that there would be
any benefit in doing so if SICP Distilled lives up to its promises.
*** CANCELED Teach Yourself Scheme in Fixnum Days
    - State "CANCELED"   from "TODO"       [2017-03-20 Mon 08:58]
Replaced The Little Schemer (which after previewing a little, doesn't seem that
great) with this.  This is just for fun.  I don't think I actually need a
Scheme tutorial.

Notes:
- begin is analogous to CL's progn.
- eqv? is a general purpose equality function, less discriminating than eq?.
- Fractions are supported in the form x/y.
- Ports are equivalent to CL's streams.  See current-output-port.
- Variable arity: define a function with dot-notation.  For example:
  (define (f . x) (car (cdr x)))
- lambda, when, and unless include an implicit begin.

This is basically just an explanation of a subset of R5RS.  It's okay, but not
really anything special.

Canceling since I don't currently have any need for Scheme.  The only exception
might be EOPL, which I'm not completely sure I'll do.  If so, I might restart
this.
*** DONE SICP Distilled
    - State "DONE"       from "STARTED"    [2017-03-22 Wed 02:59]
    - State "STARTED"    from "TODO"       [2017-03-20 Mon 00:02]
Instead of finishing the official SICP in Scheme, I'm going to restart this
effort in Clojure by using this site: http://www.sicpdistilled.com/

The main downsides are that not all sections have been ported and, more
importantly, it looks the project's been dead for 2 years and has seemingly
turned into another Kickstarter scam.  That's a shame for backers, but it does
look like it already covers the core important points, so I'll still use it.
The GitHub account for the book is here: https://github.com/SICPDistilled/

This is definitely far from perfect:
- Misspellings that a spell checker should catch are present.
- Some code is syntactically incorrect.  Some hasn't been ported over and is
  still in Scheme.
- The author's claim that the core points are present is somewhat dubious,
  since only parts of chapter 1 are reasonably complete.
- The difference in writing quality from the original text and what the author
  has changed is quite jarring.  The original's prose is efficient, insightful,
  and deeply connected with other content.  The new stuff is at best highly
  pedestrian.

This is probably a dead end of an effort.  It doesn't look like the author is
up to the task, even if he did keep at it.  As it is, this is only marginally
useful for someone in a situation similar to mine, but ideally less familiar
with Clojure.  The errors here make it unsuitable for anyone still learning
these concepts or completely ignorant of the language, however.  So, the
plausible audience here is pretty small.

Anyway, I finished it, minus the projects, which I'll skip.  Code from doing
the exercises is in practice/clojure/sicp-distilled.  It's probably cheating a
little, but I'm calling my overall SICP effort done.  I may go back and just
read Chapter 4 of the original text some day, should I want some priming
material for getting started on writing interpreters.
*** DONE The Art of Prolog
    - State "DONE"       from "STARTED"    [2017-03-31 Fri 20:28]
    - State "STARTED"    from "TODO"       [2017-02-28 Tue 11:15]
This is the seminal Prolog text.  Reading this is part of my logic programming
meta-task.  I'll make a call on how deep to go into this book as I become
better acquainted with the subject, but my initial plan is chapters 1-7.  This
skips Prolog's imperative language facilities and other topics required to
write normal programs in it, but includes the majority of "pure Prolog" (that
part of the language which is exclusive to logic programming).

While I do like logic programming, Prolog as an environment leaves a few things
to be desired.  My preliminary observation about imperative Prolog are
definitely correct, and that's probably the biggest deal-breaker for me.
There's a story for SWI-Prolog where you can embed it into other languages to
solve logic problems, but that's extremely ugly and cumbersome.  This was
educational, but I'll stick to eDSLs like core.logic from now on.  Quit after
reading the first 2 chapters.  The majority of the core pure language is
covered pretty early on.
*** DONE The Joy of Clojure
    - State "DONE"       from "STARTED"    [2017-04-01 Sat 02:13]
    - State "STARTED"    from "TODO"       [2015-06-23 Tue 10:30]
More of the same as other Clojure books, but supposedly includes idiomatic
style and other potentially useful additions.  Since I didn't read Clojure
Programming in its entirety, I will do so here.

Notes:
- Use *e to reference last exception.  Just call it for Clojure exceptions.  To
  see full Java exception stacks, use ~(.printStackTrace *e)~.
- Use *1 for last expression, and so on.
- Use the delay and force functions to manually defer execution.
- Another object-like closure idiom is to have a function return a map
  containing multiple keys with values being functions.  See § 7.2.4 for
  example.
- The trampoline function serves the same purpose as recur, optimizing tail
  calls, but for mutual recursion.  The downside is some syntactic overhead and
  the need to pass functions returning functions to trampoline.
- There's a nice generic CPS implementation here, but as the book mentions, one
  probably shouldn't use this most of the time in Clojure, due to no TCO.
- nnext is the same as (comp next next).
- Anaphoric macros are non-idiomatic in Clojure, with only a few isolated
  exceptions like the proxy function.  Use ~'symbol in anaphoric macros to keep
  symbols from getting namespace qualified.
- The with-open macro will auto-call the .close method on a closeable object.
  Use this for things like streams instead of the more error-prone
  try/catch/finally pattern.
- The derive function can build a hierarchy of parent-child relationships of
  fully qualified keywords.  Useful for multimethods.  Use the isa?, parents,
  ancestors, and a few other functions in conjunction.
- Unless doing runtime extension of protocols, implement protocol methods for
  records within the defrecord call.  This benefits efficiency and allows for
  direct reference of the record parameter names.
- Consider defstruct deprecated.
- It seems the only use for deftype is to implement various interfaces.
  Generally, it should be avoided since it allows for creation of classes with
  mutable fields.
- Refs: Use these for synchronous coordination between multiple objects.  See
  chess board example wherein multiple space refs have to be updated in
  discrete transactions.
- Agents: Serialize operations in a queue against an object, e.g., serializing
  I/O operations to a file.  They have a lot of downsides though and should be
  avoided in most cases.
- The ~#'symbol~ reader feature expands to ~(var symbol)~.
- Futures: Defer computation, farming work out to a thread.  Dereference them
  to evaluate.  Multiple dereferences just evaluate to the previous result,
  without rerunning the future.
- Promises: Placeholders for values whose construction is fulfilled by another
  thread using the deliver function.  One use for this is to parallelize tasks
  and kick them off at the same time.
- Use the pvalues function to parallelize several arbitrary expressions.
- Use the doto function on mutable objects to chain operations against them and
  return them, e.g., ~(doto (atom 0) (swap! inc))~.
- When writing macros, always throw an Exception at compile time if possible
  (don't include it in syntax-quoted forms).
- Tagged literals can be used to extend the reader, including some built-in
  ones.  E.g., ~#inst~ will create a java.util.Date object.  Another is
  ~#uuid~.
- Use type hinting to increase performance where reflection is happening.
  Check if it is by setting ~(set!  *warn-on-reflection* true)~.  There are
  also some built-in primitive array type hints, like objects, ints, floats,
  etc.
- Observer pattern behavior can be had with add-watch and remove-watch
  functions, adding a watch function to a reference.

Find additional explanations of reify, refs, futures, promises.  Also look into
whether refs and agents are still relevant in modern Clojure design, given some
of the newer libraries that overlap their functionality.  I might want to
re-read the ClojureScript section when I get around to that.

This is a great book, with no filler or slop.  It's not quite perfect, mainly
with some examples having a lot of needless overhead.  This is more of a book
to get one productive with the language, but I'd still prefer a little
underlying theory to keep things interesting (chapter after chapter of
nuts-and-bolts info can get a little dry sometimes).  Alternatively, computer
science-like examples like what SICP has would be more generally educational
and less ephemeral than things like reading data from Twitter.  It's the best
Clojure book I've read so far though, and near perfect given the
background/character of the average Clojure programmer.
*** DONE Functional Geekery (podcast)
    - State "DONE"       from "STARTED"    [2017-04-01 Sat 18:17]
    - State "STARTED"    from "TODO"       [2017-03-07 Tue 07:56]
A still active podcast about all things functional.  Will be selective here,
and only grab the ones that I'm at least semi-interested in.  This podcast is
at episode 85 as of the time of download.

Extremely hard to listen to, mostly because:
- The host is rather dim-witted, and has a habit of embarrassing himself and
  saying cringe-worthy things in front of the smarter guests.
- In complete disrespect for the listener's time, episodes each include a huge
  block of ads at the beginning.
- A lot of these guests don't really have anything interesting to say, are just
  functional-lite programmers using Scala or F#, or are just shilling for
  things.  Tried to filter these episodes out, which is most of them.

I ended up further culling the listening queue, only listening to about 20
episodes total.  The dullard of a host is so painful to listen to, I had to
resort to turning the volume down to a murmur whenever he would talk.  Giving
up on this show.
*** DONE Clojure for Domain-specific Languages
    - State "DONE"       from "STARTED"    [2017-04-10 Mon 23:14]
    - State "STARTED"    from "TODO"       [2017-04-10 Mon 07:38]
I like DSLs, but I hate Packt Publishing.  Will give this a try anyway in my
casual reading queue on Kindle, and may do the same with the other Packt
Clojure books.

Unfortunately, this book is absolute garbage.  It's basically a very bad intro
book, with almost no content about the purported topic.  There is also plenty
of actually bad info in here and sloppy, amateurish code.  The writing is blog
quality at best.  I read about 20% and am bailing before this book actually
makes me a worse programmer.
*** DONE The Haskell Cast (podcast)
    - State "DONE"       from "STARTED"    [2017-05-23 Tue 22:39]
    - State "STARTED"    from "TODO"       [2017-04-14 Fri 13:25]
A Haskell-related podcast.  Appears to still be active, with episode 12 current
at present.  http://www.haskellcast.com/

While not as good as The Type Theory Podcast, this is still worth listening to.
Will check back in a few years and catch up.
*** DONE Modern Operating Systems (3rd Ed.)
    - State "DONE"       from "STARTED"    [2017-05-24 Wed 16:53]
    - State "STARTED"    from "TODO"       [2017-05-01 Mon 08:06]
The famous Tanenbaum OS book.  One of the books on the topic that I read some
of in college.  I had the notion afterwards to read the whole thing, though I
now question that goal's utility.  While the 4th edition is now out, I'm only
including this in my light reading queue, and the 3rd edition is all I have on
Kindle.  However, if I wanted to more seriously self-study this topic, I'd
probably default to Operating Systems: Internals and Design Principles (8th
Ed.) by Stallings.  I have an ancient 4th edition copy of this latter book.

Only read selected chapters, since there's a lot of page-count filler here.  A
good subset is probably: 2-6 and 13.  The goal here is to increase my detailed
familiarity with OS internals so I am more comfortable with modifying
Unix-variants, though that ability is unlikely to be extended much in this
endeavor.  Probably a more realistic expectation is just a refresher of basic
OS concepts.

Ended up reading chapters 2, 4, 5, 6, and 12, skimming good chunks of 2 and 4.
This book actually isn't that great and is rather below my already low
expectations.  Only maybe half of the topics here are relevant enough to be of
general usage to CS majors, and the content within those topics here is often
poorly chosen.  This is a particular shame since the world needs more people
focused on the lower level, but also because some of the concepts carry over to
general systems modeling.  No doubt many CS majors have their interest in
operating systems ruined because of classes using this book and others like it.
*** DONE In Search of an Understandable Consensus Algorithm (paper)
    - State "DONE"       from "STARTED"    [2017-06-28 Wed 21:28]
    - State "STARTED"    from "TODO"       [2017-06-28 Wed 17:39]
The paper being presented at the 2017-06-28 Papers We Love DC/NoVA event.
Reading in preparation of attending.  Here, "consensus" refers to the computer
science concept of achieving reliability in the presence of fault-capable
processes.  Most timely is application in distributed systems.

General information about consensus:
https://en.wikipedia.org/wiki/Consensus_(computer_science)

The paper:
https://raft.github.io/raft.pdf

This is actually only (very) mildly interesting.  Probably doesn't really need
to be this long either.  In fact, the code could probably speak for itself,
since it's only 2000 lines.  I'm also now a non-believer in the PWL meetup
concept.  The attendees were all pretty lame and cringe-worthy too.
*** DONE Mastering Clojure Macros
    - State "DONE"       from "STARTED"    [2017-08-14 Mon 00:35]
    - State "STARTED"    from "TODO"       [2017-04-11 Tue 06:52]
Will include this as part of my plan to close the gap on Clojure topics I'm
lacking detailed knowledge on.  Clojure's lack of regular need for macros has
made me a bit squishy in this department.  In CL, macro writing skills benefit
greatly from a formal text on the subject, and perhaps that's the case here
too.  Purchased a hard copy.

Notes:
- clojure.walk/macroexpand-all can walk a complex data structure.
- The #= reader macro is read-eval.  Calling read on a user input string with
  this can be a security issue.  Use clojure.edn/read for that.
- Syntax-quote namespace qualifies all symbols, unlike quote.
- Run ~(set! *warn-on-reflection* true)~, then any particular expression to see
  warning reports when reflection happens.  Always check if reflection is
  actually happening before using type hints.

Also gave a presentation on macros in Clojure.  This book helped some in
preparation for that.
*** DONE Why Types Matter (slides)
    - State "DONE"       from "STARTED"    [2017-10-09 Mon 03:34]
    - State "STARTED"    from "TODO"       [2017-08-26 Sat 10:29]
Slide series on introductory concepts in types.  Use as a refresher to get
started on type theory studies.

Okay for a slide deck, though I'm not sure it actually explains (at least in
the slide content) why types actually matter.  Of particular interest is the
tables relating concepts across domains (extending the C-H correspondence) and
some of the introductory content.
*** DONE Functional JavaScript
    - State "DONE"       from "STARTED"    [2017-10-24 Tue 18:38]
    - State "STARTED"    from "TODO"       [2017-10-09 Mon 09:42]
A book on FP in JavaScript, centered around Underscore.js.  Selected this for
some light reading on the Kobo, but also in prep for some upcoming web dev.

Notes:
- ~apply~ and ~call~ are methods on the Function prototype.
- ~arguments~ is a argument list variable available within every function.
  Declaring a function with no arguments, but then using the ~arguments~
  variable is a way to define varargs functions.

These simple functional patterns sure are needlessly complex in JavaScript.
*** DONE Functional Programming in Haskell (online course)
    - State "DONE"       from "STARTED"    [2017-11-07 Tue 23:54]
    - State "STARTED"    from "TODO"       [2017-09-20 Wed 09:43]
Signed up for an introductory course held online by the University of Glasgow
and hosted on FutureLearn.  Will give it a try, but will bail if there's issues
with the presentation or content.  Course starts on 2017-09-18.

Some comments:
- Video as a delivery mechanism for anything programming-related sucks.  These,
  in particular, have a lot of extra filler.
- I'm not sure a total noob would fair well here.  It's probably better as a
  refresher for someone like myself, but less comfortable with FP concepts.
- Reminder: ~map f (map g xs)~ is the same as ~map (f . g) xs~.

There's only a very narrow range of person I see the course being useful for.
While it could serve as a good introduction to functional concepts, getting
through this with just the course material would be very tough.  For someone
like myself, it's mostly a waste of time and serves as only a very thin
refresher.

Well, I was working on this, but not at the rate at which it was taught.
Apparently there's a time limit on access to the course material, unless you
pay money.  So, I only made it about half way.  I'm not to upset about that
though, as I can find more efficient usage of my Haskell practice time.
** Math
*** DONE Travels in a Mathematical World (podcast)
    - State "DONE"       from "STARTED"    [2017-02-21 Tue 20:33]
    - State "STARTED"    from "TODO"       [2017-02-08 Wed 10:11]
A series of audio files on various math topics.  Probably only good for some
high level context, but I do see a few subjects covered here that might be
interesting.  If it does that, I'll be happy enough since it's audio.  This
series is complete at 64 episodes.
http://www.travelsinamathematicalworld.co.uk/

I learned a couple things, but it's definitely not very information-dense.  Far
too much time is wasted talking about math outreach/education.
*** DONE Basic Category Theory
    - State "DONE"       from "STARTED"    [2017-03-16 Thu 00:43]
    - State "STARTED"    from "TODO"       [2016-10-11 Tue 23:06]
Seems like a completely facts-only math text, which I generally like, provided
I have the background to digest it.  I'll just get what I can from this one and
supplement with another text later.

Did some of this text, but many exercises are beyond my current capability.
Will revisit this text later if I need exercises after reading more remedial
content.
** General Non-fiction
*** CANCELED The Complete FreeBSD
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 01:11]
Looks like this is too old to be a useful reference.  I'll just read a selected
subset of chapters on stuff that looks like it'd still be relevant and are
about things I'm not quite fully knowledgeable on.

Canceling due to age, in favor of The Design and Implementation of the FreeBSD
Operating System.
*** CANCELED ARRL's Tech Q&A (5th Ed.)
    - State "CANCELED"   from "TODO"       [2017-03-18 Sat 03:34]
A study guide for the ham radio technician license.  Not sure if I'll go
through with this, but I've been meaning to learn more about radio anyway.  Ham
seems like mostly a waste of time beyond learning the basics.  Putting this off
until I get a permanent location to live so I don't have to lug around stuff.

I may come back to this stuff one day, but I'm suspending all things ham for
now, mostly due to it being a technology dead end.  If the human body would
only support a longer life, I might have time for more hobbies.  As it is, I
have to be selective.
*** DONE A Critique of Democracy: A Guide for Neoreactionaries
    - State "DONE"       from "STARTED"    [2017-03-19 Sun 16:25]
    - State "STARTED"    from "TODO"       [2017-03-17 Fri 02:39]
The more promising of the two NRx books I have on Kindle.  Will give this a
try, but with a finger hovering over the eject button.

This is actually very well written.  This writing would probably be better
served detached from a potentially ephemeral social movement.  I suppose my
only criticism is that it includes a large quantity of block quotes, mostly
from Democracy: The God that Failed, and that there still does exist some
blog-like editorializing.

Regarding its neo/corporate-monarchist/aristocracy position, it is hard to
argue with the reasoning here and I've generally been on this side of the
comparison to democracy for some time.  I particularly find such fundamental
analysis of incentives (intended or otherwise) to be an improvement over
ideology.  My main criticism is that this choice here is not a dichotomy, and
I'd like to see the same intellectual rigor put against a wider spectrum of
societal types.  Some Moldbug and other blogs exist on the subject, but these
(in my limited exposure) tend to be lazily dismissive.

Even if eloquently worded, part of me nonetheless hates reading polemics in
this genre.  That's due to any discussion about such things necessarily being
hand-wavy.  My conjecture is that what's lacking is a baseline simulation to
run objective experimentation in.  My thoughts are that a successful sim will
require a calculus of agent/system interaction, but that it's not unfeasible to
me that such could be developed iteratively and empirically along with the sim.
One would think that neoreactionaries, or at least Dark Enlightenment
worshipers of the Machine God, would appreciate this--that is, if their
objectivity stands as advertised.
*** CANCELED Democracy: The God that Failed
    - State "CANCELED"   from "TODO"       [2017-03-19 Sun 16:25]
A comparison of democracy and monarchy, where the latter is depicted as closer
to privately-run government.

Having read large excerpts of this text in A Critique of Democracy: A Guide for
Neoreactionaries, I'll go ahead and skip this.  From what I read, this does
seem like a good book, and is probably the superior of the two to read.
However, I've rather had enough of the subject for awhile.
*** CANCELED The Road to Serfdom
    - State "CANCELED"   from "TODO"       [2017-03-19 Sun 16:29]
Hayek's treatise against state control over economies.  I think I'll make this
the only political book I'll read for a very long time, perhaps forever.  Even
when I agree with it, I find politics super boring.  I've generally settled on
the idea that societies only need one or at most two rules to function properly
(a definition of private property and non-initiation of force) and that there's
really not much more of worth that can be said about it.

Canceling along with the rest of my remaining political books.
*** CANCELED Merriam-Webster's Dictionary of English Usage
    - State "CANCELED"   from "TODO"       [2017-04-01 Sat 02:27]
Supposedly the foremost tome for anyone interested in proper English grammar.

I thought I had a copy of this.  I guess not.  Will find something else in the
same category.
*** DONE Mastering Emacs
    - State "DONE"       from "STARTED"    [2017-04-09 Sun 04:06]
    - State "STARTED"    from "TODO"       [2017-04-09 Sun 01:23]
A 2015 book on The One True Editor.  Will read this, but it looks like there's
a lot of remedial stuff in here for me, so I'll skim sections full of things I
already know.

Notes:
- M-x emacs-uptime
- M-x lunar-phases
- C-x 8 C-h: List all C-x 8 characters.
- M-m: Move to first non-whitespace char on line.
- C-M-f, C-M-b: Move forward/back by sexp.
- C-M-n, C-M-p: Move forward/back by list.
- C-M-u, C-M-d: Move up/down list.
- C-M-k: Kill sexp after point.
- M-a, M-e: Move begin/end sentence.
- M-k: Kill sentence.
- C-x r b, C-x r l, C-x r b: Add, list, jump to bookmark.
- C-M-s, C-M-r: Forward/backward regexp search.
- M-s o: Occur mode (list occurrences of string in file).  In the Occur buffer,
  you can also hit e to enter edit mode.  C-c C-c will save and exit edit
  mode.
- C-M-%: query-replace-regexp
- M-%: query-replace.  Note: Use ^ go back to previous matches.
- M-x count-words, M-x count-words-region: Also gives line/char count.
- M-x flush-lines, M-x keep-lines: Regexp-based line filtering.
- C-h l: See lossage, which is the last 300 keys typed.
- M-x sort-regexp-fields: Use a pattern to sort regular data, like CSV data on
  certain fields.
- TRAMP with sudo: Use something like C-x C-f /sudo:root@localhost:/etc/fstab
  to edit a local file as root.  Might have to switch away from lusty-explorer
  if I want to use this though, since it seems to interfere with the TRAMP
  prompt.

A great book for beginners, though I picked up a several things too.  On the
author's advice, I'll take the time to properly learn everything dired-related
at some point.  I might also start using the various shell modes more too,
especially for running persistent applications from the shell.
*** DONE tmux Taster
    - State "DONE"       from "STARTED"    [2017-04-09 Sun 15:08]
    - State "STARTED"    from "TODO"       [2017-04-09 Sun 04:26]
A 2014 book on tmux.  I'll give my screen->tmux switch another chance by
reading this.

Notes:
- C-a ?: Access the key binding reference.
- C-a : list-commands: List all command prompt commands.
- C-a ~: Show message buffer.
- C-a w: Show window list.
- C-a [: Copy mode.  vi keys work here, including searching.
  Use :<line-number> to jump to line.  q or ESC exits.  I have Emacs mode-keys
  enabled, so this means Emacs movement keys work, C-SPC sets mark, M-w copies,
  etc.  Once back out of copy-mode, use C-a ] to paste.
- C-a o: Cycle through panes.
- C-a q: Show pane numbers and sizes.
- C-a z: Toggles full-screening current pane.
- C-a SPC: Cycle through pane layout algorithms.
- C-a : setw synchronize-panes: Toggles synchronized input for displayed panes.
- C-a l: Go to last window.

Sloppy, blog-like writing.  There's actually a few bits of bad advice in here
too, typical of Ubuntu/OSx users.

However, since I was still a bit ignorant of tmux, reading this did help some.
I further tweaked my .tmux.conf file to cover and surpass the functionality
gap.  Unlike most tmux users, I'm going no status bar, except on muze.  I
skipped tmux copy buffer integration with clipboard, since those solutions are
OS-specific.
*** CANCELED Founders At Work: Stories of Startups' Early Days
    - State "CANCELED"   from "TODO"       [2017-04-09 Sun 16:49]
Instead of endlessly reading stories on individual companies, this compendium
will hopefully give me a broader view of startups and help me decide on how
I'll approach the concept myself.  Will bail on individual stories that seem
not worth the time though.

Read some of this and it's too full of personal prattle of little-to-no
consequence.  These kind of stories were once enlightening to me, but having
read 100s of them, are just a waste of time now.
*** DONE Ascending the Tower (podcast)
    - State "DONE"       from "STARTED"    [2017-04-13 Thu 15:31]
    - State "STARTED"    from "TODO"       [2017-03-16 Thu 22:44]
An NRx podcast.  Not really into NRx, but I do like theory fiction.  Will give
this a try and bail if it's just politics.  At least listen to "Solo Climb 1 -
Gnon".  http://www.socialmatter.net/category/ascending-the-tower/

This is higher on the public discourse intelligence spectrum than, say, cable
television and mainstream print media.  At its best, it can be a good sampling
of new and interesting ideas, but the majority of the content consists of
editorial reactions to political and cultural current events, idle chatter, and
pseudo-intellectualism.  Ended up heavily culling the queue to exclude
particularly unpromising ones, to some effect.  Having concluded this task, I'm
going back to ignoring politics, current events, and mainstream culture.
*** DONE Version Control With Git (2nd Ed.)
    - State "DONE"       from "STARTED"    [2017-04-16 Sun 02:22]
    - State "STARTED"    from "TODO"       [2017-04-14 Fri 13:28]
A 2012 book on git.  Supposedly more narrative than Pro Git, though also less
useful as a reference as a result.  Very long, much exceeding my interest/need,
so I'll exclude a few chapters outside of scope.  Read chapters 1, 3-12, 14-15,
and 20.

Notes:
- Use the double dash convention to split files from arguments, e.g., =git diff
  -w master origin -- file.c=.
- I set the GIT_EDITOR env var to emacsclient.  Now, =git commit -a= or =git
  commit filename= calls will open in my Emacs session.
- =git show= can display commit details.
- Keep all config settings in my master ~/.gitconfig file, instead of using
  calls to =git config --global=.  For repository-specific settings, do use
  this command, however, but exclude the global flag.
- Use =git log --follow filename= to track the pre-move history of a file that
  has been moved.
- Relative commit names:
  - Use ^ to specify parent where a name has multiple parents (such as in a
    merge), e.g. HEAD^2 for the second parent of HEAD.
  - Use ~ for walking up the tree depth-wise, e.g. HEAD~2 is HEAD's parent's
    parent.
  - Either with no numeric parameter is equivalent to specifying 1.
  - The above can be combined to arbitrary depth.
  - These can be used almost anywhere, like =git checkout -b new-branch
    master^= will create a new branch from one commit behind master and switch
    to it.
- The workflow for =git bisect= is:
  - =git bisect start=
  - =git bisect good label_or_hash=
  - =git bisect bad label_or_hash=
  - Repeatedly issue =git bisect good= or =git bisect bad= commands to let the
    command determine the next commit to check.
  - =git bisect reset=
- =git blame -L 35, somefile= can be used to find who/when modification info
  about a line.
- =git checkout -m branch_name= will switch to a new branch while carrying over
  uncommitted changes.  -m isn't necessary if the carry-over is clean.  Note
  that a conflict might still need manual resolving.
- "Detached HEAD" means being on an "anonymous branch", which is any state not
  on a branch tip.  =git checkout branch_name= sends one back to a branch.
- Use =git branch -d branch_name= to delete a branch.
- =git branch -a= lists all branches.
- During conflicts, run =git diff= to show differences between the working
  directory and the index.
- Merging:
  - Normal merges: Checkout branch to merge to, run =git merge source-branch=
    to merge.  Add additional source
    branches if desired.
  - Conflicts will be marked as such.  Like with other conflicts, use =git add
    filename= as they are resolved.  Then do a =git commit= when done.
- =git reset --hard ORIG_HEAD= will discard commits not pushed to origin.  Also
  discards merges.
- Use the .. syntax for specifying a range of commits, e.g. =git cherry-pick
  X..Y= will pull in commits in that range to the current branch.
- Use =git rebase source_branch target_branch= to move all commits from a
  branch into another.  Good for catching a branch up to the latest.
- =git revert some_commit= creates a new commit that reverts a specific commit.
- The stash is a stack.  Use =git stash save= and =git stash pop= to push/pop
  from it.
- =git reflog show= shows a record of all transactions on HEAD (without a
  ref parameter).  Use =git show= on the refs listed for details.

An okay book, without any glaring issues.  Doesn't follow/mention the proper
conventions for Git commit messages.  Very dry, but that can't be helped
probably.  I should have read it long ago when I switched to git, saving
learning a lot of this stuff the hard way.  Will try to pay tool overhead like
this upfront more often in the future.
*** DONE Docker in Action
    - State "DONE"       from "STARTED"    [2017-04-18 Tue 02:04]
    - State "STARTED"    from "TODO"       [2017-04-17 Mon 09:32]
A 2016 book on practical application of Docker.  Just read the first 3
chapters, then maybe skim the rest.  Skip chapters 11 and 12.  Don't study the
contents too closely, since some reviewers say the commands and technical
details are wrong and/or outdated.  If I really want to actually do stuff, I'll
just use a more up-to-date online resource instead of a book.

I might start using Docker on a GNU/Linux VM for a few things, like running a
web browser for doing bills/finance.  I don't feel a particularly pressing
need, however.

Anyway, I only read the first few chapters.  This was pretty dry and tedious,
and basically just a long-form manual.  Since it's already outdated, there's
not much point in reading it all.  I kinda get the underlying concepts now, at
least.
*** DONE The Distracted Mind: Ancient Brains in a High-Tech World
    - State "DONE"       from "STARTED"    [2017-04-20 Thu 04:40]
    - State "STARTED"    from "TODO"       [2017-04-18 Tue 03:15]
A 2016 book on the neuroscience/psychology of distraction and multi-tasking.
I've tried to address this issue, going to lengths the average American
considers extreme.  These methods (at least in aggregate) seem highly
effective, but sanity-check my approach by reading this book.  Perhaps I'll
also get additional context for further improving my life in this area.

Notes:
- Research indicates that stimulus-reward systems exist for humans, primates,
  and other higher mammals in the activity of information foraging.
- The perception-action cycle, mechanistic in simpler organisms, is interrupted
  in the human brain by highly-evolved neural processes that determine goals.
  These are called executive functions.
- Executive functions are hosted by the prefrontal cortex and include the pause
  mechanism, wherein stimuli response can be suspended to manage/enact complex
  goals.  Without the prefrontal cortex, one is at the mercy of animalistic
  propensities.
- Research shows that ignoring stimuli is an active process.  It takes
  resources to filter out the irrelevant.
- Even something as simple as looking at a picture or a face, decreases
  effectiveness at mental tasks, when the stimuli is non-relevant to the task.
  Stimuli type seems to not matter too, as irrelevant audio stimuli will have
  the same disruptive effect on visual tasks.
- As human brains age, their ability to suppress distraction decreases.  This
  is related to lower working memory performance.
- Use of distracting technology, like smartphones, is linked to lower GPA,
  increased anxiety, and lower life satisfaction.
- There is a connection between wavelengths of natural light and the human
  sleep cycle.  It might suggest it being healthier to have sunlight as a
  factor in one's sleep.  Screen time prior to sleep is also related to poorer
  sleep quality due to the light emitted.
- The three big "game changers" by the book's estimation are the Internet,
  smartphones, and social media.  In my case, only the Internet is a threat,
  but I'd also have to add video games to the list.
- Exposure to short reward cycles increases susceptibility to boredom.  Random
  reward cycles leads to behaviors resistant to extinction.

I find most of the suggestions in the book's final chapters to be highly
suboptimal.  I'll stick with my approaches, with some minor modifications
informed by the information here.  Some life adjustments to try:
- Try letting natural light be a factor in my day more.
- If reading before sleeping, favor the Kindle's e-ink screen + lamp to a
  monitor.  If using the laptop, keep it >14" away from the face and dim the
  screen.
- Don't even have my email client open on my workstation.  Make it take a
  conscious effort to check it, which will mean I'll only do so a few times a
  day, max.
- Internal thoughts are a big source of distractions.  I benefit from a brain
  going in multiple directions, making deep connections, and generally coming
  up with ideas.  On the other hand, I also need extreme focus.  Since I don't
  want to sacrifice the former type, maybe just try to filter for the helpful
  interruptions and quickly discard useless ones like a notion to check email.
  Another strategy I already use is to note task branches to come back to
  later.  This seems super effective.
- In line with the above, consider using org-capture.el.
- Be wary of activities with short reward cycles.  Many video games have these
  (i.e., constantly collecting coins) and should be avoided.  In fact, all
  artificial reward systems should probably be avoided so as not to condition
  the brain for operating in distorted realities.
- Generally: Ignoring active distractions has a cost, but is usually a net
  benefit if their presence can't be helped.  Even better is being away from
  them altogether though.  The human brain can't get substantively better at
  multi-tasking, so it's not worth trying.
- The exception to the above is video games with management of multiple
  simultaneous goals.  These appear to help quite a bit.  Keep in mind the
  previously mentioned issues about rewards when selected games, however.
  Also, only a very small number of hours of games interaction is needed to get
  this benefit.
- Exercise seems unquestionably helpful in this regard.  I already do this, but
  this is another good reason to continue.

This book is at its best when talking neuroscience, and weakest when in the
weeds of technology (as it's obviously written by non-technologists).  While
some of the technology-centric models are less than stellar, I still think they
mostly draw the right conclusions due to being correct enough where it counts.

As expected, the final conclusions drawn about what to do about these issues
are quite terrible.  Psychological models tend to have problems when schemes
are devised to apply them in practice.  I have a working model already, so I'll
just let the hard data here inform it in areas where conjecture ruled.
*** DONE The Rising Sun: The Decline and Fall of the Japanese Empire
    - State "DONE"       from "STARTED"    [2017-06-19 Mon 18:20]
    - State "STARTED"    from "TODO"       [2017-06-12 Mon 22:15]
Supposedly the best book on the topic, told from the Japanese perspective.

A very entertaining read and very well researched.  Delivers on its promise of
an inside look from the other side.  Not a complete narrative of the course of
the war in the Pacific theater, but I guess that's not the goal of the book.
*** CANCELED At Our Own Peril: DoD Risk Assessment in a Post-Primacy World
    - State "CANCELED"   from "TODO"       [2017-09-08 Fri 20:21]
A June 2017, 145-page paper from the Strategic Studies Institute on grand
defense strategy.

Looks like both the MOBI and EPUB versions of this document are messed up.  The
PDF version works, but I was planning on reading this on the e-reader while
commuting.  Not interested enough in it to read with my at-home time.
*** DONE The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage
    - State "DONE"       from "STARTED"    [2017-09-14 Thu 06:25]
    - State "STARTED"    from "TODO"       [2017-09-12 Tue 21:41]
A recounting of tracking down an intruder on the LBNL network.  I read an
excerpt of this back in the 90's and found it interesting.  However, I was also
easier to impress back then.

A little weak on some of the technical details and some descriptions and
explanations are a bit off.  Also, I hate hippies, even ex-hippies, and the
mundane aspects of the author's life can be safely skimmed.

Apart from that, it's a good narrative, though I doubt all the details are
completely accurate, since some ring a bit embellished.  For example, some of
the government-speak doesn't make sense and is completely unheard of by me as a
defense contractor.  Like the Agency referring to The Fort as "the Northern
entity", whereas Ft. Meade is to the east of Mclean, VA.  Lots of oddities like
this abound.

Fun fact: Robert Morris, a former chief scientist at the NSA, collaborated on
this case.  He's also the father of the author of the Morris Worm.
*** DONE Superintelligence: Paths, Dangers, Strategies
    - State "DONE"       from "STARTED"    [2017-09-28 Thu 20:57]
    - State "STARTED"    from "TODO"       [2017-09-14 Thu 06:25]
The popular book on superintelligent AI by Nick Bostrom.  Though I disagree
with the conclusions many are drawing about this topic via following this line
of thinking, I'll give it a chance.  Will bail if it's too pop-science.

This is actually an excellent book.  Content-dense, it also does a great job of
rolling up a lot of information at outline depth.  I do have a few qualms about
its message, however, though they are generally minor.
*** DONE Healing the Angry Brain
    - State "DONE"       from "STARTED"    [2017-10-06 Fri 02:28]
    - State "STARTED"    from "TODO"       [2017-09-28 Thu 20:59]
A neuroscience-based approach to discussing being controlled by unhelpful
emotion.  Was going to skip this, but taking a peek into it, I found the
content quite good.

This starts great, but devolves into squishy self-help full of blog-like
personal experience ramblings.  Put up with it as long as I could, but had to
bail about 66% in.  It's always a shame to see how sloppy this field gets, once
you cross over from neuroscience into psychology.
** Fiction
*** DONE Red Storm Rising
    - State "DONE"       from "STARTED"    [2017-01-14 Sat 02:35]
    - State "STARTED"    from "TODO"       [2016-12-15 Thu 08:10]
Will give a Clancy novel a try.  This one is stand-alone, and seems the most
appealing of his bibliography.  I think I read part of this long ago, but never
finished.

As expected, Clancy has done his research on US and Russian equipment, tactics,
and military culture.  Clancy has also thought deeply about how certain kinds
of military encounters might play out.  The results are highly realistic.  All
stuff related to these points is a rare pleasure to read, and there really
aren't any other viable options if you want realistic, cold war, military
fiction.

Alas, whenever he ventures out of those areas he excels at, the writing becomes
rather standard dime novel quality.  The reader is advised that he can safely
skim over love stories and pointless personal drama, since they really don't
affect the core story--just as they wouldn't in real life.  The only other
downside is the jarring switching of scope, where we go from the strategic to
squad level from one chapter to the next.  Clancy is best when he keeps it high
level.

I might consider reading his book "SSN", since he seems at his best with cold
war naval scenarios.  That's also likely to avoid the level of abstraction
issues faced here.
*** DONE Station Eleven
    - State "DONE"       from "STARTED"    [2017-01-21 Sat 03:48]
    - State "STARTED"    from "TODO"       [2017-01-14 Sat 21:15]
A scifi book about a biological pandemic, an unexplored sub-genre for me.  Will
give it a try.

Well done in some ways, but also spends way too much time on personal drama and
feelings, all to no end.
*** DONE The Outward Urge
    - State "DONE"       from "STARTED"    [2017-01-25 Wed 11:01]
    - State "STARTED"    from "TODO"       [2017-01-21 Sat 04:31]
A collection of short stories comprising a complete narrative.  Supposedly hard
scifi.  Written by John Wyndam, who is more well known for The Day of the
Triffids.

Okay, but somewhat unremarkable.  Didn't age well in some respects.  Follows a
single familial line through the ages, to no real end.
*** DONE Starship Liberator
    - State "DONE"       from "STARTED"    [2017-02-04 Sat 13:16]
    - State "STARTED"    from "TODO"       [2017-01-26 Thu 00:41]
A military scifi novel about a conflict between humans and aliens, where the
aliens vastly outnumber the humans.  Might be crap.

Very low quality storytelling (with quality decreasing further as the story
progresses), but a mildly interesting universe.  A better story would've been
the same conflict, told from a naval perspective.  We see some hints of this,
so with a little extra thought on the matter, the author might've been capable
of it.  This is the first in a series, with the other books not yet out.
*** DONE Howl
    - State "DONE"       from "STARTED"    [2017-02-07 Tue 18:33]
    - State "STARTED"    from "TODO"       [2017-02-07 Tue 02:09]
The poem by Allen Ginsberg.  I read this in college, but I'll give it a quick
reread, now that I'm a grownup and unlikely to defer to institutional esteem
for an author.

The premise here is that industrial society, or the system, or whatever,
represented by Moloch, is responsible for grinding up the otherwise promising
lives of artists, drug addicts, pedophiles, etc.  At the same time, the poem
celebrates said lives as they are, in flowery, obscurantist verse that
obviously was extensively labored over.  In the end though, this is garbage,
conveying no real information.  I would even argue that the main point here is
incorrect, as evidenced by modern, post-industrial society.  Finally, while a
lot of this was hip and cutting edge at the time, full of contemporary pop
culture references, much hasn't aged well.

Ginsberg is also a degenerate himself and a child molester.  Here, his
depravity is on full display, and if anything, should only serve as a example
of poor life management and basal urges left to run amok.  Reject sloppy
thinking and poetry, kids, and sign up for that computer science class.
*** DONE Micro
    - State "DONE"       from "STARTED"    [2017-02-15 Wed 03:33]
    - State "STARTED"    from "TODO"       [2017-02-08 Wed 10:10]
One of the posthumous Michael Crichton novels.

I was rather hoping this was a story about microbiology.  Turns out to be more
of a semi-hard scifi version of "Honey, I Shrunk the Kids".  In some ways, the
scale and reality of insect life is portrayed well.  Apart from that, this is
standard action/thriller-style writing typical of Crichton.  Many very
predictable things transpire.  Worst is executing the trope where we start off
with a large group of people (particularly college kids, as is the case here),
and then kill them off one by one in non-repeating ways.
*** CANCELED Hellfire
    - State "CANCELED"   from "STARTED"    [2017-02-16 Thu 02:29]
    - State "STARTED"    from "TODO"       [2017-02-15 Wed 19:59]
A thriller novel involving the Islamic State, by British military fiction
author Chris Ryan.  Might be crap.  This is the third in a series involving the
main character, but he seems pretty stock so I doubt that matters much.

Read into this about 7% and am bailing.  Reads like a B-grade action movie.
*** DONE Seveneves
    - State "DONE"       from "STARTED"    [2017-03-14 Tue 05:01]
    - State "STARTED"    from "TODO"       [2017-02-16 Thu 23:09]
A new Stephenson novel, post-apocalyptic in style.

Some decent hard scifi.  Could be a contender for one of his better novels, but
is nearly ruined by too many flaws, including:
- This commits the unforgivable error of constant references to social media
  applications popular in 2016, guaranteeing it will age poorly.  These also
  don't make any sense here, as the story is set at least a good 30 years in
  the near future, and probably much more (judging from robot technology),
  making their appearance all the more awkward.
- Includes sex scenes and romance content irrelevant to the plot.
- Constantly cycles on a trope where a hasty, yet clever, improvisation saves
  the day.  In fact, that's pretty much how all resolution comes about.
- Often boring and tedious in places.  Repetition is also too common.
- The entire latter half of the book is significantly poorer in quality than
  the first.  Standalone, it wouldn't be worth reading.

Most of the major annoyances cease about 60% in, but that's replaced by the
tedious boredom.  I guess I don't regret reading this, since there are some
good parts, but the bad parts really make this one borderline.
*** DONE Sum: Forty Tales from the Afterlives
    - State "DONE"       from "STARTED"    [2017-03-17 Fri 00:39]
    - State "STARTED"    from "TODO"       [2017-03-16 Thu 15:47]
Conjecture about different kinds of afterlife scenarios.

This is a compendium of super short scenarios that read like someone
brainstorming for ideas for some other work that didn't go anywhere.  Quit
after getting about third in, having yet to find any compelling content.
*** DONE Eden
    - State "DONE"       from "STARTED"    [2017-04-14 Fri 02:10]
    - State "STARTED"    from "TODO"       [2017-04-03 Mon 02:37]
Another Lem novel, in his series of standalone novels pessimistic about first
contact.  Side note: Use the kindlegen utility for converting epub files to
mobi.

Uninspired, and probably the weakest of the Lem novels I've read.  A lot of
nothing happens in this book, despite a setting with a lot of possibilities.
The theme is weakly implemented, since we have communication possible (and also
not very interesting) and the only distance being societal and linguistic.
*** DONE The Principia Discordia
    - State "DONE"       from "STARTED"    [2017-04-17 Mon 07:46]
    - State "STARTED"    from "TODO"       [2017-04-17 Mon 02:06]
Meant to read this long ago, but never got around to it.  Will decide if I want
to go around saying "Hail Eris" and "fnord", giggling to myself.  Have a mobi
copy on Kindle.

If I find this compelling, there's a whole series of Discordia-related texts
one could read: https://en.wikipedia.org/wiki/List_of_Discordian_works

Mildly amusing at times, but also often boring.  Not really that funny overall.
Humor is of the style used in Catch-22 (though not as well done), in that the
authors more enjoy word-play and quirkiness over actually clever content.  This
could also use a rewrite/update, as some content here hasn't aged well.
Discordianism is more interesting conceptually than fleshed out.  Will give
this stuff a pass in the future.
*** DONE A Deepness in the Sky
    - State "DONE"       from "STARTED"    [2017-05-13 Sat 21:24]
    - State "STARTED"    from "TODO"       [2017-04-24 Mon 01:07]
A Vinge novel and prequel to A Fire Upon the Deep.  Read on Kindle.

Very lacking in creativity on the ETI civilization.  The far future human
diaspora is good in some ways, mediocre in others.  This fictional universe has
a few compelling aspects to its vision, but they aren't really explored much
here.  Pacing is plodding and full of non-consequential content.  Ending is a
little predictable.
*** DONE The Invention of Morel
    - State "DONE"       from "STARTED"    [2017-06-22 Thu 01:28]
    - State "STARTED"    from "TODO"       [2017-06-20 Tue 01:33]
Supposedly a really good scifi novel from 1940.

I find this novel's acclaim unfounded.  The plot includes several holes.  For
example, there's no explanation for supposed others who have died from being on
the island.  Only nominally scifi.
*** DONE Brain Wave
    - State "DONE"       from "STARTED"    [2017-06-25 Sun 23:03]
    - State "STARTED"    from "TODO"       [2017-06-22 Thu 01:28]
A Poul Anderson novel about biological superintelligence.

Rather weak and with a lot of issues.  The premise is interesting, but is
somewhat squandered.  Most disappointing is that no one actually does or says
anything particularly intelligent in the novel.  The best we get is narration
of them supposedly doing those things.
*** DONE The Saturn Game
    - State "DONE"       from "STARTED"    [2017-06-28 Wed 17:07]
    - State "STARTED"    from "TODO"       [2017-06-26 Mon 01:30]
A Poul Anderson novel emphasizing the length of interplanetary travel.

Actually this is more focused on imagination taking over perception of reality.
This book's premise is interesting and plausible, but would be hard to do
right.  Anderson is capable of excellence, and that's almost evident here in
isolated places.  Unfortunately, the execution often lets me down, as is the
case here.  This one is the worst of his that I've read.
*** CANCELED The Killing Star
    - State "CANCELED"   from "TODO"       [2017-07-01 Sat 10:27]
A 1995 hard scifi novel about a large set of speculative ideas.

Not available as an e-book, and apparently out of print.  Therefore, it's a bit
too expensive for a 340 page novel of unknown quality.
*** DONE The Crying Lot of 49
    - State "DONE"       from "STARTED"    [2017-07-04 Tue 02:17]
    - State "STARTED"    from "TODO"       [2017-06-28 Wed 17:26]
Apparently a parody of postmodernism, though modern adherents seem to be
oblivious to that.  Maybe read Gravity's Rainbow after this if I like it.

Well written and sometimes a pleasure to read, but ultimately devoid of purpose
or reward for effort.  While the author is extremely talented, he sometimes
expends energy in directions that either are full of old pop culture references
that haven't aged well, pointless and just a waste of time to read, or akin to
a poem someone worked hard on that just doesn't quite work out.  Remove the
eloquent prose, and this story isn't anything special.  In fact, I'd say it's
broken in numerous ways.  I'll still give Gravity's Rainbow a try, since
supposedly that is better.
*** DONE There Will Be Time
    - State "DONE"       from "STARTED"    [2017-07-08 Sat 21:02]
    - State "STARTED"    from "TODO"       [2017-07-05 Wed 02:08]
Another potentially interesting novel from the Anderson bibliography.  It is,
however, based on time travel, which tends to result in lame reads.

Only okay.  I could see this premise being used to greater effect, but as is,
there's not enough here.  Minus additional points for having primeval SJW
social conditioning content.
*** DONE The Lost Fleet (reread)
    - State "DONE"       from "STARTED"    [2017-08-08 Tue 21:28]
    - State "STARTED"    from "TODO"       [2017-07-18 Tue 23:17]
Re-reading this 6 novel series to refresh my memory for Beyond the Frontier.
Skimming the silly parts.

I actually enjoyed rereading this.  Skipping the personal drama and romance
helps a lot, as it's completely detached from the central content.
*** DONE Beyond the Frontier series
    - State "DONE"       from "STARTED"    [2017-09-08 Fri 23:10]
    - State "STARTED"    from "TODO"       [2017-08-09 Wed 23:22]
A continuation of the military scifi series The Lost Fleet, which I appreciated
the depiction of space combat in.
- Dreadnaught: Some okay content.  Information revealed about the long awaited
  alien race falls very short of interesting though.  I haven't seen an example
  of well done aliens and military-scifi, so this is no surprise.
- Invincible: More pretty terrible alien race design.  However, everything else
  unique about this one is pretty decent.
- Guardian: Occasionally interesting, but less so than the previous novels.
  This is perhaps due to the smaller scale/scope of the conflict arch depicted.
- Steadfast: More of the same, mainly.
- Leviathan: More of the same, mainly.  Ending was adequate, but nothing
  special.

Worth reading, as it continues to capture the naval combat feel unique to these
books.  Definitely less focused than the previous series, and feels a bit
aimless as a result.
*** DONE The Listeners
    - State "DONE"       from "STARTED"    [2017-09-11 Mon 02:51]
    - State "STARTED"    from "TODO"       [2017-09-09 Sat 02:09]
Another message from space novel, and actually the only other major one I
haven't read yet.

Turns out I had read this before, back in 2012.  However, I do have a new
appreciation for some of its content.  Some parts within are extremely
well-written, able to be appreciated as simply as well-worded prose.  Other
parts, less so, and there's definitely too much content ancillary to the reason
we're supposedly reading a book about this topic.  Fundamentally though, I
don't think there's any truly great ideas here that haven't been thoroughly
explored or come up with elsewhere.  For its time, this would've been an
excellent compendium of modern thought on the matter.
*** DONE Cold as Ice series
    - State "DONE"       from "STARTED"    [2017-11-14 Tue 01:25]
    - State "STARTED"    from "TODO"       [2017-10-26 Thu 08:14]
A hard scifi series.  At least the first novel is primarily a mystery.
- Cold as Ice: Rather generic and meandering.  Occasionally competently-written
  but totally forgettable overall and lacking anything resembling an
  interesting plot.
- The Ganymede Club: About the same.  Also very forgettable.
- Dark as Day: Even more of the same.  This one's probably slightly better than
  the others, but not by much.

Decent world creation.  I particularly like the vision of a populated outer
system, which seems very believable.  All books are mystery stories that follow
the same format, with a big reveal scene at the end.  While the books mostly do
a pretty good job of converging a lot of different threads, the reveals aren't
particularly interesting and pretty predictable.  The body of these novels is a
lot of uninteresting happenings, most of it of little consequence.
*** DONE Remembrance of Earth's Past trilogy
    - State "DONE"       from "STARTED"    [2017-12-03 Sun 21:46]
    - State "STARTED"    from "TODO"       [2017-11-14 Tue 13:28]
A hard scifi series originally in Chinese, supposedly competently translated
into English.
- The Three-Body Problem: A great read, and nearly everything one might want
  from a hard scifi novel involving aliens.  Lots of original ideas.
- The Dark Forest: Another excellent read with more original ideas.  This one
  might even be better than the previous novel, though it does have a few
  oversights on reality due to the author being Chinese (incorrect info about
  firearms, mischaracterizing the US at times, etc.).
- Death's End: More disconnected than the previous two entries.  Some sections
  are top quality, others only so-so.

Possibly my top read of this year.  Will have to keep an eye on everything from
this author, Cixin Liu, from now on.
*** DONE Lungfish
    - State "DONE"       from "STARTED"    [2017-12-04 Mon 02:52]
    - State "STARTED"    from "TODO"       [2017-12-04 Mon 01:09]
A short story by David Brin about the worst case explanation to the Fermi
paradox, similar to The Forge of God and Remembrance of Earth's Past.
http://www.astro.sunysb.edu/fwalter/AST389/TEXTS/lungfish1.txt

Turns out I'd already read this, long ago.  Has supposedly super-intelligent
ETIs saying and thinking dumb stuff, and kind of just ends without going
anywhere.
*** DONE Admiral series
    - State "DONE"       from "STARTED"    [2017-12-27 Wed 00:02]
    - State "STARTED"    from "STARTED"    [2017-12-27 Wed 00:02]
    - State "STARTED"    from "TODO"       [2017-12-19 Tue 00:21]
Also called the Evagardian series.  Another military scifi series with mystery
elements.
- The False Admiral: Also just called "Admiral".  Starts as a promising setting
  with a compelling mystery.  As the reveals come forth, the quality degrades
  significantly, culminating in cheap action sequences.  Like most mysteries,
  the fatal flaw here for me is that there's not enough information for the
  reader, regardless of how clever, to have any hope of hypothesizing on his
  own.  I only managed to half-guess the identity mystery, and the rest was
  completely random.
- Free Space: Absolutely terrible.
** Technology/software
*** CANCELED cabal-dev
    - State "CANCELED"   from "TODO"       [2017-01-09 Mon 08:52]
Allows per-project package databases that resolves most of the dependency hell
issues rampant in Cabal.  This will be added to normal cabal-install soon, so
if I don't get to this in awhile, no big deal.

https://github.com/creswick/cabalf-dev

Canceled due to switching to stack.
*** CANCELED Emacs Hoogle integration
    - State "CANCELED"   from "TODO"       [2017-01-09 Mon 08:53]
Use the command line Hoogle version.  Bind this to C-c C-d d.
https://wiki.haskell.org/Hoogle#Emacs_Integration

Redoing all Haskell Emacs setup around Intero.
*** CANCELED hasktags
    - State "CANCELED"   from "TODO"       [2017-01-09 Mon 08:53]
Allows for navigation to Haskell function definition within Emacs.  Install via
cabal, then add this to init:

#+BEGIN_SRC emacs-lisp
(let ((my-cabal-path (expand-file-name "~/.cabal/bin")))
  (setenv "PATH" (concat my-cabal-path path-separator (getenv "PATH")))
  (add-to-list 'exec-path my-cabal-path))
(custom-set-variables '(haskell-tags-on-save t))
#+END_SRC

Canceled due to switching to stack.
*** CANCELED hindent
    - State "CANCELED"   from "TODO"       [2017-01-09 Mon 08:54]
Allows for auto-indentation of Haskell code.  Requires both hindent-mode for
Emacs and the hindent cabal package.  Not sure if this would replace the need
for a normal indent mode (hi2, in my case) for Haskell.
https://github.com/chrisdone/hindent

Redoing all Haskell Emacs setup around Intero.  We'll see how it handles
indenting before trying to customize.
*** DONE update Emacs to 25.1.1
    - State "DONE"       from "STARTED"    [2017-01-03 Tue 23:55]
    - State "STARTED"    from "TODO"       [2017-01-03 Tue 14:45]
My default setup is broken in new Emacs.  Might as well take the opportunity to
give everything a full audit while fixing this.

Stuff changed:
- Changed my load list addition from ~/.emacs.d to ~/.emacs.d/lisp, as per the
  modern standard.  This lets Emacs write to ~/.emacs.d and that code won't be
  evaluated.
- Removed google-maps.el.
- Removed malyon.el.
- Removed psvn.el.
- Removed darcsum.el.
- Updated lusty-explorer to use GitHub version.
- Modified the package.el code to properly load stuff from ~/.emacs.d/elpa,
  which is no longer explicitly on the load-path.

Reminder: If starting over with a clean elpa directory, update the package list
before trying to install stuff.  It'd been awhile since doing this, and I'd
forgotten that part.
*** CANCELED further Emacs Haskell setup
    - State "CANCELED"   from "TODO"       [2017-01-03 Tue 23:56]
This guy has some good ideas: https://github.com/chrisdone/emacs-haskell-config

Note that I might switch to Intero+stack first, negating this task.

Canceling due to the death of Cabal.
*** DONE update netbook to FreeBSD 11.0
    - State "DONE"       from "STARTED"    [2017-01-04 Wed 00:02]
    - State "STARTED"    from "TODO"       [2016-12-31 Sat 10:42]
11.0 is now out.  Start with netbook.  Probably will do workstation next, but
splitting the task in case I don't get to it by the time 11.1 is out.  Be sure
to copy all config files off netbook.

Note to self: the wireless commands I often recall from my command history are:
- sudo ifconfig wlan0 up scan
- sudo vi /etc/wpa_supplicant.conf
- sudo service netif restart

Updated freebsd-setup.org with the latest knowledge.  Will next follow these
steps to make a VM with all services enabled for updating my main workstation.

Note that updated .emacs, .emacs.d, .xinitrc, and a few other config files only
exist on the netbook at the moment.
*** DONE stack
    - State "DONE"       from "STARTED"    [2017-01-05 Thu 22:04]
    - State "STARTED"    from "TODO"       [2017-01-01 Sun 18:21]
A ground-up rethink of Cabal (the tool).
https://github.com/commercialhaskell/stack

Read the project wiki and also this explanation of the project:
https://www.fpcomplete.com/blog/2015/06/why-is-stack-not-cabal

Cabal seems to be a neglected mess now, so I can't really put this off.
Following the guide here: https://haskell-lang.org/get-started

Notes:
- Be sure to note the FreeBSD-specific setup notes:
  https://docs.haskellstack.org/en/stable/install_and_upgrade/#freebsd
- Install with: curl -sSL https://get.haskellstack.org/ | sh
- Full setup detailed in freebsd-setup.org.

Workflow for project creation:
- stack new my-project
- cd my-project
- =stack build= to compile the project.
- Edit the various project settings in my-project.cabal.
- =stack exec my-project-exe= to execute the command.  This symbol is defined
  in my-project.cabal.
- =stack install my-project= to install an executable to ~/.local/bin.
- =stack ghci= within the project directory will also pull up a REPL against
  it, defaulting to the library section's exposed-modules, I think.
- =stack test= to run tests.

Note that stack, like with cabal, doesn't have a path for upgrading or
uninstalling things.  At some point, one might want to wipe the install and
start over, I guess.

This now works enough to do plain, non-integrated Haskell development.  Will
add Emacs integration next.

Update 2018-08-27: stack now includes the =stack upgrade= command.
*** DONE create FreeBSD 11.0 test VM
    - State "DONE"       from "STARTED"    [2017-01-10 Tue 20:17]
    - State "STARTED"    from "TODO"       [2017-01-05 Thu 22:08]
After fixing all the broken stuff from upgrading on my netbook, follow the
updated instructions in freebsd-setup.org.  Add the various server-like
services that I skip on the netbook, and further update everything accordingly.
Keep this VM around as normal for testing source upgrades later.

Did most of this.  The VMware tools being not available for this version yet is
slowing me down and I'm wasting a lot of time with my Xorg tweaking, so I'll
just risk going for it.
*** DONE update Samba on FreeBSD
    - State "DONE"       from "STARTED"    [2017-01-13 Fri 01:38]
    - State "STARTED"    from "TODO"       [2017-01-13 Fri 00:12]
Samba 3.6, which I've used until now, has numerous security holes.  Update to
4.4.

Samba is way more complicated than it needs to be for my needs.  Instead of
wasting weeks reading all the docs on it, I'm just following the guide here:
https://www.freebsd.org/doc/handbook/network-samba.html

Got this working.  Will defer the printing stuff until I redo CUPS, as I might
not get to this until after I move due my printer being on another computer
currently.
*** DONE Intero
    - State "DONE"       from "STARTED"    [2017-01-14 Sat 23:32]
    - State "STARTED"    from "TODO"       [2017-01-14 Sat 22:43]
Supposedly the complete everything for integrated Emacs development in Haskell.
Requires stack, which I have recently switched to.
https://commercialhaskell.github.io/intero/

Be sure to redo the non-diminish mode line shortening.  My previous
haskell-mode and hi2 setups are now removed.

Has some dependencies, including company, haskell-mode, and flycheck.

Workflow:
- Create a new project with =stack new intero-demo=.
- Navigate to one of the files, e.g. intero-demo/app/Main.hs.
- intero-mode should auto-start if I've set it up correctly.  If not, run M-x
  intero-mode.  If this is the first time running it on a new stack setup, then
  this will take awhile for intero (the Haskell package) to install.
- Once intero-mode is active on the project, use C-c C-l to launch a REPL.

Notes:
- M-. and M-,: Navigate to/from definitions.
- C-c C-i: Get info on symbol.
- C-c C-t: Check type of symbol.
- C-u C-c C-t: Insert type signature.
- C-c C-z: Switch to/from REPL.
- C-c C-l: Reload file.

This really works great.  With this and stack, it seems we finally have a
decent development environment for Haskell, or close enough to it.
*** CANCELED revisit Haskell flymake setup
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 00:17]
My Haskell flymake setup works okay, in certain situations.  There are some
problems though:
- Dangling filename_flymake.hs files are left littered around my directories.
- flymake doesn't seem to work at all on some systems.  I suppose I'd be okay
  with it only working on FreeBSD and GNU/Linux, but it'd be nice to have the
  option of using it anywhere.
- It doesn't work with Cabal-managed projects.

I may even consider disabling it altogether.  Haskell doesn't really need
on-the-fly syntax checking as much as other languages.

http://www.emacswiki.org/emacs/FlymakeHaskell

Canceled, since Intero includes flycheck.
*** CANCELED use Terminus fonts on vt in FreeBSD
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 00:30]
vt is great and all, but the text size is a bit small at native resolution.
Might as well make use of it to get some nice looking fonts in the size I want.
https://wiki.freebsd.org/Newcons

vidcontrol returns an ioctl error.  Not a big deal since I'm hardly ever on the
console.
*** DONE redo Emacs/system Scheme setup
    - State "DONE"       from "STARTED"    [2017-01-15 Sun 01:32]
    - State "STARTED"    from "TODO"       [2017-01-15 Sun 00:02]
Racket seems to have won the Scheme language wars.

- [X] Switch from gauche to lang/racket-minimal.
- [X] Setup Emacs to use Geiser: http://www.nongnu.org/geiser
- [ ] Maybe port over all of my existing SICP code to Racket.

Notes:
- Racket comes with a package manager/build tool, called raco.
- Since I only installed racket-minimal from ports, fill out the rest of the
  environment locally.  Run =raco pkg install drracket=.  Note that this writes
  tmp data to /var/tmp, so make sure there's enough room.
- See raco documentation here: https://docs.racket-lang.org/raco/
- racket-mode should be enabled for .rkt files.
- ~/.racket/6.7/bin added to $PATH.
- Enabled paredit in scheme-mode.
- Activate the REPL with M-x run-geiser and enter "racket" as the
  implementation.

I don't want to go too nuts with this now since I'm not using it currently.
The main goal here was to deprecate Gauche and naked scheme-mode.  I'll do the
SICP stuff later.
*** CANCELED emacs-eclim
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 01:45]
This is the Emacs interface to Eclipse functionality provided in a
client-server manner.  With the stagnation of the two full Emacs Java
environment attempts and the core language plans to enter a faster, .Net-esque
release cycle of new features, I am starting to see this as the only plausible
way full base Java functionality will ever be maintained in Emacs.  The big
downside here is that it requires an Eclipse install, which means I won't be
putting it on my dev workstation.  If I decide to use this, enable it just in
GNU/Linux (which I only use on VMs) and maybe default to java-mode on FreeBSD.

https://github.com/senny/emacs-eclim

Canceling.  If I'm writing Java again, there's something that's gone horribly
wrong in my life.
*** CANCELED install GHC from source
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 01:46]
Using the ports version of GHC is handy, but it trails the latest in Hackage
too far.  Thus, using the latest versions from Cabal constantly have base
dependency issues (Agda almost never works).  Also install Darcs and all other
Haskell software from Cabal as well.  Update freebsd_setup.org with new source
install procedure.  I may want to try this on a VM first.

Canceled. Essentially, this is what stack does, handling all mess.
*** CANCELED uzbl
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 01:48]
Check out this web client as a possible Conkeror replacement.  The main
downside for me is probably its vim-based command keys and non-programmable
config file.  But, if it's significantly faster, it could be worth it.  I've
used this a little on GNU/Linux and I definitely like its modeline better,
though I'm still not completely sold on it.  Most importantly, I'd lose the
ability to have custom functions.  I'm not sure I could live without
darken-page.

Apparently, it's possible to rebind all the keys, so I should look to see if
someone's created an Emacs config for it.  I should also look for blocklists
for adblock.js, as recreating this myself would be a real pain.

Canceling for now, since it looks like Conkeror is going to continue working
for the foreseeable future.
*** DONE update workstation to FreeBSD 11.0
    - State "DONE"       from "STARTED"    [2017-01-15 Sun 03:14]
    - State "STARTED"    from "TODO"       [2017-01-11 Wed 02:03]
Will use netbook and my dev VM as my primary work environment while this is in
progress.  One thing I'll have to address here is Conkeror being so broken.

Some notes:
- Fixed Conkeror, updated to the latest source, and even got a modern version
  of Adblock working.  All known Conkeror bugs/annoyances seem to be fixed now,
  like GitHub pages clobbering my keybindings.
- Updated config to latest version of MySQL.  Note that the config file
  location has changed and that remote access requires a change from the
  default setting.
- Updated to latest Samba and made new config file.
- Deprecated PHP from Lighttpd.
- I never noticed this before, but apparently my workstation doesn't have a
  3.5mm audio output.  If I hook up my old monitor + sound bar some day.  Sound
  should work if I do that, I guess.
- Skipped printer setup this time since it's not in my room anymore.

Pretty much got everything working perfectly with no cheap hacks and no
annoyances I have to live with.
*** CANCELED hbro
    - State "CANCELED"   from "TODO"       [2017-01-15 Sun 10:38]
A uzbl-like web client written in Haskell.  Has some fatal bugs currently and
no Adblock, so check back in a few months.

https://github.com/k0ral/hbro

Canceled.  Judging from the commit history, it doesn't look like this project
reached critical mass (or any mass for that matter).
*** DONE update Magit
    - State "DONE"       from "STARTED"    [2017-01-15 Sun 23:41]
    - State "STARTED"    from "TODO"       [2017-01-15 Sun 23:27]
I previously pinned the Magit commit to accommodate older Emacs versions.

Notes:
- Modern Magit requires dependencies dash and with-editor.  dash is already
  installed for some of my ELPA packages.  with-editor, I installed manually
  via git.
- Modern Magit hates package git-modes, so I moved it to ~/src/var/elisp/unused
  in case I have to resurrect this setup for a work VM.

Seems to work great.  I like the new color schemes too.
*** DONE aggressive-indent
    - State "DONE"       from "STARTED"    [2017-01-20 Fri 00:53]
    - State "STARTED"    from ""           [2017-01-20 Fri 00:37]
Always keep my code indented while editing.
https://github.com/Malabarba/aggressive-indent-mode

This mode will save a ton of grunt-work.  Enabled it globally for now.  Major
modes can be blacklisted from it, so I'll keep an eye out for ones I don't want
it on for.  For now, I can't think of anywhere I wouldn't want it.
*** DONE systemd
    - State "DONE"       from "STARTED"    [2017-01-25 Wed 22:51]
    - State "STARTED"    from "TODO"       [2017-01-25 Wed 12:35]
systemd has replaced init in most of the main Linux distros.  Read up on what
it's all about.  Future versions of the Linux variants I use will all have it.

The pejorative "Poetterware" has been used to describe this kind of software.
The criticisms of systemd are rather numerous, and I tend to agree with them.
It'd be a real shame if Linux keeps moving in this direction.

Notes:
- /etc/systemd/system has symlinks to various scripts for startup.  These are
  stored in /usr/lib/systemd/system.  Use =systemctl= to enable stuff.
- systemctl can also start, stop, and restart services.
*** DONE Eastwood
    - State "DONE"       from "STARTED"    [2017-01-29 Sun 03:46]
    - State "STARTED"    from "TODO"       [2017-01-29 Sun 02:51]
A Clojure linter.  Among other things, this includes a checker for unused
namespaces, which was my main impetus for using it.
https://github.com/jonase/eastwood

Just add this to profiles.clj and run =lein eastwood=.  I also enabled the
unused namespaces and unused locals checks, which are off by default.

Editor integration exists.  I'll use this for awhile and decide whether I want
to do that, like I did with kibit.  If so, check out squiggly-clojure.  I can't
use that currently, however, due to not all code being side-effect free.  This
might also be super slow on my machine.

In the meantime, M-x compile, followed by =lein eastwood= will give a properly
linked compilation buffer.
*** DONE replace pretty-symbols with prettify-symbols-mode
    - State "DONE"       from "STARTED"    [2017-01-29 Sun 13:44]
    - State "STARTED"    from "TODO"       [2017-01-29 Sun 13:10]
This will require pushing all of the symbols to replace into
prettify-symbols-alist.  See pretty-symbols.el for the ones I want to keep.
Now that this is built into Emacs, there's no need for the external mode.

Switched to using Unicode characters directly in my init file.  Only set it up
for haskell-mode and intero-repl-mode buffers.  Not sure I like all of the
characters in my font, since some are hard to eyeball.
*** DONE fix search engines not working in w3m
    - State "DONE"       from "STARTED"    [2017-01-29 Sun 17:18]
    - State "STARTED"    from "TODO"       [2017-01-29 Sun 15:05]
This broke at some point.  Either get it working or remove custom code for it.

Fixed.  Use S in a w3m buffer to activate w3m-search.  Use C-u S to prefix the
search engine (tab completion works here).  Also have it saving the last used
non-default search engine.  Switched the default engine to DuckDuckGo.  Calling
require on w3m-search also allowed me to get rid of the eval-after-load code.
*** CANCELED highlight-versions
    - State "CANCELED"   from "TODO"       [2017-01-29 Sun 22:38]
A cabal utility that you can pipe --dry-run output through to see colorized,
version numbered deltas.  Could be rather essential for properly maintaining a
local cabal package hierarchy (something I've never quite figured out how to do
properly yet).

http://hackage.haskell.org/package/highlight%2Dversions

Don't think I need this now, with the completely redone Haskell stack.
*** CANCELED amalgamated hosts file
    - State "CANCELED"   from "TODO"       [2017-01-29 Sun 22:59]
Since AdBlock is currently broken on Conkeror, I'll use this on FreeBSD.
http://github.com/StevenBlack/hosts

AdBlock is now functional, so skipping this task.  This would've been an
inferior solution anyway.
*** CANCELED haskgame
    - State "CANCELED"   from "TODO"       [2017-01-29 Sun 23:41]
Check this out.  Looks like it's still in progress and will require SDL work to
get stuff done.  Might be abandoned.

No commits for 7 years means this is abandoned.
*** CANCELED djinn-th
    - State "CANCELED"   from "TODO"       [2017-01-29 Sun 23:45]
Generates Haskell code from a type declaration, using a decision procedure from
intuitionistic propositional calculus.

Looks like this project and the other djinn variants (djinn and djinn-lib) all
died.  Not sure if this is a dead end mathematically or just for human reasons
though.
*** DONE org-present
    - State "DONE"       from "STARTED"    [2017-02-05 Sun 14:11]
    - State "STARTED"    from "TODO"       [2016-08-06 Sat 00:46]
A super minimalist presentation tool for org-mode.
https://github.com/rlister/org-present

Notes:
- Use arrow keys to navigate in presentation mode and C-c C-q to quit.
- Will display inline images.
- Use C-c C-= and C-c C-- to increase/decrease size.
- Use C-c < and C-c > to jump to beginning/end.
*** DONE cats
    - State "DONE"       from "STARTED"    [2017-02-08 Wed 10:11]
    - State "STARTED"    from "TODO"       [2017-02-07 Tue 23:33]
A category theory library for Clojure.
https://github.com/funcool/cats

There's definitely some downsides to using category concepts in a dynamically
typed language.  I'll probably talk about some of those in my presentation on
the subject.  However, these abstractions are still very powerful and good to
have around as architectural primitives/patterns.
*** DONE nginx
    - State "DONE"       from "STARTED"    [2017-02-12 Sun 00:57]
    - State "STARTED"    from "TODO"       [2017-02-11 Sat 11:45]
Maybe switch to this from lighttpd.  Looks like it does everything I need, plus
it has a Clojure module.  Will defer on CGI, since most of the stuff I might
want to do on it in the future has modern JS-based solutions, I think.  I'll
have to look into LaTeX-rendering solutions at some point.

Notes:
- Dynamic modules are stored in /usr/local/libexec/nginx.
- Deprecated cgi-bin and archived it to ~/src/var.

Deployed to all FreeBSD machines.  lighttpd has been likewise removed.
Overall, I do find the configuration simpler and it seems to my unscientific
analysis to be more efficient.  Also updated the meta banners on the main site.

Note that since muze is still on FreeBSD 10.0, it's now running nginx 1.8.1.
This has noted vulnerability CVE-2016-4450.  I went ahead and deployed it
anyway, since this is just a DOS vulnerability and nobody cares enough about my
server to bother doing such a thing.  muze also doesn't have the Clojure module
installed due to various build issues.  I'll update the OS there before this
becomes needed--probably once 11.1 comes out.
*** CANCELED Boot
    - State "CANCELED"   from "TODO"       [2017-02-12 Sun 00:57]
An alternative to Leiningen.  http://boot-clj.com/

Looks like this isn't winning the build tool war.  Canceling this task until
that changes.
*** DONE scan The Clojure Toolbox
    - State "DONE"       from "STARTED"    [2017-02-12 Sun 11:11]
    - State "STARTED"    from "TODO"       [2017-02-12 Sun 10:32]
Review all projects here that are in categories I care about.  Even if not
needing any of these now, knowing about them may come in handy later.
http://www.clojure-toolbox.com/

Stuff to maybe look into:
- DataScript: An immutable, in-memory database.  Useful in the browser.
- lein-namespace-depends: Create a graphviz dependency graph.
- reloaded.repl: Maybe check this out and redo my reloaded workflow boilerplate
  with it.
- astar: Pathfinding library.  Probably not generic enough, but worth looking
  at maybe.
*** CANCELED update python-mode to 6.2.2
    - State "CANCELED"   from "TODO"       [2017-02-12 Sun 11:30]
Currently on 5.2.0.  Currently just using a single file, but it looks like it's
a full package now.  https://launchpad.net/python-mode

Due to the decreased likelihood I'll be writing any Python code anytime soon,
I'll just leave this to bitrot.  If it stops working, I'll revert back to the
built-in python.el.

Note that if I ever get back into Python, there's currently 3 major
full-featured Python modes: anaconda-mode, elpy, and emacs-jedi.  All of these
require either external packages or their own dependencies, so it's not worth
the hassle of managing that given my lack of use of the language.
*** DONE highlight-symbol
    - State "DONE"       from "STARTED"    [2017-02-22 Wed 00:15]
    - State "STARTED"    from "TODO"       [2017-02-18 Sat 17:26]
Highlight symbol at point throughout buffer.  Should be useful in many modes.
https://github.com/nschum/highlight-symbol.el

Tried this for a bit, but decided not to use it.  For one, it's dumb about
highlighting literally anything under the point.  It really does highlight
symbols in the Emacs sense, not in the Lisp/Clojure/Scheme sense.  So, things
like function names are all dealt with the same way.
*** DONE cull technology e-book collection
    - State "DONE"       from "STARTED"    [2017-03-15 Wed 02:44]
    - State "STARTED"    from "TODO"       [2017-03-14 Tue 13:17]
Go through entire e-book collection and delete ones that are outdated or are
the junk churn kind (i.e. cookbooks, most Packt Publishing books, etc.).  Total
tech book collection (categories computer, computer_science, and programming)
are currently 7.57GB in size.

Cleaned up a ton of books.  Collection is now 4.94GB.  I also replaced broken
books, collapsed several subtrees, deduped a few copies, replaced some image
scan PDFs with proper text ones, and fixed some miscategorized books.  Most
importantly probably, I updated a lot of the ephemeral stuff that I still want
to keep reference material for.  Once I quit my current job, I'll go back in
here and delete a few other directories that I'm keeping around for now, just
in case.  While I was at it, I also cleaned up all the other e-book
directories.
*** CANCELED eww
    - State "CANCELED"   from "TODO"       [2017-03-15 Wed 02:46]
Possibly a w3m replacement.  This is built into Emacs now, and seems very nice,
though I have a lot of integration with w3m already and don't want to use
yet another text-based browser.
http://www.emacswiki.org/emacs/eww

I'll stick with w3m for the time being.
*** DONE determine eternal programming skill portfolio
    - State "DONE"       from "STARTED"    [2017-03-21 Tue 21:42]
    - State "STARTED"    from "TODO"       [2017-03-21 Tue 21:31]
Come up with an optimal list of programming skills (languages and their
requisite tools) that I'll use for the rest of my life post-work.  These will
be focused on things that will hopefully remain constant throughout the rest of
my life, ignoring as many obvious fads and ephemeral technologies as possible.

I've actually spent a lot of time thinking about this lately.  Here's the
results.

Primary languages:
- Haskell: Contender for my primary language.
- Clojure: Secondary algorithms language, primary get stuff done language.
  I'm pretty close to an expert at this language, and I've replaced a lot of
  others with it.  It can pretty much do everything Python, Java, and Common
  Lisp could ever do, but better.
- Agda: This is my preferred dependently typed, purely functional language.  If
  something displaces this later, I'll switch, but at the current time, it
  seems to my cursory analysis to be the superior language.

Optional throw-away languages to maybe use for a single, temporary purpose:
- Prolog: Forget this after The Art of Prolog.  Only learn "pure" Prolog.
- OCaml: Forget this after TAPL.
- Coq: Use for Software Foundations and maybe some of the other Coq books.
  It's possible I might want to keep this around after I use it some.
- Scheme: The only use I have for this going forward is EOPL, should I choose
  to read it.  I'm currently leaning against investing the time.

Support languages:
- HTML5: Needed for the occasional webpage.
- SQL: Will always need to query a relational database or two.  I already know
  this well enough, so don't put any extra effort here.
- LaTeX: For all typesetting.
- Emacs Lisp: For Emacs.
- Gnuplot script: For all visualizations.
- bash/zsh shell: Just maintain some very basic scripting skills.
- JavaScript: It'll be hard not to at least be competent with this for the
  foreseeable future.  I'm going to try my best to not relearn this and hope
  WebAssembly saves me here.
- C: Used only for maintaining my OS and other system software.  I'm hoping I
  pretty much don't need to touch C much the rest of my life, and will not
  actively study it.  If I ever need to write anything low level, I should
  probably use one of the safety-providing C generator libraries, such as those
  for Haskell.

This is a pretty good plan, I think, and I'm chiseling it in stone.  I'll
revisit it in a couple years to see which assumptions still hold.
*** DONE xbrightness
    - State "DONE"       from "STARTED"    [2017-03-26 Sun 22:02]
    - State "STARTED"    from "TODO"       [2017-03-26 Sun 10:01]
Install this port on my FreeBSD laptop and see if it can control the screen
brightness.  This works for some people in the FreeBSD forums.

This just washes out the color of the graphics displayed in Xorg.  It doesn't
control the actual backlight in the screen.  Uninstalled.
*** CANCELED pf/altq on FreeBSD
    - State "CANCELED"   from "TODO"       [2017-03-30 Thu 14:44]
Read this http://www.freebsd.org/doc/handbook/firewalls-pf.html and pf.conf(5).

Dequeuing this until I have a specific need, in order to make room for more
applicable tasks.
*** CANCELED scsh
    - State "CANCELED"   from "TODO"       [2017-03-30 Thu 15:22]
Consider writing all shell scripts in this.  Don't use it as a login shell
though, since nothing can compare with zsh right now.

I looked into this briefly and it's just sexp syntax for standard shell
commands.  While this is sorta nice, I'm not sure it's worth the bother to port
everything I ever want to do over to it, given that there's almost no ecosystem
around it.  Also it makes doing rather simple things like pipes and redirects
rather cumbersome.  The concept does look rather sound however, and it even
supports ~define-syntax~.  If it were in Clojure, I'd probably go for it.  I'll
still keep it on the maybe list.
*** CANCELED flycheck
    - State "CANCELED"   from "TODO"       [2017-03-31 Fri 22:49]
Supposedly better than flymake.  No TRAMP support might be a deal-breaker.
Intero uses this, so it's already on my system.
https://github.com/flycheck/flycheck/wiki/Flycheck-versus-Flymake
https://github.com/lunaryorn/flycheck

These days, I seem to only use modes that include flymake/flycheck support
automatically.  I'll stick with doing it that way for now unless I start using
some language without comprehensive tooling support in the future.
*** CANCELED GCCSense
    - State "CANCELED"   from "TODO"       [2017-03-31 Fri 22:50]
http://cx4a.org/software/gccsense/

Not planning on writing any (or at least much) C anytime soon.  Maybe I can
just never write it again.
*** DONE Onyx
    - State "DONE"       from "STARTED"    [2017-04-01 Sat 23:03]
    - State "STARTED"    from "TODO"       [2017-04-01 Sat 21:07]
Yet another distributed computing system, but written in Clojure.  Just give
this a peek to see what they're up to.  https://github.com/MichaelDrogalis/onyx

This looks pretty interesting.  It has its own extensive abstraction model,
like Storm.  If the architectural goals are met in the codebase, then this is a
superior library compared to both Storm and possibly Cascalog.  I'll keep it in
mind should a need for something like this come up.  Didn't investigate too
deeply though, since the chances of that are small.
*** DONE highlight.js
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 02:03]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 00:35]
Replace all code blocks with this.  Find a good B&W theme or make one.
https://highlightjs.org/

Made a theme called grayscale-dark.  Installed this to macroexpand-bm3719/inc.
Tried using the latest version off of npm, but it didn't work for some reason.
Instead, grabbed the min-ified version and just kept that.  I also noticed some
bugs in the parser for a few of the languages I checked out with it.  So, it's
a bit sloppy, but good enough for the web and for now, I guess.  I'll
definitely revisit this some day and think about replacing, or at least
upgrading, it.
*** DONE rework personal site
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 04:06]
    - State "STARTED"    from "TODO"       [2017-04-01 Sat 22:11]
Update the underlying client-side technology stack:
- [X] Update HTML 4.01 to HTML5.
- [X] Create dark black & white highlight.js theme.
- [X] Convert code blocks to use highlight.js.
- [X] Convert math formulas to use MathJax.
- [X] Redo site navigation.
- [X] Increase width of main text area.  Maybe make this not fixed at all.

Decided not to manage JavaScript with a package.json file for now.  Might
switch this to use Webpack later though.
*** DONE npm
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 04:06]
    - State "STARTED"    from "TODO"       [2017-04-01 Sat 23:41]
Get at least somewhat comfortable with the Node.js package manager.  There's
not much to it, so just read a tutorial or something.

Created a package.json file for my personal site.  The idea was to do an =npm
install= on deployment if dependencies changed.  I decided to back this out and
delete the package.json file though, since I'm only using 2 dependencies
currently.
*** DONE MathJax
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 04:08]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 02:02]
Switch to client-side LaTeX rendering, instead of my current (unused) CGI-based
version.  https://www.mathjax.org/

Works great and is pretty easy to use.  Will stick with double dollar
sign-enclosed LaTeX as my standard.  Currently using the CDN version.  Might
grab a local copy later.
*** DONE netcat
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 04:29]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 04:15]
Also =nc= on most Unices.  A useful tool to know, particularly when doing any
network programming.

Decided I didn't really need to know this too extensively.  Just read the
Wikipedia article on the subject.  There's definitely some nice tricks you can
do with nc.  Sysadmins should be familiar with this and/or incorporate it into
scripts.  For me, I'll lazy load the details if needed.
*** CANCELED sed
    - State "CANCELED"   from "TODO"       [2017-04-02 Sun 04:50]
sed keeps coming up and I always have to relearn it every time.  Dedicate some
time to actually learning it properly.

- Insert a line into the beginning of a file: =sed -i 1i"line text" filename=.

Skipping this.  I think I can get by with Emacs for simple stuff, and writing a
quick text processing program for more complex tasks.  sed is really only good
for stuff of minor complexity anyway, and it would take a few days to do this
task justice.
*** DONE fix remaining personal site issues
    - State "DONE"       from "STARTED"    [2017-04-02 Sun 16:43]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 04:51]
The large-scale site technology conversion and redesign is complete, but
there's still a bunch of dangling things that need tidying up.  Fix all of
these before working on any content.
- [X] Fix title image text to have correct server name on it.
- [X] Replace article headers with proper HTML 5.1 ones.
- [X] Convert old-style anchors and unary p tags to HTML 5.1.
- [X] Clean up unused CSS definitions.
- [X] Run all HTML and CSS through validator.
- [X] Validate all external links.

Also replaced all tables with styled div tags.
*** CANCELED low level programmer fundamentals
    - State "CANCELED"   from "STARTED"    [2017-04-02 Sun 23:40]
    - State "STARTED"    from "TODO"       [2017-04-02 Sun 23:32]
This guy makes a good point about knowing fundamentals, like floating point
vs. fixed-point arithmetic and bit shifting.  I think I know most of this, but
a review never hurts.  Read all the links he provides on this site:
http://cellperformance.beyond3d.com/articles/2006/04/background-on-branching.html

Well, I read this, but it's just about branching.  I'll consider this canceled,
since I really didn't learn anything about low level stuff.  This is rather out
of my area of expertise, so I don't have any current plans to revisit it.
*** DONE NixOS
    - State "DONE"       from "STARTED"    [2017-04-08 Sat 00:12]
    - State "STARTED"    from "TODO"       [2017-04-07 Fri 21:16]
The only Linux distro I'm actually interested in.  I've been putting it off
since a lot of the Nix system has been in flux.  I've looked into the package
manager, and it's a good bit of complexity overhead.  Will need to set aside a
good bit of time to learn this properly.  Maybe give this a try on a laptop or
VM.

Since I now have a spare laptop, I decided to give this a try.

I'll come back to this in the future and give it a more thorough setup.  Some
things I'd like to do at that time:
- Eschew the NixOS default of KDE for xmonad.
- Some Haskell developers claim to have integrated Nix/NixOS into some workflow
  for development.  Look into this.
- Encrypt all volumes.  I did do this, but I'm not sure I like my setup.
- Install it on some beefier hardware, with a lot more disk space.
- Setup TRIM.
- Look into power scaling.
- Look into installing stuff local to the user.  I think how this works is that
  a subset of the installed software can be specified as available to a user.
- Check out the nix-shell and Nix language.
- Get chsh working (might be a bug).
- Consider switching to GuixSD, which is similar to NixOS, except GNU Shepard
  replaces systemd, Guile is the system language, and non-free stuff is
  removed.

Got a usable system, setup for reading e-books, programming in Clojure, using
Emacs, and currently not much else.

I think I generally have the hang of how the system actually works, with the
gap to close just being implementation details.  While I do quite like Nix in
principle, there are a lot of rough edges and I found a few bugs.  I might
replace my catch-all Linux VM with this.  However, I think I'll wait for a
couple more versions to let the software quality tighten up some.  As is, it's
definitely not ready for prime-time and is very much for power users only.
*** DONE tmux (revisited)
    - State "DONE"       from "STARTED"    [2017-04-09 Sun 15:08]
    - State "STARTED"    from "TODO"       [2017-04-09 Sun 04:27]
Give my tmux setup another chance.  Will also read the book tmux
Taster in an attempt to be comprehensive about it.

Last time, everything tmux-related worked great and it seemed a generally
smoother experience.  The only downsides where a lack of ability to initialize
windows in the config file.  This wasn't a huge deal since I don't launch a ton
and there is a method for doing so via external script.  The deal-breaker was
the horrid color setup in my terminal emulators.  My now current setup of zsh
with TERM=screen-256colors and tmux with default-terminal of
screen-256colors-bce seems to work fine in both urxvt and PuTTY.

See task for tmux Taster book for additional tmux notes learned there.  As I
suspected, tmux is a better program for me than screen.  I'll now deprecate
screen altogether on all my machines.  I'll keep my .screenrc around, however,
since it still comes default on some distros and AMIs.
*** DONE org-bullets
    - State "DONE"       from "STARTED"    [2017-04-10 Mon 01:58]
    - State "STARTED"    from "TODO"       [2017-04-10 Mon 01:55]
Use Unicode bullets instead of asterisks.  Will give this a try for awhile.
https://github.com/sabof/org-bullets

Looks nice, but I'll have to try it for awhile to see if I want to stick with
it.  Not sure I like the way it looks in terminal mode.

Update: Used this for awhile, decided it reduced readability.  Uninstalling.
*** DONE wttrin.el
    - State "DONE"       from "STARTED"    [2017-04-10 Mon 02:30]
    - State "STARTED"    from "TODO"       [2017-04-10 Mon 02:23]
Gets an ASCII-based weather report from wttr.in.  Will give it a try for
awhile, since I'm trying to deprecate my Python scripts.
https://github.com/bcbcarl/emacs-wttrin

Looks nice, but has a dependency, xterm-color.el.  Will keep it around for now
and think about it.
*** DONE review awesome-emacs
    - State "DONE"       from "STARTED"    [2017-04-10 Mon 07:51]
    - State "STARTED"    from "TODO"       [2017-04-10 Mon 01:35]
This is a community-curated list of Emacs packages and libraries.  Go through
everything here to sync up.  Queue anything worth trying out.
https://github.com/emacs-tw/awesome-emacs

Added a few items to the queue.  Some other notes:
- Give the JavaScript and OCaml sections another look if I don't like my
  targeted setups.
- Maybe check out purescript-mode later, if I decide to spend any time with it.
- If I want to do a really professional-looking presentation, org-ioslide might
  be the way to go.
- gist.el: Check this out later if I start using these more.  There's two
  competing packages that do the same, but this one seems slightly nicer.
*** DONE Magithub
    - State "DONE"       from "STARTED"    [2017-04-10 Mon 08:11]
    - State "STARTED"    from "TODO"       [2017-04-10 Mon 07:51]
Definitely check this out.  Could be a huge boon for me, saving one of my main
use cases for a GUI web browser.  https://github.com/vermiculus/magithub

Notes:
- Clone the hub utility: https://hub.github.com/
- Compile it with ~script/build -o ~/bin/hub~.
- Conditionally alias it to git, if the binary exists in ~/bin.
- Do some manual CLI setup on hub in the project by running =hub browse=.

So, the only thing this seems to add is the issues list to the magit-status
screen.  That's a plus, but not enough to warrant all of this overhead.  Maybe
if it gets full integration with other features, I'll reconsider it.  Rolled
back all of this setup.
*** DONE RebeccaBlackOS
    - State "DONE"       from "STARTED"    [2017-04-12 Wed 04:13]
    - State "STARTED"    from "TODO"       [2017-04-11 Tue 19:52]
Make a USB stick of this to check out Wayland and a few native DEs, like
Hawaii.

A good tech demo, but useless for anything else.  It looks like Wayland
probably will be the way forward at some point.  It's apparently come a long
way and at least is in presentable shape.  Judging from the status here, I'll
check back in on it in a few years to see how it's doing.  I do look forward to
one day not need Xorg.
*** DONE core.logic
    - State "DONE"       from "STARTED"    [2017-04-12 Wed 21:54]
    - State "STARTED"    from "TODO"       [2017-03-31 Fri 22:10]
It's been a long time since I did any Prolog.  Getting comfortable with this
library could be a good alternative to relearning it, as knowing Prolog is less
useful than embedding logic programming in a language I actually use.

Tasks:
- [X] Read The Joy of Clojure (2nd Ed.), §1.63: An introduction to core.logic.
- [X] Read the core.logic wiki: https://github.com/clojure/core.logic/wiki
- [ ] Do the book The Reasoned Schemer using core.logic.  There are some notes
  about differences here:
  https://github.com/clojure/core.logic/wiki/Differences-from-The-Reasoned-Schemer

Well, I at least should have no problem recalling enough about this to know
when and how I should use it.  To do real, useful work would require a bit more
of a time investment, but I'll defer that to an as-needed continuation.  I did
learn this enough to give a fundamentals talk on the subject, which went quite
well.
*** DONE rainbow-mode
    - State "DONE"       from "STARTED"    [2017-04-13 Thu 00:47]
    - State "STARTED"    from "TODO"       [2017-04-13 Thu 00:41]
Maybe enable this for CSS, at least.  Get a direct copy of the file.
https://julien.danjou.info/projects/emacs-packages

Installed just the .el file and byte-compiled it.  Works great and will
definitely keep this around.
*** DONE json-mode
    - State "DONE"       from "STARTED"    [2017-04-13 Thu 01:05]
    - State "STARTED"    from "TODO"       [2017-04-13 Thu 00:50]
js2-mode thinks JSON is malformatted.  Replace it for JSON files with this.
https://github.com/joshwnj/json-mode

Also remove my JSON formatter function while I'm at it.

Added this one to the managed packages, since it pulls in a bunch of small
dependencies.  Despite needing two dependencies (one for each function), this
is a useful mode to keep around and earns its keep, I think.
*** DONE git (semi-)mastery
    - State "DONE"       from "STARTED"    [2017-04-16 Sun 02:27]
    - State "STARTED"    from "TODO"       [2017-04-14 Fri 13:28]
I'm pretty good with git now, at least knowing of most of its features in
outline.  However, this has all been learned by osmosis, and as important a
tool as it is, would probably benefit from directed study.  This process will
help delete all of my CVS/SVN/Darcs thinking and shift fully over to the Git
model.

Tasks:
- [X] Read Version Control With Git (2nd Ed.).  This seems slightly more
  regarded than Pro Git, which is both free and more recent.  However, the
  latter seems to have more errors and sloppiness.
- [X] Review my ZSH aliases and make sure they're optimal.
- [X] Read this blog entry:
  http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

Cleaned up some git commands in .zshrc I won't ever use.  I largely ignored the
internal housekeeping git command reference, but I do feel this effort rounded
out my practical knowledge of the tool.  That's all I really need, and any
further effort would certainly be a waste.
*** DONE Mithril
    - State "DONE"       from "STARTED"    [2017-04-16 Sun 02:40]
    - State "STARTED"    from "TODO"       [2017-04-07 Fri 11:39]
A framework for creating single page apps.  Like AngularJS, but incredibly
small and lightweight.  Might consider this, but it's likely I'll not bother.
http://mithril.js.org/

Read some of the docs for this and helped make a site with it.  I guess this is
okay for a simple site, but seems a little thin and flakey for prime-time use
on a large/detailed site.  I think I'd probably just recommend React based on
what I currently know.
*** DONE Docker
    - State "DONE"       from "STARTED"    [2017-04-18 Tue 02:04]
    - State "STARTED"    from "TODO"       [2017-04-17 Mon 23:41]
Do a shallow look into what Docker is all about, just for context.  Maybe scan
a book on the subject.  I'll re-evaluate after this and decide whether to go
deeper.  I might set it up on a VM or my laptop as well.  I'm leaning towards
minimal investment due to this being firmly in the DevOps realm.

Decided to semi-read the book Docker in Action.  See task on this for details.

Also looked into Docker on FreeBSD.  This is possible, but requires some
additional infrastructure/setup.  Alternatively, I might instead use FreeBSD
jails for stuff exposed to the outside world.  I don't have a need/desire for
this now, so I won't queue up a task for it, but it's worth keeping in mind.
https://wiki.freebsd.org/Docker

I'm still rather against microservices, but I do like the general idea of
containers more now.
*** DONE tools.cli
    - State "DONE"       from "STARTED"    [2017-04-19 Wed 14:28]
    - State "STARTED"    from "TODO"       [2017-04-19 Wed 13:19]
Look into canonical ways of parsing CLI args.  Integrate into one of the work
projects as my reference.  https://github.com/clojure/tools.cli

Seems like this boilerplate could/should be simplified a bit.  I guess it gets
the job done though.  I refactored how the example program does it, a little.
*** DONE org-capture.el
    - State "DONE"       from "STARTED"    [2017-04-20 Thu 02:39]
    - State "STARTED"    from "TODO"       [2017-04-20 Thu 02:26]
In line with my attempts to reduce task-switch overhead, rethink integrating
this into my life.  The idea behind this tool is to quickly file away errant
ideas/thoughts for later categorization/tasking.  I set up remember.el and used
it for awhile, but then got out of the habit of doing so.  Since then,
remember.el was replaced with org-remember.el, which was then replaced with
org-capture.el in 8.0.

Note that the last capture will be auto-bookmarked to org-capture-last-stored.

Set my keybinding back to C-c r for this.  Generally, I don't like global
bindings with a C-c prefix, but I want to optimize for execution speed.

It's also possible to pull captures directly into an org file, but I think I'll
skip that feature for now.  Overall, this is a minor improvement to
remember.el.  The status indicators on note items will help keep things
organized.
*** DONE Grunt
    - State "DONE"       from "STARTED"    [2017-04-21 Fri 00:39]
    - State "STARTED"    from "TODO"       [2017-04-21 Fri 00:26]
A task-runner for JavaScript.  Just read the website for this:
http://gruntjs.com/

Useful for some tasks, but it seems all of these have been superseded by
Webpack.  E.g., use Webpack for ESLint, code minification (Webpack will also
minify CSS), transpiling, unit testing, image optimization, and compiling Sass
and similar languages.

The syntax for a Gruntfile is a little ugly, but not too bad.  This seems to be
the case with all of these JavaScript tools.  I'm getting JS-fatigue just
thinking about all of this.  I'm going to try to ignore Grunt in the future,
unless I want a non-Webpack front end that still needs some of these task
running capabilities.  Apart from that, using it would just be adding needless
complexity.
*** CANCELED SwankJs
    - State "CANCELED"   from "TODO"       [2017-04-21 Fri 00:39]
A full-blown SLIME backend for Node.js that can connect to a running web
browser process through the socket.io package.  Should be way better than
MozRepl, and not be browser-dependent.
http://www.emacswiki.org/emacs/SwankJs

This only working for Node.js makes it less useful for me though, since I have
no intentions of actually using it for a web server.

Canceling due to the above.  Will add this when/if I ever need to make a
Node.js project.
*** DONE Beacon
    - State "DONE"       from "STARTED"    [2017-05-03 Wed 20:16]
    - State "STARTED"    from "TODO"       [2017-05-03 Wed 20:09]
Shows location of cursor after a scroll operation, for fast finding of the
point.  Not sure I want this, but will give it a try.
https://github.com/Malabarba/beacon

Subtle enough not to be annoying.  Looks better in GUI mode, of course, but the
console mode is decent enough too.  Will try using this for a few weeks and see
if I want to keep it around.

Update 2017-09-11: Removed since it got a bit annoying.
*** DONE Olivetti
    - State "DONE"       from "STARTED"    [2017-05-03 Wed 20:32]
    - State "STARTED"    from "TODO"       [2017-05-03 Wed 20:18]
Check out this mode for a potential, toggle-able, "dark room" style writing
mode.  I might find this useful when working on lengthy prose.
https://github.com/rnkn/olivetti

Well, this does work as advertised.  I guess I don't have any other (good) way
of keeping the text I'm focusing on centered in view like this.  In that sense,
it's pretty nice.  However, all is not perfect either.  It seems to interact
poorly with a few of my other extensions, like git-gutter-fringe.  Fatally, it
jumps into and out of having a proper left margin.  Not sure which extension is
causing the redraw conflict, but it makes it rather unusable for me.  So,
uninstalling.  I might try out writeroom-mode next, since that operates on the
entire frame instead of just the buffer.
*** DONE writeroom-mode
    - State "DONE"       from "STARTED"    [2017-05-03 Wed 22:19]
    - State "STARTED"    from "TODO"       [2017-05-03 Wed 22:07]
A frame-based writing mode.  Looks like it might do what I want more than
Olivetti, but does require a dependency of visual-fill-column.
https://github.com/joostkremers/writeroom-mode

This looks better than Olivetti, but still has the same bug of not maintaining
the left margin.  I thought maybe elscreen was causing this, but disabling that
had no effect.  Uninstalling.

I might try looking into whether this is possible in XMonad.  I could also just
turn my monitor sideways.
*** DONE disable MongoDB remote access
    - State "DONE"       from "STARTED"    [2017-05-08 Mon 00:16]
    - State "STARTED"    from "TODO"       [2017-05-08 Mon 00:09]
Secure this port on my VPS.
http://stackoverflow.com/questions/41508594/how-to-disable-remote-connections-to-mongodb

I also might just remove it, if I can edit out that feature from lazybot.

The advice in that URL is incorrect.  Edit /usr/local/etc/mongodb.conf and add
a block for "net" with a setting of "bindIp: 127.0.0.1".
*** CANCELED Sayid
    - State "CANCELED"   from "TODO"       [2017-05-09 Tue 19:15]
A debugger for Clojure.  Give this some time to see if it gets/remains popular.
I generally never use a debugger, so it might be a waste of time to learn a
tool I'll not use.  Maybe just keep this on the radar in case a use case comes
up.  http://bpiel.github.io/sayid/

Will keep this in mind, but haven't seen a need for it yet.  I don't even use
the built-in CIDER debugger.  If I ever max out the capabilities there first,
I'll give this a look.
*** DONE remap caps lock to control
    - State "DONE"       from "STARTED"    [2017-05-12 Fri 10:04]
    - State "STARTED"    from "TODO"       [2017-05-12 Fri 09:44]
Most people swap these, but I'd rather also keep control in the corner for now.
The reason is that I intend to still stick with using it there mainly, until I
can not use any work keyboards.  Add this to my setup procedure.
http://ake.in.th/2015/04/17/remap-capslock-to-ctrl-on-freebsd/

Works great.  I've used control here before and it seems I still have some
neurons wired for it.
*** CANCELED Incanter
    - State "CANCELED"   from "TODO"       [2017-08-16 Wed 23:54]
Incanter seems to no longer be actively developed.  There's no replacement for
it though, so I might still use it for functionality I'd otherwise have to use
R for.

- [ ] Find a couple tutorials and run through them.
- [ ] Make a test project.

Project abandoned/dead.  Looks like the next best options are Clojupyter and
Gorilla REPL.  I'll schedule the latter.
*** DONE XKeymacs
    - State "DONE"       from "STARTED"    [2017-09-03 Sun 16:58]
    - State "STARTED"    from "TODO"       [2017-09-02 Sat 10:44]
Use this to enable Emacs keybindings everywhere in Windows.  This alleviates
annoyance having to switch over to their keybindings on the rare occasion I use
it.

Seems to work okay so far.  I disabled some of the keys and am mainly only
using the movement and basic editing bindings.  Use C-q to enable/disable it.

Update 2018-01-31: Disabled this for now.  Will enable again if I ever find
myself having to use Windows extensively, but it's not worth tracking
currently.
*** DONE fzf
    - State "DONE"       from "STARTED"    [2017-12-06 Wed 18:43]
    - State "STARTED"    from "TODO"       [2017-12-06 Wed 17:44]
A popular fuzzy search utility, I think.  Has a go dependency, but I currently
already have that installed.

Notes:
- I can enable to TMUX build switch if I have bash installed.
- Results are written to STDOUT.
- To use this with an editor, do something like ~emacsclient -n $(fzf)~.

Very fast indeed.  I have nicely organized trees, so finding stuff isn't often
a problem for me.  I'll keep it around for awhile though, since I can possibly
imagine it really coming in handy for those rare situations I do a heavyweight
find.  Added to my system build.
** Work-related
*** DONE presentation on category theory in Clojure
    - State "DONE"       from "STARTED"    [2017-02-08 Wed 22:10]
    - State "STARTED"    from "TODO"       [2017-02-05 Sun 14:11]
A talk covering foundations to the practical application in Clojure using the
cats library.

Sub-tasks:
- [X] Finish the cats research task.
- [X] Create org-mode file.
- [X] Test org-present on a high-res screen.
- [X] Restore bookmark.html and delete junk folders.
*** CANCELED ssh tunnel through proxy
    - State "CANCELED"   from "TODO"       [2017-02-18 Sat 12:18]
Figure out how to setup an ssh tunnel through a local network proxy.

Don't need this anymore.
*** DONE presentation on logic programming in Clojure
    - State "DONE"       from "STARTED"    [2017-04-12 Wed 21:57]
    - State "STARTED"    from "TODO"       [2017-03-23 Thu 08:45]
A talk covering the foundational theory to its expression in core.logic.

Sub-tasks:
- [X] Wait to see if anyone volunteers for a talk.  Post text for talk 3-4
  weeks if no one volunteers.
- [X] Read at least part of The Art of Prolog.
- [X] Create a sample problem in Prolog.
- [X] Create org-present presentation.
- [X] Learn core.logic.
- [X] Rewrite same program in core.logic or create a different one.  If the
  same, create some scaffolding around it for multiple examples.
- [X] Merge all this into a single Git repository.
- [X] Maybe look into Twelf.
- [X] Activate announcement 1 week out.
- [X] Give talk.

Talk was extremely successful.  Code and presentation in GitHub project named
logic-talk.
*** DONE presentation on Clojure macros
    - State "DONE"       from "STARTED"    [2017-06-17 Sat 17:29]
    - State "STARTED"    from "TODO"       [2017-06-12 Mon 18:24]
A talk comprehensively covering the techniques and application of macros in
Clojure.

Sub-tasks:
- [ ] Read Mastering Clojure Macros.
- [X] Re-read the chapter in Joy of Clojure on Macros.
- [X] Write announcement text.  Post this 1 month out.
- [X] Activate announcement 1 week out.
- [X] Give talk.

Still need to finish reading the book.
*** DONE presentation on lambda calculus
    - State "DONE"       from "TODO"       [2017-08-09 Wed 22:03]
A talk from the foundations of lambda calculus, programming in it, and
discussing its influence over Lisp-based languages.  Try this in LaTex Beamer.
Use the --fullscreen flag with xpdf to present it.

Intended to do a more thorough review of this subject, but didn't finish it.
Ended up just completing the necessary research in order to competently speak
about it.  Will circle back around later.
** Games
*** DONE Choria (revisited)
    - State "DONE"       from "STARTED"    [2017-01-03 Tue 03:45]
    - State "STARTED"    from "TODO"       [2016-12-29 Thu 00:32]
Played this a long time ago and there wasn't much there.  But, it's been like
4-6 years and it looks like the author is still working on it.
https://github.com/jazztickets/choria

Wow, I actually got this to compile and run.  Required these dependencies to be
manually installed on Linux Mint 18.1: build-essential, cmake, libglm-dev,
zlib1g-dev, libglm-dev, libsdl2-dev, libfreetype6, libfreetype6-dev,
libsqlite3-0, libsqlite3-dev, libpthread-stubs0-dev, libalut-dev,
libvorbis-dev, lua5.3, lua5.3-dev.

Unfortunately, this game isn't that great.
- I could forgive some of its flaws were it not real-time, which it has to be
  to support multiplayer.  Real-time isn't a deal-breaker since I do like the
  regen mechanic, but I'd rather be able to set some kind of default action.
- Needs diagonal walking.
- There are also numerous bugs, like fullscreen mode not working and sounds
  randomly breaking.
- Sounds might as well not be there.  There's only a few simple sounds, with
  not enough value added to justify all those audio dependencies.
- The darkness filter makes it hard to see things, even reducing visibility
  during the day.

Quitting since I've kinda seen what the game has to offer after a few hours,
with only more grinding left to do.  If I ever check this out again, I'll set
up a bot to auto-grind out the levels for me.
*** DONE Trimps
    - State "DONE"       from "STARTED"    [2017-01-06 Fri 18:14]
    - State "STARTED"    from "TODO"       [2016-12-24 Sat 02:51]
Yet another idle game.  Supposedly involves less interaction.
https://trimps.github.io/

The best incremental game I've played so far.  I especially like that it's open
source.  Of course, there are still some downsides:
- Has annoying max limits on resources.  These are a little more generous than
  some of these games, but stuff like this just serves to force players to
  check back in.  An AutoStorage feature exists, but takes weeks to acquire.
- Stances shouldn't be in a game like this.
- The mathematics behind certain features of the game make them useless past
  certain points of progression.
- The zone vs. map mechanic requires a human to make boring, repetitive
  decisions about when to advance zone and switch to map farming.  This becomes
  a huge timesink for re-advancing through early zones.
- Once past zone 60, progress gained per portal starts going down
  significantly.  One could easily play for days to just increment one or two
  perks.

Switching to AutoTrimps to take out most of the remaining grunt-work.
*** DONE World of Warcraft: The Burning Crusade
    - State "DONE"       from "STARTED"    [2017-01-09 Mon 07:51]
    - State "STARTED"    from "TODO"       [2016-12-19 Mon 00:49]
Figured I'd at least try this for a little while once in my life.  Playing on
the hellground.net PS.  Character is an undead priest.

Pretty generic by modern MMO standards, but at least it doesn't do anything
particularly wrong, unlike almost all of the clones (and modern WoW).

I guess we're done playing this.  Will reopen later if not.  Got to level 15.
*** DONE Slouching Towards Bedlam
    - State "DONE"       from "STARTED"    [2017-01-18 Wed 03:29]
    - State "STARTED"    from "TODO"       [2016-08-05 Fri 01:52]
Supposedly an awesome IF game.
http://www.peccable.com/if/slouching/

For some reason, this crashes Malyon whenever in content browsing mode (or
whatever it's called).  Had to install games/frotz.

Has a few grammar errors, but overall is a compelling IF game and close to as
good as these get.  Good balance of story, puzzle, and an extra twist on the
formula.  Made me research and learn a few things, so that's always good too.
*** DONE AutoTrimps
    - State "DONE"       from "STARTED"    [2017-02-04 Sat 23:01]
    - State "STARTED"    from "TODO"       [2017-01-06 Fri 18:16]
A bot that plays Trimps.  Rather necessary given how needlessly interactive the
game gets.  In fact, it got to the point whether it was bot or quit.  I was
going to work on my own bot, but due to how complex and arbitrary the game
rules are, I'll just use this.

https://github.com/genbtc/AutoTrimps

Using the Chrome version in a VM:
- Install Tampermonkey extension.
- Open Tampermonkey dashboard, which can be done from the newly added toolbar
  icon.  Paste the .user.js URL listed on the site into the URL bar in the
  Utilities screen.
- Once installed, just going to the GitHub version of Trimps will autoload the
  script.

Chrome seems to not be as resource-intensive, even with AutoTrimps running.
Firefox on the same VM was pegging a core.

With the right portal and perk assignment settings, this can now mostly play
itself with only checking in every few days at most.  You can still manually do
deep runs and challenge games, which are really the only part of this game that
require any thought.

The progress curve on this game really starts to get pretty brutal, even with
botting.  An entire day of super-efficient botting can result in a couple
points of perk advancement.  With most perk benefits being additive, this gets
depressing.  I decided to just project forward manually by modifying the
game.global object in the console, but doing so in a way that mimics what would
happen if I had actually botted all those resources.  The story completes at
the Spire (accessible at zone 200).  After that, only the dimensional generator
mechanic and magma mechanics are attainable.  I'm quitting now after seeing
that part, but I'll keep my game export around just in case a lot more stuff
gets added to the game later.

One way this game could've been better is to make it entirely playable from the
keyboard.  While I still wouldn't play it, a skilled player could then really
integrate with the flow of the game, particularly when it runs at late game
speeds.  The current interface will always be too clunky due to scrolling and
clicking on things.
*** DONE xsokoban
    - State "DONE"       from "STARTED"    [2017-02-05 Sun 02:11]
    - State "STARTED"    from "TODO"       [2017-02-04 Sat 23:17]
I've never played a sokoban game before, so I'll give the genre a chance with
this.  Doing a pkg install on it since it won't be around long.

Did the first 14 levels.  Somewhat fun, but not really my type of puzzle game.
*** DONE xtet42
    - State "DONE"       from "STARTED"    [2017-02-05 Sun 02:21]
    - State "STARTED"    from "TODO"       [2017-02-05 Sun 02:15]
A tetris clone on X11.

Graphics area is too small.  Can't see what's going on.  Also needs a grid on
the playing area.
*** DONE Color the Truth
    - State "DONE"       from "STARTED"    [2017-02-05 Sun 20:16]
    - State "STARTED"    from "TODO"       [2017-02-05 Sun 14:58]
A mystery/detective IF game.  There's several IF games in this genre out
recently of notable acclaim.  I'll try this one first since it's a shorter one.
This is a gblorb file, which runs in a Glulx engine player.  I'll just play it
in an online player as a result.

Quite good, has some novel mechanics well executed, and is a pretty decent
story.  Only downsides are its length, lack of much of an interesting ending,
and a few grammar/history errors.
*** DONE Detectiveland
    - State "DONE"       from "STARTED"    [2017-02-06 Mon 01:24]
    - State "STARTED"    from "TODO"       [2017-02-05 Sun 22:27]
A detective IF game with multiple missions.  Supposedly very good.

Worth playing for sure, though I generally prefer a nice parser over clicking
on things.  This won first place in the 2016 IF competition, and deservedly so.
*** DONE Bussard
    - State "DONE"       from "STARTED"    [2017-02-10 Fri 23:33]
    - State "STARTED"    from "TODO"       [2017-02-10 Fri 22:58]
An "Emacs in space" game, similar to an idea I had, though much simpler.
https://gitlab.com/technomancy/bussard/

Not really enough here to be worth putting any time/energy into.  Even if it
were expanded to a full game, I'd still have complaints:
- I'm not interested in writing any Lua.  It's weird that the author chose
  that, given his proclivity for better languages.
- Space travel moves too fast and is too arcade-like.
- Space travel is done via the arrow keys.
- The console is quite lacking in many ways.
- Space is in 2D.

It's kinda a shame, since I've been convinced for a long time that games based
around programming can be awesome.  I've yet to see one not dumbed down like
this, however.
*** CANCELED 3059
    - State "CANCELED"   from "TODO"       [2017-02-11 Sat 02:23]
Check out 3069 later if I like this.

Seems promising, but I'd rather it not be real time.  Also the view area is too
small.  I might reconsider trying this, but right now I'm inclined to pass.
*** DONE sudoku.el
    - State "DONE"       from "STARTED"    [2017-02-16 Thu 02:24]
    - State "STARTED"    from "TODO"       [2017-02-16 Thu 01:00]
I guess this is the only version in elisp.  Set sudoku-level to easy, medium,
hard, or evil before starting.

Setting sudoku-download to true in order to grab puzzles from online doesn't
seem to work.  Don't feel like debugging and fixing it, so I'll just play the
included ones for a bit.

Played a few games.  Probably would keep around, but with download not working,
it's not worth the extra file.  Deleted.
*** DONE Distant Worlds Universe
    - State "DONE"       from "STARTED"    [2017-02-20 Mon 18:14]
    - State "STARTED"    from "TODO"       [2015-01-10 Sat 19:16]
Space 4x fans seem to think this is the ultimate experience in the genre.
Another mostly-2D 4X game of massive scale, with pausable real time.
Supposedly there are problems with computer empire management, but if you
micromanage everything yourself, it wouldn't come up.  Universe includes all 3
expansions.  Grabbed a copy on Steam sale.

Notes:
- Try editing the race files and set playable flag to Y for mechanoids.
- To get windowed mode, edit and uncomment the height/width variables in
  startup.ini.

After playing this game awhile, I'm a bit mixed on it.  On the one hand, it's
got a ton of features that integrate well and great depth.  However:
- The vastness of space isn't quite adequately captured here.  Requiring more
  zooming in for planets and even more for ships would solve this.
- There's some typos in the manual and UI.
- The UI is quite awful.  Windows are often too small to display their contents
  effectively.  Maybe all of the UI should've been collected on one side of the
  screen.  As is, the play area is an awkwardly-shaped cross.
- Needs more government types, with actual structural changes to the society in
  question.  Not all government types are limited to a state/private sector
  dichotomy.
- Most of the races are just extensions of species of terrestrial life, one of
  my major scifi annoyances.
- The way the user is alerted to things in this game is a mess.  There's the
  4-line console scroll on the top, an area that can display only 1
  disappearing message (that is immediately overwritten by the next one),
  a notification area for your adviser messages, and modal and time-pausing
  popup messages.  When the game is very active with a lot of stuff happening,
  this system breaks down pretty badly.
- Advisers will spam you with the same suggestion over and over.  There's no
  way to permanently dismiss a type of suggestion.
- Many sound effects are headache-inducing, yet I can only disable all or none
  of them.
- Micromanaging everything is pretty close to impossible.  There aren't really
  any good UI tools for managing ships and grouping them into fleets.  On the
  other end, things like research have to be managed yourself.
- Commanding units and bases is done through an awkward combination of right
  click menus, right clicks on targets, and a small set of buttons (with nested
  button sets).
- While the vast number of resources available is great, immersion is then
  broken when you run out of things like hydrogen, the most common element in
  the universe.

If it was just a few of these downsides, I could live with it, but there's just
too many annoyances here to keep this one installed.  It's a shame too, since I
really like the pre-warp start and other aspects of this game.
*** DONE xconq
    - State "DONE"       from "STARTED"    [2017-02-22 Wed 17:25]
    - State "STARTED"    from "TODO"       [2017-02-22 Wed 16:22]
The popular free wargaming strategy game for Unix-variants.  Looks like this
would install without any extra dependencies on FreeBSD.  Installing without
SDL.  Also try out the ncurses interface.

This game is marginal, and even then, only for an older Unix game.  The
mechanics are too simple for any real strategy.  You just build units and send
them charging into battle for the most part.  Some of the historic scenarios
are a little more interesting, but they also suffer from the lack of depth
regarding actual combat.  Overwhelm enemy units by teaming up on them and
you'll always win.  I'll keep this on my laptop in case I want to try out more
scenarios, but I'm otherwise quitting.
*** DONE Hunger Daemon
    - State "DONE"       from "STARTED"    [2017-02-23 Thu 02:08]
    - State "STARTED"    from "TODO"       [2017-02-22 Wed 21:50]
Winner of the 2014 IFComp.  Another glulx game.  I've installed package
gargoyle-free on Linux to play these from now on.  This isn't a perfect player
though, since I can't seem to increase the font size or adjust the background
color.

Pretty amusing, and a quality parody within the Cthulhu mythos.  Occasionally
well researched.  Rather bland in some places and rather short.
*** DONE Andromeda Awakening - The Final Cut
    - State "DONE"       from "STARTED"    [2017-02-25 Sat 01:42]
    - State "STARTED"    from "TODO"       [2017-02-23 Thu 20:57]
Scifi IF game, lengthy and with a large world.  Considering since its sequel,
Andromeda Apocalypse, was 1st place IFComp winner of 2012.  This one won 17th
in 2011, and is supposedly helpful to play first, so I'm starting here.

This has notions of a compelling story, but the actual structure of this game
is way off.  Rooms are poorly described.  Items/exits are hidden in annoying
ways.  Finally, the lore itself doesn't quite have the depth I'd expect, so
I'll skip the sequel for now.  I might come back to it later if I'm desperate
for playable IF.
*** DONE Prolog adventure games
    - State "DONE"       from "STARTED"    [2017-03-01 Wed 19:45]
    - State "STARTED"    from "TODO"       [2017-03-01 Wed 19:23]
Check out some of these IF-like games, written in Prolog.  These were mentioned
by the people in ##prolog on Freenode.
http://www.cis.upenn.edu/~matuszek/cis554-2014/Pages/adventure-games.html

- Amnesty Treasure: Sucks and has bugs.
- Beverly Hills Thief: Solving this game is rather impossible without reading
  the code.
- Out of Inferno: Terrible.

These suck, so I'm quitting.  Prolog is a crap language to write interactive
games like this in.  Also, this code doesn't really do anything interesting
from a logic programming perspective, so it's not worth reading the source.
*** DONE Sid Meier's Alpha Centauri
    - State "DONE"       from "STARTED"    [2017-03-06 Mon 08:58]
    - State "STARTED"    from "TODO"       [2017-03-05 Sun 19:55]
While I'm not a Civilization fan, my former employer bought me a free copy of
this, so I might try it awhile.  I also have the expansion pack, Alien
Crossfire, but I'll try just the classic game first.  Installed to my Win98 VM.
Will delete the VM and restore from backup once done to keep its size down.

Unfortunately, this is just a typical Civilization game, reskinned in a scifi
theme.  I know there's massive amounts of people that love this game model, but
it doesn't work for me.  In particular, my complaints for just this game are:
- Flow of the game really starts to break down once the unit count gets huge.
- There's no way to limit the number of opponents.
- Maps have too much water, which like a lot of strategy games, is annoying to
  have to plan the logistics for.
- The computer opponents cheat, like with all Sid Meier games.
- It's hard for me to really call this kind of game strategic, really.  There's
  really only one strategy: Build up balanced economy and forces, then
  overpower the enemy either alone or with temporary alliances.

Quitting this and skipping Alien Crossfire.
*** DONE Tyrian 2000
    - State "DONE"       from "STARTED"    [2017-03-11 Sat 14:30]
    - State "STARTED"    from "TODO"       [2017-03-11 Sat 00:49]
Had a free copy from GOG for awhile.  I've played the crap out of Tyrian and
OpenTyrian long ago, so I'll just give this a quick run.

The only top-down shooter game worth playing, that I've seen.  If more action
games had these features, like slug mode, I might occasionally be interested in
trying one out.  However, I don't think I'll play this again since it's gotten
quite repetitive for me and I'm trying to avoid mindless entertainment.
*** CANCELED Torment: Tides of Numenera
    - State "CANCELED"   from "TODO"       [2017-03-18 Sat 00:29]
An RPG inspired by Planescape: Torment.  Out now, and supposedly disappointing
to most fans/backers.  I might still pick this up, since being TBS is actually
a preference for me.  However, there are still a lot of complaints that are
troubling, like significant content cuts, being extremely short, mediocre in
story, and pulling the console port bait-and-switch.  So, I might just skip it
altogether.  At best, I'll give it a wide berth for many years until it's dirt
cheap.

Decided to skip this, due to the above problems.  A major factor is that the
writing is central to the game experience, yet the quality of it isn't up to
the task.  Pillars of Eternity had this problem too, ruining the experience for
me.  I also can't help but notice that without the name, the game would have a
hard time standing on its own in the market.
*** CANCELED Orwell
    - State "CANCELED"   from "TODO"       [2017-04-02 Sun 04:46]
Get on sale when it's $5 or below.  Looks mildly entertaining, but with not
enough there to justify more than that.  Might skip, since there doesn't seem
to be much thinking going on here.  Looks like you just click on stuff.

After reading some reviews, this looks too shallow for my tastes.  Skipping.
*** DONE Fallout Shelter
    - State "DONE"       from "STARTED"    [2017-04-15 Sat 01:10]
    - State "STARTED"    from "TODO"       [2017-04-14 Fri 21:46]
The Fallout-themed incremental game.  This was originally a mobile game, and I
guess it's now ported to the PC.  I'm rather burnt out on this genre, nor do I
want to engage in any microtransactions, so I'll just give it a casual
eyeballing.

This is an okay game, but there's plenty wrong with it too:
- There's way too much stuff to click on.
- Panning the camera around so much kinda sucks.
- Being in 3d adds nothing except obscuring characters, requiring even more
  panning.
- The controls for dragging people are rather sloppy.

Was mildly entertained for a few hours, then it got old.  Quitting.
*** DONE Cube Composer
    - State "DONE"       from "STARTED"    [2017-04-18 Tue 12:34]
    - State "STARTED"    from "TODO"       [2017-04-18 Tue 11:48]
A functional programming game, written in PureScript:
http://david-peter.de/cube-composer/

Great game and interesting codebase.  Maybe give the code a closer read if I
ever decide to learn PureScript.
*** CANCELED Mass Effect (revisited)
    - State "CANCELED"   from "TODO"       [2017-04-20 Thu 03:36]
Maybe play this again with the two DLC which are now free.  Copies now in the
storage drive.  Since I have the Steam version of ME, reinstall from Steam |
RMB on game in list | properties | local files tab | verify integrity of game
files.  Then install the two DLC exes.  Not entirely sure I want to bother
replaying all of this, just to play two DLCs.

Decided to skip, due to the time-sink factor and mindless gameplay.
*** DONE Fallout Tactics
    - State "DONE"       from "STARTED"    [2017-04-22 Sat 02:27]
    - State "STARTED"    from "TODO"       [2017-03-11 Sat 14:36]
Had a free copy from GOG for awhile, so will give this a try.

Notes:
- Right click to shoot land mines.
- C-LMB to get into/out of vehicles.
- Select the whole group (F12) and hit r to reload all weapons.
- See core/keys.cfg for keybindings.

Could definitely use more tactics.  Rather mediocre as is, like most games in
the genre.  Only a few things, like vehicles and the setting, save it from
being completely not worth playing.  Working against that:
- Waist high scenery is an impassible barrier.
- Containers are everywhere in game, yet it's arbitrary which ones you can
  interact with.  The only way to find out what is clickable is to mouse hover
  over everything.
- Not enough weapon variety.  There's an okay number of total weapons, but
  progression within types is lacking.  This is particularly noticeable with
  long-range rifles, which the combat system favors.
- The sentry mode aspect of combat results in some annoying behavior where NPCs
  always get a return shot.  A better option would've been a stat-based
  interrupt/quickness/sequence system.
- Not letting NPCs activate alarms is a common mechanic, but apparently they're
  unable to hear gunfire happening in the next room.
- Full auto weapons and shotguns are too accurate at range.

This game reveals the shallowness of 2D Fallout's combat system, despite the
extensions made here to that used in the RPG games.  Adding more RPG elements
to this would've been a cheap way to make this game more interesting.

Despite all its downsides, I was going to stick through with finishing this,
but then I accidentally ruined my saved game on the St. Louis mission by quick
saving just as my main character was getting killed.  Since my last save is
many hours of gameplay before this, I'll just quit.  This is probably for the
best anyway, since this experience was both boring and frustrating at the same
time.
*** CANCELED Empyrion: Galactic Survival
    - State "CANCELED"   from "TODO"       [2017-04-22 Sat 02:57]
Looks like one of the best survival crafting games out there.  Still in early
access, so check back maybe mid 2017 at the soonest.  I'm super skeptical of
this entire genre though, given how most of the examples include very
arcade-like gameplay.  I'd rather it be more of a sim-like experience and have
survival actually be quite difficult.

Given how this game's development is going, I'll definitely be skipping it.
But, I am still curious to see how it turns out.  Maybe check in on it in a
couple years.
*** DONE Atulos Online
    - State "DONE"       from "STARTED"    [2017-04-25 Tue 23:19]
    - State "STARTED"    from "TODO"       [2017-04-25 Tue 22:28]
A very dead 2D flash-based MMORPG.  Interesting for me only because it ruined a
marriage I know about.

Terrible.  Worse than expected, even.
*** DONE Ambardia Online
    - State "DONE"       from "STARTED"    [2017-04-26 Wed 02:22]
    - State "STARTED"    from "TODO"       [2017-04-25 Tue 23:32]
Another garbage 2d isometric MMORPG, similar to Atulos, though not in Flash.
This one apparently only has 3 regular players.

Significantly better than Atulos, but still a completely generic and extremely
simplified RS-clone.  Quit after a few hours.
*** DONE Alien Swarm: Reactive Drop
    - State "DONE"       from "STARTED"    [2017-04-28 Fri 20:13]
    - State "STARTED"    from "TODO"       [2017-04-28 Fri 19:42]
A top-down F2P coop game about shooting aliens, I guess.  Surely won't stick
with it, but will give it a look for a bit.

Too much of a spaz-fest.  Insta-quit after the tutorial.
*** DONE Fishing Planet
    - State "DONE"       from "STARTED"    [2017-04-28 Fri 22:32]
    - State "STARTED"    from "TODO"       [2017-04-28 Fri 22:02]
A F2P fishing sim, supposedly ruined by microtransactions.  Will just give it a
quick look, since I've never played a fishing sim, then uninstall.

I've gone fishing in real life enough times to know this sim is pretty off from
reality.  I actually think people would enjoy a real sim experience of this
more than this arcade version of the activity.  Some aspects of the game are
done well enough that it would be possible to do here, were that a design goal.
It seems all the fishing games out there are so simple, there's no reason the
same mechanics couldn't be added to another game, given that what's here is
hardly worth an entire game on its own.  In any case, this is a trash game with
a grueling treadmill, P2W mechanics, and a lame core gameplay experience.
*** DONE theHunter
    - State "DONE"       from "STARTED"    [2017-04-30 Sun 00:12]
    - State "STARTED"    from "TODO"       [2017-04-29 Sat 01:37]
A F2P hunting sim.  Looks good, but is ruined by microtransactions.
Supposedly, you can still go around shooting birds and rabbits, so I'll try
that.  I've never played a hunting sim before.  With this one being F2P, now I
can give it a try finally.  If I can't get enough of this, there's a new
version of this same game, called theHunter: Call of the Wild, where most of
the content is available for a single cost (minus a few paid DLCs).

This is actually an okay game in some ways.  It's got a nice variety of
weapons, the graphics are pretty decent, and animals usually don't stand around
waiting for you to murder them.  It's also nice to see a game with something
close to a realistic muzzleloader reloading sequence.  However, based on my
limited experience, there's still a lot missing:
- The vast majority of real life big game hunting doesn't involve actively
  stalking animals.  This seems to be the only effective method here.
- There are strange restrictions on what you can kill.  Maybe this is just
  because I'm on a froob account, but having a rabbit kill not count because I
  used buckshot is immersion-breaking.
- One should have to visually inspect the type, direction, and distance
  separating tracks to extract information about animal location.  The PDA
  feature of the game makes it too arcade-like.  This is a missed opportunity
  to force players to learn something about the real world.
- There's some realism issues with some of the weapon models.  For example, the
  Contender/Encore pistol is a bit off and the SAA-clone shouldn't have a
  swing-out cylinder.  All weapons are named incorrectly.
- Reloading still is too fluid and quick, especially for single shot weapons.
  In real life, once has to fumble around with shells and such.
- Aiming at great distances is too easy, particularly from standing.
- You should always lose your sight picture when firing through a scope, except
  with pellet guns and rimfires.
- Grass is thick and obscuring of vision up close.  In the distance, it's not
  present at all.  I suspect that it doesn't work as cover for the player.
- The game needs more ambient life, like birds.
- A multiplayer server will disappear when the hosting party logs off.  This
  kicks you out, regardless of what you were doing.
- Being made by Swedes, there's several things they get wrong about North
  American hunting culture.
- Of course, the biggest problem here is the item mall.  To get anything
  resembling a complete experience, you'd have to pay hundreds of dollars.
  Even with the new version, DLC milking is present (despite the developers
  supposedly promising it wouldn't be).

Even with these downsides, if these mechanics were in another open world or
survival game, they would be awesome.  As a stand-alone, it's not really worth
full price.  Maybe if the full game only costs $5 one day, I'll pick it up.
Added the normal game to my wish list for that reason.  Also, if a proper
hunting game ever comes out one day, I'd be interested in it.
*** DONE AdVenture Communist
    - State "DONE"       from "STARTED"    [2017-04-30 Sun 03:06]
    - State "STARTED"    from "TODO"       [2017-04-30 Sun 00:12]
The communism version of the F2P incremental game AdVenture Capitalist.

I like the incremental nature of the chain of things that produce things.
Apart from that, however, this isn't as good as its predecessor.  Played for a
few hours, which is enough to see where this is going.  I don't want to stick
with any of these incremental games that are written in Flash and/or have P2W
mechanics.  This one has both of those issues.

This concludes this Steam F2P scan.  It seems this segment of the games market
is still as scummy as ever.  Not sure if I'll bother looking through these
anymore, since the results have always been net negative.
*** DONE Codewars
    - State "DONE"       from "STARTED"    [2017-05-09 Tue 00:58]
    - State "STARTED"    from "TODO"       [2017-05-09 Tue 00:14]
Doing the Clojure version of this.  I think this has some RPG-like elements
tied into it, but it seems it's mostly about training programming skills.

Did one of the problems.  Seems like it might be okay, but I since the site
clobbers my hotkeys in Conkeror, I can't paste code into the code textbox.  I
have no intention of manually typing it all in or using an inferior web
client.  Will hold out for something better.
*** DONE Eador: Genesis
    - State "DONE"       from "STARTED"    [2017-05-12 Fri 00:32]
    - State "STARTED"    from "TODO"       [2017-05-11 Thu 22:36]
Got this 4x TBS game for free on GOG.

This is an okay game, but a little too simplistic for me.  Either combat or
empire management just needs more stuff.  I guess I like that it's 2d, but
being so uninspired and derivative, there's nothing particularly note-worthy
here.  Also, I guess I'm not really into the land-based versions of 4x TBS.
*** DONE ZType
    - State "DONE"       from "STARTED"    [2017-05-12 Fri 12:29]
    - State "STARTED"    from "TODO"       [2017-05-12 Fri 11:58]
An online typing game.  http://zty.pe/

Kinda fun for a few minutes.  Not sure this is anything more than a measuring
stick for how fast you can type, however.  It's definitely unusable as a typing
practice tool, and the handling of errors might actually introduce bad habits.
*** DONE The Last Stand: Union City
    - State "DONE"       from "STARTED"    [2017-05-29 Mon 00:43]
    - State "STARTED"    from "TODO"       [2017-05-28 Sun 17:59]
The third in a line of Flash-based games that started with The Last Stand.

There's a lot of bugs in this game that downgrade the experience.  Apart from
that, I guess I'd like this if I were into action games.  Managed to finish
this anyway though, since it's not too long.
*** DONE Astrox
    - State "DONE"       from "STARTED"    [2017-06-04 Sun 23:42]
    - State "STARTED"    from "TODO"       [2017-05-30 Tue 02:36]
An asteroid mining game, marketed as a single-player Eve Online experience.
Only available on Steam, unfortunately.  I'm avoiding buying stuff on Steam as
much as possible, but since this was on sale for $1.99, I made an exception.

Rather lacking in a lot of ways:
- Definitely a casual game that seems at least a little incomplete.  Probably
  needs double the existing work to just touch up what's here.
- Lacks any semblance of being a simulator, which is really the asteroid mining
  game I want.  Interaction is focused around UI buttons.
- I don't mind the simplistic 3D models, but there's a lot of slop.  For
  example, all beams emitted from the ship originate from the central point
  within the model.
- Station interface needs some serious redesign.  Most annoying is no central
  inventory management.  All of the things you might want to do with inventory
  are split between tons of screens.
- Has an annoying bug regarding long-range combat, where once you level up
  targeting range, it's possible for your ship to fire away at an enemy and
  never hit it.

Quickly ran out of things to do except pointlessly treadmill leveling up
skills, so quitting.  I guess I got $1.99 out of it, but I'd probably feel a
little better about it at $1.29 at most.  This game is probably optimal if used
as something to play windowed while doing other stuff.  However, once you
optimize for mining speed, it once again becomes too repetitive.  Not really
the asteroid mining game I've been waiting for, by any stretch.
*** DONE Homeworld: Deserts of Kharak
    - State "DONE"       from "STARTED"    [2017-07-04 Tue 15:12]
    - State "STARTED"    from "TODO"       [2017-06-24 Sat 10:44]
A ground-based RTS and prequel to the original Homeworld.  Has 4 DLC, but I
think they do nothing outside of MP, so they can be skipped.  Grabbed on sale
for $16.99 on GOG.

Some complaints:
- Has a lot of random bugs everywhere.  Obviously needed more QA testing.
- Cutscenes should all be skippable, but only out-of-engine ones are.
- Too spaz-like.  Needs less action and more thinking/planning.  Gameplay is
  micromanagement-centric and not strategic.
- DLC assets seem to already be in game, but require money to unlock.
- Since position matters much more here than in the space games, a way to
  precisely place units would be useful.
- In skirmish mode, fleet capacity is way too low.  Skirmish mode in general
  kinda sucks, actually.
- Mission scripting sometimes has enemies pop out of random locations on the
  map.  The only counter to this is to have played it already.  Some respawning
  enemies also materialize out of thin air.
- Would be nice to be able to zoom out farther in non-sensor mode.
- Various annoying things about some mission kill my desire to replay the game.
- Units can shoot through some obstacles.
- The mission "Tombs of the Ancients" has a serious bug in it where the next
  scripted event won't trigger.  The only way to proceed is preventing enemy
  salvagers from opening the wreck with the power source artifact in it.

There's some good things about the game, most notably capturing the HW style
accurately.  Some of the missions are quite interesting too.  Overall, this is
probably a $10 game at most in value.  I would've been very upset had I paid
full price for it, but I'm only just mildly disappointed currently.
*** CANCELED Homeworld Remastered
    - State "CANCELED"   from "TODO"       [2017-07-04 Tue 16:34]
One of my favorite games of all time.  May be worth another play through with
the modern rework of it.  Given how many times I've played it though, I'd only
be willing to shell out max $10 for it, so won't get to this soon.  Currently
$35, which is way too much, particularly since the old graphics still look
okay.  Last sale was for $14, so I may pick it up if it goes below that.

Skipping.  Will just stick with normal Homeworld 1.  In some ways, I like the
older graphics better.
*** DONE Homeworld (revisited)
    - State "DONE"       from "STARTED"    [2017-07-05 Wed 17:08]
    - State "STARTED"    from "TODO"       [2017-07-05 Wed 00:40]
Replay the original Homeworld.  Supposedly, one of my favorite games ever, but
I haven't touched it in over 10 years.

Notes:
- Installed 1.05 patch.
- To allow for increased RAM usage, flag the binary with =/heap 1073741824=.
- Disable the intro movies with =/disableAVI=.
- I couldn't get widescreen to work without various issues, so doing without.

The control scheme for this game is a big downside.  Played through about 1/3
of the missions.  I might come back to this later, but I think I'll skip
struggling with this for the next several days.  This game isn't quite as
awesome as I remember, but it's still pretty good.  However, I've also already
played it several times and seem to remember everything about it.
*** DONE Homeworld: Cataclysm (revisited)
    - State "DONE"       from "STARTED"    [2017-07-11 Tue 02:42]
    - State "STARTED"    from "TODO"       [2017-07-05 Wed 17:10]
The second Homeworld game, in spin-off form, with some novel mechanics.

Had issues with Direct3D causing crashes, but got it working with the 1.01
patch and using these flags: "-triple -enable3DNow -heap 1073741824 -enableSSE
-disableAVI".
*** DONE IdleLands
    - State "DONE"       from "STARTED"    [2017-07-12 Wed 18:45]
    - State "STARTED"    from "TODO"       [2017-04-30 Sun 03:35]
A node-based idle game.  Possible to run locally, but since multiplayer
mechanics are a big part of the game, it's best to just play on the official
server.  http://idle.land

Probably the best idle game I've played so far, though still not yet perfect.
Seems like this would be a perfect game for a terminal client.  The web UI here
is okay and usable, but probably the biggest downside.  Being so heavyweight,
it wastes a lot of system resources and is a bit laggy in places.  Got to level
400, then lost the urge to continue.
*** DONE RPG MO
    - State "DONE"       from "STARTED"    [2017-07-16 Sun 00:56]
    - State "STARTED"    from "TODO"       [2017-07-16 Sun 00:37]
Some kind of web-based 2D isometric RPG.  http://rpg.mo.ee/

Too simplistic.  Fundamentally a very thin UO clone.
*** DONE Star Trek Online
    - State "DONE"       from "STARTED"    [2017-08-06 Sun 15:05]
    - State "STARTED"    from "TODO"       [2017-07-22 Sat 02:32]
F2P, so giving it a try for a bit.

Notes:
- Be sure to at least disable the fly-in version of the announcement
  notifications.  This is accessed via the drop-down arrow to the lower left of
  the minimap.
- Be sure to enable auto-attack for ground mission weapons.
- To switch to shuttle, use the mini-map drop-down arrow to enter shuttle
  interior.  Then talk to the crewman to select ship.  On the bottom left of
  the ship selection dialog is a radio button for activating small/large ship.

Some complaints:
- Has a fair number of bugs that will probably never be fixed.  Most of these
  are visual, but there's some mission-breaking ones too, mostly around broken
  triggers.
- Would be much better as a single player game, since the multiplayer aspect of
  it isn't worth the downsides.  PvE/PvP arenas could've still be added on top
  of that SP game.
- This game isn't too bad at it, but it does have P2W items.  Though
  theoretically possible to farm for some of the pay items, the time investment
  to do so is total life murder.
- The core experience is just the same thing, over and over.
- Has mini-games.
- Too combat-focused.  I'm not a fan of the IP, but constant combat seems very
  well outside of Star Trek's focus.
- Combat, especially in MP matches, is too fast-paced with little strategy.

Played through all of the story "episodes", some of which are actually somewhat
interesting.  I'm calling this done, though I might still log in for a while
occasionally to refresh crew roster assignments.  There doesn't seem to be much
point in doing so, however, so I'll likely not stick with it.
*** DONE Rome: Total War (revisited)
    - State "DONE"       from "STARTED"    [2017-08-24 Thu 01:54]
    - State "STARTED"    from "TODO"       [2017-08-11 Fri 04:39]
I've tried a couple other Total War games, as so far this is still my favorite.

Notes:
- Be sure to flag binary with "-nm" flag to disable movies.
- Go to Data\world\maps\campaign\imperial_campaign\descr_strat.txt and move all
  factions to the playable section.
- Fix the squalor bug by overwriting the copy of export_descr_buildings.txt in
  Data\ with the version I have saved.  Without this, full world campaign mode
  is nearly unplayable.

Conquered the world as the Egyptians.  This game really starts getting to be a
slog once an empire gets rather large.  Heavy hotkey usage is a must.
*** CANCELED Rome: Total War: Europa Barorum
    - State "CANCELED"   from "TODO"       [2017-08-24 Thu 19:56]
A realism mod that corrects the majority of known historical errors.
http://www.europabarbarorum.com/downloads_mod.html

Tried installing this, but it was non-functional for unknown reasons.
*** DONE Super POTUS Trump
    - State "DONE"       from "STARTED"    [2017-08-26 Sat 18:51]
    - State "STARTED"    from "TODO"       [2017-08-26 Sat 18:29]
A semi-parody game, I guess, F2P on Steam.

Not F2P, but a demo with just access to the first level.  The gameplay is also
rather lacking and uninteresting.
*** DONE Total War: Shogun 2 - Fall of the Samurai
    - State "DONE"       from "STARTED"    [2017-09-08 Fri 12:19]
    - State "STARTED"    from "TODO"       [2017-09-01 Fri 09:36]
The stand-alone expansion to Shogun 2.  For Total War games, it's best to wait
until all DLC is released and the series has moved on by a few titles.  It
seems like this might finally be the time here.  Bought on Steam with all the
DLC for $9.99.

Notes:
- Add the "More Campaign Years" mod.  Since I have the game on Steam, this can
  be done through the Steam Workshop.
- To repair ships and buildings, select them, then click the repair button on
  the interface to the left.

A few complaints:
- There's a bug where limbered artillery is nearly invincible.  Only insane
  amounts of damage can kill them.
- Computer opponents magically know exactly when they're in range of artillery.
- There's some bugs with placement of artillery.  Be sure to let them complete
  their movements before doing anything.  Also be careful around certain
  scenery.  If they do get stuck, running some cavalry through them might help.
- Naval combat needs some work.
- Computer-controlled units need some variety in behavior.
- Trees shouldn't be invincible against artillery.
- Absolutely massive install size.
- Enemies can be in certain locations that can't be hit, causing ranged units
  to waste all their ammo trying.
- General loyalty causes random defections, but there's no way to raise it.

Good game and definitely worth $10.  So far, I think this is my favorite of the
Total War series, as it does a pretty good job with early firearms (though it
gets some of the history wrong).  Short of great though, due to bugs and
oversights that would've been easy to fix.

Finished campaign mode as Satsuma faction and played various custom battles.
Skipped the historical battles, since they have to be played in sequence and
the first one is annoying.  Uninstalling, but will play this at least once more
sometime.  Also, this will replace Rome: Total War if I ever need a fix of this
type of game.  Maybe install it to my storage drive while I have fast internet
service.
*** DONE Guild Wars 2
    - State "DONE"       from "STARTED"    [2017-09-10 Sun 01:47]
    - State "STARTED"    from "TODO"       [2017-09-10 Sun 00:16]
Now F2P, and supposedly not too annoying with the cash shop stuff, so will give
it a try.

Tried making a Sylvari necromancer.  Unfortunately, every class seems to play
pretty close to the same, with the standard knuckle-roll.  Gameplay is
definitely of the action RPG variety.  Since I'm not in the market for that,
I'm quitting.
*** DONE A Dark Room
    - State "DONE"       from "STARTED"    [2017-09-21 Thu 02:07]
    - State "STARTED"    from "TODO"       [2017-09-20 Wed 22:09]
Advertised as some kind of text adventure game, though looks like an
incremental game.  Grabbed the portable Windows binary.

Played until it got to the rogue-like feature.  Quitting, since I don't want to
manually play incremental games.  Apart from this, it doesn't seem to be
anything special.
*** DONE Everquest II
    - State "DONE"       from "STARTED"    [2017-09-28 Thu 16:59]
    - State "STARTED"    from "TODO"       [2017-09-09 Sat 11:56]
I've been meaning to briefly check out the F2P version of this on Steam.

Complaints:
- Installing takes many, many hours.
- Graphics haven't aged well.  EQ1 is easier on the eyes than this.  Characters
  have that early 2000s clay-like appearance.
- Has the whole grey-con mobs giving reduced XP/drops problem.  There is two
  ways around this, mentoring and chronomagic, but both kinda suck.
- Unlike some F2P games, this one is constantly trying to get you to spend
  money.  Particularly egregious is the random pop-up spam and paywalled
  content.
- Froobs can't use the in-game market.
- Crafting is represented by a lame mini-game.

Made a ratonga defiler.  This game is very generic.  There's really nothing
compelling about EQ2 versus other modern theme park MMOs.  In fact, it's
inferior to most of them.

Gave up, mostly due to all the paywalls and how uninspired it is.
*** DONE Everquest 1 (revisited)
    - State "DONE"       from "STARTED"    [2017-10-24 Tue 18:24]
    - State "STARTED"    from "TODO"       [2017-09-30 Sat 14:35]
Now that I know how to play EQ1 p99 quite well, I'll give this another try.
Last time I just finished the n00b area, so I'll venture out into the world
proper.

Notes:
- Always still up on one of the guards in the n00b area.  At least do the
  combat skills, since getting them later will be nearly impossible.  To do
  this at level 14, be sure to bind there and gate back before hitting 15.
- Install Brewall's maps: http://www.eqmaps.info/eq-map-files/
- Do this quest for a 20-slot bag.  Go to the neighborhoods area adjacent to
  the Guild Lobby.  Pick any location.  Sunrise Valley is the area prior to the
  lot: http://everquest.allakhazam.com/db/quest.html?quest=5522

Complaints:
- There's still no good way to quickly sell stuff to vendors.  This is
  particularly a problem now since there are more junk drops.
- The vast majority of the game is an abandoned wasteland.  There's no reason
  to go to these zones since the only worthwhile gear is attainable on the
  standard progression path.
- It's hard to tell what features are still worthwhile and which ones are a
  useless timesink with inflated away returns.
- The main online resource for the game hides some of the info behind a
  paywall.
- A system was added that ranks items by required and recommended level.
  Wearing an item below the required level negates its benefits.

Multi-boxed a dark elf magician and a half-elf druid.  Also did some botting
with the duo too.  I was getting close to the paywall and trying to decide
whether to subscribe or not, but then quit around level 60 due to DBG
arbitrarily changing the name of my druid.
*** DONE Sacred Gold (revisited)
    - State "DONE"       from "STARTED"    [2017-10-31 Tue 11:23]
    - State "STARTED"    from "TODO"       [2017-10-28 Sat 20:20]
Will give this another try with a different class.  Will skip the searching for
secret hiding spots this time.

Notes:
- Run config.exe in the game directory to set windowed mode.

Tried most of the classes out briefly and stuck with the ranger.  Apart from my
original observations:
- Clicking on stuff and character control is sometimes sloppy, particularly in
  combat.
- Combat is too fast paced, making switching between skills less viable.
- Despite the combat speed, buffs cast slow, requiring their casting prior to
  combat.
- Mob fleeing, while realistic, is extremely annoying for melee characters.
- Information is lacking on this game, making build planning guesswork.  Since
  you can't respec, you could end up gimped if you make an incorrect assumption
  about how a build will play out.

Generic, boring, and repetitive.  Thinking about a build could theoretically be
interesting, but the amount of mindless clicking in this game is unbearable for
me.  Quitting around level 27 or so.  I guess I'm just not in the market for
action RPGs anymore.
*** CANCELED PlaneShift (revisited)
    - State "CANCELED"   from "STARTED"    [2017-11-08 Wed 21:32]
    - State "STARTED"    from "TODO"       [2017-11-08 Wed 18:11]
Now that I'm pretty knowledgeable about EQ1, try this out to see if it's a
decent clone.

I can start the game, but it crashes whenever I try to enter the game with my
character.  Sometimes it crashes at the character creation screen to.  Tried a
few graphics settings for awhile, but I don't think that's the cause.  Giving
up.  Maybe I'll try again later some day.
*** DONE Starcraft II
    - State "DONE"       from "STARTED"    [2017-11-10 Fri 01:35]
    - State "STARTED"    from "TODO"       [2017-11-08 Wed 22:55]
The single player campaign of the base game is F2P now, so might as well give
it a try.  Requires installing Blizzard's game manager client, so clean up all
the crapware when done.  Playing on max slow.

Unfortunately, it looks like F2P here means you can only play 4 missions.
Uninstalling game and Battle.net client.

Like all recent Blizzard games, this is highly polished and pretty impressive
at being so finely tuned to appeal to the maximum number of players.  The
consequence of that, however, is that someone like myself finds it at best
blandly entertaining.  Definitely won't be buying the full game.
*** DONE Meritous
    - State "DONE"       from "STARTED"    [2017-12-26 Tue 00:08]
    - State "STARTED"    from "TODO"       [2017-12-25 Mon 18:15]
A GPLed dungeon crawl game.  Source available and supposedly runs on Linux, but
will just use the Windows binary.  http://www.asceai.net/meritous/

This game is difficult to control with the keyboard, so I mapped the gamepad to
the keyboard controls using JoyToKey.

Beat the game, but in "wuss mode".  Since that was pretty tough as is and the
gameplay here is very simple, I'll call it good enough.
*** DONE Creeper World
    - State "DONE"       from "STARTED"    [2017-12-26 Tue 19:30]
    - State "STARTED"    from "TODO"       [2017-12-26 Tue 01:40]
An online, flash-based, tower-defense game.  The difference here is that the
enemy is primarily composed of a two-dimensional, spreading entity that must be
pushed back.

Well, I played the intro simulator missions.  Decided not to stick with it for
reasons that include:
- The drone tower is manually operated.
- Tower range is too short.
- Needs more variety of towers.
- Needs deeper mechanics.
*** DONE Immortal Defense (revisited)
    - State "DONE"       from "STARTED"    [2017-12-27 Wed 19:36]
    - State "STARTED"    from "TODO"       [2017-12-22 Fri 10:57]
Will give this another try.  I did like the super-strategic nature of point
placement, but had some qualms that I think I can ignore this time around, to
some extent.  A slightly updated version is available on Steam as well, but
I'll just use my old offline copy.

Notes:
- Use S to sell points.
- Note that yellow paths slow enemies, blue speeds them up.
- Releasing a charge attack inside of an enemy will make all projectiles hit
  it.
- The charge attack levels up for each campaign.
- To enable cheats, hit C-u.  Then use C-<numpad 2> to increase funds, and
  C-<numpad 3> to add more towers.

Played all of this, but due to the last level being insanely long, such that
trying different strategies would take many hours, I cheated a bit to get past
it to see the ending (which was a bunch of nothing).  I also skipped the final
bonus maps, since they seem a bit annoying.

Great game and very original ideas and design.  Lots of variation on strategy
and most maps are of high quality design.  Mechanics also vary throughout the
game, which is another nice touch.  My main complaint is I wish there was just
a little more precision in how a tower will play out on a given map.  You have
to rely on the cursor to clean up the nondeterminism.
** Computer science/programming goals
*** CANCELED compiler design
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 15:45]
A compiler can be defined as: an application that transforms a stream of
symbols into a stream of different symbols.  This more generic definition, as
opposed the more narrow common definition, makes it more obvious why this is on
the list.  Compiler design is important for a lot of things not normally called
compilers.  I'm also interested in actual source compilers too though, and am
considering contributing to one or more.

Skipping this, for now.  Canceled all related books.
*** CANCELED algorithmic information theory
    - State "CANCELED"   from "TODO"       [2017-03-18 Sat 00:21]
In particular, things like Kolmogorov complexity.  There's also a more general
math sub-field of information theory, but I think the CS variant (which
combines that with computability theory) is sufficient.

Canceling since this doesn't fit into my focus on PLT, CT, and types.  This is
a prime candidate for revisiting after some of my major goals are complete.
*** DONE logic programming
    - State "DONE"       from "STARTED"    [2017-04-17 Mon 00:56]
    - State "STARTED"    from "TODO"       [2017-02-28 Tue 11:50]
One of the 3 main programming paradigms.  For this effort, I'll not do a deep
dive on it, but rather just learning the fundamentals of logic programming that
can then be applied in more useful languages and EDSLs.

Goals:
- Understand the scope of logic programming and know its core concepts.
- Be able to practically apply these ideas in core.logic, presuming it is worth
  working in.
- Get some context for the logic programming influences on theorem proving.
- Determine whether to pursue the topic further, perhaps queuing up one of the
  modern logic programming languages, like Curry, Twelf, or Mercury.

The plan:
- [X] Fine-tune prolog-mode a bit on Emacs.
- [X] Read Wikipedia articles on Prolog and logic programming.
- [X] Read a quick SWI-Prolog tutorial online.
- [X] Read chapters 1-7 of The Art of Prolog.  Take notes along the way.
- [X] Read documentation on core.logic.
- [X] Write a demonstration application in core.logic.
- [X] Give presentation on logic programming and core.logic.

Pretty much worked out as planned.  The only downside is core.logic's
documentation is rather lacking.  The concepts are now in the brain, though I'm
not sure if I'll ever actually use them.
** Math goals
*** CANCELED differential/integral calculus
    - State "CANCELED"   from "TODO"       [2017-03-16 Thu 08:16]
Find a book on this subject and refresh knowledge on the subjects here.  Still
have my old Calc I and II textbooks, so I can use those as a last resort.

After thinking about whether to actually go ahead and do this, I've decided to
skip it since it's not been even remotely useful in my life so far.  Any value
from having taken 3 calc courses in college has already been factored into my
life.
*** DONE ZFC set theory
    - State "DONE"       from "STARTED"    [2017-03-23 Thu 01:55]
    - State "STARTED"    from "TODO"       [2017-03-22 Wed 22:16]
Restricted set theory + the axiom of choice (which I see no reason to
preclude).  Non-Cantorian set theory is far less applicable to my interests, so
ignore those for now.  Maybe check out NBG set theory afterward, since this is
relevant to category theory and is just an extension of ZFC.

Downgraded this to just be a refresher, since I recently did a fair amount of
set theory stuff in GMU's grad-level discrete math course, and a few other
classes.

The plan:
- [X] Read set theory Wikipedia article and related articles, including naive
  set theory, Russell's paradox, ZFC, the axiom of choice, and all the expanded
  section articles in "Areas of study".
- [X] Read up on NBG set theory.

Notes:
- Symmetric difference: Exclusive difference.  Elements that are in one but not
  both.  A Δ B = (A ∪ B) \ (A ∩ B).
- Reminder: the power set of A is the set of all possible subsets of A.
- Topos theory is a category theoretic alternative to set theory.
- NBG set theory is one of a flavor of set theories that include both sets and
  "proper classes".
- In homotopy type theory, sets can be defined as certain kinds of types.
  Maybe look into this when/if I get around to HoTT.

There's a lot of various set theory "flavors" that can be lazy-loaded as they
become relevant in life.  NBG is just one of them.  I do feel slightly more
motivation to take some time to read a text on topos theory now, but I'll put
that off until later.
** General life goals
*** CANCELED find USB switch
    - State "CANCELED"   from "TODO"       [2017-03-30 Thu 01:12]
Replace my crappy KVM switch with a USB switch.  My KVM switch has many
problems:
- It's a VGA and PS/2 switch.  making me need PS/2->USB adapters.
- I only use the K part, meaning there's a bunch of useless wires dangling
  everywhere.
- It sometimes gets into weird modes (indicated by a flashing status light) and
  doesn't work, requiring a reboot of the machine it's non-functional on.

There may be a downside to this in that it disconnects the devices on the
non-active computer.  Test this by pulling and re-plugging keyboards and mice
into my FreeBSD machine to ensure function.

I was going to buy the IOGEAR GUS404, but then tested hot-swapping a USB
keyboard on FreeBSD.  Looks like that doesn't work, though hot-swapping mice
does.  I'll check back in a few years to see if it works then.  Until that
time, I'll stick with my current setup.  If I can more permanently locate my
desk, I might rig up a system with zip-ties or something to mitigate the cable
situation.  If I can get this working one day, I might switch to a Unicomp
EnduraPro with the integrated pointing stick.  Then I could toss my mice
altogether and just keep one around in the desk for game playing.
*** DONE replace laptop
    - State "DONE"       from "STARTED"    [2017-04-07 Fri 20:38]
    - State "STARTED"    from "TODO"       [2017-03-26 Sun 22:43]
Maybe get a C-grade refurbished Lenovo x220, which are now available for $127.
These have a better keyboard than the later models (no island keys), a
full-size DisplayPort out (unlike the later mini-DP), and the HD and RAM can be
upgraded.  Given how cheap this is, it's low risk for trying out.  My main
impetus for it is the inability to hook up to external displays on my netbook,
its crappy keyboard, and the broken screen backlight on it.  Looks like
everything is supported on FreeBSD with this model.  The only downside is that
this model is from 2011, which is pretty old.  However, it is better hardware
than what I have now.

Well, they sent me an x230 instead of an x220.  They also included the wrong
battery.  I'll keep it and try to make it work though, since this one seems
pretty nice.  Otherwise the laptop is in great condition.  The only noticeable
wear is a few very minor scuffs on the lid.  Given how that's going to happen
anyway with use, that doesn't bother me at all.

Notes:
- Supports SATA III SSDs of 7mm height.
- Extra 6-cell OEM batteries are available on Amazon.  Only get the +44
  variant, which includes an extra chip required for charging.
- Remove the keyboard to gain access to the fan.  Remove two screws in the back
  with the keyboard icon next to them, then slide the keyboard up and remove
  it.
- Memory is 16GB (2x8GB) max of 1600MHz DDR3 in 2 204-pin SO-DIMMs.  Will just
  upgrade to 2x4GB.
- See the FreeBSD Wiki page: https://wiki.freebsd.org/Laptops/Thinkpad_X230
- Consider buying a replacement fan and keeping it aside for later.
- Set regdomain on the wireless adapter to FCC4.  Others can't get scan
  results, for some reason.

Got everything working perfectly, as far as I can tell.  Even the Fn keys work.
This is a better solution for mobile computing than buying cheap netbooks.  I
get a better and more serviceable computer, all for less cost.  I'll be buying
refurb Thinkpad ultrabooks from now on, preferably on the low end of the
possible price range, like this one.

As for my old netbook, I'll try putting NixOS on it, I guess.  I'll use this
when I don't want to trash up my nice ThinkPad.  Otherwise, I'll leave it
stored in the closet as a backup.
*** DONE review/correct all personal website content
    - State "DONE"       from "STARTED"    [2017-05-05 Fri 10:05]
    - State "STARTED"    from "TODO"       [2017-05-06 Sat 18:24]
Go through everything I've written on the personal website and tidy it all up
for correctness.  Anything too hopeless and/or outdated should be deleted.

Reviewed and cleaned up all content, excluding the game design documents.  Also
went ahead and further cleaned up the site design and unified the content pages
style with the main page.  This is a pretty good looking site now, I think.
** Macro-goals
*** DONE year-end review for 2017
    - State "DONE"       from "TODO"       [2018-01-06 Sat 01:04]
Context: 2016 was a largely wasteful year with the only exception being that I
dedicated most of my energy to attempting to manage a team of developers.
Results were mostly positive, but it took its toll in every other area of my
life.  On the other hand, I can't completely blame work for this.  Stagnation
in other areas was still my fault, and I've already started turning it all
around.  Maintain that pace this entire year (and presumably permanently).
Accordingly, I'm leaning much harder on this list from now on, and putting more
effort into keeping it maximally useful.

Goals for 2017:
- Make a pass on everything listed here and cancel stuff no longer in line with
  current goals.  I can always add them later, but for now, there's a lot of
  noise here.
- Get physical health back to near 100%.  This will be easier without work, but
  still totally doable now and there's no reason to accept anything
  non-optimal.  Get weight to under 190.  Be able to at least jog a mile in
  under 8 minutes (currently I can't do that at all).  I'll be happy if I can
  get close to this, but I'm trying to set myself up for success.  See
  refactored task for details.
- Retirement plan:
  - Come up with plan this summer with details on where I want to live and what
    the economics of the plan looks like.  Reform sections dedicated to this in
    ideas.org, which are currently preliminary thoughts, into a real plan.
  - Remain completely detached from acquaintances and invest zero energy into
    inter-personal relationships.  Since I'm definitely leaving, this would be
    wasted effort.
- General notion of self-study goals to complete:
  - Clojure mastery.  I at least need to close the skills gaps on my primary
    language.
  - Logic programming.
  - Front-end skills.
  - All skills related to the current job.
  - Clean out a lot of my tasks that are one-off and don't fit as nicely into
    larger efforts.  Some of these I'll do, others I'll just cancel.
  - At least get started on my long-term curriculum.  Even with all the above,
    I should be able to make some decent progress on this.
- Distraction management:
  - Actively ignore all popular media about everything.  This is good to do in
    general, but especially important these days due to the general public
    discourse being so low brow, nonsensical, and negative.
  - Unsubscribe from all forums.  Replace only with subscriptions to study
    topics, like FPLs and types.  This prevents time-wasting feeds full of
    general interest information from wasting hours at a time.
  - Only venture onto the general web when seeking information or asking
    questions where I cannot get the answers elsewhere.
  - Related to this: I've noticed the pursuit of completeness is occasionally
    an obstacle to overall progress.  Make a point not to get bogged down on
    tough spots in self-study.  Either plow through or skip it, then make a
    note to look into it later if it's even all that important.  Intentionally
    do less important tasks half-assed (like tools and library research).
  - Maximize use of FreeBSD machines.  Only use Windows box for dedicated
    tasks like VMs and games.
  - Have only a max of 1 active game at a time.
  - Have only a max of 1 active fiction book at a time.
  - Read a book on this subject.
- Sell more items in line with goals in tasks.org.  I still feel a bit weighed
  down by physical goods.
- Do a series of presentations on various computer science topics at the
  Cap-Clug meetup.  This will be an attempt at "conference-driven development"
  to knock out a bunch of the topics that I've been vacillating on in regards
  to self-study.  The downside here is that with 2-month increments, I can't
  really deep-dive on any of them too much, but the end result should be more
  desirable than not doing this.  I'll try to sync this with my schedule of
  things I was going to do anyway, as much as possible.

Results:
- List cleanup and increased usage: Done.  Pretty happy with how this list
  looks now.
- Physical health: Total failure.  Ended up pretty close to exactly where I was
  at the beginning of the year.  This is a top priority for next year.
- Retirement plan: Done.  In the middle of executing plan now.  Also rewrote
  and updated all of ideas.org.
- Study goals: There's always more I can do, of course, but I consider Clojure,
  logic programming, and one-off tasks successful.  Got started on long-term
  curriculum, as planned.  Never got around to the front-end skills.
- Distraction management: Success most of the year.  Occasional lapses from
  this plan saw productivity dives, proving its effectiveness when I stick to
  it.  I owe the comparative hyper-productivity this year to mostly adhering to
  this plan.
- Stuff decrease: Sold a few things, but intentionally suspended the effort
  since I'll be ending apartment life and am not sure what I'll need.
- Presentations: Did many of these.  This was lots of work, but worth it.
  Might do a couple in 2018.
- Conclusions: Apart from the health goals, this was my most productive year
  ever.  A fair trade for a being a year older, which is all one can ask for
  out of life, I suppose.  I still see room for improvement, however, so next
  year I'll attempt to build upon this.



* Project List (2016)
** Books: Math
*** CANCELED Matrices and Transformations
    - State "CANCELED"   from "STARTED"    [2015-10-08 Thu 09:57]
    - State "STARTED"    [2010-07-20 Tue 02:26]
A short book on matrices.  I'd like to do the exercises here in Maxima if
possible.  I may restart this, since it's been awhile since I read the first
few chapters.

Canceling this for now due to my focus more on abstract algebra, categories,
and types.  I'll still do some basic study in the applied math world, but will
try to lazy load specific topics like this.
*** CANCELED Introduction to Linear Algebra (4th. ed.)
    - State "CANCELED"   from "TODO"       [2015-10-08 Thu 09:59]
By Gilbert Strang.  Highly recommended by the Mahout mailing list users.  Also
check out https://cwiki.apache.org/confluence/display/MAHOUT/Reference+Reading
for related recommendations.

Canceling, along with other specific applied/analytic mathematics.
*** CANCELED Linear Algebra: 2nd Edition
    - State "CANCELED"   from "TODO"       [2015-10-08 Thu 10:01]
The most promising of my general linear algebra texts.

Canceling, along with other specific applied/analytic mathematics.
** Books: General Non-fiction
*** DONE Letter to a CES Director
    - State "DONE"       from "STARTED"    [2016-06-14 Tue 20:54]
    - State "STARTED"    from "TODO"       [2016-06-14 Tue 18:47]
A lengthy essay collecting many of the problems with Mormonism.

Not bad, but all review for me.  The only thing here I didn't know about was
that Smith ordained blacks and not until Young was the ban instituted.
*** DONE Men on Strike
    - State "DONE"       from "STARTED"    [2016-07-19 Tue 15:05]
    - State "STARTED"    from "TODO"       [2016-07-19 Tue 08:40]
Recommended by MRA-esque coworker as a particularly good tome on the movement.
Not too interested in the topic personally, but will give at least this one
book a read.

Kinda crappy actually.  While I agree with many of the points here, the
presentation is blog quality, and not worthy of a book on the subject.
*** DONE b0g
    - State "DONE"       from "STARTED"    [2016-07-31 Sun 23:16]
    - State "STARTED"    from "TODO"       [2016-06-13 Mon 09:15]
I read all of this ezine in college, but this was before I was particularly
good at programming (not that this matters in this case, since the code here is
all simplistic stuff).  b0g was possibly my favorite, but I'll see what I think
about it now.

http://web.textfiles.com/ezines/B0G/

Not as entertaining as I remember, but there's still a few good articles in
here.  This zine apparently had a real problem with text formatting and would
often have line-wrapping issues, making some articles frustrating reads.
*** DONE ThE HaX0R bRoThErS NeWzLetTeR
    - State "DONE"       from "STARTED"    [2016-08-01 Mon 02:56]
    - State "STARTED"    from "TODO"       [2016-07-31 Sun 23:18]
This was my favorite ezine from the late 90s.

Still as amusing as it was back then.  I was going to read some additional
zines, but the rest seem like a waste of time.
*** DONE Intro to Reloading
    - State "DONE"       from "STARTED"    [2016-10-01 Sat 20:04]
    - State "STARTED"    from "TODO"       [2016-09-27 Tue 01:12]
A short e-book by Lyman.

Knew everything here already.
*** DONE Lyman 48th Edition Reloading Handbook
    - State "DONE"       from "STARTED"    [2016-10-10 Mon 12:24]
    - State "STARTED"    from "TODO"       [2016-10-01 Sat 20:09]
The 2004 version of this handbook.  The 49th edition is out now, but I have
this on in ebook form, so I'll read that instead.  I don't intend to buy a
newer version of this, since it lacks the cartridges I'm interested in.  In
fact, it just covers the more common stuff.  On the other hand, it's supposedly
worth reading apart from the loading data.  I'm doing it to just make sure
there's no knowledge gaps before I start actually doing this.

There's some good info in here, but a few things I don't completely appreciate,
like the shilling in some of the compendium of articles.  Also, it'd be nice to
see more history on individual cartridges.
** Technology and software
*** DONE Amazon EC2
    - State "DONE"       from "STARTED"    [2016-01-11 Mon 10:03]
    - State "STARTED"    from "TODO"       [2015-11-09 Mon 13:23]
Amazon now has a "free tier" for micro-instances that could solve pretty much
all of my server needs for free.  Set one of these up with FreeBSD and consider
migrating over to it once my RootBSD plan runs out.  Or, just get one and use
it as a backup server.

Need to look into this for work anyway, so combining this task with that.
Unfortunately, it doesn't look like this makes complete sense for my personal
needs.  The issues are:
- Only 750 hours of up to 12 t2.micro instances are available per month.  This
  would allow 1 of these to run all the time.  This is fine, except that you'd
  quickly extend into extra ECUs if you wanted to do anything.
- FreeBSD isn't an official on-demand AMI.
- All of these services within AWS and EC2 are rather poorly organized.  It's
  hard to tell what you're actually getting, even after reading up on it for
  awhile.  I definitely don't want to be an expert on a vast system of
  proprietary services, especially ones that are guaranteed to change quickly.
- The rest of this might be acceptable, but there's an ultimate deal-breaker in
  that the free services only lasts for 12 months.

All that said, if I have nothing better to do in the future, I may use these
services for off-site, temporary storage when upgrading and also for backups.
This is, however, a great option for future software development resources,
though I should probably at least compare it to Google's offerings before
spending anything.
*** DONE lazybot
    - State "DONE"       from "STARTED"    [2016-03-15 Tue 01:18]
    - State "STARTED"    from "TODO"       [2016-03-13 Sun 10:25]
An IRC bot, written in Clojure.  Useful for exposing a REPL to a channel, which
I'll need for my work IRC channel.  https://github.com/Raynes/lazybot

Notes:
- Copy over the example.policy file in the root project directory to
  ~/.java.policy in order to get Clojure evaluation working.
- Copy over ~/.lazybot to ~ and edit the config.clj file.
- Ended up forking the project and making a private version (since it has some
  private keys in it) to BitBucket.  Wrote one plugin so far.
- Start with
  java -jar ~/src/lazybot-aicig/target/lazybot.jar --logpath ~/a2tbot.log
*** DONE Ethereum
    - State "DONE"       from "STARTED"    [2016-03-29 Tue 15:36]
    - State "STARTED"    from "TODO"       [2016-03-07 Mon 08:00]
Come up with a plan to self-educate on this topic.  In outline, this appeals to
me in ways Bitcoin doesn't and is similar to my vision for the way forward in
this realm.  Decide if this is something I want to look into more and possibly
build stuff on top of.

- [X] Read the white paper: https://github.com/ethereum/wiki/wiki/White-Paper
- [ ] Read the official docs on the current release:
  https://ethereum.gitbooks.io/frontier-guide/content/
- [X] Install go-ethereum on work machine and at home.
- [X] Create account.
- [X] Mine some ether.
- [ ] Read the console guide and maybe the other docs on the client:
  https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

Did some of the reading.  Ethereum, while still somewhat exciting and certainly
better than Bitcoin, has downsides to it that I'm now aware of.  The biggest,
of course, is that it really is a "world computer" in that it is only a single
computer.  That computer is extremely limited in capability, and probably
needlessly so.  Furthermore, being a node within it seems no longer possible
via CPU mining.  I may come back to this at some point though, and give it
further research and possibly implement an idea I had for it (an Ethereum-based
casino service).
*** DONE tmux
    - State "DONE"       from "STARTED"    [2016-04-07 Thu 22:20]
    - State "STARTED"    from "TODO"       [2016-04-04 Mon 07:59]
Resisted using this due to GNU screen's ubiquitous nature.  However, since
screen is an effectively dead codebase with bugs that will never be fixed and
is suffering massive bitrot, checking out its likely successor is probably
worth the effort.  tmux also received the de Raadt thumbs up for code quality.
Will also be using this for work, giving the switch extra impetus.  I may even
uninstall screen completely.

Notes:
- Has an extra, otherwise-unused dependency on libevent.
- Has some .conf examples in the distribution.
- Don't install with tty/keys patch.
- The tmux server can still be running, even if there are no sessions.  Run
  =tmux kill-server= to ensure it isn't up.  This could prevent new
  configuration changes from being recognized.

Tasks:
- [X] Install tmux.
- [ ] Read all available docs, the .conf examples, and search for blog posts
  for customization ideas.
- [X] Browse the codebase a little to see what's so great about it.
- [X] Maybe look at screen's source to see what's so bad about it.
- [X] Configure tmux to have similar keybindings to my current screen setup.
  I've got everything working nicely together as it is now.  Ensure that nested
  tmux sessions work.
- [ ] Check out emamux, which supposedly allows Emacs to interact with tmux.

Skipping emamux, since it doesn't seem to do anything particularly useful.

The commentators on tmux vs. screen code quality weren't kidding.  screen's
source is a complete disaster.  Meanwhile, tmux is a great example of how to
write a modern day C project.

Unfortunately, tmux doesn't provide configuration file commands for
initializing windows.  Will have to add a shell script for this at some point.
Will spend more time researching all the finer points of tmux later.  For one,
I need to remove the tmux status bar.
*** DONE do another round of Emacs yak-shaving
    - State "DONE"       from "STARTED"    [2016-05-07 Sat 08:25]
    - State "STARTED"    from "TODO"       [2016-04-13 Wed 00:37]
It's been over 6 months since I did this, so time to get everything up to date
again.  If nothing else, I definitely need the new version of CIDER.

Notes:
- Updated all ELPA packages, most notably bringing CIDER to 0.11.0.  Got rid of
  my custom cider-eldoc.el file since apparently that feature works now.
- Updated volatile-highlights.el.
- Updated SLIME.
- Removed helm.  I installed this for use with Python, but I don't think my
  current setup needs it anymore.
- Updated ruby-mode.
- Updated web-mode.
- Updated js2-mode.
- Updated gnuplot-mode.
- Updated markdown-mode.
- Updated elscreen.
- Updated git-gutter.
- Updated powerline.

Broke out some larger tasks.
*** DONE reorganize all bookmarks
    - State "DONE"       from "STARTED"    [2016-08-03 Wed 13:06]
    - State "STARTED"    from "TODO"       [2016-08-01 Mon 09:34]
Condense these down further.  These days, I kind of consider my bookmarks less
a collection of links in the classic sense and more of an organization of
things I'm thinking about and trying keep structured.  While org-mode is great
for that, I still get value from a topic-centered web-centric list.
*** CANCELED Xiki
    - State "CANCELED"   from "TODO"       [2016-08-03 Wed 13:18]
An interactive shell, reminiscent of Genera.  Needs work before full editor
integration and such is done (apparently Emacs is already done).  Check back in
a few years to see if this got funded and has been ported everywhere.
https://www.kickstarter.com/projects/xiki/xiki-the-command-revolution

Canceling due to not being open source.
*** CANCELED AutoKey
    - State "CANCELED"   from "TODO"       [2016-12-31 Sat 09:33]
Installed this for Linux to create a auto-farm script for Choria.

This program probably works, but isn't the kind of thing I want to get good
at.  I'll revisit it if I'm ever desperate.
** Books: Fiction
*** DONE The Sirens of Titan
    - State "DONE"       from "STARTED"    [2016-04-08 Fri 10:39]
    - State "STARTED"    from "TODO"       [2016-04-05 Tue 00:47]
A Vonnegut novel about omniscience and such.

Cleverly written, but often predictable.  Worth a read, though only for
entertainment purposes, since no novel or new ideas are explored here to any
useful extent.
*** DONE Armor
    - State "DONE"       from "STARTED"    [2016-05-04 Wed 22:32]
    - State "STARTED"    from "TODO"       [2016-05-01 Sun 02:13]
A military scifi book by John Steakley, focused on the impact of conflict to
the human mind.

Not that great.  Starts off bad, gets only okay by the middle.  Ending was
super predictable.  Otherwise completely generic.
*** DONE Southern Reach trilogy
    - State "DONE"       from "STARTED"    [2016-05-23 Mon 00:30]
    - State "STARTED"    from "TODO"       [2016-05-05 Thu 08:40]
A scifi series about expeditions to a mysterious, abandoned area.
- Annihilation: A compelling mystery, though nothing is really resolved here.
  Well written, mostly.
- Authority: Also really good.  In fact, I think I like this book better in
  some ways, though it lacks the particular uniqueness of the first.
- Acceptance: Not that great.  Mostly a reveal-dump with unsatisfying results.

The first two books here are worth reading, but the series is ruined by the
final one.
*** DONE Nexus trilogy
    - State "DONE"       from "STARTED"    [2016-08-26 Fri 03:22]
    - State "STARTED"    from "TODO"       [2016-08-08 Mon 05:39]
A sci-fi novel series exploring creation of a networked hive mind.  Worried it
might be full of lame action due to being billed as a thriller.

- Nexus: This author familiar with the basics of software development.  The
  same can't be said for other domains, like firearms.  Would've preferred
  skipping the techno-thriller elements, as behind this is a solid sci-fi
  novel.  Appropriately pessimistic about government in general, but too
  optimistic about its effectiveness.
- Crux: Too many party and highly-emotional convergence scenes.  Has annoying
  chapters from a child's perspective.  Even more mindless action than the
  former book.  Very little in the area of new ideas or new perspectives on
  previously introduced ones.  Continues the story seamlessly, but fails
  everywhere else.
- Apex: Some of the author's political leanings start to show here.  This one's
  pretty bad and not even a good thriller.

Apart from the reams of boring crap, my biggest complaint about this execution
is that many computer experiences are described via emotions and metaphor.  We
learn nothing about the OS central to the story except that it has drop-down
menus.
*** DONE Return From the Stars
    - State "DONE"       from "STARTED"    [2016-10-10 Mon 22:52]
    - State "STARTED"    from "TODO"       [2016-08-27 Sat 01:40]
A Stanislaw Lem novel about future shock.

Achieves its goal and has the standard pessimism typical Lem novel, but is
definitely the weakest of his that I've read.  Was quite the chore to finish.
A better book would have used this as its first half or third, resolved the
ending in the opposite way, and filled the rest with another adventure.
*** DONE The Report From Iron Mountain
    - State "DONE"       from "STARTED"    [2016-10-11 Tue 13:14]
    - State "STARTED"    from "TODO"       [2016-10-10 Mon 23:04]
Available online here:
http://www.bibliotecapleyades.net/sociopolitica/esp_sociopol_ironmountain0.htm

There's open debate about whether this is a hoax or not, but after reading it,
I can unequivocally state that it definitely is.  There are many things amiss
or taken from a popular culture understanding of an academic view on a matter,
but the most telling first sign for me was the reference to an expert system
which uses genetic algorithms to predict general outcomes in the real world
given almost any input.  The participant in the study affirms that they had
this working, to great effect no less, and uses terminology to talk of it that
could easily be straight out of early AI-boom hype.  Were it even not for that,
I've read more than enough documents to come out of committee to know what one
of those looks like, versus one written by an individual, particularly one with
only a surface understanding of the matter.

That's not to say it doesn't have its merits and or isn't well written at
times.  I'd say it's still worth a quick read, but not a close study, mainly
due to its simple lack of extensive substance.  I'll note that there's some
things here that I agree with the analysis on, but mostly the opposite is true.
The only very general point I find salient enough to stand out is the notion
that war, instead of being an extension of policy, is an entity that might
exist to serve itself, or be served by the societies participating in it.  The
comparison of the effort of defense to pyramid-building is quite appropriate.
*** DONE Saturn Rukh
    - State "DONE"       from "STARTED"    [2016-11-17 Thu 00:52]
    - State "STARTED"    from "TODO"       [2016-11-06 Sun 01:42]
Another novel from the so far excellent Robert L. Forward.  The premise here,
being stranded atop a massive flying alien in Saturn's atmosphere, seems a
little silly on the surface, however.

Has some nicely realistic orbital mechanics, but pretty much everything else
about this book is either lacking or outright bad.
*** DONE The Black Cloud
    - State "DONE"       from "STARTED"    [2016-11-30 Wed 22:24]
    - State "STARTED"    from "TODO"       [2016-11-18 Fri 21:35]
A supposedly hard scifi novel by Fred Hoyle about a cloud of gas that enters
the solar system, blocking solar radiation.

Pretty good, despite a few minor flaws.  The author makes a solid try at
writing a super-intellect's dialog, but doesn't quite make it convincing.  As
usual, it doesn't have much interesting to say.
*** DONE Old Man's War series (continued)
    - State "DONE"       from "STARTED"    [2016-12-15 Thu 01:02]
    - State "STARTED"    from "TODO"       [2016-12-10 Sat 21:39]
Two more books in this series have come out since I finished it.  I think these
are collections of novellas, and supposedly they aren't as good.
- The Human Division: Includes the short story "After the Coup".  Quite
  entertaining for a good portion of it.  The only downside is that nothing
  regarding the story arc is really resolved.
- The End of All Things: A necessary read to resolve the many open threads from
  the previous book.  Not as good, however, but still worth reading.
- Questions for a Soldier: Just a quick short story.  Kinda meh.
** Work-related topics
*** DONE upgrade VM to Linux Mint 18.1
    - State "DONE"       from "STARTED"    [2016-12-29 Thu 00:26]
    - State "STARTED"    from "TODO"       [2016-12-28 Wed 12:10]
Time to update all packages to latest and rearrange a few things.

Migrated everything over.  Shared folders, which weren't working last time for
some reason, now are.
** Games to play
*** DONE MicroVolts Surge
    - State "DONE"       from "STARTED"    [2016-01-10 Sun 19:43]
    - State "STARTED"    from "TODO"       [2015-12-26 Sat 03:27]
A F2P third-person shooter.  Will just give a try for a day or two.

P2W garbage.
*** DONE Mount & Blade: Warband
    - State "DONE"       from "STARTED"    [2016-01-17 Sun 14:43]
    - State "STARTED"    from "TODO"       [2016-01-10 Sun 19:47]
Got for free, so will give it a try.  Will only do single player.

Decent game.  Got pretty far along in it before it started getting a little
repetitive.  Will call this quits and try out the Viking Conquest mod instead.
*** DONE Rogue System
    - State "DONE"       from "STARTED"    [2016-01-24 Sun 12:09]
    - State "STARTED"    from "TODO"       [2015-10-22 Thu 08:04]
Of all the space sims currently active in this semi-Renaissance, this is the
one I'm most interested in.  Combines Newtonian physics, super-realism,
DCS-inspired checklists, and functional instrument panels.
http://imagespaceinc.com/rogsys/

Grabbed an early access copy for $30.  Though this game is actually still in
development (and probably will be for a long time), I'm pretty close to fine
with it just the way it is.  The new stuff I'd mainly appreciate are completing
the control features and maybe adding other ships to fly (provided their
control schemes are completely different).  It turns out I really like this
checklist-style gameplay and I might give the DCS games a try sometime too.

Memorized a ton of stuff and learned a lot about orbital mechanics, but since
not much is changing, I'll check back in no earlier than 6 months or so.
*** CANCELED Verdun
    - State "CANCELED"   from "TODO"       [2016-01-27 Wed 08:23]
A WWI FPS.  Supposedly super realistic.

Looked into this and while it's better than most FPSes, it's still just a
reskinned standard experience.  Also includes the annoying modern FPS feature
of leveling up.  A better game would at least have all of the WWI weapons (not
even all the French and German ones are here) and let characters be one of the
many nationalities, like Austro-Hungarian.
*** CANCELED Limit Theory (in development)
    - State "CANCELED"   from "TODO"       [2016-01-27 Wed 08:35]
A semi-promising looking Elite-clone that allegedly will include
empire-building features.  Has some nice concepts so far, but may be lacking in
depth and a coherent, original vision.  Apparently the developer has mental
health issues, so this may not even ever get done.

I'm not convinced anything is actually happening with this game as it's not 2
years late and at best still a prototype.  Maybe I'll look back into it in a
couple years to find out what happened, just out of curiosity.

Update 2018-10-01: The project has now officially failed.  I will give the dev
credit for open sourcing the codebase, however.  If I backed something, I'd
want that as a condition in the event of failure.
*** DONE Mount & Blade: Viking Conquest
    - State "DONE"       from "STARTED"    [2016-02-02 Tue 08:35]
    - State "STARTED"    from "TODO"       [2016-01-17 Sun 14:44]
A DLC mod for Warband.  Will give the campaign a try for awhile.

While lacking a couple things from Warband, overall this is a better game.  It
does get extremely repetitive though.  I wanted to finish this, but I also
don't want to do the same boring things over and over for months.  I'll keep my
saved game, but I'm quitting for now.
*** DONE Divinity: Original Sin: Enhanced Edition
    - State "DONE"       from "STARTED"    [2016-03-10 Thu 01:53]
    - State "STARTED"    from "TODO"       [2016-03-01 Tue 15:50]
Grabbed on GOG and purchased as a present.

Mostly quite good, with only some minor complaints:
- Many of the puzzles require non-thinking solutions, like using perception to
  find a hidden button or just timing sneaking.  Only a few really need clever
  thinking about game mechanics.
- Graphical style is WoW-esque.  Characters have giant hands and feet.
- Occasional typos exist in dialog text.
- The item database needs cleaning up of duplicate items that differ only in
  their ID, causing them not to stack.  Also too many items share the same
  inventory icon.
- The game world is rather small.
*** DONE Time Clickers
    - State "DONE"       from "STARTED"    [2016-03-15 Tue 01:20]
    - State "STARTED"    from "TODO"       [2015-11-05 Thu 23:37]
Yet another incremental game.  I was going to give up on these, but this one
doesn't have a cash shop, so maybe the math behind it isn't out to get the
player.

Wrote a script to pretty much auto-play it, minus spending cubes.

Got sick of even just botting this.  Quitting.
*** DONE DaiZy 2018 1.5
    - State "DONE"       from "STARTED"    [2016-03-29 Tue 23:14]
    - State "STARTED"    from "TODO"       [2016-03-27 Sun 23:43]
Follow the instructions on the DaiZy forum for the 2018 release.

Notes:
- Install ARMA 2, ARMA 2: OA, and ARMA 2: OA Beta.
- Copy ARMA 2's Addons folder to ARAM 2: OA's root directory.
- Install the DayZ version corresponding with the mod.  In this case, it's
  1.8.0.3.
- Install CBA_CO, COWarMod, and JSRS 1.5.
- Install the mod, copying the DayZ files over to the mod's addons directory.
  Don't overwrite mod versions of files.
- Copy over the dayz_vehicles.pbo file to the mod's addons directory.  Without
  this, restoring saves won't work.
- Use the walking zombies only file, if desired.
- Use the launch options menu from within Steam and add
  "-mod=@2018;@JSRS1.5;@CBA_CO;@COWarMod -nosplash".  Create a shortcut from
  there if desired.

This is way better than the last single player version I played.  However, it
still gets really boring, really fast.  Uninstalling to reclaim space again.
*** CANCELED Baldur's Gate: Siege of Dragonspear
    - State "CANCELED"   from "TODO"       [2016-04-04 Mon 23:19]
Made by the Enchanced Edition team.  Will check back later for a bundle to
include the Enhanced Edition and this.  Probably will be released sometime in
mid-2016.

This dev has ruined BG with horrible bugs and SJW crap.  Luckily, I read the
reviews before buying blind.  Skipping.
*** CANCELED Into the Stars
    - State "CANCELED"   from "TODO"       [2016-04-04 Mon 23:28]
A space sim from the captain's chair.  Look into this first.

A good concept, but looks like a poor execution.  Has lots of sloppy design, a
minigame, and rather mindless combat.  Skipping.
*** CANCELED Satellite Reign (purchase)
    - State "CANCELED"   from "TODO"       [2016-04-04 Mon 23:50]
A class based tactics game, made by the former Syndicate Wars team.  The
"real-time with pause" feature may be forthcoming.

Thankfully I didn't pre-pay for this.  I'm not convinced the stealth mechanics
should have been so heavily emphasized and the single city approach loses
something vs. Syndicate.  There are also apparently lots of bugs.  Worst of
all, the experience seems somewhat simple/shallow, so I'm leaning towards
giving this a pass.  Leaving listed for now to check back in 2016.

Looks like nothing's changing for the better.  Skipping.
*** DONE Dragon Age: Origins
    - State "DONE"       from "STARTED"    [2016-04-23 Sat 03:16]
    - State "STARTED"    from "TODO"       [2016-04-09 Sat 11:21]
Tried playing this long ago but gimped my NPC relationships and didn't finish.
Will use a guide this time for NPC dialog.

Not a terrible RPG, but also has way too many problems to list.  Deserving
special mention is the especially egregious DLC-milking present in the basic
version of the game.  Just that is enough of a reason for me to be skipping
this series forever.
*** DONE Diablo 1: Hellfire
    - State "DONE"       from "STARTED"    [2016-07-14 Thu 23:46]
    - State "STARTED"    from "TODO"       [2016-01-29 Fri 23:16]
Doing a quick coop run with a bard.

A very simple game with some major flaws, including:
- Most gameplay is completely mindless clicking on stuff.
- Massive amounts of manual clicking on everything is required.  Couldn't get
  an auto-clicker to work on Win7.
- Like D2, inventory space is a serious problem.  It's worse here though, since
  there's no external storage.
- Combat itself is too fast and almost exclusively non-strategic.

The nostalgia for this game is undeserved.  I intend to ignore the action-RPG
genre from now on.

I'm quitting.  This game is finger-murder.
*** DONE Pillars of Eternity
    - State "DONE"       from "STARTED"    [2016-07-16 Sat 01:03]
    - State "STARTED"    from "TODO"       [2016-04-24 Sun 20:03]
Grabbed a copy on sale on GOG, plus both White March expansions.

Complaints:
- While mostly polished, there's some slop around the edges with things like
  popup text boxes, modal dialogs, and other display issues that should've been
  easily spotted and fixed.
- Obsidian caved into some SJW Twitter campaign regarding some text in the
  game.  This is despite the game already having a nu-male ambiance.
- Default combat speed is too fast.  There is an option to auto-slow combat,
  which helps some.
- Some of the writing is lazy, such as including modern profanities.
- Voice acting doesn't work too well with interspersed narrative text.  Most of
  the voices are rather generic and immersion-breaking too.  Would prefer an
  option to just turn them off.
- Despite a few original ideas, most of this game system is just a reskinned
  DnD.  For example, anyone familiar with the DnD spells will instantly
  recognize a majority of them here, just with different names.
- Arrows and other ammo are abstracted away.
- Would prefer the ability to stack up some buffs prior to combat.  Many spells
  cannot be used at all outside of combat mode.  I'd prefer there not be a
  discrete mode for combat at all, and the engine just handle time passing
  normally.
- The disengage mechanic has some downsides, like being effectively unable to
  run away from enemies and not being able to bypass front line enemies to get
  to those behind without taking massive damage.  It also makes ganging up on
  one enemy at a time tough in certain cases.
- I'd prefer a more realistic implementation of this era of firearms
  technology.  They could be considerably more powerful, yet far more
  impractical to reload in combat and impossible to reload while being engaged
  in melee combat.

Overall, still a good game despite the problems, though not worth a non-sale
asking price.  I'd be more disappointed if I had been following/backing it from
the beginning.  Evidence seems to suggest that instead of having an amazing
game that needed to be brought to life, the developers first decided to make a
BG clone, then tried to figure out what should be in the game.
*** DONE Anarchy Online (revisited)
    - State "DONE"       from "STARTED"    [2016-07-16 Sat 17:02]
    - State "STARTED"    from "TODO"       [2016-06-22 Wed 23:51]
Since sister and I are going to play this together, it's worth resurrecting my
attempt to play this game.  Trying to solo the often group-centric content was
a dead end last time.  Also, I'm only going to be a froob, as the SL content is
too linear and generic-fantasy.  Will loot my pay account's MP gear and give it
to my froob MP (there's an anniversary event where you can log into your old
pay accounts for a few days).

Some things have changed since I last played, to include the final two servers
merging into one, the new client is usable now (but predictably, it sucks), and
much of the online information about the game has disappeared.

Notes:
- Try doing a =/tell neutnet !register= to sign up for a trade channel.  Also
  try the same against user Dnet.  Might not work anymore.
*** CANCELED Tempest 2000
    - State "CANCELED"   from "STARTED"    [2016-07-16 Sat 17:10]
    - State "STARTED"    from "TODO"       [2016-07-16 Sat 17:07]
I believe I have a CD-ROM of this somewhere.  Maybe try giving this an install
and seeing if I'm better at it than on the crappy Jaguar controller.  Hopefully
the resolution is better too.  If I can't get a controller working with it
though, just skip it.  Maybe check on eBay if people are buying disc copies.

Not fully supported on the media-side within DOSBox.  I consider the media
experience here pretty critical to an authentic experience to the game, so I'll
just stick with the Jaguar ROM for this.  I'll hang onto the CD for the audio
tracks (in CD form) and in case DOSBox gets 100% support in the future
sometime.
*** DONE EVE Online (free trial)
    - State "DONE"       from "STARTED"    [2016-09-17 Sat 12:30]
    - State "STARTED"    from "TODO"       [2016-09-04 Sun 17:03]
EVE Online is going F2P late 2016.  I have a character from 2004, but will make
a new free trial one for 14 days to decide whether I want to play the game F2P
later.

Trial ended.  I can see why some are concerned that the F2P system might ruin
the game to some extent.  If I do decide to play the game again later, I'll
give it some time to see how it goes before putting any time into it.
*** DONE Cataclysm: Dark Days Ahead 0.C
    - State "DONE"       from "STARTED"    [2016-09-23 Fri 20:37]
    - State "STARTED"    from "TODO"       [2016-08-28 Sun 15:53]
The latest stable version of this game.  Will give it another try to see if
it's less buggy and to check out the new features.

Notes:
- Use - to repeat last craft.

Made a perfect base setup in an LMOE bunker with insane stockpiles of
everything.  The only thing I haven't really done yet in the game is vehicle
construction, but I've not been a huge fan of the way those handle.
*** DONE Arcanum mods
    - State "DONE"       from "STARTED"    [2016-10-21 Fri 21:06]
    - State "STARTED"    from "TODO"       [2016-10-19 Wed 00:02]
Several official and unofficial mods are available here:
http://www.terra-arcanum.com/downloads/

Installed HQ maps mod, normal level cap remover, and high res mod (set to
1024x768).  Skipping unofficial patch and its corresponding level cap remover.

- Vormantown: A module that comes with the game.  Looks like this was just a
  demonstration module for modders.  However, it's actually a little better
  than most of them, though still not worth playing.
- Lost Dungeon of Souls: This module was an officially released one for
  pre-orders or something.  Seemed like an okay dungeon crawl at first, but is
  too thin.  Also the ending is missing.
- Buried Secrets: Uneventful and pointless.
- Virgil the Pervert: A fan-made mod.  Mildly amusing, for the whole 3 minutes
  it takes to play this.
- Deathmatch: Not really much to do here.  More of a challenge game for min-max
  builds.
- Dusty Dunes: Apparently this one is super buggy.  There's a patch out that I
  applied. Like all of these so far, this is also pointless and ends quickly.
- Hellgate: A dungeon crawl with no shops or followers.  Nothing special about
  this whatsoever.  At least it has a proper ending, however.
- Time: Got stuck with no obvious recourse.  Apparently it's possible to go
  back in time in this module, but I cannot make the portal work.  According to
  the forums, you just go backwards and do everything over again, so I'll just
  skip putting a lot of effort into figuring it out.
- Woodmir Race: Crashes and can't be completed.

Notes:
- Use r key to initiate combat mode.
- Use e key to end turn.

I forgot how much I disliked certain aspects of this game.  Things like:
- Firearms are pathetically weak.
- Combat is too simplified.
- Not being able to control party members sucks.

These all suck.  My advice: don't bother.
*** DONE Arcanum (revisited)
    - State "DONE"       from "STARTED"    [2016-11-02 Wed 20:13]
    - State "STARTED"    from "TODO"       [2016-10-21 Fri 21:07]
Played this over a decade ago.  Will try a gnome mage build.

Notes:
- Right click on party member portraits for a quick control menu.

This game isn't as good as I remember thinking.  Apart from the previously
mentioned issues in the Arcanum mods entry:
- There are numerous misspellings and grammatical errors in the text.  Much is
  haphazard and sloppy.  A shame, since occasionally, some of it is
  well-written.
- You can gimp your followers by not picking them up in time for them to reach
  max level.  In fact, this will almost surely happen unless you time things
  perfectly.
- There's no good way to auto-initiate turn-based combat without mashing the R
  key at just the right moment.
- You can't tell what spell was cast on you or whether the effect is active.
- The arbitrary maximum for waypoints serves as a needless source of annoyance.

This is maybe worth playing once.  As this is my second time through the whole
way, I won't be playing it again.
*** DONE Stardew Valley
    - State "DONE"       from "STARTED"    [2016-11-24 Thu 11:30]
    - State "STARTED"    from "TODO"       [2016-11-13 Sun 09:55]
Bought for sister for x-mas.  Will give it a quick look myself, however.

Notes:
- Installed SMAPI, an API for mods.  Not all mods require this.
- Tried using the multiplayer mod, but it didn't work.
- Installed the Easier Fishing mod, which is just replacing a single file.
- Installed the TimeSpeed Mod, which lengthens days to be less unrealistic.
  Using defaults, which doubles time speed.
- Installed Slower Fence Decay mod.

A good game in this genre, but not quite my thing.  The fishing and time mod
are especially necessary mechanics changes.  Ignoring the downsides of the game
type, some complaints particular to this are:
- Too much cutesy stuff.  Would prefer a higher resolution and more realistic
  approach to the same thing.
- Having all plants specific to a season die when the next season starts is a
  strange and annoying mechanic.
- Controls could be optimized for speed.  Currently a lot of stuff is quite
  cumbersome, particularly doing things manually like watering plants.
*** DONE Second Life
    - State "DONE"       from "STARTED"    [2016-11-24 Thu 14:01]
    - State "STARTED"    from "TODO"       [2016-11-24 Thu 11:30]
Since this is F2P, give this infamous game a quick eyeballing.

Boring and filled with boring, pathetic people.
*** DONE Dungeon Crawl Stone Soup
    - State "DONE"       from "STARTED"    [2016-12-21 Wed 19:34]
    - State "STARTED"    from "TODO"       [2016-12-19 Mon 23:58]
Installed tile version on Windows and tty version on Linux and FreeBSD
(games/stonesoup).  I may also try Brogue instead of this (with various NotEye
tiling options).

Playing 0.19 tiles version as a Felid summoner.

This is a pretty good roguelike, and worth keeping around.  I'll keep it on my
laptop and possibly workstation for playing occasionally.  The number of
interesting race/class combinations is one of this game's main selling points
(though it's a shame they removed the sludge elf).

The biggest downside is that it's rather generic gameplay that doesn't include
the super-complex mechanics that make some roguelikes interesting.  Also the
viewing area on the tty version is super tiny.  Only the tiles version on a
large monitor is worth playing.
*** DONE Kittens Game
    - State "DONE"       from "STARTED"    [2016-12-24 Sat 02:48]
    - State "STARTED"    from "TODO"       [2016-12-23 Fri 23:46]
Yet another idle game.  http://bloodrizer.ru/games/kittens

Has annoying maximum resource limits and too much checking back in to click on
things.  Quitting.
*** CANCELED Realm Grinder
    - State "CANCELED"   from "STARTED"    [2016-12-24 Sat 03:38]
    - State "STARTED"    from "TODO"       [2016-12-24 Sat 03:25]
Supposedly one of the more popular new idle games.

Item mall = quit.
** Macro-goals
*** DONE year-end review for 2016
    - State "DONE"       from "STARTED"    [2017-01-09 Mon 08:01]
    - State "STARTED"    from "TODO"       [2017-01-09 Mon 07:57]
For some reason, I neglected to follow my plan to project goals for the year,
then review them.  So, I'll just analyze what happened and get back on track
for next year.

In exchange for -1 year of life, I got:
- +20% more buffer once I re-retire.  Now I'm in the range were I can afford a
  decent place to live (or one that I'd have originally considered optimal),
  which I intend to get after leaving the DC area finally.
- A full year of being a manager of humans, with all the bad that comes with
  it given a healthy sampling.
- Not much else.

If I want to be honest with myself, I fell off the train a lot on personal
improvement this year.  While I can blame a mentally exhausting work life for
this, it's really on me.  I'll list out the things I need to do to pivot back
on track in the 2017 review task.


* Project List (2015)
** Books: Computer Science/Programming
*** DONE Transcending Turing Computability (paper)
    - State "DONE"       from "STARTED"    [2015-06-12 Fri 21:07]
    - State "STARTED"    from "TODO"       [2014-12-29 Mon 13:48]
A review of the 2001 understanding on possibility of hypercomputation.
http://web.eecs.utk.edu/~mclennan/papers/TTC-tr.pdf

This is mostly a lead up to and brief discussion on natural computation, rather
than a discussion on hypercomputation.  While natural computation is
semi-interesting, I'm not convinced it's not just computation with built-in
approximation algorithms, instead of an entirely alternative form of
computation.
*** DONE Clojure Programming
    - State "DONE"       from "STARTED"    [2015-06-23 Tue 10:29]
    - State "STARTED"    from "TODO"       [2014-04-30 Wed 14:04]
Chose this as my official Clojure text.  Since it had to be recent, it was
either this or the 2nd edition of Programming Clojure.  Having glanced through
that, this one is obviously less for n00bs.  No Clojure book I've seen has
exercises though, so I'll have to practice on my own.

Notes:
- To group by multiple fields: (group-by (juxt :col1 :col2) m)
- Transient analogues to some of the persistent collections exist, though these
  are only rarely useful.  E.g., call (transient []) for a transient vector.
  This works for vectors and unsorted maps and sets.  Transient functions like
  conj! exist to operate on these.  persistent! can convert back to persistent
  collections (useful for ensuring transience never escapes a function).

Mostly okay, but at times somewhat tedious to read.  Does a good job at being
a reference text, which I'll be keeping it around for.  Switching about a 3rd
in to The Joy of Clojure, which now seems to be the best Clojure text.
** Books: General Non-fiction
*** DONE By His Own Hand, Upon Papyrus
    - State "DONE"       from "STARTED"    [2015-05-18 Mon 06:40]
    - State "STARTED"    from "TODO"       [2015-05-17 Sun 19:21]
The seminal work, as of the early 1990s, on the Book of Abraham.  Available
free online here: http://mit.irr.org/by-his-own-hand-upon-papyrus-part-1

Some good info about the topic, but only some minor details I hadn't heard
elsewhere.  Has a bunch of mainline xtian kookery towards the end.
** Books: Fiction
*** DONE Book of Abraham
    - State "DONE"       from "STARTED"    [2015-05-09 Sat 20:20]
    - State "STARTED"    from "TODO"       [2015-05-09 Sat 19:50]
Supposedly the most entertaining of the highly sleep-inducing Mormon canon.

God sure does say a lot of stupid stuff.
*** DONE Dianetics: The Modern Science of Mental Health
    - State "DONE"       from "STARTED"    [2015-05-20 Wed 02:20]
    - State "STARTED"    from "TODO"       [2015-04-14 Tue 10:38]
Attempted to read this about 17 years ago, but lacked the scientific background
at the time to distinguish the science from pseudoscience.  This is a large
book, only useful to read for minor reasons apart from entertainment, so I may
skim or skip parts of it.

Read enough of this to see where this is going.  While reasonably well written,
this book is of little to no value to actually read.  It does contain plenty of
factual information, but this is interspersed with pseudo-science nonsense and
naked assertions.
*** DONE Fiasco
    - State "DONE"       from "STARTED"    [2015-06-08 Mon 18:59]
    - State "STARTED"    from "TODO"       [2015-05-20 Wed 02:24]
Another Stanislaw Lem novel.  Looks like it might be a good concept.

Great for most of it, but then kinda just ends.
*** DONE Deception Point
    - State "DONE"       from "STARTED"    [2015-06-20 Sat 18:48]
    - State "STARTED"    from "TODO"       [2015-06-14 Sun 09:40]
A techno-thriller about discovery of a meteorite proving extraterrestrial life.
Might be kinda lame.

Has a couple of good parts to it, but a lot of mediocre filler.  Characters are
generic and cartoon-like.  Plot is predictable when not random.  Only an
average to below-average read overall.
*** DONE Life Artificial
    - State "DONE"       from "STARTED"    [2015-07-11 Sat 21:19]
    - State "STARTED"    from "TODO"       [2015-06-23 Tue 10:35]
A novel series, available for free online.  http://lifeartificial.com/

A well-executed hard-scifi novel about AGI.  Unique in that it explores a
plausibly realistic implementation, particularly where AGI capability is
constrained by computing power and suboptimal subsystem implementations.
Only have some minor complaints, such as:
- Would prefer less focus on interpersonal relationships.
- Some of the invented future slang is cheesy.
- Would prefer more alien thought processes for AGIs.  A good effort is made
  here, but it could have been better.  Almost all of their traits are direct
  computing ports of human ones.
*** DONE Eater
    - State "DONE"       from "STARTED"    [2015-07-18 Sat 20:33]
    - State "STARTED"    from "TODO"       [2015-07-11 Sat 21:29]
A Gregory Benford novel about an ETI discovery and GRBs.

An okay concept and a few interesting scientific topics visited.  The actual
writing here is somewhat lacking, however, mostly regarding the plot.  The plot
skips around and is vague about many of the critical events that happen.
Sometimes, this is fine as what's not covered can be inferred, but often I'm
left unsure about that.  Another major flaw is its predictability.  Then,
there's the ETI central to the story, which starts off interesting but fails to
deliver anything truly alien.
*** DONE Galactic Center saga
    - State "DONE"       from "STARTED"    [2015-08-17 Mon 08:36]
    - State "STARTED"    from "TODO"       [2015-07-20 Mon 02:15]
A Gregory Benford novel series about a war between biological and artificial
life.
- In the Ocean of Night: Kind of a mess, and not that good either.  Will give
  the next in the series a try, but will bail if it's more of the same.
- Across the Sea of Suns: Quite the mess, again.
- Great Sky River: Read the first couple chapters of this but it jumps to some
  lame super-distant future of nomads.  Seemed terrible, so I just read the
  plot summaries for the rest of the series.
- Tides of Light: Skipping.
- Furious Gulf: Skipping.
- Sailing Bright Eternity: Skipping.
- A Hunger for the Infinite: Skipping.
*** DONE The Sunborn
    - State "DONE"       from "STARTED"    [2015-09-02 Wed 21:07]
    - State "STARTED"    from "TODO"       [2015-08-17 Mon 08:39]
A Gregory Benford novel about life discovery on Pluto.  May be boring.
*** DONE Forever War series
    - State "DONE"       from "STARTED"    [2015-10-08 Thu 09:34]
    - State "STARTED"    from "TODO"       [2015-09-23 Wed 19:56]
Supposedly one of the best of military sci-fi.
- The Forever War: Pretty good.  Does a good job at unique world building, for
  the most part.
- Forever Free: This seems like it'll be a good mystery at certain points, but
  is ultimately resolved cheaply via deus ex machina.  A sad end to the
  character arc.
- Forever Peace: Quite forgettable.  Nothing here is done incompetently;
  there's just nothing compelling.  Also this doesn't seem to fit into this
  series at all and should have been a standalone novel.
*** CANCELED A Confederacy of Dunces
    - State "CANCELED"   from "TODO"       [2015-10-08 Thu 09:42]
Half-sister recommended.

While somewhat creative, also is a pointless read and only mildly amusing.
Gaping at the absurdity of popular culture and common folly is something easily
accessible (and gets old quick), and this novel isn't particularly adept at it.
Quitting about 25% in.
*** DONE Existence
    - State "DONE"       from "STARTED"    [2015-10-24 Sat 21:36]
    - State "STARTED"    from "TODO"       [2015-10-05 Mon 08:26]
A David Brin novel about the Fermi paradox.  Have a copy on Kindle.

Composed of some excellent prose, which is unfortunately wrapped in some more
run-of-the-mill segments.  Kept me interested, but then just sort of ended.
Still was a good book, but with a little more polish (and less dolphins)
it could've been great.
** Technology and software
*** CANCELED source upgrade to FreeBSD 10.1-REL
    - State "CANCELED"   from "TODO"       [2015-05-04 Mon 13:36]
Includes the vt console driver.  Probably will do a source upgrade.  Read this
for changes: https://www.freebsd.org/releases/10.1R/relnotes.html

It's been a long time since I've done a source upgrade, so I'll need to
relearn the procedure from scratch.  Read the Handbook chapter on this.

Tasks:
- [ ] Read the FreeBSD Handbook chapter on upgrading:
  https://www.freebsd.org/doc/handbook/updating-upgrading.html
- [ ] Backup all user data.
- [ ] Try doing a source upgrade on my 10.0-REL VM.
- [ ] Get vt(4) working.
- [ ] Source upgrade cellblock.
- [ ] Rebuild custom kernel.
- [ ] Source upgrade muze.  I think it just uses a GENERIC kernel.

This failed on the VM due to screwups in the ports tree migration path.  Will
default back to doing a new install of 10.1.
*** DONE powerline
    - State "DONE"       from "STARTED"    [2015-06-04 Thu 04:27]
    - State "STARTED"    from "TODO"       [2015-03-24 Tue 10:16]
A modeline modification for Emacs that may increase visual parse speed.

Using this fork, which fixes some display issues:
https://github.com/jonathanchu/emacs-powerline

Seems to be an overall small improvement just on the X11 side.  powerline looks
like crap in a terminal, so I disabled it there.  Will have to think about
whether it's a net benefit, given that I then have no unified standard.
Alternatively, once I get vt console working, the UTF-8 separator character
might render properly.  Will defer final decision about this until then.
*** CANCELED G1GC
    - State "CANCELED"   from "TODO"       [2015-07-09 Thu 11:02]
Consider using the G1GC garbage collector, which is supposedly more modern.
Read up on it first.

export JVM_OPTS="-XX:+UseG1GC"
export LEIN_JVM_OPTS="-XX:+UseG1GC"

Read up on this some, but am unable to confirm that I want to use this.  More
research could possibly help, but I'm not sure getting into GC internals will
really pay off.
*** DONE learn proper git commenting
    - State "DONE"       from "STARTED"    [2015-07-11 Sat 17:34]
    - State "STARTED"    from "TODO"       [2015-07-11 Sat 17:00]
Time to stop making a semi-mess in git commit logs.
http://chris.beams.io/posts/git-commit/

Changed git-commit-mode-hook to set the commit buffer's fill-column to 72.
Will stop using descriptive subject lines in sentence form.  Will keep an eye
out while reading Pro Git for a way to clean up all my old commit messages.
*** DONE git-gutter
    - State "DONE"       from "STARTED"    [2015-07-11 Sat 17:48]
    - State "STARTED"    from "TODO"       [2015-07-11 Sat 17:35]
This Emacs addon that shows git changes in the editor.
https://github.com/syohex/emacs-git-gutter

Enabled global-git-gutter-mode.  Seems pretty useful.
*** DONE μBlock
    - State "DONE"       from "STARTED"    [2015-07-11 Sat 12:59]
    - State "STARTED"    from "TODO"       [2015-07-11 Sat 17:59]
Supposedly a more memory/CPU efficient alternative to AdBlock and ABP.
https://github.com/gorhill/uBlock

Won't work with Conkeror currently.  Will check back in a couple years.  I did
install this on my FF install on my GNU/Linux VM, however, and it is pretty
nice.
*** DONE update all Emacs packages
    - State "DONE"       from "STARTED"    [2015-07-13 Mon 10:38]
    - State "STARTED"    from "TODO"       [2015-07-12 Sun 11:26]
Get everything yakshaved such that it works optimally for 24.3.1.  Will do
another pass post-24.4 upgrade.

Did the following:
- Deleted cl-lib.el.  cl-lib is now in default Emacs.
- Switched to active darcsum repo.  Looks like no one is really working on
  this anymore.
- Archived elib-1.0.  This was used for JDEE, which I don't use anymore.
- Switched to current elscreen GitHub project.
- Updated ESS.  Leaving it still unloaded.
- Deleted flymake-jslint.el.  Moved jslint.js to ~/bin.
- Deleted groovy-mode.  Archived init to unused-init.el.  Hopefully will never
  need this again.
- Updated haml-mode and fixed Git repo URL.  Leaving it still unloaded.
- Updated htmlize.el from 1.43 to 1.47.
- Updated js2-mode.
- Updated markdown-mode.  Added textproc/markdown to the package install list
  for output generation.
- Update multi-term.el from 0.8.9 to 1.3.
- Updated paredit.
- Updated powerline.
- Updated sml-mode from 4.0 to 5.0 from tarball distribution.  Leaving it still
  unloaded.
- Updated SLIME.  What's on master seems to work fine.
- Deleted temp tramp file, which hadn't been refreshed since FreeBSD 8.0.
- Deleted vc-darcs.
- Updated volatile-highlights.el.
- Updated web-mode.
- Deleted all of my update scripts.
- Ran byte-compile-file against all updated stuff.

The main thing I need to remember to do is update magit and git-modes once I
upgrade to 24.4.
*** DONE diminish.el
    - State "DONE"       from "STARTED"    [2015-07-16 Thu 12:31]
    - State "STARTED"    from "TODO"       [2015-07-16 Thu 12:02]
My mode-lines, especially in Clojure, and getting a bit long, so much so that I
sometimes can't see the line:column info (which I have one the right).  Use
this to shorten them for minor-modes.
https://www.eskimo.com/~seldon/diminish.el

Also added some e-lisp for major-mode shortening.  Using Unicode characters for
some of these.  Will add more when I find ones that are over 6 characters in
length.
*** DONE Q-Dir
    - State "DONE"       from "STARTED"    [2015-07-19 Sun 01:38]
    - State "STARTED"    from "TODO"       [2015-07-19 Sun 01:24]
Check this out as an Explorer-replacement for Windows.  This could replace the
payware xplorer² that I currently use to not be annoyed when occasionally using
Windows, which I only have the 32-bit "Lite" version of.

Pretty close to perfect once heavily customized, but needs a font size option.
Will stick with my current setup in order to save my eyeballs.
*** DONE seesaw
    - State "DONE"       from "STARTED"    [2015-07-25 Sat 17:17]
    - State "STARTED"    from "TODO"       [2015-07-25 Sat 15:24]
Will eventually need a GUI library for Clojure.  This seems like a standard
option for that.  https://github.com/daveray/seesaw

Tasks:
- [X] Read the seesaw tutorial: https://gist.github.com/daveray/1441520
- [X] Make a sample project in it.

Pretty simple.  A little care must be taken, since certain invalid function
calls can lock up a REPL if interactively building and application.  Should be
able to use the canvas function or seesaw.graphics namespace to do the
graphics part of the Commercial Angler rewrite.
*** CANCELED vinyasa
    - State "CANCELED"   from "STARTED"    [2015-07-27 Mon 13:40]
    - State "STARTED"    from "TODO"       [2015-07-27 Mon 13:32]
A library that adds Clojure development workflow optimizations.
https://github.com/zcaudate/vinyasa

Can't get this to work, despite trying various things.  Might look into this
again later.
*** DONE spyscope
    - State "DONE"       from "STARTED"    [2015-07-27 Mon 13:50]
    - State "STARTED"    from "TODO"       [2015-07-27 Mon 13:45]
A trace-like debugging tool for Clojure subexpressions.  Normally, I modify
functions I'm testing to determine the results of nested expressions.  This
should make it easier by throwing in a macro call to inspect its evaluation
return at runtime.  https://github.com/dgrnbrg/spyscope

Has some nice features, but I'll mainly use the #spy/d macro, possibility
occasionally with the ^{:fs <n>} parameter (which gets some n stack frames).

I might also add debug-repl later for more power along these lines.
*** DONE redo solved 4clojure problems
    - State "DONE"       from "STARTED"    [2015-07-31 Fri 22:53]
    - State "STARTED"    from "TODO"       [2015-07-31 Fri 22:13]
Now that I'm quite good at Clojure, I suspect I can come up with better
solutions to some of these.

Looks like I got the hang of it later on, and only my earlier solutions needed
some help.
*** DONE redo Emacs Haskell setup
    - State "DONE"       from "STARTED"    [2015-08-11 Tue 01:36]
    - State "STARTED"    from "TODO"       [2014-09-03 Wed 10:20]
Lots of new capability is available now.  Some of it is outlined here:
https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md

This will break most of my existing setup, but it's probably time to rewrite it
all anyway.  I'll just get the basic setup done here.  More complex Emacs
integration will be deferred to individual tasks.

Tasks:
- [X] Update haskell-mode via git.  On a fresh install, this requires running
  =make EMACS=/usr/local/bin/emacs= from the haskell-mode directory.
- [X] Add hi2, for indentation.  https://github.com/nilcons/hi2
- [X] Look into ghc-mod.  Skipping for now.
- [X] Read this manual: https://github.com/haskell/haskell-mode/wiki

Notes:
- Do this to wipe a user-specific Cabal cache:
  rm -rf `find ~/.ghc -maxdepth 1 -type d`
  rm -rf ~/.cabal/lib
  rm -rf ~/.cabal/packages
  rm -rf ~/.cabal/share
- Use =cabal init= in a project directory to create a cabal project.  See
  ~/src/haskell/htest for a sample project where I got this working.
- C-c C-l is bound to haskell-process-load-or-reload, which starts a cabal
  REPL.
- ghc-mod would definitely be useful later if doing some serious Haskell
  programming, as it uses a background process to provide flymake-style
  highlights, code completion, and query information about files.  I'll use
  this instead of my old flymake setup (probably in conjunction with HLint).
- This document is definitely worth a re-read later once I have more spare
  time for the language.
- w3m/Haddock integration doesn't seem to be functional yet.  Check back on
  this later.
- Use C-c C-. to sort/align imports.
- Added hotkey M-. for haskell-mode-jump-to-def.
- See this page on how to use the debugger:
  https://github.com/haskell/haskell-mode/wiki/Haskell-Interactive-Mode-Debugger
- Will redo Haskell flymake setup later.
*** DONE clean up Windows 7
    - State "DONE"       from "STARTED"    [2015-08-26 Wed 17:03]
    - State "STARTED"    from "TODO"       [2015-08-26 Wed 17:00]
Win7 includes a bunch of shitty KB updates.  I've always been too lazy to
manually sort through these, but luckily for me, someone else already did it.
Go through this list and remove everything listed.

https://fix10.isleaked.com/oldwindows.html
*** DONE Project Euler problems
    - State "DONE"       from "STARTED"    [2015-10-08 Thu 14:44]
    - State "STARTED"    from "TODO"       [2014-07-08 Tue 15:34]
Do all (or as many as I can) of these:
http://projecteuler.net/

Probably will do these in Clojure first.  Might try them later in Haskell as
well.

Did some in Clojure, but suspending this in order to focus on other stuff.
Will probably come back to this later and do more.
*** DONE vt
    - State "DONE"       from "STARTED"    [2015-10-13 Tue 23:08]
    - State "STARTED"    from "TODO"       [2015-10-13 Tue 21:39]
vt is now supported with FreeBSD >=10.1.  If all features work as intended,
this could make console mode a more viable option, though I'd probably still
prefer X11 for most normal use.

Add =kern.vty=vt= to loader.conf.  Check the vt manpage for options.  Use
terminus font with this.  Also see: https://wiki.freebsd.org/Newcons

Works great.  See freebsd-setup.org for the full setup details, integrated into
the kernel build task.  This also fixed the issue with having the console work
after exiting X.
*** CANCELED geli
    - State "CANCELED"   from "TODO"       [2015-10-15 Thu 13:11]
Consider using geli to encrypt /home.

Not worth the inconvenience.  I'll keep this in mind though, if I start doing
super private stuff on my laptop to the extent that GPG isn't adequate.
*** DONE upgrade to FreeBSD 10.2-REL
    - State "DONE"       from "STARTED"    [2015-10-17 Sat 00:50]
    - State "STARTED"    from "TODO"       [2015-10-12 Mon 05:54]
Since the source upgrade path is broken, I'll just upgrade the workstation and
laptop for now, and skip the server until 11.x.

Tasks:
- [X] Buy a new 30GB mSATA SSD.
- [X] Create new 10.2 VM.
- [X] Backup all user data.
- [X] Install new SSD.
- [X] Install 10.2 on cellblock.
- [X] Rebuild custom kernel.
- [X] Get vt console driver working.
- [X] Upgrade to 10.2 on laptop.

Everything worked out great.  10.2 doesn't change much, but the few annoyances
fixed are a pretty big deal to me.
*** CANCELED BBDB
    - State "CANCELED"   from "TODO"       [2015-10-27 Tue 11:49]
Setup a BBDB database for an address book.  Normally, its main benefit is that
it integrates with VM, Gnus, and Wanderlust, which is why I've skipped it.  See
if I can share the same address book between mutt and mail-mode, which is the
only situation where BBDB would be useful for me (as I already have aliases
loaded into mutt).  Otherwise, don't bother learning it.

If I do end up using it, I might want to store other stuff in BBDB too, though
it seems to me that org-mode is better for almost anything I would put here.

No pressing need to do this.  Canceling.
*** CANCELED Sass
    - State "CANCELED"   from "TODO"       [2015-10-27 Tue 11:50]
Sometimes used in combination with Haml, which I might want to look into at the
same time.  Though this is super-simple, it may not be worth the effort to
learn this, as it'll add an extra parse step between writing and publishing.
It may make more sense just to update my CSS knowledge to CSS 3.

http://sass-lang.com/

Not worth the overhead to learn, especially since I don't need it.  Canceling.
*** CANCELED core.typed
    - State "CANCELED"   from "TODO"       [2015-11-03 Tue 07:40]
The Typed Clojure project.  Read up on this and determine whether it's worth
using or keeping an eye on.  There's also a typed-clojure-mode for Emacs.
https://github.com/clojure/core.typed

Canceling this for now, for various reasons.  Some are listed here:
http://blog.circleci.com/why-were-no-longer-using-core-typed/
** Games to play
*** DONE X3:Terran Conflict + Albion Prelude
    - State "DONE"       from "STARTED"    [2015-01-07 Wed 10:02]
    - State "STARTED"    [2013-06-14 Fri 20:13]
AP is basically an expansion pack for TC, so I'll play both at the same time.
AP also cleans up a lot of little annoyances.  The TC plots are missing, but I
suspect they aren't much fun anyway.  There's a mod to put them back in if I
want to later.

Install cockpit mod, transparent sidebar, bonus pack, MK3 Improvement Reloaded
(to fix the UT blacklist bug), Universal Best Buy/Sell, and non-Steam .exe.
Setting FOV to 100 for a 16:10 monitor.

Complex calculator: http://www.altanetworks.com/x3/x3apocc.html

Doing a semi-pacifist run.  Self-imposed rules are:
- Anonymous Argon start (requires changing GameStarts in registry to "fffff").
- No derelict ship capping unless I find it legitimately.
- No looking at any online guides except for maps (so I can print them out and
  keep track of sector scanning).  An exception is made for learning about new
  game features.
- No save scumming.  Will try to play the game like the Suicidal Squid game,
  though I'm not crazy enough to actually do that, mainly due to CTDs.  Death
  is pretty inevitable in the X Universe though, so I'll just try keeping it to
  a minimum.
- No SETA.
- No exploits or scripts that make the game easier.
- Won't do the AP plot until the rewards are inconsequential.
- No missions.  This is to counter the annoying mission icons over stuff.
  Trying to remove those with a mod didn't work for AP.  Money will be made
  almost exclusively by trading and running factories/traders.

I may restart as the Terran Commander and try to build a trading empire in
Terran space if I ever play this again.

I still like X3 some, but the whole X:R debacle has somewhat ruined the appeal
I had for this IP.
*** CANCELED Defense Grid 2
    - State "CANCELED"   from "TODO"       [2015-01-07 Wed 11:15]
Will need to do more research before jumping in on this one.  I was pretty
excited about this, but now I'm bracing myself for disappointment.

A few downsides noticed so far:
- The interest-earning mechanic (my favorite aspect of DG1) has been removed.
  My knee-jerk reaction here is that this could be a deal-breaker.
- Income from kills is removed.
- Resources are allocating by fixed amounts.  This apparently results in much
  less creative freedom.
- An in-game store was added.
- Towers are reported to be highly imbalanced at launch.  Like with DG1,
  they'll probably be tweaked at least a little along the way.

There doesn't seem to be any impetus to fix the problems here, so I'm going to
put this one in the pass category.  I might take a peek at it again a year or
so from now if I remember to.  Otherwise, the wait will remain for a proper
tower defense game.  If I do decide to get it cheap later, check out
http://www.dg2freemaps.com
*** CANCELED Ancient Space
    - State "CANCELED"   from "TODO"       [2015-01-10 Sat 18:22]
Supposedly, a Homeworld-inspired, story-centric RTS.  Need to look into it
more.  May be too stock-RTS (AoE-like) for my tastes.  A quick video watching
will settle that.

Too much of a standard, generic RTS experience.  A shame, since it has a few
nice parts.  Skipping.
*** DONE Corruption of Champions
    - State "DONE"       from "STARTED"    [2015-04-28 Tue 09:45]
    - State "STARTED"    from "TODO"       [2015-03-25 Wed 06:00]
Some Flash-based furry/yiff RPG.

Turns into a bit of a grind, so quitting.  I'm also quitting before the sick
content has any permanent training effect on my neural net.
*** CANCELED DAoC: Genesis
    - State "CANCELED"   from "TODO"       [2015-04-28 Tue 16:43]
A PS for DAoC.  Looks reasonably feature-complete.

Account setup seems to not work for me.  I may check back later, but I'm giving
up for now.  I also don't really feel like starting on another MMO at the
moment.  May check back later, but probably won't.
*** DONE BrowserQuest
    - State "DONE"       from "STARTED"    [2015-05-14 Thu 22:38]
    - State "STARTED"    from "TODO"       [2015-05-14 Thu 22:03]
An HTML5/JavaScript game with an open source codebase, made by Mozilla.

Yawn.  Not really even interesting as a tech demo.
*** DONE Project 1999
    - State "DONE"       from "STARTED"    [2015-05-18 Mon 12:36]
    - State "STARTED"    from "TODO"       [2015-01-03 Sat 02:31]
A purist recreation of "classic" EverQuest.  Will give it a farm for a bit.

Using DuxaUI, available here: http://p99.yourfirefly.com/

Definitely better than modern F2P EQ1 in most ways, though there are a few
nice features there that I kinda wish were here.  Still has all of the
problems of this model of MMORPG.  The client also has a lot of bugs.

I have decided that I like one thing about (mainly older) MMORPGs though: the
mastering of a complex piece of software and researching how to use it
optimally.  Once that learning curve levels off, however, only the actual
gameplay remains.  That part, of course, is quite boring and a complete waste
of time.

Notes:
- Use S-t as a cheap trick to check surroundings without switching camera mode.
- To list all friends online: /who all friend
- Set "LOG=TRUE" in eqclient.ini.
- Set a key to open all bags, in options.  I use b for open and S-b for close.
- Rebind C-d to crouch.
- Use arrow keys to scroll between spellbook pages quickly.
- Edit SoundAssets.txt and remove the lines containing "143^thunder1.wav" and
  "144^thunder2.wav".  This disables the annoyingly loud storm sounds.

EQ1 is a good game in some ways (most notably in group mechanics and for the
brutal death penalties), but it also has pretty tragic flaws that make it
slightly inferior to UO:
- Characters and mobs clip through each other.  In some situations characters
  won't though, which is strange that it's selectively applied.
- The camera can be pretty annoying.  The modern standard camera system for a
  game like this, instead of a bunch of (mostly useless) discrete modes,
  would've been better.
- Most font choices are useless and many distort text at various sizes.  I
  could never get this just right for my setup.
- Large bodied races like ogres and trolls often block the view too much.
- The math behind mob damage is primarily influenced by level.  Almost no
  gear difference will affect melee combat as much as level.
- The spell resist system heavily restricts ability for spell-casting classes
  to the point of being completely ineffective against even cons by mid-level.
  On top of this, spell progression hasn't scaled with expansion packs the way
  gear has, with the exception of expanded utility functions.  Worst of all,
  there's only 8 spell slots, meaning classes like enchanters are constantly
  forgetting/memming spells, which is a lot of busywork clicking.
- While the playerbase is a good bit better than a typical MMO, the game is
  still full of a lot of petty losers.  A larger wall of complexity would help
  keep more of these people out.
- The current p1999 Blue server is way too crowded.  The Red server is a
  sausagefest of gank-happy spazzes.  That might be okay except the way PVP is
  handled in EQ1 is less than ideal.  I'm not sure I even want PVP in an RNG
  game anyway, but certainly not in one so level-centric.
- At least in pre-Velious, there's a massive funnel for leveling spots by the
  40s.
- The people running the server are a bit too stupid and not detached enough
  from drama for my tastes.
- Tradeskilling is mostly not a viable way to play, nor is it an essential part
  of the economy (perhaps with the exception of jewelry).  Ideally, it should
  be possible to never kill stuff and only craft.
- Not enough inventory or bank slots.  Has the now standard bag system.  Only
  maximum of 10 slot bags are available on p1999.  The main downside here is
  that it's basically not possible to hoard all mats and sell useful stacks of
  them, so most get vendored.
- End game content is completely group-centric.  Raiding involves the most
  repetitive experience in the game.  While no instances is a big plus, more
  content (or the same content more spread out between random filler) is needed
  for the top-heavy playerbase.

Got a 52 enchanter and 50 wizard and have pretty much done everything I wanted
to.  Will try to sell account before uninstalling.  While there are a lot of
good aspects to the game now missing from modern MMOs, there's not enough of
them to really get all misty-eyed over as many a classic live server player do.
*** CANCELED Hadean Lands
    - State "CANCELED"   from "TODO"       [2015-05-25 Mon 17:11]
Supposedly an excellent new IF game.

Turns out this is payware.  Not going to be paying for an IF game.
*** CANCELED Homeworld 2: Complex 9.1
    - State "CANCELED"   from "TODO"       [2015-05-25 Mon 17:17]
Mentioned somewhere online as the best Homeworld 2 mod and best incarnation of
the series.  Don't know anything about it yet, so will have to look into it.

Some of the features here seem interesting, but they don't affect the
campaign, so I guess I'll skip it.
*** CANCELED ToME (oozemancer run)
    - State "CANCELED"   from "TODO"       [2015-05-28 Thu 15:39]
Not entirely sure if I want to do this, but if so, try running a Thalore
oozemancer build and make a serious attempt at trying to beat the game.  Might
try installing on FreeBSD, since there's only 5 or so dependencies I don't
have.

I think I'll skip this due to the mindless timesinks some aspects of the game
include.  I'd already have played multiple characters by now if not for this.
I may still try this or another build some other time still, but only once a
lot of stuff has changed about the game many years from now.  A shame, since
the build-planning part of this game is really excellent.
*** DONE Idle Hero
    - State "DONE"       from "STARTED"    [2015-06-02 Tue 18:13]
    - State "STARTED"    from "TODO"       [2015-06-02 Tue 17:43]
A simple roguelike crossed with an idle game.  Might be worth a quick look.
http://www.roguebasin.com/index.php?title=Idle_Hero

A good idea for a game, but a poor implementation of it.  Very poorly
programmed as well.
*** DONE dunnet
    - State "DONE"       from "STARTED"    [2015-06-20 Sat 06:32]
    - State "STARTED"    from "TODO"       [2015-06-20 Sat 03:25]
Try to beat this without cheating or reading any guides.

Notes:
- To get through the maze from the weight room: d, nw, up, se, d, nw, nw
- To go the other way, from the reception area: se, se, d, nw, ne

A pretty good puzzle IF game, except for the annoying maze.
*** CANCELED The Gostak
    - State "CANCELED"   from "TODO"       [2015-06-22 Mon 01:41]
A linguistic-concept IF game.  If I like this sort of thing, the game "For a
Change" is another along these lines.

Played this for awhile.  Fun and totally doable after a lot of work and
notes-taking.  Unfortunately, I also don't want a huge linguistic map of
completely useless information, so I'm going to quit playing it for now.  I
might revisit it later in the unlikely event that I run out of useful things
to be learning.
*** DONE Clicker Heroes
    - State "DONE"       from "STARTED"    [2015-07-05 Sun 11:59]
    - State "STARTED"    from "TODO"       [2015-05-17 Sun 16:50]
Same concept as AdVenture Capitalist.  Will play both of them at the same time.

Notes:
- Use this optimizer: http://www.rivsoft.net/clicker/ancientssoul

Not as bad to play using an idle build, but still too much interaction
needed.  Progress is effectively impossible when offline.  Quitting.
*** DONE Starbound
    - State "DONE"       from "STARTED"    [2015-07-21 Tue 02:08]
    - State "STARTED"    from "TODO"       [2015-07-20 Mon 02:13]
Got free access via Steam's Family feature.  Will give it a try, though I'm
pretty sure I won't stick with it.

A semi-okay game, but impossible for me to stick with for various reasons:
- Being a 2D side-scroller is a critical flaw for me, even with a
  semi-interactive background layer.  If not going 3D, I could see a
  2D isometric version of a mining game working, if done right.
- Gameplay is extremely boring and repetitive.
- All races play the same.  They only have cosmetic differences (with a few
  very minor exceptions).
- It should be possible to relocate your teleport down location.  Running to
  the other side of a huge planet over and over sucks.
- When digging extremely deep, manually going back to the surface also sucks.
- Numerous bugs, some critical.  Overall though, the game is stable relative to
  similar games.
- The prepackaged content, like boss areas, is standard platformer gameplay.

Got to the point of unlocking FTL and fueling my ship, but found myself lacking
any motivation to continue, mainly due to the issues listed.
*** CANCELED FreeSpace 2
    - State "CANCELED"   from "TODO"       [2015-07-20 Mon 16:36]
I suspect this is a better space combat sim than Freelancer, so try this first.
Get a copy for super cheap at GOG.  If I don't get to this before SC comes out,
I'll skip it.

The source code was released for this game, so maybe give that a look, since it
may save me some time reinventing a lot of solutions.  I will want to use this
for the modern enhancements it provides anyway.
http://scp.indiegames.us

Follow these mod instructions for the best textures and such:
http://www.hard-light.net/forums/index.php?topic=78710.0
Or maybe these:
http://www.gog.com/forum/freespace_series/quick_and_simple_freespace_2_scp_installation_guide

Since I won't be getting to this within a year or so, I'll skip this in favor
of SC.  I'll revisit if SC turns out to suck.
*** DONE AdVenture Capitalist
    - State "DONE"       from "STARTED"    [2015-07-21 Tue 23:39]
    - State "STARTED"    from "TODO"       [2015-05-16 Sat 19:59]
A Unity Web game, of the "incremental game" genre.  Using the Steam version,
since it doesn't require loading within a webpage.

This is better than Clicker Heroes, despite the reduced polish, mainly due to
it being closer to a true idle game.  I still have some complaints though:
- Existence of a P2W cash shop.
- I'd prefer a system where either angels weren't a finite currency or they
  were attained on a linear scale vs. lifetime earnings.  The way they
  currently are, it's possible to seriously gimp your game.  Also, sacrifices
  that seem to make sense for a particular run may not when you factor out the
  lifetime profit reduction of their permanent loss.
- Still too much clicking for buying stuff, along with a heavy incentive to
  time your purchases right (e.g., buying an important upgrade as soon as
  available instead of being AFK for hours can make a huge difference in
  progression).  Since the interaction is so repetitive and trivial, the game
  might as well just have an upgrade to auto-buy the next optimal thing,
  leaving you only to decide when to reset.
- Would prefer a nested menu system instead of modal windows to do stuff.
- Has numerous display bugs.
- There's no reason this can't be a completely offline game.
- The math behind moon progression is completely broken.  The only purpose for
  this mode currently is to reset your graphical glitches on Earth without
  restarting.
- A serious bug caused me to lose all moon progress.

After researching the math behind Earth progression, I decided to give up on
this game and just use the system clock cheat.  This confirmed my suspicions
that the entire game is a cheap facade for its cash shop.
*** CANCELED Universal Combat
    - State "CANCELED"   from "TODO"       [2015-08-02 Sun 12:05]
Now available for free and, unlike BMG, doesn't crash.  Read all of the PDFs in
the game's doc/ folder before playing.  A horrible, buggy mess, but also a
massive wall of complexity that might be fun to climb.  Now also available on
Steam, so I'll use that version.

While this does indeed have a lot of the features of a capital-class spaceship
simulator, The actual way of integrating them into a game here isn't for me.
For example, instead of flying your ship in first person, I'd rather interact
with the game through various command interfaces on the bridge.  I'm going to
pretend these games were never made from now on.
*** DONE World of Warships
    - State "DONE"       from "STARTED"    [2015-08-02 Sun 23:35]
    - State "STARTED"    from "TODO"       [2015-08-02 Sun 00:09]
This will be worth checking out if they do as good of a job as done on World of
Tanks, but just to see all the ship models in action.  There are supposedly
also plans to merge this, World of Tanks, and World of Warplanes into one
shared battlespace, which will either be completely awesome or completely suck.
Will stick to my normal routine of not paying for anything and quitting before
hitting the soft paywall.

The best of the Wargaming.net games so far.  Still too action-focused for my
tastes, but okay for some quick ship combat fun occasionally.  Ended up
uninstalling it after a couple weeks though, since its not different enough
from World of Tanks to merit as much time as I spent in that, despite being a
significantly better game.
*** DONE Dwarf Fortress
    - State "DONE"       from "STARTED"    [2015-08-03 Mon 10:55]
    - State "STARTED"    from "TODO"       [2015-07-06 Mon 07:35]
Installed DF 0.40.24 via Starter Pack r14.

Using at least DFHack is a must (it comes with the Starter Pack).  See the
documentation here: https://github.com/DFHack/dfhack

One of the best games out there.  There are still some downsides though:
- The entire game is single threaded.  This often results in a pegged core with
  sluggish performance.  Play style and embark location have to take
  performance into consideration.
- The codebase is closed.  The developer understandably doesn't want a ton of
  forking, but should at least open source the front end and possibly other
  non-core components of the game for help with bugs and performance.  Closing
  the source has also resulted in a lot of 3rd party utilities that are limited
  in the extent to which they can integrate into the game.  Many of these are
  considered essential for usability reasons.
- While DFHack helps remove a lot of tedium, there's still a large amount of
  very repetitive actions that require needless micromanagement.
  Unfortunately, nothing short of a complete command/status interface overhaul
  would fix that.
- Bugs have caused me a considerable amount of lost work, including full
  fortress loss.  It shouldn't be necessary to keep a massive repository of
  bugs memorized to play properly.

Notes:
- Run =fastdwarf 1 0= in the console to enable speedydwarf.  Run =fastdwarf 0
  0= to turn this off once I get the initial, repetitive gruntwork out of the
  way.
- Make unpaved roads to remove vegetation, such as shrubs and saplings.
- Make an up ramp next to U/D stairs to dig up.
- Use the =digvx= command to dig out an entire vein, across z-levels.  Requires
  cursor to be on a vein.  Update: doesn't seem to work currently.
- =digexp diag5= is a good command for exploratory mining on a particular
  z-level.  Defaults to only uncovering hidden tiles.
- Armories should include lots of armor/weapon racks, chests, and cabinets.
  Put at least one chest/cabinet/armor rack per squad member.
- Always create an armory from a weapon rack.
- Use =enable autolabor= to turn on auto-management of assigned labors.  This
  is pretty smart and can be left to do its own thing.  =autolabor list= and
  =autolabor status= can get some info on the current autolabor state.  Setting
  =autolabor MINE 3= is a good way to keep at least 3 active miners.
- C-S-p opens the DFHack prompt in game.

This game is really unique in several ways, but the areas of emergent gameplay
and world generation are where it really outclasses the competition.  DF will
definitely be on my list of best games, and I'll probably play it occasionally
from now on.  But, I'll probably wait until the next version to venture into
it again, in the hopes that some of the issues are sorted out.
*** DONE Project Gorgon
    - State "DONE"       from "STARTED"    [2015-09-13 Sun 21:17]
    - State "STARTED"    from "TODO"       [2015-09-12 Sat 01:26]
An alpha-stage MMORPG popular among classic EQ1 players currently.

Seems okay concept-wise, but nothing original.  Technically, the game is a bit
of a mess, and it seems unlikely to ever get the polish it needs.  Since the
goal here is to capture some of the classic MMORPG feel, selectively merged
with a few modern concepts, then I guess it succeeds at that.  I definitely
don't have months to sink into an MMORPG currently, so I'm quitting.  I'll
consider looking back into it later if it's still around in a few years.
*** CANCELED Prospector
    - State "CANCELED"   from "TODO"       [2015-10-08 Thu 14:49]
A freeware space rogue-like.  http://www.prospector.at/

Played this a little, but found it mostly a bit uninspiring.  Maybe there's a
good game here and I didn't stick with it long enough to find out.
*** CANCELED Evochron Mercenary
    - State "CANCELED"   from "TODO"       [2015-10-10 Sat 18:13]
An Elite-clone (of the X3 variety) with fully explorable planet surfaces,
seamless space/planet transitions, and simulated physics.  Sequel to Evochron
Legends.  Notable for being written by a single programmer.  Only get it
if/when on sale, if at all.  No rush here, since the programmer does release
newer versions every few years and by the time I get around to it, another
version may be out.

After reading some reviews, I'm going to skip this one.  I'll check back on
the Evochron series later though -- maybe after a couple iterations.
*** CANCELED Ceres
    - State "CANCELED"   from "TODO"       [2015-10-18 Sun 00:50]
A tactical space combat game of the Homeworld variety.

Looks to be a bit of a mess with lots of bugs.
*** CANCELED Elite: Dangerous
    - State "CANCELED"   from "TODO"       [2015-10-22 Thu 09:12]
The updated version of Elite.  ED has gone online-only, making it far less
appealing.  A lot of stuff is still missing well past launch, so I'll
reconsider it in maybe mid-to-late 2016, though almost certainly will give it a
pass due to no offline play.

I think Rogue System has me covered on the space sim front.  ED is highly
inferior in realism and physics by comparison.
*** CANCELED Star Citizen
    - State "CANCELED"   from "TODO"       [2015-11-03 Tue 07:24]
The most hyped space sim, and possibly the most hyped PC game ever.

Bought the $40 Aurora MR+ ship package.  After watching things semi-progress
over 2 years, I'm ended up regretting my purchase and requested a refund.  A
non-comprehensive list of issues I have with the project:
- A near-exclusive focus on combat so far.  I have no faith in anything on the
  economy/mining/trading side.
- Arcade-like gameplay.  Everything interaction-capable in world is single use,
  with a giant "use" label.
- The monetization strategy has become increasingly more whale-bait focused
  over time.  Post-launch monetization is P2W in all but name.
- Instancing is everywhere.  I'd gladly take reduced ship or face poly count in
  exchange for less instancing.
- The TOS was changed arbitrarily to extend the deadline for refunds.
- The company is mostly full of annoying personalities, like Sandra Roberts and
  Blob Lesnick.
- The community is full of true believer fanbois.

I'm glad to be divested from this project.  My new rule is to only buy software
I actually want right now in the state it's currently in (this includes
everything from pre-alpha to post-launch).  Give no credence to that which does
not yet exist.
*** DONE S.T.A.L.K.E.R.: Shadow of Chernobyl
    - State "DONE"       from "STARTED"    [2015-12-26 Sat 03:26]
    - State "STARTED"    from "TODO"       [2015-12-20 Sun 13:17]
Got a copy for free from sister's Steam account.  Will give it a try.

Notes:
- Turn off the head bob by editing the user.ltx file created in the game
  directory under the user's documents folder.  Change cam_inert setting to
  0.0.
- Also using Autumn Aurora 2.1, a graphics/music/sounds upgrade mod.  This
  builds on top of ZRP as well, so all those fixes are present.  However, I
  only see direct config file editing as a way to control ZRP options.  Once
  installed change the following:
  - scripts/task_manager.script: quest_time_factor = 0
  - scripts/_z.script: notify_on_stash_empty = true
  - scripts/death_manager.script: store_weapon = true
  - scripts/se_respawn.script: Edit the respawn rates.
  - config/creatures: Set corpse decay in monsters.ltx and stalkers.ltx

The stock game experience is basically unplayable due to: way too frequent
respawns, a vomit-inducing head bob, fishbowl FOV settings, not
balanced/post-processed audio, etc.  Modding this game makes it more
enjoyable, but there's still problems:
- NPC visibility mechanics don't take into account foliage and other cover.
  They can also spot a player too easily in general.  Basically, stealth is
  broken.  This seriously breaks a lot of the gameplay.
- The carrying capacity of the player is too low.
- Stashes are empty until you find their corresponding PDA entry.
- Annoying scripted events, like escort missions.
- Magical teleporting in the ending.
- NPCs have infinite ammo, yet when looted only have a few rounds.  Item drop
  rates and prices need rebalanced in general.

Overall, an only okay experience once heavily modded, but still a waste of
time.  Should've done something more productive.
** Programming projects
*** DONE tumblr-identity-manager
    - State "DONE"       from "STARTED"    [2015-06-23 Tue 14:43]
    - State "STARTED"    from "TODO"       [2015-05-18 Mon 12:40]
A Compojure application to manage one's Tumblr identity.  This is an example
project for a presentation I plan to give on integration of Clojure back-ends
with JavaScript front-ends.  I may also use the data structures made here in a
future project.

This project turned out pretty good.
*** CANCELED petri-clj
    - State "CANCELED"   from "TODO"       [2015-10-09 Fri 23:52]
A petri net library for Clojure.

Decided not to do this one.
** Math goals
*** DONE discrete mathematics
    - State "DONE"       from "STARTED"    [2015-10-08 Thu 09:52]
    - State "STARTED"    [2009-08-19 Wed 09:37]
Know most of this, but doing the ~20 hr Arsdigita course to refresh memory.
Left off about halfway through.  Probably will just switch to the book though.

Helped half-sister with her discrete math coursework, during which it was
evident that I know this stuff pretty good already (at least, at the level
acquired from such a course).  I probably still need some practice getting
better at proofs though, but I'll do that separately.
*** CANCELED linear algebra
    - State "CANCELED"   from "TODO"       [2015-11-03 Tue 07:41]
This may end up being useful for 3D programming at some point, but I'll re-add
the task then.  In the meantime, I'm more focused on mathematics more directly
related to PLT.  In one plausible future, however, I see myself circling back
to (possibly permanently) reside in the world of applied mathematics.
** General life goals
*** DONE use Gnuplot to lose weight
    - State "DONE"       from "STARTED"    [2015-04-28 Tue 09:48]
    - State "STARTED"    [2010-06-22 Thu 07:55]
My high school graduation weight was 170 lbs.  Get back to this weight or at
least 175.

The plan is to use Gnuplot to graph weight loss trendlines.  In addition to
this, I reassembled my desk as a standing desk.

Notes:
- Add the date and weight to ~/weight.dat.
- Run gnuplot.
- If doing from a text terminal, run =set term dumb= first.
- The first column is a date, so first let gnuplot know with =set xdata time=,
  then set the datemask with =set timefmt "%YY%mm%dd"=.
- If I want the end goal in sight, run something like =set yrange [170:215]=.
- Run =plot "~/weight.dat" using 1:2 with lines=.
- Instead of the above, just run =gnuplot weight.gp= (or, from within gnuplot,
  =load weight.gp=), since that's a Gnuplot script with all the above commands
  pre-loaded.
- Spend the majority of computer time at home on the standing desk.

The plan to never go back involves the following:
- Using the standing desk for all but playing games and very thought-intensive
  programming.
- Cooking as much of my own food as possible, primarily eating only fresh
  vegetables.
- Walk to work when I live near enough and when the weather's good.
- Keeping the mass of food ingested at current levels.
- Weighing self once a week to check status.  If ever near 180, start using
  Gnuplot again until back down to 175 at least.
- Thinking about the financial effects of purchasing prefabricated food and
  dining at restaurants (where most of my high calorie food came from) can act
  as a further disincentive.
- No work snacks, even if they're free.  If I want to save some money on food,
  I should grab them and save them for meal time.
- I'll eat 2 meals a day and keep it under an estimated 800 calories each.

Update: This works as a tracking mechanism, but isn't formalized enough for
consistent results.  The new plan to replace this is to use the Gnuplot
tracking here, but combine it with the new Soylent product.
*** DONE stop drinking diet soda
    - State "DONE"       from "STARTED"    [2015-06-27 Sat 13:21]
    - State "STARTED"    from "TODO"       [2015-05-28 Thu 10:05]
I've been consuming large quantities of this for many years now, with some
gaps.  While there are some benefits, consumption is definitely a net negative.
Disadvantages include:
- Increased phosphoric acid intake is linked to liver and bone density issues.
- Cost (roughly $250/yr).
- Time/energy spent buying it regularly.
- Damage to teeth, due to causing imbalance in mouth pH.
- Caffeine dependency.
- No physiological benefit over water for staying alive.
- Inconclusive results suggest that aspartame may be linked to appetite
  dysfunction.
- A possible increase in risk for metabolic syndrome.
- Citric acid may interfere with ketosis--a state I do want to be in while
  sleeping and don't need a glucose supply to the brain.

With a month of non-soda use, considering this done.  Quitting was surprisingly
simple.
*** DONE quit e-cigarettes
    - State "DONE"       from "STARTED"    [2015-11-19 Thu 13:35]
    - State "STARTED"    from "TODO"       [2015-10-20 Tue 06:05]
This worked to quit smoking, but now I need to quit this too.  Doing so will
save $480/yr.  Will consider this successful if I can go a month without it.

This was tougher than I thought it'd be.  Gained 4 lbs in the process too.
However, after 2 weeks, most of the side effects were gone.
*** DONE Soylent
    - State "DONE"       from "STARTED"    [2015-11-19 Thu 13:40]
    - State "STARTED"    from "TODO"       [2015-04-28 Tue 16:24]
This is a product idea I've been interested in for a long time.  Reasons for
attempting to switch from normal food to this:
- Save time preparing food.
- Reduce enjoyment associated with eating, thus ensuring food intake to be
  optimally aligned with nutritional needs.
- Ensure no gaps exist in vitamin/mineral intake.
- Possibly deprecate the need for some food preparation and storage items.

The plan (will consider some of these sub-tasks done once perma-switched to):
- [X] Get a one month order of Soylent.
- [X] Get a plastic, sealable bottle that roughly fits one meal (2 scoops
  stuff, 4 scoops water).  One about 750mL should work.
- [X] Eat one meal per day of Soylent (prefer lunch) until I run out of
  perishable food at home.
- [X] If I like this enough, I may switch to full-time Soylent consumption.
  Exceptions will be made for eating out at restaurants and times when I can
  offset food preparation costs by aggregating meal preparation for multiple
  humans.  Will try to keep to at least 2 normal meals per week to maintain
  diversity of intestinal microbe species.
- [X] Come up with a permanent plan for integration of the product.  Likely
  this will be at least one meal per day (probably lunch).

The general routine is to always eat Soylent at least one meal a day, usually
lunch.  Supplements per every other day: 1000mg flax seed oil, 250mg choline,
1/2 multivitamin.  Will occasionally do all-Soylent days as well.

Deferring DIY Soylent task due convenience factor.  May revisit it later when I
am not working though.  Splitting weight loss plan off from normal Soylent use
tasks.

A truly life-changing product.  Overall health has improved dramatically in
many areas.  Averaging 14 bags per month during current weight loss period,
which is $1296/year at the new, slightly discounted price.  This results in
about 1.6 lbs/week lost so far.  I definitely intend to stick with Soylent for
the foreseeable future and will bump up my consumption by another half a
serving once my ideal weight is reached.  Since I'm feeling so good, I may take
other actions now to further improve health once I've established a stable
intake.
*** CANCELED stop consuming caffeine
    - State "CANCELED"   from "TODO"       [2015-12-03 Thu 07:08]
My only remaining input vector for this is unsweetened iced tea.  This
generally has 26mg of caffeine per 8 fl oz serving.  There's good reasons to
never consume this, including:
- Psychological effects, particularly an increase in mild anxiety.
- Diuresis.
- Physical dependence.
- Stimulant cycle with subsequent crash, resulting in net energy reduction.
- Some minor cost (currently spending about $6/yr on bulk cartons of tea bags).

I still have 150 tea bags left as of 2015-05-28, so I'll schedule this for when
those run out.

Will only use caffeine as a rare tool in an emergency, like driving a long
distance and having problems staying awake.  In such situations, the low risks
associated with caffeine are outweighed by the immediate risks involving
non-alertness.  Being off the tolerance treadmill will assist in this.
However, I can likely take other measures to reduce or eliminate these
situations, and may be able to never consume the substance again.

Update: Upon further research, I'll switch to green tea (at 2x cost) due to the
desirability of ingesting this: https://en.wikipedia.org/wiki/Theanine.  Will
also consider trying matcha green tea, since it has much higher levels of the
substance.  I will otherwise not consume caffeine though, as planned.
** Macro-goals
*** DONE year-end review for 2015
    - State "DONE"       from "TODO"       [2016-01-11 Mon 10:07]
There doesn't seem to be a huge master plan for this year, it's more of a
progression year where I clean up a lot of issues that were ignored for
pragmatic reasons.  In totality though, these should add up to a pretty big lifestyle
improvement.

I'm also refactoring year-end reviews to include: Description of general plan
for the year (written ahead of time), goals (written ahead of time), results (a
point-by-point analysis of each goal at the end of year), and an optional
analysis that might include unplanned stuff.

Goals:
- Pivot my functional programming to Haskell, making some progress on
  completing my overall FP goals in life (to achieve mastery in both
  dynamically and statically typed FP).
- Round out some Clojure knowledge.
- Since I'm working all year, I should easily increase net worth by a
  significant margin.
- Play fewer games and read less fiction.
- Significantly upgrade physical health.

Results:
- I did a pretty good catch-up of where I was on the Haskell side, but due to
  there now being zero opportunities to ever use this at work, I'll just keep
  this in maintenance mode until I've fully plateaued on the Clojure side.
  It's still my plan to do this on my own though.
- More Clojure knowledge was acquired, but accumulation of it is definitely
  leveling off.
- Net worth increased as planned, but I'd still like to improve this more next
  year if possible.
- Apart from wasting way too much time playing Project 1999, I did spend a lot
  less time playing games.  Spent $0 buying games.  I also read a lot less
  fiction, and I think I'm running out of hard scifi anyway.
- Starting in April, I lost all the weight gained since getting back from
  Afghanistan.  Going to keep going until I reach high school weight.  Then,
  I'll consider adding an actual exercise routine.
- Since I'm a team lead at work now, I've put into practice years of thinking
  about how to manage humans.  So far, it seems to be working.  This is a
  rather encompassing burden in life though, so it's likely I won't be doing
  this in the future.

Overall, a reasonably successful year.  Some things to consider for next year
(move these out of here later):
- Devise non-disruptive plan to get out of clearance work (that is, one where
  my options aren't externally constrained).
- At some point in the year, I should have time to finish rounding out the
  basics in Haskell.  This means getting to the point where I'm comfortable
  with monads, at least.
- Read less news aggregation sites and forums.  I waste way too much time doing
  this (sometimes several hours in a day) and it is one of my big remaining
  timesinks.  Exceptions can include sites around topics being studied for
  listed tasks and normal searching for immediately needed information.


* Project List (2014)
** Books: Computer Science/Programming
*** DONE Revised^5 Report on the Algorithmic Language SchemeA
    - State "DONE"       [2014-01-07 Tue 04:59]
    - State "STARTED"    [2014-01-05 Sun 01:51]
Also known as R5RS, this document officially defines the R5 Scheme standard.
Read this before continuing with SICP in order to reset myself firmly back in
the language (as keeping the syntax for multiple Lisp variants sorted is hard
work).  I'll skip chapter 7 though, since there's little benefit to reading
pages of EBNF.

Notes:
- case statements can match against multiple datums per clause.
- let evaluates values before variables are bound.  let* evaluates and binds
  sequentially.  letrec can be used to define mutually recursive properties
  (e.g., defining 2 functions that call each other).
- begin in Scheme is the same as progn in CL and do in Clojure.
- do is an iteration construct:
  #+BEGIN_SRC scheme
  (let ((x '(1 2 3)))
    (do ((x x (cdr x))
         (sum 0 (+ sum (car x))))
        ((null? x) sum)))
  #+END_SRC
- let can also be used with different syntax, called a named let, for more
  general iteration.
- delay and force functions are used for creating and evaluating promises.
- quasiquote or ` is used for quoting out expressions that may contain
  comma-preceded expressions that are evaluated.  The results are inserted into
  the containing structure.
- let-syntax and letrec-syntax define macros.  syntax-rules defines macro
  transformers.
- ... in a formals list is equivalent to &rest in CL, with the exception that
  the variable the list is bound to precedes ....  I think this only works in
  syntax-rules blocks.  (Check this later, since the spec is unclear here).
- In order of discriminating level, from most to least, equivalence predicates
  are: eq?, eqv?, equal?.  See section 6.1 for full details.
- Use inexact->exact to get integers out of floats.  For example:
  (inexact->exact (round 1.8))
- The value nil doesn't exist in Scheme.  Also (car '()) errors, unlike in CL.
- Use set-car! and set-cdr! to mutate lists.  Many other mutation functions
  take this form.
- list-ref is the same as CL's nth, with the parameters reversed.
- substring, string->list, and list->string are convenient for string
  processing.  See 6.3.5 for the full function list.
- The best simple illustration of call-with-current-continuation I've found is:
  #+BEGIN_SRC scheme
  (define (f return)
    (return 2)
    3)
  ((lambda (x) (+ x 2)) (call-with-current-continuation f)) ; Returns 4.
  #+END_SRC

Worth reading if you're writing any Scheme and already have some knowledge of
Scheme or another Lisp variant.  It's written for language implementers, so it
won't tell you everything you need as a language user.  Also serves as a useful
reference to keep around (along with one for slib).
*** CANCELED Fortifying Macros (paper)
    - State "CANCELED"   from "TODO"       [2014-05-30 Fri 00:59]
This paper claims to address some of the problems with actual macro use in the
real world, namely clarity and robustness.
http://www.ccs.neu.edu/scheme/pubs/icfp10-cf.pdf

Canceling since it's Scheme-specific.  May reconsider if I ever wade deep
enough in the language.
*** CANCELED Beginning Game Development with Python and Pygame
    - State "CANCELED"   from "TODO"       [2014-05-30 Fri 01:10]
At the moment, I don't really have time to write games.  However, I'm thinking
that Python/Pygame may be a good thing to know to quickly prototype
experimental game concepts.

Notes:
- In a for..in loop that I don't want to actually reference the instance
  variable for, just use _, e.g. ~for _ in range(1..10):~.

Skipping due to deprecating my Python usage (which also has the nice side
effect of not having to maintain a duct taped Emacs setup for it) in favor of
Clojure.  Along those lines, I'm replacing Pygame with clj-play for simple game
development.
*** DONE The Descent into C
    - State "DONE"       from "STARTED"    [2014-06-17 Tue 13:29]
    - State "STARTED"    from "TODO"       [2014-06-17 Tue 09:59]
A C primer for higher-level programmers.  Recommended before reading K&R.
http://www.chiark.greenend.org.uk/~sgtatham/cdescent/

Already knew all of this, but this article is still a good refresher.
*** DONE Clojure for the Brave and True
    - State "DONE"       from "STARTED"    [2014-06-18 Wed 19:54]
    - State "STARTED"    from "TODO"       [2014-05-05 Mon 14:44]
This looks like a good intro to Clojure.  Should be both a good refresher for
me and fortify some parts of the language I'm still weak on.
http://www.braveclojure.com/

Notes:
- Multiple arity.  E.g., (def f ([x] (+ x 1)) ([x y] (+ x y)))
- Destructuring also works within parameter lists.
- Anonymous functions can take rest parameters.  E.g., #(identity %&)
- The into function is handy for converting sequence types, like converting
  lists into maps.
- Use ns-interns to get a map of symbols available in a namespace.  ns-map will
  give a full list of all available symbols.
- Destructuring works against map keys in parameter lists.  E.g., (defn f
  [{:keys [a b]}] (println a b))
- Unquote splicing with the read macro ~@ is an unquote that merges an
  expression list into the position where it's used.
- auto-gensym syntax can be used to condense gensym-ing.  E.g., ~(defmacro g []
  `(let [name# "sdf"] name#))~
- gensyms should be used for sending code blocks to macros so they only get
  evaluated once.
- When deref-ing futures with @, the results are cached and it's not
  reevaluated upon further derefs.  Check if one has been realized with the
  realized? function. You can also specify a time-limit on future execution
  when explicitly calling deref.
- alter-var-root can mutate a var, though this isn't recommended for normal
  use.  E.g., ~(def x 4) (alter-var-root #'x #(+ 1 %))~
- Use pmap for auto-threaded a map call.

This is a much better intro than I had imagined.  It's probably the current
best intro to the language.  Due to its length though, it's definitely
insufficient by itself.
*** DONE Programming Groovy 2: Dynamic Productivity for the Java Developer
    - State "DONE"       from "STARTED"    [2014-08-29 Fri 15:25]
    - State "STARTED"    from "TODO"       [2014-05-13 Tue 10:26]
The most recent Groovy e-book I could find that wasn't framework-specific.
Read chapters 1-6.

Notes:
- groovyc ignores @Override.
- Ranges implemented as 1..10.
- << appends to Collection types.
- Importing namespaces supports aliasing with the as keyword and static imports
  with static.
- Use the @Delegate directive for composing classes instead of inheritance.
- Whenever possible, use the @Immutable directive on classes.  This also
  auto-creates constructors where the parameters are in the same order as the
  fields.
- @Lazy can be used on class members to delay evaluation of them.
- @Singleton auto-implements the singleton pattern with getInstance() provided.
- Groovy's == -> Java's .equals(), Groovy's .is() -> Java's ==.
- Psuedo-tail recursion is possible using the trampoline() method.

Not too bad of a book, but nothing special.  Groovy, of course, isn't anything
special either.  I didn't finish the chapters I intended to read, but this is
pretty boring.  I'll lazy-load the rest.  Hopefully, I'll be able to safely
forget this entirely soon.
*** CANCELED Common Lisp: The Language, 2nd Ed.
    - State "CANCELED"   from "TODO"       [2014-10-01 Wed 14:32]
Read a little of this, and it's definitely a desk reference, not a book to sit
down and read.  However, I'll at least skim it, reading the documentation I
want to know more about, then save the rest for looking stuff up.

Canceling due to replacing CL with Clojure.
** Books: General Non-fiction
*** DONE The Particle at the End of the Universe
    - State "DONE"       from "STARTED"    [2014-03-29 Sat 12:03]
    - State "STARTED"    from "TODO"       [2014-03-10 Mon 03:01]
The Sean Carroll book on the Higgs boson.  Though a popular science book and
something I'd normally skip, this is significant enough to be worth getting
some better familiarity with.

Has a fair amount of superfluous personal narratives and simplified analogies
like most popular science writing, but also has some good hard info too.  It's
about as good as one can expect in the kind of physics books that avoid
inclusion of any math.
*** DONE Symbolics, Inc.: A Failure of Heterogeneous Engineering (paper)
    - State "DONE"       from "STARTED"    [2014-06-01 Sun 11:24]
    - State "STARTED"    from "TODO"       [2014-05-30 Fri 09:25]
Since I occasionally still encounter Genera, this may be historically
enlightening.  Seems to be an academic research paper, probably from the
perspective of some field of business.

Has some sloppy wording and misspellings.  Not that educational, but I did
learn a few things I didn't know.
*** DONE Fatal Vision
    - State "DONE"       from "STARTED"    [2014-09-12 Fri 09:54]
    - State "STARTED"    from "TODO"       [2014-09-03 Wed 10:44]
The definitive work on the Jeffrey MacDonald case.  Will give it a try, but
quit if it gets boring, since I already know most of the details about it.  At
the very least, I'll skim the legal procedural content.

Okay as documentation about the event in question, but a tiresome read in any
other context.  For me, a waste of time.  Read up to the final trial before
quitting.
*** DONE Security+ Study Guide 6th Ed.
    - State "DONE"       from "STARTED"    [2014-12-12 Fri 13:18]
    - State "STARTED"    from "TODO"       [2014-11-25 Tue 15:21]
Volunteered to do this for work.  Might learn a few things, but will
definitely learn a bunch of useless crap.

A miserable read.  Full of factual errors, errors by omission, and errors of
focus.  Contains obviously silly, unique concepts never referenced anywhere
else.  My first certificate book, and definitely my last.
** Books: Fiction
*** DONE The Invincible
    - State "DONE"       [2014-01-12 Sun 23:25]
    - State "STARTED"    [2014-01-03 Fri 02:20]
Another Lem novel, this time about nanotechnology and swarm intelligence.

Not bad, but short of being particularly good.  It does have a realistic take
on alien life, but loses points for being a bit cheesy in other areas.  An
overarching 60s-era "Amazing Stories" feel pervades every aspect of the novel.
*** DONE The Purple Cloud
    - State "DONE"       [2014-01-17 Fri 07:32]
    - State "STARTED"    [2014-01-13 Mon 04:19]
A supposedly great very early scifi novel of the "last man" variety, written
in 1901.
http://www.gutenberg.org/files/11229/11229-h/11229-h.htm

This has some high quality writing in select parts, but the overall chronicle
is rather meandering and were this a modern work, would be rather unimpressive.
It did keep me interested in what would happen next, yet upon finding out, I
was always disappointed.
*** DONE The Metamorphosis of the Prime Intellect
    - State "DONE"       [2014-01-18 Sat 21:29]
    - State "STARTED"    [2014-01-18 Sat 06:33]
An online novel about AI technological singularity.  Skipped this earlier due
to the sleeze, but I'll try to skim past it.

Good at a few select times, but hopelessly flawed everywhere else.
*** DONE Ventus
    - State "DONE"       from "STARTED"    [2014-02-17 Mon 03:03]
    - State "STARTED"    [2014-01-19 Sun 02:25]
A novel about AI and terraforming.  May include some fantasy elements, which if
excessive will result in an abort.  Needs to be pretty good for a full read, as
it's quite long.  http://www.kschroeder.com/archive/Ventus/

No particular part of this work in itself is all that great.  That leaves the
overall narrative, and here as well I'd have to say it's a bit lacking.
There's supposed to be an air of mystery and wonder around it all, but this
attempt seems to have failed.  Despite all of this, it's not a bad read, just
not one that kept me particularly interested and contained far too many generic
core elements.
*** DONE Light
    - State "DONE"       from "STARTED"    [2014-02-22 Sat 05:46]
    - State "STARTED"    from "TODO"       [2014-02-17 Mon 03:13]
A QM novel that might be okay, but also looks like it might suck.  Has space
opera elements, which usually means the latter.

All around garbage.  Quitting.
*** DONE Ted Chiang short stories
    - State "STARTED"    from "TODO"       [2014-03-29 Sat 15:00]
Reading the rest of the free Ted Chiang short stories.
http://www.freesfonline.de/authors/Ted_Chiang.html

- Story of Your Life: Pretty good.
- Exhalation: Great.
- The Lifecycle of Software Objects: Great, but should be a novel that doesn't
  end so soon.
- What's Expected of Us: Good idea for a story, but too short to explore it
  properly.
- The Truth of Fact, The Truth of Feeling: Yet another good idea, this time
  about memory prostheses.

Lots of great topics.  I still need to pick up some of Chiang's books.
*** CANCELED Ware Tetrology
    - State "CANCELED"   from "TODO"       [2014-04-01 Tue 03:00]
A series of 4 novels by Rudy Rucker, and the only ones that look promising.
Looks like it includes some okay concepts, but at least one boring one
(recreational drug use).  Will abort if loaded with too much transrealism.

- Software: Read a couple dozen pages before accepting that this is hopelessly
  terrible.  No redeeming qualities were noticed.
- Wetware:
- Freeware:
- Realware:
*** DONE When Sysadmins Ruled the Earth
    - State "DONE"       from "STARTED"    [2014-05-19 Mon 03:15]
    - State "STARTED"    from "TODO"       [2014-05-19 Mon 02:28]
A short story, available online.
http://craphound.com/overclocked/Cory_Doctorow_-_Overclocked_-_When_Sysadmins_Ruled_the_Earth.html

Mildly entertaining, but probably not worth the read.
*** DONE Orthogonal series
    - State "DONE"       from "STARTED"    [2014-05-24 Sat 06:36]
    - State "STARTED"    from "TODO"       [2014-04-16 Wed 08:47]
A new Greg Egan trilogy.  Takes place in a spacetime following the Riemannian
metric instead of Minkowski spacetime.

An introduction to the physics of the Orthogonal universe is here:
http://gregegan.customer.netspace.net.au/ORTHOGONAL/ORTHOGONAL.html

- The Clockwork Rocket: Pretty good.  While I appreciate all the hard work
  that obviously went into this, something still feels missing.  Maybe it's
  just the setting lacks some of the depth necessary to really get into it.
- The Eternal Flame: Weaker characters, but better hard sci-fi.  Otherwise,
  more of the same.
- The Arrows of Time: About the same as the previous book.

Overall, a good series with some worthy hard scifi in it.
*** DONE Tunnel in the Sky
    - State "DONE"       from "STARTED"    [2014-05-24 Sat 07:43]
    - State "STARTED"    from "TODO"       [2014-05-24 Sat 06:36]
A recommended Heinlein novel.

While mostly just a contrived setting for exploration of the concepts around
government, this isn't too bad.  Contains many elements that haven't aged well
and way too much cheesy dialog.
*** DONE Neverness
    - State "DONE"       from "STARTED"    [2014-07-12 Sat 11:35]
    - State "STARTED"    from "TODO"       [2014-07-02 Wed 19:37]
Recommended as a well-written hard scifi (math heavy) novel.  There's a trilogy
of sequel novels to this book as well.  I'm not too excited about it since it
includes some lame, overdone concepts.  For example, it has a quasi-religious
order evolving to control esoteric math/science.

Great writing and an example of effective, original world-building.  Manages
to avoid "too far in the future" syndrome.  However, I could've done without
the descriptive sex scenes and with less of the primitive culture stuff.  Will
give the sequel trilogy a try.
*** DONE A Requiem for Homo Sapiens
    - State "DONE"       from "STARTED"    [2014-08-11 Mon 23:20]
    - State "STARTED"    from "TODO"       [2014-07-12 Sat 11:35]
A 3 book trilogy sequel to Neverness.
- The Broken God: Same great writing, but the new main character is a bit too
  Messianic.  Along those lines, the majority of the content is about
  religion, which gets old quick.
- The Wild: Returns to much of the interesting hard scifi parts of Neverness,
  though still retains some of the character issues of the previous book.  My
  main complaint here is the book follows a repetitive, cyclic structure: The
  protagonist goes somewhere, we're shown how strange the place is, and then he
  passes some arbitrary tests.
- War in Heaven: Similar to the first in the trilogy.  Dozens of parallel
  plots all wrap up a bit too briefly and conveniently in somewhat-unrelated
  ways as well.

A good series.  Is at its best when doing math/scifi and at its weakest when
too deep in the religious stuff.  The philosophical musings, which make up the
majority of these books goes from enlightening to near-indecipherable
gibberish, but thankfully most is the former.  The main selling points here are
the top-quality writing, world-creation, epic scope, and immersion.
*** DONE Riptide
    - State "DONE"       from "STARTED"    [2014-08-20 Wed 03:57]
    - State "STARTED"    from "TODO"       [2014-08-12 Tue 08:04]
A fictional story closely modeled upon the real life Oak Island Money Pit.  Not
my normal fare, but I'll give it a try.

Only semi-okay.  At times one can read prose hinting at greater ability, but
the majority of this is pedestrian.  Though hard to tell for sure from one
book, the author might possibly benefit from being less prolific and
concentrating effort on fewer books.
*** DONE Under the Dome
    - State "DONE"       from "STARTED"    [2014-09-20 Sat 10:31]
    - State "STARTED"    from "TODO"       [2014-09-15 Mon 11:47]
Probably a cheesy pulp novel, but an interesting enough of a concept to be
worth a try.

Read a few chapters and couldn't help but notice that this is complete
twaddle.  Giving up.
*** DONE 1945
    - State "DONE"       from "STARTED"    [2014-10-05 Sun 03:32]
    - State "STARTED"    from "TODO"       [2014-09-21 Sun 00:20]
An alternative-history novel wherein the WWII Japanese surrender doesn't
happen.  Not my normal fare, but I'll give it a try.

Does an okay job sometimes, but this is a serious missed opportunity to detail
the strategy of a campaign on both sides as well as get creative with the story
on that level.  Instead, we spend a lot of time suffering the details of
individual participants from all levels.
*** DONE One Second After
    - State "DONE"       from "STARTED"    [2014-10-16 Thu 23:11]
    - State "STARTED"    from "TODO"       [2014-10-05 Sun 03:33]
A post-apocalyptic novel following an EMP attack.  Includes some non-fiction
regarding the subject matter.  Supposedly good, but in my experience such
novels often turn into soap operas.

Only average.  Filled with too much personal details that don't matter and not
enough actually interesting stuff.
*** DONE Engines of Light series
    - State "DONE"       from "STARTED"    [2014-12-10 Wed 02:51]
    - State "STARTED"    from "TODO"       [2014-10-19 Sun 21:59]
A contemporary scifi series by Ken MacLeod, author of The Cassini Division
(which was pretty good).  Since his previous works were sometimes worth reading
for the selected good parts, maybe these are okay.
- Cosmonaut Keep: Mainly just okay.  Never really breaks into good.  This book
  is sometimes considered a hard read, demanding much of the reader, but it
  didn't seem that way personally.  There's a fair amount of boring filler in
  it too.  Uses the annoying interleaving of chapters method, in this case
  between two time periods.  Too much cringe-worthy politics, as is typical for
  this author.
- Dark Light: Lots of annoying politics and filler.
- Engine City: A half-assed conclusion to the series, though in line with the
  quality of the rest of it.
** Technology and software
*** DONE Inkscape
    - State "DONE"       [2014-01-04 Sat 01:54]
    - State "STARTED"    [2014-01-03 Fri 23:40]
Do a crash course learning of Inkscape.  I just need to know enough to make an
official SVG version of a logo that I've already designed.

Inkscape isn't too bad of a program, but it has several non-intuitive aspects
and lacks important features.  While it's possible to get used to and work
around its quirks, for serious vector graphics work, it's no replacement for
Illustrator.
*** DONE flymake-cursor.el
    - State "DONE"       [2014-01-04 Sat 18:49]
    - State "STARTED"    [2014-01-04 Sat 18:13]
Solves a pretty serious flymake annoyance that I've occasionally hacked
workarounds for.
http://www.emacswiki.org/emacs/download/flymake-cursor.el

This works fine, leaving the only remaining flymake annoyance of no displayed
message in console mode when flymake fails to initialize.  In GUI mode, this
displays a GUI dialog (something that shouldn't even be possible in Emacs, in
my opinion).  Deprecated function bcm-flymake-display-err-minibuf and its key
binding to unused_init.el.
*** DONE deprecate moz.el
    - State "DONE"       [2014-01-04 Sat 20:15]
    - State "STARTED"    [2014-01-04 Sat 20:09]
Haven't used this in many, many years, and already commented it out on the
Conkeror side.

Archived moz.el and ~/.mozrepl.js and moved config to unused_init.el.  I still
recognize moz.el as particularly useful if writing complex JavaScript though,
so if I ever start doing that again, I'll re-enable it.
*** DONE fix egg Makefile
    - State "DONE"       [2014-01-04 Sat 20:24]
    - State "STARTED"    [2014-01-04 Sat 20:20]
This no longer byte-compiles on FreeBSD for some reason, and my .elc is out of
date.

Solved.  I forgot that FreeBSD's make was FreeBSD-specific.  Using gmake on it
works fine.  Byte-compiled everything else new while I was at it.
*** DONE markdown-mode
    - State "DONE"       [2014-01-07 Tue 09:26]
    - State "STARTED"    [2014-01-07 Tue 09:13]
Mostly due to GitHub, this is the new standard for README files.
http://www.emacswiki.org/emacs/MarkdownMode

Grabbing the git master version, since it's probably not complex enough to
require using stable.

This errors on font-lock-refresh-defaults, which isn't present in 23.x, however
since it is in 24, I'll just put up with that until then.  This mode does have
a lot of features for something as simple as markdown, but I mainly just wanted
it for the syntax-highlighting.  I'll lazy-load additional features as needed.

Also removed batch-mode, keywiz, and lambdacalc packages.
*** DONE rebuild workstation
    - State "DONE"       from "STARTED"    [2014-01-31 Fri 13:59]
    - State "STARTED"    from "TODO"       [2014-01-24 Fri 20:43]
While attempting to upgrade it, the workstation's hardware died.  Will build a
new FreeBSD workstation.  Fortunately, I had just backed everything up.

Ordered some parts off Newegg.  Will build the system around the new Intel NUC
DCCP847DYE platform.  This isn't a perfect setup, since it does have a fan.
However, if I can't underclock the CPU enough to keep it off at idle, I'll swap
the case out with a replacement made by Silverstone.  There's also a much nicer
and completely fanless solution for sale at Logic Supply, but it's considerably
more expensive.  I'm also wary about full hardware support in FreeBSD, but
according to a blog post, everything works, though the author is lax on details
and doesn't mention anything about Xorg.  If it all works out, be sure to
enable TRIM support (added in 9.x) for all filesystems and use a 2GB swapfile
called /usr/swap/swap instead of a partition (since it won't use TRIM).  See:
http://www.wonkity.com/~wblock/docs/html/ssd.html

Tasks:
- Receive new parts in two orders.
- Assemble parts.
- Flash BIOS.
- Read everything in the manual and tweak BIOS settings.
- Do a quick base install of FreeBSD to ensure everything works.  Generate
  some load to test fan settings.

Notes:
- The NUC uses F2 for the BIOS menu, F10 for the boot menu.
- Booting FreeBSD from the USB drive works, but fails to mount it later.  When
  it drops into the mountroot> prompt, just run =ufs:/dev/ad0=.  The install
  should proceed normally after that.
- The Celeron 847 uses an Intel HD 2000 GPU.

Great hardware.  Now only if the xf86-video-intel driver worked properly.
*** DONE Marmalade and package.el
    - State "DONE"       from "STARTED"    [2014-03-15 Sat 12:43]
    - State "STARTED"    from "TODO"       [2014-03-15 Sat 11:34]
Previously wanted to stay with all manual installs, but I'll try this for
keeping up to date with CIDER.  It seems most other Clojure programmers use
it.  Marmalade is just a server from which packages can be hosted.  Actual
installation is handled through package.el (previously ELPA).

Notes:
- Added package initialization code to ~/.emacs.
- To update package listings, run M-x package-refresh-contents.
- Added package install code for clojure-mode, clojure-test-mode, and cider.
- Had to remap align-regexp from C-x C-a to C-x M-a to avoid a conflict.
- Had to append package server with MELPA server to avoid a dependency
  conflict.
- Use M-x package-list-packages to display a complete list of everything
  current (fetching lists from servers).  Created a task to scan all of these.

Seems to work okay.  I'd still rather just manually manage these packages, so I
might redo this later.  This definitely saves some yak shaving, but the obvious
trade off is that when something goes wrong, the fix will be less obvious.
*** DONE CIDER
    - State "DONE"       from "STARTED"    [2014-03-15 Sat 12:45]
    - State "STARTED"    from "TODO"       [2014-03-15 Sat 11:54]
Additional Clojure features for Emacs, built on top of nREPL and replacing it.
https://github.com/clojure-emacs/cider

Installed with package.el.  See Marmalade entry for details.  Upgraded lein
while I was at it.

Keybindings are on the CIDER GitHub page.  A possible workflow:
- =lein new= a project.  Add a ~:repl-options {:init-ns user}~ entry in
  projects.clj.  Add a :dev profile with something like
  :resource-paths set to "dev" and :dependencies to
  org.clojure/tools.namespace and "0.2.5-SNAPSHOT".
- Create a dev/ directory with a user.clj.  This should reference
  clojure.tools.namespace.repl and the project's core.clj.
- Run =lein repl :headless= and connect with =cider=.  For non-project based
  development, use C-c M-j to launch the REPL.
- Use C-c C-e to evaluate changed functions.
- Use (refresh) from the namespace tools to reload all project changes.
- Use M-. to navigate to function definitions.  M-, returns to the pre-jump
  point.
- Use C-c C-s to jump to the source of a function, including in loaded libs.
- Use C-c C-z to jump to the REPL.
- Use C-c C-d to get function docs.
- Use C-c C-k to load the current buffer after making a lot of changes.
- See CIDER GitHub page for more commands.
*** DONE switch to GitHub version of SLIME
    - State "DONE"       from "STARTED"    [2014-03-15 Sat 13:00]
    - State "STARTED"    from "TODO"       [2014-03-15 Sat 12:57]
SLIME's official home is now on GitHub, which means one less thing I have to
use CVS for (in fact, I think this is the last thing).
https://github.com/slime/slime

Deprecated u_slime and u_slime-stable scripts to ~/var/elisp, just in case.
Currently this doesn't work, so I'll wait until post-upgrade and try again.  I
may have some outdated config though, so if the problem persists, I'll revert
to a barebones one first.

I still had problems with this post-upgrade, but after waiting awhile and
trying new pulls of it, it now works fine.  I'll definitely want to back up my
current version before pulling again.  Stability has always been a serious
problem with SLIME.

I also need to revisit some of my custom SLIME config, but I'm not currently
using it, so it's not a priority.  For example, the documentation lookups are
no longer properly color-coded.
*** DONE rewrite Emacs color-theme code
    - State "DONE"       from "STARTED"    [2014-03-15 Sat 14:22]
    - State "STARTED"    from "TODO"       [2014-03-15 Sat 14:07]
color-theme has been replaced in Emacs >24 with built-in deftheme
functionality.  Remove my external color-theme install and replace it with
something like:

#+BEGIN_SRC emacs-lisp
;; Where to find Emacs24 themes for M-x load-theme.
(when (>= emacs-major-version 24)
  (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
  (load-theme 'wombat-custom t nil))
#+END_SRC

Waiting until I upgrade FreeBSD, which is my last remaining 23.x install.

Struggled with this for awhile and couldn't figure out why my custom themes
wouldn't load.  Eventually, I figured out that the custom themes required a
naming convention ending in =-theme.el=.  Modified the new wombat-theme.el to
my preferred specs and put it in ~/.emacs.d/themes.
*** DONE Conkeror from source
    - State "DONE"       from "STARTED"    [2014-03-15 Sat 15:13]
    - State "STARTED"    from "TODO"       [2014-03-15 Sat 15:10]
The Conkeror developers suggest running it from source in a user directory as
it only has a small C core and is otherwise interpreted.  This is how I run it
on Windows, but I've previously only used it from ports on FreeBSD.

Once I do that, enable the NoScript and maybe Adblock+ plugins in
modules/extensions.

Notes:
- In ~/src/javascript, run =git clone git://repo.or.cz/conkeror.git=.
- Build conkeror-spawn-helper by running =make= in its root directory.
- Added a ~/bin/conkeror script.

I already did the above.  Unfortunately, I have a version of libxul (xulrunner)
that's too old for the latest Conkeror.  Will revisit this once I update
FreeBSD (since a newer version is now in ports).  At that time, run =git pull=
on the repo to grab the latest again and rebuild conkeror-spawn-helper.  While
I'm at it, read through everything on the Conkeror site and maximally customize
it.

Updated this on Windows.  A lot of function names have changed and my old RC
file won't work here.  Merge in the stuff on the Windows machine once I update
Conkeror on FreeBSD.  I'll probably wait a little longer though to see if a
bug involving download prompts is fixed.

Updating the source again and running from FreeBSD 10 with libxul 24.2.0 works
fine from what I can tell so far.
*** DONE fix emacs-w3m (again)
    - State "DONE"       from "STARTED"    [2014-03-20 Thu 13:27]
    - State "STARTED"    from "TODO"       [2014-03-20 Thu 12:25]
Once again w3m is broken in Emacs, this time on FreeBSD 10 under Emacs 24.3.1
and emacs-w3m 1.4.471.  I saw somewhere that upgrading to the current CVS
version of emacs-w3m solves the w3m-process-sentinel error I'm getting, so I'll
try that.  I checked the ports diff files and they're minimal enough to
convince me it should work fine.

This worked.  It required installing devel/cvs so I could grab the current
development branch.  I'll leave that installed, but not add it to the setup
document in hopes that I won't need to update it.  Now that this works, I'm
just going to leave it alone and hope it doesn't break again any time soon.
*** DONE deprecate agda-mode
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 00:58]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 00:57]
Not currently using this.  I would keep it active, but Agda is somewhat of a
pain to keep from breaking, so I'm going to ignore it until I actually start
using it.

Moved init code to unused_init.el.
*** DONE gnuplot-mode
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 01:02]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 00:55]
An improved version of this mode is now available.
https://raw.github.com/mkmcc/gnuplot-mode/master/gnuplot-mode.el

Doesn't work with <24 due to prog-mode not being defined yet.

Added this in Emacs 24.3.1 and it works great.
*** CANCELED w3m from el-get
    - State "CANCELED"   from "TODO"       [2014-03-21 Fri 01:03]
Supposedly this works better than the often-broken packages.  I'll only bother
with this if w3m is still messed up on Emacs in FreeBSD 10.0.

Using emacs-w3m from source negated the need for this.
*** DONE Bitbucket
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 01:19]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 01:05]
Create a private git repo here.  This will be more convenient than hosting it
locally.  I'll move my mvr project and personal site hosting here.  Do the
tutorial in case there's any important differences.

Seems to work fine.  Added public keys for macroexpand and cellblock.
*** DONE VCS personal site
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 01:52]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 01:18]
Clean up all of the junk lying around here, then make a project for this site
on Bitbucket.  Hopefully there's enough room available for hosting the
binaries.

Ended up excluding the snd/ directory to save space and increase cloning
speed.  I will leave the content online, just not hosted.  If I happen to lose
the directory, it can easily be replaced from my mp3 collection.  To do that,
I followed the GitHub best practices and registered a .gitignore file with it
like this:

git config --global core.excludesfile ~/.gitignore_global

This seems like it'll work great.  I feel better knowing it's VCS-ed too.
Also moved the origin of the mvr project over here.
*** DONE volatile-highlights.el
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 02:05]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 01:52]
Highlighting references to the symbol under the point is something currently
missing from my Emacs toolkit.  This package solves that.  Enable this in most
language modes.
http://www.emacswiki.org/emacs/download/volatile-highlights.el

So, this doesn't do what I thought it did.  It just highlights the affected
text during a yank, undo, or similar operations.  Still useful though, so
instead of just enabling it in certain language modes, I left it on everywhere.
*** DONE clean up Emacs Python setup
    - State "DONE"       from "TODO"       [2014-03-21 Fri 02:47]
Thanks to iPython's dependencies, need a new integrated interpreter here.

Will just go with the standard M-x run-python shell for now.  Removed
ipython.el and helm-ipython.  I considered keeping this enabled on GNU/Linux,
but I don't think it's worth the init bloat.  Also cleaned up some other stuff
while at it.
*** CANCELED Newcons
    - State "CANCELED"   from "STARTED"    [2014-03-21 Fri 03:08]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 02:50]
A new console driver for FreeBSD that supposedly fixes the issues with new
Intel GPU drivers being unable to return control to the console upon exiting X.
Build a kernel with nothing changed but this, and find out if it works.
https://wiki.freebsd.org/Newcons

This isn't yet in 10.0-REL.  Will have to wait until its available (probably
not until 10.1 at the earliest).  I guess I'll stick with VESA until then.
*** CANCELED iPython (revisited)
    - State "CANCELED"   from "TODO"       [2014-03-21 Fri 03:37]
As iPython is my second most used work REPL, it makes sense to know everything
there is about it.  Check out the %quickref listing and read the manual.

Also look into customizing ~/.ipython/ipy_user_conf.py,
e.g. ipy_greedycompleter.

Update: I may need an iPython replacement now, since they have included Qt
dependencies without the option to disable them.
*** CANCELED Emacs iPython notebook
    - State "CANCELED"   from "TODO"       [2014-03-21 Fri 03:37]
This looks potentially awesome and could replace my hacked together Python
integration with more functionality.

http://tkf.github.com/emacs-ipython-notebook/

Canceled due to new iPython Qt dependency.
*** DONE read all Conkeror docs
    - State "DONE"       from "STARTED"    [2014-03-21 Fri 07:08]
    - State "STARTED"    from "TODO"       [2014-03-21 Fri 05:02]
There's lots of new info on conkeror.org.  Read all of this and incorporate any
new ideas/features into my config file.  I'll also read the past month or two
of mailing list threads.  Wait until FreeBSD installation is redone first.

Notes:
- C-h b lists commands in a given context.
- C-u r reloads, bypassing cache.
- Use ]] and [[ to do a heuristic search and follow on next and previous pages.
- C-c C-c submits forms.  Useful on sites that have weird Web 2.0 forms
  without normal submit actions.
- There exists an Emacs minor-mode called conkeror-minor-mode that can send
  code to Conkeror.  I'm skipping it for now, since I don't hang out with my
  RC file too often.
- Removed my duplicate-buffer function, since it turns out you can do the same
  thing with C-u f 0.
- Within a download buffer:
  - d: Cancel.
  - p: Pause.
  - r: Retry.
  - x: Run or queue a shell command on the download.
- To edit textfield contents in Emacs, select the field and use C-i.  It'll
  gray out and open it and any existing content in a new Emacs buffer.  When
  done, use C-x # to send the content back.
- There's a new black tabs theme called "skorpan's black theme".  The
  Blackened theme still seems to work for me currently though, so I'll stick
  with that for now.
- Page modes exist for certain pages, like YouTube.  Not currently using any.
- I may want to block focus change via JavaScript.  There's two solutions to it
  on the Focus page.  I'll keep it in mind to see how much of an issue it is.
- Added key-kill, which solves a really annoying problem.  Will add tests as I
  find sites that do this.

Definitely was worth doing.
*** DONE upgrade FreeBSD to 10.0-REL
    - State "DONE"       from "STARTED"    [2014-03-27 Thu 21:17]
    - State "STARTED"    from "TODO"       [2014-01-25 Sat 23:26]
10.0 is scheduled for a 2014-01 release.  The goal is to standardize everything
on 10.0 and spare some burden of maintaining separate versions everywhere.
http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.0/

Tasks:
- Redo VM.  This worked fine, with a few minor issues related to the gcc->clang
  switch and the VMware tools not being available yet.  Used open-vm-tools,
  which surprisingly worked perfectly.  Detailed all other discovered changes
  to fbsd_setup.org.  Noticed a few new minor bugs, but nothing critical (so
  far).
- Redo workstation: This worked great with one major exception: the poor Xorg
  Intel driver support.  Newcons is supposed to fix the issues here, but I'll
  have to wait for at least the next major revision for it to be available.
  GENERIC kernel size = 20200376, CELLBLOCK size = 9930567.
- Redo VM again.  This is due to rsyncing everything off the old workstation to
  it, plus I installed the i386 version.  I may wait until VMware releases 10.0
  compatible tools.
- Wipe VPS and have 10.0 installed.  Be sure to mention expanding to the new
  mem/disk limit and ask for an amd64 install.  I think I just need to backup
  my ~/.irssi folder and the sisface user as everything else either exists
  elsewhere or is under VCS.  Not bothering with the other user data.

Come up with a new source upgrade workflow later.  Decided to skip the VM
update for now, since I don't really use it and can probably test any potential
new ports to use with what I have for the most part.  I do still want to do
this eventually though.
*** CANCELED write login script for dyn.com
    - State "CANCELED"   from "TODO"       [2014-04-08 Tue 20:40]
dyn.com is being homosexual and requiring free users to login manually every 30
days now.  Write a script using curl to do this and crontab it.

Something like this might work:
curl -X POST --data "username=YOURNAME&password=YOURPASSWORD" \
https://account.dyn.com/entrance/

This might not work since there's a captcha image on the login page now.

Update: On 2014-04-08, dyn.com announced they would cancel their free dynamic
hostname service in 30 days.  Will find a suitable replacement instead of
bothering with this as I definitely don't want another bill to keep track of.
*** CANCELED M101JS: MongoDB for Node.js Developers
    - State "CANCELED"   from "STARTED"    [2014-04-13 Sun 23:02]
    - State "STARTED"    from "TODO"       [2014-04-01 Tue 18:43]
An online course.  Will give it a try.  Start here:
https://university.mongodb.com/courses/10gen/M101JS/2014_March/courseware/Week_1_Introduction/

Notes:
- By default, MongoDB stores data in /data/db.  Specifying the --dbpath will
  change this.
- .pretty() can be attached to various JSON-returning functions like .find().
- npm installs everything locally on a per-project basis in a node_modules/
  directory.  It know how to read from a packages.json file that should define
  all dependencies for that project.  Just type =npm install= to run that.
- =forever= is a useful alternative to daemon.node.

Got too far behind due to other work stuff, so canceling.  This seemed to be a
good class though.  I might try to follow the next one since I'll have more
free time by then.  Replaced this with a more general MongoDB learning task.
*** CANCELED Stackless Python
    - State "CANCELED"   from "TODO"       [2014-05-01 Thu 10:00]
A version of Python, enhanced for thread-based programming.
http://www.stackless.com/

No longer using Python professionally, so I'll cancel this for now.
*** DONE upgrade WAP encryption
    - State "DONE"       from "STARTED"    [2014-05-01 Thu 10:00]
    - State "STARTED"    from "TODO"       [2014-05-01 Thu 9:59]
Upgraded to WPA2 Personal.
*** DONE Magit (revisited)
    - State "DONE"       from "STARTED"    [2014-05-06 Tue 01:13]
    - State "STARTED"    from "TODO"       [2014-04-16 Wed 10:50]
Seems like this is what most people are using for Emacs git integration, so
I'll give this another try before committing all git-related interactions to
memory in Egg.  This corresponds to the 'git mastery' task too.  Doing a
manual install.

https://github.com/magit/magit

Setup notes:
- git clone https://github.com/magit/git-modes.git
- git clone https://github.com/magit/magit.git
- In its directory, run: EFLAGS="-L ~/.emacs.d/git-modes" make lisp docs
- Add the following to the .emacs:
;; Magit
;; https://github.com/magit/magit
(require 'magit)

Usage notes:
- Manual is here: http://magit.github.io/master/magit.html
- magit-status: Same as git status.
- Everything else can be done from the git status buffer.  If in doubt,
  hitting ? will list available commands in a particular context.

Magit is a sizable improvement over Egg, particularly with its command
management, so I'm switching.  The only downside seems to be that pushing and
pulling doesn't recognize proxy settings.  I'll just do that from the CLI when
behind a proxy.

Had to install devel/magit from ports on FreeBSD due to encountering the same
compilation errors as before.  This seems to be an older version with poorer
documentation, but it still works fine.  In the future, I may try copying my
compiled directory from somewhere else.
*** DONE groovy-mode
    - State "DONE"       from "STARTED"    [2014-05-12 Mon 21:08]
    - State "STARTED"    from "TODO"       [2014-04-13 Sun 23:03]
Looks like there's only one option for this.
https://github.com/russel/Emacs-Groovy-Mode

Problems:
- Setup instructions are in inf-groovy.el.
- Throws an error upon first startup.
- Errors on unmatched delimiters.
- The integrated REPL seems hopelessly broken.

This mode is a mess.  Switched to the dumber version cited below.

This is the best I can do for now (on OSX, add a bunch of setenvs):
#+BEGIN_SRC emacs-lisp
;; groovy-mode
;; https://raw.githubusercontent.com/nealford/emacs/master/groovy-mode.el
(autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t)
(add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode))
(add-to-list 'auto-mode-alist '("\.gradle$" . groovy-mode))
(add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode))
(autoload 'groovy-mode "groovy-mode" "Groovy mode." t)
(defconst groovy-block-mid-re "Need something here or it blows up.")
;; Add auto-indenting on newline.
(add-hook 'groovy-mode-hook
          (lambda ()
            (local-set-key "\C-m" 'reindent-then-newline-and-indent)))
#+END_SRC

Also, edit function groovy-electric-brace to call last-command-event instead
of last-command-char.  last-command-char has been removed as of 24.3.
*** DONE write Emacs function to auto-reset CIDER
    - State "DONE"       from "STARTED"    [2014-05-15 Thu 22:38]
    - State "STARTED"    from "TODO"       [2014-05-15 Thu 13:35]
Write this helper function to send a clojure.tools.namespace.repl/refresh call
to the CIDER buffer and map it to a mode key chord.

This seems to work fine:
#+BEGIN_SRC emacs-lisp
(defun cider-reset ()
  "Sends (refresh) to the remote CIDER REPL buffer.  Only works
in M-x cider buffers connected to localhost."
  (interactive)
  (set-buffer "*cider-repl 127.0.0.1*")
  (goto-char (point-max))
  (insert "(refresh)")
  (cider-repl-return))
(define-key cider-mode-map "\C-c\C-o" 'cider-reset)
#+END_SRC
*** CANCELED Pygame
    - State "CANCELED"   from "TODO"       [2014-05-20 Tue 09:58]
Maybe write a couple small games, then a medium-sized one.  Don't waste any
more time than that on it though.  First, check out Pyglet to see if it's
better than Pygame in some way.  I also have a book on Pygame I might read.

Deprecating the use of Python for personal projects.
*** CANCELED Pyglet
    - State "CANCELED"   from "TODO"       [2014-05-20 Tue 09:58]
Cross-platform windowing and multimedia in Python.

Deprecating the use of Python for personal projects.
*** CANCELED Rabbyt
    - State "CANCELED"   from "TODO"       [2014-05-20 Tue 09:58]
A sprite library for Python.  Maybe use this with Pyglet.
Deprecating the use of Python for personal projects.
*** DONE scan managed Emacs packages
    - State "DONE"       from "STARTED"    [2014-05-21 Wed 09:09]
Run M-x package-list-packages and look through all of the available managed
packages.

Stuff to look at:
- https://github.com/lateau/charmap
- https://github.com/clojure-emacs/clojure-cheatsheet
- http://jaderholm.com/color-themes/color-theme-wombat+.el
- http://www.emacswiki.org/emacs/Elnode
- https://github.com/emacsmirror/heroku
- https://github.com/tarsius/hl-todo/blob/master/hl-todo.el
- https://github.com/tobiassvn/inf-mongo
- https://github.com/thomblake/js3-mode
- https://github.com/nicferrier/emacs-mongo-elnode-db
- https://github.com/hvesalai/scala-mode2
- https://github.com/kljohann/turnip.el
*** DONE kibit
    - State "DONE"       from "STARTED"    [2014-05-21 Wed 23:46]
    - State "STARTED"    from "TODO"       [2014-05-20 Tue 15:04]
kibit is a static code analyzer for Clojure.  kibit integrates into lein and
can be run inside of Emacs.  There's also a mode package for it, but it seems
unnecessary.  https://github.com/jonase/kibit

Created a ~/.lein/profiles.clj file with this:
#+BEGIN_SRC clojure
{:user {:plugins [[lein-kibit "0.0.8"]]}}
#+END_SRC

Added some semi-custom code to ~/.emacs.

Has some false positives, but overall is a great addition to the Clojure
development tool belt.
*** CANCELED Clojure koans
    - State "CANCELED"   from "STARTED"    [2014-05-21 Wed 14:57]
    - State "STARTED"    from "TODO"       [2014-05-21 Wed 12:56]
Do all of these.  It's generally recommended to do these before the 4clojure
problems, so they're probably much easier.
http://clojurekoans.com/

Did these for awhile, but they're too easy, so I'm skipping it.  The way =lein
koan run= auto-detects changes is pretty awesome though.
*** DONE cleanup l1j-en
    - State "DONE"       from "STARTED"    [2014-05-26 Mon 00:58]
    - State "STARTED"    from "TODO"       [2014-05-25 Sun 22:51]
I'm using r725 at home currently and it does have a few new bugs.  At least
diff this against my last check-in and review new code.  If I'm feeling
particularly brave, I can cleanup the newer revisions as well.

Looks like the newer revision isn't so bad, despite the number of checkins.
Fixed a few minor bugs and the dreaded LoS bug.  Still needs some minor work,
but I'll do that whenever I have a few spare hours.
*** DONE find dyn.com replacement
    - State "DONE"       from "STARTED"    [2014-06-01 Sun 12:47]
    - State "STARTED"    from "TODO"       [2014-05-05 Mon 15:48]
Find one compatible with ddclient.  Here's some options:
https://freedns.afraid.org/
https://ydns.eu/
http://duckdns.org/
https://www.noip.com/

afraid.org seems the most promising, so try that first.  Rewrite ddclient
setup to use whatever I go with.

Apparently, updating with ddclient updates all hosts registered with a user to
the specified IP address.  As a result, I'm just sticking with macroexpand.com
and muze.rootbsd.net mapped to the VPS and rcake.crabdance.com mapped to
home.  If I ever need to do multiple hosts, I'll just create another account.
Disabled ddclient on the VPS for now.
*** CANCELED VLM
    - State "CANCELED"   from "STARTED"    [2014-06-01 Sun 13:50]
    - State "STARTED"    from "TODO"       [2014-06-01 Sun 13:14]
Follow these instruction to get a Symbolics VLM on Linux:
http://www.cliki.net/VLM_on_Linux

There's also more useful info here:
http://www.advogato.org/person/johnw/diary/12.html

Notes:
- First ensure dependencies are available with (nfs-common = Debian's
  nfs-utils): sudo apt-get install nfs-common nfs-kernel-server xinetd
- Edit /etc/xinetd.d/time and enable the TCP version.
- Run =sudo /etc/init.d/xinetd restart=.
- Add the lispm user with =sudo adduser lispm=.  Then set his uid and gid to
  5000.

My torrent to obtain the Open Genera 2.0 Alpha source had been sitting for
awhile with 0 seeds, so I'm suspending this until I can get a copy, lest I
waste my time deciphering often-incorrect setup tasks.

UPDATE: Grabbed it.  Will restart this at some point.
*** DONE scan all Leiningen plugins
    - State "DONE"       from "STARTED"    [2014-06-01 Sun 14:03]
    - State "STARTED"    from "TODO"       [2014-05-28 Wed 11:03]
Only currently using kibit.  It's worth looking through the rest to see if
anything improves life.
https://github.com/technomancy/leiningen/wiki/plugins

Stuff to look into:
- lein-ancient: For scanning for outdated dependencies.
- lein-oneoff: For creating single-file programs.
- lein-dist: Creates a standalone tarball of source and dependencies.
  lein-tar is an alternative.

Probably won't use, but good to remember the existence of:
- lein-ubersource: For grabbing all the sources of dependencies.
- lein-daemon: Runs app as daemon.
- lein-heroku-deploy: Simplification of Heroku deployment.
- lein-ring: Automates ring-related tasks.

There's less useful stuff here than I'd hoped.  But, I'll check back again
later in a few years.
*** DONE upgrade elscreen
    - State "DONE"       from "STARTED"    [2014-06-01 Sun 14:49]
    - State "STARTED"    from "TODO"       [2014-06-01 Sun 13:49]
Switching to the package.el enabled version of this, which doesn't have the
apel dependency.  However, this won't work on <24.

https://raw.githubusercontent.com/shosti/elscreen/master/elscreen.el

Also deprecated elscreen-w3m.
*** DONE FreeBSD wireless networking
    - State "DONE"       from "STARTED"    [2014-06-07 Sat 13:18]
    - State "STARTED"    from "TODO"       [2014-06-07 Sat 10:37]
Come up with a workflow for detecting, enabling, and troubleshooting wireless
networking from FreeBSD laptops.

Notes:
- Full details: https://www.freebsd.org/doc/handbook/network-wireless.html
- Add entries for networks to /etc/wpa_supplicant.conf.  Use the priority
  setting if necessary to ensure the proper WLAN is used.
- On my current laptop, I have this in /etc/rc.conf for configuring the network
  on startup:
  wlans_ath0="wlan0"
  ifconfig_wlan0="WPA DHCP"
- Run =service netif restart= to either initiate the connection or restart it
  if it died.
- To scan for networks, use =sudo ifconfig wlan0 up scan=.  The =up= can be
  omitted if the device is already in that state.
*** CANCELED QuickLisp
    - State "CANCELED"   from "TODO"       [2014-06-09 Mon 17:14]
A library manager for CL.  Seems to be what everyone's using these days.

Canceling for now, due to mostly deprecating CL.  I'll keep this one in mind
though, since it'll be the first item on the list if I come back to it (even a
little).
*** DONE 4Clojure practice problems
    - State "DONE"       from "STARTED"    [2014-06-17 Tue 09:39]
    - State "STARTED"    from "TODO"       [2014-03-31 Mon 11:34]
Do some of these for practice.  Not bothering to make an account.  Will
probably stop somewhere in medium difficulty, since some of the later ones
require a ton of work.

Solutions checked into GitHub under practice/clojure/4clojure.clj.

Solved a lot of these.  Closing this task since my main goal was accomplished,
but I'll probably continue doing these occasionally.  The only real downside to
these problems is they're limited to single expressions and can't include
function or macro definitions.
*** DONE rainbow-delimiters
    - State "DONE"       from "STARTED"    [2014-06-20 Fri 22:14]
    - State "STARTED"    from "TODO"       [2014-06-20 Fri 22:00]
Give this a try to see if it makes visual paren-matching faster.
https://github.com/jlr/rainbow-delimiters

Doesn't help too much on my wombat-custom-theme, but seems still worth keeping
around for the unmatched paren highlights (which are quite noticeable).
*** DONE cider-nrepl
    - State "DONE"       from "STARTED"    [2014-07-08 Tue 14:51]
    - State "STARTED"    from "TODO"       [2014-07-08 Tue 14:39]
Middleware that can at least be used for embedding REPLs in one's application.
Might have other uses worth knowing about (supposedly it does).

Apart from the REPL-embedding, I can't see any good use for this library that
CIDER doesn't already provide.  Maybe look back into this if I can't get this
functionality in ClojureScript.
*** DONE FreeBSD process accounting
    - State "DONE"       from "STARTED"    [2014-07-08 Tue 15:25]
    - State "STARTED"    from "TODO"       [2014-07-08 Tue 15:22]
http://www.cyberciti.biz/tips/freebsd-process-accounting-tutorial.html

Definitely a must-have for multi-user systems, but since I'm not administrating
any, there's no need to enable this.  Revisit this if that ever is the case
though, since the lastcomm command offers tons of useful features.
*** DONE add function to format JSON
    - State "DONE"       from "STARTED"    [2014-07-15 Tue 01:11]
    - State "STARTED"    from "TODO"       [2014-07-15 Tue 01:08]
Add this to ~/.emacs.

#+BEGIN_SRC emacs-lisp
(defun bcm-json-format ()
  "Format a region of JSON."
  (interactive)
  (save-excursion
   (shell-command-on-region (mark) (point) "python -m json.tool" (buffer-name)
   t)))
#+END_SRC
*** DONE literate programming in org-mode
    - State "DONE"       from "STARTED"    [2014-07-15 Tue 01:36]
    - State "STARTED"    from "TODO"       [2014-07-15 Tue 01:21]
Learned at the Clojure meetup that it's possible to use C-c C-c to eval SRC
blocks in org-mode and direct output to the buffer based on some insertion
rule.  This could be useful for files containing solutions to exercises from
books and for documentation (GitHub natively supports org-mode file rendering).

Made a test file in practice/misc/github-test.org.  The results are such that
literate programming isn't really feasible (enough) for me to bother setting
up the necessary org-babel-execute hooks.  However, I may switch to using
org-mode instead of Markdown for GitHub-hosted projects.  I'll just have to
keep in mind the notes made therein.
*** DONE mintty
    - State "DONE"       from "STARTED"    [2014-07-15 Tue 02:40]
    - State "STARTED"    from "TODO"       [2014-07-15 Tue 02:24]
Supposedly an actually decent terminal emulator for Windows.
http://code.google.com/p/mintty/

Looks like I had already installed this when installing Cygwin.  Be sure to
always select this package in the future.

Changing the terminal settings can be done through the options menu accessible
by right-clicking on the window.  Consolas 12pt with a size of 102x60 seems to
work good for my monitor.

Works great and is actually a reasonably decent terminal.  There's really no
reason not to use this for all Windows-based terminal work from now on.
*** DONE ac-nrepl
    - State "DONE"       from "STARTED"    [2014-07-27 Sun 21:49]
    - State "STARTED"    from "TODO"       [2014-07-24 Thu 15:15]
company-mode is the method for in-buffer auto-completion suggested on the CIDER
GitHub page, but this seems simpler and provides the desired functionality.  If
I decide I want this feature in other languages later, I'll switch to
company-mode.

Works great.  Here's my config additions:
#+BEGIN_SRC emacs-lisp
;; ac-nrepl: In-buffer completion for Clojure projects.
;; https://github.com/clojure-emacs/ac-nrepl
(require 'ac-nrepl)
(defun clojure-auto-complete ()
  (interactive)
  (let ((ac-sources
          `(ac-source-nrepl-ns
            ac-source-nrepl-vars
            ac-source-nrepl-ns-classes
            ac-source-nrepl-all-classes
            ac-source-nrepl-java-methods
            ac-source-nrepl-static-methods
            ,@ac-sources)))
    (auto-complete)))
(defun bcm-clojure-hook ()
  (auto-complete-mode 1)
  (define-key clojure-mode-map
      (kbd "<backtab>") 'clojure-auto-complete))
(add-hook 'clojure-mode-hook 'bcm-clojure-hook)
#+END_SRC
*** DONE update EMMS to 4.0
    - State "DONE"       from "STARTED"    [2014-07-28 Mon 20:50]
    - State "STARTED"    from "TODO"       [2014-07-28 Mon 20:45]
Nothing too interesting for me was added.  However, this would also be a good
time to revisit all config settings.
*** DONE web-mode
    - State "DONE"       from "STARTED"    [2014-07-28 Mon 20:54]
    - State "STARTED"    from "TODO"       [2014-07-28 Mon 09:20]
A possible alternative to nxhtml-mode, which I could deprecate after setting
this up (along with MuMaMo).
https://github.com/fxbois/web-mode

Works great.  Deprecating the comparatively-clunky nXhtml.  Here's my setup:
#+BEGIN_SRC emacs-lisp
;; web-mode: An autonomous major-mode for editing web templates (HTML documents
;; embedding parts (CSS/JavaScript) and blocks (client/server side).
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.[gj]sp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-code-indent-offset 2)
#+END_SRC

Lots more customization options are available if I find myself annoyed with
something.  Also, be sure to byte-compile the web-mode.el with M-x
byte-compile-file.
*** DONE js2-mode
    - State "DONE"       from "STARTED"    [2014-07-28 Mon 21:09]
    - State "STARTED"    from "TODO"       [2014-07-28 Mon 15:54]
espresso is now js-mode, and is considered pretty bare-bones compared to
js2-mode.

Here's the config:
#+BEGIN_SRC emacs-lisp
;; js2-mode
;; https://github.com/mooz/js2-mode
(require 'js2-mode)
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
#+END_SRC

This includes on-the-fly syntax checking, but I still need to setup
jslint/jshint.  I'll do that separately though.  Deleting espresso.
*** DONE flymake-jshint
    - State "DONE"       from "STARTED"    [2014-07-28 Mon 21:27]
    - State "STARTED"    from "TODO"       [2014-07-28 Mon 16:15]
Switch to this from flymake-jslint, since this uses Node.js.

Setup:
- Install node.  Installing www/node and www/npm from ports.  Uninstalling
  lang/rhino.
- Run =npm install jshint=.
- Add ~/node_modules/.bin to $PATH.
- Create a ~/.jshintrc file from rules here: http://www.jshint.com/docs/
- Grab flymake-jshint.el from:
  https://raw.githubusercontent.com/daleharvey/jshint-mode/master/flymake-jshint.el
- Delete old flymake-jslint.el, flymake-jslint.elc, and jslint.js.
- M-x byte-compile-file flymake-jshint.el.
- Include the following code in ~/.emacs:
#+BEGIN_SRC emacs-lisp
;; flymake-jshint
;; https://github.com/daleharvey/jshint-mode/blob/master/flymake-jshint.el
(require 'flymake-jshint)
(add-hook 'js2-mode-hook (lambda () (flymake-jshint)))
#+END_SRC

Nope. This is better than jslint, I guess, since it uses a node.js backend.
However, I already found bugs in it from a quick test.  I'll be leaving it off
by default and just jshinting stuff from the CLI or turning it on briefly with
M-x flymake-mode.  I'm okay with mainly just using js2-mode for now, since it
seems to handle the essentials.
*** CANCELED SunVox
    - State "CANCELED"   from "TODO"       [2014-07-29 Tue 09:54]
A freeware sampler.

Going to give Overtone a serious effort first.  If that doesn't work out, I'll
go back to trying to find a collection of suitable non-programmable audio
applications.
*** CANCELED Blackthorn 3D
    - State "CANCELED"   from "TODO"       [2014-07-29 Tue 09:56]
A 3D game engine, entirely in CL, using cl-opengl with lispbuilder-sdl.  This
is worth checking out since if it's really complete, then I may actually use it
directly.  If not, maybe I can look at the code to see how SDL stuff was done.

https://elliottslaughter.com/2011/06/blackthorn-3d/

Deprecating all CL work in favor of Clojure.  This engine does look pretty
good though.
*** CANCELED graphviz-dot-mode
    - State "CANCELED"   from "TODO"       [2014-07-29 Tue 09:58]
http://users.skynet.be/ppareit/projects/graphviz-dot-mode/graphviz-dot-mode.html

Not using Graphviz enough to bother with this, at least for now.
*** DONE i915kms
    - State "DONE"       from "STARTED"    [2014-08-02 Sat 06:27]
    - State "STARTED"    from "TODO"       [2014-08-02 Sat 06:03]
Give this kernel module a try prior to loading the intel driver when running
startx.

This works and makes using X super fast.  It also greatly reduces X's CPU
usage.  The downside of not being able to return to the console is still
present, however.  I haven't tried this yet, but perhaps kldunload-ing the
driver might get it back.

Changed xorg.conf to use the intel driver.  To start X, run:
sudo kldload i915kms && startx
*** CANCELED fix FreeBSD screen blanking
    - State "CANCELED"   from "STARTED"    [2014-08-23 Sat 23:49]
    - State "STARTED"    from "TODO"       [2014-08-22 Fri 17:05]
In the current Xorg setup, when the xset timeout blanks the screen, it
disables the monitor connection such that the monitor stays on and displays
the no connection message.  It should put the monitor in sleep mode.

Enabled DPMS blanking, to no affect.
*** DONE Gnus (revisited)
    - State "DONE"       from "STARTED"    [2014-08-30 Sat 11:19]
    - State "STARTED"    from "TODO"       [2014-08-27 Wed 21:15]
Nothing is inherently wrong with Mutt, but it would be ideal if all
email-related interaction is fully embedded within Emacs.  I originally gave
Gnus a try back when starting with Emacs many years ago, but didn't have the
spare cycles to master it at the time, and Mutt was a good way to get up and
running quickly.  Set it up for Gmail and give it a try for awhile.  It seems
to me that for my light email usage, Gnus should be fine provided I can stand
its awkward key commands.

So, this works, but has some problems that I'm not really interested in putting
the time into to work around.  For example, I'd prefer just having the client
display all messages by default, as mutt does.  The command syntax isn't so
bad, but it'd be nicer were it more Emacs-like.  I'll stick with mutt, but I
may use Gnus again some day in the far future if I want to unify email and RSS
feeds in one place.  If the critical architecture change of providing
multi-threading support in Emacs comes about, it'll address another main
blocking point for Gnus.  This is the fact that Gnus blocks all usage while
performing network actions.  The same issue is a big blocker for RSS reader
integration.
*** DONE cider-nrepl (revisited)
    - State "DONE"       from "STARTED"    [2014-09-02 Tue 15:35]
    - State "STARTED"    from "TODO"       [2014-09-02 Tue 15:04]
The new version of CIDER (0.8.0-snapshot) requires a matching version of
cider-nrepl.  This is worth tracking, since it provides a bunch of REPL
functions used in the new CIDER.

Added [cider/cider-nrepl "0.8.0-SNAPSHOT"] to the plugins vector in
profiles.clj.
*** DONE ac-cider
    - State "DONE"       from "STARTED"    [2014-09-02 Tue 20:54]
    - State "STARTED"    from "TODO"       [2014-09-02 Tue 15:39]
ac-nrepl is deprecated.  This is the current AC package.
https://github.com/clojure-emacs/ac-cider

Keeping this installed from ELPA so it always matches CIDER.  Seems to work
fine, but could use some polish.
*** CANCELED ritz
    - State "CANCELED"   from "TODO"       [2014-09-02 Tue 21:07]
Adds debugging facilities to nREPL projects.
https://github.com/pallet/ritz

Update: ritz is no longer active.  See this blog post for details:
http://batsov.com/articles/2014/08/05/cider-0-dot-7/
*** DONE CIDER 0.8.0alpha
    - State "DONE"       from "STARTED"    [2014-09-02 Tue 21:27]
    - State "STARTED"    from "TODO"       [2014-09-02 Tue 11:21]
Upgraded from 0.5.0 to 0.8.0alpha and deprecated clojure-mode-test (now called
clojure-test and bundled with CIDER).

Notes:
- Documentation functions have changed.  Use C-c C-d C-d for normal cider-doc,
  C-c C-d C-g for cider-grimoire, and C-c C-d C-j for cider-javadoc.
- C-c C-d a will allow for cider-apropos searching.  C-c C-d A calls
  cider-apropos-documentation.
- cider-inspect has now been added, which is analogous to slime-inspector.  Use
  C-c M-i when the point is on an expression/value.  Use Tab to cycle object
  selection, Return to navigate into sub-objects, and l to go back to parent.
*** DONE paredit (revisited)
    - State "DONE"       from "STARTED"    [2014-09-10 Wed 19:27]
    - State "STARTED"    from "TODO"       [2014-09-09 Tue 11:44]
Give paredit another chance.  ac-cider seems to be written with the expectation
the user has it enabled.  Keep the cheat sheet handy
https://github.com/georgek/paredit-cheatsheet/blob/master/paredit-cheatsheet.pdf?raw=true

Notes:
- C-) and C-( forward/backward slurps.
- C-} and C-{ forward/backward barfs.
- Using M-; at EOL for inline comments will auto-block-align them.
- C-M-f and C-M-b are useful for navigating fowards/backwards through sexps at
  the current level.
- M-s splices sexps outward (useful for deleting extraneous parens).
- Normal paren deletion is still possible, but only from the point just after
  the open paren (or other paired characters) and when empty.  Use C-k to
  delete sexp contents first.

I've overcome my initial dislike of paredit.  It'll take awhile to get used to,
but it seems to start paying dividends quickly.
*** DONE learn Groovy
    - State "DONE"       from "STARTED"    [2014-10-07 Tue 15:23]
    - State "STARTED"    from "TODO"       [2014-05-13 Tue 15:55]
Superior to Java by far, but inferior to Clojure by an equal degree.  Wouldn't
bother with this language, except that the back end of a work project is
currently written in it, so it's worth learning for that reason.  Attain a
medium level of competency here.

Tasks:
- Read Groovy Wikipedia entry.
- Read Programming Groovy 2.
- Write a test project.

Complaints:
- The features gained by the dynamic typing here aren't worth the often
  rarely-used features gained.  Defaulting to static but implicit typing, with
  facilities to disable it, would retain the best of both worlds.
- There are many, many gotchas that can result in hard to find bugs.
- Metaclassing has weird behavior in certain contexts, like with complex class
  hierarchies.
- It doesn't address many of Java's shortcomings and, like other JVM languages,
  gets all of the JVM's baggage.  Ruby is a far nicer implementation of these
  ideas.
- Some of the syntactic sugar is poorly conceived, like being able to call
  closure-accepting functions with fname(1) { ... }.  Visually, this is
  indistinguishable from a function definition, except for a single keyword.

I think I know enough of this to get by.  I'm still weak on function
vocabulary, metaclassing, and other "advanced" features, but the likelihood of
needing them is low and they're generally inferior to analogous features in
real FPLs.

Update: A plan is in place to completely deprecate the language at work and
replace it with Clojure, so I'm calling this task complete.  Once the
conversion is complete, I'll remove groovy-mode from Emacs as well and reclaim
any wasted brain space.
*** CANCELED learn Gradle
    - State "CANCELED"   from "TODO"       [2014-10-07 Tue 15:24]
Gradle is definitely better than Maven, but lacks a lot of the nice features of
it (or Leiningen).  However, it's used as the main build script for one of the
work projects, so it's worth knowing about.  Reading the user guide should be
enough: http://www.gradle.org/docs/current/userguide/userguide_single.html

I might be able to get away without learning this if I put it off long enough
to fully switch everything over the Leiningen.  Hence, I'll delay this as long
as possible.

Update: A plan is in place for replacing the only place Gradle is used at work
with Leiningen.  So, I'll never have to use this.
*** DONE Ring
    - State "DONE"       from "STARTED"    [2014-10-10 Fri 09:14]
    - State "STARTED"    from "TODO"       [2014-10-09 Thu 09:30]
From the docs: "Ring is a low-level interface and library for building web
applications".  Compojure uses Ring, so it's probably smart to start here and
build outwards if I expect to have any deep-level understanding of what's
going on behind the scenes.  I'll save the deep-dive effort for Compojure.

Tasks:
- [X] Read the docs: https://github.com/ring-clojure/ring/wiki
- [X] Make a test site.  Added test project with notes to
  practice/clojure/ring-test.

It's not inconceivable that I'd want to use Ring by itself.  If REST is used
though, definitely go with Compojure.
*** DONE Compojure
    - State "DONE"       from "STARTED"    [2014-10-14 Tue 09:43]
    - State "STARTED"    from "TODO"       [2014-10-10 Fri 09:14]
A routing library for Ring.  The two combined make for the most commonly used
Clojure web stack.

Tasks:
- [X] Read the docs: https://github.com/weavejester/compojure/wiki
- [X] Make a test site.  Added test project with notes to
  practice/clojure/compojure-test.

Compojure is pretty straight-forward and there's not as much to it as there is
to Ring.
*** DONE lib-noir
    - State "DONE"       from "STARTED"    [2014-10-14 Tue 10:17]
    - State "STARTED"    from "TODO"       [2014-10-14 Tue 09:44]
This might be superior to using Compojure directly.
https://github.com/noir-clojure/lib-noir

Looks like it might be useful for at least session-management.  Has some other
maybe-interesting features, but I can't tell from just the API docs.
*** DONE create Ring/Compojure architecture template
    - State "DONE"       from "STARTED"    [2014-10-25 Sat 04:04]
    - State "STARTED"    from "TODO"       [2014-10-14 Tue 14:19]
Given what I know about Ring, Compojure, and the other web-related packages,
create a scalable architecture for a secure, single-page, REST-heavy site.

Created a project on GitHub called site-template.  Since proprietary code was
starting to be added, ceased public development.  Now consider this a work
task.
*** DONE further ZSH tweaking
    - State "DONE"       from "STARTED"    [2014-10-27 Mon 16:23]
    - State "STARTED"    from "TODO"       [2014-10-27 Mon 16:09]
These are the last things I know about to further optimize ZSH for my usage
patterns, short of properly learning ZSH script (which I'd really like to not
do, as it's a completely uninteresting language).
- Read everything here: http://grml.org/zsh/zsh-lovers.html
- Go through the source of every theme and plugin in oh-my-zsh to see if there
  anything else that improves the quality of my life.

A waste of time.  Only added a =NUL= alias -g.  I'm now not going to bother
getting any more fluent at ZSH.  I may revisit the code I yanked from
oh-my-zsh several years from now though.
*** DONE Bower
    - State "DONE"       from "STARTED"    [2014-10-27 Mon 16:34]
    - State "STARTED"    from "TODO"       [2014-10-27 Mon 16:26]
A package manager for web-based front-ends.  Just read the website on this:
http://bower.io/

Notes:
- Installed via npm.
- Can install registered packages, via URLs, or a GitHub project (e.g. =bower
  install bm3719/some-js-project=).
- Bower package repo: http://bower.io/search

That's about all I need to know.  This is the best way to manage a
JavaScript-heavy front-end.  I'll use it should such a situation arise.
*** CANCELED Nightmod
    - State "CANCELED"   from "TODO"       [2014-11-21 Fri 19:57]
A project used in conjunction with play-clj sometimes.  https://nightmod.net/

Cool project, but it built around a non-Emacs editor.
** Work-related topics
*** DONE design new logo
    - State "DONE"       [2014-01-04 Sat 03:19]
    - State "STARTED"    [2014-01-03 Fri 22:42]
The current logo lacks the appeal and iconography of the best corporate logos
out there.  I'm convinced I can come up with something at least almost as
compelling as the best marketing droids out there.

Logo requirements are:
- Flat: It should be 2D, without even any simulated 3D.
- Simple: Successful logos have few colors and are easy to recognize.
- Lisp-inspired: It could perhaps incorporate something like a lambda or an
  s-exp.
- SVG: The official version will be an SVG file that can then be exported to
  other formats.

Came up with a new logo that satisfies all these criteria.
*** DONE update favicon
    - State "DONE"       [2014-01-04 Sat 03:38]
    - State "STARTED"    [2014-01-04 Sat 03:16]
The HTML 4.01 and XHTML 1.0 standard now includes support for PNG favicons.
Defining favicons per-page is the preferred method.  Update all pages and
templates to include this.

Added a 32x32 PNG of the official ME logo.  Also replaced the existing root
level favicon.ico file for user pages that don't include the appropriate
favicon tag.
*** DONE scan FSP job market
    - State "DONE"       from "STARTED"    [2014-03-22 Sat 15:15]
    - State "STARTED"    from "TODO"       [2014-02-06 Wed 11:00]
For a long list of reasons, I'm going to do a scan of this sector to see if I
can get a decent job for awhile, probably at least a year or two.  This time,
I'm attempting to be more picky, and ensure that I don't end up in some
life-sucking enterprise salt mine.

I've created a dedicated org-mode document for this search, job_search.org.
Some general observations:
- I2S, a Langley initiative, is a vast meat market of contracting companies.  I
  can't imagine that good teams come out of this process.  Despite it being a
  massive timesink, I'm going ahead with a couple firms to at least give it a
  try for a round or two.  I'm probably setting myself up to be miserable
  though.  I guess in the worst-case scenario, I can always just put up with
  it for awhile to not suffer a net loss from the exercise and quit.
- Like with searching on the regular open job market, you get a lot of
  time-wasting recruiters.  This isn't nearly as bad, much pruning is still
  necessary.
- Upon posting to clearancejobs.com, a flood of contacts will come in through
  the first 3 weeks or so, then they'll slowly trail off.  Be sure to mark
  profile as inactive when done.

Found what seems to be an excellent non-i2S job.  Closed clearancejobs.com
profile so I can stop getting spammed.  Will create a self-education task of
everything I need to brush up on.
*** DONE Linux Mint 17 MATE VM
    - State "DONE"       from "STARTED"    [2014-10-25 Sat 03:33]
    - State "STARTED"    from "TODO"       [2014-09-13 Sat 11:37]
Was going to create a Debian 7.6 VM, but its Emacs version is too old for my
needs.  Decided to try Linux Mint instead, since it has a MATE-based distro.
This will replace my Debian 7.1 VM.

Tasks:
- [X] Install Linux Mint 17 MATE.
- [X] Setup Emacs for at least Clojure development.
- [X] Create a backup of the baseline VM.
- [X] Look around old Debian VM filesystem to make sure nothing important is
  there.
- [ ] Look into Xmonad integration with MATE.

Seems okay and doesn't have any major annoyances.  Probably my biggest problem
with MATE is the uninspired launcher menu design, but I won't be using it that
much anyway.

Notes:
- Decrease swappiness: Edit /etc/sysctl.conf and add =vm.swappiness=10= at the
  bottom.
- Remove mono-runtime-common: This will also remove some useless desktop apps.
- Turn off Java in LibreOffice: Writer -> Tools -> Options -> Advanced,
  uncheck Java.
- Disable some startup applications: Go to Preferences -> Startup Applications
  and disable unused stuff.
- Install dconf-editor: This provides a GUI for editing the window manager,
  among other things.
- Xmonad: Install xmonad and dmenu.
  - Open dconf-editor and change
    /org/mate/desktop/session/required-components/windowmanager from =marco= to
  =xmonad=.
  - Ensure /usr/share/applications/xmonad.desktop exists.
  - Ensure /usr/share/xsessions/xmonad.desktop exists.

Update: Can't seem to get Xmonad integration working properly.  It loads, but
has some weird rendering issues and hides the menubar.  May revisit this again
later.
*** DONE Security+ certification
    - State "DONE"       from "STARTED"    [2014-12-29 Mon 13:32]
    - State "STARTED"    from "TODO"       [2014-12-01 Mon 11:09]
Reluctantly volunteered for this useless cert, which apparently the government
loves now.  Load all this info into brain from the book.

Tasks:
- [X] Find a recent electronic copy of the Security+ book and read it.  Take
  notes.
- [X] Try watching one or more of the video lecture series on the topic.
  Tried this for awhile, but was too boring to watch.
- [X] Do a week-long full review of notes.
- [X] Take every practice test I can find.
- [X] Take and pass test.

Be able to get a perfect or close to it on this practice test:
http://studymaster.org/securityplus_test.php
Also do all of these:
http://www.examcompass.com/comptia/security-plus-certification/free-security-plus-practice-tests

Notes are in practice/misc/security.org.

A terrible experience in all ways.  Complaints:
- A good chunk of questions on the test have no relation to stuff in the
  book.  I hypothesize that it's not possible to get over a low-800s score
  without an external knowledge source.
- The cert is only good for 3 years.  Getting on just gets you on an expensive
  and time-consuming treadmill, making it possibly of net-negative value.
- The material covers some outdated technologies.  The pace of updates is far
  slower than that which industry moves.
- There exists material, at least in the book, which are factually incorrect.
- The testing software sucks.
- The book sucks.
- The cert system has been gamed by various 3rd party services that hand out
  answers to the questions, for a price.
** Games to play
*** DONE UO Forever
    - State "DONE"       from "STARTED"    [2014-01-26 Sun 16:17]
    - State "STARTED"    [2014-01-18 Sat 06:06]
One of the most popular UO PSes.  Will mostly just AFK-play this.

If I stick with it, I may switch to In Por Ylem, which reopens on 2014-01-31.
This PS also runs UO Zombies, which looks like some minor fun too.

Macroed up some GM levels, but then didn't feel like actually playing.
*** DONE Jagged Alliance 2: Urban Chaos 1.13
    - State "DONE"       from "STARTED"    [2014-01-31 Fri 17:06]
    - State "STARTED"    from "TODO"       [2014-01-27 Mon 23:53]
The most promising-looking total mod for JA2.  Might skip this though, since
I'm pretty JA2-ed out.  This uses a newer version of 1.13 and AFS.

Notes:
- Use cleaning kits with C-..

Though the production values are spotty, this seemed good enough to be worth
playing, and the new 1.13+AFS is excellent.  Unfortunately, there are critical,
game-breaking bugs in the last "official" version of the mod, and my game got
stuck, unable to take sector B2 and I'm quitting as a result.
*** DONE Idle Farmer
    - State "DONE"       from "STARTED"    [2014-02-06 Thu 13:29]
    - State "STARTED"    from "TODO"       [2014-01-29 Wed 18:27]
A Flash game that can be "played" almost entirely AFK, which is one of my
favorite design concepts.  http://www.freewebarcade.com/game/idle-farmer/

Not that good. Apart from being in Flash, this game has some issues:
- Needs balancing work, particularly with skill upgrade scaling.
- Game lasts about as long as it should, but there just isn't much content
  along the way.
- The difference between manual and wife egg collecting is too large.
*** DONE DotA 2
    - State "DONE"       from "STARTED"    [2014-03-09 Sun 03:48]
    - State "STARTED"    from "TODO"       [2014-02-10 Mon 01:26]
Former war friend wanted me to play this with him.  I'll give it a try.

Seems like it might be okay, but not for me.  Will keep it around for awhile,
but probably uninstall soon.
*** DONE Candy Box
    - State "DONE"       from "STARTED"    [2014-05-05 Mon 15:33]
    - State "STARTED"    from "TODO"       [2014-04-28 Mon 13:01]
Spoken highly of by coworkers:
http://candies.aniwey.net/

Interesting concept for a game.  Still got bored though.  Might continue it,
but probably not since I'm at the point where I have to manually craft stuff.
Save game name: fsadk
*** DONE Jagged Alliance 2: Deidranna Lives! 1.13
    - State "DONE"       from "STARTED"    [2014-05-29 Thu 23:50]
    - State "STARTED"    from "TODO"       [2014-02-01 Sat 22:14]
The last of the decent-looking mods for JA2.  I suspect this is more likely to
work properly due to it just being a semi-mod of normal JA2 1.13.

Notes:
- Place and flag a mine in front of the alarm button in sectors with mines,
  else the enemy or the militia is likely to push it and destroy the mine.
- Copy the contents of Data-AFS\TableData\Inventory (extract AFS separately if
  necessary) into Data-DL113\TableData\Inventory.  Without this, enemies use
  way fewer items.
- There's a particularly nasty bug in 1.13 6232 that causes sector inventory
  items to disappear.  C5 has this problem.  It's usually obvious when there's
  3-9x scopes and bipods in sector but inaccessible.  Supposedly, it's fixed
  in 6242.
- Crashes tend to happen when managing large quantities of stuff.  Save often
  and in many backup slots.
- Don't use C-LMB to move stuff into vehicle inventory.  Stuff disappears when
  it overflows a stack.

Not really much better than vanilla JA2 1.13, but it is nice to have some
slightly modified maps.  I'm not really crazy about the forced sneaking on the
mine sectors though.  Overall, Arulco Revisited is better, but it'd be hard to
go back to not using AFS.

Got bored collecting stuff, so I'm calling JA2 done -- at least for now, as I
may want to revisit it again many years from now once more 1.13+AFS progress
has been made.
*** CANCELED Oolite
    - State "CANCELED"   from "TODO"       [2014-07-06 Sun 00:58]
A modern, open source version of Elite, that seems to do a pretty good job of
recreating the core Elite experience.  However, it's very no-frills and plays
pretty rough.  The Linux version doesn't run properly on my netbook's GPU, so
it's installed on Windows.  There's a ton of addons for this game, but I'll
start with just the default game at first, mainly because it's unlikely I'll
stick with it (X3:AP has everything here and way more, after all).

Notes:
- Decent models: http://wiki.alioth.net/index.php/Griff_Industries
- Background images: http://wiki.alioth.net/index.php/BGS

Skipping, due to giving it a quick try with disappointing results.
*** DONE Cataclysm: Dark Days Ahead
    - State "DONE"       from "STARTED"    [2014-07-27 Sun 20:46]
    - State "STARTED"    from "TODO"       [2014-07-17 Thu 09:31]
This roguelike has a lot of elements I've wanted to put in a game, at least as
far as character detail is concerned.  http://en.cataclysmdda.com/

Try this tileset, which hopefully works with 0.A:
http://smf.cataclysmdda.com/index.php?topic=5746.msg99090#msg99090
If not, this one should be the most complete:
http://smf.cataclysmdda.com/index.php?topic=5482.0

Try compiling on FreeBSD, using the Ubuntu instructions here:
http://www.wiki.cataclysmdda.com/index.php?title=How_to_compile

Great game.  Has a lot of great world generation and config options to craft
the desired game experience.  I'll be adding this one to my regular games
list.  Be sure to check back on it in a few years, since new stuff is being
added all the time.

One major gripe though is the bugs.  After spending a solid week building up a
great character, a game crash managed to delete him completely.  I'll be
taking a break from the game for awhile as a result and try back later.
*** DONE Defiance
    - State "DONE"       from "STARTED"    [2014-08-15 Fri 09:25]
    - State "STARTED"    from "TODO"       [2014-08-09 Sat 09:55]
Yet another junk shooter MMO.  This will be my crap game for the year.  Will
froob it up for a few hours then quit, as usual.

About as theme park MMO as possible and generally a complete mess.  However,
it is quite appropriate for the show it's tied into (and not in a good way).
*** CANCELED Battletech: The Frontier Lands
    - State "CANCELED"   from "TODO"       [2014-08-24 Sun 16:35]
A free, real-time MUX based on the Battletech board game.

http://frontiermux.com/

The Java client doesn't run properly, at least on GNU/Linux in xmonad.
There's another client, but it's in Qt, so I guess I'll skip this.
** Computer science/programming goals
*** CANCELED Python game programming
    - State "CANCELED"   from "TODO"       [2014-05-20 Tue 10:00]
I figure Python is a good half-way point between practicality and the languages
I really prefer.  Since I already know Python very well, it's just a matter of
learning the things needed to make games.
- Figure out self-contained deployment of Python apps and settle on libraries
  for package management.
- Finish reading Beginning game development with Python and Pygame.
- Read the Pyglet and Rabbyt docs.
- Make an actual game with either Pygame or Pyglet+Rabbyt.
- Investigate 3D programming with Python.

By now I should have game development here down to a science.  Maybe make my
own game framework to make this easier in the future.

Will replace this with Clojure.  Though less suitable for games, I think the
dividends paid from using it instead will be greater in the long run.
** General life goals
*** DONE Invisalign braces
    - State "DONE"       from "STARTED"    [2014-01-26 Sun 15:49]
    - State "STARTED"    [2013-02-11 Mon 12:47]
I'd probably be okay with the current positions of my teeth, but having them
all perfectly aligned would be great.  Using this to clean out my HSA.  I'll
also stick around work a little longer than I otherwise would to offset the
cost here.

This is a good product/service (so far).  It has some serious downsides though:
- Very expensive.
- Inconvenient in restaurants.  Carrying around a case sucks.
- Adds several minutes of extra hygiene work every day.
- Having molds made, teeth resized, and buttons installed sucks a lot.
- Quite uncomfortable at first.  Mine have annoying edges.  The annoyance here
  goes away after a week or so though and wearing it is no problem after that.
- Takes a long time, in my case about a year.
- Even when done, requires wearing an object to bed occasionally to ensure the
  new placement holds.

I think this is worth the cost, provided you've got many decades of life left.
The process also results in a lower propensity for cavities, depending on
starting position.  This especially sucked for me financially though, since it
turns out my dental insurance didn't cover the $1.5k I thought it would.

Finished the active phase of this.  Remaining is a regiment of:
- 3 months active wear.
- 3 months part-time wear + nightly.
- 6 months nightly.
- Forever part-time nightly.

I'm happy with the results, but given the downsides, it's probably only a
minor net benefit, mostly conditional one's marginal utility of the price.
*** DONE ultimate computing setup
    - State "DONE"       from "STARTED"    [2014-04-16 Wed 08:50]
    - State "STARTED"    [2013-01-25 Fri 01:33]
At some point in the not to distant future, I'd like to update my personal
computing resources.  Some of this I can do any time, but for the gaming/VM
rig, I want to wait until I'll have all my free time to maximally use it.  So,
until I retire from employment or am close to it, my current hardware there is
fine.

Development workstation:
- Back up everything to a FreeBSD VM.
- Get a new, similar SSD for this machine. 30GB is still fine.
- Install FreeBSD 10.0.  Do this on a VM first.
- Update my install checklist.
- Move all old data over.

Gaming/VM rig:
- Get a super fast SSD.
- New motherboard, 16GB RAM, CPU, heat sink, PWS, and fans.
- Get a 2nd-tier video card.  Try to keep it under $300.
- Setup VMs for FreeBSD, Debian, and MINIX in VMware Player
  - FreeBSD: This is a copy of my dev setup and package update testbed.  Make
    backups of clean install and last deployed.  The only difference here will
    be the hardware.
  - Debian: This will be my dependency-fest VM for things I don't want crapping
    up my dev box.  Make backups of a base package setup.  There's no need to
    setup all my dev software here.
  - MINIX: This is just for using while reading Modern Operating Systems.  Try
    to get the source code on the same VM.  Make a backup of it in that state.
- This should run Windows 7 Home Premium x64 as I no longer need a server OS.
- For software, just setup Emacs (+Aspell, Aspell-en), l1j-en dev software
  (Eclipse, TourtiseSVN, Navicat), a few stock utilities (7zip, VLC, WinMerge,
  Foobar2000, FLAC, Putty/WinSCP), Conkeror, and whatever games I'm currently
  playing.  Lazy-load everything else.

Mobile setup:
- Choose a mid-range netbook.
- If I cannot put FreeBSD on it, install Debian.  Record whatever I do to get
  everything working on it, since I'll probably want to redo it occasionally.
- Find one with an Atheros wifi chipset and Intel integrated graphics.
- Ideally, this would have an accessible HD bay so I can put an SSD in (since
  no netbooks seem to come with them these days).

Server:
- Backup everything on muze to cellblock, including databases.
- Just have RootBSD do an upgrade, so I can use the HD/RAM upgrades.
- Move everything back over and update ports.  Make sure this as closely
  matches what's on cellblock as possible (but with no X apps).

This will give me the minimal amount of computing coverage I think I'm
comfortable with.  Normally, only the netbook and dev workstation will be on
all the time, keeping power usage to a minimum.  Making heavier use of VMs will
prevent me from messing anything up too.

Some decisions, mostly as a result of other events (like me decided to leave
work a little sooner than planned):
- Decided to start this mid 2013 instead of around 9 months later.
- Decided to skip the mobile setup for now.  I may still do this later if it
  turns out I'm suffering with my messed up netbook, since that will be my only
  mobile computing platform.  Alternatively, I may go for a compact 12".  Not
  sure yet.
- Had to redo the workstation hardware.

The end result here is close, but not quite the ultimate setup I had in mind.
I'll at least need to replace some workstation hardware with fanless stuff to
qualify for that label.
*** DONE replace netbook
    - State "DONE"       from "STARTED"    [2014-06-07 Sat 15:41]
    - State "STARTED"    from "TODO"       [2014-06-05 Thu 21:09]
Ordering an Acer Aspire V5-131-2887.  Will first try putting one of my spare
30GB SATA2 SSDs in it.  I want to consider getting an Intel Centrino WLAN card
instead of the built-in Atheros.  Will first try getting it working with
FreeBSD, then Debian most likely.

Some guy posted these hardware specs:
CPU: Intel(R) Celeron(R) CPU 847 @ 1.10GHz, with 2048 KB L2 cache
Graphics: Intel “Sandy Bridge” 800MHz clock, 2 MB L3 cache
NIC: Broadcom NetLink BCM57785 Gigabit
WLAN: Qualcomm Atheros AR9462
SDXC: Broadcom BCM7765/57785 SDXC/MMC
Sound: Intel 7/C210 series HDA
Touchpad: ETPS/2 Elantech (Synaptics compatible)

Notes:
- Replaced the HDD with a spare 30GB SSD.
- The touchpad sucks and as usual, my hand keeps bumping into it.  However,
  Fn-F7 can be used as a toggle to disable/enable it.
- Fn-F6 toggles the screen backlight.

This worked about as good as can be expected, with FreeBSD running great.
Remaining things to look into:
- Check if SD cards work.
- Get the vendor screen dimming working.
- Build a custom kernel.
- Go through old netbook and check for any unique user data.
*** DONE quit smoking
    - State "DONE"       from "STARTED"    [2014-06-17 Tue 13:30]
    - State "STARTED"    [2012-10-16 Tue 23:11]
My final significant vice.  I'm waiting until I hit my target weight first, but
once that's done, the time to do this has arrived.  Doing this has many obvious
benefits, not the least of which is the $6 I'll save not buying every pack of
cigarettes.  This will save around $1200/yr.  That's money I definitely can't
afford to waste the rest of my life (not to mention the whole getting lung
cancer part).

One reason I've been hesitant to do this is nicotine has some very positive
mental effects for me.  Without it, I'm much more sleepy and tired.  This
shouldn't be an issue post-employment.

Decided to get a Halo G6 e-cigarette with the Torque56 fluid on "high" nicotine
dosage.  This seems to be doing the trick so far, though I estimate my total
nicotine intake is about half and it's therefore like half-quitting as far as
discomfort goes.  But, I won't consider this task complete until I can live
without even that, since it still costs money (though much less).  Plus, I'm
not sure the e-fluid goop is all that healthy of a thing to be inhaling.

Closing this since I probably will stick with e-cigarettes for awhile.  I'll
make a new one for quitting that later.
** Macro-goals
*** DONE year-end review for 2014
    - State "DONE"       from "STARTED"    [2015-01-07 Wed 10:32]
    - State "STARTED"    from "TODO"       [2015-01-07 Wed 9:12]
Switched plans to getting paid to master Clojure.  In the future, I may employ
the same plan with Haskell.  This is probably the only condition after this
that I'd accept a job though.  This is highly unlikely, however, given the
volume of those.

Note: Changing the format of these to be summary/comments, goals set at the
beginning of the year, and end-year observations.  Goals for next year will be
listed in next year's review task.

Goals:
- Make large pile of cash learning Clojure.
- Use cash to increase passive income.
- "Finish" server emulator project.
- Start at least one game project in play-clj.

Observations for 2014:
- Some vacillation due to external circumstances, but I suppose I pathed
  optimally given that.
- Server emulator mostly polished, or at least it's good enough that I can just
  touch up things here and there occasionally and have it be less of a
  timesink.
- Didn't get around to any new game creation.
- Wasted a lot of time scanning job market, ramping up for new job, and
  working.  The trade-off was the massive amount of paid Clojure bootstrapping.
  Overall, worth the cost so far.
- Increased financial independence buffer amount.
- Could've gotten more permanent benefit stuff done.  I think this was due to
  less daily todo list checking.  Will address this next year.
- Will need a more comprehensive goal list for next year, to make sure I'm
  making proper macro-level progress.


* Project List (2013)
** Books: Computer Science/Programming
*** DONE Let Over Lambda
    - State "DONE"       [2013-01-01 Tue 22:06]
    - State "STARTED"    [2012-07-18 Wed 08:15]
An advanced topics Lisp book, mostly about macros and closures.  I was going to
put this off until the end of my Lisp self-education, but it was the best
portable hard copy book I had lying around, so I was reading it on the Metro
since I had a commute for awhile.

Gets into a lot more advanced detail than is useful for me at the moment, like
low level optimizations.  If I come back to writing CL regularly, I'll reread
this.  This did give me a few new macro usage ideas and I'll probably use the
custom hygienic macro definition macro.
*** DONE Idiomatic Expressions in C (paper)
    - State "DONE"       [2013-01-11 Fri 02:06]
    - State "STARTED"    [2013-01-11 Fri 01:24]
Knowing common C idioms is useful for reading others' code and improving my
own.

Useful info.  Turns out I didn't know most of these.  Will need to keep these
in mind, particularly the malloc/sizeof assignment and struct initialization
idioms.
*** DONE Pregel: A System for Large-Scale Graph Processing (paper)
    - State "DONE"       [2013-01-12 Sat 11:26]
    - State "STARTED"    [2013-01-12 Sat 01:19]
I may have some ideas about graph algorithms applied to distributed computing,
which is a large part of my job.  Pregel established the base concepts used in
Apache Hama and the now defunct GoldenOrb (replaced by Giraph).

This isn't that complicated.  Figure 2 pretty much illustrates how an algorithm
would execute.  Also to keep in mind are aggregators and topology mutation.
*** DONE How to Think Like a Computer Scientist: Learning With Python
    - State "DONE"       [2013-01-12 Sat 12:55]
    - State "STARTED"    [2013-01-12 Sat 10:50]
Was hoping this could be a refresher of some basics and a good chance to make
sure I've internalized everything.  However, I read some of this and it's
pretty lame.  The CS here is minimal and it's mainly a Python tutorial.

http://openbookproject.net/thinkcs/python/english2e/

Plowed through this pretty quick and ignored the GASP library stuff.  Not
bothering to do the exercises since they're all pretty trivial.  I'm also not
crazy about the random mashing of CS and SE concepts.

I did learn a couple things:
- ~[0] * 4~ initializes a list of zeros of length 4.
- ~[1, 2] * 2~ evaluates to [1, 2, 1, 2].
*** DONE Fast unfolding of communities in large networks (paper)
    - State "DONE"       [2013-01-24 Thu 10:58]
    - State "STARTED"    [2013-01-24 Thu 10:03]
Work-related reading as a prerequisite to implementing the Louvain algorithm on
Giraph.  Hopefully will provide some context on community detection in general
too.  http://arxiv.org/abs/0803.0476

Not too complicated on its surface.  Doing this in Giraph might be a challenge
though, since it's not immediately obvious to me how this algorithm would
decompose/map into Giraph tasks (or whatever they're called).  I'm also not
sure what's meant here by the "modularity" of nodes in communities.
*** DONE Yet Another Haskell Tutorial
    - State "DONE"       [2013-04-05 Fri 10:02]
    - State "STARTED"    [2012-01-04 Wed 12:26]
Already did the exercises for a lot of this, but it was years ago, so starting
over.  This is really a good tutorial (with a few minor exceptions).

Since a lot of content is still missing from this (looks like it's not done
yet), I'll have to supplement this with some other Haskell text afterwards, but
that was my plan anyway.  There's some things I'm not sure about though, like
the CPS style is wrong, I think.  Code in practice/haskell/yaht.

I'm skipping the final chapter, but I may come back and do it later.
*** DONE Dremel: Interactive Analysis of Web-Scale Datasets (paper)
    - State "DONE"       [2013-04-08 Mon 10:47]
    - State "STARTED"    [2013-04-05 Fri 14:47]
Probably the next step (or maybe fad) post-MR.
http://research.google.com/pubs/pub36632.html

Notes:
- Dremel uses a columnar data model.  Records are either atomic values or
  records that contain some number of required or optional fields.  Some fields
  can be repeated, meaning they can many entries.
- A dotted notation is used for references records/fields.
- Repetition levels are necessary to disambiguate columns.  They are indexed by
  "at what repeated field in the field's path the value has repeated."  NULLs
  are inserted when a repeated field doesn't include another field that
  contains the same required field.  The definition levels inform how many
  potentially undefined fields in that path are actually defined.  A bit
  confusing, but can be worked out with some effort, though in practice it
  requires extra info.
- The efficiency is gained in the fact that record assembly only occurs upon
  needed fields.  These are reconstructed using FSMs.

Columnar data models seem to have a serious downside in visually inspecting
what you actually have in your data.  Algorithms like those provided in the
appendices are needed to do anything in such a system.  This complexity can be
outweighed in performance, particularly in sparse datasets with lots of fields.
*** CANCELED Programming in Scala
    - State "CANCELED"   [2013-05-02 Thu 14:06]
Chose this as my primary Scala text, mostly because it's written by the
language designers.

Was going to read this for work, but since I resigned, I'll be skipping Scala.
From what I've learned about it so far, it's an okay language, but lacks the
elegance of Clojure.  Of course, I'd still rather write in Scala than Java.
*** CANCELED Cascalog for the Impatient
    - State "CANCELED"   [2013-05-02 Thu 14:08]
Not done yet.  Check back in a couple weeks.
https://github.com/Quantisan/Impatient/

Resigning my job means I no longer need this.
*** CANCELED Computer Science from the Bottom Up
    - State "CANCELED"   [2013-07-27 Sat 18:17]
    - State "STARTED"    [2013-07-15 Mon 12:03]
An online textbook.  Doesn't look that great, but should be a quick read.
http://www.bottomupcs.com/

Read a few chapters before realizing this is crap.
*** DONE What Every Computer Scientist Should Know About Floating-Point Arithmetic (paper)
    - State "DONE"       [2013-11-22 Fri 23:55]
    - State "STARTED"    [2013-11-21 Thu 23:29]
From a summary: "Explains overflow, underflow, what denormalized numbers are,
what NaNs are, what inf is, and all the things these imply.  After reading this
paper, you'll know why a == a + 1.0 can be true, why a==a can be false, why
running your code on two different machines can give you two different answers,
why summing numbers in a different order can give you an order of magnitude
difference and all the wacky stuff that happens in the world of mapping an
uncountably infinite set of numbers onto a countably finite set."
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Notes:
- The IEEE floating-point standards provides algorithms for basic math
  operations with answers that implementations are required to match.  If
  designing systems, it'd be a good idea to check against them.
- 0.1 base 10 cannot be exactly stored in base 2 (1.10011001... * 2^-4).
- Various methods for rewriting algorithms exist to accommodate rounding
  errors.  An example is given here.
- The IEEE floating-point standards are IEEE 754 for binary and IEEE 854 for
  base 2 and 10.
- Base 2 implementations benefit from tighter error analyses, as base is a
  factor in relative error.
- NaN is represented by floating-point numbers with exponent max(e) + 1 and
  nonzero significands, zero by exponent min(e) - 1 and zero significand.

Practically, the issues here are indeed things a programmer or computer
scientist should always be keeping in mind, as floating-point computation can
introduce small "relative errors" that cascade to "catastrophic" value errors.
For language design, obviously try to meet the IEEE standards (probably not a
problem if there's a standard host language).
** Books: Math
*** CANCELED The R Book
    - State "CANCELED"   [2013-05-02 Thu 14:10]
Read enough of this to at least get competent in the R language.  Will skip
this if I don't get to it by retirement.

This was a work-related reading task.  I don't intend to actually use R on my
own, as there's really very little about it that appeals to me.
*** CANCELED Introductory Statistics with R
    - State "CANCELED"   [2013-05-02 Thu 14:10]
Was going to read separate books on statistics and R, but this combines the two
conveniently.
*** CANCELED Detection of Abrupt Changes: Theory and Application
    - State "CANCELED"   [2013-05-02 Thu 14:10]
It's possible I might want to revisit this concept later for one of my startup
ideas.  Until then, canceling.
*** CANCELED Hierarchical Edge Bundles (paper)
    - State "CANCELED"   [2013-05-02 Thu 14:11]
http://www.win.tue.nl/~dholten/papers/bundles_infovis.pdf
** Books: General Non-fiction
*** DONE A Brief History of Tape (paper)
    - State "DONE"       [2013-01-13 Sun 02:51]
    - State "STARTED"    [2013-01-13 Sun 02:40]
A white paper by Exabyte on tape storage.

Mostly just an advertisement and therefore useless.
*** DONE BMP4
    - State "DONE"       [2013-01-28 Mon 02:20]
    - State "STARTED"    [2013-01-28 Mon 01:47]
Full title: BMP4: Best Management Practices for Protection against Somalia
Based Piracy.  Might get some ideas from this for games or maybe at least be
mildly entertained.

Not really much here.  However, pirate operations similar to this would be
better in space games than the way they currently are, though I think the idea
is a bit overused.
*** DONE Lyman Reloading Handbook (44th Ed.)
    - State "DONE"       [2013-02-18 Mon 16:07]
    - State "STARTED"    [2013-02-18 Mon 13:00]
I'm considering getting into handloading as a hobby once I move out of DC.  The
main reason is to be able to use some esoteric cartridges, as there are few
good off the shelf rifle-like cartridges optimized for short barrels.  It also
looks like it might be fun.  However, I'm a bit put off by how much stuff I'd
have to own to do this.  So, I haven't decided yet, but reading the informative
(non-chart data) chapters of this should give me an insight into the effort
involved and is just good info to know.  If I do decide to get into this, get
an updated version of this book.

An okay read, but actually didn't learn much since I'm somewhat familiar with
the basics.  This copy is very old, so it doesn't even include most of the
newer cartridges I'd be interested in.
*** DONE North Korea's Military Threat
    - State "DONE"       [2013-03-11 Mon 02:06]
    - State "STARTED"    [2013-03-08 Fri 23:20]
A lengthy report by the US Army's Strategic Studies Institute.  Written around
the time I was tracking this stuff at work, but since it's mostly about
conventional forces, not much is likely to have changed since then.

About as informative as possible on this topic and somewhat educational.
*** DONE Technological Slavery: The Road to Revolution
    - State "DONE"       [2013-03-14 Thu 00:56]
    - State "STARTED"    [2013-03-06 Wed 18:11]
A collection of writings by Ted Kaczynksi, including an update to Industrial
Society and its Future.

There's only a few other interesting post-manifesto points in here.  Kaczynksi
also seems to repeat himself often and engage in a lot of rather uninteresting
rambling.  A lot of this reads like an internal dialog within the
anarcho-primitivism movement, which of course isn't something I care about.
Overall, I'm unimpressed and more convinced than ever that my counter-arguments
to anarcho-primitivism are correct.
*** DONE How to Live on Twenty-Four Hours a Day
    - State "DONE"       [2013-03-21 Thu 23:06]
    - State "STARTED"    [2013-03-18 Mon 10:23]
An essay from 1910 on how to best use your time.

http://www.gutenberg.org/files/2274/2274-h/2274-h.htm

Also read some of the cited works, like Hazlitt's "On Poetry in General".

There's some good content here and I seem to have independently discovered most
of these ideas.  Some notes:
- I've lately started to feel more in agreement with something pointed out here
  about fiction: "[...] the reason is that bad novels ought not to be read, and
  that good novels never demand any appreciable mental application on the part
  of the reader."
- I'm not sure I agree with his later assertion about there being a mental
  benefit to reading classic literature that is difficult to parse or is
  written in verse.  If I'm going to really struggle reading, I'd rather it be
  to learn something useful.  However, I've queued his main suggestion of
  reading Aurora Leigh in an attempt to find out for sure.  I suspect this
  would be more true for one developing reading skills.
- I like his idea about training your brain to focus better by forcing it to
  stay on topic for set periods of time.  My approach here has been to remove
  distractions, but this could be a useful method when that's not possible.
- Includes a reminder that quantity of books read is unimportant.  He suggests
  45 min of reflection for every 90 min of reading, which I think is a bit
  too much on average.
*** CANCELED The Road to Reality
    - State "CANCELED"   [2013-04-05 Fri 14:23]
    - State "STARTED"    [2013-03-27 Wed 12:38]
A Roger Penrose book that presents the fundamental laws of the universe, with
much mathematical information intact.  I'm mainly interested in this for the
first section, which is intended to get the reader at least acquainted enough
with the relevant math to understand the physics, but I'll read the rest of it
too (minus the stuff on twistor theory, which I already read about in The
Emporer's New Mind and am at least tentatively dismissing).

This book doesn't meet its stated goal of being for intelligent
non-professionals.  Even being a layman of somewhat above average mathematical
skill, I found much of this impenetrable.  While this has helped identify some
shortcomings, a better approach could have managed the state of the reader's
learning as well.  I would've gladly exchanged scope for a more carefully built
foundation.  I'm stopping a few chapters in and will revisit this later once
I've done more remedial work on my own, as plowing ahead with it in confusion
isn't an optimal use of energy.
*** DONE FreeBSD 9.1 Handbook
    - State "DONE"       [2013-04-05 Fri 14:26]
    - State "STARTED"    [2013-01-28 Mon 11:02]
I've read older versions of this, but want to read the current version since
I'm upgrading to 9.1 and want to use the current best sysadmin practices.

Notes:
- chflags can do things like set a flag on a file such that it cannot be
  deleted.  This might have its uses, but I'm a bit wary of having to manage
  extra metadata on files.
- Consider different settings for various filesystems.  For example, I might
  want /home to be nosuid.  noexec could also be useful (like for /tmp or
  /var).  Full options are in mount(8).

Most of this is the same, but a lot of sysadmin stuff has been improved.
Created separate tasks for the replacement utilities and documented stuff in my
9.1 setup document.  Read most of this, but skipped much of the stuff I don't
use, since the main point of this task is now achieved.
*** DONE Winchester, VA City Code
    - State "DONE"       [2013-07-31 Wed 03:30]
    - State "STARTED"    [2013-07-29 Mon 13:31]
Read the city code document available on the city government site.  Will skip
some of the parts that don't apply to me, since it's pretty long.

Property tax in the surrounding Frederick county is 0.51%, versus the
Winchester rate of 0.95%.

This is less offensive of a city code than other places I've lived, but it's
still beyond my tolerance level.  I definitely won't be buying any property
within city limits, at least to actually live in, mainly due to the standard
assortment of required responsibilities (lawn care, snow removal, taxes).
However, there are some very minor benefits offered by the city for registered
technology businesses that may be worth exploring if the occasion arises.
*** DONE Arrest-Proof Yourself
    - State "DONE"       [2013-08-25 Sun 15:13]
    - State "STARTED"    [2013-08-24 Sat 13:39]
A popular guide on how to avoid police-related legal problems.  Doesn't look
like great literature, but could have useful information.

Has some off-topic politicking, but also some pragmatic info too.  Worth
reading, I'd say.
*** DONE Arthur Schopenhauer: Essays and Aphorisms
    - State "DONE"       [2013-09-03 Tue 14:00]
    - State "STARTED"    [2013-08-18 Sun 16:29]
Doesn't look promising, but I promised I'd give it a chance.

There's a few okay essays in here, but I've read better ones on every topic
covered.  Those closer to erudite philosophy are often nonsensical
navel-gazing.
*** CANCELED Essays of Michel de Montaigne
    - State "CANCELED"   [2013-11-20 Wed 21:50]
Essays about the nature of man.  Supposedly one of the more significant
humanist works.  Considered reading this for awhile, hesitating mainly due to
Montaigne's Catholicism.  I'm only tentatively forgiving it due to him being
from the 16th century.

Read enough to know that reading even a subset of these would be a waste of
time.  Instead, I read a summary of highlights, confirming my findings that
these are just a collection of opinion pieces with not particularly interesting
conclusions.
** Books: Fiction
*** DONE Zen and the Art of Motorcycle Maintenance
    - State "DONE"       [2013-01-01 Tue 23:00]
    - State "STARTED"    [2013-01-01 Tue 11:30]
I'd long been aware of this popular philosophy book, but decided to pass on it
until recommended enthusiastically by a coworker.

Quitting this about a third in.  There's some serious problems here:
- The existence of infinite hypotheses doesn't imply the scientific method is
  flawed.  It just means we need external criteria for prioritizing them.  This
  already happens.
- This book is part autobiography, and a very boring one at that.  Maybe this
  is okay to help a general audience relate, but I'd rather just read the main
  point, which I later did on Wikipedia.
- Like a typical philosophic tract, this is full of unreasoned assertions.
- Lots of Eastern mysticism nonsense.
- The underlying model of "metaphysics of Quality" is stupid.  Reading it
  without its verbal fluff on Wikipedia illustrates this clearly.

This isn't all bad, but the okay parts are mostly just self-help and
observations on human behavior.
*** DONE The Wreck of the Rivers of Stars
    - State "DONE"       [2013-02-28 Thu 21:41]
    - State "STARTED"    [2013-02-01 Fri 11:49]
Another Michael Flynn hard scifi novel.

This is more of a character study -- something I've never seen a good example
of.  The scifi elements here are okay, but are too sparse to maintain my
interest.  Quit about 12% in and just read the ending, which wasn't that great
either.
*** DONE In the Country of the Blind
    - State "DONE"       [2013-03-21 Thu 00:42]
    - State "STARTED"    [2013-02-28 Thu 21:45]
Another Michael Flynn novel.

There's some decent writing here, but it's interspersed between two types of
really crappy writing.  One is predictable, trope-fest action scenes.  The
other is just mindless filler about mundane things that have no relation to the
story (likely backfilled in to pad the length).  Also, despite being well
researched in some areas, really dumb errors are made in others (e.g.,
revolvers don't have safeties).  I'd have preferred a little more believable
fictitious math too, as what's here isn't convincing.
*** DONE The Boat of a Million Years
    - State "DONE"       [2013-03-24 Sun 17:00]
    - State "STARTED"    [2013-03-21 Thu 23:08]
The only other Poul Anderson book which looks interesting.

I'd divide this book into two parts.  One is the past, which is very well
researched and believable.  After an awkward segue into the future, it turns
into a just standard hard scifi read.  This was still okay, but nothing
special and could have benefited from more work.
*** DONE Yellow Blue Tibia
    - State "DONE"       [2013-03-26 Tue 01:38]
    - State "STARTED"    [2013-03-25 Mon 01:45]
A unique concept for an invasion novel.

Great setup in the first half, but somewhat loses it after that.  A worthy
read, but short of great.
*** DONE Wil McCarthy short stories
    - State "DONE"       [2013-04-01 Mon 10:43]
    - State "STARTED"    [2013-03-31 Sun 23:25]
A hard scifi novelist recommended by /r/printSF.  I had already tried reading
Bloom long ago though, and didn't like it.
- Boundary Condition: Okay.
- How the Bald Apes Saved Mass Crossing: Entertaining.
- Garbage Day: Not bad, but it seems the Queendom of Sol setting this takes
  place in may only be interesting for character development and such.  I'll
  probably pass on it as a result.
- Heisenberg Elementary: Meh.
- The Technetium Rush: Crap.

I'll probably try one or two of his longer novels.  He's capable of good
writing but occasionally chooses topics poorly, it seems.
*** DONE Wake
    - State "DONE"       [2013-04-05 Fri 02:18]
    - State "STARTED"    [2013-04-04 Thu 13:35]
A Robert Sawyer novel about an internet sentience.  Has some potentially dumb
story features.

Apparently the author is confused about what the difference is between the web
and the internet. Not a bad concept but ineptly executed.  Will skip the rest
of this trilogy and all other works by this author (who apparently can't keep
his novels from turning into leftist political screeds).
*** DONE Blood Music
    - State "DONE"       [2013-04-09 Tue 14:15]
    - State "STARTED"    [2013-04-08 Mon 23:05]
Another nanotechnology scifi novel by the hit-or-miss Greg Bear.  Hopefully
another good exploration of the potential for technology to change just about
everything (though in this case, it's supposedly apocalyptic).  Bear's few
excellent works have been good enough for me to at least try anything that
sounds promising of his.

An excellent novel in almost every way.  A thoroughly original concept (or at
least unique to me) and well-researched enough to be educational too.  I'd say
its only minor weakness is including the concept of observation creating
reality at the macro scale.
*** DONE Ken Liu short stories
    - State "DONE"       [2013-04-11 Thu 15:41]
    - State "STARTED"    [2013-04-09 Tue 14:52]
A former programmer that occasionally includes programming topics in his
works.  http://kenliu.name/stories/

Read all the free ones.  Most were either just okay or crap, but these were
quite good:
- The mMod
- The Perfect Match
- The Paper Menagerie

Looking forward to what else is forthcoming here, so I'll check back again in a
few years and catch up on anything new.
*** DONE The Waste Land
    - State "DONE"       [2013-04-17 Wed 15:00]
    - State "STARTED"    [2013-04-15 Mon 14:33]
The T.S. Eliot poem often assigned for analysis by English majors.  Cited by
Wikipedia as being called "one of the most important poems of the 20th
century."

Very Ezra Pound-like.  Needlessly and intentionally obscurantist, which
explains its popularity for keeping students busy.  There is some okay imagery
in a few parts here, I guess, but if the goal is to transfer information of
some kind to the reader, it fails miserably.  Also noticed this is where the
title for the novel "Consider Phlebas" came from.  Didn't get anything out of
reading this.
*** DONE Darwin series
    - State "DONE"       [2013-04-27 Sat 20:53]
    - State "STARTED"    [2013-04-13 Sat 23:22]
A biology hard scifi novel series by Greg Bear.
- Darwin's Radio: Contains some well researched and even somewhat educational
  science.  Apart from that, this is mostly not that great.  None of the
  characters are interesting enough for a character-centric story like this.
  Making matters worse, dull minutia of their everyday lives is described in
  great detail (probably just as page count fodder).  Actual plot progression
  is incredibly slow partly as a result, but also because just not that much
  interesting stuff happens.
- Darwin's Children: Has all the problems of the former text, but worse.  Has
  some annoying political commentary.  I regret reading this series.
*** DONE Aurora Leigh
    - State "DONE"       [2013-05-01 Wed 14:37]
    - State "STARTED"    [2013-04-30 Tue 05:32]
Recommended in How to Live on Twenty-Four Hours a Day as an example of a work
which, when read, develops ones mental faculties -- unlike normal good fiction:

"There is an infinitely finer English novel, written by a woman, than anything
by George Eliot or the Brontes, or even Jane Austen, which perhaps you have not
read. Its title is "Aurora Leigh," and its author E.B. Browning. It happens to
be written in verse, and to contain a considerable amount of genuinely fine
poetry. Decide to read that book through, even if you die for it. Forget that
it is fine poetry. Read it simply for the story and the social ideas. And when
you have done, ask yourself honestly whether you still dislike poetry."

I've been meaning to give an epic novel/poem like this a new try, so this is as
good as any.  If I like this writing style, I may try Paradise Lost, which the
author of the essay suggests next.  If I find this a waste of time, I can
safely get rid of several printed books in the same genre.

http://digital.library.upenn.edu/women/barrett/aurora/aurora.html

Excellent writing which would be far more digestible in prose form.  Had to
quit early due to the actual content being conveyed being an uninteresting
emotional narrative of the "journey of life" variety.  This is great at what
it's trying to do, but I've already experienced such chronicles too many times
for one so fundamentally unremarkable to appeal to me.  On the contrary to the
cited essay, this is a perfect example of why to avoid female-authored classic
literature, particularly that from England.

As for the original goal of reading this, I guess you could use intentionally
abstruse text to hone your information extraction skill, but why not apply that
effort reading something both challenging to understand and useful (or
entertaining)?  The only secondary benefit in this example is expanding one's
vocabulary or perhaps appreciation of well-crafted text.  So, I certainly don't
think there's anything inherently beneficial about poetry, particularly given
it's many downsides as a form of communication.  I also still think the
pinnacle of writing to be the judicious application of finely honed authoring
skills -- that is, its application in a manner that substantively adds to the
content.  Here, the talent is wasted, bloating an otherwise insubstantial
narrative with a profusion of sentimental blather.
*** DONE Wool (1-6)
    - State "DONE"       [2013-06-22 Sat 01:42]
    - State "STARTED"    [2013-06-15 Sat 03:04]
A modern scifi novel by Hugh Howey.

Great setting and reasonably good stories for the most part.  Up to Book 9 will
be available eventually, so I'll check back later when the last is released.
*** DONE The Last Theorem
    - State "DONE"       [2013-07-13 Sat 01:37]
    - State "STARTED"    [2013-07-11 Thu 03:58]
The supposedly not so great final Arthur C. Clarke novel.

Borderline bailing quality, but finished it anyway.  Main problems: Lots of
pointless filler, forgettable characters, and not that creative scifi.
*** DONE Heart of the Comet
    - State "DONE"       [2013-07-28 Sun 00:43]
    - State "STARTED"    [2013-07-13 Sat 02:16]
A hard-scifi novel about an expedition to a comet.

Overall a good read.  A fair amount of well-researched science, a plausible
back story, decent (but not great) writing, and a mostly believable plot.
Probably the weakest link was the main characters, who were a bit dull to read
so much character development about.  I would have also been happy to pass on
the love triangle and other romance.
*** CANCELED The Unbearable Lightness of Being
    - State "CANCELED"   [2013-07-28 Sun 19:07]
    - State "STARTED"    [2013-07-28 Sun 16:53]
Don't have high hopes for this, but I'll give it a try before tossing my
hardcopy of it.

Mostly a book full of random nothing.  Quitting after a few chapters.
*** DONE Wolfbane
    - State "DONE"       [2013-08-02 Fri 10:39]
    - State "STARTED"    [2013-07-31 Wed 16:47]
A rogue planet-related semi-hard scifi novel.

Okay for a novel from the 1950s.  Modernizing this and removing the space
adventure elements would make it more readable.
*** DONE Alongside Night
    - State "DONE"       [2013-08-05 Mon 00:56]
    - State "STARTED"    [2013-08-02 Fri 14:59]
An introduction to agorism in novel form, which preceded the full manifesto on
it.

Okay in some respects, but a bit too much of an adventure story for me.  Plus,
though I generally appreciate agorism, I'm certainly not foolish enough to find
plausible a massive underground of like-minded agorists.
*** DONE Art & Lies
    - State "DONE"       [2013-08-18 Sun 06:26]
    - State "STARTED"    [2013-08-18 Sun 01:24]
A book that was popular amongst gender theory types and feminists when I was in
college.

Wieners and lady-bits everywhere.  There is some good writing in here, and if
the author was only not obsessed with gender, art, and fag0rts, she'd probably
be capable of productive output.
*** DONE Mass Effect series
    - State "DONE"       [2013-10-10 Thu 01:38]
    - State "STARTED"    [2013-08-16 Fri 01:51]
Only planning on the first 3, as the last one supposedly is terrible.  I like
the Mass Effect mythos, and decided to try this series for that reason.  I
don't have high expectations though.
- Revelation: A straight action novel.  Short and shallow.
- Ascension: Slightly better than the first.
- Retribution: About the same as the second.

Typical dime novel scifi.
*** CANCELED Lord of Light
    - State "CANCELED"   [2013-10-10 Thu 07:10]
Supposedly the best of Zelazny, who some consider the best of fantasy authors.
I've also been a long time ZAngband player, though that probably shouldn't have
anything to do with whether or not to read this.  This is tasked mainly to see
if fantasy fiction can appeal to me.  If I'm bored here, I can probably safely
forget it.

Previewed a little and this is crap.  Like with Hesse's Siddhartha, Hinduism
ruins any novel it becomes a major factor in.
*** DONE Commonwealth Saga
    - State "DONE"       [2013-10-30 Wed 02:04]
    - State "STARTED"    [2013-10-11 Fri 14:59]
This series has potential since it's a space exploration saga that doesn't
primarily use space ships.  I've suspected that interstellar travel (if
possible) may not necessarily require ships (though I also have other notions
that travel at all may not be something prioritized by such a civilization or
even that "civilization" should be assumed).  This series is followed by the
"Void Trilogy", which I'll consider after finishing.

- Misspent Youth: Not officially part of this saga, but provides some of the
  back-story on its universe.  Skipping due to it being a completely
  character-centric novel.  Just read the Wikipedia entry plot summary.
- Pandora's Star: Very long, but filled with good content.  There's some less
  interesting stuff in here too (mostly about personal relationships), but the
  good outweighs the bad.  This does also include a fair amount of ship-based
  space travel, but it's handled fairly well.
- Judas Unchained: Less well written than the first part.  Too many fast-paced
  action sequences and too much predictable trope-usage.
*** CANCELED Void Trilogy
    - State "CANCELED"   [2013-11-04 Mon 14:39]
A followup series to the Commonwealth Saga (which was mostly decent), though
this appears not as good.

- The Dreaming Void:
- The Temporal Void:
- The Evolutionary Void:

Read enough of the first novel to know this is a classic example of "too far in
the future" syndrome.  Gave up and read the plot summary and found I'm
apparently not missing anything interesting.
*** DONE VALIS
    - State "DONE"       [2013-11-05 Tue 14:32]
    - State "STARTED"    [2013-11-04 Mon 15:13]
Read about a third long ago.  While nothing interesting happened by the point
where I left off, the potential was there for that.  Plus, I've been meaning to
finish at least one Philip K. Dick novel.  This is the first of a trilogy, the
following books of which I may read if I like where this goes.

Starts off great, kind of turns to semi-crap by the end.
*** DONE Candide
    - State "DONE"       [2013-11-07 Thu 16:36]
    - State "STARTED"    [2013-09-06 Fri 03:19]
Voltaire's magnum opus.  This is short, so it's a low cost dose of classic
literature.  It being a refutation of Leibnizian optimism mildly appeals to me
too (though that's obviously not defensible these days anyway).

This disappointment just repeats the same thing over and over in various random
incarnations.  Things start going good for Candide, then they turn to crap.
*** DONE Wool (7-9)
    - State "DONE"       [2013-11-08 Fri 01:08]
    - State "STARTED"    [2013-11-05 Tue 17:45]
The final 3 books of this series.

Not perfect, but one of the few truly creative scifi series of recent history.
Will have to keep an eye out for more stuff from this author.
*** CANCELED Compleat Enchanter
    - State "CANCELED"   [2013-11-08 Fri 07:44]
May cancel this as I cannot recall why I wanted to read it.

This looks like crap.
*** DONE Swann's Way
    - State "DONE"       [2013-11-09 Sat 13:31]
    - State "STARTED"    [2013-11-08 Fri 09:16]
The first volume of "À la recherche du temps perdu" by Marcel Proust.  Might
continue with the series if this seems worthwhile.  This is referenced
constantly by the supposedly cultured.  I'll give this a fair attempt and find
if the emperor is wearing anything.

Aimless ramblings.  I really need to stop queuing up garbage like this.
*** DONE Rudy Rucker short stories
    - State "DONE"       [2013-11-11 Mon 05:20]
    - State "STARTED"    [2013-11-08 Fri 09:37]
A hard scifi novelist recommended by /r/printSF.  I'll try some of his novels
if these seem promising.

- The Third Bomb: Bleh.
- Tangiers Routines: Huh?
- The Man Who Ate Himself: Pretty good.
- Guadalupe and Hieronymus Bosch: Pretty good.
- Chu and the Nants: Okay, I guess.
- Colliding Branes: Not bad.
- Inside Out: Bleh.
- The Men in the Back Room at the Country Club: Okay, I guess.
- Pockets: Kinda sucks.
- The Perfect Wave: Seemed like crap so stopped reading.
- Hormiga Canyon: Seemed like crap so stopped reading.

While occasionally talented, this author's failings appear to be introducing
fantasy elements (transrealism), comedy that only sometimes works, and an
obsession with gays and drugs.
*** CANCELED Ubik
    - State "CANCELED"   [2013-11-11 Mon 05:38]
A Phillip K. Dick novel.  I may read this if VALIS turns out to be good.  This
seemed the most promising of his bibliography.

Read a little and wasn't impressed.  Skipping.
*** CANCELED Uplift series
    - State "CANCELED"   [2013-11-14 Thu 03:26]
    - State "STARTED"    [2013-11-13 Wed 03:43]
A hard scifi series by David Brin.  Worth a try, though I'm a bit wary of the
galactic feudalism concept (which seems a bit uncreative).  He has quite a lot
of other works, but much of it looks like crap.  Brin did co-author Heart of
the Comet, so maybe it'll be okay.

- Aficionado (short story): Dolphins...
- Sundiver: Quitting, since I'm not into SeaQuest fan fiction.
- Startide Rising:
- The Uplift War:
- Temptation (short story):
- Brightness Reef:
- Infinity's Shore:
- Heaven's Reach:

I just can't take dolphins seriously.
*** CANCELED Dhalgren
    - State "CANCELED"   [2013-11-14 Thu 03:57]
    - State "STARTED"    [2013-11-14 Thu 03:37]
Supposedly a quite dense and difficult hard scifi novel.

Not hard scifi (or even scifi at all) and only difficult due to intentional
obscurantism.  I'll also cancel Ulysses as a result of disliking this writing
style, as it's a waste of time.  If I want a stream of stupid, I'll go read
some random person's Twitter feed.
*** CANCELED Ulysses
    - State "CANCELED"   [2013-11-14 Thu 03:58]
The most highly regarded James Joyce novel, this one supposedly perfecting his
"stream of consciousness" style of writing... or whatever.  I'll know if it's
stupid pretty quickly, so it's a low cost attempt.

I'm now a non-believer in this style of writing mainly because:
- Deciphering it is considerable extra effort with no payoff over clear
  writing.
- Its actual content is mundane garbage.
*** CANCELED The Three Stigmata of Palmer Eldritch
    - State "CANCELED"   [2013-11-14 Thu 12:56]
Another /r/printSF recommendation.  I'm a little wary of its religious theme,
as Dick apparently was a bit of a kook and I'm less interested in anything he's
authored now.

No more Dick for me.
*** DONE Anathem
    - State "DONE"       [2013-12-25 Wed 00:55]
    - State "STARTED"    [2013-11-20 Wed 22:22]
Having read a few Stephenson books now, I'm not sure his writing style is for
me.  I think I'll make this one my last real attempt at his stuff.  This is
supposedly the best of his works, so if I can't stomach it, then I'll be
writing him off for good.

A thoroughly excellent book and well researched.  A lot of thought went into
structuring this novel and it shows.  I may give Cryptonomicon a try as a
result.
*** DONE Daemon series
    - State "DONE"       [2013-12-29 Sun 01:37]
    - State "STARTED"    [2013-12-25 Wed 02:01]
A promising looking two part hard scifi series about distributed AI.  Highly
recommended by a former coworker.

- Daemon: Great concept, only okay execution.  Problems include too much
  action, unrealistically competent government employees (balanced somewhat by
  their failure, but only when at odds with a much more competent force),
  uninteresting characters, and a few (minor) technical errors.  Still a decent
  read overall.
- Freedom: More of the same, such that it might as well have been all the same
  book.
*** DONE Dead Space: Martyr
    - State "DONE"       [2013-12-31 Tue 22:22]
    - State "STARTED"    [2013-12-29 Sun 03:22]
A prequel novel to the Dead Space game series.  Not into the games, but the
lore still seems interesting enough to try this.

Not terrible, but also not good.  There's currently one other non-graphic novel
in this mythos, called Catalyst, but I'll skip it.  While this IP has some
creative aspects, most parts of it aren't very original.
** Technology and software
*** DONE Emacs scripts update
    - State "DONE"       [2013-01-13 Sun 01:45]
    - State "STARTED"    [2013-01-13 Sun 00:24]
Time to go through all scripts and check for updates.
- pabbrev.el: 2.0 -> 3.0.
- clojure-mode: git pull.
- haskell-mode: Switched to the GitHub version.
- helm: git pull.
- ruby-mode: svn up.
- Rhino: Manually updated to 1.7R4 on Windows.
- ESS: Manually updated to 12.09-2.
- egg: git pull.
- redo+.el: Manually updated (no real change).
- htmlize.el: Manually updated.

Notes:
- Disabled autoloading custom nXhtml install.  nXhtml is included in Emacs now,
  but it looks like MuMaMo isn't.  However, I'm okay with that for the time
  being since startup is way faster without it, but if I ever need to do any
  web development, I should probably go back to the way it was.

Re-byte-compiled everything at top-level ~/.emacs.d.  Putting off updating
SLIME until the nrepl.el task is done.
*** DONE rebuild gaming/VM rig
    - State "DONE"       [2013-01-26 Sat 16:20]
    - State "STARTED"    [2013-01-23 Wed 01:31]
This is just a general upgrade of MB, CPU, RAM, vidcard, disk, and OS.
Switching OS to Win7 Home Premium (the downside is a 16GB RAM max, but has way
less overhead overall).  This is part of my ultimate computing setup task and
provided nothing breaks, I'll be keeping this setup for at least 6 years and
hopefully longer if I keep it off when not using it.  I'll keep the fanless
vidcard in case the new one (which has a fan) dies.

This came together nicely and the performance improvements were worth it.  The
only minor downsides were that none of the 2.5"->3.5" adapters I had fit the
case's HDD slots and apparently MBs don't come with IDE adapters anymore so I
had to also buy a SATA DVD drive for $17.
*** DONE pkgng
    - State "DONE"       [2013-01-28 Mon 21:14]
    - State "STARTED"    [2013-01-28 Mon 20:35]
This is an alternative to the pkg_tools on FreeBSD.  Like those, it only deals
with binary packages and overall package management.  Using this has a few
benefits as I see it:
- Consolidates all the pkg_tools commands under one command.
- Includes built in security auditing, negating the need for portaudit.
- It's probably what will become standard as 10.x defaults to this (I think).

Usage notes:
- Bootstrap the pkg system by running =/usr/sbin/pkg= as root.
- Convert the pkg_tools database to pkgng by running =pkg2ng=.
- Delete /var/db/pkg.bak, if it exists.
- Edit /etc/make.conf and add (with a tab before yes): WITH_PKGNG=    yes

Like pkg_tools, I won't install anything through this.
*** DONE portsnap
    - State "DONE"       [2013-01-28 Mon 21:55]
    - State "STARTED"    [2013-01-28 Mon 21:15]
This replaces cvsup, which is now deprecated.  Redo all cvsup scripts.
portsnap is included in the base install.

Usage notes:
- For initial setup, run =portsnap fetch= then =portsnap extract=.
- To update ports, run =portsnap update=.

Now I can safely forget about cvsup.
*** DONE freebsd-update
    - State "DONE"       [2013-01-28 Mon 22:15]
    - State "STARTED"    [2013-01-28 Mon 21:57]
This replaces the need to manually apply patches when updating the system.  I
still want to build a custom kernel, so I'll just use it to update the source
tree and userland.

During my normal install procedure, I would manually rebuild userland and the
kernel twice to get the latest patches in before installing any ports.  This
procedure can now change to leaving the default settings in
/etc/freebsd-update.conf which includes the line =Components src world kernel=
and running the update.  After that, I'll remove the kernel part.
*** DONE portmaster
    - State "DONE"       [2013-01-28 Mon 22:44]
    - State "STARTED"    [2013-01-28 Mon 22:18]
portmanager is non-functional with pkgng.  Apparently no one was maintaining
it.  portmaster seems like it might be an acceptable alternative.

Usage notes:
- Install ports-mgmt/portmaster.  Flag for PKGNGPATCH and ZSH.
- Check for newer ports: portmaster -L
- Upgrade everything: portmaster -a
- Upgrade everything with prompts: portmaster -ai
- Install a port, upgrading dependencies: portmaster shells/bash
- To check what dependencies will be installed, run: portmaster --show-work
  games/tome4

=portmaster -L= also categorizes all ports into various groups.  Looking at
the leaf and root ports serves the same purpose as =portmanager -sl= did.

This is probably a better port management utility than portmanager, as it's way
faster and the command flags are more intuitive.
*** DONE replace Scheme implementation
    - State "DONE"       [2013-01-31 Thu 22:11]
    - State "STARTED"    [2013-01-31 Thu 13:55]
Gauche is broken in ports now.  The interpreter is actively maintained, so it's
probably the maintainer's fault.  However, since I do need a working Scheme
interpreter, I'll find something else to use in the meantime and maybe stick
with this alternative.

Switched to scm.  Installing lang/scm and lang/slib seems to work fine.  Emacs
integration works.  Unless I encounter some issues with it while writing code,
I may just stick with this from now on.

Update: Gauche is working again as of 9.2.
*** CANCELED Eev mode
    - State "CANCELED"   [2013-03-22 Fri 21:55]
Maybe I can use this to replace various shell scripts I wrote for automating
tasks.  Perhaps I can never need to write a script in Bourne shell ever again.
http://angg.twu.net/eev-article.html

Not sure I'm sold on this idea, but it's potential benefits make it worth
thinking about for a bit.

Looked into this some.  The main features, and the reasons I don't need eev for
those purposes, are:
- Recording shell sessions: I use shell scripts for this.
- Referring to other documents: I can use Emacs bookmarks for this.
- Demos: Don't do demos.

This is simpler than I thought.  I can see it being useful in some situations,
but it's not worth the cost for me.
*** DONE Litecoin
    - State "DONE"       [2013-04-01 Mon 11:30]
    - State "STARTED"    [2013-03-29 Fri 15:48]
A possible Bitcoin replacement.  I might just mine a bunch of these and hang
onto them for awhile.  I don't see these as very likely to be used, since the
algorithm doesn't address Bitcoin's faults, but a small holding can't hurt.
http://litecoin.org/

Tried mining overnight, but didn't get anything.  Since I'm not willing to blow
all that power for something unlikely to be worth anything, I'm not bothering
with this.
*** CANCELED LMMS
    - State "CANCELED"   [2013-08-14 Wed 16:57]
A freeware synthesizer.

Tried this and it's pretty awful.  Might come back to it and give it more time
if I can't find anything better though.
*** DONE nrepl.el
    - State "DONE"       [2013-08-15 Thu 03:59]
    - State "STARTED"    [2013-08-15 Thu 01:58]
A possible replacement for SLIME and swank-clojure.  This can also act as a
front end for multiple Lisps (the swank-clojure maintainer confirmed my
suspicions that it was simply not possible to have both functional with SLIME).
This is still not quite at feature parity with SLIME, so I may restore my SBCL
SLIME setup for now and just use nrepl for Clojure.  Look into lein-nrepl while
I'm at it and convert all projects over to this.  Probably will require
Marmalade to pull in dependencies, unless I want to do that manually.

https://github.com/kingtim/nrepl.el

This is actually slower than SLIME on my n270; to the point of being unusable.
However, I tested it in Windows and it works.  I'll probably have to do any
Clojure development on a VM there.
*** DONE fix meta key in Conkeror
    - State "DONE"       [2013-11-01 Fri 21:54]
    - State "STARTED"    [2013-11-01 Fri 21:49]
I've got a fully updated Conkeror setup in a Debian 7 VM.

Turns out the meta key isn't recognized by xulrunner 17.  Applied this fix:

#+BEGIN_SRC javascript
// Fix the missing modifier key in later versions of xulrunner.
modifiers.M = new modifier(
    function (event) { return event.metaKey; },
    function (event) { event.metaKey = true; });
#+END_SRC

Will add this to my FreeBSD setup when it's time to upgrade.
*** CANCELED Incanter
    - State "CANCELED"   [2013-11-01 Fri 21:55]
A Clojure-based R-clone.  http://incanter.org

Probably not better, but worth a quick look.

No longer need to use R.
*** DONE deprecate ESS
    - State "DONE"       [2013-11-01 Fri 22:01]
    - State "STARTED"    [2013-11-01 Fri 21:57]
No longer use R, so I might as well deprecate my ESS config in ~/.emacs.

It could be my imagination, but this seems to speed up startup a little.
*** CANCELED Drizzle
    - State "CANCELED"   [2013-11-01 Fri 22:02]
Just read about this.  Supposedly a rewritten MySQL with various lessons
learned implemented and optimized for web backends.

Don't care about this anymore.  PostgreSQL has won the lightweight database war
(for now).
*** DONE Memcached
    - State "DONE"       [2013-11-14 Thu 03:33]
    - State "STARTED"    [2013-11-14 Thu 03:27]
Just read about this a little.

Pretty simple and seems useful for the types of environments it was designed
for.
*** CANCELED bpython
    - State "CANCELED"   [2013-11-14 Thu 13:01]
Too beta for me right now, but check back on this in 6-12 months from now
(now is 2012-05-22).

The completion here is nice, but I'm not sure the interpreter is the right
place for this functionality.  Furthermore, it's unlikely this would integrate
nicely into Emacs.

http://bpython-interpreter.org/

I guess I don't need an interpreter with these features.  I do want all of
these in my editor though.
*** DONE deprecate JDEE
    - State "DONE"       [2013-11-14 Thu 13:17]
    - State "STARTED"    [2013-11-14 Thu 13:07]
I'm giving up on trying to turn Emacs into a Java IDE.  Maybe one day someone
will come up with a more elegant solution to this.  Replacing this with the
built-in java-mode.

Backed up JDEE config to unused_init.el.  Deleted ~/.ant/lib/ecj-3.6.jar.
Added java-mode block.  emacs-eclim is probably the most promising option for
getting modern Java development features cleanly integrated and I'll still give
that a try.
*** DONE re-enable SLIME
    - State "DONE"       [2013-11-14 Thu 15:46]
    - State "STARTED"    [2013-11-14 Thu 15:04]
Now that nrepl.el is being used for Clojure, SLIME can be used for SBCL.

Current SLIME from CVS works fine at this time with the SBCL version in 9.2.
However, this didn't work with my old 8.0 setup, which I guess is okay for now,
since I'm redoing the workstation once 10.0 comes out.  Only had to change a
few lines of config.
*** DONE upgrade FreeBSD to 9.2
    - State "DONE"       [2013-11-14 Thu 16:30]
    - State "STARTED"    [2013-11-11 Mon 17:18]
Emacs 24.x and FreeBSD 9.2 are now released, meaning it's time to do an
upgrade.  I was going to do a source upgrade, but I got a spare SSD of similar
specs so I can revert back in the event of something serious being broken.
10.0 is coming out in a month or two though, so I may wait for that.

Tasks:
- Read the new install procedure in the handbook.
- Setup 9.2 on a VM and run through the process, updating my install document.
- Backup all stuff off cellblock.  rsync everything to muze if there's enough
  space.  Also scp the entire FS to my backup drive (just in case).
- Replace the SSD and do the install.
- Spend a lot of time on the new kernel build.  Check the Hardware
  Compatibility List for 9.2 (sometimes there's useful hints in here).

Changes since 8.0 are the most drastic I've seen in a long time.  The new
system administration utilities are all improvements with far less cognitive
overhead and allow me to delete a ton of scripts.  The main downside is that a
lot more disk is used (though this is mainly a result of more bloat in ports).
Overall, I'd trade the gig or two in space for the improvements, but the
trade-off should be unnecessary.

Only did the VM, since 10.0 is coming out very soon.
*** CANCELED NetSurf
    - State "CANCELED"   [2013-11-20 Wed 04:00]
A graphical CLI browser.
http://www.netsurf-browser.org/

Doesn't support tabs, block ads, or allow keyboard only control.  It also has a
toolbar.  However, if I was on some really minimal hardware, this would be an
option (though I'd probably just stick with a text-only browser in that case).
*** CANCELED Classic Shell
    - State "CANCELED"   [2013-11-20 Wed 04:09]
Replace the n00bified win7 start menu with this on my gaming machine.
http://classicshell.sourceforge.net/

Not sure I'll bother though, since I don't really use Windows for anything
besides games.

Investigated this.  There's two things that this cleans up: the Start menu and
Windows Explorer.  I don't really use the Start menu much, and I've already
found a replacement file manager in Explorer^2 (which I mainly also launch
applications from).  So, there's really no use in installing this.

However, if I ever end up stuck with a Windows 8 box, this will be a must,
provided it works as advertised.
*** CANCELED Pythonect
    - State "CANCELED"   [2013-11-20 Wed 04:13]
A dataflow EDSL inside of Python.  Looks only marginally interesting, but it
could be fun to obfuscate code in it at work.

https://github.com/ikotler/pythonect

My original goal here is no longer valid.  However, this could be useful for
its integrated asynchronous operators, should the need ever arise.
*** CANCELED patch xf86-video-intel
    - State "CANCELED"   [2013-11-20 Wed 04:14]
This is suitably awesome that it might be worth the trouble to manually patch:
http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=bcef98af561939aa48d9236b2dfa2c5626adf4cb

If I don't get around to it anytime soon, just check later on FreshPorts to see
if it was added.  As of this writing, a lot of code is still being committed,
so maybe I'll just want to grab the latest instead of patch.

Don't need this, since I'm just going to upgrade to 10.0 once it comes out.
*** CANCELED Marmalade
    - State "CANCELED"   [2013-11-20 Wed 21:31]
Check out this Emacs package repo and see if it's worth including for the
supported packages.  Will wait for Emacs 24 to make use of this so I don't have
to bother manually installing package.el.

http://marmalade-repo.org/packages

Been using 24.x for awhile now and can get by fine without it.
*** CANCELED Rosegarden
    - State "CANCELED"   [2013-11-21 Thu 22:59]
A MIDI sequencer for Unix-variants.  It runs on FreeBSD, but the dependency
list is huge, so I'll keep it on a Linux VM.

I guess I don't need a MIDI sequencer.  If this changes, will reopen.
*** DONE autocutsel
    - State "DONE"       [2013-11-22 Fri 01:01]
    - State "STARTED"    [2013-11-22 Fri 00:44]
This doesn't come in handy too often, but this will merge cuts in GTK+ apps
with the X clipboard.

I forgot that I already had this ready to go in ~/.xinitrc.  Installed and
uncommented the initialization for it.  Updated setup document.
*** DONE VCS macroexpand.com main site
    - State "DONE"       [2013-11-28 Thu 00:26]
    - State "STARTED"    [2013-11-27 Wed 23:07]
Just doing the main site for now.  If this works out, I'll consider doing my
personal site too.  VCS-ing a site has multiple benefits:
- No need to backup or sync website content manually or by script.
- Ability to check out the site and edit it as normal user.
- Reduced need to edit anything as root.

However, I do have to keep in mind that everything behind the scenes will now
be world-viewable.  Make sure there's no personal info or passwords anywhere.

Notes:
- Excluding cgi-bin for now.
- To switch a repo to ssh, edit .git/config and change the "origin" URL to
  something like ssh://git@github.com/user/project.git.  When creating a new
  repo, you can also run =git remote add origin
  git@github.com:user/project.git=.
- Run my standard GitHub config steps as root before cloning.
- I also ran chmod o-rx on the .git/ directory.

I should have done this long ago.  I'll also do the same for my personal site,
but before doing so, I'll need to clean it up some.  Adding task for that.
*** DONE convert timestamps to ISO 8601
    - State "DONE"       [2013-12-24 Tue 11:11]
    - State "STARTED"    [2013-12-24 Tue 10:30]
My preferred timestamp is close enough that I might consider using a standard.
To do this, I'll need to go through all existing docs and regex them and change
at least three functions in ~/.emacs.
http://en.wikipedia.org/wiki/ISO_8601

Notes:
- The bcm-date function is fine, since it's already in the correct format (as
  it doesn't include time).
- Added a bcm-datetime function, returning UTC.
- Unfortunately, org-mode requires its current default format for date
  scanning.  It's changeable, but you lose various date features, so it's not
  worth the trade-off.  So, I'm leaving file header timestamps and org-mode
  ones alone.  See: http://orgmode.org/manual/Custom-time-format.html

As a result of the above, nothing has really changed, except that bcm-datetime
could be useful in macros populating datasets.
** Work-related topics
*** CANCELED learn R
    - State "CANCELED"   [2013-01-25 Fri 10:33]
    - State "STARTED"    [2010-06-16 Wed 23:21]
Trying to use R for the developing statistical learning models used at work.  R
may also be handy later for backend integration with various parts of
applications.  R is a flawed language though, so I'm targeting only a practical
level of usefulness.  I'm quite alright with sucking at R, and if I don't get
through all of this by retirement, that's fine with me.

Setup notes:
- Available on FreeBSD in math/R.  Change build options to include LETTER_PAPER
  and PDF_MANUALS.
- Unfortunately, this pulls in a full stack of packages for an updated gcc
  version. :\
- Build lang/gcc45 dependency without Java frontend.
- Setup ESS (already added to .emacs and ~/.emacs.d/ess).
- In some Linuxes, the R package is often called r-base.

Tasks:
- Learn some basic R. (DONE)
- Setup ESS. (DONE)
- Read the online R manual: http://cran.r-project.org/doc/manuals/R-intro.html
- Choose a book to read on R.  Someone at work suggested the O'Reilly book, "R
  In a Nutshell", but I don't have a copy, so unless I buy one, reading
  "Introductory Statistics with R".
- Check out bnlearn and other Bayesian network R packages.
- Make an R script to collect all my add-on packages.
- Maybe read the rest of the R docs at: http://cran.r-project.org/manuals.html
- Check out igraph.
- Consider ggplot2 for graphs.

Installing this on my work VMs so as not to muck up my home machine.

Update: I'm going to try to get away without learning this.  From what I know
of R so far, it's a pretty ugly language, statistics bore me, packages too
often don't work and require much manual labor, and I'm pretty sure it doesn't
have a future with me post-work due to the bloated dependencies.
*** CANCELED Apache Giraph
    - State "CANCELED"   [2013-02-27 Wed 21:00]
    - State "STARTED"    [2013-01-25 Fri 10:30]
Distributed graph processing.  Looked at some code for this, and it's ugly.  I
suspect that it's a bloated, sub-optimal solution to solving graph problems,
but I'm not aware of any alternatives at the moment (apart from other libraries
very similar to this).  I've already read the Pregel paper for some context, so
just read whatever docs are available on the Giraph site.  Maybe make a sample
program.

This works, but is extremely awkward and time-consuming.  It also is very rough
around the edges.

Gave up on this.  Modern Java development frustrates me too much.
*** DONE bulk synchronous parallel
    - State "DONE"       [2013-02-27 Wed 21:00]
    - State "STARTED"    [2013-01-25 Fri 10:30]
This is a concept around which things like Pregel, Apache Hama, and Apache
Giraph are centered.  This is apparently the pre-eminent distributed graph
processing algorithm.  I've been skeptical of it some due to the overhead
involved, but apparently it does scale well in the real world if you structure
your problems correctly.

I guess I pretty much get how this works now.
*** DONE betweenness centrality
    - State "DONE"       [2013-03-26 Tue 10:28]
    - State "STARTED"    [2013-03-26 Tue 10:09]
A graph theory concept used in the various graph analytics.

Centrality is the relative importance of a vertex within a graph.  There are
several other types of centrality besides betweeness.  Degree centrality is the
"default".  Betweeness centrality is the measure of the number of shortest
paths from all vertices to all others that pass between that vertex.
*** DONE statistical learning models
    - State "DONE"       [2013-05-02 Thu 13:58]
    - State "STARTED"    [2010-11-12 Fri 15:30]
Survey these and read at least a few books on the subject.

Tasks:
- Read chapter 20 of Artificial Intelligence: A Modern Approach.
- Read up on Bayesian networks.
- Read the PDF of slides titled Clustering with Gaussian Mixtures. Finished
  this.

Resigning the job means I don't need this.
*** DONE learn Clojure
    - State "DONE"       [2013-05-02 Thu 14:04]
    - State "STARTED"    [2012-05-17 Thu 15:42]
Apparently being already Lisp-literate makes this pretty easy.

The plan:
- Read A Brief Beginner's Guide To Clojure (online).
- Read Clojure - Functional Programming for the JVM (online).
- Do UPenn Clojure exercises (online).
- Read Clojure Programming.  This unfortunately lacks exercises (like all
  Clojure books I considered).
- Due to no exercises, do all of: https://www.4clojure.com/problems
- Write some kind of actual mini-project in the language.
- Read everything on the Clojure main site.
- Look at the Clojure Contrib projects:
  http://dev.clojure.org/display/doc/Clojure+Contrib
- Keep this cheatsheet handy: http://clojure.org/cheatsheet
- Reference this site for examples/docs: http://clojuredocs.org/

Notes:
- ring is probably the most popular webapps library:
  https://github.com/mmcgrana/ring
- For a Clojure-specific pastebin, use: https://refheap.com/paste
- Some things seem more complex in Clojure vs. Lisp.  For example, this in CL:
  (let ((count 0)) (defun counter () (incf count)))
  is equivalent to this in Clojure:
  (let [count (ref 0)] (defn counter [] (dosync (alter count inc))))

Resigning the job means I don't necessarily need Clojure anymore.  However, I
may still complete this task on my own terms.  I like most things about
Clojure, but there are exceptions:
- Clojure stacktraces are the same mess that Java's are.
- Much stuff in Clojure is just a wrapper around Java code.  In most Lisps, you
  can just navigate into the underlying Lisp code all the way to primitives.
- Java interop is ugly and un-Lispy.
- It's often painfully slow.
- Some of the Clojure ecology of libraries resemble Java ones in that they have
  way too many dependencies.
*** DONE learn Scala
    - State "DONE"       [2013-05-02 Thu 14:04]
    - State "STARTED"    [2012-11-10 Sat 13:07]
This will probably be a little harder than learning Clojure, but I'm countering
that by not going as deep on it (due to lack of interest and it not being as
nice of a language).  Though this is work-driven, there is some residual
benefit here, as ML-variant literacy is on my list of things to have.

The plan:
- Redo Scala Emacs setup.
- Read Programming Scala (2nd ed.).
- Read the sbt manual.
- Read the ENSIME manual.
- Write some projects in Scala.  I'd like to at least do one test project using
  Scalding, preferably one of the ones I've already done in Cascalog to compare
  performance and ease of use.
- Decide how much, if at all, I want to stick with the language/ecology.

Resigned job.
*** CANCELED SymPy
    - State "CANCELED"   [2013-05-02 Thu 14:05]
I'll use other languages for these purposes going forward.
*** CANCELED NumPy
    - State "CANCELED"   [2013-05-02 Thu 14:05]
Read up on this some.  Maybe SciPy too.

Might still look into this more on my own.
*** CANCELED latent class analysis
    - State "CANCELED"   [2013-05-02 Thu 14:05]
And principle components analysis (or, some more general topic including
these).
*** CANCELED RapidMiner (revisited)
    - State "CANCELED"   [2013-05-02 Thu 14:05]
*** CANCELED Scalding
    - State "CANCELED"   [2013-05-02 Thu 14:05]
A Cascalog-like library in Scala.
*** CANCELED Cascading
    - State "CANCELED"   [2013-05-02 Thu 14:05]
Might be able to skip this if Cascalog works out.  I may still want to just
read about it a little even in that case though.  If Cascalog isn't usable,
I'll have to research this properly.
*** CANCELED Mahout (revisited)
    - State "CANCELED"   [2013-05-02 Thu 14:05]
Canceled this too soon.  However, I might as well start over since I only did a
brief intro to it before.

The plan:
- Redo an updated setup for this.
- Read up on each algorithm implemented.
- Read the book Mahout in Action.
*** CANCELED ARIMA model
    - State "CANCELED"   [2013-05-02 Thu 14:05]
http://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average
*** CANCELED Kronecker graphs
    - State "CANCELED"   [2013-05-02 Thu 14:05]
Considered for use in a model at work.  http://arxiv.org/abs/0812.4905

Kronecker graphs are the result of a specific operation on matrices (or matrix
representations of graphs).  They're useful for several things, but one
potential relevant use may be for synthetic data generation.
*** DONE CS183: Startup Stanford, Spring 2012
    - State "DONE"       [2013-06-27 Thu 18:53]
    - State "STARTED"    [2013-06-07 Fri 02:34]
Some guy's class notes from Peter Thiel's startup course.
http://blakemasters.com/peter-thiels-cs183-startup

There's actually a lot of good info in here.  This has caused me to rethink
some aspects of my potential involvement in startups and grounded some
expectations in reality.
** Games to play
*** DONE Xenocide
    - State "DONE"       [2013-01-01 Tue 01:31]
    - State "STARTED"    [2012-12-31 Mon 20:48]
Install Windows version with full sounds (46MB).  http://xeno.chaosforge.org/

This looks promising, but isn't finished and seems abandoned.  It's definitely
not complex enough for actually playing much yet.
*** DONE MAME romset
    - State "DONE"       [2013-01-04 Fri 23:15]
    - State "STARTED"    [2013-01-03 Thu 21:38]
Audit the entire collection of MAME ROMs.  This is mostly just to clear up some
disk space, for which this collection is the worst offender.  First, I'll
delete all non-working, sports, card game, foreign language, porn,
cassette-based, light gun, and obviously crappy ROMs.  Then, I'll manually go
through the remaining and start each one up and delete anything I don't want to
look at later.  The goal is to get it under 1GB at most.

Most arcade games are button-mashing spaz-fests, so I was able to get rid of
the vast majority of them, leaving 92 ROMs of total size 900MB.

I may do the same later with other romsets, all of which I've already created
first pass subsets of.  If I could get my complete ROM collection down to a few
GB, that would go a long way towards my data size goals.
*** DONE console romsets
    - State "DONE"       [2013-01-05 Sat 00:58]
    - State "STARTED"    [2013-01-04 Fri 23:17]
Audit the entire ROMs collection.  I already did a preliminary first pass and
deleted the majority of the romsets altogether.

Got the entire collection down to 2.34GB and I feel a lot better not curating a
ROM museum.
*** DONE Avadon: The Black Fortress
    - State "DONE"       [2013-01-07 Mon 03:25]
    - State "STARTED"    [2012-11-24 Sat 22:29]
Supposedly the most refined Spiderweb Software game to date.  Was on sale for a
few dollars on Steam so it seemed like a good opportunity to finally experience
one and see if their fanbase's loyalty is justified.

This game is just okay.  It has some good points and acceptable graphics, but a
lot of downsides:
- Classes and character development are too simplified.
- Skill trees are very small and restrictive.
- Not enough item choices.  In fact, you really don't have any gear choices to
  make since the best one is always obvious and each class really only has
  predefined play-styles.
- Practically non-existent RP value outside of the occasional minor dialog
  choice.
- Boring, uninspired story and game world that borrows so heavily from various
  tropes that it's completely generic.
- Combat is repetitive and too simple.  Most encounters are just trash mobs
  that charge at you until dying.
- Environment is too non-interactive.

The annotated maps are rather useful when playing so as not to lose track of
quest givers: http://avadonannotatedmaps.zxq.net/index.html

I guess it's not a bad deal for $3, but there are more interesting games that
are completely free.  Playing this just feels like a waste of entertainment
time.  Ended up quitting this after getting to the second main area.  I may one
day come back and finish it but will definitely skip future installments.
*** DONE Castle of the Winds
    - State "DONE"       [2013-01-09 Wed 17:53]
    - State "STARTED"    [2013-01-08 Tue 20:58]
I like games that are built within the native OS toolkit.  Will need to run
this in an XP VM.

Full version available here: http://lkbm.ecritters.biz/cotw/download.html

Completely unbalanced and poorly designed.  Only has some of the absolute
basics of a roguelike and most of those aren't done well.
*** DONE TERA
    - State "DONE"       [2013-01-14 Mon 19:40]
    - State "STARTED"    [2013-01-14 Mon 13:39]
The stolen and reworked codebase for what was to be Lineage 3.  Will just fr00b
it up for a few evenings, then call it done.  I definitely don't actually want
to grind in a modern MMO, but if you pretend the extent of the game is just the
early levels, they're okay provided you possess the discipline to quit when the
time comes.

Played an antlerface mystic for awhile, but only managed to stomach it for a
few hours.  This game has a lot of problems, but the main issue (for me) is the
manual aiming and dodging, which requires way more cognitive overhead than it
should.  Compared to more passively-played MMOs, you do a lot more work for
very little extra game experience.  Apart from that, it's mostly just yet
another boring modern WoW/EQ-clone with standard Asian MMORPG tropes.
*** DONE Space Rangers 2
    - State "DONE"       [2013-01-18 Fri 21:13]
    - State "STARTED"    [2013-01-13 Sun 20:50]
Played this a little back in 2005, but will start over and make a proper
attempt at beating it.  Space Rangers: Reboot only costs a few dollars and
includes the expansion pack, but I'll just play the normal game for now.

After installing, edit cfg.txt and change the RobotResolution to 1920,1200.
This only affects the RTS mini-games and also causes crashing if changing
options in game.

This is an okay game, but has some problems:
- The graphics aren't terrible but the color palette makes my eyeballs bleed.
  The user interface would probably look less appalling if it were higher
  resolution and didn't have randomly arranged buttons.
- Installs Starforce.  I installed the game normally, overwrote the binary with
  a no-CD one, then ran the Starforce removal utility.  However, it says the
  driver isn't installed.  So, it's either hiding somewhere, Starforce doesn't
  support 2k8r2, or the utility doesn't support removal on 2k8r2.
- The arcade-like wormhole mini-game isn't any fun (for me).  If I wanted to
  play an action game, I'd not be playing a mostly TBS game.  I usually just
  save scum them, letting the autopilot do the work.
- Has mostly uninspired writing and game lore.  Poor translation is everywhere.
- I'd prefer space flight was a bit more realistic.  Planets are too close
  together, asteroids zoom around like in an arcade game, and planets orbit
  their suns in a few weeks.  Obviously this isn't a sim, but some relation to
  reality would've made it more fun for me.
- NPCs can target and begin firing mid-turn, but the player can't.
- You have to keep up with an item/ship treadmill.  This actually isn't too
  hard, but I'd prefer at least a slightly more static universe given how much
  of a pain it is to collect/mod proper gear.
- The economy is completely imbalanced.  Trading becomes pointless once you get
  some okay gear.
- Repair costs are insane.  You can carefully mod certain n00b gear you pick up
  early to help this, but you have to get lucky on micromodules.
- There's no grand strategy against the antagonists.  You just take back and
  defend systems and others randomly fall.  Eventually, the balance shifts in
  your favor.  It takes forever, which would be fine, except that the space
  combat here gets very repetitive.  A more interesting setup would be having
  tough enemy core systems surrounded by less defended ones, and these empires
  expand/contract based upon player and NPC ranger/military actions.
- I'd rather have a better core game experience (trading and space
  flight/combat) than all these mini-games which are just crappier versions of
  genres done better elsewhere.

After getting familiar with the game's quirks, I played for several nights and
got to the #2 ranking, but then lost the desire to keep going.  The most
frustrating part of this game is that it could be quite awesome if it just
didn't have a few fundamental flaws.  I'm sure I can win with my current run,
but there's less depressing gaming experiences to be had.  I'll back up my
saves, but it's highly unlikely I'll ever revisit this.
*** DONE Endless Space
    - State "DONE"       [2013-01-20 Sun 16:52]
    - State "STARTED"    [2013-01-20 Sun 00:18]
Yet another 4x game that looks really polished and seems devoid of at least
some of the problems that many more half-assed attempts have.  Was on sale for
$15 on Steam.

Complaints:
- Has some graphical glitches and BSODs my computer occasionally.
- No space stations or a lot of the other features that are common in 4x
  games.  Definitely needs more stuff to do.
- The balance seems a bit off on system improvements vs. income in early game.
  The expansion disapproval is a bit rough as well then becomes a non-issue
  later on.
- Battles are just a non-interactive card game, but one with completely random
  results.  There's no reason to load these up once you've seen a few.
- Tech trees need more thought.  They're supposed to be divided by play style,
  but in reality they're somewhat mixed up.  Even worse, there's no way to tell
  (at least in game) what the tech unlocks do.
- Has the same useless diplomacy most 4x games have.
- The computer opponents cheat.
- At harder difficulties, you can easily get gimped from the start and have no
  real chance of winning.
- The UI is really nice except there are almost no keyboard shortcuts.
- Battles are too small and non-epic.  Fleets have a maximum command point
  size, which ensures battles will never have dozens of ships.

This is just an average 4x game, though it does have some really nice graphics
and universe creation options.  This is fine for a few days of fun, but won't
be replacing Stars! as my main 4x game.  I'll keep it installed for a few
months for an occasional game though.
*** DONE Defense Grid: Community Levels
    - State "DONE"       [2013-01-27 Sun 00:49]
    - State "STARTED"    [2013-01-26 Sat 21:40]
These are free, so no reason not to try them.

Okay levels, but a bit too easy.
*** DONE Scarlet Blade (alpha)
    - State "DONE"       [2013-01-27 Sun 19:00]
    - State "STARTED"    [2013-01-25 Fri 01:33]
Pure prolefeed, but so preposterous, I can't not at least play it for a couple
of hours.  I think it's going to be a F2P MMORPG.  Its gimmick is that it's
total, unadulterated fanservice.  Apart from that, it's completely generic.

Amusing for a couple hours, then just turns into a standard grind.  Like most
Asian MMORPGs, this lacks a lot of polish and has a sloppy feel to it.  After
this, I think I'm filled up on crappy games for this year.
*** DONE Defense Grid: Containment
    - State "DONE"       [2013-02-03 Sun 18:15]
    - State "STARTED"    [2013-02-02 Sat 22:26]
Yet another expansion.

These are mostly well-designed maps, obviously designed with challenge games in
mind.  The new storyline is okay, but nothing special.
*** DONE AI War: Fleet Command
    - State "DONE"       [2013-02-19 Tue 00:33]
    - State "STARTED"    [2013-02-06 Wed 22:31]
A huge space strategy game that includes a lot of unique features.  Grabbed the
AI War: Alien Bundle on Steam, which includes the game and the first 3
expansions.  AI War: Ancient Shadows is still $4.99 (which is more than I paid
for the bundle), so I'll wait until I see how much I like the game first.

Some minor complaints:
- This being 2D kills the immersion some, since it's in space.  Being in 3D
  wouldn't work here, but gameplay could have been on planet surfaces.
- Animation gets choppy at higher time deceleration.
- At high resolution, it's hard to distinguish icons.
- Claims to have a lot of tower defense features, but doesn't really.
- The ship caps are workable, but I'd prefer if the bottleneck was more on the
  resource side than artificial unit count limits.

This is closer to a stock RTS experience than the game descriptions would lead
you to believe.  However, it's the best RTS I've played, and the only one I'd
consider playing long term.  It's a real timesink though, so I'll probably play
more when I have more free time.
*** CANCELED Naval War: Arctic Circle
    - State "CANCELED"   [2013-03-05 Tue 10:52]
Was going to wait until this was $5 or so on Steam, but there seems to be a
developer/publisher scandal here with the typical results of unfixed,
game-killing bugs.  Will pass on it and look for a copy of Fleet Command
instead.
*** CANCELED Space Empires V
    - State "CANCELED"   [2013-03-22 Fri 10:46]
A possible candidate for a decent super-complex 4x game.

This game has some serious technical/performance issues.  To get playable FPS
on it, do this:
- Patch to 1.79.
- Edit data/HUDSettings.txt and define the windowed resolution to 1366x1024.
- Edit data/Settings.txt and set "Support Multithreading" to "TRUE".
- Set Video Mode to "1280x900x16".  Try windowed mode too and see if it gives
  30FPS (it probably won't).
- Set 3D Device to "Direct3D HAL".
- Set Video Memory Usage to "Safe".
- Turn off ClearType text in Windows.  There's a utility for this that can be
  found by typing in "clear" into the Windows search box.

I finished the tutorial and played this a little.  However, I'm going to cancel
this due to the many technical issues with getting this to run properly.  I can
get this to be barely playable, but everyone online says that even if you
manage this, the game will slow to a crawl once you have a lot of active units.
Given this, I can't justify wasting a week to learn everything to play this.  A
real shame, since this looks fairly close to what I'd want in a modern 4x game.

I think I pretty much know what I want my ultimate 4x experience to have.  It
needs:
- Solar systems with multiple planets.  Planet types should be realistically
  distributed according to distance from the star (e.g., no ice planets in
  close orbit).
- Space stations, preferably with the ability to place them anywhere in a
  system, not just in orbit of planets.
- Space and ground combat, with orbiting forces supporting ground forces.
- Moons with the ability to colonize them.
- Some simulation of the vastness of space.  Traveling vast distances should be
  an appropriately lengthy endeavor.  Planets shouldn't be so close together.
- Some appropriate system for upgrading obsolete components.
- Research that can't realistically be maxed out in any one game, even if it
  goes on for 1000s of turns.
- Weird races.  Since they don't have to be rendered, there's no excuse for
  making them all sentient versions of Earth animals.
- Nearly everything in the game should be able to be turned over to the AI.
- Non-interactive combat is fine, but battles should be potentially massive in
  scale.
- Faction personalities shouldn't be so 2 dimensional.  Diplomacy in all 4x
  games I've played so far sucks and I'd almost rather it not be there.
*** DONE Starcross
    - State "DONE"       [2013-03-28 Thu 09:34]
    - State "STARTED"    [2013-03-27 Wed 15:27]
A BDO IF game from 1982.  Supposedly good and rather difficult.

Has a very primitive parser and not a lot of ancillary text.  Most mentioned
objects aren't recognized.  The puzzles here aren't that good either.  Didn't
bother finishing it.
*** CANCELED UnAngband
    - State "CANCELED"   [2013-03-28 Thu 10:09]
Seems like a promising kitchen sink Angband-variant.

A bit tired of Angband, so skipping this one.
*** DONE Shrapnel
    - State "DONE"       [2013-03-29 Fri 14:08]
    - State "STARTED"    [2013-03-29 Fri 13:48]
Another concept IF game.

Concept fail.
*** DONE Sid Meier's Civilization IV
    - State "DONE"       [2013-03-30 Sat 10:50]
    - State "STARTED"    [2013-03-28 Thu 22:04]
Got a free copy with both expansion packs from work, so might as well try it.

This is probably better than Civilization II, but has almost all the same
problems it does.  Almost every aspect of the game has design decisions that
annoy me.  It can still be entertaining if you were in the market for some
casual gameplay, I guess, but it's not for me.  I have a vision of what an
awesome engine for this type of game would look like, but I don't think
something like that exists.  I'll still give Alpha Centauri a try, but after
that I'm sticking with space 4x games.
*** DONE Blue Chairs
    - State "DONE"       [2013-04-03 Wed 10:33]
    - State "STARTED"    [2013-03-29 Fri 14:23]
A surrealist IF game.

This is just okay and doesn't really quite work.  Has several noun oversights,
an annoying maze, and some hunt the verb.
*** CANCELED Magic Candle
    - State "CANCELED"   [2013-05-06 Mon 01:09]
Has some unique RPG concepts.  Check out Magic Candle II and III if I like this
enough.

Setup:
- Grab a copy of Magic Candle (it's free now) and extract it somewhere.
- Make a .conf file for DOSBox that mounts the folder and launches the game.
- Create a launcher for it.  Left this in the game directory.

Watched a bit of an LP of this and I don't think I want to play it.
*** CANCELED Drox Operative
    - State "CANCELED"   [2013-05-09 Thu 01:06]
Looks like a better Space Rangers 2.  Watch an LP on it first.

Looks semi-promising, but I've concluded that I'm not into this close-in 2D
style of space game with arcade-like combat.

While I think space games are one place that 3D makes sense, I do have a vision
for what I think would be an awesome 2D space sim though (mostly sensor-based).
*** DONE Icewind Dale
    - State "DONE"       [2013-05-14 Tue 01:37]
    - State "STARTED"    [2013-05-06 Mon 10:48]
Restarting my 4 character run from 2010.  Considered powergaming a 4 character
party of multi-classed half-elves and getting them to HoF mode, but that
requires multiple full game runs to get them leveled and geared.

Had semi-fun, but probably won't play this ever again as I have the whole game
memorized now.  I would gladly pay money for a new campaign using the same
engine, but this style of game is gone forever.
*** DONE Icewind Dale II
    - State "DONE"       [2013-05-21 Tue 03:27]
    - State "STARTED"    [2013-05-14 Tue 21:27]
Trying this with a full semi-RP party.  Hopefully this isn't too much
micromanagement.  If this is too easy, replace the fighter with something
gimped, like a dual-wielding deep gnome ranger.

These steps get a completely working version on Win7:
- Install the 2.01 patch and put the bonus merchants pack in the Override
  folder.
- Be sure to set "3D Acceleration=1" in icewind.ini.
- There's a bug in the Fell Wood area that requires reverting to 800x600
  resolution while there.
- To fix the DirectDraw issues, install the Microsoft Application Compatibility
  Toolkit.  Run this and select "New Database" then click the "Fix" button.
  Point this at the IWD2.exe file.  Skip Compatibility Modes screen.  On
  Compatibility Fixes screen, check ForceDirectDrawEmulation.  Save this as
  something, then right click the DB and select Install.

Created this party:
- Erica Barone: Aasimar, Cleric (Sheild of Lathander), Lawful Good
  - STR: 14 DEX: 10 CON: 12 INT: 8 WIS: 18 CHA: 18
  - Weapons: blunt weapons + shield, sling
  - Notes: Will tank less later game (switching positions with Mayo when
    adventuring) and spend more time combat casting.
- Fairbairn Sykes: Human, Paladin of Helm(2)/Fighter, Lawful Good
  - STR: 18 DEX: 13 CON: 18 INT: 6 WIS: 10 CHA: 5
  - Weapons: long sword (Holy Avenger) + shield
  - Notes: Front-line tank.  Provides Aura of Courage.
- Mayo Dialtone: Drow, Monk, Lawful Evil
  - Stats: STR: 16 DEX: 20 CON: 16 INT: 5 WIS: 18 CHA: 5
  - Weapons: Fists
  - Notes: Melee damage dealer and high AC/medium HP tank.
- Angelica Garcia: Moon Elf, Rogue, True Neutral
  - STR: 12 DEX: 20 CON: 16 INT: 16 WIS: 8 CHA: 4
  - Weapons: long bow, short sword
  - Notes: Ranged support, backstabs/hamstrings in tough fights.
- Rabsjavert Lalapine: Human, Wizard, True Neutral
  - STR: 12 DEX: 16 CON: 14 INT: 18 WIS: 10 CHA: 6
  - Weapons: quarterstaff
  - Notes: Casting only, no melee.
- Spam Gadgee: Lightfoot Halfling, Bard, Chaotic Good
  - STR: 8 DEX: 20 CON: 10 INT: 14 WIS: 6 CHA: 18
  - Weapons: short/long sword + shield, light crossbow
  - Notes: Mainly uses bard song, but also secondary buffer, backup combat
    spellcaster (with Armoured Arcana), and ranged support.

A good game, but I do have a couple complaints:
- A shame this is 3.0E instead of 2.0 or 2.5.  I'd even prefer 3.5 over this.
- I prefer the IWD1 UI over this one.
- Monk unarmed attacks need a better animation.
- Needs more skills ported over.  I should never have a character where I just
  don't care about skill points.
- Too many ambushes involving enemies appearing out of nowhere.
- Like IWD1, this game pegs a core while running.
*** DONE X3:Reunion
    - State "DONE"       [2013-06-14 Fri 04:44]
    - State "STARTED"    [2013-05-22 Wed 00:45]
The best of the Elite-clones.

Notes:
- Install 2.5 patch, X3 bonus package, and the official cockpit mod.  Then add
  the Cockpit Callback 1.4 mod directory additions.  Rename the numbered files
  to the highest present in the main install directory + 1.
- Super useful complex calculator here: http://www.altanetworks.com/x3occ.html
- To fix the weird audio feedback issue, convert all mp3 files in soundtrack/
  from mp3 to wma.  In TC+AP, this will require playing in offline mode.

Made a massive empire.  Then I decided to do the main plot, which trashed many
of my assets in Paranid space.  Instead of rebuilding all of that, I'll just
move on to the next one.  However, I'll keep my saves around in case I get
nostalgic for X3:R.
*** DONE Everquest 1
    - State "DONE"       [2013-06-17 Mon 23:33]
    - State "STARTED"    [2013-06-16 Sun 00:52]
Now that this is F2P, I'll finally get to experience this (very briefly) for
myself.

While this is better than most modern MMOs, if I wanted to play an old,
mainstream 3D MMO, I'd probably go with AO.  This was still not a fun
experience.
*** CANCELED Battlecruiser Millenium Gold
    - State "CANCELED"   [2013-06-23 Sun 15:43]
Available for free, so worth a look.  I've always been fond of the concept
behind this game series (until they turned into action games, that is), but was
put off by the lacking design.  Now I'm considerably more forgiving about that
kind of stuff and much more into original concepts and complexity.  However,
I'm still not sure it's worth learning everything to play this, since it's very
prone to crashing.

Tried this and experienced constant crashes.  Will switch to Universal Combat
and try that instead.
*** DONE Morrowind (restart)
    - State "DONE"       [2013-07-09 Tue 04:00]
    - State "STARTED"    [2013-06-25 Tue 00:13]
I never actually finished Morrowind, or even played much into the main quest.
I've been meaning to get back into the game at some point.  Only using the
Tribunal expansion (since werewolves don't really belong in this game, or
really any game).  Skipping some of the mods I used last time.

Setup notes:
- Install Tribunal patch.
- Use the instructions and launcher linked here for widescreen support and to
  increase draw distance: http://www.wsgf.org/dr/elder-scrolls-iii-morrowind
- Use the =ra= command to reset NPCs when they start blocking doorways.

Playing a custom class that's almost exclusively magic-focused.  Unfortunately,
the game really isn't setup for hardcore perma-death play.

Collected a massive house full of stuff and finally beat the main quest and
expansion.  I'll save my saved game, but it's unlikely I'll ever come back to
it since the only things left to do are a few very minor quests with rewards
that are inconsequential to my uber character.

Morrowind is on my list of best RPGs of all time, but I'll have to admit I
didn't quite enjoy the experience as much as before.  That's mainly due to:
- The leveling system is a bit broken.
- A magic-based build is severely gimped due to limited means of regenerating
  MP.  Even with a Breton and Mage starsign, the maximum MP you can have is
  still quite low.  There are some ways around this, but by that time, you'll
  start encountering high resist/reflect enemies.
- Builds in general don't have as much variety as the large number of skills
  would suggest.  Everyone needs some kind of physical attack and the same
  basic support magic.
- The game is riddled with bugs.
- Replayability is very low.  Most of what I did here was almost exactly the
  same as my last run.  In retrospect, I probably should have just restored my
  old save.
*** DONE Endgame: Singularity
    - State "DONE"       [2013-07-09 Tue 04:02]
    - State "STARTED"    [2013-07-01 Mon 18:30]
A freeware game about the AI apotheosis, written with PyGame.  The source may
be worth looking at too.  http://www.emhsoft.com/singularity/

Okay concept for a story, but crappy concept for gameplay.
*** CANCELED Iter Vehemens ad Necem
    - State "CANCELED"   [2013-07-11 Thu 01:21]
This looks like it might be a little rough, but supposedly has a bunch of
original concepts, so maybe it's worth a quick look.
http://www.attnam.com/wiki/Main_Page

Not a bad idea, but not complex enough for a roguelike.
*** CANCELED Global Conflict Blue 1.25.001
    - State "CANCELED"   [2013-07-15 Mon 03:02]
A beta is available.

Tried this but it's not ready yet.  Looks promising though, so will have to
check back later.
*** CANCELED Ad Astra
    - State "CANCELED"   [2013-07-24 Wed 20:59]
A space exploration game with procedurally generated content.  Though it has
trading and mining, it's primarily combat focused, so it's unlikely I'll play
this much.  http://www.a-astra.com/index.htm

Tried this out a bit, but it's missing some of the core features I'd want in an
Elite-clone.  A shame too, since the massive universe is really great.  It just
needs to be populated with more interesting things to do besides blasting
stuff.
*** CANCELED Scalatron
    - State "CANCELED"   [2013-07-24 Wed 21:01]
A game where you program bots in Scala.  While I like the concept, I'll
probably skip this due to it being in Scala and the bots not really capable of
doing much interesting besides shooting and moving.
http://scalatron.github.com/

Skipping mainly due to not wanting to learn Scala.  If only it was in Clojure.
*** DONE Jane's Fleet Command
    - State "DONE"       [2013-08-02 Fri 11:27]
    - State "STARTED"    [2013-07-15 Mon 16:59]
Available in a $5 bundle with two other games on Steam.  Consider using the NWP
(Naval Warfare Project) mod for it.  Runs on Win7 64-bit, but has some
graphical glitches.

Notes:
- To get higher graphics settings working with usable framerates, disable the
  radar display with C-v.
- The game has a bad habit of crashing occasionally, so save often.

Naval wargame fans always cite this as the ultimate operational sim.  I agree
that it probably is, since there really aren't many competitors (only Naval
Warfare: Arctic Circle, Global Conflict Blue, and the Harpoon games come to
mind).  While there are a lot of really nice touches here, the actual game
experience leaves a bit to be desired for me.  I'm not sure what's missing, but
I don't feel like a grand strategist playing this.  Maybe it's just at the
wrong level of abstraction for that kind of thing though.  One could possibly
enjoy this purely from a sim perspective, but for me it lacks the complexity
necessary for that and the interaction is too far removed from reality.  I'm
now thinking the optimal strategic naval sim would be platform-specific, but
with your platform participating in fleet actions, carrying out orders, or
engaging solo in limited actions.  Dangerous Waters is close to this, but is
missing the first part.
*** DONE FO:NV Honest Hearts
    - State "DONE"       [2013-08-13 Tue 03:33]
    - State "STARTED"    [2012-08-12 Sun 20:49]
The second of the FO:NV DLCs.  The price was halved for these on Steam, so
I'll pick this one up.

In most ways, this is better than Dead Money, but I think I'd still rather be
playing ARMA 2.  I'm not sure if I'm just bored of Bethesda Fallout or if ARMA
has ruined my ability to enjoy more n00b-like FPS experiences.  With this
realization, I'll now be skipping the rest of the FO:NV expansions, which is
partly a shame, since supposedly the best DLC is Old World Blues.

As for the actual content, like the first expansion, it's not as polished as
stock FO:NV stuff.  The plot itself is pretty boring and has limited choices.
The new area is okay, but uninspired.  Overall, mostly a semi-yawn.
*** DONE Supreme Commander 1
    - State "DONE"       [2013-09-03 Tue 14:00]
    - State "STARTED"    [2012-03-24 Sat 20:28]
SC1 supposedly has various unique features that other RTSes don't provide.  I'm
not particularly crazy about RTSes in general, but since I got this for free, I
might as well try it out.  Also have the Forged Alliance expansion.

Beat the UEF campaign, but I'm skipping the expansion and other campaigns.
This is better than most other AAA RTS games for sure, but it's still not quite
for me.
*** DONE Neverwinter Nights 2 + MotB
    - State "DONE"       [2013-10-12 Sat 04:19]
    - State "STARTED"    [2013-09-10 Tue 14:21]
I've beaten the original game, but I'll redo it and then try the expansion.
Will probably do a challenge game of some kind.

Note: In 64-bit Windows, NWN2 has serious graphical issues.  These can be fixed
by using this: http://nwvault.ign.com/View.php?view=nwn2other.Detail&id=231
Install the files to the game directory and only launch the game from
NWLauncher.exe.

NWN2 is probably the best of the 3.5 games, despite it's many frustrating bugs.
The OC is only okay, content-wise, but MotB is significantly better (minus the
ending).  I'd like to play Storm of Zehir (since it allows you to create your
entire party from scratch), but it doesn't appear to be available by itself
anywhere.
*** DONE Neverwinter Nights Diamond
    - State "DONE"       [2013-10-24 Thu 21:49]
    - State "STARTED"    [2012-04-08 Sun 09:47]
Played through the original long ago, but since the full game + expansions can
be had for cheap on GOG.com, I'll play all of them again.

I may also check out the Player Resource Consortium mod (so I can play as an
oozemaster): http://www.nwnprc.com/

- NWN: The single player main campaign mission is as boring as I semi-remember.
  Power-gamed a solo human monk (instead of my typical mage or bard).  This run
  was solo in the sense that it was without henchmen or other pets/summons.
  Monks are definitely less interesting to play, especially alone.  I can see
  them being pretty awesome by this ruleset in a party, but I'll go back to
  being a mage with a party in the expansions.
- NWN:SoU: Too focused on annoying puzzles to be any good.
- NWN:HotU: Not perfect, but the best of the expansions.
- NWN:SG: Kinda crap.  Was never finished.
- NWN:WW: Seems like it might be okay, but I can't tell since it was never
  finished.
- NWN:KM: Not bad.
*** CANCELED SpaceChem
    - State "CANCELED"   [2013-10-28 Mon 20:39]
A design-based puzzle game.  Looks like it's probably one that involves some
thinking.

On closer examination, this doesn't look complex enough to be worth it.  I'll
just stick to real programming.
*** CANCELED Siege of Avalon
    - State "CANCELED"   [2013-11-01 Fri 13:48]
Try chapter 1 of this (free download).  If I like playing this, order the full
6 chapters.  Check here first though, since it might now be freeware:
http://soaos.sourceforge.net/

Though it looks like fun, I might skip this game due to it being rather buggy
and unfinished.  Some guy was still working on unofficial patches until 2011
though: http://blackflystudios.com/SiegeDev.html

Tried this but it wouldn't run for reasons unknown.
*** CANCELED Wing Commander
    - State "CANCELED"   [2013-11-01 Fri 13:51]
Maybe try the SNES port of this first.  Tried it on a keyboard, but it's not
playable that way.

Watched an LP of some of this.  Not sure why I thought playing this would be a
good idea.  It looks like a crap game.
*** DONE Spice Trade
    - State "DONE"       [2013-11-01 Fri 15:34]
    - State "STARTED"    [2013-11-01 Fri 15:14]
A freeware trading game that runs on Linux.  http://www.spicetrade.org/

This game is kind of a mess and definitely isn't interesting to play.
*** DONE Make It Good
    - State "DONE"       [2013-11-01 Fri 18:44]
    - State "STARTED"    [2013-11-01 Fri 16:16]
Supposedly one of the better mystery IF games ever.
http://ifdb.tads.org/viewgame?id=jdrbw1htq4ah8q57

Not as good as normally claimed and has too many hidden actions that no normal
person would ever find.  It's also a time-sensitive IF game, which is extra
annoying.
*** DONE DaiZy
    - State "DONE"       [2013-11-02 Sat 05:32]
    - State "STARTED"    [2013-11-02 Sat 01:14]
Had DayZ SP working long ago, but wanted to try it out again with the new
stuff.  Supposedly this is possible and just requires a bit of file management.

http://kodabar.blogspot.co.uk/2012/05/dayz-offline-single-player-practice.html

Works great, but requires symlinking (mklink /j) the Addons folder from the non
OA ARMA 2 folder.  The SupportCall addon used in the conjunction with this
fixes some of the missing features (namely, editing the game time).  Despite
missing several important features from MP DayZ, this reasonably accurately
recreates the experience and is less annoying than playing online.  It still
gets old pretty quick though.
*** CANCELED Starpoint Gemini
    - State "CANCELED"   [2013-11-02 Sat 18:18]
Supposedly a good space sandbox game.  Do a little more research before getting
it though.

Looked into this some and I'll pass on inviting all those bugs into my life.
*** DONE Cossacks II: Battle for Europe
    - State "DONE"       [2013-11-04 Mon 11:12]
    - State "STARTED"    [2013-11-02 Sat 20:44]
An RTS, notable for the number of units on screen.  Probably is a cross between
the Total War series and standard AoE-clones.

Eh, not as good as I thought it'd be.  Far closer to the other AoE-clones than
I'd hoped.  Might come back to this, but probably not.  I wish I had my $5
back.
*** CANCELED Command: Modern Air/Naval Operations
    - State "CANCELED"   [2013-11-04 Mon 12:10]
Looks decent and well researched, but I'm not sure I like this style of command
sim anymore.  Also is way too expensive.

Watched some LPs on this and will skip it for now.  Doesn't offer enough over
Fleet Command to be worth $80.
*** CANCELED StarDrive
    - State "CANCELED"   [2013-11-07 Thu 12:54]
Looks like a contender for a good modern 4x game.  Currently out, but has some
bugs and costs $30.  Will wait awhile for bug fixes and a price drop.

Looks like the developer abandoned this game with promised core features still
unimplemented and critical bugs unfixed.  Since he doesn't care, I don't
either.
*** CANCELED Thousand Parsec (single player)
    - State "CANCELED"   [2013-11-07 Thu 13:07]
Originally a project to create Stars! clone, this looks promising in that it
may capture some of the original's excellence.  This is still in active
development, so I'm not in any hurry to get started on it.

Setup a TP server, one or more AI clients, and the normal client on some
GNU/Linux box or VM.  See: http://www.thousandparsec.net/tp/downloads.php

Looked into this some and spotted some deal-breakers, notably timed turns and
the lengthy turn completion.  This isn't terrible, and I'll consider this later
if I need some 4x action on Linux, but there are better games in this genre
otherwise.
*** CANCELED Steel Panthers World War 2
    - State "CANCELED"   [2013-11-07 Thu 21:16]
A freeware tank sim.  Seems unremarkable except for the free part.

Better options are available for very little.
*** CANCELED Sword of the Stars 1
    - State "CANCELED"   [2013-11-08 Fri 08:00]
+ 3 expansions.  Supposedly the sequel totally sucks.

Previewed a little.  This looks well made, but is more of a casual 4x game, so
I'll pass on it for now.  I need a lot more complexity than this to be
entertained.  I'm also not a big fan of this UI.
*** DONE Douchebag Beach Club
    - State "DONE"       [2013-11-09 Sat 01:49]
    - State "STARTED"    [2013-11-08 Fri 17:59]
A Flash game, but looks pretty good.

Also played the other Douchebag games.  These are okay, but have a few bugs and
are dragged out for no good reason.
*** DONE PlaneShift
    - State "DONE"       [2013-11-09 Sat 13:42]
    - State "STARTED"    [2013-11-08 Fri 14:49]
Looks pretty terrible, but is free and runs on Linux.

There's a lot of problems with this game that nullify its chances of ever being
good, most importantly its lack of a coherent vision and awkward skill/magic
system.  It is, however, marginally playable and if you were a Linux-only MMO
junkie, this would perhaps be good enough for a minor fix.
*** CANCELED Freelancer
    - State "CANCELED"   [2013-11-16 Sat 23:53]
Maybe worth a play.  Looks a bit too casual-piloting focused for me though, but
the gameplay looks pretty good for that genre.  Check about running it in Win7
first.

Looked into it and I'm not in the market for arcade-style space combat, though
it seems to do that well.
*** CANCELED X Rebirth
    - State "CANCELED"   [2013-11-17 Sun 00:31]
Now available, but is currently a complete bug-fest.  Also, from what I've seen
so far, I'm considerably less excited about this compared to any previous
X-series game, as it looks pretty dumbed down.  Overall, it's a mess.

Apart from bugs and price, at least some of these problems will have to be
resolved before I get it:
- The highway system is a lame mini-game.  As silly as SETA was, I'd rather
  have that as I could ignore it.
- Computer-controlled life in the game is a thin facade.
- The UI is extremely console-like and has awkward radial menus.
- First person exploration is nice and all, but if you're not going to do it
  right, don't bother.  It doesn't really add anything to the core experience.
- 1 ship only.  This doesn't bother me as much as other X fans, but it's a step
  backwards for this series.
- The map sucks.
- Only 1 active weapon at a time, no turrets, and only 5 total weapons removes
  an important strategy element.
- There's only a fraction of the depth of the X3 games.
- Using DX9 would be okay if it wasn't AAA priced.
- Interior textures are crap.
- Repetitive, unskippable animations and dialog.
- Many useful hotkeys I relied upon (like targeting) have been removed.
- It's not going to be possible to build up then manage a huge trading empire.

It's highly unlikely the core design decisions behind some of these
deal-breakers will be resolved, but I'd probably accept some compromise for
around $10.  I'll probably have to pass on this completely and just hope the
next effort (or one of the other Elite-clones in progress) addresses these
problems.

After reading the developer posts on the game post-release, it seems the
current design is what they intend to continue with.  So, barring some
repentance on their part, it looks like I'll be writing off Egosoft.
*** DONE ADOM 1.2.0 PR18 + NotEye
    - State "DONE"       [2013-11-17 Sun 04:12]
    - State "STARTED"    [2013-11-17 Sun 01:17]
Latest ADOM with graphics.  Worth checking out to see how this looks, though I
can't imagine it improves anything.

I prefer the text version of this.  The graphics add nothing and actually
detract from the game in these ways:
- They're rather cartoonish, so the game loses some of the imaginative appeal
  to me.  I always visualized myself in a desperate struggle to survive.
- The perspective makes it harder to see things, including exactly which tile
  you're on.
- There's a few bugs when clicking on things, and the mouse panning makes the
  scrolling jerky if the pointer isn't centered.
- You can only see part of the map instead of all of it.

Otherwise the latest version supposedly has some improvements over the very old
version I was playing, so I'll upgrade to this for my installed text version.
*** DONE Napoleon: Total War
    - State "DONE"       [2013-11-18 Mon 22:30]
    - State "STARTED"    [2013-11-17 Sun 19:00]
Had this on Steam for years, but never got around to playing it much.  It's a
massive >23GB install, so I'll try to finish with it quickly then clear off
that space.

Pretty good, but the thing I want is the open campaign that Rome: Total War
had, where you can start as any country and take over the game world.  The
flexibility to do what you want in the scripted campaigns is ruined by the time
limits.  A shame, because all things being equal, I'd rather play in this time
period.  This was the same result as last time, and I'm not sure why I bothered
again.
*** DONE Planetfall
    - State "DONE"       [2013-11-19 Tue 01:41]
    - State "STARTED"    [2013-11-18 Mon 22:58]
A classic Infocom IF game.

Some good points, but has a lot of the same annoying puzzles (the kind with
colored buttons/levers/slots that don't integrate into the world) that plague
many Infocom games.  Would require a lot of trial and error (probably many days
of it) to actually beat normally, and I'm not going to bother.

I've concluded I only really like modern story-IF, and even then, only when
it's extremely well written.  Won't bother with any more of old puzzle IF.
*** CANCELED A Mind Forever Voyaging
    - State "CANCELED"   [2013-11-19 Tue 01:43]
An Infocom IF game.  One of the first heavy story-driving IF games and
supposedly quite good.  The manual is needed to play this for the table of
decoder codes (the built-in copy protection).

Possibly one of the more ambitious IF games ever made.  The left/right
political dichotomy (and the author's thinly veiled leanings) could be done
without though.

Skipping, due to being an old puzzle IF.  If I ever do want to play one though,
I'll try this one.
*** CANCELED Gary Grigsby's Pacific War
    - State "CANCELED"   [2013-11-19 Tue 02:34]
Available for free here:
http://www.matrixgames.com/games/pacificwar/features.asp

Ran this in a VM and it doesn't work properly due to mouse issues.  Probably
would work okay in DOSBox, but I don't want to install that just for this.
*** CANCELED Pathologic
    - State "CANCELED"   [2013-11-19 Tue 03:37]
If I like this, also try The Void.  Watch a few minutes of an LP of it first.

Watched an LP of some of this and I think I'll pass.  It looks okay, but it
doesn't have anything going for it that really compels me to spend $10.
*** CANCELED Spacebase DF-9
    - State "CANCELED"   [2013-11-19 Tue 03:57]
Looks like an okay sim-style game.  This looks pretty simple and needs to be
much, much cheaper (like around $5 sounds fair).

After more investigation, it doesn't look like this would keep my interest very
long.  There just isn't that much content here to be worth bothering with the
game, even if the price was significantly less.
*** DONE Helherron
    - State "DONE"       [2013-11-20 Wed 02:50]
    - State "STARTED"    [2013-11-19 Tue 16:05]
This looks like a suitably complex RPG and is a good example of what's possible
with Allegro.

Notes:
- Site with info: http://www.popehat.com/helherron/
- To sell stuff, enter trade and using the "," and "." keys to access character
  inventories.  Then highlight an item and use the "s" key.
- Search bodies, barrels, and other objects with "s".

Almost a good game.  If these things were fixed, it'd be playable:
- Searching for secret doors wouldn't be so bad if you didn't have to target a
  wall tile.  The Nethack method would've made this not suck.
- I like a challenge, but the difficulty of some encounters is completely
  impossible.  I min/maxed a full party, but ended up getting blocked at every
  point.  Farming up the necessary XP to level would take days.
- Some character builds don't have an appropriate sprite.
- Noob mobs like rats shouldn't inflict disease (totally gimping you) at 100%.
  This is very annoying when you don't have the cure disease spell yet.
- The title screen art makes me think this was written by a 12 year old.

This one goes in the "maybe play again if dreadfully bored" pile, but I
probably won't bother, since it's not compatible with modern OSes.  A shame,
because this kind of strategic, turn-based RPG is pretty unique and is a style
not available in any modern game (that I'm aware of).
*** CANCELED ADOM II (in development)
    - State "CANCELED"   [2013-11-20 Wed 03:05]
The ADOM author is apparently working on this now.  I'll ignore it until a 1.x
is out, since who knows when/if this will be finished.  Looks like there will
also be a payware version of it, which I'll surely pass on (no roguelike should
be payware as long as the best ones are still free).

Latest news on this is that the free version will be playable only via Java
WebStart.  I'll pass on this then.
*** CANCELED LambdaRogue
    - State "CANCELED"   [2013-11-20 Wed 03:08]
Windows version is most full-featured.  Looked promising, but I can't play all
the rogue-likes I want to, so I may skip this one.

Turns out this is an Angband-clone.  I'm no longer a fan of non-persistent
dungeon levels in a roguelike.
*** CANCELED Space Exploration: Serpens Sector (in development)
    - State "CANCELED"   [2013-11-20 Wed 05:05]
A space game for GNU/Linux styled after Strange Adventures.  Currently in
development, but preview builds are available.  Might wait a couple years and
see if it's further along before going through the trouble of trying it.  See:
http://www.metalbeetle.com/spaceexploration/

Giving up on this.  Probably vaporware, and even if not, has some design I'm
not fond of.
*** CANCELED Hegemonia: Gold Edition
    - State "CANCELED"   [2013-11-20 Wed 21:04]
Looks like it might be an interesting modern Stars!-style 4X game.  The Gold
Edition includes the original Legions of Iron and The Solon Heritage expansion.
Available for cheap on GOG, but I'm waiting for a sale.  Research this a little
more before buying.

Watched an LP.  Skipping this due problems noticed, including:
- Scale of star systems is all wrong.  The game has time compression, so
  there's no reason planets have to be right next to each other.
- Space is too bright.  Apparently the Earth is in the middle of a colorful
  nebula.
- Too fast-paced.
- More like Sins of Solar Empire than Stars!.
- The campaign is okay, but nothing great.

Probably would still play it if it was free, but this gaming experience isn't
worth $10 to me.
*** DONE Cyber Dungeon Quest
    - State "DONE"       [2013-11-23 Sat 23:15]
    - State "STARTED"    [2013-11-23 Sat 23:00]
Canceled this years ago due to it not working.  It's now distributed as a JAR,
so will give it a try.

Pretty terrible.
*** DONE Jagged Alliance 2 1.13
    - State "DONE"       [2013-12-22 Sun 00:57]
    - State "STARTED"    [2013-11-28 Thu 02:22]
The best turn-based squad tactics game I know about.  Grabbed for $5 on a Steam
sale.

Notes:
- The 1.13 mod changes this from an okay game into an awesome one:
  http://ja2v113.pbworks.com/w/page/4218339/FrontPage
- The Arulco Revisited mod makes the game world considerably more interesting
  (requires 1.13).  This requires launching from the INI Editor (there's an
  inconvenient workaround for this, but this works fine for me).
- The game has many, many bugs, some of which can completely ruin a saved game
  or lock up a computer.  Backup in many save slots and don't run other
  programs.
- Ja2_sp.ini is convenient for remembering preferred starting options.
- The 1.13 setting ENABLE_EMERGENCY_BUTTON_NUMLOCK_TO_SKIP_STRATEGIC_EVENTS
  should be set to true to prevent cutscene hangups.  Now, holding NumLock will
  skip them if they get stuck.
- Turn off "merc lights" to fix the jerky scrolling at night.
- For the infinite loading clock bug, sometimes Alt-Tabbing out then holding
  Alt or using M-Enter clears it up.
- To craft items, pick one component up in tactical view, RMB on the other,
  then C-LMB the default slots.
- Use Tab to cycle targeting rooftops.
- To use under-slung GLs, click the burst icon twice.
- Use S-n to do a full team smart goggle swap based on conditions.
- M-LMB in the sector inventory can be used to auto-sell stuff to locals, but
  I've set the sell cost to 10% of item value to balance out the full item
  drops (which really helps immersion).
- Use of the End key in combat shows line of sight information.
- Use Insert in tactical mode for a mini-map.
- A good battle workflow is the hit S-b at the beginning of a battle to drop
  backpacks (these reduce AP).  Once over, use C-S-f to return them, unload
  dropped weapons, and sort sector inventory.  Then use C-S-m to merge items.
- Once piles of ammo are in my hoard location, use C-S-a to convert it all to
  crates.  Crates are also useful for transporting lots of ammo in a vehicle.

While 1.13 and AR make this one of the greatest games of all times, I still
have a few complaints:
- Bugs everywhere.  I looked at the C source for JA2:UB, and while not
  terrible, it's a bit of a mess and the amount of bugs isn't surprising.
- Most of the additional music provided by AR is pretty bad.
- A lot of the really excellent 1.13 features are very obscure and/or
  inconvenient to use.  This is probably just a result of JA2 not being
  designed with them in mind.  A context menu on objects would make things way
  easier.
- Windowed mode works okay, but lacks the edge scrolling and leaving the
  tactical map manually.
- Though extremely well researched, there's still a few factual inaccuracies
  regarding weapons/items.  Also, there's some non-realistic quantification of
  various real world things (e.g. 10mm is more powerful than .40 S&W).
- Breaching rooms needs work.  Something like having a better ability to toss
  grenades through doors/windows would fix this.

I may play this again some day, perhaps once 1.13 has more features.  In that
event, I'll change the following:
- Tweak the settings some to allow for slower progression, as the increased
  enemy kills maxed this out a bit too early (see the "Game progress weights"
  section).
- Make my item stash at Estoni.  Then spares can be regularly carted to San
  Mona and Hamous can be stationed there to sell them every day.  I can also
  store unrepaired stuff in the junkyard, and only the repaired stuff and ammo
  in the airport, to spare myself a lot of manual sorting.
- I'll do a completely different collection of high WIS chars (except Flo,
  which I'll keep), only have max 2 IMP chars, and probably just run two main
  squads with perhaps one backup squad of free campaign characters.
*** CANCELED Jagged Alliance 2: Unfinished Business
    - State "CANCELED"   [2013-12-22 Sun 15:12]
This has significantly less sandbox features and a more linear plot with the
emphasis on combat strategy.  I'm less interested in this, but may still play
it since it came free with vanilla JA2.

Tried this a bit, but it's just not the same as JA2 1.13.
*** CANCELED Baldur's Gate: Enhanced Edition
    - State "CANCELED"   [2013-12-24 Tue 17:38]
Available on Steam, but I'll wait for the price to drop below $15, since I
already paid for it before.  BGII + ToB is also out now as well, and maybe
they'll bundle them together some time.

After more investigation, this is just BGTutu with a few extra characters (that
don't really integrate as well) added.  I will probably give the BG series one
last run, but there's no point in paying more money for it.
*** CANCELED Shadowrun Returns
    - State "CANCELED"   [2013-12-28 Sat 11:38]
Judging from what I've read online, my best guess is this is a light RPG with
turn based squad tactics and pretty shallow at both of these overall.  Given
that assessment, I'll wait awhile until the price drops, if I get it at all.
More content is also being released and sold separately, so maybe waiting for a
bundle is the better course of action, so as not to get DLC-milked.  There's
also a highly rated campaign called "Dead Man's Switch" to download.

Despite wanting a new Shadowrun RPG, I don't think this is it.  This has a few
redeeming qualities, but overall actually manages to have less depth than the
16-bit console games:
- Guns have infinite ammo.
- Matrix combat is exactly the same as normal combat, just with IC instead of
  humanoids.
- Tablet-centric UI.
- No proper save system.
- Extremely linear plot.

Another Kickstarter cash-grab milks nostalgic fanbois.
** Math goals
*** DONE statistics
    - State "DONE"       [2013-05-02 Thu 14:11]
    - State "STARTED"    [2010-11-03 Wed 16:00]
Need to refresh my statistics knowledge at least to the roughly intermediate
level it was in college.  In addition to this, I'll need the ability to do
statistics related mathematics in R.

Read:
- Dealing With Statistics: What you need to know.  Finished this.
- Introductory Statistics with R
- Pick some heavier math book on statistics from e-book collection.
- Detection of Abrupt Changes: Theory and Application

This won't make me a statistics expert, but I'll at least not be a total cl00b.

I've learned a lot of about statistics in the last 3 years.  While I still
think it'd be cool to understand it in more depth, I don't think the payoff is
there post-resigning from work.
** General life goals
*** CANCELED Do Nothing Day
    - State "CANCELED"   [2013-01-02 Wed 12:35]
For a whole day, do absolutely nothing.  That includes no reading, walking
anywhere, writing anything, using a computer, doing chores, talking to anyone,
or anything else that could even be remotely considered an activity.
Obviously, I'll need to do a couple things to stay alive, so these activities
are exempt (if done in necessity):
- Eating.
- Going to the restroom.
- Showering in the morning.
- Having a glass of water nearby, refilling it, and drinking from it.
- Brushing teeth and other hygiene.
- Walking between rooms (only provided I need to do so for one of the above
  reasons).
- Turning on/off lights.

By this standard, almost no one has had a day where they did nothing.  Why not
find out what it's like?  This might also help if ever in prison.

I suspect I'll find this uncomfortable.  But, as primitive humans were content
to often do this all day, perhaps modern life has overstimulated me.  There's
only one way to find out for sure.

After some thought, decided to cancel this idea.  I'm sure I'll have the chance
to do this plenty when I get old.
*** DONE financial independence
    - State "DONE"       [2013-05-17 Fri 12:59]
    - State "STARTED"    [2008-01-01 Tue 13:20]
Though starting this was actually a series of realizations and actions over
several years, I'm marking this started in January 2008, which is the month I
achieved $0 net worth.  I have a detailed org-mode plan for this elsewhere, but
it deserves an entry here too.  This is, after all, top priority for me, as
accomplishing the many things I really want to do in life are predicated on
making this happen.  Once I achieve FI and quit working, I'll cancel all
unfinished work-related tasks here and replace them with post-work items (of
which I already have a pending list for).

By my original plan, I am leaving work slightly early, but I consider what I've
achieved to be FI.  To hopefully close this gap and increase security even
more, however, I will be occasionally attempting to make money via non-job
methods.
*** DONE resign job
    - State "DONE"       [2013-05-17 Fri 12:59]
    - State "STARTED"    [2013-04-30 Tue 14:32]
This is tied to the financial independence task, but I also want to strategize
the specifics of my exit.

The plan:
- Tweak LaTeX resignation letter and turn it in.
- Leave on good terms with coworkers.  No point in taking any dumps on the
  desks of any sorry plebs.  The ones who've earned such treatment will get
  exactly what they deserve in the form of a life of employment, after all.
- Pass on all good-bye parties and such.  I've always done these when resigning
  in the past, but I think I'd rather just walk.  I'll also skip on sending out
  a clever goodbye email.  This one will just read "Bye".
- Don't bother expending any energy on the exit interview.  Just find out
  about:
  - W-2 mailing.
  - Clearances.
  - 401k.
- Take off 2 months to do the following:
  - Play video games all day.  I'll get sick of this pretty quick, probably in
    a few weeks at most.
  - Catch up on personal tasks.
  - Find a new apartment and move.
  - Sell unneeded crap.
  - Switch mental mode into complete independence.
  - Work on physical health.
  - Read a few books.

I'll quickly tire of being idle.  At that point it's time to get to the rest of
the tasks listed here, plus get started on my startup ideas.
*** DONE CHP
    - State "DONE"       [2013-09-17 Tue 00:11]
    - State "STARTED"    [2013-08-29 Thu 14:58]
I feel naked walking around outside unarmed most of the time.

Unfortunately, this is only good for 5 years and requires notification if
moving to a new county (adding yet another moving task).  Plus there are
annoying fees and navigating the necessary paperwork is a real timesink.  But,
the end result is worth the effort and now I'll always have my LCP or Detective
Special on me.
** Macro-goals
*** DONE year-end review for 2013
    - State "DONE"       [2013-12-31 Tue 22:46]
    - State "STARTED"    [2013-12-31 Tue 22:39]
Observations for 2013:
- Quit work late April.
- Downscaled life to approximate planned transition period.
- Minimized many possessions.
- Deworkified brain.  This included mostly non-productive tasks.  However, I
  did managed to knock out the vast majority of tasks in the fiction and games
  section.  Apart from the much needed break, there was much to be gained from
  doing this, but I probably overdid it some.

Goals for 2014:
- Try to earn at least $30k.  If it doesn't look like I'll be able to do that
  on my own by beginning Q3, I'll get a short term contract job, as I had left
  work earlier than planned originally anyway.
- Now that I'm settled into non-work life, starting at the beginning of the
  year, I'll "work" at least a full 8 hours a day on learning my planned
  programming skills or writing code.  This work is defined as stuff on this
  list, not including non-fiction, fiction, and games sections.  As with having
  a job, I'll give myself 2 days off a week (probably Sunday and Monday) to
  just play games or recover.  I've learned that operating without any
  structure whatsoever probably isn't going to work for me.
- Come up with a post-transition period plan and begin implementing it.


* Project List (2012)
** Books: Computer Science/Programming
*** DONE The Mythical Man-Month: Essays on Software Engineering
    - State "DONE"       [2012-02-04 Sat 16:11]
    - State "STARTED"    [2012-02-01 Wed 15:59]
Had been meaning to read this since about 1998.  I had already heard the
important points here from secondary sources, but this is still a good read,
minus all the religious references and uselessly outdated technical specifics.

I'm not sure I agree with all of the author's recommendations for project
management, however.  I would modify his =surgical team= approach only
slightly, but I think a case can be made on how that conflicts fundamentally
with some of the other standard waterfall model suggestions.  Even just
considering the good stuff though, I think salvation has to come from languages
(and in practice, excluding idiots from a team and paying talented people
enough to truly be interested), not finding some magical project management
structure or workflow.  I've had enough exposure to the later alternative
methodologies to know they are attacking the problem the wrong way.
*** CANCELED Mahout in Action
    - State "CANCELED"   [2012-02-14 Tue 15:18]
    - State "STARTED"    [2011-05-23 Mon 11:39]
Got an early access version of this book.

Read some of this, but it was pretty boring.  Since I deployed to Afghanistan,
I'm canceling this and hope I won't ever need it when I get back, as it seems
highly unlikely now.  Will reopen if that turns out not to be true.
*** CANCELED RapidMiner 5.0 manual
    - State "CANCELED"   [2012-02-14 Tue 15:19]
    - State "STARTED"    [2011-05-09 Mon 08:58]
Notes:
- Attributes can have roles, e.g. ID, target attribute, regular.
- Attribute types: nominal (enumerated), numeric, integer, real, text
  (unstructured free text), binominal (only two valid nominal values,
  e.g. yes/no), polynominal (more than two valid nominal values), data_time
  (date and time), date, time.

Read several chapters, but there's little to learn here of permanent value, as
this is just a boring end-user application.  Since I deployed to Afghanistan,
I'm canceling this and hope I won't ever need it when I get back, as it seems
highly unlikely now.  Will reopen if that turns out not to be true.
*** DONE The Cloud at Your Service
    - State "DONE"       [2012-02-14 Tue 15:20]
    - State "STARTED"    [2011-04-26 Tue 05:16]
A higher-level introduction to cloud computing and a survey of the current
state of the technology.  Only have this on Kindle.

Pretty boring, but if you didn't know anything about cloud computing and were a
bean-counter, it'd be a okay introduction.  Despite being rather high-level,
this has strangely-selected, super-simple code snippets (probably just to pad
out the book).  It's also very repetitive.

Only read a little over half of this, but I'm calling it done.  This is really
crappy book and obvious short term tech book fodder.  It might as well have
been called "Learn Teh Clouds in 24 Hours".
*** CANCELED Mars: A MapReduce Framework on Graphics Processors (paper)
    - State "CANCELED"   [2012-02-15 Wed 03:54]
Recommended by coworker.

Skipping this, since this isn't something I'll likely ever use now.  It was
going to be one of my research side projects while deployed, but it turns out I
don't have as much free time as I hoped, thus I have to be more selective about
how I spend it.
*** DONE A Critique of Common Lisp
    - State "DONE"       [2012-03-12 Mon 15:48]
    - State "STARTED"    [2012-03-12 Mon 14:43]
This is a post-CL committee critique.  I generally agree with all the
complaints voiced here.  The large number of undefined language aspects is
particularly annoying.
*** DONE A Brief Beginner's Guide to Clojure
    - State "DONE"       [2012-05-22 Tue 10:27]
    - State "STARTED"    [2012-05-18 Fri 09:22]
Starting with this one since it's quite recent and includes the latest
Leiningen setup.

http://www.unexpected-vortices.com/clojure/brief-beginners-guide/index.html

Notes:
- Instead of variables, Clojure uses reference types.  The four types of these
  are: Vars, Refs, Agents, and Atoms.
- Namespaces: A function my-func in file src/my-proj/core.clj has a fully
  qualified name of =my-proj.core/my-func=.  =my-proj.core= is the namespace.
  Local functions and ones in namespace clojure.core can be called with their
  short name.
- Clojure uses vectors instead of arrays.
- When looking for libraries, first check the standard library at
  http://clojure.github.com/clojure/index.html then contrib at
  http://richhickey.github.com/clojure-contrib/ then finally at Clojars.
- To use stuff from the standard library, just add a ~(:require
  [clojure.string])~ in the ns macro.  No project.clj edit is necessary.
- For contrib, add something like ~:dependencies [... [org.clojure/data.json
  "0.1.2"]]~ to project.clj and ~(:require [clojure.data.json :as cdj])~ to the
  ns macro.
- Maven Central hosts all contrib and Java libraries.  Find the Maven path for
  these at: http://search.maven.org/
- lein-marginalia can generate docs from a library, which is handy for actually
  using it without having to delve into the code for most situations.  To
  enable this everywhere by default, add it to ~/.lein/profiles.clj.  Then run
  =lein marg= and check the uberdoc.html file in docs/. See this for the latest
  version: https://github.com/fogus/lein-marginalia

An okay intro.  Not very comprehensive or anything, but good enough to get
your bearings in the Clojure ecology.
*** DONE Bigtable: A Distributed Storage System for Structured Data (paper)
    - State "DONE"       [2012-05-23 Wed 22:47]
    - State "STARTED"    [2012-05-23 Wed 22:12]
Recommended by my work's resident cloud guru as an overview of the fundamentals
behind Hadoop (which is primarily an open source copy of the design in this
paper).

I read some of this, but I disagree with the usefulness of reading this paper
for someone using Hadoop.  There's too many internal Google specifics here.
These are things that Hadoop core developers should care about, but I certainly
don't need to know them.
*** DONE Effective Java
    - State "DONE"       [2012-05-23 Wed 23:38]
    - State "STARTED"    [2010-07-16 Fri 16:15]
This book is full of useful info and no fluff.  Gave this a close read, but
didn't take notes or try to write programs along with it, so I might read it
again some day to make sure the tips here stick.  Definitely keep a copy of
this handy whenever writing Java, which is something I try to do as little of
as possible.

Update 2012-05-23: I made it through about 3/4 of this 2 years ago.  I haven't
written a line of Java since then, but kept this task open under the assumption
that I'd have to at some point.  Given my successful avoidance so far and no
prospects of having to write it in remaining time I have planned to have a job,
I think I can safely forget about this book.  If the worst does somehow happen,
I'll just reread it from the beginning, since I've forgotten a lot of it now.
*** DONE CS2008 Curriculum Update (paper)
    - State "DONE"       [2012-08-25 Sat 21:51]
    - State "STARTED"    [2012-08-23 Thu 08:42]
The ACM's recommended ideal computer science curriculum.  Or in the ACM's
words, "CS2008 should seek to identify the fundamental skills and knowledge
that all computing students must possess".

http://www.acm.org//education/curricula/ComputerScience2008.pdf

This white paper definitely has a designed by committee feel to it.  The good
parts mostly just confirmed I don't really have any major fundamental gaps in
CS knowledge (by their measure), at least for the stuff I care about.  However,
a lot of the stuff included here are things I would argue don't necessarily
belong (or at least aren't essential) in a CS course.  True CS knowledge isn't
as ephemeral as things like security, current social issues, and human-computer
interaction.  That stuff definitely belongs in an SE program, but it isn't
science.
*** DONE Clojure - Functional Programming for the JVM
    - State "DONE"       [2012-08-27 Mon 12:16]
    - State "STARTED"    [2012-05-22 Tue 11:07]
Looks like this is probably a good overview of language features.  The goal
here is to complete an intro of all the main concepts so that when I read the
book Clojure Programming, it's just detail filling.  Such a comprehensive intro
is included in my Clojure learning plan due to my chosen full text's lack of
exercises.

http://java.ociweb.com/mark/clojure/article.html

Notes:
- println auto-inserts spaces between parameters.  To avoid this, use the str
  function first.
- Use all-ns to get a list of loaded namespaces.

This is a good quick reference for getting stuff done.  Will keep it bookmarked
for that reason.
*** CANCELED Core Java, Volume 2: Advanced Features, 8th Edition
    - State "CANCELED"   [2012-08-27 Mon 12:19]
Don't want to write any Java anymore, so don't need this.
*** CANCELED Functional Programming for Java Developers
    - State "CANCELED"   [2012-08-27 Mon 21:00]
This book seems to be about applying functional techniques to OOP languages
like Java.

I'm canceling this since I don't write Java, any mashing of FP into OOP is
always a mess, and there are already plenty of real FP languages on the JVM.
*** DONE GNU Emacs Lisp Reference Manual 3.0
    - State "DONE"       [2012-08-27 Mon 23:38]
    - State "STARTED"    [2011-05-31 Tue 10:25]
At =C-h i d m Elisp=.  Reading this since I'm often stuck in ielm at work when
on a non-SLIME box.  This can definitely be frustrating once one realizes how
many CL niceties are lost.  I don't want to become an elisp guru, but a bit
more competence would make life a lot better.  This book is more of a reference
manual though, whereas the other built-in elisp book is more a proper
introduction.  I'd read that instead first, but it's broken on the RHEL distro
work uses.

Notes:
- Replace all ~(if (...) (progn ...))~ (if statements without else clauses)
  with ~(when (...) (...) (...))~.
- For readability reasons, use () when representing nothing or an empty list
  but nil when representing false.
- This is the place to go to look up documentation on various aspects of
  elisp.  The programming workflow includes:
  - Using eldoc-mode to get the lambda list for known functions.
  - C-h d <function-name> to get the function documentation.
  - C-h i d m elisp s <search-term> to get the full docs on that elisp subject,
    where search-term is a function name, or other unique string.
- Floating point arithmetic is non-exact, so use something like this for
  floating point comparison:
  (defvar fuzz-factor 1.0e-6)
  (defun approx-equal (x y)
    (or (and (= x 0) (= y 0))
        (< (/ (abs (- x y))
              (max (abs x) (abs y)))
           fuzz-factor)))
- A repeat..until loop can be written like:
  (while (progn
           (forward-line 1)
           (not (looking-at "^$"))))
- Use symbol-function to get a function definition.

Since I'm no longer stuck working in a SCIF all day, I'll end this task now.  I
read most of this, and learned a lot, but Emacs Lisp isn't something I really
want to focus on getting awesome at.
*** DONE Google Correlate Whitepaper (paper)
    - State "DONE"       [2012-09-10 Mon 10:59]
    - State "STARTED"    [2012-09-10 Mon 10:41]
An example of scalable dimensional analytics, using approximation to trade off
precision for speed.
http://www.google.com/trends/correlate/whitepaper.pdf

Notes:
- Given input data, can describe relevant queries.
- Uses an ANN (approximate nearest neighbor) algorithm.  This algorithm isn't
  too difficult and I could probably implement it myself.

I could see this method being very useful for stock market data.  Attempting to
find correlations between indicators/values would otherwise be an expensive
process and could never happen in near real time.  If I ever start doing some
market analytics, I'll put some time into applying ANN to it.
*** DONE Out of the Tar Pit (paper)
    - State "DONE"       [2012-09-17 Mon 01:26]
    - State "STARTED"    [2012-09-15 Sat 23:06]
A paper on software complexity, declaring two types of complexity (state and
control).

http://shaffner.us/cs/papers/tarpit.pdf

Excellent paper and a great reference for anti-TDD arguments (among other
things).  I would possibly reclassify the control complexity group as time
though, thus making the distinction between stateless control and stateful
time-dependence.  In this sense, time-base operations are just another form of
state.  I'm not quite sold on subscribing to an functional-relation programming
paradigm, however.  I think it's been proved by now that pure functional
programming's added accidental complexity is worth the trade-off.
*** DONE Ten Common Hadoopable Problems: Real World Hadoop Use Cases (paper)
    - State "DONE"       [2012-09-18 Tue 14:03]
    - State "STARTED"    [2012-09-18 Tue 13:44]
I have a pretty intuitive feel these days for the kinds of problems that don't
work or don't work well on MapReduce, but this may help formalize it some.

I thought this was going to be a real white paper, but it's actually hype-heavy
Cloudera spam.  There's some things wrong with it (e.g. data transformations do
not necessarily mean data loss).  Even this title is a lie since these aren't
really "common" problems, they're specific examples.  Most are pretty simple
too or aren't even big data problems.

Despite the stupid here, if companies were actually using Hadoop (and local
clouds in general) in these ways, then that would still be an improvement.
Maybe the private sector isn't as clueless as my environment, but I've only
ever seen clouds misapplied and projects fail because of it.
*** DONE ANSI Common Lisp
    - State "DONE"       [2012-09-18 Tue 14:15]
    - State "STARTED"    [2011-05-02 Mon 10:48]
I've read various parts of this in the past, but I'd like to start over and do
the whole thing.

Notes:
- eql compares if parameters reference the same object.  equal compares if they
  evaluate to the same value.
- Dotted lists: Normal lists are "proper lists", meaning the list x is proper
  where it's nil or the cdr x is also a proper list.  A dotted list is where
  the cdr is just a value.
- Graham's suggested comment system is the same as mine, except I don't use ;;;
  for function comments, but rather rarely for demarcating sections within
  files.

Finished reading.  Despite PCL's popularity, I still think this book is the
better CL intro in most ways.  I've done some of the problems so far.  I also
lost a few chapters worth of my solutions that were in my warzone notebooks
that are now gone, so redoing them would be needed.

Update 2012-09-18: I'm calling this done for now since I've been using Clojure
at work.  I know all the fundamentals of Lisp variants.  The only thing I'm
really missing is a lot of practice, ecological knowledge, and some of the
advanced topics.  I'm currently trying to decide whether to switch to Clojure
as my primary Lisp.  If so, I probably won't bother finishing these problems.
*** DONE Practical Common Lisp
    - State "DONE"       [2012-09-18 Tue 14:18]
    - State "STARTED"    [2009-08-29 Sat 18:10]
In the Lisp world, this book seems to have displaced "ANSI Common Lisp" as the
de facto introductory text.  It's pretty good at that, provided the Lisp
amateur follows it up with a book that contains actual exercises or devises his
own.  Macros, in particular, receive a well done survey herein.

(Mostly) SLIME tips picked up while coding here:
- In the REPL, use "," then cd to change *default-pathname-defaults*
- C-M-q re-indents region.  C-c M-q re-indents sexp at point.
- Setting *print-pretty* controls formatting of macro expansions.  SBCL
  defaults this to T.
- M-. navigates to function definition.
- Use (break) forms to insert breakpoints that SLDB will pick up.
- C-c C-w c: slime-who-calls.  List functions that call the given function
  (default: function under point).
- C-]: slime-close-all-parens-in-sexp.

Tried to program ahead of the examples some and took more detailed notes in
~/src/lisp/pcl.  While otherwise good, the lack of exercises makes it more like
watching someone else code than learning it by doing.  I intend to come back
and reread this later to make sure all the advice within sticks.

Update 2012-09-18: As mentioned in the ACL update, I'm currently undecided
whether I want to perma-switch to Clojure or not.  Both CL and Clojure have
their pros/cons, so it's a tough choice.  If I switch back to CL, I left off
here at the CLOS chapters.
*** DONE On the Cruelty of Really Teaching Computer Science
    - State "DONE"       [2012-11-28 Wed 19:28]
    - State "STARTED"    [2012-11-28 Wed 17:49]
Text from a speech by E.W. Dijkstra proposing introducing programming through
an uninterpreted formal system.

An okay read.  Unfortunately, not only has this advice been ignored, we've
actually gone in the opposite direction since 1988.
*** DONE Hadoop Real World Solutions Cookbook
    - State "DONE"       [2012-12-10 Mon 10:03]
    - State "STARTED"    [2012-10-15 Mon 10:08]
Doing a technical review of this book.  Also need to write a blurb about self
for inclusion in it somewhere.

This is a recipes book, and like pretty much all of them, it's really bad.
These are short shelf-life impulse buys for junior developers, complete n00bs,
and guys who just got a job in something they don't know anything about.  In
retrospect, I'm a bit ashamed to be involved in making one and will not
participate in them in the future.
** Books: Math
*** CANCELED Elementary Number Theory
    - State "CANCELED"   [2012-09-17 Mon 11:58]
    - State "STARTED"    [2011-06-13 Mon 06:22]
This is an old (1920s) hard copy book I had laying around.  Reading it on the
DC Metro, since I need a book to read and I didn't plan to do the exercises in
here anyway (they're okay, just suboptimal time investments).  So, I'll get
what I can out of it with as close read as one can manage while seated within a
sweaty armpit of humanity.

Gave up on this as it just jumps from one random theorem to another without
much overall structure.  This isn't a useless book, but I'm sure I can find a
better one on this subject.  However, I've found that number theory doesn't
really interest me as much as it used to, so I'll probably at most do a quick
modern overview of it and call it done.
** Books: General Non-fiction
*** DONE The Science of Getting Rich
    - State "DONE"       [2012-01-31 Tue 14:52]
    - State "STARTED"    [2012-01-31 Tue 02:50]
Self-help nonsense and religious k00kskr33d.  No useful info here.
*** DONE Almost Perfect
    - State "DONE"       [2012-02-09 Thu 15:29]
    - State "STARTED"    [2012-02-05 Sun 14:58]
The story of the rise and fall of WordPerfect.  Online at:
http://www.wordplace.com/ap/

While not expertly written and not from the optimal perspective, this is still
a really good read.  A good case study of corporate growth in the software
industry and the almost inevitable fall of empires within it.
*** DONE Future of Science
    - State "DONE"       [2012-03-03 Sat 20:29]
    - State "STARTED"    [2012-03-03 Sat 21:10]
By Ben Bova.  More of an essay.  A little over-optimistic and outdated, but
fusion reactors definitely rule.
*** DONE Ghost Wars
    - State "DONE"       [2012-03-10 Sat 05:45]
    - State "STARTED"    [2011-08-25 Thu 22:41]
A recent military history of Afghanistan up to 2001.

If I don't finish this by the time I leave Afghanistan, cancel it.  I'm pretty
sure I won't ever care about the craphole again after this.

Update: Never finished this in time, which is okay by me.
*** DONE The Constitution of the United States of America
    - State "DONE"       [2012-03-09 Fri 15:36]
    - State "STARTED"    [2012-03-09 Fri 14:37]
Written in plain English, which always made me wonder why Constitutional
scholars were needed to interpret it.  While a little too expansive in scope,
it seems like this would make for an okay country to live in (at least, by
comparison), were someone ever to try doing so.
*** DONE The Prince
    - State "DONE"       [2012-08-08 Wed 05:22]
    - State "STARTED"    [2012-01-20 Fri 15:11]
Recommended by an NGA rep I met in Afghanistan.  He claims this is applicable
as a guidebook for interaction with groups and individuals in his work and side
businesses.

While most of these examples are no longer timely, there's some interesting
observations here.  The parallels between conquering 16th century France and
modern Afghanistan are hard to miss.  Though the reasoning is a bit sloppy,
it's certainly better than most modern texts in what's now considered political
"science".

Read most of this, and I think I get the gist of it enough.  I'm resisting
being a completist on this book, due to its high ratio of useless info.
*** DONE Phrack
    - State "DONE"       [2012-08-08 Wed 05:48]
    - State "STARTED"    [2012-03-09 Fri 12:19]
Read the whole collection, but skip anything obsolete or boring.
http://www.textfiles.com/magazines/PHRACK/

After reading a lot of useless garbage, decided to start reading backwards from
the latest issue instead and just quitting when stuff gets hopelessly
outdated.  Gave up after finding only more garbage.  My analysis is that there
really isn't much to learn here, unless you were really into security (which
I'm not).  Even then, a lot of the actual info here is just lifted from other
sources, and I'm not convinced most of the writers of this aren't semi-n00bs
themselves.  Like, if you aren't smart enough to convert all your linebreaks to
either the Unix or Windows version, then I probably don't have much to learn
from you.
*** DONE The History of the Decline and Fall of the Roman Empire
    - State "DONE"       [2012-08-08 Wed 05:59]
    - State "STARTED"    [2012-06-10 Sun 19:59]
Listening to the Librivox audiobook of this while in the car.  Like all
audiobooks of any worth, I'll listen to this at least twice (my reasoning for
this is that since I only listen to audiobooks while multitasking, the second
listening fills in any attention gaps).

The main value I got from this was experiencing the really awesome writing.
I've also learned that I'm not very interested in the particulars of the
history of ancient Rome.  I'm giving up about 75% in though, since I can't bear
to listen to some of the really annoying Librivox readers anymore.  I'll just
go back to thinking in silence while driving.
*** DONE Getting to Yes: Negotiating Agreement Without Giving In
    - State "DONE"       [2012-08-28 Tue 00:16]
    - State "STARTED"    [2012-02-21 Tue 12:08]
This is short enough to be worth the risk of a couple nights of reading.

What I can maybe take away from this book is illustrated by this example of
negotiating for rent.  I wouldn't haggle directly on price in the standard way.
Instead, I'd say something like, "Your employer wants to get this room
occupied.  I would maybe like to occupy it, as it seems acceptable to me.
Let's work together on making this deal happen in a way that's acceptable to
all parties."  This does two things: It separates the employee from his
employer and it makes it so you're both working together to make this happen.

This book has successfully convinced me that confrontational negotiating is
almost always unnecessary.  The only exception to this is when the other party
insists on thinking that such a method is the only way and employs it.  In most
of those situations, it's probably better to just walk away if explicitly
stating a cooperating alternative approach doesn't work.
*** DONE Die Broke: A Radical Four-Part Financial Plan
    - State "DONE"       [2012-08-28 Tue 00:16]
    - State "STARTED"    [2012-03-15 Thu 09:46]
Seemed like it might have an idea or two I could use, but I mainly started this
to pass the time on a 13 hour flight.

It's okay, but a lot of the info here is pretty basic and others I actively
disagree with.  I didn't finish this, but read enough that I consider it done.
*** CANCELED Language, Truth, and Logic
    - State "CANCELED"   [2012-09-17 Mon 00:47]
This is the original philosophical work introducing the concept of
"verifiability".  While of historical interest, it has since been superseded by
Popperian falsifiability.

Read a little, but this is pretty much crap.
*** DONE The Colt 1911 Pistol
    - State "DONE"       [2012-09-26 Wed 17:00]
    - State "STARTED"    [2012-09-26 Wed 12:58]
I had recently picked up a Colt Government Model.  I'm already reasonably
familiar with standard 1911 operation, parts, and history, so this is just for
entertainment.  This is an Osprey book, so I don't expect to learn much.  They
tend to be rather shallow and picture-heavy.

This is about average for an Osprey book.  It may be a little sloppier than
normal, since I spotted at least one (very minor) technical error and it
contains personal references to the author.
*** DONE The True Believer: Thoughts on the Nature of Mass Movements
    - State "DONE"       [2012-09-26 Wed 17:50]
    - State "STARTED"    [2012-09-17 Mon 01:36]
A pre-memetics attempt at explaining mass movements, written by Eric Hoffer.
This is also on Allen Scarbrough's list of 25 books to "know just about
everything", which I may read more (but not all) entries from.

Despite lacking the benefit of decades of memetics thought, it's hard to find
much wrong with the content here, and this is full of great observations.

I've been thinking about how one would go about attacking a memeplex (either in
an individual or in society), and this book's emigration suggestion for
tackling it at a societal level is a good point I hadn't considered.  Perhaps
in a world absent of travel restrictions, memeplexes would have a much harder
time taking root (though I might argue if a global parasitic memeplex arose, it
could be quite dangerous).
*** DONE Predictably Irrational: The Hidden Forces that Shape Our Decisions
    - State "DONE"       [2012-10-14 Sun 12:19]
    - State "STARTED"    [2012-10-01 Mon 10:30]
A analysis on irrational behavior that is fairly universal.  The problem of not
just not questioning certain decisions, but not even thinking they are
something that is to be questioned, is something I come across regularly when I
discover yet another false or suboptimal implicit axiom I've been operating
under.  Maybe this book will help some in finding any remaining ones, making it
easier to spot them, or at least provide useful models for thinking about them.

Notes:
- Relativity: Watch out for decoy comparison goods/services.  These exist only
  to frame the internal comparison being made by the buyer.
- Price anchors: Always be wary of these.  It's probably safer to just default
  to some near ridiculous value for any goods or services and use that as my
  anchor, thus negating any externally introduced ones.  Even question whether
  something should be paid for at all.  Perhaps the anchor should be zero or
  maybe I should get paid for it (driving is a good example of something people
  pay a lot of money for, but wouldn't accept a job doing).
- Remunerate people with small gifts instead of money.  Money remunerations
  open up market analysis of pay.  Offering nothing makes the transaction based
  on social norms.  Giving a gift in exchange could be a way to get services
  that ordinarily would only be done by paying.  Gift value also matters
  little, provided it's not mentioned.
- This claims the most effective counter-procrastination is to impose
  artificial deadlines (preferably with actual penalties).  I agree with this
  and use this method sometimes for really hard stuff, but I still think it's
  symptom-treating.
- Closing doors is often more a net benefit than keeping too many open.
  Probably good advice for me with my many technical interests.

Complaints:
- The fact that actors (even a majority of them) in a market are misinformed or
  unable to properly value goods does not mean that a free market is
  impossible, it just means that it will be suboptimal proportional to the
  stupidity of the individuals composing it.  Furthermore, a free market
  doesn't mean that you can count on the market as a signaling mechanism for
  optimizing your own utility.  A market is free simply when it's not distorted
  by regulation, laws, and taxes.  You'd hope an economist would know this.
- Too many personal narratives.  The worst of this are personal stories and
  opinions I really couldn't care less about.  Less awful but still annoying is
  the over-focus of experiments the author's been involved in.  I want to hear
  about the best illustrations of these ideas, not just ones that glorify one
  guy's career.
- Too much useless side info.  Stay on topic and stop wasting my time.
- Overall, I don't really appreciate the sloppy, casual writing here.

Overall this book is pretty good in some places, but not that useful (at least
for me) in others.  The latter situations are partly because many of these
things are already concepts I'm viscerally aware of and have been thinking
about for years.
** Books: Fiction
*** DONE Rogue Moon
    - State "DONE"       [2012-01-07 Sat 15:38]
    - State "STARTED"    [2011-12-23 Fri 16:22]
Worth reading, but the ending just kind of drifts off.  More of a character
study, with the hard scifi just being background.
*** DONE Eifelheim
    - State "DONE"       [2012-01-19 Thu 11:05]
    - State "STARTED"    [2012-01-02 Mon 04:03]
Well researched and well written, but also long-winded and boring.
*** DONE The Day the Aliens Came
    - State "DONE"       [2012-03-04 Sun 12:01]
    - State "STARTED"    [2012-03-03 Sat 21:15]
Not great, but the unpredictable writing style here is interesting.  Might give
another work by Robert Sheckley a chance sometime.  This was just a short
story, but he has some novels too.
*** DONE Neil Gaiman short stories
    - State "DONE"       [2012-03-04 Sun 19:06]
    - State "STARTED"    [2012-03-04 Sun 12:22]
Gave a few of these a try since I'm considering reading American Gods.
- Feeders and Eaters: Okay, but doesn't really go anywhere interesting.
- I, Cthulhu: Mildly entertaining, I guess.  Could've been done much better,
  but does have a few good examples of Lovecraftian writing.
- Snow, Glass, Apples: Kinda crappy.
- Eaten: Whatever the intent was here, it didn't work.
*** DONE Brian Aldiss short stories
    - State "DONE"       [2012-03-09 Fri 19:54]
    - State "STARTED"    [2012-03-06 Tue 13:09]
- Apogee Again: Meh.
- A Whiter Mars: A couple of random rants delivered in conversation form.
  Doesn't work well at all.  This author should just get a blog for stuff like
  this.
- Beef: More shameless preaching.
- Dark Society: Not that great.
- Galaxy Zee: Mmph.
- Headless: Bleh.
- III: Okay.
- Marvels of Utopia: Same formula as A Whiter Mars.  Still doesn't work.
- Sunlight: Crap.
*** DONE Who Needs Insurance
    - State "DONE"       [2012-03-09 Fri 17:41]
    - State "STARTED"    [2012-03-09 Fri 15:39]
Not terrible, but also not good.
*** DONE Understand
    - State "DONE"       [2012-05-16 Wed 00:07]
    - State "STARTED"    [2012-05-15 Tue 23:03]
A novelette by Ted Chiang.
http://www.infinityplus.co.uk/stories/under.htm

This is an awesome story and possibly one of the best pieces of fiction I've
ever read.  Does a great job of getting around the "can't write a character
smarter than yourself" syndrome and is a creative speculation on the nature of
super-intelligence.

I'm impressed.  I'll keep an eye on this author to see if he produces anything
else.  I may also pick up a hardcopy of his book "Stories of Your Life and
Others".
*** DONE Scottish Folk and Fairy Tales
    - State "DONE"       [2012-05-20 Sun 03:35]
    - State "STARTED"    [2011-10-01 Sat 14:48]
These stories are pretty stupid, but this book came in handy while stuck with
dead laptop batteries, plus it was small enough to carry along as backup.
*** DONE The Stars My Destination
    - State "DONE"       [2012-05-25 Fri 09:00]
    - State "STARTED"    [2012-04-22 Sun 00:14]
Found this on a list of supposedly great hard scifi novels.  It's not terrible,
but bad enough for me to quit at chapter 8.

This has a problem that kills a lot of books for me.  The problem is with
unintelligent characters, especially main characters.  A book that focuses on
the details of someone dumb just isn't interesting unless it makes up for it
significantly in some other way.  The main problem with that is that stupidity
is universally accessible (I can just go outside or read Usenet if I want to
experience that).  The books I really like all have in common some insight into
intelligent thought.  Of course, this means that the author himself will have
to be someone intelligent too (reference my theory that it's impossible to
convincingly write a character smarter than you).  This means that most books
are effectively trash, but that's just accepting reality.  Starting now, I'll
be insta-quitting any fiction that has a dumb main character.

While I'm changing my reading tasking rules, I'm also adding the requirement
that I have a rationale for adding any task.  If I don't have an expectation
for what I intend to get out of it, then I'm probably wandering aimlessly.
This goal may not be met of course, but analyzing what went wrong in either my
expectations or its execution will allow optimization of future tasking.
Retroactively applying this to all un-started tasks.
*** DONE Destination: Void series
    - State "DONE"       [2012-05-25 Fri 09:01]
    - State "STARTED"    [2011-10-22 Sat 13:10]
A four part series by Frank Herbert.
- Destination: Void: Great book.  Not perfect, has some technical anachronisms,
  and I'm not sure the ending works, but reading this was definitely a
  pleasure.  Among the best fiction I read in 2011.
- The Jesus Incident: A sad, unworthy sequel.  This storyline probably should
  have just ended.  Quitting half-way in.
- The Lazarus Effect: Canceled.
- The Ascension Factor: Canceled.
*** DONE Destiny's Children series
    - State "DONE"       [2012-06-28 Thu 09:41]
    - State "STARTED"    [2012-06-24 Sun 00:29]
At least Coalescent looks like it might be interesting.  I like BDO (artifact)
hard scifi, and since it's so rare, I'll give this a look.  My other attempts
at Baxter works have all been disappointments though, so the hand will be on
the eject button.
- Coalescent: Has the overused trope of interleaved plots from different time
  periods in alternating chapters.  Some of this is okay, but it's mostly
  dreadfully dull.  A shame, since the subject matter (eusociality) is actually
  interesting and deserves better than this.
- Exultant: Read 18% of this but it's garbage, so I'm quitting this series.
- Transcendent: Skipping.
- Resplendent: Skipping.

The generic titles of these books reflect the generic nothing that happens in
them.  Occasionally, Baxter books deal with interesting subjects, but apart
from main idea selection, his writings pretty much suck.
*** DONE Incandescence
    - State "DONE"       [2012-07-16 Mon 01:57]
    - State "STARTED"    [2012-07-01 Sun 22:37]
The most potentially interesting of unread Greg Egan novels.

A bit dull and uneventful.  Quite the letdown.  Half of the novel involves a
society too far in the future, and the other half involves one too primitive to
be interesting.  This probably could have worked had it been a mystery novel
regarding the enigmatic galactic core civilization.
*** DONE The End of Eternity
    - State "DONE"       [2012-08-01 Wed 09:06]
    - State "STARTED"    [2012-07-18 Wed 00:54]
Another Asimov book, which probably means it'll be worth reading.  Normally, I
would give a book on time travel and social engineering a pass otherwise.  This
seemed the most promising of his works unread by me.

Read 25% of this, but it seemed to be going nowhere and was in a thoroughly
non-compelling universe.  Maybe it gets awesome later, but there's no
indication of that, so I'm giving up.
*** DONE Manna
    - State "DONE"       [2012-08-24 Fri 23:27]
    - State "STARTED"    [2012-08-24 Fri 21:56]
Speculation on the effects of increased automation.
http://marshallbrain.com/manna1.htm

Not a bad idea for a story, but is horribly written.  Despite the complete lack
of writing skills, the first half of this is readable, but then it gets
completely stupid and never goes back.
*** CANCELED Zendegi
    - State "CANCELED"   [2012-08-27 Mon 23:30]
This appears to be the least interesting of the remaining unread Greg Egan
books, largely because I don't care about Iranian politics.  I'll give it a try
though.

Canceling due to my new rule about not reading politics fiction.
*** CANCELED Teranesia
    - State "CANCELED"   [2012-08-27 Mon 23:31]
The second most potentially interesting of unread Greg Egan novels.  I'm a bit
tepid on the South-East Asian politics much of the book focuses on though.

Canceling due to my new rule about not reading politics fiction.
*** CANCELED The Sky Road
    - State "CANCELED"   [2012-08-27 Mon 23:34]
    - State "STARTED"    [2012-08-08 Wed 06:16]
I'd actually started this some unknown time last year.  It's been rather
uninteresting so far though.  Will give this a focused final effort.  I may
cancel future efforts on MacLeod books though, due to his annoying politics (if
I cared about politics, I'd read books about that, not hard scifi).

Quitting due to the politics.  This seems like it may have been okay, but I
can't seem to muster the motivation to wade through the leftist crap.

New reading rule: Insta-quit anything written by someone with an obvious left
or right-wing political bias and who can't keep their boring party-line
politics out of a story.
*** CANCELED The January Dancer
    - State "CANCELED"   [2012-08-28 Tue 00:58]
Found this on a "best of" list and it stuck out since it was potentially
another BDO scifi novel, though I'm prioritizing this lower due to it taking
place too far in the future.

Couldn't find a copy and it's not worth buying given the likelihood of suckage.
*** DONE Hull Zero Three
    - State "DONE"       [2012-09-11 Tue 23:40]
    - State "STARTED"    [2012-09-09 Sun 00:54]
Another generation ship novel.

This is okay, but not really my thing.  It's less of a scifi novel, and more of
an epic journey type story.  The resolution of the mysteries in it aren't all
that amazing either.  Not really worth the time, at least for me.
*** DONE The Inverted World
    - State "DONE"       [2012-09-15 Sat 21:22]
    - State "STARTED"    [2012-09-11 Tue 23:59]
Looks like this could be an interesting concept for a hard scifi novel.

Competently executed, but not very interesting overall.  Has the same problems
most post-apocalyptic novels have where any hard scifi is drowned out by
survivalism.
*** DONE The World at the End of Time
    - State "DONE"       [2012-09-17 Mon 00:46]
    - State "STARTED"    [2012-09-16 Sun 11:56]
Similar concept to Tau Zero.  The author, Frederick Pohl, might have some other
good works too, if I like this one.  In particular, Gateway looks good.

The ETI in the book is pretty annoying.  Otherwise, this is pretty good and
filled with decent hard scifi.  It's short of being really good though.
*** DONE Robopocalypse
    - State "DONE"       [2012-09-30 Sun 14:38]
    - State "STARTED"    [2012-09-26 Wed 20:46]
A hard scifi AI apocalypse novel.

Pretty much a direct rip-off of World War Z, and not really that great of one.
It's readable, but not worth the time.
*** DONE Forgotten Realms: Icewind Dale series
    - State "DONE"       [2012-11-09 Fri 13:52]
    - State "STARTED"    [2012-10-16 Tue 01:35]
I like the IWD lore in the games (mostly), so maybe give these a try.
Supposedly these are good for books in the ADnD genre, but I'm not sure I can
trust fanboi opinions.
- The Crystal Shard: Has some okay qualities but is mostly silly and juvenile
  with a predictable plot and stereotypical, 1-dimensional characters.  Decided
  to finish this, but not read the other two.  The other books in this series
  don't actually take place in IWD either.
- Streams of Silver: Skipping.
- The Halfling's Gem: Skipping.

I think I'm maybe outgrowing this mythos.  There's much good stuff in it, but
it's tainted by a lot of crap too (e.g. original content is mucked up by an
affliction of Fantasy Kitchen Sink).  The editions are also moving in the wrong
direction, towards a generic FF-style level grind.  I guess I got into it
because of the BG and IWD series, but since no games like those have been made
since then, I probably have as much reason to follow it as before them.  There
are more creative fictional universes.  However, I don't seem to enjoy
immersion in any like I once did (like 10 years ago), mostly due to being able
to find so many glaring faults.  In any case, I'll probably ignore ADnD from
now on except for a final IWD and BG series playthrough at some point.
*** DONE The Listeners
    - State "DONE"       [2012-11-27 Tue 02:50]
    - State "STARTED"    [2012-11-25 Sun 01:02]
Another hard scifi ETI signal novel.

Has some decent writing at points, but a lot of bland filler.  More importantly
though, this is really more about the upright character of scientists and less
about anything scifi.
*** CANCELED The Virginian
    - State "CANCELED"   [2012-12-01 Sat 14:18]
    - State "STARTED"    [2012-11-29 Thu 09:35]
I've been meaning to at least try one western novel.  This is supposedly a
classic example of it.

This is unreadable, dull pablum, so I'm quitting early.
** Technology and software
*** CANCELED Android SDK
    - State "CANCELED"   [2012-02-15 Wed 04:38]
    - State "STARTED"    [2010-09-03 Fri 10:45]
Got a Samsung Intercept with Android 2.1.  While I have no intention of doing
any real development for the platform at the moment, I'll at least check it out
to see if it's something I might want to do for some spare cash later.  Only
setting this up on Windows at the moment.

Remaining subtasks:
- Root phone.  Supposedly this is a tutorial:
  http://www.sdx-developers.com/sdx/how-to-root-a-samsung-moment-with-2-1-firmware/
- Delete lame apps from apps list.

Notes:
- Grab latest SDK from http://developer.android.com/sdk.  Unpack and run
  installer.  Force download through HTTP if necessary.
- bsdroid is an Android SDK port for FreeBSD, but it's not yet complete.  Might
  install this just to do development on FreeBSD, since most everything is
  working for that, but installs will have to be done from Linux or Windows.

Update: Canceling this due to not having a smart phone anymore.  For now, I'm
going to use my work Blackberry, and when I have to give that back, I'll use a
pre-paid dumb phone.  The only way I'll reverse this decision is if one of
these things happens:
- I get into mobile development (which I'm really not interested in).
- Pre-paid smart phones become available for competing prices to the dumb ones.
- I find myself with more than enough money to fund the ownership of one.  This
  can easily cost $50k in today dollars over the course of the rest of my life,
  and I'm not currently willing to work that much more just for a phone with
  crappy apps I never use.
*** DONE haskell-mode update
    - State "DONE"       [2012-04-01 Sun 20:48]
    - State "STARTED"    [2012-04-01 Sun 20:01]
Lots of nice new features were added.  Read this:
http://www.haskell.org/haskellwiki/Haskell_mode_for_Emacs

This breaks my existing haskell-flymake.  As a result, I'm going to stick with
the old version for now.  However, I added a script called u_haskell-mode to
update to the new GitHub-hosted version later if I want though.
*** DONE urxvtcd
    - State "DONE"       [2012-05-02 Wed 16:14]
    - State "STARTED"    [2012-05-02 Wed 16:12]
Use this instead of urxvt.  Add the -ls flag to it.  Make changes in
~/xmonad/xmonad.hs.  Remove -sl flag.  Add =URxvt*saveLines 10000= to
~/.Xdefaults.
*** DONE unittest Python module
    - State "DONE"       [2012-05-03 Thu 13:36]
    - State "STARTED"    [2012-04-18 Wed 09:01]
http://docs.python.org/library/unittest.html

Example in practice/python/home_range.py.
*** DONE oh-my-zsh
    - State "DONE"       [2012-05-03 Thu 15:10]
    - State "STARTED"    [2012-05-03 Thu 13:53]
ZSH is my second most used user application after Emacs, so it makes sense to
dedicate massive amounts of time into tweaking it to perfection.

Cloned the project to ~/src/shell/oh-my-zsh.

Update 2012-05-03: Instead of using oh-my-zsh directly, I've decided to just
pull out of it the things I wanted.  The reasons for this are:
- New shells start about as fast as before this way.  With the full collection,
  there's a noticeable startup lag on my underpowered FreeBSD machine.  Apart
  from saving time, I'm also not source-ing a ton of scripts and burning clock
  cycles for nothing.
- The collection has many, many things I don't want.  There's a provided
  directory to override things with your custom settings, but instead of
  setting things to things you don't want, then putting them back, it makes
  more sense not to do what you don't want in the first place.
- I don't want to fork my own version of this repo.  The only way the
  collection was acceptable to me was to go in and modifying things in various
  scripts.
- I don't want to have new installs depend on anything outside of .zshrc.  Now
  I get the functionality wanted but without the cost of all those external
  dependencies.

So, .zshrc has been updated with git and SVN status support and a much better
prompt theme.  These were really the only things I wanted.  Created a follow-up
task for the next step in ZSH tweaking.
*** DONE PuTTY Unicode
    - State "DONE"       [2012-05-03 Thu 22:33]
    - State "STARTED"    [2012-05-03 Thu 22:30]
Just making a note here of this so I don't forget.  Go to Change
Settings|Translation and set it to UTF-8.

This lets me switch back to using the » character in my prompt.
*** DONE Leiningen (setup)
    - State "DONE"       [2012-05-04 Fri 14:18]
    - State "STARTED"    [2012-05-04 Fri 13:19]
Despite Leiningen's popularity, the script itself is pretty sloppy, at least
right now.  I don't have time for a full learning of it yet, but I want to lazy
load that anyway, in case I end up not using it much.  From first glance
though, it seems to get the job done pretty good and has a nice CLI syntax.

Steps:
- wget https://raw.github.com/technomancy/leiningen/stable/bin/lein
- Put this in ~/bin and chmod u+x it.
- On FreeBSD, change the bash hashbang path.
- Run =lein=, which does some setup on the first run.
- Systems without =shasum= will report a download error due to a failed
  checksum validation when grabbing the Clojure jar.  Just verify that
  ~/.m2/repository/org/clojure/clojure/1.2.1/clojure-1.2.1.jar and
  ~/.lein/self-installs/leiningen-1.7.1-standalone.jar are there.
- Make a test project somewhere to make sure everything works by running =lein
  new test-prog=.

If I start using this, follow this up by reading Leiningen's README.md and
TUTORIAL.md here: https://github.com/technomancy/leiningen

This setup gives me 1.7.1, but it seems 2.x is much nicer, so I'll just use
that instead.  The above is therefore deprecated.

2.x Steps:
- cd ~/bin; wget --no-check-certificate
  https://raw.github.com/technomancy/leiningen/preview/bin/lein
- chmod u+x lein
- Edit lein and change hashbang path.
- lein self-install
- Run =lein new test-proj= somewhere.
- Change project.clj to use the Clojure version of 1.4.0 and set ~:main~ to
  =test-proj.core=.
- cd to that directory and run =lein repl= to make sure everything works.  Run
  ~(-main)~ or ~(doc -main)~.

With 2.x and Clojure 1.4.0, compilation and REPL startup is so slow that often
it times out on my crappy hardware.
*** DONE clojure-mode
    - State "DONE"       [2012-05-04 Fri 14:27]
    - State "STARTED"    [2009-11-29 Sun 16:02]
Major mode to understand Clojure.  Needs swank-clojure to integrate with
subprocesses.  Managed to get this working without installing ELPA and without
messing up my SBCL settings; SLIME can be activated with either Clojure or
SBCL now.

Notes:
- Add clojure directory to $PATH.
- On Windows, create a clojure.bat file in the clojure directory, containing
  =java -cp C:\path\to\clojure.jar clojure.main=.  Run this to ensure a working
  REPL comes up.
- Add clojure-mode, clojure-contrib, and swank-clojure to ~/.emacs.d.
- Had to use an older version of swank-clojure.  Latest wouldn't work for me.
- Can send a startup parameter to SLIME with M-- M-x slime clojure.

Has many of the same commands for normal SLIME, and some extras, like:
- M-TAB: Auto-complete symbol at point.  Super useful.
- C-x C-e: Eval the form under the point.
- C-c C-k: Compile the current buffer.
- M-.: Jump to the definition of a var.
- C-c S-i: Inspect a value.
- C-c C-m: Macro-expand the call under the point.
- C-c C-d C-d: Look up documentation for a var.
- C-c C-z: Switch from a Clojure buffer to the REPL buffer.
- C-c M-p: Switch the REPL namespace to match the current buffer.

Update 2012-05-04: Since everything here has changed so much since I started
this, I'm going to redo it all from scratch.  Technically, this does complete
the effort with clojure-mode.  It's just swank-clojure that's messed up.
*** DONE EasyPG
    - State "DONE"       [2012-05-15 Tue 09:37]
    - State "STARTED"    [2012-05-15 Tue 08:54]
Switching to this instead of command line GPG, as it provides automatic
encryption of .gpg files.  This is now included in Emacs 23.

GnuPG 2.x has annoyed me for the last time with having to work around its
stupid UIs.  After trying to defadvice the EasyPG start function a few ways,
I'm giving up and downgrading to GnuPG 1.x, which is still available in
security/gnupg1.  Installing this without NLS support.

Notes:
- To encrypt a file, use M-x epa-encrypt-file and enter a passphrase.  GnuPG
  1.x allows this to prompt properly for one in the minibuffer.
- To decrypt, just open the .gpg file and enter the passphrase.
- If I ever need access to the encrypted data outside of Emacs, =gpg -o outfile
  somefile.gpg= still works.

With so much less typing to encrypt all personal data, there's no excuse to not
encrypt everything I wouldn't want to be public knowledge.
*** CANCELED SBT
    - State "CANCELED"   [2012-05-18 Fri 16:11]
    - State "STARTED"    [2010-07-02 Fri 02:31]
SBT is Scala Build Tool.  Apparently this is a replacement for Maven or Ivy.
Probably will stick with Maven for now though, since that's what work uses.
http://code.google.com/p/simple-build-tool/

Apparently ENSIME provides an SBT shell with C-c C-a.  Other stuff at:
http://ensime.blogspot.com/2010/05/sbt-and-ensime.html

Setup notes:
- Grab latest sbt-launch jar from: http://code.google.com/p/simple-build-tool/
- Put sbt-launch jar in ~/lib/archive.
- Ensure sbt.el is in ~/.emacs.d and load it in .emacs.
- Create an =sbt= script in ~/bin that contains stuff referenced here:
  http://code.google.com/p/simple-build-tool/wiki/IntegrationSupport
- chmod u+x ~/bin/sbt
- Make sure a projectdir/project/build.properties file exists (otherwise sbt.el
  will fail).
- Open a file in a Scala project and run M-x sbt-shell.  This will prompt to
  create a project.  Enter info.

Usage notes:
- Run =help= for a full list of commands.

Canceling this task since I've decided to go with Clojure as my JVM language.

Redid this from the start.  Much of the above isn't true anymore.
*** CANCELED sbaz
    - State "CANCELED"   [2012-05-18 Fri 16:11]
Just take a look around the repo with =sbaz available= to see if there's any
libs or programs I want (or just want to look at the source for).  I doubt
there are though.

Canceling with other Scala tasks.
*** DONE Counterclockwise/Leiningen plugin beta
    - State "DONE"       [2012-05-18 Fri 16:11]
    - State "STARTED"    [2012-05-18 Fri 09:35]
Probably won't use this, but I'll put it in my work laptop's host OS anyway.

Setup:
- Grab latest Eclipse IDE for Java EE Developers.
- Go to Help|Eclipse Marketplace and search for "clojure".  This returns
  Counterclockwise, which provides Clojure support for Eclipse.
- Go to Help|Install New Software and add an update site for "Leiningen plugin
  beta site" at: http://ccw.cgrand.net/updatesite-lein-betas
- Create a project from the CLI with =lein new=.  Move this to the workspace
  for Eclipse and use File|New|New Project.  Select General|Project.  Type the
  project's name in and it'll load in the existing project previously created.
- Right click on the project name, go to Configure, and select "Convert to
  Leiningen Project".  The project.clj dependencies should now show up in a
  "Leiningen dependencies" folder.
- Right click on project and toggle the Enable/disable clojure language
  support.  It's set to the correct setting if Run As|Clojure Application shows
  up.
- Right click on project and select Run As|Clojure Application.  This brings up
  the Counterclockwise REPL.
- Use C-i to interrupt execution in the REPL.
*** DONE Leiningen (usage)
    - State "DONE"       [2012-05-22 Tue 10:24]
    - State "STARTED"    [2012-05-17 Thu 09:20]
Settled on using 2.x, even though it's not a stable release yet.

Using a few random websites and this document:
https://github.com/technomancy/leiningen/blob/preview/doc/TUTORIAL.md

Notes:
- Use ~(require 'test-proj.core :reload)~ to reload a changed file.
- =lein run= executes a project from the CLI with the ~-main~ function location
  specified in projects.clj.
- Libraries don't need ~-main~ functions.
- =lein jar= packages up a project and =lein uberjar= creates a standalone jar.
  Note that this requires ~:gen-class~ specified to create the .class file
  ahead of compiling the jar.  With the uberjar, this can then be run as =java
  -jar proj-name-standalone.jar=.
- =lein search <pkg-name>= searches the Clojars and Maven Central repos.  This
  is useful for copying this info directly to the :dependencies vector in
  project.clj.
- =lein install= installs the current project to the .m2 repo.
- Reference this sample project.clj file for viewing all available options:
  https://github.com/technomancy/leiningen/blob/master/sample.project.clj
- =lein deps :tree= prints the project dependency tree.

I think I know enough Leiningen to be productive.  There's more, but I need to
get stuff done and stop yak shaving.

I'm also switching to not installing Clojure from ports and will just use
Leiningen to pull it and anything else into my .m2 repo.
*** DONE ParEdit
    - State "DONE"       [2012-05-24 Thu 00:18]
    - State "STARTED"    [2012-05-23 Wed 23:59]
Try this out for awhile.  I tried this before very briefly, but decided to stop
because some commands didn't fit my model for doing the most obvious thing.
Every Lisp-dialect Emacs programmer I see seems to use it, so I may be missing
out on some convenience that only comes through extended use.

http://mumble.net/~campbell/emacs/paredit-beta.el

Installed the beta, renaming it to paredit.el.  Not sure I like overriding C-k
to stop at a delimiter.  Also, the C-arrow key commands are great when they
work, but do weird things when they don't make sense.  I'll have to use this
for awhile to see if these things gets annoying.  Currently, some of it seems
counter-intuitive.  Even if that feeling remains though, maybe it's worth it
for the mismatch detection (however, in that case, I should just extract that
code myself).

Update: Removed this as it gets in the way more than it saves me from
mismatched parens.  However, I'm leaving it in ~/.emacs.d, for the rare case
where I have a pair mismatched that I can't find.
*** DONE remove ECB
    - State "DONE"       [2012-05-25 Fri 22:09]
    - State "STARTED"    [2012-05-25 Fri 21:35]
I haven't activated ECB in years, so I might as well remove it and spare myself
the dependency management and startup time cost.

Removed ECB and CEDET blocks in ~/.emacs.  Removed now-unnecessary stuff from
custom-set-variables sexp.  Archived both of these to unused_init.el.
Uninstalled ECB port on FreeBSD.  Things like JDEE and nXhtml still require
EIEIO, which requires CEDET, so I can't remove that port until I upgrade to at
least 23.2 (it's included then).

Emacs starts up noticeably faster now.  Then it was just nXhtml that was slow
(but I actually use that occasionally).  Decided to look up how to byte-compile
nXhtml, which cut its start time down to nearly nothing.  To do so: Activate
menu-bar-mode, go to nXhtml|nXhtml Help and Setup|Byte Compile nXhtml.  Now
just CEDET and EIEIO are slow, but on modern hardware it's quite fast overall.
*** CANCELED jdibug
    - State "CANCELED"   [2012-05-25 Fri 22:24]
Look into using this to debug Java projects in Emacs.

http://code.google.com/p/jdibug/

Canceled due to my hope to not have to write any Java at work ever again.
*** DONE escreen
    - State "DONE"       [2012-05-25 Fri 22:42]
    - State "STARTED"    [2012-05-25 Fri 22:34]
Consider replacing elscreen with this.  Supposedly better integrated.  Worth a
try, since elscreen has a few issues (namely: the window lists getting cut off
by vertical windows, window lists duplicated on C-x 2, and dependency upon
apel).

http://www.splode.com/~friedman/software/emacs-lisp/src/escreen.el

Grabbed and rebound the prefix key with:
(setq escreen-prefix-char "\C-z")
(global-set-key escreen-prefix-char 'escreen-prefix)

Well, this works.  The main difference though is that escreen doesn't have a
nice way to tell what's where.  The different screens are just numbered, and I
think that at least for me, the elscreen tabs do prevent me from scrolling
around more than necessary.  I can see myself using escreen and living without
that, but since the main elscreen feature is actually useful for me, why should
I?  It's a close one, but I'll stick with elscreen for now.  I may change my
mind later though.  I do like the idea of getting that extra line of text back.
*** CANCELED malabar-mode (revisited)
    - State "CANCELED"   [2012-05-25 Fri 22:54]
This failed last time, but with as much JDEE-related suffering as I've been
enduring, and seeing as how there's no end to it in sight, I'd say it's worth
another try.  Don't bother putting a lot of effort into it though, since I
intend to write much less to no Java in the future.  I would like to keep some
at least minimal Java functionality in Emacs, since even if I'm not a Java
developer ever again, it's likely I'll still have to look at Java code on
occasion.

Update 2012-05-25: I was going to get started on this, only to discover
malabar-mode is now unmaintained.  Since it's been 7 months now with no one
stepping forward to keep it going, I'm making a task to look into emacs-eclim
instead.
*** DONE helm, helm-ipython
    - State "DONE"       [2012-05-26 Sat 00:29]
    - State "STARTED"    [2012-05-26 Sat 00:14]
Previously called anything.el.  I'm only using this for Python code
completion, though I may want to check out helm-slime later).

https://github.com/emacs-helm

Installed helm and helm-ipython and they both seem to work fine.  The use
workflow is:
- Open Python source file.
- Use C-c ! to load an iPython shell.
- Use C-c M to load the source file imports into the iPython environment.
- Type something to complete (e.g. =sys.=) and hit M-TAB.
- Canceling out of or completing something will hide the REPL.  Just use C-c !
  to get it back.  May look into fixing this later.
*** DONE rework Emacs Python setup
    - State "DONE"       [2012-05-26 Sat 00:54]
    - State "STARTED"    [2012-05-25 Fri 23:13]
My Python setup is pretty decent, but it could be better.  In particular, I'm
missing a decent completion mode (consider anything-ipython for this).

Note that anything.el may have been renamed to emacs-helm.

I'm basically starting from the base major mode and revisiting all decisions
made, then comparing the end results.  It's hard to tell what's current out
there, and this is mostly Emacswiki's fault, but also the tools are a bit of a
ghetto as well.

Notes:
- Attempted to upgrade python-mode from 5.2.0 to 6.0.8.  This seems to now
  include a lot of extra stuff.  The mode's page is pretty terrible and hard to
  find information on.  I think the README file was written by someone
  illiterate too.  In any case, it broke compatibility with iPython, so I'm
  sticking with the old version.
- Edited ~/.ipython/ipy_user_conf.py and uncommented the import for
  ipy_greedycompleter.  This enables completion in the iPython shell.
- Created a separate task for emacs-helm, so I can document its setup.  This
  was successfully added and seems pretty nice.
- Apparently pyflakes wasn't installed.  Downloaded this from
  http://pypi.python.org/pypi/pyflakes and ran =setup.py install --user= (after
  modifying the hashbang since they were too dumb to use env).  Added
  ~/.local/bin to $PATH in ~/.zshrc.  Activating flymake-mode for all Python
  files by default.
- Noticed that python-describe-symbol is only in python.el, not python-mode.
  It's a shame to lose this, but I never seemed to use it obviously, or I'd
  have noticed it by now.  I'd rather trade that for the iPython integration.

I think that does it.  I now have flymake, source completion, and interpreter
completion.

If I ever really want to take it to the next level, I could add pylookup for
documentation browsing/searching and integrated debugging support.  This guy's
blog post shows this:
http://pedrokroger.com/2010/07/configuring-emacs-as-a-python-ide-2/
*** DONE remove sqlplus.el
    - State "DONE"       [2012-05-26 Sat 01:01]
    - State "STARTED"    [2012-05-26 Sat 00:54]
Haven't used Oracle for years, and I'm definitely hoping I never will again.

Removed from ~/.emacs.d and archived setup to unused_init.el.  Not sure how
that sat there unnoticed so long.
*** DONE UPenn Clojure exercises
    - State "DONE"       [2012-06-18 Mon 10:46]
    - State "STARTED"    [2012-06-15 Fri 12:15]
Some practice problems that would be too easy in Lisp, but will help get used
to using Clojure syntax.
http://www.cis.upenn.edu/~matuszek/cis554-2011/Assignments/clojure-01-exercises.html

These were entertaining problems to solve and doing them was rather useful
too.  They're more of the pure algorithm problems though, so I still have some
work to do to get productive in the language as a whole.
*** CANCELED Rinari
    - State "CANCELED"   [2012-07-02 Mon 11:34]
Consider switching to this for Ruby in Emacs.  Or I may just remove Ruby
integration all together, as there seem to be no applications in Ruby that I
like.

I've decided to ignore Ruby, so I'm skipping this.
*** DONE close MySQL port on macroexpand.com
    - State "DONE"       [2012-07-02 Mon 11:39]
    - State "STARTED"    [2012-07-02 Mon 11:36]
I had some plans for this, but better to close it until I actually am ready to
do them.  Was also going to put the l1j-en db on here, but I can do that and
just run the server on the same machine, though I haven't decided where I want
it yet (reduced latency on cellblock vs. reduced local CPU/HD usage on muze).

Tasks:
- Check open ports with =sudo nmap -sS -F 127.0.0.1=.
- Setup pf and create exclusive rule for port 3306.
- Once closed, ensure that =telnet macroexpand.com 3306= doesn't work from
  outside.
- While I'm at it, check ~SHOW GRANTS;~ and use the REVOKE command to clean up.

Once I have pf (or some other firewall) setup, I can then easily block some of
the SSH brute force spamming and HTTP exploit attempts.  Added a pf/altq task
for this.

Update 2012-07-02: I'm just disabling MySQL on macroexpand.com.  However, if I
ever do get around to using it for something, I can just add
=bind-address=127.0.0.= to /etc/my.cnf.
*** DONE Markdown
    - State "DONE"       [2012-07-20 Fri 09:20]
    - State "STARTED"    [2012-08-10 Fri 01:47]
Convert README files to README.md files.

http://daringfireball.net/projects/markdown/

Without really trying, I've kinda learned enough Markdown.  There's some
Markdown files I've created in two Clojure projects so far.  It's simple enough
that I can lazy load any other syntax needed.
*** CANCELED update NES emu
    - State "CANCELED"   [2012-08-10 Fri 01:57]
Using NESten currently.  Supposedly Nestopia and Nintendulator are now better.
The former requires 800MHz, the latter 1.6GHz.

Update: Not sure why I bother scheduling this.  Any time spent playing NES
games is certainly a waste.
*** DONE swank-clojure
    - State "DONE"       [2012-08-22 Wed 13:27]
    - State "STARTED"    [2012-05-04 Fri 14:27]
Since I'll be using Clojure for work, I need to get this running as smoothly as
my SBCL SLIME setup.

Some info is here (but it seems some of it is outdated):
http://dev.clojure.org/display/doc/Getting+Started+with+Emacs
Deferring to this instead:
https://github.com/technomancy/swank-clojure/blob/master/README.md

Setup:
- Deleted old clojure-mode, clojure-contrib, and swank-clojure setups.
- Use an existing project or create a test one and open the projects.clj file
  and add ~[lein-swank "1.4.4]~ to the :plugins section.
- Run =lein repl= on the project to pull in the lein swank dependency.
- Open project.clj and run M-x clojure-jack-in.  A SLIME REPL should eventually
  come up and eval-ing the source buffer should allow one to call a function
  like (test-proj.core/test-fn).
- To switch to the project's namespace, compile it first with C-c C-k, then use
  C-c M-p.
- Alternatively, if you add a lein-swank dev-dependency, you can run =lein
  swank= from the CLI and then M-x slime-connect to that REPL.
- For long running or complex applications, it might be a good idea embed a
  swank server in the application.

Notes:
- Clojure REPLs take like a minute to start.  SLIME with SBCL started up in a
  few seconds.
- Once again, I have no way of using both SBCL and Clojure.  This is an
  unacceptable outcome and I'll have to resolve it some way or another.
- SBCL SLIME setup is commented out for the moment.

Update:
swank-clojure is now deprecated.  Look into nrepl.el instead.  Created new task
for this.
*** CANCELED psvn
    - State "CANCELED"   [2012-08-25 Sat 21:54]
I've sorta used this a little and have it installed, but haven't really managed
to figure out how to replace all my SVN needs with it and am still using the
command line for some things.  First check if there's a superior SVN mode.

Canceling since, until recently, the only place I used SVN still was at work
and I'm now fully switched to git there.  I'll still keep my existing SVN
integration as is, however.
*** CANCELED WebKit engine
    - State "CANCELED"   [2012-08-27 Mon 23:12]
This is just a reminder to check out Minno (and maybe some of the other WebKit
engine clients) around 2013 or later.  Adblock's been ported to WebKit, making
this a viable xulrunner/Gecko replacement.  In the case of Minno, another
benefit might be the fact that it's written in Scheme and should be easy to
modify (it looks like it'll be compiled gambit-c Scheme, which is a good thing,
IMO), but a downside is that it uses Qt, so I'm not entirely sold on it.

Project died.
*** DONE MINIX 2.0.4 VM
    - State "DONE"       [2012-08-28 Tue 00:31]
    - State "STARTED"    [2012-02-02 Thu 16:13]
Install this and check if it has the sources.  If so, keep it around for
reading with Modern Operating Systems.  Initially attempted this in VirtualBox
but it failed for some unknown reason.  Since I switched to VMware Player, redo
it in that.

Got this working in VMware using the image provided here:
http://minix1.woodhull.com/pub/demos-2.0/VMWarePlayer/

Tested and this works.  This includes a root user with no password.  This
removes the only blocking task for reading the above book.
*** CANCELED gem
    - State "CANCELED"   [2012-09-23 Sun 17:31]
Create a workflow for installing gem crap.  The only things I can think of
wanting at the moment are rake and Haml, though I'm not sure if I even want
those.

Update: Decided against using either rake or Haml, and as a result, there's no
need to use gem.  Additionally, I've been keeping anything Ruby-related off my
main workstation due to its bloat and low payoff.
*** CANCELED Haml
    - State "CANCELED"   [2012-09-23 Sun 17:32]
Consider using this.  If so, check out html2haml.  Hamlet is sorta like this as
well, but for Haskell.

I'm not sold on this idea, since this abstraction doesn't add anything, nor
does it provide anything the base language does not.  SCSS is probably a better
option.  Haml seems like an abstraction for the sake of abstraction.

Update: Replacing this with Sass/SCSS.

Update: On second thought, I may consider reopening this, since it seems to be
popular in combination with Sass now.
*** DONE NoScript in Conkeror
    - State "DONE"       [2012-09-23 Sun 20:11]
    - State "STARTED"    [2012-09-23 Sun 19:45]
Add this.  http://conkeror.org/NoScript

Installed 2.5.5:
- wget --no-check-certificate
  https://secure.informaction.com/download/releases/noscript-2.5.5.xpi
- Install via M-x extensions and restart.
- Open plugin preferences and add macroexpand.com, 127.0.0.1, localhost, and
  github.com to the whitelist.

The above steps give you a working NoScript setup.  However, you're supposed to
be able to add ~require("noscript");~ to ~/.conkerorrc, and then have access to
the M-x ns-toggle-temp function.  This is currently broken, requiring going
back into the preferences every time you want to turn it off (or adding the
site permanently to the whitelist).  While inconvenient, I prefer this over
having arbitrary JavaScript being executed.

I talked to the developers on the Conkeror channel on Freenode and they claim
this works in the new version.  I'm adding a task to manually update Conkeror
and run it from a user directory instead of ports.
*** DONE w3m bookmarks
    - State "DONE"       [2012-09-24 Mon 02:38]
    - State "STARTED"    [2012-09-24 Mon 00:31]
Consolidate all Lynx and Firefox bookmarks to w3m.  The blocking issue of w3m
not saving the location of the last followed link when backtracking seems to be
resolved in the most recent 23.x release, so the next update will resolve that.

I'll be heavily trimming my bookmarks.  With search engines so good these days,
there's no point in maintaining such a huge list for reference.  The purpose of
my bookmarks will from now be to note stuff that I want to spend more time on.

Phew, that was a lot of work.  I'm leaving lynx_bookmarks.html around for now
for unfiltered, junk bookmarks.  I may start using the temp section in w3m for
that later though.  I'll also give this one more pass to delete more stuff I'll
never look at.
*** DONE write repo update script
    - State "DONE"       [2012-09-27 Thu 10:56]
    - State "STARTED"    [2012-09-27 Thu 10:32]
Clean up all repos I track in ~/src.  Write a script that auto-updates all of
them.

Stuff done:
- Wrote ~/bin/update_repos.
- Excluded stuff from ~/.emacs.d, since a lot of the time, I want the old
  version.  Will continue tracking these manually for now, though I may later
  add ones that I always want to track.
- Excluded l1j projects.  Need to address these later.
- Cleaned up a bunch of stale code laying around ~/src that I don't care about
  anymore.  Most of this was quick exploratory code and prototypes.
*** DONE write auto-clean LaTeX build files script
    - State "DONE"       [2012-09-27 Thu 11:12]
    - State "STARTED"    [2012-09-27 Thu 11:06]
Write a script that goes into the two directories that I write LaTeX in, and
recursively cleans out all the various intermediate files created building
documents.

Wrote ~/bin/latex_clean.  This will save quite a bit of typing.
*** CANCELED sample interview questions
    - State "CANCELED"   [2012-09-27 Thu 11:34]
    - State "STARTED"    [2010-05-13 Thu 13:26]
Do most of these.  Located in ~/src/repo/misc/sample_interview-answered.txt.

I did a few of the programming problems here.  However, after reading over all
the questions, I'm sure this is a waste of time so it's getting canceled.  The
only possibility for reopening this is if I'm doing a more extensive than
planned C refresher and want some good puzzles.
*** DONE packet radio
    - State "DONE"       [2012-09-27 Thu 12:42]
    - State "STARTED"    [2012-09-27 Thu 12:16]
Research feasibility of actually using this.  For now, just read the Wikipedia
page on it and find a guide somewhere and read that.  I'll need to learn more
about ham radio in general before I can understand all the lingo, but I'm
mainly just interested in whether this is something I'd be interested in first.
If not, I'm a lot less interested in ham radio in general and can de-prioritize
a whole set of potential upcoming tasks accordingly.

Packet radio is pretty interesting.  However, there are some problems for what
I'd want to use it for:
- Most of the time, it's used to set up distributed local networks.
- I won't be able to get above 9600baud without special equipment.  Apparently
  normal speeds are often slower.
- This concept was far more popular back in the 80s.  Hardly anyone uses it
  now, so there usually won't be a network around.
- What I wanted to use it for (to access gateways to the real internet) isn't
  possible.  These gateways don't exist (or at least aren't common).

Probably will still try ham radio out sometime, just for fun.  However, I'm
lowering its priority based on info found here and I'd be fine with skipping it
altogether since it doesn't really add anything of value.
*** DONE redo Scala Emacs integration
    - State "DONE"       [2012-11-07 Wed 10:39]
    - State "STARTED"    [2012-11-06 Tue 10:37]
It looks like I will have to write some Scala after all, thanks to my
scatterbrained work environment.  I'm going to do it (more) properly this time
though, starting from scratch:
- Install sbt.  Ensure it can pull in specified versions of base Scala.
- Activate scala-mode from the latest Scala distribution, if it's still there.
- Install ENSIME.
- Get the ENSIME REPL up.

sbt (manual install):
- Grab latest sbt from
  http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html
- Put somewhere and update my ~/bin/sbt script to point to the new
  sbt-launch.jar.
- Create a test project with a directory containing a source file and a
  project.sbt file.  Run it with =sbt run=.

scala-mode: This seems to not be distributed anywhere, but I found a copy in
some SVN repo.
- git clone https://github.com/scala/scala-dist.git
- Grab the scala-dist/tool-support/src/emacs and move it to
  ~/.emacs.d/scala-mode.

ENSIME:
- Grab a recent distribution from:
  https://github.com/aemoncannon/ensime/downloads
- Extract and move to ~/.emacs.d/ensime.  For BSD, change the hashbang in
  ensime/bin/server.
- Activate the sbt ensime plugin (which allows the =ensime generate= command to
  create a .ensime file in an existing project from the sbt shell) by following
  the instructions on: https://github.com/aemoncannon/ensime-sbt-cmd Use
  "latest.milestone" for the version.
- Create the .ensime file in the above test project, open the .scala file in
  Emacs and execute M-x ensime.

Scala (manual install): This is for running REPLs.
- Grab the 2.9.2 tarball.  Edit the hashbang in all scripts in bin/.
- Check updates to $PATH, $CLASSPATH, and $SCALA_HOME in ~/.zshrc.
- Some systems might require a symlink to the interpreter binary in ~/bin in
  order to get it on Emacs' exec-path.
- Test the REPL by doing the ENSIME test above, followed by C-c C-v z.

Still need to actually properly learn Scala, ENSIME, and sbt.  From what I can
tell, this setup is good though.
*** DONE fix mutt
    - State "DONE"       [2012-12-01 Sat 15:29]
    - State "STARTED"    [2012-12-01 Sat 15:10]
Nothing changed on my end, but I can no longer send email via Gmail services
through mutt.  Reading it works though.

Fixed.  This was caused by not changing my password in my .msmtprc file.
*** DONE alternative ModeLine settings
    - State "DONE"       [2012-12-08 Sat 12:37]
    - State "STARTED"    [2012-12-08 Sat 12:29]
Try running cvt --reduced 1920 1200 60 and putting that in xorg.conf.

This seems like a slight improvement.
*** DONE w3m search engine redo
    - State "DONE"       [2012-12-08 Sat 13:32]
    - State "STARTED"    [2012-12-08 Sat 12:48]
Figured out a way to get custom w3m-search-engine-alist additions in place.  My
problem was putting them in the mode-hook instead of an eval-after-load call.

Rolled back my original Blekko changes and added them in the new manner, but
there's some issues.  The main one is that Blekko no longer accepts these
perfectly well-formed searches anymore, so I'm stuck with gg: until that
changes.  Also, only the default search URIs are active at load, until you at
least do one successful search.  As a result, I just added searches for Hoogle
and FreeBSD ports.
*** DONE set-face-attribute
    - State "DONE"       [2012-12-10 Mon 10:50]
    - State "STARTED"    [2012-12-10 Mon 10:45]
Consider using this for font setting in Emacs, e.g. ~(set-face-attribute
'default nil :font "Anonymous Pro 16")~.

Added this, consolidated it with the Windows font setting, and commented out
the font line in ~/.Xdefaults.
*** DONE convert Virtual PC images to VMware
    - State "DONE"       [2012-12-13 Thu 13:22]
    - State "STARTED"    [2012-12-13 Thu 12:20]
I have 2 Windows XP VMs used for running older 32-bit Windows software (mainly
games).  Converting these to VMware will consolidate all VMs under one
emulation platform and reduce the number of virtual network adapters and
system services.

Conversion requires VMware vCenter Converter Standalone.  This works and I have
an XP VMware VM now, but unfortunately, I need VMware Workstation in order to
get the graphics display settings I want (stretching to fill the screen without
resolution change).  Also, gameplay is a bit choppy in Lineage 1, so it looks
like I'm stuck with Virtual PC until I get a faster computer and emulator
upgrade.  I'll use this VM for other things though, since I wasted a key
validation on it.
** Work-related topics
*** CANCELED RapidMiner
    - State "CANCELED"   [2012-02-15 Wed 05:18]
    - State "STARTED"    [2011-05-09 Mon 11:36]
Installed RapidMiner 5.1.006.  Added Weka and R extensions.

Tasks:
- Install on GNU/Linux.  Added a script to ~/bin to start it with =java -jar
  /path/to/rapidminer/lib/rapidminer.jar=.
- Read Wikipedia article on it.
- Read RapidMiner Manual.

Going to try to get away without learning this.  Seems like a boring end-user
application.  My new project does use this though, so I may have to reopen it
later.  Right now, it's low priority enough to be off the list.
*** CANCELED Tableau
    - State "CANCELED"   [2012-04-04 Wed 11:56]
    - State "STARTED"    [2011-05-24 Tue 06:20]
Tableau is an application that allows advanced visualization of datasets from
various sources (databases, cubes, spreadsheets, etc.).

Being an end-user application, I want to know as little of this as possible.
Just skimming the manual and using it for a day should be enough to gain
minimal familiarity.  A lot of functionality is very well hidden here though,
so it'll take awhile to find it all.  Calling this done since I know enough to
be work-productive in it, which is all I really needed.

Note: 7.0 (the next version) will include the ability to append new information
to existing Tableau datasets -- a useful feature for work application of it.

Suspending effort.
*** CANCELED Apache Mahout
    - State "CANCELED"   [2012-04-04 Wed 11:56]
    - State "STARTED"    [2011-05-20 Fri 11:31]
Mahout is a library of algorithms for classification, clustering, regression,
reduction, and other machine learning tasks, built on top of Hadoop.

Tasks:
- Read various documentation on: http://mahout.apache.org/
- Read all the algorithm descriptions here:
  https://cwiki.apache.org/confluence/display/MAHOUT/Algorithms

Notes:
- Four main use cases: Recommendation mining, clustering, classification, and
  frequent itemset mining.
- Grabbed the binary distribution for 0.4.  =mahout= with no arguments lists
  valid program names.  =mahout <program_name>= lists program name arguments.

Did some work on this, but suspending further effort as it's no longer needed.
*** CANCELED Gephi
    - State "CANCELED"   [2012-04-04 Wed 11:57]
*** CANCELED NSA Cloudbase
    - State "CANCELED"   [2012-04-04 Wed 11:57]
Replacing this with Accumulo.  Ghost Machine stacks will still have Cloudbase
in them for now though, so I may still encounter it occasionally.
*** CANCELED Apache Pig
    - State "CANCELED"   [2012-04-04 Wed 11:58]
*** CANCELED MRUnit
    - State "CANCELED"   [2012-04-04 Wed 11:58]
Unit test framework for MapReduce and JUnit.
*** CANCELED GDAL
    - State "CANCELED"   [2012-04-04 Wed 11:58]
Hopefully will be doing less geospatial stuff in the future.
*** CANCELED Apache Derby
    - State "CANCELED"   [2012-04-04 Wed 11:59]
A relational database in use with Hive as its metastore.  Not using Hive
anymore, so don't need it.
*** CANCELED PostGIS
    - State "CANCELED"   [2012-04-04 Wed 12:01]
Was going to give this a quick glance, but I definitely don't need a relational
geospatial database now.
*** CANCELED Apache Hama
    - State "CANCELED"   [2012-04-04 Wed 12:02]
*** CANCELED GoldenOrb
    - State "CANCELED"   [2012-04-04 Wed 12:02]
The company working on this folded.  Apparently Apache Giraph is filling this
void now.
*** CANCELED Storm
    - State "CANCELED"   [2012-04-30 Mon 10:17]
The plan:
- Find and read coworker's Storm slides.
- Watch this: http://www.infoq.com/presentations/Storm
- Read all links here: https://github.com/nathanmarz/storm/wiki

Check out ancillary Storm functionality:
- Storm Multilang:
- Storm Multilang Wiki:
- Use of ShellBolt:
- Topology using ShellBolt:

Switched projects again, so I don't need this for now.  Might end up using it
later if any real-time ingestion is necessary.  I really hope not though.
*** DONE home range
    - State "DONE"       [2012-04-30 Mon 10:17]
    - State "STARTED"    [2012-04-18 Wed 09:17]
Came up with a simple solution to this that makes sense in a non-biology
studies context.  Committed to practice/python/home_range.py (though I didn't
upload the geohash dependency, since I didn't write that).
*** CANCELED Apache Accumulo
    - State "CANCELED"   [2012-05-15 Tue 10:11]
The plan:
- Read Google's original Bigtable paper.
- Read the intro to HBase: The Definitive Guide and maybe browse some of the
  other chapters.
- Look around on the Accumulo site and find some docs.
- Install Accumulo on a clean system with dependencies.
- Try using it a bit and write a program to extract the data.

Switched projects again, so I don't need this for now.  From what I learned by
osmosis, I'm quite glad about not having to work with this.
*** CANCELED Apache Thrift
    - State "CANCELED"   [2012-05-15 Tue 10:12]
*** CANCELED Apache Kafka
    - State "CANCELED"   [2012-05-15 Tue 10:12]
https://incubator.apache.org/kafka/index.html

Ugh, messaging frameworks.  I'm quite glad I dodged this one.
*** CANCELED design patterns
    - State "CANCELED"   [2012-05-15 Tue 10:13]
Know most of these, but there's room for further mastery.  Ideally, I'd not
have to deal with patterns, but knowing them makes work life easier.  Having
sold my Gang of Four book, I'm reducing the scope of this task.

Do the following:
- Read through all patterns on the list on Wikipedia.
- Design patterns are actually workarounds for limitations imposed by OOP.
  Review this list of functional/dynamic idioms that patterns were created to
  emulate: http://norvig.com/design-patterns/ppframe.htm
- Maybe write a few more examples in Java in ~/repo/java/design_patterns.
  Already did singleton, strategy, and visitor earlier.

With the light at the end of the tunnel visible, I'm going to predict I'll be
able to make it through my career without having to master these.  Being
primarily a functional programmer now, I haven't encountered one of these in
years anyway.
*** CANCELED Scala
    - State "CANCELED"   [2012-05-18 Fri 15:49]
    - State "STARTED"    [2010-06-04 Fri 15:26]
Trying to use Scala at the current job, so going to try to learn it without
buying any hardcopy books.

Emacs setup:
- This just involves including some Scala setup in init.  The scala-mode is
  provided by the official Scala distribution.  Note that this isn't included
  in (at least the current) Arch Linux package.  See arch_setup.org for
  details.
- Also added sbt, but I'm not sure this actually does anything yet.

Scala IDE for Eclipse setup:
- Add update site: http://download.scala-ide.org/update-current
- Install Scala Eclipse Plugin.

Remaining subtasks:
- Look into getting flymake working with Scala.
- Find an e-book on the subject and read it.
- Write a couple practice apps.

Canceling this as I like Clojure more and don't have the bandwidth for both of
these.
*** CANCELED Scalaz
    - State "CANCELED"   [2012-05-18 Fri 15:51]
Video intro at: http://vimeo.com/10482466

Canceling this along with Scala in general.
*** CANCELED Functional Java
    - State "CANCELED"   [2012-05-18 Fri 16:15]
Glanced at the examples and I'm not that impressed.  Plus, I'm hoping to avoid
Java programming for the rest of my career anyway.
*** DONE unit test writing
    - State "DONE"       [2012-05-26 Sat 01:05]
    - State "STARTED"    [2011-03-21 Mon 03:04]
Know this, but need to practice using JUnit some and integrating it with Maven
projects.  Maybe check out QuickCheck (and possibly HUnit) on the Haskell side,
nose for Python, and either CLUnit or lisp-unit for Lisp.  Since
non-Java/Python/Scala unit tests aren't work-related, defer those to a separate
task.

Python: Using nose.  May use doctest as well later.

I've written enough tests by now that I'm pretty sure I know what I'm doing.
I'm not crazy about testing anything anymore anyway and I'm certainly against
the TDD methodology.
*** CANCELED Java debugging
    - State "CANCELED"   [2012-05-26 Sat 01:06]
    - State "STARTED"    [2011-03-21 Mon 02:30]
Need to research Java debugging tools some.

The JDK now includes jstat and jmap utilities which are only really useful to
see how the memory allocation is doing for a process.  Using jmap -heap can be
a clue as to whether you need to increase the VM's memory maximum.

Also check out Java profiling.

I started this quite a while ago, but forgot to flag it started here.

Eclipse debugging:
- I generally use this for most debug tasks, which requires setting up a
  project debug profile.  After that, it's a standard IDE debugging experience,
  minus the weirdness of the Display view.
- TODO: Add note here on how to debug webapps in Tomcat.

Don't need this anymore.
*** DONE google-refine
    - State "DONE"       [2012-07-19 Thu 08:35]
    - State "STARTED"    [2012-07-19 Thu 10:35]
Might be able to skip this.

http://code.google.com/p/google-refine/

Set this up on a Linux VM.  Probably won't use it though.  There really isn't
much to it.
*** DONE Rhipe
    - State "DONE"       [2012-07-19 Thu 10:38]
    - State "STARTED"    [2012-07-19 Thu 10:36]
A method for distributing MapReduce jobs directly from within R.

After much pain, I finally got this setup on Linux along with RHadoop (which
kinda does the same thing).  While I'm sure they work for the creators, they're
both too flakey to use for real production code.
*** DONE cascalog-koans
    - State "DONE"       [2012-08-27 Mon 21:14]
    - State "STARTED"    [2012-08-27 Mon 21:07]
Clone this and take a look at them.  Might learn something useful.

https://github.com/sritchie/cascalog-koans

This has a cool sh snippet that I might use:
for f in lib/*.jar lib/dev/*.jar resources/; do
  CLASSPATH=$CLASSPATH:$f
done
java -cp "$CLASSPATH" clojure.main -i script/run.clj

This doesn't actually work or do anything.  Looks abandoned.
*** DONE redo resume
    - State "DONE"       [2012-08-27 Mon 20:31]
    - State "STARTED"    [2012-08-27 Mon 19:20]
Maybe tweak the LaTeX template a little, but I think it's pretty good now.  I
probably won't ever need it anyway, but I'd still like it to be up to date.

Might wanna think more about the professional objective.  Sounds a bit hammy
still.
*** DONE Cascalog
    - State "DONE"       [2012-08-28 Tue 00:19]
    - State "STARTED"    [2012-06-22 Fri 11:19]
Cascalog promises to be a higher abstraction level means of managing all things
Hadoop-related.  This includes workflow management that would normally require
something like Cascading (which Cascalog also builds upon).

If this lives up to its promises, it could be pretty awesome.  It's hard to
tell without actually trying to use it first though.   The potential is worth
looking into, as the alternative will be a mess of a cloud stack with analytic
workflow components in at least half a dozen languages.

https://github.com/nathanmarz/cascalog

The plan:
- Watch the LinkedIn Cascalog presentation video for a quick overview.
- Get at least competent with Clojure.
- Run through the included examples.
- Set up some tests using HDFS.
- Determine whether this can be scaled up to suit project needs.
- If so, write a minimal demonstration and/or one that includes something with
  an outer join and post-join filter (these are horribly inefficient in Hive).

Cascalog's REPL is too slow on my home workstation (it's so bad, the servers
time out before they can connect), so I need to do this on VMs on my worktop or
beefbox.  Setup is now complete.

Update: The timeouts are fixable by setting :repl-options {:timeout 60000}.  I
now have working Cascalog analytics as well, and these are pretty nice.  The
environment setup is a total pain, but part of that was getting used to
Clojure, though it was mostly the result of inadequate documentation.

Based on my success criteria for this task, I consider it done.  There's still
a lot of more advanced features I'm not particularly familiar with here, but
hopefully that will come in time.  If I'm having problems later, I'll create a
plan for more comprehensive learning (and that might not be a bad idea in
general, if this ends up being a integral part of the dev stack like I hope).
*** CANCELED install Debian on old worktop
    - State "CANCELED"   [2012-09-17 Mon 16:58]
    - State "STARTED"    [2012-07-13 Fri 11:08]
Since I have two work laptops, I'll put Debian stable on metal on the other
one.  It has a Dell Wireless 1510 Wireless-N WLAN Mini-Card (this may be a
BCM4322) and an NVidia Quadro FX 770M video adapter.

Maybe look at this: http://wiki.debian.org/bcm43xx

Made some progress on this, but getting all the hardware to work was a pain so
I'm just returning it.  The fans and screen on this laptop are all screwed up
from Afghanistan anyway.
*** CANCELED Gradle
    - State "CANCELED"   [2012-09-23 Sun 14:12]
Might have to learn Groovy for this. :\

Skipping.  There's only one Gradle fanboi on the team and he's a chronic n00b.
Plus, it only makes sense for Java projects.
*** CANCELED Apache Camel
    - State "CANCELED"   [2012-09-24 Mon 02:51]
Looks like a boring Java library.  Hoping to bypass this.

Don't need this, thankfully.
** Games to play
*** DONE Widelands
    - State "DONE"       [2012-02-15 Wed 09:21]
    - State "STARTED"    [2011-10-13 Thu 23:21]
Pretty good, though a bit generic.  Not controlling individual units in a game
like this is definitely a better system than the AoE model.

Played this for a few nights, but got bored.  There's just nothing compelling
enough about this game to make me keep playing it, especially with so many
obviously better ones out there.
*** CANCELED Revenge of the Titans
    - State "CANCELED"   [2012-03-21 Wed 09:08]
An indie tower defense game.  Available on Steam.  Not entirely sure I want to
play this one though, with creeps attacking towers and so much more mad
clicking.

Decided not to get this after watching some gameplay videos.
*** DONE Dungeon Siege
    - State "DONE"       [2012-03-22 Thu 06:08]
    - State "STARTED"    [2011-12-11 Sun 10:16]
Got a CD of this and the Legends of Aranna expansion.

To get this to work in Windows 7 x64, first run the DSVideoConfig.exe utility
and set the video card to whatever card is present.  Don't use hardware TnL.

Now I remember why I quit this almost right away last time.  This game is too
simple and generally isn't fun.  Then since this won't even run on Win2k3r2
x64, I think I'll give up on it.
*** CANCELED Syndicate
    - State "CANCELED"   [2012-03-25 Sun 06:37]
A reboot of the Syndicate series.  Coming out in 2012.  This is just a reminder
to see what it turns out to be, but I'm not too crazy about it being remade
into an FPS, so the expectations are low and it's likely I'll pass on it.

Don't wanna play this.  Syndicate should be RTT.
*** DONE Mass Effect 1
    - State "DONE"       [2012-04-28 Sat 21:31]
    - State "STARTED"    [2012-03-22 Thu 12:28]
Surprisingly good.  A well-developed mythos and a solid hard scifi effort.
However, I do have a few complaints:
- The world is too non-interactive.
- Some minor consolitis, mostly in the UI and game world.
- The Frogger-style mini-game isn't any fun to play 1000s of times.  Having to
  play it to examine artifacts and such doesn't even make sense.
- Has fanservice.
- A more realistic way for weapon damage to work would be only being able to
  take a few shots at most once shields were down.  As it is now, shields can
  go down and characters can take dozens of relativistic speed slugs.
*** DONE FO:NV: Dead Money
    - State "DONE"       [2012-06-02 Sat 18:31]
    - State "STARTED"    [2012-06-01 Fri 18:20]
Since I finished all of the in-game content, and generally enjoyed most of it,
I thought I'd try the first of the FO:NV expansion packs.

This was about average for Fallout content and not quite worth $10.

Complaints:
- Being cut off from the rest of the game world kinda sucks, but I guess it's
  necessary for the story as it is.  I'd rather FO:NV's main overland area be
  expanded instead, since it's too small.
- Hardcore mode's HP depletion over time was just annoying instead of
  challenging.  I'd rather the cloud stuff be removed altogether and just have
  the difficulty raised in some less arbitrary way.
- The plot misses the mark a little on immersion.  It's close, but not quite
  good enough to really get into.
- The new enemies have no variety at all.  In fact, there's really only one
  enemy you fight the whole time, over and over.
- Content is completely linear.

Also added the Louder Guns mod (the pleasantly quiet gunshots always annoyed
me).  Unfortunately, it doesn't work with new DLC guns that have different
sound effects: http://newvegas.nexusmods.com/mods/35098

FO:NV is the last Bethesda or Bioware game I'll ever buy right off the presses.
The DLC milking is definitely out of control when they can cost more than the
original game (often a lot more).  If I had just waited 2 years, I could have
bought it all combined for a fair price.  I'd be okay with it if DLC content
was superior to original game, but it tends to be significantly inferior.
*** DONE Sacred Gold
    - State "DONE"       [2012-06-04 Mon 09:38]
    - State "STARTED"    [2012-02-16 Thu 00:52]
Includes the original and the expansion pack.  Pretty mindless, but I had work
order a copy for me to play occasionally while in Afghanistan, since I figured
it would run on my work laptop.

After playing this quite a bit, it got painfully boring.  I played the original
back in 2004 and quit after a few days.  Now I remember why.

Complaints:
- My main complaint is the drop system that randomizes loot in the Diablo
  model.  This works in Diablo and Rogue-likes, but not here, probably due to
  the lack of attention given to making it interesting.  Since farming up items
  is the main activity in this game, it has to get this right.
- Due to the drop system, there's no real motivation to explore far off the
  main quest path or solve side quests.  If you need more lever pulls to
  upgrade gear, you might as well just kill the most accessible named trash
  mobs.
- Side quest areas are all generic and boring.
- Serious performance issues are present, making the game nearly unplayable on
  my laptop.  It almost runs fine on my desktop, but I have to keep it in
  windowed mode since alt-tab doesn't work.
- Shops are useless except to unload loot, though there's really no reason even
  to collect stuff to sell since you don't need money for anything.
- Has the annoying leveled XP system that most modern MMORPGs have where XP is
  scaled based upon the difference between the player character and the mob.
- Boring, too non-interactive of a world.  Staring at dead backgrounds looking
  for secret hiding places isn't fun either.

I'd have a hard time listing what this game does well.  I guess the pixel art
is decent enough.  This is just a really poorly executed knock-off of D2.
There's no good reason to play this instead of the real thing.
*** DONE Defense Grid: You Monster
    - State "DONE"       [2012-06-04 Mon 22:22]
    - State "STARTED"    [2012-03-21 Wed 09:17]
More of the same, with a few extra features.

Worth the $5.  This includes some really unique maps that force you to solve
problems in completely new ways.
*** DONE Mass Effect 2
    - State "DONE"       [2012-06-16 Sat 01:44]
    - State "STARTED"    [2012-05-02 Wed 11:28]
Better graphics and more polish.  Has another good (though inferior) storyline,
but so many of the RPG elements have been removed or simplified that it's hard
for me to even consider it an RPG, except in the most superficial way.

Complaints:
- Not as open of a game world as ME1.
- Even more fanservice.
- Even more consolitis.
- n00bification of several game elements like inventory management,
  weapons/armor, and character skills.
- Combat encounters are too structured in a way that results in less overall
  variety.  You can always tell one is coming up when you see a certain
  environment layout and each one plays out very much the same.
- Mission areas are nearly completely linear.
- Mini-games are better, but still not fun.  Would rather such things just be
  based on leveled skills and have the game itself be more interesting.
- Crouching was removed.  Character movement in general feels sluggish (FO:NV
  is so much nicer).
- No map in most places, though I guess you don't need one with such linearity.
- Includes QTE (and even considers it a feature).
- Your character meets up with just about everyone he ever left alive in ME1
  despite the size and population of the universe.

While I had plenty of complaints about ME1, I still liked the game.  I'm pretty
sure I actively dislike ME2 though.  I really want to like it for its good
points, but the actual game playing experience is overall an unpleasant one.

Won't be playing ME3, since it's more of the same.  Skimmed through an LP of it
just to get the story instead.  The story has some well known problems and some
really deep flaws/inconsistencies, but is still pretty good in my opinion.
However, unlike most complaints, my biggest gripe with the ending was that the
revelation isn't one that forces the player to rethink something big and is a
missed opportunity.  Lastly, I'd comment that this kind of result is inevitable
when you write a huge story as you go.  At least some upfront outlining is
essential to make sure everything fits.  This is why most JRPGs and televised
series are just a random walk through whatever.
*** DONE America's Army 3
    - State "DONE"       [2012-07-02 Mon 01:10]
    - State "STARTED"    [2012-07-01 Mon 23:43]
The latest AA game.  I had a lot of fun playing AA:O years ago, and wanted to
check out the new version.

This new version is pretty much a failure and most of the bad press it got was
well deserved.  The game mechanics are all clunky and it's missing all of the
cool stuff from the old game (like handguns and jump-tossing grenades).
Basically, I have no desire to play this game.  Apparently AA 2.5 still exists,
so I'm switching to that and forgetting about 3.
*** DONE America's Army 2.5
    - State "DONE"       [2012-07-03 Tue 06:02]
    - State "STARTED"    [2012-07-02 Mon 02:27]
The old version of the AA game.  3 was kind of a let down, so I'll give the old
client a try again.

Setup:
- Download AA 2.5 Assist program from http://aao25.com/ and stick it somewhere.
- Run the installer.
- Setup an account on http://battletracker.com/
- Set the AA 2 name in the Tracker Settings in My Profile.

This is pretty much the state of the game the last time I played it.  I wish
more people were playing it though, so I could just hang out on Bridge Crossing
defense for hours.  This isn't the fault of the game or anything, but the
average skill level is very advanced, so there's no hordes of n00bs to kill.
Played this for awhile, but I think my tastes in milsims has changed such that
only something at least as realistic as ARMA works for me.
*** DONE DayZ
    - State "DONE"       [2012-07-08 Sun 03:58]
    - State "STARTED"    [2012-07-03 Tue 06:02]
An ARMA 2 semi-persistent world zombie mod.

Setup:
- Install ARMA 2: Combined Operations.  I bought it on Steam.
- Get Six Updater: http://www.six-updater.net/p/download.html
- Install Six Updater and run Six Launcher.  Find DayZ themed program in the
  server browser and click the Update button.
- Start up both ARMA 2 and ARMA 2: OA from Steam to get all updates.
- Start up ARMA 2: OA and create a new profile (make sure it's selected) and
  change settings.
- Turn off all anti-aliasing.  On my Radeon, this causes all the graphics to be
  messed up.
- Set video memory to default.
- To prevent random temporary freezing, close Six Updater after launching.

DayZ SP:
- Note that 1.7.2.4 will break the SP mod.  I've backed up a copy of 1.7.3 for
  this reason and a working SP .pbo.  Launch with the beta enabled and enable
  @DayZ in the expansions menu and restart.  Cheat scripts seem to be
  non-functional and restoring saves only partially works, so each game has to
  be a single play through.

A great concept, but a horribly buggy and has some flaws.  This game was fun
for awhile, but the perpetual death match aspect of the game is really all
there is to it, and that gets old eventually.  It's quite easy to get awesome
gear and just go live in the woods, but that's even more boring.  I'll come
back to the game later if updates fix some of the problems with it.

Single player is pretty much no challenge and lacks the main allure of the game
(the unpredictable nature of other players), but is okay for some item
collecting and trying out stuff.  Another option are private hives like
DreamHive (see http://www.dayzhive.com) for connection info.
*** DONE ARMA 2 missions
    - State "DONE"       [2012-07-11 Wed 10:19]
    - State "STARTED"    [2012-07-09 Mon 10:28]
Various promising looking mods.
- Chernarus Apocalypse: A COOP mod for ARMA 2.  This is supposed to be for 6-10
  players, but I wanted to try it solo.  However, it's pretty close to
  impossible, but it can be a little fun to see how far you can get.
- Dawn of the Apocalypse: The single player prologue to the above.  Not bad,
  but too short and the spawn is too dense
- Ghosts of Chernarus: Not a big fan of racing against the clock in this game.
  I want my missions to take hours, if possible.

None of these were really all that playable.  I'll maybe try more mods later,
but I'll finish the included content first.  I've mainly just been making my
own missions so I can play the way want to, however this does take away any
surprise factor as by the time it's complete, I've already tested it several
times along the way.

Update: After heavily editing Chernarus Apocalypse, it can be pretty playable
solo.  However, it's still not that much fun.
*** DONE Bunny Invasion
    - State "DONE"       [2012-07-12 Thu 02:18]
    - State "STARTED"    [2012-07-11 Wed 21:49]
A Flash game, but this works okay for barricade games (sometimes).

Bunny Invasion: Easter Special: Pretty good and reasonably well balanced.
Bunny Invasion 2: Not as good as the first.

Not quite as good as Last Stand, but still worth playing through once.  Line of
sight is always implemented wrong in the games, for some reason.  Guns are
completely unrealistic and have no relation to their real world counterparts.
*** DONE World of Tanks
    - State "DONE"       [2012-07-16 Mon 19:53]
    - State "STARTED"    [2012-07-15 Sun 14:42]
A F2P tank "sim" MMO.  Has tons of actual and prototype tanks (mostly)
realistically modeled for the first time in any game.

Okay for what it is, but not worth spending money on for a lot of good reasons:
- Too arcade-like for my tastes.
- The main problem is with the microtransaction model that I'd rather not
  participate in.  I'd rather have just bought the game for a few dollars and
  skipped all of the treadmilling and other artificial paywalls.
- Would be more fun if the distances were much greater and accuracy improved.
  Then it wouldn't need the weird mechanic of enemy tanks being invisible until
  "spotted".
- Getting placed in a random battle where you're completely outranked isn't any
  fun since you have no chance of penetrating the hulls of most of the enemy.
  I've been in matches where I'm literally the only tier 1 tank.
- Has massive amounts of grinding and weird leveling mechanics, like crew
  losing tons of XP when switching vehicles.

I cannot fathom why anyone would spend actual money on this (or waste the
massive amount of time required for grinding), but apparently a lot of people
do just that.

Update: I kept this around to play very occasionally, sticking to a
Leichtraktor through 2 crew experience levels.  From what I can tell, there's
no real point in trying to get a better tank.  The game doesn't actually get
any better than this -- just more expensive.
*** CANCELED Cyber Dungeon Quest
    - State "CANCELED"   [2012-07-17 Tue 21:36]
A game in Clojure.

http://resatori.com/cyber-dungeon-quest

Doesn't seem to want to load in Conkeror (even on Windows).  Since it's
probably not that great anyway, I'll skip this.
*** DONE War Inc. Battlezone
    - State "DONE"       [2012-07-21 Sat 19:50]
    - State "STARTED"    [2012-07-21 Sat 19:11]
A F2P shooter.  Available on Steam.

Standard FPS schlock.  Not really my style and full of annoying paywalls, so
quitting after an hour.
*** DONE DayZ (Lingor Island)
    - State "DONE"       [2012-08-03 Fri 11:11]
    - State "STARTED"    [2012-08-02 Thu 09:07]
Though I'm thoroughly bored of normal DayZ, there's a new variant of it up with
a completely different map.  This is probably enough to make things interesting
again for awhile.

Setup (this will probably be out of date very soon):
- Grab this file: http://dayzlingor.tk/files/dayz_lingor/@dayz_lingor_v0251.7z
- Extract the @dayz_lingor folder to the OA root folder.
- Download the Lingor Island map from here:
  http://www.armaholic.com/page.php?id=10792
- Put the @lingor folder from that in the OA root folder.
- Grab the map patch from here:
  http://www.icebreakr.info/files/lingor_sounds.pbo.lingor14.bisign
- Put that file in @lingor/addons.
- Manually (re)install the most recent beta in order to get a copy of the link
  to launch OA with the Beta patch enabled.
- Got into Expansions and enable all Lingor Island content.  Restart.
- Filter by "lingor" and at least a few servers should come up.  Join one of
  those.
- To play normal DayZ again, go back into Expansions and re-disable all the
  same content.

The main good thing about this mod variant is that all buildings can be
entered.  However, there are some serious downsides to it too:
- The map is much smaller.  Survivor contact is way up as a result.
- Several additional bugs and more of an overall unpolished feel.
- There's currently only a few servers, so getting on is often impossible.
- If you want to loot an area no one is in, you have to wait several minutes
  for the spawns to initialize.
- The jungle environment is probably great for other mods, but feels a little
  wrong for DayZ.  Chernarus is a far more convincing setting.
- Military-grade equipment is far too common.  I'd actually prefer DayZ weapons
  were 90% civilian, with military stuff being insanely rare and highly
  contested for.  More civilian weapons would be needed first though.

Played this for awhile, but got tired of it.  Will possibly check back later if
a lot more progress occurs on this mod variant.
*** DONE Millennium Remake
    - State "DONE"       [2012-08-04 Sat 20:57]
    - State "STARTED"    [2012-07-30 Mon 01:06]
This is a remake of the 1989 game Millennium 2.2.  I was thinking about playing
the original, but this version appears to be feature-complete and obviously
looks and sounds way better.  This also includes some nice features that remove
some serious tedium present in the original.

http://glitch01.wordpress.com/

This remake still has a couple problems:
- The computer opponent cheats in order to artificially keep your average ship
  count per colony below 30.
- Some sloppy programming in a couple places.
- Remote colony management is a bit clunky.
- Transporting stuff around kinda sucks.
- Battles can't be skipped.  Normally I'd want to watch them, but they're
  pretty boring here.

This is an okay game, but needs more balancing and strategy to be truly
interesting.
*** DONE Immortal Defense
    - State "DONE"       [2012-08-07 Tue 11:51]
    - State "STARTED"    [2009-10-21 Wed 20:41]
Conceptually excellent tower defense game that includes active participation on
the player's part.  Adds some story elements not typically seen in this genre.

Complaints:
- Map sizes too small and/or game a bit too fast.  Not enough time for
  strategic pondering.
- Would prefer just to place towers rather than engage enemy manually.
- Needs to support higher resolutions.
- Whatever sound lib is being used here errors when initialized.
- The final infinite wave level at the end of each chapter goes way too fast.
  Even with infinite resources, it's impossible to get more than a couple
  minutes into these.

Played quite a bit of this.  I always intended to finish it, but I guess I lost
momentum, since I haven't touched it in years.  I'll close it to clean up
what's probably an abandoned effort.  I think the imprecise nature of the
towers makes me not actually drawn to it, despite its many good points.
*** DONE Photopia
    - State "DONE"       [2012-08-08 Wed 04:37]
    - State "STARTED"    [2012-08-07 Tue 14:08]
Supposedly a good story-based IF.

http://www.wurb.com/if/game/255

Worth playing (or rather, reading).  One of the better story IF games and uses
the medium pretty well for that purpose.
*** DONE The Weapon
    - State "DONE"       [2012-08-09 Thu 23:25]
    - State "STARTED"    [2012-08-09 Thu 21:04]
Looks like an interesting one room scifi IF game.  The virtual feelies in this
convinced me to give it a try.

http://ifdb.tads.org/viewgame?id=tcebhl79rlxo3qrk

Pretty good, with clever puzzles.  It's short of great though, mostly due to
its length, lack of really excellent writing, and less than completely
satisfying ending.
*** CANCELED Red Orchestra 2
    - State "CANCELED"   [2012-08-10 Fri 22:42]
An FPS, but seems like it might be good enough.

Probably a fine game, but I've got my ultra-realism fix with ARMA 2, which
looks way more realistic.
*** DONE Violet
    - State "DONE"       [2012-08-11 Sat 03:40]
    - State "STARTED"    [2012-08-11 Sat 01:22]
A supposedly unique IF game.

http://ifdb.tads.org/viewgame?id=4glrrfh7wrp9zz7b

Though not my normal subject matter, this is well written enough and original
enough of a concept to be quite good in my opinion.
*** DONE 9:05
    - State "DONE"       [2012-08-12 Sun 02:52]
Supposedly a super-unique and replayable (although short) IF game.

http://ifdb.tads.org/viewgame?id=qzftg3j8nh5f34i2

Has one really good concept, but that's all it has.
*** DONE Death Off the Cuff
    - State "DONE"       [2012-08-12 Sun 14:35]
    - State "STARTED"    [2012-08-12 Sun 13:05]
An interesting concept.  You're a detective that's gathered everyone for the
big reveal, except you don't know who the culprit actually is.

http://ifdb.tads.org/viewgame?id=hqjjswyesj1gjm7v

A well done original concept.
*** DONE Shade
    - State "DONE"       [2012-08-13 Mon 11:46]
    - State "STARTED"    [2012-08-12 Sun 20:49]
Another supposedly creative one-room IF.

http://ifdb.tads.org/viewgame?id=hsfc7fnl40k4a30q

Not really that great.  Too linear, nonsensical, and the mystery revelation is
pretty obvious within the first few moves.
*** DONE Ascii Sector
    - State "DONE"       [2012-08-14 Tue 14:47]
    - State "STARTED"    [2010-11-03 Wed 21:47]
A text-based Privateer-clone.  Using the binary Linux port, which to my
surprise, actually worked.  http://www.asciisector.net/

Complaints:
- It's impossible to tell NPCs apart in port, since they're all just dots.  A
  smarter system would've been to use special chars for all objects and letters
  for the NPCs with a letter being their first name, maybe with colors used as
  job type or something.
- Released binary-only for no good reason, with no FreeBSD port.  Why anyone
  feels the need to closed-source a text game is beyond me.
- "ASCII" is an acronym and as such, it should be in all capital letters.

Didn't really play this too much.  It's an okay game, I guess, but missing
something that would make it particularly compelling.  Will keep it on
netbooks for emergency boredom alleviation.
*** DONE ARMA 2
    - State "DONE"       [2012-08-18 Sat 20:48]
    - State "STARTED"    [2012-07-04 Wed 10:06]
Since I picked this up to play DayZ, I might as well play this some.  I sorta
liked Operation Flashpoint, but got frustrated with flying helicopters, put it
aside with the intention of playing it more later, and then never got around to
it again.

Setup:
- Rebind flight controls like this: http://www.youtube.com/watch?v=mfciVb_rYHw
  I apparently am unable to not suck at flying helicopters in this game, but
  this control scheme at least makes it possible to not crash (usually with
  multiple reloads).

This is definitely what I've been looking for in a milsim.  I'm actually quite
glad I got this, and can ignore all other FPSes for the foreseeable future as
none can compare to ARMA's realism.

Giving up on the Harvest Red campaign on the final mission.  Two tries of many
hours into it both resulted in bugged states.  It's totally possible to avoid
these issues, but not worth all the retrying for me.  I'm also skipping EW,
since I don't like flying helicopters.  Finished all stock SP missions, minus
Freedom Fighters (which is too imbalanced to be fun, IMO).  This concludes the
base ARMA 2 game for me.  Though a sometimes buggy game, this was definitely
worth playing.
*** DONE ARMA 2: Operation Arrowhead
    - State "DONE"       [2012-08-19 Sun 23:08]
    - State "STARTED"    [2012-08-18 Sat 01:52]
The first expansion to ARMA 2.  The missions here are supposedly superior in
quality to the base game campaign.

This was a better campaign than the original.  I might pick up the Private
Military Company expansion too, since that looks the most promising by far.
I'll wait awhile though, since it's currently $10.  Then if I'm really dying
for more content, I could also pick up the British Armed Forces expansion.
*** DONE ARMA 2 mods
    - State "DONE"       [2012-08-21 Tue 01:02]
    - State "STARTED"    [2012-08-20 Mon 14:53]
Though like any moddable game, most mods for this one are crap, but I've been
following ARMA 2 long enough now to notice some that are universally highly
regarded and thus probably worth trying.

- ACE: Mega-realism update and tons of extra stuff.  Run the included
  "aceclippi" application while changing settings.  Be sure to at least remap
  the interaction menu buttons.  Follow these instructions (which includes some
  of the following, plus others):
  http://www.the-wrecking-crew.co.uk/page/installation
- ACRE: Improved radio.  This is required if I play online (and I'd need a mic
  too).  Probably will skip this though, since I'm not really into MP.
- JSRS: Improved sound.
- ASR AI: Maybe use this to reduce the AI's insane ability to source
  incoming fire.  Installed this from Six Updater as well.

Modding existing missions: There's some missions I think could be good if
modified some.  I don't want to go as far as learning how to create actual mods
though.  See this site for pbo editing tools:
http://community.bistudio.com/wiki/ArmA:_Community_Tools
*** DONE Anchorhead
    - State "DONE"       [2012-08-27 Mon 02:04]
    - State "STARTED"    [2012-08-09 Thu 23:40]
    - State "STARTED"    [2012-08-09 Thu 08:49]
Another Lovecraftian IF game.

http://ifdb.tads.org/viewgame?id=op0uw1gn1tjqmjt7

One of the best IF games I've ever played, though not perfect.  Also as some
bugs, but these seem not to be game-breaking.
*** CANCELED FO:NV mods
    - State "CANCELED"   [2012-08-29 Wed 00:43]
If/when I finish all the expansion packs, try the game with these mods if I
ever want to do another full play-through.  There's a lot of potentially good
mods out there, but given how buggy the game is, it's probably best to keep
them to an absolute minimum.

A World of Pain: http://newvegas.nexusmods.com/mods/38719
NVInteriors: http://newvegas.nexusmods.com/mods/43534
DFB - Random Encounters: http://newvegas.nexusmods.com/mods/42793
Droppable Quest Items: http://newvegas.nexusmods.com/mods/35639

I may also want to find one that vastly ups the damage of firearms and reduces
ammo availability accordingly.  Having played the game a lot, I'm pretty sure
this would work and make guns more realistic.

Skipping this.  If I want a realistic combat sim, I'll stick with ARMA games.
I'll finish the last expansion pack I bought and call it quits here.
*** DONE more ARMA 2 missions
    - State "DONE"       [2012-09-10 Mon 11:03]
    - State "STARTED"    [2012-08-22 Wed 16:21]
Some promising looking missions/campaigns.

- Escape Chernarus: Turn off any AI mods before playing this.  Trying this just
  by myself.  This is a really good mission to play solo.  Finally beat it
  after many tries, though it wouldn't have taken as many had I forgot to lock
  my server and some n00b showed up and killed me.  Always lock the server.
- The Forgotten Few (campaign): A Chernarus multi-part SP mission.
- Martyrdom 2: Requires Fallujah map.  Install this from Six Updater.  Seems
  nice, but doesn't work properly with ASR AI or something, at least for me.
- Team Shadow (campaign): A sniper campaign.  Looks good, but didn't get around
  to trying it.
- Dynamic Zombie Sandbox: Best ARMA 2 zombie so far.  There's little reason to
  play the others with this available.  I do, however, wish it had DayZ's blood
  system and item collection.  It also needs more stuff to do.

I've almost been defaulting to editing missions now, since there's always some
aspect of them I find unpleasant enough to be worth the effort.

I'm getting a bit bored with ARMA 2, so I'll shelve it until I buy the PMC
expansion.
*** DONE Nexus: The Jupiter Incident
    - State "DONE"       [2012-09-10 Mon 11:16]
    - State "STARTED"    [2012-05-15 Tue 08:46]
Gave up last time during this one mission I was having problems with (Titan),
but that was 8 years ago.  The style of space combat here is really unique and
quite well thought out, so I'd like to give it another shot.

Pretty easily beat the Titan mission after a couple tries.  It turns out I was
just getting unlucky before with computer-controlled ship positioning and siege
laser hits.

A few complaints:
- The control scheme could have used a bit more thought.  I'm still not always
  sure what orders override what.
- Some of the lore is a bit shallow/silly (though most of it is pretty good).
- Random stuff happens outside of your control that can ruin a mission.  I
  guess this isn't too bad though, since it's realistic.
- With such a nice universe, it's kind of a shame to experience it through a
  completely linear plot.  Once the missions are done, there's very little
  reason to keep playing this.
- It's a bit difficult to experiment with different builds, since they require
  installing components over multiple missions.
- A lot of realism is included (e.g., stopping requires thrust in the opposite
  direction), but then there's oversights (e.g., continued travel in a single
  direction at a constant speed requires constant thrust).
- Items that show up as available to mount on one ship sometimes aren't on
  another ship of a different class.
- Owned ship shields are bugged in the second to last mission -- they drop when
  you issue a move command.  It's still possible to win without taking losses,
  but struggling against bugs in the final significant battle sucks.
- The second to last mission is pretty bugged (shields randomly dropping and
  getting sucked into the wormhole).  After a dozen reloads trying to work
  around them, I gave up and just watched the ending on a LP.  As the last
  mission isn't really a challenge, I didn't miss anything.

Nexus 2 is currently in development now and is slated for a Q4 2012 release.
I'll probably pick that up when/if it comes out, if it looks competently made.
*** CANCELED Alternativa
    - State "CANCELED"   [2012-11-10 Sat 14:26]
Wait until this is around $10 at most.

Watched some of an LP of this and decided I no longer want to play it.
*** DONE ARMA 2: Namalsk
    - State "DONE"       [2012-11-10 Sat 15:52]
    - State "STARTED"    [2012-11-03 Sat 23:06]
This is also a popular DayZ map, but I'm just trying out the single player
campaign.

This has thoroughly terrible writing and grammar.  The cut scenes are also
crap.  However, this would be forgivable if not for the frustrating gameplay
issues, mostly involving the custom enemies.  If this was just a milsim mod and
they hadn't bothered with monsters, it would probably be very excellent.  As it
is now though, it's not really worth playing.
*** DONE The Temple of Elemental Evil
    - State "DONE"       [2012-11-23 Fri 21:37]
    - State "STARTED"    [2012-11-10 Sat 18:56]
I recall this being mostly panned by hardcore RPG addicts at the time it was
released due to being rushed to shelves, which is why I never bought it.  The
problems are now mostly addressed by the Circle of Eight 7.5.0 NC modpack,
which adds new stuff, fixes some bugs, and activates areas that weren't
accessible in the retail version.

Complaints:
- Has lots of bugs, from minor graphical glitches to full crashes and save
  corruption.
- Uses a much smaller subset of the rules system that NWN has.
- Starts off with a massive network of boring fetch quests.  This is avoidable
  by doing the modpack's Welkwood Bog instead, if you avoid a bug of it sending
  you to the wrong place.
- The radial menu system sucks, as does most of the rest of the UI.
- Would've been much more fun as a 2nd edition rules game.
- The game's difficultly (or inability to change it) forces you to powergame
  your party and stats, at least early on.  Having the option to play on
  slightly reduced difficulty and with a more challenging party build could
  have convinced me to replay it (if also not for all the bugs).
- The roll history is vague to the point that you can't tell what's going on.

Notes:
- Activate new content by talking to the Hommlet smith.
- Add Craft Wonderous Item and Craft Magic Arms and Armor for both a wizard and
  cleric.  The loss of 4 feats is more than made up for with the awesome gear.
- Select all stat buff spells on level up since the scrolls don't exist.
- Always up base damage to +3 before adding bonus damage.  Then add burst
  damage before adding normal rolls of the same element.  Elemental
  enchantments max out at 4 types (3 for characters with sneak attack).
- It's lame, but it's best to follow a walkthrough if doing the Hommlet fetch
  quests.  If done in the wrong order you can get forced into getting married.
- Filling NPC party members up with level 0 scrolls is a good way to prevent
  them taking loot, though they'll still take money.  But with the level cap at
  20, it's better to just stick to 5 PC characters.

Despite the problems, this is still a good game and is almost as entertaining
as IWD2, at least with the modpack.  I left some of the new content unfinished,
but between this and NWN, I think I've had enough of the 3.5 ruleset for now.
*** DONE Project Zomboid 0.1.4c Demo
    - State "DONE"       [2012-11-23 Fri 20:30]
    - State "STARTED"    [2012-11-24 Sat 10:36]
Has a fully custom 2D isometric engine.

Has some promise, but needs a lot more stuff to do and more items.  This a long
way from being complete enough of a game for me to buy.  While the interface
leaves a little to be desired, the engine is really nice.
*** DONE Zork I
    - State "DONE"       [2012-12-05 Wed 10:23]
    - State "STARTED"    [2012-03-04 Sun 11:38]
The most famous IF game ever.  Might as well give this a try finally.

Complaints:
- Some of the puzzles in this game are a bit counter-intuitive.  A good IF
  puzzle should require creative and/or lateral thinking.  I guess this is
  somewhat forgivable given that it was among the first.
- Too much trial and error.  There should be clues in the text that make your
  random actions make sense.
- Includes mazes.
- The room layout doesn't lend itself well to map-making.
- Normal play can result in un-winnable states with nothing to indicate such.

Gave up trying to blind-play this once I encountered the first of two mazes, as
randomly guessing directions in those is no fun.  Just finished it with a
walkthrough to read the rest of the game text.  Will be skipping the other Zork
games since they look like they have more of the same flaws.
*** DONE L2J
    - State "DONE"       [2012-12-16 Sun 16:22]
    - State "STARTED"    [2012-12-13 Thu 22:38]
Setup an L2J server and see how far it's come since then.  I definitely won't
actually bother playing it more than just a little though.  The last time I
looked, it was playable, but just barely.

Server guide: http://l2jserver.com/wiki/Setup_Server
Client guide: http://www.westknights.com/forums/viewtopic.php?f=34&t=2208

Tasks:
- Upgraded Java to 1.7.  Updated JAVA_HOME and PATH.
- Upgraded Eclipse to Juno while I was at it.  Note that the JDK upgrade
  requires editing the specified JRE under "External Tools" in the drop-down
  next to the "Run" button.  This wipes out my Counterclockwise/Leiningen
  setup, but I wasn't using it anyway.
- Grabbed an unstable snapshot of L2J server and datapack, since I probably
  won't bother changing any code.
- Put database locally on Windows so as not to gunk up cellblock.
- Merged in the game client system directory changes.
- Updated hosts file to redirect to localhost.
- Respawn is way too fast.  Running this fixes that: update spawnlist set
  respawn_delay = (respawn_delay * 3);

Got the server up after some work.  There's definitely still a lot of features
missing in the emulator, but the core game seems to be there.

Complaints about Lineage 2:
- Item tiers by level + enchanting doesn't really work.  Item tiers are pretty
  dumb in the first place, IMO.
- Has leveled XP and even drops.  I've always felt this turned an otherwise
  open world into one where you progress through small parts of it that were
  worth visiting.  It also has implications for farming needed drops.
- Enchanting is a huge timesink for no good reason.
- Has all kinds of random, weird systems that make no sense and are explained
  nowhere.  Basically, it's full of the wrong kind of complexity.  I'm sure
  it'd be fine for people that've played this for years, but much of the
  mechanics of these are impenetrable for the newbie.
- Targeting and movement and are sloppy and imprecise.
- Too group-centric.  In L1, almost everything was solo-able with the right
  character, though grouping still had it's benefits.  Here, if you want to
  solo, you're simply locked out of the majority of interesting content,
  especially late game.
- There's really no original ideas in this game.  It's all been done before,
  and with less mindless grinding.

There's a lot of little things wrong with L2, but these are the big ones.
Despite the problems, it's okay for a minor MMO fix, but there are far better
options out there.
*** DONE Angband
    - State "DONE"       [2012-12-26 Wed 10:44]
    - State "STARTED"    [2012-12-24 Mon 15:27]
Played a lot of Angband back in the 1990s.  Giving it another look to see if I
want to keep playing it (or, more likely, its variants).  Installed on FreeBSD,
but tiles and multiple windows don't work there.  It's still playable, but the
other windows do make life easier, so I'm mainly using the Windows version.

This is still fun, but my main problem with it is that I'd prefer levels not be
regenerated when revisiting floors (I forgot how annoying that was).  There are
also definitely better variants now that make the experience more interesting.
I've reviewed the entire list and am thinking about checking out (in order of
currently perceived likelihood of being good) Unangband, Z+Angband, and
Hengband (seems dead now).  However, none of these seem as good as ToME.
*** DONE ToME
    - State "DONE"       [2012-12-27 Thu 10:44]
    - State "STARTED"    [2012-12-17 Mon 01:25]
One of the more actively developed Angband-variants.  This has been recently
updated to a more original setting and renamed to Tales of Maj'Eyal, so I'm
playing that on Windows.  http://tome.te4.org/

This is one of the better games I've ever played.  There's some minor things
about it that could be improved, however:
- I grabbed the code for this and it looks clean enough, but the many
  unforeseen interactions beg for some more formal way of modeling game state.
  If done right, this would fix the many Lua errors, most of which seem to
  involve operations on null values.
- Some of the gimmick dungeons, like the Sandworm Lair, get old after playing
  them a zillion times.
- Stun/freeze and confusion immunity is a bit too important.  Almost every
  build has to prioritize finding items for this.  In most games, death is
  guaranteed by Darkfell due to not getting lucky on immunity drops.  The only
  recourse is then to farm up items for days in the Ruined Dungeon.
- Summoners and minion necromancers could be awesome, but are too annoying to
  play due to pathfinding and space issues.
- While enemies scale in level with you, you still mostly fight the same ones
  over and over.  Towards the end of the game, you'll be encountering level 50
  rats, wolves, and bears.  I'd rather see new monster types at higher levels.
- The level cap is hit too quickly.  I hit the cap on my winning run with still
  many plot dungeons to go.  Had I farmed the farportal, I could have easily
  hit it before ever leaving for the Far East.
- I'd prefer the game be easier but only have rougelike mode.  The game seems
  to be designed around the assumption that you will use multiple lives.

This is so far removed from Angband, it's barely a variant at all apart from
some superficial similarities.  I finally managed to beat it with a Cornac
Solipsist on easy mode.  I'll come back some time in the future and try winning
with a different class.  Development is still active, so there will be a lot
different in a couple years.
*** DONE GNU Typist
    - State "DONE"       [2012-12-28 Fri 22:20]
    - State "STARTED"    [2012-12-27 Thu 09:56]
A curses-based typing tutor.  This might improve my speed/accuracy some.

This did help some with numbers and special characters.  I noticed that I'm
faster with the Das Keyboard, but more accurate with the IBM Model M, probably
due to the difference in key pressure needed.  This was mildly entertaining for
a few hours, but I'm uninstalling it now that I finished all the lessons that I
seem worthwhile.
*** DONE ZAngband (revisited)
    - State "DONE"       [2012-12-29 Sat 17:14]
    - State "STARTED"    [2012-12-28 Fri 01:37]
Several other Angband variants are better than this, but this is ported to
FreeBSD, so I'll play it some.

The port of this is much better than when I last played and, unlike normal
Angband, runs (mostly) properly on FreeBSD.

Zangband is pretty unforgiving.  While I can consistently get a character to
around mid-level, getting the required setup to go deeper tends to be much
tougher.  In the meantime, I'll usually die farming the mobs that could
potentially drop the stuff I need (typically from one of the effects I'm trying
to get resistance to).  Add the low encumbrance, particularly of non-STR chars,
plus mobs that steal massive amounts of GP and this gets especially tiresome.
If it weren't for these things, it'd be a decent Angband variant.  I'll keep
this around as my main game on the system until I get back into Nethack, but
probably won't play it much anymore.
** Math goals
*** DONE quantitative research
    - State "DONE"       [2012-09-10 Mon 11:22]
    - State "STARTED"    [2012-09-10 Mon 11:18]
Technically work-related, but I also want to know about this for my own
benefit.  Might just get a mental outline of the subject and stop there.

Read the Wikipedia page and know enough to know I don't want to read any more.
QR is just statistics+sociology -- two fields I find pretty boring.  I need to
know statistics, but I'd rather keep learning that independently of the
sloppiness of the sociology pseudoscience.
** General life goals
*** DONE survive Afghanistan
    - State "DONE"       [2012-03-20 Tue 17:23]
    - State "STARTED"    [2011-08-21 Sun 05:52]
The plan here was to stay in Afghanistan until 2012-11-26.  I was fully aware
that it would be unlikely that this would work out as nicely for any number of
possible things that could go wrong.  As suspected, something did, and I'll
have been in country for around 204 days.  This is still plenty of time though,
as my original goal was to spend at least 6 months there.

I got what I wanted out of it, which was a large pile of money.  While the pile
could have been bigger, as planned in ideas.org, I've been raising the bar on
what I'm willing to suffer in exchange for money now, and conditions there had
gotten really, really bad.  Though I'm now technically financially independent,
I do still want to finish my targeted buffer before retiring completely, but I
intend to do that in a manner where I incur the least possible suffering for it
(time is not as much of a factor now, since I could realistically walk away
whenever I wanted to).

Events evolved after my leaving such that it became clear that I wouldn't have
been able to milk my position there for much more than I already did.  So,
there's no regrets about anything that happened as I pretty much achieved a
near optimal outcome.
*** DONE write emergency resignation letter
    - State "DONE"       [2012-06-13 Wed 09:50]
    - State "STARTED"    [2012-06-06 Wed 02:46]
It's always a good idea to have one of these handy.  That way if your employer
insists you do something you'd rather not, you just pull this out and the
problem is solved.  In my case, I probably don't want another job and could
just say "I quit", but there's no sense in limiting options needlessly.
Besides, I'm pretty much beyond caring what impressions I leave on passing
scenery, like former coworkers.

Wrote a letter in LaTeX (which makes letter markup pretty painless) and waited
a few days and reviewed the wording.  It's pretty much perfect now without
being too long.  It's also written in a manner that lends itself to generic,
completely voluntary resignation.  Will print this out, sign it, and carry it
around until it's needed.
*** DONE nootropics
    - State "DONE"       [2012-11-25 Sun 20:51]
    - State "STARTED"    [2012-09-17 Mon 11:47]
I'm skeptical about these, but I'll give the cheap ones a try first and see if
I notice results.  I doubt I'm immune to the placebo effect, but since I do
track productivity very closely, I suspect I'm less likely to be fooled by it.
The fact that the better nootropics definitely have an effect isn't disputed.
The part I'm mainly skeptical of is whether or not they result in an increase
of the productive kinds of mental activity.  For example, caffeine gives one a
stimulus boost, but unless I'm about to fall asleep, it doesn't really help me
write better code or retain more information, and too much of it just results
in useless scatterbrain non-thinking.  There is also some definite snake oil in
the herbal/supplement side of nootropics, so I'm only sticking with stuff
confirmed by studies.  A good self-study is here (though it's not
even single-blind): http://www.gwern.net/Nootropics

One impetus for this is that I currently like nicotine's (very mild) nootropics
effects and would like to replace that with something that doesn't murder me.
Apart from the physical addiction, I know from experience that absent nicotine,
I'm much lazier.  If this wor