I had a few interviews related to my knowledge of Ruby on Rails. After graduating from the Flatiron School, I have mostly been learning more about Javascript, CSS, and algorithms. I haven’t completely forgotten Ruby (which was the first language I've learned), but I could always use a refresher.

I thought I should come up with some questions and answers myself. I’ll start off with some easy ones and work my way towards some trickier ones.

  1. What is OOP?

OOP stands for Object-Oriented Programming. Object-oriented programming is basically a way of organizing code into things called objects. An object contains…


Recently, I’ve been looking into the wider world of web development other than the traditional web building methods of HTML, CSS, and Javascript. I wasn’t too shocked to find that there are actually a lot of alternatives to building web apps other than the more traditional methods. I decided to do a bit more digging into a few of them. Many of you may be familiar with some of the more well-known CMS platforms such as WordPress, but one in particular that caught my eye was Bubble.io.

Bubble.io describes itself as a “drag and drop” editor which allows you to…


Being able to alter a webpage’s layout to fit a device is an important aspect of web development. In the modern world of technology, there are many ways to view the same site or application. Take for example Wikipedia. You can browse Wikipedia on your laptop, your desktop, a tablet, your phone, and much more. It’s crucial that the same information is visible across all of those devices. Certainly, you can’t format the same webpage on a 13 inch laptop as you would on a mobile device. …


The CSS box model describes the design and layout surrounding content on a web page. The box model consists of the content itself, padding, border, and margin.

I. Content:

The content describes what’s inside of an HTML element. Content could be media like an image or just plain text.

II. Padding

Padding is the space between the content and the border of the element.

III. Border

The border wraps around the content and the padding. I think of the border as the content’s picture frame.

IV: Margin

Margin is outside the border and is the space separating one element from…


This blog is about what Firebase is, what you can use it for, and how to set it up.

I. What is Firebase?

Firebase is a NoSQL database that allows users to store data in key and value fields. Firebase supports authentication, where users can sign in using a variety of authentication services. Another great feature of Firebase is its support for a real-time database. The real-time database allows for fast hosting and isn’t too difficult to set up.

II. Setting Up Firebase

Navigate to: https://firebase.google.com/

You’ll need to log in using your Google account. In the top right of…


One of the most common uses of an algorithm in programming and Computer Science is to sort things. Sorting is a problem we have in everyday life and programming is no different. There are many different ways to sort items and the trick is finding the most efficient way. Two common sorting algorithms used today are Bubble Sort and Merge Sort. Both algorithms take two different approaches to the same problem with varying efficiencies.

I. Bubble Sort

Bubble Sort is a fairly straightforward algorithm. To begin, let's say we have a list of numbers in random order: 4, 2, 7…


Start with the ‘I want to learn’ mentality

I. Preface

I graduated from Flatiron School’s coding bootcamp in late January 2021. A few weeks later, in early February, I along with two of my other bootcamp mates and an Indonesian friend, signed up for our first-ever hackathon through the University of Ottawa. The theme of the hackathon was to build a Coronavirus-related app — and we had 36 hours to do it.

II. What I Knew Going In

When I first thought of a hackathon, the first thing that came into my head was a bunch of nerds trying to hack into Facebook as fast as possible. …


An important concept in computer science when you’re trying to understand algorithms is big O notation. Big O notation describes how long it takes for a program to execute in relation to changing input size.

Big O was created by German mathematicians Paul Bachmann and Edmund Landau and is a type of asymptotic notation for the worst-case running time of an algorithm. When thinking about the run-time of a program, we can break it down into three categories: best-case, worst-case, and average-case. We are mostly interested in identifying either the worst-case or the average-case, to give us a good baseline…


After 15 challenging weeks, I’ve finally graduated from Flatiron School with some very cool projects under my belt. The next step for me is to deploy them. Our instructors told us that deploying projects can be finicky. Finicky is an understatement. I tried to deploy my final Flatiron project eleven times before it was successful. That’s why I decided to make this blog so hopefully, you’ll avoid the same mistakes that I made.

Step One: Create an Account

To deploy on Heroku, you’ll need an account. Once your account has been created, you’ll need to install the Heroku CLI in your terminal (If you already…


In light of recent hacks of various government agencies through the use of counterfeit tokens and other means, I went looking into what web tokens are and what exactly happened at theTreasury Department.

After a quick search, I stumbled upon JSON Web Tokens (JWT). According to JWT.io, tokens are, “an open, industry-standard RFC 7519 method for representing claims securely between two parties.” Great. I have no idea what that means. Upon further digging, I found that tokens are essentially an ID card that web apps assign to visiting users which verifies they are who they say they are.

This is…

Jacob Kagon

Software Engineering Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store