thejevans

joined 2 years ago
[–] [email protected] 3 points 1 week ago

When HedgeDoc 2.0 comes out, it will have an "Explore Page" which is the last missing piece to pretty much have feature parity with keep. That said, it's a long way out.

https://github.com/hedgedoc/hedgedoc/issues/3833

[–] [email protected] 3 points 1 week ago

lol I do love this video

[–] [email protected] 3 points 1 week ago (3 children)

ffmpeg can make you breakfast if you try hard enough lol. It's so versatile

[–] [email protected] 6 points 1 week ago (5 children)

With ffmpeg in windows, you can listen to a UDP stream using the ffplay command. you can set up a udp stream as an output in ffmpeg in Linux. I would set up a virtual sink that goes nowhere in pulseaudio or pipewire to set as your output device and have ffmpeg listen to that sink. There are lots of options in ffmpeg available to tweak latency and quality.

[–] [email protected] 3 points 3 weeks ago

fascists gonna fascist

[–] [email protected] 1 points 4 weeks ago

I use a Sony a5100 mirrorless camera + Nikon vintage 50mm macro lens + cheap high-CRI LED panel light

I previously used a super cheap Canon DSLR, which worked, but the a5100 is much better. As a bonus it also doubles as a killer webcam + key light combo.

[–] [email protected] 8 points 4 weeks ago

I have a Google account that I created with a throwaway non-gmail email account. I don't use the email or the Google account for anything else. I then sync my required Google calendars to that (my partner still uses Google, so does my union and my work), and I sync that account to my phone with DAVx5 and to my computers with vdirsyncer (eventually pimsync, when it makes it to nix home-manager) by setting up Google CalDAV API credentials as explained here.

I have to use a local calendar app on each device to see my Google calendar with my NextCloud calendars, but it's the best that's possible, I think.

[–] [email protected] 2 points 1 month ago (1 children)

I agree! I was certainly starting to look into forks or other alternatives, but it was "settled". Eelco stepped down and a constitutional assembly was created to develop a governance structure.

https://github.com/NixOS/nix-constitutional-assembly?tab=readme-ov-file

[–] [email protected] 5 points 1 month ago (4 children)

The Nix ecosystem would have to fall apart.

[–] [email protected] 1 points 1 month ago

I considered doing this a few months ago. I ultimately decided that for my use, it's easy enough to just memorize the road network in my city, so I did that instead. This was the navigation software I was planning to use: https://github.com/navit-gps/navit

[–] [email protected] 11 points 1 month ago

or antisemites like the murderer of two young Jews at an AJC event in Washington DC last week

lol sure

30
Phones suck (blog.jevans.bio)
 

Ramblings about degoogle-ing, and going further for the fun of it.

 

I just wanted to shout out TRMNL.

They have an interesting product, and they're trying to build a business that includes a lot of open source aspects.

The device that they sell is proprietary, but it's also just an ESP32, screen, enclosure, and battery, with a custom PCB for convenience. They plan to add instructions to build your own device, and their firmware is open source under a GPLv3 license.

By default, their device connects to their servers, and they have a slick web configuration tool for people who don't care about having smart devices call home, but you can easily modify the firmware to connect to your own self-hosted server instead. As of this evening, both the Phoenix and Sinatra server implementations are open source under an MIT license after I pointed out that they had no license in an issue, and they pretty much immediately updated the repositories.

There are two other repositories that they have not added a license to, but given their swift response, I'll give them the benefit of the doubt, and I would expect them to be updated shortly.

They have not shared all of the plugins that are available on their hosted service for use on a self-hosted instance, but a few are available for use and there are many plugins made by others available as well!

As soon as they update those last two repositories, I plan to pre-order one (unlike the conceptually cool VU Dials who's creators still have not added a license even after being called out by the co-creator of Rocky Linux).

 

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.

 

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 ]
            }
        }
    }
]
 

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

Do not use 2 letter country TLDs!

 

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

Do not use 2 letter country TLDs!

 

Do not use 2 letter country TLDs!

119
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

PC

  • Nobara Linux
  • Fractal Torrent
  • Asus Proart B550
  • AMD Ryzen 5800X3D
  • Noctua NH-D15
  • GSkill 2x16GB DDR4-3600
  • Powercolor Hellhound 7900XTX
  • Sabrent Rocket 4.0 1TB
  • Crucial P3 Plus 4TB
  • Asus WiFi 6E card
  • Be Quiet Dark Power 13

Husky height adjustable workbench

  • DT770 Pros
  • AT2040 Mic
  • Yamaha MG06X Mixer
  • Focusrite Scarlett 8i6 3rd gen
  • Drop BMR1 speakers
  • P.I. Engineering L-Trac
  • ESP32-S3-Box3
  • Sony Dualsense
  • BenQ lightbar

Glorious GMMK Pro

  • GMK WoB
  • holy pandas + tealios v2

Monitors

  • Gigabyte M27Q-X
  • LG Dualup

Camera

  • Sony a5100
  • Sigma 16mm f/1.4
  • no-name LED panel
  • Amaran 100d
 

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

 

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

12
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 

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.

view more: next ›