Another year, another Vision Sciences Society force-directed diagram of co-authorships (see last year’s 2014 VSS DNA). This year, we have 1419 abstracts being analyzed. The graph was generated in Python using NetworkX, with authors and abstracts as nodes and edges corresponding to authorship. Individuals who are authors on more than one abstract will have edges connecting to those abstracts.
Orange dots are abstracts, light blue dots correspond to individuals who are first authors, and dark blue dots correspond to the other author(s). This visualisation should not to be interpreted as sets of in-groups/out-groups. It ignores past/future VSS co-authorships, casual collaborations, professional collaborations outside of VSS, and likely has inaccuracies due to the way authors’ names are analysed (see after the break for more). I am intrigued by the “scholarly social network” and this visualization is just one piece of a very incomplete puzzle.
I had a red and black The North Face backpack/Rucksack taken from a train in Frankfurt, Germany this past Monday, so I’m posting this online with the hope, however remote, to contact the individual(s) who removed the bag from the train and to see if they can contact me to return it. It contained my DSLR camera, lenses, and a number of personal keepsakes that have really hurt to lose.
Here is a short run-down of what happened: On Monday, December 29th, 2014, I went down to the Frankfurt central train station (Hauptbahnhof) with my wife and friends to go ice skating at the Eissporthalle Frankfurt. We took a Deutsche Bahn (DB) train from Giessen, Germany to Frankfurt, Germany, departing at 3:22 PM and
arriving at 4:02 PM. At the beginning of the trip, I placed my backpack on the
luggage rack above the seat. About 10 minutes after exiting the train, after having taken an S-Bahn train to Hauptwache, I realized I did not have my bag. I immediately took another S-Bahn back to Frankfurt Hbf, ran up to the train platform, and found my train still waiting at the track (total time from departing the train to returning was approximately 20 minutes). I quickly searched the train because it was about to leave to head northward, but the backpack was gone.
I immediately notified the DB lost property office (Fundbüro) and made a
claim. I also notified the police but will need to wait 1 week before I can officially file a police report (which I plan on doing on Monday if the bag has not been found).
Unfortunately, I don’t know how much identifying information was in the backpack (it did not contain any IDs), but in the future, I will make sure to include contact information on the camera to help the person who finds my things to reach out to me, if this were to ever happen again.
In the USA, a standard drink is defined as including 0.6 fluid ounce (18 mL or 14 g) of ethanol (see Alcohol equivalence), meaning that a “standard” 12 oz beer has about 5% ABV. However, beers vary quite a bit in their alcohol content as well as their caloric content, so it seems reasonable to ask: If I have a beer with a given ABV, approximately how many calories does it have?
While browsing the web, I found a table listing the calories in a number of beers and thought it would be interesting to visualize using Python and plot.ly. It is a simple visualization, but one I find neat. So, without further adieu:
Each blue point on the plot is a beer from the beer100.com domestic and international tables — feel free to explore the plot with your mouse. As you can see, unsurprisingly, as a beer’s alcohol content increases, so do the number of calories. Fitting a linear regression to the data, we see that a linear trend fits quite well: , where is the beer’s ABV (in percent). This means that if a beer has an alcoholic content of 5%, we can expect it to have approximately 150 calories (149.25 as predicted by the fit). However, there is quite a bit of variability between different beers of the same ABV. For example, Bud Ice Light and Kronenbourg Imported Dark Beer (whose label is a bit ambiguous, but I am assuming may be Kronenbourg 1664 Brune) are both 5% ABV, but have 115 and 163 calories per 12 oz, respectively.
Last night there was a great full moon, so I tried to capture it with my DSLR, a Canon T3i (which is discontinued, replaced as of today with the T5i), and a Tamron 18-250mm F/3.5-6.3 Macro lens.
To capture it, I setup a tripod inside, facing out an (admittedly) dirty window, disabled the len’s optical stabilization, turned on the T3i’s 3x digital crop zoom, and composed the shot. Only post-processing was to speed up the captured clip because the original was ~10 minutes long, shifting the movie to vertically center the moon’s precession, and adding an ambient background track. I’m impressed with what I was able to capture with such an inexpensive lens.
I am moving my blog post formatting code over to Markdown and found an incredibly useful HTML to Markdown converter by Dom Christie. It allows me to take HTML, for example:
<code><h2>A great list of websites:</h2>
<li><a href = "http://www.semifluid.com">Semifluid.com</a></li>
<li><a href = "https://uni-giessen.academia.edu/StevenACholewiak">Steven Cholewiak's Academia.edu profile</a></li>
<li><a href = "https://www.researchgate.net/profile/Steven_Cholewiak">Steven Cholewiak's ResearchGate.com profile</a></li>
And easily convert it to markdown:
## A great list of websites:
* [Steven Cholewiak's Academia.edu profile](https://uni-giessen.academia.edu/StevenACholewiak)
* [Steven Cholewiak's ResearchGate.com profile](https://www.researchgate.net/profile/Steven_Cholewiak)
The code can be found on GitHub at to-markdown and Dom has a live demo available too.
Since my Johannisbeeren (red currant) Pastries video on Vimeo is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike license (CC BY-NC-SA 3.0), anyone is free to share, modify, and adapt it, as long as they make sure to note that I created it (and as long as it is not used for commercial purposes).
The FoodieTV app, from Glam Media, took advantage of the open nature of the licensing and just included my video in their latest episode (S2E12):
Cool! FoodieTV is a free app on the Apple iTunes Store (unsolicited shout-out and thank you for the free exposure).
Another post, another neat force-directed graph. This one illustrates the interconnections between professors and students who have been co-authors on some of my papers and presentations, as scrapped from Google Scholar citations. It could be described as the first version of a rough illustration of my 2 degrees of separation in academia.
The dark orange circle in the center is myself, light blue circles are papers/presentations, light orange circles are co-authors, and dark-blue circles are co-authors of my co-authors (i.e., have not necessarily directly worked with me on a project).
Unfortunately, as of today, not all of my co-authors have Google Scholar pages, so there are a number of co-authors whose connections and branches are under-represented. In addition, Google Scholar does not necessarily accumulate all of a given author’s papers/presentations and often makes mistakes misattributing papers to profiles. So, the veracity of the information represented here should be taken with a grain of salt unless I find a better service for generating these networks.
For some more information on how this was created, click-through to the post.
Here’s an illustration I pulled together using Python, NetworkX, and D3.js to illustrate the interconnections between abstracts that will be presented at the Vision Sciences Society 2014 annual meeting in approximately 2 weeks. Orange dots represent abstracts, Light Blue dots represent authors with at least one first authorship, and Dark Blue dots represent other authors (second through last).
As you can see, there are large numbers of abstracts that have few shared authors. Those abstracts that share authors often join together to create “chains” of students, advisors, and colleagues.
This is a first version, hastily pulled together, so there are a few problems. The nodes are assigned to authors by name, which can be a problem for authors sharing the same name (which creates more connections than appropriate for a given node) or who have inconsistent reporting of their name (for example, omitting the middle initial or alternate spelling, which can create another erroneous node). I am thinking of addressing the duplicate node issue by using a string similarity metric (e.g., Levenshtein distance) to find strings that contain similar names to combine the connections, but this could be an issue if the names are truly different people. Alternatively, I could incorporate the authors’ affiliations, but this carries similar issues (e.g., I report my affiliation as “University of Giessen” while colleagues report it as “Justus-Liebig-Universität Gießen”).
Although there are lingering issues, it is still an interesting illustration of the connections between the different abstracts being presented at VSS 2014.
Here’s the code on GitHub: visvssrelationships