1,806 karma · joined September 13, 2020
https://hardwarehacks.org
While I've never seen it used to present a single image, I _do_ know that it was originally built to host exactly that - a 360-degree painting commemorating the Battle of Gettysburg.
That said, the date on this one is from 1997. Amazon was already selling books via the Web at that point, so I'm not totally sure what the use case is.
Several of my family members are in the same boat as the author's: they run Linux in spite of having low computer aptitude. I do typically have to help them with, say, installing software, but so much of their experience happens in a Web browser that it's a rarity (the last install I helped with was Skype, the web app not being terribly great). Given that they're also somewhat change-averse, the Linux desktop has been pretty great for them: the UI metaphor of Cinnamon is more or less the same as Windows XP's or Windows 7's, which is what they were used to, and it doesn't seem at risk of changing anytime soon.
This _does_, however, seem like a framing issue, more than a utility issue. If the tests are 100% accurate at detecting true positives, they're a great aid. But rather than framing the tests as a be-all, end-all source for information, why not frame them as "a test that suggests whether or not you should get other tests"? That simple wording change would save a great deal of added stress on someone starting or growing a family.
In the years prior, I was a pretty active member of several communities, to the point where I could be attending several a week. Many of these have disbanded entirely; some briefly moved online before collapsing due to lack of involvement. I haven't given a meetup or conference talk since early 2020.
There are other, larger communities that have managed to stay afloat (disclaimer: I help organize one of them, DevOpsDays Boston), but their barriers to entry are much higher - formal CFPs and vetting versus Slack pings to meetup organizers. So my plan is to realize that's not an excuse, and act accordingly.
We've begun the process of switching out from CentOS to Amazon Linux at work, and the jump actually hasn't been difficult - the tooling is largely the same, boot times are vastly improved (I don't really know what Amazon does under the hood to their Linux distro, but it does show), and with minor changes to some Ansible bootstrap code, we're up and running. Besides, most everything is containers nowadays.
My homelab has come full circle - it started out on Debian back in the 2000s (it was the only distro left with a floppy installer, and I had a few Pentium-class laptops). These days it's a shelf full of single-board computers, and I've found the support for Debian types like Raspbian/Armbian to be _much_ improved over CentOS, whose ARM32 special interest group was but a handful of people volunteering their spare time.
What have others been migrating to?
I'm assuming any modern gas water heater is in a similar boat, with an electric starter instead of a pilot light - and it's much more difficult/annoying to light a water heater than a stove with a match.
More recently, I've been running it on a Raspberry Pi 3A in my kitchen. It interacts with my DVR upstairs, so that I can pause TV there and pick it up downstairs. I credit the fact that it was originally designed to run on the Xbox as the reason it works as well as it does on even the original Raspberry Pi.
That said, I have had to make some concessions to the future. It was next to impossible to find stock lamps - they're just inches off the ground, and not made of laminated glass. They'll shatter easily due to road debris. I can buy old, foggy replacements for $200. But I actually ended up buying one-off plastic lamps for $30. At least this way, they'll not only look better, but last longer.
The trouble with shell scripts is that they generally require you to manage the state of the machine - whether or not something is installed, before I go install and configure it. Or, if it's already configured, what configs to leave in place, and what configs to reset.
With Chef, for instance, everything's declarative. I don't say "install this package"; rather, I say "this package should be installed". Nobody ever runs the setup script just once, since the dev environment is constantly changing, and all of those edge cases (maybe I last ran it on rev 3, or rev 7 - how do I get to rev 12?) become hard to manage.
I naively bought some of my own Craftsman tools at Sears back in the 2000s - many of which are cheaply made with plastic bodies, or non-durable bits. Basically every Torx screwdriver I bought there is now stripped. The cases are plastic, and use friction to keep tools in place - not that they stay in place anymore.
Contrast that with the '60s or '70s tools with the lifetime warranties (that I inherited from my grandfather, by way of my father having his own set already), which show age only in the "vintage" look. They're just as functional as I assume they were on day one. Everything's made of either steel, lacquered wood, or in rare cases, heavy-feeling plastic.
The implementation is nothing short of genius: they use a Windows version of `netcat` (the common UNIX tool, but compiled for Windows from the Windows 2000 Resource Kit), then use `srvany` (also from the Windows 2000 Resource Kit) to start `netcat` as a system service, but with `cmd.exe` piped to its standard in and out.
Kudos on this solution!
Consider what else happened in the 386 through Pentium transition:
* The PCI bus became standard; your peripheral cards all needed to change.
* SDRAM became standard; the memory bus became significantly wider / faster, and you bottlenecked on RAM if you used older mainboards.
* IDE, while it was already used for hard drives, was now used for your CD drive too - you probably wanted a CD drive and not a second floppy drive (different controller) in your machine, which was harder if you only had a primary IDE bus.
I know your question was rhetorical, but when I think about this, it took close to 20 years of Linux maturing on the desktop before I felt comfortable handing a family member a laptop running Linux. As an enthusiast, I started running it much earlier, but everyday tasks like "printing" or "using Wi-Fi" prevented it from being a daily driver.
Personal computing, though, had a much deeper hacker culture, that encouraged pushing the hardware to its limits, and doing new and novel things with it. Progress stemmed from that (Windows including BSD sockets, for instance). I've never seen anything similar in the phone ecosystem - as soon as you play outside of the walled garden, you drop off into fringe territory. And the PinePhone, as much as I love it, is by definition outside of the walled garden.
I'm not sure, given the culture around phones, we might ever get to the point of it being viable.
That's something the article leaves out: while GNU and Linux are many times seen as a unit, there's a rich history of installing the GNU tools on other Unixes, because of the extra functionality they offer.
There is, of course, the argument against portability. At my last job, as the only Linux user on my team, I more than once wrote shell scripts that only worked for me - as soon as someone on macOS ran them, they'd run into a missing feature on `sed`, or a different calling convention on `date`. Which is why, at my current job, I'm very begrudgingly a macOS user - it makes me a better coworker.
This was invaluable to me, because otherwise I'd have had to fork out money I didn't have for MATLAB and the like - or sit in the lab all day, like everyone else.
> This message
> is
> sent over a few lines
(awkward pause)
> so that
> I can get in a point
> before you start typing something
Asynchronous means of communication (Github PRs, Jira tickets, dare I say e-mails) mean that I submit a fully-formed thought as a digest, but Slack sometimes becomes a stream of consciousness - one that I have trouble breaking someone out of.
This isn't something I budgeted time for, or something I even roadmapped for, which means the build process is going to be a 30-minute kludge and will likely incur greater-than-normal ongoing overhead.