matcha_addict

joined 1 year ago
[–] matcha_addict@lemy.lol 2 points 1 day ago (2 children)

Unfortunately bspwm is better. Binary separation allowed for just about any layout imaginable, but river does not.

[–] matcha_addict@lemy.lol 1 points 1 day ago

Didn't age well :(

[–] matcha_addict@lemy.lol 31 points 1 week ago

Are you contesting that it's "Forced"? It matches the textbook definition of the word

[–] matcha_addict@lemy.lol 2 points 1 week ago

would you recommend Snikket server (or Prosody) for 1:1, group calls and screen sharing?

Answering this first so it doesn't get buried down. Screen sharing wouldn't be supported by xmpp since its just messaging, but I believe Jitsi has that feature. But for the rest, snikket and conversations (for android) I would recommend, yes.

When I decided to try XMPP, I had to do a lot of research to decide which applications I should use for the server and client.

Whatever is the first answer you get from a web search should be fine. Most sources recommend conversations for client, but all the other recommendations you'll see are good too. For server, the easiest to setup is snikket, but all the other and up to date implementations should work okay, although they might need some configuration if you want all the modern messaging features.

If we told two people to use these two software independently, they would start using Matrix much more faster than XMPP.

Why do you think so? Let's assume a user who doesn't self host. XMPP clients are far more stable and error free, whereas matrix has random issues every now and then, especially with encryption and public groups.

XMPP clients are a lot more customizable and come in different models. Matrix has only one client that works well (and some forks of it that look roughly the same). I'd say that's a win for XMPP for new users.

Now let's say it's a self hosting user. I don't need to say much here, matrix is notorious for self hosting issues, and being a massive resource hog. XMPP, you have snikket, which works out of the box without issues and can be hosted on a raspberry pi even.

I may be biased here, so I urge you to tell me, in what way would a new user adopt matrix faster? I can tell you one. Matrix has corporate funding and has managed to advertise better. That's their only win.

[–] matcha_addict@lemy.lol 5 points 1 week ago (2 children)

With all due respect, this is a very biased view

Wanna set up a server? Prosody (which has a hassle free out of the box experience through snikket)

Need a client? Conversations

The default softwares are easy to use for new users.

For matrix, however, you are forced to use synapse. You complain that xmpp is not a single protocol, but in reality, all the major implementations are compatible. Can you say the same about matrix? The other implementations aren't even close to achieving this.

Xmpp's extensions are a powerful feature, and the issues you think it presents do not exist with xmpp anymore, but is actually the status quo for Matrix.

[–] matcha_addict@lemy.lol 3 points 1 week ago

XMPP Works fine when it's setup or when you don't manage the hosting, but God is it painful to self host an xmpp server.

I recommend you use snikket if you're having trouble selecting plugins, because it has everything you need out of the box and its super easy to setup.

It even needs a special setup to work on restricted networks via port 80/443 because it wants port 5222 and 5223,

Isn't that just a configuration in prosody / snikket? What implementation did you use that didn't let you configure this? Or are you expecting major implementations to default to port 80/443? Because that would be quite problematic.

Most basic communication features in 2024 such as replies reactions quoting threads etc.etc. are unsupported ootb, and you need both a client that supports the extensions (often very slow to adapt "new" standards AND a server that has enabled the plugin for that feature.

This is already supported by the major clients. I know for sure that conversations on android (and I suppose the many clients based on it) supports it. For server implementations, it is available out of the box on snikket, and it is a plugin you have to enable on prosody.

[–] matcha_addict@lemy.lol 3 points 1 week ago* (last edited 1 week ago)

It's the issues with XMPP's spec: you don't just use XMPP, you use XMPP + your favorite optional spec implementations.

Sorry, what's the issue exactly? You called it an issue and I fail to see the problem. The X in XMPP stands for "extensible", so it is being used precisely as intended, so that is still XMPP.

You could use your favorite extensions if you want, but all up-to-date implementations follow the standard defined by XMPP, and it includes all features of a modern messaging experience

If your friends aren't on the same server/client combo then you won't be able to communicate with them (effectively).

You have to be going out of your way to have a non-compliant server or client. This isn't really an issue that happens.

If it were to get a single, matrix-style "spec release" (think an aggregation of existing features into one collection) that contains/requires a bunch of modern chat features I've come to expect from programs

That's how it is today though! I see the issue, you said you haven't tried it in years. Admittedly, I only started with XMPP 2 years ago but haven't had any of the issues you mentioned. Not sure when this became the status quo, but it is pretty awesome. Maybe it is worth trying again :)

[–] matcha_addict@lemy.lol 2 points 1 week ago

Have you used XMPP recently and ran into the issue of non-obscure servers, clients, or self-hostable implementations using different extensions or not supporting them? (I actually haven't experienced this even on the obscure ones, but can't confirm for all of them). Please do not make that accusation, because that I'd really not what happens in reality.

it's hardly the standard

Why not when... It literally is? And all major implementations follow it? That is by definition a standard.

and we're not really talking about plain XMPP then anymore.

Why not? "extensible" is in the name. It is meant to be extended. The protocol is being used exactly as planned and intended.

[–] matcha_addict@lemy.lol 3 points 1 week ago (4 children)

Can you please explain why? A quick look at the spec for both protocols shows you that matrix is literally a hundred times more complex, so I don't understand the basis of the contrary. The matrix creators have shown they are okay with increased complexity under the pretext of a more complete experience, but in reality, XMPP has achieved the same features with far less complexity.

If you're speaking about self hosting, again, I don't see how, as matrix is notorious for self hosting issues. XMPP's snikket works out of the box and has all the commonly used features and plugins pre-baked. The underlying prosody implementation is a step down, but is also quite easy as long as you know what plugins and options to activate (and if you don't, then use snikket).

[–] matcha_addict@lemy.lol 8 points 1 week ago

Deciding Linux isn't for you is one thing. Even deciding that you hate Linux is... Digestible. But what kind of internal self esteem and validation issues do you need to unironically participate in a community called "Linux sucks"?

Hating Linux is one thing. Putting in extra effort to justify to everyone that Linux is hate-able is a different kind of crazy.

[–] matcha_addict@lemy.lol 1 points 1 week ago* (last edited 1 week ago)

I don't need the client computers to be alive, only the central server (which could be github.com for example, so not even a server I manage).

 

Hi programmers,

I work from two computers: a desktop and laptop. I often interrupt my work on one computer and continue on the other, where I don't have access to uncommitted progress on the first computer. Frustrating!

Potential solution: using git to auto save progress.

I'm posting this to get feedback. Maybe I'm missing something and this is over complicated?

Here is how it could work:

Creating and managing the separate branch

Alias git commands (such as git checkout), such that I am always on a branch called "[branch]-autosave" where [branch] is the branch I intend to be on, and the autosave branch always branches from it. If the branch doesn't exist, it is always created.

handling commits

Whenever I commit, the auto save branch would be squashed and merged with the underlying branch.

autosave functionality

I use neovim as my editor, but this could work for other editors.

I will write an editor hook that will always pull the latest from the autosave branch before opening a file.

Another hook will always commit and push to origin upon the file being saved from the editor.

This way, when I get on any of my devices, it will sync the changes pushed from the other device automatically.

Please share your thoughts.

 

I am sure it was discussed here before, but I can't find a good way to search this community.

Are there any arguments against having a user's identity federate, and be compatible across platforms?

For example, let us say I sign up with my instance, matcha_addict@lemy.lol

But what if I go on mastodon, and I want to have my own micro blog. Or maybe go to write freely and post some blog posts. I'd have to make a different account on each one.

What if mastodon or write freely could just let me log in with my lemmy account (or lets call it federated account). This has several benefits:

  • users don't have to scratch their head on if I am the same person or not across these platforms
  • theoretically, someone following my feed can get updates on what I do on multiple platforms

Now I understand this would be difficult to implement and iron out all the edge cases, but am I missing anything on why it wouldn't be a desirable feature, given it is implemented?

 

From a practical sense, ActivityPub may be the obvious choice as it gives easier interop with the largest federated platforms.

But what else? There are existing platforms built on these protocols, such as movim for xmpp, and another for matrix I forget.

From a technical standpoint, are there any major pros and cons?

 

I heard often about activityPub being challenging to implement.

Now I know part of this is because, if you are building on activityPub, you want interop with existing platforms such as mastodon, and they do their own thing.

But ignoring that aspect, what is so hard about activityPub? What could have been done better?

I am a software developer, so feel free to use software dev concepts and terms when explaining. Thanks!

 

Lemmy developers have said there are no near plans for allowing users to follow mastodon or other activityPub networks, so I'm considering another platform that can do this.

It looks like mbin, Piefed and FediLab have the ability to do this. Has anyone tried them and have a comparison?

I also heard it may be possible to do from just mastodon-like platforms. Anyone tried this?

 

I know they're quite different technically. But practically, what does ActivityPub unlock that was not previously possible with RSS and basic web tech stack?

I think I have an idea of the answer. RSS may provide a way for users to "subscribe" to content from a feed, equivalent of following and putting it in a unified feed.

But it does not have a way for users to interact with the poster, like comments or likes. This may be possible with a basic web stack though, but either users will have to make accounts on every person's site, or the site has to accept no user auth. (but this could be resolved with a identity provider standard, like disqus does)

I suppose another thing activityPub does is distribute content to multiple servers. Not sure if this is really desirable though?

Anyways, did I miss anything?

 

I recently learned about nsjail, a utility to sandbox applications or provide workload isolation.

It seems to be lighter weight than firejail and possibly better suited for server applications.

Has anyone used this? What's your experience with it? I'm curious about using it for my web server applications as an additional layer of Dr hotty.

 

Is there any fediverse client out there (mobile or pc or web) that has support for multiple types of content, rather than just for one?

Most apps I find are only mastodon-like (including pleroma etc.), or only lemmy-like, or only peertube-like. One of the main benefits of the fediverse is that I could theoretically access all of those from one platform. But the clients I saw don't seem to support it too well.

 

Is there any fediverse client out there (mobile or pc or web) that has support for multiple types of content, rather than just for one?

Most apps I find are only mastodon-like (including pleroma etc.), or only lemmy-like, or only peertube-like. One of the main benefits of the fediverse is that I could theoretically access all of those from one platform. But the clients I saw don't seem to support it too well.

 

Hi all,

I found a hobby in trying to secure my Linux server, maybe even beyond reasonable means.

Currently, my system is heavily locked down with user permissions. Every file has a group owner, and every server application has its own user. Each user will only have access to files it is explicitly added to.

My server is only accessible from LAN or VPN (though I've been interested in hosting publicly accessible stuff). I have TLS certs for most everything they can use it (albeit they're self signed certs, which some people don't like), and ssh is only via ssh keys that are passphrase protected.

What are some suggestions for things I can do to further improve my security? It doesn't have to be super useful, as this is also fun for me.

Some things in mind:

  • 2 factor auth for SSH (and maybe all shell sessions if I can)
  • look into firejail, nsjail, etc.
  • look into access control lists
  • network namespace and vlan to prevent server applications from accessing the internal network when they don't need to
  • considering containerization, but so far, I find it not worth foregoing the benefits I get of a single package manager for the entire server

Other questions:

  • Is there a way for me to be "notified" if shell access of any form is gained by someone? Or somehow block all shell access that is not 2FA'd?
  • my system currently secures files on the device. But all applications can see all process PIDs. Do I need to protect against this?

threat model

  • attacker gains shell access
  • attacker influences server application to perform unauthorized actions
  • not in my threat model: physical access
 

The telegram app has a very nice interface, but I want to use a self hosted xmpp chat server.

Is there maybe a fork of telegram that makes it work with a self hosted xmpp server? I would imagine that this is possible.

If not, is there anything that at least gets close to how nice telegram UI is?

 

Sorry, the question in title sounds naive. I have no doubt that math is essential in programming, but I am thinking about philosophy of programming and want to summarize when they're needed in programming. My attempt is below:

Most applications of programming are making electronics do things through their interfaces. Whether that's telling a screen to display something, a network wire to transport data, a hard disk to persist data.

But we often need math because we often transform data, or we might make said electronics do things based on user input, or an event. Transforming an event to data is a mathematical construction.

Some applications are almost purely mathematical, like banking, crypto currency, or encryption.

In your opinion, does this fully explain why we need math in programming? Is there a better way to sum it up?

view more: next ›