- artsearch

https://artsandculture.google.com/search?q=august+macke
https://dezoomify.ophir.dev/#https://artsandculture.google.com/asset/sitting-nude-with-pillow-august-macke/fAE1aabGehCMSw

"August Macke Colourfull shapes 2"
Large size Google similar image search
Wikimedia commons

Carel Adolph Lion Cachet

- mpv_jsonipc driven option for wt (loadfile, ) when '>' is pressed

- speed up queries:

1. do joins in python (this is kinda sketchy for the DBA in me but I think it will ultimately be good. SQLite only uses one index per query so I will have more ability to control which indexes get used per subquery.)
2. use postgres? but I kinda hate the portability aspect--but maybe it isn't so bad

- globalnamespace py package to scan function names and search in github, print frequency of use in project, world, and namealikes, search function name, diff function body

- scan bpm and key sig

    https://github.com/aubio/aubio
    https://github.com/tyiannak/pyAudioAnalysis

 - cluster images

    https://github.com/zhjohnchan/awesome-image-captioning#popular-implementations
    https://github.com/rhsimplex/image-match/blob/master/image_match/goldberg.py
    https://github.com/HughKu/Im2txt
    https://github.com/immich-app/immich/tree/main/machine-learning/app

- automatic photo essay generator using cluster-sort

    perhaps find images with similar dominant colors but different feature clusters
    or different generated caption

- todo recursive todo management, fortune cookie style

    https://github.com/VladimirMarkelov/ttdl

- CLI recursive financial planner (nano budget)

- CLI incremental book reading

- CLI reverse flight search

- CLI city abacus

- CLI UNLI Neighborhoods

- POIs CLI -- save your trip plans and see places to go with automated day trip itineraries, geopandas buffer

places lookup
places plan
places add

    whc-sites-2021.xls
    /home/xk/d/22_Vector/pleiades_gis_data

# compare speed with sjoin
def intersect_using_spatial_index(source_gdf, intersecting_gdf):
    source_sindex = source_gdf.sindex
    possible_matches_index = []

    for other in intersecting_gdf.itertuples():
        bounds = other.geometry.bounds
        c = list(source_sindex.intersection(bounds))
        possible_matches_index += c

    unique_candidate_matches = list(set(possible_matches_index))
    possible_matches = source_gdf.iloc[unique_candidate_matches]

    result = possible_matches.loc[possible_matches.intersects(intersecting_gdf.unary_union)]
    return result

- join files

    join lots of small json files:
    # df = pd.concat(pd.read_json(file, orient="index") for f in files, ...)
