towelie

joined 1 week ago
[–] towelie@lemm.ee 4 points 13 hours ago* (last edited 13 hours ago)

The Dataview plugin is the most critical one. You can create queries with the metadata in your notes (YAML frontmatter and # hashtags). If that sounded like a bunch of non-sense I highly encourage you to dig into it, because I had no idea what those words meant either but it took my note taking to a new level. I think of my Obsidian vault as my second brain.

Below are some cool examples of vaults that you can click through. Also note that because the obsidian pages are in markdown format you can use the Jekyll engine to directly turn them into web pages without any coding (this is how GitHub Pages works)

https://forum.obsidian.md/t/14-example-vaults-from-around-the-web-kepano-nick-milo-the-sweet-setup-and-more/81788

If you know how to do a bit of coding (or use ChatGPT) you can incorporate APIs from other apps in your obsidian vault. Maybe you want to make a fancy home page that displays all your tasks from ToDoist, alongside the RSS feeds to your favorite podcasts and YouTube channels. Maybe you are tracking your habits and using DataView to compile all relevant instances of #habit tags into one calendar for a birds eye view.

[–] towelie@lemm.ee 6 points 13 hours ago

Its a staggeringly powerful app. Utilizing the markdown format and the Dataview plugin to create queries with metadata in your notes allows you to build INSANE knowledge management systems.

Example of some set ups here: https://forum.obsidian.md/t/14-example-vaults-from-around-the-web-kepano-nick-milo-the-sweet-setup-and-more/81788

[–] towelie@lemm.ee 2 points 13 hours ago* (last edited 13 hours ago) (1 children)

Take a look a SyncThing! It's a free FOSS app for syncing files and is available on all devices, and it's all self hosted. I initially used it for Obsidian syncing, but it's proved incredibly useful beyond that

 

I hear this is a rite of passage. I made it 4 weeks before I rekt all my shit (it was nvidia related). Where do I claim my sticker?

In all seriousness, now that I understand better these commands that I've been haphazardly throwing around, Id like to do a clean install. God knows what else Ive done to it. Can i just reinstall to my root partition and have my home partition work as expected?

[–] towelie@lemm.ee 24 points 1 day ago* (last edited 23 hours ago) (1 children)

On an unrelated note, that thumbnail image looks fairly convincingly like pixel art until you zoom into it. Conversely, the pixel art people are making with comfyUI and LORAs (locally) is insane. I messed around with it and you can generate 2d and 3d game assets of anything you can think of.

 

I mean I feel stupid typing it now, but I've been using Windows since I was 5 years old, and Linux for about 30 days. It was not apparent to me that many of my folders were actually shortcuts to stuff in my user directory, and now that I know to look out for them the location of my applications make sooo much more sense.

[–] towelie@lemm.ee 2 points 3 days ago (1 children)

They work well on desktop and mobile (firefox). As the other replier stated, you may want to avoid using multiple ad blockers (decentraleyes, privacy badger, and ghostery) alongside UBlock; and NoScript's functionality can be achieved with UBlock.

Lol the name came from a ironscape clan member from my osrs days. I don't suppose that's you?

[–] towelie@lemm.ee 4 points 3 days ago* (last edited 2 days ago) (1 children)

For those who still need to run Windows, I recommend that you utilize the Windows 10 LTSC IoT iso (can be found online; make sure you verify it with a checksum from microsoft) as it will receive security updates until 2032. You can debloat the iso significantly using this guide, though be warned that it is very easy to break and you may need to re-modify and re-install it to fix any weird errors that you introduce. Mine works great, totally removed defender, all telemetry I could find, etc, but my BitLocker doesn't work lol.

If you need help give me a shout. I wont share an ISO because tbh you shouldn't trust a stranger for that, but if you have questions I've done this about 12 times for myself and others

[–] towelie@lemm.ee 4 points 3 days ago (1 children)

I have a novice coding question using the mouse tracking as an example: Is it possible to intercept and replace mouse tracking data with generic inputs? For example, could you implement an overlay that blocks mouse interactions, and instead of physically clicking on elements, send a direct packet to the application to simulate selecting those elements?

[–] towelie@lemm.ee 29 points 3 days ago* (last edited 3 days ago) (7 children)

Hi, here are the extensions I use in FireFox/Librewolf (all will work in Chromium too, but I don't recommend Chromium browsers):

Privacy and Security-focused

uBlock Origin: A lightweight and efficient wide-spectrum content blocker.

Decentraleyes: Protects you from tracking through free, centralized content delivery. (not recommended alongside uBlock Origin; see the reply below)

CanvasBlocker: Protects your privacy by preventing websites from fingerprinting you using the Canvas API.

Ghostery Tracker & Ad Blocker - Privacy AdBlock: Blocks trackers and ads to protect your privacy and speed up browsing. Also has a handy feature that automatically rejects cookies for you. (not recommended alongside uBlock Origin; see the reply below. You can disable the ad blocking functionality and keep the cookie rejection function).

KeePassXC-Browser: Integrates KeePassXC password manager with your browser.

NoScript: Blocks JavaScript, Flash, and other executable content to protect against XSS and other web-based attacks (note: you will be required to manually activate javascript on each web page that you visit, but this is a good practice that you should get used to).

Privacy Badger: Automatically learns to block trackers based on their behavior. (not recommended alongside uBlock Origin; see the reply below)

User-Agent Switcher and Manager: Allows you to spoof your browser’s user-agent string (avoid creating a unique configuration; opt for something common, such as Chrome on Windows 10).

Violentmonkey: A user script manager for running custom scripts on websites (allows you to execute your own JavaScript code, usually to modify how a website behaves or block behavior that you don't like. VERY useful. Check out greasyfork for UserScripts).

Other useful extensions (non-privacy/security)

Firefox Translations: Provides on-demand translation of web pages directly within Firefox.

Flagfox: Displays a flag depicting the location of the current website’s server.

xBrowserSync: Syncs your browser data (bookmarks, passwords, etc.) across devices with end-to-end encryption.

Plasma Integration: Integrates Firefox with the KDE Plasma desktop environment (for linux users).

[–] towelie@lemm.ee 13 points 3 days ago (3 children)

Jokes aside, keep in mind that the idea of fingerprinting is that your computer's configuration is as unique as a fingerprint (e.g., your monitor is x resolution, you are on this operating system, you are using these following extensions in this browser, you have these fonts on your system).

Setting your user agent to something super unique is basically shining a spotlight on yourself.

I recommend this user agent switcher extension (firefox)

[–] towelie@lemm.ee 5 points 3 days ago* (last edited 3 days ago) (3 children)

I'm still in my first month of using Linux, so apologies for naive questions. My local icons folder is empty, hence using the global folder; do you know why my icons are being saved system wide and not in the local icons folder? I'll definitely modify the script to use the local folder if I can save some applications there.

12
submitted 3 days ago* (last edited 2 days ago) by towelie@lemm.ee to c/linux@lemmy.ml
 

Hi all. Today I was messing around with making custom icons in Debian 12 and I was having a heck of a time. I finally figured it out and wanted to share my solution. Below is a .sh script that will automate creating and replacing existing icons.

How it works

The script takes a path to an .svg file as an input argument. It then searches the /usr/share/icons/hicolor folder's subdirectories for .pngs of a matching name, notes their resolutions, and utilizes InkScape to convert the .svg to .pngs and replace the icons.

To utilize, save the script below as an .sh file and provide it an input .svg as follows:

sudo ./icons.sh /home/USERNAME/icon.svg

(note: your input .svg file must match the name of the existing icon you are trying to replace. Check the folder path below to determine the correct name)

Script

#!/bin/bash

# Define the base directory where icons are located
BASE_DIR="/usr/share/icons/hicolor"

# Ensure the script is run as root to modify files in /usr/share/icons/hicolor
if [ "$(id -u)" -ne 0 ]; then
    echo "This script must be run with root privileges to access the icons folder."
    exit 1
fi

# Check if Inkscape is installed
if ! command -v inkscape &> /dev/null; then
    echo "Inkscape is not installed. Please install it and try again. (sudo apt install inkscape)"
    exit 1
fi

# Input SVG file filepath
INPUT_SVG="$1"
if [ -z "$INPUT_SVG" ]; then
    echo "Usage: $0 /path/to/input.svg"
    exit 1
fi

# Validate that the input SVG file exists
if [ ! -f "$INPUT_SVG" ]; then
    echo "Input SVG file does not exist."
    exit 1
fi

# Loop through all resolution folders (resolutions like 16x16, 32x32, etc.) in the /usr/share/icons/hicolor folder
for resolution_dir in "$BASE_DIR"/*x*; do
    # Check if the resolution folder contains an 'apps' subfolder
    if [ -d "$resolution_dir/apps" ]; then
        echo "Found apps folder in $resolution_dir"

        # Extract the resolution size (e.g., 16x16)
        resolution=$(basename "$resolution_dir")

        # Get the name of the input SVG file (without the .svg extension)
        base_name=$(basename "$INPUT_SVG" .svg)

        # Define the target PNG file path in the current resolution folder
        target_png="$resolution_dir/apps/$base_name.png"

        # Check if the resolution folder already contains a PNG file to replace
        if [ -f "$target_png" ]; then
            echo "Found existing $target_png. Replacing it."

            # Use Inkscape to convert the SVG to PNG at the correct resolution
            inkscape "$INPUT_SVG" --export-type=png --export-filename="$target_png" --export-width="${resolution%x*}" --export-height="${resolution#*x}"

            # Confirm creation
            if [ -f "$target_png" ]; then
                echo "Successfully created $target_png"
            else
                echo "Failed to create $target_png"
            fi
        else
            echo "No existing $target_png found. Skipping this resolution."
        fi
    else
        echo "No 'apps' folder found in $resolution_dir. Skipping."
    fi
done

echo "Icon update process complete!"
view more: next ›