This October, nearly everyone at Caktus took a break from their usual projects to take part in Caktus’s 8th ShipIt Day. Apart from a few diligent individuals who couldn’t afford to spare any time from urgent responsibilities, nearly everyone took a break to work and collaborate on creative and experimental projects, with the aim of trying something new and ideally seeing a project through from start to finish in the space of a day and a half.
Participants in ShipIt Day worked on a variety of projects. We all had the chance to try out Calvin’s shared music player application, SharpTunes, which within the first few hours was playing “Hooked On A Feeling”. It utilizes peer-to-peer sharing, similar to BitTorrent, to more efficiently distribute a music file to a large number of users while allowing them to simultaneously listen to a shared playlist. On his blog, he describes how he achieved proof of concept in under an hour and some later challenges with arranging playlists.
David worked on improving the UX (user experience) for Timepiece, our time-tracking system. While getting the chance to brush up on his Javascript and utilize bootstrap modals, he worked on improvements for the weekly schedule feature. The current version, although very handy, is increasingly difficult to read as the company grows and more employees’ hours are on the schedule. Therefore, David built a feature which makes it possible to view individual schedules as a modal. Rebecca provided some assistance in getting it deployed, and although it’s not quite done yet, it should save us all a lot of trouble reading the schedule from the back of big standup meetings.
Tobias built tests for the Django Project Template. The Django Project Template makes it easy to provision new projects in Django, but testing the template itself can be difficult. Therefore, the tests, which can be run to test the template on a new server and then reports back in HipChat, should improve usability of the template.
Vinod worked on adding Django 1.7 support to RapidSMS, and with help from Dan, successfully reached his goal by the end of ShipIt Day. For next ShipIt Day, he hopes to implement Python 3 support too.
Brian set up a Clojure-based Overtone real time music environment, and although he didn’t reach his goal of using it to build new instruments, he did succeed in creating, in his own words, “some annoying tones.”
Victor and Alex collaborated on School Navigator (still a work in progress) for Code for Durham, designed to help Durham residents understand the perplexing complexity of public school options available to them. Alex imported GIS (geographic information system) data from Durham Public Schools, modeled the data, and built a backend using django-rest-framework. Victor contributed the frontend, which he built using Angular, while getting the chance to learn more about Appcache and Angular.
Rebecca did some work for BRP Weather using django-pipeline, which gave her, Caleb, and Victor the opportunity to compare the pros and cons of django-compressor and django-pipeline. Although she finds the error messages with django-compressor to be a nuisance and prefers how django-pipeline handles static files, django-pipeline is not very helpful when it can not find a file and has some issues with sass files.
Michael continued designing a migraine-tracking app. He designed a simplified data entry system and did some animation design as well. The app is intended to track occurrences of migraines as well as potential triggers, such as barometric pressure and the user’s sleep patterns. Trevor also contributed some assistance with UX details.
Dan made progress on an application called Hall Monitor which he has been working on since before coming to Caktus. It accesses an office’s Google Calendars and uses string matching to check event names on calendars in order to determine who is in or out of the office. For instance, if someone has an event called “wfh” (working from home), it concludes that they are out of the office. Similarly, if someone is at an all-day event, it also logically concludes they are probably out. He demonstrated it to us, showing that it does indeed have an uncanny ability to track our presence.
Caleb set up Clojure and Quil and built an application for displaying animated lines in Quil which allows you to use Processing in Clojure. By modifying the program, the user can instantly modify the animation, creating interesting effects. He also created a Game of Life which runs in Quil (see below) and finished a Scheme implementation of Langton’s Ant in Automaton .
Scott used the time to back up changes as well as add a KVM (keyboard, video and mouse) switch to the server rack.
Wray worked on a couple different projects. He completed a Unity tutorial which involved building a space shooter game which runs on Android, which we all got to try out. He also used the time to work on Curvemixer, which creates interesting vector graphics using curves and circles.
I took the time to write some help files for an application designed to allow medical students to test their radiology knowledge. The help files should allow students and instructors to better understand the many features in the application and writing them allowed me to practice documentation creation.
Overall, ShipIt Day was a very productive and refreshing experience for everyone, allowing us to spend time on the sorts of projects we wouldn’t usually find time to work on. Moreover, we got the chance to find new solutions to projects we may have been stuck on through collaboration.