Show more
m0xEE boosted

A question for my CS colleagues. I'm looking for examples for interpreters or JIT compilers in places one would not necessary expect in an operating system at runtime (in the widest possible context). Obvious examples are IMHO shells or (e)BPF/dtrace scripts. Some more exotic uses I can think of are interpreters for vector fonts (e.g. PS Type1 or TT hints) or the use of Prolog in the network configuration of NT4.

Do you know other examples?

web.archive.org/web/2004060319

#OS #compiler #interpreter

@newt @genmaicha
> dumbed down
Reformed and standardised 😏

@icon_of_computational_sin
Even though I understand how it works, I still hate it and no matter how much more comfortable I get with it with time, I still can't force myself into liking it 😖

m0xEE boosted

I forgot how much I hated git, but then I decided to port my GHC branch from 9.6 to 9.12. It's impressive how the industry manages to settle with the most mediocre solution to every possible problem literally every single time.

@kaia
I don't get people who can work out late in the evening and go to bed after that! How do they do it? 😤

m0xEE boosted

@33c74427f3b2b73d5e38f3e6c991c122a55d204072356f71da49a0e209fb6940 @newt
I'm not even touching GUI things — Firefox would probably be TOO slow, it is even on much more powerful PowerMac G5.

But for retrocomputing — still a nice machine, old software still works 🤷
@santiago often posts updates on adventures with the Cube (and G4 Mini too).

@33c74427f3b2b73d5e38f3e6c991c122a55d204072356f71da49a0e209fb6940 @newt
LLVM is always broken => no up to date Rust, Google dropped support for them in Go entirely,
You can get old gccgo to build with a plethora of patches — that would give you Go 1.10, building something useful requires backporting even standard library features. I did that for BloatFE — works fine, but for more complex things would require a lot of work.

@33c74427f3b2b73d5e38f3e6c991c122a55d204072356f71da49a0e209fb6940 @newt
It can! And it probably runs better than it does on G4 MacMini that I have — AFAIR you could put more RAM in it and use faster storage.
At this point these machines are only useful for retrocomputing.
Mine is headless and runs Linux 6.1 fine, I use it to host Perolma, print server, and a few other things, I also use it as a seedbox. But otherwise usefulness of 32-bit PowerPC machines is severely limited.

m0xEE boosted

@kaia
If you want to do audio — that's usually where all the related equipment goes, but in this case I don't see anything of the sort. You can certainly live without UPS, put your only computer under the table, attach the microphone arm to the table itself and throw the rack out.

m0xEE boosted

@VeroniqueB99 Aw, c'mon. Cops are almost people, too. Once this li'l guy graduates from the academy, it'll make more money than practically everyone it beats up, even before overtime.

@newt
OMG, just look at this: chromium.googlesource.com/chro
"As the early Web matured, web sites evolved from simple documents to active programs, changing the web browser's role from a simple document renderer to an operating system for programs"

I didn't know they have finally dropped the mask on browsers' role as a renderer for web documents, but they are calling this degeneracy "maturation" 🤦

@newt
If something starts happening in all of the tabs simultaneously — even as simple as pages getting reloaded at the same time and you are fucked!
Its effective working set is huge — in memory-constrained system pages start getting swapped in and out perpetually and it slows down to a crawl.

@newt
I'm not even touching the debauchery that is web-based software. Remember how people got fooled into thinking that Chrome's memory usage is modest despite it relying on OS processes for isolation? It allocates, it processes, it deallocates fast — looks good on paper and works relatively well with non-memory-constrained system.

@bacardi55
> What will win
Doing it with pseudographics in a preformatted block? 😈

@newt
This won't necessarily be true for software like mIRC: it has network buffers, it has log buffers — you can't keep swapping this stuff in and out without software slowing down drastically.
In other words, all of these metrics: both working sets and commit charge — only make sense in the context of operating in a memory-constrained system, and for software that was just launched — they simply aren't indicative of anything.

@newt
Exactly — and calculator wasn't, all of its pages were accessed "recently" so they are assumed to belong to the working set, keep using it for some time and it would shrink significantly. This is the behaviour I usually observe with software of this kind — local to the computer it's running on: most of its pages can get swapped out and software keeps running nicely.

Show more
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml