Paul Tarvydas 2024-07-22 02:34:12 đź“ť 2024-07-19-Why Do We Need Operating Systems?
Operating systems are generally thought, by software developers, to be necessary. What do operating systems accomplish? Engine for running code written in the function-based paradigm. Library of pre-fabricated subroutines that could be used in any app.
Ivan Reese 2024-07-22 03:32:26 Good follow-up to your meetup presentation.
Questions:
We had operating systems before we had context-switching and protected memory and such, right?
You say "function-based" and "opcode-based" — are there any other relevant styles here?
Paul Tarvydas 2024-07-23 03:42:22
We had operating systems before we had context-switching and protected memory and such, right?
No, I think that context-switching and operating systems were conflated together from the start and appeared to be a single entity. Hardware-based memory protection did come later, when programmers discovered that their feet were missing.
You say "function-based" and "opcode-based" — are there any other relevant styles here?
programmingsimplicity.substack.com/p/2024-07-22-paradigms-for-thinking?r=1egdky
Ivan Reese
đź“ť 2024-07-22-Paradigms For Thinking About Problems And Programs
Programs are, ultimately, assembler. Programming does not need to be functional. Example: Prolog is a style of programming, you need to build an engine in assembler to use Prolog. Functional programming is a style of programming, you need to build an engine in assembler to use functional programming. “Context-switching” and “traps” and “protection rings” are part of the engine, but, we tend not to recognize these as being auxiliary parts of software.
Jack Rusher 2024-07-23 07:35:37 The first operating systems were just job queues that ran a series of programs one after the other, without context switching or memory protection.
Peter Saxton 2024-07-22 18:48:05 I have put my structural editor in a "cloud native" shell. vimeo.com/988536234?share=copy I think quickly writing scripts has more value than quickly writing applications, because applications are normally meant to be around longer.
Jasmine Otto 2024-07-22 19:51:28 I wrote DendryScope, a static analysis tool for interactive fiction, quests, and dialogue in videogames. Given a story written in Dendry, the skein will generate all of the playtraces which match queries such as 'reached the good ending, did not find the thief's treasure, and offended the barkeep'. jazztap.github.io/DendryScope
More detail is available in our conference paper, which describes the technical system and documents further use cases. If you're wondering why the tool currently works on one Dendry game and not all of them, please let me know so I have an excuse to finish the transpiler. ojs.aaai.org/index.php/AIIDE/article/view/27527
Kartik Agaram 2024-07-22 19:55:55 Ahh, that first paragraph helps a lot in making sense of the project page!
Ezhik 2024-07-23 10:45:30 do little things count? because i made a little thing. i'm not a big fan of using repls for messing around because i want to go back and redo things all the damn time. recently i caught myself opening a text editor and doing ~_*watch -n1 some-script*_~
in a separate window.
so i went ahead and made a little (vim)script that does just that - it automatically reruns your code as you type.
it's been pretty convenient for doing little bits of napkin math.
mastodon.social/@Ezhik/112830950176229170
bsky.app/profile/ezhik.bsky.social/post/3kxv2cusodm27
Ezhik 2024-07-23 10:46:38 also also i'd love to hear about everyone's napkin math type scripts and apps, little fiddles and things like that :)
Konrad Hinsen 2024-07-23 17:03:50 My go-to medium for such things is Emacs and its org-mode. You can put code snippets in org files and run (or re-run) them by typing Ctrl-C Ctrl-C. Perfect for little experiments, and works with dozens of languages.
Beni Cherniavsky-Paskin 2024-07-23 19:52:00 See also entr for watching files & re-running arbitrary commands.
P.S. Be a bit mindful of side effects incomplete code can have, may need some defensive habits...
(One habit somebody taught me is only type -rf
at the very end of rm
commands, just in case I accidentally press Enter before I finished.)
Ezhik 2024-07-24 16:16:14 definitely not writing any code with side effects in this but actually would be good to have some nicer safeguards beyond "don't do this"
Ivan Reese 2024-07-27 23:15:41 Ivan Reese 2024-07-28 03:54:11 The most delicious sup of 14th century references you've ever supped upon. Eat well, enjoyers.
Ivan Reese 2024-07-28 03:56:34 Little known fact, the creature is ~actually~ called "Shakespeare's monster"