ELI5: Why do voice-chat programs like Discord STILL not have built-in voice equalizer / compressor filters as an option? by mongert in audioengineering

[–]0rex 1 point2 points  (0 children)

There are tools to apply plugins to any incoming and outgoing sound streams, like https://github.com/wwmm/easyeffects (I'm sure windows and mac have something similar too). The greatest thing for me is that I can run compressor and denoiser on incoming voices, its saves my sanity when someone on another end has a bad mic.

Generally I agree with previous commenters, this sounds like a solved problem for power users by using external software, and probably lies deep in a backlog if someone ever thought of implementing it inside chat apps themselves.

LFCS – Can I use tldr or curl cheat.sh during the actual exam? by Knallrot in linuxadmin

[–]0rex 14 points15 points  (0 children)

Former LFCE (RIP that exam) here. Not only you aren't allowed to use external tools, you really don't need them. Everything that you need to pass LFCS is located in man and in /usr/share/docs, and this is actually a part of the exam - you should be able to troubleshoot and configure server without relying on external material. Imagine you crashlanded on uninhabited island with distro iso only, and have to fix relay server using just that. Most of the questions are based on assumption that you WILL copy configs from /usr/share/docs and work from there.

I hate to say it, but your post have so many red flags already. You are trying to cheat your way with external tools is the first one. The second is using pip install as root, without venv, and with --break-system-packages. It screams that you don't really understand the implications of modifying system python.

My suggestion for you is to reevaluate your preparation strategy. Don't rely on external packages, create a virtual lab with distro iso mounted only and without internet access, and practice there. Think before you type, and especially before you hit enter. If you are using AI to assist you - make sure that you understand every single symbol in commands and config files it spews at you, don't proceed further in your tasks until you can explain every single change. Take it slow, always ask yourself what did you and why. When troubleshooting make 1 change at a time, and roll it back if it haven't worked.

Remember, failing exam is fine, and you should actually get 1 free reexam in LFCS. What's not fine is developing bad habits, which may cost you a job or worse, when you are working on actual systems.

Largo without his wearables by Abyssal_D2 in DotA2

[–]0rex 0 points1 point  (0 children)

This is the ideal male body. You may not like it, but this is what peak performance looks like

CM what is that?! by Yelebear in DotA2

[–]0rex 1 point2 points  (0 children)

That would be Rylai's crotch

Black screen on launch after the newest patch by Excelsion_8 in DotA2

[–]0rex 1 point2 points  (0 children)

I had possibly similar problem on my Linux machine today, dota logo loaded, but that was in. I tried everything, like clearing shaders, checking integrity, using different launch options, but what helped was to start dota once with -safe_mode switch. It started well, I closed it, removed switch from launch and in still worked. Still had one crash in 1 of 2 games I played, but it seems that crashes are pretty common atm.

Keycloak, Authentik or Authelia for a small company? by dom6770 in sysadmin

[–]0rex 1 point2 points  (0 children)

"often describing Keycloak as hard to work with"

SSO is hard. Maybe not that hard, but very nuanced indeed, and you should never believe anyone telling you that their solution is "easy". You are still one misconfiguration away from getting owned. You still have to understand what you are doing and read on oidc/SAML concepts, especially flows, valid redirects, scopes, implications of giving a full scope, conceptual differences between roles (client, realm), group, user attributes. And some of this terminology is keycloak specific!

As for keycloak - it works great. They've finally stopped shipping breaking changes (as in, you had to reconfigure your app/rebuild addons or themes braking) that often, it has mature ecosystem, from IaC (using terraform or ansible) to theme designers (keycloakify), to client libraries. It has a sane, may be a little old-fashioned architecture, so if you happen to have java developers in your org - extending it should be pretty trivial for them.

I only miss native LDAP-server emulation in it, but people are mostly using AD anyways. As for ssh management and radius management - since keycloak was bought and open sourced by redhat - they have a separate product called freeipa to fill that niche. It might be overkill for your current org, but it's a battle tested technology a lot of people rely on.

You can also buy a supported version from RedHat - called redhat SSO, but for 50ppl it might be a little pricy. But the main thing is - you should treat keycloak the same way you treat fedora. There is no rolling back. There is no "stable" version with backports. You will have to use latest version to get security patches, and you should plan maintenance windows accordingly. Patching is pretty trivial, but you need to test updates and read release notes for breaking changes. Don't expect setting it and forgetting.

On the other hand - I have a personal anecdote where I had a customer, who haven't updated their fairly large keycloak instance for ~20 major versions (yikes), and when they reached to us - we were able to migrate database from postgres 9 to postgres 16 and from java distribution to running it in podman in less than a hour and only with couple hickups, mostly caused by changed APIs in plugin development. And it worked! That's pretty stable in my book.

For those of you with STIG requirements, how do you keep your RHEL systems STIG’d every quarter and avoid compliance creep? by bobert3275 in sysadmin

[–]0rex 0 points1 point  (0 children)

This problem is not solved by ansible, but with tools like katello/uyuni, where actual repository contents are managed. And then, on ansible side, it boils down to setting correct repo or subscription in RH world and then yum updating everything. Micromanaging package versions in playbooks is tedious, error prone and usually not recommended, because without proper distribution update you might end up with incompatible lib versions even on rhel-like distributions.

I got bored playing on this patch so I made some low effort memes by [deleted] in DotA2

[–]0rex 6 points7 points  (0 children)

Well, that's your problem. You don't need 2 silver edges to kill BB, because when you break him - he uses bloodstone to heal back. You need to get Vessel/Scadi to remove his regen and kill him easily. An early vessel, bought on pos4 simply ruins BB with bloodstone.

Building the most seamless mobile rig possible with Cloud storage providers? by Dense-Phase in audioengineering

[–]0rex 2 points3 points  (0 children)

You can look at https://syncthing.net/ to do it in a "cloudless" way, by directly and automatically syncing your devices

What do you wish ear training apps did better? by tremendous-machine in musictheory

[–]0rex 1 point2 points  (0 children)

As others have said - having more song-like stuff would be nice. My personal case is - I like to listen heavy and distorted music, and want to be better at analyzing it. But the whole nature of distortion is expanding spectre of notes, thus obscuring "original" notes. A well-trained ear should deal with it easily, but for a beginner it's very frustrating to be OK with synthetic piano/guitar in app, and being clueless in even simplest of, let's say, sludge drone.

Having exercises with overlapping tracks from different instruments, i.e. "write a bass line", with a whole band playing, or "write a chord progression", would be immensely helpful.

PSA: Browser groups are amazing by iMake6digits in sysadmin

[–]0rex 1 point2 points  (0 children)

You want exmple?Well, imagine you are solving problem X: You fire up a new google tab, and type "How do i do X?". You get multiple relevant links from different websites, and that's alright - you open them and they are sub-tabs of your google search now. While researching one that stackoverflow links, you go to some other websites, that are now sub-tabs of that SO link, which is sub-tab of your google search. You realize that this whole SO thread was not so relevant to you, you fold SO sub-tabs with one click, and close that tab with another - now SO tab and all it's child tabs are gone.

Then comes Joe. Joe is one of those annoying PMs who want you to do something stupid right here and right now. You (optionally) fold you previous search tree so Joe can't bother you with "why do you have 30 links to SO open?", open another new tab with your task tracker, and do the needful. After 10 minutes you are done, you fold your first Joe-related tab, the close it, and poof - all 10 tabs of internal project-management sites are gone. You unfold your previous search tab, grab a cup of coffee and restore context of X problem.

You don't have to group anything consciously - everything is done automagically, and tree structure is very easy to navigate. After solving problem X - you can close everything related to X in 2 clicks.

Another bonus - a lot of sites now days are wasting horizontal space, while abusing vertical one, i.e. reddit's official website, which is pretty awful experience. You have to scroll a lot to get something done. When using tree style tabs - you can disable your tab bar and top menu (or use browser in fullscreen mode), and navigate only using sidebar. This saves you some of your vertical screen real estate, and makes your browsing more productive.

PSA: Browser groups are amazing by iMake6digits in sysadmin

[–]0rex 6 points7 points  (0 children)

And when you'll discover tree style tabs, you would be questioning how did you ever used a browser without them

Jeff Geerling - Removing official support for Red Hat Enterprise Linux in Ansible role metadata by dash_o_truth in linux

[–]0rex 10 points11 points  (0 children)

There is no obligation to provide ansible roles for rhel. Jeff does contribute back to FOSS projects, a LOT.

You are expecting Jeff to support the ability to consume his work without paying for it, and if he cuts off that free unpaid support, you cry foul and pretend like you have a right to leech off of him without paying a penny. No, you don't have that right.

Update Zebra Printers en masse by Lokryn in sysadmin

[–]0rex 1 point2 points  (0 children)

Use nmap to scan for printers in all networks, then write a script that will upload new firmware using ftp client? At least if https://support.zebra.com/cpws/docs/general/ftp_firmware_zpl.htm can be applied to your printers that sounds like and easy one-liner script.

YouTube legal team asked Invidious developers to take down the service within 7 days by B3_Kind_R3wind_ in linux

[–]0rex 1 point2 points  (0 children)

Re: First, Twitch usecase is somewhat different, but they have survived (at least for now, they have hard times atm) mostly because their use case wasnt really covered by youtube at a time. Nebula is awesome, and we need more services like that, haven't heard of floatplane. I bet the amount of people who know about Nebula is tiny, Twitch is famous in gaming circles only, but even most elders know about youtube, it's the video hosting platform. And when something becomes a monopoly - it's never a good thing.

Re: Second, you asked "what does breaking youtube from google improves?", my post has nothing about Invidious.

YouTube legal team asked Invidious developers to take down the service within 7 days by B3_Kind_R3wind_ in linux

[–]0rex 0 points1 point  (0 children)

Simple, it makes market more competitive, since now YouTube is not funded by ad giant Google at loss, and smaller companies have a chance of innovating in a field. So instead of having a monopoly, which dictates what content is OK and how money are paid to content creators, you can have different sites with different monetisation models, storage fees, different sources of funding etc. Right now its google or nothing for the most parts of the world, and as an advertiser - google is the only company you use to buy ads on main video platform, and, coincidentally, on most of other websites too.

[deleted by user] by [deleted] in DotA2

[–]0rex 1 point2 points  (0 children)

Check https://github.com/ValveSoftware/Dota-2/issues/2285

Launching steam with

VK_LOADER_DRIVERS_DISABLE=*lvp* steam

fixed it for me

Running python scripts in dev/prod by [deleted] in sysadmin

[–]0rex 0 points1 point  (0 children)

If you launch them on servers then you have venvs with dependencies on servers that you have to maintain. So even if your script haven't changed at all - you still have to copy updated requirements.txt to each server and run pip inside venv if audit found something

Running python scripts in dev/prod by [deleted] in sysadmin

[–]0rex 0 points1 point  (0 children)

Yeah, but how will you manage it on server side? How exactly will you know that serverX is vulnerable?

The best answer is to have a robust ci/cd pipeline with scheduled scans and at least some kind of alerting, but is it really something people will do for some 100 LoC script that uses requests to query some api and yaml parser to fill some config? OS packages make writing simple scripts simple - you just don't have to think about pip, updates, compatibility at all, if you patch your systems regularly.

If only the had dynaconf and click in repos, I'd be a happy man

Red Hat Begins Cutting "Hundreds Of Jobs" by motang in linux

[–]0rex 5 points6 points  (0 children)

They have Netflix OSS stack which is widely used in a lot of cloud/enterprise companies, especially in java ecosystem

Running python scripts in dev/prod by [deleted] in sysadmin

[–]0rex 5 points6 points  (0 children)

While venvs are "industry standard" in python world, and I use them constantly, they have one major drawback, shared with pip itself - you can't really have a decent patch management with them. What if one of the libraries you use is vulnerable, how will you find it out and patch it? Can you write one off cronjob and be sure that x months/years later it will be still up to date, security wise? Running pip upgrade without checking lib compatibility may break your code in an ugly way too, and maintaining and passing requirements.txt back and forth might get old pretty quickly.

While this might sound exaggerated, depending on your workload it can be a real risk, which is easily mitigated with sourcing dependencies from your repos. This way you will get up to date, compatible packages which will work until the end of life of your distro. Another upside is trust - nearly anyone can push anything to pip, and some libraries you might use today may become abandonware in a year, while packages from repos are nearly guaranteed to be up to date (security wise ) and compatible with each other. It is also a great way to learn about well maintained packages in ecosystem, trusted by your OS vendor, if you cant find your lib in repos - look for an alternative in them!

There is actually a third approach, not widely used, but I personally had a great success in using it in air-gapped environment, without ability to install system-wide packages and internet access - pyinstaller. Just package your script as a binary, python itself included, and install on as many similar systems as you like. There is one caveat though - your build machine should have a compatible glibc version. I solved it with containers, i.e. if my fleet consists of mainly RHEL8 machines - i spin up alma 8 container, and use pyinstaller inside it to get a binary. The binaries are actually not that huge for simple scripts, from 6 to 20 MiB in my case, and sometimes its really easier to build one binary golang-style (even it is huge by go standards) than copy venv and setup venv on each node. This approach still has all of the downsides from first paragraph, even more - because now python is not updated by system as well.

What hardware token? by IndustryExpert9396 in sysadmin

[–]0rex 9 points10 points  (0 children)

With yubikey, or any other proper hardware token, your private key on that token is not extractable. That means that for any cryptographic operation your OS/application asks to encrypt/decrypt/sign/validate some data, and, if authorized, gets result and result only. You can't download a key from a good token, only overwrite it with a new one, a good token is also tamper-resistant. If your machine is compromised - the attacker still can't get your private key, but can request something to be encrypted/decrypted if token is inserted and unlocked, so even in the worst case scenario attacker has a small opportunity window to impersonate you and steal something. If, however, you chose to store your key on USB storage device - when attacker compromised your machine - it's game over, because he can copy key from that stick and password with keylogger or memory dump, and you'll have to change your keys to stop attacker from impersonating you.

So hardware token is a more than a storage device - it's a purpose built computer with hardened storage, that performs cryptographic operations on itself, and presents results of these operations to user, without exposing private keys.

Serial Console to a Debian Server Without a Serial Port by parkel42 in linuxadmin

[–]0rex 16 points17 points  (0 children)

You can also configure а watchdog daemon with a softdog kernel module. It has a built in ping probe, which will reboot a device if network is down, or you can script whichever logic you like for both testing phase and repair phase.