Category Archives: Writing

Phil 11.7.19

7:00 – 5:00 ASRC GOES

  • Dissertation
  • ML+Sim
    • Save actual and inferred efficiency to excel and plot
    • Create an illustration that shows how the network is trained, validated against the sim, then integrated into the operating system. (maybe show a physical testbed for evaluation?)
    • Demo at the NSOF
      • Went ok. Next steps are a sufficiently realistic model that can interpret an actual malfunction
      • Put together a Google Doc/Sheet that has the common core elements that we can model most satellites (LEO, MEO, GEO, and HEO?). What are the common components between cubesats and the James Webb?
      • Detection of station-keeping failure is a possibility
      • Also, high-dynamic phases, like orbit injection might be low-ish fruit
    • Tomorrow, continue on the GPU assignment in the evolver


7:00 – 5:00 ASRC GOES

  • Dissertation – more maps
  • CTO presentation at 2:00
    • Delayed a bit, but I think it went well. A lot of the things that Eric tried to put in place look to be resurfacing. I wonder if it will work this time?
  • Meeting with Wayne? Yep – got his signature! Need to email Nicole and see where this goes – done
  • Starting to negotiate the new-ish “expensive information” paper with Aaron M

Phil 10.28.19


Capacity, Bandwidth, and Compositionality in Emergent Language Learning

  • Many recent works have discussed the propensity, or lack thereof, for emergent languages to exhibit properties of natural languages. A favorite in the literature is learning compositionality. We note that most of those works have focused on communicative bandwidth as being of primary importance. While important, it is not the only contributing factor. In this paper, we investigate the learning biases that affect the efficacy and compositionality of emergent languages. Our foremost contribution is to explore how capacity of a neural network impacts its ability to learn a compositional language. We additionally introduce a set of evaluation metrics with which we analyze the learned languages. Our hypothesis is that there should be a specific range of model capacity and channel bandwidth that induces compositional structure in the resulting language and consequently encourages systematic generalization. While we empirically see evidence for the bottom of this range, we curiously do not find evidence for the top part of the range and believe that this is an open question for the community.

Radiolab: Tit for Tat

  • In the early 60s, Robert Axelrod was a math major messing around with refrigerator-sized computers. Then a dramatic global crisis made him wonder about the space between a rock and a hard place, and whether being good may be a good strategy. With help from Andrew Zolli and Steve Strogatz, we tackle the prisoner’s dilemma, a classic thought experiment, and learn about a simple strategy to navigate the waters of cooperation and betrayal. Then Axelrod, along with Stanley Weintraub, takes us back to the trenches of World War I, to the winter of 1914, and an unlikely Christmas party along the Western Front.
    • Need to send a note for them to look into Axelrod’s “bully” saddle point

7:00 – ASRC GOES

  • Dissertation – Nearly done with the agent cartography section?
  • CTO Rehearsal – 10:30 – 12:00 done
  • ML Dinner – 4:30 fun! 20191028_173214
  • Meeting With Aaron M
    • More thinking about what to do with the paper. We decided to try for the CHI4EVIL workshop, and then try something like IEEE Spectrum. I think I’d like to reframe it around the concept of Expensive Information and Automation. Try to tie together AI weapons, spam filters, and deepfakes
      • Automation makes negotiation more difficult, locks in trajectories
      • Handing off responsibility to automation amplifies opportunities and destructive potential
      • OODA loop could be generalized if you look at it from the perspective of attention.

Phil 10.22.19

7:00 – 4:00 ASRC

  • Dissertation – starting the maps section
  • Need to finish the financial OODA loop section
  • Spending the day at a Navy-sponsored miniconference on AI, ethics and the military (no wifi at Annapolis, so I’ll put up notes later). This was an odd mix of higher-level execs in suits, retirees, and midshipmen, with a few technical folks sprinkled in. It is clear that for these people, the technology(?) is viewed as AI/ml. The idea that AI is a thing that we don’t do yet does not emerge at this level. Rather, AI is being implemented using machine learning, and in particular deep learning.

Phil 8.14.19

7:00 – 8:00 ASRC GOES

  • pyforest – lazy-import of all popular Python Data Science libraries. Stop writing the same imports over and over again.
    • pyforest lazy-imports all popular Python Data Science libraries so that they are always there when you need them. If you don’t use a library, it won’t be imported. When you are done with your script, you can export the Python code for the import statements.
  • Ping Antonio about TAAS. Important points are round-tripping ABS, and enabling navigation as a way of prediction
  • Transition text from TAAS to Dissertation
  • Mission Drive – nope, couldn’t get in
    • Show Bruce model and control
    • Meeting
    • pip3 install openpyxl, for some reason
    • Pretty pictures!


  • Meeting with Will this evening
    • after a moderate amount of flailing, got his Slack message files into a database

Phil 8.13.19

7:00 – 5:00ASRC GOES

  • TAAS/DIssertation
    • Rolling in changes. At Belief Space Cartography
    • Done! Need to ping Antonio
  • Nice Jersey! Sizing chart
  • More control system work
    • Add data dictionary – done
    • Add main controller – done
    • Put sim under controller – done
    • Add “Attitude Controller” for reaction wheels and sensors
    • Add “Reaction Wheel” controller?
  • Leaving early
  • Wakaito meeting


7:00 – 5:00 ASRC GEOS

  • Another thought about groups thinking like neurons. Alcohol is like dopamine. It encourages connections between individuals, but the communication can become “noisier”
  • Call SSA
  • Dissertation/TAAS
    • Discuss survey
  • GEOS model
    • Finish control/simulation framework
    • Get access to the rotation matrix and calculate transformations for (1, 0, 0), (0, 1, 0), and (0, 0, 1). Use those for pitch roll and yaw measurements
    • Write out these values (excel) and see if we can do a proof-of-concept that shows prediction of the reaction wheels from the PRY measurements
  • Helped Heera with her code
  • Read through and edited TAAS

Phil 8.9.19

7:00 – 5:00 ASRC GEOS

  • Something else for image repair: Deep Image Prior
    • Deep convolutional networks have become a popular tool for image generation and restoration. Generally, their excellent performance is imputed to their ability to learn realistic image priors from a large number of example images. In this paper, we show that, on the contrary, the structure of a generator network is sufficient to capture a great deal of low-level image statistics prior to any learning. In order to do so, we show that a randomly-initialized neural network can be used as a handcrafted prior with excellent results in standard inverse problems such as denoising, super-resolution, and inpainting. Furthermore, the same prior can be used to invert deep neural representations to diagnose them, and to restore images based on flash-no flash input pairs.
  • Dissertation/TAAS
  • GEOS Sim
    • Building RCS controllers!
    • Record data
    • Spark lines
    • Excel outputs
    • Start physics

Phil 8.8.19

7:00 – 4:00 ASRC GEOS

  • TAAS/Dissertation research_design
  • Paperwork for dad’s cert
  • More GEOS-R sim.
    • Fixed the camera rotation order
    • Create some classes to handle all this
      • GEOS-TopController
      • GEOS_Simulator
      • GEOS_R_Model
    • Record data
    • Spark lines
    • Excel outputs
    • Start physics


  • Meeting with Aaron to discuss cyber RFI

Phil 8.7.19

7:00 – 4:00 ASRC GEOS

  • TAAS/Dissertation research_design
  • Swing by Charlestown on the way to Mission Drive today? Done, but no luck. Did get a card though. Done!
  • Order cards – done
  • Read BAA, triage white paper – started
  • Got my STL travel report submitted
  • Got my education assistance reimbursement and pre-approval in
  • Uninstalled Panda3D and then pip installed it again. Now all python versions are aligned, so I have panda3d and numpy
  • More GEOS-R sim. Nope – didn’t check in all my changes last night.
    • Create some classes to handle all this
    • Record data
    • Spark lines
    • Excel outputs
    • Start physics
  • Super interesting discussion with a waitress about JuryRoom that started with Sriracha catsup

Phil 7.16.19

7:00 – 6:30ASRC GEOS

  • Working more on NK Models. I have the original paper – Towards a general theory of adaptive walks on rugged landscapes, and I’ve pulled out my copy of The Origins of Order
    • Determine if I have the evaluation function right
    • Add mutation
    • Draw the networks
    • Draw an N/K/Fitness landscape?
    • As an aside, I think that an NK model can be modified to use backpropagation rather than mutation. That could be interesting.
    • Ok, here’s everything working the way I think it should work, but I’m not sure it’s right….
  • Need to get back to Antonio about authorship and roles. I think that it makes sense if he can get a sense of what – done
  • Discovered the trumptwitterarchive, which is downloadable. Would like to build a network of the retweets and tagging by sentiment, gender and race.
  • Code review with Chris. Unfortunately, it was more like an interrogation than a tour. My sense is that he was expecting us to ask questions and we were expecting a presentation.
    • It went ok, but the audio connection was terrible

Phil 7.10.19

7:00 – 5:00 ASRC

  • BP&S is up! Need to ping Antonio
  • Need to fix DfS to de-emphasize the mapping part. Including things like, uh, changing the title…
  • Pix at HQ – Done
  • Greenbelt today, which means getting Panda3D up and running on my laptop – Done. Had to point the IDE at the python in the install.
  • Need to add some thoughts to JuryRoom concepts
  • Send dungeon invites for the 23rd, and ping Aaron M. Done. Wayne can’t make it! Drat!
  • Dissertation working on the Bacharach section
  • Got the sim working on the laptop. I realize that the reaction wheel can be modeled as weights on a stick. Long discussion with Bruce T

Phil 7.9.19

7:00 – 5:30 ASRC GEOS

  • BP&S is “on hold” in ArXiv. Hoping that it’s overlap with DfS. I took the mapping text out of the DfS paper and resubmitted. Once that’s done I can send Antonio a link and get advice.
  • Code review with Chris
  • Contact David and see if he’s ok with July 23 – Nope. Trying Aaron M. as a replacement
  • More dissertation. Folded in most of the BP&S paper
  • Look! More mapping of latent spaces! Unsupervised word embeddings capture latent knowledge from materials science literature41586_2019_1335_fig4_esm
    • Here we show that materials science knowledge present in the published literature can be efficiently encoded as information-dense word embeddings11,12,13 (vector representations of words) without human labelling or supervision. Without any explicit insertion of chemical knowledge, these embeddings capture complex materials science concepts such as the underlying structure of the periodic table and structure–property relationships in materials. Furthermore, we demonstrate that an unsupervised method can recommend materials for functional applications several years before their discovery. This suggests that latent knowledge regarding future discoveries is to a large extent embedded in past publications. Our findings highlight the possibility of extracting knowledge and relationships from the massive body of scientific literature in a collective manner, and point towards a generalized approach to the mining of scientific literature.
  • More Panda3D
    • Intervals and sequences
    • Panda3D forum
    • Programming with Panda3D
      • Well, this is looking a lot like the way I would have written it
      • You can convert a NodePath into a “regular” pointer at any time by calling nodePath.node(). However, there is no unambiguous way to convert back. That’s important: sometimes you need a NodePath, sometimes you need a node pointer. Because of this, it is recommended that you store NodePaths, not node pointers. When you pass parameters, you should probably pass NodePaths, not node pointers. The callee can always convert the NodePath to a node pointer if it needs to.
      • Nodepath
    • Huh. It looks like there is no support for procedurally generated primitives. Well, I know what I’m going to be doing…
      • Origin – done
      • Grid
      • Cube (x, y, z size), color (texture?), Boolean for endcaps
      • Cylinder (radius+steps, length), color
      • Sphere  (radius+steps), color
      • Skybox (texture)
      • Then try making a satellite from parts
    • JuryRoom Meeting
      • A lot of discussion on UI issues – how to vote for/against, the right panel layout, and the questions that should be asked for Chris’ studyCapture

Phil 7.8.19

7:00 – 4:30 ASRC GEOS

  • Read and commented on Shimei’s proposal. It’s interesting to see how she’s weaving all these smaller threads together into one larger narrative. I find that my natural approach is to start with an encompassing vision and figure out how to break it down into its component parts. Which sure seems like stylistic vs. primordial. Interestingly, this implies that stylistic is more integrative? Transdisciplinary, primordial work, because it has no natural home, is more disruptive. It makes me think of this episode of Shock of the New about Paul Cezanne.
  • Working on getting BP&S into one file for ArXiv, then back to the dissertation.
    • Flailed around with some package mismatches, and had a upper/lowercase (.PNG vs. .png) problem. Submitted!
  • Need to ping Antonio about BP&S potential venues
  • The Redirect Method uses Adwords targeting tools and curated YouTube videos uploaded by people all around the world to confront online radicalization. It focuses on the slice of ISIS’ audience that is most susceptible to its messaging, and redirects them towards curated YouTube videos debunking ISIS recruiting themes. This open methodology was developed from interviews with ISIS defectors, respects users’ privacy and can be deployed to tackle other types of violent recruiting discourses online.
  • Pushed TimeSeriesML to the git repo, so we’re redundently backed up. Did not send data yet
  • Starting on the PyBullet tutorial
    • Trying to install pybullet.
      • Got this error: error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe’ failed with exit status 1158
      • Updating my Visual Studio (suggested here), in the hope that it fixes that. Soooooo Slooooow
      • Link needs rc.exe/rc.dll
      • Copied the most recent rc.exe and rcdll.dll (from into C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\
      • Giving up
  • Trying Panda3d
    • Downloaded and ran the installer. It couldn’t tell that I had Python 3.7.x, but otherwise was fine. Maybe that’s because my Python is on my D: drive?
    • Ran:
      pip install panda3d==1.10.3

      Which worked just fine

    • Had to add the D:\Panda3D-1.10.3-x64\bin and D:\Panda3D-1.10.3-x64\panda3d to the path to get all the imports to work right. This could be because I’m using a global, separately installed Python 3.7.x
    • Hmmm. Getting ModuleNotFoundError: No module named ‘panda3d.core.Point3’; ‘panda3d.core’ is not a package. The IDE can find it though….
    • In a very odd sequence of events, I tried using
      • from pandac.PandaModules import Point3, which worked, but gave me a deprecated warning.
    • Then, while fooling around, I tried the preferred
      • from panda3d.core import Point3, which now works. No idea what fixed it. Here’s the config that I’m using to run: Panda3dConfig
    • Nice performance, too: Pandas3D
    • And it has bullet in it, so maybe it will work here?
    • Starting on the manual