Avatar
ChipTuner
036533caa872376946d4e4fdea4c1a0441eda38ca2d9d9417bb36006cbaabf58
Building software they don't like. Free, as in freedom. Low-level and server engineer: libnoscrypt, NVault, vnlib. Staff @GitCitadel https://geyser.fund/project/gitcitadel

These are just the principals that projects operate on as well imo. When I make a self hosted app "with no warranty" It removes my responsibility away from making a breaking change that corrupts the users db and cost them money.

I'm not suggesting I want to take responsibility, when I'm not getting paid, but with my software, Id like to offer the contract of "i take into consideration that my software will be deployed for the purpose of making someone money, and making changes that harm that, id like to avoid"

Exactly! Plex eats a few cores just idling with a large content base.

Like I'm not even making a living of my gear, but I have over 80 hard drives that I have to monitor across 10 machines. 50 cooling fans, 30 power supplies, 3-4 switches. That's just the hardware which gives me far less problems than the software, which is usually configuration related lol.

There is a massive step between one machine I put my plex on, and Im hosting media for 1000s of nostr users to pull, with minimal downtime.

Like try taking down a whole machine without losing uptime XD

Well, I had the dream of meshing my cmnext cms project with nvault, such that sharing media on nostr was as simple as hovering an image over any web client and it would get uploaded and a url inserted into your cursor, all hosted on your own machines.

cmnext is different in that the webUI is designed to be self hosted and for a small number of users, but the media itself relies on a virtual file system backed by ftp S3 or a file path. Which means I have the HA infra to host the media, and a neat and portable frontend to manage it.

I understand your concern of "I just want to upload shit and share it" so help me understand better? You want self hosted or a service? There is no in between, it's either trusted users or the public, no in-between. I think they are two fundamentally different and incompatible architectures.

cmnext is my attempt at bridging that gap for slightly more technical users.

But applications and features like immich offers are designed with the intention and scale of 1-4 users in mind, hence self-hosted. These same features at scale are not really economically viable imo. This goes for many things in the category of everything apps.

For example, running something like Plex in the cloud is unaffordable for more than 1-2 users with a library of like 100 movies depending on your provider. Youd be talking renting $10000 of hardware or more to host a plex machine for maybe a dozen users with a library of maybe 1tb of images.

When were talking external users the criteria changes. Hosting media now becomes an economic battle of

- How can I compress this shit as much a possible to save space on my server and keep costs and maintiance down

- How can I deliver this content with as little bandwith as possible to keep network costs down

- How can I keep the content cached and available as best as possible.

- How can I police content at the scale of 1-10000 users so I don't get in trouble

- How can I effectively load balance traffic without breaking the bank etc.

- How do I continually police bots hogging traffic and CU

Once you're talking more than just yourself, the architecture of your stack changes dramatically.

Same with me though. I'm with nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj. That's what I build and want to be building. I tend not to see something worth building if it can't take a minimum of 1000000000 rps.

Myself nor nostr:npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz are probably not established enough for you to get credit here "Reputable Company" but myself and GitCitadel are working on C/C++ projects on nostr if you are still interested in contributing code.

My project noscrypt is a strict C cryptography library. I don't accept PR's on github only patches, I have a guide for it on my website

https://github.com/VnUgE/noscrypt

Open issues are found

https://www.vaughnnugent.com/resources/software/modules/noscrypt-issues?state=Defined

It needs help with hardware support as well, well really anything in the hardware department :)

nostr:npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz Is working on a C++ nostr development kit called Aedile, among another dozen projects (feel free to ask)

https://github.com/ShadowySupercode/aedile-ndk

We can probably accept GH prs otherwise we use our own managed git server

In either case, if your commits include your github email address your contributions should be mirrored to github if you make any.

Finally, my nostr DMs don't work (see my other project nvault as to why)

Crazy how fast things change. Iris and/or Snort were one of the first clients I used. Now I'm daily driving last year's nostrudel XD

Stop trying to market silver bullet products.

Trying to understand low level technology works feels more like a curse. I sound like a cynic all the time. But I hate being lied to or oversold by glossing over holes made by over-optimistic arguments. Sometimes it's unfounded misjudgement, but other times it's I'm just tired of "This product is SECURE because it uses AES-256 military grade encryption". Like yeah that's great but your JIT optimized away your zero and you didn't read your app's assembly code and it's subject to a leak or other memory attacks. Will they be exploited? Probably not for a while, or maybe never, or you might just get lucky.

Every layer of technology has holes, I just wish I didn't feel so alone trying to understand these flaws and build products with an adversarial mindset. Your never going to design a perfect product but if you design a product that can evolve as you learn, I think you can avoid the silver bullet sales pitch.

It's also not a binary, because it can be exploited doesn't mean don't build it, just be realistic about your skills or lack thereof.

Replying to Avatar ChipTuner

"You purchased a brick sir, shame that it's out of warranty and won't turn on, you can send it back on your dime, or buy a new one."

So I was/am someone who likes to use commercial equipment for everything when possible. It's harder to find and cost WAY more for professional tools. But, you get years and years of maintenance free use/abuse. If you know what you are looking for you can always get second-hand deals.

The big thing though: commercial equipment was designed to be repaired and often long supported by the mfg.

Examples:

- Hobart (Belshaw/amana whoever tf owns them now) You could still obtain parts to repair 70s era equipment

- Dell: you can still purchase replacement parts for most poweredge servers even 10 years old or even get support without any or much cost

- Caterpillar: also still purchase many parts and revised parts for equipment also from 70s era although this has declined. Cummins and other companies that are still somewhat solvent offer mostly the same although automotive in general has declined (different discussion)

- Eaton, Square D and other commercial electrical equipment lines, are still supported/upgrade-able with minimal downtime/cost

- Cyberpower still sold replacement parts for 15 y/o commercial battery backup units while consumer units are end of life after the 3 year battery failure point.

Among other reasons, a selling point for commercial equipment was that you didn't need to throw it out and get a new one every time it breaks. Meaning your equipment was an investment, not operational cost.

On to the complaint. Boy it's sad seeing certain commercial products in all fields decline to the point where when you're out of warranty it cost marginally more to just replace the unit than it does to repair it. Plus the box is "so secretive" that it's illegal to crack it open and repair it yourself.

I pine for the change in culture and economics, not more government boots on corporations.

nostr:npub1a6we08n7zsv2na689whc9hykpq4q6sj3kaauk9c2dm8vj0adlajq7w0tyc I noticed your Clippy sir.

In think there is more we can do, but it's going to take a whole hell of a lot of resources. That's the white pill part. I think someone with enough money and power to care, could make some changes happen, especially in the aftermarket, and there are engineers out there still, even newer ones, that actually want to participate so long as they can work a steady 9/5 and be protected from the government. But someone has to take on that risk to make it happen. Most lawyers don't want to touch it though. We were told, we has a supreme court case if we wanted to peruse it, but the likelyhood of them finding a reason to kick your doors in skyrockets. And even if you did win, he said, "ive been in this a long time, you will always need me or someone else on your payroll, it will never end" Even millionaires like Kory Willis didn't have the connections required to keep him out, despite moving his businesses across multiple countries. I don't agree with his stance, but given enough people to care could get there.

I think the hard part is the brainwashing of the public. Kory was a diesel tuner, made most of his money from deleting exhaust/emissions equipment on diesel pickups. Getting the public to back that guy... yeah. He should have the right to sell parts to people to install, but I also don't agree with deliberately making emissions worse "because you can". There are ways to make power without excessive negative emissions. Tough spot to be in. The general public would clutch their pearls in 2025.

Well we can chat about that if you want, and why I got out of automotive :) Depends what your interests are. It's a highly regulated area and mfgs would rather sue joe home owner out of existence, than allow you to help people.

That said, tech life is not easy. Most guys get into it because its another trade for kids that don't know what they wanna do. It pays better than many trades but is hard work too. MFGs try everything they can to squeeze money out of dealerships and repair shops as well. While theyre forced to offer tools for repair by the government, it doesn't specify what ways they can offer it.

At some point Ford engineer gave us a megashare link to a firmware download for something one of our techs was working on. (funny story Siglent recently sent me a megashare link for a firmware recovery package XD)

For our shop, it was run buy guys who were highly motivated (3 of us started the show, I was just an employee though). We were one of the most expensive repair shops though, and generally turn down small jobs like the equivalent of your situation.

Dealership techs are usually a different story though. I've been offered tech jobs and declined because the work sucks relatively speaking in the trades. Usually the pay is lower because dealerships don't make much money in comparison to 3rd party shops. They have more overhead, mandatory warranty work (they usually lose money on) and they are required to set repair pricing based on the mfg book time which usually isn't enough for the dealership to make much on, despite it feeling like they are telling you to bite the pillow. Dealerships make money on sales, not service, may around here avoid service as much as possible. That and for the past few years they have been short staffed and hiring kids fresh out of tech school.

My experience was mostly in calibration firmware engineering (or reverse engineering).

I've apparently decided to go passed balls deep into more sysadmin stuff lately. I just did a migration to move to IaC for all of my load balancers. Added some testing, some staging, fun branch protection and authorization rules, post deploy testing, storing the previous configs as build artifacts XD.

Yeah I guess I'll have to look back into electrum server. That's what I've used for my harder wallet, but used public servers and "burnt" my addresses. I'd like to get something settled I need to consolidate utxos.

Yeah I mean if you are serious and not trying to be a language maxi, I think there are some really high performance things you can do with highly optimized C#. Specifically you can see in my core lib, its largely composed of C libraries which I link at runtime into C#. Almost all dynamic or short-lived allocations are done on an unmanaged heap. I vendor mimalloc, and rpmalloc, but mostly use rpmalloc for pre-build distributions like vncache here.

rpmalloc is a bit outdated and I'm going to have to revamp it myself but it's still a great allocator. I already have some work converting the memcache backend in vncache over to C.

I personally like the .NET sophisticated async + threadpool, good windows support with async callbacks/upcall support, windows kernel features like socket-accept buffering among others. It's also highly runtime configurable. I know many other languages at this point do similar things in similar ways, but being able to use ELF libraries or .NET assemblies at runtime like dlopen() does is super neat. It's also been 5 years in the making.

VNCache is actually just a plugin for VNLib.Webserver (part of core) which is essentially a runtime. It loads plugin assembly files (and can unload them) dynamically.

I could spend hours talking about my arhcitecture, but really it's been about only use what you need, and a lego style modular framework where the application housekeeping code is isolated from the application code.

So us-west (Seattle) is still up, so I added another regional load balancer, so I'm operational again. Learned my lesson I suppose, I don't host anything too critical, but it's hurting my uptime. It's cheap enough so there is no excuse. Another win for self hosting on-prem though.

nostr:nevent1qvzqqqqqqypzqqm9x092su3hd9rdfe8aafxp5pzpak3cegkem9qhhvmqqm96406cqythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsfqaarpld4v85hu3t99sjgqw8cucapwa9882zekxptezf70l7hdrgnprf22