Skip Navigation
As Windows 10 end-of-support looms, IT faces a painful choice
  • Isn't that the same for an upgrade to Windows 11? You don't "just" upgrade to a new OS or OS version without checking whether everything will work. What kind of an "IT leader" would you be?

    I'd say if you aren't looking at alternatives and testing them to reduce costs and future turmoil like this, you aren't doing your job. Whether the outcome is sticking to Windows 10 and paying the fee, upgrading to Windows 11, or finding a Linux distribution for your environment, at least do the legwork of investigating.

    Anti Commercial-AI license

  • Linux Reaches 5% Desktop Market Share In USA
  • That must be a mistake. Are there any Finish people on Lemmy? I'd like to know if they are observing this on the ground, because honestly, if every 4th person had Linux there it would be somewhat visible. Even non-techies in the family or friend circle would mention it or ask about switching to it, or there would be a popular store to buy stuff with linux pre-installed.

    Anti Commercial-AI license

  • How Much Each Project Gets Monthly in USD
  • The Lemmy money is spread across 3 devs or so? And they have been writing it since 2018 or something. It's not surprising that they have more momentum and name recognition.

    PieFed is new and on Codeberg. Especially the Codeberg thing, I like. It does lack a CI though. How stable is it?

    Anti Commercial-AI license

  • [HOW TO] Proxmox VE networking in virtualbox on linux

    If you followed ProxMox's wiki page Proxmox VE inside VirtualBox, you might have found yourself unable to connect to the VM, even with port-forwarding. Should that be case, this might help.

    Setup

    You followed the wiki and have 2 interfaces setup for your VM in virtualbox

    1. Host-only network interface (vboxnet0, or another one)
    2. NAT interface

    Why is this happening?

    Proxmox does not use systemd-networkd to configure its network interfaces. Everything is in /etc/network/interfaces. And thus, the VM boots with an unconfigured network.

    Resolution

    Step 1: Find the IP address of your host-only interface on the host

    > On Linux, macOS and Solaris Oracle VM VirtualBox will only allow IP addresses in 192.168.56.0/21 range to be assigned to host-only adapters.

    \- Virtualbox documentation

    There's a good chance vboxnet0 will thus have 192.168.56.1\24, vboxnet1 then 192.168.57.1\24, and so on. To check, run

    sh ip a | grep -A2 vboxnet

    There are 2 VMs on mine and vboxnet1 has the proxmox VM with the IP 192.168.57.1/24

    My output

    3: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.56.1/24 scope global vboxnet0 valid_lft forever preferred_lft forever inet6 fe80::800:27ff:fe00:0/64 scope link proto kernel_ll -- 10: vboxnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff altname enx0a0027000001 inet 192.168.57.1/24 brd 192.168.57.255 scope global vboxnet1 valid_lft forever preferred_lft forever inet6 fe80::800:27ff:fe00:1/64 scope link proto kernel_ll -- 11: vboxnet2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 0a:00:27:00:00:02 brd ff:ff:ff:ff:ff:ff altname enx0a0027000002 12: vboxnet3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 0a:00:27:00:00:03 brd ff:ff:ff:ff:ff:ff altname enx0a0027000003 13: vboxnet4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 0a:00:27:00:00:04 brd ff:ff:ff:ff:ff:ff altname enx0a0027000004

    As for the NAT network interface, the virtualbox doc says

    > The virtual machine receives its network address and configuration on the private network from a DHCP server integrated into Oracle VM VirtualBox. The IP address thus assigned to the virtual machine is usually on a completely different network than the host. As more than one card of a virtual machine can be set up to use NAT, the first card is connected to the private network 10.0.2.0, the second card to the network 10.0.3.0 and so on.

    Therefore we don't need to note down a IP and subnet here.

    Step 2: Note the names of the network interfaces in the VM

    Linux names the interfaces dynamically, which can be a pain sometimes, so the interface names here might be different from yours!

    Lists the network interfaces and their information with sh ip address # Or simply `ip a`

    I have:

    • enp0s3 as the host-only interface
    • enp0s8 as the NAT interface
    My output

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,DOWN,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 08:00:27:e4:f4:50 brd ff:ff:ff:ff:ff:ff 3: enp0s8: <BROADCAST,MULTICAST,DOWN,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state DOWN group default qlen 1000 link/ether 08:00:27:bc:39:f4 brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 08:00:27:e4:f4:50 brd ff:ff:ff:ff:ff:ff inet 192.168.100.2/24 scope global vmbr0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fee4:f450/64 scope link valid_lft forever preferred_lft forever

    In my output you can already see the problem. vmbr0, which is the bridge interface for VMs that Proxmox will create has 2 problems:

    1. It's using the wrong network interface as a slave (enp0s8 is the NAT network interface; it's the second one)
    2. Had it chosen the right interface (host-only interface has enp0s3 in my setup), the IP address and subnet would've been wrong anyway!

    Step 2: Update /etc/network/interfaces

    Time to:

    • assign a manually chosen IP address to the bridge interface (vmbr0)
      • I picked 192.168.57.2/24
    • set the bridge interface as the master of the correct interface (enp0s3 is the host-only interface in my case)
    • let DHCP configure the NAT interface (enp0s8 in my case)

    ```sh IP_SUB="192.168.57.2/24" IFACE_HOST_ONLY="enp0s3" IFACE_NAT="enp0s8" cd /etc/network/ cp interfaces interfaces.bak

    Write configuration

    echo " # Manually edited, might be overwritten by Proxmox auto lo iface lo inet loopback

    auto $IFACE_NAT iface $IFACE_NAT inet dhcp

    auto $IFACE_HOST_ONLY iface $IFACE_HOST_ONLY inet manual

    auto vmbr0 iface vmbr0 inet static address $IP_SUB bridge-ports $IFACE_HOST_ONLY bridge-stp off bridge-fd 0 " > interfaces

    Reload networking

    ifreload -a ```

    Step 3: test

    You should now be able to access Proxmox VE from the host-only network interface using the IP address you chose. In my case that's https://192.168.57.2:8006/

    Conclusion

    It would be great if Proxmox used systemd-networkd and shoved configuration files into /etc/systemd/network. They are much easier to read, honestly and systemd does a good job at managing stuff. It would work "auto-magically" regardless of environment.

    Hopefully this helped somebody and you didn't have to spend a few hours trying to figure this out.

    0
    CursorAI "unlimited" plan rug pull: Cursor AI silently changed their "unlimited" Pro plan to severely rate-limited without notice, locking users out after 3-7 requests
  • Nowadays, anything "unlimited" is highly likely to be fake. There's just too much potential for abuse and nobody is going to finance that.

    Cursor is also US, so their terms and conditions can change at any moment without following any rules whatsoever if you're in the US. Probably for EU customers they might have a problem, because they require notification of changes and to give the user the option to reject the changes and cancel with no supplementary charge.

    Anti Commercial-AI license

  • UK firm achieves first commercial tritium breakthrough for fusion fuel
  • The ability to generate tritium within the reactor is crucial. A sustainable fusion energy system needs to produce more fuel than it consumes

    I clearly don't understand the fusion process. Deuterium is used to fuse and create tritium?

    The reactor core also features an electron-screened environment. This design reduces the energy needed to overcome the Coulomb barrier between particles, which lowers required fusion temperatures by several million degrees and allows for higher performance in a compact size.

    What's this "electron screened environment" they are talking about? They can't purge all electrons from molecules when they enter can they? That would make the molecule instable. But it sounds like they are doing something similar in order to reduce the temperature required for fusion.

    Anti Commercial-AI license

  • Educate children, don't just force abstinence from technology

    To preface this, no I do not have kids nor am I a child educator. The involvement I have with children is having been one.

    TL; DR educate yourself, educate your kids, ease into stuff, explain why

    ---

    So, what's this about? Well, I've seen it in my private circles, online, and quite recently by multiple governments proposals that children shouldn't access social media, have smartphones, or in some cases even no access to technology. It's a stance I find is borne in fear, uncertainty, doubt, and often ignorance. Now, I cannot claim to be much more educated on the subject than everybody else, but just like everybody has an asshole, I have opinion.

    Abstinence is not often a solution to a problem. Sure, you could get pedantic and say abstaining from deadly things like alcohol, drugs and stupid actions, but to that I respond: it's all about the dose. Nigh everything has a lethal dose, even water. Anyway, abstinence from sex is the most common example of abstinence I know of, and it is not known to help. In fact, places that preach and teach abstinence only are more likely to have teenage pregnancies, youth and adults alike who know little to nothing about their bodies, safe sex, consent, and so on.

    A lack of education and experience is not a solution I can feel comfortable with. Don't misconstrue my distaste for abstinence as a call for complete freedom. As with many things, everything in moderation (even moderation).

    What am I actually proposing then? Education, my fellow humans. Educated actions. Children aren't stupid, they are just vessels that have just started being filled with knowledge, understanding and experience. Teach them about the things they are using or will use. Help them understand the advantages and disadvantages of things. Help them make informed decisions and provide guardrails based upon existing knowledge.

    A specific example, too much screentime has been shown to impact mental and oral development in children. They get less time practicing how to flap their lips, discovering their physical limits, training their bodies and aiding physical development, and many other things. (Adults are of course not immune)\ However, this world runs on screens and the things displaying things on them. Being unable to operate these devices leaves people behind technologically and reduces independence. Some people never get comfortable with electronic devices. Some because they lack the experience, some out of resistance, some are just afraid of looking dumb, and there are of course many other reasons.\ The solution isn't to ban screentime entirely, but to introduce it slowly, provide alternatives, and explain why. But not just "I don't like it" or "you're too young". I hated those as a kid and probably you did too.

    I understand that not all parents are educated enough to make informed decisions and that is a much bigger topic than for this brain dump. However just because it isn't that way, doesn't mean we should give up and not try to improve it.

    1
    GitLab abandons federation plans!
  • The comparisons you're making are off base and it feels like you're mocking something you don't understand, while doing so with a lot of confidence. I'd suggest you either read an article, watch a video, or read the ActivityPub spec's intro. It isn't long and should help you understand the basics. Then you can move on the ForgeFed spec which is the ActivityPub extension for source forges. And you can always ask an LLM to summarise it for you if you really don't understand.

    Anti Commercial-AI license

  • GitLab abandons federation plans!
  • Git is already inherently distributed and automagically mirroring to other remotes is generally like three lines in any CI syntax (and there is probably a precommit hook for it too).

    Git is, but what about everything else? When you clone a project on gitlab or github, does it come with all the issues, discussions, MRs, and so on?

    I can see a LOT of security issues with not having a centralized source of truth on what the commit hashes should be and so forth.

    That's what signed commits are for. Also, pull/merge requests and issues are sent to the origin instance, just like in the fediverse. Like now, you made a comment on a post on Fediverse@lemmy.world through your instance lemmy.zip. The same would happen with your comments, pull/merge requests, issue reports, and so on. There's no need for a "central authority".

    Anti Commercial-AI license

  • A Newbie's First Contribution to (Rust for) Linux
  • LKML: The end boss of kernel development

    Contributing to Linux was my first time interacting with a mailing list, at least for the purpose of sharing and reviewing code. I thoroughly hated the entire process. I tried in vain to write about my experience in a constructive manner, but it always turned into an unhinged rant, so I gave up. In summary, I think that sending and reviewing patches via email is exactly as insane as it sounds.

    That's the worst part but kconfig doesn't sound much better. Even if I had time, I wouldn't try contributing to the kernel for those 2 reasons alone.

    It is great that he got to the point he is now. Kudos for pervering.

    Anti Commercial-AI license

  • Meta Secures Bittersweet Fair Use Victory in AI 'Piracy' Case * TorrentFreak
  • “As should now be clear, this ruling does not stand for the proposition that Meta’s use of copyrighted materials to train its language models is lawful. It stands only for the proposition that these plaintiffs made the wrong arguments and failed to develop a record in support of the right one,” the ruling reads.

  • Props to Linus though for really working on his temper
  • I still don't understand why something so unstable and far from ready had to be put into the kernel upstream. How did Kent manage that? Is he really that good with words? Reading his messages on LKML, it really doesn't seem so. No-one is a god programmer, but was his code so convincing, his practices so good, his testing so thorough, that it being unstable could be ignored?

    Anti Commercial-AI license

  • A Modest (Linux) Proposal - arthurpizza
    tilvids.com A Modest (Linux) Proposal

    0:04 Docker 0:25 WSL 0:38 Linux Apps on Chrome OS 0:54 WSL2 1:05 Android and Mac OS 1:22 The Proposal Linkshttps://www.infoq.com/news/2013/03/Docker/, Mediahttps://commons.wikimedia.org/wiki/File:O...

    A Modest (Linux) Proposal
    4
    What's your "Oh fuck, that actually worked!" Linux moment that made you feel like a wizard?
  • And now we have a new streaming service 🤔 Really nice.

    I was thinking that by now, we should have enough bandwidth to stream webcams straight to each other without HLS or WebRTP or whatever. Just make the device available over a port or, as you did, cat it to another PC and voilà. Actually, why don't we stream raw camera feeds?

    Anti Commercial-AI license

  • Does this matrix plugin support federation between github and gitlab?
    github.com GitHub - matrix-org/matrix-hookshot: A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.

    A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA. - matrix-org/matrix-hookshot

    GitHub - matrix-org/matrix-hookshot: A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.

    It allows adding github and gitlab to the bridge, but I don't get what it does. Anybody know?

    1
    [Answered] Organic maps archived their forgejo repository

    What's going on @organicmaps@fosstodon.org? Have you gone back to github?

    Edit link to forgejo repo: https://git.omaps.dev/organicmaps/organicmaps

    Edit2: The project was forked https://codeberg.org/comaps/comaps

    5
    Is there are good alternative to IPFS?

    A distributed, content-addressed filesystem across the internet, not just in a home LAN, than can be mounted (fuse or whatever else), doesn't require storing data twice, has a reasonable API and acceptable documentation.

    Does something like that exist?

    4
    [Meta] How is this community different from ProgrammerHumour?

    Both seem to post similar memes and jokes. This community doesn't have a sidebar text to clarify what the community is nor when to post what stuff where, and it's not clear why the community exists.

    10
    Any suggestions for a self-hosted CI that can also be run locally?

    I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.

    Is there a CI that can do those things (run locally and remotely)?

    Anti Commercial-AI license

    37
    Is serverside anti-cheat too difficult?

    Why do so many games rely on client-side anti cheat and stuff like kernel level anti-cheat?

    Anti Commercial-AI license

    13
    www.vice.com Mark Zuckerberg Says ‘Everything I Say Leaks’ in Leaked Memo

    Mark Zuckerberg is pissed that everything he says behind closed doors is leaked. How do we know this? Duh, because of leaks.

    Mark Zuckerberg Says ‘Everything I Say Leaks’ in Leaked Memo
    9
    Whats the difference between Neonephos and Eurostack?

    The Linux foundation announced "neonophos", but Eurostack has been around for a while. Why do these two exist separately and not together?

    1
    [Resolved] Is there a way to stop windows from grabbing attention in plasma6?

    I configured steam to open on a separate desktop using window rules, but it also grabs the attention and plasma will automatically switch to the desktop it opened to. Is there a way to stop that from happening?

    Steam opens 3 windows, so switching to another desktop will be reverted 3 times.

    Anti Commercial-AI license

    4
    Can anybody explain why CUDA and Rocm are necessary and why OpenCL isn't the solution?

    I've read multiple times that CUDA dominates, mostly because NVIDIA dominates. Rocm is the AMD equivalent, but OpenCL also exists. From my understanding, these are technologies used to program graphics cards - always thought that shaders were used for that.

    There is a huge gap in my knowledge and understanding about this, so I'd appreciate somebody laying this out for me. I could ask an LLM and be misguided, but I'd rather not 🤣

    Anti Commercial-AI license

    16
    element.io A difficult chat: Messaging apps in Australian government

    The Australian Information Commissioner (OAIC) produced an excellent report on consumer messaging apps within the Australian government.

    A difficult chat: Messaging apps in Australian government

    An analysis of an excellent report into the use of consumer messaging apps within the Australian government.

    0
    Rust is the New C

    In terms of its usability, not its deficits.

    1
    I miss Django (and its ORM + documentation)

    It's been a while since picking up rust, but until now, most of what I've written has been CLI tools, proc macro libs, and async networking stuff. Web/application servers have been kept at arm's length while waiting for something to come around like Django.

    For those not in the know, Django is a web framework written in Python. It's opinionated, extensive, has many features, and has stellar documentation. It's old too and had major problems taking advantage of (back them) python's new async capabilities as well as "new" technologies like WebSockets. Popular frameworks popped up in the meantime like Flask and FastAPI that do use new technologies and python language features like type hints, however nothing has really come to be quite like Django.

    Django's ORM

    As usual, there are camps when it comes to this, but I'm in the "keep SQL away from me" or "one language for all" camp. Django's ORM does a mighty fine job of doing so. It's possible to write a django application without ever seeing a line of SQL. It helps me immensely to just think about models, application logic, and presentation.

    Django allows defining your models in python, generating and handling database migrations, making complex queries of 1-1, 1-n, m-n relations without an SQL syntax, storing objects, locking rows, optimising queries (again without knowing SQL), and much more.

    Queries

    My favorite, powerful query simplifications are QuerySet.select_related() and QuerySet.prefetch_related(). An example of Queryset.select_related:

    This is useful for a tree of 1-n objects. An example from the documentation: a Book has an author (foreignkey) which is a Person (1-n), with a hometown (foreignkey) that is a City (1-n). An author can have written many books (n-1), a city can have many people (1-n).

    Say you wanted to find 10 books from an author that lives in "Marrakesh" with the associated objects (Book, Person, City). In Django that's

    ```py

    Hits the database with joins to the author and hometown tables.

    books = Book.objects .filter(author_hometown__name="Marrakesh") .select_related("author__hometown")[:10] book = book[0] person = book.author # Doesn't hit the database. city = person.hometown # Doesn't hit the database. ```

    QuerySet.prefetch_related() does the same for m-n / many-to-many relationships and some other queries (see doc). No messing around with SQL, just python.

    Migrations

    The ORM also takes care of generating and managing migrations for you. To me, that's a major plus as it offloads the need for me to think about whether a specific type exists in the DB of choice. Most of the time django will handle it transparently. There are even django extensions / apps to optimise more SQL query generation like adding views, or choosing which index to use for a specific type or table, and so on.

    Django's documentation

    If I'm not mistaken, it follows the diátaxis method of documentation

    !diataxis

    which fits the project very well and allows getting started with django very easily as well as finding good, low-level, in-depth information quickly. Many projects have documentation but it's everywhere and nowhere in terms of location (where to find specific things) and depth (high-level vs low-level), making it less optimal for beginners and experts alike. If you want to step up your documentation game, do give diátaxis a shot.

    What prompted this

    I'm currently 3 days into exploring the rust web framework ecosystem and banging my head against it. It's very commendable what people have written in their free time and shared with the world, so I will not disparage any projects here. It would just be really cool if a django-like, batteries-included project started or reached production quality sometime. The closest candidate I found is Cot.

    Cot started in June 2024 and is a long way from django's level but has already grown to something quite impressive. If time allowed it and the project weren't on GitHub, and had a matrix chatroom, it would surely get contributions from me. Here's the announcement on the main dev's blog, which reflects some of my frustrations with the current web framework ecosystem in Rust.

    Until Cot is ready, I'll probably be using axum for application server, diesel for the DB-glue, and possibly leptos, yew, or just plain Rinja. Unless of course somebody knows of a django-like web framework in rust that isn't on awesome-rust...

    Anti Commercial-AI license

    1
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)ON
    onlinepersona @programming.dev
    Posts 169
    Comments 4.1K
    Moderates