Reflecting on all the times in my career as a software engineer I have been told that, yes, things were a bit unfair to me as a woman, but that I was being a trailblazer, I was the one discovering and establishing the path that would enable others to follow.

But you go back to the 70s and you see the same number of women programmers, being fed that exact same line
And in the 80s
and the 90s
and so on to today. The "trailblazer" narrative is a lie told by managers to make themselves feel better

@Xibanya

#AdaLovelace:

"fuck the manbabies, #women were here first"

(i may be paraphrasing, uh, slightly)

#programming

@Xibanya

#GraceHopper:

"Preach it, sister!"

(again, just some slight paraphrasing)

#programming #women

@Xibanya

#MargaretHamilton:

"That's right sisters! But a little help here please?"

😆

Ok, I'll stop. The point is made. There is no #programming without #women. woe to any manbaby who forgets

@benroyce @Xibanya
"huge stack of printouts"
That's the code for the Apollo Guidance Computer!

@ohmu @Xibanya

yup

fucking guiding men to the moon, with the computing power of a desktop calculator, and it worked perfectly

i don't know if there will ever be a greater programming tour de force ever again

@benroyce @ohmu @Xibanya She pioneered ideas we still use in embedded systems. Watchdog timers and Checkpointing.
@Dianora
Is there a name for the category of programs like the Apollo Guidance System where everything happens by being triggered at a particular time in a cycling clock?
It's a very different kind of program from everything I've ever worked with - e.g., environmental sim models written in FORTRAN and C.
@ohmu Several ways it can be done. Cooperative multitasking means each task does its own thing then starts the next task. Cooperates. Of course if a task hogs or infinite loops that's a problem. Nevertheless with a WD timer it can be done.
Another way is a single task that gets interrupted to do simple I/O tasks.
What you are describing is time slice and is nice for timesharing applications but not so much real time.
Really I've simplified but it's all online if you are curious. I'm too lazy to get up to look at my textbooks. ;) DST took it out of me. (hate it!)
@Dianora
Thank you.
I mostly get this.
@ohmu To keep things responsive for keyboard users, time slices are enforced which is not necessarily what you want for a task controlling how long to fire the rocket engine!.

I'm familiar with the term "event loop". That architecture is common: JavaScript uses it, as does the nginx web server, for just two examples that come to my mind immediately.

In event loop architecture, things happen either triggered by a clock or by some outside stimulus (often: IO available).

There is an OS call named "select" that can be used as the central hub of an event loop. I've myself coded event loops on two occasions in the 1990s; one was based on that. Was fun.

@ohmu @Dianora

@dj3ei @ohmu IRCD is an "event loop" driven process. It's triggered by I/O. Select, or Poll or kqueue or whatever else mechanism drives things.