Hacker News new | past | comments | ask | show | jobs | submit | Shugyousha's comments login

> I honestly don't get the point of TUIs...

There are one or two advantages over regular GUIs, but that's it.

The biggest is probably that they are lightweight since there are no GUI library dependencies (and if there are TUI ones, they are usually much lighter than their GUI sisters). This also means there are fewer (if any) dependencies to distribute compared to a GUI.

The only other advantage I can come up with is that a TUI will have to be usable by keyboard only (in almost all cases). This is not a given for regular GUI libraries.

I'm not a fan of TUIs either. I think the only one I am using regularly is `tig` (https://jonas.github.io/tig/). I guess the reason is that I don't have to remember the git revision list syntax that way and that `tig` allows for easy commit searching with `/` ...


Have you heard about https://geminiprotocol.net/ ?


I also didn't know about `hyperfine`, very nice!

Even 80ms seems unnecessarily slow to me. 300ms would drive me nuts ...

I'm using a tiling window manager (dwm) and interestingly the spawning time varies depending on the position that the terminal window has to be rendered to.

The fastest startup time I get on the fullscreen tiling mode.

   hyperfine 'st -e true'
   Benchmark 1: st -e true
     Time (mean ± σ):      35.7 ms ±  10.0 ms    [User: 15.4 ms, System: 4.8 ms]
     Range (min … max):    17.2 ms …  78.7 ms    123 runs
The non-fullscreen one ends up at about 60ms which still seems reasonable.


You could maybe find out where the delay is by using st's Xembed support? Create a window with tabbed¹ in a tiling layout, open st in to it with "st -w <xid> -e true". If it is close to the monocle time, it is probably the other windows handling the resize event that is causing the slowdown not the layout choice.

To prove it to myself: I'm using river² and I can see a doubling-ish of startup time with foot³, iff I allow windows from heavier apps to handle the resize event immediately. If the time was a little longer(or more common) I'd be tempted to wrap the spawn along the lines of "kill -STOP <other_clients_in_tag>; <spawn & hold for map>; kill -CONT <other_clients_in_tag>" to delay the resize events until my new window was ready. That way the frames still resize, but their content resize is delayed.

¹ https://tools.suckless.org/tabbed/

² https://codeberg.org/river/river

³ https://codeberg.org/dnkl/foot


The result of running the same on st for me:

    Benchmark 1: st -e true
      Time (mean ± σ):      35.4 ms ±   6.9 ms    [User: 15.1 ms, System: 3.8 ms]
      Range (min … max):    24.2 ms …  65.2 ms    114 runs
This is on awesome-wm with the window opening as the 3rd tiled window on a monitor, which means it has to redraw at least the other two windows. I'm also running xfs on top of luks/dm-crypt for my filesystem, which shouldn't matter too much on this benchmark thanks to the page cache, but is a relatively common source of performance woes on this particular system. I really ought to migrate back to unencrypted ext4 and use my SSD's encryption but I haven't wanted to muck with it.


To get an idea of the cost of tiling (with bspwm, quarter screen tile and 2560x1440@60Hz screen):

  hyperfine -L args '','-c floating' 'st {args} -e true'
  Benchmark 1: st  -e true
    Time (mean ± σ):      25.0 ms ±   2.7 ms    [User: 10.5 ms, System: 3.7 ms]
    Range (min … max):    14.8 ms …  44.1 ms    197 runs

  Benchmark 2: st -c floating -e true
    Time (mean ± σ):      22.7 ms ±   2.6 ms    [User: 10.3 ms, System: 3.9 ms]
    Range (min … max):    20.7 ms …  35.4 ms    123 runs

  Summary
    'st -c floating -e true' ran
      1.10 ± 0.17 times faster than 'st  -e true'
Flexing my system too, heh.


> We're back to good ol' days of "Internet Explorer is the spec". It's just made by Google.

and the code (at least a large part of it in the form of Chromium) is Open Source. I don't think it's as bleak as people make it out to be.


Chromium is basically everything important anyway; Chrome is some sprinkle on top (I think some DRM stuff?)


It's the man page for the Nintendo device emulators of 9Front. 9Front is a distribution of the Plan 9 operating system (most likely the most usable because it's the most actively developed one)

The link is interesting because these emulators seem to be part of the standard distribution of 9Front. Most likely those are written from scratch, given that Plan 9 is not a POSIX system (unless they are using http://doc.cat-v.org/plan_9/4th_edition/papers/ape).


Without looking I'm going to guess that ape is A POSIX Emulator, so we have an emulator emulating an emulator.

Edit: it's A POSIX Environment, but it still contains features that are unnatural in Plan9 and could by bypassed with more work, so much like emulation.


Close. It’s ANSI/POSIX Environment. It’s been there since Plan 9 second edition. I think it was put there basically for TeX, but don’t quote me on that because I no longer remember where I read that and it isn’t in the original paper.

http://doc.cat-v.org/plan_9/4th_edition/papers/ape


APE is not an emulator, but a tiny POSIX implementation, with shims for unneded stuff.


Also, today npe superseded ape.


> 9Front is a distribution of the Plan 9 operating system

Ah that's the info I was missing, thanks! Indeed very interesting that emulators are part of the distribution.


Which really means this is a terrible way to emulate games.

The bug list is pretty darn unacceptable for a usable emulator.

You can’t even emulate PAL region games.

It’s a nice novelty that this is built in to the OS but the Linux/Android retro handheld scene is so much more wildly sophisticated than a half-broken command line emulator. Just jump on YouTube and search for an OnionOS overview to see what I mean.


Not being supported != not working.

Probably they would run faster and that's it.

Also, you can't compare GNU/Linux with 9front.


I’m pretty sure in the context of the manual it means PAL games don’t work.

Why can’t I compare them? If someone wants to emulate games they ought to compare operating systems. Like I said, cool that 9front has a built in emulator, but that doesn’t mean it’s a good use case of the OS.


Sounds about correct! I have one that I bought in 2018 but I remember it being more like 450+ € at the time.

I have had a fiber line connected during the whole time and it has served me well (I haven't done much customizing on it though, I have to admit. It's just the router for my home network).


I thought I wouldn't need a pkaydate even though I like the concept because it can only render at 30 FPS.

Turns out that 50 FPS is the limit: https://sdk.play.date/2.0.3/Designing%20for%20Playdate.html#...

That is more acceptable to me!


I love mine. The refresh rate is absolutely not an issue at all IMO.


> As a counter example, the "D3D Engineering Specs" do the same job, but are much more readable:

DirectX is not a standard so I don't think that makes this comparable. Most likely fewer people will have to read and implement it.



> I only care about game feeling and mechanics. If there are cutscenes I can't cancel, I'm out in a blink. Hence, I usually play competitive online games (currently a lot of Wild Rift), because they don't come with all that baggage.

I'm in a similar boat but I am 40.

My goto since about 6 to 7 years are roguelikes and fighting games. Those are very accommodating for gameplay-focused games that can be played in short bursts and they are very enjoyable for me at least.


Im quite sure this is supposed to be Udo Lindenberg

https://duckduckgo.com/?q=udo+lindenberg+80er+jahre&t=midori...

Note the UDO on the menu ...


While you may be correct, I'd caution it could be dangerous to attempt re-identifying any portrait of The Chuck.

For me, it's safety first... whoever it was, it's now Chuck Norris.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: