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
What I Learnt Building a Lobsters TUI in Rust
https://www.wezm.net/technical/2019/04/lobsters-tui/ [www.wezm.net]
2019-04-25 15:36
tags:
intro-programming
rust
tty
As a learning and practice exercise I built a crate for interacting with the Lobsters programming community website. It’s built on the asynchronous Rust ecosystem. To demonstrate the crate I also built a terminal user interface (TUI).
source: L
The Squeal of Data
https://tedium.co/2019/03/14/teletype-computer-evolution-history/ [tedium.co]
2019-03-16 16:33
tags:
hardware
networking
retro
tty
My favorite sound in computing is one that I haven’t actually had to use on a computer in nearly 20 years. The modem was a connection to a world outside of my own, and to get that connection required hearing the sounds of a loud, abrasive handshake that could easily be mistaken for Lou Reed’s Metal Machine Music. I’d like to compare it to another kind of sound for a little bit—the noise of a “straight key” used for a telegraph. Both technologies, despite more than a century in age difference, seemingly turned data into sound, then into electrical pulses, and back into sound again. It’s no wonder, then, that you can actually trace the roots of the modem back to the telegraph, and later the teletype machine. Data and wires, simply put, go way back. And it’s not the only example of the telegraph’s quiet influence on modern computing. Today’s Tedium draws a line between the modern computer and the pulses that inspired it.
default to OXTABS off
https://marc.info/?l=openbsd-cvs&m=155238850020246&w=2 [marc.info]
2019-03-13 22:05
tags:
bugfix
openbsd
retro
tty
Almost all terminals now support hardware tabs so default to OXTABS off.
The future is here!
Richer command line interfaces
http://ballingt.com/rich-terminal-applications-2/ [ballingt.com]
2019-02-28 20:54
tags:
tty
unix
ux
This post is preceded by a description of two types of command line interfaces. The more command line-like of these two types integrates into a normal shell session (python, telnet, bash) instead of using the alternate screen to present a fullscreen text user interface (top, vim, emacs). Sometimes programs blur this boundary with fancy formatting in a line-oriented command line interface, carefully avoiding overwriting previous user inputs and command outputs. On-keystroke autocompletion, multiline editing, inline documentation and syntax highlighting can be implemented with these techniques, making command line interfaces more useful.
I think this is trending towards dangerously fragile, but it’s still good information.
source: L
Tig: text-mode interface for Git
https://jonas.github.io/tig/ [jonas.github.io]
2019-02-14 21:01
tags:
git
swtools
tty
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.
https://github.com/jonas/tig
source: L