Tim Chase

@b0rk Not only have I had this situation, I also have the reverse on my OpenBSD box, where pressing backspace inside tmux sends a control+h (0x08), so to actually backspace I need to type control+backspace (0x7F)

It works fine outside tmux. Gotta get that sorted out at some point. #termcap #terminfo

JdeBP

@bean @chrisvest

Mishandling is a problem to this day. Many people know of ECMA-48. Fewer have read and fully understood ECMA-35, which explains the extensible and general structure of escape and control sequences.

#terminfo #TerminalEmulators

JdeBP

@bean

When it comes to minimum required common functionality, I've found that if one starts from scratch in the 21st century, the capabilities that one has to have in order to flag the useful differences among terminals and terminal emulators have almost no parallels in #terminfo at all.

jdebp.uk./Softwares/nosh/guide/commands/TerminalCapabilities.xml#CAPABILITIES

Are you looking for something ?

jdebp.uk
JdeBP

@bean

Of course, there is the O'Reilly book on #termcap and #terminfo, which does have that sort of documentation. But it hasn't been updated since 1992, thus tending to reinforce your point. (-:

Mark Gardner

@tpope “I want things to work by default instead of work for the twelve people who've studied them in detail and have limitless time to fiddle.”

I’m not sure if @jwz still believes his quip from 1998 (“#Linux is only free if your time has no value” jwz.org/doc/linux.html), but @bean’s #terminfo rant above seems to confirm it’s still true.

linux

www.jwz.org
Want Change? W🔁rk T🔁gether☑

Women in Computing, Science, Engineering who contributed (Crediting the unmentioned and some still alive to praise!)...

=========================================================
INTRO (or skip to LIST) "We never talk about these women"... (Version 11)
=========================================================

Too many men got the credit for other people's work!

Usually men are either given or taking the credit all for themselves.

We see it day to day. But not today!

THIS POST GIVES THE UNSAID THE CREDIT !
Non-men are usually not given the credit they deserve SO HERE IT IS!

A dedicated list and #Justice for all the silent injustices!

Name + reasons / what they + hashtags + links for future generations BELOW!...

========================================================
🔁 ONE BIG *FEDIVERSE POST* TO BOOST / REPLY TO FOREVER 🔁
========================================================

Click reply to add more to this collection + the Wikipedia link please...

...so society and academic writers can use these names as alternative sources and lists!

=================================
=======LIST STARTS HERE==========
=================================

We never talk about... (Fediverse people first + #FreeSchool mostly checked / verified these - mostly not a Twitter bot acc!)

*Lynn Conway* #LynnConway RIP 2024 [Special mention]
#trans woman #CPU #designer
(more at end of this post, CTRL-F name!)

*Lisa Melton* #LisaMelton
#Safari + #WebKit projects at #Apple, underground comics, newspaper graphics, Adobe and Netscape, #transcoding + podcast
FEDIVERSE: @lisamelton )

Emily M. Bender (Prof / she / her) #EmilyMBender
Professor, Linguistics, University of Washington, Faculty Director,
FEDIVERSE: @emilymbender

Timnit Gebru (she / her) #TimnitGebru
Fired from Google for raising issues of discrimination in the workplace:
wired.com/story/google-timnit-.
Writes about the dangers of large language models or #LLM:
Founded The Distributed AI Research Institute (dair-institute.org/) to work on community rooted AI research.
FEDIVERSE: @timnitGebru

*Molly White* #MollyWhite
crypto researcher & critic, software engineer, wikipedian, @web3isgreat
FEDIVERSE: @molly0xfff / hachyderm.io/@molly0xfff
FEDIVERSE: @web3isgreat @web3isgreat / indieweb.social/@web3isgreat

*Vesna Manojlovic* (she / her)
Community Builder (UnCiv) / hacker / mother / artist / feminist / activist / émigré / Yugosaurus / NL
FEDIVERSE: @becha
WEB: becha.unciv.nl/

Cat Hicks #CatHicks
Social & Evidence Scientist. Defender of the mismeasured.
#psychology #evidence #statistics #measurement theory #research
Founder of the Developer Success Lab
FEDIVERSE: @grimalkina

==========================
List not yet found on Fediverse ??
(as yet found by #FreeSchool 2024)
==========================

*Sophie Wilson* #SophieWilson
#ARM #architecture inventor

Mary Ann Horton* #MaryAnnHorton CONFIRMED ALIVE (68)
Pioneer for Usenet and Internet. Contributed to Berkeley UNIX (BSD) including the #vi editor and #terminfo database + created the first email binary attachment tool uuencode.
WIKI: en.wikipedia.org/wiki/Mary_Ann
WEB: maryannhorton.com

*Radia Perlman* #RadiaPerlman
Spanning Tree Protocol inventor

*Adele Goldberg* #AdeleGoldberg
Origins of #OOP and #Smalltalk
Model of Communicating Entities (The Cuis-Smalltalk Book)
WEB: cuis-smalltalk.github.io/TheCu

*Kathleen Booth* #KathleenBooth
woman who wrote the first #Assembler,

*Sally Floyd* #SallyFloyd
pioneering work in Internet congestion control.

*Klára Dán von Neumann* #KlaraDanVonNeumann
Considered one of the first programmers, #MANIAC I and #ENIAC and coded the first monte carlo simulation.
en.wikipedia.org/wiki/Kl%C3%A1

Hedy Lamarr #HedyLamarr on Big Screen #Cinema
womenshistory.org/education-re
Film called: "Bombshell: The Hedey Lamarr Story" imdb.com/title/tt6752848/

*Mary Kenneth Keller* #MaryKennethKeller
First woman to earn a PhD in computer science (almost first person ever, but the first man to earn the degree accepted his diploma at Washington University in Saint Louis earlier the very same day.)
SISTER Mary Kenneth Keller! Religious... !
onwisconsin.uwalumni.com/on-al

Grace Hopper #GraceHopper RIP 1906-1992
Coined the term "bug" (after an actual bug caused a bug) !!!!
Spoke at Penn State ~1970
WIKIl en.wikipedia.org/wiki/Grace_Ho

*Dorothy Denning* #DorothyDenning
Invented Intrusion detection systems, huge in information security
WIKI: en.m.wikipedia.org/wiki/Doroth

*Barbara Liskov* #BarbaraLiskov CONFIRMED ALIVE!
Pioneer contributions to programming languages + distributed computing
The L in the “SOLID” principles of object oriented design.
WIKI: en.wikipedia.org/wiki/Barbara_

*Nancy Lynch* #Nancy Lynch
Pioneer theoretician of distributed systems.
WIKI: en.wikipedia.org/wiki/Nancy_Ly

*Nancy Leveson* #NancyLeveson CONFIRMED ALIVE!
Pioneer of safety-critical systems such as the Traffic Collision Avoidance System (TCAS)
Editor of the journal IEEE Transactions on Software Engineering.
Held memberships in the ACM, IEEE Computer Society, System Safety Society, and AIAA
WIKI: en.wikipedia.org/wiki/Nancy_Le

*Ada Lovelace* / Augusta Ada King, Countess of Lovelace #AdaLovelace
English mathematician and writer, worked on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine.
She was the first to recognise that the machine had applications beyond pure calculation.
WIKI: en.wikipedia.org/wiki/Ada_Love
Museum Exhibit: computerhistory.org/press-rele
Audio Talk / Interview: spectrum.ieee.org/qa-adele-gol

*Susan Graham* #SusanGraham
1st female CMPSC prof and only female for a decade+ at UC Berkeley and
en.m.wikipedia.org/wiki/Susan_

*Mar Hicks* #MarHicks
Women, Gender, Sexuality in Computing istory
computerhistory.org/blog/women
amazon.com/Programmed-Inequali

*Diane Greene* #DianeGreene - friend of JohnMashey @JohnMashey
Software manager at SGI:
WIKI: en.m.wikipedia.org/wiki/Diane_

*Megan Smith* #MeganSmith - friend JohnMashey @JohnMashey
Worked at General Magic
en.m.wikipedia.org/wiki/Megan_

*Sue Owicki* #SueOwicki - friend of JohnMashey @JohnMashey
Consulting for SGI
en.m.wikipedia.org/wiki/Susan_

Lizy John:
Professor at University of Texas at Austin, Indian American electrical engineer, Editor-in-Chief (EIC) of IEEE MICRO
WIKI: en.m.wikipedia.org/wiki/Lizy_J

(Potential contact relative to above and more):
JohnMashey @JohnMashey who worked at Bell Labs, crucial time for CMPSC, 100+ talks around USA as an ACM National Lecturer. Decades in Silicon Valley, including 22.5 years as Trustee at Computer History Museum. Has met many terrific people including above.

*Laurie Spiegel* #LaurieSpiegel
Bell Labs in 1973 developed computer music systems (GROOVE, Alles), did most of the design work on the alphaSyntauri system (used by Apple II) and later the McLeyvier, 1986 she released her own algorithmic composition software called Music Mouse.Her musical interpretation of Kepler's "Harmonices Mundi" is Track 1 of the golden record on board Voyager.
She also plays the guitar and lute.
WIKI: en.wikipedia.org/wiki/Laurie_S

========================
(more as a list) and other info...
========================

*Ida Rhodes* #IdaRhodes
*Carol Shaw* #CarolShaw
*Shafi Goldwasser* #ShafiGoldwasser
*Edith Clarke* #EdithClarke
*Annie Easley* #AnnieEasley
*Joyce Little* #JoyceLittle
*Barbara Liskov* #BarbaraLiskov
*Jeannette Wing* #JeannetteWing
*Pamela Zave* #PamelaZave
*Muffy Calder* #MuffyCalder
*Ursula Martin* #UrsulaMartin

============================
Original #ENIAC programming team:
============================

Kay McNulty #KayMcNulty
Betty Jennings #BettyJennings
Betty Snyder #BettySnyder
Marlyn Wescoff #MarlynWescoff
Fran Bilas #FranBilas
Ruth Lichterman #RuthLichterman

+ maybe some black women were also involved with this project but sadly this has not been well documented and information about them may have been lost in the historical record.

==================================
OTHER SOURCES AND INFO FOLLOWS:
==================================

#WomenInTechBook <== Book

=======================

Notable Women In Computing
A Playing Cards Project:

medium.com/csforall-stories/no
========================================

Association for Women in Computing (AWC)
www.awc-hq.org

========================================
Klára Dán von Neumann (John von Neumann's wife)
...MORE INFO...
========================================

Considered to be one of the first programmers:
en.wikipedia.org/wiki/Kl%C3%A1

She was Head of the Statistical Computing Group at Princeton, and worked at Los Alamos laboratory. She programmed the MANIAC I and #ENIAC and coded the first monte carlo simulation.

The Lost Women of Science podcast devoted an entire season to her, I've been meaning to get around to finishing it:
lostwomenofscience.org/season-

=====================================
Computer History Museum’s "Hall of Fellows"
includes many of the women mentioned + more!
=====================================

computerhistory.org/hall-of-fe

⬇️ EXAMPLE SEARCH
= Adele Goldstine #AdeleGoldstine computerhistory.org/collection

aardvark @aardvark said "I carried a box for Adele after a conference, and have her books!" (ioc.exchange/@aardvark/1126182)

=======================
*Lynn Conway* #LynnConway RIP 2024
...more info / story...
=======================

#trans woman #CPU #designer

Lynn developed "generalized dynamic instruction dispatch" for IBM in 1966.

2 years later she was kicked out, just after Robert Tomasulo published the "Tomasulo Algorithm" for out-of-order execution of floating point instructions, utilizing Lynn's work.

Everyone knows Tomasulo (and he did great work, mind you!), but no-one knows Lynn.

Later, in technical compsci, you may stumble upon highly integrated circuits, everyone there knows #VLSI but not the inventor, our dear Dr. Conway.

Her story, her struggle against IBM who took decades to apologize to her for her mistreatment. She transitioned in darker times and pioneered not "only" in compsci. She was what many would call "greater than life". She died early Jun 2024.

Today let's remember Lynn 🏳️‍⚧️
Today and tomorrow we fight on ✊
See also: Talk on Wikipedia: Out-of-order execution
en.wikipedia.org/wiki/Talk:Out

The name of Conway is usually dropped and both concepts (register renaming etc. and multiple-issue) subsumed under one, effectively erasing Conway's work. If it isn't then multiple-issue is often erroneously attributed to Yale Patt.

====================
CREDIT / SOURCES:
====================
All info ripped, added, transformed from Internet / Wiipedia / Fediverse by #FreeSchool and the many posts from this thread to re-make this post:

todon.eu/@ljrk/112614620740598

============================================
🚀 Boost / Copy / Study for resilience / reference / backup.
============================================

#Science #Engineering #Computing #Computers #Engineer #Women #Inventors #Creators #Hackers #Pioneers #Programmers #Researchers #Research #Founders #Professors

JdeBP

@_bapt_ @mpts @zirias

I did say "with the #terminfo database files".

unibilium uses those database files. I don't remember offhand the other fairly prominent example that I encountered years ago. It was go or rust or something. There are several direct to terminfo database libraries in C#, too. Mono uses one, for starters.

Not only does the world usually expect terminfo nowadays, it even often works directly to the database files, no libterminfo or (n)curses in the picture at all.

JdeBP

@zirias @_bapt_ @mpts

That's the thing that you're missing.

"full terminfo support" *is not* solely just providing the libraries, in the world that we live in, as there are things that do not need the libraries. It's actually not unreasonable to find independent implementations that *just* require the identical data files, which ironically are not part of the standard. Because the world can and does code to *them* not to (n)curses or even to libterminfo.

#FreeBSD #terminfo

JdeBP

@zirias @mpts

Actually you did: "Using termcap/terminfo directly nowadays means using curses." I hope that you understand the point that I was making, now. I don't want to belabour it. (-:

Things come along that expect either the #termcap compatibility functionality of #terminfo and break on true termcap, or the existence of true terminfo databases. Not often enough to press #FreeBSD to change, it appears, but still on a regular basis.

JdeBP

@zirias @_bapt_ @mpts

You said: "Using termcap/terminfo directly nowadays means using curses. All the libraries needed for that are provided by curses (and nothing else)."

That's wrong. There are things around that don't use (n)curses and access #terminfo directly. (n)curses isn't the one-and-only abstraction that everyone uses. The world needn't write to it, and cases come along again and again where providing (n)curses libraries isn't enough. One has to provide the exact same database.

Felix Palmen 📯

@JdeBP @mpts I never said there was no software using #terminfo databases directly, I just don't follow your argument this was a problem on #FreeBSD. These files are provided from a port/package, just install it (when "porting", add a run-dependency) 🤷‍♂️

I certainly see the need why people come up with something like this. The "classic" implementations force you to add silly "singleton" stuff like this:
github.com/Zirias/dos2ansi/blo
... which wasn't a problem here, but as soon as you'd go multithreaded, you'd have to properly lock-guard this, and even worse, say you'd want some service serving different clients with different terminals simultaneously, you'd have to spawn a child process for each and every client 🙄

dos2ansi/src/bin/dos2ansi/ticolorwriter.c at c606482c1723273dfd1251acd0d466f69a0ae58e · Zirias/dos2ansi

Converter for old MS-DOS/ANSI.SYS text files. Contribute…

github.com
Felix Palmen 📯

@_bapt_ @JdeBP @mpts "binary compatible" is just an unusual wording regarding compatibility with some binary (data) files. It's normally used in the context of ABIs.

So, sure, this lib can (correctly?) parse and use binary #terminfo db files. I don't get how this should be an issue with having to install these from ports/packages for #FreeBSD? A port can simply add a dependency.

With base curses (including terminfo/termcap "standalone" libs) using terminfo by default as soon as it is installed, anyone can have terminfo everywhere on FreeBSD, it's just optional.

JdeBP

@_bapt_ @zirias @mpts

unibilium is definitely binary compatible with the #terminfo database files, as I said, otherwise it couldn't work.

JdeBP

@zirias @mpts

You haven't experienced nearly enough softwares. (-:

There have been alternatives to those, that are binary compatible with the #terminfo database files, but that are otherwise designed from scratch, for years now. As I said, #NeoVIM used one.

I have this vague memory that go goes its own way on this, too, but I might be mis-remembering. I've definitely seen over the years several ground-up implementations outwith C and C++ development.

#FreeBSD

JdeBP

@zirias @mpts

Wrong. There are libraries around that don't use (n)curses and access #terminfo directly. I remember this pain with NeoVIM and FreeBSD some years back. #NeoVIM used one of these non-curses libraries that provided direct access to terminfo.

(n)curses isn't the one-and-only abstraction that everyone uses.

JdeBP

@mpts @zirias

No. #FreeBSD provides only #termcap as standard right now. #terminfo is only available as a port.

It's possibly the only mainstream operating system where this is still the case. NetBSD and OpenBSD both provide terminfo. I haven't checked Illumos.

github.com/freebsd/freebsd-src

freebsd-src/share/termcap at main · freebsd/freebsd-src

The FreeBSD src tree publish-only repository. Experimenting…

github.com
Felix Palmen 📯

@JdeBP AFAIK, base #curses in #FreeBSD 14 already uses #terminfo (instead of the bundled #termcap) *if* it is installed (as a package). But sure, having it directly in base and getting rid of termcap would be much nicer.

JdeBP

@zirias

I wonder how much more this has to happen before some momentum gains behind an effort to switch #FreeBSD to #terminfo. (I vaguely remember that there's an open issue that has been languishing for years.)

Programmer 832-529 🍅

By the way, if there happens to be a #ncurses or #terminfo expert out there, I got a question for you.

What's the "right" way of sending the capabilities as there are global variables and things extracted with tgetstr(capname)

As far as I can tell, putp(clear_screen);
is identical to
c = tgetstr("cl",&ap); putp(c);

The clear_screen and cl values coming from terminfo(5).

The answer isn't "use the real ncurses functions" unless you can punt 256 colours (fg and bg) through.