- Resume
- Ph. D.
- GitHub
- Video Lectures on YouTube
- University Transcript
- Photos on Flickr
- Music on SoundCloud
- d3-area-label
- d3-component A lightweight component abstraction for D3.js.
- Campaign Finance Institute data exploration and download tool An interactive visualization of the Campaign Finance Institute database of campaign finance law, spanning all US States and every other year since 1996.
- josquin-ribbon A consulting project done for a music research group at Stanford University.
- Introduction to Data Visualization (YouTube Video)
- The Reactive Model Stack (Open Source Projects)
- Splitting Charts Tutorial Series
- Screencast: JavaScript Modules & Build Tools - A brief tour of the ocean of tools around JavaScript Modules. Covers Browser Globals, Namespaces, UglifyJS, CommonJS, AMD, ES6, Browserify, Webpack, RequireJS, JSPM, Esperanto, Rollup, Gulp, Babel, Traceur, and Make.
- Visualization examples on bl.ocks.org
- Screencast: Introduction to D3.js - This screencast covers how to create data visualizations with D3.js.
- Published Academic Paper: Reactive Data Visualizations A paper about using functional reactive programming for interactive data visualization, published at SPIE Visualization and Data Analysis 2015, February 2015, San Francisco, CA.
- Chiasm An Open Source plugin architecture for information visualization.
- ModelJS A functional reactive programming library for interactive data visualizations.
- Cross Country Trip Map - A geographically oriented photo show of my cross country trip. Built using Leaflet.
- Constructing Interactive Data Visualizations - A YouTube talk on my planned data visualization work - Chiasm.
- Visualizing the Universal Data Cube - Doctoral dissertation
- model.js - A functional reactive model library for building dynamic data visualizations.
- Navigation for Single Page Applications - This screencast covers how to construct a single page application with a tab-like navigation user interface and routing.
- Reactive Data Visualization - A presentation on reactive model driven data visualization, given at the Bay Area d3 User Group Meetup.
- Visualizing the Universal Data Cube - My doctoral dissertation about integrating and visualization heterogeneous data cubes using HTML5.
- Introduction to Angular.js in 50 examples (part 1) - screencast - code - A lecture that first covers background of data binding, single-page-apps and related libraries, then introduces Angular features by example.
- Web-based Data Visualization (December 2013) - A presentation that surveys the state of the art in Web-based Data Visualization and related technologies.
- Building a Graphing Calculator with HTML5 (November 2013) - A screencast tutorial in which students learn how to program a graphing calculator in HTML5 from scratch.
- Notes (November 2013) - A Backbone.js powered serverless blog engine, used for publishing miscellaneous notes.
- Tutorial on Web Graphics and Visualization Technologies (October 2013) - The material presented at the IEEE Vis 2013 conference in a tutorial called "Mobile and cloud Web-based graphics and visualization".
- Rapid7 User Insight Ingress Dashboard (June - August 2013) - Designed and implemented an interactive visualization dashboard with multiple linked views for exploring and presenting corporate login data. This work is in production in Rapid7's UserInsight cybersecurity data analysis product (it's the map with pie charts, timeline and bar chart). See also the UserInsight Data Sheet, which features a screenshot of the map.
- Screencast on Mathematical Graphical Patterns (July 2013) - A screencast from a tutorial given at MIT on July 28, 2013. Part of the HSSP 2013 course Computer Programming and Interactive Graphics. In this tutorial we explore variations on mathematical animations of a grid of circles.
- dashboardScaffold (July 2013) - An open source visualization dashboard layout and dynamic configuration framework. Developed while interning at Rapid7 creating cybersecurity visualization visualization dashboards with multiple linked views.
- Introduction to Computer Programming (July 2013) - A screencast from a tutorial given at MIT on July 21, 2013. Part of the HSSP 2013 course Computer Programming and Interactive Graphics. Covers JavaScript language features and basic graphics.
- Grammar of Graphics in HTML5 (pdf)
- Mandelbrot A Mandelbrot Set renderer that runs on the GPU using WebGL shaders.
- Lambda A Lambda Calculus interpreter in Haskell and CoffeeScript.
- HTML5 Polygon Editor (April 2013) - A screencast on building a Polygon Editor using Backbone, Require.js, and Canvas.
- HTML5 Bouncing Circles (March 2013) - A screencast in which a simulation of bouncing and colliding balls is programmed from scratch using JavaScript and HTML5 Canvas.
- Introduction to JavaScript and HTML5 Canvas (February 2013) - A screencast introducing JavaScript and HTML5 Canvas, from a tutorial given at UMass Lowell sponsored by the ACM and UML Computer Science Graduate Student Organization.
- Introduction to Computer Programming and Interactive Graphics - The blog used throughout a course I taught at MIT on HTML5 graphics to high school students as part of MIT's summer Junction program.
- HTML5 Graphics Examples from the course: run them, source code
- [Cloud and Mobile Web Graphics and Visualization](http://curran.github.com/portfolio/2012/Cloud and Mobile Web Graphics and Visualization.pdf) - An encyclopedia entry on Web graphics technology.
- CodeHub - Slides from a presentation on a Web-based IDE project.
- [Quadstream Project Report](http://curran.github.com/portfolio/2012/Quadstream Project Report.pdf) - A report from a class project on multi-scale polygon generalization for Web-based choropleth maps.
- [A Web-based Data Cube Visualization Ecosystem Architecture](http://curran.github.com/portfolio/2012/A Web-based Data Cube Visualization Ecosystem Architecture.pdf) - A summary of my doctoral dissertation, presented at the IEEE VisWeek 2012 Doctoral Colloquium.
- WebGL Examples - Educational examples produced while I was a Teaching Assistant for the course "Computer Graphics with OpenGL ES".
- [Fractal Perspective](http://curran.github.com/portfolio/2011/Fractal Perspective.pdf) - A concept paper on visualizing RDF, presented at the Fifteenth International Conference on Information Visualisation (IV'11) in London.
- [Assessing Risks for Families with Inherited Cancers](http://curran.github.com/portfolio/2011/Assessing Risks for Families with Inherited Cancers.pdf) - A paper on the breast cancer risk assessment platform I worked on at Masachusetts General Hospital. Presented at IEEE VisWeek 2011: Workshop on Visual Analytics in Healthcare.
- [Multiscale Visualization using Data Cubes](http://curran.github.com/portfolio/2010/Multiscale Visualization using Data Cubes.pdf) - Slides from a presentation on the paper Multiscale Visualization Using Data Cubes
- [Universal Data Cube](http://curran.github.com/portfolio/2010/Universal Data Cube.pdf) - A report on my work on developing the "Universal Data Cube" concept at University of Konstanz.
- [Visualizing Bureau of Labor Statistics Employment Data](http://curran.github.com/portfolio/2010/Visualizing Bureau of Labor Statistics Employment Data.pdf) - Slides on a class project where Employment data was explred visually using Tableau.
- 3D Graphing Calculator in Clojure - A class project where Clojure and OpenGL were used to build a 3D surface plotter with mouse rotation controls.
- [Life of a Human - A Year in Germany](http://curran.github.com/portfolio/2008/Life of a Human - A Year in Germany.pdf) - The book I compiled from my blog posts during my year abroad in Germany.
- 3D Graphing Calculator and Physics Simulation
- RecursiveStructuresAndProcesses - The material I covered when I co-taught an 8-week course with MIT student Justin Curry, entitled "Gödel, Escher, Bach: A Mental Space Odyssey". Lecture videos available on MIT's OpenCourseWare.
- JyVis - A paper on a Java-based interactive information visualization system I built at a summer project. Published as a technical report by UMass Lowell.
-
[Collecting and Harnessing Rich Session Histories](http://curran.github.com/portfolio/2006/Collecting and Harnessing Rich Session Histories.pdf) and [Metrics for Analyzing Rich Session Histories](http://curran.github.com/portfolio/2006/Metrics for Analyzing Rich Session Histories.pdf) - Papers from work done at the IVPR on the session history replay and analysis features of the Universal Visualization Platform.
-
[Information Theoretic and Complexity Considerations in Four Classes of Cellular Automata](http://curran.github.com/portfolio/2006/Information Theoretic and Complexity Considerations in Four Classes of Cellular Automata.pdf) - A report from a project done at an intensive week-long course in Dynamics of Complex Systems taught by Yaneer Bar-Yam at MIT.