Career, Year One: 8 Lessons Learned

Year One Circled on Calendar

November 17, 2018

Ever since I started my career as a computer engineer last summer, I’ve been bombarded by lessons of all types, both from my many smart coworkers and from experience. Moving from the comfy classroom that had been my second home since kindergarten to a full-fledged professional work environment, I couldn’t help but feel excited, intimidated, confused, and enthused — sometimes all at the same time! When I started out, I had no idea what I was doing, but a few seasoned mentors guided me in figuring out the basics.

Continue Reading

Is creativity the key to language learning?

Hands on a piano

November 12, 2018

The way people learn languages is an intriguing topic. We have plenty of resources available online to help us, but I’m most interested in the answer to one question: how can we improve upon what we already have? The future of language learning is more than the flashcard-esque fill-in-the-blank learning systems that have become all too common. The ideal site is one that challenges the user, and asks him or her to create something new with their target language.

Continue Reading

Insertion Sort in Python

October 13, 2018

In this video, we learn about Insertion Sort and implement it in Python.

Continue Reading

Bubble Sort in Python

October 5, 2018

In this video, we learn about Bubble Sort and implement it in Python.

Continue Reading

Merge Sort in Python

September 28, 2018

In this video, we learn about Merge Sort and implement it in Python.

Continue Reading

Quicksort in Python

September 23, 2018

In this video, we learn about Quicksort and implement it in Python.

Continue Reading

How to Implement a Binary Search Tree in Python

April 19, 2018

Decisions, decisions… Life is all about choices! Usually there are so many ways to go. An infinite expanse of roads and pathways stretches in front of you, an endless gradient of details; as you consider them, your head starts to spin, your eyes start to droop, your mind races, your head pounds - Wait a second. There’s no need to stress. Since we’re talking about Binary Search Trees, decisions are going to be a lot easier.

Continue Reading

Push Out Your SSH Keys - Jump Nodes in a Jiffy!

April 16, 2018

Every day, system administrators, students, professors, and everyday computer users struggle with entering their password on the command line. With each passing jump from one system to another, ten seconds tick by. Whoops, that’s a mistake - make it 30! Over time, entering your password every time you want to move between nodes using SSH can become a real hassle. The benefits from “pushing out” your SSH keys, or making all of the nodes you typically jump to trust your public key, will save you more time with every use, snowballing from seconds, to minutes, to hours!

Continue Reading

Making a Command-line Ruby Gem - Write, Build, and Push

A shiny red gem

April 4, 2018

Anyone who has used Ruby before knows that gems are the spice of life. They are easy to install and distribute, even easier to use, and most importantly, they provide useful functionality. It’s not uncommon to see entire software projects centered around a single well-made gem. Take any Ruby on Rails project, and you’ll see this in practice. Gems are, in a nutshell, Ruby code packaged for easy distribution and use.

Continue Reading

Writing Your First Kernel Module

Hands putting jigsaw pieces together

March 29, 2018

This post is Part 3 of a series on the Linux kernel. Part 1 - Part 2 So we’ve already built the kernel from source and even modified the source code. While these were some pretty cool parlor tricks, isn’t it about time we learned something useful? Well, I can’t promise that, but today we’ll take a step in the right direction by building a Linux kernel module. The Linux kernel is structured so that you can add extended functionality without modifying the core source.

Continue Reading