Skip Navigation
[Rumor] Valve may be working on official Waydroid (Android app) support for Steam
  • For anyone who is not aware, Waydroid is not just an emulator, it makes Android apps seamlessly integrated into the system like local applications (obviously with limitations and only to a certain degree!).

  • Highlighting journalism on Mastodon
  • The problem with this approach is, that they get to decide who is a journalist and who is not.

  • Highlighting journalism on Mastodon
  • I don't know man, chat apps and systems like Twitter and Mastodon aren't a good place for journalism. I had to stop using both, its just full of chats and any kind of messages from all over the place, including advertisements and links and what not. Not a good place to discuss anything. To me these are just advertisement platforms.

  • Linux back at 4.04% on the Desktop. Windows went below 73%
  • It's still useful with all its functionality. Even if it does not get updates, it still blocks most stuff and I can enable or block stuff too. Plus the blocklists it uses are still updated, as they act independently from the main addon. There is no better alternative in my opinion. I use uMatrix + uBlock Origin.

  • don't use ladybird browser lol
  • It was probably just a joke.

  • I love the new sponsored clickbait in my firefox start page
  • I wasn't talking about the technical implementation or differences in how they are handled, but more of a personal judgement. To me every Sponsored link is an advertisement, everywhere, not only in Firefox.

  • I love the new sponsored clickbait in my firefox start page
  • At Firefox > Settings > Home turn off Sponsored Shortcuts.

  • I love the new sponsored clickbait in my firefox start page
  • I just have an empty new tab page. There is no need to use about:config to set this setting. The Firefox > Settings > Home the homepage for new windows or new tabs separately. At least the recent activity for Visited pages is useful for new window. I highly recommend to Sponsored Shortcuts, which is an alternative term for advertisement. Or just turn off the Firefox Home for newtabs by setting it to Blank Page.

  • Started learning Perl
  • For the language itself, maybe. But never discourage people from learning something new. He seems to be excited and has motivation. There are also lot of legacy code, which would never get ported or maintained if nobody learns the language anymore, only a few old people at that point (look what happens to COBOL).

  • Started learning Perl
  • I was about to start learning Perl in a proper way, but always decided against it. I just can't find a good reason for myself to write Perl code. Unless you want to read or edit others Perl code, what is the reason to learn it? GNU+Bash and Python are often enough for me.

    So why learning and using Perl in modern age and day as a newcomer to the language? Look, I'm not negative here, just asking honest question. Because I am actually searching for good reasons to learn Perl.

  • Linux back at 4.04% on the Desktop. Windows went below 73%
  • What does significant portion mean to you?

  • Linux back at 4.04% on the Desktop. Windows went below 73%
  • Source is the Steam hardware survey set to show Linux data only. He forgot to mention the statement is only true for Steam Gamers, not for all of Linux desktops outside of Steam.

    ~ https://store.steampowered.com/hwsurvey/?platform=linux

  • Linux back at 4.04% on the Desktop. Windows went below 73%
  • uMatrix prevents me from loading this statcounter website. :-( Can't lookup how they measure things. In the comments people assume the stats would be counted by just looking up the user agent, which is a naive approach. I don't think agencies dedicated to stats are doing it this simple. They have way more possibilities to track and to look what browser you are using. The stats are more accurate than you probably think. They do not need to know the exact version of browser you are using, just which type and maybe what operating system you are on.

    If a script for Windows does not work on Linux and fails, then they know you are not on Windows in example.

  • Linux back at 4.04% on the Desktop. Windows went below 73%
  • Half of the Linux machines on Steam, not the entirety of Linux.

  • LibreWolf or Mullvad Browser? Thoughts, comments, concerns?
    • trust: The biggest trust factor difference to me is, who manages the package and how it is installed. Both are not packaged by my distribution maintainers, therefore I have trust issues with a program that important. However both are available as Flatpak. So I would recommend to install it this way.
    • updates: Another big factor is how often these are updated, especially security patches. In example for any Firefox based browser, I would not want to wait longer than 1 day before the fork is on the same version as the mainline Firefox.

    I personally would prefer LibreWolf over Mullvad, because it is based off Firefox.

  • This week in KDE: everything, I think
  • It’s not a big deal to anyone except you.

    Wrong, this is a big deal for the developers, for the users and for any maintainer of packages.

    And this wasn’t a big change or new feature so they decided to implement it. It’s pretty bold to assume this was a huge change.

    It is by definition a big change. And I defined it in my first reply. As you ignore all of this and waste my time, I will not read any further and block you now.

    The KDE team really should consider a 1 year bug hunting phase without bigger changes like the thing about desktop edit mode we discussed here. This is my suggestion.

  • This week in KDE: everything, I think
  • Compared to what I am talking about it is a huge change. My suggestion is not to do this. How I know it? Because I said so. It is my suggestion. Can we stop arguing about semantics and definitions of words? That's not the point of my suggestion.

    My suggestion is to not do such big changes for 1 year and only focus on bug fixes and small changes for the developer and for the user. That's the point. The desktop edit change is a HUGE change with new logic. It's incredible complex compared to what I am suggesting.

  • How to get good at FPS with a controller, coming from a PC gamer?
  • Maybe look if there are predefined set of user created controls in Steam Deck. Sometimes users create alternative control schemes optimized for controller setup. Or do your own customization with the Steam Input. That won't make you better at aiming, but maybe you can address some pain points this way.

  • aisap: Tool to make sandboxing AppImages easy (using bubblewrap)
  • At the moment I am not using your project, but I think this has its place even with Flatpak available. Because archiving Flatpaks is not as easy as arachiving AppImages. In example there are programs (emulators) I use Flatpak for, but from time to time I also archive a version of the official AppImage.

    And sandboxing comes up as a point everytime people talk why Flatpak is superior to AppImages. So tackling that point is good effort to me.

    Edit: Think about renaming the project. It's not very memorable and also the ai in the name suggests it has something to do with artificial intelligence.

  • aisap: Tool to make sandboxing AppImages easy (using bubblewrap)
  • The first two letter ai suggest is has something to do with Artificial Intelligence. Another reason to rename it.

  • MODERN WARFARE: How Call of Duty 4 Changed a Genre Forever (Documentary by Ahoy)

    A documentary not only about how CoD 4, but how CoD came into in the first place. I'm currently a few minutes into the video and want to share it here. Documentaries by Ahoy are always enjoyable, without too much fluff and jokes. Highly recomended.

    If you don't like YouTube, here is an alternate link with more privacy: https://invidious.nerdvpn.de/watch?v=FXD5_7wqr1U

    Edit: Just noticed the above invidious link from the nerdvpn server is not available at the moment. Here is an alternate Invidious link from a different server: https://yewtu.be/watch?v=FXD5_7wqr1U

    2
    Game Recording Steam Beta
    store.steampowered.com Game Recording Beta

    A new built-in system for creating and sharing your gameplay footage

    Game Recording Beta
    18
    Question: yt-dlp does anyone know how to increase retries for SponsorBlock? [Solved]

    Solution: Thanks for finding the solution, kate (in the comments). The option to control this is --extractor-retries .

    ---

    I recently start using SponsorBlock feature with yt-dlp . When it looks up SponsorBlock server, it tries 3 times to connect and download information. I would like to increase the retries for this specifically, but could not find the right setting or option in the manual (man yt-dlp) and help (yt-dlp --help). I would like to increase it to at least 5 or maybe even 10 retries per video.

    I've noticed for sometimes it cannot login within the first 3 look ups, but when I retry the command after that it will just look up fine. Therefore an increase in the retries setting would be helpful. Especially helpful when downloading entire playlists, leaving it for some time alone.

    4
    yt-dlp-lemon: Simple wrapper to yt-dlp with only a subset of options.
    github.com GitHub - thingsiplay/ytdl: Simple wrapper to yt-dlp with only a subset of options.

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

    GitHub - thingsiplay/ytdl: Simple wrapper to yt-dlp with only a subset of options.

    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.

    bash 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: ```bash $ 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 ```

    2
    biggest: List biggest files and folders. (Bash script for du command)
    github.com GitHub - thingsiplay/biggest: List biggest files and folders.

    List biggest files and folders. Contribute to thingsiplay/biggest development by creating an account on GitHub.

    GitHub - thingsiplay/biggest: List biggest files and folders.

    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.

    2
    ytdl: Simple wrapper to yt-dlp with only a subset of options.
    github.com GitHub - thingsiplay/ytdl: Simple wrapper to yt-dlp with only a subset of options.

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

    GitHub - thingsiplay/ytdl: Simple wrapper to yt-dlp with only a subset of options.

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

    7
    [Solved] Subclassing pathlib.PosixPath broken since Python 3.12 (actually its fixed, but workaround broken)

    Solved: Thanks to a user with this reply: https://programming.dev/comment/10034690

    ---

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

    > Hi all. I have a little problem and don't know how to solve. A CLI program in Python is broken since Python 3.12. It was working in Python 3.11. The reason is, that Python 3.12 changed how subclassing of a pathlib.Path works (basically fixed an issue), which now breaks a workaround. > > #### The class in question is: > > python > class File(PosixPath): > def __new__(cls, *args: Any, **kwargs: Any) -> Any: > return cls._from_parts(args).expanduser().resolve() # type: ignore > > def __init__(self, source: str | Path, *args: Any) -> None: > super().__init__() > self.__source = Path(source) > > @property > def source(self) -> Path: > return self.__source > > @property > def modified(self) -> Time: > return Time.fromtimestamp(os.path.getmtime(self)) > > @property > def changed(self) -> Time: > return Time.fromtimestamp(os.path.getctime(self)) > > @property > def accessed(self) -> Time: > return Time.fromtimestamp(os.path.getatime(self)) > > # Calculate sha512 hash of self file and compare result to the > # checksum found in given file. Return True if identical. > def verify_sha512(self, file: File, buffer_size: int = 4096) -> bool: > compare_hash: str = file.read_text().split(" ")[0] > self_hash: str = "" > self_checksum = hashlib.sha512() > with open(self.as_posix(), "rb") as f: > for chunk in iter(lambda: f.read(buffer_size), b""): > self_checksum.update(chunk) > self_hash = self_checksum.hexdigest() > return self_hash == compare_hash > > > #### and I get this error when running the script: > > > Traceback (most recent call last): > File "/home/tuncay/.local/bin/geprotondl", line 1415, in > sys.exit(main()) > ^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1334, in main > arguments, status = parse_arguments(argv) > ^^^^^^^^^^^^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1131, in parse_arguments > default, status = default_install_dir() > ^^^^^^^^^^^^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1101, in default_install_dir > steam_root: File = File(path) > ^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 97, in __new__ > return cls._from_parts(args).expanduser().resolve() # type: ignore > ^^^^^^^^^^^^^^^ > AttributeError: type object 'File' has no attribute '_from_parts'. Did you mean: '_load_parts'? > > > #### Now replacing _from_parts with _load_parts does not work either and I get this message in that case: > > > Traceback (most recent call last): > File "/home/tuncay/.local/bin/geprotondl", line 1415, in > sys.exit(main()) > ^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1334, in main > arguments, status = parse_arguments(argv) > ^^^^^^^^^^^^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1131, in parse_arguments > default, status = default_install_dir() > ^^^^^^^^^^^^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 1101, in default_install_dir > steam_root: File = File(path) > ^^^^^^^^^^ > File "/home/tuncay/.local/bin/geprotondl", line 97, in __new__ > return cls._load_parts(args).expanduser().resolve() # type: ignore > ^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3.12/pathlib.py", line 408, in _load_parts > paths = self._raw_paths > ^^^^^^^^^^^^^^^ > AttributeError: 'tuple' object has no attribute '_raw_paths' > > > #### I have searched the web and don't understand how to fix this. Has anyone an idea what to do?

    0
    [Solved] Subclassing pathlib.PosixPath broken since Python 3.12 (actually its fixed, but workaround broken)

    Solution was quite easy. Thanks to the user reply here: beehaw.org/comment/3535588 or programming.dev/comment/10034690 (Not sure if the links actually work as expected...)

    ---

    Hi all. I have a little problem and don't know how to solve. A CLI program in Python is broken since Python 3.12. It was working in Python 3.11. The reason is, that Python 3.12 changed how subclassing of a pathlib.Path works (basically fixed an issue), which now breaks a workaround.

    The class in question is:

    ```python class File(PosixPath): def new(cls, *args: Any, **kwargs: Any) -> Any: return cls._from_parts(args).expanduser().resolve() # type: ignore

    def init(self, source: str | Path, *args: Any) -> None: super().init() self.__source = Path(source)

    @property def source(self) -> Path: return self.__source

    @property def modified(self) -> Time: return Time.fromtimestamp(os.path.getmtime(self))

    @property def changed(self) -> Time: return Time.fromtimestamp(os.path.getctime(self))

    @property def accessed(self) -> Time: return Time.fromtimestamp(os.path.getatime(self))

    # Calculate sha512 hash of self file and compare result to the # checksum found in given file. Return True if identical. def verify_sha512(self, file: File, buffer_size: int = 4096) -> bool: compare_hash: str = file.read_text().split(" ")[0] self_hash: str = "" self_checksum = hashlib.sha512() with open(self.as_posix(), "rb") as f: for chunk in iter(lambda: f.read(buffer_size), b""): self_checksum.update(chunk) self_hash = self_checksum.hexdigest() return self_hash == compare_hash ```

    and I get this error when running the script:

    Traceback (most recent call last): File "/home/tuncay/.local/bin/geprotondl", line 1415, in sys.exit(main()) ^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1334, in main arguments, status = parse_arguments(argv) ^^^^^^^^^^^^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1131, in parse_arguments default, status = default_install_dir() ^^^^^^^^^^^^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1101, in default_install_dir steam_root: File = File(path) ^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 97, in __new__ return cls._from_parts(args).expanduser().resolve() # type: ignore ^^^^^^^^^^^^^^^ AttributeError: type object 'File' has no attribute '_from_parts'. Did you mean: '_load_parts'?

    Now replacing _from_parts with _load_parts does not work either and I get this message in that case:

    Traceback (most recent call last): File "/home/tuncay/.local/bin/geprotondl", line 1415, in sys.exit(main()) ^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1334, in main arguments, status = parse_arguments(argv) ^^^^^^^^^^^^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1131, in parse_arguments default, status = default_install_dir() ^^^^^^^^^^^^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 1101, in default_install_dir steam_root: File = File(path) ^^^^^^^^^^ File "/home/tuncay/.local/bin/geprotondl", line 97, in __new__ return cls._load_parts(args).expanduser().resolve() # type: ignore ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pathlib.py", line 408, in _load_parts paths = self._raw_paths ^^^^^^^^^^^^^^^ AttributeError: 'tuple' object has no attribute '_raw_paths'

    I have searched the web and don't understand how to fix this. Has anyone an idea what to do?

    8
    My Linux Command Line Tools
    thingsiplay.game.blog Linux Command Line Tools

    A short overview about some of my command line scripts and applications. I am someone who uses command line applications in the terminal and through scripting a lot. And thus results in many aliase


    Linux Command Line Tools

    A short list with categories of my smol terminal focused tools, scripts and functions I have created over the years. There are some general purpose and very specific ones. This list was needed, because in Github it was a bit cluttered. Maybe, just maybe, you find something useful or inspiring in there.

    2
    fpath v0.8: Reformat and stylize file path like text output.
    github.com GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    Reformat and stylize file path like text output. Contribute to thingsiplay/fpath development by creating an account on GitHub.

    GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    !

    A week ago I started a little script to format the output of file and path listings from other programs. It got a little bit out of hand and I implemented lot of advanced features into the fmt commands; kind of a sub language to define how the output should be formatted and structured. Entire idea is to give it paths, process the stream (not the file content itself, but the path representing a file) and output them again.

    fpath accepts two type of input: a) either as arguments like fpath *.txt or b) from stdin like ls -1 | fpath . With additional options and commands the output can be colored and reformatted to something entirely different. In example with -F option the advanced formatting is possible, such as fpath -F '{.size} {name}' as a simple example.

    There is lot of functionality (based on Python, yes this is a Python script), such as {reverse}{name}{/reverse} to reverse font color and background of the segment that is enclosed by the command, a slice to get a subset as a range from the entire path {-1:}, or {center:80}text{/center} to add spaces to get centered text, or just {ext} to output the extension, {mime} to output the file mime type, or even execute arbitrary programs {!grep:a}{path}{/!} to reduce output that has an a in the path.

    Did I over engineer it again? Or just ignore most stuff and use it with the most simple options, should be enough anyway: fpath -t -s red *.txt

    6
    The History of Tetris World Records [by Summoning Salt] ~ a 2 hour documentary

    I just watched an excellent 2 hour (just needed to edit title, as I noticed it was 2 hours and not 1, wow time really flew away!) long documentary. The build up in stages and showing the evolution of the best players achievements, is intense and very well edited, narrated and written documentary!

    I know 1 hour is long and I wasn't planning to watch everything, but time flew away. If you have any slight interest into this topic, I highly recommend you to take some time to watch. The video itself is broken up in 5 or so sections. So you could just watch a section at a time, if 2 hour is too long. There is a specific reveal that I do not want spoil, which was epic. Just insanity!

    BTW have fun. Edit: Here some timestamps:

    1. 2:32 Chapter 1
    2. 11:39 Chapter 2
    3. 16:28 Chapter 3: ENEOOGEZ
    4. 25:48 Chapter 4: Hypertapping
    5. 31:45 Chapter 5: The Next Generation
    6. 49:00 Chapter 6: Rolling
    7. 1:00:27 Chapter 7: Vaulting & Scaling
    8. 1:15:25 Chapter 8: Colors
    9. 1:25:00 Chapter 9: Crash

    ---

    For anyone who don't want to watch it on YouTube, here is a link to an Invidious instance:

    https://invidious.nerdvpn.de/watch?v=mOJlg8g8_yw

    5
    fpath v0.2 + update v0.3: Reformat and stylize file path like text output. (Python, terminal)
    github.com GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    Reformat and stylize file path like text output. Contribute to thingsiplay/fpath development by creating an account on GitHub.

    GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    !

    Hi all. Yesterday I posted a program/script which is focused on path based text formatting, such as output from ls or find. Today I want to share new version. I'm proud, even though its limited in its usefulness, but today I solved an issue that was complicated to me (and a few other issues).

    Linux command file is used to display file type and mime information, which is super handy. Reason why this was complicated to me is, as I want it to run only once for all paths together for performance reasons. For over thousand files instead taking more than a minute execution time, its down to under 2 seconds when displaying file type information (which includes spawning file process in the background). A few examples:

    ```sh $ find Desktop/. -maxdepth 0 | fpath -F'{type} \t{name}' text/plain append.cfg text/plain dynamic.cfg image/png nearest.png image/png new.png

    $ find Desktop/. -maxdepth 0 | fpath -a -F'{path}\n\t{file}' /home/tuncay/Desktop/append.cfg ASCII text /home/tuncay/Desktop/dynamic.cfg ASCII text /home/tuncay/Desktop/nearest.png PNG image data, 1920 x 1440, 8-bit/color RGB, non-interlaced /home/tuncay/Desktop/new.png PNG image data, 1920 x 1440, 8-bit/color RGB, non-interlaced ```

    Update v0.3:

    Rather than creating a new post, I want to note that I have a huge update. First off, the performance is increased drastically with recent optimizations. Even thousands of paths are now processed very fast (until operations reading from file system is involved).

    Just to put into perspective: When I search and output list of paths with time baloosearch6 "a" in my home, I get 8468 files and it takes 0m0,048s. Now when I pipe that into fpath with default processing and without options, it takes 0m0,086s to process. But with a more complex command that involves reading file stats (like size and such) and colored output and a slice:

    sh time baloosearch6 "a" | fpath -F'{.mode} {.size} \t{-3:-1}: {blue}{name} {}' -sred

    it only takes 0m0,200s to execute! But using {file} or {type} or {mime} will still take a long time, even if the subshell process is run only once (it will still read the information for every file):

    sh time baloosearch6 "a" | fpath -F'{file}' took 3m54,233s to run. But what do you expect with approx. 8 thousand files. Without this script, it would take the same amount of time when running bare metal file command on all of these files.

    Secondly, I have implemented a slice command that works very well. It's like the index {3} thing, but now you can set a {start:end} range to not only get a single part, but all parts within that range. It even works with negative numbers like {-3:} to get the last three parts of a path. An empty index means to get everything until end of path.

    I'm quite happy how this program turned to be out. Python (at least for me with Python v3.12) is not that slow after all.

    0
    fpath: Reformat and stylize file path like text output. (Python, terminal)
    github.com GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    Reformat and stylize file path like text output. Contribute to thingsiplay/fpath development by creating an account on GitHub.

    GitHub - thingsiplay/fpath: Reformat and stylize file path like text output.

    I did it again; exaggerate a simple idea and make it look more complicated at the end with too much text in the readme. I was bothered with the output of file listings and how unreadable they can get, especially with long paths and many of them on screen. At the end, I am not sure how useful this will be in the long run, but that is something you can judge yourself. It was certainly fun to create and in my opinion it's also fun to use.

    bash git clone https://github.com/thingsiplay/fpath cd fpath chmod +x fpath

    !

    --- What is this? Convenience script to style and reformat the output with path like formats. Designed to combine listings from other programs output, such as from find and even ls, or any other tool with similar capabilities. The script works mostly on text data rather than the file system, but some special commands are exception to this rule and will access the file system. ---

    0
    GIMP 2.10.38 Released
    www.gimp.org GIMP - GIMP 2.10.38 Released

    Release news for version GIMP 2.10.38

    GIMP - GIMP 2.10.38 Released

    New features and improvements

    • Improved support for tablets on Windows
    • Backports of other GTK3 features

    What’s next

    Clearly one of the smallest releases ever in the 2.10 series, and it might be our last. We’ll see, though we also know some people get stuck longer than others on older series (especially when using LTS distributions of Free Software operating systems), so we might do (if we feel like it’s needed) a 2.10.40 release with bug fixes only just before or just after GIMP 3.0.0 release, as a wrap up.

    In any case, we are now stopping backporting features in the 2.10 series. These graphics tablet support improvements for Windows are huge enough that they had to get in; yet from now on, we want to focus solely on releasing GIMP 3.0.0.

    Now you might wonder when that is? Very soon! We are on the last sprint towards the release candidate. This includes a lot of bug fixes, but also still some API changes going on. We will keep you updated!

    Don’t forget you can donate and personally fund GIMP developers, as a way to give back and accelerate the development of GIMP. Community commitment helps the project to grow stronger! đŸ’ȘđŸ„ł

    ---

    GIMP 3.0 (Development branch roadmap

    3
    Question about GPL-3 and deleting files from a Github project

    This might be an odd question to ask, but I want to be sure to understand it correctly. When I clone a project in Github that is licensed under GPL-3.0 license, am I allowed to delete bunch of files that I no longer need?

    Someone took an old BCX-BASIC program and converted it into C with some additional work to make it compile in Linux, and a Python GUI. The original Basic program is still included in the project. I want to delete everything besides the .c program, license and an include file. I want to add my own Makefile and just create the commandline executable with gcc. And I might change the name of the application too and either create my own GUI or maybe (if its possible) to integrate the C program in Rust or Zig in example, but have to explore this more.

    But the files that were included there, the legacy BASIC program and some other files, are licensed under GPL-3 too. Am I allowed to just delete those files from the project?

    13
    unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction [Bash]
    github.com GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

    Wrapper to marry GNU Parallel and 7-Zip for archive extraction - thingsiplay/unwrap

    GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

    Bash script for Linux

    I have been working on this script for the last couple of days. It's not earth shattering, but sometimes these little things make life easier; so mine. I am at a point now, where the script is basically where I want to be. Maybe someone else finds it useful too.

    ---

    It uses 7z to extract files from archives. By also utilizing GNU Parallel, multiple archives can be processed at the same time.

    Purpose is to streamline option handling and usability of both programs into an unified interface. Sensible defaults and only functionality I care about are incorporated. 7z option and argument handling is confusing, doing things in unconventional ways. On the other side, we have Parallel, which is complicated and has ton of features; also confusing. So I picked up my favorite options and bundled them into a manageable script.

    Name of the script is inspired by unwrap() operation from Rust programming language. It's purpose is to provide the content of certain type of variables, by looking inside of it and taking it out.

    7z (probably in package p7zip) and parallel are required and need to be present.

    bash git clone https://github.com/thingsiplay/unwrap cd unwrap chmod +x unwrap

    usage:

    ```bash unwrap *.zip

    unwrap -f -i '*.txt' -o . *.zip ```

    0
    unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction [Bash]
    github.com GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

    Wrapper to marry GNU Parallel and 7-Zip for archive extraction - thingsiplay/unwrap

    GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

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

    > It uses 7z to extract files from archives. By also utilizing GNU Parallel, multiple files can be processed at the same time. > > The purpose is to streamline option handling and usability of both programs into a unified command line interface, by only incorporating functionality which I need. 7z's option and argument handling is a bit confusing and does things in unique and unfamiliar ways. On the other side, we have Parallel, which is extremely complex and has ton of functionality; also confusing. So I picked up my favorite options and bundled them into a manageable script. > > Name of the script is inspired by unwrap() functionality from Rust programming language. It unpacks certain type of variables to make use what is inside of it. > > 7z (probably in package p7zip) and parallel are required and need to be present. > > bash > git clone https://github.com/thingsiplay/unwrap > cd unwrap > chmod +x unwrap > > > usage: > > bash > unwrap *.zip > > unwrap -f -i '*.txt' -o . *.zip >

    0
    unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction [Bash]
    github.com GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

    Wrapper to marry GNU Parallel and 7-Zip for archive extraction - thingsiplay/unwrap

    GitHub - thingsiplay/unwrap: Wrapper to marry GNU Parallel and 7-Zip for archive extraction

    It uses 7z to extract files from archives. By also utilizing GNU Parallel, multiple files can be processed at the same time.

    The purpose is to streamline option handling and usability of both programs into a unified command line interface, by only incorporating functionality which I need. 7z's option and argument handling is a bit confusing and does things in unique and unfamiliar ways. On the other side, we have Parallel, which is extremely complex and has ton of functionality; also confusing. So I picked up my favorite options and bundled them into a manageable script.

    Name of the script is inspired by unwrap() functionality from Rust programming language. It unpacks certain type of variables to make use what is inside of it.

    7z (probably in package p7zip) and parallel are required and need to be present.

    bash git clone https://github.com/thingsiplay/unwrap cd unwrap chmod +x unwrap

    usage:

    ```bash unwrap *.zip

    unwrap -f -i '*.txt' -o . *.zip ```

    3
    Steam Deck is the ❝Biggest Threat❞ to Xbox [Fan The Deck]

    > Steam Deck is the biggest threat to Xbox and maybe the other way around too. Let's explore Microsoft and Valve's weird relationship

    21
    What is this block-rate-estim?? Suddenly came to life

    While I was writing a shell script (doing this the past several days) just a few minutes ago my PC fans spinned up without any seemingly reason. I thought it might be the baloo process, but looking at the running processes I see it's names block-rate-estim . It takes 6.2% CPU time and is running since minutes, on my modern 8 core CPU. And uses up 252 KiB. The command is shown as block-rate-estim --help, which when I run on the commandline myself will just run the program without output and blocking until I end the process. Sounds alarming to me first. Is something mining going on?

    I looked up where the command is coming from: ```bash $ ls -l /usr/bin/block-rate-estim .rwxr-xr-x 14k root 20 Dez 2023 /usr/bin/block-rate-estim

    $ yay -F block-rate-estim extra/libde265 1.0.12-1 [installed: 1.0.15-1] usr/bin/block-rate-estim

    $ yay -Si libde265 Repository : extra Name : libde265 Version : 1.0.15-1 Description : Open h.265 video codec implementation Architecture : x86_64 URL : https://github.com/strukturag/libde265 Licenses : LGPL3 Groups : None Provides : None Depends On : gcc-libs glibc Optional Deps : ffmpeg: for sherlock265 qt5-base: for sherlock265 sdl: dec265 YUV overlay output Conflicts With : None Replaces : None Download Size : 270,31 KiB Installed Size : 783,53 KiB Packager : Antonio Rojas Build Date : Mi 20 Dez 2023 20:06:16 CET Validated By : MD5 Sum SHA-256 Sum Signature ```

    It's still going on the background, I have no idea what this is. The thing is, I didn't start any process that is related to video codec. Other than FreeTube being in the background with video in Pause mode since 2 hours or so. I use FreeTube since months and this never happened before, I see this block-rate-estim process the first time.

    What should I do? I'm on an up-to-date EndeavourOS installation.

    9
    thingsiplay thingsiplay @beehaw.org
    • https://thingsiplay.game.blog/
    • https://github.com/thingsiplay

    I'm here to stay.

    Posts 30
    Comments 588