onlinepersona

joined 2 years ago
MODERATOR OF
[–] onlinepersona@programming.dev 2 points 45 minutes ago* (last edited 45 minutes ago)

Nix builds go through 2 phases, first downloading the dependencies into the nix store (which can also go through a nix build) and then executing the builder with access to the nix store but without network access. This is done for purity because network access can lead to non-reproducible builds.

Most languages and tools are complex but can output URLs to their depdencies or download them, but that cannot happen during the build (no network access). So, either a tool predownloads stuff and they can be put into the nix store by the "simple" nix derivation, or the tool (pip, docker compose, cargo,...) has to be rewritten either partially or completely in nix. The latter is much harder and in most cases would just lead to repeating the work. Nix may be a functional language but it's missing important language features like static typing.

Anti Commercial-AI license

[–] onlinepersona@programming.dev 1 points 2 days ago* (last edited 2 days ago)

Yes please! Maybe this will force Australians to use peertube or other websites. If they started uploading kids friendly content to Peertube and made a peertube for kids, that would be quite something!

Anti Commercial-AI license

Privatise the gains, socialize the losses

[–] onlinepersona@programming.dev 2 points 6 days ago (1 children)

Some have complained that the Anubis mascot is ""not appropriate for use on customer facing systems"" and asked for a flag to disable it. Iaso has said that the ability to change or disable branding is an ""enterprise feature"", though they are open to making it a feature if Anubis becomes fiscally sustainable.

[–] onlinepersona@programming.dev 4 points 1 week ago (3 children)

Such a useful project as this is struggling with fiscal sustainability. Opensource really needs a method of funding. I mean, there are probably thousands of institutions using this for free. If they had commissioned or paid somebody to implement this same functionality, it would've take a full team probably a month and they would've charged companies out of their ass for it as well as further development. But Xe Laso is doing this shit for free and most institutional users can't be bothered enough to pay up to even change the damn "inappropriate anime mascot" 🙄

I seriously hope a license like the Post Open License get developed and used. It's just disgusting to me that such projects have commercial entities demanding features without having to pay. Fuck them. Fuck you too, Duke University.

Anti Commercial-AI license

I wonder how KDE Plasma would've been for her. She might even install Asahi Linux on her Mac. Calling it now.

Anti Commercial-AI license

[–] onlinepersona@programming.dev 10 points 1 week ago* (last edited 1 week ago)

Way to miss the point.

This campaign isn't for "I know what I'm doing folk". They are the minority. The majority can't tell web browser from a file browser nor a mounted web drive from a local disk. They are the target of this campaign.

People are either going to buy a new computer because they can't upgrade, which is bad for the environment, or keep using their computers and be at risk of becoming infected. Please don't go around telling these people "just stay on windows 10, you'll be fine". Sure they won't be in danger right away, but the longer they stay on it, the higher the risk of being infected by an unpatched no-click exploit or whatever else is out there.

Anti Commercial-AI license

[–] onlinepersona@programming.dev 1 points 1 week ago (1 children)

Thanks, this is the answer to the question I was just asking! (What is Magma trying to solve).

Can you dive a little deeper in how Magma is solving this? Don't VMs have a virtual GPU with a driver for that GPU in the guest that, I imagine, forwards the graphics instructions and routines to the driver on the host? (possibly even translating to OpenGL or VK that then is handled by Mesa?). Where in that does Magma come in? My guess is that magma sits in the guest as the graphics driver and on the host before Mesa, but I know little about virtualisation outside of containers.

Also, what are these "native contexts" you speak of? Are they like the virtualisation extensions on CPUs that VMs can directly use?

Anti Commercial-AI license

As usual, Apple was never the first to have the idea or have the first implementation. They often take something, make it glossy, and market the hell out of it. Luckily it hasn't displaced Windows yet and Linux is gaining ground.

Anti Commercial-AI license

[–] onlinepersona@programming.dev 1 points 1 week ago (1 children)

That was a good explanation. The only thing left to understand is Magma. I'm not seeing the problem they are trying to solve.

Anti Commercial-AI license

Lol, OK, you just answered the exact question I had! Amazing. Thank you.

Anti Commercial-AI license

[–] onlinepersona@programming.dev 1 points 1 week ago* (last edited 1 week ago)

Thanks, this answers the questions I asked another commentor 😅 Now I have to ask if Mesa is an implementation of OpenGL, what is an implementation of Vulkan? Or is the reference implementation of Vulkan also called "Vulkan" ?

Edit: alright @who@feddit.org answered the question.

Anti Commercial-AI license

 

I just read "Google Continues Working On "Magma" For Mesa Cross-Platform System Call Interface" on Phoronix and didn't get it. That made me realise my knowledge and understanding of these things is barely existent. I did write an MS paint clone on linux in C++ a really long time ago and the entire thing was with opengl (it looked like crap), but since then... nothing.

So my understanding is that the graphics card (or CPU if there's no graphics card), writes to a component which is connected to a screen and every cycle (every 1/60 seconds if 60Hz) the contents are sent or read by the screen. OpenGL provided a common interface to do so, but has been outdated since... a while and replaced by Vulkan. Then there are libraries either built on top of are parallel to OpenGL. Vulkan can be parallel or use OpenGL if that's the only one supported IIRC.
However, I'm not sure if OpenGL is implemented at the hardware level (on the graphics card), software level, or both.

Furthermore, I don't understand where Magma, Meta, and MESA come in.

Maybe my core understanding is wrong or just outdated. I can't tell. Can anybody eplain?

Anti Commercial-AI license

 

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

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

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)
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.

 

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.

 

A single contributor (oelmekki) had started integrating ActivityPub into GitLab, which could have been a huge win for the source forge, but despite praising him for it GitLab didn't assign enough resources to help him out. Unsurprisingly oelmekki ran out of steam and now, a year or so later, Gitlab just closed the epic.

Comments have started coming in from the community (and customers) expressing their frustration with GitLab over the decision. The ticket was reopened but without an official communication.

Anti Commercial-AI license

 

It's like to hackterms but opensource. I found myself having to look up some terms and not finding them on wikipedia. When I finally find the meaning, I add to my own personal dictionary and rarely hackterms, because contributing to a closed-source project that might just someday disappear seems wrong.

 

A few people pointed out that many rust projects were MIT licensed and since then I indeed have seen MIT licensed projects everywhere in Rust. Then I found the link of this post and it looks like MIT was by far the most popular license in all of opensource in 2023.

Any ideas why?

 

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

 

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

 

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?

 

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.

 

The related ticket quickly became the most commented one in their ticketing system.

view more: next ›