rtodd.net

What is this site all about?

I realized after years of playing around with scripting, APIs, and graphics, that my stuff was in a few dozen folders across three computers and four external hard drives. This site is my attempt to wrangle all the stuff I've done into one place.

Fair warning - this is my place to play. You'll find a great deal of lorum ipsum, blank pages, unfinished documentation, and maybe a few scripts that don't work. This reference is for me and any wary souls who happen upon it. I'm working hard to fill in the gapsa anc clean up the code.

My current passions are the HTML5 APIs, geolocation, D3's javascript library, NLTK (natural language processing) and Backbone JS.

APIS

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus auctor auctor malesuada. Aliquam erat volutpat. Ut at lectus eget quam eleifend viverra. Nullam tristique facilisis ante, a tincidunt neque ullamcorper quis. Suspendisse tempor egestas placerat. Morbi nunc mi, condimentum eu scelerisque sed, iaculis at lacus.

Simple example showing the Most Emailed, Most Shared, and Most Viewed stories from the Ney York Times.

The Geographic API extends the Semantic API, using a linked data approach to enhance location concepts used in The New York Times' controlled vocabulary and data resources which combine them with the GeoNames database, an authoritative and free to use database of global geographical places, names and features.

The table shows a list of the 20 closest cities to Kennesaw, GA that are populated with over 100,000 people.

Simple example for the NYTimes Newswire API. With the Times Newswire API, you can get links and metadata for Times articles and blog posts as soon as they are published on NYTimes.com. The Times Newswire API provides an up-to-the-minute stream of published items.

This sample is example of pulling a Twitter feed from a specific group of users. I'm only showing the most recent five tweets from each person, as well as their avatar, header image, Twitter description, and tweet favorites. The scraping is done by a Python script that I created and is not streaming.

I really enjoy scraping social media. This is a simple example of scraping the photos from a list of actors and presenting them in a slider. The scraper is written in javascript, but I've also written a Python version for my Social Hub project.

HTML5 - Geolocation & Google Maps

My favorite apis to play around with are the HTML5 Geolocation API and the Google Maps API. The samples below are just a few of my mini-projects.

The chart maps the elevations on a graph using 128 samples. The elevations are divided into five intervals - four above sea level and one below. Those intervals are displayed by different colors on the chart. You can hover over the elevation bars in the chart to see the elevations. The chart is done with D3.

An example of the Google Maps Point of View and Street View showing popular tourist areas in London.

A simple example of the Google Maps weather layer. Click on a city to see the five day forecast.

HTML5 APIS - WebGL & SVGs

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus auctor auctor malesuada. Aliquam erat volutpat. Ut at lectus eget quam eleifend viverra. Nullam tristique facilisis ante, a tincidunt neque ullamcorper quis. Suspendisse tempor egestas placerat. Morbi nunc mi, condimentum eu scelerisque sed, iaculis at lacus.

The goal for this project was to see how large (in bytes) an svg drawing would be if I attempted to "programmatically" redrew one of my Adobe Illustrator creations.

The coded version is scalable without becoming pixelated and editable within code or by user interaction.

I got tired of trying to find one font that had all the icons and symbols I needed for a project, so I decided to create my own. All the font symbols are drawn in Adobe Illustrator, exported out as svgs, then converted with Font Custom.

A simple example of the HTML5 WebGL API.

A simple example of the HTML5 WebGL API.

HTML5 APIS - Performance & Drag and Drop

The HTML5 Performance Timeline API defines a unified interface to store and retrieve performance metric data. This simple project measures the file names, start time, and duration of download to the user's browser. I'm loading sixteen medium sized images, css, and javascript to render the page. The API measures the load preformance time.

A simple project to show the feaures of the HTML5 drag and drop API.

You can drag and drop any box over another to have them switch locations in the grid. You can also choose other categories to see the people/data in that category. Currently this a list is of politicians. The list is not complete, and I'll be adding more categories to it in the future.

Working Projects

The two projects below are done in Python, Jinja2, MongoEngine, and Mongo DB. I hope to get the projects deployed to Heroku in the near future. They are both works in progress.

I started this project about six months ago. Its a non-partisan informative site dedicated to who are the Senate and House respresentatives from each state. It is built using Python, Jinja2, MongoDB, MongoEngine, and Javascript. I've gathered the representatives from each state and stored them in a Mongo DB. It scrapes the social accounts of each representative, as well as their political history from the USA Today Congressional API.

I'm working on finishing it up and will be deploying it to Heroku in the near future.

I needed a place to compile all the social media scraping I was doing. So, I created a "social hub" that is categorized by types of celebrities. It is built using Python, Jinja2, MongoDB, MongoEngine, and Javascript. I've gathered the representatives from each state and stored them in a Mongo DB. It scrapes the social accounts of each person. I also plan on using natural language processing (NLTK) to analyze and chart the text in each group's postings in the near future.

I'm working on finishing it up and will be deploying it to Heroku in the near future.