Your twitter archive

Replying to @gray_dot_bmp

uuh. which system? GNU cat will always read+write and doesn't attempt any optimisation, busybox 1.30.1 cat uses sendfile(count=16M) which doesn't reflink (but coaxing voreutils cat to use copy_file_range() did, so?)
 Mon May 02 14:00:09 +0000 2022


Replying to @gray_dot_bmp

i.e. (1), (2); this holds for a file both smaller and bigger than 16M, as well as catting two files together, where copy_file_range() seems to share all blocks which is pretty fucking magic, too me. im just wondering where you saw that behaviour?

 Mon May 02 14:10:12 +0000 2022


didn't sign up to getting bugzilla bug forwards when I posted mildly broken code to elfutils!!
 Mon May 02 14:30:57 +0000 2022


Replying to @gray_dot_bmp

oh, my testbed is bullseye @ 8.32; good to see the most common implementation entering the 21st century (given that they're c_f_r()ing, are they also splice()ing now? that's the optimisation MVP for 96%™ of cat uses, /and/ it makes useless cats free, freer still w/F_SETPIPE_SZ)
 Mon May 02 16:38:23 +0000 2022


Replying to @gray_dot_bmp

((well, where "free" is defined in terms of bandwidth; you still pay scheduler overhead of 30% (closer to 70% for default-sized pipes) at full tilt but you're not losing any speed, as measured in https://github.com/openzfs/zfs/pull/13133#issuecomment-1047148572)); thanks for checking!
 Mon May 02 16:44:56 +0000 2022


Replying to @gray_dot_bmp

hm, that's def. odd; I'd be interested in getting my hands on it, as a compat test-case, if you still have it around and can publish it :0 (if not the latter, `pv -q` is mostly-equivalent to a cat-with-splice())
 Mon May 02 17:13:57 +0000 2022


Replying to @gray_dot_bmp

hm. according to strace of curl 7.21.7-3 (uploaded 2011-09-17), compared to that of current curl, the only difference I really see is that current curl signal(SIGPIPE, SIG_IGN)s and the old one doesn't? but I haven't been able to replicate the behaviour in the comment with either
 Mon May 02 18:16:58 +0000 2022


Replying to @gray_dot_bmp

(well, and current curl waits for read(0, "", 4096) = 0 /twice/, whereas the old one terminates on the first read(0, "", 1024) = 0; if I had to guess I'd say it's probably this + write(1, "", 0) on the writer side maybe? but.)
 Mon May 02 18:20:46 +0000 2022


Replying to @greenTetra_

real NŻT diet believers are ALWAYS saying this
 Mon May 02 18:49:15 +0000 2022


Replying to @nabijaczleweli

:0 https://sourceware.org/pipermail/elfutils-devel/2022q2/005000.html
 Tue May 03 16:00:27 +0000 2022


Replying to @ddd1ms, @OwariDa and @x0rz

motherfucker i photoshopped that shit. that's my goddamn post. bleeding blue-check piece of shit. go o hell https://twitter.com/nabijaczleweli/status/1443628337436545028
 Tue May 03 20:50:11 +0000 2022


Replying to @ddd1ms, @OwariDa and @x0rz

OP: also stolen. shut the fuck up. https://twitter.com/agathe_da/status/1444043348428328962
 Tue May 03 20:51:04 +0000 2022


RT @nabijaczleweli: @ddd1ms @OwariDa @x0rz motherfucker i photoshopped that shit. that's my goddamn post. bleeding blue-check piece of shit…
 Tue May 03 20:51:10 +0000 2022


most tweeters also don't know that blue-check = open season. go o hell
 Tue May 03 20:58:33 +0000 2022


Replying to @ddd1ms, @OwariDa and @x0rz

at least the OP has the basic decency to label that shit. the vaguest amount of transformative "effort". eat chit.
 Tue May 03 21:22:21 +0000 2022


speaking of "transformative" – consider this cake :)


 Tue May 03 21:30:12 +0000 2022


Replying to @greenTetra_ and @FunnyTerro

call that shit Flight 11
 Tue May 03 22:00:38 +0000 2022


Replying to @nabijaczleweli

i might actually be one of the best to ever do it

 Thu May 05 18:04:47 +0000 2022


https://salsa.debian.org/glibc-team/glibc/-/merge_requests/6, what an incredible tale of a source+compiled versions updated simultaneously exactly once, a bug closed on the addition of a documented option in the source, an obsolete Xr removed directly from the compiled version, and /never actually regenerated/
 Thu May 05 23:21:03 +0000 2022


Replying to @nabijaczleweli

also: a /very/ bad parallel make (but one which still saturates 500 jobs across 24 CPUs well enough so): https://salsa.debian.org/glibc-team/glibc/-/merge_requests/7
 Thu May 05 23:48:47 +0000 2022


bandcamp frigay. https://nabijaczleweli.bandcamp.com/album/imperfexions
 Fri May 06 11:33:54 +0000 2022


Replying to @nabijaczleweli

it is fun to gameing. many are saying this!
 Sat May 07 14:37:05 +0000 2022


thank. s
 Sun May 08 17:05:57 +0000 2022


Replying to @nabijaczleweli

from the makers of
>It is anticipated that manufacturers will not issue the same "serial number" to more than one physical machine
>SI_HW_{PROVIDER,SERIAL} aren't guaranteed to be unique across all vendor's SVR4 implementations and could change over the lifetime of a given system
 Sun May 08 17:13:25 +0000 2022


Replying to @nabijaczleweli

big fan of gethostid([23]); not only is it "a 32-bit identifier intended to be unique among all UNIX systems in existence." but also "This is normally an Internet address for the local machine."
 Sun May 08 17:16:17 +0000 2022


Replying to @nabijaczleweli

which seemed like a good idea in 4.3BSD and stopped in 4.4BSD. because the Internet address for the local machine is 127.0.1.1 (most linux libcs). or 0 (musl). or you get it from an on-board ROM (/sun*). or the ROM of an optional plug-in card (NetBSD/amiga drbcc(4)). or 0 (/*)
 Sun May 08 17:19:33 +0000 2022


Replying to @nabijaczleweli

or the 4 most significant bytes of the MD5(!) sum of the string representation of the hostuuid. which you inherit from the bootloader, which gets it from the SMBIOS. or, if you, don't, you sleep 2 in early init and uuidgen(1) > /etc/hostid (FreeBSD)
 Sun May 08 17:22:15 +0000 2022


Replying to @nabijaczleweli

POSIX gives up and says
> This volume of POSIX.1-2017 does not define the domain in which the return value is unique.

just. love that for all of us. the worst API.
 Sun May 08 17:27:45 +0000 2022


Replying to @nabijaczleweli

Solaris (well, the illumos gate), of course, on x86, reads /etc/hostid, with a series of string kobjs, the last of which counts, which is derot-48ed, which is value (i.e. strtoull(base=0) + ~ handling)-decoded, unless it's HW_INVALID_HOSTID ((u32)-1);
 Sun May 08 17:38:05 +0000 2022


Replying to @implring

OpenZFS/Linux doesn't actually use the libc hostid mechanisms for this reason precisely and uses zgenhostid(8) to write into /etc/hostid (which, by accident, means hostid(1) and gethostid(3)/glibc return a sensible value, but they are otherwise entirely unrelated)
 Sun May 08 17:45:59 +0000 2022


Replying to @implring

OpenZFS/kFreeBSD does use the system hostid but that's derived from the uuid and actually reasonably unique. as does Solaris ZFS (which is an issue because that hostid sucks unless you're on SPARC). but even then it's only for MMP(?)
 Sun May 08 17:51:07 +0000 2022


Replying to @implring

but I'm not aware of anything else, on a normal system, using it. well, besides like srand()ing in a lot of places, pppd, and ndmp on Solaris, huntd(6) on NetBSD, hastd(8) on FreeBSD, or OpenBSM, BSNMP (FreeBSD contrib)
 Sun May 08 18:01:43 +0000 2022


Replying to @implring

thankfully, most applications that need host distinxions just generate an ID themselves (or use /e/m-id, which is just as good)
 Sun May 08 18:03:41 +0000 2022


Replying to @implring

apparently zgenhostid is new in 0.7.0; previously genhostid(1) was recommended, which is a CentOSism, and the current places that use it for other purposes manually cut/echo \xed hostid(1) output (which, !!!, what da hell)
 Sun May 08 19:13:50 +0000 2022


Replying to @nabijaczleweli

if no /etc/hostid, then the base kernel loads the misc/sysinit module, reads hw_serial, if it got updated, then unloads it; or, if SMBIOS is available and the UUID isn't known-bad it's XOR-massaged [1], otherwise it's bits 0-17,20,21 of the clock
 Sun May 08 19:37:59 +0000 2022


Replying to @nabijaczleweli

and on sun4 it's the same as NetBSD/SPARC
 Sun May 08 19:38:19 +0000 2022


Replying to @nabijaczleweli

but the insanest thing about this is that.. misc/sysinit doesn't exist. it was removed in 226889a (Sun Sep 28 19:05:31 2008 -0700), and this is the entire thing. yes, that's _bdhs34 and _hs1107 extern. those are defined in x86/boot, latter=hw_serial, former is unused
 Sun May 08 19:42:38 +0000 2022


Replying to @nabijaczleweli

(make that x86/startup)

/both are still defined/. also, AFAICT this generates a constant? the message is "Replace sysinit ELF file with simpler mechanism on X86 boxes (fix unref)", but it. just removes the module, it's all-minus
 Sun May 08 19:46:15 +0000 2022


Replying to @nabijaczleweli

all of this appeared fully-formed at OpenSolaris Launch, the module got yote in 2008, everything else is still in place for it, and every x86 boot w/o /etc/hostid still tries to load a non-existent module
 Sun May 08 19:47:34 +0000 2022


Replying to @nabijaczleweli

unrelatedly worryingly, this is from an official tribblix installer. which itself has that same /etc/hostid. there's also a /lib/svc/method/svc-hostid which is supposed to persist the generated hostid(1) into /etc/hostid.. but only if it doesn't already exist. so this is poisoned
 Sun May 08 19:53:10 +0000 2022


Replying to @nabijaczleweli

i removed /etc/hostid and rebooted. it got regenerated. it's identical. quality stuff.
 Sun May 08 19:54:42 +0000 2022


rebooted last night for new kernel. this is the real root. what the fuck
 Mon May 09 13:09:32 +0000 2022


Replying to @nabijaczleweli

i guess a more poingnant question would be "why is systemd trying to isolate (start?) http://initrd.target on the real root"
 Mon May 09 13:15:43 +0000 2022


Replying to @nabijaczleweli

+ the 18-minute pool import really isn't helping my iteration times
 Mon May 09 13:18:45 +0000 2022


Replying to @nabijaczleweli

 Mon May 09 13:28:07 +0000 2022


Replying to @nabijaczleweli

of course, this requires asking "why the fuck is http://default.target http://initrd.target", and I don't fucking know. may be able to correlate Apr 28 with something, but not before my MX comes up, which 18 minutes import
 Mon May 09 13:37:05 +0000 2022


Replying to @nabijaczleweli

predictably, yes, linking http://default.target -> http://graphical.target like default again does fix it
 Mon May 09 13:54:36 +0000 2022


Replying to @nabijaczleweli

the only vaguely relevant thing i can see is that that's when I posted a dracut PR so I would've tested dracut-install stand-alone and built initrds with it? but how could that possibly've leaked is beyond me
 Mon May 09 14:13:04 +0000 2022


Replying to @greenTetra_

dentist
 Mon May 09 14:33:50 +0000 2022


Replying to @nabijaczleweli

oh btw fun moment: solaris stores the hostid as char hw_serial[11]; which is a decimal string, right. /every single user/ does strtoul() on it (and every single writer either sprintf("%u")s or, in two cases, one of which is the now-removed misc/sysinit, hand-rolls an equivalent
 Tue May 10 18:31:51 +0000 2022


Replying to @nabijaczleweli

/but/ sysinfo(SI_HW_SERIAL) (the gethostid(3) back-end) returns a NUL-terminated string! great!

except each zone can have its own hostid. so in the /only/ optimisable path it gets sprintf("%u", strtoul())ed once more.

 Tue May 10 18:36:46 +0000 2022


Replying to @nabijaczleweli

https://github.com/illumos/illumos-gate/pull/82
 Tue May 10 18:54:09 +0000 2022


Replying to @nabijaczleweli

ah, yes, I forgot why I'd decided against posting to illumos before.
 Tue May 10 19:27:59 +0000 2022


Replying to @nabijaczleweli

holy shit it landed. rejoice https://github.com/openzfs/zfs/pull/13316#event-6584554315
 Tue May 10 19:29:00 +0000 2022


Replying to @crdudeyoutube

he's gameing?? what the hell?
 Tue May 10 23:30:41 +0000 2022


Replying to @greenTetra_

the guy in question
 Wed May 11 10:48:07 +0000 2022


1983 was a wild fucking time dude
 Wed May 11 20:28:18 +0000 2022


Replying to @nabijaczleweli

i mean, it's a shockingly competent implementation of what is essentially PGP mail but like 20 years(?) before that took off
 Wed May 11 21:20:46 +0000 2022


Replying to @nabijaczleweli

normal day in Current Year to be building k4.2BSD with the "4.2BSD driver for DEC Deuna Ethernet board" <145@green.UUCP> patch
 Wed May 11 21:45:13 +0000 2022


Replying to @nabijaczleweli

if the VAX was multiprocessor and matched my host im pretty sure you could build this kernel in like 3-6 seconds
 Wed May 11 21:48:42 +0000 2022


Replying to @AnnatarTheMaia, @alanc and @opensolaris

it's already saved to /etc/hostid by svc-hostid: https://twitter.com/nabijaczleweli/status/1523390575034077185
 Thu May 12 12:34:51 +0000 2022


>Date: Thu, 29 Mar 2007 16:11:35 -0400

> If I believe archive.‌org, the following URL should have been used
> a very long time ago:

> rarp.8 itself says it's useless since Linux "2.3",
> which EOLed over a decade ago

normal bug to post on in 2022; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=416695
 Thu May 12 13:26:09 +0000 2022


Replying to @nabijaczleweli

after reinstalling after a head crash (that's the fabled FFS stability (but it also made network work first try)), and an hour diagnosing SMTP mail (the sendmail.‌cf preset in the distribution doesn't handle net=tcp), I've managed to route mail out of 4.2BSD into the real world


 Thu May 12 16:49:41 +0000 2022


Replying to @nabijaczleweli

(well, I say head crash, I'm assuming it's actually the documented update(8) failure mode); going by the timestamps on various posts, that's likely the first time since either 2017 (http://plover.net/~agarvin/4.2bsd.html, no follow-up) or 2009 (https://gunkies.org/wiki/Installing_4.2_BSD_on_SIMH)
 Thu May 12 16:51:23 +0000 2022


Replying to @nabijaczleweli

top 10 heated gaming moments
 Fri May 13 00:58:25 +0000 2022


Replying to @nabijaczleweli

turns out -q>0 breaks -bd SMTP daemonisation(? in that it ECONNREFUSEDs 25); when run w/o -q it Just Accepts SMTP mail.. but it's just SMTP. postfix eats shit because it expects (requires?) ESMTP. love the "please post to eric if you found a fuckup :)"
 Fri May 13 13:51:43 +0000 2022


Replying to @nabijaczleweli

thats a lie, I had passed -bd -bs -q10m, the default -bd -q1h is correct and processes both queues and smtp
 Fri May 13 14:45:56 +0000 2022


Replying to @nabijaczleweli

even with smtp_always_send_ehlo = no postfix fails to deliver with
> timed out while receiving the initial server greeting
presumably because the greeting is
42b d.‌ARPA Sendmail 4.12/4.7 ready at Fri, 13 May 83 09:53:48 pdt
and doesn't start with a 220 :v
 Fri May 13 14:54:47 +0000 2022


Replying to @nabijaczleweli

my hands are shaking, I'm still getting headshots, &c., &c.
 Sat May 14 02:32:47 +0000 2022


walk toward the light/then touch the darkness within me/is this anything
 Sat May 14 13:17:21 +0000 2022


Replying to @NewBeamu and @eatijr

oh, 100%. small mushroom guy = you can bread it; so long as it's not actually toxic to eat after cooking you'll be fine, just won't get as big of a rise as a commercial yeasts
 Sat May 14 14:24:24 +0000 2022


Replying to @nabijaczleweli

they kinda went off when they came up with safety flannels ngl
 Sat May 14 15:35:25 +0000 2022


aaaaaaaaaaa https://github.com/openzfs/zfs/issues/13459#issuecomment-1126824805
 Sat May 14 23:09:54 +0000 2022


Replying to @nabijaczleweli

Automake moment: when if 0; SUBDIRS = a, both program sources and EXTRA_DIST is processed in a/; when if 0; include a/Makefile.am only program sources are processed. there's no way to force it to be otherwise.
 Sat May 14 23:11:23 +0000 2022


Replying to @nabijaczleweli

autoreconf specifically, you get that in Makefile.‌in
 Sat May 14 23:23:55 +0000 2022


Replying to @eatijr

:)
 Sat May 14 23:28:19 +0000 2022


would you consider emoticons with noses, as in :-),
 Sat May 14 23:30:53 +0000 2022


Replying to @nabijaczleweli

..of course. can't blame the guy, or anyone else for not picking it up since 2020, but
 Sun May 15 14:52:26 +0000 2022


Replying to @nabijaczleweli

https://bugs.debian.org/1011024
 Sun May 15 15:27:48 +0000 2022


Replying to @nabijaczleweli

hehe https://github.com/openzfs/zfs/pull/13447/files?file-filters[]=.sh
 Sun May 15 18:07:31 +0000 2022


Replying to @eatijr

you write data at that offset and the space after the last data segment and the new offset is a hole? am i missing something?
 Mon May 16 18:04:05 +0000 2022


Replying to @eatijr

lseek(2):
>allows the file offset to be set beyond the end of the file (but this does not change the size of the file). If data is later written at this point, subsequent reads of the data in the gap (a "hole") return null bytes ('\0') until data is actually written into the gap
 Mon May 16 18:09:02 +0000 2022


Replying to @eatijr

you're guaranteed this from at least V7 (where seek became lseek), which says:
> Seeking far beyond the end of a file, then writing, creates a gap or `hole', which occupies no physical space and reads as zeros.
 Mon May 16 18:13:10 +0000 2022


Replying to @eatijr

hm. it probably should, considering it only mentions lseek(2) in passing
 Mon May 16 18:23:20 +0000 2022


Replying to @eatijr

pre-V7 seek(II) (V1 pictured) doesn't mention this, but all the kernels with source extant (V3+) do extend the file to the offset
 Mon May 16 18:24:06 +0000 2022


Replying to @eatijr

didn't expect to find out today that PDP-11 assembly is pretty okay to write, actually, but: this also holds on V1 (via unix72) (unfortunately, od(I) does full blocks, and head(I) is a BSDism), so it's guaranteed, like, forever
 Mon May 16 19:14:38 +0000 2022


Replying to @eatijr

(forgot this also has (transcribed) source; kinda wild that even V1 has sparse files (I'm pretty sure, going by this?))
 Mon May 16 19:29:15 +0000 2022


RT @nabijaczleweli: @eatijr didn't expect to find out today that PDP-11 assembly is pretty okay to write, actually, but: this also holds on…
 Mon May 16 19:29:19 +0000 2022


Replying to @eatijr

https://lore.kernel.org/linux-man/20220516195143.kry7o63pmjyiyhpk@tarta.nabijaczleweli.xyz/T/#u
 Mon May 16 20:09:02 +0000 2022


Former @‌nabijaczleweli.‌xyz DKIM keys now published at https://mail.nabijaczleweli.xyz/
 Tue May 17 17:02:44 +0000 2022


Replying to @nabijaczleweli

ACLs are truly a gift from the gods; im literally just pointing that at /etc/dkimkeys w/g:www-data:r-x and g:www-data:r-- for the now-public keys
 Tue May 17 17:09:56 +0000 2022


Replying to @greenTetra_

hmm. that's an FPGA; im not sure what it is, im pretty sure it is /not/ a graphics card
 Tue May 17 21:34:13 +0000 2022


Replying to @greenTetra_

ADV7171KSU is a set-top video encoder. the video holes aren't directional, so I'm assuming, naively, that this takes some(?) video in, processes it in a CPU-configurable way, and shits it out w/FX added
 Tue May 17 21:46:50 +0000 2022


Replying to @greenTetra_

this is a certified computing moment
 Tue May 17 21:47:08 +0000 2022


crashing the dash 0.5.7 substitution parser. normal day. http://build.zfsonlinux.org/builders/Debian%208%20ppc64%20%28BUILD%29/builds/45832/steps/shell_2/logs/configure
 Tue May 17 23:21:35 +0000 2022


Replying to @nabijaczleweli

fix.
 Tue May 17 23:27:20 +0000 2022


Replying to @nabijaczleweli

they put the Longbow back in ground loot and I'm kinda shredding again
 Wed May 18 20:12:21 +0000 2022


Replying to @nabijaczleweli

i just need someone else to pick up a gun they can land shots with past point-blank and shoot back with me. i cant be the only one returning fire at 120m.
 Thu May 19 01:53:18 +0000 2022


heres a fun thought experiment: what licence are the non-AT&T parts of 4.2BSD under
 Thu May 19 17:01:20 +0000 2022


Replying to @nabijaczleweli

my best guess is The Berkeley software License Agreement, because 4.3BSD points at it, but you could only enter that if you paid THE REGENTS 1000$, so?
 Thu May 19 17:02:39 +0000 2022


Replying to @nabijaczleweli

in contrast to the AT&T parts which were released under 4-clause BSD by Caldera ("Dear UNIX® enthusiasts,", 2002), which is hilarious to consider
 Thu May 19 17:07:13 +0000 2022


Replying to @nabijaczleweli

waa, i just want to include 4.2BSD hostid.1 verbatim; that shit is 40 years old
 Thu May 19 17:19:11 +0000 2022


Replying to @nabijaczleweli

38, sorry; but unless THE REGENTS renewed it, it expired after 28 years?
 Thu May 19 17:21:26 +0000 2022


Replying to @nabijaczleweli

automatic HOW FUCKING LONG COPYRIGHT TERM?
 Thu May 19 17:22:20 +0000 2022


Replying to @nabijaczleweli

the american empire murders its citizens before something they scribbled as toddlers expires. love that for me.
 Thu May 19 17:26:45 +0000 2022


(a) "we thank [whales] for providing endless hours of play-testing […] we hope their significant others can forgive them"
(b) "there were some bugs of 4.2BSD [...], will crash your system if those haven't been fixed"

hunt(6), 1986. gamedev ain't changed a bit.
 Thu May 19 19:29:16 +0000 2022


on this site we, the "posters"'re always "posting". but never preing. what's up with that.
 Fri May 20 02:18:28 +0000 2022


bowling is the only case where being struck is preferable to being spared 🧐
 Fri May 20 18:24:36 +0000 2022


Replying to @nabijaczleweli

they are gameing :0
 Sat May 21 02:09:12 +0000 2022


..drip?
 Sat May 21 15:14:29 +0000 2022


im out of my three daily vetusware downloads but afaict the only way i can donate is with bitcoin and i don't wanna be doing that
 Sat May 21 20:45:22 +0000 2022


Replying to @nabijaczleweli

two solarises and six teletypes deep into writing this chunk of hostid.1. I'd gladly pay the twenty five silver american dollars to not wait another 3.2h; i would also love a m68k sunos for comparison but that straight-up doesn't exist at all i think
 Sat May 21 20:51:04 +0000 2022


Replying to @nabijaczleweli

is this gacha
 Sat May 21 20:51:09 +0000 2022


Replying to @__phantomderp

i would simply port the standard to groff -mom. that was a whole half-day of fun to use for the first time to write N2878, there's a lot more enjoyment to be had probably
 Sat May 21 21:24:43 +0000 2022


Replying to @nabijaczleweli

hm, just made the staggering discovery that the coreutils hostid(1) %08x output format is compatible with SunOS 4 (but not any previous Berkeley implementation or SysVr4)
 Sat May 21 21:47:05 +0000 2022


Replying to @nabijaczleweli

and the SysVr4 compat package libucb.a (ucblibc) gethostid(3) has a stray debug printf() in it too
 Sat May 21 22:01:30 +0000 2022


Replying to @MrDOS

a SunOS port to m86k that has a hw_serial/gethostid(), so most likely 4.2BSD-derived SunOS 1/2
 Sat May 21 22:05:11 +0000 2022


Replying to @MrDOS

:0 WinWorld has SunOS 2 tapes, cheers
 Sat May 21 22:06:18 +0000 2022


hm
 Sat May 21 22:29:14 +0000 2022


Replying to @nabijaczleweli

also very cute that all the tapes, before and after archive files, have a single 512-byte-block file that says "Copyright (c) 1985 by Sun Microsystems, Inc."
 Sat May 21 22:30:48 +0000 2022


Replying to @MrDOS

jah bless, with bitsavers sunos1 i have a complete 150-word imagus now!! thanks :0
 Sat May 21 23:50:22 +0000 2022


Replying to @MrDOS

(as you predicted: none of them include source, of course, but all of them include manuals, and thanks to the Amazing a.out layout, the format strings are just after the SCCS ID for hostid.c)
 Sat May 21 23:51:52 +0000 2022


what the hell? they poetterung my SunOS?
 Sun May 22 00:04:25 +0000 2022


Replying to @yurirando

królestwo obojga narodów type beat
 Sun May 22 21:01:00 +0000 2022


Replying to @nabijaczleweli

this is 100% part of the distribution libucb.a btw (bitsavers SysVr4 386 floppy pictured)! not just whatever fucked up my usual vetusware source dump is
 Sun May 22 22:31:52 +0000 2022


ayo what the hell grey brought home a full-size pigeon? so cool :0
 Mon May 23 15:51:30 +0000 2022


Replying to @nabijaczleweli

lmfao this dates back to the first SysVr4 Solaris (although on i386/ia64 hw_serial is supposed to be set by the bootloader from /etc/bootrc, but there doesn't .. seem to be? a property for it?)
 Mon May 23 22:16:42 +0000 2022


Replying to @nabijaczleweli

and, yes, sysinit.c is, save for some whitespace and having been split into two files at some point, literally the same file as got removed from Illumos
 Mon May 23 22:17:34 +0000 2022


Replying to @nabijaczleweli

which is equally wild to me because it literally still generates "0". it's a loadable module that appears to do magic that's /literally/ equivalent to not being there because param.c initialises hw_serial to "0" as well.
 Mon May 23 22:20:48 +0000 2022


Replying to @nabijaczleweli

this is, if you pardon my french, s = constant; if ((s = big positive constant) <= 0) /*whatever*/; if (s == different constant) /*whatever*/ else s = 0; sprintf(_hs1107, "%d", s); t[0] is unused. what's the point! just imagine having SunOS SCCS dumps
 Mon May 23 22:26:08 +0000 2022


the u.s. constitution and its amendments have been a disaster for the human race
 Tue May 24 17:51:37 +0000 2022


Replying to @NireBryce

i mean, groff colour support is ass (and similarly nonexistent in heirloom and mandoc), but like, and this is a genuine question, not a gotcha or whatever, what would you use colours for in a manual, that you can't do with 8-font mdoc (that decays to 4 fonts naturally)?
 Tue May 24 19:09:31 +0000 2022


Replying to @NireBryce

crosslinks are, like, a very good point, but the tty output devices don't really support richtext that to run stuff if you click (except Plan 9(?), but that also doesn't have mdoc so you'd be rewriting all manuals); you could do it when outputting Xr to postscript? that'd be nice
 Tue May 24 19:14:29 +0000 2022


Replying to @NireBryce

(similarly, mandoc already does that for -Thtml and has provisions for managing local links for intra-"package", let's call it, manuals vs. links to outside ones (I'm naively assuming so does groff, but groff -Thtml output is ass), and it works very well: https://srhtcdn.githack.com/~nabijaczleweli/voreutils/blob/4ff2e70c635a7cc974c0fb8e5b1116d89798997e/man1/link.1.html#SEE_ALSO)
 Tue May 24 20:35:32 +0000 2022


Replying to @NireBryce

oh, def., teletype output is not the be-all end-all at all, but hm, when I do log in from a phone and need to read a manual I don't have issues navigating my usual ^Zman whatever^Zman the-second-thing^Zfg 3 flow (but not everyone is a job control fiend I guess)
 Tue May 24 22:12:23 +0000 2022


Replying to @NireBryce

OTOH, you mentioned w3mman which seems to be pretty much perfect? It manages to correctly process all tty fonts and handles crossrefs (and file paths, if they exist on the system, but curiously not actual URLs), or I may be missing the point entirely (likely)?
 Tue May 24 22:22:24 +0000 2022


Replying to @__phantomderp

many are saying this! https://twitter.com/nabijaczleweli/status/1529158187852644354
 Tue May 24 23:38:50 +0000 2022


potential daikon moment :0

 Wed May 25 16:43:46 +0000 2022


Replying to @nabijaczleweli

(i.e. 50% this is daikon, 50% this is the other thing that i forgot what; 1.5wk)
 Wed May 25 16:44:34 +0000 2022


Replying to @NireBryce and @auramarua

hm, you got bitten by Linux having SYS_execve and 2 being before 3 in the search path; exec(3), to which all other exec* names resolve to, explains this in excruciating detail (doesn't help exec(3) is barely mentioned); posted a patch: https://lore.kernel.org/linux-man/20220525193004.ntmvrmvb4msnoscu@tarta.nabijaczleweli.xyz/T/#u
 Wed May 25 19:33:17 +0000 2022


Replying to @NireBryce and @auramarua

(now applied, in record time; the next Linux man-pages release will have a paragraph about this directing accidental execve(2) readers to exec(3). thanks for reporting)
 Wed May 25 19:37:54 +0000 2022


Replying to @NireBryce and @auramarua

disagree IMO, the etymology for Syscall 186 doesn't matter, only the interface, ex def. (plus, couldn't come up with a useful one that isn't "V7's libc symbol has an equiv. interface"); /but/ you shouldn't get the Syscall 382 manual when looking for a similarly-named symbol group
 Wed May 25 21:30:57 +0000 2022


Replying to @nabijaczleweli

yo what the hell they put communism in my apex game??
 Thu May 26 14:38:53 +0000 2022


Posix.‌COM. IBM PC 3.5-inch/720K diskette (plain file). Sun-style QIC-24 cartridge tapes. classic 1991 moment
 Thu May 26 16:23:39 +0000 2022


Replying to @nabijaczleweli

this is what brand loyalty does to a mf!!

 Fri May 27 11:46:51 +0000 2022


Replying to @nabijaczleweli

if you don't like this then you don't like gameing. simple as.
 Sat May 28 01:32:54 +0000 2022


hi. remembered gnu hurd exists. unfortunately so did glibc writers. when authoring [gs]ethostid() implementations for it.
 Sat May 28 22:24:54 +0000 2022


Replying to @nabijaczleweli

i would like to thank my team in (2) for supporting my endeavours to harass fools at midrange after getting a 350m knock by reviving me like 3 times

 Sun May 29 16:03:13 +0000 2022


just hit a eqn-breaking-tbl groff bug with inline equations. nroff only. ecstatic.
 Sun May 29 20:26:46 +0000 2022


Replying to @nabijaczleweli

mandoc is unaffected, because mandoc's response to using more than two features together is "don't. that's awful style.". oh, and it doesn't support any preprocessor or macro package in tbl
 Sun May 29 20:27:55 +0000 2022


Replying to @nabijaczleweli

sorry, "horrible". https://inbox.vuxu.org/mandoc-discuss/20220529001500.gnxuiiawdegcjwy7@tarta.nabijaczleweli.xyz/T/#m2a86d554a841828b43b197d4be8b81b4e244649f
 Sun May 29 20:28:35 +0000 2022


Replying to @nabijaczleweli

debbugs got back to me. endżoj: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012078
 Sun May 29 20:29:11 +0000 2022


Replying to @nabijaczleweli

i didnt see the comment before:
> In an attempt to make the hostid less prone to abuse (for license circumvention, etc), we store it in /etc/hostid in rot47 format.
my brother in christ how does that help. you still read it out of /etc/hostid and its 1 tr invocation to [deen]code
 Sun May 29 20:47:32 +0000 2022


Replying to @nabijaczleweli

uuh. what could /possibly/ be the reason for this mask. if it were just the bottom 24 bits then that's fine for precision limit but it has a hole in 20,21?
 Sun May 29 22:33:35 +0000 2022


Replying to @the6p4c

if i were microsoft i would simply forward-port their ULTRIX-era offering
 Mon May 30 13:58:00 +0000 2022


Replying to @the6p4c

microsoft was the biggest AT&T licensee! SunOS 4(? dont quote me on that, but it was one of them) was distributed with microsoft office! just imagine the raking they could do by returning to the market!
 Mon May 30 14:02:12 +0000 2022


lmao uClibc[-ng] gethostid(3), without an explicit /etc/hostid, always returns 0 if getaddrinfo(gethostname()) returns an IPv6 address because in AF_INET6 thats where the always-0 flow information goes

 Mon May 30 17:11:29 +0000 2022


Replying to @nabijaczleweli

conversely, glibc /only/ accepts IPv4 addresses (as a gethostbyname() default), and returns 0 if it doesn't find one, so in their own equally-byzantine ways, they end up doing the same thing
 Mon May 30 17:22:11 +0000 2022


i was gonna do a "haha preprint!" post but twitter gives me 4 images and this is 7 pages (6 full + 3 lines), so funny stats: at 24k this is 1.5x the next-largest page in voreutils, which is df.1, but that has a lot of semantics with a tiny HISTORY (because they got them right)
 Tue May 31 00:12:13 +0000 2022


Replying to @nabijaczleweli

lmao 24k is a /tenth/ of the total corpus b.v.
 Tue May 31 00:13:49 +0000 2022


Replying to @nabijaczleweli

:0 i forgot two pages side-by-each is a Normal thing to do; behold: haha preprint!



 Tue May 31 12:20:55 +0000 2022


Me deforming elastically: Haha fuck yeah!!! Yes!!

Me deforming plastically: Well this fucking sucks. What the fuck.
 Tue May 31 18:25:29 +0000 2022


Replying to @hipsterelectron

remember to like and sub 2 the list if you liked the jpegs! https://sr.ht/~nabijaczleweli/voreutils/
 Tue May 31 20:28:08 +0000 2022


Replying to @hipsterelectron

yeah i spent like 3 months straight pumping patches into it a year or two ago and its p okay now imo (with the added bonus of being self-hostable, not being a US defence contractor, and best-in-class CI & git UX (beware though: its drewware))
 Tue May 31 20:47:54 +0000 2022


Replying to @hipsterelectron

I'd say "a fully-documented & standards-conformant UNIX userland, begrudgingly compatible with the GNU system where that wouldn't be insane", but that don't roll of the tongue as well tbf
 Tue May 31 20:57:41 +0000 2022


Replying to @hipsterelectron

oh and also you can operate the bugtracker entirely by mail (including subscriptions, even if you don't have an account), similarly for git repositories/git push options (including creation); (owned and operated by drew devault)
 Tue May 31 20:57:47 +0000 2022


Replying to @hipsterelectron

(which is not an issue in general, but it comes with a Take baseline)
 Tue May 31 20:58:45 +0000 2022


Replying to @hipsterelectron

(as part of that baseline, there's really good instrumentation for patches on all posting/reviewing/management-in-a-list/&c. sides, but no GitHub-style first-class PRs; there was git note support in some manner but it was ripped out because it was unmaintained and an XSS vector)
 Tue May 31 21:07:21 +0000 2022


Replying to @hipsterelectron

sorry, I misremembered, i was thinking of annotations (unrelated to git-notes, just PUTs to add a popup to parts of rendered files); notes are untouched
 Tue May 31 21:22:06 +0000 2022