Curious About Technology

Welcome to Coding Explorations, your go-to blog for all things software engineering, DevOps, CI/CD, and technology! Whether you're an experienced developer, a curious beginner, or simply someone with a passion for the ever-evolving world of technology, this blog is your gateway to valuable insights, practical tips, and thought-provoking discussions.

Recent Posts

Understanding Empty Interfaces in Go
go, golang, programming Noah Parker go, golang, programming Noah Parker

Understanding Empty Interfaces in Go

In many programming languages, interfaces are used to define a contract that types must fulfill. Go, commonly known as Golang, is no different. One unique and powerful feature in Go’s type system is the empty interface. For those coming from dynamically-typed languages or even some statically-typed languages, this can be a curious concept.

Read More
Manual Memory Management Techniques using unsafe in Go
go, golang, memory, programming Noah Parker go, golang, memory, programming Noah Parker

Manual Memory Management Techniques using unsafe in Go

Go is renowned for its simple and elegant design, particularly when it comes to memory management. The built-in garbage collector alleviates much of the manual memory management burdens found in languages like C and C++. However, there are times when developers might want to engage in manual memory management to extract more performance or for specific use-cases. This is where the unsafe package comes into play.

Read More
Using Twirp with Go: A Quick Guide
go, golang, rpc, communication Noah Parker go, golang, rpc, communication Noah Parker

Using Twirp with Go: A Quick Guide

Twirp, developed by Twitch, is a framework for service-to-service communication that leverages Protocol Buffers (Protobuf) for defining and implementing RPC (Remote Procedure Call) APIs. In this guide, we'll take a quick dive into how you can use Twirp with Go (often referred to as Golang) to build efficient and maintainable microservices.

Read More
Understanding the "go build" Command
go, golang, build Noah Parker go, golang, build Noah Parker

Understanding the "go build" Command

The Go programming language is popular for its simplicity, performance, and strong support for concurrency. One of the many tools that make Go development a breeze is the go build command. In this post, we will delve into the go build command, its arguments, how it determines which files to include/exclude, and the concept of build tags and constraints.

Read More
Taming Errors in Go with Panic and Recover
go, golang, programming, recovery Noah Parker go, golang, programming, recovery Noah Parker

Taming Errors in Go with Panic and Recover

In the world of software, errors are inevitable. In Go (or Golang), handling errors gracefully is fundamental to building resilient applications. One unique aspect of error handling in Go is the use of panic and recover. Understanding these mechanisms will give you a deeper insight into Go's philosophy and provide you with tools to write more robust code.

Read More
Understanding Function Variables in Go
go, golang, programming Noah Parker go, golang, programming Noah Parker

Understanding Function Variables in Go

In many programming languages, functions are first-class citizens. This means that they can be passed around just like any other value. Go, also known as Golang, is no exception. In Go, we can assign a function to a variable, pass it as an argument, or even return it from another function. This provides immense power to developers, enabling patterns like callbacks, higher-order functions, and more.

Read More
Exploring Go Fiber: A Fast Express.js Inspired Web Framework
go, golang, web, api, server Noah Parker go, golang, web, api, server Noah Parker

Exploring Go Fiber: A Fast Express.js Inspired Web Framework

Go has steadily gained traction in the world of server-side programming, offering a compelling blend of performance, strong typing, and concurrency tools. As Go's ecosystem grows, we're witnessing the emergence of robust web frameworks designed to simplify the development of Go applications. Among these is Go Fiber - an Express.js inspired framework that promises speed and flexibility.

Read More
Fuzz Testing in Go: An Introduction with Examples
go, golang, fuzz, testing Noah Parker go, golang, fuzz, testing Noah Parker

Fuzz Testing in Go: An Introduction with Examples

Fuzz testing, often simply called "fuzzing", is an automated software testing method that provides random and unexpected input data to a program to find potential issues. These issues can include crashes, unintended behaviors, or vulnerabilities. In this post, we'll explore fuzz testing in the context of the Go programming language, diving into how it's done, and providing real-world examples.

Read More