Tech Odyssey

My journey to becoming a full-stack web developer.

Developing My Sinatra Portfolio Project

I just finished development of my Sinatra Portfolio Project. It is called Program Tracker and it is designed to allow you to manually track programs on your computer. I’ve been trying to make portfolio projects that I would actually use, or that solve a problem that I have. I’ve had to reset my computers in the past due to hardware failures, and one thing that can be hard to track and port over after the reset is all of the programs on your machine. This would allow you to track your programs and a link to where you got the program so that if you need to reset your PC, you can download the programs you had before. In this post, I’m going to go through the steps I went through when developing my website and provide some advice for those who will be working on this project in the future.

Virtual Volunteering

Volunteering allows you to use your expertise to help others, make a difference, and contribute to a cause you care about, but it can also provide career benefits. Web development can be a tough field to break into, and volunteering can give you valuable work experience - improving your skills with meaningful practice, and preparing you for a remote job. It could even be a stepping-stone to a career at a non-profit.

The development skills that we learn through this program can help improve an organization’s online presence, help them keep their supporters updated on their activities via HTML email, or help them accept and increase online giving. Students in the boot camp also tend to be generally technologically savvy, and many have the ability to run an organization’s social media or do basic graphic design.

Many people are unaware of where to find volunteer opportunities, virtual or otherwise. (I wasn’t aware of many of these sites before doing the research for this article.) Below, I have provided a list of websites and describe the opportunities. But first, here are some tips to make sure that you know what to look for in a listing.

  • Research the organization that you are looking to volunteer with. Make sure that they have charitable status in their country. Look at employee reviews on sites such as Indeed or Glassdoor, and look at charity reviews on sites such as Charity Navigator, GuideStar, GiveWell, or Charity Intelligence(Canada).
  • Understand the listing. Make sure you understand the level of experience expected, the amount of time you are expected to spend volunteering, how much of the work can be done remotely, and how much training, (if any) is necessary.

Eager Loading ActiveRecord Associations

There is a problem within Object Relational Mapping (ORMs) known as SELECT N+1 (or simply as the N+1 problem). It can have a major effect of performance and is related to loading the children of a parent-child relationship.

Developing My Ruby CLI Data Gem

I recently finished development on my Ruby CLI Data Gem project. I decided to develop a gem that would access the fantasy football rankings and data found at You can check out the source code here.

Default Ruby Gems

Ruby comes with a set of 23 gems bundled with it (as of version 2.5.1). I decided that it would be a good idea to learn what they all do since they are all available by default in any Ruby project. In this post, I will describe what they all do, as well as provide links to each of their pages.