Phil 5.18.21

Flynn successfully defended yesterday!

I am fascinated by this Flyby chart from Strava from the Giro yesterday:

It shows Thomas De Gendt’s ride, who stayed with the main peloton (The black line), and how others diverged from that. You can see the breakaway (green line at the top), “nature breaks” (the small, sharp drops that then rise back), the attack by Bora–Hansgrohe on the final climb, the people getting dropped (then forming the autobus), and the high-speed run-in at the end of the race. It’s the whole race in a single chart.

GPT Agents

  • At nearly 5 million reviews, so we’re a bit over halfway through. Should be finished by Friday
  • More work on the interactive map app.
  • Here’s how you get the context for the click and avoid the click-counting hack
def save_selected(self, n_clicks, nodes_index_list):
ctx = dash.callback_context
prop_id = ctx.triggered[0]['prop_id']
if nodes_index_list == None:
nodes_index_list = []

if 'save-selected-btn' in prop_id:
for i in nodes_index_list:
d = self.checkbox_list[int(i)]
# return the updated seed text, and clear out the checkboxes
return ", ".join(self.seed_list), []

return ", ".join(self.seed_list), nodes_index_list
  • Need to group similar and update the list
    • Look through the existing nodes for matches. As they are found, delete from list
    • Look through the remaining and create temp nodes. For each temp node, iterate over the rest of the list as above. Produce a global dictionary of name-node pairs
    • Produce the checklist from the names of the nodes in the dict
    • Add checked nodes to the graph and clear the dictionary
  • 3:00 Meeting
    • Looking for other social-media-like data with ground truth, and found some interesting soccer and imdb data
    • Build my first good conspiracy map using the interactive map and showed it off


  • Standup
  • Post-standup meeting with Rukan
  • More work on the proposal and abstracts