Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Network Analysis: Tech Evangelism London Meetup

719 views

Published on

The real magic in any community comes from the people. Dawn will show you tools and techniques for performing network analysis to look at the people in your community along with the relationships between them. Why settle for boring numbers and line charts to describe your community when you can do cool visualizations that show how people connect within your open source community?

This talk will cover
* Principles of network analysis.
* Using tools like mlstats and others to pull data from your community and store it in a database.
* Running basic queries to extract the data needed for network analysis.
* Demonstrate techniques for doing network analysis.
* Show examples of visualizations.

The goal is for people to walk away with some basic techniques and tools that they can use to begin doing network analysis of their own and to make their metrics awesome.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Network Analysis: Tech Evangelism London Meetup

  1. 1. NETWORK ANALYSIS: PEOPLE AND COMMUNITIES Dawn M. Foster @geekygirldawn   dawn@dawnfoster.com   fastwonderblog.com PhD  Student   University  of  Greenwich   London,  UK
  2. 2. WHOAMI • Geek, traveler, reader • 20 year tech career. Past 15 years doing community & open source (Intel, Jive, Puppet Labs, etc.) • PhD student at University of Greenwich researching Linux kernel Photos by Josh Bancroft, Don Park
  3. 3. WHAT IS NETWORK ANALYSIS? Studies relationships between units and looks for patterns and structure in those relationships Image from ANAMIA Project
  4. 4. AGENDA AND INFO • Gathering your data • Data manipulation for network analysis • Visualization • What else can you do? Image from a Northern Marina Islands Network Scripts, Data, and More:
 github.com/geekygirldawn/linuxcon_2015
  5. 5. I 💖 METRICS GRIMOIRE MailingListStats aka MLStats CVSAnalY - repos Bicho - bugs More Photo by Bitergia http://metricsgrimoire.github.io/
  6. 6. MLSTATS a) Install mlstats $ python setup.py install b) Create database mysql> create database mlstats; c) Import data by running mlstats $ mlstats --db-user=USERNAME --db-password=PASS http://URLOFYOURLIST
  7. 7. MLSTATS: EXTRACT DATA SELECT mp.email_address AS sender,
 (SELECT mp2.email_address FROM 
 messages m2, messages_people mp2 WHERE m2.is_response_of=m.is_response_of 
 AND mp2.message_id=m2.is_response_of limit 1) AS receiver FROM messages_people mp, messages m WHERE YEAR(m.first_date)=2015 AND MONTH(m.first_date)=1 AND mp.message_id=m.message_id; people sending emails subquery: who they replied to limittime formanageable data Network Analysis Output for R / Visone: sender@example.com in_reply_to@example.com sender1@example.com in_reply_to1@example.com sender2@example.com in_reply_to2@example.com ...
  8. 8. EXTRACT DATA: SCRIPTS Reformat / clean up data Reproducible Reduce human error linuxcon.py script Image from Mark Grealish github.com/geekygirldawn/linuxcon_2015
  9. 9. R / VISONE / GOURCE Convert data for better use with network analysis Visualize data using
 RStudio, Visone, and Gource
  10. 10. Image from WebOps.com
  11. 11. WHAT ELSE? So many visualization tools Python network packages Other data sources / APIs Network analysis is more than just pretty pictures!
  12. 12. Dawn Foster University of Greenwich Centre for Business Network Analysis www2.gre.ac.uk/about/faculty/business/research/centres/cbna/home @geekygirldawn, dawn@dawnfoster.com fastwonderblog.com THANK YOU
  13. 13. BACKUP Stuff I don't have time to cover, but that you might find interesting.
  14. 14. GOURCE CUSTOM FORMAT Pipe Separated File timestamp - A unix timestamp of when the update occured.
 username - The name of the user who made the update.
 type - Update type - (A)dded, (M)odified or (D)eleted.
 file - Path of the file.
 color - Color for the file in hex (FFFFFF) format (Optional) Examples: 1275543595|andrew|A|src/main.cpp
 1275543700|bob|M|src/main.cpp https://github.com/acaudwell/Gource/wiki/Custom-Log-Format
  15. 15. EXAMPLE: a) Extract data using mlstats / database queries b) Generate Gource custom format (pipe sep file) unixtime|user-email_sender|A|new
 unixtime|user-email_sender|M|user-in_response_to OR) Run linuxcon.py from my linuxcon_2015 repo (a & b) c) Run Gource $ gource -i 10 --max-user-speed 100 -a 1 --highlight-users 
 gource_output.log github.com/geekygirldawn/linuxcon_2015
  16. 16. OTHER OPTIONS Bug data Wikis Other stuff https://github.com/acaudwell/Gource/wiki/Custom-Log-Format Photo by Bitergia

×