I enjoy both the design and development of software and digital media artifacts across a variety of languages and platforms.
All personal projects are under source control with Mercurial at http://www.joshuacuneo.com/hg/.
I enjoy both the design and development of software and digital media artifacts across a variety of languages and platforms.
All personal projects are under source control with Mercurial at http://www.joshuacuneo.com/hg/.
These videos demo a few of the projects that I created to teach CS 4731: Computer Graphics. All of these programs were written in JavaScript and OpenGL Shading Language, collectively known as WebGL.
Project 1: Polibook – This is a simple 2D drawing program that allows the user to either draw shapes natively or import predefined vector files.
Project 2: 3D Wireframes (No audio) – In this program, the user can import vector files that describe 3D wireframes and then apply some simple animations.
Final Project, Part I (No audio) – This is a simple 3D modeling program where the user has constructed a mobile and can adjust the lighting. It also exemplifies hierarchical modeling.
Final Project, Part II (No audio) – Building on Part I, this program adds textures, reflections, refractions, and shadows, all of which can be toggled on and off.
These are a few videos that I created in 2018 that cover some of the basics of computer programming.
This is the calculator that I asked my students to program as part of their final project for ITEC 2120: Introduction to Programming. The calculator requires them to use most of the basic programming concepts: variables and arithmetic, decision statements, loops, arrays, functions, and subroutines. This calculator is capable both of basic arithmetic and of processing lists of numbers.
Visual Basic Calculator (Download)
I was on the development team for the FlightSight (part of the QuickShot software package) during my tenure with SpaceWorks, Inc. This software application helps users visualize flight trajectories in a three-dimensional virtual space. The software interfaces well with a variety of third-party applications, including MATLAB, and users have a lot of control over the appearance and behavior of the simulation. I assisted with the incorporation of Google Maps into the program and moving the project onto a version control system.
FeedControl is a back-end script that I use to control and filter the RSS and podcast feeds that I use for my daily news. This script provides several key features, most notably filtering out posts by keyword (both traditional and regular expression pattern matching) and controlling when the feed gets updated. I can also pause my feeds when I’m on vacation. FeedControl works by routinely monitoring each of my choice RSS feeds and dumping the filtered results into a corresponding custom feed, which I can then plug into my RSS and podcast readers of choice.
I also pass many of the incoming RSS feeds through tt-rss, which allows me perform pattern matching on the entire content of each article rather than just the title and brief description. This is thanks to a tt-rss plug-in that can substitute in article content with some HTML scraping.
EmailToRss is a back-end Python script that takes in emails from a designated account and turns them into posts of an RSS feed, with the subject line as the RSS title and the message body as the article body. A Unix shell script runs in response to each incoming email and pipes the information to the script, and the script organizes the messages into the appropriate feeds based on the From address. I wrote this to follow organizations who still communicate primarily through email newsletter, as I found these newsletters were cluttering my inbox. I can further filter the articles with my FeedControl script, as needed.
I’m a fan of the website LifeHacker, but I wasn’t satisfied with their options for subscribing to their news feeds. They provide either tag-specific feeds, which only gives a short synopsis of each article, or a VIP feed, which gives you all feeds but with the full text of each article. I wanted to combine the two strengths, so I wrote a back-end Python script that scans each tag-specific feed, looks for the corresponding article in the VIP feed, and substitutes the latter for the former. This gives me full-text tag-specific feeds from LifeHacker that I can then filter further with my FeedControl script, as needed.
Earl Grey Wedding is the wedding website I set up to share details, photos, and links with family and friends who would be involved in the event. The entire site is hand-coded from scratch and uses responsive web design. I also hand-crafted the banner image. The website is W3C compliant.
I was on the development team for the Flight Condition Calculator mobile app during my tenure with SpaceWorks, Inc. The app focuses on aerospace calculations and conversions and is targeted for engineers and engineering students. I was responsible for adding some new calculation options, upgrading the user interface, and porting the app to both iOS and Android using PhoneGap.
My Masters Project was the creation of a digital archive prototype of moving image science fiction–including films, television shows and ancillary materials–for science fiction researchers. Users have the ability to search for and cross-reference films, episodes, documentaries and individual scenes, to compare two videos side by side and to queue videos for easy playback.
This interactive map helps users explore the growth of the Georgia Tech campus from 1910 to 2010. The map is part of a larger website that explains the background research and construction of this project in more detail.
PaperBots is a 2D Flash turn-based battlebot simulator. The player constructs a robot out of the various pieces, then pits his or her creation against a computer-generated opponent. I handled all of the ActionScript coding and assembly in Flash while my partner provided the art assets.
This is a fictional “lost chapter” to the popular Game Boy Game The Legend of Zelda: Link’s Awakening. The premise is that it was created to wrap up some story threads in the original game but was abandoned mid-production for being too controversial (hence the imperfections during gameplay).
This is an arcade-style game loosely based on the Cell phase of Spore. The various creatures in the primordial ooze are all Braitenberg vehicles.
This is a Flash-based video editor where users can drag and drop clips to form a changing story. This project explores the concept of remediation by showing how the editing process can change the narrative structure in film. I handled the programming of the editor while my partner handled production of the video clips.
My Project Studio was focused on the creation of an experimental MMO called Passage, which explores New York during the Ellis Island immigrations of the first half of the 20th century. I was one of two programmers who constructed this prototype, designed to serve as a proof of concept during the first phase of the project. I handled all of the client-side coding, including character movement, the chat box and the passport overlay, eventually serving as Lead Programmer on the project.
This is a recreation of the Gnutella file-sharing client (created legally as part of a class project) called Techtella, which I built in a team of four programmers. It has most of the basic features of a file-sharing client, including the ability to search for media, share media over a peer-to-peer network and chat with other users while logged in.