2019 in review

January 13, 2020 by Lucian Mogosanu

With due apologies for the delay...

Well yeah, this 2019/2020 thing is just a number somewhat related to some reform centuries1 ago involving the way dates are measured, but still -- multiple cakes and drinks were had with the passing from the previous cycle to this one, so given this momentous occasion, it shouldn't hurt to have a look at what the fuck I've been doing the whole time. It bears repeating: this shouldn't hurt, quite the contrary in fact. And well, since it's customary to split these cycles in moons, let's see:

There ain't much to be said about January. This is when I posted the manual to a fully functional albeit yet unpublished Feedbot.

In February I took my first step towards keeping a work schedule, which, although quite shy, was quite a big step forward from my point of view; no, not because schedules are any sort of innovation nowadays, but because it's made me realize the importance of a. explicitly stating things at the right time, and b. reflecting upon them later. Oh, and this is also when I first posted multiple iterations of the Gutenberg archive.

This Gutenberg work was continued in March. During the same month I posted the first Feedbot piece plus some dependencies, followed by the second and the third in April. Oh, and April is also when I revisited ye olde Peleș and Mangalia, the latter incursion being recounted way up in May, followed right away by Timișoara. Not much computer-work those few months except getting CL-WHO published.

In June I started reviewing Hunchentoot, and looking back to figure out why exactly this low output, I can't quite remember -- it could have been saecular work2 pouring over me, or it could have just been laziness. Either way, this led me towards committing to monthly review and planning posts in July, and... woah, we're already halfway through the year! Anyways, in July I continued my Hunchentoot reviews; add to that a week off at the beginning of the month.

The week off that I had in July then got documented only in August, because -- and I'm sure I'm repeating myself -- sifting through photos, processing them and arranging everything into a story worth reading is more laborious than I wish it to. Other than that, August was perhaps one of my most productive months, with plenty of digging into that Hunchentoot beast, resulting in a genesis at the beginning of September. Oh, and September is also when among others I took another week off to play on the Bulgarian seashores and when I genesized The Tar Pit Lisp Blog Scaffolding, for all that's worth.

In October I switched the blog's software over to MP-WP and I did a lot of fiddling with it; and I made some minor modifications to ye olde Perl Vtron. Then as November began, stuff happened and... well, let's make a short parenthesis here.

These things happen now and then, and for reasons which in retrospect prove to be obvious. However, I won't hide the fact that at the time I got quite a shake from the events, although to my eye it's clear3 where the breaking point in the relationship between Mircea Popescu and Asciilifeform lies. Having said that, and in spite of some of Stan's clear-as-daylight weirdnesses4, I have tremendous... I shall call it admiration for his intellectual products, not only because it's among others heavily influenced the way I looked at computers back in the day, but also because well... have you read FFA? Now tell me, how is that the product of nothing? Suppose it is, though; suppose a trillion monkeys wrote it by accident on an old, dusty typewriter: well, what's that cost me, other than the minute effort to discard the garbage while studying the gems? Or are they actually garbage and I'm just deluding myself here? And if they are, what does this say about all that other shit running in the wild5?

Either way, the lesson I took from this entire story, aided by the dissection of a non-Lispy Hunchentoot written in a language whose name happens to contain the word "Lisp", whose implementation might hide yet another pile of piles of shit... the lesson I learned from all this is that life is too short to be spent on chasing wild geese and that it's not worth going through the unknown unknowns entailed by producing FFA-like items. Not for now, at least, and not from the position I'm in. Which, by the by, leads us to TMSR-OS, which is what prompted me to look at Cuntoo at the end of November.

Finally, I don't have much to say about December, having spent most of it fixing various personal issues and some time examining the sad state of personal computers, with a particular focus on the bootloading stage. Which concludes 2019, which looks like a great moment to look at this yet fresh year.

I expect that work in the saeculum will eat up most of my time for at least the following six months, since surprisingly enough I'm learning some new lore there that's helping me grow my technical muscle -- sadly, I expect this to lead to preemptions and irregular schedules, although some of that new knowledge might materialize in the form of new blog posts. I don't expect this'll last forever though, and before it ends it's imperative that I start looking into avenues to help me grow my own feet -- for example I've found JFW and Dorion's work to be particularly inspiring6. All in all, I expect to be putting a lot more work to grow said feet in the mid-term; I have no idea where this road will lead, if anywhere, and I'm patiently expecting the crossroads to show themselves, if any, but meanwhile I guess I'll just enjoy the ride.


  1. That is, hundreds of years, the "year" being the item that I was trying to briefly examine in the first place, instead ending in this peculiar sort of self-referential loop. So what am I to say now, someone else thought of these things so "we" didn't have to.

    Anyways, happy new year and all that! 

  2. Which I can't properly describe here because I signed a NDA with the corporation and I intend to keep my end of that deal for what it's worth. You see, way back in 2013 I wouldn't have made such a compromise, but seeing how I didn't get to making money on my own five years from then, I eventually decided to get hired. And I can't say whether the choice was a "good" or "bad" one, for various values of "good" and "bad" -- it certainly came with advantages, and fortunately not only of the financial ilk; and there's this among other disadvantages, but I'm guessing the whole "non-disclosure" crap will go away in the 2020s, along with "intellectual property" and other deeply ill-conceived notions from the last century. 

  3. For example

  4. At the risk of repeating myself yet again, "wartime logger" my foot. Since... was it September? until now the thing still imports piles of unsigned shit via PIP, because see, not only Guido made a systems shitlang (it's used to implement Portage, isn't it?!), but he made it with support for modules and packages and whatnot, so I can break my teeth and waste my time dealing with automated shit that's pushed down my throat yet clearly doesn't work. Ironically, for all of Stan's moanings of "the Republic of PHP", I've never had this problem with this other shitlang. So spare me, please. 

  5. Quoth les logs:

    lobbes: though tbh, this whole experience makes me think that maybe computers just ain't my thing. Perhaps I ought to think about BingoBoingo's writing for Qntra course a little more instead of this TMSR OS project
    lobbes: idk, I've got some thinking to do

    mircea_popescu: i thought computering was your chosen profession ?
    lobbes: I mean, I make my living doing it in Incan lands, sure. But the bar is much lower in those lands
    lobbes: and even then, it has always been 'soft computering' like reporting, sql queries, excel jockying, etc. The only programming language I really know is python (and that I've only ever used here in tmsr)

    mircea_popescu: from what i've seen, most people decide they don't really like computers once they get to know them at all.
    mircea_popescu: in fairness, sql is as much a programming language as any of them. bash, too.
    lobbes: that may be part of it haha. The more I do learn, the more I realize that I don't like it enough to ~want~ to be in front of a computer all day

    Lemme tell you, I'm one of those "most" people who decided they don't really like computers, and that was more than five years ago. And it has nothing to do with Excel, nor with Python, but with the fact that it's so fucking easy to do stupid shit using computers that most of the machinery I touch on a daily basis would make most of most people throw the damned things out the window. And since you might be wondering, I keep my sanity mainly by staying away from them as much as I can.

    So no, I absolutely loathe computers*, but I've spent a sizeable portion of my life getting to understand them and meanwhile they've become useful for this and that; and since I'm here, I might as well make some attempts to make them work and get a coin out of it while this lasts. But good lord, I hope I move on to something else long before my mind goes off wandering in the fields.

    ---
    *: Heh, post-irony for the win! 

  6. Since what was supposed to be a small yearly report grew into a shawarma with everything, I might as well add here that from all the things that I spent my time doing in the pits of academia, I mostly miss teaching. Granted, the teaching in that environment was, and I expect still is today decoupled from practice -- and not in the naive "we study too much theory and not enough practical things" way students usually look at it either -- that the poor souls rarely make any sense of anything after getting their diplomas*. Still, I've found the experience useful and meanwhile I'm finding JWRD's training course to be a breath of fresh air.

    Sure, there's much more to it than training one in computing, although this "much more", already here in the form of "Young Hands" is at the moment a tad over my head. I'll get back to y'all as soon as I become a master of... well, stuff.

    ---
    *: How do I know that, you ask? Well, I used to be one of them. 

Filed under: asphalt.
RSS 2.0 feed. Comment. Send trackback.

17 Responses to “2019 in review”

  1. ...until now the thing still imports piles of unsigned shit via PIP, because see, not only Guido made a systems shitlang...

    As I understand, no one re-wrote the logger back-end because there is not yet, elementarily, in-what to do it.

    One could try in e.g. sh, if masochist. But then will simply trade one set of non-standardized shitware for another.

  2. #2:
    spyked says:

    I wasn't discussing the back-end though; AFAIK that side is small and not abundant in external dependencies, so I don't see a problem there. The problem is that the logger as a whole, and the WWW front-end in particular -- which was the problem to begin with, because Trinque's Logbot back-end was already there when Phf's logger went offline -- imports a whole load of unexamined shit.

    Since you mention languages, no, I don't believe that the problem (in this case, at least) lies in the lack of a proper scripting language. In fact any systems language has everything required to run a logger back-end, as the CL logger demonstrates; so whatever, CL, Ada, Python, Perl, pick your poison, it doesn't really matter. As for the front-end, I'm very sorry to say that I agree with MP here, nothing, nothing at all can beat PHP on this front.

    The point I'm trying to make is that whatever language you're going to use, the right and proper way to genesis a logger involves exposing to the core -- that is, implementation included -- all the abstractions up to the operating system interface, thereby removing all need for any "library" crap. Sure, in Python's case it's going to be "up to the Python OS library", but even then there's nothing preventing you from adding a Python interpreter to the genesis. The alternative to this approach is genesizing a logger with a bunch of holes in it where some essential piece was supposed to be, which gives us the current logger. So how is this in any way sane?

  3. ...Trinque's Logbot back-end was already there

    It also imported several unexamined and buggy ("CL-IRC" and other crapolade) deps. And suffered from disconnection bugs.

    ...nothing at all can beat PHP

    So where's the PHP front-end? It so happens that I do not know PHP. What kept you or the other PHP aficionados from rewriting the front end in your favourite cobol? It's been 5+ months!

    ...there's nothing preventing you from adding a Python interpreter to the genesis

    So that the barfers could barf even harder? No one will ever read a GB of C liquishit for a garbage interpreter. Python oughta have been thrown out long ago. Which was my point re: "need civilized scripting language."

    ...So how is this in any way sane?

    It was insane to write the logger. And if I had known what kind of "thanks" will get for it, would not have done it.

  4. #4:
    spyked says:

    > It also imported several unexamined and buggy ("CL-IRC" and other crapolade) deps

    That it did, from way back in 2016 when Trinque wrote the initial bot. As for the disconnection bugs, Feedbot is using Ircbot and it very rarely goes down, usually due to Freenode acting up and in more peculiar cases because of bugs, which by now are catalogued in the logs/on the blog, or in the process of being explained and squashed.

    But see, now you're using the same argument I did in my previous comment, what the fuck. So, moving on, hopefully we'll disentangle this:

    > So where's the PHP front-end?

    Lobbes has one almost working. If you're asking why I haven't done this, perhaps it's worth reminiscing how I worked about a couple of months on genesizing a CL HTTP library which turned out to be utter shit. What can I say, I've had my share of the fun and maybe I'll get back to it when Flask becomes unusable to everyone currently using it.

    > you or the other PHP aficionados

    I don't know what gave you that impression. I don't know PHP anymore than you do, but hey, the code does what it's supposed to, at least that's what I can infer from communicating on this blog, previously a Lisp software.

    > No one will ever read a GB of C liquishit

    No, but "everyone" uses it. I get it, "we're all" running "our" software on "our" hardware made up of black-box fractals and this state of things hurts and it will only hurt harder in the future. But precisely because of this state of things, there's absolutely no reason to perpetuate the same kind of practice in use way back in 2016, because that debt will probably be too high to repay in 2024.

    > Which was my point re: "need civilized scripting language."

    Before moving on to a civilized scripting language, one'd be advised to first examine what's so damned uncivilized about all the other uncivilized non-alternatives. I'm guessing it's very clear to you how PHP, Bash and Python suck, but the finer points are not as clear to me, and until someone documents the accidental complexity and strips the language down to the essentials, that one will be stuck repeating the same mistakes. In other words, I'm not yet convinced it's worth all the effort to rewrite from scratch, because all that effort might end up in the same garbage dump as all the existing software. Sure, FFA stands as a counter-example to all this, but as I've been previously told, cu o floare nu se face primăvară.

  5. Lobbes has one almost working

    IIRC he implemented a very different item -- MP's irc-to-WP converter. Which fills MP's spec, but is not a feature-complete replacement for an actual logger, where can e.g. fill in gaps without eating entire 200MB+ data set every time, search in O(n log n) incl. by speaker, display log segments by date, execute "seen X", etc. (Yes I'm aware that MP decreed it to be "proper logger", ad baculum. It still ain't one.)

    ...when Flask becomes unusable to everyone currently using it...

    How, exactly, "will become unusable" ? No one bothers to snapshot tarballs any more? Will PHP also become unusable eventually? If not, why not?

    ...but hey, the code does what it's supposed to...

    So does my old pyturd. By same logic.

    ...examine what's so damned uncivilized about all the other uncivilized non-alternatives...

    Exactly same thing as about python. GB+ pile of obfuscated-C liquishit.

    ...I'm not yet convinced it's worth all the effort to rewrite from scratch...

    I'm not convinced that programming computers per se is "worth the effort". It has, generally, same economic payoff as sticking your fingers into 220v socket.

    Possibly folks do it from a kind of psychiatric disease. (Yet-other folks suffer from different psychiatric disease, where sufferer believes that such activity can be meaningfully directed.)

    ...because all that effort might end up in the same garbage dump as all the existing software...

    Everything and everyone eventually ends in garbage dump. And, in software, the useful, sane items tend to get to the dump before the obvious rubbish. Because obvious rubbish "helpfully" strokes egos, of would-be "cleaners", "managers", of users (who have "come to expect".)

    ...FFA stands as a counter-example to all this...

    Counter-examples only work on those who are willing to read them. To the unwilling, are merely proof of "insubordinate engineers".

    cu o floare nu se face primăvară.

    "If not you then who"(tm).

  6. #6:
    Robinson Dorion says:

    Really a pleasure to eat the whole shawarma, happy new year !

    I might as well add here that from all the things that I spent my time doing in the pits of academia, I mostly miss teaching. Granted, the teaching in that environment was, and I expect still is today decoupled from practice -- and not in the naive "we study too much theory and not enough practical things" way students usually look at it either -- that the poor souls rarely make any sense of anything after getting their diplomas*. Still, I've found the experience useful and meanwhile I'm finding JWRD's training course to be a breath of fresh air.

    Good to know about your interest in teaching and glad to hear our strategy is a breath of fresh air. We're aiming for just enough theory for clients to be efficacious in practice, which in part means having enough to know which questions to ask of whom. We have a lot of growing to do to get to capacity, but when we do, we'd definitely be interested to talk with you about joining.

    I expect that work in the saeculum will eat up most of my time for at least the following six months, since surprisingly enough I'm learning some new lore there that's helping me grow my technical muscle -- sadly, I expect this to lead to preemptions and irregular schedules, although some of that new knowledge might materialize in the form of new blog posts.

    Are you still aiming for the work from home , 10h/week availability ?

  7. #7:
    Mircea Popescu says:

    > looking back to figure out why exactly this low output, I can't quite remember -- it could have been saecular work2 pouring over me, or it could have just been laziness

    > well, what's that cost me, other than the minute effort to discard the garbage while studying the gems?

    Now say it again, and make it convincing.

    The problem isn't when stupidity doesn't work. When stupidity doesn't work you're in the best postion of all, as you describe : shake yourself back up, dust yourself off, separate the gems from the etcetera.

    The problem is when stupidity seems to work just fine. That's when you end up backtracking on a year's worth of effort because the only thing it ever delivered were further holes to pour effort into! There's this joke about how useless retard pseudo-"scientists" of the modern-democracy/socialist type only ever produce the conclusion of "more research^H^H^H^Hfunding is needed". It's one thing to laugh at Hell from outside ; it's quite another to find yourself inside and discover just how smooth and crackless the crystal retainer bubble actually is.

    > before it ends it's imperative that I start looking into avenues to help me grow my own feet

    Godspeed.

  8. #8:
    spyked says:

    @Stanislav Datskovskiy:

    > How, exactly, "will become unusable" ? No one bothers to snapshot tarballs any more? Will PHP also become unusable eventually?

    I don't know, how does software usually become unusable? By virtue of other moving parts breaking it? And what tarballs, the current idea is, the entire system will be genesized, or there won't be any software around to drive the iron.

    > So does my old pyturd. By same logic.

    Except I didn't have to import any Flask in order to get e.g. MP-WP running. And as per above, the idea is, I won't have to import any OS at all to run it in the future.

    > Exactly same thing as about python. GB+ pile of obfuscated-C liquishit.

    I don't know how you read that, but it was about Python in the first place. Let me restate that: after I become able to systematically tell how Python, Perl, Bash et al. are so horrible systems languages, then and only then will I be able to contemplate any sort of "civilized scriptlang". But I haven't studied such a thing, nor am I going to put in the work required unless I have sufficient cause, because at the moment I don't see anything distinguishing this ideal civilized-scriptlang from the other shitlangs. In other words, I won't burden myself with the need for any new language or technology unless this need becomes apparent.

    > "If not you then who"(tm).

    I also don't believe in heroes saving the world from bad software. Items such as FFA are, in your own words, surplus phenomena, and until (if ever) I have the luxury of time to allow me to work on such items, I'm stuck dealing with the more urgent stuff.

    @Robinson Dorion: Happy to hear you've enjoyed it, danke schön!

    > we'd definitely be interested to talk with you about joining.

    I'll study your approach (as published so far) in more detail and then pick your brain about it. To my eye, the knowledge required to e.g. use Bitcoin in a sane manner is pretty heavy, which makes me wonder if any such training course should come with in-depth learning modules. Either way, it's too early for me to tell, so I'll get back to you guys as soon as I have enough brain/attention resources to seriously think and write on the subject.

    > Are you still aiming for the work from home , 10h/week availability ?

    Yes, although on one hand working from home still happens at an irregular pace (depending on how much I need to be physically present in the saltmines), while the 10hrs/week has in practice varied anywhere between 0 and 30. The saltmine project I'm currently working on evolves in multiple (waterfall, although the managers claim otherwise) phases, each with its own pressures and time allocation needs, so I will indeed have to reevaluate my actual commitment and performance in a few (~3) months from now.

    @Mircea Popescu: I wish I could blame my low output on aimlessly fucking around with FFA, but the truth is... it had nothing to do with it. Leaving aside the fact that studying FFA was the first time in years when I learned something genuinely new, the problem was all me getting stuck in various loops of my own making, getting burnt out, recovering and then understanding that I need some way to keep track of what's happening there. Since you at some point mentioned the so-called pantsuit lifestyle: it may be that (I have only a vague idea of what a "pantsuit lifestyle" means, to be honest), or it's just my needing some time to take care of myself, or just needing to grow the fuck up. Either way, it's worth plainly stating that I'm not there yet; if I were, I'd have a business plan on the table and I'd get my ass out in the game, but as things stand, I'm not so far from 2018, when all I had were a bunch of general ideas resonating with TMSR ideology. I mean sure, I did some work meanwhile and I hope it wasn't entirely useless, but the mere fact that I'm not able to completely evaluate the usefulness of that work should say something.

    > Godspeed.

    Thank you!

  9. #9:
    Mircea Popescu says:

    I dunno why you run to "studying ffa" specifically ; it's not what I said, nor what I meant. The "it costs nothing to separate garbage from the gems" fallacy in general is the culprit pretty much every time otherwise intelligent fellow can't explain where their time went.

  10. #10:
    spyked says:

    Well ok, but I don't see how the «"it costs nothing to separate garbage from the gems" fallacy» relates to what I was discussing above, and how the two quotes you gave relate to each other. I'm decoding it along the lines of "what you call separating the garbage from the gems is a monumental waste of time, or perhaps it's worth the time but it's still a rabbit hole", but either way, had I wasted my time there, at least I would have had something to write about, as I e.g. did with Hunchentoot. But I didn't, in fact as I said, I wasted all that time with entirely unrelated personal spinning, which is what convinced me that I need to be explicit about what I've done and what I'm doing, which is what led me to this post among others.

    So to put it more clearly, I can't explain where that time went because I didn't properly speaking manage it. Sure, "bringing engineering to new heights of multilaterally-developed progress" is one way I could delude myself, assuming there was any such process there. But then we could assume any other unexamined process there, for all that's worth.

  11. #11:
    Mircea Popescu says:

    Alright, let's belabour it then!

    To my eye, you made two statements [that are relevant in this context]. One of them is theoretical, "[I hold the belief] the minute effort to discard the garbage while studying the gems [that choice is free of cost]".

    This is a belief like any other belief : it can't be weighed or tasted, it can't in any way be compared besides one ; and god knows that one's always open to "interpretation".

    I could, if I were a humorless sort of tedious fuck, go into actual intricate detail, add tiny values up over a mile of page, and conceivably come up with actual accounting proof [which nobody will read, as it's not worth the time to read it, so in an amusing turn of fate the very act of reading it invalidates it intellectually] ; then "interpretation" can readily proceed in the usual manner.

    I opt to not do that. Instead, I put next to your own statement of your own belief, your own statement of... listen to it again :

    looking back to figure out why exactly this low output, I can't quite remember -- it could have been saecular work2 pouring over me, or it could have just been laziness

    Yes, it could have been laziness.

    Or it might have been -- oh look, do you know what catches my eye, as I scroll up and down to construct this comment ?

    [...] that I have 2019 out of the way, time to (belatedly, yet again) get to this month's edition of "stuff that I'm going [...]

    Isn't that an inteteresting coincidence ? Perhaps it's coincidental coincidence, or perhaps it's coincidence in the sense every other scoop of ocean water will also be salty. Maybe there's a reason underlying this coincidence having to do rather with saturation than actual coincidence. Maybe we can take one look at the title of this article and venture the guess that the author did indeed underprovision for the search, whose cost he misjudged from the onset (in the sense of underestimating it).

    It could be laziness, or it could be gnomes, or it could be that this whole world is against you, or anything else. Then again, it could also be that you systematically underestimate the cost of optionality.

    None of this is the end of the world, nor some sort of crime. One could say I suppose, for the love of rhetorical flourish and learned reference, something along the lines of "but it will lead to crime" bla bla. Whatever, the only point is that look at this thing here.

    PS. Particularization also works psychological defense, you realise. If you run to "oh, you mean ffa" for no apparent reason, the more likely construction as borne by events is that you'd very much rather not look at something else.

  12. #12:
    spyked says:

    > Alright, let's belabour it then!

    Why, thank you for casting light upon it!

    > it could also be that you systematically underestimate the cost of optionality.

    I sometimes am optimistic about all sorts of costs, yes, especially in cases when I lack the experience to back the estimation. I'm not sure if it's related specifically (or wait, is that "more generally"?) to optionality. My own (definitely biased) take into the matter is that I'm often setting to bite more than I can chew, which tends to bite me back in the ass in the medium to long run.

    > If you run to "oh, you mean ffa" for no apparent reason

    Sure, I agree with your remark about particularization. In this case I went to "you mean FFA" because that was the context of the quote.

  13. #13:
    Mircea Popescu says:

    Alrighty then!

  14. [...] that I have 2019 out of the way, time to (belatedly, yet again) get to this month's edition of "stuff that I'm going [...]

  15. [...] experience and examples, and while at it I'm working to fix that bug of mine that gets me to underestimate all sorts of things, mainly by making schedules, estimating the resources involved in work and trying to stick to the [...]

  16. [...] two days after the event still seemed to me too early to think about the future; although it's public knowledge by now: these things usually get me thinking and spinning, and then some, only this time they did [...]

  17. [...] hit me with a flu which sapped me of energy for almost a week. Hell, at this point I could just, as the man observed, simply state [...]

Leave a Reply