Semester Roadmap

A new semester just began this week, and right now it looks to be one of the most challenging/exciting so far.

Bellow is my course list:

  • DPS915 Introduction to Parallel Programming
  • BTN710 Information Security
  • BTB720 Marketing Principles and Practices
  • BTS730 Project Management Methodologies
  • BTH740 Human Factors in Computing
  • CPP700 Co-op Integration and Career Planning

(I’m enrolled in the Software Development Degree at Seneca College)

I’m really looking forward for the “Introduction to Parallel Programming” and “Information Security”
The plan is to blog about both courses.
I’ll keep updating this post with the latest info about them.

On the DPS915 course, we will be learning how to run programs on the GPU using CUDA, by the end of the semester we’ll need to demonstrate the optimizations an application can have by porting some of the most heavy calculation areas to run on the GPU instead of the CPU.
My friend Simon(who’s also taking the course) has been working on a project to create md5 hashes for all possible combinations of words. Before, he faced some problems to generate the hashes, since the more chars in the words, the amount of time that it took to generate them was starting to become unfeasible.
The datastorage for all the hashes was also proving to be a problem.
The idea is to utilize the power of the GPU and leverage the amount of time it takes to generate the hashes.
For the data storage we are considering using redis, but we are still looking for other possibilities.
We’ll try to document the whole process of the project here.

A couple of other topics I’m also going to be blogging about is Blackberry10 Development and NodeJS+MongoDB.
Right now we are about to release the second iteration of Sobol, a construction management tool, and getting ready for iteration 3.
We have a lot of cool ideas to implement on the project and I want to document them here.

The new line of Blackberry devices will be coming out early next year, and RIM has been giving great support and incentive to developers. They redesigned all their APIs and the fact that the new BB10 platform is built on top of QNX makes even easier to port other developer tools.
The technologies supported are WebWorks, Cascades, Native and Java
WebWorks is the Javascript+Html5+Css stack
Cascades is the UI framework built on top of Qt
Native is C/C++
And since it’s possible to run Android apps on BB10 Java apps are also supported.

We’ll be focusing on Cascades and WebWorks development, and we already have a few apps on the oven that we plan to release in the coming weeks.

Finally, I also want to keep contributing to the Mozilla community, and will keep working + blogging about Firefox bugs.

Buckle up because this will be a hell of a semester!