Software Engineering

How the Internet Works, Part II - Layers

What exactly happens when you enter a URL in your browser? How does your browser know what content to display? To answer this question, we need to understand how the various layers of the Internet work.

How the Internet Works, Part I - The Internet Infrastructure

ISPs, routers, gateways, LANs, HTTP, the cloud, the web… the Internet is so complex that we could spend days, months, and even years studying this stuff, and we still wouldn’t be done.

Encapsulation, Polymorphism, and Abstraction in Ruby

Did you know that Ruby was good for the environment? It is, because it follows strict EPA principles… Encapsulation, Polymorphism, and Abstraction. [Ducks a volley of Tomato objects thrown at him].

Mastery-Based Learning in the Age of Social Media

I have a confession to make. I’m an addict. I love everything about–and can never get enough of–learning. I keep coming back for another hit, over and over again. I’ve been doing it for over 30 years.

Using the TERA approach to solve algorithm and technical interview questions

The technical interview is a critical part of becoming a software engineer. It’s your chance to demonstrate your ability to break down a larger problem into smaller, more easily solvable steps, and to gradually slay the dragon (or chicken).

How To Build a Multi-Step Form

Sometimes, forms are too long and can be intimidating to complete. The go-to solution is to create a multi-step form, where the form is broken up into smaller sections that the user completes progressively.

How To Sort Array Elements in Javascript and Ruby

Sorting an array is one of the most common things we have to do as software engineers. It can also sometimes be the fastest way to calculate a data point–for example, the highest possible product of any three numbers in an array.

What's the difference between a framework and a library?

What’s a framework? What’s a library? Aren’t the two terms interchangeable? Is React a framework or a library? What about NodeJS? And what’s Rails? Who cares, anyway? So many good questions, you have.

Understanding Classes in Javascript

Integers, floats, strings, arrays, objects, functions, loops, scope? Piece of cake. Classes? Not so easy. Understanding what classes are, how they work, and how to incorporate them into your code is critical to developing any working enterprise application.

Syntax differences between Ruby and Javascript

I’ve been working with Javascript for a while now, and have gotten fairly comfortable with its syntax. I’m now also using Ruby again, which has a slightly different flavor. Here are some of the main syntactical differences between the two languages, in table format.