• 9 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle


  • Wow, the world is a small place! I recently faced this challenge when I was writing a script that needed to store rich text in a CSV. It just so happens that I was a technical writing student at the right time to have learned the conventions that were used before word processors. (This was a weird fluke, since word processors were had been in wide use for many years before I got to college.)

    What you need are the style rules that were used when typewriters were in use. If you find one, let me know! Below is an excerpt from ChatGPT that I vetted based on what I remember.

    1. Headers and Titles: Typically rendered in all caps to distinguish them from the rest of the text.

    2. Spacing:

      • Two carriage returns after a paragraph or section to visually separate content.
      • Double-spacing between lines was often used to make manuscripts easier to edit by hand.

    [I was taught to write papers with two carriage returns between paragraphs so that there’s an empty line space between every paragraph. The exception was the end of a section before a header, where we were taught to use three carriage returns for a double linespace. Headers had a linespace between them and the first paragraph of their section.]

    1. Emphasis: Since typewriters couldn’t italicize or bold text, underlining was the main method for emphasizing text.

    [I never learned an alternative for emphasis. It was used all the time for citations, so I always used underlining. Since I’ve never seen a text file that supports this, I don’t know what you should do here.]

    1. Indentation: A standard of five spaces (or one tab on some typewriters) was common for the start of new paragraphs. [Indentation depended heavily on what style your document called for. I almost always used block style or modified block style, so I never bothered with indentation.]

    2. Page Numbers: Often manually typed, either centered at the bottom of the page or in the top right corner.

    3. Footnotes and Endnotes: Numbered manually and typically indicated by a superscript numeral. The actual note would appear either at the bottom of the page (for footnotes) or at the end of the document/chapter (for endnotes).

    4. Tables and Columns: Creating tables was tedious. Writers had to carefully count spaces to align columns. Some typewriters had a tab setting feature to help with this.

    5. Citations: Followed standard style guidelines of the era (like APA, MLA, or Chicago), but were manually typed and often double-spaced.

    6. Bullet Points: Since typewriters didn’t have a bullet point function, a dash (-), asterisk (*), or number might be used to indicate list items.

    —— —— ——

    Numbered lists: I solved this by using this numbering format:

    1. One

    1.1. One sub one

    1.2. One sub two

    1.2.1. One, sub two, sub one.

    etc.

    For some modern things like links and tables, just borrow from Markdown.



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




  • Regardless of whether or not any of the titles do or do not contain said content, ChatGPT’s varying responses highlight troubling deficiencies of accuracy, analysis, and consistency. A repeat inquiry regarding The Kite Runner, for example, gives contradictory answers. In one response, ChatGPT deems Khaled Hosseini’s novel to contain “little to no explicit sexual content.” Upon a separate follow-up, the LLM affirms the book “does contain a description of a sexual assault.”

    On the one hand, the possibility that ChatGPT will hallucinate that an appropriate book is inappropriate is a big problem. But on the other hand, making high-profile mistakes like this keeps the practice in the news and keeps showing how bad it is to ban books, so maybe it has a silver lining.



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



  • On the other hand, fixing all those problems makes you a really effective problem solver. You learn which technologies are good and which are bad; you learn where to find reliable solutions to problems; and you begin to see where tutorial writers have a lack of knowledge (or were really lazy) and how to fix their problems. It forces you to create good habits and to follow best practices. And years down the line, you’ll have some great, stable software that is the envy of your techie friends.