Resources Software Development Web Development

GIT resources and links


Semantic versioning with Git tags 


Introduction to Git – Core Concepts

referenced in video – Pro Git 
Visual Git Reference by Mark Lodato

Introduction to Git – Branching and Merging

Introduction to Git – Remotes

Resources Web Security

Web App security resources

Practical HTTP Host header attacks – Must read to understand how hackers use HTTP headers to hack websites.

Link to OWASP cheatsheet  – a good cheat sheet

Website security by MDN – covers some very basic information about website security such as SQL injection

Resources Software Development

Neo4j and graph database resources

Introduction to Neo4j and Graph Databases

@28:30 the link to the article about streaming with kafka and neo4j

Link to a whitepaper article about streaming with neo4j

A Skeptics Guide to Graph Databases – David Bechberger

Resources Web Development

Webpack resources, links and videos

Frontend development has become a challenge. These days we need all kinds of tools. Instead of having one large Javascript file or one large CSS file, you need to develop modularly and therefore you need to break up your files into many smaller files. This leads to all kinds of issues, especially with javascript since the order that your javascript is loaded can mean errors or not. “path”: __dirname+’/static’,
“filename”: “[name].[chunkhash:8].js”

javascript pro tip
javascript pro tip meme

I have used many tricks in the past such as creating my own BASH scripts which collected the files from folders and checked the order and trans-piled and minified them to single files. Even that process got to be a pain because it is hard to make sure things are loa “path”: __dirname+’/static’,
“filename”: “[name].[chunkhash:8].js”ded in the right order.

Webpack makes it easier

Instead of explaining webpack in a lot of paragraphs, I will create a list of videos and articles  I find helpful. First off what is Webpack? I found this video to be very helpful.
“path”: __dirname+’/static’,
“filename”: “[name].[chunkhash:8].js”


Customize Bootstrap 4 with Webpack | Webpack tutorials

Webpack 4 Tutorial – Getting Started for Beginners

Learn Webpack – Full Tutorial for Beginners


Resources, Articles & links

A Beginner’s Guide to Webpack 4 – A great article to get started with.

An introduction to source maps – An article about using source maps in javascript

Webpack using Source Maps – Webpack documentation page for source maps

Webpack source map devtool – Webpack documentation for the devtool that creates source maps, this lists the options

Webpack SourceMapDevToolPlugin – documentation, this plugin aids the source map devtool to add more features and options.

A mostly complete guide to webpack (2020) – a great article about webpack

Creating a custom webpack plugin – decent article about the basics of creating a webpack plugin

Resources Software Development

Linux how to fix Command ‘go’ not found, but can be installed with:

Command ‘go’ not found, but can be installed with:

So you just installed Go on Linux huh?

go not found
go not found error

This means you probably set the environmental variable via the command line which is temporary.  Don’t install go this way. You could do as the documentation says and add :

export PATH=$PATH:/usr/local/go/bin

However if you look in that file it has some important looking code in it. This is because it is a script.

linux profile script
linux profile script

It felt dirty to place the above code in that file so I did some research and found a better alternative. You simply create a new file in the /etc/profile.d directory and place the above export line of code in it and save it. You can name the file anything and add .sh to it and it will be found and loaded. Then you logout and back in like the documentation suggests and open a terminal and type “go version” and it works properly.

See my file :

profile.d directory
linux profile.d directory

Doing it this way instead of adding it to the ~.profile file is better because it reduces the chance of messing up the code in a file. The script actually reads all of the files in the profile.d folder and this is why it works. For more information see this article in the section “Persistent environment variables”. You can do any other environmental variables you need set this way too.

Resources Software Development

How to easily add a desktop icon in ubuntu 18

They decided to make adding a desktop launch Icon even harder in Ubuntu 18, because you know we all love wasting our time googling all day trying to figure stuff out. It’s a repeating theme in the Linux community for decades now. Making things harder makes you feel smarter.

If you can avoid the UI and go for the command line, then go for it right. We all love typing in 120+ characters into the terminal, looking closely squinting, comparing character to character. It makes us feel smart like pretend hackers in movies right!!!

Why would anyone want to work efficiently anyways? Surely memorizing 1,000 linux commands and how the entire system works makes you feel smarter right? No? Me neither. My time is precious to me and maybe yours is to you too.

Here is a video that shows how to create desktop launch Icons. It still works in Ubuntu 18. Everything else you find suggests locating a file and typing a whole lot of lines of code.  And since it is so obscure  I will never remember it,  I am creating this post so  I can find it again later.

Resources Software Development

Computer Science information, resources and links


Introduction to concurrent programming. Link to a PDF by Rob Pike

CSP communicating sequential process free online book


Programming Language Syntax 1 – Backus-Naur Form (BNF)


The earthquakes and shakes part 1

I am repeatedly in some area that feels like an old European town. I say this because the roads and buildings are of stone. The yards have beautiful, intricate metal work fences and are very small. I visit this place often. I am not quite sure the significance of this location.

This area is still modern though because there are modern like cars and vehicles. I am on a cobble stone road, just plain sort of like this.

Image by Pexels from Pixabay

The road is on what seems like a fairly sharp incline. All of the sudden shaking, shaking and more serious shaking. Everyone is running up hill, down hill, everywhere like roaches when the lights turn on. The next thing I know I am helping someone up and pulling them up off the ground. I look up I am inside the door of a huge stone building, like a church or something. It has a dark, feeling to it inside. monastery

Image by Peter H from Pixabay

I close my eyes out of fear while holding the person I just saved closely in my arms. The shaking keeps going and going and I get more and more scared. The shaking finally stops. I open my eyes and I am now in a totally new location. Where am I? I can’t quite figure it out. I look around and realize  I am on some sort of Ferry boat and something bad has just happened. There are so many people on this boat. No cars. So much panic.

More on the earthquakes in another article. This is just one location I am at during the earthquakes.

Resources Web Development

React information and resources

Why you shouldn’t use inline styling in production React apps

Why you should use refs sparingly in production

Do React Hooks Replace Redux?


Learn REACT JS in just 5 MINUTES (2020)

JavaScript for React Developers | Mosh

Resources Web Development

Redux information and resources

Why use redux, reasons with clear examples

Logrocket it helps you find bugs in your redux apps

What Is Redux: A Designer’s Guide

Do you need redux with react hooks?


What is Redux?