Stuffed full of excellent links, as I like it! Granted several are to cssreference.io or developer.mozilla.org (I like those references), but still! As I said this morning, this reminds me of why I love hypertext as a medium.
After tomorrow I'll start (GPU) rendering as "Mondrian"...
I'm being reminded of why I like hypertext as a medium! No pressure to include all the context I'm referencing within the document I'm writing, I can always link to others who've written about it better!
New blogpost should be coming out tonight, with sight enhancements.
... validates the user's presence, checks privs with PAM if supported, validates we're root or changing our own password, given -S exits outputting our entry, either calls PAM routines or having re-authenticated the user prompts them for their password twice validating against LibCrack, cleans up flushing caches, & reports results.
After initializing i18n su initializes LibShadow to save info from our password entry, opens logging, parses commandline flags & remaining args, ...
... resets envvars, checks privs with PAM if supported, looks up our password entry for more privs checking & reauthorization, fills in fallback values, logs this action, configures new credentials with or without PAM, writes to audit log, reconfigures envvars again, reconfigure shell, cleans up, & runs the shell command.
6.5/6.5 Fin for today! I should definitely be able to finish tomorrow!
Personally I think this tech can be useful but on balance is actively more harmful. And not in a "singularity" way. I try to boost the more balanced takes, which Bjarnason is great for!
New strategy for finding links for my blogposts: Consult Wikipedia!
I also consult SearchMySite.Net, DuckDuckGo, & (where I recall good blogposts) my feedreader. Also sometimes it's appropriate to link to official sites.
For any new followers since I last mentioned this: I am an amateur browserengine dev, currently with NLnet funding! Currently focusing on building a great TV experience "Haphaestus".
I strive to show the potential of a simpler JavaScript-free web to work on any conceivable device! Without sacrificing support for a myriad of written languages, or accessibility measures! Written in reusable Haskell.
And yes, I threw in Gemini support since that was trivial.
Should only be a couple days left in studying Shadow's commandline tooling...
After initializing LibShadow, internationalization, logging, & exit handlers whilst parsing a few commandline flags (handling -R & -P specially) validating that 1 arg remain groupdel may (if ACCT_TOOLS_SETUID & USE_PAM are setattempts to authenticate via PAM logging any errors. If theSHADOWGRP` buildflag is set it validates that file's presence. It looks up the group ID for given arg reporting errors.
After initializing logging, internationalization, LibShadow, & std I/O buffering whilst sanitizing envvars gpasswd checks shadow-group file's presence if it's buildflag's set, looks up your password entry, registers exit handler, parses/validates commandline flags ensuring single arg remains, duplicates the entry, checks privs, mutates the group depending on flags (disabling passwords via magic strings), configures signal handlers, prompts for password validating you can retype it, ...
... hashes & sets that password zeroing out it's RAM for security, switches to root reporting any errors including to syslog, initializes password database, opens relevant files, overwrites the group files, & cleans up flushing caches whilst logging successes & failures.
7.5/7.5 Fin for today! Now it looks like what's left can be finished tomorrow! Few, lots of these!
It's been calculated that individual climate action can sum to 25-27% of the needed carbon reductions. Sure this is nowhere near enough, but it is significant!
So I'd please like to stop seeing posts which implies that individual vs collective action is an either/or. We need both!
@alcinnz One of the main issues is that taking decisions is difficult. Getting onto the electric car bandwagon for instance is not a one size fits all. Someone who drives less than 8k per year will only yield positive net carbon results after 3-4 years compared to a new petrol car, according to green peace.
Similarly, we usually focus on the "use" part of the "Make - ship - use - discard" life cycle of a product, and that's not where the majority of the co2 prod is made.
@dimi@alcinnz I have owned an Tesla Model 3 since August 2018. I purchased a home charger shortly after. I only use public chargers for drives 3+ hours from home. So far repairs and maintenance have been under $1,000 (tires, and a pair of struts). I grew up in rural Pennsylvania. I would definitely own one if I lived there now. I think if you consider the benefits of home charging the range anxiety fades.
After initializing LibShadow, internationalization, & auditting lastlog parses/validates commandline flags ensuring no args remain, opens /var/log/lastlog retrieving its filesize, either updates or prints to it, & closes it. Updating involves between validation & flushing querying password entries to update. For each relevant entry it seeks to that offset in the lastlog & writes a binary structure with audit logging. Printing gathers more info.
... opens password & shadow files under lock, drops privileges, finds password & shadow (& possibly TCB) entry for given account, considers outputting expiration times if requested & permitted, prompts for new values if not given in flags, audit logs which fields will change, updates the shadow password entry, cleans up & syslogs.
newusers checks privs & that the shadow files are present, opens all the accounts files, repeatedly reads lines from stdin, reports any errors, cleans up, & copies info over to PAM if supported. For each stdin line once validated newusers splits it into 7 fields, locates the password entry, validates a bit more, writes out the parsed group then user if valid, locates the password entry, generates & writes the hashed password, outputs password entry, & outputs/allocates subordinate IDs.