#WritingMonth check-in.

How is everyone doing?

I wrote a short prologue for my novel tonight. I have had this scene involving soda in my mind for a long time. After a bit of research, I found I can legally refer to Mountain Dew in the context of this vignette.

@amin @bbbhltz @rl_dane @adhemara @orbitalmartian @roguefoam

@nantucketlit @amin @bbbhltz @rl_dane @adhemara @roguefoam I've written a grand total of 71 words of my 10,000 word goal.

I need to sit down and write some more.

@orbitalmartian @amin @bbbhltz @rl_dane @adhemara @roguefoam What's your novel about, if you don't mind sharing?
@nantucketlit @amin @bbbhltz @rl_dane @adhemara @roguefoam To be completely honest, I don't even know. The start that I've got is inspired by Star Trek.
@nantucketlit @amin @bbbhltz @rl_dane @adhemara @roguefoam Well, I did a bit of writing tonight. Not much but getting there. A whole 14 words, taking my total to 85 words/10,000 word goal.

@rl_dane @nantucketlit @amin @bbbhltz @adhemara @roguefoam Any progress is good progress, I really need to sit down and spend some time writing.

Maybe I need to add a WritingMonth mode to my text editor (which is funnily enough what's been taking my attention from writing).

@orbitalmartian @nantucketlit @amin @bbbhltz @adhemara @roguefoam

Which editor, and what would the mode do? :)

apollo

Apollo is a simple text editor.

Codeberg.org
@amin @rl_dane @orbitalmartian @bbbhltz @adhemara @roguefoam So, once the repo is cloned, how does one use Apollo? I assume that 'make' is used at some point.

@nantucketlit @rl_dane @orbitalmartian @bbbhltz @adhemara @roguefoam

Haven't tried it yet but I assume it's just running "python main.py" at this point, or something like that. There may be dependencies needed, I dunno.

A good long term goal for Orbital may be to use something like hatch to manage dependencies, building the package, etc. I've been moving most of my Python projects to it, including a bunch of Clew's stuff, and plan to move Writing Month to use it.

Hatch - Hatch

Modern, extensible Python project management

@amin @nantucketlit @rl_dane @bbbhltz @adhemara @roguefoam I have no idea about actually packaging it. Currently, the way to use is python main.py. I need to commit a quick change because I forgot that I changed a filename so it's trying to pull an old one through.

@orbitalmartian @amin @nantucketlit @rl_dane @bbbhltz @adhemara @roguefoam
if you don't like that you have to manually call it with python, you could add a #! on the first line like

$ ./apollo
Hallo
$ cat apollo
#!/bin/env python

print("Hallo")

@kabel42 @orbitalmartian @nantucketlit @rl_dane @bbbhltz @adhemara @roguefoam

I think I've seen /usr/bin/env more often than /bin/env but they both appear to work on my system.

@amin @bbbhltz @nantucketlit @rl_dane @kabel42 @orbitalmartian @roguefoam that’s because you got Poettering’d; env is canonically in /usr/bin and you must use that pathname if you use it for pth searches in shebangs and the likes
@orbitalmartian @roguefoam @rl_dane @kabel42 @amin @nantucketlit @bbbhltz using #!/bin/env python3 is actually worse than #!/usr/bin/python3 as the latter works on more systems. (#!/usr/bin/env python3 is preferrable, of course.)
@mirabilos @orbitalmartian @roguefoam @rl_dane @amin @nantucketlit @bbbhltz
i claim typo, i wanted to write /usr/bin/env and then got distracted...
but yeah, on arch /bin is a symlink to /usr/bin because the static binaries are in the initrd
@orbitalmartian @roguefoam @rl_dane @amin @nantucketlit @kabel42 @bbbhltz no, because Poettering does not know where to put binaries
Arch Linux - News: Binaries move to /usr/bin requiring update intervention

@mirabilos @bbbhltz @nantucketlit @kabel42 @amin @orbitalmartian @roguefoam

I know /sbin was typically for statically-compiled binaries (although this is not always the case anymore, even on OpenBSD, IIRC) vs /bin, and of course /usr/local/bin is for Ports on BSD or user-installed packages on Linux (lol sigh), but what was the distinction between /bin and /usr/bin?

man hier on Debian says that /bin is for binaries needed for single-user mode, although debian now just symlinks /bin to /usr/bin XD

@rl_dane @bbbhltz @nantucketlit @kabel42 @amin @orbitalmartian @roguefoam

I know /sbin was typically for statically-compiled binaries vs /bin

No.

@mirabilos @rl_dane @bbbhltz @nantucketlit @kabel42 @amin @orbitalmartian @roguefoam Yeah, if that one was true, it would be how the separation is done on Solaris (Sun introduced dynamic-linking), except it's not.

/sbin seems more executables meant for super-user (see PATH differences) but that distinction is getting quite lost over time due to reducing the amount of root-centric programs and file capabilities.

@lanodan

Ok, I guess my original assumption from years ago was actually right, then. 😁

@bbbhltz @nantucketlit @amin @kabel42 @orbitalmartian @roguefoam @mirabilos

@rl_dane @lanodan @bbbhltz @nantucketlit @amin @kabel42 @orbitalmartian @roguefoam it’s essentially:

/ vs /usr is that the former contains things to bring up the system up until /usr can be mounted and/or for rescue cases (some systems link /bin and /sbin statically because the dynamic things are in /usr/lib). Specifics differ between systems, of course.

bin vs. sbin is that the latter contains programs that are of utility mostly for the superuser and therefore not on a (nōn-
poweruser) $PATH. Examples include:

  • dƦmons (like sendmail)
  • things like /usr/sbin/rdate whose normal operation is to change the system configuration (set the time using NTP or the old RFC868 protocol), even if they can be used to just print the remote time and difference because that’s a fringe case (add it to the $PATH or call it as /usr/sbin/rdate -nvpdd3 ntp.example.org if you need this)
  • things to set up hardware, partitioning, filesystems, etc. again even if things like fdisk and newfs can be used by nōn-root users to set up things on filesystem image files

@mirabilos @rl_dane @lanodan @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam

Yes, but on some Linux distros tools in sbin have gotten features that might be interesting to users without moving to bin, so sbin landet in users $PATH.
Also, all the tools you need to get the system up are now in the initrd and usr ist often the same partition as /. Again on some Linux distros.

@kabel42 @rl_dane @lanodan @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam it’s also in my path on my BSD systems, but then I’m a power user.

What ā€œsome Linux distrosā€ do is mostly Poettering propaganda for not knowing a useful distinction. I thank you to not repeat such propaganda to me; I assure you I’ve heard it all.

@kabel42 @rl_dane @lanodan @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam (and, especially if it’s a new tool, only laziness hinders people from separating admin and user tasks into separate utilities)
@mirabilos @rl_dane @lanodan @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam
i would assume that most arch installs have one user that is more on the poweruser side :)

@kabel42 @rl_dane @lanodan @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam agreed ;)

In the BSDs (don’t know about the FreeBSD side), you can have user classes, so the default PATH can vary whether one’s staff or not, for example.

@kabel42 @mirabilos @rl_dane @bbbhltz @nantucketlit @amin @orbitalmartian @roguefoam At the same time on Linux you can do whatever the heck you want when it comes to this, so it's kind of irrelevant, the relevant one is stuff like FHS so you can try to have common definitions of how to lay things out.

See Android if you want a (non-Unix) Linux absolutely ignore FHS.
@lanodan @bbbhltz @nantucketlit @amin @kabel42 @orbitalmartian @rl_dane @roguefoam ā€œtheyā€ already declared the FHS irrelevant, probably because it ⓐ didn’t get a new release within the last three months or so and ā“‘ doesn’t include their desired changes yet.
@lanodan @bbbhltz @nantucketlit @amin @kabel42 @orbitalmartian @rl_dane @roguefoam and yes, it’s a ā€œyetā€, they already co-opted further FHS development.

@mirabilos @bbbhltz @nantucketlit @amin @kabel42 @orbitalmartian @rl_dane @roguefoam FHS to me will continue to stay relevant, at least when it comes to writing userspace programs and buildsystems, the peculiarities of each systems don't matter that much.

So you could have all system executables in say /usr/bin for half the distros that FHS would still be relevant.

Although of course there's always low-quality software which will be non-portable due to things like hardcoded paths but that's their problem.

@rl_dane @bbbhltz @nantucketlit @kabel42 @amin @orbitalmartian @roguefoam

/usr/local/bin is for Ports on BSD or user-installed packages on Linux

This is a bit of a bad decision on the OpenBSD side, but they almost certainly didn’t know it back then and /usr/local/include being on the default include path helped them back then.

/usr/local is for stuff the local admin puts there. Packages should use something else (e.g. /usr/pkg in pkgsrcĀ®, /usr/mpkg in MirPorts).

@rl_dane @mirabilos @bbbhltz @nantucketlit @kabel42 @orbitalmartian @roguefoam

I assumed based on observed usage that sbin was system-level utilities only admins are expected to use.

@amin @rl_dane @mirabilos @bbbhltz @kabel42 @orbitalmartian @roguefoam For dark mode on Apollo: I found that I could get it to work in Debian if I used the Tweaks app. I could go the Appearances tab, select Legacy Applications, and set it to Adwaita-dark.

@nantucketlit Yes, that's something that I've noticed too, I need to look into it. Try to get it to sync with the light/dark mode of the normal system.

@amin @rl_dane @mirabilos @bbbhltz @kabel42 @roguefoam

@mirabilos @orbitalmartian @roguefoam @amin @nantucketlit @kabel42 @bbbhltz

Counting down the days before he starts insisting we call it systemd/Linux.

Who the heck voted for this guy?!? XD