State of the Terminal
https://gpanders.com/blog/state-of-the-terminal/ [gpanders.com]
2024-04-30 04:31
tags:
development
systems
text
tty
unix
It’s only been in the last couple of years that I’ve begun to dig deep into the inner workings of how terminal emulators, and the applications that run inside of them, really work. I’ve learned that there is a lot of innovation and creative problem solving happening in this space, even though the underlying technology is over half a century old1.
I’ve also found that many people who use terminal based tools (including shells like Bash and editors like Vim) know very little about terminals themselves, or some of the modern features and capabilities they can support.
In this article, we’ll discuss some of the problems that terminal based applications have historically had to deal with (and what the modern solutions are) as well as some features that modern terminal emulators support that you may not be aware of.
source: Dfly
a history of the tty
https://computer.rip/2024-02-25-a-history-of-the-tty.html [computer.rip]
2024-03-11 07:44
tags:
article
hardware
retro
text
tty
It’s one of those anachronisms that is deeply embedded in modern technology. From cloud operator servers to embedded controllers in appliances, there must be uncountable devices that think they are connected to a TTY.
source: Dfly
npm search RCE? - Escape Sequence Injection
https://blog.solidsnail.com/posts/npm-esc-seq [blog.solidsnail.com]
2023-12-16 00:59
tags:
exploit
security
text
tty
turtles
In a previous post I went over a vulnerability I discovered in iTerm2 that allowed code execution in the shell by leveraging the output of a command. Today, We’ll focus on the other side of that interaction, the application running underneath the terminal.
"[31m"?! ANSI Terminal security in 2023 and finding 10 CVEs
https://dgl.cx/2023/09/ansi-terminal-security [dgl.cx]
2023-10-20 19:20
tags:
exploit
security
text
tty
turtles
unix
This paper reflects work done in late 2022 and 2023 to audit for vulnerabilities in terminal emulators, with a focus on open source software. The results of this work were 10 CVEs against terminal emulators that could result in Remote Code Execution (RCE), in addition various other bugs and hardening opportunities were found. The exact context and severity of these vulnerabilities varied, but some form of code execution was found to be possible on several common terminal emulators across the main client platforms of today.
source: HN
The Biggest Scandal In Speed Typing History
https://www.youtube.com/watch?v=maCHHSussS4 [www.youtube.com]
2023-06-27 02:30
tags:
benchmark
factcheck
hoipolloi
investigation
retro
tty
video
Barbara Blackburn is often cited as the fastest typist in history. She even appears in the Guinness Book of World Records! She must be legit right? Well, maybe not. I was supposed to make a video about the new typing speed world record, and instead got pulled into a Barbara Blackburn rabbit hole that I can’t seem to escape. TL;DR She’s not that fast.
Discovering one bug after another in the UTF-8 decoding logic in OpenBSD, then going on to fix other aspects of related code.
https://research.exoticsilicon.com/articles/unbreaking_utf8_on_the_console [research.exoticsilicon.com]
2023-03-10 20:32
tags:
bugfix
investigation
openbsd
programming
text
tty
Still, the debugging process we went through here to discover the cause of the problems in the first place is worth sharing from the beginning, as the code in question was particularly bad with plenty of textbook mistakes. Who knows what you might find in your own investigations elsewhere.
Email: https://marc.info/?l=openbsd-tech&m=167734639712745&w=2
source: L
Lotus 1-2-3 reversing
https://lock.cmpxchg8b.com/lotus123.html [lock.cmpxchg8b.com]
2021-03-03 05:50
tags:
investigation
retro
tty
A ton of hacking later, and I do now have a usable driver for dosemu that supports arbitrary resolutions, just look at all those columns!
source: HN
Modernizing the OpenBSD console
https://www.cambus.net/modernizing-the-openbsd-console/ [www.cambus.net]
2020-08-31 23:59
tags:
graphics
openbsd
tty
update
At the beginning were text mode consoles. Traditionally, *BSD and Linux on i386 and amd64 used text mode consoles which by default provided 25 rows of 80 columns, the “80x25 mode”. This mode uses a 8x16 font stored in the VGA BIOS (which can be slightly different across vendors).
source: L
present - A terminal-based presentation tool with colors and effects.
https://github.com/vinayak-mehta/present [github.com]
2020-08-30 21:36
tags:
release
swtools
text
tty
Slides follow Markdown syntax.
And there’s fireworks!
source: HN
Animation of the SHA-256 hash function in your terminal
https://github.com/in3rsha/sha256-animation [github.com]
2020-05-13 22:22
tags:
hash
interactive
tty
visualization
Clear Your Terminal in Style
https://adammusciano.com/2020/03/04/2020-03-04-clear-your-terminal-in-style/ [adammusciano.com]
2020-03-05 20:00
tags:
admin
sh
tty
If you’re someone like me who habitually clears their terminal, sometimes you want a little excitement in your life. Here is a way to do just that.
source: HN
Building interactive SSH applications
https://drewdevault.com/2019/09/02/Interactive-SSH-programs.html [drewdevault.com]
2019-09-02 18:44
tags:
admin
programming
swtools
tty
unix
Writing interactive SSH applications is actually pretty easy, but it does require some knowledge of the pieces involved and a little bit of general Unix literacy
source: HN
everything you ever wanted to know about terminals
http://xn--rpa.cc/irl/term.html [xn--rpa.cc]
2019-08-24 18:21
tags:
c
programming
tty
unix
the way terminal emulators handle fancy things like color and cursor shape aren’t some mysterious opaque black box you can only access through a library. accessing these capabilities is actually extremely simple; they can even be hardcoded into a text file and displayed by cat or less. or even curl! the way you do this is with something called ANSI escape sequences.
source: L
ASCII table and history
https://bestasciitable.com/ [bestasciitable.com]
2019-08-12 00:11
tags:
retro
standard
text
tty
To understand why Control+i inserts a Tab in your terminal you need to understand ASCII, and to understand ASCII you need know a bit about its history and the world it was developed in. Please bear with me (or just go the table).
Most teleprinters communicated using the ITA2 protocol. For the most part this would just encode the alphabet, but there are a few control codes: WRU (“Who R U”) would cause the receiving teleprinter to send back its identification, BEL would ring a bell, and it had the familiar CR (Carriage Return) and LF (Line Feed).
source: Dfly
OpenBSD ttyplot examples
https://dataswamp.org/~solene/2019-07-29-ttyplot.html [dataswamp.org]
2019-07-30 02:12
tags:
admin
openbsd
swtools
tty
I said I will rewrite ttyplot examples to make them work on OpenBSD. Here they are, but a small notice before:
Couple caveats, mostly want current.
Also: https://github.com/tenox7/ttyplot
source: L
Interview with Bill Joy
https://begriffs.com/pdf/unix-review-bill-joy.pdf [begriffs.com]
2019-07-25 03:44
tags:
development
interview
pdf
retro
swtools
text
tty
unix
The following interview is taken from the August 1984 issue of Unix Review magazine.
A lot of text editor history here, featuring of course, vi.
I think it killed the performance on a lot of the systems in the Labs for years because everyone had their own copy of it, but it wasn’t being shared, and so they wasted huge amounts of memory back when memory was expensive. With 92 people in the Labs maintaining vi independently, I think they ultimately wasted incredible amounts of money. I was surprised about vi going in, though, I didn’t know it was in System V. I learned about it being in System V quite a while after it had come out.
Plus some commentary on other topics.
The point is that you want to have a system that is responsive. You don’t want a car that talks to you. I’ll never buy a car that says, “Good morning.” The neat thing about UNIX is that it is very responsive. You just say, “A pipe to B” - it doesn’t blather at you that “execution begins,” or “execution terminated, IEFBR14.”
The trouble is that UNIX is not accessible, not transparent in the way that Interleaf is, where you sit down and start poking around in the menu and explore the whole system. Someone I know sat down with a Macintosh and a Lisa and was disappointed because, in a half hour, he explored the whole system and there wasn’t as much as he thought. That’s true, but the point is in half an hour, almost without a manual you can know which button to push and you can find nearly everything. Things don’t get lost. I think that’s the key.
source: grugq
fern: a curses-based mastodon client
https://github.com/enkiv2/fern [github.com]
2019-07-11 20:55
tags:
release
social
swtools
tty
web
modeled off usenet news readers & pine, with an emphasis on getting to ‘timeline zero’
source: L
Nested tmux
http://stahlke.org/dan/tmux-nested/ [stahlke.org]
2019-05-15 21:44
tags:
admin
swtools
tty
Put this in your .tmux.conf on both the local and the remote machines. You will have to edit it a bit if you have your keys mapped differently. Operation goes like this: press Shift-Up and you will be controlling the inner (remote) tmux, press Shift-Down to control the outer one.
source: L
Cidco MailStation as a Z80 Development Platform
https://jcs.org/2019/05/03/mailstation [jcs.org]
2019-05-03 19:32
tags:
hardware
programming
retro
tty
The Cidco MailStation is a series of dedicated e-mail terminals sold in the 2000s as simple, standalone devices for people to use to send and receive e-mail over dialup modem. While their POP3 e-mail functionality is of little use today, the hardware is a neat Z80 development platform that integrates a 320x128 LCD, full QWERTY keyboard, and an internal modem.
source: L
quinesnake
https://github.com/taylorconor/quinesnake [github.com]
2019-04-30 02:33
tags:
cxx
gaming
programming
tty
A quine that plays snake over its own source!
source: grugq