https://github.com/neonkore/waypipe proxies Wayland over a network. It’s straightforward enough in theory: Wayland core is just a communications protocol plus shared memory; so you just need to forward the messages, and detect and send changes in the shared memory. Not the cheapest thing, but perfectly tractable. Of course, there are also more difficult extensions, like GPU integration, but that sort of thing was a problem for X as well.
Wayland natively isn’t built for forwarding the way X11 is. Waypipe fixes this, providing an X11 protocol equivalent for Wayland. This project is a waypipe client for macOS.
Rio and its predecesor in Unix v8/v10 did it better than X. In some cases we got the worst:
- POSIX bloat vs Plan9's simple C and even simpler API
- ioctl's vs everything it's a file
- Complex socket spawning vs open() and dial() under Plan9/Go
- ALSA vs tuned up OSSv4, or plaing audio/mixerfs under 9front
- find -which syntax is huge- vs walk -f (or -d for dirs) | grep
- RDP/VNC/SSH/NFS/SMB vs just rcpu+auth (9p) and run rio(4) and for files... 9fs which does a simple bind()
- Symlinks and hard links vs bind and namespaces.
- GDB and SSH vs importing a remote /proc in a rio window and remote-debugging your damn remote machine as if it were your own. How cool is that? Ditto with devices. Import sound cards, network cards with the whole IP stack. NAT you say? No more.
- FFSv2 (hello OpenBSD) vs current GeFS under 9front which is like a miracle over what OBSD it's trying, the bad ZFS license or BTRFS not being ready on GNU yet. Probably the Hurd people will port GeFS to Hurd/Mach first, before BTRFS gets even ready...
- Dynamic vs static linking. 9front, a suite of multiarch compilers. Set $objtype, compile, link, deploy a standalone binary. Ready, as if it were a Go binary under Unix, but without glibc oddities. ARM binaries from 386? Done.
You need a crazy long i686-gnu-foo-bar and the rest of crazyness? Not anymore. These come in src form, compile and install them, no internet required. Literal two damn commands to do so, from any to any arch.
- SH/KSH/Bash. Complexity ridden shells. Here's rc. No aliases there, just functions. No complex escaping, just () for strings, ^ to concat, ' ' for quoting. Problem solved.
Even the conditonal words' syntax it's like throwing down all the complexity giving you a weirdly simple shell.
- PCRE and ex commands under vi/nvi/vim (bloat) vs Sam and structural regexes. Sam it's like a graphical vi, period, there's nothing alien of it. Imagine a modeless vi with a small frame to input commands with an easier syntax:
If I install a terminal and SSH doesn't work from it out of the box, I would describe that as a bug and wonder if I need to read the full manual to not fall foul of other gotchas
Servers throwing "missing or unsuitable terminal" even when the connecting terminal is available and very suitable. And this is just because they hardcode xterm as the "standard".
>Sure, if you think calculators or bicycles are "superhuman technology".
Uh, yes they are? That's why they were revolutionary technologies!
It's hard to see why a bike that isn't superhuman would even make sense? Being superhuman in at least some aspect really seems like the bare minimum for a technology to be worth adopting.
Those icons were incredibly visually distinct, despite being meaningless. I still know exactly what they are for instantly, in my peripheral vision, years after using many of them.
Modern icons are not only not comprehensible but not visually distinct (Tahoe making everything the same shape, many apps removing all colour from toolbar icons, various distinct if anachronistic symbolic icons like Save being replaced with slighly different orientations and arrangements of arrows and rounded rectangles...).
This severely impacts the efficiency of user interaction, especially after the first time you use something, at least for me. It's not a knee jerk reaction, it's a reaction to actually feeling it becoming harder to use my computer.
It seems like just such a weird and rigid way to evaluate it? I am a somewhat reasonable human coder, but I can't copy and paste a bunch of code without alterations from memory either. Can someone still find a use for me?
That seems like the kind of feature where the LLM would already have the domain knowledge needed to write reasonable tests, though. Similar to how it can vibe code a surprisingly complicated website or video game without much help, but probably not create a single component of a complex distributed system that will fit into an existing architecture, with exactly the correct behaviour based on some obscure domain knowledge that pretty much exists only in your company.
> probably not create a single component of a complex distributed system that will fit into an existing architecture, with exactly the correct behaviour based on some obscure domain knowledge that pretty much exists only in your company.
An LLM is not a principal engineer. It is a tool. If you try to use it to autonomously create complex systems, you are going to have a bad time. All of the respectable people hyping AI for coding are pretty clear that they have to direct it to get good results in custom domains or complex projects.
A principal engineer would also fail if you asked them to develop a component for your proprietary system with no information, but a principal engineer would be able to so their own deep discovery and design if they have the time and resources to do so. An AI needs you to do some of that.
Sure if you just leave all the code there. But if it's churning out iterations, incrementally improving stuff, it seems ok? That's pretty much what we do as humans, at least IME.
reply