Writing a simple shell in Go

Introduction In this post, we will write a minimalistic shell for UNIX(-like) operating systems in the Go programming language and it only takes about 60 lines of code. You should be a little bit familiar with Go (e.g. how to build a simple project) and the basic usage of a UNIX shell. UNIX is very simple, it just needs a genius to understand its simplicity. - Dennis Ritchie [Read More]

Deploy Go code to Heroku with GitLab CI

Introduction I’ve created a very minimalistc repository to show, how to deploy Go code to Heroku using GitLab CI. Automatically triggered on push/merge: golint go tool vet go test -race deploy to staging (automatically) deploy to production (manually) How-To Create a new Heroku Pipeline. Set up as many Heroku apps in this pipeline as you need (e.g. staging and production). git clone this repository or copy whatever you need. [Read More]

Web development with Go

Screenshot Description When I learned to program, I’ve never focused on web development. I was more interested in old school CLI backend programming. Furthermore, PHP never attracted me so much, but was (and still is) the programming language of the web. After some time of learning Go, I realised it was used more and more for web development, as an alternative to PHP, Python, or Ruby (on Rails). After reading some articles about web programming with Go, I was thrilled: Doing web dev just felt like writing anything else in Go, no big framework necessary, just needing the fundamentals of how web dev works (and I did lack these fundamentals). [Read More]

Prototyping a Computer Algebra System in Go

Description It was time for my bachelor thesis and I was thinking about the topic. At this time I was totally hyped by Go (and I’m still), so I wanted to find something related. As I am always curious how things work, I wanted to research a calculator with simple algebraic operations and a web interface based on Bootstrap. Of course, this was highly inspired by all students favourite Wolfram Alpha ;-) [Read More]

Writing a Port Scanner

I’m always a very curious person, especially when it comes to IT and tech. When I ask myself how does something work, I want to figure out the solution. The same happened to me when I asked myself “how do port scanners work”? There was so much magic inside, but as always, when you get the idea behind it, it is anything but magic :-) Here I want to describe the very simple concept of a port scanner I’ve written in Go. [Read More]

Ordinary Differential Equation library for Go

Description At the university I wrote a Go library to solve Ordinary Differenctial Equations using the Euler Forward or the 4th order Runge Kutter method. Github repository Example // Example to show how the ode package works package main import "fmt" import "github.com/sj14/ode" func main() { // SIR Start Values yStartSIR := []float64{700, 400, 100} // Do the calculation (start, step size, end, start values, function) y := ode.RungeKutta4(0, 10, 100, yStartSIR, sir) // Output the results to the console for _, val := range y { fmt. [Read More]