Boojum's recent activity

  1. Comment on What are some of your "life hacks" you use regularly? in ~talk

    Boojum
    Link Parent
    Like @DataWraith said, that's cross-multiplication. Very useful. And knowing that, unless one is a zero, you can freely swap pairs of numbers along the diagonals (i.e., the reflections as your...

    Like @DataWraith said, that's cross-multiplication. Very useful. And knowing that, unless one is a zero, you can freely swap pairs of numbers along the diagonals (i.e., the reflections as your call them) comes in very handy.

    Thinking of ratios like this me of another trick that I've found very useful: the "railroad track" notation for dimensional analysis. Let's say we want to convert 30 mph to m/s, but we don't know the direct conversion. Maybe we know how many feet to a meter, seconds to an hour, feet to a mile and so forth. We could write it out like this:

    30 ~~miles~~ | 5280 ~~feet~~ |            meter |     ~~hour~~   13.41 meters
    -------------+---------------+------------------+------------- = ------------
        ~~hour~~ |      ~~mile~~ | 3.28084 ~~feet~~ | 3600 seconds         second
    

    The idea is that when you see a unit on top and a unit on bottom, they cancel and you can cross them both off. In this case, we start with our 30mph, and then tack on individual conversions until everything cancels but meters on top and seconds on bottom. Knowing that we need to cancel tells us which units in a ratio need to go on top, and which ones need to go on the bottom. (I.e., do we need to multiply by 5280 feet/mile, or 1/5280 miles/foot? It's the former, because we want to cancel the miles in the 30 mph.) Multiply everything on top and divide that by everything on the bottom and you've got your result.

    Besides unit conversion, it's also useful for checking that you get the right kinds of units out of other formulas. Let's say we want to know velocity after 5 seconds of free-fall at the usual gravitational acceleration on Earth of 9.8 m/s^2:

      9.8 meters | 5 ~~seconds~~   49 meters
    -------------+-------------- = ---------
    second~~^2~~ |                    second
    

    Here, the seconds on top cancels one of the seconds on the bottom (the square), leaving us with m/s, which is the correct unit for velocity. So the units check, and we can be reasonably sure our math is consistent.

  2. Comment on Steam Replay 2025 in ~games

    Boojum
    Link Parent
    That's funny. At work, my team has a shared "totallynot***" account on Steam, where *** is our company name. (We don't make games, but we do work closely with those who do.)

    That's funny. At work, my team has a shared "totallynot***" account on Steam, where *** is our company name.

    (We don't make games, but we do work closely with those who do.)

    2 votes
  3. Comment on Advice request: potentially adopting a cat in ~life.pets

    Boojum
    Link Parent
    At my house, we use crystal cat litter and it works fairly well. I think there's always going to some tracking, but we just vacuum or sweep up around the litter boxes when needed. I'd also suggest...

    At my house, we use crystal cat litter and it works fairly well. I think there's always going to some tracking, but we just vacuum or sweep up around the litter boxes when needed. I'd also suggest buying a box of litter box liners. Even with daily scooping, you'll want to change the litter regularly and it's a lot easier to do that when you can just lift it all out by the liner and toss it.

    1 vote
  4. Comment on CGA-2025-12 đŸ´â€â˜ ī¸đŸī¸đŸŒ INSERT CARTRIDGE đŸŸĸ The Secret of Monkey Island in ~games

    Boojum
    Link Parent
    If it helps, part of its design was famously done as a counterpoint to the King's Quest games.

    If it helps, part of its design was famously done as a counterpoint to the King's Quest games.

    2 votes
  5. Comment on Mystery Science Theater 3000 S11E01: Reptilicus in ~tv

    Boojum
    Link
    Oh neat! I had no idea they were uploading full episodes to YouTube for free viewing.

    Oh neat! I had no idea they were uploading full episodes to YouTube for free viewing.

    3 votes
  6. Comment on Best recommendations for PC couch multiplayer games? in ~games

    Boojum
    Link Parent
    While playing with my 9.5yo this past week, I found many of the cut-scenes pretty cringey myself. (Amusingly, at one point it led to him asking when my spouse and I were going to get a divorce....

    While playing with my 9.5yo this past week, I found many of the cut-scenes pretty cringey myself. (Amusingly, at one point it led to him asking when my spouse and I were going to get a divorce. Um, probably never, kiddo.) For his part, I think he kind of finds them boring - he's started taking the longer cut-scenes as an excuse to go get a cookie, or brush his teeth, or use the bathroom when we're playing together just before his bed time.

    2 votes
  7. Comment on The death of punctuation in ~humanities.languages

    Boojum
    Link Parent
    I'll sometimes include a TL;DR or BLUF at the top for this reason. Then the details and context are still there if they want to read them.

    I'll sometimes include a TL;DR or BLUF at the top for this reason. Then the details and context are still there if they want to read them.

    1 vote
  8. Comment on The death of punctuation in ~humanities.languages

    Boojum
    Link Parent
    I like to think of it as a form of batching. (Weirdly, I can't help but envision the extra bytes of overhead and metadata sitting in a database somewhere when I send things in multiple messages.)...

    I like to think of it as a form of batching. (Weirdly, I can't help but envision the extra bytes of overhead and metadata sitting in a database somewhere when I send things in multiple messages.) I'm also a fan of the "no hello" and "don't be spooky" policies. I also work on an international team, so a lot of communication tends to be asynchronous anyway.

    The one downside I see is that if the other party already knows most of the context, then they may be able to confirm this right away and save you from writing out a lot of extra context for their benefit. But then again, I find that redundancy can also help to stave off misunderstandings and make sure you're truly on the same page.

    3 votes
  9. Comment on The death of punctuation in ~humanities.languages

    Boojum
    Link
    Capitalization, punctuation, and two spaces after every sentence: always! (Even in texts, chats, and gaming.) I like to think that if I'm ever under duress or impersonated, my family will know it...

    Capitalization, punctuation, and two spaces after every sentence: always! (Even in texts, chats, and gaming.) I like to think that if I'm ever under duress or impersonated, my family will know it by the lack of periods at the end of my text messages. I proudly wear the "Oxford Comma Preservation Society" joke t-shirt that my spouse got me last Christmas, I prefer logical quotations, and I know when to use "i.e.," vs. "e.g.," (with commas!), "less" vs. "fewer" (hello Stannis!), and "who" vs. "whom".

    I may be showing my age as a Xennial engineer here, but I refuse to bow before the forces of entropy! (It's also quite possible that I may have some undiagnosed ADHD or autistic tendencies.) Moreover, I've been writing this way long enough that it's easier for my to just capitalize and punctuate everything consistently than it is for me to switch it off in less formal context, though the wording may more colloquial. If all that means that my writing may be mistaken for LLM output, then so be it.

    Part of it is that I write as much for myself as others. First, writing helps me to organize my thoughts. I find that understanding something systematically and writing about it in a structured are closely interrelated. I may start more with one or the other, but the outcome of one tends to lead to the other. Second, I'm often forgetful, so detailed emails that I write for others do double-duty as notes for myself. The same goes for detailed commit messages, code comments, work-internal chat messages and wiki pages, text messages, posts, and so forth.

    2 votes
  10. Comment on Best recommendations for PC couch multiplayer games? in ~games

    Boojum
    Link Parent
    Playing through that this week with my 9.5yo! (Portal 2 is great too, but we've already solved all the co-op puzzles multiple times.)

    Playing through that this week with my 9.5yo!

    (Portal 2 is great too, but we've already solved all the co-op puzzles multiple times.)

    2 votes
  11. Comment on How has AI positively impacted your life? in ~tech

    Boojum
    Link
    I've used it for checking the clarity of my writing (e.g., for a technical paper submission). I'll feed it drafts of what I've written and then quiz it with some comprehension-checking questions....
    • I've used it for checking the clarity of my writing (e.g., for a technical paper submission). I'll feed it drafts of what I've written and then quiz it with some comprehension-checking questions. Where it fails, I'll go back and update those points in my draft. I use its artificial stupidity as a proxy for an inattentive reader a peer reviewer.

    • I've also found it surprisingly good at serving as an editor and answering grammar questions. Should I add or remove a comma here? Which punctuation is best there? Which tense of this word fits here? Which of these possible phrasings best captures the nuance that I want?

    • It's good for dredging up half-remembered terminology when I'm having a brain-fart. Or cases where I'm sure there must be a term for something, but I'm not quite sure what the accepted term is. I'll describe the thing, get the term, and then use that as a starting point to go do research and verify it. If I'm dancing around a concept, it can usually give me the concept.

    • I'll use it for coding up quick throw-away scripts.

    • I have also had some success rubber-ducking architectural ideas for a larger project I've been thinking about (writing a video game).

    In general, I prefer to do all the real work myself and write things in my own voice, or in my own coding style. But I'll take its feedback under advisement. And occasionally it will surprise me and pop out with a really nice alternative suggestion that works way better than anything I'd been thinking - the perfect phrase, or an elegant little bit of code that's cleaner than what I was trying.

    6 votes
  12. Comment on New research shows attention lapses due to sleep deprivation coincide with a flushing of fluid from the brain in ~science

    Boojum
    Link
    If true, it seems like the brain is going to flush CSF one way or another - ideally during sleep, but while waking if it must.

    If true, it seems like the brain is going to flush CSF one way or another - ideally during sleep, but while waking if it must.

    18 votes
  13. Comment on CGA-2025-10 đŸ•šī¸â° đŸ—ēī¸ 🐸 REMOVE CARTRIDGE âī¸ Chrono Trigger in ~games

    Boojum
    Link Parent
    SNES version bsnes core on (Steam) RetroArch Steam Deck docked to TV NTSC CRT video filter
    • SNES version
    • bsnes core on (Steam) RetroArch
    • Steam Deck docked to TV
    • NTSC CRT video filter
  14. Comment on CGA-2025-10 đŸ•šī¸â° đŸ—ēī¸ 🐸 REMOVE CARTRIDGE âī¸ Chrono Trigger in ~games

    Boojum
    Link Parent
    I've noticed before how vivid my memory is for the specific games that I was playing right before one of my children were born. It's an odd effect.

    I've noticed before how vivid my memory is for the specific games that I was playing right before one of my children were born. It's an odd effect.

    4 votes
  15. Comment on CGA-2025-10 đŸ•šī¸â° đŸ—ēī¸ 🐸 REMOVE CARTRIDGE âī¸ Chrono Trigger in ~games

    Boojum
    Link Parent
    If memory serves, there's still a use for the lower tier numbered spells in the old SNES-era Final Fantasies, at least for heals. The smallest heal is the most MP efficient for the amount healed....

    If memory serves, there's still a use for the lower tier numbered spells in the old SNES-era Final Fantasies, at least for heals. The smallest heal is the most MP efficient for the amount healed. So you can use a massive heal in a pinch, or for turn efficiency, but it's going to cost more MP overall.

    3 votes
  16. Comment on Scripts I wrote that I use all the time in ~comp

    Boojum
    (edited )
    Link
    I'm definitely going to have steal some of these. (Both from the article, from this thread, and from the HN thread.) Anyway, in the spirit of sharing here are some Zsh aliases and functions of my...

    I'm definitely going to have steal some of these. (Both from the article, from this thread, and from the HN thread.)

    Anyway, in the spirit of sharing here are some Zsh aliases and functions of my own:

    alias rshare="chmod -R go=u-w"
    alias runshare="chmod -R go="
    alias runexec="chmod -R a-x+X"
    

    rshare recurses through a directory tree and for each file or directory copies my user permissions, minus write access, to group and other. I usually run locked down with umask 077, so rshare makes things accessible to others. runshare revokes those perms. runexec is useful for cleaning up directory trees copied from Windows filesystems where the executable bit comes set on everything.

    function go() { local i; for i ($@); do xdg-open $i; done }
    

    I use this one constantly. It opens up a file or list of files with whatever desktop program is assigned to them. Or for directories, it shows me the contents in the desktop file browser, etc. (Regarding the name, I was using a version of this alias long before Golang existed, damnit!)

    alias ec="emacsclient -n"
    function cde() { local d=`emacsclient -e "(buffer-local-value 'default-directory (window-buffer))"`; cd ${~d:1:-1} }
    

    Quick edits in Emacs via the client. I have Emacs set to launch the server on startup, and ec just tells that instance to open whatever files I give it and then immediately returns. It's useful when I'm just cding around in the terminal and want to pop a file into my Emacs window. cde kind of goes the opposite direction and tries to cd me into the directory holding the active buffer's file.

    alias opng="oxipng -o max -Z -v -v"
    alias toimg="pygmentize -Ofont_size=16,line_number_chars=3,font_name=Cascadia\ Mono,style=borland -o"
    function pdf2png() { gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r600 -dEPSCrop -dUseCropBox -dFirstPage=1 -dLastPage=1 -sOutputFile=$2 $1 }
    

    Some image utilities: opng crunches down PNG files as much as possible, toimg renders stdin or a text/source file to a syntax highlighted image, pdf2png renders the pages of a PDF to images.

    alias pdiff="git --no-pager diff --no-index --patience --color=auto -U15"
    function attach() { gdb --pid `ps -o pid= -C $@` ;}
    function alarm() { perl -e 'alarm shift; exec @ARGV' "$@" ;}
    function countdn() { local c; for c in {$1..1}; do echo -ne "  $c... \\r"; sleep 1; done }
    function vbreak() { eval `resize`; echo "\033[1;95m\n"; for r in {1..3}; do for c in {1..$COLUMNS}; do echo -n \#; done; done; date; echo "\n" }
    function echob() { echo "\033[1;31m$@\033[m" }
    

    And finally a grab bag: pdiff uses Git's patience diff on two arbitrary files (which may be outside of repos), attach tries to attach the GDB debugger to a running process by name so I don't have to look up the PID, alarm takes a time in seconds and a command to run and kills the command after the time is up, countdn takes a time in seconds and gives me a little count down (useful when I want to delay or stagger the start times of some commands to run unattended), vbreak shows a honking big bold magenta divider bar with timestamp that I can't miss in the scrollback buffer, and echob just echoes some text in bold red.

    4 votes
  17. Comment on Scripts I wrote that I use all the time in ~comp

    Boojum
    Link Parent
    For things like your lsc, I prefer to just alias ls to itself along with some others where I pretty much never want the vanilla defaults. alias ls="ls --color=auto" alias grep="grep --color=auto"...

    For things like your lsc, I prefer to just alias ls to itself along with some others where I pretty much never want the vanilla defaults.

    alias ls="ls --color=auto"
    alias grep="grep --color=auto"
    alias fgrep="fgrep --color=auto"
    alias egrep="egrep --color=auto"
    alias less="less -i"
    alias du="du -hc"
    alias ps="ps -Heo pid,pcpu,user,rss:7,args"
    alias strings="strings -a"
    alias hexdump="hexdump -C"
    

    For the very rare occasions where I actually do want the default behavior, prefixing the command with backslash disables alias expansion. E.g., \ls. This way, I give my common case the shorter name, and the uncommon case the longer name.

    6 votes
  18. Comment on What code editor / IDE do you use (2025)? in ~comp

    Boojum
    Link Parent
    Compared to many things, I'd call it pretty lightweight with the right setup. I know that some people complain about multi-second startup times or longer, but that's usually due to their config....

    Compared to many things, I'd call it pretty lightweight with the right setup.

    I know that some people complain about multi-second startup times or longer, but that's usually due to their config.

    In a quick test of spinning up new instances on my machine in graphical vs. terminal mode (emacs -nw) and with my config vs. pure vanilla (emacs -Q), the startup times (M-x emacs-init-time) with a warm disk cache and the initial resident memory usage from the best of eight runs each are:

    Mode Config Startup time RSS
    Graphical Mine 0.292 s 83 MiB
    Graphical Vanilla 0.182 s 70 MiB
    Terminal Mine 0.107 s 70 MiB
    Terminal Vanilla 0.001 s 58 MiB

    And of course, it's nearly instantaneous if you're just attaching to an already existing instance running a server (emacsclient).

    For a fun comparison, going to my W11 work laptop and starting up Notepad, the task manager reports 40MB of memory used. So we're talking approximately two Notepad instances worth of memory for Emacs here.

    3 votes
  19. Comment on What code editor / IDE do you use (2025)? in ~comp

    Boojum
    Link Parent
    I dunno; I think it checks off a number of the mentioned asks: [X] Open-source (FSF GNU!) [X] Relatively clean / light weight (not Electron, can run in terminal) [X] Capable of providing a project...

    I dunno; I think it checks off a number of the mentioned asks:

    • [X] Open-source (FSF GNU!)
    • [X] Relatively clean / light weight (not Electron, can run in terminal)
    • [X] Capable of providing a project overview (Speedbar built in, other packages for in-frame)
    • [X] Tabbed or vsplit / hsplit buffers (Splits have been around forever, tabs are fairly new)
    • [X] Comprehensive syntax highlighting
    • [X] Some form of language server interface (Eglot built in, or lsp-mode)
    • [X] Something theme-able (definitely, some configs look very different)
    • [~] Good to look at (opinions may vary, depends on config)
    • [~] Relatively intuitive or well-established keyboard shortcuts (arguable intuitiveness)

    That said, I've been using it for decades now and it's my "forever editor" at this point, so I'll freely admit that I'm somewhat biased. :-)

    There was mention of not suggesting VIM since it's overwhelming. But at least for Emacs, I got started running it way-back-when with no config. Vanilla Emacs gives you a menubar to explore and a simple toolbar with buttons for loading and saving files, cut/copy/paste, and search. You can navigate with all the cursor keys as expected or point-and-click with the mouse and start typing right away. Basically, when I started I was able to treat Emacs pretty much like a fancy Notepad until I gradually started to internalize the keybinds, learn the deeper functionality (there's an ocean in there), and start heavily customizing it.

    8 votes
  20. Comment on Help choosing a new linux computer? in ~tech

    Boojum
    Link Parent
    Another Fedora user here - to soften your warning to @MimicSquid about it, I'll just add that the RPM Fusion futzing is a one-time pain point. I set it up when installing Fedora and bringing up my...

    Another Fedora user here - to soften your warning to @MimicSquid about it, I'll just add that the RPM Fusion futzing is a one-time pain point. I set it up when installing Fedora and bringing up my new system almost two years ago, and haven't really had to think about it since, even through several distro upgrades (Fedora 39 to Fedora 42). I'm running Fedora KDE and it's been quite solid.

    2 votes