I'm making a physics simulator in C++. After I went to GDC 2012, I got excited to play with OpenGL again, so I decided to pick up on this project, which I'd read up a bit on last year but hadn't had the time to really sink my teeth into it. I have collision detection all worked out and now I just need to finish off the physics simulation itself. After that, all that remains is to clean up the code and make the it fun to actually play with.
I'm currently working on making a library for NodeJS to provide a nice client library for IMAP. There is another library at the moment, but it doesn't provide a lot of the functionality provided by IMAP, so I wanted to write a full-on client trying to conform as much as possible to RFC 3501.Currently, it can send all standard IMAP commands and return the results, but they aren't wrapped in any particular nice response format, and there isn't any real standard method for supplying arguments yet, other than a string matching the IMAP protocol, which isn't ideal.
This was my final project for Computer Graphics class at McGill. During the semester we learned about OpenGL, the rendering pipeline, and basic information about graphics rendering. We had several choices for projects, but I've always had a soft spot in my heart for making games, so I had to go for the Pinball option.
In mid-October, I attended Startupifier Bootcamp, an event run by local students and entrepreneurs to encourage innovation and help people meet others with similar interests. I worked on a team of three with Simon Mathieu (@smathieu) and Maxime Boucher, and our together we built PyAlpha, a simple web based terminal that provides access to a python terminal and the advanced functionality of NumPy and SciPy.
For my final year project at McGill, I worked with Mathieu Perreault (@madmath) to build a iPhone application combining basic elements of augmented reality with navigation. The idea was that we were building a front-end navigation program to direct the user to a nearby available parking spot. We did not have an actual database of parking spots, though other teams have worked on that problem for their projects, so ours simply relied on the user selecting a rough destination of where they wanted to go, and then displayed a turn-by-turn instructions to get there. The user then had the option to use a 2D map view to follow the path, or a '3D' view by assuming the camera is facing out the windshield, and superimposing an arrow on top of the video feed.
With all the knowledge I'd gained from working on my first attempt at an NES emulator, I wanted to give it another shot in C++. This time around, I had much more success, though I still ran out of steam for now.
I implemented the CPU and GPU in C++ using SDL for 2D rendering and input. It can render Pong 80% correctly, though I have not implemented sprites or user input yet, so there is not much that can be tested aside from general ability to render.
For the final project of Microprocessor Systems, my team and I designed and implemented a game running on McGill's custom development boards. Using the onboard MSP430 and CPLD and our custom drivers for all of the hardware, a wireless transciever, the CC2500, a PS2 keyboard and a 2x24 LCD display, we designed a Cows & Bulls game that would run wirelessly between two boards.
AjaxSolr is an enhancement and at this point mostly a rewrite of SolrJS, an older JS library for Solr. My primary contribution adding much-needed features that were lacking in SolrJS, which allowed Evolving Web to use the library in several projects. I, unfortunately, had to stop work on the library because I returned to school that fall. James McKinney took over work on the library and at this point he has made some fairly large architectural changes so very little of the original library remains at this point.
This extensions provides an MPRIS interface for controlling Songbird through the Linux DBUS. It allows for changing tracks, volume and position, prev/next, play/pause/stop, as well as allows for retrieval of metadata on songs. This is my first Songbird extension and likely my last since they have discontinued support for Songbird on Linux, though there are still nightly builds available.
As nice as Java graphics are, I wanted to learn to code graphics in a language that was a little more solid and made me feel a little more in control. So, setting out with the knowledge of C I'd picked up over the past few years, I went about learning C++ and graphics.