[-] thejevans@lemmy.ml 1 points 9 minutes ago* (last edited 8 minutes ago)

I'm almost a year in to a job where I was given this task with no admin access on my local windows machine, with a team that had never used an IDE or git before, and with only Google Drive as my allowed cloud tool. When I got here everything was just a bunch of Jupyter notebooks that would get run in Google Collab that were stored haphazardly over a shared Google Drive.

It's been a slog, but Python for Windows, VSCode, Git for Windows, and Poetry can all be installed without admin access, and we got limited access to Azure DevOps. I've taught my team how to use powershell, git, VSCode, and Poetry, and taught them about testing and documentation (this is a slowwww process). We finally got a desktop computer with admin access this week that we can RDP into (that I requested basically right when I started), so we can run scheduled tasks on Windows and hack together some kind of a CI/CD system. We started a wiki on Azure, have most of our stuff documented and in a well organized monorepo, and track our work in boards now.

Now that other teams are starting to see how we're doing things, they want in, too. Thank god these people are wonderful and excited to learn because otherwise this would be very frustrating.

[-] thejevans@lemmy.ml 11 points 1 day ago* (last edited 1 day ago)

This is extra insane when the exit polls show this is clearly white people fucking everyone over

1000006159

[-] thejevans@lemmy.ml 8 points 2 days ago

I use FreshRSS, Read You on Android, and NewsFlash on my PC. It all syncs via FreshRSS seamlessly.

[-] thejevans@lemmy.ml 1 points 4 days ago* (last edited 4 days ago)

Yeah, I guess I shouldn't have put that in this comment, I was just airing a tangential frustration. It still doesn't help me unless I set up a vps on a whitelisted domain at my work.

[-] thejevans@lemmy.ml 9 points 4 days ago

I cannot access my homelab from my work network, so I cannot sync via Nextcloud. Syncthing would be better, but they just stopped supporting Android sync, which I need. Proton Drive doesn't sync files on Android. On top of that, I don't want to deal with sync issues because keepass isn't designed for syncing like that. I'm not gonna go back to using Google, Microsoft, or Dropbox just for keepass. I've considered just keeping my db file on a flash drive, but all of the keepass Android apps I tried won't automatically detect that the file exists when I plug in the drive.

If someone has a better way for me to use it, please enlighten me.

Bitwarden is slowly turning their stuff closed-source, and I hope they don't turn to shit, but right now it's what works.

[-] thejevans@lemmy.ml 4 points 5 days ago

Yeah, I'm talking about not just Nix, but NixOS. Nix (the package manager) can do a lot, but NixOS + disko + home-manager can literally be all of the configuration for your machine from drive partitioning through to dot files. Throw in nixos-anywhere and impermanence and you can have an insane amount of control over all of your computers.

Ansible, Terraform, Chef, etc. do have some overlap, but the main difference is that those tools iterate through the system modifying it piece by piece and NixOS is declarative.

If something fails in some of my bigger Ansible playbooks, it could mean 30 minutes of just running through all the steps again. I could probably break it into sections, but then I have to worry about making sure they all get run when things get updated. In my NixOS install, it's way faster, I can roll back to a previous state, and troubleshooting is way easier in my opinion.

[-] thejevans@lemmy.ml 24 points 5 days ago

You can't have your entire system configuration in a repository of plain text files, which has lots of advantages, but it's not worth caring about unless you feel excited to get into it.

[-] thejevans@lemmy.ml 98 points 3 weeks ago

Good. Keeping it the same means that the original Steam Deck will remain a target device for game developers for longer.

10
submitted 3 weeks ago by thejevans@lemmy.ml to c/android@lemmy.ml

The way he just blew off the 50/50 split criticism was pretty gross. Basing it off of Youtube's bad-relative-to-the-rest-of-the-market 45/55 split, and then making it worse is not great, especially when coming from someone who makes YouTube content for a living.

12
submitted 8 months ago by thejevans@lemmy.ml to c/linux@lemmy.ml

I'm having an annoying issue with pipewire. I have a Scarlett 8i6 audio interface. I have it set to Pro Audio so that I can access all the input and output channels, and I have virtual devices defined to allow applications to access groups of channels as discrete devices.

For some reason, all applications keep automatically switching to my secondary (mono) output. I can sometimes get them to switch to my primary stereo output, but it's only ever a one-off and they will switch back when the current media is done playing. any thoughts?

config:

context.modules = [
    {   name = libpipewire-module-loopback
        args = {
            node.description = "Primary - Focusrite Scarlett 8i6"
            capture.props = {
                node.name = "scarlett_8i6_primary"
                media.class = "Audio/Sink"
                audio.position = [ FL FR ]
            }
            playback.props = {
                node.name = "playback.scarlett_8i6_primary"
                audio.position = [ AUX0 AUX1 ]
                target.object = "alsa_output.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-output-0"
                stream.dont-remix = true
                node.passive = true
            }
        }
    }
    {   name = libpipewire-module-loopback
        args = {
            node.description = "Secondary (Mono) - Focusrite Scarlett 8i6"
            capture.props = {
                node.name = "scarlett_8i6_secondary"
                media.class = "Audio/Sink"
                audio.position = [ MONO ]
            }
            playback.props = {
                node.name = "playback.scarlett_8i6_secondary"
                audio.position = [ AUX2 ]
                target.object = "alsa_output.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-output-0"
                stream.dont-remix = true
                node.passive = true
            }
        }
    }
    {   name = libpipewire-module-loopback
        args = {
            node.description = "Microphone - Focusrite Scarlett 8i6"
            capture.props = {
                node.name = "capture.scarlett_8i6_mic"
                audio.position = [ AUX0 ]
                stream.dont-remix = true
                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
                node.passive = true
            }
            playback.props = {
                node.name = "scarlett_8i6_mic"
                media.class = "Audio/Source"
                audio.position = [ MONO ]
            }
        }
    }
    {   name = libpipewire-module-loopback
        args = {
            node.description = "Instrument - Focusrite Scarlett 8i6"
            capture.props = {
                node.name = "capture.scarlett_8i6_inst"
                audio.position = [ AUX1 ]
                stream.dont-remix = true
                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
                node.passive = true
            }
            playback.props = {
                node.name = "scarlett_8i6_inst"
                media.class = "Audio/Source"
                audio.position = [ MONO ]
            }
        }
    }
    {   name = libpipewire-module-loopback
        args = {
            node.description = "Mix - Focusrite Scarlett 8i6"
            capture.props = {
                node.name = "capture.scarlett_8i6_mix"
                audio.position = [ AUX2 AUX3 ]
                stream.dont-remix = true
                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
                node.passive = true
            }
            playback.props = {
                node.name = "scarlett_8i6_mix"
                media.class = "Audio/Source"
                audio.position = [ FL FR ]
            }
        }
    }
]
146
submitted 8 months ago by thejevans@lemmy.ml to c/technology@beehaw.org

cross-posted from: https://lemmy.ml/post/11820406

Do not use 2 letter country TLDs!

215
submitted 8 months ago by thejevans@lemmy.ml to c/technology@lemmy.world

cross-posted from: https://lemmy.ml/post/11820406

Do not use 2 letter country TLDs!

87
submitted 8 months ago by thejevans@lemmy.ml to c/technology@lemmy.ml

Do not use 2 letter country TLDs!

[-] thejevans@lemmy.ml 72 points 10 months ago* (last edited 10 months ago)

I just got rid of my last Windows installation, and I got rid of all my Apple devices a couple years ago. The Linux life is so nice!

On the other hand, I just setup a Windows gaming machine for a friend (I would have pushed Linux, but I live far away and can't commit to being tech support). There were so many hoops to jump through to cut through all the crap:

  • I had to set the region to somewhere in the EU so that my friend can uninstall Edge sometime in March, 2024 without breaking other functionality
  • I had to run a hidden script at a specific point during the install to allow me to not have to use a Microsoft account
  • I had to disconnect the non-boot drive and reinstall because the Windows installer uses motherboard drive ordering instead of UUID to decide which drive to put the boot partition on.
  • I had to run Win Debloat Tools to get rid of all the crap Microsoft adds to their OS
  • I had to find a 3rd party driver update tool because the motherboard manufacturer's software is terrible and installs a bunch of extra crap.
  • I had to install a 3rd party Nvidia driver update tool because their official one requires making an account and gives a bunch of unwanted ads as notifications.

It's seriously bonkers. It makes you really appreciate Linux as a whole and package managers in particular.

[-] thejevans@lemmy.ml 77 points 11 months ago* (last edited 11 months ago)

This is definitely shitty.

Related: JerryRigEverything just came out with a video about this and titled "I got robbed" and called it theft a bunch of times. This is copyright infringement, maybe trademark infringement, but not "theft" or "robbery". No property or money was taken from any party such that they no longer have access to it. It's important to be accurate about this.

Edit:

Here is a list of all the media I've found surrounding this that falsely claims stealing, theft or robbery:

63

cross-posted from: https://lemmy.ml/post/6395416

Faced with new laws in California and other states, big tech lobbyists want to sign a "Memorandum of Understanding" to prevent "a compliance market where lawyers drive the decisions."

207
submitted 1 year ago* (last edited 1 year ago) by thejevans@lemmy.ml to c/technology@lemmy.ml

Faced with new laws in California and other states, big tech lobbyists want to sign a "Memorandum of Understanding" to prevent "a compliance market where lawyers drive the decisions."

11
submitted 1 year ago* (last edited 1 year ago) by thejevans@lemmy.ml to c/homeassistant@lemmy.ml

cross-posted from: https://lemmy.ml/post/6372946

A few friends asked for me to walk through how I set up the dashboard I have in my kitchen, so I figured I'd share it here, too. Here is a barebones walkthrough with config files.

8
submitted 1 year ago* (last edited 1 year ago) by thejevans@lemmy.ml to c/homeautomation@lemmy.ml

A few friends asked for me to walk through how I set up the dashboard I have in my kitchen, so I figured I'd share it here, too. Here is a barebones walkthrough with config files.

[-] thejevans@lemmy.ml 67 points 1 year ago

Another great example of why proprietary connectors are stupid as hell. I'm going to be upset when my 2DS XL charger breaks and I can't get an easy replacement.

[-] thejevans@lemmy.ml 196 points 1 year ago

The feature is translation. Just say that, OMGUbuntu.

26
submitted 1 year ago by thejevans@lemmy.ml to c/foss@beehaw.org

cross-posted from: https://lemmy.ml/post/4506191

I've used sleek as my primary todo.txt UI for a while now, and I'm really happy with it. If you are interested in a simple, but useful way to put together a todo list in plaintext, the todo.txt spec is a great way to handle it, and sleek is by far the nicest GUI I've found.

About a week ago, I ran into a minor annoyance with an edge use-case that I have, and I wrote about it in the sleek github discussion page. Within 4 days, the maintainer of the project had a new build ready that fixed my issue. Nobody else said they needed it, but they took the time to add the feature I requested and now my workflow is that much easier.

I know not every project is like this, or can be like this, but there's no way that something like this would get added at anywhere near this pace in proprietary software. I, for one, am super grateful that software like this and the people that maintain it exist. Thank you.

Please check out sleek!

sleek is an open-source (FOSS) todo manager based on the todo.txt syntax. It's available for Windows, MacOS and Linux

65
submitted 1 year ago by thejevans@lemmy.ml to c/opensource@lemmy.ml

I've used sleek as my primary todo.txt UI for a while now, and I'm really happy with it. If you are interested in a simple, but useful way to put together a todo list in plaintext, the todo.txt spec is a great way to handle it, and sleek is by far the nicest GUI I've found.

About a week ago, I ran into a minor annoyance with an edge use-case that I have, and I wrote about it in the sleek github discussion page. Within 4 days, the maintainer of the project had a new build ready that fixed my issue. Nobody else said they needed it, but they took the time to add the feature I requested and now my workflow is that much easier.

I know not every project is like this, or can be like this, but there's no way that something like this would get added at anywhere near this pace in proprietary software. I, for one, am super grateful that software like this and the people that maintain it exist. Thank you.

Please check out sleek!

sleek is an open-source (FOSS) todo manager based on the todo.txt syntax. It's available for Windows, MacOS and Linux

46

It looks like a lot of people want to self-host Lemmy. Would having an ActivityPub relay setup for those instances to subscribe to, instead of them all subscribing individually to the bigger instances be feasible? I've only seen discussions online about relays in regards to Mastodon. Has anyone attempted to set up one for use with Lemmy instances?

view more: next ›

thejevans

joined 2 years ago