Author Archives: austin

When to set goals?

ASAP! By the time college rolls around if you don’t have any life goals it is time to set them. When I entered college I didn’t have many life goals. I didn’t know what I wanted out of school until the end of the first week of freshman year. Thankfully, I made a few wise decisions early on in my college career that helped me land exactly where I wanted to end up. My advice regarding college may not be too unique but it comes from experience and I want to share my advice as a student. 🙂 I always found it easier to accept school advice from students rather than a person who has been out of college for 10+ years.

First and foremost, college gives everyone a clean slate and as lame as it may sound: everyone has a lot of control over their destiny. In college I became interested in developing myself to my full potential, although it took me a little bit to realize this is a life long pursuit. Anyways, I made short term goals to make sure I would pursue my ideal path. Now that I finished my undergraduate career I can proudly say that I’m well on my way to accomplishing the handful of goals I planned out my freshman year.

Goals & Date Accomplished

  • Graduate with a BS degree in computer science, May 2011
  • Graduate with honors, May 2011
  • Land my dream job, August 2011
  • Pay off all college debt, expected May 2012, Nov. 2011
  • Graduate with a Master’s in CS, May 2012

End of an Era

Sadly, my second term as ACM (Association for Computing Machinery) president of the University of Iowa student chapter is coming to an end. The last two years Tyler Jensen, the vice-president, and I worked hard to regularly schedule entertaining meetings, drive to the University of Illinois Champaign-Urbana’s computing conference, host Iowa’s annual computing conference and host the Hawkeye Challenge, the annual high school programming competition. I feel very fortunate to have lead such a great organization!

I joined the ACM my freshman year and it was one of the best decisions I ever made. A lot of my good fortune stemmed from being involved with the ACM. I made friends, I found role models and it helped me land some amazing internships and job offers.

I once heard that 20% of people in an organization do about 80% of the work. As an ACM leader I learned that is true. It’s challenging to be a leader because it’s hard to recruit members. It’s hard to to speak in front of not-so-lively crowds. It’s hard to turn an unenthusiastic crowds into exuberant crowds, but it’s possible. 🙂 On the bright side, it’s rewarding to see new students sign up as members. It’s rewarding to get to know the students that regularly show up to events. It’s rewarding to see people enjoy and support the organization I lead. Leadership has its challenges but it has amazing rewards that are worth all of the effort, too!

Last Honors Requirement

I’m on my way to finishing the second requirement to graduate with honors; last week I started to write my honors thesis. One of the goals I set as a freshman was to graduate with honors. I started my honors project last semester with my first guided independent study in compiler development and, as scheduled, I continued to work on the same project this spring. I’m well on my way to acquiring 6 hours of honors course credit so all I have left to do is finish my Honors thesis.

At first I thought writing my thesis would be an impossible task, especially when I got off to a very slow, unmotivated start. However, after I finished my introduction I found that writing about an enjoyable project is fun. This paper gives me a nostalgic feeling because I get to look back and review all of my progress. It’s even more exciting to know that I’ve contributed to a project that will live on well after I leave the U. of Iowa.

Foreign Function Interface

I updated the Blaise compiler so it has a Foreign Function Interace (FFI). Earlier this month I modified the compiler so arrays could be made in Blaise, the support I added was more like a hack where the compiler looked for predefined function names. I re-factored the compiler so now it supports a FFI where the compiler now looks for external function declarations. Every time a Blaise programmer uses and function that is declared externally the compiler trusts that the programmer is calling a supported external function.

Here is a snippet of blaise code:

# Here are the external declarations, these tell the compiler which
# functions will be used from an existing library

external Array_make [ typeInfo ] : [ typeInfo ]
external Array_get [ typeInfo ] : [ typeInfo ]

define mn =
    var arr = Array_make(5,1);
    print_int(Array_get(arr, 0))