Using LostCircles’ Graphml files with NodeXL

LostCircles (https://lostcircles.com/) uses a proprietary format that NodeXL fails to open and use.

Below is a workaround for this problem and a step by step approach to charting your Facebook network of friends:

  1. Open the “Graphml (No Pics)” file downloaded from LostCircles
  2. Find the <node id=”n0″> tag and delete all the text that precedes it
  3. Copy and paste the text below before the  <node id=”n0″> tag:
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<key attr.name="label" attr.type="string" for="node" id="label"/>
<key attr.name="Edge Label" attr.type="string" for="edge" id="edgelabel"/>
<key attr.name="weight" attr.type="double" for="edge" id="weight"/>
<key attr.name="r" attr.type="int" for="node" id="r"/>
<key attr.name="g" attr.type="int" for="node" id="g"/>
<key attr.name="b" attr.type="int" for="node" id="b"/>
<key attr.name="x" attr.type="float" for="node" id="x"/>
<key attr.name="y" attr.type="float" for="node" id="y"/>
<key attr.name="size" attr.type="float" for="node" id="size"/>
<key attr.name="id" attr.type="string" for="node" id="d0"/>
<key attr.name="name" attr.type="string" for="node" id="d1"/>
<key attr.name="userName" attr.type="string" for="node" id="d2"/>
<key attr.name="profile" attr.type="string" for="node" id="d3"/>
<key attr.name="dataUrl" attr.type="string" for="node" id="d4"/>
<graph edgedefault="undirected">
  1. Save the file or Save it As a new GraphML file
  2. Open NodeXL and “import from GraphML file”
  3. Group by cluster and put all neighborless vertices in one group
  4. Go to the Vertices sheet
  5. The URL in the Label column is the same as the URL in the profile column (redundant information that you can replace). Change the format of the Label column from Text to General to allow the insertion of formulas (otherwise, your formulas will appear as text and will not be calculated)
  6. Delete all values in the Labels column (enter the first cell, then ctrl+space and delete)
  7. Type =[@name] in the first cell of the Labels column. It should automatically replicate to all the rows
  8. In the graph pane, choose the Harel-Koren Fast Multiscale graph style
  9. From the same dropdown, go to the Layout options and Lay out each group in its own box
  10. Draw the graph – If you have a few hundred friends on Facebook, fairly distributed in groups (family, colleagues, beer buddies, etc.), the layout should be good enough
  11. Calculate all graph metrics
  12. Autofill Columns with Vertex Size linked to Degree with vertex size options ranging from 1 (smallest) to 50 (largest)
  13. Sort the vertices by Degree
  14. Set the label position of vertices 50+ to “nowhere” to hide the least connected friends
  15. A good practice would be to set the tooltip to the username in order to see the names when you hover over a vertex

 

 

 

 

Facebooktwitter Facebooktwitter

Showing Bridging Nodes Only in NodeXL

Bridges (edges) and bridging nodes (vertices) in a network are essential in connecting cliques, moderating the debate and introducing new ideas and innovations and filling structural holes in a network (ref. Ronald S. Burt).

 

When you separate vertices in groups in NodeXL (figure), several columns are added to your “edges” sheet, mainly “Vertex 1 Group” and “Vertex 2 Group”

Refreshing the graph using the “lay out each of the graph’s groups in its own box” (figure)

return a graph where nodes/vertices are separated into groups, each painted in a different color:

Finding edges with high centrality or degree is straightforward in NodeXL but, what if you wanted to find the bridges between groups? people who are transporting/propagating the debate/discussion from one clique to the other?

First, we need to determine the bridging edges between groups:

  • In the Edges vertices, add a column “Bridging” and type the following formula: =IF([@[Vertex 1 Group]]<>[@[Vertex 2 Group]],1,0). This formula should return 1 if the the group of Vertex 1 is different from the group of Vertex 2 (“vertex 1 group” and “vertex 2 group” columns)
  • Hide the edges that do not traverse groups but adding the following formula in the “visibility” column in the “edges” sheet: =IF([@Bridging]=1,”Show”,”Hide”)

If you refresh the graph now, it should look like this:

It is still confusing but most edges have disappeared. Next step is to hide the vertices that are no longer connected to any other vertex (technically, the vertices that do not bridge with other vertices in other groups or cliques):

In the “Vertices” sheet, add a new column, “bridge”. We need to count/sum all the bridging edges where this vertex is connected (left or right). The formula to add in the “bridge” column is: =SUMIF(Edges[Vertex 1],[@Vertex],Edges[Bridging])+SUMIF(Edges[Vertex 2],[@Vertex],Edges[Bridging])

the formula in simple English: Sum the values in the Bridging column only if  the Vertex 1 column in the Edges table contains the name of the current vertex. Do the same if the name of the current vertex is in the vertex 2 column.

A value of zero means that the vertex is not a bridging node. The higher the value, the higher the number of connections of this vertex to people outside its group or circle of friends:

The last step is to hide the non-bridging vertices. In the Visibility column of the vertices sheet, type the following formula: =IF([@Bridge]=0,”Hide”,”Show”)

You can also use “Skip” instead of “Hide” to exclude the non-bridging vertices from future calculations (need recalculation).

To display the names of the vertices, in the “Label” column, type =[@Vertex]

In the image below, for aesthetic purposes, I hid all the bridging nodes that have less than ten connections with other groups (=IF([@Bridge]<10,”Hide”,”Show”) in the Visibility column of the vertices sheet instead of =IF([@Bridge]=0,”Hide”,”Show”):

In a glimpse, we can now see that “canal plus”, “cannes festival”, “nadine labaki”, “sony classics”, etc., have helped disseminate the information to ten groups or more.

The sheet used for this post can be downloaded here.

 

Facebooktwitter Facebooktwitter

Converting VCF contacts to Excel or CSV

One VCF or several VCF?

A VCF file can hold several contacts. So, you may have just one VCF for all your contacts (ideal) or one VCF for each contact. If this is the case, you need to merge all your contacts into one file. To do this, open your command prompt and use the following command in the vcf folder:

copy *.vcf all.vcf

This will merge all the vcf(s) into one file name “all.vcf”

Converting to Excel or CSV

Download the “Free VCF file to CSV or Excel converter” macro from here and open it. It will automatically launch Excel and ask you for a file to convert.

Choose “all.csv”

Save the file.

That’s it!

Facebooktwitter Facebooktwitter

Fixing Audio Recording Problems with Screen Recorders

This fix has worked with Apowersoft Video Download Capture screen recording program. This solves the problem of recording video but not getting any audio recorded (no sound).

The fix is to enable the Stereo Mix device and to disable the Microphone in the recording devices tab. Leaving Microphone enable will also record ambient sound in the room.

Once you have enabled Stereo Mix as your default device, just select Microphone in your screen recording software (in my case Apowersoft Video Download Capture) as your  audio capture device:

Does this help? let me know.

Facebooktwitter Facebooktwitter

Exercice NodeXL (Français – 2017)

Nous avons collecté 16,057 tweets contenant le nom « trump » (semaine du 28 Décembre 2017).

Vous pouvez installer et utiliser NodeXL Basic (http://nodexl.codeplex.com/) ou simplement Excel pour consulter les données et variables (qui ont déjà été calculées)

  • Regarder le graphe. Que pouvez-vous en déduire ? (se baser sur les modèles présentés dans l’article : http://www.pewinternet.org/2014/02/20/mapping-twitter-topic-networks-from-polarized-crowds-to-community-clusters/).
  • Qui sont les vingt plus grands influenceurs du groupe (degree-in) ?
  • Qui sont les vingt plus grands « influençables » du groupe (degree-out) ?
  • Quelle est la différence entre les deux ? Discutez
  • Quelles sont les 5 personnes qui sont au « centre » de toutes les discussions (closeness-centrality) ? Que signifie cela (chercher la définition sur Internet et l’expliquer dans ce cas précis)
  • Quel est la personne qui est au centre de la discussion (
  • De quoi parlent les 5 premiers groupes (G1 à G5) ? s’inspirer des « top words in tweets » de la feuille «Twitter Search Ntwrk Top Items» du fichier Excel.
  • Que pouvez-vous dire du groupe G3 (noter que dans la feuille « Groups », dans le groupe G3, « total edges » et « self-loops » sont égaux) ?
  • Dans la feuille « overall metrics », expliquer (en cherchant les définitions sur Internet et en expliquant pour ce cas précis):
    1. Graph Density
    2. Modularity
    3. Vertices
    4. Edges
    5. Edges with Duplicates
    6. Reciprocated Vertex Pair Ratio
    7. Connected components
    8. Maximum Vertices in a Connected Component
    9. Diameter (Maximum Geodesic Distance)
    10. Average Geodesic Distance
  • Vos remarques et réflexions personnelles sur cette discussion

NodeXLGraph Trump (13 MB, ne pas oublier d’activer l’option “Enable Edit”)

 

Facebooktwitter Facebooktwitter

From Smart Mobs to Smart Govs

My presentation “From Smart Mobs to Smart Govs*” in the Tech4PoliticalChange panel at the Tech4Freedom conference that took place at the Riviera Hotel in Beirut, Lebanon, on Thursday 14 and Friday 15 of December 2017.

*Smarts Govs is a term I have invented to describe governments, dictators, political establishment and political actors who learned how to use digital tools to their advantage, shifting power back to its original position.

Facebooktwitter Facebooktwitter

From “What” to “How”: A Twitter Discussion Analysis

  On Nov. 5, 2017, after the resignation of Prime Minister Saad el Hariri on TV from KSA, the trending hashtag in Lebanon was #استقالة_سعد_الحريري (the resignation of Saad Hariri). The discussion on Twitter was revolving around the “What” happened. The day after, the discussion, on the contrary, was focused on the “How” it happened, mainly a new hashtag #الاقامة_الجبرية or “house arrest” (forced residence). This shift in perspective is quite interesting from a political point of view because it automatically negates the effects and reasons for the resignation, and even the resignation itself. We ask ourselves how did this really happen on Twitter? Based on a sample of 6,867 tweets all containing the “house arrest” hashtag, we conclude the following:

  • The hashtag was initially launched by ArabTimes and MBNsaudi pertaining to the arrest of several princes in KSA, not including Saad Hariri
  • The hashtag was reetweeted and “owned” by Wiam Wahab who was, in turn, mentioned, retweet and commented 270 times.
  • Another interesting trending Tweet (161 engagements) is the one that was launched by Charbel Khalil, asking Saad Hariri to take a selfie anywhere outside his residence in KSA to prove he’s not detained.

 

Facebooktwitter Facebooktwitter

Conference of Diya Obeid, CEO of JobDiva

It was a great pleasure for me and the Master in Human Resources and Leadership to welcome Mr. Diya Obeid, CEO of JobDiva for a lecture about HR technology in the age of big data.

Mr. Diya Obeid is the founder of both JobDiva and Axelon, two staffing and recruitment companies headquartered in NY city.

Mr. Obeid is a holder of several patents in technology, job search and job matching.

During his lecture, he talked about the evolution of jobs and how lay-offs were hurtful to a company’s image less than a century ago. He said that staffing is trending again in the gig economy. Staffing was in fact the way jobs used to be before the full-time employment scheme. Today, in the US, 5 to 15% of employment contracts are done through staffing.

Technology helps match the right person to the right job at the right time. While technology is not 100% perfect, he says that he considers a system efficient is the margin of errors is less than 5%.

Mr. Obeid described the landscape of technologies and tools related to recruitment, job search and staffing. He talked about the criteria to select the right software for your company. Basically, avoid taking the CIO with you (you don’t bring your mechanic with you to buy a new car), choose a system that is configurable and not customizable, and use a cloud based solution.

He concluded that tomorrow’s jobs are for the “right-brainers”. There will always be jobs for technicians but companies will look for people with social skills: philosophy, psychology, sociology, etc., because these skills will become indispensable, even for those who choose a technical career.

 

 

This is a link to the PowerPoint file of the presentation

Facebooktwitter Facebooktwitter