Boojum's recent activity

  1. Comment on Is Emacs or VIM worth learning in today's day and age? in ~comp

    Boojum
    (edited )
    Link
    It seems like a lot of replies here have answered from either the Vi/Vim perspective, either from the pure thing, or from its emulation in Emacs or other tools. As a long-time user of pure Emacs,...

    It seems like a lot of replies here have answered from either the Vi/Vim perspective, either from the pure thing, or from its emulation in Emacs or other tools. As a long-time user of pure Emacs, I'll just give you a run down of why I still use it and you can make of that what you will.

    Customizability: At its core, Emacs is essentially a Lisp interpreter with a bunch of builtin functions and datatypes for manipulating buffers of text. There's a relatively small core of C code to it, and a much larger layer of Lisp on top of that. Every time you type a key, you're running a Lisp function. Even just to insert letters into a buffer!

    That Lisp code can be introspected, wrapped, replaced, etc. And not just at the plug-in level like in something like VS Code. I can type in a new Lisp function, evaluate the definition to add it to the running Emacs session, and then bind keys to it all on-the-fly without restarting Emacs. I've sometimes done this with one-off functions for task-specific purposes.

    I can also interpose my own code to run before or after (or both) some other predefined function runs. Much of the existing code will invoke callbacks called "hooks", which can be customized. And if I like the results of that new code, I can just add it to my config to make it permanent for future use.

    So to me, Emacs is less of an editor and more of a toolkit for building an editor. You get a decent starter editor out-of-the-box, but you're encouraged to really make it your own. That toolkit like approach is also why you probably see less emulation of its key bindings than vi in other IDEs.

    (Many people point out that this customizability can be a bit of a tinkering quagmire. My view is to just make note of the odd rough spots when I'm busy with a project and then come back and address them later when I have some downtime. I've used Emacs long enough now that major changes to my config are quite rare.)

    Efficiency: I've never been a Vi/Vim user, but from what I've seen of it, its adherents value a slightly different kind of efficiency. From what I can see of things like Vim golf, they seem to value minimizing the number of keystrokes needed to efficiently maneuver around in a file and make surgical changes to it. The keystrokes in Vi/Vim seem to operate as a DSL for manipulating text in a fine-grained way. It seems to value editing efficiency at a micro-level.

    I'd argue that Emacs is about efficiency on a different level. It tends to put more value on efficient bulk manipulation or doing things in a smart way. There are many, many functions in Emacs for doing bulk changes to a file. For example, it can even do stuff like evaluate a Lisp expression in a search and replace to determine the replacement!

    Also, my config has a lot of DWIM ("do what I mean") functions that customize keys to respond in a contextualized way that suits me personally. For example, I have things customized so that if I hit the delete key anywhere in the middle of a line then it deletes the character on the cursor as normal. But if I hit the delete key at the end of the line, it deletes the newline and then all but one space of the indentation on the next line. (I visualize this sort of thing as like polishing off all the sharp edges of a stone to make it silk smooth in the hand.)

    Composability: Emacs likes to represent almost everything as a text buffer -- whether or not it is backed by a file, or just a temporary buffer in memory. This can even get somewhat meta when the list of open buffers is itself just another buyffer.

    And the majority of its operations are aimed at manipulating those text buffers.

    Together, this leads to a narrow waist architecture, with multiplicative effects that are more than just the sum of its parts.

    For example, Dired is a built in package that represents the contents of a file directory as a buffer. And it has keys that can put that into a writable state and then commit any changes made to the buffer back to the file system. That means that I can use all my usual means for search and replace, key macros, custom Emacs Lisp functions, etc., to efficiently rename files. Or I can use key macros to mark every Nth file for deletion.

    I can also do something similar with the results of a grep across my project or open buffers to do wildly powerful bulk edits across matching lines in dozens or hundreds of files.

    It gets pretty powerful once you begin to see the editor as hosting a stable of tools that all operate on this common datatype of a text buffer.

    Screen Space: A small point, but at this point I run Emacs with nearly all the GUI chrome turned off. This means that nearly all of my screen space is devoted to just showing me the stuff I'm editing. Many years ago, for example, I was perfectly fine editing documents and code with it on a tiny little netbook. I just made Emacs full screen and got on with things. I think with a typical IDE or text editor, a good fraction of the screen would have been devoted to the GUI chrome and I'd have been looking at my files through a little periscope.

    (I'll also note that at one point, I was able to effectively use that little netbook to edit code hosted on a desktop on the other side of the Atlantic while abroad for a conference. The wifi was flaky and slow, but Emacs's display system from the low-baud era handled it just fine.)

    Longevity: I've used Emacs for 25+ years now, and I've seen the new hotnesses in editors come and go. What with the Lindy effect, I fully expect Emacs will last me for the rest of my life (on whatever platform I may use in the future) and for its development to outlast me.

    Tools: Emacs has a lot of cool tools and packages available. I used to hate Git, for example, because of its CLI, but Magit makes it downright pleasant in many ways. And how many editors ship with a builtin programmer's calculator that can do symbolic calculus, linear algebra, and arbitrary-precision arithmetic?

    7 votes
  2. Comment on What programming/technical projects have you been working on? in ~comp

    Boojum
    Link Parent
    Oh, awesome! Thank you so much!

    Oh, awesome! Thank you so much!

    2 votes
  3. Comment on The two cultures in ~games.tabletop

    Boojum
    Link
    The combination of non-determinism and strategic play mentioned here is why Bridge is my favorite card game. (Granted it's deterministic after the initial shuffle, but that shuffle does inject...

    The combination of non-determinism and strategic play mentioned here is why Bridge is my favorite card game. (Granted it's deterministic after the initial shuffle, but that shuffle does inject some non-determinism that manifests through imperfect information.)

    It's got that flavor though, where a strategical stronger player will win out more in the long run, with the odd upsets here and there due to good vs. bad hands. And also where a calculated gamble can get torpedoed if the cards broke the wrong way.

    2 votes
  4. Comment on Why the short-lived Calvin and Hobbes is still one of the most beloved and influential comic strips in ~comics

    Boojum
    Link
    Calvin and Hobbes is definitely a favorite in my household. In recent years, I've really been enjoying the printed volumes of Phoebe and Her Unicorn, which feels like something of a spiritual...

    Calvin and Hobbes is definitely a favorite in my household.

    In recent years, I've really been enjoying the printed volumes of Phoebe and Her Unicorn, which feels like something of a spiritual successor. It's more than just a gender-flipped clone of C&H; the characters' personalities are rather different, for one thing, (Phoebe's probably closer to Susie than Calvin) and the setting is modern day with Phoebe being Gen Alpha and her parents being children of the 80's. But it definitely shares a lot of themes.

  5. Comment on What programming/technical projects have you been working on? in ~comp

    Boojum
    Link Parent
    Thanks! The paper I was referred to is "Sky Color Near the Horizon During a Total Solar Eclipse". Regarding my work, I'm still experimenting. I only started writing my little test renderer on...

    Thanks! The paper I was referred to is "Sky Color Near the Horizon During a Total Solar Eclipse".

    Regarding my work, I'm still experimenting. I only started writing my little test renderer on Tuesday evening and haven't managed to reproduce the effect with it yet.

    2 votes
  6. Comment on What programming/technical projects have you been working on? in ~comp

    Boojum
    Link
    Earlier this week, a relative who went to see the eclipse mentioned a discussion with friends of theirs who noticed a pink glow on the horizon. One of them thought it might be Rayleigh scattering...

    Earlier this week, a relative who went to see the eclipse mentioned a discussion with friends of theirs who noticed a pink glow on the horizon. One of them thought it might be Rayleigh scattering and the group found a paper whose title seemed to support this (not open-access and no author pre-print available, unfortunately, so I haven't read it myself).

    That inspired me to try to write a little skydome renderer for eclipses to see if I could corroborate this theory via simulation. It's been fun refreshing my knowledge of atmospheric scattering and absorption, the solar spectrum and blackbody radiation, multiscatter volume rendering, and spectral rendering.

    6 votes
  7. Comment on What did you do to "prepare" for your marriage? in ~life

    Boojum
    Link Parent
    If you're talking about "wives, submit to your husbands" aspect, no, I can't say I really remember anything like that. It's been a long time though. The bulk of it was just asking us each the same...

    If you're talking about "wives, submit to your husbands" aspect, no, I can't say I really remember anything like that. It's been a long time though. The bulk of it was just asking us each the same non-gendered questions to jot down an answer to in a workbook and then talk over.

    I found a page that gives the gist of the kinds of questions asked. There are definitely questions of faith in there, but I think it's still a pretty good list of things to consider even if you took all of those out.

    2 votes
  8. Comment on What did you do to "prepare" for your marriage? in ~life

    Boojum
    Link Parent
    Thanks, yes! That jogs my memory a bit (especially the disability question), but the marriage prep in Chicago definitely had those kinds of questions. Other big questions from it that are coming...

    Thanks, yes! That jogs my memory a bit (especially the disability question), but the marriage prep in Chicago definitely had those kinds of questions. Other big questions from it that are coming back to me:

    • Are you open to having kids if they should come earlier than you intend to try for (or if you don't intend to have kids)?
    • How do you feel about their friends, and how do they feel about your friends?
  9. Comment on What did you do to "prepare" for your marriage? in ~life

    Boojum
    Link Parent
    My spouse and I do this sort of thing with separate credit cards backed by a joint bank account. At the end of the day, everything goes into and comes out of the same pot of money. But it's easier...

    My spouse and I do this sort of thing with separate credit cards backed by a joint bank account. At the end of the day, everything goes into and comes out of the same pot of money. But it's easier to watch what we're individually spending from credit card statements. (We're fortunate enough not to live paycheck-to-paycheck, so rather than saving up for personal goodies, it tends to be post-hoc: "That was a more expensive month than usual with that big purchase, so I'll lay off for the next few months.")

    For the kid savings, we opened co-signed bank accounts in their names and set up recurring weekly transfers for their allowances. That solved the "Oops, when did we last give you your allowance?", plus the "My money is gone from my piggy bank! Someone took it!" squabbles we'd had, even if it's not as much fun as a pile of cash in a piggy bank. For the younger kids, bigger purchases they want to make go on our credit card and then we transfer the funds out of their accounts later. Meanwhile, the teens have debit cards for their accounts.

    Apart from that, we also have set up automatic recurring contributions to a 529 account for each of the kids.

  10. Comment on Best "dad" jokes and puns! in ~talk

    Boojum
    Link Parent
    My preferred version of that first "bar" joke: Two guys walk into a bar. The third one ducks.

    My preferred version of that first "bar" joke:

    Two guys walk into a bar. The third one ducks.

    5 votes
  11. Comment on How do you organize your phone's home screens and apps? in ~tech

    Boojum
    Link Parent
    I have a very similar philosophy. My home screen just has a clock widget and a basic set of eight apps (calculator, maps, notes, browser, phone, texts, clock, and camera). Most of the screen real...

    I have a very similar philosophy. My home screen just has a clock widget and a basic set of eight apps (calculator, maps, notes, browser, phone, texts, clock, and camera). Most of the screen real estate just shows my wallpaper. Everything else (another 25 apps or so) goes in the drawer.

  12. Comment on What did you do to "prepare" for your marriage? in ~life

    Boojum
    Link
    It sounds like you're off to a good start already (especially with viewing it as a partnership)! I (non-Catholic) married into a Catholic family and my spouse and I had a Church wedding. A...

    It sounds like you're off to a good start already (especially with viewing it as a partnership)!

    I (non-Catholic) married into a Catholic family and my spouse and I had a Church wedding. A prerequisite for that was their PreCana marriage preparation course that we signed up for after an initial consultation with the family priest. For the one that we went to, it was basically an intensive all-day course on a Saturday. It largely consisted of being given a ton of questions to honestly discuss between the two of us and make sure that we're in agreement. Many were things we'd already discussed, but there were definitely some curve balls that we hadn't considered. (Sadly, I don't remember them now.) It was a good experience.

    I know many on this site have an atheist / anti-church world view. I completely get that! But many religious groups have hundreds or even thousands of years of experience officiating weddings and seeing their members marry. They've seen just about everything. Moreover, it's in their interest to help marriages to succeed, while helping steer couples away from entering marriages likely to fail. Even from a secular point of view, there's usually a good alignment there.

    So if you have any association with a church of some kind (of whatever major religion), I'd suggest checking to see if they have some kind of marriage prep.

    12 votes
  13. Comment on xkcd: Machine in ~games

    Boojum
    Link Parent
    If you do give it another go, I'd highly recommend this map instead of mine. It was posted half a day later, but theirs is interactive, zoomable, and has POIs marked. It's much nicer to use.

    If you do give it another go, I'd highly recommend this map instead of mine. It was posted half a day later, but theirs is interactive, zoomable, and has POIs marked. It's much nicer to use.

    2 votes
  14. Comment on xkcd: Machine in ~games

    Boojum
    Link Parent
    That was a fun one! I remember having a good time trying to reverse engineer it as quickly as possible to produce a map.

    That was a fun one! I remember having a good time trying to reverse engineer it as quickly as possible to produce a map.

    4 votes
  15. Comment on What are you reading these days? in ~books

    Boojum
    Link
    Dipping back into Anne of Green Gables yet again. The first time I ever read it was well before my 12 year old came along. But she has an extremely Anne-like personality, while her best friend is...

    Dipping back into Anne of Green Gables yet again.

    The first time I ever read it was well before my 12 year old came along. But she has an extremely Anne-like personality, while her best friend is very Diana-like. It was rather shocking to me on a re-read of Anne after my daughter got her ADHD diagnosis (and I had started learning about ADHD) when I noticed just how well L. M. Montgomery captures that personality type. I'd swear that Anne would be diagnosed if she were a real person living today.

    Chapter 13 is by far my favorite capsule portrait of it. I sometimes jokingly quote Marilla from that chapter:

    "Anne, you have talked even on for ten minutes by the clock," said Marilla. "Now, just for curiosity’s sake, see if you can hold your tongue for the same length of time."

    1 vote
  16. Comment on Best foreign films and TV shows? in ~tv

    Boojum
    Link Parent
    City of Lost Children is odd, but good. I remember thinking strongly of it when I first saw Bioshock.

    City of Lost Children is odd, but good. I remember thinking strongly of it when I first saw Bioshock.

    2 votes
  17. Comment on Best foreign films and TV shows? in ~tv

    Boojum
    Link
    For moody and dramatic, how about some of the 20th century period drama Chinese films that Gong Li starred in back in the early 90s? To Live, for example, is my favorite of her films and follows a...

    For moody and dramatic, how about some of the 20th century period drama Chinese films that Gong Li starred in back in the early 90s?

    To Live, for example, is my favorite of her films and follows a fairly ordinary family through several decades that cover both civil war and the cultural revolution. Those events lead to a lot of sadness, while the family is basically just trying to survive.

    In Raise the Red Lantern, she plays a woman who reluctantly becomes the fourth wife of a wealthy estate owner. The drama revolves around her interactions with the other three wives. Lots of "politics", as you might imagine.

    Farewell My Concubine is also quite good.

    3 votes
  18. Comment on What games have you been playing, and what's your opinion on them? in ~games

    Boojum
    Link Parent
    Do you mean beyond what FFIV offered? Honestly, I enjoyed all three of the SNES-era FF games, but FFVI is definitely the top in my opinion. But yes, I always find the parts of the story with the...

    Do you mean beyond what FFIV offered? Honestly, I enjoyed all three of the SNES-era FF games, but FFVI is definitely the top in my opinion.

    But yes, I always find the parts of the story with the Empire especially to be quite dreary. I think a huge part of that is the music. Brrr. Though the dreariness is certainly effective at making me want to defeat them.

  19. Comment on What games have you been playing, and what's your opinion on them? in ~games

    Boojum
    Link Parent
    Yes, I've definitely been juggling the weapons. I think the game tries to force that somewhat via ammo limits, at least early on. Relying exclusively on one type of weapon is a quick way to run...

    Yes, I've definitely been juggling the weapons. I think the game tries to force that somewhat via ammo limits, at least early on. Relying exclusively on one type of weapon is a quick way to run out of ammo during a protracted fight. (I just finished the ARC level last night, and whew, that was a long battle right at the end.)

    1 vote
  20. Comment on What games have you been playing, and what's your opinion on them? in ~games

    Boojum
    Link Parent
    It also helps to know that the underworld basically inverts the terrain of the overworld. Mountains map to pits, and valleys to ridges, etc. I also found it really helpful to put markers on the...

    It also helps to know that the underworld basically inverts the terrain of the overworld. Mountains map to pits, and valleys to ridges, etc. I also found it really helpful to put markers on the underworld map underneath overworld shrines when light-root hunting and vice versa. The two really do correspond in a ton of ways.