garrett

joined 1 year ago
[–] garrett@lemm.ee 8 points 8 months ago (1 children)

If you're in Europe, it may be due to the DMA.

https://www.lemonde.fr/en/pixels/article/2024/03/06/digital-markets-act-how-the-way-you-use-google-maps-and-messenger-is-changing_6591969_13.html

You may also have noticed something new on Google, when looking for the address of a place: It's now impossible to click on the map that appears in your search results.

Google is one of the "gatekeepers" according to the DMA (Digital Markets Act). The law recently went into effect. It is supposed to lessen the amount of preferential treatment the big tech companies give themselves.

https://en.m.wikipedia.org/wiki/Digital_Markets_Act

[–] garrett@lemm.ee 16 points 9 months ago

It certainly is a differentiator: uBlock Origin already works best on Firefox. https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox

And when Manifest v3 is fully enforced in Chromium (current date is slated to be July 2024), then the more restricted uBlock Origin Lite would need to be used instead.

(I'm not sure if Arc will fully adopt v3, but they might not have a choice at some point in time.)

The Lite version still works well considering all the restrictions, but has a lot of limitations: https://github.com/uBlockOrigin/uBlock-issues/issues/338#issuecomment-1507539114

  • Filter lists update only when the extension updates (no fetching up to date lists from servers)
  • Many filters are dropped at conversion time due to MV3's limited filter syntax
  • No crafting your own filters (thus no element picker)
  • No strict-blocked pages
  • No per-site switches
  • No dynamic filtering
  • No importing external lists

TL;DR: The way uBlock Origin works on Firefox right now is already better, but if Arc has to go along with Manifest v3 in Chromium in a few months, then it'll be even more of a differentiator.

It also looks like they're even thinking about rolling out their own tracker blocker (instead of using uBlock Origin) as a result of the Manifest v3 changes:

https://www.reddit.com/r/ArcBrowser/wiki/index/#wiki_how_will_arc_handle_the_transition_from_manifest_v2_to_manifest_v3.3F

https://twitter.com/joshm/status/1728926780600508716

We're rolling our own native @arcinternet Ad & Tracker Blocker in 2024 (since Chrome is restricting them)...

Any creative ideas for how we can go above and beyond, and reimagine the category?

Remove GDPR/Cookie Consents? What else?

[–] garrett@lemm.ee 2 points 9 months ago

FOSS apps (all on Flathub)

Some of the AI related apps I've been using that are both Free Software and offline (where it runs on your computer without using network services in the cloud) are:

  • OCR: "Frog" can take screenshots, select images, accept drag and drop, and you can paste an image from the clipboard. It'll read the text on the images and immediately have a text area with the result. https://flathub.org/apps/com.github.tenderowl.frog — it's powered by Tesseract. Note: The completely optional text-to-speech that Frog has does use an online service. But the rest is offline.

  • Speech to text: "Speech Note" does text to speech, speech to text, and translations... all locally on your computer, and it supports GPU acceleration (which isn't needed, but it makes it a little faster). https://flathub.org/apps/net.mkiol.SpeechNote — This is basically the all-in-one "Swiss army knife" of ML text processing. Thanks to being a Flatpak, you don't have to do anything special for the dependencies. It's all taken care of for you. It also has tons of different models (for different voices, different backends) all available from within the UI, which just needs a click for downloading.

  • Upscaling images: There are two that do something similar, using some of the same backends. A nice and simple one is "Upscaler". https://flathub.org/apps/io.gitlab.theevilskeleton.Upscaler Another one that's cross platform is "Upscayl" https://flathub.org/apps/org.upscayl.Upscayl — these both use ESRGAN and Waifu2x in the background.

  • Closed captioning: "Live Captions" uses an ML model to transcribe text realtime. It's wonderful for when a video doesn't have subtitles, or when you're participating in a video call (which might also not have CC). There's also a toggle mode that will transcribe based on microphone input. The default is to use system audio. https://flathub.org/apps/net.sapples.LiveCaptions

  • Web page translations: Firefox, for the past few releases, has the ability to translate web pages completely local in-browser. It does need to download a small model file (a quantized one around 20 megabytes per language pair), but this happens automatically on first use. All you need to do is click the translate icon (when it's auto-detected) or go to the menu and select "Translate page...". Firefox is located in your distribution already (and is usually installed by default in most Linux distributions) and is available as an official package from Mozilla on Flathub as well. Newer versions keep improving on this, improving speed (it's pretty quick already), improving accuracy, improving reliability (sometimes you have to try to translate a couple of times on some pages), and adding languages. But what's there in the release of Firefox is already great.

Chat and image generation (more advanced)

While all the above are graphical apps and on Flathub (some may have distro packages too), there are some additional AI/ML things you can run on Linux as well:

  • Chat ML: "Ollama" (https://ollama.ai/) is a friendlier wrapper around llama.cpp and lets you run a variety of models (some FOSS, some just source-available-and-gratis, some not at all).

You can run Ollama in a container to make it even easier. Even a Podman container on your user account works. (You don't need to set it up as a system container.) The instructions for Docker work on Podman (just swap the docker command for podman instead).

While the official instructions only list CPU (which is fine for some of the smaller models) and NVidia, it's also possible to use an AMD GPU too:

# Enable device as user (run once per boot)
sudo setsebool container_use_devices=true

# Set up the ollama server for AMD acceleration (run once per session)
podman run --pull=always --replace --detach --device /dev/kfd --device /dev/dri --group-add video -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:0.1.22-rocm

# Command-line interaction (run any time you want to use it — the last part is which model you want to use)
podman exec -it ollama ollama run llama2

llama2 is the default ML; there are so many others available. Mixtral is a good one if you have enough vram on your GPU. Whatever you specify, it will auto-download and set it up for you. You only need to wait the first time. (The ROCm version of takes a while to download. Each model varies. The good thing is, it's all cached for subsequent uses.)

If you want a web UI like ChatGPT, then you could also run this instead of the command line interaction command:

podman run -d --replace -p 3000:8080 --add-host=host.docker.internal:host-gateway -v ollama-webui:/app/backend/data --name ollama-webui ghcr.io/ollama-webui/ollama-webui:main

...and visit http://localhost:3000/

When done, run podman stop ollama and podman stop ollama-webui to free up resources from your GPU.

There are also integrations for text editors and IDEs, similar to GitHub's CoPilot. Neovim has a few already. VS Code (or VS Codium) has some too (like twinny and privy).

  • Image generation: "Stable Diffusion" is the go-to here. There are a bunch of forks. Some of the better ones are:

Krita, GIMP, and Blender all have plugins that can interface with some of these too (usually using a SD Automatic111 API).

For Stable Diffusion on AMD, you need to have ROCm installed and might need to set or use an environment variable to make it work with your card. Something like: HSA_OVERRIDE_GFX_VERSION=11.0.0 or HSA_OVERRIDE_GFX_VERSION=10.3.0 (depending on your GPU). Prefixing means just putting that at the beginning of the the command with a space and then the rest of the command. Setting it as a variable depends on your shell. You might need to export it for some (like for bash). Prefixing it is fine though, especially when you use ctrl+r to do a substrang search in your shell history (so you don't need to retype it or remember silly-long commands).

As using these image generating apps pulls down a lot of Python libraries, I'd suggest considering setting up a separate user account instead of using your own, so the app doesn't have access to your local files (like stuff in ~/.ssh/, ~/.local/, your documents, etc.). Setting up containers for these is not so easy (yet), sadly. Some people have done it. And they do run in a toolbox or distrobox podman container... but toolbox and distrobox containers don't really contain so much, so you're better off using podman (with a "docker" container) directly or running it as a separate account for some type of isolation from your user account files.

Everything else above is at least contained (via containers or Flatpak) to some degree... but stuff locally via pip installs can do anything. And it's not just hypothetical either, for example: PyTorch nightly was compromised for a few days on Christmas of 2022.

There are some graphical apps on Flathub for connecting to Stable Diffusion and a ChatGPT AI (which ollama now has)... but in the course of setting them up, you basically have a web and/or text-based UI to interact with.

[–] garrett@lemm.ee 2 points 9 months ago

GNOME has extensions that can bring these kinds of effects back:

The easiest way to set these up is to use the "Extension Manager" app (available on Flathub) and search for "cube" and "burn" (and install each).

https://flathub.org/apps/com.mattjakeman.ExtensionManager

[–] garrett@lemm.ee 15 points 10 months ago (6 children)

Literally almost all of my and my partner's friends and coworkers who are in Europe (including Germany, UK, Finland, Czechia, Greece, and more) have been sick with COVID in the past couple months to (especially) right now — it's very real in Europe still.

People are all talking about COVID right now, in messages, emails, video calls, Mastodon, and more. (It's usually to inform others that they're sick and can't work or meet up. But also complaining that doing basic stuff is difficult.)

Europe is a large place, of course, but at least in a lot of it, COVID is sadly still going strong.

[–] garrett@lemm.ee 4 points 11 months ago

I'm just halfway through the new series. You definitely would want to read the comics and/or watch the movie first.

It's excellent so far. It's great to see it in the style of the comic, with the actors from the movie providing the voices, and the musicians (Anamanaguchi) that made the tunes for the videogame.

I can't say much about the show due to spoilers, but can already recommend it if you've enjoyed any other Scott Pilgrim media.

[–] garrett@lemm.ee 2 points 11 months ago (2 children)

I basically gave up on podcasts on the desktop and only use AntennaPod on my phone. When I'm at my desktop, I have my phone paired with my computer via Bluetooth and play that way. I can pause it on my computer via KDE Connect (GSConnect on GNOME).

Bluetooth audio from phone to desktop works on Fedora Linux quite well. It probably works on other Linux distros too. I'm guessing it might also work on other OSes like Windows and macOS.

KDE Connect is available on Android, iOS, KDE (and can run on other desktops too), GNOME (via the GSConnect extension), Windows, and macOS.

This solves the syncing problem by sidestepping the need for it. My podcast state is always correct and I always have my podcasts with me, even when out and about.

[–] garrett@lemm.ee 6 points 1 year ago* (last edited 1 year ago)

Docker on Windows and Mac also runs containers through a VM though. (It's more obvious on Windows, where you need WSL (powered by a VM) and Hyper-V (a way to run VMs on Windows). But on a Mac, VMs to run Linux are also used to run Docker containers inside the VM.)

Podman Desktop helps to abstract VMs away on Windows and macOS: https://podman-desktop.io/

For the command line, there's "podman machine" to abstract away the VM. https://podman.io/docs/installation (installing on macOS is mentioned on that page and Windows has a link to more docs which also uses the podman machine command.)

As for Docker compose, you can use it directly with Podman too: https://www.redhat.com/sysadmin/podman-docker-compose (there's also podman-compose as well). The only thing Docker compose doesn't support with Podman is swarm functionality.

Docker compose can even work with rootless Podman containers on a user account. It requires an environment variable. https://major.io/p/rootless-container-management-with-docker-compose-and-podman/ (it's basically enabling the socket for podman and using the environment variable to point at the user podman socket)

[–] garrett@lemm.ee 2 points 1 year ago

You can set up mount points on Linux, at least in GNOME, very easily. (It's even fully automatic for external disks.) I'd be surprised if it isn't as easy in KDE and other desktops too.

The problem here (at least from what it sounds like) isn't setting up mount points. The problem is fixing an incorrect fstab on the disk that's causing the system to hang on boot.

(This isn't a typical situation, which is why I also asked about how the partition was added to the system.)

[–] garrett@lemm.ee 18 points 1 year ago (1 children)

I saw a video the other day that compared F:NV via DirectX 9 and DXVK on Windows and how DXVK (and Vulkan underneath of course) does magic to make it so much better with frame pacing.

https://youtu.be/tGF0tKPVbqY

It's funny how we get that by default on Linux, and Windows folks are trying out parts of Proton to improve their gaming experience in Windows in various games. 🤣

What's even funnier is that at least in the case of New Vegas, it's actually even better on Linux, as it compiles and caches the Vulkan shaders, so we shouldn't have any hiccups (once it's cached), at least if you're running it in Steam.

[–] garrett@lemm.ee 1 points 1 year ago* (last edited 1 year ago)

Good point! GNOME Disks can do this, actually. I didn't think about that.

(Edit: However, I think it'll just edit the /etc/fstab of the running system. In other words, the one of the live session, not the one on the installation.)

[–] garrett@lemm.ee 10 points 1 year ago* (last edited 1 year ago) (8 children)

My first attempt to try to fix something like this would be to:

  1. Download Fedora Workstation live media. (Within Windows or some other computer that boots.)
  2. Flash it to a USB stick.
  3. Reboot to the live desktop from the USB stick. (It might require pressing F12 or some other key combo during boot.)
  4. "Try out" Fedora. (That is: do not install.)
  5. Open GNOME Disks. (I think it's included. Otherwise, you can sudo dnf install gnome-disks to install it temporarily on the live session.)
  6. Try to mount the main filesystem that contains /etc/fstab (it should ask you for the LUKS password.
  7. Comment out the Windows mount point. Or if you want to keep it (if the partition still exists and is just "dirty" and still needs a check from Windows) add ",nofail" after "auto" to the options in the line for the mount, so your system should still boot without that mount point.
  8. Save the /etc/fstab file.
  9. Shut down the computer.
  10. Unplug USB stick.
  11. Boot computer. Linux should successfully boot... hopefully. 😉

I'm also wondering: How did you add the Windows partition to Fedora? Was it from within Fedora's installer (aka: "Anaconda")? Or did you add it in a different way?

(BTW: I use Silverblue and have a long history with Fedora. 😁)

view more: ‹ prev next ›