📕 Node [[timeline]]
↳ 📓 Resource @karlicoss/timeline
📄 timeline.md by @karlicoss

Table of Contents

Timeline is a simple attempt to display various life events as list. Sort of a simplistic #memex.

Rationale [[timeline]]

[2018-08-06] It is useful to answer the question ‘what were you doing’ lately. Both to other people and yourself

[2018-08-06] I need better activity log to tell people about stuff. Hypothesis, goodreads, youtube

use it for some sort of spaced repetition for the previous week/month? [[spacedrep]]

  • motivation: helps to reflect what you’ve been doing and thinking
  • implementing: need some automatic jumping onto last week’s entry? or manually is fine

Similar tools/inspiration




beddit? http://myquantifiedbrain.com/

[2019-02-26] matthiasn/meins: a personal and smart journal


[2019-03-12] guy is duing something similar

[2018-12-28] inspiration… http://busterbenson.com/

[2019-04-15] 28 years of events (Phil Gyford’s website) [[inspiration]]


[2018-04-29] Personalapi [[hpi]]

meh, hasn’t updated and even unclear what they implemented

publicity & reaching out to other people

I should post about it somewhere [[publish]]


use old nomie data, group with gmaps and 4sq [[qs]]

CREATED: [2018-01-16]

Alcohol log meet merge with spending log

need consistent naming for all the alcohol providers

add photos

Actually support all kinds of events on the map. Photos are just one particular context

shazam geolocation

shazam for geolocation


[2016-06-10] sleep data [[sleep]]

rescuetime for sleep data


[2018-08-30] some progress with location provider





I guess makes sense to go thought only sorted photos? or unsorted ones could be in a different feed..

zsh histfile?


need to display notes content


bring more structure into diary-like items. org + ability to parse!

feed could be in same file, but use tags to project and filter information?



google location data: extract fitness data, look on github
exclude running dates to avoid confusion?

go through inspirations maybe?

[2020-01-21] ui inspiration: Clemens Scott: "Chronicle is another personal tool I created in an effort to better understand and know myself." https://merveilles.town/@rostiger/103519643370144222

Chronicle is another personal tool I created in an effort to better understand and know myself. It creates a timeline UI from text based data using @neauoire's tablatal format and parser.

huh, very nice encoding (‘encrypting’?) to make data appear private while keeping timeline reasonable

[2021-02-09] https://rostiger.github.io/chronicle

whoa very nice interface (different ‘tracks’ for different contexts)
could have

  • environment context
  • location context
  • ‘acitivity’ context
  • body state context (like sleeping?)

however I’m not sure about HTML, probably infeasible? although by-month + last month would be kinda ok
guess the code isn’t that complicated though

thinking about visualizing location… [[viz]]

[2018-06-24] theopolisme/location-history-visualizer: Visualize your Google Location History using an interactive heatmap [[photomap]]


[2020-07-31] https://github.com/berrnd/locory

[2020-07-31] https://github.com/CartoDB/cartodb

[2020-07-31] https://github.com/OpenGeoscience/geojs

need different layers or something. e.g. display location/music/rescuetime in parallel

add promnesia as source [[promnesia]]

[2019-04-04] need to be careful so I don’t overlap with existing timeline entries

hmm, for location maybe I should use something custom? Even sort of offline is fine, upload coordinates when you are charging or wifi connected?

open source location tracker [[location]]

then I could disable the google one. I’d own the data and be able to receive it continuously

Mark events as public? [[privacy]]

maybe, for that would be useful to have a backend?

[2019-04-03] hm. maybe instead, separate public timeline (which won’t have workouts for instance) and private one?

treat commits with same message and date as same? At least visual indication that they are ‘merged’

[2019-08-22] Pagination strategies with PouchDB [[infra]]


https://merveilles.town/@rostiger/103519643370144222 very nice dynamic timeline for the UI!! [[inspiration]]

[2020-02-10] mholt/timeliner: All your digital life on a single timeline, stored locally


[2019-12-02] Ask HN: What’s is the state of the art of lifelogging? | Hacker News [[lifelogging]]


Where can I find more about the state-of-the-art in lifelogging, self tracking, quantified self, activity detection,

[2020-05-08] Show HN: Interface for all digital aspects of my life | Hacker News [[hpi]]

Kudos - this looks like a great project and is fully usable now.
I have a similar project, DL, that's unfinished. Mine revolves around using a custom API in both Rust and REST to aggregate all my digital life events using ActivityStreams 2.0 and extensions to that, in a manner that is decentralized and ranked/categorized through machine learning. I am still working on it and releasing it Open Source is one of this year's goals.
My motivation is that the amount of information I receive from Twitter,Mastodon,Facebook,Reddit,HN,various Stack exchanges,blog postings,etc. has gotten to the point where it's too easy to miss things.
Jeremie Miller, one of the creators of XMPP, had something similar revolving around the Telehash protocol. As far as I can tell, that effort is discontinued, or at least no longer Open Source.

[2020-05-30] chr15m/ntpl: Python lib to modify & render HTML.

[2018-11-07] jasonrudolph/stratify: Rails + MongoDB app for building a consolidated timeline of your data from disparate sources (e.g., Twitter, GitHub, Foursquare, etc.)


highlight personal notes as some really distinctive colour

topcoder and codeforces stats

[2019-04-04] http get https://api.topcoder.com/v3/members/karlicos/stats/history

[2019-04-04] http get ‘https://codeforces.com/api/user.rating?handle=gerasimovd’

http get ‘https://codeforces.com/api/contest.list’ | ppjson > contests-20190404.json

direct link to the org note (e.g. if I want to edit it)

TODO hmmm, is it even possible to match
I guess anchoring by datetime is gonna work.. although not very reliable


so, use OPSQ <whatever.md> blah CLSQ

could implement in my org provider…

split by sleeps rather than calendar days? [[sleep]]

quite slow on android… maybe worth rendering separate timelines too..

ok, for now splitting by year is probably ok

Kindle notes should def be part of timeline [[hpi]]

I guess just use zim books directory for annotations??
maybe the org provider should support directories.
ok, needs fuzzy matching dates (e.g. Added on Thursday, May 31, 2018 2:04:36 AM)

Try rewriting rules, if two entries match, error

Matcher where date is available, compare directly

button for quick add (capture) a memory from any event (add source reference or something too) [[lifelogging]]

maybe, created org todos?

support notes without time? e.g. if we received date instead of datetime. or map to a certain time? …

hmm, could try mounting takeout zip? and remount when later available (maybe even inotify) https://bitbucket.org/agalanin/fuse-zip

jakubroztocil/geotagger: Geotag your photos from GPS-less cameras with your phone’s location history data [[photomap]]

send error email about missing providers and that sort of major errors. maybe occasionally??

Mark cinema with tag and cinema visits specifically


  • State "START" from "TODO" [2019-04-17]

https://developer.feedly.com/v3/subscriptions/ – that could def be useful
https://developer.feedly.com/v3/markers/#mark-one-or-multiple-articles-as-saved that too

[2019-04-04] unclear from the API if it’s possible to extract when something was read

most important things are: geo location, coding commits/activity, meals eaten, exercise

asign ‘importance’ (to tags, but maybe compute it based on keywords etc), then make text bold depending on importance?

‘Saved’ from google Takeout [[takeout]] [[hpi]]

Track reddit subscriptions. Wonder if they are somewhere historically in api?? [[reddit]] [[hpi]]

programming contests, e.g. codeforces and topcoder

tracking ‘watch later’ is quite useful… [[takeout]] [[hpi]]

memrise from backup [[hpi]]

web cam in front of monitor so I could see when I’m paying attention to the monitor? [[lifelogging]]

old takeouts got some keep history [[takeout]] [[hpi]]

run against github backup, so commits provider doesn’t get confused by missing ones?

actually MyActivity got A LOT of data [[takeout]] [[hpi]]

Split by quarters? Or find Android optimization tips

multiple dream tags??

[2019-03-28] Timeliner is a personal data aggregation utility. It collects all your digital things from pretty much anywhere and stores them on your own computer, indexes them, and projects them onto a single, unified timeline. /r/selfhosted [[inspiration]]

need plot for items for each provider so it’s easy to track broken shit

google assistant interactions from takeout [[takeout]] [[hpi]]

hmm. if I don’t keep the entry before change, I don’t get a reliable timestamp… [[hpi]] [[reddit]]

trying to speed up static html

[2019-07-06] so layout step takes about 6 seconds on my desktop

disabling CSS didn’t change anything
err, trying to remove tags made it twice as slow… wtf??

[2019-04-19] How I Tracked a Year in Time and What It Meant - Minding the Borderlands [[qs]] [[inspiration]]


[2019-08-18] PouchDB, the JavaScript Database that Syncs! [[infra]]


The Database that Syncs!
PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser.
PouchDB was created to help web developers build applications that work as well offline as they do online.
It enables applications to store data locally while offline, then synchronize it with CouchDB and compatible servers when the application is back online, keeping the user's data in sync no matter where they next login.

[2019-08-18] hmm. could use for timeline? If it keeps items in database, then I can just rely on it and implement pagination?

hmm maybe I want feedly logs in timeline and promnesia? [[hpi]]

make entry background dependent on time of day?

Better search, def need proper indexing… [[memex]]

[2019-08-18] API Reference [[infra]]


Notes: For pagination, options.limit and options.skip are also available, but the same performance concerns as in CouchDB apply. Use the startkey/endkey pattern instead.

bundle pouchdb with static timeline

[2019-04-15] Describing events in code (Phil Gyford’s website)


[2019-08-09] about the model he uses for events, nothing too enlightening..

[2019-09-06] hood.ie intro [[infra]]


Welcome to Hoodie!
Hoodie enables you to express yourself through technology by making web application development very fast, easy and accessible.

[2019-09-06] hood.ie intro


Hoodie is a noBackend technology — it's there for making the lives of frontend developers easier by abstracting away the backend and keeping you from worrying about backends. It gives you Dreamcode: a simple, easy-to-learn-and-implement frontend API built into it. Hoodie is also Offline First, which means that your app users’ data is stored locally by default so your Hoodie-based apps are accessible and usable anytime, independent from your users’ internet connection.

“What’s fun about programming? It’s problem solving, keeping in your head what’s actually going on in the machine, and being very, very accurate, because the machine does exactly what you tell it to do, even if it’s not what you meant.”
— Mary Lee Berners-Lee

Gordon Bell and The Epic Quest to Digitalize Everything - Mark Koester [[qs]]


Some highlights for the other attempt to build something similar to timeline

[2019-08-18] quangv/awesome-couchdb: CouchDB - curated meta resources & best practices list


ui: https://merveilles.town/@rostiger/103534349279790297

[2020-01-05] ejplatform/hyperpython: A small DSL to write HTML in Python. [[python]] [[html]]


Hyperpython is a Python interpretation of Hyperscript. If you are not familiar with Hyperscript, think of it as a pure Javascript alternative to JSX.

[2019-08-28] pouchdb-browser - npm


[2019-12-26] awesome-selfhosted/awesome-selfhosted: A list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of hosting and managing applications instead of renting from Software-as-a-Service providers [[spreadsheet]]


Office Suites

could use spreadsheets for that?

[2019-12-04] ben VOTE goldacre on Twitter: "Oh wow long term follow up cohorts with contemporaneous data to identify recall bias are a beautiful thing https://t.co/3QN5JXqaeA" / Twitter

<https://twitter.com/bengoldacre/status/1202328740623241218 >

Oh wow long term follow up cohorts with contemporaneous data to identify recall bias are a beautiful thing

ipython history? it’s got session times [[hpi]]

[2019-01-17] Effective Use of Arbtt [[arbtt]]

figure out if you need to refine rules?

make sure it handles comments (post about music theory for nerds) [[hypothesis]]

seemingly broken org-mode rendering..

e.g. see Наверное все относительно нормально, значит

kobo: really need to collapse stuff…

could also be more hierarchical? e.g. github -> promnesia -> ….

error could be a special entry type? [[errors]]

Also projected timeline

Planned meals, holidays etc

fb archive [[hpi]]

merge typing logs into timeline? [[hpi]]

all my vk comments? [[hpi]]

integrate rescuetime into timeline. maybe getactivityintervals or something? [[hpi]]

extract old sleep from jawbone (I must have files to parse it somewhere)

  • State "START" from "TODO" [2019-04-04]

old github events (looks like backup in /backups/github-feed doesn’t have unexpanded events…) [[hpi]]

highlight my own tweets as opposed to rts

track followed/unfollowed users. maybe in some form of weekly summary? actually could bind all unidentified events [[hpi]] [[twitter]]

future stuff – render collapsed? or in the bottom.. for now will just error

hmm commits are gone somewhere… [[hpi]]

make sure it’s deterministic apart from date (could verify that via diffing)

[2018-11-27] GH Archive


some sort of conservative changes checker for quick rerendering?

Steam gaming history?? [[hpi]]

[2019-04-08] shit, doesn’t look that it’s accessible from api

[2021-01-14] doesn’t look like there is any convenient GDPR either

fix locations… they were gone for some reason, wonder if because of changes to groupbycmp in kython

hypothesis provider (and other annotation): collect changes over all backups? [[dal]] [[hpi]]

e.g. you highlighted something, on second reading annotated it; on the next reading annotated more

[2019-07-06] HTML Table Vs Pure CSS DIV: Which Loads Faster? - Web Development | Dream.In.Code [[html]] [[performance]]


However, you also need to take into account that tables can't begin rendering without being completely received, because the table width may change depending on what content is put in it. Additionally, you can't render the next row until the previous one is rendered (otherwise you will either go too large or too small - both cases will cause the page to look off).

use local bitbucket repos [[hpi]]


eh, it’s quite primitive. could borrow some design ideas

could extract location from twitter geo? not sure.. [[twitter]] [[location]] [[hpi]]

[2019-05-19] timeline.html

make repo name semibold? also link (could get from commits provider)

[2019-05-19] timeline.html [[reddit]] [[hpi]]

todo shit this looks just plain wrong. I didn’t do stuff on my phone at 1AM. right?

[2019-05-24] mm. some reddit stuff..

sanity checks

these look bad

[WARNING timeline-checker 190423 20:45:48 sanity:137] eids-20190412.json vs eids-20190413.json: added    62, removed   113, shared 62419
[ERROR timeline-checker 190423 20:45:48 sanity:141] Added   stats: {'commit': 13, 'emfit': 1, 'foursquare': 1, 'github': 12, 'hypothesis': 3, 'kobo': 27, 'workout': 5}
[ERROR timeline-checker 190423 20:45:48 sanity:142] Removed stats: {'kobo': 27, 'location': 86}

[2020-03-07] Josh: "Lined it up with my time-tracking data. Here’s my…" - Merveilles [[inspiration]]


[2020-05-03] wtf?? are these because of 1000 saved items limits? [[reddit]] [[hpi]] [[exports]]

22:31: unfavorited Calisthenics Exercise Library: Movement Breakdowns, Common Form Faults, and Variations with GIFs and Pictures! reddit
22:31: favorited "Org-mode database" and linking / searching text reddit
05:51: unfavorited Are we expecting to have a symmetry breaking of the electromagnetic force in the future? reddit
05:51: unfavorited What exactly is explicit symmetry breaking? And what are some examples? reddit
05:51: favorited My thoughts on text editors, and why I think that Emacs is best of them all reddit
05:51: favorited Weekly tips/trick/etc/ thread reddit
Thu 2020-04-30
22:21: unfavorited Bring your child to work day. reddit
22:21: unfavorited A train managing expectations reddit
22:21: unfavorited The Reverse Plank is one of the most underestimated bodyweight strength exercises: everything you need to know about the RP, including its great benefits reddit
22:21: unfavorited Are we expecting to have a symmetry breaking of the electromagnetic force in the future? reddit
22:21: unfavorited Keto Ramen: Shirataki noodles, Japanese meatballs, softboiled eggs, and homemade bone broth reddit
22:21: unfavorited Selfhosted music player/Spotify reddit
22:21: favorited ANN: org-special-block-extras is now on MELPA reddit

[2020-06-30] mholt/timeliner: All your digital life on a single timeline, stored locally

Some tool to check extracted entries to make sure they their count increases

using ids; will compare them occasionally? ensure they are increasing as sets…
ok, the comparison tool is probably gonna be generic?

huh, I’m a bit stupid. just mirror original dir structure and serve static resized files???

[2020-05-25] [(1) Azlen Elza on Twitter: "Conversations are recorded and visualized based off who hears who, by selecting one person’s track of messages you can see highlighted who they were within hearing range with at the time Visualizing three properties: time, message length, and proximity https://t.co/uruYyg9ip8&quot; / Twitter](https://twitter.com/azlenelza/status/1264956508774649859 )

Visualizing three properties: time, message length, and proximity

[2019-01-14] Robin Weis [[qs]] [[dashboard]] [[inspiration]]


[2019-04-06] nice visualitions as colored strips. also some cool dating visualisations

could expose public timeline just without timestamps? [[lifelogging]]

each measurement/data provider is a coordinate [[memex]] [[think]] [[qs]]

for example

  • geo (2 dimensions)
  • temperature
  • hr
  • etc
  • time

Overview a 2D projection, select some subset, then view again from other projections
could do for a cool interface

use searchhistory table from Firefox? [[hpi]] [[promnesia]]

photo gallery, when I list pictures it also jumps in the location dashboard. ideally, I could do it in the file manager… not sure how though

Heatmap view for events [[memex]]

Although it’s kinda calendar?

shit. every time I rebase interactively, commit date changes??

commits amend date also should contribute? [[hpi]]

old contests data?

  • rosalind

[2020-11-04] sorrycc/awesome-javascript: 🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.

could feed my tweets into memacs, then display agenda one year ago? [[memex]]

file timestamps?

e.g. various pdfs.. not sure if the dates would be dates they were saved, or original metadata?
plus, exclude periods when there are too many dates saved – would probably mean they were overwritten by dropbox sync or something

run specific day with fzf [[memex]]

related [[hpi]] [[travel]] [[qs]] [[memex]] [[dashboard]]

local cache of dead urls, e.g. for timeline? might be an overkill though

Could import my 4sq stuff into maps.me? [[timeline]] [[osm]] [[photomap]]


eh, maps.me doesn’t seem to have api for bookmarks…

actually yeah, maybe host google map with my custom layer? [[selfhosted]]

maybe just borrow my static map and host it. could work pretty well.

hmmmm https://support.maps.me/hc/en-us/articles/207895029-How-to-import-bookmarks- – can generate kmb file and copy it! try that!

ok, kmb files are weird, but I could have a regular task to open maps.me app, remove old list of favs and create new one? also have a date in list so it would be easy to tell which one to remove

eh, screw automatic extraction, too complicated. have a special file and let it be in a spceicfic format.

[2019-11-13] martijnvermaat/calmap: Calendar heatmaps from Pandas time series data


Kickball/awesome-selfhosted: This is a list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers. [[timeline]]


created [2018-10-03]

need permalink support

ok, lychee – meh, too simplistic

php though

piwigo – recommended by few people… could actually be ok I suppose, has custom themes support

chewereto – a bit overloaded…

photato – ok nice got some access control and also indexes a specific folder directly

sigal – mm, pretty simplistic, could be good.

[2018-10-18] PhotoPrism: New self-hosted free software photo manager /r/selfhosted

That is why I am sticking to Piwigo.

parse regular headlines with dates? maybe just a single string is enough [[org]] [[lifelogging]]

[2019-02-21] Buster Benson [[qs]] [[timeline]]

pretty cool stuff too..

[2019-04-06] nice matrix that highlights life events, life beliefs etc

[2021-02-06] https://web.archive.org/web/20190209174652/http://busterbenson.com/

[2019-12-22] Whereisfelix [[lifelogging]] [[qs]]


[2020-12-07] Ben Cox (@Benjojo12): &quot;So I grabbed all of the chat logs,tweets and GDPR dumps I could get my hands on and compiled this graph on when I am generally &quot;active&quot; showing an impressive commitment to going to bed at midnight through the last 10 years… The shift in 2018 was me in NYC for @recursecenter :)&quot; | nitter

So I grabbed all of the chat logs,tweets and GDPR dumps I could get my hands on and compiled this graph on when I am generally "active" showing an impressive commitment to going to bed at midnight through the last 10 years...

nice initial goal: make it super easy to jump to arbitrary point in time [[timeline]]

  • accept fuzzy input
  • have it always open on some desktop so it’s easy to jump, ideally activate by hotkey

Loading pushes...

Rendering context...