Sunday, March 17, 2013

Update on my career and my apps

What's happening in my life:

I am now close to graduating with my Bachelors degree, with only a couple more months to go. I've been pretty lax into looking for a job after graduating because I had a desire to continue on with a Masters degree, and luckily I was admitted into the Masters degree program here at BYU. Now that summer is approaching, I've started to think about getting another summer internship job, so that is my next goal. I'm still undecided as to where I should apply...but I'll figure it out.

Programming challenges:

Recently I took on the challenge from a user of my Jumbles Solver app to make the app less error prone by adding in the functionality to cancel a solve action. It turned out to be more effort than I expected. One issue that I ran into that I was unable to solve completely was that while my app is solving for the words, it uses so much memory that Android has to keep freeing up memory for my app, but is unable to deliver enough memory to my app. I've added some warning dialogues in these cases to warn those with lower end Android devices. It's not a perfect solution, but really this sort of thing only happens when solving for, say, 20 input letters with a minimum word size of 3. All in all, I'm happy that the app is more robust and less error prone.

Animation:

This and last semester have been a time of growth for me in the field of computer graphics and CG animation. Working on the senior film and other animation classes this and last semester, I have had many opportunities to learn new programs and languages. I learned how to interface with Maya through sockets and how to customize Maya with custom shelves and tools that I made, I learned a little Nuke for compositing,  I learned many more Photoshop tips and functions, and I learned a bunch of Houdini skills, such as shader programming using nodes, doing fluid simulations, and doing physics simulations.

Programming Classes:

Last semester I took Interface Systems and Creating Software Ventures, a class on being a software entrepreneur. Learning about user interfaces and creating my own widgets was a real eye opener into understanding software architecture. Learning about being an entrepreneur and working with a group of students to develop a product idea with the goal to present to investors was a great experience as well. It really taught me that a good idea is not enough, you really need to develop and research the idea and make it economically viable for it to be any good.

This semester I am taking two classes, Digital Signal Processing and Computer Networking. Signal Processing is pretty amazing, the applications of the Fourier transform and other signal processing techniques are very vast and are really cool to think about. My Computer Networking class took what I knew about how the internet and networks worked and has taken it to a whole new level. It's amazing knowing at practically the electron level how information gets from one computer to another over the internet. Implementing UDP and TCP protocols seem simple, but there are a lot interesting caveats. 

Well, that's my life for now. 

1 comment: