Less Color Schemes Using Grunt

The Problem This week I was searching for a way to modify my project to support color schemes. I had used LESS as my preprocessor, but after adding hundreds of color declarations, realized that color schemes would be a great feature. Looking around the internet, I found a bunch of references to methods that didn't really fit what I was looking for. Namely, a lot of them recommended placing a class on the body tag, »

Deploying a Rails App The Easy Way

Introduction You've written the app, you've deployed it on Heroku, and now it's time to deploy your app for production on a real server. There are a few advantages of a server (dedicated or VPS) over something like Heroku. It mainly boils down to: Optimization Security Flexibility and Customization Multi-app hosting Lower Cost Signing Up First, we need to sign up for DigitalOcean: a VPS service renowned for the speed and simplicity of their VPS »

Using ownCloud for Ghost Static Files

Ghost is a powerful blog platform written in Node.js. Its simplicity and speed make it an ideal option for hosting a simple After installing Ghost, the first problem I ran in to was hosting photos. Having migrated data from Wordpress, the images were still hosted on that domain. If I pulled the Wordpress site down, that would mean losing my images. ownCloud ownCloud is perhaps the most popular self-hosted cloud service. Think Dropbox or »

Orion Delta: Extruder Jam Fix

The Problem The Orion Delta extruder drive assembly relies on a single drive gear which moves the filament to the extruder. The filament is held tight to the driving gear by a wheel that pushes the filament into the drive gear with a spring. Click images for higher resolution Every once in a while, it is too hard for the drive gear to pull the filament from the spool. This can be due to the »

Dynamically Changing $PATH for different Node projects

When I started working with Node, I did a lot of the work locally. I was working on several local projects and was having trouble keeping my $PATH up to date. I’ve recently found a solution that dynamically sets your $PATH to include node_packages/.bin in whatever directory you’re working. Add the following to the bottom of your .bashrc or .bash_profile. # Save old PATH _PATH=$PATH # Function to update PATH to »

Recall (Single)

As many of you know, I’ve been working on recording an album since the summer. Today, I’m happy to announce the release of the title track from that album. The rest is coming this month, so stay tuned! Check it out on music.jamiecounsell.me or watch! »

First Year Gear

Hey folks, I’ve noticed that textbooks and other gear (iClickers, calculators, etc.) are the subject of many questions. I’ve written a quick guide on how to make sure you’ve got everything you need without burning a McMaster sized hole in your wallet. Textbooks Textbooks are an important part of first year, and also a very expensive part. Since there are ~1000 first year engineering students, textbooks are necessary to ensure everyone has »

Surviving Eng 1

So I’ve had a few people express interest in a “how to survive engineering 1″ tutorial. Here it goes! Keep in mind that all of these tips are just an opinion, and they should – as any other advice you receive – be taken lightly. I’ll start with some more common questions, and will include some personal advice I have found to be useful in my time as a student and as a developing professional. »

11: Objects and Classes

Introduction Objects can be one of the most difficult programming concepts to understand. Once it clicks, however, it really clicks. I recommend you read and pay close attention to the textbook, and utilize your resources until you understand objects and classes, as your upcoming evaluation will rely heavily on your understanding of these concepts. Before you begin, please read the Python documentation 9.2. Python Scopes and Namespaces. This stuff messes a lot of people »

10: The While Loop

Introduction This will be a short tutorial, as while loops are pretty easy. You MUST understand conditionals to continue. While loops rely on an expression to operate. As long as the expression is True, the loop will run. When the expression stops being True (ie. it is False), so does the loop. WHILE loop structure The basic structure of a while loop is as follows: while (expression): # Do something This will execute the code inside »