Dima, better known as @karlicoss online, shares his Python-based setup for the Human Programming Interface, a programmatic offline API to your personal data. All of his data, from all of his services and devices, made available through various adapters and sync interfaces.
His HPI blog post sets up a lot of the background:
We have insane amounts of data scattered across the cloud, yet we’re left at the mercy of those who collect it to provide something useful based on it. Integrations of data across silo boundaries are almost non-existent. There is so much potential and it’s all wasted.
And so, the HPI project is about taking as much data as possible and make it available as Python objects:
…once the data is available as Python objects, I can easily plug it into existing tools, libraries and frameworks. It makes building new tools considerably easier and opens up new ways of interacting with the data.
Imagine if all your life was reflected digitally and available at your fingertips. This library is my attempt to achieve this vision.
This was an incredibly deep talk, with lots of detail. Here are screenshots of a few of the slides:
The prior art mentioned is definitely worth checking out.
- Dogsheep: "a collection of tools for personal analytics using SQLite and Datasette"
- Perkeep: "software for modeling, storing, searching, sharing and synchronizing data in the post-PC era" (and their main tagline, "Perkeep lets you permanently keep your stuff, for life."
- Building a memex
A link to download the slides are available after the video below, and you can play them online here.
Promnesia: use your own data while browsing the web
While not everyone might have @karlicoss' dedication to grabbing all of their data, his Promnesia browser extension project is a great way to get started.
Promnesia roughly means déjà vu, and it links your personal data with your browser, and enhances the experience of browsing the web. It also captures your browsing activity and makes it available.
Here's a demo video of Promnesia working with your Roam Research database while you browse the web.
I (Boris) installed Promnesia and tried it out by just importing my personal website. The instructions are in the Github README under Try Out.
For my test, I ran the one line command
promnesia demo https://bmannconsulting.com. This crawled my website and digital garden bmannconsulting.com. It caches the results, and as you browse with the Promnesia extension, it searches for matches against the current URL.
Here's an example of me visiting gitlab.com/fedstoa/agora. The Promnesia sidebar found three links on my blog (tagged with demo) as well as a visit to the page in Chrome on April 6th.
Yes, I'd love to stream promnesia data in and out of my Fission webnative files :)
- HPI blog post, and definitely browse the rest of @karlicoss's blog beepb00p.xyz
- Follow @karlicoss on Twitter
- HPI on Github
- Join the Memex chat on Zulip
Interested in more technical talks like this? Sign up for Fission Tech Talks — presentations weekly most Thursdays.