Quick Graphviz Tutorial

Wed 02 January 2019 by Dr. Dirk Colbry

vim system diagram

This quick tutorial shows provides basic instructions for generating the above graph using Graphviz.


If you already have Anaconda installed on your system, you can quickly install graphviz using the following command:

conda install graphviz

Once graphviz is installed you need to create a text file with the connections. This file is called a dot file. There are a lot of tutorials about the dot syntax but the basics is to make a list of nodes and their connections. For example, the following file (called test.dot) makes the figure above. Use the -> to indicate a directed link and a -- to indicate a bi-directional link:

digraph G {
 Linux -> Normal  [ label="vim" ];
 Normal  -> Insert  [ label="i/I/a/A/o/O" ];
 Insert  -> Normal [ label="Esc"];
 Normal  -> Command  [ label=": (colon)"];
 Command  -> Normal  [ label="w"];
 Command  -> Linux [ label="q/q!/wq/x"]

Once you have the file you can make an image using the following dot command (dot is one of the commands installed by Graphviz)

dot -Tpng test.dot -ovim.png

Just for fun, I tried my dot file with the other tools provided with Graphviz (twopim, sfdp, neato, osage, fdp, circo and patchwork). They don't look as good as dot (most of them mess up the line labels) however i could see that they may be useful (and easy) for other figures:

twopim sfdp neato osage fdp circo patchwork

Hope you find this useful.

Accessing a computer's camera inside of jupyter without installing OpenCV (Also works in Jupyterhub)

Fri 21 December 2018 by Dirk Colbry

The following code lets you take pictures inside of jupyter notebooks. It uses Javascript inside of jupyterhub to access the client computers camera and transfer images back into python.

I am particularly proud of this code because of the following features:

  • Does not require the installation of OpenCV (This can be tricky)
  • read more

Using an X11 Virtual Frame Buffer to run GUI jobs in batch mode on the HPC.

Thu 20 December 2018 by Dr. Dirk Colbry

X11 Logo

I have an example program that came with BCCD called Pandemic which I wanted to run on our local HPCC. Unfortunately Pandemic requires X11 to run and I would get a segmentation fault every time I ran it in the batch system.

This blog post shows how I used the …

read more

How do we know what we don't know we don't know?

Fri 07 December 2018 by Dr. Dirk Colbry


Faculty at MSU conducted a workshop to brainstorm and discuss ways we can try and foresee how education will be changed by technology in an effort to get ahead of the changes and make sure our teaching goals and values stay intact.

My presentation was about the difficulty in predicting …

read more

Emerging Technologies (FPGAs) @ 2018 ACI-REF VR

Fri 10 August 2018 by Dr. Dirk Colbry

Picture from Panel

Today is the last day of the 2018 ACI-REF Virtual residency workshop here in Norman Ok. It was a great week with a lot of great people. I highly recommend the workshop for anyone in the area of Advanced Computing Instruction especially those do some Research and Education Facilitation in …

read more

Deciding Which Technologies to Adopt, and When @ 2018 ACI-REF VR

Wed 08 August 2018 by Dr. Dirk Colbry

Image used in presentation representing the technology adoption wave

I had fun leading a discussion on Deciding Which Technologies to Adopt, and When at the 2018 ACI-REF Virtual residency event in Norman Oklahoma. Since many of the participants were virtual I experimented with doing a Brainstorming exercise over zoom. We had local volunteers on typing in comments from our …

read more

Teams of CI Professionals: Recruitment & Retention, Management, Team-building, and Motivation Panel @ 2018 ACI-REF VR

Tue 07 August 2018 by Dr. Dirk Colbry

Image from Panel

Thank you Aaron Bergstrom (U North Dakota) for facilitating the panel discussion on Teams of CI Professionals: Recruitment & Retention, Management, Team-building, and Motivation at the 2018 ACI-REF Virtual residency. My fellow panel members included:

  • Jerry Perez, U Texas Dallas
  • Derek Leydig, Pennsylvania State U
  • Claire Mizumoto, U California San Diego …
read more

Leading and Listening in Complex CI Conversations @ 2018 ACI-REF VR

Mon 06 August 2018 by Dr. Dirk Colbry

Graphical Depiction of two people having a complex conversation

I just got done trying out our latest CyberAmbassador Curriculum developed specifically for the 2018 ACI-REF Virtual residency.

We had some growing pains related to getting zoom breakout rooms working with a large group of people calling in. Some didn't have working mics, others work in a group room and …

read more

Progress Update on the Development and Implementation of the Advanced CI-REF VR Program

Wed 25 July 2018 by Dr. Dirk Colbry

ACI-Ref Buiding Picture

Henry Neeman did a great job presenting our paper on Progress Update for the CI-REF VR Program at PEARC18.

Writing of this paper was truly a unique experience for me. The entire paper was written virtually over weekly video conference meetings and included the thirteen sited (maximum) authors and I …

read more

Fitting iCE-Cube Neutrino Path models using Neural Networks

Tue 24 July 2018 by Dr. Dirk Colbry

Mohammed and his poster

This summer Mohammed Salih worked with me as part of the Engineering ENSURE Program. He presented his work with Jessie Micallef and me as a poster at MidSURE.

Poster Abstract: Neutrinos are small particles with a mass close to zero. It’s rare interaction with normal matter makes it difficult …

read more