bleistift2

joined 8 months ago
[–] [email protected] 9 points 20 hours ago* (last edited 20 hours ago)

What you deserve for not voting democrat.

I guess the Palestinians should’ve voted democrat, too.

[–] [email protected] 30 points 20 hours ago (1 children)

Proceeds to eat the whole three-day ration in one meal.

[–] [email protected] 61 points 20 hours ago (2 children)

What a high it was when I did titration in high school and managed to get so close that the liquid appeared colorless unless you held a white sheet of paper next to it.

It was tinted, but just barely.

[–] [email protected] 9 points 20 hours ago* (last edited 20 hours ago)

Rick and Morty, season 4, episode 7, “Promortyus”

[–] [email protected] 6 points 22 hours ago (1 children)

Wir setzen so langsam zurück

@[email protected], hast du dafür eine Erklärung parat?

[–] [email protected] 2 points 22 hours ago (1 children)

Du hast da mehrere Umstiege. Wenn der letzte Bus nur alle 2 Stunden fährt, ist es ziemlich egal, was davor passiert. Den kriegst du halt trotzdem.

[–] [email protected] 3 points 22 hours ago

Ist schon lustig, dass die Bahn scheinbar die letzte ist, die mitkriegt, dass ein Zug nicht fahren kann. So, als müsste da einer aus dem Zug aussteigen und schnell ein Fax losschicken.

[–] [email protected] 3 points 22 hours ago

Pumpenwasserzange.

[–] [email protected] 4 points 22 hours ago

Meine Soundbar wirbt damit, die Ausgabe an die Raumakustik anzupassen. Macht dein Fernseher vielleicht (vorgeblich) was Ähnliches?

[–] [email protected] 8 points 22 hours ago

You’re absolutely right. In my mind “feature parity” got garbled into “backwards compatibility”.

[–] [email protected] 16 points 22 hours ago

Email to all:

“Due to budget constraints, resources will shift from $oldThingy to $newThingy. As a result, $oldThingy’s availability can no longer be maintained at the previous level.”

Then randomly kill oldThingy for more and more hours each day.

[–] [email protected] 14 points 22 hours ago (4 children)
location /old_api {
  redirect /new_api
}

(can’t be bothered to check the syntax).

 
 
 
 

First, some context.

I’ve written a program that starts running when I log on and produces data every two seconds. This daemon keeps all the collected data in memory until it gets terminated (usually when I shutdown the system), when it will dump the collected data to a file on disk.

(These are questionable design decisions, I know, but not the point of this post. Though feel free to comment on them, anyway).

I’ve written another program that reads the data file and graphs it. To get the most current data, I can send the USR1 signal to the daemon, which causes it to dump its data immediately. After restarting the renderer, I can analyze the most current data.

The tech (pregnant women and those faint of heart, be warned)

  • The daemon is written in TypeScript and executed through a on-the-fly transpiler in Node.
  • The data file is just a boring JSON dump.
  • systemd is in charge of starting and stopping the daemon
  • The renderer is a static web page served via a python3 server that uses compiled TypeScript to draw pretty lines on the screen via a charting library.
  • All runs on Linux. Mint, to be specific.

As I’m looking for general ideas for my problem, you are free to ignore the specifics of that tech stack and pretend everything was written in Rust.

Now to the question.

I would like to get rid of the manual sending of the signal and refreshing the web page. I would like your opinions on how to go about this. The aim is to start the web server serving the drawing code and have each data point appear as it is generated by the daemon.

My own idea (feel free to ignore)

My first intuition about this was to have the daemon send its data through a Unix pipe. Using a web server, I could then forward these messages through a WebSocket to the renderer frontend. However, it’s not guaranteed that the renderer will ever start, so a lot of messages would queue up in that pipe – if that is even possible; haven’t researched that yet.

I’d need a way for the web server to inform the daemon to start writing its data to a socket, and also a way to stop these messages. How do I do that?

I could include the web server that serves the renderer in the daemon process. That would eliminate the need for IPC. However, I’m not sure if that isn’t too much mixing of concerns. I would like to have the code that produces the data to be as small as possible, so I can be reasonably confident that it’s capable of running in the background for an extended period of time without crashing.

Another way would be to use signals like I did for the dumping of data. The web server could send, for instance, USR2 to make the daemon write its data to a pipe. But This scenario doesn’t scale well – what if I want to deliver different kinds of messages to the daemon? There are only so many signals.

184
ich_iel (sopuli.xyz)
 
 
 
177
submitted 4 weeks ago* (last edited 4 weeks ago) by [email protected] to c/[email protected]
 

[Meme transcription:]

– Hey, why is the shell prompt on the production server red now?
– Earlier: me@prod:~$ docker container remove --force the-application

Protip: If you’re used to shutting down your computer via the CLI, make it a habit to use an alias like off.

This way you will never, ever turn off a remote server by accidentally using throwing poweroff at a residual SSH connection.

452
IEEE 754 (cdn.fosstodon.org)
 

cross-posted from: https://lemmy.ml/post/24332731

~~Stolen~~ Cross-posted from here: https://fosstodon.org/@foo/113731569632505985

 

Meme-Transkription:

Paneel 1: Ein freundlicher, Anzug tragender Mitarbeiter. Er ist als Skulpturenverkäufer gekennzeichnet und sagt: „Also wir haben Ritter, traurige Engel, zufällige Raubtiere, eine Justizia, den Kopf von irgendeinem zufälligen Typen, am Boden liegende Menschen, Menschen ohne Kopf und Insekten.

Paneel 2: Das „Shut up and take my money”-Meme aus Futurama. Frys Kopf wurde durch das Umbrella-Logo aus Resident-Evil ersetzt.

 

Wollt ihr euch alt fühlen?

Resident Evil läuft gerade im Fernsehen.

Auf Kabel 1.

view more: next ›