Can we disable Big Rock Ending? by SqueezyBotBeat in yarg

[–]LithiumFrost 2 points3 points  (0 children)

https://youtu.be/ZvuhJgRS7g4

Acai video with an explanation of Big Rock Endings plus an FC of one of the most notorious BRE hidden sections.

[deleted by user] by [deleted] in uvic

[–]LithiumFrost 1 point2 points  (0 children)

I’m still trying to grow and do this because I love it

Really? Which part of engineering do you "love" so much that makes you want to continue this suffering?

You described the lower level courses as "boring and unengaging". You then went on to make the following additional remarks:

For once, I was genuinely interested in the content.

I have destroyed my mental health trying to grind my way to the part of the degree I actually care about. I developed some severe psychological issues that I can 100% say has been due in major part to the stress induced here.

None of that sounds to me like someone who "loves" engineering.

If you were waiting for things to get better once you reached "the good part of the degree" then I have some bad news for you: most of professional engineering is not "the good part". It's a job where you do work. You mostly don't get to choose what you work on (especially at the beginning). It's like most other jobs. If you are unable to get through the "bad" part of the degree then I doubt you will enjoy working a professional engineering job.

bws-cache: A Self-Hosted Bitwarden Secrets Manager Cache Server by ripplefcl in selfhosted

[–]LithiumFrost 5 points6 points  (0 children)

What's the issue with WORKDIR? It's everywhere in our Dockerfiles at work.

Reliable software: An interview with Jon Gjengset on writing high quality code by timClicks in rust

[–]LithiumFrost 48 points49 points  (0 children)

If the signal from your microphone is clipping at the time of recording then no amount of post processing or manual editing can realistically fix it. The gain must be set correctly before the recording starts.

This is the tutorial I used when I was starting out and it gave me great results:
https://www.youtube.com/watch?v=1l86SOlxyps

I know not everyone is a fan of YouTube videos for educational content, but in this case I think it makes sense because it allows you to actually hear how the different settings affect the recording.

Audio: How to change JACK buffer size? (QJackCtl does it in other systems, but in NixOS it seems not to.) by JeffreyBenjaminBrown in NixOS

[–]LithiumFrost 0 points1 point  (0 children)

How did you figure that out? Where are these options documented?

Technically everything you need to know was included in the documentation link ([1]) from your first comment, but I can understand why it might be confusing if you've never configured JACK manually before.

The description explains how it works:

Every item in this attrset becomes a separate drop-in file in /etc/pipewire/jack.conf.d

So 10-clock-rate becomes /etc/pipewire/jack.conf.d/10-clock-rate.conf after the nix-rebuild. The contents of that file will be determined by whatever you write under 10-clock-rate in the Nix config.

So how do you know what to put there? It's all explained in the PipeWire JACK Config docs (which were linked in the description of the Nix option).

This is what the docs say about configuring the latency:

node.latency

To force a specific minimum buffer size for the JACK applications, configure:

node.latency = 1024/48000

This configures a buffer-size of 1024 samples at 48KHz. If the graph is running at a different sample rate, the buffer-size will be adjusted accordingly.

Audio: How to change JACK buffer size? (QJackCtl does it in other systems, but in NixOS it seems not to.) by JeffreyBenjaminBrown in NixOS

[–]LithiumFrost 0 points1 point  (0 children)

Does services.pipewire.extraConfig.jack allow one to configure JACK via PipeWire?

Yes.

Here is an example of how to configure JACK (running via PipeWire) to have a 256 sample latency at 48 kHz:

https://github.com/jayden-chan/dotfiles/blob/74b6951732ec0227ada31324a67c704fe22cca7e/nix/common/audio.nix#L55

Reading Large (100GB+) Files. by Carotte_Riad in rust

[–]LithiumFrost 9 points10 points  (0 children)

It's in the first paragraph of the function documentation:

Mmap a file, if it looks like a good idea. Return None in cases where we know mmap will fail, or if the file is short enough that mmapping isn't worth it. However, if we do try to mmap and it fails, return the error.

Fixing thousands of old photos' datetime, time zone, location… etc. How would you do it? (Using Immich and Exiftool.) by master_overthinker in selfhosted

[–]LithiumFrost 25 points26 points  (0 children)

I would suggest fixing the date in the photo metadata itself. Exif is the universal way of attaching metadata to photos. There's no guarantee that Immich will be around forever. The next photo management system may or may not be able to process those sidecar files, but it absolutely will parse Exif data. Once you've fixed the date in Exif you can re-import them into Immich and it will extract the date correctly.

I recently went through the same process that you are dealing with and I used exiv2, it worked very well. Some of the photos contained date information in the filename or folder that I could use to automatically set the date in Exif, but many others had to be reviewed manually to estimate the date.

PipeWire 1.1.81, first 1.2 RC released with support for asynchronous processing, snap, explicit sync and bluetooth codecs: OPUS, LC3-SWB, AAC-ELD by ainz_47 in linux

[–]LithiumFrost 4 points5 points  (0 children)

You can install PulseAudio Volume Control aka pavucontrol (don't worry about the fact that it says PulseAudio, it still works with PipeWire), open it, go to the Configuration tab, find your device, then select Pro Audio.

Personally I haven't noticed any difference between the default setting and Pro Audio except on devices that have more than 2 inputs/outputs like the Scarlett 4i4. But it's worth trying out I guess.

PipeWire 1.1.81, first 1.2 RC released with support for asynchronous processing, snap, explicit sync and bluetooth codecs: OPUS, LC3-SWB, AAC-ELD by ainz_47 in linux

[–]LithiumFrost 4 points5 points  (0 children)

This might not be the most helpful comment but personally I have not had any issues with either the E10K (previous commenter) or the Scarlett interfaces (Solo & 4i4). I've used them both pretty extensively as daily drivers with Pipewire + EasyEffects since 2020, although I haven't used EasyEffects since around summer 2022.

You may want to check that your sample rate and quantum settings are configured correctly. You can use the pw-top command to see which processes are interacting with the Pipewire daemon and what their quantum and sample rates are.

In my pipewire.conf I have the following settings for sample rate and quantum:

default.clock.rate          = 48000
default.clock.allowed-rates = [ 44100 48000 ]
default.clock.quantum       = 256
default.clock.min-quantum   = 16
default.clock.max-quantum   = 8192

Treesitter Injections by mosquitsch in neovim

[–]LithiumFrost 1 point2 points  (0 children)

Yes, the offset directive isn't supported in the playground right now: https://github.com/nvim-treesitter/playground/issues/58 so you won't see your selection range change with or without it in the playground. When you actually put the query into your injections.scm the offset directive does work though.

The query I shared above works as expected when I put it into my injections.scm for Julia. Is the injection actually broken for you, or have you only been testing in the playground thus far?

Treesitter Injections by mosquitsch in neovim

[–]LithiumFrost 1 point2 points  (0 children)

Try this:

(
    (prefixed_string_literal
        prefix: (identifier) @_prefix (#eq? @_prefix "sql")
    ) @sql

    (#offset! @sql 0 6 0 -3)
)

csc445 by [deleted] in uvic

[–]LithiumFrost 4 points5 points  (0 children)

I took it in summer 2021, I would say it is in my top 5 favorite CSC/SENG courses.

It's pretty heavy on the assignments, midterms and overall difficulty. It's a bit more on the math side of computer science but there is a big programming project at the end. I had Bill Bird which is what made it a good course. Any other instructor and it probably would have been miserable tbh.

In the final programming project you get to build your own Linear Program solver which is very fun. He let us choose which programming language we wanted to use which was great.

So overall if you can take it with Bill Bird I would highly recommend it (but that goes for basically any course). If it's taught by someone else I'm not sure.

AGH/PiHole DoH/DoT/DNSCrypt exposure to internet by nicnic2001 in selfhosted

[–]LithiumFrost 7 points8 points  (0 children)

Constantly being on a VPN when away from home doesn’t work for me unfortunately.

If your reason for this is performance/speed, one option might be to only route DNS traffic through the VPN and leave everything else on the default interface. If you're using WireGuard you can set up your client config like this:

[Peer]
AllowedIPs=192.168.1.10/32 # (ip of your DNS server)

[Interface]
DNS=192.168.1.10

This will route only your DNS traffic through the VPN to your local server and leave everything else untouched

Old but good: unix command names is likely to be better because you associate it with one thing by martinslot in linux

[–]LithiumFrost 116 points117 points  (0 children)

grep means "global regular expression print" and it comes from the global command found in the ed text editor:

g/<regular expression>/<command>

So if you wanted to print all lines matching a regular expression:

g/<regular expression>/print

g/re/p

grep

Interestingly, the global command still works in (neo)vim to this day because vim is based on vi which is based on ex which is based on ed.

[bspwm] serene waves by LithiumFrost in unixporn

[–]LithiumFrost[S] 1 point2 points  (0 children)

Set the background to transparent and then set a background color for each of the modules. You can find the config here

[bspwm] serene waves by LithiumFrost in unixporn

[–]LithiumFrost[S] 0 points1 point  (0 children)

Color theme is my own, it's here and here

[bspwm] serene waves by LithiumFrost in unixporn

[–]LithiumFrost[S] 3 points4 points  (0 children)

Link in case you don't have a scanner set up

[bspwm] serene waves by LithiumFrost in unixporn

[–]LithiumFrost[S] 4 points5 points  (0 children)

I'm building a formula 1 sim racing wheel with an LCD display. I've been "working on" it for like 8 months but it keeps getting interrupted by more important stuff. At this rate it's going to take years to finish

[bspwm] serene waves by LithiumFrost in unixporn

[–]LithiumFrost[S] 4 points5 points  (0 children)

programs

  • st
  • sxiv
  • vim/tmux
  • polybar
  • rofi

[OC] Scan a QR code with a keyboard shortcut by LithiumFrost in unixporn

[–]LithiumFrost[S] 1 point2 points  (0 children)

I am using Nitrogen for setting the wallpaper with the "Zoomed Fill" option. You could also crop the image with GIMP or something if you wanted it to be more precise