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.15.18

7:00 – 4:00 ASRC MKT

Phil 5.14.18

7:00 – 3:00 ASRC MKT

    • Working on Zurich Travel. Ricardo is getting tix, and I got a response back from the conference on an extended stay
    • Continue with slides
    • See if there is a binary embedding reader in Java? Nope. Maybe in ml4j, but it’s easier to just write out the file in the format that I want
    • Done with the writer: Vim
  • Fika
  • Finished Simulacra and Simulation. So very, very French. From my perspective, there are so many different lines of thought coming out of the work that I can’t nail down anything definitive.
  • Started The Evolution of Cooperation

Phil 10.11.18

Neural Network Evolution Playground with Backprop NEAT

  • The genetic algorithm called NEAT will be used to evolve our neural nets from a very simple one at the beginning to more complex ones over many generations. The weights of the neural nets will be solved via back propagation. The awesome recurrent.js library made by karpathy, makes it possible to build computational graph representation of arbitrary neural networks with arbitrary activation functions. I implemented the NEAT algorithm to generate representations of neural nets that recurrent.js can process, so that the library can be used to forward pass through the neural nets that NEAT has discovered, and also to backprop the neural nets to optimise for their weights.

Thread on opacity and how we don’t know where our FB advertising is coming from

Meeting with Wayne

  • Walked through the terms. I need to add citations
  • Discussed What to do After the PhD. Setting up a program to study and implement trustworthy anonymous citizen journalism came up, which is very cool
  • Quite a bit of logistical discussion on how to bridge from UMBC to UMD
  • Showed Wayne my copy of Bit by Bit.

Continuous Profile Models (CPM) Matlab Toolbox and a matlab to python converter, as well as how to call MATLAB from python

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.6.18

Sentiment detection with Keras, word embeddings and LSTM deep learning networks

  • Read this blog post to get an overview over SaaS and open source options for sentiment detection. Learn an easy and accurate method relying on word embeddings with LSTMs that allows you to do state of the art sentiment analysis with deep learning in Keras.

Which research results will generalize?

  • One approach to AI research is to work directly on applications that matter — say, trying to improve production systems for speech recognition or medical imaging. But most research, even in applied fields like computer vision, is done on highly simplified proxies for the real world. Progress on object recognition benchmarks — from toy-ish ones like MNISTNORB, and Caltech101, to complex and challenging ones like ImageNet and Pascal VOC — isn’t valuable in its own right, but only insofar as it yields insights that help us design better systems for real applications.

Revisiting terms:

  • Belief Space – A subset of information space that is associated with opinions. For example, there is little debate about what a table is, but the shape of the table has often been a source of serious diplomatic contention
  • Medium – the technology that mediates the communication that coordinates the group. There are properties that seem to matter:
    • Reach – How many individuals are connected directly. Evolutionarily we may be best suited to 7 +/- 2
    • Directionality – connections can be one way (broadcast) or two way (face to face)
    • Transparency – How ‘visible’ is the individual on the other side of the communication? There are immediate perception and historical interaction aspects.
    • Friction – How difficult is it to use the medium? For example in physical space, it is trivial to interact with someone nearby, but becomes progressively difficult with distance. Broadcasting makes it trivial for a small number of people to reach large numbers, but not the reverse. Computer mediated designs typically try to reduce the friction of interaction.
  • Dimension Reduction – The process by which groups decide where to coordinate. The lower the dimensions, the easier (less calculation) it takes to act together
  • State – a multidimensional measure of current belief and interest
  • Orientation – A vector constructed of two measures of state. Used to determine alignment with others
  • Velocity – The amount of change in state over time
  • Diversity Injection – The addition of random, factual information to the Information Retrieval Interfaces (IRIs) using mechanisms currently used to deliver advertising. This differs from Serendipity Injection, which attempts to find stochastically relevant information for an individual’s implicit information needs.
    • Level 1: population targeted –  Based on Public Service Announcements (PSAs), information presentation should range from simple, potentially gamified presentations to deep exploration with citations. The same random information is presented by the IRIs to the using population at the same time similarly to the Google Doodle.
    • Level 2: group targeted – based on detecting a group’s behaviors. For example, a stampeding group may require information that is more focussed on pointing at where flocking activity is occuring.
    • Level 3: individual targeted –  Depending on where in the belief space the individual is, there may be different reactions. In a sparsely traveled space, information that lies in the general direction of travel might be a form of useful serendipity. Conversely, when on a path that often leads to violent radicalization, information associated with disrupting the progression of other individuals with similar vectors could be applied.
  • Map – a type of diagram that supports the plotting of trajectories. In this work, maps of belief space are constructed based on the dimension reduction used by humans in discussion. These maps are assumed to be dynamic over time and may consists of many interrelated, though not necessarily congruent, layers.
  • Herding – Deliberate creation of stampede conditions in groups. Can be an internal process to consolidate a group, or an external, adversarial process.

Trump as Enron (Twitter)

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 5.3.18

7:30 – 5:00 ASRC MKT

Phil 5.1.18

7:00 – 4:30 ASRC MKT

  • Applications of big social media data analysis: An overview
    • Over the last few years, online communication has moved toward user-driven technologies, such as online social networks (OSNs), blogs, online virtual communities, and online sharing platforms. These social technologies have ushered in a revolution in user-generated data, online global communities, and rich human behavior-related content. Human-generated data and human mobility patterns have become important steps toward developing smart applications in many areas. Understanding human preferences is important to the development of smart applications and services to enable such applications to understand the thoughts and emotions of humans, and then act smartly based on learning from social media data. This paper discusses the role of social media data in comprehending online human data and in consequently different real applications of SM data for smart services are executed.
  • Explainable, Interactive Deep Learning
    • Recently, deep learning has been advancing the state of the art in artificial intelligence to yet another level, and humans are relying more and more on the outputs generated by artificial intelligence techniques than ever before. However, even with such unprecedented advancements, the lack of interpretability on the decisions made by deep learning models and no control over their internal processes act as a major drawback when utilizing them to critical decision-making processes such as precision medicine and law enforcement. In response, efforts are being made to make deep learning interpretable and controllable by humans. In this paper, we review recent studies relevant to this direction and discuss potential challenges and future research directions.
  • Building successful online communities: Evidence-based social design (book review)
    • In Building Successful Online Communities (2012), Robert Kraut, Paul Resnick, and their collaborators set out to draw links between the design of socio-technical systems with findings from social psychology and economics. Along the way, they set out a vision for the role of social sciences in the design of systems like mailing lists, discussion forums, wikis, and social networks, offering a way that behavior on those platforms might inform our understanding of human behavior.
  • Since I’ve forgotten my Angular stuff, reviewing UltimateAngular, Angular Fundamentals course. Finished the ‘Getting Started’ section
  • Strip out Guttenburg text from corpora – done!

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.26.18

Too much stuff posted yesterday, so I’m putting Kate Starbird’s new paper here:

  • Ecosystem or Echo-System? Exploring Content Sharing across Alternative Media Domains
    • This research examines the competing narratives about the role and function of Syria Civil Defence, a volunteer humanitarian organization popularly known as the White Helmets, working in war-torn Syria. Using a mixed-method approach based on seed data collected from Twitter, and then extending out to the websites cited in that data, we examine content sharing practices across distinct media domains that functioned to construct, shape, and propagate these narratives. We articulate a predominantly alternative media “echo-system” of websites that repeatedly share content about the White Helmets. Among other findings, our work reveals a small set of websites and authors generating content that is spread across diverse sites, drawing audiences from distinct communities into a shared narrative. This analysis also reveals the integration of government funded media and geopolitical think tanks as source content for anti-White Helmets narratives. More broadly, the analysis demonstrates the role of alternative newswire-like services in providing content for alternative media websites. Though additional work is needed to understand these patterns over time and across topics, this paper provides insight into the dynamics of this multi-layered media ecosystem.

7:00 – 5:00 ASRC MKT

  • Referencing for Aanton at 5:00
  • Call Charlestown about getting last two years of payments
  • Benjamin D. Horne, Sara Khedr, and Sibel Adali. “Sampling the News Producers: A Large News and Feature Data Set for the Study of the Complex Media Landscape” ICWSM 2018
  • Continuing From I to We: Group Formation and Linguistic Adaption in an Online Xenophobic Forum
  • Anchor-Free Correlated Topic Modeling
    • In topic modeling, identifiability of the topics is an essential issue. Many topic modeling approaches have been developed under the premise that each topic has an anchor word, which may be fragile in practice, because words and terms have multiple uses; yet it is commonly adopted because it enables identifiability guarantees. Remedies in the literature include using three- or higher-order word co-occurence statistics to come up with tensor factorization models, but identifiability still hinges on additional assumptions. In this work, we propose a new topic identification criterion using second order statistics of the words. The criterion is theoretically guaranteed to identify the underlying topics even when the anchor-word assumption is grossly violated. An algorithm based on alternating optimization, and an efficient primal-dual algorithm are proposed to handle the resulting identification problem. The former exhibits high performance and is completely parameter-free; the latter affords up to 200 times speedup relative to the former, but requires step-size tuning and a slight sacrifice in accuracy. A variety of real text copora are employed to showcase the effectiveness of the approach, where the proposed anchor-free method demonstrates substantial improvements compared to a number of anchor-word based approaches under various evaluation metrics.
  • Cleaning up the Angular/PHP example. Put on GitHub?

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….