A very brief overview of OS and concurrent programming topics

Gopher reading a Go programming language book

Why? The bigger picture

Recently during an interview I was asked questions based around operating systems and concurrent programing topics. Although I knew that these concepts were important, my non-tech background and focus on functional and frontend technologies allowed me to justify not deeply looking into them.

My current favorite programming language, JavaScript is a single-threaded language. Although I love JS, I can’t deny that concurrent (multi-threaded) programming is an essential part of modern programming and shouldn’t be overlooked in the name of perceived superiority or preference.

Concurrency, as it sounds, implies multiple computations happening at the same time. Whether thats handling multiple users…


A curious discovery led me down a weird rabbit hole of confusion

Blogging is new to me

Until this last year, I primarily wrote my thoughts down the old school way, in pen on paper. After enrolling and completing a coding bootcamp however, I found blogging to be a way of reinforcing my learning and as a way to open up and express who I am behind the screen. As I am in the midst of the most difficult but transforming career change and job search, I found something very strange when periodically checking the many analytics measurements I have related to my personal website.


Where it all began, how/why I decided to change careers during a global crisis, and where I am today

My motivation and origin story

First, let me introduce myself. I am who I am today because I grew up alongside the modern web. At the age of 7, my life dramatically changed when visiting one of my favorite gaming websites, Miniclip. I saw a new advertisement at the top that read RuneScape. It was in this moment that I knew I would inevitably grow up to become a software engineer.

Although I wasn’t great at the game, I was enamored by the yellow floating text and the friends I had made on the other side of the screen. …


My experience with a loaded, and somewhat uncomfortable term, and why it doesn’t have to be so bad

What is Networking?

If you are a recent graduate of a coding bootcamp, you have probably been given an overwhelming amount of advice to start networking. At first read networking may make you feel really bad. You may think you are being tasked with randomly emailing strangers desperately asking for help. You may also be thinking it has something to do with the OSI model, various layers, and interfacing with remote servers. Although I can’t help too much with the second variation, the first doesn’t have to be cold-calls and Zoom meetings over coffee.

Networking is a loaded term, and no matter what…


Resources to start unit testing React applications with the latest tools such as Jest and react-testing-library

I recently started an exciting side project with my two best friends! One of my friends is a seasoned web developer, turned SCRUM Master, who we will reference as ‘B’. My other friend, ‘R’, is a self-taught JavaScript developer who is interested in learning React. I am a React enthusiast, so we set out to develop a PERN (PostgreSQL, Express, React and Node.js) stack application together. …


How to find, develop and make your first pull request, and become a contributing member of an open source project

What is Open Source?

Open Source Software (OSS) can be defined as any software that has been released for the purposes of giving other people the rights to study, use, change, contribute to, and distribute the software. There are often licenses and documentation accompanying the source code that detail specific rights and information regarding the open source project.

If you are familiar with GitHub, you are familiar with the concept of open source collaboration. The technology Git was designed precisely for this purpose. …


Exploring use cases, and how I recently fell in love with Next

If you are interested in frontend software development, you have probably heard of React. However, if you are new or newer, React is a JavaScript library that was built to create beautiful UI components. Most programmers add additional libraries to their React applications, and each of the frameworks in the title are based in React. There are many different cases, when and why you might want to use each one. In this blog I hope to lay out some of these cases in a digestible way so you can start building with React!

Create-React-App


A closer look at the linear data structure

Singly Linked List

A linked lists is a linear data structure that consists of units of data (nodes) that are chained together and implemented through storing information as well as holding reference to other nodes. In the above image, the number 5 is the head of our linked list. The right half of the node, illustrated by the arrow, holds a reference to the purple node containing the number 7. At the end of our linked list, the green number 15 holds a null reference, indicating that it is the end of the list. …


An introduction to data structures and abstract data types

JavaScript data structures

What are data structures?

In computer science, data structures are particular formats utilized in the organization, management, and processing of data. There are many data structures that vary greatly in complexity. Essentially, a data structure exists to store information while creating a pathway to retrieve and use that information efficiently. Some data structures you may have seen before are arrays, hash tables, linked lists, trees, and graphs.


Creating, submitting, and appending content without refreshing the webpage

While working on a new Rails project, I was tasked with creating a comment model and implementing the ability to add comments to a video’s show page. I needed to be able to access both the video and comment models, add comments to the video page, display newly added comments, all without interrupting the runtime of the video. Through trial and error, and dissecting various tutorials for older versions of Rails, as well as other programming languages, I found a working method using jQuery and a few snippets of Ruby code.

Have a working Rails app with a User, Video/Post/Other, and a Comments joining model

I am making the assumption that if you have…

Gabriel Hicks

Software Engineer from Iowa, living in NYC. Interested in new technologies and exploring opportunities to grow. https://gabrielhicks.dev

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