Pages

Wednesday, February 1, 2012

February 2012 Update

Thanks to the Hackathon, my coursework, and various Greyhats-related officer duties, it has been a while since I was last able to write anything. Here is what has happened since my last entry for ICS 314:

CityCamp Honolulu Hackathon

On January 20-21, I participated in the CityCamp Honolulu Hackathon, a 24-hour programming competition to design a web-based or mobile application based on data provided by the state or city government. Our team designed a Javascript-based application that used the Google Maps API to pull data from a GPS coordinates-storing site called CartoDB. Our GPS data and site descriptions were pulled from state government-maintained hiking-related websites or directly from Google Maps as much as possible, with the intent that anyone unfamiliar with local hiking trails and beaches would be able to use the application as a starting point.

Unfortunately, I cannot claim credit for any of the web application visible in the above screenshot.

My lack of Javascript knowledge made me somewhat useless on this project except as an informal beta tester and data gatherer for the CartoDB database, combing through state websites and Google Maps results to try to gather previously separated information in one place. It was definitely an educational experience to watch the more experienced web designers and Javascript coders at work, however, and I hope to participate in this kind of competition in the future, when I have hopefully filled in some more of the gaps in my knowledge.

Though we did not place at the Hackathon, I saw some very polished applications made by the other teams, including a pothole-reporting application and a bus route application that measured the distance to nearby bus stops and recalculated arrival schedules in real time. It really is amazing that people are able to create fully functioning, error-free mobile and web applications in only 24 hours, and makes for a good demonstration of what is possible through the skilled recombination of open-source libraries. Though there are definitely security and performance risks in blindly integrating third-party code into an application, being able to do so does allow applications to be made with a speed that one would probably never have seen even five years ago.

University of Hawaii at Manoa Greyhats

The Greyhats, a cybersecurity-oriented Registered Independent Organization at the University of Hawaii at Manoa, are going to be competing in the at-large regional for the 2012 Collegiate Cyber Defense Competition in March. I joined the club after the last CCDC had ended, so this is the first one I will be eligible to participate in. I am not sure how it will work out; I sort of ended up on the team by default this year, so I'll do my best to get up to speed.

I have also become the club's Treasurer. We are trying to secure funding from UH's Student Activity Program Fee Board to buy a server for virtualization purposes, so that those of us who are not graduating will have an easier time training next year's team, and anyone else who wants to learn information security skills at our meetings.

Algorithms and Database Software

The two ICS courses I am taking at the University of Hawaii this semester are ICS 311 (Algorithms) and ICS 321 (Data Storage and Retrieval). Now that I'm taking junior-level courses, it is obvious that the real work has begun. (In a year or so, when I start in on 400-level courses, I am sure that I will be saying the exact same thing.)

ICS 311 is a successor to my previous classes in discrete mathematics, which has unfortunately not been one of my strong points during my time in the ICS program. I know that having at least a basic understanding of discrete mathematics is the key to writing cleaner, faster-running code and being able to justify its efficiency through analysis, so hopefully I will be able to make up for past mistakes and misunderstandings and make the most of this course.

ICS 321 teaches the syntax and relational algebra of SQL, both as logical operations and through the use of IBM's free DB2 Express-C software. Up until now, my understanding of SQL has been limited to a superficial security-related understanding of its weaknesses. Accessing and modifying databases is an important part of many enterprise applications, and this course should definitely fill in a glaring gap in my resume.

Time allowing, I will definitely pick up in my C++ education where ICS 212 left off. Due to time constraints and delays during the units on C, the class was only able to briefly cover C++ in the last two weeks of class. Though C, as a widely used and efficient language and as the predecessor to most later object-oriented languages, was definitely important enough to warrant the time it took, I was still a little disappointed.

Like any skill, learning about programming only gets harder (or at least, more complicated). The important thing is to keep going.

2 comments:

  1. You're better off sticking to Java, not C nor C++. That's what my company, and most companies, in Honolulu use to develop applications.

    ReplyDelete