Skip Navigation
Maven Imported 1.12 Million Fediverse Posts
  • Maybe we have some bias on this topic, but I had the same thought. Maven is such a well known tool in IT, that I'm surprised they just created a social network with the same name. Until they get a bit famous this won't be good for SEO.

  • KDE Plasma 6.1 Will Change My Life
  • He also seems to make a video almost every day. That really doesn't help with the quality of the video's. I doubt there is a lot of time to do additional research on the topic, so often it seems to just stick to the basic information from some kind of article and comments (and maybe a few related articles). And is often just related to the drama of the day.

    Although he does sometimes have video's that do require more research, but a lot of people won't see those as they assume low quality because of many other video's.

  • KDE Plasma 6.1 Will Change My Life
  • Sometimes I do like his videos, but this one was positioned so bad. The video does go over the changes in Plasma 6.1 and they are good, but this is not a huge change that would change anybodies live.

    I know he is probably inspired by channels like Linus Tech Tips, but even they don't got that far anymore. I think he probably intended this in a comedic way, as most of his audience knows that he makes his videos like this, but it really makes the videos worse.

  • Malicious VSCode extensions with millions of installs discovered
  • Ah it makes more sense that way, I didn't read the title as if they were talking about all the extensions that they found summed together. This does make it really clear that you should always check extensions when installing them, and not just install extensions with a low install base from an unknown author.

  • Malicious VSCode extensions with millions of installs discovered
  • That headline is quite misleading ... the malicious extension only had a few hundred installs, not millions. They just copied an existing extension that does have 7 millions installs. They did went quite far by registering a URL. Of course it is bad that stuff like this manages to get on the store, but as long as you check what you are installing, you should be fine.

  • Was this community always a news space?
  • I also started using Lemmy during the Reddit fallout, and stayed for a few weeks. After that I started seeing less posts that interested me, and I took a break from Lemmy for a while. And finally returned a week ago.

    Even on Reddit I see less interesting posts now. Especially the amount of discussion posts also seems to be lower there now. The official Reddit app is also a lot better for reading than for writing.

  • Dealing with D&D5E Hate and Pathfinder 2E
  • This sounds like a difficult problem if he wants to continue browsing the Reddit community for pathfinder. I have seen these kind of people on D&D subreddits too, and it also put me a bit off trying pathfinder during the OGL drama.

    Maybe there are other communities outside of Reddit that are able to provide the answers to questions, but I doubt you will escape this hate on the larger TTRPG subreddits.

  • Microsoft's Recall Feature Is Even More Hackable Than You Thought
  • Although this feature sounds helpful, it really looks like they went too far with this. They should probably look for a way to sell these Copilot+ pc’s in another way if they can’t get this secure enough and probably keep it disabled for companies…

    I’m surprised they didn’t make sure that the part that should help you hide sensitive information worked well before letting the first testers get their hands on the feature. All this bad news about the future doesn’t help convince people to turn it on.

  • Was this community always a news space?
  • There is indeed quite a shift towards just posting articles. A lot of people don’t regularly post (at least it was like that on Reddit), and for those people, the articles are great.

    It is hard to keep conversations active in smaller communities. As people will quickly stop posting new chats and questions if there are no replies.

  • Most painless way to play Old School Runescape on Linux?
  • It would be nice if Jagex would confirm that it is fine to use this laucher. As far as I know we have no more information than this tweet from Mod Ash: https://x.com/kaelygon/status/1763667578315042847 Bolt does work the same as the official launcher, so it should not be a problem…

  • Linux admin with 20 years experience, looking for "beginner" distro [Solved, the real beginner distro was the Debian I've used along the way]
  • Fedora might be a good option, but it might require more setup with an Nvidea GPU. They use Wayland now, are a Gnome based distro, support full disk encryption. For me the package mangar has been fine, and they do support flatpak. It is a very large distro with backing from RedHat. So it should generally be stable.

    Pop_OS! Seems to be the great distro if you just want to game and watch videos without any issues arround setting up the drivers. It has been a quite stable distro for me and it is quite similar to Ubuntu. Unfortunately this distro doesn’t have Wayland yet.

    Manjaro is an Arch based distro, but it had some issues with using packages from the AUR. They do run Gnome on Wayland by default.

  • What is/was your distrohopping journey?
  • I started with an openSUSE dual boot with KDE. I didn't use Linux a lot at that point. Later, I switched to Ubuntu on a laptop for about a year and used that until I bought a MacBook. Eventually, I returned to Linux by running Pop!_OS on my desktop, but games were a bit choppy, and I really wanted to just run Wayland. I also started to use RHEL at work for our servers. So now I'm trying to switch to Fedora. I still have some issues with the Jagex Launcher, but aside from that, everything seems to work great now.

    At home, I have also had an Ubuntu Server for many years, and I also run Ubuntu Server on my VPS.

  • Nederlandse partij (NL Plan) bij Europese verkiezingen heeft banden met China'
    nos.nl 'Nederlandse partij bij Europese verkiezingen heeft banden met China'

    Vertegenwoordigers van de partij NL Plan hebben sterke pro-Chinese standpunten, maar uiten die alleen in Chinese media, melden RTL en FTM.

    'Nederlandse partij bij Europese verkiezingen heeft banden met China'

    Bij de Europese verkiezingen aanstaande donderdag doet een Nederlandse partij mee die gesteund wordt door organisaties die zijn verbonden aan de Chinese Communistische Partij. Dat melden RTL Nieuws en Follow The Money (FTM) op basis van eigen onderzoek.

    0
    Schenker shows off a Linux laptop prototype with Snapdragon X Elite at Computex 2024
  • This looks great. That would be quite a powerful low-weight machine with long battery life. If they won't be too expensive (and gaming works on them) I might get one. At least RuneLite seems to already support ARM64 on Linux and these chips also put more spotlight on ARM trough Windows on ARM.

  • VR, Linux, and my Currently Unused Rift
  • If you would just stick to playing games on the Quest 2/3 directly that should be fine. The Quest 2 can run basic games, so it does limit you a bit. For example VR Chat has some worlds with too many assets that are not playable on the Quest 2 directly. From what I remember you would be limited to Meta’s store though.

    Unfortunately VR seems to be a niche thing so I doubt this will get a lot of priority on Linux.

  • Lemmy version 0.18.2 has been released

    This version patches the security vulnerability related to custom emoji’s.

    0
    Uploading videos on Lemmy
  • I searched for a fish related video on PeerTube and put the URL (https://video.ploud.jp/w/ddbf542e-d4b6-4778-abed-8c51799188a4) in the search bar of my Lemmy instance, after a bit the video was available like here just as a regular Lemmy post. You should now be able to reply to it from Lemmy.

  • Anyone else starting to favor Flatpak over native packages?
  • Flatpak and Snap definitely make installation more simple. The packages come with their own dependencies so you have way less issues with conflicting dependencies. I like them when they are officially supported by the distribution or developer, but I prefer the official installations over supporting a random person making a package (not sure if this is a thing with Flatpak, but with Snaps that was definitely a thing).

    Some software really benefits from not begin inside flatpak though, I had to switch back to the deb version of Visual Studio Code as the integrated console didn't have access to some software outside the package and was also logging weird errors.

  • Perschef VVD biedt excuses aan na afpakken microfoon journalist
    nos.nl Perschef VVD biedt excuses aan na afpakken microfoon journalist

    Na een interviewpoging met Sophie Hermans door het communistische YouTube-kanaal Left Laser pakte haar woordvoerder Kees Berghuis de microfoon af van de verslaggever.

    0
    Lemmy just had its first major hack. What happens next:
  • Only Lemmy instances with custom emoticons were affected based on the Recap of the Lemmy XSS incident. So if Lemmy.ml doesn't have these it should not have been affected.

  • Toot toot! Mastodon-powered Blog Comments
  • So it works by fetching replies from Mastodon. We can see Mastodon users here by searching for their profile (like @user@example.com ) but that does not list any of their posts as Lemmy is not able to show messages that are not part of a post/magazine. Is there any way that we can find the messages trough a direct link?

  • Fireship: htmx in 100 seconds

    htmx is a very different way of developing your web application. You can define a lot of behaviour inside your HTML with the new attributed added by htmx. This allows you to build an interactive website without using any JavaScript. You do need a REST API that returns HTML though.

    For more information about HTMX you can read the htmx docs.

    2
    Nederlandse overheid begint Mastodon-instance voor overheidsaccounts
    tweakers.net Nederlandse overheid begint Mastodon-instance voor overheidsaccounts

    De Nederlandse overheid is een Mastodon-instance begonnen op het subdomein social.overheid.nl. Het zal gaan om een instance bedoeld voor accounts van de Rijksoverheid, niet voor individuele ambtenaren.

    0
    Give it to me straight. How worried are you for Fedora's future after Red Hats recent anti user decisions?
  • Not worried at all. Their source code controversy mostly hurts companies that want to run RHEL without paying IBM, as after these changes distos like Alma Linux and Rockey Linux might diverge more from RHEL and they will have a harder time to guarantee bug-for-bug compatibility.

    Fedora is not trying to steal business and government contracts away from RHEL and as a normal user you don’t need this bug-for-bug compatibility anyway. You can just sign up for a RedHat developer account and download RHEL Server for free, this includes a GUI everything you need to run it on a workstation. You can even view the source code trough their website.

    So I am not worried that CentOS stream or Fedora will go away, RedHat is not trying to hurt consumers, they just want that enterprises (that are interested in support contracts) actually pay them when they use the work they put into RHEL. If they want a free version, they can still use CentOS stream.

  • Ubuntu Plans to Ditch its 'Minimal' Install Option
  • Such a misleading title.. if they actually do this you will still be able to install the minimum version of Ubuntu, you just get the option to pick additional software that automatically gets installed as snap packages.

    I really don’t see the issue. If you don’t want any additional application or if you don’t want snap packages don’t pick anything. It really is their choice to support Snap packages, and snap and flatpack packages are just a lot easier to support for distro maintainers.

  • Stability AI brengt Stable Diffusion XL volgende maand uit
    tweakers.net Stability AI brengt Stable Diffusion XL volgende maand uit

    Stability AI brengt Stable Diffusion XL volgende maand uit. Het model om afbeeldingen te genereren is onder meer beter in het renderen van handen en kan bovendien nog steeds draaien op een moderne thuiscomputer.

    0
    Lemmy versus IPv6: over half the Lemmy servers can't reach IPv6!

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

    > cross-posted from: https://popplesburger.hilciferous.nl/post/9969 > > > After setting up my own Lemmy server, I've been intrigued by the server logs. I was surprised to see some search engines already start to crawl my instances despite it having very little content. > > > > I've noticed that most requests seem to come in from IPv4 addresses, despite my server having both an IPv4 and an IPv6 address. This made me wonder. > > > > IPv4 addresses are getting more scarce by the day and large parts of the world have to share an IPv4 address to get access to older websites. This often leads to unintended fallout, such as thousands of people getting blocked by an IP ban from a site admin that doesn't know any better, as well as anti-DDoS providers throwing up annoying CAPTCHA pages because of bad traffic coming from the shared IP address. Furthermore, hosting a Lemmy server of your own is impossible behind a shared IP address, so IPv6 is the only option. > > > > IPv6 is the clear way forward. However, many people haven't configured IPv6 for their hosts. People running their own Lemmy instances behind an IPv6 address won't be able to federate with those servers, and that's a real shame. > > > > # Looking into it > > > > So, I whipped up this quick Python script: > > > > python3 > > import requests > > import sys > > import socket > > from progress.bar import Bar > > > > lemmy_host = sys.argv[1] > > > > site_request = requests.get(f"https://{lemmy_host}/api/v3/site").json() > > > > hosts = site_request['federated_instances']['linked'] > > > > ipv4_only = [] > > ipv6_only = [] > > both = [] > > error = [] > > > > with Bar('Looking up hosts', max=len(hosts)) as bar: > > for host in hosts: > > host = host.strip() > > > > try: > > dns = socket.getaddrinfo(host, 443) > > except socket.gaierror: > > error.append(host) > > > > has_ipv4 = False > > has_ipv6 = False > > for entry in dns: > > (family, _, _, _, _) = entry > > > > if family == socket.AddressFamily.AF_INET: > > has_ipv4 = True > > elif family == socket.AddressFamily.AF_INET6: > > has_ipv6 = True > > > > if has_ipv4 and has_ipv6: > > both.append(host) > > elif has_ipv4: > > ipv4_only.append(host) > > elif has_ipv6: > > ipv6_only.append(host) > > else: > > error.append(host) > > > > bar.message = f"Looking up hosts (B:{len(both)} 4:{len(ipv4_only)} 6:{len(ipv6_only)} E:{len(error)})" > > bar.next() > > > > print(f"Found {len(both)} hosts with both protocols, {len(ipv6_only)} hosts with IPv6 only, and {len(ipv4_only)} outdated hosts, failed to look up {len(error)} hosts") > > > > > > This script fetches the instances a particular Lemmy server federates with (ignoring the blocked hosts) and then looks all of them up through DNS. It shows you the IPv4/IPv6 capabilities of the servers federating with your server. > > > > I've run the script against a few popular servers and the results are in: > > > > # Results > > |Server |IPv6 + IPv4|IPv6 only|IPv4|Error|Total| > > |----------|-----------|---------|----|-----|-----| > > |Lemmy.ml |1340 |3 |1903| 215| 3461| > > |Beehaw.org|807 |0 |1105| 74| 1986| > > |My server |202 |0 | 312| 4| 518| > > > > !A bar chart of the table above > > > > !A pie chart of the results for Lemmy.nl > > > > !A pie chart for the results for Beehaw.org > > > > !A pie chart for the results for my server > > > > It seems that over half (55%+) the servers on the Fediverse aren't reachable over IPv6! > > > > # I'm running my own server, what can I do? > > > > Chances are you've already got an IPv6 address on your server. All you need to do is find out what it is (ip address show in Linux), add an AAAA record in your DNS entries, and enable IPv6 in your web server of choice (i.e. listen [::]:443 in Nginx). Those running a firewall may need to allow traffic through IPv6 as well, but many modern firewalls treat whitelist entries the same these days. > > > > Some of you may be running servers on networks that haven't bothered implementing IPv6 yet. There are still ways to get IPv6 working! > > > > ## Getting IPv6 through Tunnelbroker > > If you've got a publicly reachable IPv4 address that can be pinged from outside, you can use Hurricane Electric's Tunnelbroker to get an IPv6 range, free of charge! You get up to five tunnels per account (each tunnel with a full /64 network) and a routed /48 network for larger installations, giving you up to 65k subnets to play with! > > > > There are lots of guides out there, some for PfSense, some for Linux, some for Windows; there's probably one for your OS of choice. > > > > ## Getting IPv6 behind CGNAT > > > > Getting an IPv6 network through a tunnelbroker service behind CGNAT is (almost) impossible. Many ISPs that employ CGNAT already provide their customers with IPv6 networks, but some of them are particularly cheap, especially consumer ISPs. > > > > It's still possible to get IPv6 into your network through a VPN, but for serving content you'll need a server with IPv6 access. You can get a free cloud server from various cloud providers to get started. An easy way forward may be to host your server in the cloud, but if you've got a powerful server at home, you can just use the free server for its networking capabilities. > > > > Free servers are available from all kinds of providers, such as Amazon(free for a year), Azure(free for a year), Oracle(free without time limit). Alternatively, a dedicated VPS with IPv6 capabilities can be as cheap as $4-5 per month if you shop around. > > > > You can install a VPN server on your cloud instance, like Wireguard, and that will allow you to use the cloud IPv6 address at home. Configure the VPN to assign an IPv6 address and to forward traffic, and you've got yourself an IPv6 capable server already! > > > > There are guides online about how to set up such a system. This gist will give you the short version. > > > > # Final notes > > It should be noted that this is a simple analysis based on server counts alone. Most people flock to only a few servers, so most Lemmy users should be able to access IPv6 servers. However, in terms of self hosting, these things can matter!

    0
    ❗️Admins: REQUIRE E-MAIL VERIFICATION OR A CAPTCHA FOR REGISTRATION

    cross-posted from: https://lemmy.cat/post/6385

    > It is currently possible, through Lemmy's API, to create accounts automatically and without limit if verification by email address or captcha is not activated. I'd advise you to activate one or both of them NOW! > > After registering x number of accounts (currently I could do thousands), all you have to do is list all the existing communities for each of the account to publishes one new post per community, or more. I'll leave you to picture the mess. > > (I apologise to the administrators of sh.itjust.works, I should have done the test with my own server.)

    0
    Running Lemmy with Docker on a Raspberry Pi

    Last time we discussed how to set up Lemmy locally, this time we will discuss setting up Lemmy in production mode on a Rasberry Pi with functioning image upload by using Docker. This time we have to deviate more from the official guide as some things don’t seem to work. To follow this guide, you will need a basic understanding of the terminal and a Raspberry Pi 3 or 4 (I have only tested this on the Raspberry Pi 4). If you are on Windows 10 or 11 you can use OpenSSH in PowerShell.

    Setting up the Raspberry Pi

    To prepare an SD card for the Raspberry Pi, download the Raspberry Pi Imager. Insert the SD card, select the Raspberry Pi OS Lite (64-bit) and make sure you pick the SD card for Storage. You could pick the full version of the OS, but make sure you pick a 64-bit version of Debian Bullseye. Before clicking “Write”, go click on the settings icon and enable ssh. You can also set up a user, hostname, authorization keys and WiFi.

    Now insert the card into your Raspberry Pi, connect power and you should be able to ssh to the pi. So, with the default pi user, that would be ssh pi@raspberrypi.

    Installing Docker

    To install Docker we have to follow the Docker Debian installation guide (The Raspian guide leads to a configuration that won’t be able to find any stable docker installation).

    First, we have to install the dependencies for adding the new repository:

    sudo apt-get update

    sudo apt-get install ca-certificates curl gnupg

    Add Docker’s official GPG key:

    sudo install -m 0755 -d /etc/apt/keyrings

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

    sudo chmod a+r /etc/apt/keyrings/docker.gpg

    And set up the Docker repository: echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    Now we can install docker and docker-compose:

    sudo apt-get update

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose

    To be able to run docker command without using sudo we have to add our current user to the Docker group:

    sudo groupadd docker

    `sudo usermod -aG docker $USERz

    newgrp docker

    Configuring Lemmy

    We need to download a few configuration files. The configuration files listed in the guide don’t support Arm64, so I took the files from Lemmy 1.17.3 and modified them, so they pick the ARM version of the docker images. The NGINX configuration does work, but it is included to make the download simpler:

    curl https://gist.githubusercontent.com/Fireblade75/95a0dfa7abbedff554eb9109434060cd/raw/5cf6eddbe706dd25b84234ce619f18a4faca854a/docker-compose.yml -o docker-compose.yml

    curl https://gist.githubusercontent.com/Fireblade75/95a0dfa7abbedff554eb9109434060cd/raw/5cf6eddbe706dd25b84234ce619f18a4faca854a/lemmy.hjson -o lemmy.hjson

    curl https://gist.githubusercontent.com/Fireblade75/95a0dfa7abbedff554eb9109434060cd/raw/5cf6eddbe706dd25b84234ce619f18a4faca854a/nginx.conf -o nginx.conf

    If you want to change the default password of the database, make sure that you change it both in the docker-compose file and the lemmy.hjson configuration.

    Now we can run docker-compose up, this downloads all the containers and starts the Lemmy server. Check the logs for errors and see if there is anything we still need to solve. When the services are done starting, we can stop the cluster again by pressing control + C.

    A problem I had was that the image server did not get the right permissions to the location where it wants to store its files. To solve this, we simply have to run the following command:

    sudo chown -R 991:991 volumes/pictrs/

    Running Lemmy

    When all errors are solved, we can start the cluster in detached mode. Let’s first destroy the containers by using docker-compse down. And after that we can run docker-compose up -d. The containers should start now, but this time docker-compose is running in detached mode, this mode does not block the terminal and lets Docker run in the background.

    You now have a working installation of Lemmy on a Raspberry Pi. It listens to port 80, so you should be able to navigate to it from other devices in your network. For example, by going to http://raspberrypi/ . The default user is lemmy and its password is lemmylemmy, this is configured inside the lemmy.hjson file. If you later want to update Lemmy to a newer version, you can just change the version of the Docker images inside the docker-compose file.

    Hopefully this helped you understand how to set up Lemmy, if you have any question please ask.

    0
    Community Icons
    gist.github.com Logo of !tech@feddit.nl

    Logo of !tech@feddit.nl. GitHub Gist: instantly share code, notes, and snippets.

    Logo of !tech@feddit.nl

    Ik zag dat ze bij Beehaw nu één stijl aan icoontjes aan houden. Dat ziet er erg leuk en herkenbaar uit. Natuurlijk is het ook goed dat je gewoon een community kan oprichten zonder dat je je daar super druk over hoeft te maken.

    Ik vond het zelf alleen wel leuk om iets van een gezamenlijke stijl aan te houden voor de icoontjes die ik maakte, daarom koos ik voor de stijl van onze nu al meestgebruikte community !nieuws@feddit.nl. Wil je ook net zoals !nieuws en !tech@feddit.nl deze stijl aanhouden, dan kan je het SVG-bestand van de Tech community gebruiken als basis: https://gist.github.com/Fireblade75/005f4d398eb67c970bbd2e3f5d77b24f

    0
    Beehaw's mod tool needs

    cross-posted from: https://beehaw.org/post/574562

    > Here's a laundry list of sort with tons of tools we'd like to see > > - Role for approval of applications (to delegate) > - Site mods (to delegate from admins) > - Auto-report posts with certain keywords or domains (for easier time curating without reports) > - Statistics on growth (user, comments, posts, reports) > - User total > - MUA > - User retention > - Number of comments > - Number of posts > - Number of reports open > - Number of reports resolved > - Sort reports > - by resolved/open > - by local/remote > - Different ways to resolved a report > - Suspend account for a limited amount of time rather than just banning > - Send warning > - Account mod info > - Number of 'strikes' (global and local) and reports > - Moderation notes > - Change email > - Change password > - Change role > - Ability to pin messages in a post > - Admins should be able to purge > - Filter modlog to local > - Better federation tools (applications to communities, limiting) > - Applications to communities to allow safe spaces to exist (people should not be able to just "walk in" on a safe space - similarly to follow requests in Mastodon in a way) > - Limiting (Lock our communities down from certain instances but still allow people using our instance to talk to people from those instances) > > Obviously considering the moment when this is being made - federation tools are our highest priority.

    0
    AI-chatbots zijn fantastisch! Maar hoe werkt ChatGPT?

    ChatGPT, Microsoft Bing, Google Bard - al die chatbots die afgelopen jaar zijn verschenen, werken op basis van grote taalmodellen. Het lijkt zo simpel: je stelt een vraag en je krijgt antwoord. Maar onder de motorkap zijn het razend ingewikkelde systemen, die alleen zo goed kunnen werken omdat ze zoveel training hebben gehad. Hoe werkt dat precies? En wat zijn precies de risico's en bezwaren van deze nieuwe technologie?

    0
    Activity Streams 2.0

    We all know that Lemmy is part of the Fediverse, but how does it do that. This is done trough federating with both other Lemmy servers, but also by implementing the ActivityStreams protocol sot it can communicate with other applications on the Fediverse.

    The linked document describes the protocol and how it should work.

    0
    Kiesraad wil alternatief voor cd-rom en stembiljetten elektronisch tellen

    De Nederlandse Kiesraad gaat kijken of de software die bij verkiezingen wordt gebruikt in de toekomst niet meer via een cd-rom hoeft te worden verstuurd. Dat gebeurt nu wel met de testsoftware, maar veel computers hebben geen cd-romlades meer.

    0
    Setting up Lemmy for Local development (OSX / Linux)

    If you want to help with the development or just want to test things with your own Lemmy instance, you will have to set up a local instance on your own PC. This is not that hard, but it is not uncommon that you will do something wrong and if you are not, that experienced with the technology that is used, it can be hard to understand the error messages that you receive. That’s why I wrote this blog to help developers to run their own local instance.

    So when setting up your local instance, it is a good idea to read the official guide for local development. We will now set up both the API/back-end and the front-end.

    The back-end

    First, we need the rust toolchain. The easiest way is to just get Rustup by following the installation command you find on this website.

    Now before we start checking or building the back-end we need to install all required libraries.

    For Debian-based (like Ubuntu) this is:

    sudo apt install git cargo libssl-dev pkg-config libpq-dev curl postgresql

    For Arch-based this is:

    sudo pacman -S git cargo libssl-dev pkg-config libpq-dev curl postgresql

    For macOS, you can just install postgresql:

    brew install postgresql brew services start postgresql /usr/local/opt/postgres/bin/createuser -s postgres

    Now we need to add a db user for Lemmy to the database. Sometimes psql cannot be found, in those cases you can often just switch to the postgresql user with sudo su postgres

    psql -c "create user lemmy with password 'password' superuser;" -U postgres psql -c 'create database lemmy with owner lemmy;' -U postgres

    You can change the password if you want, in that case remember the password you entered.

    Now we have everything we need for the back-end, it is time to download the Lemmy project.

    git clone https://github.com/LemmyNet/lemmy.git --recursive git clone https://github.com/LemmyNet/lemmy-ui.git --recursive

    Make sure you don’t forget the --recursive flag, it is required to download all the code.

    Now we can have a look at the configuration of the back-end. In the “lemmy” project there should be a folder named “config”, in this config file are 2 files, defaults.hjson and config.hjson. If you need to make settings to your server, you can make those in the config.hjson file. You can use this to change the password of the database, for example. The defaults.hjson file should help with finding out how this can be done.

    Now we can check if everything works correctly, open a shell in the “lemmy” project (this is the back-end). There should be a Cargo.toml file in this folder.

    Here you can now run cargo check to check if everything compiles. This should run fine, and then you can run cargo run. Now you should have a running server.

    After making changes, you need to format the code with cargo +nightly fmt --all and run the linter with ./scripts/fix-clippy.sh.

    The front-end

    To get started with the front-end we need both Node and Yarn. Node is available through brew with “brew install node”, but you can also install it from the Node.js website. For many Linux distributions, it is also possible to use your package manager.

    Then we still need Yarn, there are again multiple ways to install Yarn, the recommended way to install yarn is trough corepack, this is explained on the yarn website. You can also install it through brew with “brew install yarn” or simply trough npm with npm install -g yarn. I went for the npm route.

    After installing yarn, you can install all node dependencies with yarn install and start the development server with yarn start.

    Image uploads

    We did not set up an image server, so you won’t be able to upload images. The docker setup does support this, but for general development building the docker containers is too slow.

    Windows

    I haven’t tried this out on Windows, but you should be able to follow all the Linux steps with Windows subsystem for Linux. You might be able to get it to work natively, but some installation steps will be different.

    0
    Google risks forced breakup of ad business as EU alleges shocking misconduct
    arstechnica.com Google risks forced breakup of ad business as EU alleges shocking misconduct

    Google could lose huge parts of its $225 billion ad business.

    Google may soon be ordered to break up its lucrative ad business, which amounted to nearly $225 billion in 2022 and represented nearly 80 percent of Google's total revenue.

    0
    Dev Vlog: June 2023 - Svelte 4.0 with Rich Harris

    Svelte 4.0 Beta is out. The most important changes are the minimum requirement of Node 16, TypeScript 5 and Webpack 5 (although the use of Webpack is not recommended)

    Svelte 4.0 focusses on structural improvements of the project and comes with better types for use in TypeScript. Even though the project, itself, is now moving to JSDoc (they say that this makes library development a lot faster). More impactful changes are expected in Svelte 5.

    0
    Pekka Pekka @feddit.nl
    Posts 19
    Comments 30
    Moderates