Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

mystes posted:

A lot of chromebooks don't have battery backup for the RTCs so it can be hard to stay in the right decade

every time the battery dies, disco's back baby

Adbot
ADBOT LOVES YOU

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

eschaton posted:

unless you’re also using controller-implemented (“hardware”) raid

that kinda reminds me, does an implementation found in uefi count as hardware or software raid?

i know the option is there in some machines because they use separate controllers, but i guess intel also has some weirdo implementation that even shows up on one of my laptops (though being from aliexpress it does apparently have a "debug" bios with a lot of different options that just don't work on the machine). it's not like i could really use it anyway since there's only one msata slot (not even nvme/m.2), i'm just curious if that kind of thing uses a separate controller

i know that a lot of them are just hardware integrated into the mobo, e.g. the one on my desktop mobo since it requires drivers, but it's not made by intel (some gigabyte braded GRAID thing that is afaict a rebranded jmicron deal)

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Antigravitas posted:

Someone would probably get volunteered if that thing had any users. But an fs without users is a great candidate for killing, because nobody will notice it gone.

In other news, I had the misfortune of using iscsiadm. I had somehow avoided dealing with it until now.

I am not a fan. The CLI is loving garbage. Even with a conceptual model of how iscsi works in my head it's confusing to use. The manpage is not much better.

i don't really understand how iscsi works at all, but i'd like to since even windows supports it

and so does my consumer-grade router, lol, and i'd like to disconnect the external nvme ssd i have it using atm since that regularly gets third-degree burn hot despite having a thermal pad and heatsink in the enclosure

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Truga posted:

on a desktop pc, it's certainly a software raid unless you separately bought an expensive raid controller. there's a "raid controller" on the motherboard that can handle your drives, but it uses the cpu to crunch poo poo, there's no dedicated hardware for it

usually, you'll know immediately when hardware raid is present because you get another screen after boot with probably another hotkey to enter it and a very dumb UI that puts 1980s BIOSes to shame

honestly between server cpu cores costing fuckall, and hardware raid being just as if not more flaky but much harder to debug than software raid, i avoid it. the only added value of expensive controllers these days is battery backed buffers, but outside hpc, big write buffers are kinda obsolete with the speeds u.2 ssds get these days

that all makes sense. so what's the deal with the GRAID thing i have on my gigabyte mobo? i know what you're talking about re: addon cards having separate loading screens, they've done that forever — but if i enable that option, it does have something similar. it comes after the uefi environment loads though, so maybe it uses some program to load the firmware from the chip or something? idk

like i said i think it's some rebranded jmicron thing, but since it's in storage i can't tell you what specific model

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Athas posted:

I never understood that response.

he's calling him a huge nerd

sb hermit posted:

that description of the sparc linux optimization under Linux is really fascinating, to be honest

it is, and it's well written, it's just an extremely nerdy thing to be interested in

:thejoke:

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
like, if they were in college then yeah maybe 20s, maybe late teens. you don't remember trolling message boards or usenet (depending on your age group) at that age? i sure as poo poo do lol

an appropriate response would have been like, "why, do you want to know what it's like?" or something idk. shame if it just dropped, that's not what usenet was for

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

but now with a ton of baggage, linux is still faster, yeah?

than sunOS? considering the hardware that supports, probably

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Athas posted:

They were both kernel programmers, so they were both nerds. One of them was just better at his job.

I remember reading that post when I was new to Linux, and not really understanding the technical details. I now understand them all and even think it's a very nice piece of technical writing. This is called personal growth.

yeah, but it's a personal dig. presumably cantrill was trolling, but

eschaton posted:

I have it on good authority that Cantrill is pretty lovely and that response is just the tip of the iceberg

can’t say more (not my story to tell) but regardless of his technical chops, he’s persona non grata to some folks I know and trust

apparently some people just don't grow

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

FlapYoJacks posted:

Nah, it’s because running j1 makes the logs easier to parse as everything is sequential.

that and running -j7 would probably start/continue building something unrelated too. i've always found openwrt's -j1 V=s thing needs suiting, they haven't changed that message much in like 20 years for a reason lol

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

Dear Sir, I am writing to you from the non-shitposting(?) linux thread in the OS poo poo-posting subforum of the dead comedy website SomethingAwful.com. I would like to touch your source code.

To Whom It May Concern,

Greetings from the Linux non-shitposting thread in the OS shitposting forum of the dead and buried comedy site Something Awful. I see you have almost finished your ISL28022 driver, [borat voice] very nice! However, it is not finished, which is not so nice. I will finish it for you [broat voice] i like!

P.S. I will credit you

Sincerely,

ryanrs

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

The next big question is do I take this ISL28022 driver in progress and finish it off, and try to get it merged into hwmon? This would go into the mainline Linux kernel, not just OpenWrt.

What's the open source etiquette re. taking someone's 98% finished work, and doing the final polishing to get it merged?

actually looks like a few people worked on it (unless those are reviewers?). i wouldn't worry about it, just credit where due

e: ah yeah they are reviews. idk. just email the guy and ask, i mean, it is a mailing list lol

e2: lol it looks like he made his personal site in openoffice or something

Beeftweeter fucked around with this message at 00:22 on May 1, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

Are you describing the deprecated sysfs gpio api? I think the current design uses a shitload of character device ioctls and a userspace library to hide the gross inner workings.

e: yes this a serious question, here is the motivation for it:
OpenWrt instructions to enable downstream PoE
code:
echo "446" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio446/direction
echo "0" > /sys/class/gpio/gpio446/value
Things i don't like about this:

1) Uses numbers not names, and the numbers aren't even fixed gpio line numbers. The number is unstable between kernel versions (changed when OpenWrt migrated from 6.1 to 6.6). The new number is 546 and the above wiki instructions no longer work.

2) The gpios need to be configured at startup (setting direction, drive strength, polarity, etc). This is not being done on the AP-303H and some outputs aren't configured as outputs until first use.

3) I want to let users turn PoE on and off, but not change basic pin configuration like turning it into an input.



Also this is standard gpio stuff that literally every single computer needs to do. Every computer ever made has some random pins that need to be configured at system startup. How can it be so hard?

Shell script + sysfs is looking pretty good, tbh.


e2: This works and should be stable:
code:
GPIO_BASE=$(cat /sys/class/gpio/gpiochip*/base | head -n 1)
GPIO_POE=$((GPIO_BASE+34))
echo $GPIO_POE >/sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$GPIO_POE/direction
echo "0" > /sys/class/gpio/gpio$GPIO_POE/value
lol

does the default busybox support e.g.

quote:

GPIO_POE=$((GPIO_BASE+34))

?

if yes then i probably won't need to do a compile, thats the kind of thing i was talking about in the other thread

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

Yes, busybox supports $(()) arithmetic.

At this point, I can do everything I want in user mode with a dozen lines of code. It'd be crazy to write a kernel driver when the script is working.

Anyway, I just edited the OpenWrt wiki page and updated 446 -> 546. Good enough.

what about double-bracketed tests with variable replacement? iirc that was the primary reason i wanted a custom busybox, and while it does support that kind of thing it at least used to require editing the config header/a custom build

i'd suppose if it supports double parenthetical arithmetic then it probably does

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

Like this?

code:
BusyBox v1.36.1 (2024-04-30 18:18:15 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r26120+8-4b04304713
 -----------------------------------------------------
root@OpenWrt:~# if [[ -f yospos ]]; then echo y; else echo n; fi
n
root@OpenWrt:~# touch yospos
root@OpenWrt:~# if [[ -f yospos ]]; then echo y; else echo n; fi
y
root@OpenWrt:~# YOS=yospos
root@OpenWrt:~# if [[ -f $YOS ]]; then echo y; else echo n; fi
y
root@OpenWrt:~# rm yospos
root@OpenWrt:~# if [[ -f $YOS ]]; then echo y; else echo n; fi
n
root@OpenWrt:~# POS=5
root@OpenWrt:~# if [[ $POS -gt $(($SPOS+10)) ]]; then echo y; else echo n; fi
n
root@OpenWrt:~# if [[ $POS -lt $(($SPOS+10)) ]]; then echo y; else echo n; fi
y
root@OpenWrt:~# 

it seems like that'd be fine, but ehh now that i'm not in a moving car i can elaborate better lol

at the time (~10 years ago lol) i was using those kinds of constructs for ffmpeg workflows, i doubt i'll be doing that much now but i might, idk. so this is just an off the top of my head example of something i might try:

code:
#find audio tracks in mp4 files, convert if needed and save as m4a

for file in *.mp4; do

if [[ -e "${file%.*}.m4a" ]]; then printf "${file} already exists with m4a container\n"; continue; fi

format=$(ffprobe -show_streams -select_streams a "${file}" 2>/dev/null | grep -m 1 codec_type | cut -d "=" -f2-)
codec=$(ffprobe -show_streams -select_streams a "${file}" 2>/dev/null | grep -m 1 codec_name | cut -d "=" -f2-)

if [ -z "${format}" ]; then printf "${file} does not contain an audio track\n"; continue; fi

if [[ "${format}" = "audio" && "${codec}" != "aac" ]]; then
	printf "${file%.*} audio track needs to be re-encoded\n";
	ffmpeg -i "${file}" -vn -c:a aac -b:a 192k "${file%.*}.m4a"
	if [ $? -eq 0 ]; then rm "${file}"; else printf "ffmpeg did not exit cleanly, keeping original\n"; fi
else
	printf "aac track already exists, setting mp4 container brand to m4a\n"
	ffmpeg -i "${file}" -vn -c:a copy "${file%.*}.m4a"
	if [ $? -eq 0 ]; then rm "${file}"; else printf "ffmpeg did not exit cleanly, keeping original\n"; fi
fi

done
tbh i was trying to come up with a somewhat complex example and i'd think this would work fine anyway

but i literally just banged this out here, so there might be a missing fi statement or something, idk, i didn't check it obviously. it's just an example. i intentionally mixed "-eq" and "=" operators, mixed "[[" and "[" constructs — usually when i'm doing something like this i just go for functionality over form — but that does trip up some interpreters sometimes (especially dash, which simply doesn't have double bracket constructs anyway)

sometimes i need to do arithmetic within them, sometimes i don't, etc., so when i was compiling openwrt and busybox i just threw in the kitchen sink. back then it supported all of that, it just needed to be enabled at compile time (which it didn't do by default)

also somewhat relatedly, i usually try to avoid "[" constructs on a real machine since that usually calls the "[" binary, whereas "[[" constructs use a builtin

but since we're talking about busybox here, it's all the same binary — other than the extended functionality afforded by double bracket constructs i suppose there's no benefit to using one over the other anyway. right?

e: readability

Beeftweeter fucked around with this message at 19:35 on May 2, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

root@OpenWrt:~# opkg install bash
Package bash (5.2.21-r1) installed in root is up to date.

takes about 500k of space

lmao good point

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

You will still be using busybox utils like cat and grep unless you also install coreutils and maybe some other packages. But a cursory test shows the busybox symlink commands work just fine from bash.

yeah, they usually do

i still wonder if there's any benefit to using "[" vs. "[[" if you're only using busybox though. seems to me since they're both technically builtins there'd be no performance advantage to using either over the other, but since double brackets also have extended functionality idk why you'd ever use singles, other than maybe compatibility reasons?

:shrug:

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
speaking of busybox, does anyone use toybox?

it's what google uses in android instead of busybox, because they know the busybox people are serious about the GPL lol

i'd guess a lot of it is just BSD/AOSP-licensed busybox equivalents, but maybe it does some things better by dint of being newer? idk. the only exposure i have to it is using it in pretty drat old versions of android (7-10), and once you root those they usually install busybox for you lol. even termux comes with busybox iirc

e: hmm latest release is from 2023, although it seems to be kinda actively developed

Beeftweeter fucked around with this message at 22:50 on May 2, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Poopernickel posted:

I use Busybox still, and don't have any plans to change in my designs. Busybox is GPL2, so it's not really a big deal to include in a product IMO. I have to make sources available for it (along with any modifications that I made to Busybox) on request, but that's not really a big deal. I don't have to give my entire product source-code, or my signing-keys, or anything like that.

It's been a while since I've checked, but I think that Busybox still has a lot more applets than Toybox. And a more active development community.

i spent an hour or two trying to get toybox to compile with WASI (using a-shell on my ipad, you can compile and execute WASM) and couldn't lol. but i was able to get a few of the applets to compile with the ios sdk, using llc to compile to bytecode and then lli to interpret

anyway yeah there definitely aren't as many features or applets, or features within applets. even printf is barebones compared to busybox

but i wasn't able to get it all to compile, and since i had to do it manually per applet i just didn't do more than 2 lol. it does seem like some of them are actually more fully featured than their busybox counterparts, but only a few, mostly ones that you'd expect android oems might want (dd, tar, etc.). since you do embedded work it might be worth a look-see

e: just to clarify, as you might've inferred you can compile each applet as a standalone application

Beeftweeter fucked around with this message at 02:35 on May 4, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
oh toybox has a status page (updated april 8), maddeningly though if you click on any of the commands it just links you to a sometimes nonexistent man page

though i guess if the goal is to make mostly identical implementations then that's kinda cool

the roadmap and faq are kinda interesting too

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
60 seconds apart? it sounds like it didn't get anywhere near close to initializing enough to do this but, uh, they're not bluetooth beacons, are they?

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

Could be? It's the built-in bluetooth module in an Aruba 'enterprise' wifi access point. So whatever their enterprise customers use bluetooth for, I guess.

Would they start beaconing poo poo before even establishing host comms?

e: HPE Aruba AP-303H Hospitality AP. For when your enterprise is a hotel, I guess.

i honestly don't know. it's possible i guess. if the chip isn't even communicating with the system then i'd think it's really unlikely, but it could be a host advertisement beacon

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

BTW, these bytes aren't being sent over the air (I hope). They're coming in on the Host Controller Interface (HCI). I think it's trying to handshake, then getting mad about being snubbed.

yeah, i thought maybe it could just be regurgitating what it's trying to send over the air, but idk probably not. just throwing out suggestions

i agree it does seem more like it's trying to boot, not receiving whatever it's looking for and looping because of that, though. but i'm pretty sure you and sb have more knowledge about debugging this kind of thing than i do lol

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

sb hermit posted:

tbh, I think it would be cool to control an access point over bluetooth if you somehow can’t get to it over ethernet and need to reset it or something and you’d otherwise have to bust out a ladder to get to it

you probably can? there's BNEP (ethernet emulation), if it had a bridge to the rest of the interfaces you should be able to, in theory anyway

but tbh i've never even thought about adding bluetooth to a router. i suppose it'd be pretty easy with one of those little usb bt adapters though, maybe i can give it a try when i get openwrt going

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
gnome is loving terrible

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Cybernetic Vermin posted:

though tbh among things apple did that i hoped would spread and stick (but instead didn't stick even at apple) was to go "ok, we can do higher resolutions, what do we do? let's go strictly for the next integer up, same dimensions"

the "eh, everything will be vectors" movement was sufficiently wrong that they are still wrong in this fractional hellscape.

everything could be vectors at this point. we have the technology

almost all existing desktop environments use bitmaps though, so "lol lmao do it yourself" - some gnome dev, probably

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

NihilCredo posted:

they have that, it's just not gnome because clueless bosses don't want a linux laptop. it's called cockpit and even the showcase pictures feature the typical user connecting from a windows machine

tbh this looks kinda nice and i might give it a try

i wonder if you can use it as an alternative to LuCI

e: hey it's even on swupd lol

https://cockpit-project.org/running.html#clearlinux

seems v. easy

Beeftweeter fucked around with this message at 18:37 on May 6, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

corona familiar posted:

doesn't Apple ask for integer scaling with assets and then does fractional scaling with the GPU so everything looks ~okay?

I'm still stuck in "100% desktop scaling, 150% browser zoom and electron zoom" land myself :lofty:

apple asks for integer scaling (2x, 3x, etc.) for assets but yes eventually does fractional scaling with quartz extreme (if that's what it's even called anymore)

this is despite quartz extreme natively supporting vector graphics since like 2002

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

FAT32 SHAMER posted:

yeah same, I like this a lot

since most of the instructions are just "install the package and enable a sysctl variable" (e.g. even for clear the instructions are dead simple, https://cockpit-project.org/running.html#clearlinux) i'd guess you can

no idea if it would conflict with LuCI though but it'd be nice to use alongside i guess. anyone got an openwrt install they don't care about? please give it a try tia

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Truga posted:

yeah, the display industry needs to just give me a 10k:1 contrast ratio 16k 42" screen already

i'll pay about $500 for that

e: like, seriously how is it possible that we have like 4k 5" phones now starting to show up, but the standard on 27" is still 4k, and that's if you feel spicy

it is much, much easier to manufacture a tiny, dense display than it is to manufacture a large but still dense (for the size) screen. basically for phones they cut out tiny, flawless pieces of a larger display with dead pixels and poo poo

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Cybernetic Vermin posted:

i was very much a "everything will be vector graphics in the future" person, but there's basically a 1-2 that ends the argument for me:

1) high resolution bitmaps are as good. one imagines that with vectors you'll be able to scale things arbitrarily, but eyes are fixed performance, and *design* does not scale. you mostly don't want to scale an asset made to cover so-and-so much of your field of view to cover much more or much less. for reasons entirely different from resolution of the representation.
2) if you do bitmaps you can give designers and artists a good screen and tell them to make a thing that looks good. however they like. as long as they can make the pixels happen you can push it to users. they can go out and take photos or sketch on paper and built up from that smoothly if they want. vector poo poo places a bunch of irrelevant technology details in the middle, to no real advantage.

vectors are good and should be used imo,

1. to preface, i don't disagree with you here, high resolution bitmaps are good and mostly work fine. but they are huge (file and memory size-wise), and to make matters worse you have to store multiple versions of the same asset (for some reason just scaling a 4x bitmap down to 2x is impossible). vectors don't need to be huge, but they can be, and that's the beauty of it. you don't have to worry about scaling since most formats will respect your defined aspect ratio

2. you can create vector graphics much in the same way you create bitmaps. automated conversion has been around for decades but didn't really give great results because nobody really gave a poo poo. modern implementations are getting pretty good. i don't think they're placing a bunch of irrelevant tech into anywhere — on basically every major os, you already have built-in vector support: quartz extreme, by dint of display PDF, has native support for beizers even; kde and gtk both support svg; windows probably does too, but even back in windows 9x-7 they used vectors for some icons (using a couple truetype fonts, marlett being the most common). the tech is already there

honestly this argument is kind of moot though, knowing the industry as we do i would assume they are going to skip past vectors in favor of things being drawn stable diffusion style

e: expand points

Beeftweeter fucked around with this message at 20:31 on May 6, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

BobHoward posted:

there was a macos version - i want to say 10.4 or 10.5 ish - where there was work in progress on vector rendering of all ui widgets in the public developer prereleases, but it got completely removed by release and never saw the light of day again

i assume apple shitcanned it because it didn't work as well as hoped. that, or weird internal politics, which i assume apple has because what company that large doesn't

it was in 10.4 through 10.6, even the final builds. in the developer preview you had to enable it with `defaults` but they removed that by the final release of 10.5, after that you had to use the quartz extreme debug utility. it was removed in 10.7, yet another bullet point in its favor for being the worst release of os x

but it looked and worked fine in both directions (scaling up and scaling down; i also used the feature to scale the ui down to fit on an eee pc). idk what the specific reasoning was for removing it, but i assume it had something to do with then-in-development hidpi ios expecting 2x bitmaps, even though the iphone 4 and ipad 3 were released quite a while afterwards

also being display PDF at the core, all of the vector assets were pdfs, so maybe they had some problem with that :shrug:

e: actually thinking about it some more, ios was probably the culprit. they likely thought they couldn't reliably scale pdfs on the fly at 60 fps on mobile hardware at the time, and they probably would've been right (the ipad 3 couldn't even keep up with scaling bitmaps ffs). but nearly 20 years later their laptops are literally the same as their mobile hardware

Beeftweeter fucked around with this message at 23:35 on May 6, 2024

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

eschaton posted:

Apple these days makes very extensive use of “symbols” which are essentially composable single-color vector icons rendered using the same engine as fonts

wow, literally the same technology introduced in windows 95

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

eschaton posted:

because 4K is right for 24in, if you want 27in you want 5K

this is true though. they're just about the sweet spot for density + resolution

as i've said repeatedly i love my 12" 4k OLED laptop, but i realize that's not for everyone. the sizes/dpi eschaton mentioned should work for just about anyone though

Adbot
ADBOT LOVES YOU

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Kazinsal posted:

if I had a time machine I'd go back to 1982 and reimplement unix for the 5150 just to head off all that USL v. everyone bullshit at the pass so we never got to a point where linux had a reason to be used by startups and dial-up ISPs in the 90s

also because I have a brain disease that makes that kind of thing fun

great now we know who to blame if we're all suddenly using microsoft xenix on AT&T workstations

e: reconstitute the bell system while you're at it

Beeftweeter fucked around with this message at 14:26 on May 14, 2024

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply