Another possibility is that the designers carefully examined predecessors to learn from their mistakes, and went through a long refinement period before stabilizing the design. This is Common Lisp.
a domain specific language for walking into nested lists based on an implementation detail of how linked list pointers and values were packed into a single 36-bit memory location on an IBM 704 computer from the 1950s.
Some of the "no-name outfits", like Geekom and Beelink, have built good reputations.
It's possible to score a name-brand, refurbished "thin client" PC for around Raspberry Pi 3 dollars. I scored an HP one for $25, and it fits nicely in the "small fanless PC" niche, runs Linux, and is faster than the corresponding Pi would be.
You get an Intel CPU glued to some generic motherboard. If you don’t need GPIO a random N100 PC can do everything a Raspberry can (and you can get an adapter for that).
is this... just racism, actually? there are a million cool electronics on Amazon from random Shenzhen sellers and while I prefer that my electronics come from countries with better human rights records it's not flea market dreck, it's very much the best stuff you can buy, that you can't get anywhere else.
the attitude that stuff from brands you don't recognize from Shenzhen are "flea market dreck" is exactly why Chinese brands like DVI are winning
I don’t see what racism has to do with it. Most of my electronic components originate from China one way or another, but there’s a real difference in quality between established brands and the random stuff popping up on amazon in the last few years. To review a few experiences I’ve had:
- Wires I bought for breadboard prototyping turned out to not be made of copper after I noticed them sticking to a magnet on my workbench.
- A power supply module I purchased appeared to be using counterfeit chips. The switching frequency didn’t match the TI data sheet for the markings on the chip.
- I wasted several days trying to get an sdcard module to work. I gave up and ordered from adafruit instead and those worked on the first try.
Not to mention the well documented problems with counterfeit sdcards, etc.
With mini PCs, there are a million different ways bargain brands can cut corners that won’t show up immediately.
>is this... just racism, actually?
Perhaps but mostly a result of decades of bad consumer experiences. From Malware preinstalled to terrible software support and downright dangerous electronics, chinese hardware from alibaba amazon and ebay is rightfully regarded as questionable, potentially even dangerous until proven otherwise. And without a track record in software updates, any company selling any internet or god forbid cloud connected device is plain irresposible to use until proven otherwise.
Amazon doesn't show you the race of the product owner (and typing this I realise how fucking stupid that sounds)
However Amazon also doesn't care about what shit it sells you, so its perfectly possible to be scammed by some shady org out for a quick buck.
Even if you spend the time to research the right brand, Amazon doesn't actually guarantee that it'll sell you that brand, through a lot of weird bate and switch and "other sellers also offer", and just plain deceit, its not that hard to end up with expensive shite.
I have a bunch of n100s for both home and work. currently we have a 1/4 failure rate (combo and beelink and trigkey green, and others)
I still have all my Pis working, apart from the ones that got wet. (however, thats SD card dependent. Thats at least cheaper.)
> the attitude that stuff from brands you don't recognize from Shenzhen
Its not Shenzhen thats the problem, its Amazon/marketplace trying to make a fast one palming off shite as gold.
Wasn’t true when they switched to systemd, or when KDE 4 came out, or when the new Gnome came out, or when the kernel renamed Ethernet interfaces to enps-whatever.
Or when they switched from applications requesting exclusive access to ALSA audio devices to using sound servers for mixing, or when Xorg autoconfiguration was introduced (obviating manual Xorg.conf creation), or when the modesetting DDX replaced vendor specific DDX packages, or when Wayland was introduced with full backward compatibility with Xorg via XWayland. I suppose that last one is more of a lack of change.
Those things are changes that are announced years before they happens and you would some distributions where they’re still using the old stuff. It’s not that unavoidable changes we you only have three years of holding on to the old stuff before being abandoned.
Can the headline be changed on this so it’s not ridiculous clickbait? “American Airlines trains its pilots by having them fly airplanes” is more informative.
Since the title includes the word "quirks," the observation I'll make here is entirely appropriate: the post oversimplifies this.
It says: "So as we can see, at both run-time and compile-time, Common Lisp does typechecking to prevent silly errors."
This is not entirely accurate, as the Common Lisp standard does not require such typechecking.
The Common Lisp standard specifies the types of the arguments that a function expects. It generally does not specify what happens if the function receives arguments of unexpected types. It explicitly does not specify this: the standard says that if you give a function unexpected types, the consequences are undefined:
I can understand why the standard is written this way. Checking the types of arguments takes time. Sometimes you might not want to check the types for performance reasons.
It seems the author is using SBCL. As a practical matter, SBCL on the default settings will check the types of arguments. SBCL's manual (along with the manual of its predecessor, CMUCL) discusses how to manipulate these settings - the author discusses this, with the DECLARE form. But Common Lisp does not require this checking, so if you need your types checked, consult your implementation's manual. Indeed, SBCL allows you to change the settings for SPEED and SAFETY to specify how much type-checking you want.
All these caveats are also true for structures. The author says structure types are checked - again, as a practical matter, SBCL will check these unless you tell it not to. But that's not what the standard requires. Indeed, the standard explicitly states that "It is implementation-dependent whether the type is checked when initializing a slot or when assigning to it."
Thank you for this. There is occasionally disagreement about what "Common Lisp" even means, and the spec is often cited, but as far as all of my posts, library work, and application work are concerned, Common Lisp means "the current reality of the major compilers as implemented in 2025". This is a descriptive / bottom-up definition, and as an active author of software it is the one I'm more concerned with. For instance, `:local-nicknames` have been essentially universally implemented among the compilers, despite not being part of the spec. To me, this makes that feature "part of Common Lisp", especially since basically all CL software written today assumes its availability.
You're right to point out too that the post is somewhat SBCL-centric - this too reflects a descriptive reality that most new CL software is written with SBCL in mind first. Despite that I'd always encourage library authors to write as compatible code as possible, since it's really not that hard, and other compilers absolutely have value (I use several).
Every programming language has a practical definition: it is the intersection of the sets of features that are accepted by the various relevant production compilers and interpreted identically enough to be portable to all of them.
Formal language definitions, standards, and books are great, but you can't compile with them. Abstract language specs that don't have reference implementations or conformance test suites are not particularly useful to either implementors or users.
The chat bot operator slurps all websites and gives answers to all questions free of charge.
No other website can compete with that.
The whole story with streaming media is not just that pay streaming became more convenient. It’s also that content creators used legal and business mechanisms to make piracy inconvenient. They shut down Napster. They send DMCA notices. They got the DMCA enacted. They got YouTube working for them by serving ads with their content and thus monetizing it.
Chat bots are just like Napster. They’re free-riding off the content others worked to create. Just like with Napster, making websites more convenient will be only part of the answer.
> content creators used legal and business mechanisms to make piracy inconvenient
Copyright holders, not content creators. Though typically content creators are also copyright holders, copyright holders are not always content creators, esp in this context. To a big degree these practices are not on the behalf of content creators nor are they helping them.
The solution may be elsewhere: starting from creating content that people may actually care about.
> The chat bot operator slurps all websites and gives answers to all questions free of charge.
> No other website can compete with that.
Copyright infringers uploaded music, television, and films free of charge, yet people still pay for all of that.
> The whole story with streaming media is not just that pay streaming became more convenient. It’s also that content creators used legal and business mechanisms to make piracy inconvenient.
Do you seriously think that copyright infringement ended when Napster went down? Have you never heard of the Pirate Bay or Bittorrent? They didn’t succeed at all in shutting down copyright infringement. People pay for things because it’s convenient, not because copyright infringement is no longer an option.
I think that's the idea with deregulated electricity. Where I live (Maryland USA) I can pick who generates my electricity. I have no choice in who delivers it and that is still regulated.
I found that in practice the non-default options do not wind up being any cheaper so after trying it for a few years I switched back to the default option, where the price is not regulated but is set through a prescribed auction process.
I suppose the deregulation might still put downward pressure on prices in theory.
reply