• 4 Posts
  • 26 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle

  • I’ve just spent a few weeks continually enhancing a script in a language I’m not all that familiar with, exclusively using ChatGPT 4. The experience leaves a LOT to be desired.

    The first few prompts are nothing short of amazing. You go from blank page to something that mostly works in a few seconds. Inevitably, though, something needs to change. That’s where things start to go awry.

    You’ll get a few changes in, and things will be going well. Then you’ll ask for another change, and the resulting code will eliminate one of your earlier changes. For example, I asked ChatGPT to write a quick python script that does fuzzy matching. I wanted to feed it a list of filenames from a file and have it find the closest match on my hard drive. I asked for a progress bar, which it added. By the time I was done having it generate code, the progress bar had been removed a couple of times, and changed out for a different progress bar at least three times. (On the bright side, I now know of multiple progress bar solutions in Python!)

    If you continue on long enough, the “memory” of ChatGPT isn’t sufficient to remember everything you’ve been doing. You get to a point where you need to feed it your script very frequently to give it the context it needs to answer a question or implement a change.

    And on top of all that, it doesn’t often implement the best change. In one instance, I wanted it to write a function that would parse a CSV, count up duplicate values in a particular field, and add that value to each row of the CSV. I could tell right away that the first solution was not an efficient way to accomplish the task. I had to question ChatGPT in another prompt about whether it was efficient. (I was soundly impressed that it recognized the problem after I brought it up and gave me something that ended up being quite fast and efficient.)

    Moral of the story: you can’t do this effectively without an understanding of computer science.





  • My friend’s requirements were that the transfers be encrypted (which ssh does) and that his family have a server that was easy for them to use to upload and download files. The file server also had to be private – meaning not stored in the cloud. They aren’t technically savvy, so we needed an option where they could literally drag and drop a file from their desktop onto a web browser window. It worked well for them. My only regret is that the VPN was so complicated to set up. But on the bright side, Synology unifies the username and password between the VPN server and DSM, which makes it a little easier for my friend (and his family) to maintain.




  • Just a quick follow-up on how we set up self-hosted cloud storage for my friend:

    Synology has an OpenVPN server built-in. We configured that to grant his offsite family members access to his network, and then set up DSM to have a custom URL specifically for Synology Drive. (It’s in the Remote Access section of the control panel.) This way users could just visit /drive and get access to a google drive-like interface that was easy for them to use. Setting up the OpenVPN client on their computer was a pain in the butt (as per usual for OpenVPN), but after that was properly configured, they just have a little toggle switch that enables them to access his NAS, which is easy for them to use.

    When you share files with someone on Synology Drive, it even sends them an email telling them that you made a file available. Very convenient! They just have to remember how they access the NAS.


  • I just got through helping a friend set up a NAS. Even today I recommend people stick with Synology because you get so much with it. Security updates and software upgrades are easy, you get good software packages for free, and the Synology platform is just easier to manage unless you want to be a real power user. Honestly, I would replace your current Synology device with an updated one. The DS423+ I set my friend up with had a reasonable processor that could even do hardware transcoding for Plex. Not a lot, mind you, but plenty for his 1080p and DVD library.

    I use my Synology NAS for computer backups, photo storage and display, and occasionally I use Synology Drive (Synology’s NextCloud clone – or possibly a fork of NextCloud) to host files for people to access from my network. I wouldn’t say that any self-hosted solution would be extremely easy to use, but Synology Drive was really excellent for moderately techy people.

    Offsite backups are hard. I just use Synology’s HyperBackup to create an archive of the files I can’t afford to lose and physically carry those drives to an offsite location. I’ve had to restore from it from time to time, and it has been a nice experience. I especially like that I can restore only specific files and that it handles versioning. It gets hard when you need an immense amount of space for your backup. But these days you can get drives that are positively huge.










  • I run a lot of these services in my homelab. I didn’t really feel like I had something with real potential until I started using Proxmox as my hypervisor. That’s when things exploded. You can create VMs and containers on it with ease, and all the features I would normally have to rely on command line for were also available on the Proxmox web interface. That is so convenient! Need to do a snapshot because you think you might screw up your install on step 37? No problem, just take care of it in the GUI.

    Proxmox also handles clustering really well, which will probably benefit you. You can add a Raspberry Pi or two, or a PC, and Proxmox will just manage them all. It will even move services from one device to another if one device gets turned off. It’s really incredible!

    The one thing I wouldn’t build yourself is a NAS. I went with a Synology, and I’m glad I did. Building (and maintaining) one from scratch is just more work than I really have time for. With a NAS, you want things to go perfectly all the time, including updates and security updates, so I’m happy to leave most of the testing and configuration to Synology’s team. I just have to remember to update things periodically, which I’m willing to do.