@derin@lemmy.beru.co avatar

derin

@derin@lemmy.beru.co

This profile is from a federated server and may be incomplete. For a complete list of posts, browse on the original instance.

derin ,
@derin@lemmy.beru.co avatar

Bowl mixer? Just put on a podcast and knead that by hand for 15 minutes. Ez-pz.

derin ,
@derin@lemmy.beru.co avatar

I use Navidrome myself, and I still think it would be nice for people to know a little bit about the software in an update announcement post.

Seems like a very reasonable request, I don't grok the vitriol in your response.

derin ,
@derin@lemmy.beru.co avatar

You know what you sounded like.

It's a small text addition for context, not a big ask. Most of these upgrade posts in this community have people asking the same thing, so they can discover new software.

Ultimately, though, it's your choice.

derin ,
@derin@lemmy.beru.co avatar

You: [ copy pastes link ]

Others: Hey, can you also tell us what that link points towards?

You: wHaT iS tHiS, a BoLsHeViK LaBoR CaMp?

derin ,
@derin@lemmy.beru.co avatar

This section of the tutorial you followed shows how you enable registration.

This section shows how you add a user.

The official Prosody documentation for adding users and opening registration can be found here.

derin ,
@derin@lemmy.beru.co avatar

I use Fantastical; pretty decent for an iOS App - if not a bit pricey.

Edit: As an important note, while I've used Fantastical for years, it's really only for the Mac ecosystem so I'm looking to move away from it.

Nowadays Morgen is my Calendar app of choice, but its iOS app isn't feature complete yep. It's fantastic on desktop, though.

derin ,
@derin@lemmy.beru.co avatar

It's not proprietary, lol. You can download and deploy each of their bridges yourself to your own servers.

Source: been using their WhatsApp, Discord, and Signal bridges for over a year. I use Github sponsors to pay for development, as I appreciate how great they are.

The only closed source part of their stack is their client, which you don't have to use.

Also, they're some of the most prolific contributors to Matrix outside of Element. The emoji picker in Element was literally PR'ed by Tulir.

Love it when folk see people trying to make money off OSS and immediately resort to hysterics. It really makes closed source development look appealing if you're going to be damned by idealogues regardless of whether you release the source or not.

derin ,
@derin@lemmy.beru.co avatar

Not closed source. It's just a Matrix server instance running their own bridges. All the backend stuff is open source, the only closed source part is their client.

The client is specific to their site and unnecessary: just deploy Synapse, then pick and deploy the bridges of their suite you want to your server. You can then pick and use any of the available Matrix clients to get the same exact features. You can even sponsor them on Github, as I've been doing for months.

derin , (edited )
@derin@lemmy.beru.co avatar

It's open source, here's the code. It uses the discordgo library to connect to Discord and read your DMs.

e: You're free to download and deploy the source yourself, and write your own ToS. That's the nice part of open source software.

derin , (edited )
@derin@lemmy.beru.co avatar

There's a lot of FUD in this comments section, so I'd like to clear the air. I'm pretty big on OSS myself, so it pains me to see a company doing all the right things get lambasted like this.

Beeper is just a Matrix server running in tandem with a series of custom, open source bridges written by Beeper. The value proposition is not having to deploy a Matrix server yourself, and not having to deploy each bridge yourself.

However, if you want to do that you absolutely can. I've been running Synapse + a subset of their bridges for a couple years now (the WhatsApp one being the oldest), and they are fantastic.

The devs contribute back to Matrix all the time and are great about supporting the spec as a responsible third party.

Their only closed source software is their client, which is - by definition - only written to work with their servers and not generic Matrix servers (e.g. It's just a preconfigured matrix client which expects each bridge to be deployed, and doesn't ask you for things like what server you want). As a result, you wouldn't want to use it with your own stack; you can just pick one of the myriad OSS clients available for Matrix and go with that. I use SchildiChat, for example.

I don't understand why, after doing all this work and publishing the source online for free (free as in freedom), they aren't allowed to offer a preconfigured service to non tech savvy folk?

Honest question: Shouldn't they be paid for their work?

Edit: And, please, stop asking questions like "How do they connect to X/Y/Z, anyway?" - just go read the source and see for yourself. These are the good guys working completely in the open, and you're treating them as if Twitter just wrote a chat app.

derin ,
@derin@lemmy.beru.co avatar

You can use any Matrix client with Beeper, you don't have to use theirs.

Regardless, there's nothing stopping you from recreating the same stack using the available tools.

What makes their service unique are the bridges. Download their sources, compile them, and then pair them with any server client combo you want.

If you insist on using their stack, you can still use an OSS client. They chose not to make their client open source as it is, by design, for their service only.

They're trying to run a business aimed at people who don't care about open source, and want the same closed source experience they get from their other chat apps but with inter connectivity between third party services.

If you want the latter without any closed source code, you can just go and do that. They've released all the important parts.

Edit: Here's a guide to self hosting beeper.

derin ,
@derin@lemmy.beru.co avatar

Just use any open source client. You can literally do that.

And if you don't trust the company - for any reason - use their code to deploy your own backend.

derin ,
@derin@lemmy.beru.co avatar

You were asking how it interacts with Discord. That is the code.

Beyond that it's running a version of Synapse and has its own client - the latter being optional.

derin ,
@derin@lemmy.beru.co avatar

I disagree. Beeper's client is meaningless, it's the service being offered that has value.

If you don't mind trusting a third party service with your Matrix instance + bridge hosting, use Beeper.

If you're into OSS and owning your own tech stack, self host the whole thing.

At no point do you have to use their client for any reason.

derin ,
@derin@lemmy.beru.co avatar

Fair point, if you're just against the fact that they wrote a closed source client.

It's frustrating that closed source software exists, but in this context I'm (personally) okay with it as it funds the development of free software.

derin ,
@derin@lemmy.beru.co avatar

I am worried about that acquisition, to be honest.

I've been supporting them via Github sponsors for about a year, now - as I only use their open source software; I've no intention of touching the service or closed source client.

As a result, I'd be lying if I didn't say I was anxious about their new owners basically telling them "hey, why are you releasing all your bridges for free, anyway?"

Really hope that doesn't happen, as their bridges have been my primary communication channels for a long time, now. I love not having to keep WhatsApp or Discord installed on my phone.

derin ,
@derin@lemmy.beru.co avatar

The not cool parts just relate to any sort of hosted bridge. If you don't trust them with decrypting messages on their end, then don't give them your data - there are no bridges capable of doing that, anywhere.

So it really comes down to "trust someone else with your data, or host it yourself"; and if you're - understandably - frustrated with those options blame companies like WhatsApp or Discord that make it nigh impossible to integrate their services with outside networks.

Functionally, these bridges just forward your content to a library acting like a headless client - there's no way to encrypt that as the reverse engineered clients are not libraries and need to take raw input. You can't end to end encrypt it as the client is one of the "ends".

As an example, the WhatsApp bridge uses WhatsApp web as a backend, and has all the limitations of WA web.

As a result, I find the expectations to be a bit unrealistic.

derin ,
@derin@lemmy.beru.co avatar

I hope they continue to do good, but am also skeptical.

And, man, I miss the old Gravatar.

derin ,
@derin@lemmy.beru.co avatar

Try opening Element Desktop/Web, hitting the "Add" button to the right of your current space's title ("Home", if you're not in a space), and choose "Join Public Room". From there you can search for room names on Matrix.org (or other homeservers of your choice) - which is kind of the best option right now.

derin ,
@derin@lemmy.beru.co avatar

They installed termux, then a web server via apt? It's cool and all, but I don't know if it's news-worthy.

derin , (edited )
@derin@lemmy.beru.co avatar

Cheers, I just started dropping connections to /link as well, as a result.

Edit: Looks like it was quickly fixed and released in 0.0.40, very cool.

andrew , (edited ) to Selfhosted
@andrew@andrew.masto.host avatar

Feishin: An open source self-hosted music player that can connect to your Navidrome and Jellyfin libraries

https://github.com/jeffvli/feishin

@selfhosted

derin ,
@derin@lemmy.beru.co avatar

There are some great ones. Check out Tempo and Symfonium

Homemade Turkish kumpir [filled baked potato with cheese] ( feddit.dk )

Kumpir is a traditional Turkish streetfood wich is based on a baked potato with cheese and toppings. In this case, the inside of the potato is mixed and mashed heavily with Gouda cheese and topped with olives, sweet corn, roasted sausage pieces, and salty pickles. Dressed with ketchup and mayo....

derin ,
@derin@lemmy.beru.co avatar

As a Turk, I approve. Also, putting gouda cheese in a kumpir is a 10/10 move.

derin ,
@derin@lemmy.beru.co avatar

Completely reasonable. We only use kaşar because, well... It's just what we use here 😂 Gouda, mozzarella, gruyere - all great choices.

derin ,
@derin@lemmy.beru.co avatar

Been using matrix as my primary communication method (including bridges to other networks for things like Slack and WhatsApp) for over 3 years now, doesn't feel slow?

derin , (edited )
@derin@lemmy.beru.co avatar

Might need to check your setup. But, I will concede that after 2 years in - a point at which the DB grew into something massive, what with the massive Matrix rooms I was idling in - I started to notice slowdowns. The whole sliding sync proxy thing (with the new generation Element X clients) fixed everything.

You shouldn't be having 10-20 second syncs with a new deploy (and limiting the amount of massive rooms your users can join, depending on your hardware), might be something awry relating to your config. If you're absolutely certain it's not that, check out the sliding sync proxy until it gets merged into the main spec - it's great.

derin ,
@derin@lemmy.beru.co avatar

Sorry man, I don't know what to tell you. I've got a pretty medium end VPS on which I host my Matrix instance - only had to add an extension for storage after the first few years when the DB got too big. Things were never as bad as you said early on, and as time passed I absolutely got to the point where it would take 10-20 seconds to sync - but this was after 2 years or so of constant use.

The reason why it takes long is because of the size of the sync payload - logically, for a new server/user, this really shouldn't be that big (unless you're in rooms like Matrix HQ). So, genuinely, look into optimization: postgres, your web server (nginx, apache, caddy), and limiting your users from accessing "problematic" rooms.

Barring that just deploy the sliding sync proxy and be done with it. It's not really a problem that requires you to attempt it a thousand times.

So either you put some fancy wizardry into your system or you’re just in denial.

It's called pure Debian, baby. Also, you'll need a decent chunk of RAM if you don't have that yet. Avoid a pagefile if you can.

derin ,
@derin@lemmy.beru.co avatar

Well, at least you gave it your best!

Thoughts on BOOX Tab Ultra C? ( shop.boox.com )

Does anyone here have a BOOX e-paper tablet? I'm a big fan of e-paper devices—I love my Pebble smartwatch, Kindle Paperwhite, and Light Phone II. I've been eyeing the Tab Ultra C for quite a while, and I am considering the pros and cons. Mostly, I intend to use it for browsing the web and maybe some light note taking and...

derin ,
@derin@lemmy.beru.co avatar

I'm a Remarkable 2 user, but if the writing feel is anywhere as decent as the remarkable's, I would consider buying one of these (assuming I'm making a first time purchase and don't already have an eink writing tablet).

Most of those features are super unnecessary (but I love the idea of having them), but damn if that color screen doesn't get me feeling super excited.

Sublinks Aims to Be a Drop-In Replacement for Lemmy ( wedistribute.org )

Seems like an interesting effort. A developer is building an alternative Java-based backend to Lemmy's Rust-based one, with the goal of building in a handful of different features. The dev is looking at using this compatibility to migrate their instance over to the new platform, while allowing the community to use their apps of...

derin ,
@derin@lemmy.beru.co avatar

What's annoying about it? Deploying a war to tomcat is one of the easiest things one can do.

derin ,
@derin@lemmy.beru.co avatar

Larger, modern python projects always use type hints, for this specific reason.

In the past you had PyDoc, which also scratched that itch.

Barring that, contributing to a python project is very difficult without an IDE that performs type checks for you (which is unreliable).

derin ,
@derin@lemmy.beru.co avatar

Just you wait until your developers learn about the var keyword - it's going to be Python 2.7 PTSD incidents all over again 😂

derin ,
@derin@lemmy.beru.co avatar

Nope, was added to dot Net after the fact. Normally you declare each type by hand, e.g.

ArrayList<int> myCoolList = new ArrayList<int>();

vs

var myCoolList = new ArrayList<int>();

The second example is why the keyword was added, but now imagine you have a function call returning an unknown type, and then things will start to get super funky.

E.g.

var myCoolBook = BuildBookData(input);

...one step forward and then the same step back 😂 (disclaimer: I do actually like C#, though)

derin ,
@derin@lemmy.beru.co avatar

Yep, I was specifically talking about C#'s implementation.

I worked with some large C# code bases, and you could always see the point in time in which an individual developer would finally get comfortable with var - it's when the code would start getting unreadable. 🤣

derin ,
@derin@lemmy.beru.co avatar

True true!

derin ,
@derin@lemmy.beru.co avatar

But what happens if you don't use an IDE? That was the original point. Even if it isn't statically typed, a python IDE can also do its best to guess the type of an object.

The point is to have code that's legible without dependence on large, third party tools.

We're the creators of Lemmy, Ask Us Anything. *Starts Monday, 7 Aug, 1500 CEST*

This is an opportunity for any users, server admins, or interested third parties to ask anything they'd like to @nutomic and I about Lemmy. This includes its development and future, as well as wider issues relevant to the social media landscape today....

derin ,
@derin@lemmy.beru.co avatar

As a person who oversaw the implementation of GDPR in a large software house (which wasn't EU specific, but had to in order to operate legally in the EU), the requirements were:

  1. Allow users to request data deletion or a copy of their data.
  2. If the former, delete all data of their data on the server, send it to them, and then (this was the important part) forward the data deletion request to every single partner we were working with.

For us, this was multiple ad companies. We had to e-mail each one, ask them about their GDPR implementation (most of them were somewhere between "we're thinking about it" and "we have an e-mail address you can send something automated to and we'll get to it sometime within the next month"), and then build an automated back-end system to either query their APIs for automated deletion, or craft/send e-mails for the more primitive companies.

As far as the data being deleted, it was anonymized IDs that were tied to their advertising IDs from their mobile phones. I used to try and argue that "no, it's anonymous" - but we also had some player data (these were games) associated with that, so we ended up just clearing house and deleting everything on request.

So, legally, this means every instance - in order to be GDPR compliant - would have to inform every instance it federates with that a user wants their data deleted. If you're not doing that, you're not fully compliant.

Kind of shitty, but that's how it went for me. (this was back when GDPR was first being released)

Edit: Also, the one month thing was relevant: you have 30 days to delete GDPR stuff after receiving a data clear request. I don't recall what the time was for a "see my data" request. Presumably, though, on Lemmy the latter is superfluous as all your data is already present on your profile page. An account export option would be enough to satisfy that.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • test
  • worldmews
  • mews
  • All magazines