All in a Day’s Work for an ISD Duo
Two USC Information Services Web developers take first place in an international programming competition. Given just 24 hours, the team builds a billing application that allows users to track clients and projects.
On June 4, Bousquet and Farajpour competed against 189 programmers from around the world to develop an Web-based application using the emerging Ruby on Rails technology.
The team had only 24 hours to complete its their winning entry, a billing application known as Sheets. However, the duo did not require the entire time allotted to complete the task, said Bousquet, a developer in the ISD Doheny Office of Technology.
“I spent about 16 hours working on [the] project for Railsday. I didn’t really know what I was going to be building until about three hours into the competition,” Bousquet said. “Together [with Cyrus], we spent a total of 20 manhours on it.”
The winning application allows users to track clients, projects and time spent on various tasks, as well as calculate fees for projects and create invoices from the records.
“This kind of task might have been thought impossible in other frameworks or languages. However, due to Rails’ ability to build agile web applications, it was easily done,” Bousquet said. “We had a great time participating, and we’re amazed at what we did get done with Rails in only 20 hours of development time.”
The competition also allowed Bousquet and Farajpour to flex their creative muscles.
“Railsday was a chance for me to see what a small, focused group of programmers could accomplish using Ruby on Rails in a short time space. I wanted to learn as much as I could about Rails, and this presented me with a crash course. In one day I more than doubled my knowledge on the topic,” Farajpour said.
The news of the duo’s win came June 30.
Ruby on Rails, an open-source Web application framework released in July 2004, is one of the fastest-growing programming aids available. It allows real-world applications to be developed with less code than other frameworks require and with a minimum of configuration.