Automated updates: 2023-05-22

This commit is contained in:
John Colagioia 2023-05-22 07:08:43 -04:00
parent 1f3a9b75a3
commit ab168bfa07
3 changed files with 101 additions and 1 deletions

View File

@ -128,6 +128,14 @@ In similar cases, it now only tells the same prose or scripted story, where two
Other projects require more explanation---enough to fill their own blog posts, if I thought that they had enough distinctive features to interest readers---but the generated results proved increasingly implausible and erratic. Though in my "favorite," most frustrating case, the AI would keep "forgetting" what I had asked it. I put that in sarcasm-quotes, because it could query the conversation to summarize my requests, but when I told it to finish the work, it'd insist that I needed to repeat the question to make progress, but doing so would cause it to repeat the previous wrong solution.
**Update: 20 May 2023**: I tried my query---the one that keeps going off the rails while it assigns itself an unrelated (but far easier) task to solve instead of what I requested---again with ChatGPT. It provided me with this illuminating response, though I've removed the boilerplate apology and insistence that it loves to help people.
> As an AI language model, my responses are based on the text inputs I receive, and I try my best to provide accurate information and assistance. However, **I don't have the ability to recall specific past interactions** or visualize the chat interface. I rely on the text you provide and respond accordingly.
Arguing with it further, it confirms that, no, it doesn't remember parts of the conversation other than what it responds to immediately and a small amount of context.
This explains a lot of the problems that I've seen. If true---it might have lied, though this has the ring of a bespoke response---this means that OpenAI has deliberately sabotaged their product, presumably to reduce the chances of it saying racist things when racists interact with it. What a waste of time to get to this point...
## 9:06 -- Fri 19 May 2023
{% embed https://i0.wp.com/otherwords.org/wp-content/uploads/2016/05/uber-transportation-regulations.jpg|A hand holding a phone, open to an app, facing a busy street|false| %}

View File

@ -6,7 +6,8 @@ categories:
tags: [freeculture, bookclub]
summary: Discussing an interactive fiction mystery
thumbnail: /blog/assets/0T7Xq2n9mQexs502W3ow--2--hh4hb.png
teaser: This week brings us an interactive murder mystery comedy.
teaser: This week brings us an interactive murder mystery comedy, built around the stock "detective exposes the murderer" scene.
proofed: true
---
This week, our [Free Culture Book Club]({% post_url 2020-05-02-freeculture %}) plays an interactive murder mystery.

91
2023-05-22-biodiv.md Normal file
View File

@ -0,0 +1,91 @@
---
layout: post
title: Developer Diary, World Biodiversity Day
date: 2023-05-22 07:08:05-0400
categories:
tags: [programming, project, devjournal]
summary: Progress on assorted projects
thumbnail: /blog/assets/Fungi-of-Saskatchewan.png
teaser: This week's projects include my Morning Dashboard, Boring CSS, and my Mastodon Trunk Rummager client.
proofed: true
---
Today marks the [International Day for Biological Diversity](https://en.wikipedia.org/wiki/International_Day_for_Biological_Diversity), celebrating what biodiversity we have and promoting issues impeding it.
If you'd prefer something more concrete, California celebrates [Harvey Milk Day](https://en.wikipedia.org/wiki/Harvey_Milk_Day), in memory of the assassinated gay activist and politician. Given current political attempts to criminalize and otherwise marginalize gender and sexual minorities, I can think of worse plans for your day.
![A sampling of fungi collected during summer 2008 in Northern Saskatchewan mixed woods, near LaRonge. This photograph also includes leaf lichens and mosses](/blog/assets/Fungi-of-Saskatchewan.png "Tired pun overload...")
On to programming.
## Morning Dashboard
{% github jcolag/dash %}
I finished the current work on adding my graphs, specifically making the calls to insert the pedometer analysis, and adding the relevant fields to the configuration file.
As usual, I can't guarantee that your setup will work enough like mine that this code will do anything useful for you, but I think that I have it modular enough that you shouldn't have much trouble following it, if it might help you.
## Entropy Arbitrage
{% github jcolag/entropy-arbitrage-code %}
Hm. It seems that, last week, I may have jumped the gun. In [last week's developer diary post]({% post_url 2023-05-15-nabka %}), I spent about five hundred words talking about the fancy new plugin that I wrote for the blog to insert emoji, so that you can interact with them like this face {% emoji grinning face with smiling eyes %}, rather than a flat emoji character. As mentioned, when you hover over the emoji, it'll zoom in and show a "title text" tool tip, to make it clearer what I've added.
And yet, somehow, I hadn't pushed those changes out to the repository. I did so, this week, so you might want to review the linked post from last week, if you want a walk-through on some issues, there.
You might notice, then, that I'll occasionally need to commit updates to my emoji "database" (a JSON file), particularly when I give one a name that'll cause less trouble in typing. For example, many---but somehow not all---of the emoji "official" names in the file have underscores in the words, instead of spaces. Instead of learning what magic rule distinguishes the two, I find it far easier to add a line to the file without the underscore characters. Or in other cases, if I find a character getting a lot of use with an obscure name, I may give it a clearer name. For example, I probably wouldn't use "couple-with-heart-woman-woman" {% emoji couple with heart woman woman %} much, but if it ever comes up again, calling it something like *lesbian couple* would make for a far more guessable term.
## Boring CSS
{% github jcolag/boring-css %}
I didn't expect to revisit **Boring CSS** at all, since it looked complete to me, but appearances can, in fact, deceive. And, other than having the entire CSS specification committed to memory, I can only see one way of discovering those gaps: Using it.
And, in fact, using the CSS files in the **Mastodon Tool Trunk**'s *Rummager*---for more on which, see the next item---turned up a glaring omission. I didn't handle buttons in their `:active` state, so the user got no visual feedback on clicking them.
I went with variations on this.
```css
button:active,
input:active,
input::file-selector-button:active {
border-style: inset;
filter: brightness(80%) saturate(80%);
}
```
I'll need to investigate further, to make sure that my quick-and-dirty result matches the design languages---it almost certainly doesn't---but it works for now.
## Mastodon Tool Trunk
{% github jcolag/tool-trunk %}
The *Rummager* looks better by the day.
I fixed one error that I should have caught long before. Specifically, I moved the JavaScript file into a subfolder, because I expect to add a new file, soon. However, when I did that, I didn't think to change the reference in the HTML file to match it, then took a few days off working on it, so I didn't spot the problem.
More importantly, I populated the still-not-in-use buttons for each toot---the number of likes, boosts, and so forth---added a basic version of Mastodon's preview of the most prominent linked website (the "card") behind a collapsible `details` element, and moved the media into similar `details` elements and into the toot.
I don't consider the layout perfect, by any means, but it now displays pretty much everything for the initial load of toots, unless I've overlooked something.
Speaking of the layout, it seems worth mentioning that I feel like this project vindicates a lot of my motivation for creating **Boring CSS**. Without wasting time on picking colors or messing around with the overall styling, I still have a fairly decent-looking app while I focus almost entirely on making things work. And when, eventually, I need to think about a "real" CSS framework, I won't need to rip out any existing CSS classes to support the new scheme.
## Next
I'll mostly continue on with the *Rummager*. For the most part, I expect four major tasks over time.
* Connect the buttons, so that clicking them calls the relevant API endpoint.
* Store the list of viewed toots, and probably a last-run timestamp, to Pantry.
* Load all toots since the last-viewed toot.
* Exclude previously viewed toots.
The first task may use [HTMX](https://htmx.org/), which seems like the latest iteration of what (at least) the Ruby on Rails people used to call "unobtrusive JavaScript." I'd prefer a library that doesn't require dumping so much information into the HTML code, but for such a small library, I can at least give it a try, especially if it handles state changes without the organizational overhead of something like React; I like React, but I don't want to waste time maintaining the build process and maintaining dozens of component files. This all may also mean that I'll give HTMX a try and then rip it out, so it may take the entire week on its own to go nowhere. We'll have to see.
At the end of this work, though, I should have a chronological list (not *reverse*-chronological like most social media) of toots, that doesn't include any repetition. I have other kinds of toots that I want to eventually exclude---boosts for toots older than a couple of days, for example, or those dominated by an image with no description---but this should work as a starting point. I almost never see value in those messages, especially the old toots that I have surely seen before, so skipping them will save me the time of recognizing them.
At some point, I should also add a way to submit a configuration file and retain it in the browser's local storage. That'll let me deploy the page to someplace like GitHub Pages for other people to play without worrying about security.
* * *
**Credits**: The header image is [Fungi of Saskatchewan](https://commons.wikimedia.org/wiki/File:Fungi_of_Saskatchewan.JPG) by [Sasata](https://commons.wikimedia.org/w/index.php?title=User:Sasata&action=edit&redlink=1), made available under the terms of the [Creative Commons Attribution Share-Alike 3.0 Unported](https://creativecommons.org/licenses/by-sa/3.0/deed.en) license.