Golang Project Structure

Tutorials, tips and tricks for writing and structuring Go code

Building Real-Time Applications With Go and WebSockets

A professional woman working on a laptop while sitting cross-legged on a bed in a hotel room.

Real-time applications (RTAs) have become an important part of modern software development. From live chat applications to stock market updates and online gaming, users now expect instant interaction with all kinds of services. While traditional HTTP request-and-response models may work well for many projects, they often fall short when it comes to implementing real-time communication […]

Who Owns Golang?

A confident and rich businessman standing in modern city, surrounded by skyscrapers. He has been successful in business, and he is wearing a suit and sunglasses.

In the world of open-source software, the question of ownership can be surprisingly complex. This is especially true for Go, a language that began as an internal project at Google but has since evolved into a global phenomenon, supported by a vast and passionate community of developers. It’s easy to assume that because Go originated […]

What Does It Mean to Say That Go Is Garbage Collected?

A dumpster on a street. It is filled with garbage, waste and trash. The dumpster is used as a visual metaphor for the importance of garbage collection in programming languages.

Memory management is critical in any programming language. In traditional languages like C and C++, developers manually manage memory through the allocation and deallocation of resources. However, in modern programming languages like Go, memory management is automatically handled by a garbage collector (GC). This feature is one of Go’s greatest strengths, since it allows developers […]

Understanding Huffman Coding and Its Implementation in Go

David Huffman depicted around the time that he developed the algorithm for Huffman coding as a young man.

Huffman coding is a widely-used algorithm for lossless data compression. By assigning variable-length codes to an input string’s characters, it ensures that the most frequently seen characters have shorter codes, while less frequently seen characters have longer codes. This technique minimizes the overall size of the data to be transmitted or stored. In this blog […]

Rob Pike’s Go Proverbs (Part Two)

Rob Pike, one of the creators of the Go programming language.

This is the second part of a two-part series discussing the Go proverbs that were devised by Rob Pike. (The original post is available to read, if you haven’t already.) gofmt’s Style Is No One’s Favourite, Yet gofmt Is Everyone’s Favourite The gofmt command-line tool automatically rewrites our code in a strict, standardized format that […]

COBOL in the 21st Century

Grace Hopper, an American computer scientist, mathematician, and United States Navy rear admiral.

This blog post will attempt to provide a basic introduction to the COBOL programming language for complete beginners. We will cover the language’s history, syntax, features and applications. Then we will provide some practical examples to help you understand better how COBOL code works. What Is COBOL? Common Business-Oriented Language, known usually as COBOL, is […]

Choosing a Good Programming Chair

The Herman Miller Aeron Chair is a good ergonomic programming chair for those seeking the best quality.

Professional programmers spend most of our working lives sitting in front of a computer, focusing intently on the monitor and typing away at the keyboard. Even hobbyist coders can get engrossed in a difficult project, losing track of time as they dive deep into long lines of knotty and complicated code. With so many hours […]

How to Test Code in Go

A health worker in a laboratory is performing a medical test using high-tech scientific equipment.

Testing should be considered an essential part of the software-development process, because it helps to ensure that our code works as expected when handling a wide range of reasonable values as input. So today we are going to look at how to write tests in Go, using the built-in syntax, and how to run the […]