Recent submissions

Comment · 1 year ago
I wrote a 2d esolang called asciidots inspired by ascii art and circuits, where “dots” follow ascii art paths and undergo operations. I posted it to Show HN a while back (2017!), where it ended up getting attention on HN and elsewhere.

Since then, I used Pyodide to make a home page with an interactive demo of the language. This let me use the existing Python reference implementation of asciidots in the browser, allowing exact feature parity (bugs and all) to support existing code. As a fun trick, I used a CSS animation for the logo instead of a GIF so it wouldn’t freeze while Pyodide is loading.

Comment · 6 years ago
Oh wow, this is quite clever. This is hacking in its pure, positive form. I love it.

I wonder what the README will say once the firehose of Hacker News slows down.

Comment · 6 years ago
Nix is a package builder & manager that creates reproducible build environments. Using the Nix language, you specify what the build environment should look like ($PATH, what should be in the build folder, etc). Nix then calls a program of your choice to do the actual building.

Just like Nix lets you specify a build environment using the Nix language, NixOS lets you specify, using the Nix language, what you want your operating system to look like (systemd services, $PATH, etc).

You should be able to use Nix, the package builder & manager, on any POSIX system afaik.

Comment · 6 years ago
> why am I expecting an error? Shouldn't that keyword be "on_exception" or something?

`expect` takes an input that is either an error or a value, then turns that input into just a value. The provided string is the error message if something goes wrong (i.e. the input was an error).

Comment · 6 years ago
Comment · 6 years ago
Thank you so much for this very helpful list. I'll integrate its suggestions into 3mux.
Comment · 6 years ago
> Is this mostly for using w/o i3?

Yep! I can't think of anything magical that could arise from usage with i3, but I'm open to ideas.

Comment · 6 years ago
> This looks awesome!

Thank you!!

> I wonder if it's going to interfere

My understanding is that i3 would intercept the keypress, not passing it onto the terminal. While I want 3mux to work with i3, I decided to choose defaults that appeal to the audience that would need 3mux most (i.e. non-i3 users). I plan to soon make the key bindings configurable.

Comment · 6 years ago
> How about the memory usage?

The biggest thing stored by 3mux should be the state of the terminal screen, so memory usage should be negligible.

> Can you (easily) nest 3mux like tmux with (auto-)grouped sessions to produce a (max) 9x9 "grid" of windows to organize your remote hosts, and their windows into an easily accessible structure. (I use this to be able to reach any window in any other terminal window on any host with max 4 keypresses)

This is an awfully specific request. However, I plan to soon add support for workspaces, which should give the user access to, for example, 40 panes within 2 keypresses, given a hypothetical 10 workspaces and 4 panes per workspace.

> Why choose Go? Just curious.

Good question! I chose Go for its go routines and channels. I somewhat wish I used Rust simply because of its elegance. 3mux's performance bottleneck right now is completely IO, so I don't think moving to Rust would make a noticeable difference to the end user apart from the installation process.

Comment · 6 years ago
Hey HN,

I'm a long-time user of i3 (now sway). I wrote this tool to provide the elegance of i3 to terminal users everywhere, especially for people like myself who sometimes use a non-i3 wm or no window manager at all (e.g. when testing code on a bare-bones raspberry pi).

Cheers!

Comment · 6 years ago
This was exactly the issue! I just pushed fixes for this problem.
Comment · 6 years ago
> Aren’t you concerned by the fact that Wikipedia is open to editing by the public?

Arguably the thrill of uncertainty could add to the fun :D

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton