Monthly Archives: October 2015

Phil 9.10.15

8:00 – 4:00 SR

  • Lost my accounts on all the servers. Asked Ronda to look into it.
  • And since I can’t get on the server, asked Ronda to fix the setupModel.xml files to fix login issues.
  • Sent Dong a note to see what’s going on. He’ll take a look this weekend.
  • Some of my demos that use the WebGl3dCharts module were broken. The reason is that I was looking for items in the optional data objects and throwing a null. Two lessons:
    • FF console does not log this error
    • Just because you have static type checking in TypeScript doesn’t mean that you shouldn’t use hasOwnProperty() to check if an item is present. Here’s the fix:
      var forceVisible:boolean = false;
      if(itemData.hasOwnProperty('data') &&'type')) {
          forceVisible = this.getForceVisible(;

      So now it’s much more robust.

    • Adding ability to modify text. Done. Changing the title also ripples through the display. I also don’t (re)calculate page rank if the weight hasn’t changed.  Also added

      for WebGlCanvas.

  • Found these guys (, who do keyboard biometrics. Trying to contact them.

Phil 10.8.15

8:00 – 4:00 SR

  • Noticed yesterday that the time it takes for the map to center is just too long. When I tried increasing the speed I got a lot of jitter because I was testing for proximity to goal. I wound up changing so that the goal is reached when the distance to the goal is increasing.
  • Add editing of Rating and linkSelected
  • Make sure that items with only one link that are not ‘force visible’ are not shown in lists
  • Bold selected items in lists
  • Change the query list to be the ‘visible’ list
  • Trim the length of the list items so the containing box sizes don’t go crazy.
  • Look for floating panel CSS?

Phil 10.7.15

8:00 – 6:00 SR

  • Gina’s still having problems logging on
  • Write up the DB and programming test for Lenny, since the next interview(?) won’t have me along
  • Banged away at PageRank and finally have it working. The matricies were evaporating, so I wound up layering inbound and outbound links over an identity matrix. That worked great. I need to think about why though.
  • Meeting with Dr. Pan and Dr. Lutters at 4:00(?). Went well.
    • One thing that came up in the discussion was how to feed in enough information to make the analytics work. Dr. Pan suggested using Politifact, since it’s well formatted ground truth that references a source. In essence, I could build a small java program that could iterate over all the PF reports and build a network for each of the Entities (or concepts) referenced. Once nice side effect is that this could be a ‘seed set’ of vetted data that could be used to inform other searches.
    • The other item discussed is whether this is what kind of view this is. Dr. Lutters suggested that this might be the analyst’s (development) view, while a consumer’s view would be more like a traditional  news feed, like

Phil 10.6.15

8:00 – 5:00 SR

  • The FA and RA apps are not working right with 2016 data. Pinged Dong.He says he can take a look tonight.
  • After installing Win10, I had a heart stopping moment where Apache wasn’t starting, with an error message of “Problem detected! Port 80 in use by “Unable to open process” with PID 4!” Stack Overflow suggested that this was the “World Wide Web Publishing Service” and you have to stop it. Here’s a screenshot: Services
  • Other than that, Win10 seems just fine. I love the menu bar for each monitor.
  • Figuring out how to add the network to the Ranking code…
    • Will need to sort the array based on the ranking. Doesn’t look like a problem.
    • Added weight to ITarget
    • Reworked Rating.ts so that everything is initialized to a square matrix of zeros. You now have to create the Rankings.PageRank class (appropriately sized), then populate it, then calculate and get results.
    • Construction of the matrix from the network is nearly done. Finish tomorrow.

Phil 10.5.15

  1. 8:00 – 4:00 SR
  • Change the divisor in the PageRank class to be a scalar.
  • Change the ‘History’ list to show the ranked items. Either all, or individually. (tab view)?
  • Add sliders to the rating view in the feed. Will also need a save with associated PHP code
  • Add update rating PHP
  • Add update linkSelected PHP
  • Show the changes in the list of items as the sliders are adjusted.
  • add an ‘annotation’ field to the rating? Better tracking?

Phil 10.2.15

8:00 – 5:00 SR

  • So far today, the roof is leaking, I’ve lost my badge, and the espresso machine is fried. Perfect Friday.
  • Still wondering where to calculate pagerank. Here’s the algorithm in JavaScript:
  • Looks like there isn’t a TypeScript version. I think I’ll start with the client version. That should allow for more interactivity. Maybe just calculate for all users on the server?
  • Implemented a PageRank algorithm from first principals. First, the versions that are out there are buggy. Second, because they use variable length arrays of links, you can’t put weights. The downside is that there is a performance hit, but on small networks that shouldn’t(?) be a problem.
  • One easy performance mod is to change the normalization process to first calculate the fraction, then create a multiplier of  1/that, so we’re multiplying rather than dividing.

Phil 10.1.15

8:00 – 4:30 SR

  • And Dreamhost is back up. Looks stable too.
  • Had a good discussion with Dr. Pan about next steps.
    • A simple page rank based on support/dispute value is a reasonable place to start
    • See how sensitive the Eigenvector is to:
      • Number of rated nodes
      • Support/dispute values
  • The query history is listing multiples where they are linked to a Wampeter.
    • The data object is coming back with redundant entries (my_query_guid_5). It’s not there in the DB, so tn_view_network_items is wrong. Fixed – I had to add ‘distinct’ to the select that makes the view. I thought it would be possible to nest selects, but something about views made that trickier.
  • Wire up type visibility checkboxes – Done. Had to spend a good deal of time pondering how to deal with the on-the-fly recalculation based on how many links an item has and what it’s default visibility is. Still need to hide objects if they are unselected and should not be visible. TODO.
  • Make Reset Positions set the origin to zero. Done.
  • Deployed the new version.