Very Secure

TheFleet Post-Mortem

TheFleet (Dec 14th, 20191 - ~April 13th 2020)

TheFleet, a project I undertook proposed by Diana Coman on Dec 14th, 2019, came to a halt around April 13th, 2020. The project failed for multiple reasons, perhaps all of which stemmed from a lack of drive to see it completed. I thought it worth some time to reflect on what I learned from the project I undertook for 4 months. To do that reflection I've collected a list of the articles I wrote about TheFleet and have reread each one to see what are the takeaways I should remember for my next endeavour.

1. Setting up Trinque's Logbot on Centos 6 With SBCL Quiclisp, Swank, and Postgres

Writing this article saved me time later on. I'll always document a server setup procedure (or any other setup) going forward.

2. TheFleet - A Systematic Exploration of the IRC Space

I recall that when I first discussed this project with diana_coman I thought its purpose was to find other productive individuals conversing on irc. But she informed me that it was better to aim for a "systematic exploration," i.e. see what's there - instead. This is a key piece of advice when approaching anything. Goals need to be changed as you gain information, so it's better to stay goalless, minus the aim of shedding light on what you're exploring.

Given how long this (incomplete) endeavor took in the end, it's amusing to read diana_coman refer to TheFleet as a small project. To excuse be fair to myself I was bussied with other tasks as I worked on TheFleet: building a computer, saltmines work, and writing a couple of articles a week. But because I don't have neatly organized timelogs, I don't know exactly how/where I was losing time.

Another small point - when I outlined the project I thought one of the objectives should be to create a nice visual interface for viewing the data. This is probably because of a value system I've picked up from working in the Silicon Valley world, where one is incentivized to build a nice displaying dashboard for management dishing out cash.

3. Progress Report on TheFleet

In this progress report I address my "lisp problem." I was acting like a day trader while programming - clicking and turning knobs until I found the correct lines of code to get a list of channels from different servers. Again, I should have focused on building up an understanding of my program. There were various issues I was running into with regards to threading, memory management, lisp itself, how the irc protocol worked, etc. Instead of trying to fix my gaps of knowledge I kept tweaking the code - in the form of taking stabs in the dark - until I got a list of channels from some networks.

4. A Few Thoughts on Lisp and Programming in General

In the above article I go over the points about lisp I just mentioned. I also question the usefulness of Common Lisp on a modern machine because of the bloat sbcl adds, but jfw notes that sbcl has a smaller source than the code required to interpret my other choice language, python. In any case, I think that I've greatly overestimated the power of CL. This came from some masturbatory reading of all the hyperbole of how great a language it is. It has perhaps slight syntactic advantage over python, but it is not in and of itself a magic language vastly superior to all others - at least not without a competent operator using it on an actual lisp machine.

5. Fleetbot Pseudocode Bugs and Fixes and The New Next Steps

This article is painful to reread. What makes the article so terrible is that I am attempting to write the pseudocode of TheFleet but I just end up writing this bloat that is more tedious to read than the code itself. This came from my misguided attempt to be thorough. What I should have produced is a reduction that highlights the main points of the code. But I did get something out of writing this article - the careful review of the code I did in preparation revealed bugs.

6. Ircbot No Suicide on Reconnect

This is one lasting accomplishment of TheFleet - a published fix of a bug found in a few pieces of republican software. I could have written a fix that allows the bot reconnect in more scenarios. But this would have required a slightly larger vpatch. I choose the smaller vpatch so that it would be more didactic.

7. TheFleet Overview

This article was a revision of my bloated pseudo-code piece. The stupidity detected here was that I claimed to be concerned about paying some paltry amount of fiat to rent a server. This reveals how my financial decisions are often completely illogical and emotionally based. I actually didn't even cancel my subscription for TheFleet servers until I wrote this article, so clearly I didn't really care about the money.

8. TheFleet Test Run Results

This was an overview report on the results of the first (and ultimately only) collection of data. Nothing to note here really other than I may still want to study how virtual memory works, since my first attempt at logging was screwed up by an OOM error that I never figured out.

9. TheFleet Next Steps With Data Collection

In this final article before TheFleet project was abandoned all together, I sidestepped the current goal of analyzing the data I had by saying I needed to fiddle with something else first. The main problem is I give myself a timeline that is not concrete. I said "Once I have a system I am content with for assigning the next channels to my VMs running TheFleet, I will plan how to analyze the collected data." A system I am content with is unspecified and thus I can forever stall as I work on this unspecified goal.

***

After a small amount of contemplation, I think the import points to remember for my next project are:

I. Pick something I'm excited about.
II. Set concrete goals with timelines, updating them as new information comes to light.
III. Keep a work timelog that is specific. An example is the timelog found in my guitar practice series.
IV. Document anything that may be used again in the future.
V. When choosing what to work on next, tend towards that which increases understanding.

  1. My birthday, coincidentally. []

2 Responses to “TheFleet Post-Mortem”

  1. Diana Coman says:

    The project failed for multiple reasons, perhaps all of which stemmed from a lack of drive to see it completed.

    Eh, there you go, already off the hook and with the pre-made conclusion to avoid finding out too much or digging out too deep through an actual review. What do you imagine exactly this magical drive to be anyway?

    Given how long this (incomplete) endeavor took in the end, it's amusing to read diana_coman refer to TheFleet as a small project. To excuse be fair to myself I was bussied with other tasks as I worked on TheFleet: building a computer, saltmines work, and writing a couple of articles a week.

    Mk. Go through my blog from January to July (inclusive) this year and make a list with the stuff done and documented; as you might imagine, the blog is not even by far a complete image of what I do, but I won't even go there. Then tell me again how it is with this "bussied with other tasks" and such other ways to make sure you don't learn anything from it, will you?

    You know, there *are* indeed clear reasons why it wasn't/isn't a small project *for you* but they all have to do with you, not with it! For one thing, you clearly got fully infected with the microsoftesque approach of making the speaking paper clip based on behavioural studies and whatnots because simply providing an actually useful set of hints or something would not *justify* spending that many resources nor be fuel enough for the *desired pretense* of importance and great achievement, sure. For mercifully keeping the rest short, especially once some trouble appeared, your focus was on avoiding & hiding it, not on any actual getting rid of it.

    so it's better to stay goalless

    How does this even follow? So you thought the goal was X and I pointed out that X is more wishful thinking than a goal, therefore the conclusion is ...it's better to not have a goal at all? Just how exactly do you jump like that?

    No, it's not "better" to have no *aim* (if "goal" is already a charged word that drags in for you whatever prepackaged "thinking") but not everything and anything qualifies for a useful aim just like that by virtue of one being able to state it! Moreover, since you can't know the future but you have all the past and present available to look at in any detail, the way you may pick a "goal" is only by extrapolating it as a necessary consequence, not by stating it "because wouldn't that be great" or something.

    I actually didn't even cancel my subscription for TheFleet servers until I wrote this article, so clearly I didn't really care about the money.

    Right. Since you fail to even register the elephant in the room, I'll ask the question for you: what *did* you care about?

    In this final article before TheFleet project was abandoned all together, I sidestepped the current goal of analyzing the data I had by saying I needed to fiddle with something else first.

    If I hadn't canceled it, you'd be still sidestepping that and other issues with it, now and for as long as I let it go on, it's clear enough. Either you actually deal with a problem when it appears or you attempt to sidestep it and then gradually paint yourself in a corner as there are ever more things to sidestep.

    I. Pick something I'm excited about.

    Excitement is short-lived by definition. How do you think it will survive the first problems? This sort of "oh, if I'm excited about it then it will all go better" is the modern nonsense with "be passionate about what you do" and a lot of similar nonsense but it "works" in practice just as well as all the rest of wishful thinking - for as long as ~anything would have "worked" just the same ie when it doesn't matter anyway and at any rate for not all that long overall.

    Pick something small enough and simple enough that you can get done quickly enough to keep you going, for starters. More importantly it would be to *stop pretending* but since you kept right at it even as I (and others, for that matter) pointed it out and even as it got you out of the project and so on, it's clearly very, very dear to you so it would take a lot to chip away at it.

  2. Adlai Chandrasekhar says:

    I am saddened to read that you extrapolated from a frustration with a specific project to a disillusionment with Common Lisp, although I hope that the time you are now spending on honing your musicianship will grant you a fresh mind for eventually reconsidering your opinion.

Leave a Reply