Because Medium’s bio is only 160 characters.
Hello, my name is Israel Miles — but I also go by Izzy! I started writing during college as an editor for The Colorado Engineer. I am currently a back-end software engineer, although I have a broad background in music, martial arts and math.
I’ve played classical piano since the age of six years old, and began training Brazilian Jiu-Jitsu over four years ago. …
Everyone knows if you buy bitcoin, you’re going to lose money. In January of 2011, it was worth 50 cents before reaching $30 in June of the same year before it crashed down to seven dollars. Then in October of 2013, it went from $147 up to almost $1,200 in November of 2013 before it crashed back down to $480. Then another time it went from $1,100 in April of 2017 up to over $19,000 before it crashed back down to $6,300.
Can’t you see? With Bitcoin you’re always going to lose money…
In fact, billionaire Mike Novogratz states that it is “almost irresponsible” to not invest at least some money into Bitcoin given its history and projected future. …
From powerful test flags to code coverage and benchmarking!
Every software engineer needs to know how to test in their language of choice. Even a simple layer of unit tests can greatly improve a program’s resilience and ensure it runs as the engineer expects. Go has a fantastic built-in testing support system with comprehensive flag options to help an engineer create tested programs efficiently.
In this article we will detail the following:
Let’s learn some Go!
Let’s start from scratch. In order to run our tests, we will need to move to our Go source folder. From there we can create a new folder that we will use as a sandbox for our tests. Let’s also create two directories
parent with a sub-directory
child. Finally, we will add two test files
child_test.go. Adding “_test” at the end of a Go file signals to the compiler that we want to run unit tests from this source. …
Deploy different types of satellites with the same rocket!
The Adapter pattern is a flexible structural design pattern that allows you to connect two objects that have different interfaces. A simple example is an adapter for a three-prong wall outlet to a two-prong wall outlet. This pattern is simple in its design, yet powerful in its application since it allows once incompatible objects to now interact with each other.
This article will be composed of three main sections — we will first examine real world use cases of the Mediator pattern. Then we will understand its UML diagram, and finally apply our knowledge with an implementation in Go where we launch different types of satellites with the same rocket by leveraging — a satellite adapter. …
Upgrade your logging framework with automated metrics and powerful analytics!
Application Insights is part of the Microsoft Azure Monitoring suite. It can be used to monitor live applications to automatically detect performance anomalies along with powerful analytics tools. Not only can you use it to diagnose issues in your application, you can use it to gain deeper understanding into how users interact with your app.
Play traffic control for a busy airport!
The Mediator pattern is here to help when you have a collection of entities that cannot or should not communicate with each other directly. It allows you to have a central point of information flow so that your other objects or methods can focus on their own business logic. When used proactively, the Mediator pattern prevents tight coupling, separates responsibilities and gives your code a flexible foundation to expand upon.
This article will be broken up into three main sections — we are going to explore the real world use cases of the Mediator pattern, its UML and Sequence diagrams, and finish with its implementation in Go. …
Level up your GoLang concurrency skills by using channels to communicate and pass information between Go routines!
Go has risen to fame in large part due to its clean and efficient take on concurrency. We can use Go routines to run multiple threads in the background of our main program for a huge boost in efficiency. But how can we communicate between our go routines or share resources between them? Well prepare to be amazed by the simple yet powerful nature of channels in Go.
There’s no history lessons here, let’s dive straight into the code!
While channels have greatly simplified concurrent programming, we still need to be careful with how we build our understanding of them. In the program below, we perform only four operations that we will step through. …
One order of magnitude later, and how you can do the same.
Wow, what a ride it has been so far! I first started writing on Medium back in July of 2020. After several months of occasional articles, I decided that I wanted to take my passion for writing more seriously and dedicate daily time to writing.
The results have absolutely paid off, I published 14 times in November resulting in my first 10,000 views on December 1st. …
Get background knowledge and applied skills on concurrency in Go!
Go has claimed much of its rise to fame from its clean take on concurrency. Instead of processes or threads, Go uses its own type known as go routines to increase a program’s execution efficiency. This takes a great deal of work off of the developer and allows for a more secure handling of concurrent programming when using Go.
This article will detail the following:
Let’s get started!
To recall, concurrency involves breaking up data or information into separate chunks to be processed all at once. For example, say you were web scraping 1000 websites and wanted some sort of information from their body to be processed. You could just do the websites one at a time, OR you could spin up 10 go routines and have them each take care of 100 websites each. This has the potential to improve your program by an order of magnitude, at least in theory. …
Women played a monumental role in the growth of technology since the inception of the very first computers. Ada Lovelace was suspected to be the first individual to develop an algorithm intended to be executed by a computer. Grace Hopper was the first to design a compiler for a computer programming language. Throughout the 19th and 20th centuries, women dominated the computing landscape.