

The software is where most of the magic happens. How do you control steppers and ink output otherwise?
The software is where most of the magic happens. How do you control steppers and ink output otherwise?
There’s some projects out there for those.
I don’t think we’ll have open source 2d printers. Not the way they’re built now, anyway.
On first glance, it might look like 2d is an easier problem than 3d. However, laying down plastic filament doesn’t need the same precision level as 2d ink/toner printing. Even 300dpi is far more precise than any 3d printer does, and that’s not particularly impressive for a modern 2d printer.
That’s not even getting into mixing and aligning color cartridges.
The industry also has a lot of patents around it. So there’s that whole mess to deal with.
Framework looked at making their own 2d printer, and they noped right out.
Would you accept a printer that works like a typewriter with arms that strike the page to lay down text? That might work. They’re mechanically quite complex, though. There’s lots of OK designs that tend to jam up.
I know you’re being facetious, but I’m thinking through the implications of someone actually doing this. ISPs aren’t always handing out static IPv6 prefixes for some damn reason, so you can’t count on that address staying the same when self-hosting. Even if you can, you don’t know what will happen when you change ISPs.
So yeah, really bad idea regardless.
You gonna fill an IPv6 address for your email server into the DoorDash signin page?
An address without a domain is irrelevant for a signin/registration form. Which is like 90% of the code being written in the wild to validate addresses.
If you’re writing an email server, then you need to care about all these details. Most of us never will.
Nested comments. RFC822 had a whole bunch of bad ideas in it, but nobody thought much of it at the time. Most programming languages don’t even do nested comments, because they want to filter them out with a simple lexer before the grammar ever sees it.
The main one that gets passed around will match the weirdness fine. In fact, it probably matches things you don’t want, anyway.
A signin/registration form really only needs to do sanity checks to get rid of obviously bad addresses. You’ll have to send a round-trip email confirmation message to make sure the email is real, anyway, so why bother going into great detail? Just check that there’s an ‘@’ symbol and a dot in the domain. Most of the rest is wanking off.
Some of those “obsolete” things are outright blocked for specific reasons. For example, routing addresses through multiple servers. It was abused by spammers, so it’s almost always denied these days.
Looks like this:
<@foo.example.com@bar.example.com:123@example.com>
Pizza Hut doesn’t allow dashes in the domain. This prevents me from ordering Pizza Hut with the email under my personal domain. This can be considered a feature.
Two of my “favorite” features it didn’t even touch on. You can have nested comments:
foo(one(two(three(four(five(six(seven)))))))@example.com
This will actually fail on that big email regex that gets copied around (originally from Mastering Regular Expressions in 1997), because it can only handle comment nesting to a depth of six. It is actually possible to do indefinite nesting now with recursive regex, but it was developed before that feature existed.
RFC822 also allows routing addresses through multiple servers:
<@foo.example.com@bar.example.com:123@example.com>
But this is almost always denied on modern email servers because it was abused by spammers.
Rollercoaster Tycoon was the last of an era, not a sudden burst of genius.
Before Doom (1993), almost all games were assembly. Doom was a shock to the industry. You could now write a high performance, multiplatform, sophisticated game in a compiled language ©. When I say multiplatform, I don’t just mean how it was ported to everything later. It was developed on NextStations first. DOS was the first port. So it proved all of the above immediately on release.
We take for granted that C is performant now, but that wasn’t obvious until optimizing compilers got good and someone tried.
Rollercoaster Tycoon (1999) is the last notable title that used ASM. It’s impressive in many ways, but it wasn’t as much of a standout as it seems now. Six years earlier to its release, that was just how games were done.
It’s notable that the only port of Rollercoaster Tycoon was the original Xbox, which was also x86. Nobody wants to rewrite it for anything else.
What’s the difference between interpreted and compiled?