HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pSYoniK

no profile record

Submissions

AI, Coding Agents and Ignorance as a Virtue

psyonik.tech
4 points·by pSYoniK·5 माह पहले·0 comments

A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS

psyonik.tech
176 points·by pSYoniK·9 माह पहले·31 comments

comments

pSYoniK
·19 दिन पहले·discuss
I have submitted this before, but for those maybe a bit uncomfortable with setting up a VPS to act as an exit node for Wireguard, my article covers most things:

https://psyonik.tech/posts/a-guide-for-wireguard-vpn-setup-w...

For this particular use case, I would probably suggest something like OVH/Scaleway as they have nodes in France so physical distance between UK and "somewhere else" is low which will affect latency. If you're willing to wait longer and go further, I recommend Infomaniak (Switzerland - they have nodes in Geneva I think/Zurich). Hetzner (a crow favorite) hasn't been that good for me while I was in the UK, I was getting dropped packets even after switching a few VPSes, but might've just been something temporary.
pSYoniK
·8 माह पहले·discuss
It is however very patronising to tell people to "Go full vegan, abandon all possessions, and all that".

It also isn't useful to reduce the conversation and assume that critique directed at the idea of necesarily going out and buying new hardware is a critique against technology or ownership, but, myself included, we do seem to read what we want. You also missed the point I made when I did clearly say voting with your wallet doesn't work. You didnt address the other, more salient point I was getting across, but obviously failed to do so - when starting out, don't worry too much, just get whatever and start learning. Questions will be easier answered when you already have some hardware.

Anyway, enjoy your day
pSYoniK
·8 माह पहले·discuss
TL;DR - please stop wasting tons of resources putting together new servers every year and turning this into yet another outlet for "I have more money than sense and hopefully I can buy myself into happiness". Just get old random hardware and play around with it and you'll learn so much that you will be able to truly appreciate the difference between consumer and enterprise hardware.

This seems awfully wasteful. One of the main reasons for which I've built my own homeserver was to reduce resource usage - one could probably argue that the carbon footprint of keeping your photos in the cloud and running services is lower than building your own little datacentre copy locally and where would we be if everyone builds their own server, then what? Well, I think that paying Google/Apple/Oracle/etc whoever money so that they continue their activities has a bigger carbon footprint than me picking up old used parts and running them on a solar/wind only electricity plan. I also think I'm going a bit overboard with this and I'm not suggesting to vote with your wallet because that doesn't work. If you want real change this needs to come from the government. You not buying a motherboard won't stop a corporation from making another 10 million.

Anyway, except for the hard drives, all components were picked up used. I like to joke it's my little Frankenstein's monster, pieced together from discarded parts no one wanted or had any use for. I've also gone down the rabbit hole to build the "perfect" machine, but I guess I was thinking too highly of myself and the actual use case. The reason I'm posting this is to help someone who might not build a new machine because they don't have ECC and without ECC ZFS is useless and you need Enterprise drives and you want 128 GB of RAM in the machine and you could also pick up used enterprise hardware and you could etc...

If you wish to play around with this, the best way is to just get into it. The same way Google started with consumer level hardware so can you. Pick up a used motherboard, pick up some used ram, a used CPU, throw them into a case and let it rip. Initially you'll learn so much and that alone is worth every penny. When I built my first machine, I wasn't finding any decently used former desktop form hp/lenovo/dell so I found a used i5 8500t for about 20$, 8 gb of ram for about 5$, a used motherboard for 40$, case was 20$ and PSU was $30. All in all the system was 115$ and for storage I used an old 2.5inch ssd for boot drive and 2 new NAS hard drives (which I still have btw!). This was amazing. Not having ECC, not having a server motherboard/system, not worrying about all that stuff allowed me to get started. The entry bar is even lower now, so just get started, don't worry. People talk about flipped bits as if it happens all day every day. If you are THAT worried, then yeah, look for a used server barebone or even a used server with support for ecc and do use ZFS, but I want to ask, how comfortable are you making the switch 100% now over night without having ever spent any time configuring even the most basic server that NEEDS to run for days/weeks/months? Old/used hardware can bridge this gap and when you're ready it's not like you have to throw out the baby with the bathwater. You now have another node in a proxmox cluster. Congrats! The old machine can run LXCs, VMs, it could be a firewall it could do anything and when it fails, no biggie.

Current setup for those interested:

i7 9700t

64 GB DDR4 (2x32)

8, 10, 12, 12, 14 TB HDDs (snapraid setup and 14 TB HDD is holding parity info)

X550 T2 10Gbps network card

Fractal Design Node 804

Seasonic Gold 550watts

LSI 9305 16i
pSYoniK
·9 माह पहले·discuss
I had wireguard on docker before for some containers, but it felt clunky and it over complicated the network stack in my head (I'm unfortunately not very skilled in networking in general). So I said that I'd go back to the root and run it at OS level because then I can expose Proxmox to the world or any of the other VMs I run by having them join the wireguard network. Which in turn means that I can connect to any machine I want/need directly. I am also playing around with writing my own dynamic DNS worker in C# and I was curious on how I could have that run as a systemd process but bypass the wireguard tunnel to keep updating IP addresses. A lot of these were tied to me just being a bit more curious about the whole stack.
pSYoniK
·9 माह पहले·discuss
I mentioned that as an alternative along with Headscale and Nebula. Not for me though! At least not now.
pSYoniK
·9 माह पहले·discuss
I want to make a few points to help clarify some of the choices and why I made them. This is very helpful and I appreciate all the comments as it highlights how some things are clear in our head but we don't end up sharing that with anyone reading. So:

1. I looked at AdGuardHome but I preferred PiHole because I found its documentation a bit more helpful for my purpose (the Unbound sample, the Wireguard setup, etc)

2. I saw the docker compose package, but I wanted something that runs at the OS level. There are docker packages for Wireguard too and I had also a look at Mistborn (https://gitlab.com/cyber5k/mistborn)

3. The VPN is the main thing I wanted setup to reach resources on my home network, adblocking and DNS came a bit later, so you can run this without a VPN, but its central for my setup.

4. I really wanted this setup at the OS level and to hopefully learn more about the whole process.

Thanks again for the suggestions though!
pSYoniK
·9 माह पहले·discuss
I put Zorin OS on my dads old laptop 5 years ago and I think the only time I got a question was when someone setting up his new internet was digging through network settings but hadnt used any Linux distro before. Even then it was a 5 min call. Its a very Windows-like experience and I've noticed most parents really just write an email, browse the web and maybe consume media. All of those can occur in a browser.
pSYoniK
·9 माह पहले·discuss
I have looked at that briefly, I think I had gone with pihole in the end for the ability of having a UI to easily see any resolution issues and local dns management (which, I think, is also present in Unbound but not in a UI but via configs).
pSYoniK
·10 माह पहले·discuss
This is such a good point. I've changed jobs a lot and one thing consistently bad (to varying degrees) is documentation and tutorials specifically.

"Download X and setup"

"It's not working..."

"Oh yeah, you're supposed to do it on the remote access VM"

"It says access denied"

"Oh right, you're supposed to use the Yubikey for access"

"I don't have a Yubikey, its pass + authenticator"

"Ok, I'll email Jeff from this department you wont hear off until someone new starts. But otherwise keep following the tutorial and you should be good to go!"

It always infuriates me. At my last job I had a lot more control and authority, so I redid the entire tutorial for the proj we worked on. Every few months I'd check all my account permissions, update the list on the readme, spin up Windows/Ubuntu VMs and try to get the project running using ONLY the tutorial. Anything missing - add it.

If anyone added a new dependency the documentation would be updated and the steps checked on a new VM. I did this as we had various people come in and work for a few weeks, add a new feature and leave. The end result was that instead of 1-2 weeks to get running, people would have everything running within their first day and start work sooner. Instead of needing someone for 4 weeks for ONE feature, we could finish 2-3 and sprinkle in more tests and confidence.

I think most developers would benefit from writing for a less experienced audience, especially for this sort of thing.
pSYoniK
·10 माह पहले·discuss
This is really great. I've managed to convert a few people to talk over Signal and while I am backing up my chats to my home server (I see you will be offering something like this in the future), this wasn't really an option for the people I converted over to Signal, so they were constantly afraid that they might lose the pictures or the chats if something happened to their phone.

I know, you can download media and save it through something else, but most people just opt-in whatever is default. I think my only suggestion would be to make it real clear or even maybe have some sort of counter that says something like "39 images are no longer backed up" or "8374 media items are NOT being backed up, 507 are in backup, 29 will be removed tomorrow". This could be directly on the backup page, I'm not currently running the beta build as I installed the apk, but if it's already on there, scratch the feedback!

Thank you again for all your hard work on this, it really is appreciated (financially too!)
pSYoniK
·पिछला वर्ष·discuss
I've been reading these posts for the past few months and the comments too. I've tried Junie a bit and I've used ChatGPT in the past for some bash scripts (which, for the most part, did what they were supposed to do), but I can't seem to find the use case.

Using them for larger bits of code feels silly as I find subtle bugs or subtle issues in places, so I don't necessarily feel comfortable passing in more things. Also, large bits of code I work with are very business logic specific and well abstracted, so it's hard to try and get ALL that context into the agent.

I guess what I'm trying to ask here is what exactly do you use agents for? I've seen youtube videos but a good chunk of those are people getting a bunch of typescript generated and have some front-end or generate some cobbled together front end that has Stripe added in and everyone is celebrating as if this is some massive breakthrough.

So when people say "regular tasks" or "rote tasks" what do you mean? You can't be bothered to write a db access method/function using some DB access library? You are writing the same regex testing method for the 50th time? You keep running into the same problem and you're still writing the same bit of code over and over again? You can't write some basic sql queries?

Also not sure about others, but I really dislike having to do code reviews when I am unable to really gauge the skill of the dev I'm reviewing. If I know I have a junior with 1-2 years maybe, then I know to focus a lot on logic issues (people can end up cobbling toghether the previous simple bits of code) and if it's later down the road at 2-5 years then I know that I might focus on patterns or look to ensure that the code meets the standards, look for more discreet or hidden bugs. With an agent output it could oscilate wildly between those. It could be a solidly written search function, well optimized or it could be a nightmarish sql querry that's impossible to untangle.

Thoughts?

I do have to say I found it good when working on my own to get another set of "eyes" and ask things like "are there more efficient ways to do X" or "can you split this larger method into multiple ones" etc