frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Show HN: Kage – Shadow any website to a single binary for offline viewing

https://github.com/tamnd/kage
295•tamnd•4h ago•62 comments

Zinnia: A modular 64-bit Unix-like kernel written in Rust

https://zinnia-os.org/
38•mrunix•1h ago•2 comments

Rio de Janeiro's "homegrown" LLM appears to be a merge of an existing model

https://github.com/nex-agi/Nex-N2/issues/4
234•unrvl22•6h ago•126 comments

Chaosnet (1981)

https://tumbleweed.nu/r/lm-3/uv/amber.html
45•RGBCube•3h ago•4 comments

Firewood Splitting Simulator

https://screen.toys/firewood/
544•memalign•4d ago•181 comments

Yserver: A modern X11 server written in Rust

https://github.com/joske/yserver
74•Venn1•3h ago•52 comments

Show HN: Trace – Offline Mac meeting transcripts you can flag mid-call

https://traceapp.info
58•AG342•1d ago•18 comments

Segmented type appreciation corner (2018)

https://aresluna.org/segmented-type/
51•unexpectedVCR•3d ago•11 comments

Ask HN: What are you working on? (June 2026)

125•david927•6h ago•454 comments

Caddy compatibility for zeroserve: 3x throughput and 70% lower latency

https://su3.io/posts/zeroserve-caddy-compat
138•losfair•8h ago•42 comments

Formal methods and the future of programming

https://blog.janestreet.com/formal-methods-at-jane-street-index/?from_theconsensus=1
152•eatonphil•9h ago•50 comments

Perlisisms (1982)

https://www.cs.yale.edu/homes/perlis-alan/quotes.html
82•tosh•7h ago•37 comments

The only scalable delete in Postgres is DROP TABLE

https://planetscale.com/blog/the-only-scalable-delete
106•hollylawly•3d ago•44 comments

FarOutCompany

https://faroutcompany.com/
90•bookofjoe•8h ago•15 comments

Lisp's Influence on Ruby

https://blog.tacoda.dev/lisps-influence-on-ruby-6a54f1a7740e
202•tacoda•3d ago•45 comments

Abu Fanous

https://en.wikipedia.org/wiki/Abu_Fanous
28•joebig•1h ago•2 comments

Inverse Rubric Optimization: A testbed for agent science

https://fulcrum.inc/2026/06/09/inverse-rubric-optimization.html
17•etherio•3d ago•0 comments

I indexed 669 GB of my GoPro videos using my M1 Max computer and local ML models

221•iliashad•7h ago•45 comments

The Birth and Death of JavaScript (2014)

https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
196•subset•9h ago•117 comments

The first game engine for robotics

https://luckyrobots.com/
22•arnejenssen•2d ago•11 comments

Not everyone is using AI for everything

https://gabrielweinberg.com/p/people-are-consuming-ai-like-they
386•yegg•7h ago•414 comments

Show HN: Discover Wikipedia articles popular on Hacker News

https://www.orangecrumbs.com/
20•octopus143•4h ago•3 comments

TorchCodec 0.14: HDR Video Decoding for CPU and CUDA, and Fast Wav Decoder

https://github.com/meta-pytorch/torchcodec/releases/tag/v0.14.0
4•scott_s•4d ago•1 comments

Linux 7.1

https://lore.kernel.org/lkml/CAHk-=wi4BF4bMhZNZ1tqs+FFV4OuZRe3ZqdWB+LxRLmRweUzQw@mail.gmail.com/T/#u
186•berlianta•6h ago•67 comments

Vibe Coder vs. Software Engineer

https://yusufaytas.com/vibe-coder-vs-software-engineer
35•yusufaytas•2h ago•7 comments

How to earn a billion dollars

https://paulgraham.com/earn.html
374•kingstoned•10h ago•1125 comments

Lattice Triangles Are Rare

https://axiommath.ai/territory/the-reveal
6•skogstokig•3d ago•0 comments

Quivers: A year of linear algebra by drawing arrows

https://lisyarus.github.io/blog/posts/quivers-a-year-of-linear-algebra-by-drawing-arrows.html
38•ibobev•4d ago•6 comments

Global density and biomass of arbuscular mycorrhizal fungal networks

https://www.science.org/doi/10.1126/science.adu4373
37•zdw•1d ago•4 comments

Show HN: 3D print Z reinforcement via injected loops

https://mgunlogson.github.io/magma/
48•mgunlogson•5d ago•18 comments
Open in hackernews

Yserver: A modern X11 server written in Rust

https://github.com/joske/yserver
74•Venn1•3h ago

Comments

simmonmt•1h ago
This is pretty cool - especially that it's at the point where it can be used with a real window manager.

I'm curious why multiple screens is considered legacy baggage and thus out of scope, given how common multiple monitor setups are these days. I also have zero familiarity with X internals, so don't know if multiple monitor support is a horror show that'd be miserable to support.

chadgpt3•1h ago
X screens are legacy. It used to be you could connect to a particular screen by number to open windows on that screen but the modern way to do it is to have one big virtual screen. X screens were like having a separate X server for each monitor, but with a single shared cursor and shared VRAM. You can see why that's an obsolete model.
simmonmt•1h ago
Yep. When did virtual screens come in? My last full time experience with X was with Xsun in the early 2000s under Solaris. There was a shared cursor, I thought you could drag windows between monitors, but I also thought the DISPLAY variable was different for each (though I could be misremembering)
kwhat4•1h ago
Probably because Xinerama[1] and then later RandR[2] were an afterthought.

[1] https://en.wikipedia.org/wiki/Xinerama [2] https://xorg.freedesktop.org/archive/X11R7.5/doc/man/man1/xr...

somat•1h ago
I suspect(with out reading the source to find out) that screens are the traditional X11 screens as opposed to the modern xrandr combined screen.

Traditionally each screen in an X11 setup was it's own separate thing with it's own separate frame buffer. While technically applications could move between screens, this depended on the application caring enough to do so. It had to maintain two(or more) mirrored windows(one per screen) and keep them all aligned. So realistically no application did this.

The modern method of doing multi monitors on X11 involves one large virtual screen with each monitor assigned a section of it. This has downsides, for example; this is where the myth that X11 can't do mixed DPI setups comes from. But it has one huge massive overwhelming upside. The application does not have to be aware that there are multiple screens and multi monitor setups just work.

ltrever•41m ago
Can you pls share smt on how to properly do multi dpi in X? It is hard to find and I struggle with it
ndiddy•17m ago
The mixed DPI support on X11 is just that each monitor provides a DPI attribute that applications can query. It's up to the application or the toolkit it uses to actually look at this attribute and scale itself properly. In practice, this means that only Qt software will have DPI awareness on multi-monitor setups, and it requires having the "QT_AUTO_SCREEN_SCALE_FACTOR=1" environment variable set for applications that don't explicitly opt into it.

What most X11 users actually do is set the global DPI to that of the highest DPI monitor, and use xrandr to scale down the framebuffer of the lower DPI monitor, which "zooms it out". Note that this has performance and image quality implications. There's a guide on how to do this here: https://blog.summercat.com/configuring-mixed-dpi-monitors-wi...

IshKebab•1h ago
Why? Wayland hasn't been smooth sailing by any stretch but it's still time to let X die.

Also this is slop.

d4ng•1h ago
Maybe it’s more about the journey and not the destination.
fb03•29m ago
> Also this is slop.

Is anything done with AI automatically slop? I don't understand this

le-mark•1h ago
I really wish people gave a damn about the “gui over the network” problem x11 solves. Wayland drops this use case entirely so we’re pretty much universally stuck with vnc. Microsoft rdp is a great solution for this in windows land.
wmf•58m ago
Waypipe exists. Somebody needs to do the integration so you can run ssh -W though.
nananana9•55m ago
They drop this use-case, but still use sockets for IPC, so I still have to pretend I'm doing network programming, serialize my messages over the "network" and "flush the stream" (insanity) but don't actually get any of the benefits of this model.

I genuinely wonder if they stopped to think why X11 has sockets or just blindly copied it over. Or are they unaware other forms of IPC exist, that don't require you to go through the kernel 13 times to send a byte to the other process?

mort96•49m ago
What would you rather they use to communicate with the server? Message passing via shared memory?

UNIX sockets are perfectly fine for IPC with small amounts of data, and is how everything in UNIX has always done it, network transparency or not. They provide a simple, efficient and reliable communication channel between two processes.

p-o•43m ago
Wayland uses UNIX socket for message passing, but then offload most of the work to shared memory when the real work begins (GPU rendering). I just wanted to add some nuances that it's not as black and white as this comment made it seem.
kennywinker•53m ago
Projects like this really need to disclose how much ai was used. Otherwise my default assumption is it’s slop, which would be a bummer if someone carefully crafted this with some light ai assistance.
hokkos•48m ago
Seems pretty accurately disclosed to me https://github.com/joske/yserver/graphs/contributors
phendrenad2•47m ago
I agree, as soon as people start proudly tagging their vibe-coded projects, the sooner people will stop judging AI projects as "slop" based on nothing at all.
self_awareness•53m ago
Why it "can't" work under nvidia?

Xorg worked under nvidias for years.

skeledrew•48m ago
> dropping legacy baggage (multiple screens[...]

Looked nice, but crossed it off as soon as I saw that, as I'm working on a project currently that uses many screens. Can't just call a thing legacy because you and the people you directly know aren't using it.

rmu09•39m ago
Maybe they mean X11-screens. That are more or less independent screens, you can't move a window from one to the other for example.Emacs supports that somewhat with the "open new frame on display server" menu option, but usually, multiple screens are not very useful.

Nowadays, multiple monitors present one big virtual framebuffer and only one logical X11 screen.

freehorse•4m ago
It is a niche feature, but it is still used eg when an application wants to have good control over a screen's frame buffer to display sth in an external monitor and minimise disturbances. I think it is fairly standard in psychophysics experiments, at least with some software. That's where I worked with such a ("zaphodsheads") setup.
wtallis•31m ago
I think X11 terminology may be causing some confusion. Refer to https://nouveau.freedesktop.org/MultiMonitorDesktop.html

The normal, usable way to have multiple monitors for your X11 desktop environment is for them to all be combined into one logical screen that you can move windows around in, and that applications aware of the right extensions can discover the actual physical layout of the monitors that comprise the single logical screen. Multiple screens in that X11 sense is a far more obscure feature than simply supporting more than one physical monitor.

vidarh•32m ago
Love seeing this. I'd be interested in seeing how much more could be shaved off by doing things like offering an xcb/xlib shim that moves more functionality to the client side (e.g. server-side font support are trivial to move client-side) as a means to deprecate features on the server side that most modern X11 apps don't use anyway.
aleph_minus_one•19m ago
Concerning the naming: be aware that there also existed (the implementation is still available for download) the "Y Window System"

> https://www.y-windows.org/

by Mark Thomas as an experimental sucessor of the "X Window System" (its further development has been cancelled for a long time; the latest release that is available on this website is from 2004).

The German Wikipedia still mentions it:

> https://de.wikipedia.org/w/index.php?title=X_Window_System&o...

hypfer•16m ago
I'm really just tired of all these "projects" that in the end just turn out to be Claude.

There is no need to put this code on GitHub. Everyone with an API key can achieve the same if you hand them the prompt.

This is like committing build artifacts to version control.

On top it's such a lame idea. "What if rewrite in rust applied to X server". Fits on a napkin. Man what a nothingburger :(

scrollaway•10m ago
Ah yes, the famous zero-shot X11 server. Aren't you clever.
hypfer•6m ago
Would you be happier if I wrote "the prompts"?

Would that change anything about the fundamental cliche-ness here?

Also, no, I'm not clever, but not sure what that has to do with this comment chain.

Venn1•4m ago
I compiled it on Debian 13, and it does work XFCE4, but things are a bit squirrely until you disable the compositor. Sadly, no luck getting it to play nicely with LightDM. Ended up launching it from a TTY. This was on an AMD mini PC I had lying around the studio.
Gigachad•14m ago
This + mixed refresh rate are the key selling points of Wayland.
winrid•41m ago
The downside is your refresh rate is locked to the slowest monitor.
skeledrew•29m ago
Just did a quick `xrand -q` to confirm I'm doing multiple DPIs, etc (cuz laptop and external monitor) on a single screen with 0 issues. Unless the physical misalignment of the monitors, which reflects as a vertical jump when moving the mouse pointer across the virtual boundary, can be considered an issue.
mort96•35m ago
Yeah, that’s correct; I implied it by only talking about sending small messages but it’s worth stating explicitly.
Findecanor•42m ago
How about making the standard client library's API the interface, and have it hide whatever the system is actually using?

A long time ago when I looked at designing a X11 replacement, that was my approach. AFAIK, only special X utilities used anything but Xlib anyway. And later I think this is what early revisions of Canonical's Mir did.

mort96•38m ago
So .. still using sockets, but not documenting how the messages on the socket look? Why?
to11mtm•29m ago
If I had to guess, because then at least -hypothetically- easier to optimize for the 'local' case (depending on implementation, at least from my understanding of the POSIX/*nix paradigm, bending and breaking a bunch of rules possibly) by dropping in a different implementation.
mort96•24m ago
Optimise how? There already is only the local case in Wayland, pixel data is shared using shared memory which only works locally. Only small communication messages are sent via the socket. And the Wayland protocol also uses native endianness because, again, it only cares about the local case. It even sends file descriptors over the socket.

So what would you do differently in an alternative client library?

to11mtm•19m ago
> So what would you do differently in an alternative client library?

I should have better disclaimed my comment.... to be clear I don't know much about the graphics subject, I probably should have prefaced it with,

"I don't know anything about Wayland but as someone totally naieve on the subject but assuming someone else's assumption".

At least to me, even if it breaks the X11 model (Which is a shame, that was fun to play with back in the day) if they're doing it the way they are I'm guessing Chesterton's fence will come into play at one point or another.

dmytrish•33m ago
That's what wayland-client does.
nananana9•22m ago
Yes, command buffers over shared memory are the correct way to do this.

  1. You don't need to convert your discrete messages into a stream with size metadata, only for them to immediately be converted to a message on the other side.
  2. You don't need to jump into the kernel to copy over 20 bytes, only for the other side to jump into the kernel to copy it back.
  3. You don't need to deal with the "oh but what if my read returns half a message because this is a stream"
  4. You don't need to pretend you're doing network programming.
Regardless, it's not that big of a deal - this is like my 73th biggest gripe with Wayland, I only mentioned it since GP was talking about network transparency.

It's pretty representative of the project though - "We're doing things the way we've always done them, but slightly different. Now rewrite all your software to work with our thing. No, you cannot do global keyboard shortcuts or set window position. You don't like it? We're doing this for free, you cannot critique it."

mort96•17m ago
You don’t have to hit the kernel for 20 bytes. Buffer up all your commands and send them to the kernel with a single write(). The other side can then read them all (or however many fit in its receive buffer) with a single read(). The only real difference is that the memcpy happens in the kernel instead of the receiver and that the kernel provides a useful blocking mechanism by default so you don’t have to manage that in userspace code.

You need some kind of serialisation either way. It can be as simple as “this message has the shape of this C struct”, but that’s the case whether you’re talking shared memory command buffers or sending data over a socket (and there are good arguments for and against in both cases).

You’re right that you don’t need to deal with “oh I received half a message” when using shared memory command buffers, but that’s more a code complexity thing someone solves once in wayland-client and then nobody has to really think about it again. It’s not really a performance concern (because hopefully the rx buffer is large enough for it to happen rarely) or application code complexity concern.

nananana9•6m ago
Sure. But imagine some piece of exotic hardware, e.g. computer mouse, that reports its movement at 1000Hz.

If the compositor wants to notify the client as soon as possible, it has to send 1000 messages per second. If you buffer them, you're wasting the hardware's potential, if you don't buffer, them you're doing 1000 write()s per second, which is... ugh.

If you're literally going to design the protocol from scratch and require all existing software to deal with it, why not pick the IPC model that doesn't have this issue.

asdfaoeu•12m ago
You would have a lot of security issues right? Whether or not it's useful Wayland does prevent to isolate clients from each other.
ndiddy•32m ago
If you're fine with RDP, both KDE and GNOME have built-in RDP support on Wayland. If you want something closer to ssh -X, look up waypipe.
dannymi•30m ago
waypipe works very fine.

    waypipe ssh XXX
to11mtm•24m ago
> Microsoft rdp is a great solution for this in windows land.

The people who put together TS/RDP are geniuses IMO, it's insane as to how usable it has been for at least 15-ish years...

ethanpailes•19m ago
https://github.com/wayland-transpositor/wprs
TiredOfLife•17m ago
Sunshine/Moonlight.