top | item 39215321

Notcurses: Blingful character graphics/TUI library

162 points| tosh | 2 years ago |github.com | reply

45 comments

order
[+] tux1968|2 years ago|reply
The FAQ has some interesting entries:

Can I use Notcurses in my closed-source program?

Notcurses is licensed under Apache2, a demonstration that I have transcended your petty world of material goods, fiat currencies, and closed sources. Implement Microsoft Bob in it. Charge rubes for it. Put it in your ballistic missiles so that you have a nice LED display of said missile's speed and projected yield; right before impact, scroll "FUCK YOU" in all the world's languages, and close it out with a smart palette fade. Carve the compiled objects onto bricks and mail them to Richard Stallman, taunting him through a bullhorn as you do so.

[+] zokier|2 years ago|reply
Someone clearly understands what open source is about. It's a pet peeve of mine when devs pick permissive licenses and then act all appalled when it's inevitably not taken as do-no-evil copyleft.

If you have expectations, spell them out! We are not mind readers, different people and projects happen in very different contexts and backgrounds. Assuming or even worse, asserting, that there are some common principles or standards beyond whats written down is just narrowminded and maybe even hypocritical.

[+] sillywalk|2 years ago|reply
I'm reminded of a similar 'dark' quote from Theo de Raadt in 2001:

"...But software which OpenBSD uses and redistributes must be free to all (be they people or companies), for any purpose they wish to use it, including modification, use, peeing on, or even integration into baby mulching machines or atomic bombs to be dropped on Australia..."[0]

[0] https://marc.info/?l=openbsd-cvs&m=99118909527873&w=2

[+] maxbond|2 years ago|reply
Chaotic neutral
[+] norir|2 years ago|reply
Edginess rarely ages well.
[+] dpeck|2 years ago|reply
The same primary author just recently published a novel as well. If you enjoy the writing style of the readme/faq you may enjoy it too. Feels like it might be a good vacation read.

midnight's simulacra https://a.co/d/8tcx82V

[+] packetslave|2 years ago|reply
Posting an affiliate link is frowned upon, btw.
[+] jdhendrickson|2 years ago|reply
Bought his book just to support his efforts, yes I'm the one guy. He's got the type of chaotic energy real hackers generate. Love everything he's put on youtube.
[+] pimlottc|2 years ago|reply
The name is a bit close to “ncurses”. Also a screenshot early on would be helpful to illustrate what it can be used for.
[+] zamadatix|2 years ago|reply
The link at the starting of the second sentence "Things can be done with Notcurses that simply can't be done with NCURSES." does more justice for what it can do than any screenshots would.
[+] megmogandog|2 years ago|reply
Watched a bit of the demo video. Maybe I'm not the target audience but is this kind of an emacs approach to the terminal, in the sense of trying to put every possible graphical function into a TUI? For me at least the charm of TUIs is their graphical and functional simplicity, and if I wanted complex animations and layering and whatever all else that is I would look elsewhere... still cool though
[+] onyxringer|2 years ago|reply
Demos might seem superficial, but very often in CLI applications, there's this one little thing that if only could be done via bitmap would improve usability by a lot. And it's possible.
[+] jiveturkey|2 years ago|reply
> If your terminal has an option about default interpretation of "ambiguous-width characters" (this is actually a technical term from Unicode), ensure it is set to Wide, not narrow (if that doesn't work, ensure it is set to Narrow, heh)

lovely!

[+] wolletd|2 years ago|reply
For the handful slightly fancy TUI applications I wrote, I had some fun in just using raw escape sequences.

I really like the buildkit output style, I couldn't figure out how to do something like this – multiline output without a full-term application – with curses, so I did it myself.

[+] zokier|2 years ago|reply
I suppose you don't worry about the termcap madness and just rely on terminals being compatible enough?
[+] Juraph|2 years ago|reply
I remember when I decided I wanted to create a TUI for ROS2, I went through tens of libraries trying to figure out which would be best suited for what I wanted. I remember stumbling upon Nick's book "Hacking the planet with Notcurses". I Loved his attitude and passion, and felt it was fitting for what I was working on.

I was always impressed by how clean and consistent Notcurses was, I never found myself wanting for functionality or power. It was always performant and stayed out of my way when I was doing the un-orthodox. I consider it a shining example of the kind of culture that got me into this sort of thing. I look forward to working with it again when I find the excuse!

[+] keeganpoppen|2 years ago|reply
this guy is clearly some sort of genius. i love this so much. incredible.
[+] promiseofbeans|2 years ago|reply
His Bio on Amazon:

Computer scientist, nuclear engineer, clandestine chemist, novelist. nick black holds numerous degrees from Georgia Tech, and has worked at Nvidia, Google, and Intel, in addition to founding several companies. He's currently a principal engineer on Microsoft's Orbital space team.

https://www.amazon.com/stores/author/B086T64DLG/about

[+] ilaksh|2 years ago|reply
Are there escape codes for some of these things? Or most of them? I know you can draw a sixel image but can you shrink it etc. with some escapes read over ssh?
[+] db48x|2 years ago|reply
No, there is no escape code to shrink a sixel image. You have to do it the hard way: erase it, shrink the bitmap, and then redraw it.
[+] jakeogh|2 years ago|reply
I dont know, but the vid says terminal support is detected at runtime, and ssh support is mentioned around 1:29 in the video. So eh maybe?
[+] bowsamic|2 years ago|reply
Nick presents the following nightmarish dystopia: what if the demoscene were created by americans?

What a bad vibe. Get away from me, please

[+] asystole|2 years ago|reply
I disagree but this is an extremely funny insult