programming Programming How we built multiple screen sharing into Microsoft Teams calls
Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Huh wow didn't know Teams didn't have multiple screen sharing. Nice work.

    Something does irk me about the whole approach, though. We have accomplished some amazing stuff in the software world. But Jesus almighty we have some serious interoperability problems, to the point where we literally just send pixels to one another because that's all we've got. Reminds me of that glib statement "the web has become just 4 websites full of screenshots of each other" (or however it goes).

    4
  • programming Programming Incus and programming
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    No worries! Writing that down actually helped clarify some of my thoughts.

    Something extra: distributed computing.

    Let's say you have 3 processes that need to communicate with one another. There's heaps of tooling available in OSs to manage those processes. Logging, networking, filesystem access, privilege separation, resource allocation... all provided by the host OS without installing anything. But what if those 3 processes can't run on one "machine"? Which process should go where? What if it needs 8GB memory but there's only 6GB available on some of the machines? Who controls that?

    Systems like Kubernetes, Nomad, Docker Swarm etc. offer a way to manage this. They let us say something like:

    • run this process (by specifying a container image),
    • give it at least these resources (xGB memory, xvCPUs)
    • let it communicate with these other processes (e.g. pods, overlay networks...)

    These systems manage containers. If you want to do distributed computing and want to take advantage of those systems to manage it, stuff needs to be run in containers.

    Containers are not the only way to do distributed computing - far from it! But over the past few years this particular approach has become popular in the, umm... "commercial software development industry".

    Opinion. Are Linux containers something to look into as someone who doesn't work in the industry? Unless you're interested in how containers themselves work and/or distributed computing; frankly - no. Computers are still getting faster and cheaper. So why is all this stuff so popular in the commercial world? I'll end with some tongue-in-cheek.

    Partly it's because the software development industry is made up of actual human beings who have their own emotions and desires. Distributed computing is a fun idea because tech people are faced with challenges tech people are interested in.

    Boring: can we increase our real estate agency brand recognition by 200%? We could provide property listings as both a CSV and PDF to our partners! Our logo could go on the PDF! Wow! Who knows how popular our brand could be?

    Fun: can we increase throughput in this part of the system by 200%? We might need to break that component out to run on a separate machine! Wow! Who knows who fast it could go?

    2
  • programming Programming Recommendations for a SSG blog template?
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Markdown was originally designed for exactly your use case. The Daring Fireball blog has been using Markdown for 20 years now.

    I always forget how old Markdown is. And the syntax it's inspired from - plain-text email - has been in use for even longer!

    1
  • programming Programming Incus and programming
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Containers are used for a whole bunch of reasons. I'll address just one: process isolation. I'll only do one because I've ran into times when containers were not helpful. And it may lead to some funny stories and interesting discussion from others!

    A rule of thumb for me is that if the process is well-behaved, has its dependencies under control and doesn't keep uneccesary state, then it may not need the isolation provided by a container and all the tooling that comes with it.

    On one extreme, should we run ls in a container? Probably not. It doesn't write to the filesystem and has only a handful of dependencies available on pretty much any Unix-like/Linux system.

    But on the other extreme, what about that big bad internal Node.JS application which requires some weird outdated Python dependencies that has many hardcoded paths and package versions? The original developer is long gone. It dumps all sorts of shit to the filesystem. Nobody is really sure whether those files are used as a cache or they contain some critical state management. Who wants to spend the time and money to tidy that thing up? In this scenario containers can be used to hermetically seal a fragile thing. This can come back to bite you. Instead of actually improving the software to be portable and robust enough to work in varied execution environments (different operating systems, on a laptop, as a library...), you kick the can down the road.

    7
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Hey mate thanks for writing all that down. Gives me a few ideas - in particular how NNTP could fit in to the equation.

    LKML can be accessed by a usenet client at nntp.lore.kernel.org. In theory, then, it should be possible to at least read both LKML and ActivityPub stuff hosted at the same NNTP server. To get that working means making sure all the conversion and mapping of concepts are as clean as possible. It's a good test!

    Thanks again!

    4
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    I'd much rather have this put in front of LKML than the terrible interface they have right now.

    Interesting. Could you go into this a bit more? Do you mean for example being able to use the Lemmy web UI to read LKML?

    1
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Oh wow awesome. Thanks so much!

    It needs a bit more fleshing out, removing a bit of hardcoding too. And of course I want to publishit under an open source licence too. Thanks for the tip - I've written it down in the growing TODO file! :)

    2
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    This is interesting, but have you considered porting to Usenet?

    Yes that's on the list! Now that I have a whole bunch of RFC822 files, (in Maildirs) I can also serve them over read-only NNTP. This was the original goal actually - I like the idea of using the simpler protocol NNTP over IMAP to read stuff.

    4
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    The alternative is something like FediSeer where you can get sites guaranteed by others and block anything not given the all-clear, but that really harms the ability for new sites to appear.

    If something like this were to gain lots of traction I'd hope it would be something not too difficult to implement by smaller new sites.

    What really sucks is the situation with email now: it's really tricky to get stuff delivered if you're not Google/Microsoft. The barrier to entry is way, way too high :(

    12
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    The alternative is something like FediSeer where you can get sites guaranteed by others and block anything not given the all-clear, but that really harms the ability for new sites to appear.

    If something like this were to gain lots of traction I'd hope it would be something not too difficult to implement by smaller new sites.

    What really sucks is the situation with email now: it's really tricky to get stuff delivered if you're not Google/Microsoft. The barrier to entry is way, way too high :(

    2
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    And ofc the extra spicy sms bridge where an AI gives you an executive summary of your memes for the day

    needs more crypto

    14
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
    fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Does it also send you an update of how many upvotes you get?

    Well, I receive the corresponding ActivityPub "Like"s from the servers. But right now I just drop the message. I suppose that could turn into a mail message with a body like "user X liked your post" or something, but that doesn't feel like a natural mapping to me.

    I'm also one of those people that hides upvote & boost counts in my Mastodon app ;)

    15
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Oh I stopped and thought whether I should. The answer was "probably not" every time...

    40
  • fediverse Fediverse Weird idea continues connecting fediverse and email
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 100%

    Excuse my ignorance but how will the fediverse defend itself against email spam?

    That's a good question. Right now there's very little stopping people from spinning up some ActivityPub server and blasting out messages. I'm actually surprised at how little ActivityPub spam there is currently.

    One of the awesome things about the fediverse is how anti-commercial it is right now. Maybe it's not a major target for spam because there's not a lot of money in it.

    37
  • fediverse
    Fediverse otl 7 months ago 97%
    Weird idea continues connecting fediverse and email

    What have I done?! My abomination of an idea of bridging my email and ActivityPub progresses. If you see this message, something is working! Comments replies are welcome as it's a good test of this system :) People keep saying ActivityPub is a lot like email. If it's so similar to email, could I use my email client to interact with the fediverse? Previously I did this by writing a SMTP interface to the Mastodon HTTP API. That worked. But as we probably know, the fediverse is *not* Mastodon; it's really *ActivityPub*. The real deal would be working with ActivityPub directly, *not* the Mastodon HTTP API. And that's now (mostly?) working! In shonky diagram form, sending looks like this: laptop --SMTP--> my_server --ActivityPub--> fediverse Replies look like this: fediverse --ActivityPub--> my_server --SMTP--> mailbox <--IMAP-- laptop `my_server` translates back and forth between ActivityPub messages and mail messages. For example given the message: Date: Wed, 6 Mar 2024 16:37:59 +1100 From: Oliver Lowe <otl@apubtest2.srcbeat.com> To: localtesting@aussie.zone Subject: test 2 test hello world! The following ActivityPub message is created: { "@context": "https://www.w3.org/ns/activitystreams", "id":"https://apubtest2.srcbeat.com/outbox/1709703480070628170", "type":"Note", "name":"test 2", "to": ["https://aussie.zone/c/localtesting","https://www.w3.org/ns/activitystreams#Public"], "cc": ["https://aussie.zone/c/localtesting"], "published":"2024-03-06T16:37:59+11:00", "attributedTo":"https://apubtest2.srcbeat.com/actor.json", "content":"test hello world!", "mediaType":"text/markdown" } There's still a lot of bugs (of course) and unimplemented bits (of course). I can't call this a proper fediverse service yet. I'm going to roll with this for a bit and see how it holds up.

    206
    51
    programming Programming In Rust we trust? White House Office urges memory safety - Stack Overflow
    Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearOT
    otl
    7 months ago 80%

    It's a nice thought, but the White House encouraging memory safety seems like a relatively insignificant push. It's the weight of legacy code and established solutions that will hold us back for a long time.

    Absolutely. Memory-safe languages have been around for decades. The reason there is so much poor code - including ones with manual memory management bugs - out there is not a technical problem. There are hordes and hordes of programmers, managers, companies etc. who would love to get paid to port this stuff. They'll do it for 10% of the price those stupid lumbering tech consultancies do it for.

    But who gets the contracts in the end? Give me a f'ing break!

    3