oO.o's Neverending Tech Blog

I just used to systemctl restart networking or service networking restart on 6 and older (and pray) and it would load the config for the ifcfg files. I always edited those manually and disabled nm control over them, because I was not using nm on CentOS. I eventually got the hang on nmcli on Fedora on my work laptop, but wasn’t worth it on the servers.

1 Like

SnipeIT has been a nice value-add for my MSP business. I struggle sometimes because a lot of the things I bring to the table are ultimately transparent to the client. I often get into the world of “why do we pay you for support hours when everything has worked fine for years?” With Snipe, I can actually say, “here’s a thing you can use and will like AND YOU’RE GOING TO MISS IT IF I LEAVE.”

Lost a client this week. Thinking about the lessons…

2 Likes

Glad to hear you’re getting good use of it. it’s been one of those things I’ve wanted to use, but never really had a good usecase for.

Tempted to use it at the robotics team, but we have so much loss(theft) and breakage it’d be a full-time job keeping the damn sheet up to date.

2 Likes

It isn’t perfect, but it’s pretty good. The ability to assign assets to other assets and/or to locations is really nice. I can log someone’s desk as an asset, assign it to a room and then assign everything that’s on the desk to it. Lets your drill down into the inventory with an awareness of where things actually are (or should be at least). Warranty and EOL are tracked. It prints QR codes. Lots of nice quality of life stuff compared to a spreadsheet that inevitably never gets updated.

2 Likes

Reached a milestone in my Ansible roles today. I have basic interface configuration plus VLAN and LAG/Bond working across Linux Network Manager, Systemd’s networkd, OpenBSD and Mikrotik RouterOS. Additionally, CARP is working on OpenBSD and Wireguard is working on OpenBSD, Network Manager and Systemd networkd. The last challenge was to have CARP peers share Wireguard configuration automatically. This was made extra challenging because I don’t store any secrets locally on the Ansible controller. Private and preshared keys are retrieved from peers if they are not already configured.

Addressing is manually configurable in the inventory but if values are not provided, random ones are generated with protections against collisions.

Looking forward, I will work on individual services and firewall, but there’s an elephant in the room and that’s my inability to write plugins. I have some tasks that are dozens of lines long that I should really replace with some lookup plugins, but the Ansible documentation for plugins is a little light and I’m intimidated. Honestly, I wonder how much Geerling would charge for a consultation…

In any case, I plan to use Devember to focus on an entirely different challenge. I need to get the roles that I’m confident in up on github. There has been a lot of chaos in the early stages of this project where all the roles were going through big changes all at once, but I definitely have some that are in a stable place now. Hopefully I can add a few more to that list by the end of the month.

5 Likes

Today I am experimenting with Vivaldi and a private instance of searXNG. If these go well, I will switch from Brave and DuckDuckGo. I am already liking searXNG quite a lot and the customization of Vivaldi is nice, although I miss the 3rd party cookie toggle in the address bar.

4 Likes

Both searXNG and Vivaldi are going well. After using DuckDuckGo and Brave search for the past couple years, I feel that I’m getting better results from searXNG for some reason? Allegedly, Brave will optionally fall back to anonymized Google results if it doesn’t bring up many results, but it never seemed to be that useful. Anecdotally, if I compared Brave and Google results in those cases, they were different. With searXNG, I feel I am getting higher quality results (more like using Google directly).

Vivaldi is more of a mixed bag, but I do like it’s power-user approach. It reminds me a lot of KDE. The customizations are welcome, but there’s a roughness to it. UI features are numerous but unpolished. I do think I’ll stick with it though. Not sure what I’ll do for mobile. I guess Firefox. To some extent, its all the same on iOS anyway, maybe I should just stick with Safari…

2 Likes

Going to try one of these out…

https://www.aliexpress.us/item/3256804173757529.html?spm=a2g0o.order_list.order_list_main.5.21ef18023067aV&gatewayAdapt=glo2usa&_randl_shipto=US

assuming you watched the STH stuff

1 Like

I’ve watched several and I was actually riffing off of one of their reviews when I found that one, but I didn’t see (or look for) a review of that exact unit. I feel that I understand the unit’s capabilities. It should be more than enough for a home or small business router. I’ve been looking for a good but cost-effective solution for remote worker homes, art galleries, coffee shops, restaurants, etc. I’d like to start marketing to these smaller business networks, probably in the second half of next year.

4 Likes

I picked up a SFF-ish 3070 on eBay from a seller who was clearly liquidating a mining operation. It arrived in original packaging and looks brand new. No issues with stress test, so far so good. In addition to gaming, I’m actually going to use it to fine tune an ESRGAN model.

Additionally, I have been making good progress on my Devember project, finally cleaning up one of my Ansible collections for public consumption.

5 Likes

Got cuda and cuDNN running on WSL2 Ubuntu 22.04. Currently running this:

I am working on a proof of concept for restoring analog 480i30 content to 1080p24 using various open source AI projects. I have some sample content that exists in both formats, but I need to get 1:1 frames before I can use the samples to train ESRGAN.

The first step was to de-interlace the 480i to 480p30 using nnedi via ffmpeg. Now I am interpolating frames of the 480p30 to 480p120 as an intermediary for 480p24. Then I’ll have 1:1 image pairs that I can supply to ESRGAN as degraded vs ground truth samples.

The 3070 has been chugging through so far, but of course, depending on only one GPU with 8GB of memory will be time consuming. This frame interpolation looks like it will take about a day and a half. I don’t know if a full training of ESRGAN will be feasible, but I’m hoping to at least be able to refine an existing model with this sample data.


One quirk of the frame interpolation is that, while it will happily accept a directory full of hundreds of thousands of stills as a source, it keeps all of the resulting frames in memory until they’ve all been calculated, then writes them to disk. Needless to say, I exhausted my ram and swap pretty quickly. I am now batching them in groups of 1200. The trick though is that the last frame of one batch needs to be added to the beginning of the next batch so that the intermediate frames can be generated. Then once all the stills are reassembled, those duplicates need to be removed.

5 Likes

It arrived!

…and I encountered some unexpected things.

  1. No legacy bios booting at all, only UEFI.
  2. PXE-booting UEFI sucks, and there is no clear way to perform a PXE network install of OpenBSD on a UEFI system. In fact, their installation ISO doesn’t work on UEFI at all, only the USB image.
  3. The OpenBSD installer does not see any network devices. The IGC driver for Intel i225-V was introduced in OpenBSD 7.1, but it appears not to support the Intel i225-V B3 chipset included on this system. No idea what the significance of “B3” is or if it means I’m screwed or just need to wait.
3 Likes

I’m beginning to feel that Linux distributions have all really overcomplicated package management.

There is so much yum/dnf/apt config. In OpenBSD, all of it is just one mirror url written to /etc/installurl. That’s for packages and system updates. That’s it.

I’ve tried to distill down the Linux config as much as possible, but it’s still so much…

---
# vim: ts=2:sw=2:sts=2:et:ft=yaml.ansible
#
# Package manager defaults for Rocky Linux
#
########################################################################

repo_defaults:
  method: mirrorlist
  url: https://mirrors.rockylinux.org
  gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

repos:
  baseos:
    name: Rocky Linux $releasever - BaseOS
    file: Rocky-BaseOS
    url_vars: 'arch=$basearch&repo=BaseOS-$releasever'
    url_path: /$contentdir/$releasever/BaseOS/$basearch/os/
    enabled: true
  appstream:
    name: Rocky Linux $releasever - AppStream
    file: Rocky-AppStream
    url_vars: 'arch=$basearch&repo=AppStream-$releasever'
    url_path: /$contentdir/$releasever/AppStream/$basearch/os/
    enabled: true
  extras:
    name: Rocky Linux $releasever - Extras
    file: Rocky-Extras
    url_vars: 'arch=$basearch&repo=extras-$releasever'
    url_path: /$contentdir/$releasever/extras/$basearch/os/
    enabled: false
  ha:
    name: Rocky Linux $releasever - HighAvailability
    file: Rocky-HighAvailability
    url_vars: 'arch=$basearch&repo=HighAvailability-$releasever'
    url_path: /$contentdir/$releasever/HighAvailability/$basearch/os/
    enabled: false
  nfv:
    name: Rocky Linux $releasever - NFV
    file: Rocky-NFV
    url_vars: 'arch=$basearch&repo=NFV-$releasever'
    url_path: /$contentdir/$releasever/nfv/$basearch/os/
    enabled: false
  plus:
    name: Rocky Linux $releasever - Plus
    file: Rocky-Plus
    url_vars: 'arch=$basearch&repo=rockyplus-$releasever'
    url_path: /$contentdir/$releasever/plus/$basearch/os/
    enabled: false
  powertools:
    name: Rocky Linux $releasever - PowerTools
    file: Rocky-PowerTools
    url_vars: 'arch=$basearch&repo=PowerTools-$releasever'
    url_path: /$contentdir/$releasever/PowerTools/$basearch/os/
    enabled: false
  resilient-storage:
    name: Rocky Linux $releasever - ResilientStorage
    file: Rocky-ResilientStorage
    url_vars: 'arch=$basearch&repo=ResilientStorage-$releasever'
    url_path: /$contentdir/$releasever/ResilientStorage/$basearch/os/
    enabled: false
  rt:
    name: Rocky Linux $releasever - Realtime
    file: Rocky-RT
    url_vars: 'arch=$basearch&repo=RT-$releasever'
    url_path: /$contentdir/$releasever/RT/$basearch/os/
    enabled: false
3 Likes

So I tried this again and it just worked? The NICs all showed up and it was fine…

Holy hell this this is hot though. It hurts to hold it for more than a few seconds, even just after the OS installation.

4 Likes

I’m in the middle of an unusual build. I had a Radeon 5700XT and a Ryzen 5600 left over from a recent upgrade to my Windows machine, and of course I had various drives lying around. Ever since my gen 8 NUC died, I’ve been using an old thin client as a media PC. I thought I could stream Steam games on it, but my experience on latency-sensitive games like Rocket League was not good. This might be specific to my situation as my home network is a series of daisy-chained switches and I committed the unforgivable sin of stapling the ethernet to the baseboards.

Anyway, I’ve been wanted to get a real system set up again and these extra parts are my excuse to do it. The catch is that I don’t have much room to work with. There is a closet behind the wall my TV is mounted to. All of the media devices live in there on a shelf above some coats. Having been burned by 2 failed NUCs and lots of frustration around eGPUs, I definitely want to go with an ITX build, but the space will only work with a very specific SFF shape.

Turns out, it’s a great use-case for a cheap test bench made out of extrusion rails.

I am going with my own variation on this horizontal build. Of course the extrusion rails make it all very flexible (and again, I have the ITX version, not the one pictured).

It will sit like that flat on the shelf and should work out great. I have put the frame together and attached the PSU, but the motherboard won’t come until next Friday :frowning:

The build is unusual because some of the purchases were made with future-proofing in mind and don’t really make sense otherwise. I picked up the 1000 watt Gold SFX power supply from Seasonic. It’s in the distant future, but I’d like to invest in the flagship 5000-series RTX when it comes out. I think DP 2.X along with maturing raytracing and recovered supply chain/economy (fingers crossed) will make that good generation of nVidia cards to invest in long-term. Also, if I continue to work with AI, that will be a vocational excuse to go high-end.

The rest of the system is utterly dwarfed by the PSU. The aforementioned Ryzen 5600 will go into a ASRock B550 Phantom Gaming-ITX with the relatively low-profile Noctua NH-L9x65 SE-AM4. However, while the PSU’s second life will be in a high-performance system, the motherboard and processor will become a modest NAS. For now though, they will live together in a strange, unlikely arrangement in my coat closet. I look forward to using it.

5 Likes

Have you checked if there’s enough thermal paste on CPU? Or these units might also use thermal pads.

idk but my x86 Pfsense box runs quite warm as well, and according to the manufacturer it’s by design. It’s not too hot to touch but if I let steam download game updates or anything like that the spot where the CPU is will be uncomfortable to touch.

2 Likes

I hesitate to take it apart but I could check it out. The issue though doesn’t appear to be the ability of the components to dissipate heat into the chassis, but the chassis’s ability to dissipate heat into the air. The entire enclosure is hot. I might just aim a fan at it. Not the end of the world.

Also, how’s it going? Long time no see.

2 Likes

…and they’re back.

10 Likes

The one we talked about? You hit em with a bit of inflation

2 Likes