modrobert boosted

Absolutely thrilled to be enjoying my Amiga 1200 tower for music creation, finally! I'm loving this ❤️ 😍

#amiga #retrocomputing #retro

modrobert boosted
modrobert boosted
modrobert boosted
modrobert boosted

Sony's introduction of the PS2 Linux Kit caught the attention of researchers at NCSA. They combined 70 PS2 consoles in 2003 to form a supercomputer, highlighting its ability to perform complex scientific calculations.

credit: reddit.com/r/ObsoleteSony/comm

#linux #opensource

modrobert boosted
modrobert boosted

It took a researcher fewer than 2 hours to hijack OpenClaw: thenewstack.io/openclaw-moltbo via @TheNewStack & @sjvn

Do not--I repeat--do not use #AI tools OpenClaw or Moltbook. They really have no security to speak of.

modrobert boosted
modrobert boosted
modrobert boosted

"Animated Bokeh" has been on my whiteboard for a long time, and this is the result.

I thought it would just be for cheesy novelty effects, but it also does lightfield manipulation that was cooler than I expected.

youtube.com/watch?v=Kg_2MAgS_pE

modrobert boosted
modrobert boosted
modrobert boosted
modrobert boosted

So how do you implement fork() on a system that have a global memory model and thus don't actually have per-process memory mapping?

Here's how you do it:

1. Compile all object files as resident code (re-entrant code) with single section storing all static data (both sdata and sbss).

2. First store values of local variables that the child process needs to static variables.

3. Perform first part of the fork by spawning a new child process. Pause the parent and let the child process execute. Note that some sneaky setjmp/longjmp kind of magic has to be done the stack of the child process to proceed execution from the right point, as well as setting up the return value (pid) to 0 for the child. The return value indicates whether the execution is in the context of the child (0) or parent (the parent get's the pid of the newly created child process).

4. In child: Allocate a new static data segment and copy the one from the parent. Note that since the parent is paused at this time it is safe to access the static data. Initialize the heap and other internal C library structures.

5. In child: Copy the parent's state to the child. Anything that the child accesses that is stored in the local variables or heap must be cloned. This involves recreating all pointers, as the addresses will be different - just direct copying won't work. Note that since the parent is paused at this time it is safe to access the structures and heap and clone the necessary objects. Set local variables to point to either the new objects allocated or the values stored in the static variables at step 2.

6. In child: Tell the parent process that it may continue execution.

See? It's not that hard!

But seriously, yes it's quite tricky. I have a hunch that hacks like this are kind of a lost art.

#programming #hacking

modrobert boosted
modrobert boosted
modrobert boosted

What the actual fuck. It's not April Fools Day, right? This is real?! Fuck you, SpaceX. Maybe this will help regulators realize how fucking shortsighted companies' plans in orbit are?

Surely the FCC won't rubber-stamp-approve this one??... ONE MILLION STARLINKS FUUUUCCCKKKKKK

au.pcmag.com/networking/115649

modrobert boosted

thinking about how there's a true solution to the trolley problem and union workers were the ones to point it out

modrobert boosted
Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.