Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Arcan

    arcan-fe.com · Personal blog · on HN since 2015

    The developer behind Arcan writes about this display server and desktop engine, along with shells, terminal emulation and operating system design.

    Visit blogRSSHN submissions
    Open Source & LinuxSystems & PerformanceDesign & UX
    What HN says

    Commenters suggest Arcan as a well-reasoned alternative to X11 and Wayland with a stable API, and point to its post on operating system design.

    Stats for nerds
    103HN people shared it
    92linked in comments
    1.9Kstory points
    Mar 2026last shared
    2018people per year2026

    Top posts on HN

    1. 1
      Arcan versus Xorg – Approaching Feature Parity
      2 people · 248 points · first shared 2018 · 49 comments on HN
    2. 2
      A Spreadsheet and a Debugger Walk into a Shell
      5 people · 236 points · first shared 2024 · 20 comments on HN
    3. 3
      I wrote a display server, a desktop environment, and a debugging/reversing tool
      1 person · 185 points · first shared 2016 · 46 comments on HN
    4. 4
      The Dawn of a new Command Line Interface (2017)
      3 people · 169 points · first shared 2017 · 103 comments on HN
    5. 5
      Awk for multimedia
      1 person · 154 points · first shared 2017 · 24 comments on HN
    6. 6
      One Night in Rio: Vacation Photos from Plan9
      3 people · 115 points · first shared 2017 · 7 comments on HN
    7. 7
      Arcan Display Server 0.6.2 – It’s all connected
      2 people · 105 points · first shared 2022 · 12 comments on HN
    8. 8
      Revisiting the Arcan Project
      3 people · 97 points · first shared 2018 · 3 comments on HN
    9. 9
      Whipping up a new Shell – Lash#Cat9
      10 people · 95 points · first shared 2022 · 2 comments on HN
    10. 10
      Arcan 0.7 – The All Tomato
      1 person · 77 points · first shared 2024 · 9 comments on HN

    What HN people wrote when they linked it

    • CloudefMay 2021

      >SSD only isn't really an option, from what I have seen, eventually app designers want CSD to reduce clutter and to give their apps a better native look. This is true on all platforms, see for example macOS Big Sur.

      This isn't about the look of applications. This is about the needs of users and developers. I personally don't have window decorations at all on my main system, I don't need them and they are useless. There's developers that ask GNOME devs to implement a feature so their app can continue to work with GNOME users. There's users that ask GNOME devs to implement a feature so that app can work in GNOME. That's the point I'm trying to drive in here. GNOME devs feel like they can just break existing behaviors and ecosystems if they feel like it and say the problem is not on their end, while other groups have cooperated and worked on a solution that works for everyone. This is also the reason I don't use wayland nor develop anything for it anymore, too many things just don't work there, and the people that actually are trying to make things work or at least work on replacements gets constantly ignored or told to go away, meanwhile a single person has done a display server, that is not just wayland and xorg compatible, it's also much more flexible and more powerful than wayland ever is going to be. https://arcan-fe.com

      >Your dynamic linker is effectively using dlopen/dlsym under the hood, it's not doing any type checking.

      What I mean by typechecking is that with…

    • cb321Jun 2025

      Interesting project. You might check out Arcan (https://arcan-fe.com/) if you've never heard of it. (EDIT: I see author recently added a link: https://github.com/tattoy-org/tattoy/blob/main/website/content/news/2025-05-12-an-end-to-terminal-ansi-codes/index.md#notes )

      A couple of points related to contrast ratio management:

      - The Mynex answer here is very informative: https://stackoverflow.com/questions/596216/formula-to-determine-perceived-brightness-of-rgb-color

      - The "limit/bound" on the contrast ratio has a "polarity" (a +- sense). At least for "text", in almost every font there are many more background pixels than foreground pixels. So, for example, your human eyes can tolerate a lower text cell fg-bg contrast with a dark background color for the text cell on an all-black background than they can for a dark foreground color on an all-black background. Part of this relates to "shared discrimination work" that the outside-the-text cell background pixels are doing. So, really "ratio" of just two things is somewhat of an oversimplification.

      - XTerm OSC 4 may have a very limited ability to probe the color palette. At least on `st` I can only see default foreground, background and cursor colors, not the full 16-color palette. This mostly just amplifies the point elsethread by @hnlmorg.

      - At least until more recent ssh's, default configs on Linux would pass through all "LC_*" environment variables. So, if you adjust your shell rc/configs to key off of, say,…

    • nulld3vMay 2025

      Ah, it underwent a complete rewrite somewhat recently, I heard it was a significant improvement.

      But I must agree that dedicated data analysis tools like DuckDB and jq are more powerful, intuitive, and performant. I guess what makes nushell appealing is how the data is already in nushell. It's where I stash any inputs I plan to use, any output commands produce and also any datasets I'm currently working on.

      The true value of nushell is it's role as a data exchange that preserves typing+structure and in providing tools so ingesting structured data is easy and parsing unstructured data is not daunting. I'm less pushing for nushell specifically and more hoping that it encourages more people ro think about some larger questions:

      - It's time to question the role of "UTF-8 text" as "the basic fundamental unit of data in the POSIX ecosystem"

      - Typed/structured data brings significant value and is not harder to work with

      - How can we improve data interchange between tools/apps without causing breakage? There's been quite a bit of thinking on if CLI tools can negotiate with each other to switch to communicating using higher-level data formats. Optimally it should work over common transports like SSH too. Unfortunately, I haven't seen any proposals that don't also introduce new problems. The nushell authors are looking into this as well.

      - How can we evolve terminals from the simple, reliable text renderers (that they never were) into simple, reliable renderers of general…

    • cyclopticMar 2021

      I don't have any raw data for performance numbers and that wouldn't matter anyway because they may not be relevant to your set up; if you're concerned about that you should run a test comparing them yourself on your specific environment. I'm speaking in terms of code complexity here, if you want to follow the threaded approach then minimum two threads will do the job (one for the scenegraph, one for the sockets), and an X compositor should potentially be doing this anyway to avoid lag caused by slow rendering. The difference is that the X compositor is just storing a copy of large amounts of state from the X server, whereas the Wayland compositor would store the canonical data and wouldn't need to worry about falling out of sync with the X server.

      Also, the way that X does it is overly complicated and is unnecessary to have protection against window manager crashes. A similar type of crash protection could be done with a Wayland implementation and it could be done in a much simpler way than moving the entire window manager out into a separate process. You just need to have another process that can hold the client fds and cache a minimum amount of state needed to resume the clients, it wouldn't need to know as much as the X server does to accomplish that task. Prior art is in the Arcan Wayland bridge, other Wayland implementations have not implemented this but they could eventually: https://arcan-fe.com/2017/12/24/crash-resilient-wayland-compositing/

    • throwaway6566Apr 2024

      The Arcan project[1] has pushed for this for a loooong time and doing some really interesting cutting edge things with it.

      Depending on which set of Lua scripts it runs it fills a different role. The first set becomes the display server and window manager. It can then run itself recursively to provide graphical 'apps' (but also X11 ones, Wayland ones, ...).

      I run the 'regular' desktop (stacking, tiling, ...) 'durden' right now, but I hope to switch to the more crazy dataflow/zui one (pipeworld[2]) or the VR one (safespaces[3]).

      Then it has an additional 'curses like' one for TUIs and CLIs, 'arcan-tui' with a default shell Lash#Cat9[4]. Looking at their recent posts there also seem to be a network story including server-side processing, but I haven't had the time to play with out more than following the examples in the blog so can't say more about that.

      EltaninOS[5] is trying to build a distribution around it.

      Everything scripted in Lua.

      [1] = https://arcan-fe.com [2] = https://arcan-fe.com/2021/04/12/introducing-pipeworld/ [3] = https://arcan-fe.com/2018/03/29/safespaces-an-open-source-vr-desktop/ [4] = https://arcan-fe.com/2022/10/15/whipping-up-a-new-shell-lashcat9/ [5] = https://eltaninos.org/

    • michaelmroseFeb 2021

      The people who would greatly benefit from not needing to maintain it shout from the rooftops that it is dead because they wish it was already so. In fact its probably be mainstream for another 10-15 years and existing for another 25. Look how long it took to sort of but not really kill python 2.

      Thus the choice today is actually X vs Wayland because those are the 2 choices that can provide a functional desktop at this point in time.

      As for possible Ys I see SurfaceFlinger from android which doesn't look like its suitable for a desktop

      Arcan a one man band that doesn't look apt to replace X soon

      https://arcan-fe.com/videos/

      Whatever Redox uses. I don't quite understand from a casual inspection how graphics works there.

      I would bet money that the choice over the next 10 years will STILL be X vs Wayland with more stuff wedged in until wayland is more functional but as kludgy as X wherein someone will have the brilliant idea to replace it with something more "modern"

    Related

    Divergent Desktopdivergent-desktop.org19 people

    A Neighbourly Solution to the 'X Is Deprecated? ' Conundrum

    Divergent Desktop
    Publication · last shared 2026
    Bootlinbootlin.com31 people

    An Introduction to PipeWire

    Bootlin
    Company · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    Collabora Blogcollabora.com129 people

    Matt Godbolt sold me on Rust by showing me C++

    Collabora Blog
    Company · last shared 2026
    Lone Sysadminlonesysadmin.net15 people

    SSH Escape Sequences

    Lone Sysadmin
    Personal · last shared 2025
    CoreOS Blogcoreos.com316 people

    CoreOS is building a container runtime, Rocket

    CoreOS Blog
    Company · last shared 2020
    Genodiansgenodians.org19 people

    Re-Stacking the GUI Stack

    Genodians
    Publication · last shared 2026
    Tyler Langloisblog.tjll.net46 people

    SSH Kung Fu

    Tyler Langlois
    Personal · last shared 2026