thingsiplay

joined 1 year ago
[–] thingsiplay@beehaw.org 3 points 19 hours ago
[–] thingsiplay@beehaw.org 2 points 1 day ago (1 children)

Why would they not? Statically linked means the application does not depend on libraries installed on the system. If anything, it means it works better, at least to my knowledge. I did a quick web search and couldn't find anything that says statically linked binaries would not work on NixOS. Never heard of this before too. Any specific details or a link I can research into?

[–] thingsiplay@beehaw.org 2 points 1 day ago (3 children)

FLTK compared to GTK and QT is lightweight, less complicated to learn and program in and is statically linked, meaning no runtime dependency required, while still being very small in binary size. As an example the FLUID program to create a GUI itself contains every widget and the binary is only half a megabyte. More about FLTK here: https://www.fltk.org/doc-1.3/intro.html

[–] thingsiplay@beehaw.org 3 points 1 day ago

That release note page is humongous! (not umongus ok!?)

Amogus confirmed.

 

I started to learn how to use FLTK in Rust this year, so its fair to assume this update is specifically made for me; its so obvious. FLTK is basically a suckless toolkit for GUIs, with the goal of being small, light and standalone without being complicated. It is very small and can be compiled into the app without runtime requirements. It has most common functionality you would expect from a toolkit and should work cross platform.

Happy to see this update! Need to experiment and learn more about it soon for my first FLTK app.

[–] thingsiplay@beehaw.org 5 points 1 day ago

Fair enough. :D

[–] thingsiplay@beehaw.org 3 points 2 days ago

Nevertheless it looks good. Have in mind, posting online will always make people suggest something.^^

[–] thingsiplay@beehaw.org 17 points 2 days ago (3 children)

Hmm right. Maybe replace TM with BTW. Pacman won't stay at 7.0.0 either. Maybe over time you make newer or alternative versions. :D The overall layout of the elements and the styling looks good, no complaint there.

[–] thingsiplay@beehaw.org 28 points 2 days ago (5 children)

Looks nice. The only missing thing is "BTW", btw.

[–] thingsiplay@beehaw.org 7 points 3 days ago (1 children)

I didn't realize nheko is an application. It's a bit a weird question to ask someone else to choose between email or an application. Howe can we decide this? The person knows best what works for them. And why can the person choose only one? It's not exclusive technology, one can do both... I'm really confused.

[–] thingsiplay@beehaw.org 2 points 3 days ago (3 children)

What do you want choose? An application? "Element" is a standard one and according to the webpage performance is a focus. I can't say how well it works on your machine though. I don't use Matrix anymore and the only way I used it was in the browser. So this list is more of pointing you in the right direction, rather than a personal recommendation.

[–] thingsiplay@beehaw.org 6 points 4 days ago (1 children)

https://www.gnu.org/software/bash/manual/bash.html#Miscellaneous-Commands

Add to your .bashrc following lines:

bind '"\C- ":shell-expand-line'
bind '"\C-x":edit-and-execute-command'
  • Control+Space: Now you can expand variables, aliases, !492 history commands, the tilde without executing the line. Now you can make changes to the command.
  • Control+x: Opens the current command in an external editor (such as Vi, or whatever is setup for VISUAL or EDITOR variable). Now you can edit the command and if you save the temporary file and exit editor, the modified command will be executed. If you do not save, the unmodified command before launching the editor will be executed.
[–] thingsiplay@beehaw.org 3 points 5 days ago* (last edited 5 days ago)

I didn't say "personal package manager". Do you refer to the part "basically my own AUR package"? pacman, the package manager of Archlinux that is also used in EndeavourOS, allows for installing custom packages. There is another tool part of Archlinux that let you build custom packages. These custom packages can be installed on your system, which is then seen like a normal package and handled this way with all the defined dependencies and information about the package. You can install the package from a local location, it does not need to be online repository.

Then you can upload it to the AUR, which is exactly that: Arch User Repository. But you don't have to upload it. Either way such a custom build package is what I referred to my own AUR package. For more information see: https://wiki.archlinux.org/title/Arch_User_Repository

 

YouTube: https://youtu.be/ZlZDWeVL2LI

Or watch on Invidious, an alternative YouTube player in the browser for more privacy: https://inv.nadeko.net/watch?v=ZlZDWeVL2LI

Video description:


In this video I will demonstrate how the Linux kernel runs executables by diving into the flow of the execve system call handling.

Information about kernel dev setup: github.com/nir9/welcome GNU Bash: gnu.org/software/bash Documentation about debugging the Linux kernel with GDB: docs.kernel.org/dev-tools/gdb-kernel-debugging.html

 

cross-posted from: https://beehaw.org/post/16434132

YouTube video: https://youtu.be/uScsmjvdwyo

Invidious video from YouTube without YouTube: https://inv.nadeko.net/watch?v=uScsmjvdwyo or https://invidious.nerdvpn.de/watch?v=uScsmjvdwyo

Video description:


It’s clear there are some people who don’t understand Proton. So let’s talk about it. #Proton #SteamPlay #CompatibilityLayer

00:00 Introduction
00:41 The basics of a computer
01:46 What Proton is not
03:04 What is an emulator
04:32 Proton acts like a map
05:25 Proton translates API and system calls
06:18 Proton provides a Windows-like software environment
06:55 Why are some games incompatible?
08:52 Shouldn't we demand native Linux games?
11:07 Conclusion
 

YouTube: https://youtu.be/w5ebcowAJD8

Invidious, alternative YouTube link without YouTube: https://inv.nadeko.net/watch?v=w5ebcowAJD8


Video description:

How do QR codes work? The checkerboard patterns taking over the world, demystified. Go to Saily.com/veritasium and use the code ‘veritasium’ to get an exclusive 15% off your first purchase.

Special thanks to Mashiro Hara and Yuki Watanabe.

00:00 I was wrong 00:49 How Morse Code revolutionized communication 03:57 How barcodes work 10:34 How QR codes store information 18:16 Why damaged QR codes still work 29:54 Why are QR codes so common? 31:21 How safe are QR codes? 32:25 The future of QR codes

 

Video Description:


Hello and welcome! My name is Anton and in this video, we will talk about 10 exciting studies that won the Ig Nobel prize in 2024

Links:

  • psycnet.apa.org/doiLanding?doi=10.1037/h0045345
  • linkinghub.elsevier.com/retrieve/pii/S0022030241954061
  • sciencedirect.com/science/article/abs/pii/S2468785523002859?via=ihub
  • science.org/doi/10.1126/sciadv.abj7918
  • tandfonline.com/doi/full/10.1080/15592324.2021.1977530#abstract
  • academic.oup.com/brain/article-abstract/147/8/2643/7664309?redirectedFrom=fulltext
  • cell.com/current-biology/fulltext/S0960-9822(22)00709-6?_returnURL=https://linkinghub.elsevier.com/retrieve/pii/S0960982222007096?showall=true
  • arxiv.org/abs/2310.04153
  • biorxiv.org/content/10.1101/704080v3
  • Placebo video: youtube.com/watch?v=ByA4i8PlfFs&t=0s

#ignobel #nobel #science

0:00 Levitating frogs 
0:40 Ig Nobel Prize 
1:30 These are actually important studies 
2:45 Pigeons in missiles 
3:32 Cows cats and paper bags 
4:11 Hair whirls and direction 
5:04 Drunk worms 
5:32 Mimic plant 
6:58 Placebo and pain 
7:48 Dead trout and swimming 
8:10 Butt breathing mammals 
9:05 Probability and lots of coins 
9:50 Old people may be not so old
 

(Edit: I always forget that Beehaw will convert every ampersand character in code segments to &. Have this in mind when reading the code below. Do you have these problems too with your instance?)

If you update your system from terminal, do you have a shortcut that bundles bunch of commands? I'm on EndevourOS/Arch using Flatpak. Rustup is installed and managed by itself. The empty command is a function to display and delete files in the trash using the program trash-cli. In my .bashrc:

alias update='eos-update --yay \
    ; flatpak uninstall --unused \
    ; flatpak update \
    ; rustup update \
    ; empty'

empty() {
    trash-empty -f --dry-run |
        awk '{print $3}' |
        grep -vF '/info/'
    trash-empty -f
}

I just need to type update. Also there are following two aliases, which are used very rarely, at least months apart and are not part of the main update routine:

alias mirrors='sudo reflector \
        --protocol https \
        --verbose \
        --latest 25 \
        --sort rate \
        --save /etc/pacman.d/mirrorlist \
    && eos-rankmirrors --verbose \
    && yay -Syyu'

alias clean='paccache -rk3 \
    && paccache -ruk1 \
    && journalctl --vacuum-time=4weeks \
    && balooctl6 disable \
    && balooctl6 purge \
    && balooctl6 enable \
    && trash-empty -f'

This question is probably asked a million times, but the replies are always fun and sometimes reveals improvements from others to adapt.

 

Is it just me or did kdenlive broke for you too? I'm on an Archlinux based system and just updated the system. A few hours before update kdenlive worked. Update was not small, so its hard to tell the exact cause. I've tried to downgrade kdenlive, but same issue. I use Linux for a very long time now, but still get lost with errors like these.^^ Any idea what I should do? Does it work for you?

I get this on start (I reset the configuration files too):

$ kdenlive --version
kdenlive 24.08.1

$ kdenlive
kf.config.core: Watching absolute paths is not supported "/usr/share/color-schemes/BreezeDark.colors"
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltsox.so
(libsox.so.3: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltrtaudio.so
(librtaudio.so.7: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltsdl.so
(libSDL-1.2.so.0: cannot open shared object file: No such file or directory)
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1726202254.631983   14133 descriptor_database.cc:633] File already exists in database: versions.proto
F0000 00:00:1726202254.632005   14133 descriptor.cc:2236] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size)
*** Check failure stack trace: ***
@     0x733c9e6b0e09  absl::lts_20240722::log_internal::LogMessage::SendToLog()
@     0x733c9e6b19ae  absl::lts_20240722::log_internal::LogMessageFatal::~LogMessageFatal()
@     0x733c64890955  (unknown)
@     0x733c649c228d  google::protobuf::internal::AddDescriptors()
@     0x733c65696125  (unknown)
@     0x733cdd22d6ad  (unknown)
@     0x733cdd22a5c2  _dl_catch_exception
@     0x733cdd2344fc  (unknown)
@     0x733cdd22a523  _dl_catch_exception
@     0x733cdd234904  (unknown)
@     0x733cd9e9ef14  (unknown)
@     0x733cdd22a523  _dl_catch_exception
@     0x733cdd22a679  (unknown)
@     0x733cd9e9e9f3  (unknown)
@     0x733cd9e9efcf  dlopen
@     0x733c9ea96c6c  mlt_register
@     0x733cdc3a2279  mlt_repository_init
@     0x733cdc386f52  mlt_factory_init
@     0x733cdc3605f5  Mlt::Factory::init()
@     0x5b73c4a7f0d5  (unknown)
@     0x5b73c4a3a285  (unknown)
@     0x5b73c4497d06  (unknown)
@     0x733cd9e34e08  (unknown)
@     0x733cd9e34ecc  __libc_start_main
@     0x5b73c44998d5  (unknown)
Aborted (core dumped)

My system if its relevant:

OS: EndeavourOS x86_64
Kernel: Linux 6.10.9-arch1-2
Uptime: 1 hour, 10 mins
Packages: 1657 (pacman), 9 (flatpak)
Shell: bash 5.2.32
Display (AG271QG): 2560x1440 @ 120 Hz in 27″ [External]
DE: KDE Plasma 6.1.5
WM: KWin (Wayland)
WM Theme: Breeze
Theme: Breeze (Dark) [Qt], Breeze-Dark [GTK2], Breeze [GTK3/4]
Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
Font: NotoSans Nerd Font (12pt) [Qt], NotoSans Nerd Font (12pt) [GTK2/3/4]
Cursor: breeze (24px)
Terminal: konsole 24.8.1
Terminal Font: JetBrainsMono Nerd Font Mono (11pt)
CPU: AMD Ryzen 7 7700X (16) @ 5.57 GHz
GPU 1: AMD Radeon RX 7600 (RADV NAVI33) [Discrete] Mesa 24.2.2-arch1.1
GPU 2: AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO) [Integrated] Mesa 24.2.2-arch1.1
Memory: 3.00 GiB / 30.50 GiB (10%)
Swap: 65.00 MiB / 512.00 MiB (13%)
Disk (/): 550.90 GiB / 1.79 TiB (30%) - ext4
Disk (/media/Emulation): 4.47 TiB / 5.41 TiB (83%) - ext4
Disk (/media/My): 3.10 TiB / 3.58 TiB (87%) - ext4
Disk (/media/Work): 648.09 GiB / 915.82 GiB (71%) - ext4
Locale: en_US.UTF-8
20
submitted 3 months ago* (last edited 3 months ago) by thingsiplay@beehaw.org to c/linux@lemmy.ml
 

You can use cheat sh web service to show cheatsheets for all kind of commands. Just replace the command name: curl -s cheat.sh/date. I also wrote a a simple script with filename being just a question mark to get a working command as ?, that shows all commands in fzf menu if no argument is given or shows the cheatsheet in the less pager if command name is given.

Usage:

?
? -l
? date
? grep

Script ?:

#!/bin/env bash

cheat='curl -s cheat.sh'
menu='fzf --reverse'
pager='less -R -c'
cachefile_max_age_hours=6

# Path to temporary cache file. If your Linux system does not support /dev/shm
# or if you are on MacOS, then change the path to your liking:
cachefile='/dev/shm/cheatlist'      # GNU+LINUX
# cachefile="${TMPDIR}/cheatlist"   # MacOS/Darwin

# Download list file and cache it.
listing () {
    if [ -f "${cachefile}" ]
    then
        local filedate=$(stat -c %Y -- "${cachefile}")
        local now=$(date +%s)
        local age_hours=$(( (now - filedate) / 60 / 60 ))
        if [[ "${age_hours}" > "${cachefile_max_age_hours}" ]]
        then
            ${cheat}/:list > "${cachefile}"
        fi
    else
        ${cheat}/:list > "${cachefile}"
    fi
    cat -- "${cachefile}"
}

case "${1}" in
    '')
        if selection=$(listing | ${menu})
        then
            ${cheat}/"${selection}" | ${pager}
        fi
        ;;
    '-h')
        ${cheat}/:help | ${pager}
        ;;
    '-l')
        listing
        ;;
    *)
        ${cheat}/${@} | ${pager}
        ;;
esac
 

Ted Ts'o sent out the EXT4 updates today for Linux 6.11. He explained in that pull request:

"Many cleanups and bug fixes in ext4, especially for the fast commit feature. Also some performance improvements; in particular, improving IOPS and throughput on fast devices running Async Direct I/O by up to 20% by optimizing jbd2_transaction_committed()."

 

Project name is changed from "ytdl" to "yt-dlp-lemon", after user "lol" in the comments convinced me. Thank you for the suggestion! Remember to change the directory name at ~/.local/share/ytdl to ~/.local/share/yt-dlp-lemon .


The terror continues...

10 days ago I posted the initial version of this script. Since then lot of changed and added. Here some of those changes since v0.1:

  • -h is now much more simple, to see full help use -H
  • -f to repackage to another container format, or -F to force re-encoding video content with a codec to any other format
  • -s and -b will operate on sponsors only, and -S and -B on complete list of SponsorBlock segments
  • similarly -e and -d will only embed and download only a few extra metadata and files, -E and -D does all extra files and data
  • new -R will download and name files in reverse order, with index starting at 1 for the bottom file, useful for playlists who add newest entry to top
  • by default all file names are simplified and sanitized a little bit, even if no option -r (for very strict) is used

My goal is to make the usage of yt-dlp itself easier with this script, without the need to study help, the manual and to write a configuration file and a script. And you don't need to test it with various sources. It does not everything what yt-dlp offers, but most of the stuff in the way I like it.

git clone https://github.com/thingsiplay/yt-dlp-lemon
cd yt-dlp-lemon
chmod +x yt-dlp-lemon
./yt-dlp-lemon -h

Output from simple help:

$ yt-dlp-lemon -h
yt-dlp-lemon [options] [url...]

Simple wrapper to yt-dlp with only a subset of options.

options:
-h                show help and exit
-H                show all options, notes and exit
-m HEIGHT         max height
-f FORMAT         repack format
-I                no ignore file
-s                add chapter marks + recognize sponsors
-b                remove sponsored segments
-c                split file by chapters
-p                playlist mode
-a                audio mode
-d                download description files
-e                embed meta and chapters
-q                show filepath only
-x                skip download

Copyright © 2024 Tuncay D. https://github.com/thingsiplay/yt-dlp-lemon
 

Today I'm here again to terrorize this community with my Bash scripts nobody asked for.

This new biggest is a script evolved from a much simpler version found at biggest.sh to something more complex and complete. Now there are even options to show a simple horizontal bar and relative percentage numbers instead the file size itself.

It's a script to control du command in combination with several other standard Linux utilities. I'm well aware of these alternative applications to help visualizing what the biggest files on the system are. Well, I like these kind of scripts and I like its not too much bloated. And especially the output as paths can be combined with other tools easily. It's also kinda fun doing this. Edit: Forgot to mention, it also reads stdin pipe, as output from another program like find in example.

Have a good day.

 

ytdl is a small script for Linux as an alternative interface to yt-dlp (which itself is a fork from youtube-dl, to download YouTube videos). My goal is to make some of its functionality a bit more accessible for the daily usage. This includes predefined settings and narrowing it down to options I care most about.

view more: next ›