[-] Doods@infosec.pub 13 points 1 month ago* (last edited 1 month ago)

My emotions just stopped, so I can now think straight.

There are really only 2 changes that - in my eyes - should be made:

  • 8 space-long, hard tabs.
  • 80 character limit instead of 100.

I don't think a tool like rustfmt can affect most of the original guidelines, and it's generally compatible with the OG style by default.

Edit: I - surprisingly - never actually used rustfmt, so I will go now and test before I say something stupid.

Edit II: I just found this on their repo:

Rustfmt is designed to be very configurable.

Edit III: I tested rustfmt with:

hard_tabs = true

max_width = 80

It's great!

38
submitted 1 month ago* (last edited 1 month ago) by Doods@infosec.pub to c/linux@lemmy.ml

Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.

I am in love with this awsome document; I love its guidelines, and coding conventions.

However, when Rust was introduced into the kernel, they butchered these beautiful guidelines, I know it's hard to look at such heretic actions, but you have to see this:

The default settings of rustfmt are used. This means the idiomatic Rust style is followed. For instance, 4 spaces are used for indentation rather than tabs.

How can this even relate to the ideology of the first document? I am deeply saddened by these new rules.

I know this is "The Rust experiment", but this must be fixed before it's too late! This has to reach someone.

A counter-argument might be:

The code should be formatted using rustfmt. In this way, a person contributing from time to time to the kernel does not need to learn and remember one more style guide. More importantly, reviewers and maintainers do not need to spend time pointing out style issues anymore, and thus less patch roundtrips may be needed to land a change.

And to that I say that rustfmt is configurable per project, and if it isn't, then it has to be. Doesn't something like .editorconfig exist?

Edit: I think I read enough comments to come up with a conclusion.

At first, forcing another language's code style upon another sounds backwards, but both styles are actually more similar than I originally though, the kernel's C style is just rustfmt’s default with:

  • 80 character line.
  • 8-space hard tabs.
  • Indentation limited to 3.
  • Short local-variable names.
  • Having function length scale negatively with complexity.

The part about switch statements doesn't apply as Rust replaced them with match.*

The part about function brackets on new lines doesn't apply because Rust does have nested functions.

The bad part about bracket-less if statements doesn't apply as Rust doesn't support such anti-features.

The part about editor cruft is probably solved in this day & age.

The rest are either forced by the borrow checker, made obsolete by the great type system, or are just C exclusive issues that are unique to C.

I left out some parts of the standard that I do not understand.

This all turned up to be an indentation and line-size argument. Embarrassing!

*: I experimented with not-indenting the arms of the root match expression, it's surprisingly very good for simple match expressions, and feels very much like a switch, though I am not confident in recommending to people. Example:

match x {
5 => foo(),
3 => bar(),
1 => match baz(x) {
	Ok(_) => foo2(),
	Err(e) => match maybe(e) {
		Ok(_) => bar2(),
		_ => panic!(),
		}
	}
_ => panic!(),
}

[-] Doods@infosec.pub 10 points 2 months ago

w-what... 2 days was a looong time of not watching news, apparently.

What happened?

[-] Doods@infosec.pub 12 points 3 months ago* (last edited 3 months ago)

Didn't eat it, have to wait for sunset.

Probably tastes the same as other cheap options, they rarely differ in taste.

Edit: I am really bad at tasting things, but I don't think it tasted different from what I expected.

386
submitted 3 months ago by Doods@infosec.pub to c/programmerhumor@lemmy.ml
[-] Doods@infosec.pub 16 points 3 months ago* (last edited 3 months ago)

These posts get tens of likes but no comments, because nobody knows what to say anymore. The situation is clear, the motives have been revealed and the details are trivial, and pointless.

Should we stop talking, the situation will only decline, but should we speak the declination will happen slower.

Edit: I wrote a comment that looks pretty cool & I am somewhat proud of it, actually

[-] Doods@infosec.pub 12 points 4 months ago

English people on their way to ruin the meaning of every word.

[-] Doods@infosec.pub 14 points 4 months ago

The KDE Plasma 6 open-source desktop environment

Makes me wonder, are there closed-source desktop environments for Linux?

[-] Doods@infosec.pub 11 points 4 months ago* (last edited 4 months ago)

Stop revealing our plans! Our police force can hardly arrest protestors fast enough!

-Most Governments

[-] Doods@infosec.pub 13 points 5 months ago* (last edited 5 months ago)

(I ~~didn't read~~ skimped through the article)

Just make games with older graphics; it's cheaper, reduces visual bloat, and encourages player imagination to fill in the gaps, and investing xxx million dollars in a video game is dumb.

[-] Doods@infosec.pub 10 points 5 months ago

I don't think there's a way to remove it, even though there are 3 different ways of accessing that menu.

[-] Doods@infosec.pub 39 points 5 months ago

Being an adult has nothing to do with age, I saw 30 year-old children and 13 year-old men.

-1
submitted 10 months ago by Doods@infosec.pub to c/linux_gaming@lemmy.world

I have a huge library of game EXEs on my computer, but they run at a 4:3 aspect ratio as they're old, Proton/Proton-GE/WINE-GE keep the aspect ratio and place black bars left and right, which is desireble, unlike wine who stocks them to the left side of the screen.

[-] Doods@infosec.pub 15 points 10 months ago

I didn't mean we should stop improving, what I meant is we should focus more on the efficiency and less on the raw power.

71
submitted 11 months ago by Doods@infosec.pub to c/gaming@beehaw.org

This might seem stupid, but hear me out.

Fallout 3 on Epic is 39 GiB, the reason for that huge size is you're forced to download all the language packs, same story for Tomb Raider and FFXIII.

As someone with a monthly data limit of 140 Gib, and who has to share it with a family, these - unnecessary - download sizes are unacceptable and make me want - and plan - to pirate the game -which even though I didn't play for I still legally own*- and only having to download 7 GiB.

I would've complained about disk space but you can just remove the extra languages conveniently located in saperate folders**.

This also applies to single player games with privacy-invasive DRM and usability-hurting DRM***, and for people who hate the idea of DRM in general.

*Own as a service and a using license.

**Unless you are tight on disk space and cannot fully download the game before removing the files.

**DOOM 2016 didn't work on Linux duo to the DRM being incompatible with proton.

-1
submitted 11 months ago* (last edited 11 months ago) by Doods@infosec.pub to c/linux_gaming@lemmy.world

I made a git hub issue, but I want to ask here as well in hope of finding success

After running heroic in the terminal, the following thing catchs my eye: The terminal hangs at either

[Backend]: Running Wine command: wineboot --init or [Legendary]: Using cached install info or ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 -and 2 & 3- times!

sometimes I get a notification to install mono when switching WINE versions (WINE-GE).

Somewhere along the loading process a "wineboot.exe" blank windows appears depending on the wine version (heppens with proton) and stays for a while. I am using Wine-GE

Things I tried:

-Deleting the "Games" folder in my home folder - Only heroic used it anyway.

-Adding the game to steam through Heroic's "Add to steam" button.

-Reinstalling heroic and all of its dependencies.

-Manually adding the game's EXE to steam and forcing a Proton version.

-Launching the game by double clicking it in my file manager Nemo.

Surprisingly, only the last two things succeeded in running the game properly.

Terminal output after a successful run:

(Excuse my inability to use a code block on this)

`[doods@doods-pc-7500 ~]$ flatpak run com.heroicgameslauncher.hgl [13:0803/011856.095179:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory Gtk-Message: 01:18:56.754: Failed to load module "xapp-gtk3-module" Gtk-Message: 01:18:56.791: Failed to load module "canberra-gtk-module" Gtk-Message: 01:18:56.791: Failed to load module "pk-gtk-module" Gtk-Message: 01:18:56.792: Failed to load module "canberra-gtk-module" Gtk-Message: 01:18:56.792: Failed to load module "pk-gtk-module" [13:0803/011856.811049:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory [13:0803/011856.811105:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory [13:0803/011856.819964:ERROR:socket_posix.cc(147)] bind() failed: Address already in use (98) [13:0803/011856.820012:ERROR:devtools_http_handler.cc(312)] Cannot start http server for devtools. which: no wine in (/app/bin:/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin:/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux) (01:18:56) INFO: [Legendary]: Running command: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --version (01:18:56) INFO: [Legendary]: Legendary location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary (01:18:56) INFO: [Gog]: GOGDL location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl (01:18:56) INFO: [Connection]: Connectivity: check-online (01:18:56) INFO: [Connection]: Pinging external endpoints (01:18:56) INFO: [Backend]: DRM module staus { oimompecagnajdejgnnjijobebaeigek: { name: 'Widevine Content Decryption Module', status: 'new', version: '4.10.2557.0' } } APPIMAGE env is not defined, current application is not an AppImage LaunchProcess: failed to execvp: xdg-settings (01:18:57) WARNING: [Backend]: Failed to register protocol with OS. [13:0803/011857.103342:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed [13:0803/011857.103557:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed [13:0803/011857.103689:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed (01:18:57) INFO: [Gog]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json --version (01:18:57) INFO: [Connection]: Connectivity: online (01:18:57) ERROR: [Gog]: Unable to syncQueued playtime, userData not present (01:18:57) INFO: [Nile]: Running command: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/nile --version (01:18:57) INFO: [Backend]: Loading Screen Ready (01:18:57) INFO: [Backend]: AreWeAntiCheatYet data downloaded (01:18:57) INFO: [Frontend]: Refreshing undefined Library (01:18:57) INFO: [Legendary]: Refreshing library... (01:18:57) INFO: [Legendary]: Refreshing Epic Games... (01:18:57) WARNING: [Backend]: refresh not implemented on Sideload Library Manager (01:18:57) INFO: [Legendary]: Game list updated, got 26 games & DLCs (01:18:57) INFO: [Backend]: Frontend Ready (01:18:57) WARNING: [Backend]: listUpdateableGames not implemented on Sideload Library Manager (01:18:57) INFO: [Gog]: Found 0 game(s) to update (01:18:57) INFO: [Backend]: Checking for current version changelog hostname: invalid option -- 'f' Try 'hostname --help' for more information. (01:18:58) INFO: [Legendary]: Checking for game updates: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party (01:18:58) INFO: [Legendary]: Running command: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party (01:18:58) INFO: [Backend]:

Heroic Version: 2.9.1 Boa Hancock Legendary Version: 0.20.32 Dark Energy (hotfix #6) GOGdl Version: 0.7.3 Nile Version: 1.0.0 Jonathan Joestar

Electron Version: 24.4.1 Chrome Version: 112.0.5615.204 NodeJS Version: 18.14.0

OS: Freedesktop SDK KERNEL: 6.4.6-200.fc38.x86_64 ARCH: x64 CPU: Intel Core™ i5-7500 @3.4 GOVERNOR: powersave RAM: Total: 7.62 GiB Available: 4.68 GiB GRAPHICS: GPU0: HD Graphics 630 VRAM: 256MB PROTOCOL: x11

(01:18:58) INFO: [Legendary]: Checking if EOS Overlay is enabled: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary eos-overlay info --prefix "/home/doods/Games/Heroic/Prefixes/default/Tomb Raider GAME OF THE YEAR EDITION" (01:18:58) INFO: [ExtraGameInfo]: Using cached ExtraGameInfo data for Tomb Raider GAME OF THE YEAR EDITION (01:18:58) DEBUG: [Legendary]: Using cached install info (01:18:58) INFO: [ExtraGameInfo]: Using cached ExtraGameInfo data for Tomb Raider GAME OF THE YEAR EDITION (01:18:58) DEBUG: [Legendary]: Using cached install info (01:18:58) DEBUG: [Legendary]: Using cached install info (01:18:59) INFO: [Legendary]: Abort command "XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary eos-overlay info --prefix "/home/doods/Games/Heroic/Prefixes/default/Tomb Raider GAME OF THE YEAR EDITION"" Error occurred in handler for 'isEosOverlayEnabled': AbortError: The operation was aborted at abortChildProcess (node:child_process:746:27) at EventTarget.onAbortListener (node:child_process:816:7) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:735:20) at EventTarget.dispatchEvent (node:internal/event_target:677:26) at abortSignal (node:internal/abort_controller:308:10) at AbortController.abort (node:internal/abort_controller:338:5) at callAbortController (/app/bin/heroic/resources/app.asar/build/electron/main.f23c4159.js:2:404) at Object.onOutput (/app/bin/heroic/resources/app.asar/build/electron/main.f23c4159.js:190:23627) at Socket. (/app/bin/heroic/resources/app.asar/build/electron/main.f23c4159.js:100:743) at Socket.emit (node:events:513:28) { code: 'ABORT_ERR' } which: no wine in (/app/bin:/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin:/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux) (01:18:59) INFO: [Winetricks]: Downloading Winetricks (01:18:59) DEBUG: [Legendary]: Using cached install info which: no wine in (/app/bin:/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin:/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux) (01:19:00) INFO: [Legendary]: Found 0 games to update (01:19:00) DEBUG: [Legendary]: Using cached install info (01:19:00) DEBUG: [Legendary]: Using cached install info (01:19:01) INFO: [Backend]: d6264d56f5ba434e91d4b0a0b056c83a: Setting wineVersion to {"bin":"/home/doods/.local/share/Steam/compatibilitytools.d/GE-Proton8-7/proton","name":"Proton - GE-Proton8-7","type":"proton"} (01:19:02) DEBUG: [Legendary]: Using cached install info (01:19:02) INFO: [Backend]: Starting the Download Queue (01:19:02) INFO: [Backend]: Launching Tomb Raider GAME OF THE YEAR EDITION (d6264d56f5ba434e91d4b0a0b056c83a) (01:19:02) INFO: [Backend]: Preventing display from sleep (01:19:02) INFO: [Backend]: Checking if wine version exists: Proton - GE-Proton8-7 (01:19:02) INFO: [Backend]: Preventing machine to sleep (01:19:02) INFO: [Backend]: Stopping Power Saver Blocker (01:19:02) DEBUG: [Legendary]: Using cached install info (01:19:02) DEBUG: [Legendary]: Using cached install info (01:19:02) DEBUG: [Legendary]: Using cached install info (01:19:02) DEBUG: [Legendary]: Using cached install info (01:19:03) INFO: [Backend]: Checking if wine version exists: Proton - GE-Proton8-7 (01:19:03) WARNING: [Backend]: You are using Proton, this can lead to some bugs. Please do not open issues with bugs related to games (01:19:03) INFO: [Backend]: Checking if wine version exists: Proton - GE-Proton8-7 (01:19:03) INFO: [Backend]: Checking if wine version exists: Proton - GE-Proton8-7 (01:19:03) DEBUG: [Backend]: Running Wine command: run wineboot --init (01:22:57) INFO: [Legendary]: Launching Tomb Raider GAME OF THE YEAR EDITION: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/doods/.var/app/com.heroicgameslauncher.hgl/.steam/steam STEAM_COMPAT_DATA_PATH="/home/doods/Games/Heroic/Prefixes/default/Tomb Raider GAME OF THE YEAR EDITION" STEAM_COMPAT_INSTALL_PATH=/mnt/9d0ba9a2-ba39-4b1c-84d9-1198e5020470/EGS/TombRaiderGOTYE WINE_FULLSCREEN_FSR=0 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 STEAM_COMPAT_APP_ID=0 SteamAppId=0 SteamGameId=heroic-TombRaiderGOTYE PROTON_LOG_DIR=/home/doods/.var/app/com.heroicgameslauncher.hgl /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary launch d6264d56f5ba434e91d4b0a0b056c83a --language en --no-wine --wrapper " '/home/doods/.local/share/Steam/compatibilitytools.d/GE-Proton8-7/proton' run

(01:25:05) INFO: [Backend]: Stopping Display Power Saver Blocker [13:0803/012505.514317:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed [13:0803/012505.514366:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed [13:0803/012505.514425:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed (01:25:05) INFO: [Frontend]: Refreshing legendary Library (01:25:05) INFO: [Legendary]: Refreshing library... (01:25:05) INFO: [Legendary]: Refreshing Epic Games... (01:25:05) INFO: [Legendary]: Game list updated, got 26 games & DLCs (01:25:05) DEBUG: [Legendary]: Using cached install info (01:25:05) DEBUG: [Legendary]: Using cached install info (01:25:05) INFO: [Legendary]: Running command: XDG_CONFIG_HOME=/home/doods/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party `

Update: I found a repo for fedora on their github page, downloaded it and games started working fine.

-1
submitted 11 months ago* (last edited 11 months ago) by Doods@infosec.pub to c/linux@lemmy.ml

Is there a way to achieve compact view in Nautilus?

I have always used Nemo (Cinnamon's file manager) on Gnome to achieve said functionality, but it looks alien compared to the rest of the Desktop and therefore I want to use Nautilus.

(Picture: compact view in Nemo, I found said picture online)

view more: next ›

Doods

joined 1 year ago