• 8 Posts
  • 40 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.