-
Does it really matter?
I’m not a fan of Gradle, but I like it much more than Maven. I was browsing the internet to understand why people still use Maven, and I came across a Reddit post. It made me laugh and then think, “Does it really matter?” So often, we spend a lot of time deciding or comparing…
-
Go: What is rune?
One of the new concepts developers encounter when working with strings in Go is the rune. As shown in the code below, s[0] is a byte, and its ASCII code is 72. However, the code below results in a compilation error, stating that ch is of type rune, not byte. If you examine Go’s internal…
-
Go: cannot assign to struct field in map
One of the surprising things beginners realize about Go is that maps are passed by reference. This means if a map is modified in the function it was passed to, the caller will also see the changes. However, if m is a map[int]node, m[0] is not a reference to a node but the value stored…
-
Go DOES NOT have references!
As a beginner, I found it a bit confusing to work with slices in Go. Even now, I sometimes forget this. When reviewing code, I often see that colleagues pass pointers to slices in an attempt to optimize performance. Or people might be hesitant to slice a slice because they’re concerned it could affect performance.…
-
Practicing Coding Problems with Go (I)
It’s been two weeks since I started practicing coding problems to get ready for technical interviews. I’ve been solving questions like C and D on Codeforces. I have chosen Go to practice as well. So far, I’ve had a great experience with Go; I believe Go is even more intuitive than Python, at least for…
-
Go Docs are good, but not enough!
I believe programming language standard library documentation should mention the time and space complexity of every operation. Currently, Go docs only explain how to use data structures, but nothing more. This is unacceptable. I need to know how much time it takes to initialize an array of size n without reading the source code. One…
-
Can’t agree with this MORE!
I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn’t hard.Having written it a couple of years ago, I haven’t had occasion to use it once. Instead, I just use “for” loops.You shouldn’t use it either. Rob Pike
-
Story of a Different Type of Cache!
In the company I work for, there was a campaign running for a group of users. Our task was to show some information to the user when they logged into our app if they were in the selected group for the campaign. The group was maintained by operators. When a user joined the campaign, they…
-
Trying Out GitHub Copilot: One Week In
My first experience with GitHub Copilot last week was surprisingly positive. It quickly adapted to the coding style of our project, which was a great help. The chat feature powered by GPT-4 engine proved to be incredibly useful for generating boilerplate code, such as file handling, setting up Redis connections, writing database transactions, and making…
-
A look into Go Scheduler’s Design
Go is a relatively recent language designed with concurrency first in mind (from introduction to Go byRob Pike). Its standard library is state of the art code written by coders who worked on Unix. My focus in my grad studies, from general to specific was Distributed Computing -> Concurrent Algorithms -> Shared Data Structures. I…