andrew0

joined 1 year ago
[–] andrew0@lemmy.dbzer0.com 3 points 1 week ago* (last edited 1 week ago)

Click for longer opinionIf I remember correctly, even though Fuchsia is used in production, it is mainly targetting mobile or IoT devices. Nevertheless, the underlying micro-kernel, Zircon, is written in C/C++, which differs from Redox. Now, I'm not saying that Redox solves everything by writing the kernel in Rust. It will require plenty unsafe blocks to achieve what it needs, but it makes you aware beforehand that you should be careful about how you implement that bit of code. Having this clear marking could also make the kernel code review process more likely to catch issues.

Disregarding this, if I am not mistaken, Redox aims to be a drop-in replacement for Linux one day, both for desktop and server, while Fuchsia only wishes to be integrated in/replace Android. Linux is perfectly fine for most use cases, I am not suggesting otherwise! However, given how many issues resulted from overflow/memory corruption issues that could have been potentially easier to identify if Rust (or any other memory safe language) was used, you'd think that there is incentive to rely on it for kernel development. Linus himself made this decision as well when allowing Rust to be used in the Linux kernel development (albeit perhaps a bit too early).

The Linux kernel is not flawed, and Redox is probably years away from being even near it. However, having memory-safety from the get-go as a requirement for developing the kernel could lead to fewer exploits, compared to what we have today with Linux. Just as you've said, most users are not aware of it/they don't care, but the big players will care about keeping information safe on their servers. Just to conclude, Redox OS is not just Linux rewritten in Rust, and could potentially have many other benefits that are particularly juicy for data centers. Too bad it's not production ready yet :D

[–] andrew0@lemmy.dbzer0.com 3 points 1 week ago

That's unfortunate :( I think you can still run it in QEMU, if you're interested.

[–] andrew0@lemmy.dbzer0.com 11 points 1 week ago (2 children)

I see your point. However, integrating Rust properly in the Linux kernel is an uphill battle. Redox OS is not at all close to being stable, but it showcases that you can build a Rust kernel from scratch, and integrate it into an OS that meets some of the requirements of a modern one. Of course, considering it a toy project and glancing over its potential doesn't help with adoption. They even mention in their description that currently they can only support a community manager and a student developer with the current donations. When you compare that to the amount of money and developers involved in the Linux kernel, it's insignificant.

I was not suggesting that the Rust For Linux devs jump ship, but it could be beneficial for the investors behind the project to look at alternatives. Heck, the Linux kernel started as a toy project itself. I believe that a team focused solely on such a Rust-only kernel could spearhead needed changes to reach something stable, as opposed to investing time and money into fighting established C developers to integrate a memory-safe language in the kernel fully.

91
submitted 1 week ago* (last edited 1 week ago) by andrew0@lemmy.dbzer0.com to c/technology@lemmy.world
 

I recently discovered that Redox OS got a new release earlier this month. I'm quite surprised how far they managed to get, given that only a handful of people are working on this project (compared to the Linux kernel).

Now, I'm curious what it would take to get bigger players to focus on this project. Given the recent Linux + Rust drama, it would surprise me if the backers of Rust for Linux would not give this project some attention.

[–] andrew0@lemmy.dbzer0.com 5 points 3 weeks ago (1 children)

If I am not mistaken, the difference was that the Internet Archive was distributing books with a DRM that would make the PDF unusable after a certain time. You could relate it to how a physical library offers books for a limited time, for free. Now, of course, one could bypass the DRM or copy the contents differently, but so can another person photocopy a book they borrowed physically. Meanwhile, other physical libraries are allowed to distribute e-books, but I'm not sure if that's made possible due to licensing fees.

I'm not saying that they approached this well, especially given the copyright laws in the US, but it was indeed a good thing for the normal person at the time. Too bad that the judicial system in the US is biased towards leeching companies. I really can't wait to see the AI vs publishers fight, though. Let's see who has deeper pockets and better plants in the courts :D

[–] andrew0@lemmy.dbzer0.com 2 points 2 months ago* (last edited 2 months ago)

~~I think it might be Magic Research 2?~~ Nevermind, I couldn't find that review on the Steam page, so it must be another game.

[–] andrew0@lemmy.dbzer0.com 13 points 3 months ago* (last edited 3 months ago)

Organic Maps. Make sure you download the areas beforehand. The resolution for walking paths is much nicer, and you can clearly see the routes of temples and other points of interest.

It also shows data about drinking faucets, toilets, and other things provided by users.

[–] andrew0@lemmy.dbzer0.com 2 points 4 months ago* (last edited 4 months ago)

You're right. I read past the "I want to learn ML" and went straight to "do something useful with the data".

If the goal is to understand how modern LLMs work, it's also good to read up on RNNs and LSTMs. For this, 3Blue1Brown does an amazing job, and even posted an in-depth video about transformers. I'd watch that next, followed by implementing a simple transformer in PyTorch (perhaps using the existing blocks).

You could argue that it's important to design everything from scratch first, but it's easier to first go high level, see how the network behaves, and then attempt to implement it yourself based on the paper. It is up to OP how comfortable he is with the topic though 😁

[–] andrew0@lemmy.dbzer0.com 3 points 4 months ago

Depending on how much compute you have available, you can look into finetuning models from HuggingFace (e.g. Llama 3, or a smaller Phi model). Look into LoRA, and try to learn how the model you choose calculates the loss.

There are various ways to train, and usually involves masking the input by replacing random input tokens with the mask token. I won't go into too much detail with this, because it's a lot to explain, and I suggest you read an article on this (link1 or link2)

[–] andrew0@lemmy.dbzer0.com 19 points 4 months ago* (last edited 4 months ago) (2 children)

Hmm, might be fun to try and install custom firmware on these. I saw an article that showed a way to root them. Could be a nice mini display to link to home assistant!

The problem currently seems to be that no one sells it for less than 100$ around me right now 😅

[–] andrew0@lemmy.dbzer0.com 42 points 4 months ago (1 children)

That person clearly hasn't witnessed Dutch students carrying a whole bedroom on the back of their bike.

[–] andrew0@lemmy.dbzer0.com 3 points 4 months ago (1 children)

Good luck! You can try the huggingface-chat repo, or ollama with this web-ui. Both should be decent, as they have instructions to set up a docker container.

I believe the Llama 3 models are out there in a torrent somewhere, but I didn't dig to find it. For the 70B model, you'll probably need around 64GB of RAM available, but the 7B one should run fine with just 8GB. It will be somewhat slow though, compared to the ChatGPT experience. The self-attention mechanism can be parallelized, which is why you will see much better results on a GPU. According to some others that tested it, if you offload some stuff to RAM, you could see ~10-12 tokens per second on an RTX 3090 for certain 70B models. But more capable ones will be at less than 1 token per second, all depending on the context window you use.

If you don't have a GPU available, just give the Phi-3 model a try :D If you quantize it to 4 bits, it can apparently get 12 tokens per second on an iPhone haha. It should play nice with pooling information from a search engine, or a vector database like milvus, qdrant or chroma.

[–] andrew0@lemmy.dbzer0.com 4 points 4 months ago (3 children)

What db2 already said. Microsoft just released Phi-3 mini, which could, allegedly, run locally on newer smartphones.

If I understood correctly, the Rabbit thingy just captures your information locally and then forwards it to their server. So, if you want more power, you could probably do the same by submitting the same info to a bigger open source model than Phi-3, like Llama 3, hosted on your homelab. I believe you can set it up with huggingface/gradio, which sort of provides an API that you could use.

That way, you don't need a shitty orange box, and can always get the latest open source models with a few lines of code. There are plenty of open source frameworks in the works at the moment, and I believe that we're not far off from having multi-modal LLMs running on homelab-level hardware (if you don't mind a bit of lag).

 

Hello everyone! I've been playing around with Wayland for a bit and was hoping to start learning some more about it. For example, I would be interested in making a lock screen, similar to Swaylock, as a toy project.

What GUI toolkit would you use to develop apps on Wayland? I've added a little poll below with some of the popular choices I've seen thrown around. Feel free to add your own suggestions and maybe leave a comment as to why you'd use that!

Link to poll

24
submitted 10 months ago* (last edited 10 months ago) by andrew0@lemmy.dbzer0.com to c/archlinux@lemmy.ml
 

Hi! I am trying to automate my install process by creating a json file that can be used by archinstall (example). One of the example shows how you can run custom commands to get paru (yay, but written in Rust):

"custom-commands": [
        "cd /home/devel; git clone https://aur.archlinux.org/paru.git",
        "chown -R devel:devel /home/devel/paru",
    ]

However, their example doesn't provide any further information about installing packages with paru. I would like to install some stuff just for my user.

My idea was the following:

  • using archinstall, install everything according to the config
  • disregard the "custom-commands" option in the config and create a separate custom script
  • get all the users from the system and allow user to choose which one to chroot as
  • run all commands as the chosen user ( e.g., install Rust with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh )

I need to install a few packages that are not in the official repository, as well as moving my dotfiles in /home/user/.config and making sure everything is accessible by that user. If there are any better approaches to this, I would be glad to hear them!

An example of the script I am planning to use after running archinstall:

spoiler

#!/bin/bash

# Find all users on the system
for user in $(ls /home); do
    if [ "$user" != "lost+found" ]; then
        users+=($user)
    fi
done

# If there is more than one user, ask which user to install for
if [ ${#users[@]} -gt 1 ]; then
    echo "Multiple users found on system. Please select a user to install for:"
    select user in "${users[@]}"; do
        if [[ " ${users[@]} " =~ " ${user} " ]]; then
            break
        else
            echo "Invalid selection"
        fi
    done
else
    user=${users[0]}
fi

echo "Installing for user $user"

# chroot as the user
arch-chroot -u $user /mnt/archinstall # This only opens bash, but I am working on it :D 
cd /home/$user

# Install paru
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

# Install stuff with paru
paru -S tlrc --noconfirm

 

Server performance is not very good with so many mods, and I have been looking into ways to fix this. One of the latest comments on the ATM8 page on CurseForge is from XZot1K, and says the following:

After lots of testing I resolved most of my issues by installing the following mods to the server (Ensure to install the correct versions, as of writing this the version is latest of each for 1.19.2):

https://www.curseforge.com/minecraft/mc-mods/too-fast

https://www.curseforge.com/minecraft/mc-mods/smooth-chunk-save

https://www.curseforge.com/minecraft/mc-mods/chunk-sending-forge-fabric

https://www.curseforge.com/minecraft/mc-mods/packet-size-doubler

These mods will resolve larger packet disconnect issues, chunk lag, and irregular movement rubber banding.

In addition to these, for further improvement, set the tick rate to -1 in the server.properties file.

Paste the following into the bottom of your "user_jvm_args.txt" (change the 6GB and 256m to your liking


Xms must be less than Xmx):

-Xmx6G -Xms256m -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=32M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true

Please note that while these additional mods do work on the client the major improvement comes from the server-side.

I've already used those jvm arguments, but I didn't look for performance mods before. Now, after fiddling a bit around with them, the server feels much snappier (and I don't have to install anything client side)! I'm hosting on Azure, with a Standard D2s v3 (2 vcpus, 8 GiB memory) VM, and when I would do a /home from a far away place it would take a few seconds to load. Now, it's almost instantaneous! Thanks XZot1K! :)

The server also used to crash whenever multiple people entered the Nether, but I haven't been able to test this yet with the new configuration.

If you have any tips to improve performance, please share them here :)

60
Jump from Arch to NixOS? (lemmy.dbzer0.com)
submitted 1 year ago* (last edited 1 year ago) by andrew0@lemmy.dbzer0.com to c/linux@lemmy.ml
 

As the title implies, should I do it? I love Arch so far, and I can fix most issues that pop out. However, I sometimes wish to start fresh without too much hassle, but I get a feeling NixOS isn't as mature as Arch.

Have any of you used both, and if so, what do you miss from Arch? What are you grateful for in NixOS?

1
submitted 1 year ago* (last edited 1 year ago) by andrew0@lemmy.dbzer0.com to c/piracy@lemmy.dbzer0.com
 

Hi everyone! I'll soon take the DP-100 exam for Microsoft Azure, and I was interested in finding more leaked exam questions. At the moment, I was using examtopics for this, but it sucks because it basically cuts you off halfway through.

I heard there are some private trackers that specialize in exam questions, such as LearnFlakes, but I do not have anyone that can invite me to them. Therefore, I was wondering if there is another way to find the information I need for this exam.

Do you know any other sources that are fully free?

view more: next ›