Archived projects list

Table of Contents

1 Project List (2019)

1.1 Computer Science/Programming

1.1.1 DONE Type Systems (paper)

  • State "DONE" from "STARTED" [2019-01-24 Thu 17:21]
  • State "STARTED" from "TODO" [2018-08-30 Thu 21:49]

An paper introducing formal thinking about type systems, extracted from the Handbook of Computer Science and Engineering. This might be a good review prior to starting a formal self-education curriculum.

Quite good and covers a lot of ground. I'm also thinking now that I might be able to get by with the basics and not need the huge course on the topic I devised. There's value in the underlying theory, but internalizing those details seems to be more appropriate when implementing type systems, not using them. I'll still read some of my planned texts anyway though, and see how I feel about this notion later on. Didn't finish, due to wanting to get a more thorough treatment of the more complex topics in textbook form.

1.1.2 DONE C# 7.0: In a Nutshell

  • State "DONE" from "STARTED" [2019-05-24 Fri 21:07]
  • State "STARTED" from "TODO" [2019-04-25 Thu 15:46]

Read most of this for the new job, since I think this is one of the languages used. Get a practical refresher of C# and an overview of its features since 3.5. Maybe read up to chapter 9.


  • ref and out qualifiers can be used on function parameters. out is suggested as a solution for multiple value return.
  • Null coelescing operator: Returns a default value if expression is null, e.g. string s = something ?? "nothing";
  • Null conditional operator: Returns null if object is null instead of throwing a NullReferenceException, e.g. string s = o?.ToString();
  • switch statements can match on types and include a when clause.
  • using static can be used to import all static members of a namespace.
  • Expression-bodied method syntax, which can also be used in constructors, local functions, and properties: int f (int x) => x * 2;
  • The this keyword and colon can be used in constructor declarations to call constructors of differing parameters.
  • Deconstructors allow one to assign fields to parameters, similar to a deconstructing bind in other languages. Define a special method named Deconstruct, with fields as out parameters. Use with this syntax: (int x, int y) = o; or var (x, y) = o;
  • When instantiating classes with public fields, use this syntax: new Foo(){x = 1, y = 2};
  • The as operator can be used to downcast an object, returning null if it fails instead of an exception.
  • In addition to type checking, the is operator can introduce a type-casted variable: if (o is Foo f) { Console.WriteLine(; }
  • To inherit the constructor of a base class, use this syntax: public Subclass(int x) : base(x) {}

Some of these post-3.5 features seem like a little bit of syntax bloat, without much substantive payoff. Others are rather nice though, and overall it's a better language now. Stopped after chapter 4, since I started writing some and feel pretty confident with it now. Also went through all the LINQ examples in LINQPad, which follow this book.

1.1.3 CANCELED Learn You An Agda

  • State "CANCELED" from "TODO" [2019-07-31 Wed 21:38]

An very short online book for learning Agda. More of a tutorial, really.

Skipping Agda in favor of Coq, at least for now.

1.1.4 CANCELED Dependently Typed Programming in Agda

  • State "CANCELED" from "TODO" [2019-07-31 Wed 21:38]

This appears to be one of the most useful Agda texts. I may consider following this with Verified Functional Programming in Agda (which I have a copy of).

Skipping Agda in favor of Coq, at least for now.

1.1.5 DONE Pro TypeScript: Application-Scale JavaScript Development

  • State "DONE" from "STARTED" [2019-07-31 Wed 21:40]
  • State "STARTED" from "TODO" [2019-06-06 Thu 19:02]

Seems like a recent and probably okay book on the language. Will read chapters 1-6, 8, and 9, with skimming the boring stuff.


  • const is equivalent to a let, but with immutability.
  • To create a union type, implement multiple interfaces with the & operator, e.g. type u : a & b;

Read a little, but very dull and boring. This is a reasonably competently constructed version of a modern multi-paradigm Java or C#, but I'm going to try to just muddle through with what I know so far. Calling this done.

1.1.6 DONE From design patterns to category theory (blog series)

  • State "DONE" from "STARTED" [2019-07-31 Wed 21:43]
  • State "STARTED" from "TODO" [2019-06-16 Sun 22:13]

Looks like maybe a good series on applied category theory. Normally wouldn't read such things in blog form, but making an exception here as this looks pretty high quality.

Repetitive, with points highly belabored, but communicates the concepts clearly to its intended audience (OOP developers). There are a few points where I'd quibble with the wording though. Wrote a bit of C# code to see what a library of interfaces that implement these ideas might look like, and it seems to be a smart way to organize functionality, though it's not really possible to model them as completely as in Haskell. For interface inheritance, the only one that seems to make sense is Semigroup -> Monoid. However, it's hard to imagine a pressing need for this that's worth the trade-off. Probably just better to stick to using the language as-intended, especially since anything you'd want to do in C# would require a lot of libraries for the heavy-lifting, and those won't meld well with this custom algebraic structures.


  • Semigroups, lacking an identity element, can only accumulate over a non-empty collection. One can create a non-empty collection type for this.
  • Quasigroups: A magma where its possibly non-associative binary operation ⊗ has the property that for any a, b in Q, there exists two elements x, y for which a ⊗ x = b and y ⊗ a = b. A quasigroup with an identity element is a loop.

Read all of the monoids, semigroups, and functor content, but started getting bored. The C# implementations are tedious and obfuscate the concepts. A better and more concise guide is this one:

1.1.7 DONE Learn Windows PowerShell in a Month of Lunches

  • State "DONE" from "STARTED" [2019-09-03 Tue 18:17]
  • State "STARTED" from "TODO" [2019-07-31 Wed 21:56]

The last job-related book I should need to read. This was the least lame-looking book on the subject I could find that is relatively recent. Will mostly skim this one to just get the most basic level of competence. After this, I can get back to stuff I actually care about, I hope.


  • Change font to Lucida Console.
  • Run Update-Help to grab the latest and full help files for all commands currently available. Update-Help can and should be run periodically.

Unreadably boring. Quit after a couple chapters. Got a little context, so calling this good enough.

1.2 General Non-fiction

1.2.1 DONE 2018 F-150 Owner's Manual

  • State "DONE" from "STARTED" [2019-01-20 Sun 22:48]
  • State "STARTED" from "TODO" [2018-08-20 Mon 13:36]

Read this and the supplementary booklets. Study warranty information carefully.


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

I'm thinking regular service visits every 10k is probably the best route. Check the maintenance schedule (pages 558 and 559) before each visit and ensure that the needed stuff gets done.

1.2.2 DONE Samsung ME16K3000AS manual

  • State "DONE" from "STARTED" [2019-01-21 Mon 13:39]
  • State "STARTED" from "TODO" [2019-01-21 Mon 11:54]

Learn all the features of the new microwave.


  • There's a lot of specific recommendations here for different food types. Maybe consult this when defrosting specific items.
  • To use other power levels, hit the power button, and enter a number, then the time. The default, level 10, is actually not optimal for most of the stuff I cook. 7-9 is probably better. Use 4 for reheating frozen stuff and 2 for melting margarine.
  • Using multiple power level stages might be a good idea for defrosting then cooking frozen food.
  • Always use "Eco mode". Hit this button and the display will go out and reduce standby power.
  • Occasionally clean the door seals.
  • Use the bottom light to illuminate the stove area instead of illuminating the whole kitchen.
  • Maybe replace the charcoal filter every few years. This is what's used for internal venting, I think.

1.2.3 DONE Craftsman CMXGGAS030733 manual

  • State "DONE" from "STARTED" [2019-03-16 Sat 16:09]
  • State "STARTED" from "TODO" [2019-03-15 Fri 21:09]

Read this and test it out and come up with a maintenance plan. Also find out what oil it needs.


  • Uses 10W30 oil.
  • When plugging in 110V devices, note the order of outlets to use.
  • Turn on the generator with no load, then slowly activate each load, allowing it to stabilize between additions.
  • To turn off, shut off all loads first, then stop generator. Push off switch, then turn off fuel valve.

Also tested the generator and it works. The engine seems nice, but the rest of it is Chinesium. However, it should be good enough to get the job done.

1.2.4 DONE Kubota BX2380 manual

  • State "DONE" from "STARTED" [2019-05-26 Sun 10:52]
  • State "STARTED" from "TODO" [2019-05-05 Sun 09:16]

Read this in its entirety. Note any maintenance I need to do outside of scheduled dealer visits.


  • Be sure to remove the SMV sign before towing.
  • Takes 3.5qt 10W-30 oil.
  • Always let the engine warm up for awhile before moving any hydraulics.

I'll probably just take this into the dealer for servicing every 2 years or so.

1.2.5 DONE Getting Started with Berkeley DB Java Edition

  • State "DONE" from "STARTED" [2019-11-01 Fri 18:44]
  • State "STARTED" from "TODO" [2019-10-21 Mon 06:53]

Reading for work. Will skim/skip the irrelevant parts, like the DPL.

Skipped all DPL content. Read chapters 1, 2, 7-10, skimming the latter group. Also grabbed the Java Edition, which has HTML docs, including this. This has other documents that could be useful references.

1.3 Fiction

1.3.1 DONE Aurora

  • State "DONE" from "STARTED" [2019-01-10 Thu 22:44]
  • State "STARTED" from "TODO" [2018-12-23 Sun 04:27]

Another recommended AI-focused hard scifi novel.

There's two main components of this novel. The first is the narrative itself, which is largely uneventful, with dull parts drawn out in great detail, and ends up being mostly pointless. The other is the application of various ideas from math and computer science. Unfortunately, these are obviously understood by the author at only a pop-science level, and are often misapplied. For example, the author obviously doesn't understand what the halting problem actually is, and thinks it just means non-terminating processes that need some kind of escape hatch. So, it's hard to find much good here, and even worse, the uninitiated would come away from it thinking incorrect things about certain topics. Most of the rest of this author's works seem to have his politics getting in the way of good story-telling. That's not quite as bad of a problem here, but I'll be skipping him from now on.

1.3.2 DONE The Coming Collapse series

  • State "DONE" from "STARTED" [2019-01-15 Tue 02:23]
  • State "STARTED" from "TODO" [2019-01-13 Sun 19:09]

I already read the first entry, Patriots. I'll give the rest of the books that currently exist a try, though I expect to get bored before finishing them. This series is notable for each entry being about the same event, but told from various perspectives and geographic areas.

  • Survivors: Not as good as the first novel, which isn't all that great either. This is definitely an installment, as not much is actually resolved here. In fact, many open threads are introduced.
  • Founders:
  • Expatriates:
  • Liberators:

Skipping the rest of these for now, but I'll maybe read Founders at some much later date if I get the urge for more of the same.

1.3.3 DONE Flood series

  • State "DONE" from "TODO" [2019-01-20 Sun 00:41]

Another Stephen Baxter hard scifi novel series. This is about seismic activity releasing large quantities of subterranean water. Sounds a bit boring, but I'll give it a chance.

  • Flood: Quitting about 25% in.
  • Ark:

Definite miss on this one.

1.3.4 DONE Sprawl Trilogy

  • State "DONE" from "STARTED" [2019-02-10 Sun 07:21]
  • State "STARTED" from "TODO" [2019-01-20 Sun 20:24]

The progenitor of a genre. In fact, I'm rather sad the future didn't turn out this way.

  • Neuromancer: Surprisingly mediocre, though historically significant, I guess. Couldn't help but notice how much early Shadowrun directly takes from this.
  • Count Zero: Read about 75%.
  • Mona Lisa Overdrive: Skipping.

Gibson has a particular writing style that works sometimes, but usually doesn't and just gets in the way of following the narrative. These novels do exist in a very creative universe for the time, and really could've used better paths through them. Reading these turned into a bit of a chore, and I lost interest in finishing the trilogy.

1.3.5 DONE The Hollow Man

  • State "DONE" from "STARTED" [2019-02-20 Wed 02:51]
  • State "STARTED" from "TODO" [2019-02-17 Sun 01:32]

Supposedly one of the better locked-room mystery novels.

A pretty good mystery novel, but not really solvable by the reader without a lucky guess. Correctly identifying what happened hinges on a timeline being incorrect that the reader would have no clue for doubting.

1.3.6 DONE The Lost Symbol

  • State "DONE" from "STARTED" [2019-02-23 Sat 18:51]
  • State "STARTED" from "TODO" [2019-02-21 Thu 17:43]

Will give the next in the Robert Langdon series of novels a try, though I'm partially expecting to be disappointed.

Well written and a good mystery thriller with plenty of opportunities to learn new stuff. The main downside is the inclusion of pseudoscience in the form of noetics.

1.3.7 DONE Inferno

  • State "DONE" from "STARTED" [2019-03-02 Sat 02:35]
  • State "STARTED" from "TODO" [2019-02-24 Sun 16:21]

The 4th entry in the Robert Langdon series.

The weakest of the 3 of these I've read, maybe mostly due to the lack of depth available in the topic chosen. On the other hand, it has the most believable plot. Learned a bit about Venice and Florence too.

1.3.8 DONE The Wandering Earth

  • State "DONE" from "STARTED" [2019-03-03 Sun 01:49]
  • State "STARTED" from "TODO" [2019-03-02 Sat 03:56]

A novella by Lui Cixin.

An interesting idea, but short such that the idea isn't explored in much depth.

1.3.9 DONE A Meeting with Medusa

  • State "DONE" from "STARTED" [2019-03-05 Tue 19:40]
  • State "STARTED" from "TODO" [2019-03-03 Sun 10:07]

A 1971 Arthur C. Clarke novella related to airships in Jupiter's atmosphere. If I like this, there's a sequel written by Baxter and Reynolds called The Medusa Chronicles.

Just okay, but nothing special. Will skip the follow-on novel, since this world doesn't seem particularly compelling.

1.3.10 DONE A World Out of Time

  • State "DONE" from "STARTED" [2019-03-07 Thu 11:38]
  • State "STARTED" from "TODO" [2019-03-06 Wed 01:48]

A 1976 Niven novel about cryosleep and various other topics. Two other novels share the same universe if I'm interested in it.

A great story at first, but then gets pretty boring. Will skip the other novels, since they seem a bit more in the science fantasy genre.

1.3.11 DONE Proxima series

  • State "DONE" from "STARTED" [2019-03-11 Mon 08:55]
  • State "STARTED" from "TODO" [2019-03-09 Sat 18:49]

A new Stephen Baxter series about planet colonization.

  • Proxima: Quite good, mostly. Has a complex, intertwined story with a mostly interesting setting and a few interesting ideas explored. Only downside is (part of) the ending that introduces the sequel, which includes a particularly lame idea of an alternative history where ancient Rome propagates into the future.
  • Ultima: Reluctantly skipping as this really runs with the implausible alternate history content.

Baxter should probably just condense the good ideas from his various series into single novels. Removing the bad ones and his ability to write endless pages of filler would make for great reads.

1.3.12 DONE BLIT

  • State "DONE" from "STARTED" [2019-04-28 Sun 14:51]
  • State "STARTED" from "TODO" [2019-04-28 Sun 14:39]

A short story about geometric objects being discovered capable of crashing the human brain.

Great idea, but terrible writing.

1.3.13 DONE The Other Gods

  • State "DONE" from "STARTED" [2019-04-29 Mon 21:00]
  • State "STARTED" from "TODO" [2019-04-29 Mon 20:49]

A Lovecraft short story I somehow missed.


1.3.14 DONE Coding Machines

  • State "DONE" from "STARTED" [2019-10-15 Tue 15:21]
  • State "STARTED" from "TODO" [2019-10-15 Tue 14:10]

A comp-fi short story.

A somewhat interesting and realistic take on primitive artificial life.

1.3.15 DONE Responsibility

  • State "DONE" from "STARTED" [2019-10-16 Wed 09:57]
  • State "STARTED" from "TODO" [2019-10-15 Tue 15:48]

Another comp-fi short story.

Very short, but a good idea that deserves a full story.

1.3.16 DONE Honor Harrington series

  • State "DONE" from "STARTED" [2019-10-23 Wed 23:38]
  • State "STARTED" from "TODO" [2019-03-13 Wed 19:37]

A huge military scifi series by Weber. There's also some spin-off series, but I'll stick to the core for now.

  • On Basilisk Station: Okay, but not particularly noteworthy. Perhaps hampered by not covering a very exciting subject matter for most of the book. Has a suitably well thought out lore for space travel and naval combat.
  • The Honor of the Queen: Better than the first. Quite good on the naval warfare side, but a little hamfisted on the setting.
  • The Short Victorious War: Okay, but has a fair amount of character filler. Glosses over some of the naval combat that probably would've been more interesting.
  • Field of Dishonor: Rather boring, being mostly just about politics.
  • Flag in Exile: Pretty good, by comparison. All of the anti-sexism stuff is getting a bit old by now though.
  • Honor Among Enemies: A bit dull. Has a bunch of trope-laden subplots.
  • In Enemy Hands: More of the same, and a particularly predictable entry. Does introduce some less 1-dimensional secondary characters though.
  • Echoes of Honor: Long, with a larger amount of boring content.
  • Ashes of Victory: Lots of boring nothing.
  • War of Honor: Mostly political intrigue. Sometimes this is interesting, but often is a chore to read as it goes on for hundreds of pages. Much of the lesser interesting parts of this could've been condensed or even excluded with no effects on the main plot.
  • At All Costs: More personal drama, but occasionally includes some worthwhile naval tactics. Last several chapters are quite good and include the first truly large-scale fleet battle of the series.
  • Mission of Honor: Incorporates some mystery thriller elements, to reasonably good effect.
  • A Rising Thunder: Far less filler and generally a good read, though only a couple things of actual substance happen.
  • Uncompromising Honor: Finally done. A reasonably good conclusion, though it does leave at least one dangling thread.

This series is scifi derivative of C.S. Forester's Horatio Hornblower series. Has a well designed mythos behind it and is occasionally well-written, getting better as the series progresses. Could use some serious condensing and pruning, like other Weber works. Still worth reading, as it's obvious when the narrative shifts into the lower-quality content, usually about relationships or cats, and which can be safely skipped or skimmed.

1.3.17 DONE The Doomsday Conspiracy

  • State "DONE" from "STARTED" [2019-10-28 Mon 09:14]
  • State "STARTED" from "TODO" [2019-10-27 Sun 15:23]

A conspiracy thriller, supposedly somewhat decent at least.

Completely mediocre.

1.3.18 DONE Ghost Fleet

  • State "DONE" from "STARTED" [2019-11-12 Tue 00:23]
  • State "STARTED" from "TODO" [2019-10-28 Mon 12:58]

A 2015 military techno-thriller. Includes a lot of modern naval warfare, supposedly.

Competently sourced, but probably draws too much from present day trends with no room left for innovative ideas. Actual plot is rather stock and formulaic. Has some naval combat, but lacks any clever tactics.

1.3.19 DONE The Crystal Spheres

  • State "DONE" from "STARTED" [2019-11-12 Tue 17:16]
  • State "STARTED" from "TODO" [2019-11-12 Tue 00:29]

A Brin scifi short story about intentional isolation of the solar system.

About one idea: the planetarium hypothesis of the Fermi paradox.

1.3.20 DONE The 2020 Commission Report

  • State "DONE" from "STARTED" [2019-11-23 Sat 08:58]
  • State "STARTED" from "TODO" [2019-11-18 Mon 14:27]

Full title is The 2020 Commission Report on the North Korean Nuclear Attacks Against the United States, a speculative fiction work made to resemble a post-event governmental report.

Having read many actual reports in real life of the type this emulates, this one isn't convincing. The style and content are significantly off. I also know some about this topic from previous work, and many speculative events and characterizations don't even closely fit. Worst of all is the author's present day political bias on full display, fully killing immersion. Tried just skimming through the lacking content, but eventually gave up.

1.3.21 DONE Not Alone series

  • State "DONE" from "STARTED" [2019-12-25 Wed 00:07]
  • State "STARTED" from "TODO" [2019-11-24 Sun 07:08]

A rather unknown series about first contact.

  • Not Alone: Follows a group of normies with a heavy focus on media reaction to first contact. Content is mostly filler, with the remainder being boring and nothing special. Protagonist might be a self-insert.
  • Second Contact:
  • The Final Call:

The content of this series is of no interest to me, so skipping the rest of it.

1.4 Technology/software

1.4.1 DONE deprecate SLIME and Maxima

  • State "DONE" from "STARTED" [2019-02-06 Wed 12:49]
  • State "STARTED" from "TODO" [2019-02-06 Wed 12:44]

Remove SLIME config from my base Emacs setup. With no intentions of writing CL any time soon (or ever, really), this will help de-bloat it a good bit. I'll also remove Maxima and just put it back later if I actually use it again.

Backed up setup to unused_init.el.

1.4.2 CANCELED projectile

  • State "CANCELED" from "STARTED" [2019-03-03 Sun 00:41]
  • State "STARTED" from "TODO" [2018-07-02 Mon 10:19]

A project-management/navigation package for Emacs. One useful default is that it considers git repos to be projects.

Canceling this for now. Might revisit later though.

1.4.3 DONE Component

  • State "DONE" from "STARTED" [2019-03-03 Sun 00:41]
  • State "STARTED" from "TODO" [2018-08-06 Mon 09:34]

A Clojure framework for DI-like state management of services with dependencies. Been meaning to look at it for a while, since I occasionally have such things in programs.

Maybe also check out this use case:

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

I may circle back around here when I have little more time and create a new n-tier template that uses Component.

1.4.4 DONE fix Clojure stack

  • State "DONE" from "STARTED" [2019-03-22 Fri 18:01]
  • State "STARTED" from "TODO" [2019-03-21 Thu 21:10]

Hadn't used this in a few months and it bit-rotted. Redo everything with the latest versions.

Updated CIDER and cider-nrepl to 0.21.1. Updated lein to 2.9.1.

1.4.5 DONE Visual Studio Community Edition

  • State "DONE" from "STARTED" [2019-03-23 Sat 16:35]
  • State "STARTED" from "TODO" [2019-03-04 Mon 12:54]

Set this up to see the state of the IDE and F# development.

Some extensions I might want:

  • Visual Studio Productivity Power Tools: A collection of mostly UI improvements.
  • Web Essentials: A collection of web-related additions, like supporting markdown, CSS, etc.
  • Trailing Whitespace Visualizer: Also removes.
  • Resharper: External and payware. Skipping here.

Looks like it has some minor improvements from when I last used it. NuGet seems to be the package manager of choice too. Didn't use this much though, since I don't actually have any .Net programming to do (and hopefully never will). Another big change is Git and GitHub integration.

1.4.6 DONE create simple React site

  • State "DONE" from "STARTED" [2019-04-26 Fri 08:22]
  • State "STARTED" from "TODO" [2019-03-02 Sat 23:40]

Get a workflow for creating a basic client-side site in React.


  • Create a project folder, initialize git, and host it somewhere if desired.
  • Run: npm init
  • Run (-D installs as dev dependencies): npm i webpack webpack-cli -D
  • Create src subfolder.
  • Create index.js in src. Maybe put a placeholder of: console.log("hello");
  • Add start and build targets in package.json.
  • Test current dev setup with npm run start and/or npm run build.
  • Run (-S installs as project dependencies): npm i react react-dom -S
  • To support compilation to ES5, install babel: npm i babel-core babel-loader@7 babel-preset-env babel-preset-react -D

    Note: babel-loader@8 doesn't work with the version of babel-core (6.x) that is currently pulled in by it.

  • Create webpack.config.js file with babel-loader config.
  • Create .babelrc file to specify babel-loader options.
  • At this point, react is ready to use in index.js and an index.html can be created (also in src).
  • Add html-webpack-plugin to inject the JS file into index.html: npm i html-webpack-plugin -D
  • Add html-webpack-plugin configuration to webpack.config.js.
  • Run: npm i webpack-dev-server -D
  • Edit package.json to run webpack-dev-server for the start target.
  • Now running npm start will run a dev server and auto-rebuild on changes. If the --open flag was included, this will auto-launch a browser.

Was gonna add some more features to this, but it is working now at least. Might circle back around to this once I have more free time.

1.4.7 CANCELED play-clj

  • State "CANCELED" from "TODO" [2019-05-25 Sat 02:05]

Was previously going to learn LibGDX, but then this Clojure wrapper to it came out. Seems quite excellent and I'll probably make this my replacement lightweight game library. There's also play-cljs, which is on top of p5.js.

Looks a bit dead. play-cljc is also out now too. Maybe check that out instead if I really want to give this a try.

1.4.8 DONE AWS Cloud Practitioner training

  • State "DONE" from "STARTED" [2019-05-30 Thu 21:30]
  • State "STARTED" from "TODO" [2019-05-27 Mon 15:36]

Take the 4.5 hour free course, which might help provide a contextual overview of services. My intention was to skip the exam, but looks like work wants me to do it later, since they're kinda cert junkies.

Somewhat informative. I knew some of this, but it did tie together a lot of the common services. Could use some audio balancing and getting constantly timed out of the course listing page is annoying though. I might use Elastic Beanstalk for some soft launches.

1.4.9 DONE ShellCheck

  • State "DONE" from "STARTED" [2019-06-29 Sat 10:25]
  • State "STARTED" from "TODO" [2019-06-29 Sat 10:17]

A Haskell program for checking shell scripts. Don't have an immediate usage for it, so just take a look and note if I want to keep it in mind.

Looks great. Can integrate with Emacs. Will do so if I ever start writing a lot of shell scripts (which hopefully will never happen). Also good to add to a build configuration as a failure condition if a project ever includes scripts. Added note to maybe include in my next OS setup to install via stack. Also has packages available for both OpenBSD and FreeBSD. There's also a Docker Hub container for it.

1.4.10 DONE Triplebyte quiz

  • State "DONE" from "STARTED" [2019-07-18 Thu 22:27]
  • State "STARTED" from "TODO" [2019-07-18 Thu 21:24]

This YC-funded company has an online programming quiz that supposedly acts kind of like an inverse multiplexer for the technical part of interviews. This won't do anything for me, since they don't currently do this for remote positions, but I'll still give it a try and see how I do.

Did the generalist quiz. Not bad, and I think I got all of them correct. Unfortunately, they don't tell you your score.

1.4.11 DONE clean up UPenn Clojure exercises

  • State "DONE" from "STARTED" [2019-07-27 Sat 12:58]
  • State "STARTED" from "TODO" [2019-07-26 Fri 22:06]

Did this when I first started getting serious about Clojure. It's kinda embarrassing now.


1.4.12 DONE redo windows machine(s)

  • State "DONE" from "STARTED" [2019-07-29 Mon 22:31]
  • State "STARTED" from "TODO" [2019-07-10 Wed 11:24]

Now that I have an MSDN subscription again, I'll update everything on the Windows side of the network.


  • [X] Download all ISOs and installers and store on backup drive.
  • [-] Keys to claim and write down:
    • [X] Windows 10 Pro.
    • [X] Visual Studio 2019 Enterprise.
    • [X] Windows Server 2019 (+ various related keys).
    • [ ] SQL Server 2019 CTP3.0. Maybe hold off on this until I quit, since this is a preview.
    • [X] SharePoint Server 2019.
    • [X] Office Pro Plus 2019.
    • [X] Visio Pro 2019.
    • [X] Project Pro 2019.
  • [X] Get new 256-512GB SSD for main computer.
  • [X] Setup workstation with Windows 10 Pro and the non-server apps above, plus SSMS and latest .Net Framework (check if VS2019 installs this first).
  • [X] Re-install all normal Windows apps I use occasionally.

A usability downgrade, but I guess if I want to keep a gaming rig around, I don't have much choice. Decided not to upgrade hardware, since the benefits are marginal. Also debated setting up a spare box for Server 2019 and the various server applications, but decided not to in order to spare needless overhead. Might still do that in the future, but only if I decide to do some serious Windows development involving server interaction, like something needing SQL Server. I'll keep it as a backup option if needed for future remote work.

In such a situation that I do setup a Server 2019 box, it could include SharePoint Server 2019, Azure DevOps Server 2019, SQL Server 2019 (when released), and Project Server 2019. This will be a headless box, with RD-only access. Other tasks could include hosting VMs that I can connect to remotely (maybe Hyper-V can do this?), but said box would need some beef.

Also upgraded VMware Workstation Player version and a few minor apps. Didn't bother with some others though. Looks like copying over the steam/steamapps folder works for transferring games.

1.4.13 DONE Debian 10.0.0 VM

  • State "DONE" from "STARTED" [2019-08-11 Sun 18:25]
  • State "STARTED" from "TODO" [2019-08-11 Sun 15:16]

Currently using 9.5.0. Not sure I'll bother, but leaving this as a reminder in case I have some free time. Try to get xmonad integration with Gnome working:

Done. Skipping the xmonad setup for now.

1.4.14 CANCELED FsCheck

  • State "CANCELED" from "TODO" [2019-07-31 Wed 21:58]

A QuickCheck library for .Net. Written in F#, but can be used in C# too. Good for modeling laws of group/category theory concepts. Might skip if I don't get around to this before quitting the current job.

Skipping this, but I'll keep it in mind in case I ever write any .Net code.

1.4.15 DONE setup FreeBSD 12.0 VM

  • State "DONE" from "STARTED" [2019-08-22 Thu 21:42]
  • State "STARTED" from "TODO" [2019-08-19 Mon 22:38]

See about getting ZFS on all or most partitions.


  • Did a full disk ZFS install with encryption.
  • Switched to xmonad from ports instead of stack-based.
  • Switch Xorg to use DBUS instead of HAL.
  • Various minor updates.

Had a few minor ports build issues, but looks like it'll be a working setup. Since this is just a test VM, I skipped the kernel/userland build. For encryption, I think I'll be skipping this in a full disk setup. Had daily power outages while I was compiling stuff on this VM, and in the last one, geli was unable to decrypt the disk. This left the entire VM useless. I was going to just do encryption on the laptop, but now I'm definitely not doing it anywhere, even if this is unlikely. In fact, I'll probably just stick to UFS there. Maybe later I'll work on just encrypting /home.

1.4.16 DONE ZFS (revisited)

  • State "DONE" from "STARTED" [2019-08-22 Thu 21:47]
  • State "STARTED" from "TODO" [2019-08-19 Mon 22:38]

Now that have some more resources on FreeBSD, I might want to use ZFS. This will still be a single disk, so it'll be a 1 disk stripe VDEV.

Some thoughts/pre-research notes:

  • Might still want to set copies=2 for self-healing for /home.
  • Looks like ZFS requires the whole disk.
  • Try making a freebsd-boot and freebsd-zfs.
  • ZFS calls what would be partitions mapped to paths on the FS as datasets (e.g. zroot/home -> /home).
  • LZ4 compression is on by default. This is pretty good about not compressing binaries and is a good tradeoff of CPU for disk I/O.
  • Skip de-duplication, since it wastes too much RAM.
  • Need to look into encryption, if I want to duplicate on the laptop. Requires a bootable non-encrypted partition.
  • Can use snapshots for risky OS operations, like full upgrades. Can also use clones for testing stuff.
  • Can use send/receive to ship an FS to a backup, like a USB drive. This is smartly selective, like rsync, but on a block level.
  • Use zfs scrub regularly, like once a month on regular-use systems. Probably should crontab this.

Follow this guide:

For my current drive, set ashift=13. This sets vfs.zfs.min_auto_ashift. Can also be checked with zdb | grep ashift.

Only thing left to do is actually try this out on real hardware, keeping an eye on I/O performance.

1.4.17 CANCELED Twelf

  • State "CANCELED" from "TODO" [2019-08-22 Thu 22:07]

A dependently-typed logical language more powerful than Prolog. Comes with its own Emacs mode and is available as a FreeBSD port. Probably will skip, but will at least consider it once I clear off some of the queue.

Will use Coq and (probably) Dependent Haskell for this instead.

1.4.18 DONE upgrade FreeBSD workstation

  • State "DONE" from "STARTED" [2019-08-30 Fri 22:10]
  • State "STARTED" from "TODO" [2019-08-12 Mon 21:18]

Thinking about grabbing a pre-configured ZaReason Zini 1880, which seems to be a rebranded NUC8i3BEK. I'd then retire my current NUC, and keep it as backup. Total cost for my desired specs (i3-8109U, 16GB RAM, 120GB M.2 SSD) would be $600.

After some thought, decided to just build it myself:

  • Intel NUC8i3BEK
  • Samsung 970 EVO 500GB - NVMe PCIe M.2 2280 MZ-V7E250BW
  • HyperX Kingston Impact 2x16GB 2400MHz DDR4 260-Pin HX424S14IBK2/32

Reasons for upgrading:

  • Fan in 5.5 year old current NUC is starting to make annoying noise. Cleaning doesn't seem to help. Might be the bearing going out.
  • Current NUC is pretty marginal but acceptable for current use. However, anything requiring any beef requires me to use a VM on the gaming rig. REPL startup is annoyingly slow too.
  • Upgrading resource capacity will make running containers of any size feasible.
  • 8th gen NUCs have an improved cooling solution with a larger fan.
  • New NUCs come with WiFi on the MB (Intel Wireless-AC 9560).
  • NUC8i3BEK hardware seems fully supported by FreeBSD, by my best guess.
  • USB 3.0 support, 1 extra front USB port, and a side microSDXC slot.
  • NVMe M.2 and modern RAM = super performance improvements. Current NUC is a 1.1Ghz Celeron 847 with 8GB of DDR3 1333Mhz. For the SSD improvement, it's 247MB/s vs 1666MB/s sequential (avg). RAM performance benchmarks show about a 2x improvement. CPU is about 5x.


  • NUCs are much more expensive now.
  • Power usage is higher even on bottom-line models.
  • Would rather have a new AMD CPU.

This build would be $887 from ZaReason (vs. $565 here), and I'm not sure which brand of RAM/SSD I would get. So, no reason to buy pre-built when it only takes 15min to assemble. Parts ordered on 2019-08-12.

2019-08-20: All parts acquired. Need to dd USB drive and copy all stuff to a junk VM and/or the laptop.

2019-08-28: NUC assembled and base OS installed with Xorg and Emacs up. One downside noticed so far is the Intel Wireless-AC 9560 isn't yet supported by iwm. Work is in progress though, so it might be in 13.0.

2019-08-30: Kernel and world compiled and installed. Still have to setup Docker and bhyve, but I'll split off those tasks, since it's the first time I'm doing those.

This worked out great and was definitely worth the cost. Overall speed of the system has been dramatically improved. This setup should be more than adequate until the fan goes out, which will hopefully be a long time. As for the old NUC, I'll keep it around as a test bed for alt-OS hardware installs, e.g. NixOS, or maybe make it an OpenBSD box if I can get a bedroom desk.

1.4.19 DONE convert Emacs addons to use ELPA

  • State "DONE" from "STARTED" [2019-08-31 Sat 00:08]
  • State "STARTED" from "TODO" [2019-08-30 Fri 22:37]

Go through all of my manually-installed packages and convert as many as possible to pull from ELPA. I recently rewrote the package.el config, so managing these automatically shouldn't be as sloppy. This will also make my init more self-contained. Some addons are starting to get larger dependency trees now too, which makes manually managing these a chore.


  • magit (removed ghub, magit-popup, with-editor)
  • wttrin (removed xterm-color)
  • powerline
  • aggressive-indent
  • lusty-explorer
  • diminish
  • elscreen
  • git-gutter
  • emms
  • gnuplot
  • flymake-cursor
  • htmlize
  • markdown-mode
  • multi-term
  • paredit
  • rainbow-delimiters
  • rainbow-mode
  • volatile-highlights
  • web-mode
  • js2-mode

1.4.20 DONE update all Emacs addons

  • State "DONE" from "STARTED" [2019-08-31 Sat 01:00]
  • State "STARTED" from "TODO" [2019-08-30 Fri 22:37]

Upgraded to 26.2, so might as well update all addons that still don't have ELPA entries.


  • org-present


  • pabbrev

Not much to do after migrating most of this to ELPA.

1.4.21 DONE deprecate redo+

  • State "DONE" from "STARTED" [2019-09-01 Sun 14:01]
  • State "STARTED" from "TODO" [2019-09-01 Sun 14:20]

Instead of using this addon, try C-g C-_. Add subsequent C-_ calls to continue redoing and C-g C-_ to switch directions again.

1.4.22 DONE switch to AUCTeX from ELPA

  • State "DONE" from "STARTED" [2019-09-01 Sun 14:36]
  • State "STARTED" from "TODO" [2019-09-01 Sun 14:26]

I'll still want to install this port to pull in dependencies, but using this from ELPA will allow for less sloppy init. I could even install it from ports, then remove the leaf and keep the dependencies, though I'll probably just leave it there to keep the leaf ports list clean.

1.4.23 DONE fix HDMI audio

  • State "DONE" from "STARTED" [2019-09-01 Sun 01:05]
  • State "STARTED" from "TODO" [2019-08-31 Sat 11:02]

In FreeBSD 12 using the current drm-kmod, HDMI audio won't come back after the monitor goes to sleep. This can only be restored by rebooting. Seems like this has been a problem since Haswell.

Tried a few things, the most promising of which were some creating a /usr/local/etc/X11/xorg.conf.d/serverflags.conf file. Unfortunately, nothing worked. I'm not really committed enough to it to start messing with the kernel code, so I'll just live with it and reboot the rare times I want to watch a movie. I'll try upgrading to 12.1 when it comes out and hope that it's fixed by then.

More generally, I've been noticing a lot of slop in FreeBSD lately. I'm also getting a bit tired of fixing broken stuff (and worse, living with the bugs) in every release. I may start seriously considering switching OSes here soon. I'll put off getting too invested in bhyve while I ponder this. One thing I've been thinking is that all this BSD-specific knowledge is rather useless in the Linux-dominated commercial world, and containers have been decreasing the business case for BSD on the server side.

If I circle back around to this later, try using drm-next-kmod and check out some of this guy's ideas:

1.4.24 CANCELED fix Intero setup

  • State "CANCELED" from "STARTED" [2019-09-01 Sun 01:52]
  • State "STARTED" from "TODO" [2019-09-01 Sun 01:18]

This has been broken for awhile. I've updated stack, switched to using the locally installed version, but Intero's startup is still non-functional. Either figure out what's wrong or redo it from scratch. If I'm having problems still, I can also check out ghcid, which is significantly less complex and still integrates into Emacs, or Dante, which is a fork of Intero.

Maybe read this:

And these:

I think the reason this was breaking was being I used stack install intero, which will only work until GHC is upgraded.

Still broken. This setup should work, but seems the FreeBSD implementation of this isn't used commonly enough to stay working. Yet another reason to consider my possible OS switch.

1.4.25 CANCELED bhyve

  • State "CANCELED" from "TODO" [2019-09-01 Sun 17:33]

The hypervisor VM manager, specific to FreeBSD. I'd like to switch most of my VM use (minus games) to this, in order to leave my gaming rig off most of the time, thereby saving power. OpenBSD has similar capability with vmm.

There are, however, some downsides to VMs in bhyve:

  • Not portable cross-platform the way that VMware or VirtualBox images are.
  • Not optimal for graphical consoles, though it supports them. It seems the recommended approach is to use X forwarding over SSH.

Will try to get at least a Debian or Ubuntu VM up. My hope is that VM usage won't be as much with docker-freebsd around. This should just give coverage on the few Linux apps/games I might want to use and also provide some sandboxing that I can conveniently roll back with ZFS.

Pretty sure I'm going to switch out of FreeBSD, so canceling.

1.4.26 CANCELED docker-freebsd

  • State "CANCELED" from "TODO" [2019-09-01 Sun 17:34]

I have some ideas for containerizing various things. Since Docker is nearly ubiquitous now, this will also just be useful to get some extra familiarity with. This is just setting it up and testing it out. Later, I'll make a set of aliases to kick off various containers. Maybe install docker-compose too.

Pretty sure I'm going to switch out of FreeBSD, so canceling.

1.4.27 DONE Proof General

  • State "DONE" from "STARTED" [2019-09-01 Sun 18:14]
  • State "STARTED" from "TODO" [2019-09-01 Sun 18:04]

Set this up to use Coq.

Had to use the MELPA version, as the one in stable is broken. Enabling the toolbar (M-x tool-bar-mode) is actually useful here, at least until I get used to the commands. I might add company-coq later, but will try using this as-is for now.

1.4.28 DONE which-key

  • State "DONE" from "STARTED" [2019-09-01 Sun 21:58]
  • State "STARTED" from "TODO" [2019-09-01 Sun 19:56]

CIDER recommends this for navigating its very large tree of commands.

Activated this for AUCTeX, CIDER, and org. Seems nice to be able to navigate the command tree for modes like these. I'll try using it a bit and see if it ever actually comes in handy.

1.4.29 DONE dockerfile-mode

  • State "DONE" from "STARTED" [2019-09-02 Mon 00:19]
  • State "STARTED" from "TODO" [2019-09-02 Mon 00:11]

A small major mode, just for Dockerfile support.

Use C-c C-b to build.

Add a line like this for specifying the image name. Without this, it'll prompt for one:

## -*- docker-image-name: "your-image-name-here" -*-

1.4.30 CANCELED Void Linux

  • State "CANCELED" from "TODO" [2019-09-03 Tue 18:16]

Try out this distro. Might want to try it with the Nix package manager, though the default looks good too (which I may want to start with). Try it out on a VM.

Skipping for now.

1.4.31 DONE consider switching workstation to Linux

  • State "DONE" from "STARTED" [2019-09-03 Tue 21:03]
  • State "STARTED" from "TODO" [2019-09-03 Tue 20:25]

I never really thought the day would come, but I'm seriously considering switching out of the BSD world, at least for the laptop/workstation.


  • Hardware compatibility. Probably the biggest cause here is total BSD desktop usage is at its lowest point ever, under 0.1%.
  • Laptop power efficiency.
  • FreeBSD has been an annoyingly buggy mess lately. It's starting to actively get in the way of getting work done.
  • Lots of FreeBSD ports are going unmaintained. If this keeps up, it'll start looking more like OpenBSD, with huge gaps in things I can actually do with my computer.
  • BSD is irrelevant in the workplace these days, at least for anything I'd ever do. Containerization has killed BSD's exclusive feature I'd be interested in (jails). The remaining ones are more network-focused. By contrast, more Linux internalization will be a net benefit.
  • Huggate, while it didn't have much of a overall effect, has cuckified the BSD community to some degree and was never rolled back. A few of the contributors who also owned testicles have stopped in protest, leading to some of the above.
  • Intero, Conkeror, audio, and various other things would once again work. In fact, I could basically get exactly the user experience I aim for in FreeBSD, and without all of the hard work of getting 90% of the way there.
  • It wouldn't take 2 weeks to setup my OS. I mainly just want to write code, not be a sysadmin. This section of this file tends to be full of busy work that adds nothing to my overall QoL.
  • While the rest of the system might be a bit chaotic, I'll have more energy to focus on keeping $HOME perfect.
  • No need for Linux compatibility layers. This is required for increasingly more in BSD these days.
  • Some added gaming options, though I probably won't take advantage of this.
  • When stuff does go wrong, I'll have more resources to actually fix it.


  • I'll never want to dig into kernel or other internals, since the code is a mess.
  • systemd.
  • Linux audio stack is a horrible mess, though I've never had a problem with it and can just ignore it.
  • Security is slightly more of a concern.
  • Debian also has a few SJWs trying to power-grab, though it looks like they're mostly contained. This wouldn't be a problem if I switched out of it later though.
  • BSD documentation is much better than Linux.

One possible vision is to use Debian locally and switch the VPS to OpenBSD. Then, I'll work on getting a viable ArchLinux or NixOS setup in my spare time and switch to that. Arch has long been my favorite distro for various reasons, including borrowing some of the good ideas from BSD. NixOS might be an even better alternative for my use cases though, since I don't need Arch's support of up-to-date packages.

Decided to go forward with the conversion and try doing all my real work in a Linux distro for awhile. Will evaluate the results after a few months. The plan is to try Manjaro in a VM first, then provided that works out nicely, install it on the laptop, then the workstation.

My conclusion is based upon rethinking what I really want out of my OS. There are minor factors here, but the three big ones are:

  • On a spectrum from "just works" to "everything configurable and built from scratch", I'm a bit more in the middle than the point I'm currently operating at. Windows, OSX, and even distros like Ubuntu do too much, but Arch and FreeBSD waste too much of my time with little payoff. Sinking several weeks per year into such activities is a big tax on getting interesting things done. I'll trade tracking current for stability, up to being a few months behind.
  • The current setup is actively prevented from doing work due to unfixable bugs. I can fix some of the OS-level bugs I encounter, but will never have the insight into the ever-changing internals enough to fix all of them. I've consistently had to just live with at least a few annoyances in every release for the past few years. Manually porting software is also error-prone and a lot of work.
  • The intersection between my interests and OSes is very low.

However, I should definitely revisit this trade-off later when I have more free time. When that time comes, re-examine all OS options again too.

1.4.32 CANCELED setup Manjaro VM

  • State "CANCELED" from "STARTED" [2019-09-04 Wed 21:58]
  • State "STARTED" from "TODO" [2019-09-03 Tue 21:03]

Manjaro (currently #2 on distrowatch) is an Arch-based distro that treats Arch as its test-bed. It still supports rolling releases, but with a 2 week lag for stability testing. Will try building off of the Architect ISO. I can also grab more obscure packages from the Arch User Repository. Try getting my full dev stack up, minus printing and Samba.

Has video driver issues out of the box, which I don't feel like fixing. Might check back on this distro some day.

1.4.33 DONE update Emacs on Windows

  • State "DONE" from "STARTED" [2019-09-07 Sat 12:25]
  • State "STARTED" from "TODO" [2019-09-05 Thu 20:31]

Try out my current setup there and fix anything that doesn't work. Package up ~/.emacs.d so I can use it at work.

Updated Emacs version and retooled config. Should work out of the box now, with the only exception of commenting out w3m config if not present. I could do more with browser integration and such, but I don't actually intend to use it on Windows for more than quick text editing at work, so it's not worth the hassle.

1.4.34 DONE Docker (Windows)

  • State "DONE" from "STARTED" [2019-09-08 Sun 12:01]
  • State "STARTED" from "TODO" [2019-09-07 Sat 22:30]

Setup Docker on Win10, in order to run containers anywhere. Also install Docker Compose and Kitematic (which might come with the installer).

Installed Docker Desktop (37877). This comes with Docker Compose. Both are in %PATH%. Installed Kitematic, but it does have some bug where it can't pull through the UI. Command line pulling still works though.

Noticed this enabled Credential Guard, which breaks VMware. Disabled this using a script called DG_Readiness_Tool_v3.6.ps1, run with:

DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

But then that breaks Docker (turning off Hyper-V, I guess). So, looks like I have to choose between running Docker or VMware. Will go with the latter unless I have a good reason not to. I was hoping Docker would be less clunky on Windows when connected to the internet, but that seems to not be the case. I'll stick to using it in other OSes.

1.4.35 DONE install Manjaro on laptop

  • State "DONE" from "STARTED" [2019-09-15 Sun 22:55]
  • State "STARTED" from "TODO" [2019-09-09 Mon 07:07]

Wipe FreeBSD off laptop and try getting a fully functional setup there. If this works out nicely, I'll do the same on the workstation. I might stick with the i3 WM on the laptop though, just for ease of connecting to networks.

Took a few days of tweaking, but things work here pretty good now. Did several things worthy of note:

  • Created a file to track setup procedure.
  • Modded i3 moderately, mainly to behave more like my xmonad setup, which I find pretty optimal.
  • Got power management setup the way I want using xfce4-power-manager.
  • Connected AUR.
  • Tested the important programming stacks, like LaTeX and Clojure.

This is a nice setup, and I'm glad I gave it a chance instead of sticking with what I've always used. The general OS-level things I prefer in BSD over Linux are there, but are behind the scenes enough for me not to notice them much. Probably the main downside is the increased resource usage, but I shouldn't notice it on my new hardware. The next install should go super fast.

Some things I could still do, but I'll put off until I get it on the workstation:

  • Figure out where package downloads are copied so I can save download time.
  • Confirm stack and Intero work together nicely.
  • Get Conkeror working.
  • Do some additional i3bar and Conky tweaking. Get the i3bar to auto-hide on start.
  • Setup nginx.

1.4.36 CANCELED pinentry-emacs

  • State "CANCELED" from "STARTED" [2019-09-22 Sun 08:03]
  • State "STARTED" from "TODO" [2019-09-20 Fri 20:50]

By default on Manjaro, GPG decryption doesn't work in terminal mode. Supposedly, using this script is a workaround.

  • Download script to ~/bin and chmod u+x it.
  • Create a ~/.gnupg/gpg-agent.conf and add this line: pinentry-program $HOME/bin/pinentry-emacs
  • echo RELOADAGENT | gpg-connect-agent

This didn't work, and just breaks it completely. Will have to come up with another strategy. Tried using gpg -d file.gpg > file from the CLI, but this also uses the graphical popup. Maybe try integrating the included pinentry-emacs binary next time.

1.4.37 DONE install Manjaro on workstation

  • State "DONE" from "STARTED" [2019-09-22 Sun 08:30]
  • State "STARTED" from "TODO" [2019-09-15 Sun 23:10]

Get things working at least as good as they now are on the laptop. Do my standard FreeBSD backup routine, then install Manjaro on the workstation. Upon completion, I should be able to leave my main rig off except for playing games. Be sure to copy /var/cache/pacman/pkg from the laptop to save time downloading stuff.

So far, everything worked out okay except for:

  • HDMI audio seems to work, but I can't switch output to it. I've worked around that hooking the amplifier to the headphone jack, but that's less than ideal.
  • GnuPG 2 insists on using the graphical passphrase prompt. I can use pinentry-curses from the CLI, but not from within Emacs.

Overall, this is a huge improvement, at least on the stability front. I'll wrap up the remaining ancillary setups, try to fix the two annoyances above, then finally start thinking about what to do about the VPS.

1.4.38 DONE Jira (introduction)

  • State "DONE" from "STARTED" [2019-09-23 Mon 12:12]
  • State "STARTED" from "TODO" [2019-09-23 Mon 15:52]

Update general knowledge of Jira. I've used this before, but in pre-Git days. This is just a pre-loading knowledge task to ease my future transition using it. I'll schedule a follow-on task if needed, once I learn the subset of features used and if there's enough complexity to warrant it. Generally, I haven't had to do that for tracking software though.

Read a couple overviews and tutorials. Since Jira covers so many use cases, this branches pretty quickly. As I don't want to waste a bunch of time learning parts of the system I won't use, I'll call this good. Seems pretty simple overall.

1.4.39 CANCELED Gorilla REPL

  • State "CANCELED" from "TODO" [2019-09-28 Sat 16:01]

Possibly the best data science solution for Clojure at the moment.

Might revisit later if needed.

1.5 Games

1.5.1 DONE Underrail

  • State "DONE" from "STARTED" [2019-01-06 Sun 12:03]
  • State "STARTED" from "TODO" [2018-12-17 Mon 21:29]

A 2D-isometric RPG, highly reminiscent of Fallout 1/2. Got on a GOG sale for $5.99.


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

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

1.5.2 CANCELED Nocturne

  • State "CANCELED" from "TODO" [2019-01-06 Sun 23:21]

A 1999 adventure game, now available as abandonware.

This runs, but is buggy and clunky to the point of being nearly unplayable.

1.5.3 CANCELED Space Station 13

  • State "CANCELED" from "TODO" [2019-01-06 Sun 23:39]

Supposedly a unique concept. Multi-player, however, so maybe just give it a try for a bit.

Watched a few videos of it and will skip.

1.5.4 DONE The Operational Art of War III

  • State "DONE" from "STARTED" [2019-01-13 Sun 19:46]
  • State "STARTED" from "TODO" [2019-01-13 Sun 18:43]

There's a huge genre of TBS wargames that have minimal graphics and are mostly on hex-based grids by convention. These supposedly have a lot of strategic depth. I'd at least like to give one of them a try, and TOAW3 is often cited as one of the best (the very expensive War in the Pacific: Admiral's Edition is another).

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


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

Maybe I'm missing something, but I don't see the appeal. It's hard to get a good picture of the conflict at the operational level such that one can devise anything like a clever strategy. Also, the text and icons are nearly unreadable at high resolution. There exists a new version that fixes a little of the clunky UI, but requires buying a new copy.

1.5.5 CANCELED HELLION (in development)

  • State "CANCELED" from "TODO" [2019-01-15 Tue 02:51]

A game supposedly focused on realism and survival in space. Currently in early access. Looks like development might be stalled, so definitely don't buy. I find the concept appealing, so it costs nothing to check back in a few years, just in case the unlikely thing happens and this game turns out great.

Looks to be one of those games forever in early access, plagued by bugs and other problems. Forgetting about this one.

1.5.6 CANCELED Stellaris (purchase)

  • State "CANCELED" from "TODO" [2019-01-23 Wed 23:44]

Another space 4x game, released in early 2016. This one looks quite polished. Already has a DLC. Wait until maybe around 2020 or so. Keeping this as my currently most promising 4x game, but will replace if something better comes along before it's reasonably priced. I've been too disappointed with this genre to pay more than $15 or so.

Skipping due to 4x fatigue.

1.5.7 CANCELED Command: Modern Air/Naval Operations (purchase)

  • State "CANCELED" from "TODO" [2019-01-24 Thu 17:24]

Super expensive ($80), but looks like a true Harpoon successor. Keep an eye out for a sale. Probably better to buy from Matrix Games' site, which allows for registration of the serial on Steam. Was last on sale for $28, which is still too much for a Google Earth application. Multiple DLCs are also available and can easily double the price if all are bought. These will need to be bundled with the main game before considering to purchase.

Skipping. Might revisit the notion of playing this, but paying more than a few dollars for a Google Earth interface to a naval equipment database doesn't seem to make much sense to me. Plus, I'm not sure I actually like this genre of games. I have seen it on deep sale for about $26, so I may reconsider if it goes even lower.

1.5.8 DONE Legends of Aria (early access)

  • State "DONE" from "STARTED" [2019-02-01 Fri 21:33]
  • State "STARTED" from "TODO" [2019-01-29 Tue 16:23]

A modern UO clone. Was going to skip it since it seems surrounded in crowdfunding scandals, but I'll try it out on sister's account.

Tried a miner/blacksmith for awhile. This does seem to have the core UO experience intact, at least from the perspective of a non-combat character. I also appreciate the more AFK-friendly aspects of tradeskill mechanics. On the other hand, this is still dreadfully boring. At least in this version, there are numerous bugs and sloppy design too. Would've been much better in 2D. Might check back later once the game is more done, but currently it requires downloading the entire client every time it's updated.

2019-11-02: Checked back and the game died.

1.5.9 DONE American Truck Simulator

  • State "DONE" from "STARTED" [2019-02-15 Fri 10:13]
  • State "STARTED" from "TODO" [2019-02-09 Sat 20:26]

Probably one of the more realistic driving sims. Also interested in it to practice backing up trailers. Got on sale for $4.99. There's a bunch of DLCs for it, but not sure I'll actually want to play this enough to justify buying those.


  • Set the launch options in Steam to -nointro.
  • Backed up all mods. Note that I may not want to enable the economy mod until I get established if I ever restart.

The best driving sim I've played. If it was a bit better, I'd maybe even consider getting a wheel/pedals/shifter for it. Probably my main complaint is how the distances have been squished, highways unrealistically curvy, cities ridiculously small, and on-ramps too short. It isn't this difficult in real-life to not have an accident. Would've greatly preferred just having one state, but with realistic sizes. There's also a fair number of bugs and minor oversights too.

1.5.10 CANCELED Crusader Kings II

  • State "CANCELED" from "TODO" [2019-02-17 Sun 01:41]

Got for free on Steam.

Tried it a little, but I guess this isn't really my kind of game.

1.5.11 DONE ADOM 3.3.3

  • State "DONE" from "STARTED" [2019-02-17 Sun 22:10]
  • State "STARTED" from "TODO" [2019-02-16 Sat 21:10]

Try the terminal version. If there's monetization issues, go back to 1.2.0, which I have a copy of. 1.1.1 is also still available on FreeBSD.

Played a few games, but this seems inferior to ToME enough that I'm not really interested in playing it in a dedicated fashion. A couple of things seem needlessly annoying in the game, particularly the constant eating requirements. I'll keep it around on FreeBSD as one of my backup games though.

1.5.12 DONE Alias "The Magpie"

  • State "DONE" from "STARTED" [2019-02-20 Wed 13:55]
  • State "STARTED" from "TODO" [2019-02-18 Mon 18:25]

The 2018 IFComp winner.

Pretty good writing at times, though it has at least one obscure verb and some strict preposition usage that hung me up a bit.

1.5.13 DONE Grimnoir

  • State "DONE" from "STARTED" [2019-02-20 Wed 22:50]
  • State "STARTED" from "TODO" [2019-02-20 Wed 14:28]

The 2018 IFComp 4th place winner. This completes my scan of the 2018 IFComp games. Like with 2017, another lackluster showing.

Almost good, but has a few problems, bugs, and content lifted from Wikipedia. Still worth playing though, I suppose, and I rather like the game mechanics used here.

1.5.14 CANCELED Avanor

  • State "CANCELED" from "TODO" [2019-02-23 Sat 20:13]

Another rogue-like, similar to ADOM. Available on FreeBSD.

Decided I might play this one on FreeBSD some, but not going to dedicate any serious time to it.

1.5.15 CANCELED DCS World 1.5

  • State "CANCELED" from "TODO" [2019-02-23 Sat 20:31]

The current DCS version, released in 2015-10. Comes with free access to the Su-25T and TF-51D. There's no reason not to at least give these aircraft a try and master their controls.

If I decide to get any modules, the current two highest quality are the KA-50 and A-10C. I particularly like the KA-50's insane number of switches.

Skipping since I seem to not like flight sims anymore.

1.5.16 DONE Orwell

  • State "DONE" from "STARTED" [2019-10-14 Mon 16:38]
  • State "STARTED" from "TODO" [2019-10-13 Sun 13:00]

Was going to skip this, but have a free copy, so I'll give it a try.

Worth a play and entertaining for a few hours, but glad I didn't pay for it.

1.5.17 DONE 1866 (Mount & Blade mod)

  • State "DONE" from "STARTED" [2019-10-21 Mon 21:55]
  • State "STARTED" from "TODO" [2019-10-21 Mon 14:04]

A post-civil war era mod for Mount & Blade.

In some ways, this is better than the base game, but still has a lot of the same issues. Fun for a bit, but not something I want to play for days, especially with it crashing regularly.

1.6 Programming projects

1.6.1 CANCELED rewrite pexpect scripts

  • State "CANCELED" from "TODO" [2019-09-07 Sat 14:19]

Rewrite these in some other language besides Python. Once I do so, I can deprecate my entire Python development stack and just keep around the built-in python-mode around on Emacs and the Python interpreter pulled in by Xorg. There's a list of libraries here:

Maybe I can use the Java library via Clojure's interop. Also I might just deprecate these scripts altogether, since I don't use them much now.

The only one of these I used was my pweather script, but integration in Emacs is more convenient. So, won't bother with this.

1.6.2 DONE create l1j-en milestone build

  • State "DONE" from "STARTED" [2019-09-07 Sat 22:12]
  • State "STARTED" from "TODO" [2019-09-07 Sat 10:11]

Will wrap this project up for now. If the team gets active again, I might work on it some more later, but I'm pretty happy with how it is.

  • [X]

    Merge in all stuff from dev. This will require some git magic, since it won't merge cleanly anymore: Did this:

    git checkout dev
    git merge -s ours master
    git checkout master
    git merge dev
  • [X] Merge in the java9 branch changes: Done. Closed issued.
  • [X] Create the M10 DB build. Close issue on commit.
  • [X] Move or de-tag all issues labeled "Milestone 10".
  • [X] Update README.
  • [X] Merge master back into dev.

The only possible remaining task is a migration back to GitHub. But, will have to coordinate that with the other guys.

1.7 Computer science/programming goals

1.7.1 CANCELED Docker

  • State "CANCELED" from "STARTED" [2019-11-28 Thu 02:21]
  • State "STARTED" from "TODO" [2019-08-12 Mon 22:01]

Already have some familiarity and experience with this. Generally, I'll increase this slightly to integrate it into some local infrastructure. However, I don't want to go too nuts with it since this space is pretty fluid and containers are pretty far on the IT side of things. In fact, one of the main reasons I'm interested in Docker is to reduce overall IT overhead. One limiting factor is that Docker's dominance in the containerization field is waning some.

  • [X] Create account on Docker Hub.
  • [X] Install Docker for Windows and Kitematic (see task).
  • [ ] Install Docker on Manjaro.
  • [ ] Suck less at Docker commands and creating Dockerfiles.
  • [ ] Suck less at using Docker Compose.
  • [ ] Consider containerizing some of my apps.
  • [ ] Consider containerizing some of my infrastructure, like web server, database, and anything else that requires customization or locks data into.
  • [ ] If the above works, update the VPS to be able to run containers or get a cheaper Linux one to do the same on.
  • [ ] Look around Docker Hub and see if there are any images I want to keep handy and/or use regularly.
  • [ ] Add Docker as skill to resume.

Gained a bit more familiarity here, but I'd rather not deep dive on it as planned without a direct need for it. My job switch negates the immediacy and there's been some serious contenders for the throne in this space recently.

1.8 General life

1.8.1 DONE replace basement door

  • State "DONE" from "STARTED" [2019-01-02 Wed 17:21]
  • State "STARTED" from "TODO" [2018-06-25 Mon 15:52]

This door is a good candidate for replacement. The previous owner thinks it was just a spare door that was laying around, and predates the house. It's also too small for the opening, and as such, has a sloppy framing job done. I could probably live with that, but it also leaks water into the basement during heavy rainfall. I'll be using this as a test run for contracting through Home Depot. Consultation appointment is scheduled for 2018-06-25.

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

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

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

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

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

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

2018-12-12: Received call and scheduled install for 2019-01-02 0800-0100.

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

Will definitely not use Home Depot for installations in the future. It's too easy to get lost in the workflows they have and there's no room to accommodate anything going wrong, which apparently is more likely to happen than not. Worst of all is the price, which is terrible.

2019-02-11/2019-02-13: Called and reminded Brice to send gift card, which never showed. He said he'd referred it to Ray.

2019-03-21: After more nagging, they claim we'll receive the gift card by 2019-04-04.

2019-04-01: Finally got gift card. Will use it to buy freezer. I now consider this annoyingly long and frustrating saga complete.

1.8.2 DONE get rid of some junk

  • State "DONE" from "STARTED" [2019-01-08 Tue 21:12]
  • State "STARTED" from "TODO" [2019-01-07 Mon 12:36]

Got rid of most of the junk items laying around from the previous home owners, but there's still at least 3 pieces left: a dump truck tire, half of a metal barrel, and a big piece of styrofoam.

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

2019-01-08: Going to the dump is pretty painless. The nearby one is called the Hampshire County Transfer Station. Tires do cost a little extra, but otherwise it's pretty cheap.

1.8.3 DONE check out tree stands

  • State "DONE" from "STARTED" [2019-01-08 Tue 21:18]
  • State "STARTED" from "TODO" [2019-01-08 Tue 14:14]

There's 2 tree stands on the property, of unknown status.

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

Also cleaned up a bag's worth of trash found around these and nearby.

1.8.4 DONE neuter Stripey

  • State "DONE" from "STARTED" [2019-01-14 Mon 15:52]
  • State "STARTED" from "TODO" [2019-01-14 Mon 11:00]

Get Stripey neutered when we take him in for his final booster shot. After that, he'll never go to the vet again (at least, until the end). Appointment is on 2019-01-14 0815-0830.

Successfully snipped.

1.8.5 CANCELED fix microwave

  • State "CANCELED" from "STARTED" [2019-01-15 Tue 20:50]
  • State "STARTED" from "TODO" [2019-01-10 Thu 23:58]

The microwave stopped working during a very close lightning strike. I think and hope that it's just the main fuse. The model is a Samsung SMH1622S.

To get to the fuse:

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

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

Installed new fuse, but apparently more than the fuse was fried. Will have to buy a replacement.

1.8.6 DONE replace microwave

  • State "DONE" from "STARTED" [2019-01-21 Mon 11:41]
  • State "STARTED" from "TODO" [2019-01-16 Wed 20:40]

Broken microwave is 29 7/8" wide and 16 1/2" high. It's a 1.6 cu.ft. capacity. The current model Samsung of the same capacity is the same width and only slightly taller, so it'll probably fit.

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

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

2019-01-21: Installed and works. Model is a Samsung ME16K3000AS. Grabbed a copy of the manual PDF. Will take old microwave to dump once I get enough stuff.

1.8.7 DONE test humidity in basement

  • State "DONE" from "STARTED" [2019-01-21 Mon 22:55]
  • State "STARTED" from "TODO" [2019-01-16 Wed 16:39]

Use a digital hygrometer to see what the humidity range is, and whether it could use a dehumidifier. It might not need it now that the door is fixed, which I suspect was the main humidity source. Pull battery from hydrometer when done.

Maxed out at 48%, but is usually in the 30s. A dehumidifier wouldn't be useless, but I could probably get away without one. Will think about it.

Update: Looks like humidity does actually get rather high in the basement in the summer. I'll definitely want a dehumidifier.

1.8.8 DONE post-work life optimization

  • State "DONE" from "STARTED" [2019-01-22 Tue 00:21]
  • State "STARTED" from "TODO" [2018-09-14 Fri 19:57]

My job is pretty in line with the things I already do in life, at least technically and with it being flexible about physical presence. In fact, I'd probably stay longer if the human interaction component was rewarding or at least neutral.

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


  • [X] Take a little time off after leaving to cleanse the brain. Keep this period to under a month, if possible, but ensure that I completely repair any brain damage incurred by being around so many mentally ill worker drones and over-socialized urbanites. There are many standard behaviors I've subsumed that are only optimal because of interacting with such individuals. I definitely don't want any of those dragged along as habits when not needed. Took off one month.
  • [X] Setup voice mail on the phone and auto-ignore all calls. Just check them once every few days at most. This will prevent me from getting interrupted by all those spam calls. Alternatively, see if there's a way to just let a whitelist of numbers come through and have the rest go to voice mail. If auto-ignore isn't possible, just turn down the ringer volume. Disable text messaging if possible.
  • [X] Ignore IRC almost all the time. Only pay attention to it when working on the game project.
  • [X] Update government sticker collections.
  • [X] Switch to only using mutt for email.
  • [X] Clean out all work-related files I have laying around. Delete any codebases that don't have anything useful in them.

Done. Might also audit all stuff and do a maintenance pass.

1.8.9 DONE check temperature around boiler

  • State "DONE" from "STARTED" [2019-01-24 Thu 17:13]
  • State "STARTED" from "TODO" [2019-01-24 Thu 16:43]

There used to be some insulation here that was removed to replace the recirculation pump. I'll use the infrared thermometer gun to check for major heat leakage and see if it's worth replacing it.

There's some heat leakage here, but it's not nearly as much as the front. If I have some spare insulation later, I'll put some here, but it's not a big loss point.

1.8.10 DONE get wood stove thermostat fixed

  • State "DONE" from "STARTED" [2019-01-25 Fri 12:01]
  • State "STARTED" from "TODO" [2019-01-11 Fri 15:30]

This sometimes fails to shut off the HVAC fan without yanking the power cord on it. Looks like a simple fix, but something a professional needs to do. Will try local guy recommended by neighbor first.

2019-01-11: Left a message.

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

2019-01-22: Visit scheduled for early 2019-01-25.

2019-01-25: Replaced broken relay on HVAC unit. Also asked for advice about full system. Contractor suggests getting an electrical heat backup installed since the heat pump is nearly ineffective at very cold temperatures. This will require replacing a lot of the main unit, however. Will consider doing this when the heat pump needs to be replaced, which might be smart to do in another 3-4 years (if I want to do so proactively). He also suggests getting the heat pump an annual checkup in March of every year (since it can be tested in both hot and cold modes more easily then). I might try stretching that to every 2 years.

1.8.11 DONE replace caulking (round 1)

  • State "DONE" from "STARTED" [2019-02-17 Sun 20:45]
  • State "STARTED" from "TODO" [2019-02-10 Sun 10:48]

The caulking behind the master bathroom sinks and hall bathroom counter is cracked and needs replaced. Also do around top of shower(s). Looks easy to do this myself, with only the old caulk removal being a pain.

2019-02-12: Did both sinks.

2019-02-17: Hall shower done.

2019-02-19: Also redid master bathroom shower.

2019-03-19: Redid caulking on SW sink.

1.8.12 DONE get more firewood

  • State "DONE" from "STARTED" [2019-02-28 Thu 17:52]
  • State "STARTED" from "TODO" [2019-01-05 Sat 18:59]

Looks like at least 3-4 cords are needed to get through a winter. Started here with about 1/2 cord, got another 1/2 delivered, and collected a little extra around the property. Then load 2 was delivered on 2019-01-05.

2019-01-28: Cut a partial truckload of free wood and hauled it back from a property north of Capon Bridge.

2019-01-28: Second load of free wood acquired. Could use 1-2 more, at least.

2019-01-29: Another load randomly showed up. Guy said he'd bring another in 2 weeks, which if that happens, we'll be good for the winter.

2019-02-05: All wood currently owned split and stacked.

2019-02-09: Another mostly-full truckload of free wood acquired.

2019-02-15: Grabbed a little from the forest in back.

2019-02-28: Another wood load delivered. Should be good for the winter. Will still get some as available for next winter though.

1.8.13 DONE get utility trailer

  • State "DONE" from "STARTED" [2019-03-03 Sun 12:22]
  • State "STARTED" from "TODO" [2019-01-19 Sat 10:49]

Mule is 52.6" wide and 106.7" long, meaning I'll need at least a 5'x10' trailer. Go look at the ones available at Leonard of Winchester. Once I get this, consider getting a cover for it.

Got a 5'x10' one (note that this is the inside, usable dimensions), model Carry-On Trailer 5X10GW from Romney Cycles, since it was a bit cheaper. Note that while plates are lifetime, inspections are supposed to happen yearly. In this county though, most people just ignore that. I might get it occasionally when bringing in the Mule for service since it'll already be there though. GVWR is 2190 lbs. Keep this in mind when hauling and buying equipment.

Follow-up tasks:

  • [X] Get title in mail.
  • [X] Get license plate in mail.
  • [X] Mount plate.
  • [X] Get registration card and put in truck glove compartment.
  • [ ] Devise some kind of cover for it, probably with a tarp/bungees.
  • [X] Paint over some of the chipped areas.

Skipping covering it for now. Note that the registration and license plate don't expire, but inspection stickers are only good for 1 year. I'll probably risk skipping this, since I won't use it much. I might get an inspection for it if I take it in for maintenance in a few years.

I still need to setup the trailer for the truck's backup assist feature.

2019-03-15: Finished setting up trailer backup assist. Doing so on the private road works fine. Will have to keep an eye on that sticker though, since it's dangling off a bit. I put a bit of duct tape around it, which might help some. If it becomes a problem, I'll bolt or preferably weld on a metal plate for it.

1.8.14 DONE fill holes in walls

  • State "DONE" from "STARTED" [2019-03-04 Mon 15:36]
  • State "STARTED" from "TODO" [2019-03-04 Mon 23:07]

Fill all holes in the walls from nails with spackling paste.

This really improved interior visuals. Used putty instead of paste, which works fine but is more difficult to use it seems. On the other hand, it's also less messy and easier to do a small spot repair. Using a latex glove while doing this is a good idea. Might also use this for any drywall cracks at painting time.

1.8.15 DONE clean up HVAC diffusers

  • State "DONE" from "STARTED" [2019-03-08 Fri 22:39]
  • State "STARTED" from "TODO" [2019-03-08 Fri 21:33]

I cleaned most of these when we moved in, but there's still a few dirty ones.

Cleaned. One of them has bent fins, and I'll pick up a replacement for it next time I'm at Lowes. The item is the 15" Accord Ventilation Baseboard Diffuser.

1.8.16 DONE fix vinyl siding

  • State "DONE" from "STARTED" [2019-03-13 Wed 15:00]
  • State "STARTED" from "TODO" [2019-03-13 Wed 13:51]

There are a couple of damaged spots in the front of the house and several nails in the north side. There exists some product specifically for this task. Use a silicone sealant or vinyl siding patch. See report.

Did this and also pulled all nails the previous owner used to hang their collection of metal frogs from. Used silicone sealant. Will keep an eye on it to make sure the holes stay filled and don't turn brown.

2019-03-21: Found another hole and plugged it. This one is next to the side door and is pretty large. It also has something that looks like a flat thumb tack inside of it. Decided to leave it in place and apply sealant over it. Check back on it later. If it's not sealing well, it might be a good candidate for a patch.

1.8.17 DONE fix garage roof flashing

  • State "DONE" from "STARTED" [2019-03-15 Fri 17:34]
  • State "STARTED" from "TODO" [2019-03-15 Fri 16:34]

There's a piece missing on the NW corner. I think I have the piece somewhere.

Done. Also replaced the too-long nail I put in as a temporary fix.

1.8.18 DONE build a raised bed

  • State "DONE" from "STARTED" [2019-03-16 Sat 12:40]
  • State "STARTED" from "TODO" [2019-03-09 Sat 14:54]

Get 4 8ft 2x10" treated boards and 4 short square posts (or 48" of posts total). Build a square and put it next to the other raised bed, perhaps separated by a couple feet.

2019-03-09: Bought lumber. Local shop only had 1x10", so I got those instead. Will have to brace them with some metal bars.

2019-03-11: Raised bed built. Lined it up with the other one, spacing them by 32". Also added metal bars at the central point for each board.

2019-03-12: Moved 4 Mule-loads of poop-dirt into raised bed.

2019-03-13: Added a decent layer of ash from the wood stove. This should balance the pH towards alkaline a little.

2019-03-15: Leveled.

2019-03-16: Hauled in a load of normal dirt from the small garden and leveled again.

This worked out quite well. 2x10"s would've been better, but bracing seems to make this a non-issue. Note that all the rocks from the dirt brought in are in the corners. I'll dump the final load of ashes in here when I shut down the wood stove for the season too.

1.8.19 DONE touch up trailer paint

  • State "DONE" from "STARTED" [2019-03-20 Wed 16:13]
  • State "STARTED" from "TODO" [2019-03-20 Wed 17:33]

There's a few spots of exposed metal on it that are starting to rust a bit.

Repainted all exposed spots I could find, including the jack. Probably should've sanded them down first. Will do that next time.

1.8.20 DONE level hog pen dirt

  • State "DONE" from "STARTED" [2019-03-19 Tue 15:26]
  • State "STARTED" from "TODO" [2019-03-19 Tue 13:48]

Flatten all of these craters, which collect pools of water, and fix the fence line. Do this before the grass starts growing in it again.

Done, but will have to let it rain a few times to ensure it's good. I guess as long as it's close, it'll probably be okay eventually. Also straightened the west posts some.

1.8.21 DONE fix flood light

  • State "DONE" from "STARTED" [2019-03-23 Sat 16:58]
  • State "STARTED" from "TODO" [2019-03-23 Sat 12:45]

With the house I got a free portable twin stand flood light, which seems to be a Regent TQS1000. Replace the burnt out bulb (4.7" 500W, I think), clean it up, and test. Also check if the backup bulb is stocked. Be sure to use gloves when handling 1000W halogen bulbs.

No backup bulb on this model, at least that I can find. Cleaned up the paint splatter on one of the lenses. Bought a 3 pack of bulbs. 2 left in light bulb drawer. Only other thing I could do to this in the future is get a wide pipe or hose clamp for the junction between the two bottom sections, since it seems a bit wobbly. It works fine as is now though, so probably won't bother.

1.8.22 DONE get riding or wide area lawnmower

  • State "DONE" from "STARTED" [2019-03-24 Sun 16:12]
  • State "STARTED" from "TODO" [2019-03-24 Sun 12:05]

The electric lawnmower works and is still my preferred method of mowing grass. However, it doesn't work well when the grass is even a little wet and if it rains a lot I can easily get behind. I'll use a riding or wide area lawnmower in those situations and to clear the areas that I won't regularly mow. I'll still leave large tracts of the lawn unmowed next summer, just to save fuel/energy. Even when owning this new mower, I'll still do as much as possible with the electric one, both for the edges and around buildings, but also generally.

Some models considered: Cadet XT2 LX42, CC 800, John Deere E110.

Decided to go used and cheap. This was to save tons of money, but also because I might get a compact tractor with a mower deck later. Got a 15-18 year old Craftsman LT1000 917-287010 for $350 on Craigslist. Had the seller replace the head gasket. Mowed down all of the overgrown backyard with it and it ran decent enough, with a few quirks. It could probably use some more attention, but I'm thinking I'll just do the minimal to keep it running. I'll take the deck off at some point, clean it, sharpen the blades, add grease if it can take any, and inspect the belt. Need a torque wrench first though.

1.8.23 DONE fix electrical issues

  • State "DONE" from "STARTED" [2019-04-01 Mon 10:31]
  • State "STARTED" from "DONE" [2019-03-29 Fri 09:24]
  • State "DONE" from "STARTED" [2019-03-28 Thu 12:35]
  • State "STARTED" from "TODO" [2019-03-11 Mon 11:29]

Some stuff I need an electrician to do:

  • Fix outlet in basement bathroom: Has an open ground and is not GFCI protected.
  • Fix crosswired front exterior outlet: Ensure this is GFCI protected.
  • Fix outlets by stove: The GFCI (ground fault circuit interrupter) will not reset on these.
  • Fix outlet in east master bathroom: Replace with GFCI switch one.
  • Address light above sink: This causes lights on the other switch to flicker.
  • Get transfer switch installed for generator: Ask about what kind of generator the switch will operate with and the plug type.

Once this is done, I can seal up the basement ceiling.

2019-03-11: Gave up trying to reach the 2 local electricians. Called L&T and they said they'd call back with a time they can come out.

2019-03-13: Electricians showed up for a consultation visit. Developed plan for transfer switch. Need to go buy a generator first, with at least 7000W/30amp output. There's a Craftsman one at Lowe's now that would work.

2019-03-14: Bought generator, Craftsman model CMXGGAS030733. Called electrician back to inform them of outlet type. They'll be back in contact when work can be scheduled. Assembled generator base/wheels and put in shed with a plastic cover.

2019-03-16: Finished reading manual and testing generator. Has a few quirks and is unpleasantly loud, but should work. Next is for the electricians to show up and do the job.

2019-03-26: Job scheduled for 2019-03-28 0900.

2019-03-28: Everything done, except the front outlet, which apparently doesn't have power at all. I'll just cap that. They also found a few problems on the breaker box wiring and fixed that. I unbent a spare hose holder and mounted it under the deck for the cable to wrap around. Be sure to keep the plug dry.

Backup power procedure: On the transfer panel, turn off the PE switch. Go out and turn on the generator and let it warm up. On the transfer panel, turn on the generator switch. Do the reverse to shut off.

These guys also do heat pumps, and I might use them for a replacement later. They also think it might be possible to just add the electric heat element to it too. Maybe call them this or next Fall to look at it.

2019-03-29: Reopening. After testing everything, I noticed that now the SW bathroom light/fan and SW closet light no longer work. These were working the morning before the work was done. Called and they said they'd be back in touch to fix it next week.

2019-04-01: Fixed. Electricians came out and just tightened the ground on that circuit. Now that I think about it, that might be the cause of the non-functional front outlet.

1.8.24 DONE sell trolling motors

  • State "DONE" from "STARTED" [2019-04-01 Mon 21:23]
  • State "STARTED" from "TODO" [2019-03-03 Sun 12:20]

I have 2 trolling motors and a marine battery. These would be nice if the pond was bigger, but I can paddle across it in a couple minutes. So, I might as well sell them. Selling these also means one less battery to maintain/replace.

  • [X] Get battery tender and charge battery: Battery charged.
  • [X] Recharge and test battery: Battery works. Minn Kota motor tested and works too.
  • [X] Figure out what models the motors and battery are: Small motor is an older Minn Kota, unknown model (possibly 65B). Plug is a female 3-wire 12V. Larger motor is a Minn Kota Endura 40 ($200 new). Battery is an EverStart 29DC with a protective case ($89 new).
  • [X] Clean up motors and battery: Cleaned.
  • [X] Write listing ad: On post.txt on my Linux VM.
  • [X] Take pictures of items: Done.
  • [X] List (on both Winchester and Eastern WV) all items together: Listed on 2019-03-11.
  • [X] Conclude sale (or take to auction): Sold for $150 ($140 + $10 meet halfway fee). Deleted listings.

Glad to be rid of this stuff. This also recoups half of the money I paid for the boat and accessories.

1.8.25 DONE caulking (round 2)

  • State "DONE" from "STARTED" [2019-04-03 Wed 11:44]
  • State "STARTED" from "TODO" [2019-04-02 Tue 16:31]

Get a tube of clear caulk and seal up a few spots. Can't think of much to do with this, so seal it up as best as possible to hopefully use more of the tube later. Only doing because the cable hole needs filled now.

  • [X] Fill hole for transfer switch cable.
  • [X] Put thin strip above kitchen sink.

Might also do around the kitchen sink. Will think about it.

1.8.26 DONE get and setup chicken coop

  • State "DONE" from "STARTED" [2019-04-03 Wed 17:54]
  • State "STARTED" from "TODO" [2019-01-21 Mon 12:05]

Was given a chicken coop, currently located next door property, in exchange for pig sitting.

  • [X] Measure platform: Dimensions are 96"x73".
  • [X] Measure coop: 73"x51", with the supports on the long dimension much shorter.
  • [X] Retrieve coop: Transferred. This thing is super heavy. Should hold about 7 chickens comfortably.
  • [ ] Maybe repaint coop to match other structures: Skipping. This is red, which doesn't match anything, but is a really nice painting.
  • [X] Clean inside of coop: Done.
  • [X] Turn to face away from wind: Done.
  • [X] Repair hinges: Replaced these and added a hook latch.
  • [X] Stage kennel fencing: In place.
  • [X] Build ramp up platform: Build one out of an old platform from the mulberry tree. Might mod it some more if it doesn't work too well.
  • [X] Buy extra fencing: Currently have 4 6x10' sections.
  • [ ] Paint top of platform: Skipping.
  • [X] Get feed tub from pig pen and clean it up: Done. Left it outside for rain to clean it off some more.
  • [X] Setup old fencing: Done. Probably should've plotted it out first, but did some retroactive measuring and got it positioned pretty good, I think.
  • [X] Buy chickens: Bought 6 Dark Brahma on 2019-03-19. They look maybe 7-10 days old. One had a condition known as pasty butt, which seems fixed now.
  • [X] Get heat lamp: Done. Also got a few other things.
  • [X] Buy 50lb feed bag: Done, in shed.
  • [X] Modify the feeding trough with walls: Duct taped cardboard to the sides. This should keep them enclosed until they're big enough to go into the coop, at which point it should also be warm enough for them to be outside.
  • [X] Buy ducks: Bought 4 Rouen ducklings on 2019-03-26.
  • [X] Get some bales of straw/hay (or pile up some grass clippings): Got a small bale, but will use clippings once they go outside.
  • [X] Setup new fencing: Done. This was pretty painful. Should've just bought pre-made sections, since moving this will cause it to fall apart. Also could've made it 400 sq.ft. instead of 300 sq.ft. Had to mod it in a few places to get it to not be a square and still have the door work.
  • [X] Bury fence bottoms: Done.
  • [X] Build a larger feeder and watering station: Feeder built using the 5 gallon bucket and PVC pipe method. Maybe put this on some rocks to elevate it a bit. Since I have two waterers, I'll hang one on a pot hanger outside and put the small one in their house.
  • [X] Untangle some chicken wire: Done, and using it to keep them in the bin they're growing up in.

All that's left now is for them to get bigger and go outside. I'll put the chickens out first, probably in 1-2 weeks, and the ducks out a week later.

Might also paint the roof green to slightly better match the rest of the buildings. Will save this for when I redo the garage base paint.

2019-04-09: Put chickens in coop.

2019-04-23: Put in ducks. Decided I didn't want the ducks making a wet mess inside the chicken coop, so I built an enclosure for them by adding sides to the shade platform. Repurposed some of the neighbor's painted fence wood for it. This is open on the north side currently, so I might want to have a plan to further enclose it in the winter.

1.8.27 DONE clean up small parts organizer

  • State "DONE" from "STARTED" [2019-04-04 Thu 00:12]
  • State "STARTED" from "TODO" [2019-03-29 Fri 10:42]

With the house I got a free organizer with drawers. It contains various fasteners like bolts and such. Clean this up, reorganize it, and bring it inside to the indoors workroom. Also grab the empty small fishing tackle boxes, which I might use some of for the same purpose.

Collected almost all spare fasteners and electrical parts here. Left out the nails and screws still in their boxes though.

1.8.28 DONE fix culvert output

  • State "DONE" from "STARTED" [2019-04-04 Thu 16:48]
  • State "STARTED" from "TODO" [2019-04-04 Thu 18:13]

The culvert between the ponds has eroded the stone base under one end. Collect some rocks and refill this area. Find some nice flat shale to use where the water runs constantly.

Put a fair number of rocks here. Looks good now, but will check back on it in a month or two.

1.8.29 DONE clear pokey plants

  • State "DONE" from "STARTED" [2019-04-04 Thu 20:59]
  • State "STARTED" from "TODO" [2019-04-01 Mon 16:47]

There's a ton of wild raspberries and other annoyingly thorny plants in various locations around the property. This is probably too much to keep clear, but I'll at least try to keep them down in areas where I plan to do annual string trimming.

I cleared the ones I needed to in order to finish clearing the hillside. Will probably do some more occasionally when it's dry during the summer. Once the new raised bed has stuff in it, I'll switch to burning this stuff in the fire pit out front, which is probably better anyway since it can hold a lot more.

1.8.30 DONE rekey all doors

  • State "DONE" from "STARTED" [2019-04-05 Fri 20:37]
  • State "STARTED" from "TODO" [2019-03-28 Thu 15:39]

Get all external doors rekeyed to a new, unified key. Do this after getting the basement door replaced.


  • Rekey all doors to same key.
  • Add a metal guard to the side dead bolt.
  • Get the lock on the normal door in the garage fixed.
  • Replace the keypad for the main garage door.

2019-01-11: Checked local hardware store and they only do so if you take all the locks off and bring them in. Will check for locksmiths further out. Try using this company:

2019-03-28: Talked to company on the phone and emailed in my list of things to fix. They said they'd be back in touch early next week and probably come out then too.

2019-04-04: Got call back and confirmed appointment for 2019-04-05 around 1400. Also sent in pictures of locks.

2019-04-05: Done. Side doorknob/dead bolt replaced. The deadbolt here was in the wrong position and the locksmith moved it. Dead bolt guard installed and embedded into the frame. Basement doors rekeyed, but locksmith advises that the handle lock is of low quality and can unset itself. Will continue just using the dead bolt. Garage normal door works now, but the doorknob still is a bit misaligned. May want to replace, but will now no longer blow open as is, if locked. Garage door keypad replaced with newer version and same code set. Saved instructions to folder.

1.8.31 DONE renew car registration

  • State "DONE" from "STARTED" [2019-04-08 Mon 10:01]
  • State "STARTED" from "TODO" [2019-04-08 Mon 12:59]

This would normally be easy, but I guess I need to pay the property tax on it before I can register it. Go to the county assessor's office and see if I can pay that ahead of time or get an exemption affidavit. Then complete the registration on Need to resolve this by 2019-05-01.

Was able to just take care of it on-site at the DMV. Got temporary new registration and will receive the official one in the mail. Put new sticker on plate. Will still need to go to the assessor's office and declare ownership of the car and trailer though.

Update: Went to assessor's office and was added to mailing list. Will receive a declaration form in 2019-07 and a bill in 2020.

1.8.32 DONE test out electric string trimmer

  • State "DONE" from "STARTED" [2019-04-08 Mon 15:54]
  • State "STARTED" from "TODO" [2019-03-28 Thu 17:50]

Got one of these that uses the same batteries as the lawnmower. Uses dual string cartridges. If this works fast enough, do all around the pond and down the hill past the chicken coop. I'll also remove some or all of the thorny bushes around the area while doing so.

2019-04-06: I had ordered some replacement cartridges, but these don't fit. However, it looks like winding string is pretty easy. Next time, get a spool of 0.080" line and load 10 ft.

2019-04-08: Done. I'll still clear out some more thorny bushes, time permitting.

So, I didn't mow these areas at all last year. My estimate is that I can clear all of these hills in about 7-8 hours of work, as long as I do it on a very dry day in early spring when I'm just trimming mostly dead grass. So, I think I'll do just that and not even bother trying to mow these hills. This will also allow trees that naturally spring up to grow in places I want them to, as long as I'm careful not to hit them. This will be way less work overall and lots of thick grass here will prevent erosion. Apart from that, I'll also occasionally use this (maybe once a month or so) during the summer to tidy up around the edges of buildings, around the shores of the ponds, around fences, and the path up the hill to the neighbor's property.

This works pretty good. Speed 1 is good for light grass, and makes the battery last longer. I'll stick to manually feeding string, since apparently the plastic button and spool can wear out.

1.8.33 DONE 2019 tree plan

  • State "DONE" from "STARTED" [2019-02-01 Fri 12:01]
  • State "STARTED" from "TODO" [2019-04-11 Thu 01:06]

This includes more fruit trees and blocking the south wind with some evergreens. I'll see how this works out this year and cycle on it again next year if needed.

  • [X] Plant the walnuts I grabbed in some buckets: Planted 1 walnut in one bucket, 2 in another. If they grow, I'll transfer them to larger buckets, then put them in the ground in 1-2 years. Give these 1.5 years before giving up.
  • [X] Plant some yellow poplar: Grabbed some poplar seeds while lumberjacking. Put a bunch of seeds in each of two buckets. If these sprout, will thin them out and let them grow for awhile. Give these 1.5 years before giving up.
  • [X] Straighten out plum tree: Did both of them, since the other was leaning just a little too.
  • [ ] For wind-blocking trees, I'll spread some pine seeds around a strip on the side of the hill facing the large pond (excluding the part that would block the pond view from the porch). Also try transferring some small ones from the mountain. Then, I'll not mow that strip and hope for the best. I'll be able to fill in any gaps in later years. This may take several years to come to full fruition. Pine is probably the best for this spot since it likes rocky soil and is evergreen. Pine cones open in mid/late-spring and the seeds have wings on them. Maybe try transferring some saplings from the hill into buckets too.
  • [X] Go to the garden shop around April and get some additional fruit trees.
    • 2 pear.
    • 2 cherry. Skipping these this year.

I may take the neighbor's suggestion and get pre-grown trees for the hill from the local garden shop, maybe next year. Plum trees are still alive and seem to be doing well. Pears are bare roots, so will keep them in pots for a year.

1.8.34 DONE collect (f)unemployment

  • State "DONE" from "STARTED" [2019-04-15 Mon 17:39]
  • 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.


  • [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. 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.

2019-03-27: Accepted offer, with 3 weeks to go. However, I'll still be able to max out claims by doing phone call-ins for the remaining weeks. It's been a bit annoying having to navigate all the rules and spam 2 applications per week. I'm also now on a bunch of recruiter lists, and will probably get more job spam for years. However, I made a bit over $9k doing this, so it was definitely worth it. Only thing I would do different is file immediately after leaving the job and choosing the direct deposit option (since I could've just used my normal CC to buy stuff and gotten the rewards cash for it).

2019-04-03: Got audited. This involves an hour-long call with a rep where they ask a bunch of (mostly redundant) questions. They also hone in on a specific week and the contacts made. Thankfully, I kept perfect records and should have no problems. Saving email verification of each contact helps here, as I was able to provide screenshots of them. If I don't hear anything back about this by mid-May, I should be in the clear.

2019-04-15: Final claim filed.

1.8.35 DONE fix flood damage to ATV trails

  • State "DONE" from "STARTED" [2019-04-25 Thu 18:24]
  • State "STARTED" from "TODO" [2018-07-09 Mon 22:21]

The county was hit by severe flooding in 2018-06. The only negative effects here were some erosion damage to the ATV trails in back. My plan here is to use the wheelbarrow and shovel to fill in the gaps created by runoff. Also, see if I can redirect water flow around or to the sides of the paths. This will take many hours, but should get better end results versus borrowing a tractor with a front loader.

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

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

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

2018-08-21: About 2 weeks ago, the back path was redone with a skid steer by neighbor for $200. He also filled the crater completely. Still need to go up there with pick and shovel to create the drainage gutter on the side.

2019-04-25: Was going to dump the rest of the dirt pile back there, but it's holding up pretty good. As for the drainage ditch, I've combined that under my excavation ideas in case I get a tractor with a backhoe. If not, I'll reschedule doing that manually.

1.8.36 DONE clean up wheelbarrow

  • State "DONE" from "STARTED" [2019-04-25 Thu 18:32]
  • State "STARTED" from "TODO" [2018-07-10 Tue 08:50]

Got a free wheelbarrow, but it's been neglected for many years. It's of the design commonly used for cement mixing.


  • [X] Fill tire with air: Done but it slowly leaks out.
  • [X] Tighten bolts: Used 1/2" socket.
  • [ ] Remove tire: Looks like this is probably rusted in place. Would also probably not be able to reuse the handles after removing it the brackets too.
  • [ ] Get new tire (or seal the leaks):
  • [ ] Clean off rusty parts:
  • [ ] Put new coat of paint, white outside, black supports. Skip inside probably.
  • [ ] Consider repainting wood handles brown:

New plan: Will just use this for ashes and other dirty jobs until it falls apart. I might get another wheelbarrow to replace it (or just in addition to it) before that happens. If I happen to get a jug of tire fixing fluid (like the Slime brand), I'll use it on the tire. Otherwise, I'll just pump it up every once in a while.

1.8.37 DONE replace truck mats

  • State "DONE" from "STARTED" [2019-05-01 Wed 08:38]
  • State "STARTED" from "TODO" [2019-04-30 Tue 10:30]

Currently using ill-fitting mats in the front and cardboard in the back. Get some fitted OEM mats.

Ordered some from the dealership, picked them up, and installed them. They look pretty good, and don't have too many places for dirt to get caught.

1.8.38 DONE dispose of all junk

  • State "DONE" from "STARTED" [2019-05-03 Fri 09:50]
  • State "STARTED" from "TODO" [2019-05-02 Thu 21:45]

Have a full truck-load of junk, mostly collected from around the property, in the garage. Time to take it to the dump. Clearing this stuff out will also make room for the tractor and Mule to fit into the garage together.

Done. Costed about $15. A trip to the dump, including unloading, seems to take <1.5 hrs.

1.8.39 DONE consider purchasing tractor

  • State "DONE" from "STARTED" [2019-05-06 Mon 09:18]
  • State "STARTED" from "TODO" [2019-05-02 Thu 14:51]

After some thought, I think there's enough utility in owning a tractor for use around the property. I could certainly get away with not owning one, but I also would count any depreciation as worth it for the experience as well. Some things I would use it for include: lawn mowing, driveway/trail maintenance, moving heavy items, moving dirt/gravel/rocks, clearing snow, leveling, and fencing.

I considered getting a backhoe variant, but have decided firmly against it, due to the cost vs. utility. Owning it also means a bit of additional inconvenience in maintenance and storage. I do have a lot of excavation ideas, but I can rent a proper excavator for a $200-300/day, plus some of those tasks can done with just the front loader.

Attachments/accessories I might want:

  • Front loader.
  • Mower deck.
  • Grill guard.
  • Post-hole digger.
  • Wood chipper.
  • ROPS-mounted roof.
  • Grapple (requires front hydraulics).

2019-05-02: Went to look at and test drive a Kubota. Decided to get the BX2380, with front loader and 54" mower deck for a total of $16700, including tax. Later got a call that it would be delivered the next day.

2019-05-03: Delivery rescheduled for 2019-05-03T14:00:00.

2019-05-04: Tractor delivered. Tested it out a bit and seems great. 2 year full warranty coverage and 5 year (I think) powertrain warranty begins now. To mow with it, turn it on and leave throttle on idle speed, lower deck and engage PTO, then increase throttle to mowing indicator on control panel (540, I think). Still need to conclude final payment amount by debit card on 2019-05-06. Will either get a call on that day, or I'll call in myself before noon.

2019-05-06: Transaction concluded. Should get receipt by email.

Later, I'll probably at least get a scraper or box blade for it for driveway maintenance. Then, I can level the driveway and just have some stone delivered on top of it. Currently leaning towards the Land Pride RB1660, which is about $800 or less.

1.8.40 DONE get Mule serviced

  • State "DONE" from "STARTED" [2019-05-18 Sat 13:14]
  • State "STARTED" from "TODO" [2019-05-01 Wed 08:38]

Take this in for a regular service visit around April or May. Also get the broken plastic fixed on the passenger side and recenter the steering wheel.

I'll also consider adding a snow plow and winch while there. I got a price quote for the full setup at $936, so I won't do it unless I have more money coming in by then. Just the winch, mount, and switch is about $375. Also will consider adding a horn.

If I have some free time, try putting Mule on the trailer to test strap position.

2019-05-01: Dropped off.

2019-05-14: Informed it's ready for pickup. Will do so on 2019-05-18, before 1600. Will need to do it early in the morning, sometime after 0900.

2019-05-18: Picked up. Seems to run a little better. Plastic piece was replaced under warranty.

1.8.41 DONE install sling swivel studs

  • State "DONE" from "STARTED" [2019-06-01 Sat 20:25]
  • State "STARTED" from "TODO" [2019-04-10 Wed 13:24]

Since I most commonly use the .22 rifle, I'll get a sling added to it. Could probably do it myself, but since it was expensive, I'll just spend $30 to have it done properly.

2019-04-10: Dropped this off at the Augusta gun shop. They recommended a barrel band on the front, which I agree with. Lead time is 4 weeks though, but I guess I don't need it before then.

2019-06-01: Picked up rifle. Looks pretty good. Will still need to get a sling though.

2019-12-08: Got a leather sling on Amazon and mounted it. Had to remove the stud screw from the front band though, since they look to not be lined up perfectly. Seems to work okay, but will keep an eye on it and consider replacing it with a higher quality one later if it's a problem.

1.8.42 DONE 2019 garden plan

  • State "DONE" from "STARTED" [2019-06-02 Sun 21:39]
  • State "STARTED" from "TODO" [2019-03-10 Sun 13:25]

Based on results from 2018, this is an optimization plan to incorporate lessons learned, and continue experimenting with a few additionally desired vegetables. After planting, I'll also try the newspaper weed control method this year. Spread those out, spray with water and add leaves (and maybe a little dirt) on top.

Big garden: Jalapeño, habanero, cayenne, green pepper, sugar pea, bush bean, tomato. I'll do the tomatoes in two batches again, staggering the 2nd group by 1.5 months. Probably something will fail by then, so I'll use those plants as filler. Bush beans don't require a trellis. Sugar peas do, so build one for this row and reuse it after first harvest. Extra space will go to more watermelons.

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

Flower bed: Cilantro, in pots.

Berry patch: Same.

Old raised bed: Same.

New raised bed: Cayenne, habanero. Maybe some extra jalapeño if I have room.

In pots: Might do some late start cayenne or habanero peppers, and bring them inside before first frost.

2019-02-07: Seeds purchased.

2019-03-10: Green peppers, cayenne, habanero, jalapeño, cherry tomato, and 2 tomato started indoors. Smaller tray filled with dirt and will double up on everything planted so far in 2 weeks. Turns out I do still have some sweet corn, which I might plant later in the year. The spaghetti squash seeds rotted, so will need to buy a pack of those.

2019-03-13: Bought pack of spaghetti squash seeds. Got a bunch of free random seeds in the mail. Might use some of them if I have spare space later in the year.

2019-03-14: Raked and burned all debris in both garden plots.

2019-03-23: Started tilling gardens. Small garden half done.

2019-03-25: Planted 24 each of tomato, green pepper, and habanero in one seedling starter tray.

2019-03-27: Big garden tilled.

2019-03-29: All tilling complete.

2019-03-30: Bought cayenne seeds and a packet of hot pepper mix (anaheim, hungarian wax, cayenne, jalapeño, ancho). Planted final seedling batch.

2019-04-09: Small garden hoed.

2019-04-11: Hoed and raked big garden. Measured big garden prepared space as 22x48'. Planned layout for big garden in big_garden-2019.png.

2019-04-11: Raked small garden, built first level of pea trellis, and planted peas. Once the peas grab the first string, I'll put some tomato trellises in the center area and add subsequent levels. I did use all of my peas though, so won't have enough for a second planting unless I buy more. Should be good on garden tasks for the next couple weeks.

2019-04-23: Measured small garden usable space at 27.5x17'. Planted popcorn, field corn, sunflowers, spaghetti squash, pumpkin, pumpsghetti, and acorn squash. Marked rows with sticks. Created map in small_garden-2019.png. Added trellises to peas row in large garden.

2019-04-24: Moved two mystery squash sprouts to small garden. Planted bush beans, watermelon, and cantaloupe in large garden.

2019-04-25: Raked raised bed again. Planted a row of pepper mix 6" from the north side of the raised bed, just to use up the pack. Also noticed that some kind of squash are growing in the hog pen.

2019-05-03: 2 tomatoes and 18 green peppers planted. Tomatoes transferred to larger tray. Started 2 more tomatoes and some more jalepeños in pots.

2019-05-06: Large cell tray of hot peppers planted in raised bed. Will have room there, so I'll try starting the spare bag of Thai peppers.

2019-05-07: Cayenne, jalepeños, and pepper mix rows planted in big garden.

2019-05-09: Planted remaining green peppers.

2019-05-12: Weeded all gardens between rows. Keeping the weeds down when small seems to be the way to go, and way less work overall.

2019-05-12: Started 12 Thai peppers and 6 habanero. Will plant as many as I have room for outside and the rest in pots. If I put them all outside, I'll start more for pots later. Thinned everything that was over-planted and weeded around plants. Will do a final thinning pass once plants aren't in danger of being eaten by rabbits.

2019-05-18: Planted the 2 cherry tomatoes.

2019-05-19: Planted most tomatoes. Have 6 or 7 left.

2019-05-29: 3rd level of pea trellis installed.

2019-06-02: More tomatoes planted. Still have 2 left, but they need a few weeks to grow. Will also fill in spots where peppers died with remaining. Calling this plan done and pretty much fully in effect now.

Overall, this garden seems like it should be significantly more productive (maybe even twice as much) as last year. Still to decide is whether I want to keep the pea trellis in place and reuse it next year. Will evaluate once we see how it goes. These are definitely a lot more work than the other stuff.

Notes for next year:

  • Buy 1 or 2 more of the large cell trays.
  • Start seeds earlier, in mid-February at latest. Start habanero in early February.
  • Start all tomatoes in one huge batch, with more of them in full pots. I'll still stagger planting them, in case of late frost or animal attack.
  • Planting harvested seeds has a higher failure rate, so save several times what I think I'll need.
  • Keep trays out of tall, wet grass while hardening plants, since slugs will crawl onto the plants and eat them. Maybe just leave them under the porch.
  • With regular weeding, I can just run through the gardens with the hoe and kill all weeds in an hour or two. Then come back around and do some touch up near the plants. In 2018 I'd neglect them and it would take days to clear everything and many things got choked out. This approach should make carrots possible for next year.
  • The plan is to use the tractor to expand at least the small garden and redo the fencing there for next year. If so, I'll reserve an area for grapes and blueberries.
  • Peppers need more care and hardening to not splat when transferring them outside. Did better this year than last though. Maybe starting them earlier will help too. I'll need to plant way more though, to accommodate losses.
  • If I finish the small garden expansion, I'll swap the plantings, with squash in the big garden. Will plant the 2 Northland blueberries I have in pots on the north side.
  • Intersperse pumpkins and/or squash with corn, since they seem to like a little shade and grow larger as a result. Space corn out a little more next time too.

1.8.43 DONE buying stuff: round 3

  • State "DONE" from "STARTED" [2019-06-02 Sun 21:42]
  • State "STARTED" from "TODO" [2018-09-03 Mon 18:06]

This stuff list is lower priority or precondition-dependent. I'll fully populate it once I do some post-move budgeting. I need to balance this stuff against some potentially costly services.

I will at least need:

  • [X] Glock 43 and OWB holster: Switching to this as primary winter carry. Was going to wait on this, but saw one on consignment with accessories for $399. Came with a kydex OWB which works great.
  • [X] Ladder: Got a 10' step ladder from the house seller for $150.
  • [X] Truck or SUV: Got a new 2018 F-150 XLT.
  • [X] A few gallons of distilled water: Used for batteries and coolant.
  • [X] UTV: Bought a Kawasaki Mule SX 4x4 XC Camo. Added a plastic roof, rear-view mirror, and trailer hitch. Total cost, including tax, was just over $9000.
  • [X] Large watering can: Acquired.
  • [X] Electric chainsaw and bottle of bar chain oil: Got the Greenworks 60V 18" from Lowe's, along with another battery (bringing my total to two).
  • [X] Wire cutters: Got some heavy duty ones.
  • [X] New mattress, size queen: Got a T&N for $575.
  • [X] Drain snake or Zip-It: Got a drain snake. It's okay, I guess. Turns out I didn't need it, but it'll be good for a cheap insurance policy.
  • [X] Hose, spray nozzle, sponge: Got sponge. For the other stuff, I'll just keep the 2 hoses and nozzle left by the previous owner.
  • [X] Spool of wire: Grabbed a 0.25 mile spool of electrical fence wire.
  • [X] First aid kit: Got an IFAK.
  • [X] Freezer bags: Got a box or two.
  • [X] 2-3 trash cans with lids: Got 3 from Walmart for relatively cheap.
  • [X] Ratchet set and another set of sockets: Got a 1/4" set.
  • [X] 5/8" trailer hitch pin: Got straight one. Also useful to use as a punch for driving out large pins on tractor attachments.
  • [X] Feed or snow shovel: Got a feed shovel with an extra long handle.
  • [X] Reactive .22 target: Got a simple spinner.
  • [ ] 1/2" metric and standard socket set: Skipping for now. Probably will want at some point though.
  • [ ] Outside thermometer: Remembered that I have an infrared thermometer gun. I'll just use that.
  • [X] A few funnels of different sizes: Got a 3 pack, which I'll keep in the kitchen. Might still get a few larger ones later.
  • [X] Tarp: Got a 10x12ft one. Might get another one with eyelets for boat.
  • [X] Hose: Have 2, but got another metal one.
  • [X] Pipe wrench: Will try to get by with just one, but some jobs do require two. I do have the tongue and groove pliers that might do in a pinch.
  • [X] Drill pump: Got a cheap one.
  • [X] Hydrometer: Got a cheap, single AA battery one. Also has a thermometer and tracks the range of humidity and temperature seen.
  • [X] 2 fire extinguishers: Acquired.
  • [X] Spare chainsaw chain: Acquired.
  • [X] Battery tender and leads: Acquired.
  • [X] Backup heat source: Got a single-element tank top heater that fits on propane tanks.
  • [ ] Large jug of Permethrin: Dilute this to .05% and make tick repellent. Skipping for now.
  • [ ] 3 piece file set with different file shapes: Skipping for now. Probably will get eventually.
  • [X] Tow chain with hooks: Got 14' one.
  • [X] Angle grinder: Got the DEWALT 20V cordless, since it shares the same battery as my drill. Ordered grinder, wood, and masonry blades.
  • [X] Feeler gauge: Got both imperial and metric.
  • [X] Teflon tape: Got 1/2" roll.
  • [X] Chain sharpening files: Bought the Stihl 2 in 1.

Moving remaining few items to my other shopping list.

1.8.44 DONE clear off dirt pile

  • State "DONE" from "STARTED" [2019-06-16 Sun 21:53]
  • State "STARTED" from "TODO" [2019-04-25 Thu 18:26]

Still have half of the dirt pile left over from excavating the septic riser lid. Clear this off.

2019-04-25: Cleared off most of this and filled in the edges of the hog pen and potholes around the gravel pit. Will let it rain a few times and collect the rocks. Will also see how much more I need to remove at that time.

2019-06-16: Cleared off rocks. Might be good enough now.

1.8.45 DONE fix missing roof shingle, flashing, and siding gap

  • State "DONE" from "STARTED" [2019-07-07 Sun 13:12]
  • State "STARTED" from "TODO" [2019-05-12 Sun 19:48]

A section of flashing blew off during a wind storm in early 2018. This should be fixed at some point to avoid water damage to the frame. There is also a missing top shingle on the south side and a small gap in the siding on the east side (just above the electrical outlet).

2019-05-12: Guy came to inspect job. Scheduled work for 2019-05-18 in the afternoon. He'll also fix the front door frame that is loose.

2019-05-19: Door frame and siding gap fixed. Turns out the missing shingle isn't actually missing after all. The original roofers just never extended it the whole way. However, while up there, the roofers noticed that the seals around the vents needs to be replaced. The flashing will need to be ordered, so he'll do that and the sealant next time. Also got a super rough estimate for metal roofing at $16500, which I'll probably do in 9 years.

2019-06-10: Called contractor back. He's still looking for a piece, but will just install what he has if he can't find it (this weekend, supposedly). Will have to paint it later if this happens. Color is "sierra beige".

2019-07-06: Gave up on contractor and fixed this myself with the help of a neighbor. Went halfway on a scaffold rental since he needed to fix his roof as well and used a spare piece from their job. Setting a rented scaffold up is a bit of work and definitely a two man job, but works pretty good. The only downside is the piece is the off-white, but it isn't that noticeable. I'll add repainting it (which I can probably do with just a ladder) to the list for later. Left a message for the contractor that if he still wanted to do the sealant around the flues and vents, he's welcome to. However, I expect we won't hear from him, so closing this.

1.8.46 DONE get/setup dehumidifier

  • State "DONE" from "STARTED" [2019-07-29 Mon 21:48]
  • State "STARTED" from "TODO" [2019-07-28 Sun 17:18]

This isn't necessary, but would improve cleanliness of the basement enough to be worth the TCO. A good use of the additional funds I have coming in now. Tested the humidity and during the summer it can get up to 70%.

Bought the Toshiba 70-pint one at Home Depot for $200.

Seems to work pretty good. Basement QoL improved a good bit as a result.

2019-12-01: Trying to use the automatic mode by setting the desired % (I think I did this by having it in no mode and using the arrows). Comfort and Continuous modes don't recognize this setting. Also, the filter light will automatically come on after ever 250 hours. Remove the filter and clean it by washing it out, let it dry off, replace, then hit the button to reset.

1.8.47 DONE freeze jalapeños

  • State "DONE" from "STARTED" [2019-09-28 Sat 19:46]
  • State "STARTED" from "TODO" [2019-09-14 Sat 17:45]

Apparently you can just slice and directly freeze these. Will give it a try, since they'll otherwise go to waste. If this works, it'll save a fair bit of money, since it's one of the vegetables I regularly buy when not in season. Should be able to get at least two batches.

2019-09-15: First batch done.

2019-09-28: Second batch done. Might be enough for 1-2 small bags, but if not, I'll just use the rest for normal use.

1.8.48 DONE medical maintenance

  • State "DONE" from "STARTED" [2019-10-06 Sun 07:11]
  • State "STARTED" from "TODO" [2019-07-15 Mon 08:00]

I seem to be in good health, but I haven't had eye/dental checkups in a while. Get this stuff done while I temporarily have insurance.

  • [X] Get eye appointment: Got new contacts and glasses. Prescription only changed slightly. Determined to be a viable Lasik candidate. Will queue that, though I might not get to it for awhile. Will have to get it done at a facility in Mclean, so I might grab a hotel for the night to rest the eyeballs if I do. Insurance should provide at least a minor discount, and I can use the HSA for it too.
  • [X] Get dental appointment: Had a tooth ache that needed looked at. Got a cleaning and exam on 2019-07-31. Turns out I need a root canal and crown. Next cleaning scheduled for 2020-07-27 1000.
  • [X] Get root canal: Scheduled for 2019-08-27 1100.
  • [X] Get dental crown installed: Scheduled for 2019-10-03 0800.
  • [ ] Get Lasik surgery: See email from 2019-07-19. Might wait until I fill up some HSA cash for this.

Will do Lasik later, probably in the spring at the earliest, due to job switching.

1.8.49 DONE make cayenne pepper flakes

  • State "DONE" from "STARTED" [2019-10-06 Sun 07:14]
  • State "STARTED" from "TODO" [2019-09-14 Sat 12:40]

Last year I had about 8 or so cayenne plants and ran out of flakes mid-winter. Probably won't have enough to last the year this time, but will make as much as possible. Next year, plant twice as much cayenne. Batch 1 is already pre-dried, so starting oven drying.

2019-09-15: Batch one complete. I'm thinking oven-drying might go faster if I remove stems first.

2019-10-06: Second and third batch complete. There's even still a fair quantity of cayenne out in the garden still. I'll either make more flakes or hot sauce out of it.

1.8.50 DONE get firewood for next winter

  • State "DONE" from "STARTED" [2019-10-06 Sun 08:11]
  • State "STARTED" from "TODO" [2019-04-07 Sun 10:42]

Get all wood for next winter queued up ahead of time. Will need 4-5 cords. Use the grated platforms I have to stack some, if they'll support the weight, and cover with my spare tarp. Maybe call Gary's Excavating and see if they'd deliver a full load of logs or if I can buy and pick up some of the split wood they have in their pile.

2019-03-17: Cut a load of wood from local property. Guy says we can keep collecting until September or so.

2019-03-26: Load delivered and stacked.

2019-04-06: Load delivered and stacked. Wood delivery guy says his neighbor has several poplar trees free to collect. Probably won't have time to though.

2019-08-05: Called local logger from Augusta that will deliver a full tri-axle of logs for $600. Supposedly, this equates to 9-11 cords, which is a huge savings. He said he'll call the night before. Go get some cash from the bank to pay for this. If I don't hear from him in a month, call the local excavator and get a couple cords delivered.

2019-08-11: Wallace stopped by randomly. Says he'll start delivering again, so I told him to keep the loads coming. If I get a few loads from him, I'll just keep the logs as backup/supplement, if they actually arrive.

2019-08-16: Got another load of wood. Stacked.

2019-08-21: Another load arrived.

2019-08-24: Final load arrived. Should have enough for the winter, if I start the furnace a little late.

2019-09-02: Cut the neighbor's dead tree, which should add a little extra buffer.

2019-09-25: The logger finally showed up and did indeed deliver a full truck load of fine looking wood. I've definitely got enough for several years now. I might still continue buying a few loads from the other guy next year too though. In the meantime, I won't touch this stuff so as to keep it maximally preserved. When I do start working on it, maybe get the tractor out a push the pile a little flatter, to avoid accidents.

2019-10-06: All wood split and stacked.

2019-11-03: Reactivated wood stove once the lows started being consistently in the 30-40F range.

Now should be good for the winter. I'll try burning some of the really old stuff this time, if I can get to it at the bottom of the pile.

1.8.51 DONE fix generator

  • State "DONE" from "STARTED" [2019-11-15 Fri 13:40]
  • State "STARTED" from "TODO" [2019-11-15 Fri 16:45]

Power went out on 2019-11-12 and tried to use the generator for its first test run. It failed to start. My guess is it either has problems starting when cold or managed to somehow break just sitting around for the last few months since the last test run. First, test the former theory by running it when it's warmer during the day sometime.

Runs after testing in warm weather. It spit out some white smoke when I started it, but evened out after a minute. Will store this in the basement from now on. In retrospect, I probably should've just bought the more expensive Honda.

1.8.52 DONE sight in .300 BLK red dot

  • State "DONE" from "STARTED" [2019-11-21 Thu 16:58]
  • State "STARTED" from "TODO" [2019-11-21 Thu 15:38]

This is only currently bore-sighted.

Was way off, but got it mostly dialed in within a couple inches. Might want to do another round at further distances. While out there, I cleaned up the target stand and removed all the staples from it. This is a great barrel, and capable of very tight groups. I wouldn't be against getting another one made by MGM, but I probably need to sell a few of my extraneous ones first.

1.8.53 DONE partially maintain driveway

  • State "DONE" from "STARTED" [2019-11-22 Fri 12:44]
  • State "STARTED" from "TODO" [2019-11-22 Fri 11:32]

Use up the rest of the gravel pile, which isn't much. This is also a test run to see how scraping goes with just the front loader.

Finished. Only did just behind the house since I didn't have enough gravel for anything more. This works pretty good, but I think I still need a proper scraper blade for doing it properly and getting the grade just right. I am thinking I should be fine with maintaining it myself once I have that.

1.8.54 DONE swap sights on 7mm TCU barrel

  • State "DONE" from "STARTED" [2019-11-25 Mon 00:58]
  • State "STARTED" from "TODO" [2019-11-25 Mon 23:36]

Take the ScopeRib III off and put back in its bag for now. I might put these on my 9mm barrel later, or save for a future build.

Done. Will use up the rest of the 7mm TCU ammo and probably sell this and the dies. This is a nice chambering, but now that I have the 300 BLK barrel, this one is a bit redundant and I prefer 300 BLK over this. Wait until there aren't any others listed before selling, as sometimes these go for super cheap.

1.8.55 DONE come up with plan for Contender barrel collection

  • State "DONE" from "STARTED" [2019-11-27 Wed 22:18]
  • State "STARTED" from "TODO" [2019-11-25 Mon 12:14]

My current collection made sense when I was going to indoor ranges and optimizing for squeezing novelty into each trip. I also wanted to stick to factory ammo. Now that I have a property with a shooting range and occasionally have to shoot varmint/predator animals, it's less so. Though still not a bad collection, it doesn't cost much to refactor it, so I might as well go ahead and rebuild it into the ultimate collection for my interests and use cases. This is part of a larger refactor/reduction of the firearms collection.

Some goals:

  • A majority of rimmed cartridges.
  • 4 barrels, with a hard limit of 6.
  • Common projectile calibers and powders when possible.
  • Sharing parent cases when possible.
  • Weird chamberings optimized for the Contender, but with dies/brass available, or at least easily formed without expensive intermediate resizing dies.

Thought a good bit about what I want the barrel collection to ultimately be. Here's my current best guess (updated 2019-12-02):

  • 10" .22 LR, octagon, irons: Keep.
  • 9.1" 300 BLK, bull, red dot: Keep. Maybe replace with reflex sight.
  • 10" .30 Herrett, bull, irons: Buy an old factory barrel and keep it stock. Brass is available from Buffalo Arms and EABCO.
  • 8.5" .218 Bee, bull, scope: This would be a custom barrel. Put the 2x Leupold on this. Buffalo Arms sells loaded ammo that I could use to get started with, until I collect all the correct dies. Might also be willing to get a pre-owned one, since they show up sometimes. Stepped octagons do exist, but are rare.
  • 10" .30-30, octagon, irons: Keep. Main hand cannon barrel and a brass source for the .30 Herrett (though I can just order some).

That means I'll sell .22 w/ rings, 7TCU, .44, 9mm, .223, in that order. This would be -2/+2 calibers and -5/+2 barrels. Will lose money on some and make a profit on others, probably ending up as a wash. Also will sell the ScopeRib III. All 3 handloading cartridges can share IMR 4227 powder (and some others). Even with 5 total barrels, it might still make sense to get a second frame to leave the .22 LR barrel on.

2019-12-09: Decided to replace the .30-30 with a second .30 Herrett. This will subtract an additional caliber. I'll just buy some extra brass for this instead of trying to form my own.

2019-12-18: Decided to switch the red dot on the 300 BLK with a Burris Fastfire III and Weaver base. Might try putting the red dot on the AR, or sell it, but I'll wait until I try out the Fastfire first.

1.8.56 DONE get rid of extra windows

  • State "DONE" from "STARTED" [2019-12-01 Sun 12:31]
  • State "STARTED" from "TODO" [2019-11-26 Tue 19:57]

We have two dual-pane windows, size 73"x40"x1" and 73"x44"x1", that came with the house. They're very heavy and of inconvenient sizes, nor can I think of anything useful to do with them. So, list them for free on Craigslist just to get rid of them.

Posted on 2019-11-27T00:57:26Z. Got a taker, scheduled for pickup on 2019-12-01.

Guy showed up and grabbed them. Now I can repaint the garage trim. The taker was also a glass guy, and he suggested that I can fix the garage window by removing the section with the broken pane and bringing just that into a glass place. Will have to cut a plywood board to cover this while it's being fixed.

1.8.57 DONE sell extra .22 LR barrel

  • State "DONE" from "STARTED" [2019-12-03 Tue 11:50]
  • State "STARTED" from "TODO" [2019-11-25 Mon 11:19]

Sell the 10" .22 LR octagon Contender barrel with scope rings. I have this and the same barrel with iron sights, and wanted to wait awhile to see if I prefer one over the other on this property. The iron sights one seems to make more sense here. If I need to shoot something small longer range, I'll use the .223 barrel.

Listed, bought by someone (I think it was $176 or so) and shipped.

1.8.58 DONE get new workbench

  • State "DONE" from "STARTED" [2019-12-03 Tue 21:56]
  • State "STARTED" from "TODO" [2019-11-26 Tue 13:07]

I'll need a new bench for my reloading setup. I can also use this for various other things too. While at it, I'll also rearrange the secondary workshop, which this will go in. I might also pull out the old netbook and hook it up down there for looking up things online. Will have to redo the OS install first though.

I considered building my own, but found one called the UltraHD Lighted Workcenter that includes drawers, integrated light, pegboard, and power strip. this works out, I might get rid of the desk in the workshop room and replace it. It's unlikely I could build something equal to this. Cost was $236+tax. If this works out, I might even consider another one for the main workshop.

Done. Also cleaned and rearranged the room. This setup nice and is a great product. Only complaint is that the wood is easy to scratch. Will have to get a rubber mat for the work area. Only thing left to do is mount the press on it. I may consider adding a small vise to it later, which could be useful for annealing. I already have one in the garage though, so will hold off on that.

1.8.59 DONE get/install safe

  • State "DONE" from "STARTED" [2019-12-08 Sun 00:05]
  • State "STARTED" from "TODO" [2019-12-01 Sun 15:44]

While I have a basement with a concrete floor that would be perfect for bolting a heavy, classic-style safe to, I'm a bit reluctant to go that route due to spring and heavy-rain humidity. Also, those safes tend to be way bigger than what I'd ever need and are often very difficult to move. A popular present day option is the lighter-weight safes that are then secured somehow to floors or heavy frames. These are claimed to give equivalent security to the more impressive-looking heavy safes. Having studied the subject a bit, I'm pretty confident that while this is undoubtedly marketing hype, it's still at least partially true.

Two main options I'm considering:

  • 52" standing safe that can contain the entire collection, plus have room for other stuff.
  • Under bed safe just for my AR and handguns. The remaining collection, which is just milsurps and single shot sporting rifles, can go into a standard gun cabinet in the living room.

Safe ordered. Got the SecureIt Agile Ultralight Model 52. Seems perfect for the small collection. Even with the Black Friday sale, this was overpriced, but decided to go for it anyway. Will mount this next to my Jerker desk and get a bolt long enough to thread through one of the holes on the side and into the existing holes in the desk frame. May need a riser to get them to line up, or I can look for a thin, long cable lock.

May still get a proper gun cabinet for the living room, but not entirely sure since then this would mostly be empty.

2019-12-05: Still waiting on delivery, but had an idea. I can swap the lockable doorknob to the workshop with the one to the gun closet. Then, I can build a heavy-duty stand that can't fit out the closet door. Once that's in place, I can put the safe on that and bolt it to the stand. Will hold off on this until I see what the humidity looks like down there next summer. If it's too high, I can still do this, but I'll need a small 30-pint dehumidifier just for that room.

2019-12-06: Accessories box arrived. Still need the actual safe itself.

2019-12-07: Safe arrived and assembled. Setup was a little annoying, but it came together nicely and looks pretty good. All stuff fits in there great too. I also feel much better about this stuff being secured. Will add the dehumidifier bags to the next Amazon order. If/when I move this downstairs, I might want to remove door (will have to remove the top and internal pieces to do that) to reduce weight.

2020-03-30: Added 4 pistol pegs. 3 are currently in use. Cabinet now complete.

1.8.60 DONE find a new jacket

  • State "DONE" from "STARTED" [2019-12-08 Sun 00:10]
  • State "STARTED" from "TODO" [2019-11-29 Fri 19:28]

Need different light jacket for wearing off-property and on-property when not doing anything dirty. Keep this one clean.

Ordered the Arc'teryx Gamma MX in black, size medium.

Arrived and is pretty nice. A good fit already, but will look perfect once I lose another 10 lbs.

1.8.61 DONE fix basement ceiling

  • State "DONE" from "STARTED" [2019-12-08 Sun 20:20]
  • State "STARTED" from "TODO" [2019-12-08 Sun 18:30]

Re-tape the ceiling plastic where its fallen off.

Done. Also cleaned the ceiling a bunch. Could probably use a final touch-up, but I'll do that later. Looks way better now.

1.8.62 DONE sell 9mm barrel

  • State "DONE" from "STARTED" [2019-12-09 Mon 12:16]
  • State "STARTED" from "TODO" [2019-12-03 Tue 19:42]

This is a super rare 9mm factory barrel, much coveted to own. Was a great barrel for range trips and cheap centerfire shooting, but a little redundant now that I'm building a reloading bench. Being highly sought after, I might as well sell it and cash it in while I can. Have a current offer for $245 shipped, which I'll probably pass on.

Was going to sell this later, but happened upon a guy who was looking for one on the SP forums. Asked for $260, to which he agreed. Need to box up, wait for payment, then ship.

2019-12-09: Payment received and barrel shipped. Transaction complete.

1.8.63 DONE install new tractor coolant cap

  • State "DONE" from "STARTED" [2019-12-10 Tue 13:26]
  • State "STARTED" from "TODO" [2019-12-10 Tue 13:36]

Got contacted by equipment company and informed that a new coolant cap was issued by the manufacturer. Maybe this was a recall or something. Cap eventually arrived, just need to install it.

Done. Was an easy swap.

1.8.64 CANCELED use Gnuplot and Soylent to lose weight

  • State "CANCELED" from "STARTED" [2019-12-10 Tue 13:40]
  • State "STARTED" from "TODO" [2018-01-07 Sun 01:04]

Living in a tiny box and working in front of a computer all day has made fitness a problem area. However, I refuse accept living with size 32 pants (which should be at most 30). I put consistent effort into this, and I've noticed that that this effort has been load-bearing–without it, things quickly start getting way worse. That means I need an even bigger investment in order to move the needle. Upcoming life changes should make this easier, but I'm rebooting this effort now.

The plan:

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

Success here is a mere test of will. When done, re-evaluate on optimal way to finish the job and get to maximum physical fitness.

2019-07-05: Currently following plan pretty closely and goal within sight (only 16 lbs to go). Muscle mass is much higher now, so reaching the final target will be a bit harder than when I had weak noodle arms. However, if I can stick it out the rest of the year, should at least get very close by 2020.

2019-12-10: Going to end this and switch from using Soylent. New plan will have alternative details.

1.8.65 DONE get and setup reloading equipment

  • State "DONE" from "STARTED" [2019-12-12 Thu 18:08]
  • State "STARTED" from "TODO" [2019-11-26 Tue 14:52]

Order the basic equipment that I'll need to build a reloading bench. I figure the kind of semi-minimal setup I want will cost about $1000.

Decided to take advantage of the current sale at Midway and order most of what I'll need. Ordered:

  • Hornady Lock-N-Load Press: This is a single stage press. Decided not to go with the kit, since it's full of cheap accessories of which I'll have to replace most of anyway.
  • RCBS Universal Hand Priming Tool: I think I'll want to hand prime instead of on the press, but not sure.
  • Lee Primer Pocket Cleaner: This one includes both small and large primer sizes, unlike most others.
  • Hornady Universal Reloading Tray: Might try making perfect fit wood ones later.
  • Imperial Case Sizing Wax: Decided to go with this instead of the spray.
  • Hornady Shell Holder pack: Should match press and hold any shell I'll use.
  • Hornady Lock-N-Load Die Bushing: Press supports this system. These mate with the dies and maintain setting between swaps. Might get additional sets of these later.
  • RCBS ChargeMaster 1500: A digital powder scale. The most expensive item here, but was 20% off.
  • RCBS Chamber and Deburring Tool: This and the primer pocket cleaner negate the need for a electric station.
  • Hornady New Dimension dies in 300 BLK: Not sure if I'll reload much for this, but I got it to practice on.
  • Loadbooks volumes 1 and 2 for the Contender: Is missing some cartridges I might be interested in, like .219 Donaldson Wasp, but has most of the important ones.

This all came out to $707 including tax. Rather expensive and adds a pile of physical possessions, but I think it'll get enough use to be worth it in my case. I also intend to downsize in other areas to compensate for it.

2019-11-30: Ordered some of the rest of the stuff needed. Total for this stuff was $260.

  • RCBS case neck brushes and handle.
  • Grace USA Delrin Tip Brass Hammer 8 oz.
  • Frankford Arsenal Impact Bullet Puller.
  • Lyman Universal Trimmer Power Pack with Case Trimmer Kit, Power Adapter and 9 Pilots.
  • MTM Universal Powder Funnel Set 17 to 45 Caliber.
  • Inline Fabrication Ultramount for Hornady Lock-N-Load Classic Single Stage Press.
  • Also got a cleaning mat and replacement patch jig while I was at it.

At some point I will/might want mounting bolts/nuts/washers, chronograph, neck reamer/turner, c-clamps, roller press handle, some extra cartridge boxes, (probably wet) tumbler, and tumbler media. Also might want to fabricate a dust cover for the press.

2019-12-03: First set of stuff arrived. Setup what I could.

2019-12-05: Second set of stuff arrived. Assembled press mount and bolted press to it. Looks like I'll need 4 1/4" (2.5-3") bolts, 4 standard washers, 4 fender washers, and 4 Nylock nuts. Get those, drill the holes, and install the press mount. I may countersink the bolts on the bottom to keep them flush, at least on the side where the drawer is (may need a larger wood bit for that). Also need to get a board to mount the case trimmer.

2019-12-06: Went to hardware store and bought bolts, washers, nuts. Used those to affix the mount to the workbench. Thanks to some careful measuring, this turned out great. Went to the local ammunition supply store (which is pretty barren) and got:

  • 100 Hornady .30 cal 225gr BTHP Match.
  • 50 Hornady .218 Bee brass.

Also placed a HAZMAT order of:

  • 4lbs WIN 296.
  • 1000 Federal 210.
  • 1000 WSR.
  • 1 box each of .25ACP and .218 Bee.

Pretty close to having everything, just need a box of .30 cal 130gr SP and .224 cal 45gr V-MAX or similar. Will hold off on the final batch of stuff until I get a working 300 BLK load.

2019-12-10: Last round of stuff ordered, of mostly nice to have items:

  • 100 Hornady .30 cal 130 gr SP.
  • RCBS Ultrasonic Case Cleaner.
  • RCBS Case Cleaning solution.
  • RCBS Gun Cleaning solution.
  • Ransom Master Mat.
  • Pack of Burris paper targets.

2019-12-12: All stuff arrived. Setup complete. Might consider getting a Lee hand press for just decapping (keeping the main press clean). Plastic funnels also rather suck, so I'll replace those with metal ones. Current hand priming only, but may use the press just for large primers. Otherwise I consider this done, with everything turning out great. After a year or two of using this, I'll revisit the setup and consider expanding into some related areas or just leave it as is.

1.8.66 DONE get .30 Herrett barrel

  • State "DONE" from "STARTED" [2019-12-16 Mon 11:27]
  • State "STARTED" from "TODO" [2019-11-28 Thu 23:59]

Give this chambering a try. Find a later model stock factory 10" bull, dies, and get/make some brass. Once I get the reloading bench operational and practice on 300 BLK, try developing a load for this.

Posted a WTB on SP and got an offer for barrel, dies, and 100 brass. Negotiated to $250 for the lot. Only downside is it has a Weaver base. Will think about whether I want to stick with that or get irons for it. It's got a fixed front sight, and so it would need the long, rectangular, rear sight with the rounded triangle on the side (which is probably my favorite rear sight). The side-mount silhouette sight would probably work too. I also might just keep this as-is and still get another stock one, but I'll wait until I try it out first.

2019-11-29: Sent money order. Seller indicated he'd throw an extra 50 newly fire-formed brass as well, along with some more mixed brass.

2019-12-03: MO arrived and item shipped. Should get it around 2019-12-06. Leave feedback on the forum and delete WTB thread when it arrives.

2019-12-09: Decided to grab a second .30 Herrett with factory irons, which I got for $153. Then I'll put the scope on the one with the base. Will have to eventually sell the .30-30 barrel then to compensate, but I'll wait until I have a working load for .30 Herrett and can churn those out reliably.

2019-12-10: First .30 Herrett barrel, dies, and brass arrived.

2019-12-16: Picked up irons barrel at post office. Once I make and test out some cartridges, I'll decide whether to keep both or sell one. If keeping both, I'll either put the scope or Match Dot on it.

1.8.67 DONE get .218 Bee barrel

  • State "DONE" from "STARTED" [2019-12-16 Mon 11:27]
  • State "STARTED" from "TODO" [2019-12-06 Fri 10:26]

This is my second of 2 new barrels, replacing 5 or 6 others I don't use as much. Will hold off on this to make sure I'm committed to the idea and will keep the .223 barrel until I get it. Currently thinking 8.5" bull, 1-12 twist, blued, Super 14 forend spacing, 6-flute, 5" Picatinny base, burnt bronze flute and base color. Saved this on wish list. I might email them first to see if they still offer the Weaver bases or if they have options for irons. While waiting, I'll keep an eye out for used factory barrels in the chambering.

My original idea was for .219 Donaldson Wasp, then .256 Win Mag. .218 Bee seems superior to both for me, as it: requires only basic dies, has no complex resizing operations, factory brass is available, is efficient in a short barrel, uses less powder/smaller projectiles, and shares the .224 caliber.

Found a .218 Bee octagon with the stepped base on eBay, which the seller wanted entirely too much for. He used the offer feature to advertise it for $300, and I got another $5 off with a coupon. Still too much, but worth it for me, since I don't have to waste a lot of time looking for or ordering one. This will be irons only. Will grab a box of ammo for it first before I get all the dies and brass. Barrel should arrive before 2019-12-18. Also picked up 50 Hornady brass.

2019-12-16: Picked up at post office. Will take this out back for a test fire once the weather clears. Once that works, get dies, 40gr .224 projectiles, and a Hornady #7 shellholder.

1.8.68 DONE cover all unused basement power strip outlets

  • State "DONE" from "STARTED" [2019-12-14 Sat 17:54]
  • State "STARTED" from "TODO" [2019-12-16 Mon 13:54]

I have extra plug covers, so might as well keep dust out of these outlets.

Did this around the various outlets and power strips. Will keep an eye out for others.

1.8.69 DONE sell 7TCU barrel

  • State "DONE" from "STARTED" [2019-12-21 Sat 20:56]
  • State "STARTED" from "TODO" [2019-12-18 Wed 18:17]

After thinking about it awhile, I've decided to discontinue using this caliber. While it's definitely a good one, it adds little when I can use the 300 BLK for the same purposes (more in fact, since 300 BLK can shoot super or subsonic). Since it's a handloading cartridge that doesn't share caliber with other cartridges, I'd have to be pretty invested in it in order to keep it around. Deplete the remaining 7mm TCU ammunition and sell this along with the dies. Be sure to post the listing in the evening, say around 8PM EST. I've already replaced the original factory irons. Won't get much for this one, since the market's flooded, but I also didn't pay much for it either.

Shot most of the remaining ammo. Still have a few rounds left I might not bother with.

2019-12-18: Pictures taken and post written.

2019-12-20: Item listed at 19:35 EST. Can safely deactivate remaining rounds now.

2019-12-21: Accepted an offer for $150, so should be able to close this out early and get on to selling the rest of the stuff. Seller immediately paid so sent it out on the same day.

1.8.70 DONE install reflex sight on 300 BLK barrel

  • State "DONE" from "STARTED" [2019-12-22 Sun 02:24]
  • State "STARTED" from "TODO" [2019-12-22 Sun 01:19]

Swap the red dot for the new reflex sight on the 300 BLK barrel. I might later use the red dot on the AR or the .30 Herrett barrel with base. For now, I'll just put it back in the box.

Mounted. Need to sight it in though. Also, my laser bore sight is now dead. I might consider getting an MGM 3-4" Picatinny mount for this to replace the Weaver mount, thus allowing the sight to mount further back. Then, I could save the Weaver for a potential future build.

1.8.71 DONE remove scope from .223 barrel

  • State "DONE" from "STARTED" [2019-12-22 Sun 03:24]
  • State "STARTED" from "TODO" [2019-12-22 Sun 02:54]

Uninstall the Leupold FX-II from the .223 barrel, in preparation to sell. IIRC, these old Weaver rings are tight, so be careful not to mar the scope finish. I might want to go ahead and bend/break the rings to avoid that. I have some extra rings I can include in my listing instead anyway.

Scope removed and back in box. I did bend the Weaver rings' clamps a bit, but this should be fixable if I want to use them again. I stuck them in the desk drawer. I'll toss them if a situation doesn't arrive in a few years. I then put my spare Leupold rings on the base (I'll replace these with better ones later). Will sell barrel with those and the Allen wrench for them.

1.8.72 DONE deactivate remaining 7TCU rounds

  • State "DONE" from "STARTED" [2019-12-24 Tue 15:48]
  • State "STARTED" from "TODO" [2019-12-22 Sun 21:21]

Figure out how to use the bullet puller and deactivate these rounds. Dump powder in garden and save bullets. Since this brass isn't good for anything else, just toss it. Bring in a piece of wood to use the bullet puller with.

2019-12-22: Assembled bullet puller and pulled all 7TCU rounds. Will let the primers soak overnight before disposing. As an aside, I did notice these rounds were loaded quite hot, completely filled to the base with compacted powder.

2019-12-24: Task complete.

1.8.73 DONE setup small bench vise

  • State "DONE" from "STARTED" [2019-12-30 Mon 22:23]
  • State "STARTED" from "TODO" [2019-12-30 Mon 16:21]

Get a small bench vise to be shared between the basement workshops. Not sure where I want to put this yet. This one will be a cheap one. If I need some precision or heavy duty vise work, I'll use the one in the garage. Ordered a 4.5" import.

Received bench vise. Turned out I had the hardware to mount it already, so did so. Put it in the reloading room. It is mounted into an MDF bench and close to the edge, so I'll have to remember not to use it for anything involving significant torque. Otherwise, this looks good and is in a great spot. If I ever remove it later, I can cover up the holes with the mat.

1.9 Macro-goals

1.9.1 CANCELED switch to OpenBSD

  • State "CANCELED" from "TODO" [2019-01-11 Fri 00:31]

Even if I was on the Core Team's side with huggate, I'd still need to part ways with FreeBSD due to the exodus of others leaving due to it. I've been meaning to give modern OpenBSD a look, so this is fine with me anyway. Here's the plan for getting as comfortable as I am with FreeBSD with it, and hopefully surpassing that level.


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

Canceling for now. Might revisit this later to see if it supports more of the applications I use.

1.9.2 DONE new job skills familiarization

  • State "DONE" from "STARTED" [2019-09-21 Sat 08:07]
  • State "STARTED" from "TODO" [2019-05-24 Fri 22:16]

Trying out a local federal contracting job for a bit. Have some reservations about it, but a detailed cost/benefit analysis shows a quantifiable benefit to giving it a shot and no real risk. However, the biggest downside is the tech stack. If working more seems to make sense, I might look around for a remote job later.

Instead of this hanging around forever, I'll do this in two stages. First is just to get a high-level overview of the core technologies. After being there for awhile, I'll might add a few specific items to deep dive on.


  • [X] C# refresher: Read book, wrote code, went through LINQ examples.
  • [X] .Net Core familiarization: Read overview and made a few projects. Might spend more time on this later, or just lazy load.
  • [X] Learn Docker: Made a Hello World container in Docker for Windows.
  • [X] AWS ecology scan: Did the 4.5 hour AWS Cloud Practitioner training.
  • [X] Entity Framework familiarization: Learned this a little on the fly.
  • [ ] TypeScript familiarization: Going to try to skip this and just pick up what I can from Angular.
  • [X] Get just above incompetent in Powershell.
  • [ ] Angular 7 familiarization.
  • [ ] Learn Kubernetes:

This is a sort-of decent job, but an especially good one for the area. Here's my (very preliminary) cost/benefit analysis so far. I'll revisit this after being there several months.


  • A reasonably smart, professional, friendly team.
  • A good work/life balance. I still have time left over to accomplish most of my non-work goals.
  • Could do this long-term, if I decide to.
  • Refreshes my skill set a bit on practical development. This might help later for some of my personal project ideas.
  • Might be a few forthcoming outlets for ML or FP (more than the FP features of the multi-paradigm languages in use).
  • Keeps clearances active and updated.
  • Once I subsume the domain, I'll probably have plenty of cognitive surplus.


  • Location is on-site in a government space, with the typical restrictions for this kind of work.
  • -2 hours/day on commuting.
  • Tech stack is mostly a bit dull and uninteresting.
  • Code too intertwined, hard to debug, and reason about. Can definitely do anything here, but the ancillary complexity is high.
  • Too much methodology overhead.
  • Can't leverage most of my higher-end, more productive skills and tooling. Poor overlap with interests.
  • I'm with a BigCorp for the first time, with all the expected downsides (though a few upsides too).

I think this is mostly on the positive-leaning side for the short term, but I'll revisit this balance and take action as necessary later if/when it changes. Also, since I'm not doing this out of need, I'll have to think about how work fits into my current FI life.

2019-09-21: Decided to take a remote Clojure position, which is a huge upgrade. So, canceling the remainder of this stuff.

2019-10-06: Post-job analysis: Since I have the option of returning later if I want, I've thought a bit about the 6 months here. A pro I would add is that the team synergy on the project was quite high and positive. The main added con would be how life-dominating the job was. If I want a local job again, I'll probably first explore other options, to include private sector, before seriously considering it. If WFH goes well, I'll perhaps form a strategy about better positioning myself for that exclusively.

1.9.3 DONE year-end review for 2019

  • State "DONE" from "STARTED" [2020-01-01 Wed 18:56]
  • State "STARTED" from "TODO" [2020-01-01 Wed 18:21]

Context: Spent most of 2018 super-productive, though mainly not in the areas this file is focused on tracking.

Goals for 2019:

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


  • Distraction management: Did great first 2/3 of the year, then got sloppy when I started working for home for a couple months. After that, managed to replace timesinks with home tasks, mostly.
  • Health:
    • Weight bench: Still need.
    • Soylent lunch: Started in March. Helped quite a bit, but then quit after going WFH.
    • Single full meal: Started in March. Switched to garden stuff in summer. Got sloppy towards end of year.
    • Snacks: Semi-failure here.
    • Weight goal: Got half-way.
    • Wake schedule: Started in March. Stuck to it.
    • Eye/dental: Eye exam done, contacts/glasses updated. Dental in progress. Lasik still to do.
  • General life:
    • Work: Took an on-site federal job. This wasn't too bad, but also too life-consuming. Left for a remote Clojure job after 6 months, which was the right call. This is pretty close to optimal. I did lose many months of personal productivity due to this though.
    • Big property items: Done. Started work on nice-to-have stuff.
    • Large purchase items: Done. Decided to get tractor for mowing.
  • Self-study:
    • Clojure wrap-up: Refreshed skills. Still need to read Applied Clojure and learn a few libraries.
    • Haskell: Refreshed Haskell knowledge. Gained a better intuition for the category/group-theoretic abstractions. Didn't have any time to proceed further due to jobs.
    • Meetup lecture: Haven't had time due to jobs.
    • Side projects: Had some time for this, but decided to invest it into property improvement. I think this was the right call.
  • Miscellaneous:
    • Redo computers:
      • Windows box done. Decided not to upgrade hardware. Upgraded all MS software, thanks to having an MSDN subscription for awhile.
      • Workstation: Full hardware replacement, including new monitor. Switched to Manjaro.
      • Laptop: Same hardware, but switched to Manjaro.
      • VPS: Still to do. Need to investigate whether I can switch this to Linux.
    • Refactor targeted skills: Still need to do.
    • Org refactor: Still need to do.

2 Project List (2018)

2.1 Computer Science/Programming

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

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.

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

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

Read some of these, but there's a lot of uninteresting parts too. In fact, the ratio is far too high. Skipping the rest.

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

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

Canceling C from my language portfolio.

2.2 Math

2.2.1 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":

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

2.3 General Non-fiction

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

2.4 Fiction

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

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.

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

2.4.3 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 millennials with zero life experience 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.

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

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

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

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

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

Nonsense gibberish, and not the entertaining kind.

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

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

2.4.11 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:

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

2.4.13 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:

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.

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

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

2.4.16 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 this one is actively bad. Skipping the rest of this series.
  • The Long Mars:
  • The Long Utopia:
  • The Long Cosmos:

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

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

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

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

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

2.4.22 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:

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.

2.4.23 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:

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

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

Still good, but not as compelling as I remember.

2.5 Technology/software

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


  • [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.

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

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

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


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

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


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.


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

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

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


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

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

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


  • My normal AP has the IP of Confirm this under the My Connected Home tab.
  • Port Forwarding is under the Firewall settings.

Just did SSH for now. Tested and works.

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

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


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

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

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

2.5.14 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
  • 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.

2.5.15 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 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 a try for comparison.

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

2018-12-11: FreeBSD 12.0 was just released, so I'll switch to trying that instead.

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

2.5.18 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 and will copy over the distfiles to save download time.

2.5.19 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 an OpenBSD box without stack.

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

2.5.21 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

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.

2.5.22 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:

Also check out:

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.

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

2.6 Work-related

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


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

2.7 Games

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

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

I guess these games are all pretty much garbage. Avoiding them forever.

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


  • 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:

This works pretty good, but I'm skipping it since it has annoying first person dungeons. Will play PSG2 instead.

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


  • At least read the gameplay and background info here:
  • 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.

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


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

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

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

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

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

Probably better to just watch a video of this than actually play it. Even better would be to do neither.

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

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


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

2.7.13 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. 9500

Looks to be a chat-only MUD, entirely centered around sex talk.


  • 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. 3000

Has a wiki with maps and other info here:

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.

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

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

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

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

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

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

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

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

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

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

Maybe read the 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.

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

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

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


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.

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

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

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

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

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

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

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


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.

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


  • Install the Ignore Race/Class Locks mod, located here:
  • Also added respec mods.
  • Check out the "Somebody shut that dog up" mod if barks, howls, and eagle screeches get annoying.
  • A good 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.

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

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

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.

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

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

Too simple and too much clicking. I guess this is how loot boxes work though. Also has some bugs in it.

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

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.

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

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

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.

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


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

2.8 Programming projects

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

2.9 Computer science/programming goals

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

2.10 General life goals

2.10.1 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

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:

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.

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

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

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.

2.10.4 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

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.

2.10.5 DONE liquidate extraneous possessions

  • State "DONE" from "STARTED" [2018-01-17 Wed 10:25]
  • State "STARTED" [2009-07-30 Thu 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.

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

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.

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

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

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


  • [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.

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


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


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

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.

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.

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.

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

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

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.


  • [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).

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.

2.10.12 DONE get seeds

  • State "DONE" from "STARTED" [2018-04-12 Thu 20:52]
  • State "STARTED" from "TODO" [2018-01-20 Sat 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.


  • [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.

2.10.13 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 with the following:

  • Peening jig and whetstone.
  • 28" grass blade.
  • Bent snath.
  • Galvanized metal stone holder.
  • Sharpened blade.


  • [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.

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

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

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

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.

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.


  • [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.

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

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.

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


  • [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.

2.10.17 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 and 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.

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.

2.10.18 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

  • [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.

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

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

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


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

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

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.

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.

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

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.

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

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

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

2018-07-26: Total was $350.67.

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

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

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

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


  • [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.

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

2018-08-31: Received permanent license, which is good for 5 years.

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

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


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

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

2.10.29 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 high quality 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.

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

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

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

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

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

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

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

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.

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


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

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.

2020-06-04: Optimization: Removing the stems altogether before drying makes them dry faster.

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

2.10.35 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

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.

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

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.

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.

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


  • [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 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.

2.11 Macro-goals

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


  • [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.

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.

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


  • [ ] 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
  • [ ] 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.

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


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

3 Project List (2017)

3.1 Computer Science/Programming

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

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

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.

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

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.

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

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

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

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

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

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

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

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

3.1.12 CANCELED Foundations of Computer Science

  • State "CANCELED" from "TODO" [2017-03-17 Fri 01:20]

Maybe good for a refresher.

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.

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

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

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

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


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

3.1.17 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:

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:

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.

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

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


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

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

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

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

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.

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

3.1.24 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:

The paper:

This is 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.

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


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

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

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


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

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

3.2 Math

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

I learned a couple things, but it's definitely not very information-dense. Far too much time is wasted talking about math outreach/education.

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

3.3 General Non-fiction

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

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

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

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

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

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

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


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

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


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

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

3.3.10 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".

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.

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


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

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

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


  • 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 selecting 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.

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

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

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

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

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

3.4 Fiction

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

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

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

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

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

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

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

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

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

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

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

If I find this compelling, there's a whole series of Discordia-related texts one could read:

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

3.5 Technology/software

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

Canceled due to switching to stack.

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

Redoing all Haskell Emacs setup around Intero.

3.5.3 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:

(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))

Canceled due to switching to stack.

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

Redoing all Haskell Emacs setup around Intero. We'll see how it handles indenting before trying to customize.

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

3.5.6 CANCELED further Emacs Haskell setup

  • State "CANCELED" from "TODO" [2017-01-03 Tue 23:56]

This guy has some good ideas:

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

Canceling in favor of stack.

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

3.5.8 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).

Read the project wiki and also this explanation of the project:

Cabal seems to be a neglected mess now, so I can't really put this off. Following the guide here:


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.

2018-08-27: stack now includes the stack upgrade command.

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

3.5.10 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:

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.

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

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.


  • 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. Otherwise, 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.


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

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

Canceled, since Intero includes flycheck.

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

vidcontrol returns an ioctl error. Not a big deal since I'm hardly ever on the console.

3.5.14 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:
  • [ ] Maybe port over all of my existing SICP code to Racket.


  • 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:
  • 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.

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

Canceling. If I'm writing Java again, there's something that's gone horribly wrong in my life.

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

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

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

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

Canceled. Judging from the commit history, it doesn't look like this project reached critical mass (or any mass for that matter).

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


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

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

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.

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


  • /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.

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

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.

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

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

3.5.26 CANCELED highlight-versions

  • State "CANCELED" from "TODO" [2017-01-29 Sun 22:38]

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

Don't think I need this now, with the completely redone Haskell stack.

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

AdBlock is now functional, so skipping this task. This would've been an inferior solution anyway.

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

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

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


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

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

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.

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


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

3.5.33 CANCELED Boot

  • State "CANCELED" from "TODO" [2017-02-12 Sun 00:57]

An alternative to Leiningen.

Looks like this isn't winning the build tool war. Canceling this task until that changes.

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

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.

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

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.

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

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.

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

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

I'll stick with w3m for the time being.

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

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

3.5.41 CANCELED pf/altq on FreeBSD

  • State "CANCELED" from "TODO" [2017-03-30 Thu 14:44]

Read this and pf.conf(5).

Dequeuing this until I have a specific need, in order to make room for more applicable tasks.

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

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

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.

3.5.44 CANCELED GCCSense

  • State "CANCELED" from "TODO" [2017-03-31 Fri 22:50]

Not planning on writing any (or at least much) C anytime soon. Maybe I can just never write it again.

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

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.

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

Made a theme called grayscale-dark. Installed this to public_html/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.

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

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

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

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.

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

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

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

3.5.53 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:

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.

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

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

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

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.

3.5.57 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 Will give it a try for awhile, since I'm trying to deprecate my Python scripts.

Looks nice, but has a dependency, xterm-color.el. Will keep it around for now and think about it.

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

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.

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


  • Clone the hub utility:
  • 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.

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

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


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.

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

Installed just the .el file and byte-compiled it. Works great and will definitely keep this around.

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

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.

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


  • [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:

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.

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

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.

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

I'm still rather against microservices, but I do like the general idea of containers more now.

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

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.

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

3.5.69 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:

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.

3.5.70 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 package. Should be way better than MozRepl, and not be browser-dependent.

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.

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

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.

2017-09-11: Removed since it got a bit annoying.

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

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.

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

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.

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

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:

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

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.

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

Works great. I've used control here before and it seems I still have some neurons wired for it.

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

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

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.

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


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

3.6 Work-related

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


  • [X] Finish the cats research task.
  • [X] Create org-mode file.
  • [X] Test org-present on a high-res screen.
  • [X] Restore ~/.w3m/bookmark.html and delete junk folders.

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

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


  • [X] Wait to see if anyone volunteers for a talk. Post text for talk 3-4 weeks before event 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.

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


  • [ ] 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.

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

3.7 Games

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

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.

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

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.

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

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

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.

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

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

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

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

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

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

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

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.

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

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

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


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

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

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

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

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

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

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

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

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

3.7.21 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 to actually pay for. Skipping.

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

3.7.23 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:

Great game and interesting codebase. Maybe give the code a closer read if I ever decide to learn PureScript.

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

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


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

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

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

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

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

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

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

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

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

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

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

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.

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

3.7.37 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 a 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.

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

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

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


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

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

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

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.

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

Too simplistic. Fundamentally a very thin UO clone.

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


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

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


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

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

Tried installing this, but it was non-functional for unknown reasons.

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

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


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

3.7.49 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 MMO knuckle-roll. Gameplay is definitely of the action RPG variety. Since I'm not in the market for that, I'm quitting.

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

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


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

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


  • Always skill 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:
  • 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:


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

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


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

3.7.54 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 too. 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.

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

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

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.

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

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


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

3.8 Computer science/programming goals

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

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

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


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

3.9 Math goals

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

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


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

3.10 General life goals

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

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


  • 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:
  • 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.

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

3.11 Macro-goals

3.11.1 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, 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 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.


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

4 Project List (2016)

4.1 Books: Math

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

4.1.2 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 for related recommendations.

Canceling, along with other specific applied/analytic mathematics.

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

4.2 Books: General Non-fiction

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

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

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

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.

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

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

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

4.3 Technology and software

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

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


  • 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

4.3.3 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. On paper, 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.

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

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


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


  • [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.

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


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

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

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

Canceling due to not being open source.

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

4.4 Books: Fiction

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

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

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

4.4.4 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 scifi 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.

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

4.4.6 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:

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.

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

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

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

4.5 Work-related topics

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

4.6 Games to play

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

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

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

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.

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

4.6.5 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 now 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.

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.

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

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

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

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


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

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

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

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

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

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

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


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

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


  • Try doing a /tell neutnet !register to sign up for a trade channel. Also try the same against user Dnet. Might not work anymore.

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

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

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


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

4.6.20 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:

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.


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

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


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

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


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

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

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

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

Has annoying maximum resource limits and too much checking back in to click on things. Quitting.

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

4.7 Macro-goals

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

5 Project List (2015)

5.1 Books: Computer Science/Programming

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

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.

5.1.2 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 Programming Clojure (2nd Ed.). 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.


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

5.2 Books: General Non-fiction

5.2.1 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:

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.

5.3 Books: Fiction

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

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

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

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

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

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.

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

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

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

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

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

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

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.

5.4 Technology and software

5.4.1 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:

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.


  • [ ] Read the FreeBSD Handbook chapter on upgrading:
  • [ ] 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.

5.4.2 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:

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.


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

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

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.

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

Enabled global-git-gutter-mode. Seems pretty useful.

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

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.

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

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

Also added some elisp 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.

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

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


Pretty simple. A little care must be taken, since certain invalid function calls can lock up a REPL if interactively building an application. Should be able to use the canvas function or namespace to do the graphics part of the Commercial Angler rewrite.

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

Can't get this to work, despite trying various things. Might look into this again later.

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

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

I might also add debug-repl later for more power along these lines.

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

5.4.14 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:

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.



  • 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:
  • Will redo Haskell flymake setup later.

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

5.4.16 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:

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, maybe. I think most of these are all in the same class of problems, where the naive solution results in the algorithm barfing at scale.

5.4.17 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:

Works great. See for the full setup details, integrated into the kernel build task. This also fixed the issue with having the console work after exiting X.

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

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


  • [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.


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

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

Not worth the overhead to learn, especially since I don't need it. Canceling.

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

Canceling this for now, for various reasons. Some are listed here:

5.5 Games to play

5.5.1 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:

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.

5.5.2 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

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

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

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

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

5.5.7 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:

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.


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

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

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

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

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

A good idea for a game, but a poor implementation of it. Very poorly programmed as well.

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


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

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

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


Not as bad to play using an idle build, but still too much interaction needed. Progress is effectively impossible when offline. Quitting.

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

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

Follow these mod instructions for the best textures and such: Or maybe these:

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.

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

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

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

5.5.20 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:

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.


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

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

5.5.22 CANCELED Prospector

  • State "CANCELED" from "TODO" [2015-10-08 Thu 14:49]

A freeware space rogue-like.

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.

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

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

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

5.5.26 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 Mae Demming 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.

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


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

5.6 Programming projects

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

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

5.7 Math goals

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

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

5.8 General life goals

5.8.1 DONE use Gnuplot to lose weight

  • State "DONE" from "STARTED" [2015-04-28 Tue 09:48]
  • State "STARTED" [2010-06-22 Tue 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.


  • 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 (or, from within gnuplot, load, 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.

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

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

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

5.8.5 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: 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.

5.9 Macro-goals

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


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


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

6 Project List (2014)

6.1 Books: Computer Science/Programming

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


  • 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:

    (let ((x '(1 2 3)))
      (do ((x x (cdr x))
           (sum 0 (+ sum (car x))))
          ((null? x) sum)))
  • 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:

    (define (f return)
      (return 2)
    ((lambda (x) (+ x 2)) (call-with-current-continuation f)) ; Returns 4.

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

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

Canceling since it's Scheme-specific. May reconsider if I ever wade deep enough in the language.

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


  • In a 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.

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

Already knew all of this, but this article is still a good refresher.

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


  • Multiple arity syntax: (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 deref calls. 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.

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


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

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

6.2 Books: General Non-fiction

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

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

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

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

6.3 Books: Fiction

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

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

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.

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

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

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.

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

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

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

6.3.7 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:

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

Mildly entertaining, but probably not worth the read.

6.3.9 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:

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

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

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

6.3.12 DONE A Requiem for Homo Sapiens series

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

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

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

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

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

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

6.4 Technology and software

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

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

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.

6.4.3 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, but I think there are better ways to do that now.

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

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

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.

6.4.6 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:


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


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

6.4.7 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).


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


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

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 with current version.
  • Create a dev/ directory with a user.clj. This should reference 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.

6.4.9 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).

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.

6.4.10 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:

;; 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))

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.

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


  • In ~/src/javascript, run git clone 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.

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

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

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

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

Added this in Emacs 24.3.1 and it works great.

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

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

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

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

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.

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

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

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.

6.4.21 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/, e.g., ipy_greedycompleter.

Update: I may need an iPython replacement now, since they have included Qt dependencies without the option to disable them.

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

Canceled due to new iPython Qt dependency.

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


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

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


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

6.4.25 CANCELED write login script for

  • State "CANCELED" from "TODO" [2014-04-08 Tue 20:40] 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" \

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

Update: On 2014-04-08, 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.

6.4.26 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:


  • 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 knows 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.

6.4.27 CANCELED Stackless Python

  • State "CANCELED" from "TODO" [2014-05-01 Thu 10:00]

A version of Python, enhanced for thread-based programming.

No longer using Python professionally, so I'll cancel this for now.

6.4.28 DONE upgrade WAP encryption

  • State "DONE" from "STARTED" [2014-05-01 Thu 10:00]
  • State "STARTED" from "TODO" [2014-05-01 Thu 09:59]

Upgraded to WPA2 Personal.

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

Setup notes:

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

Usage notes:

  • Manual is here:
  • 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.

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


  • 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):

;; groovy-mode
(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)))

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.

6.4.31 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