News for hackers. Stuff that matters.

aaronjanse

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.

Re:Show HN: My GitHub Readme Is Interactive on Thursday September 03, 2020 @09:21PM (#24370839)
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.

Re:What Is Nix? on Wednesday May 20, 2020 @07:14PM (#23253121)
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.

> 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).

Re:Show HN: Terminal Multiplexer Inspired by I3 on Monday April 13, 2020 @09:03PM (#22861823)
My understanding is that a terminal multiplexer consists of three parts: 1. Managing shells and windows 2. Parsing the ECMA-35/ECMA-48 escape/control sequences 3. Rendering the shells' parsed output within their window boundaries

> Can you share some resources etc on what could a good starting point if I want to explore this as a side-project?

I'm still looking for resources myself. Check out JdeBP's comment for some good information https://news.ycombinator.com/item?id=22847168

Re:Show HN: Terminal Multiplexer Inspired by I3 on Sunday April 12, 2020 @09:49PM (#22852393)
Thank you so much for this very helpful list. I'll integrate its suggestions into 3mux.
Re:Show HN: Terminal Multiplexer Inspired by I3 on Sunday April 12, 2020 @05:37PM (#22851179)
> 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.

Re:Show HN: Terminal Multiplexer Inspired by I3 on Sunday April 12, 2020 @03:48AM (#22846655)
> 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.

Re:Show HN: Terminal Multiplexer Inspired by I3 on Sunday April 12, 2020 @03:45AM (#22846652)
> 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.

Re:Show HN: Terminal Multiplexer Inspired by I3 on Saturday April 11, 2020 @03:57PM (#22843789)
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!

Re:Show HN: DNS over Wikipedia on Monday April 06, 2020 @01:26AM (#22791111)
This was exactly the issue! I just pushed fixes for this problem.
Re:Show HN: DNS over Wikipedia on Monday April 06, 2020 @01:04AM (#22791031)
> 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

Re:Show HN: DNS over Wikipedia on Sunday April 05, 2020 @10:49PM (#22790547)
Hey HN,

I saw a thread a while ago (linked in README) discussing how Wikipedia does a good job keeping track of the domains of websites like Sci-Hub or The Pirate Bay. Someone mentioned checking Wikipedia to find links to these sites, so I thought this would be a fun thing to automate!

To try it out, install an extension or modify your hosts file, then type in the name of a website with the TLD `.idk`.

For example: scihub.idk -> sci-hub.tw

Cheers!