Phil 5.17.18

7:00 – 4:00 ASRC MKT

  • How artificial intelligence is changing science – This page contains pointers to a bunch of interesting projects:
  • Multi-view Discriminative Learning via Joint Non-negative Matrix Factorization
    • Multi-view learning attempts to generate a classifier with a better performance by exploiting relationship among multiple views. Existing approaches often focus on learning the consistency and/or complementarity among different views. However, not all consistent or complementary information is useful for learning, instead, only class-specific discriminative information is essential. In this paper, we propose a new robust multi-view learning algorithm, called DICS, by exploring the Discriminative and non-discriminative Information existing in Common and view-Specific parts among different views via joint non-negative matrix factorization. The basic idea is to learn a latent common subspace and view-specific subspaces, and more importantly, discriminative and non-discriminative information from all subspaces are further extracted to support a better classification. Empirical extensive experiments on seven real-world data sets have demonstrated the effectiveness of DICS, and show its superiority over many state-of-the-art algorithms.
  • Add Nomadic, Flocking, and Stampede to terms. And a bunch more
  • Slides
  • Embedding navigation
    • Extend SmartShape to SourceShape. It should be a stripped down version of FlockingShape
    • Extend BaseCA to SourceCA, again, it should be a stripped down version of FlockingBeliefCA
    • Add a sourceShapeList for FlockingAgentManager that then passes that to the FlockingShapes
  • And it’s working! Well, drawing. Next is the interactions: Influence
  • Finally went and joined the IEEE

Phil 5.16.18

7:00 – 3:30 ASRC MKT

  • My home box has become very slow. 41 seconds to do a full recompile of GPM, while it takes 3 sec on a nearly identical machine at work. This may help?
  • Working on terms
  • Working on slides
  • Attending talk on Big Data, Security and Privacy – 11 am to 12 pm at ITE 459
    • Bhavani Thiraisingham
    • Big data management and analytics emphasizing GANs  and deep learning<- the new hotness
      • How do you detect attacks?
      • UMBC has real time analytics in cyber? IOCRC
    • Example systems
      • Cloud centric assured information sharing
    • Research challenges:
      • dynamically adapting and evolving policies to maintain privacy under a changing environment
      • Deep learning to detect attacks tat were previously not detectable
      • GANs or attacker and defender?
      • Scaleabe is a big problem, e.g. policies within Hadoop operatinos
      • How much information is being lost by not sharing data?
      • Fine grained access control with Hive RDF?
      • Distributed Search over Encrypted Big Data
    • Data Security & Privacy
      • Honypatching – Kevin xxx on software deception
      • Novel Class detection – novel class embodied in novel malware. There are malware repositories?
    • Lifecycle for IoT
    • Trustworthy analytics
      • Intel SGX
      • Adversarial SVM
      • This resembles hyperparameter tuning. What is the gradient that’s being descended?
      • Binary retrofitting. Some kind of binary man-in-the-middle?
      • Two body problem cybersecurity
    • Question –
      • discuss how a system might recognize an individual from session to session while being unable to identify the individual
      • What about multiple combinatorial attacks
      • What about generating credible false information to attackers, that also has steganographic components for identifying the attacker?
  • I had managed to not commit the embedding xml and the programs that made them, so first I had to install gensim and lxml at home. After that it’s pretty straightforward to recompute with what I currently have.
  • Moving ARFF and XLSX output to the menu choices. – done
  • Get started on rendering
    • Got the data read in and rendering, but it’s very brute force:
      if(getCurrentEmbeddings().loadSuccess){
          double posScalar = ResizableCanvas.DEFAULT_SCALAR/2.0;
          List<WordEmbedding> weList = currentEmbeddings.getEmbeddings();
          for (WordEmbedding we : weList){
              double size = 10.0 * we.getCount();
              SmartShape ss = new SmartShape(we.getEntry(), Color.WHITE, Color.BLACK);
              ss.setPos(we.getCoordinate(0)*posScalar, we.getCoordinate(1)*posScalar);
              ss.setSize(size, size);
              ss.setAngle(0);
              ss.setType(SmartShape.SHAPE_TYPE.OVAL);
              canvas.addShape(ss);
          }
      }

      It took a while to remember how shapes and agents work together. Next steps:

      • Extend SmartShape to SourceShape. It should be a stripped down version of FlockingShape
      • Extend BaseCA to SourceCA, again, it should be a stripped down version of FlockingBeliefCA
      • Add a sourceShapeList for FlockingAgentManager that then passes that to the FlockingShapes

Phil 5.15.18

7:00 – 4:00 ASRC MKT

Phil 5.8.18

7:00 – 5:00 ASRC MKT

5:00 – 8:00 ASRC Tech Conference

Phil 5.7.18

7:00 – 5:00 ASRC MKT

  • Content Sharing within the Alternative Media Echo-System: The Case of the White Helmets
    • Kate Starbird
    • In June 2017 our lab began a research project looking at online conversations about the Syria Civil Defence (aka the “White Helmets”). Over the last 8–9 months, we have spent hundreds of hours conducting analysis on the tweets, accounts, articles, and websites involved in that discourse. Our first peer-reviewed paper was recently accepted to an upcoming conference (ICWSM-18). That paper focuses on a small piece of the structure and dynamics of this conversation, specifically looking at content sharing across websites. Here, I describe that research and highlight a few of the findings.
  • Matt Salganik on Open Review
  • Spent a lot of time getting each work to draw differently in the scatterplot. That took some digging into the gensim API to get vectors from the corpora. I then tried to plot the list of arrays, but matplotlib only likes ndarrays (apparently?). I’m now working on placing the words from each text into their own ndarray.
  • Also added a filter for short stop words and switched to a hash map for words to avoid redundant points in the plot.
  • Fika
    • Bryce Peake
    • ICA has a computational methods study area. How media lows through different spaces, etc. Python and [R]
    • Anne Balsamo – designing culture
    • what about language as an anti-colonial interaction
    • Human social scraping of data. There can be emergent themes that become important.
    • The ability of the user to delete all primary, secondary and tertiary data.
    • The third eye project (chyron crawls)

Phil 5.4.18

7:00 – 4:30 ASRC MKT

  • Listening to the Invisibilia episode on the stories we tell ourselves. (I, I, I. Him)
  • Listening to BBC Business Daily, on Economists in the doghouse. One of the people being interviewed is Mariana Mazzucato, who wrote The Entrepreneurial State: debunking public vs. private sector myths. She paraphrases Plato: “stories rule the world”. Oddly, this does not show up when you search through Plato’s work. It may be part of the Parable of the Cave, where the stories that the prisoners tell each other build a representation of the world?
  • Moby Dick, page 633 – a runaway condition:
    • They were one man, not thirty. For as the one ship that held them all; though it was put together of all contrasting things-oak, and maple, and pine wood; iron, and pitch, and hemp-yet all these ran into each other in the one concrete hull, which shot on its way, both balanced and directed by the long central keel; even so, all the individualities of the crew, this man’s valor, that man’s fear; guilt and guiltiness, all varieties were welded into oneness, and were all directed to that fatal goal which Ahab their one lord and keel did point to.
  • John Goodall, one of Wayne’s former students is deep into intrusion detection and visualization
  • Added comments to Aaron’s Reddit notes / CHI paper
  • Chris McCormick has a bunch of nice tutorials on his blog, including this one on Word2Vec:
    • This tutorial covers the skip gram neural network architecture for Word2Vec. My intention with this tutorial was to skip over the usual introductory and abstract insights about Word2Vec, and get into more of the details. Specifically here I’m diving into the skip gram neural network model.
    • He also did this:
    • wiki-sim-search: Similarity search on Wikipedia using gensim in Python.The goals of this project are the following two features:
      1. Create LSI vector representations of all the articles in English Wikipedia using a modified version of the make_wikicorpus.py script in gensim.
      2. Perform concept searches and other fun text analysis on Wikipedia, also using gensim functionality.
  • Slicing out columns in numpy:
    import numpy as np
    dimension = 3
    size = 10
    dataset = np.ndarray(shape=(size, dimension))
    for x in range(size):
        for y in range(dimension):
            val = (y+1) * 10 + x +1
            dataset[x,y] = val
    
    print(dataset)
    print(dataset[...,0])
    print(dataset[...,1])
    print(dataset[...,2])

    Results in:

    [[11. 21. 31.]
    [12. 22. 32.]
    [13. 23. 33.]
    [14. 24. 34.]
    [15. 25. 35.]
    [16. 26. 36.]
    [17. 27. 37.]
    [18. 28. 38.]
    [19. 29. 39.]
    [20. 30. 40.]]
    [11. 12. 13. 14. 15. 16. 17. 18. 19. 20.]
    [21. 22. 23. 24. 25. 26. 27. 28. 29. 30.]
    [31. 32. 33. 34. 35. 36. 37. 38. 39. 40.]
  • And that makes everything work. Here’s a screenshot of a 3D embedding space for the entire(?) Jack London corpora: 3D_corpora
  • A few things come to mind
    • I’ll need to get the agents to stay in the space that the points are in. I think each point is an “attractor” with a radius (an agent without a heading). IN the presence of an attractor an agent’s speed is reduced by x%. It there are a lot of attractors (n), then the speed is reduced by xn%. Which should make for slower agents in areas of high density. Agents in the presence of attractors also expand their influence horizon, becoming more “attractive”
    • I should be able to draw the area covered by each book in the corpora by looking for the W2V coordinates and plotting them as I read through the (parsed) book. Each book gets a color.

Phil 4.30.18

7:00 – 4:30 ASRC MKT

  • Some new papers from ICLR 2018
  • Need to write up a quick post for communicating between Angular and a (PHP) server, with an optional IntelliJ configuration section
  • JuryRoom this morning and then GANs + Agents this afternoon?
  • Next steps for JuryRoom
    • Start up the AngularPro course
    • Set up PHP access to DB, returning JSON objects
  • Starting Agent/GAN project
    • Need to set up an ACM paper to start dumping things into – done.
    • Looking for a good source for Jack London. Gutenberg looks nice, but there is a no-scraping rule, so I guess, we’ll do this by hand…
    • We will need to check for redundant short stories
    • We will need to strip the front and back matter that pertains to project Gutenburg
      • *** START OF THIS PROJECT GUTENBERG EBOOK BROWN WOLF AND OTHER JACK ***
      • *** END OF THIS PROJECT GUTENBERG EBOOK BROWN WOLF AND OTHER JACK ***
  • Fika: Accessibility at the Intersection of Users and Data
    • Nice talk and followup discussion with Dr. Hernisa Kacorri, who’s combining machine learning and HCC
      • My research goal is to build technologies that address real-world problems by integrating data-driven methods and human-computer interaction. I am interested in investigating human needs and challenges that may benefit from advancements in artificial intelligence. My focus is both in building new models to address these challenges and in designing evaluation methodologies that assess their impact. Typically my research involves application of machine learning and analytics research to benefit people with disabilities, especially assistive technologies that model human communication and behavior such as sign language avatars and independent mobility for the blind.

Phil 4.27.18

7:00 – 4:00 ASRC MKT

  • Call Charlestown about getting last two years of payments – done. Left a message
  • Get parking from StubHub
  • I saw James Burnham’s interview on the Daly Show last night. Roughly, I think that his thoughts on how humans haven’t changed, but our norms and practices is true. Based on listening to him talk, I think he’s more focussed on the symptoms than the cause. The question that he doesn’t seem to be asking is “why did civilization emerge when it did?”, and “why does it seem to be breaking now?”
    Personally, I think it’s tied up with communication technology. Slow communication systems like writing, mail, and the printing press lead to civilization. Rapid, frictionless forms of communication from radio to social media disrupt this process by changing how we define, perceive and trust our neighbors. The nice thing is that if technology is the critical element, then technology can be adjusted. Not that it’s easier, but it’s probably easier than changing humans.
  • Continuing From I to We: Group Formation and Linguistic Adaption in an Online Xenophobic Forum. Done and posted in Phlog
  • Tweaking the Angular and PHP code.
  • I got the IntelliJ debugger to connect to the Apache PHP server! Here’s the final steps. Pay particular attention to the highlighted areas:
    • File->Settings->Languages & Frameworks->PHP->Debug Debug1
    • Validate: Debug2
  • Objects are now coming back in the same way, so no parsing on the Angular side
  • Sprint planning

Phil 4.25.18

7:00 – 3:30 ASRC MKT

  • Google’s Workshop on AI/ML Research and Practice in India:
    Ganesh Ramakrishnan (IIT Bombay) presented research on human assisted machine learning.
  • From I to We: Group Formation and Linguistic Adaption in an Online Xenophobic Forum
    • Much of identity formation processes nowadays takes place online, indicating that intergroup differentiation may be found in online communities. This paper focuses on identity formation processes in an open online xenophobic, anti-immigrant, discussion forum. Open discussion forums provide an excellent opportunity to investigate open interactions that may reveal how identity is formed and how individual users are influenced by other users. Using computational text analysis and Linguistic Inquiry Word Count (LIWC), our results show that new users change from an individual identification to a group identification over time as indicated by a decrease in the use of “I” and increase in the use of “we”. The analyses also show increased use of “they” indicating intergroup differentiation. Moreover, the linguistic style of new users became more similar to that of the overall forum over time. Further, the emotional content decreased over time. The results indicate that new users on a forum create a collective identity with the other users and adapt to them linguistically.
    • Social influence is broadly defined as any change – emotional, behavioral, or attitudinal – that has its roots in others’ real or imagined presence (Allport, 1954). (pg 77)
    • Regardless of why an individual displays an observable behavioral change that is in line with group norms, social identification with a group is the basis for the change. (pg 77)
    • In social psychological terms, a group is defined as more than two people that share certain goals (Cartwright & Zander, 1968). (pg 77)
    • Processes of social identification, intergroup differentiation and social influence have to date not been studied in online forums. The aim of the present research is to fill this gap and provide information on how such processes can be studied through language used on the forum. (pg 78)
    • The popularity of social networking sites has increased immensely during the last decade. At the same time, offline socializing has shown a decline (Duggan & Smith, 2013). Now, much of the socializing actually takes place online (Ganda, 2014). In order to be part of an online community, the individual must socialize with other users. Through such socializing, individuals create self-representations (Enli & Thumim, 2012). Hence, the processes of identity formation, may to a large extent take place on the Internet in various online forums. (pg 78)
    • For instance, linguistic analyses of American Nazis have shown that use of third person plural pronouns (they, them, their) is the single best predictor of extreme attitudes (Pennebaker & Chung, 2008). (pg 79)
    • Because language can be seen as behavior (Fiedler, 2008), it may be possible to study processes of social influence through linguistic analysis. Thus, our second hypothesis is that the linguistic style of new users will become increasingly similar to the linguistic style of the overall forum over time (H2). (pg 79)
    • This indicates that the content of the posts in an online forum may also change over time as arguments become more fine-tuned and input from both supporting and contradicting members are integrated into an individual’s own beliefs. This is likely to result (linguistically) in an increase in indicators of cognitive complexity. Hence, we hypothesize that the content of the posts will change over time, such that indicators of complex thinking will increase (H3a). (pg 80)
      • I’m not sure what to think about this. I expect from dimension reduction, that as the group becomes more aligned, the overall complex thinking will reduce, and the outliers will leave, at least in the extreme of a stampede condition.
    • This result indicates that after having expressed negativity in the forum, the need for such expressions should decrease. Hence, we expect that the content of the posts will change such that indicators of negative emotions will decrease, over time (H3b). (pg 80)
    • the forum is presented as a “very liberal forum”, where people are able to express their opinions, whatever they may be. This “extreme liberal” idea implies that there is very little censorship the forum is presented as a “very liberal forum”, where people are able to express their opinions, whatever they may be. This “extreme liberal” idea implies that there is very little censorship, which has resulted in that the forum is highly xenophobic. Nonetheless, due to its liberal self-presentation, the xenophobic discussions are not unchallenged. For example, also anti-racist people join this forum in order to challenge individuals with xenophobic attitudes. This means that the forum is not likely to function as a pure echo chamber, because contradicting arguments must be met with own arguments. Hence, individuals will learn from more experienced users how to counter contradicting arguments in a convincing way. Hence, they are likely to incorporate new knowledge, embrace input and contribute to evolving ideas and arguments. (pg 81)
      • Open debate can lead to the highest level of polarization (M&D)
      • There isn’t diverse opinion. The conversation is polarized, with opponents pushing towards the opposite pole. The question I’d like to see answered is has extremism increased in the forum?
    • Natural language analyses of anonymous social media forums also circumvent social desirability biases that may be present in traditional self-rating research, which is a particular important concern in relation to issues related to outgroups (Maass, Salvi, Arcuri, & Semin, 1989; von Hippel, Sekaquaptewa, & Vargas, 1997, 2008). The to-be analyzed media uses “aliases”, yielding anonymity of the users and at the same time allow us to track individuals over time and analyze changes in communication patterns. (pg 81)
      • After seeing “Ready Player One”, I also wonder if the aliases themselves could be looked at using an embedding space built from the terms used by the users? Then you get distance measurements, t-sne projections, etc.
    • Linguistic Inquiry Word Count (LIWC; Pennebaker et al., 2007; Chung & Pennebaker, 2007; Pennebaker, 2011b; Pennebaker, Francis, & Booth, 2001) is a computerized text analysis program that computes a LIWC score, i.e., the percentage of various language categories relative to the number of total words (see also www.liwc.net). (pg 81)
      • LIWC2015 ($90) is the gold standard in computerized text analysis. Learn how the words we use in everyday language reveal our thoughts, feelings, personality, and motivations. Based on years of scientific research, LIWC2015 is more accurate, easier to use, and provides a broader range of social and psychological insights compared to earlier LIWC versions
    • Figure 1c shows words overrepresented in later posts, i.e. words where the usage of the words correlates positively with how long the users has been active on the forum. The words here typically lack emotional content and are indicators of higher complexity in language. Again, this analysis provides preliminary support for the idea that time on the forum is related to more complex thinking, and less emotionality.
      • WordCloud
    • The second hypothesis was that the linguistic style of new users would become increasingly similar to other users on the forum over time. This hypothesis is evaluated by first z-transforming each LIWC score, so that each has a mean value of zero and a standard deviation of one. Then we measure how each post differs from the standardized values by summing the absolute z-values over all 62 LIWC categories from 2007. Thus, low values on these deviation scores indicate that posts are more prototypical, or highly similar, to what other users write. These deviation scores are analyzed in the same way as for Hypothesis 1 (i.e., by correlating each user score with the number of days on the forum, and then t-testing whether the correlations are significantly different from zero). In support of the hypothesis, the results show an increase in similarity, as indicated by decreasing deviation scores (Figure 2). The mean correlation coefficient between this measure and time on the forum was -.0086, which is significant, t(11749) = -3.77, p < 0.001. (pg 85)
      • ForumAlignmentI think it is reasonable to consider this a measure of alignment
    • Because individuals form identities online and because we see this in the use of pronouns, we also expected to see tendencies of social influence and adaption. This effect was also found, such that individuals’ linguistic style became increasingly similar to other users’ linguistic style over time. Past research has shown that accommodation of communication style occurs automatically when people connect to people or groups they like (Giles & Ogay 2007; Ireland et al., 2011), but also that similarity in communicative style functions as cohesive glue within a group (Reid, Giles, & Harwood, 2005). (pg 86)
    • Still, the results could not confirm an increase in cognitive complexity. It is difficult to determine why this was not observed even though a general trend to conform to the linguistic style on the forum was observed. (pg 87)
      • This is what I would expect. As alignment increases, complexity, as expressed by higher dimensional thinking should decrease.
    • This idea would also be in line with previous research that has shown that expressing oneself decreases arousal (Garcia et al., 2016). Moreover, because the forum is not explicitly racist, individuals may have simply adapted to the social norms on the forum prescribing less negative emotional displays. Finally, a possible explanation for the decrease in negative emotional words might be that users who are very angry leave the forum, because of its non-racist focus, and end up in more hostile forums. An interesting finding that was not part of the hypotheses in the present research is that the third person plural category correlated positively with all four negative emotions categories, suggesting that people using for example ‘they’ express more negative emotions (pg 87)
    • In line with social identity theory (Tajfel & Turner, 1986), we also observe linguistic adaption to the group. Hence, our results indicate that processes of identity formation may take place online. (pg 87)
  • Me, My Echo Chamber, and I: Introspection on Social Media Polarization
    • Homophily — our tendency to surround ourselves with others who share our perspectives and opinions about the world — is both a part of human nature and an organizing principle underpinning many of our digital social networks. However, when it comes to politics or culture, homophily can amplify tribal mindsets and produce “echo chambers” that degrade the quality, safety, and diversity of discourse online. While several studies have empirically proven this point, few have explored how making users aware of the extent and nature of their political echo chambers influences their subsequent beliefs and actions. In this paper, we introduce Social Mirror, a social network visualization tool that enables a sample of Twitter users to explore the politically-active parts of their social network. We use Social Mirror to recruit Twitter users with a prior history of political discourse to a randomized experiment where we evaluate the effects of different treatments on participants’ i) beliefs about their network connections, ii) the political diversity of who they choose to follow, and iii) the political alignment of the URLs they choose to share. While we see no effects on average political alignment of shared URLs, we find that recommending accounts of the opposite political ideology to follow reduces participants’ beliefs in the political homogeneity of their network connections but still enhances their connection diversity one week after treatment. Conversely, participants who enhance their belief in the political homogeneity of their Twitter connections have less diverse network connections 2-3 weeks after treatment. We explore the implications of these disconnects between beliefs and actions on future efforts to promote healthier exchanges in our digital public spheres.
  • What We Read, What We Search: Media Attention and Public Attention Among 193 Countries
    • We investigate the alignment of international attention of news media organizations within 193 countries with the expressed international interests of the public within those same countries from March 7, 2016 to April 14, 2017. We collect fourteen months of longitudinal data of online news from Unfiltered News and web search volume data from Google Trends and build a multiplex network of media attention and public attention in order to study its structural and dynamic properties. Structurally, the media attention and the public attention are both similar and different depending on the resolution of the analysis. For example, we find that 63.2% of the country-specific media and the public pay attention to different countries, but local attention flow patterns, which are measured by network motifs, are very similar. We also show that there are strong regional similarities with both media and public attention that is only disrupted by significantly major worldwide incidents (e.g., Brexit). Using Granger causality, we show that there are a substantial number of countries where media attention and public attention are dissimilar by topical interest. Our findings show that the media and public attention toward specific countries are often at odds, indicating that the public within these countries may be ignoring their country-specific news outlets and seeking other online sources to address their media needs and desires.
  • “You are no Jack Kennedy”: On Media Selection of Highlights from Presidential Debates
    • Our findings indicate that there exist signals in the textual information that untrained humans do not find salient. In particular, highlights are locally distinct from the speaker’s previous turn, but are later echoed more by both the speaker and other participants (Conclusions)
      • This sounds like dimension reduction and alignment
  • Algorithms, bots, and political communication in the US 2016 election – The challenge of automated political communication for election law and administration
    • Philip N. Howard (Scholar)
    • Samuel C. Woolley (Scholar)
    • Ryan Calo (Scholar)
    • Political communication is the process of putting information, technology, and media in the service of power. Increasingly, political actors are automating such processes, through algorithms that obscure motives and authors yet reach immense networks of people through personal ties among friends and family. Not all political algorithms are used for manipulation and social control however. So what are the primary ways in which algorithmic political communication—organized by automated scripts on social media—may undermine elections in democracies? In the US context, what specific elements of communication policy or election law might regulate the behavior of such “bots,” or the political actors who employ them? First, we describe computational propaganda and define political bots as automated scripts designed to manipulate public opinion. Second, we illustrate how political bots have been used to manipulate public opinion and explain how algorithms are an important new domain of analysis for scholars of political communication. Finally, we demonstrate how political bots are likely to interfere with political communication in the United States by allowing surreptitious campaign coordination, illegally soliciting either contributions or votes, or violating rules on disclosure.
  • Ok, back to getting HTTPClient posts to play with PHP cross domain
  • Maybe I have to make a proxy?
    • Using the proxying support in webpack’s dev server we can highjack certain URLs and send them to a backend server. We do this by passing a file to --proxy-config
    • Well, that fixes the need to have all the server options set, but the post still doesn’t send data. But since this is the Right way to do things, here’s the steps:
    • To proxy localhost:4200/uli -> localhost:80/uli
      • Create a proxy.conf.json file in the same directory as package.json
        {
          "/uli": {
            "target": "http://localhost:80",
            "secure": false
          }
        }

        This will cause any explicit request to localhost:4200/uli to be mapped to localhost:80/uli and appear that they are coming from localhost:80/uli

      • Set the npm start command in the package.json file to read as
        "scripts": {
          "start": "ng serve --proxy-config proxy.conf.json",
          ...
        },

        Start with “npm start”, rather than “ng serve”

      • Call from Angular like this:
        this.http.post('http://localhost:4200/uli/script.php', payload, httpOptions)
      • Here’s the PHP code (script.php): it takes POST and GET input and feeds it back with some information about the source :
        function getBrowserInfo(){
             $browserData = array();
             $ip = htmlentities($_SERVER['REMOTE_ADDR']);
             $browser = htmlentities($_SERVER['HTTP_USER_AGENT']);
             $referrer = "No Referrer";
             if(isset($_SERVER['HTTP_REFERER'])) {
                 //do what you need to do here if it's set
                 $referrer = htmlentities($_SERVER['HTTP_REFERER']);         if($referrer == ""){
                     $referrer = "No Referrer";
                 }
             }
             $browserData["ipAddress"] = $ip;
             $browserData["browser"] = $browser;
             $browserData["referrer"] = $referrer;
             return $browserData;
         }
         function getPostInfo(){
             $postInfo = array();
             foreach($_POST as $key => $value) {
                if(strlen($value) < 10000) {               $postInfo[$key] = $value;           }else{               $postInfo[$key] = "string too long";           }       }       return $postInfo;   }   function getGetInfo(){       $getInfo = array();       foreach($_GET as $key => $value) {
                if(strlen($value) < 10000) {
                    $getInfo[$key] = $value;
                }else{
                    $getInfo[$key] = "string too long";
                }
            }
            return $getInfo;
        }
        
        /**************************** MAIN ********************/
        $toReturn = array();
        $toReturn['getPostInfo'] = getPostInfo();
        $toReturn['getGetInfo'] = getGetInfo();
        $toReturn['browserInfo'] = getBrowserInfo();
        $toReturn['time'] = date("h:i:sa");
        $jstr =  json_encode($toReturn);
        echo($jstr);
      • And it arrives at localhost:80/uli/script.php. The following is the javascript console of the Angular CLI code running on localhost:4200
        {getPostInfo: Array(0), getGetInfo: {…}, browserInfo: {…}, time: "05:17:16pm"}
        browserInfo:
        	browser:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
        	ipAddress:"127.0.0.1"
        	referrer:"http://localhost:4200/"
        getGetInfo:
        	message:"{"title":"foo","body":"bar","userId":1}"
        getPostInfo:[]
        time:"05:17:16pm"
        
      • Got the pieces parsing in @Component and displaying, so the round trip is done. Wan’t expecting to wind up using GET, but until I can figure out what the deal is with POST, that’s what it’s going to be. Here are the two methods that send and then parse the message:
        doGet(event) {
          let payload = {
            title: 'foo',
            body: 'bar',
            userId: 1
          };
          let message = 'message='+encodeURIComponent(JSON.stringify(payload));
          let target = 'http://localhost:4200/uli/script.php?';
        
          //this.http.get(target+'title=\'my title\'&body=\'the body\'&userId=1')
          this.http.get(target+message)
            .subscribe((data) => {
              console.log('Got some data from backend ', data);
              this.extractMessage(data, "getGetInfo");
            }, (error) => {
              console.log('Error! ', error);
            });
        }
        
        extractMessage(obj, name: string){
          let item = obj[name];
          try {
            if (item) {
              let mstr = item.message;
              this.mobj = JSON.parse(mstr);
            }
          }catch(err){
            this.mobj = {};
            this.mobj["message"] = "Error extracting 'message' from ["+name+"]";
          }
          this.mkeys = Object.keys(this.mobj);
        }
      • And here’s the html code: html
      • Here’s a screenshot of everything working: PostGetTest

Phil 4.24.18

7:00 – 5:00 ASRC MKT

  • Aaron’s ot BoP today
  • Working on JuryRoom, particularly hooking up PHP to Angular
  • Here’s the hello world php app that’s working:
    <?php
    header('Access-Control-Allow-Origin: *');
    echo '{"message": "hello"}';
  • And here’s the Angular side:
    uploadFile(event) {
      const elem = event.target;
      if (elem.files.length > 0) {
        const f0 = elem.files[0];
        console.log(f0);
        const formData = new FormData();
        formData.append('file', f0);
    
        this.http.post('http://localhost/uploadImages/script.php', formData)
          .subscribe((data) => {
    
            const jsonResponse = data.json();
    
            // this.gallery.gotSomeDataFromTheBackend(jsonResponse.file);
    
            console.log('Got some data from backend ', data);
          }, (error) => {
            console.log('Error! ', error);
          });
      }
    }
  • Here’s how to connect to the deployment server for debugging (I hope!). From Importing settings from a server access (deployment) configurationDebugPhpServer
  • Can’t see the post info coming back, so I really need to get the debugger set up to talk to the server. Following these directions: Web Server Debug Validation Dialog. Here’s the dialog with some warnings to be corrected: EnablePhpDebug
  • Note that you HAVE TO RESTART APACHE for any php.ini changes to take
  • Had to Add XDebug Helper Chrome Extension. That helped with the php running in the browser, but not in the call to PHP from angular XDebugHelper
  • Works in Postman, but it doesn’t fire the debugger. Still, at least I know that the data can get to the php. Not sure if angular is sending it. Here’s the postman results: Postman
  • Here’s the debugger view. The data appears to be going up (formData), but it’s not coming back in the echo like it does in postman. I’ve played around with Content-type, and that doesn’t seem to help: Debugger
  • In the network view, we can see that the payload is there: Payload
  • So it must not be getting accepted in the PHP….

Phil 2.27.18

7:00 – 5:00 ASRC MKT

  • More BIC
    • A mechanism is a general process. The idea (which I here leave only roughly stated) is of a causal process which determines (wholly or partly) what the agents do in any simple coordination context. It will be seen that all the examples I have mentioned are of this kind; contrast a mechanism that applies, say, only in two-person cases, or only to matching games, or only in business affairs. In particular, team reasoning is this kind of thing. It applies to any simple coordination context whatsoever. It is a mode of reasoning rather than an argument specific to a context. (pg 126)
    • In particular, [if U is Paretian] the correct theory of Hi-Lo says that all play A. In short, an intuition in favour of C’ supports A-playing in Hi-Lo if we believe that all players are rational and there is one rationality. (pg 130)
      • Another form of dimension reduction – “We are all the same”
  • Machine Theory of Mind
    • We design a Theory of Mind neural network – a ToMnet – which uses meta-learning to build models of the agents it encounters, from observations of their behaviour alone. Through this process, it acquires a strong prior model for agents’ behaviour, as well as the ability to bootstrap to richer predictions about agents’ characteristics and mental states using only a small number of behavioural observations. We apply the ToMnet to agents behaving in simple gridworld environments, showing that it learns to model random, algorithmic, and deep reinforcement learning agents from varied populations, and that it passes classic ToM tasks such as the “SallyAnne” test of recognising that others can hold false beliefs about the world
  • Classifier Technology and the Illusion of Progress (David Hand, 2006)
    • A great many tools have been developed for supervised classification, ranging from early methods such as linear discriminant analysis through to modern developments such as neural networks and support vector machines. A large number of comparative studies have been conducted in attempts to establish the relative superiority of these methods. This paper argues that these comparisons often fail to take into account important aspects of real problems, so that the apparent superiority of more sophisticated methods may be something of an illusion. In particular, simple methods typically yield performance almost as good as more sophisticated methods, to the extent that the difference in performance may be swamped by other sources of uncertainty that generally are not considered in the classical supervised classification paradigm.
  • Sensitivity and Generalization in Neural Networks: an Empirical Study
    • Neural nets generalize better when they’re larger and less sensitive to their inputs, are less sensitive near training data than away from it, and other results from massive experiments. (From @Jascha)
  • Graph-131941
    • The graph represents a network of 6,716 Twitter users whose recent tweets contained “#NIPS2017”, or who were replied to or mentioned in those tweets, taken from a data set limited to a maximum of 18,000 tweets. The network was obtained from Twitter on Friday, 08 December 2017 at 15:30 UTC.
  • Back to Basics: Benchmarking Canonical Evolution Strategies for Playing Atari
    • Evolution Strategies (ES) have recently been demonstrated to be a viable alternative to reinforcement learning (RL) algorithms on a set of challenging deep RL problems, including Atari games and MuJoCo humanoid locomotion benchmarks. While the ES algorithms in that work belonged to the specialized class of natural evolution strategies (which resemble approximate gradient RL algorithms, such as REINFORCE), we demonstrate that even a very basic canonical ES algorithm can achieve the same or even better performance. This success of a basic ES algorithm suggests that the state-of-the-art can be advanced further by integrating the many advances made in the field of ES in the last decades. 
      We also demonstrate qualitatively that ES algorithms have very different performance characteristics than traditional RL algorithms: on some games, they learn to exploit the environment and perform much better while on others they can get stuck in suboptimal local minima. Combining their strengths with those of traditional RL algorithms is therefore likely to lead to new advances in the state of the art.
  • Copied over SheetToMap to the Applications file on TOSHIBA
  • Created a Data folder, which has all the input and output files for the various applications
  • Need to add a curDir variable to LMN
  •  Presentation:
    • I need to put together a 2×2 payoff matrix that covers nomad/flock/stampede – done
    • Some more heat map views, showing nomad, flocking – done
    • De-uglify JuryRoom
    • Timeline of references – done
    • Collapse a few pages 22.5 minutes for presentation and questions – done
  • Start on white paper

Phil 2.26.18

7:00 – 6:00 ASRC MKT

  • Spread of information is dominated by search ranking f1-large
    • Twitter thread
      • The spreading process was linear because the background search rate is roughly constant day to day for discounts, and any viral element turned out to be quite small.
    • Paper
  •  BIC
    • There are many conceivable team mechanisms apart from simple direction and team reasoning; they differ in the way in which computation is distributed and the pattern of message sending. For example, one agent might compute o* and send instructions to the others. With the exception of team reasoning, these mechanisms involve the communication of information. If they do I shall call them modes of organization or protocols. (pg 125)
    • A mechanism is a general process. The idea (which I here leave only roughly stated) is of a causal process which determines (wholly or partly) what the agents do in any simple coordination context. It will be seen that all the examples I have mentioned are of this kind; contrast a mechanism that applies, say, only in two-person cases, or only to matching games, or only in business affairs. In particular, team reasoning is this kind of thing. It applies to any simple coordination context whatsoever. It is a mode of reasoning rather than an argument specific to a context. (pg 126)
  •  Presentation:
    • I need to put together a 2×2 payoff matrix that covers nomad/flock/stampede
    • Some more heat map views, showing nomad, flocking
    • De-uglify JuryRoom
    • Timeline of references
    • Collapse a few pages 22.5 minutes for presentation and questions
  • Work on getting SheetToMap in a swing app? Less figuring things out…
    • Slower going than I hoped, but mostly working now. As always, StackOverflow to the rescue: How to draw graph inside swing with GraphStream actually?
    • Adding load and save menu choices. Done! Had a few issues with getting the position of the nodes saved out. It seems like you should do this?
      GraphicNode gn = viewer.getGraphicGraph().getNode(name);
      row.createCell(cellIndex++).setCellValue(gn.getX());
      row.createCell(cellIndex++).setCellValue(gn.getY());
    • Anyway, pretty pix: 2018-02-26
  • Start on white paper
  • Fika

Phil 2.21.18

7:00 – 6:00 ASRC MKT

  • Wow – I’m going to the Tensorflow Summit! Need to get a hotel.
  • Dimension reduction + velocity in this thread
  • Global Pose Estimation with an Attention-based Recurrent Network
    • The ability for an agent to localize itself within an environment is crucial for many real-world applications. For unknown environments, Simultaneous Localization and Mapping (SLAM) enables incremental and concurrent building of and localizing within a map. We present a new, differentiable architecture, Neural Graph Optimizer, progressing towards a complete neural network solution for SLAM by designing a system composed of a local pose estimation model, a novel pose selection module, and a novel graph optimization process. The entire architecture is trained in an end-to-end fashion, enabling the network to automatically learn domain-specific features relevant to the visual odometry and avoid the involved process of feature engineering. We demonstrate the effectiveness of our system on a simulated 2D maze and the 3D ViZ-Doom environment.
  •  Slides
    • Location
    • Orientation
    • Velocity
    • IR context -> Sociocultural context
  • Writing Fika. Make a few printouts of the abstract
    • It kinda happened. W
  • Write up LMN4A2P thoughts. Took the following and put them in a LMN4A2P roadmap document in Google Docs
    • Storing a corpora (raw text, BoW, TF-IDF, Matrix)
      • Uploading from file
      • Uploading from link/crawl
      • Corpora labeling and exploring
    • Index with ElasticSearch
    • Production of word vectors or ‘effigy documents’
    • Effigy search using Google CSE for public documents that are similar
      • General
      • Site-specific
      • Semantic (Academic, etc)
    • Search page
      • Lists (reweightable) or terms and documents
      • Cluster-based map (pan/zoom/search)
  • I’m as enthusiastic about the future of AI as (almost) anyone, but I would estimate I’ve created 1000X more value from careful manual analysis of a few high quality data sets than I have from all the fancy ML models I’ve trained combined. (Thread by Sean Taylor on Twitter, 8:33 Feb 19, 2018)
  • Prophet is a procedure for forecasting time series data. It is based on an additive model where non-linear trends are fit with yearly and weekly seasonality, plus holidays. It works best with daily periodicity data with at least one year of historical data. Prophet is robust to missing data, shifts in the trend, and large outliers.
  • Done with Angular fundamentals. reDirectTo isn’t working though…
    • zone.js:405 Unhandled Promise rejection: Invalid configuration of route '': redirectTo and component cannot be used together ; Zone: <root> ; Task: Promise.then ; Value: Error: Invalid configuration of route '': redirectTo and component cannot be used together

Phil 2.20.18

7:00 – 5:00 ASRC MKT

  • Diversity injection: How to Inoculate the Public Against Fake News
    • Cambridge researchers developed a game to help people understand, broadly, how fake news works by having users play trolls and create misinformation. By “placing news consumers in the shoes of (fake) news producers, they are not merely exposed to small portions of misinformation,” the researchers write in their accompanying paper.
  • Physics of human cooperation: experimental evidence and theoretical models
    • Angel Sánchez (Scholar)
    • In recent years, many physicists have used evolutionary game theory combined with a complex systems perspective in an attempt to understand social phenomena and challenges. Prominent among such phenomena is the issue of the emergence and sustainability of cooperation in a networked world of selfish or self-focused individuals. The vast majority of research done by physicists on these questions is theoretical, and is almost always posed in terms of agent-based models. Unfortunately, more often than not such models ignore a number of facts that are well established experimentally, and are thus rendered irrelevant to actual social applications. I here summarize some of the facts that any realistic model should incorporate and take into account, discuss important aspects underlying the relation between theory and experiments, and discuss future directions for research based on the available experimental knowledge.
  • What We Read, What We Search: Media Attention and Public Attention Among 193 Countries
    • We investigate the alignment of international attention of news media organizations within 193 countries with the expressed international interests of the public within those same countries from March 7, 2016 to April 14, 2017. We collect fourteen months of longitudinal data of online news from Unfiltered News and web search volume data from Google Trends and build a multiplex network of media attention and public attention in order to study its structural and dynamic properties. Structurally, the media attention and the public attention are both similar and different depending on the resolution of the analysis. For example, we find that 63.2% of the country-specific media and the public pay attention to different countries, but local attention flow patterns, which are measured by network motifs, are very similar. We also show that there are strong regional similarities with both media and public attention that is only disrupted by significantly major worldwide incidents (e.g., Brexit). Using Granger causality, we show that there are a substantial number of countries where media attention and public attention are dissimilar by topical interest. Our findings show that the media and public attention toward specific countries are often at odds, indicating that the public within these countries may be ignoring their country-specific news outlets and seeking other online sources to address their media needs and desires.
  • Sent Jen a note about carpooling to CHIIR. Need to check out one day earlier
  • Add slides
    • Two phases – theoretical model building, then study
    • Implications for design based on Search Context
    • Something about velocity? Academic journal papers (slow production, slow consumption) at one end and twitter on the other (fast production, fast consumption)
  • Ingesting Documents (pdf, word, txt, etc) Into ElasticSearch
  • More Angular
  • Discussions with Aaron about getting some LMN capability into A2P.

Phil 2.16.18

7:00 – 3:00 ASRC MKT

  • Finished the first draft of the CI 2018 extended abstract!
  • And I also figured out how to run the sub projects in the Ultimate Angular src collection. You need to go to the root directory for the chapter, run yarn install, then yarn start. Everything works then.
  • Trolls on Twitter: How Mainstream and Local News Outlets Were Used to Drive a Polarized News Agenda
    • This is the kind of data that compels us to rethink how we understand Twitter — and what I feel are more influential platforms for reaching regular people that include Facebook, Instagram, Google, and Tumblr, as well as understand ad tech tracking and RSS feedharvesting as part of the greater propaganda ecosystem.
  • NELA News credibility classification toolkit
    • The News Landscape (NELA) Toolkit is an open source toolkit for the systematic exploration of the news landscape. The goal of NELA is to both speed up human fact-checking efforts and increase the understanding of online news as a whole. NELA is made up of multiple indepedent modules, that work at article level granularity: reliability prediction, political impartiality prediction, text objectivity prediction, and reddit community interest prediction. As well as, modules that work at source level granularity: reliability prediction, political impartiality prediction, content-based feature visualization. 
  • New benchmarks for approximate nearest neighbors
    • I built ANN-benchmarksto address this. It pits a bunch of implementations (including Annoy) against each other in a death match: which one can return the most accurate nearest neighbors in the fastest time possible. It’s not a new project, but I haven’t actively worked on it for a while.
  • Systems of Global Governance in the Era of Human-Machine Convergence
    • Technology is increasingly shaping our social structures and is becoming a driving force in altering human biology. Besides, human activities already proved to have a significant impact on the Earth system which in turn generates complex feedback loops between social and ecological systems. Furthermore, since our species evolved relatively fast from small groups of hunter-gatherers to large and technology-intensive urban agglomerations, it is not a surprise that the major institutions of human society are no longer fit to cope with the present complexity. In this note we draw foundational parallelisms between neurophysiological systems and ICT-enabled social systems, discussing how frameworks rooted in biology and physics could provide heuristic value in the design of evolutionary systems relevant to politics and economics. In this regard we highlight how the governance of emerging technology (i.e. nanotechnology, biotechnology, information technology, and cognitive science), and the one of climate change both presently confront us with a number of connected challenges. In particular: historically high level of inequality; the co-existence of growing multipolar cultural systems in an unprecedentedly connected world; the unlikely reaching of the institutional agreements required to deviate abnormal trajectories of development. We argue that wise general solutions to such interrelated issues should embed the deep understanding of how to elicit mutual incentives in the socio-economic subsystems of Earth system in order to jointly concur to a global utility function (e.g. avoiding the reach of planetary boundaries and widespread social unrest). We leave some open questions on how techno-social systems can effectively learn and adapt with respect to our understanding of geopolitical complexity.