Welcome back to the second edition of the Beyond the Bootcamp memory module!

Last week, we talked about how what caches were along with what spatial and temporal locality were. Let’s take a look at an example where not using spatial locality really hurts performance!

But first, a quick refresher on 2D Arrays

Recall that if we want to represent a grid, we can use an array of arrays to do so. In languages such as Java we would represent a grid as such:

Pictorially, we can represent this as so:


Welcome to the second module of Beyond the Bootcamp!

In today’s edition, we’ll go through a high level overview of what computer memory is and why it’s important to understand how computers utilize memory so we can write better programs.

What is computer memory?


Announcements

Welcome to the first edition of Bits & Bytes on Medium! As I’ve stated in the email, I’m going to be migrating previous editions of the newsletter to this platform so it’s easier to search for editions you might have missed :).

What are we looking at today?

In our last edition of Beyond the Bootcamp, we took a look at bit sets and learned how we could leverage them to save on a nearly 97% reduction of space. Today, to solidify our understanding, we’re going to take a look at code samples to see how much space we’re using to solve problems. …


Announcements

Before we get into the meat of the content today, if you want to connect on a 1:1 consultation session about making the switch into software, resume reviews, or anything related to software engineering, I’m starting to open up 30 minute slots on Calendly free of charge! Click here to sign up!

Today, we’re going to motivate ourselves as to why we would want to use a bitset and the space savings we can get. Let’s jump into it!

Hash tables

Before we talk about what a bitset is, let’s take a step back to make sure we’re on the same page…


Since the creation of null in the 1960s by Tony Hoare, null or some form of it whether it be nilor None, has crept its way into many languages today as a convenient way to signify a non-existent object. In doing so, it has caused problems from making developers pull their hair out trying to track down a null reference, to even taking systems in production down.

What’s the problem with null?

Take for example the following snippet:

Excluding the DAO being null, there are three points of failure just from null in this snippet:

  • Since Long is not a primitive, homeListingId is allowed…


This is an article part of the It’s not just about a paycheck: Exploring the 4 important aspects of a software engineering job series.

Learning

As a college student or a new graduate, you may not know what kind of work you like. And that’s perfectly okay! Ideally, you’d try getting a taste of what you like through the sample platter of computer science electives at school, but even that isn’t always representative of what it’s like to work with those technologies on the job.

Even if you think you know what to do, try out different types of work. Your…


This is an article part of the It’s not just about the money: Exploring the 4 important aspects of a software engineering job series.

Impact

One punch man surely is having an impact in this world! Source.

Let’s face it, many of us strive to be software engineers because we want to make a difference in the world. It’s important to be aware that impact is different at every company.

At large companies like Google, Microsoft, Facebook, and Amazon, it’s true that code changes that you make have the potential to affect millions of people, but what about the impact on the company as a whole? …


With demand for software engineers reaching record heights along with the crazy amount of competition in hiring for top talent, compensation for software engineers has gone through the roof.

On top of a cushy salary and benefits, at some companies, there’s also the unlimited free food, massages, laundry, and nice gyms that make it difficult to say no if you get an offer.

Dropbox’s cafeteria in the San Fransisco HQ

Not to say that compensation isn’t important, but as someone who has done four internships and recently graduated college, I have found other aspects of a job to be equally if not more important than perks or…


Concurrency vs. parallelism; Promises and the event loop

On the Listings team here at Redfin, we love throwing darts. While we wait for our servers to boot up, 3 or 4 of us will usually hop onto a quick game of 101.

Team Listing’s dartboard! Filled with 30 different game modes

For those of you not familiar with dart-throwing games, 101 is a game where each player starts with 101 points and tries to get to hit 0 points as fast as possible. Each round, a player will throw 3 darts onto the dartboard; for every successful hit, the number of points scored is subtracted from their current point total. If a player scores more than the…


If anyone were to ask me on New Years Eve how my year was, I would probably give a generic response that would take no more than 3 seconds to formulate.

However, thinking a little harder, looking back at 2015 in its entirety, 2015 had a lot to offer to me. Between making new friends, working on awesome projects, traveling across the country, and getting into the routine of working out daily, I have sure learned and lived a lot.

To be able to reflect on not only how much my life has changed over this year, but also what…

Justin Harjanto

CS @ UW • SDE @ Amazon • http://www.justinharjanto.com

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