I just got done playing basketball. I play basketball just about every day if I can find a game or get one going. Thursday nights there is regular pickup ball at a local church’s indoor court. The church is right down the road from my apartment and the competition is normally pretty good, so I almost always try to make it if I can. I played six games today. I had two pretty good games (the first one I shot 2/3 from deep; the second one I had three points at the rim and beat a former NFL play off the dribble and then hit a floater in the lane), three okay games and one pretty bad game. A solid night overall!
If I could have any career in the world, I would almost certainly choose to be an NBA player. Getting paid millions of dollars to eat right, exercise and play basketball at the highest level, having all summer off, being able to tell my girlfriend “babe, I’m sorry but I have to go hoop. It’s literally my job.” Yeah, that all sounds pretty good to me. But, unfortunately I’m 6’2″ and not that athletic. I’m about as likely to make it to the NBA as I am to become the president of Russia. Fortunately for me, however, I’m pretty stoked on my second place career choice, which is being a software developer.
I imagine that my experience with my capstone will have a lot of similarities to working as a professional software developer. I’ll be working in a group of four to develop a mobile bike sharing app. There were a lot of really interesting project ideas available for us to choose from. I’m slightly disappointed I won’t be doing a project involving machine learning. I’ve never worked on a machine learning project or delved too deeply into the subject, but it seems very interesting and I gotta believe that ML technology will only become more and more important to and ubiquitous in our society in the coming decades. I guess I should look back into that machine learning Coursera course I signed up for last summer and then barely even worked on (cut me some slack, I had just finished Operating Systems I, by far the hardest class I’ve taken at OSU, at the end of the spring quarter. My brain needed a break).
All that said, I am really excited to be creating a mobile app. I’ve never developed a mobile app before, but in addition to my capstone, I’m taking CS 492- Mobile Software Development this quarter, so I imagine I’ll be getting a lot of mobile dev practice in the coming weeks. My group has decided that we will be using Flutter as our SDK for our project. It’s the SDK taught in 492, which three of our group’s four members are taking this quarter, so it seemed like the logical choice. I’ve been spending the past weak learning the basics of Dart, which is the language Flutter apps are written in. It is a statically and strongly typed compiled language with a syntax similar to languages in the C family. Like JavaScript, it has function hoisting, which I appreciate. The weird thing about Flutter that I’m still trying to wrap my head around is that everything is a widget. The Flutter documentation describes a widget as “an immutable description of part of a user interface.” I’m still figuring exactly what this means when it comes to writing and organizing the code. I’m gonna need to spend some time really dissecting the code of some Flutter apps to understand exactly what’s going on under the hood.