Where does the French accent come from in ChatGPT?

I'm fascinated that when I ask ChatGPT to speak French with English words embedded in the French, it stays in "French mode" and speaks the English words with what I recognize as a French accent for English. Does that accent come about as a happy byproduct of mapping English sounds into a French speech model -- that is, are "accents" just epiphenomena here? Or does ChatGPT actually have special accent handling?

I'm not sure what to make of the explanation that perplexity.ai gave in response to my musing. Is the answer correct?

MIC 07-2 Time to stop this series

Well, I'm going to stop this blogging series and declare success. I had applied to the Recurse Center for a 12 week stint between Sept 18 and Dec 7. When I was turned down, I decided that I still wanted to reserve that time to work on MyInfoNet. Since then, I've found that the other parts of my life demand my attention, and they are more important than MyInfoNet at this time. Sure, I can keep posting each weekday -- and I am proud of myself for doing so for six weeks, but clearly my heart wasn't in much of what I was writing. I'm happy to report that I have plenty of other projects for which I'm collaborating with other people. So back to my regular blogging. I'll post when I have something to say publicly.

MIC-06-5 Digging into Jupyter widgets, specifically pyleaflet

As I work on integrating data across the different sources in iSamples, I'm getting my brain back into using Jupyter widgets. A place I chose to start was ipyleaflet: Interactive maps in the Jupyter notebook — ipyleaflet documentation, a wrapper around the awesome Leaflet - a JavaScript library for interactive maps.

The first I tried was to run the demo that uses JupyterLite -- but got an error. When I went to report the problem, I saw that the bug had been noted months ago.

No problem. Next up was cloning the repo and running the examples. I picked one that caught my eye -- the one to load KML into leaflet. Unfortunately, the demo didn't work out of the box with the current version of pyleaflet. I was able to make the simple fix and issued a pull request: fix examples/KML.ipynb to work with recent versions of geopandas by rdhyee · Pull Request #1141 · jupyter-widgets/ipyleaflet

MIC-06-4 Protocols in Python

In response to my prompt

There are various "protocols" in Python -- interfaces involving the implementation of certain methods to fulfill a protocol. For example the iterator protocol is implemented via __iter and __next. Confirm what I just wrote and also tell me about other protocols. I understand there is a sequence protocol and a container protocol. True? What other ones?

I got the answer from perplexity.ai:

Yes, you\'re correct about the iterator protocol in Python. It is
implemented via the __iter__ and __next__ methods. An object is considered an iterator in Python if it implements these two
methods

In addition to the iterator protocol, Python also has other protocols
such as the sequence protocol and the container protocol.The sequence protocol is implemented by defining methods
like __getitem__ and __len__. The __getitem__ method is used to get an element at a specific index, and the __len__ method is used to get the number of elements in the sequence. Other methods that can be part of the sequence protocol
include __contains____iter____reversed__, and
more

The container protocol is less clearly defined in the Python
documentation, but it generally refers to methods that allow an object to store other objects and provide ways to access and manipulate them. This can include methods like __contains____iter__, and __len__, similar to the sequence protocol

There are also other protocols in Python. For example, the async
iterator protocol, which is similar to the iterator protocol but used
for asynchronous iteration. It is implemented via the __aiter__ and __anext__ methods

Another example is the protocol for numerical types, which includes
methods
like __add____sub____mul____truediv____floordiv____mod____divmod____pow____neg____pos____abs____invert____complex____int____float____round____trunc____floor____ceil__, and more. These methods allow an object to behave like a numerical value and interact with other numerical values in a meaningful way.There are many more protocols in Python, and they are a powerful tool for creating objects that interact with built-in Python constructs in a natural way. However, there doesn\'t seem to be a comprehensive list of all protocols in the Python documentation

MIC-06-3 OpenContext, iSamples, Solr, OpenAPI consumering clients

I have code in open-context-jupyter/notebooks/OC Explorations.ipynb at ee9bae594bb6a7bcc951425fd58e10804f1ad369 · rdhyee/open-context-jupyter for querying https://iscaws.isample.xyz/isamples_central/thing/select using the requests library. I\'m wondering whether it\'d be useful to use 1) django-haystack/pysolr: Pysolr --- Python Solr client (whose maintainer is [busy but still on the case](Is there a new release for pysolr? · Issue · django-haystack/pysolr)) or 2) one of the openapi client generators to ingest https://iscaws.isample.xyz/isamples_central/openapi.json? If 2), it seems like there are at least three actively maintained libraries to choose from (openapi-coreopenapi-python-client, and apispec):

Any guidance about which might be the fruitful option?

What I decided after talking to a colleague about this issue: I think I'll keep going with my simple requests approach as I get my brain warmed up again with solr and stay away from the code-generator options for now (and maybe for a while!)

MIC-06-2 GTD in OmniFocus

I liked listening to how an expert GTDer is using OmniFocus to implement GTD on GTD Focus President Meg Edwards Returns - The Omni Show (Oct 23, 2023). I\'m still trying to get a good GTD implementation using Obsidian. I see larslockefeer/obsidian-plugin-todo -- but it\'s not been updated since Feb, 2022 -- so I wouldn\'t use it. (Obsidian plugins that aren\'t being regularly updated are probably not worth the effort to use.). There\'s the fascinating little Issues · saibotsivad/obsidian-gtd-no-next-step. Probably the key insight is that I should focus on time-blocking than diving into a complicated GTD setup right now.

MIC-06-1 Surprise: Keyboard Maestro 11 is released

I was delighted to get an email today saying that I was eligible to upgrade to a new version of Keyboard Maestro (a license for which I had just purchased a few months ago.) From Stairways Software: Press Releases:

The engine adds a new keyboardmaestro command line tool for triggering macros, modern JavaScript syntax, Apple Text Recognition option, a new palette to show active macro groups, enhanced scripting support, and more.

MIC-05-5 Jupyter widgets made easier?

This morning, I learned about manzt/anywidget: jupyter widgets made easy. I\'m excited to figure out how to use it because I think it\'ll make developing custom widgets much easier.

As described in anywidget: Jupyter Widgets Made Easy | by Trevor Manz | Jupyter Blog:

*anywidget* is a Python library that makes it simple and enjoyable to create custom Jupyter Widgets that run in classic Jupyter notebooks, JupyterLite, JupyterLab, Google Colab, VS Code, and more.