Phil 5.5.17

Research 7:00 – 8:00

  • Some interesting books:
    • Facing the Planetary: Entangled Humanism and the Politics of SwarmingConnolly focuses on the gap between those regions creating the most climate change and those suffering most from it. He addresses the creative potential of a “politics of swarming” by which people in different regions and social positions coalesce to reshape dominant priorities.
    • Medialogies: Reading Reality in the Age of Inflationary MediaThe book invites us to reconsider the way reality is constructed, and how truth, sovereignty, agency, and authority are understood from the everyday, philosophical, and political points of view.
    • At the Crossroads: Lessons and Challenges in Computational Social Science With tools borrowed from Statistical Physics and Complexity, this new area of study have already made important contributions, which in turn have fostered the development of novel theoretical foundations in Social Science and Economics, via mathematical approaches, agent-based modelling and numerical simulations. [free download!]
  • Finished Online clustering, fear and uncertainty in Egypt’s transition. Notes are here
  • The compass within Head direction cells have been hypothesized to form representations of an animal’s spatial orientation through internal network interactions. New data from mice show the predicted signatures of these internal dynamics. 
    • I wonder if these neurons are fired when information orientation changes?

8:30 – 3:00 BRC

  • Giving up on graph-tool since I can’t get it installed. Trying plotly next. Nope. Expensive and too html-y. Networkx for the win? Starting the tutorial
    • Well this is really cool: You might notice that nodes and edges are not specified as NetworkX objects. This leaves you free to use meaningful items as nodes and edges. The most common choices are numbers or strings, but a node can be any hashable object (except None), and an edge can be associated with any object x using G.add_edge(n1,n2,object=x).
    • Very nice. And with this, I am *done* for the week:
      import networkx as nx
      import matplotlib.pyplot as plt
      #  Create the graph
      G=nx.Graph(name="test", creator="Phil")
      #  Create the nodes. Can be anything but None
      #  Link edges to nodes
      G.add_edge("foo", "bar")
      G.add_edge("foo", "baz")
      G.add_edge("bar", "baz")
      #  Draw
      #  Set the positions using a layout
      pos=nx.circular_layout(G) # positions for all nodes
      #  Draw the nodes, setting size transparancy and color explicitly
      nx.draw_networkx_nodes(G, pos,
                      nodelist=["foo", "bar"],
      nx.draw_networkx_nodes(G, pos,
      #  Draw edges and labels using defaults
      #  Render to pyplot
      print("G.graph = {0}".format(G.graph))
      print("G.number_of_nodes() = {0}".format(G.number_of_nodes()))
      print("G.number_of_edges() = {0}".format(G.number_of_edges()))
      print("G.adjacency_list() = {0}".format(G.adjacency_list()))
    • firstGraphDrawing
  • Short term goals
    • Show that it works in reasonable ways on our well characterized test data
    • See how much clustering changes from run to run
    • Compare differences between manifold learning techniques
    • Examine how it maps to the individual user data