pendell

Current Hyperfixation: Wizard of Oz

  • He/Him

I use outdated technology just for fun, listen to crappy music, and watch a lot of horror movies. Expect posts about These Things. I talk a lot.

Check tags like Star Trek Archive and Media Piracy to find things I share for others.



cathoderaydude
@cathoderaydude

this is a kind of crime that i regularly assign to Products. the problem with the Raspberry Pi is that it came out at a time when the thing that it is had more or less just become feasible - meaning, something else could have filled the gap, but the pi got there first, and anyone who was thinking of competing just turned away in disinterest

no, i don't care about the beagleboard or some other thing. come on. come on, don't bullshit me, you know how this works. if you want:

  • a price low enough to buy one on a whim

  • the ability to google problems relating to the underlying hardware

  • regular software updates

  • access to a wide variety of hardware addons

then you buy the one, single thing that the market has decided "filled the gap." There is not a second thing, only second-class things. The Pi is the tiny single-board computer, and trying to use anything else casually - that is, not writing your own goddamn kernel drivers - is going to be a worse experience.

I call this "fouling the market": there can only be one Canonical Single Board Computer, and it is the Pi. Nobody is ever going to create a competitor, because it's a foregone conclusion that it will never have more than 1% of the market share. There was one bite at the hook, and the raspi took it. The problem is that the Pi bit at the wrong hook. It's a terrible SBC, because it's not meant to be one.

The supposed goal as I understand it was to put a raspi on every student's desk, that it was supposed to be an electronics experiment workbench. I don't want to get into that, but IMO the Pi as an educational instrument is a misled, exhausting idea that tries to hearken back to a previous decade.

Meanwhile, there are tens of millions of these things sitting in drawers in nerd households, because the gap it inadvertently filled was "staggeringly cheap fanless computer." And that gap existed for so, so long that we would have taken anything to fill it.

We all wanted the same thing: a machine that could run commodity software - not necessarily x86, but at least not too exotic - that was small enough and cheap enough, both to buy and operate, that we could buy it on a whim without having to Run any Numbers.

When Intel announced the NUC, everyone I knew went apeshit for about fifteen minutes - until we found out that they're Six Hundred Fucking Dollars; Ray Smuckles money. There is no reason to buy a NUC; they're useless products. Unless you have a space of exactly 8x8" and it's the only place you can conceivably put a computer, then just buy an equivalent-specced laptop for the same price or less. It comes with a built-in diagnostic console as a free bonus.

The Pi is what we wanted the NUC to be: Forty Goddamn Dollars.* They're so cheap and simple that you can forget you bought one at all, and that's why they're popular.

* Let's not discuss the fact that the Pi has not, practically, been Forty Goddamn Dollars for a long time. That's a whole other can of worms.

The gap that everyone hoped the NUC would fill is "I need to run a single ordinary program with extremely low requirements," but with the constraint, "it has to be on a distinct OS image, not a VM," or the constraint "it has to be in an inconvenient location that I can't really reach with another computer."

We wanted a device that could be a spare computer for situations where we really didn't want one of those at all. The Pi, with its miniscule power consumption and size, is the perfect solution... in theory.

I will debate whether a Pi is actually a reasonable "server." For a lot of stuff, it's really a lot slower than people are willing to admit, especially if you don't have a 4. The 1 and 2 are slower than you probably remember if you aren't actively using one at the moment, and the 3 is... not as fast as you'd wish. The same old "ARM chip not designed by Apple or at least Qualcomm" problem.

But, you know, they can keep up with "microserver" type tasks. I don't want a dedicated machine just for hosting DNS, I wish we had a better solution for that (let's... not talk about how my 'VM server for household needs' project went) but, you know, it's not THAT bad because the thing is just so small and cheap that you can excuse the fact that it's a whole separate computer that only does one task.

The problem is that it's an awkward piece of shit. It's designed as inconveniently as possible, and I will die on this hill.

Had the Pi been designed as a computer, it would have a power button, so you don't have to unplug it to turn it off, because that's stupid. That's obviously an unfinished product, even as a dev board, and I won't countenance arguments.

Had the Pi been designed as a computer, it would have all the ports on one side. The only reason it isn't designed that way is because dev boards are expected to sit in the middle of a desk or get screwed to a plywood board and have wires trailing off of them in all directions.

Had the Pi been designed as a computer, it would have a case - no, not just a plastic clamshell, but an actual case that has power and reset buttons and a power light and gives it a little weight. Because the Pi is so light that what ends up happening, inevitably, is that the stiffness of the PVC jacket in one of the cables you have plugged into it causes the board to twist and lift up off whatever surface it's on and slowly work its way off.

Had the Pi been designed as a computer, it would have a power input that wasn't a fucking USB port. Do not argue with me on this. A computer should have a latching power connector.

The IEC inlets on desktop PCs are bad enough. There are absolutely latching versions of those, and it's criminal that they didn't start putting them on PCs 40 years ago, but at least the normal ones are big and chunky and have enough friction that they rarely get knocked out.

Micro USB is a garbage connector. We don't need to discuss that, it sucks ass. People will disagree with me on whether USBC is a garbage connector, but what I will assert is that it is extremely precise, too precise for the average cheap cable to be trustworthy. The same is not true for other connectors, like IEC, or DC barrel jacks, where even the cheapest Aliexpress sludge still retains pretty reliably.

Of course, the DC barrel jack is what the Pi should have - yes, I know, they "come in a million sizes" and "there's no standard voltage," but neither of those things are really true in practice. Virtually every power supply sold in the last decade has been 2.1mm and 12V and they're clearly labeled, so finding one is so easy that the complaint really doesn't pass muster in my opinion. But anyway.

The objectively correct power jack for the Pi is a DC barrel with a screw collar, like most commercial products based around SBCs have used for a decade. That won't wear out after 1000 insertions (which you'll exceed in a week, since the pi doesn't have a goddamn power or reset switch) and randomly cut power to your "server," and it's impossible for it to get pulled out by accident.

Now, surely the people who actually do EE experimentation with these things would hate some of these changes. I respect that, but since the Pi fouled the market, everyone's stuck with it. Nobody will EVER make another $40 "PC", and no, aliexpress sludge doesn't count.

The value of the Pi vs. Ali sludge is that it's a rock solid reference platform that doesn't change. The problem is that it's the only one we're ever going to get. The raspi people are never going to make a model that's better at being a PC, so this is what we get, forever, and it's impossible not to be irritated about it.


You must log in to comment.

in reply to @cathoderaydude's post:

Probably worth pointing out that the dudes who designed the RPi have repeatedly expressed their endless nostalgia for the era in British computing where it was not at all a mandatory feature to have a power switch on the computer.

Which goes back to your remark about "hearkening back to a previous decade", something I always found ironic because it took them ten bloody years to put one of the damn things inside a keyboard that hooks to a TV.

Yeah I didn't want to get too hard into ad hominems but my personal opinion is that the pi is designed by people who are desperately trying to claw their way back to a time when "making an LED blink every half second" was a sufficiently impressive accomplishment that you didn't need to really go any further. the reality is probably that a 15 year old who wants to learn EE in 2022 is not interested in toggling a GPIO pin. like, ever.

all the programming books I had when I was growing up that frustrated me because they didn't go any further than "here's how to make a struct!" and I'm sitting here going "how the fuck do I put a picture on the screen? how do i send a UDP packet?" real mitochondria is the powerhouse of the cell shit. you cannot imagine how thrilled i was to discover visual basic, and then C#

there is this huge contingent of Guys My Age who have fantasies of reliving their teen years, when they were able to impress people (or thought they could) with extremely rudimentary electronics projects, but they want to do it by imposing the same constraints they grew up with on a new generation that, i suspect, is overwhelmingly looking at "toggle a GPIO pin :)" and going "uh, that's nice pops, but do you have one with a native SDHC slot for storage? i'm writing a machine vision app."

I think a lot of men in tech have a vague sense that something was lost, but that they are often unable to see the actual thing that made that era what it was, and would not be capable of what it takes to truly reproduce it, because their entire livelihood depends on never doing such a thing.

'It is difficult to get a man to understand something, when his salary depends on his not understanding it.'

The accessibility of that era of computing (for certain definitions of it anyway), is not because you could still program raw assembly practically, it's because companies knew that computers were a hot new thing but also that their audience had no fucking clue how they worked, and so endeavored to make them rather plug and play, thoroughly well-documented affairs.

But documentation is woman's work now, and "plug-and-play" is sneered at, as either childish, or a threat.

Our careers depend now on being the one who knows things, and so sharing knowledge, enabling people, threatens that power and control.

My firm conviction is that most people who remember the wonder and joy of pre-Arduino EE, or of computing in the pre-Windows era, completely forget how low the bar was for accomplishment.

There is a reason that the demoscene has been celebrating the same tired copperbars-style screen hacks for over 30 years. A lot of tech people spend their days just re-solving the same ancient, long-solved problems over and over and over, because it's low hanging fruit. Even if it's technically hard, it doesn't require any vision, any creativity, any actual real world problem solving, it's just a question of fact, hanging in a vacuum. And it was always like this.

It wasn't impressive to make an LED flash on and off with an IO pin on your BBC Micro. Nobody cared that you could do that, you didn't even care that you could do that, but it was so hard, and it was so much harder to do anything of consequence, that it felt and looked like an accomplishment.

In the last 20 years however, the difficulty of doing "things of consequence" has plummeted. In the EE space, nerds get mad at hackaday people using an entire microcontroller to blink an LED. So did I, until I beat it into my head that you can buy that MCU for the same price as a 555 20 years ago, and it's objectively better.

There is no value in suffering! Nobody needs to know how to run a 555! It doesn't get you anything! The MCU is more accurate, easier to set up and adjust, far more capable, smaller - there's no downside. And that's TERRIFYING to people who spent most of their life quietly feeling satisfied because they'd memorized the resistor color code.

A 13 year old can now create a portable radio power meter out of $40 of parts same-dayed from Amazon. And yeah, they're probably very talented - but that's the problem: in 1986, you couldn't see the people who were more talented than you.

They were out there! They were building home automation systems with their Beebs! They made your blinking LED look pathetic, but you didn't know they existed, and neither did your friends and family.

As James Murphy put it,

I'm losing my edge to better-looking people with better ideas, and more talent. And they're actually really, really nice.

I somewhat recently sent one around the world(-ish, there were a bunch of museums anyway) as a controller for an art installation and like it owns that all it takes is a few resistors to wire it up and you can do the logic in a real language instead of spending a week burning holes in your fingers with a soldering iron and hoping you don't fry the last BJTs you have on hand.

One of my personal major complaints is no standard dedicated storage mediums are really supported! They're powerful enough to be a small home fileserver (I use mine to serve media over DLNA so I don't have to move external hard drives between devices very often) but you're basically reliant on a paltry handful handful of constantly out of stock third party boards if you want to have anything but USB devices which is awful for redundancy!

my favorite part is that, now that i think about it, cohost already has exactly such a button, but only for posts, but not the comments in them. idk if it's a deliberate (bad, imo) design decision, or just one of the many Things We'll Deal With Later. i assume it must be the latter, as i can't imagine a reason for it to be like this on purpose.

I think it's a questionable semi-intentional decision, similarly motivated to the way likes show up as a list of names, never as a number. I don't necessarily think it's bad, but I could be convinced. It seems to line up with the "avoid commoditized engagement" design philosophy.

Getting into MCU programming recently (i don't care about RPIs as actual computers, only as boards i can program that have GPIO), i know perfectly going with RPI Zero/Picos, and more boardly with Arduinos, is 100% a brand recognition thing. They want to lock me into expensive ecosystems. But sadly, brand recognition also means all the beginner questions have already been answered online, all the "you don't know what you don't know" class info i'd never find if i jumped directly into using a stm32 board.

The hardware is so wack. I would love a real case, power and decent IO. I've always hated trying to set one up for playing or making games. I want something that's like "a fantasy console but real" that I can program easily and get analog video out of and the controllers always fucking work.

I do think that Odroid and Orangepi are both getting a lot more attention right now, but I don't think there will be a mass exodus from the Pi unless it's to something that is 100% drop-in compatible --- which few alternatives actually are, mostly to the discredit of the Pi which baked a lot of details of their particular design into the "standard" GPIO header they use. But even things like offering eMMC as well as SD storage seem to add enough complication to scare off people looking for "Raspberry Pi but I can actually order it right now."

It doesn't help that the Raspberry Pi had such complete domination on the low-end market that a lot of the competitors are intentionally higher price point and higher performance as a way to differentiate---which is less attractive for "Pi Zero" like applications where you really are looking for something that can poll a button and make one HTTP request and nothing else, and you just want a Linux development target for ease of use. If anything I think the huge supply issues with the Pi are going to push more people to CircuitPython and other "easy mode" embedded environments that are increasingly available on cheap WiFi-ready devices like ESP32s, rather than Linux-based SBCs.

Honestly? even in my time of EE experiments with the damn things, I fucking WISH all the ports were on one end.

No, seriously. as somebody who works with dev boards everyday I DESPISE the menagerie of ports around the board. for product concepts, that shit is annoying. Yeah let me make a 360 degree enclosure to strap on top of my product. That doesn't look like shit at all!

The only SBC that came close to what I wanted was probably Lattepanda Windows boards. Ruined only by the fact they run Windows and they're $100+ for OLD models.

The only respite, I guess is the ability to take the CM4 boards and stick them onto PC-like PCBs

right, right, like that's the thing - the ports everywhere MIGHT be tolerable for "messy desk covered in wires" type shit, but honestly I hate it for that too, and it makes it IMPOSSIBLE to integrate into any finished product. that's what pisses me off so much about it as an EE tool - oh, you got it completely working, and you want to make something you can actually sell? go to hell.

for me the wide adoption by project maintainers is the killer feature - ffmpeg and mkvtoolnix are slow, but they apt install and apt just-fucking-work like a normal x86 linux distro. nominally "build your own binaries" is within my skill tree but I actually will not do this, I will buy a raspi and use that. I can even upgrade from rpi3 to rpi4 by "moving the sdcard to a new body" which is a real trip

failures in this compatibility are galling - the plex server that runs on a raspi, even a 4, flatly refuses to deal with subtitles besides dot SRT. parsec has apparently announced that they simply do not care to port to raspi 4.

it seems like "make a binary-compatible raspi variant that has a real power supply format etc" should be feasible given that it's open source, but that is definitely not within my skill tree. I'd think that would be a non-starter as a business idea but as a short-run hobby project? idk, maybe it's more insane than I realize

other insane idea that occurred while writing this - make a "case" for a standard-sized raspi 4 that is actually just a port replicator with power supply conversion and a lead fishing weight in the bottom. finally, a use for 3d printing!!

Even worse is when you're looking for documentation or online help forums or just anything you can find to figure out why your unusual setup for a common task (NAS, DHCP+DNS, Minecraft even) isn't working properly and the only search results you keep getting are tutorials written for people setting up My First Raspberry Pi Project where the person writing the tutorial is not much better at using Linux than the people they're teaching so they dump all of their config in rc.local

well i'd say this is the counterpoint to making a commodity product, and the nature of google. For instance, Davinci Resolve is the only serious video editor that has a free version - so good luck searching for any advice that isn't total beginner trash. Virtually every search I've ever done just gives me page after page of loud-man youtube tutorials focused on the absolute day-one basics.

god i wish i could rebug comments. this is so painfully true!

otoh our experience googling stuff about transistors is mostly the other end of the spectrum. i dont need to know the exact dimensions of the p type substrate i just wanna know how the fuck i can use it BEYOND the dead simple "heres a bjt u can turn ground off :)", when things mostly call for mosfets anyways! which require extra steps!!! (pulling gate to source)

I agree with all of these things. I am also annoyed when people go for these when a simple microcontroller would work. You incorporated an entire linux kernel when you just needed to blink a light.

Yeah, I also know that many of these could be implemented with a 555 timer and some gates. Many of us doing these things are not EEs. We treat these components like lego blocks. So I can at least understand wanting to write software to do it instead of designing a circuit.

The failure point I've had the most with these is that they burn out any sd card I've put in them. Especially microsd, then I'm stuck troubleshooting without a display in a closet for why it suddenly won't connect to the network. Which then kills the microusb port.

Also on the NUC bit, the business I work for uses them extensively as servers sent to customers. They're a software vendor but it was easier to build a small box, ship it, and have someome plug in it to their network for shipping a managed server. It was more appealing when NUCs were first a thing, under the old management who started during a time where you could write a letter to djistkra and get a stack of lesson plans they wrote; all for working on computers like the PDP-11.

EXT4. The journaling. The logging. Etc.

I switched to BTRFS and found it considerably more reliable. EXT was made for spinning rust and machines with a shutdown command and power switch. It was made for servers and machines with considerably much more order and redundancy.

It just eats up those poor SD cards. It also corrupts easily with power loss (guess how you shut down a pi? 🙂). But you can install and add in to the boot image BTRFS support. Only problem is this breaks system updates because the Pi doesn't come with BTRFS boot support out of the box (even though the OS supports BTRFS on the system disk). You update and you can't boot (RIP).

You can also turn off logging but it's equally a pain, but it will help extend to life of the card.

It's amazing how poorly Raspbian configured out of the box for SD cards. Like, so many simple things that are a pain for the end user but easy for the maintainers.

Another thing is to get a card designed for persistent writes, such as those marketed for use in security cameras. Samsung sells a couple models, for example. Those will withstand better.

To me the CM4 looked like an interesting solution to the cable octopus problem. People already had carrier boards, and it didn't seem too hard to make my own that put ethernet, usb and power on one side, if nobody else made one.

But at introduction they were hard to get, and then everything more complicated than a resistor went out of stock at distributors. So things never got off the ground.

It's hard, but not impossible. And there are kicad examples of the footprint placement. Given sufficient demand JLCPCB might have even put the connectors in their SMT parts library.

But you can't get CM4, so you'll see that everybody is making new things around the RP2040. That rpi product is still available in volume.

this post has been out for hours and i just keep returning to it...it's just so accurate and correct and really meshes together a bunch of disparate ideas together

and yeah, we really are running into the issue of there only being one canonical [product niche]...

The pi 400 solves 90% of your gripes at the low low price of being built into a frankly not-very-good cheap plastic chicklet keyboard which has the effect of no longer making it fit in the more inconvenient places you would want to put it. And it's more expensive, enough to make it not quite as impulse buyable (well, I suppose it might still be if you make computer toucher money but on a retail servant paycheck it warranted a little consideration).

It definitely makes the whole pi project ethos of pining for a return to the 80s in home computing unquestionably explicit.

Yeah sounds about right. I got one to play with and mostly it sits on my desk gathering crumbs and dust. Every time I try to use it for something I run into some massive showstopper of an issue.

I like the idea of 'oh a kid's first computer they can tinker with and learn' but like, no kid young enough that the limitations aren't a deal breaker is going to be terribly well equipped for all the constant stupid ARM Linux problems

I had no money to buy anything at all at the time, but I remember being super excited and then super bummed about the NUC. I have to agree, using an old laptop or desktop or whatever you have and fits probably makes for a better server than a pi - I have a refurbed ex-business 'elitedesk' at the moment, which is quiet enough and overpowered enough for my purposes, but my best experience has just been using a laptop.