Final Thoughts on 3B - Mainly Concurrency not Concurrently
So I have just finished my 3B term with courses: Algorithms, SciFi, Concurrency, Software Engineering Requirements and Specification, Databases, Upper Year Design Project. From all the courses this semester, my favourite by far was Concurrency (CS343).
As I've covered in a previous post, the
bulk all of concurrency was devoted to learning UW's open source C++ extension uC++. My last blog covered up to only coroutines, however uC++ increased in complexity tenfolds by the end the of term. uC++ offers _Task, _Monitor, _CoMonitor constructs which are essentially native mechanisms for implementing a concurrent application. I can not go into too much detail (as it would take 4 months) but I believe the implementation of uC++ was exceptionally straightforward and allowed for daily concurrent problems to be solved easily, versus thread libraries such as those included in Java. The environment was even nice enough to inform you when a deadlock had occurred (useful for a learning environment).
Back to Work
So I have successfully completed my 3B Software Engineering term, surpassingly with strong marks. I was shocked to discover with enough caffeine, I had successfully managed to keep on track with gym, weight loss, hockey, studies and a generous helping of partying.
I will begin my new internship at Digital Extremes developing an upcoming Ps3 title. I am excited to try out a job I've dreamed about and I am hoping it does not ruin the magic, similar to learning a magician's
lies secrets. I am looking forward to the myriad of new developer related trials and information I will absorb and store here, instead of my overstuffed cranium.
Things to write
If I don't write my thoughts out now I will forget. This upcomming 4 months will be hectic and here is why:
- Software Engineering Project: Tournica - Insights onto developing a Ruby on Rails application.
- Keeping track of weight loss, weight exercises and general nutritional tips to myself (mainly involving recipes I've found effective).
- Digital Extremes Problems - Problems faced and hopefully solutions discovered
- I will be attempting to repass through a large quantity of games this semester, hopefully analyzing them now with a deeper knowledge of game development.
On a completely different topic, I've finally finished Paul of Dune , leaving me the next volume to read. I've recently just taken a SciFi course where the professor was overly critical of Dune. Most of his points involved the fact that it is too "Black & White". For example, the antagonist the Baron Harokonnen is a fat, sadistic, cruel , gay and sodomizing bastard. Although most of his points I agreed with, I only did so for the original novel. I've actually enjoyed the extended storyline by Frank Herbert's son and believe that he has really shown in the prequels and other novels a nice examples of conflicting heroes and anti-heroes.
Quotes I liked
The greatest personality change in a young man's maturity occurs when he discovers that his own father is mortal, human, and fallible. [Paul of Dune, p.43]
I want no allies but myself. Friends can be as dangerous as enemies. [Paul of Dune, p.406]
A sharp edge does not automatically make a sword a good weapon. Only the wielder can do that. [Paul of Dune, p.385]
Weapons come in an infinite variety of shapes and designs. Some look exactly like people. [Paul of Dune, p.334]
I'm considering beginning to save all my course work on my blog such as my concurrency assignments (which I am very proud of), and my work reports as well as solutions to assignments. I will think about it... I am so proud of my concurrency work; concurrency problems never failed to be easy to me.
EDIT: I have updated the projects page (look above) with some coursework and relevant documents. More to come.