1. 11

    Appreciated, such decades-old email archives always abound in “fleeting gems of the day” such as..

    ___________________________________________________________________________
    From:	KIM::PETROKA        12-DEC-1983 19:41  
    To:	@SYS$MAIL:JUNK
    
    While we're on the subject, I might mention that Ronald Wilson Reagan
    anagrams into Insane Anglo Warlord.  A public service message.
    
    1. 1

      While am I an unashamed Reagan worshipper, I don’t particularly miss the regular “nuke drills” that we endured at that time in our schooling.

      There was a major concern and daily narrative that the nuclear missiles would be coming at any moment - combined with a completely vitriolic and uncivil standard of discourse and disagreement about what, if anything, should be done about it, which makes today’s political divisions and issues seem silly and quaint in comparison.

      “Discussion” of the two solutions would usually result in, at a minimum, brawling, those solutions being either the need for building more nuclear missiles or destroying them all and disarming, with supporters of both sides being accused of treason and wanting to bring about the literal end of the world. Serious threats to kill those on the ‘other’ side became a normal thing - after all, everyone thought the time for civil discourse was past.

      This was the era of films such as “Red Dawn” and “Miracle Mile” and “Testament” and “The Day After” and “Threads” and “WarGames” in the theaters, after all. I remember we were made to watch “Threads” in class at one point.

      In the schools, it was playing out sort of like a more depressing version of “duck and cover”, that is, “hide under the desk and prepare to die”. That was the default action for all of the drills - hurricane drills, tornado drills, nuclear missile drills.

      Oh, and “don’t look at the flash!” (Don’t you know, you’ll go blind doing that?)

      Also, tornado drills involved hiding in the hallway and waiting to die. The rest of them were under the desk, however.

      Gives a little perspective on why the arcades and gaming were so important and a needed distraction in those days. Millennials these days don’t know how easy they have it.

      Missile Command, anyone?

      1. 1
    1. 5

      Outside the day gig, I’ll continue on my take on “the Golang code-gen tooling I’d like to see & use & have at-hand— after having written ad-hoc, haphazard, one-off, quick&dirty, unwieldy code-gens time and again (occasionally here&there) for the last 7 years”: https://github.com/metaleap/go-gent

      1. 7

        I have a few things that I’ve been working on for the past 8 weeks:

        • data visualization project
        • ActivityPub implementation
        • working through Haskell Programming from First Principles

        I’m in a rut where I’ve lost conviction about all three of these projects. I’m enjoying Haskell Programming from First Principles the most but I’ve been demotivated lately by the thought that I should be focused on applying technology in useful ways more than learning new technologies. I don’t have any immediate or practical need to learn Haskell. I don’t expect to use it professionally. I just think the ideas are pretty interesting. But I can’t escape the feeling that there’s something more important I could/should be working on. So I’m in a rut where I have some things I could work on this week but little motivation to work on them, and I’m not certain how to resolve this stalemate.

        1. 8

          Would recommend to any developer who has a few months of mostly-free-time-ahead to dive deep into the Haskell world without regards to such concerns. Just a few months, then step back. Chances are high from numerous anecdotals including myself you’ll be a whole-new-developer in whatever “real-world languages” you come back to. Not in the ivory-tower over-abstracting sense either. Just in the sense of almost-deeply-instinctively circumventing the more subtle pitfalls of all non-purelyfunctional languages, and devising more-principled, less-convoluted designs. Maybe you won’t have that and maybe you’re already there anyhow — just saying, “chances are high”. In any event such time won’t be wasted and in your future real-world-work you will thank yourself for it, maybe even others (slightly less likely, nobody quantifies or detects infinite-numbers-of-troubles-avoided ;)

          1. 1

            I really appreciate the recommendation. I’m not totally new to the concepts in Haskell. For example, I know the basics of and am comfortable working with algebraic data types. I too have found that learning these concepts strengthens and clarifies my thinking in other areas of programming. That’s a big part of what I enjoy about Haskell and functional programming in general.

          2. 2

            FWIW, I don’t think I’ve ever really learned a language from a book. The examples / exercises usually feel too isolated and far-removed from the domains I work on.

            I do have a ton of language books, but I use them more as references while I apply the language to some problem. That focuses what you need to know. Usually what I do is to find a bunch of 500-line code snippets in the language, and choose one to add a feature to.

            I went through Real World OCaml a few years ago, and it was useful. But then I found an ocamlscheme project that I hacked on a bit, and that was a more useful learning experience. It wasn’t exactly practical, but I think it focused me on a few things rather than trying to ingest every concept in a book. There are still a bunch of things about OCaml I don’t know (and I think that is true for most people).

            The Pareto rule generally applies – 20% of the language allows you to solve 80% of problems. There is usually a long tail of features for library authors (e.g. in C++).

            1. 2

              I agree and support the principle here, which I think is that abstractions are best learned through application and experience. I like focusing on the language first and then using the language to solve a non-trivial problem. I get overwhelmed if I try to learn the syntax and core concepts while also trying to think of how to best express myself in that language. But I would never consider the language learned until the second step was taken and I had used the language to complete a real-world task.

          1. 4

            DragonFly would have been my choice as well back ~1 week back when wanted to move on to a BSD after decades in Windows/Ubuntu/Fedora/OpenSuSE. Alas I’m at a point right now where I neither can’t nor won’t ditch VScode, so I’m holding off the BSDs for another ~half-year+ until it lands there properly as a port (right now in the “with these patches and hacks, you can get 90% of it running” phase, far as I could tell).

            I educated myself on which Linux distros aim most for BSD philosophy and found Void: http://troubleshooters.com/linux/void/whyvoid.htm — took some time post-install to tweak and setup the machine-specific “goodies” (touchport etc.) but it was all worth it. Great distro if there’s some deal-breaker / show-stopper (hardware or software reason) that keeps you from moving to BSD. Might stay on there for quite a while, in fact!