ChatGPT. This is the only technology that truly freaked me out in my lifetime (I am 35). It competently explained to me the difference between Dijkstra's algorithm and A* in a psalm-like poem [0]. It was able to find misspelled words in a long text I just made up, list them in alphabetical order, and explain to me why I misspelled them. It correctly simulated a ChatGPT instance which was accessible via a HTTP API, and it correctly simulated a Linux machine on which this simulated remote ChatGPT-API was accessed via curl. It was able to give the responses in XML, JSON, CSV, and other formats, and it was able to simulate Linux tools like cut, grep, sort, awk, jq, sed and others. It was able to add an
additional layer of a ChatGPT simulation without problems. It was able to do entity recognition in a long text I provided, and was able to list the entities in a table, with the correct wikipedia article and a summary of the article as columns. It was able to do rudimentary public transit route planning in my home town in Germany (in the form of: go the XY Station, trains will run every 15 minutes from there to the main station, from there you will have long distance lines to Z, etc.), with an apology that it does not have current schedule data for Germany and I should visit bahn.de for better results. When it failed for math questions, it was able to give me Wolfram Alpha queries to find the correct results. It was able to formulate complex SPARQL queries to query Wikidata, run these against the simulated ChatGPT instance via a curl request, grep out some results I wanted, and list them in tabular form with corresponding Wikipedia articles.
All of this in one session, as part of a pleasant conversation, basically indistinguishable from a conversation with a real human.
[0]
> Could you explain the difference between A* and Dijkstra's algorithm in the style of a Psalm?
< Sure, here is a Psalm-style explanation of the difference between A* and Dijkstra's algorithm:
Hark, ye seekers of the shortest path,
And listen well to what I say:
There are two algorithms that ye may use,
To guide ye on your way.
Dijkstra's algorithm is a general one,
That can be used in any case,
It explores the graph from the source node,
To find the path with the least amount of space.
But A* is a more specialized tool,
With a heuristic function to guide,
It searches more efficiently,
And helps ye reach the other side.
So choose wisely, oh seekers of the path,
And let these algorithms be your guide,
For they will lead ye to your destination,
And help ye avoid the pitfalls on the side.