If anyone loves old game manuals, I’d recommend the game Tunic. It’s such a charming little game and, without spoiling too much, the manual is a core part of it.
Hello there!
I’m also @savvywolf@furry.engineer , and I have a website at https://www.savagewolf.org .
He/They
If anyone loves old game manuals, I’d recommend the game Tunic. It’s such a charming little game and, without spoiling too much, the manual is a core part of it.
The way Nix works is that the entire system is defined by a single configuration file. The entire system (minus dynamic stuff like databases) is defined in terms of that config file.
For example, one of my websites is defined in a config file like this:
let
# Domain info
savvywolf_scot = "savvywolf.scot";
# Static Websites
staticsites.card = fetchGit {
url = "somegiturl";
rev = "somegithash";
};
in rec {
services.nginx.enable = true;
services.nginx.recommendedProxySettings = true;
services.nginx.virtualHosts."${savvywolf_scot}" = {
addSSL = true;
enableACME = true;
root = "${staticsites.card}";
};
}
I can trigger a rebuild, and then I have an nginx service running and service a static website.
In addition, each package is also isolated in such a way that it keeps its dependencies separate from other packages (if needed). So containers aren’t really needed.
Firstly, I don’t think Docker is intended to be used as a security layer. I could be wrong, but I think it’s relatively easy to escape the sandbox. Although that might be different nowadays.
Anyway, I recently switched from Debian to NixOS for my server and it’s so much nicer. Being able to use a single language for configuring everything all in one place is so nice. If I want to try something new, I can just throw maybe 30 lines in a config and it’s there. If I don’t like it, then I can remove that config and it’s gone. Most services you’d want to run on a server are available in the package manager, and many have rather sensible defaults.
The only headache for me was the lack of documentation (especially with flakes). There’s also a learning curve with the Nix language itself.
Services like databases that manage runtime information usually store that information in /var
or your home directory as usual.
Can’t wait to be excited for this and it turn out to be mediocre.
No, I’m not bitter.
Looks like I’ve got work to do to bring those numbers up then.
If Github isn’t used for source control, why on earth is it the only auth provider?
Why has crates.io given Microsoft the ability to control who can and cannot publish Rust code?
Namespacing is whatever, but IMO the real issue is the disproportionate and unnecessary amount of power given to a company known for pushing monopolies.
Yes. Stop reminding me.
So first of all, I had to upgrade something from Python 2.something to 3.something. I forget the specifics of what went wrong, but modern versions of pip just do not handle Python2 gracefully, at least when working with virtual environments. I tried to freeze to get a list of current dependencies, but pip freeze
in a virtualenv just ended up writing out the system’s packages, not those in the virtual environment. I get it, Python2 isn’t officially supported any more, but at the same time, why is a language version not supported? Why is it not handled gracefully? This doesn’t happen in other programming languages.
Anyway, as for bumping up through Python 3 versions. I used a framework to do most of the heavy lifting in my project, but I think Python 3.8 or 3.9 introduced some syntax changes which made it not compatible any more. Changing how string literals are handled, and adding/removing arguments to functions. So I had to bump to a new version of the framework. Of course, because this was a webdev project, updating the framework also meant changing my project itself because of the “move quickly and break things” mindset that they have. So yeah, bumping up through versions of my framework until I got to one which was officially supported with the current python version.
I also used a python program to automatically run some scripts on boot. Turns out a while ago they decided that they wanted to redesign how they did everything, so you have to know to use the 1.x branch (which is still being updated) rather than the 2.x branch.
It honestly feels like everyone has a mindset that anything you write in Python and Node will be perpetually updated, and that long term maintenance isn’t a thing that happens. That you should always be using the latest version of anything.
And yes, I know I could probably work around all of this using Anaconda or docker or some other rube goldberg machine of programs. But I can’t be bothered dealing with that nonsense. I just want to keep something I wrote many years ago running.
If I start a new webdev project, I’m just going to use some Rust framework for the backend, and plain JS for the frontend.
I know it’s clickbait and all, but I can’t really let their comments about “decay” go without saying anything.
I spent a weekend updating a Python project after updating the OS. Fuck Python’s release methodology.
Yeah, Rust has a lot of releases, but they’re all backwards compatible. I’m pretty sure a modern Rust compiler can compile any historic Rust program. Meanwhile every “minor” Python release has backwards incompatible changes and there’s no guarantee of backwards compatibility at all. And that’s without even bringing up the big major bump from 2 to 3 which… Was not handled well.
Honestly, if there’s any language that people should be angry at for “decaying”, it should be Python. Hell, even C and C++ have got this right.
Thanks for listening to my feedback; I know I can be a bit forceful and dismissive at times.
If you are going to go through with this, please get permission from the subreddits you are trying to bridge beforehand. If some drama breaks out (which it will, because people online love drama), you’d rather them be on your side than against you. If someone takes issue with anything, then that’s something the subreddit mods can deal with, not you. They can also manage announcements of what is happening, and give you an air of legitimacy.
I do not want to ask permission from Reddit to do this.
You need Reddit’s permission. They have complete control over their platform and have the final say on what people do on it. They can ban anyone at any time for any reason. If you try to do something without their permission, they’ll just start banning your bots and send you takedown requests. I know it sucks, but they hold all the power here, and have made it clear that they want to stomp out competition.
So, I’ve posted a negative comment below. But since I’ve slept on this and thought about it a bit more, I am starting to think something like this could work… But with some caveats.
The idea is to create a fediverse “client” of sorts that mirrors content to and from Reddit. A “bridge” like in Matrix, I guess.
Some challenges and prerequisites:
bridge_r_rust
.I think bridged communities could actually work if you can solve the challenges above and provide a way for people to get from them to Lemmy itself.
That’s fair; I was probably thinking a bit too much about links to blog posts and the like.
Honestly, I think that might be better served by a nice searchable web interface to the Reddit data that the data hoarders people managed to collect.
I broadly agree with you, and think that big tech companies are a problem and the fediverse is how social media should be run. However, it’s not me or anyone here you want to convince.
Most people just don’t feel this strongly about megacorps owning social media. I’ve been thinking about this a lot, and I think the thing holding back Mastodon and Lemmy isn’t the instance selection or lack of marketing or whatever. It’s the fact that people don’t agree with the values, philosophies and ideology of the project. Maybe that’s through lack of knowledge, maybe that’s through conscious choice, but the fediverse requires a level of “buy in” to the project’s ideology, at least at this point.
If you send unsolicited DMs to people, I expect you’ll get one of three responses:
I expect that an “anger” response will probably be more likely than any other response, which will harm adoption. I agree with the sentiment about “getting people off Reddit”, but this feels like it’s pushing too hard and Redditors might not be as receptive.
I guess it’s like going to people on the street and saying that they should stop eating a certain type of food. You just make your group look very pushy and presumptuous, even if you have very good reasons.
IMO, work should be focused on spreading awareness in a non-assertive way about why moving from Reddit to Lemmy is the “correct” choice. Or, we can work on making Lemmy an attractive place (by fixing bugs and papercuts) so that people naturally head here the next time Reddit does an oopsie.
Although, that’s all moot with the main practical problem to this approach: How are you going to convince Reddit to actually let you implement this system?
I’m not sure the issue with “instance politics” will be solved by having dedicated identity servers; you’re just moving the problem of moderation from one person (running the instance) to another (running the identity servers).
Takahe doesn’t really solve this problem (unless I understand what they are doing - their features page is really unclear). You can have multiple identities per user, but that doesn’t protect the user account itself from the reputation of the instance owner.
I’m against this for a number of reasons. To the point that honestly I think you should have a think about if this is something you want to actually persue.
Firstly, we are not Reddit, we are Lemmy. We don’t really need to just mindlessly copy content over just for the sake of content. If this community were just a mirror of Reddit, then what’s the point of being on Lemmy anyways?
Lemmy and Reddit are link aggregators anyway. If there’s something that’s good enough to crosspost, then someone who browses both can just manually copy it over. There’s not really much OC on Reddit, especially for something like a programming language.
And if someone really wants to look at Reddit posts, they’d follow the lemmit mirror. Or just use Reddit.
Anyway, that out of the way, I really don’t think you should be trying to force/convince people to join Lemmy. Especially using automated tools.
Your roadmap shows a bot that would pm Reddit users any responses to posts from other platforms. I know if I got a message like that, then I’d just mark it as spam. It reads like a scam and would not make me want to join the platform.
I actually have a random bot email me saying I have unread messages on a git repo that was cloned by a random Chinese site. I mark it as spam and ignore it.
Anyway, let’s imagine people take you up on the offer and convert their accounts, will they have access to the whole fediverse? The big instance ( lemmy.world ) iirc blocks lemmit, and I can imagine would block your instance as well. Defederation is a pain point for people wanting to join the fediverse, and this will exacerbate things.
But let’s assume you get all that sorted, and you manage to recruit, let’s say a few tens of thousands of people. Have you a plan on how you are going to approach moderation and instance politics? Not saying you haven’t, but something to consider if you’ve not.
Anyway, that’s my thoughts. Sorry if I’m a bit negative. I think the way for Lemmy to grow is organically by providing a good value alternative to Reddit. Not by laser focusing on getting as much people and content as possible.
Okay, maybe “undiscoverable” is kind of the wrong word. I’m thinking about users who don’t really understand how lemmy work and don’t know that these tools are available.
During the initial “gold rush”, I noticed a lot of duplicate communities being created on lemmy.world that already existed elsewhere (e.g. !opossums@lemmy.world for !possums@possumpat.io ). These communities I guess just didn’t appear during a search on lemmy.world (since it didn’t know about it).
Honestly, it felt like if you made a community anywhere other than lemmy.world, a lemmy.world version would appear and outcompete it unless you linked it elsewhere or it had a dedicated instance.
Not saying that anyone did anything wrong, it’s just people being unfamiliar with the platform.
Just pointing out that the pawb.social people are/were also planning on forking Lemmy for similar reasons: https://pawb.social/post/147036 . Not entirely sure how much work has gone into it, but might be worth syncing up with them. Although I’m not sure if it’s the “right” thing to do to fork just for ideological reasons, especially since the main lemmy.ml instance seems to be fairly neutral.
I’ve been thinking about how a single “community” could exist across multiple instances, especially given that the landscape right now is that communities are basically:
Communities following others seems an elegant solution, honestly. Although, I would say that moderators should be able to remove posts of communities they follow, just in case.
However, something stuck out to me when reading the design discussion:
Users who post to a community that follows other communities are offered the choice of whether to post directly to the community they’re following, or to one of the communities that are followed by that community. They need not post multiple times, because posting to a more ‘upstream’ community would cause it to be seen by users of that community as well.
Why not? The lemmy web client at least does a good job at de-duplicating crossposts, and the client used for posting could give you a bullet list of communities you want to send it to. Imagine instances a
, b
and c
where a
defederates c
, but a
also has the largest community for bespoke hatwear or whatever. If you (who is on none of those instances) send your post to just a
(because it’s the largest), then your content will be unavailable to c
. But if you post to both a
and c
, you reach both communities.
Another thing that confused me while trying to wrap my head around things is this diagram, which I don’t think covers a common case:
If a user on b
makes a post 1
to the community on c
… What happens?
Option 1:
funny@c
boosts post 1
as message 2
.funny@b
is sent 2
and boosts post 1
as message 3
.user2@a
can see 1
through message 3
because it is posted on b
, which they federate with.Option 2:
funny@c
boosts post 1
as message 2
.funny@b
is sent 2
and boosts post 2
as message 3
.user2@a
cannot see 2
through message 3
because 2
is on c
which they do not federate with.I assume because it’s Peertube, which uses a distributed peer to peer network (like torrenting). It means less bandwidth for the site so it doesn’t have to run adverts to pay for it.
I’m at the age now where I know deep down the Wii is retro, but I don’t want to accept it.
I’m not sure if this would cause the issues you are seeing, but ensure your hosting provider allows you to make outgoing connections over port 25. A number of them block it for spam reasons.