Sebastian Patten

a love of learning

Category: Uncategorized (page 1 of 2)

What is Docker?

This article answers the question – what is Docker? Specifically, what is Docker to a developer? Why we would use it?

Continue reading

MapBox API Upload Example with Node.js

This tutorial covers a MapBox API Upload uploading GeoJSON data to MapBox using Node.js and MapBox’s mapbox-sdk-js.

Continue reading

API Tutorial with Amazon API Gateway Part 2


In this second part on Amazon’s API Gateway, we walk through step by step, how to create a simple API Gateway endpoint using Amazon Lambda via Node.js to return simple JSON data.

Continue reading

API Tutorial with Amazon API Gateway

The first part in a multi part series covering building an API with Amazon’s API Gateway.

This first article covers what features a platform should have to build high quality, future proof, scalable APIs on, relating back to how Amazon’s API Gateway covers our requirements. To be specific, this article will not cover best practices for building a great REST service. That is a large topic in itself.

Continue reading

Git Commits

GIT Tutorial: Part 3

This is Part 3 of the Git tutorial. To see the rest, click here

YouTube Video Series:

Git tracks its history using a tree structure behind the scenes. Each entry in the tree is uniquely identified with a SHA hash. When playing with Git you may have seen something like:

A list of commits, each with one parent

What you are looking at is a stack of commits where the SHA hash uniquely identifies each commit. It can be thought of as a unique identifier like a primary key in a database.

Try the following to see some commits in your repository.

git log --oneline

The oldest is at the bottom and the newest at the top. What is not obvious is that the child item has a pointer to its parent(s). In the above scenario each child has one parent and it looks just like a list. Note: In the diagram below we are using alphabet letters instead of SHA hashes.


B has a pointer to its parent A

A commit can have one or more parents. When the commit has two or more parents it is essentially a merge where we have taken content from A and B and made C.


C has a pointer to its parents, A and B


When we download a Git repository we can think of it being almost two separate items. First there are all the files in your project as then there is as an index that tracks the Sha references and which files they each relate to. This index is called the reflog. Not only does it contain these Sha references, it also can contain Tags (which are human-readable labels applied to a single Sha reference) and pointers that identify the Sha reference of each branch in the repository.

Book Recommendation

I highly recommend this book on Git as it goes really deep into how Git works and is well written.

Older posts

© 2017 Sebastian Patten

Theme by Anders NorenUp ↑