February 16, 2018

Convert txt files to csv with Golang

Recently I found a client that needed to convert a list of txt files into csv - and he wanted the solution to be written in Go. Looking at the source files, I’m assuming the text files are generated by a script or a tool that extracts the data from somewhere. The good thing is that the provided files were very simple, so they are perfect for a tutorial like this. Read more

February 13, 2018

After being completely honest, Upwork banned my account for 'being dishonest'

There are plenty of articles online despising Upwork. For those that don’t know, Upwork is ‘the world’s largest online workplace where savvy businesses and professional freelancers go to work!’ Once I felt comfortable writing Go - I decided I could take some small side gigs to make connections and earn some extra cash. For reasons still unclear to me, that didn’t last for long. Read more

February 4, 2018

Elasticsearch query examples with Golang

I’ve heard of Elasticsearch quite a while ago but started using around 6-7 months ago. It’s a very fine piece of technology, allowing you to create blazingly fast queries with very complex structure. Comming from a SQL background, I spent quality time reading through the official docs to write even the most basic queries. The purpose of this article is to save you that time and get you straight to work. Read more

January 4, 2018

Create Golang API documentation with SwaggerUI

Having a documentation for you your APIs is more useful than you might be thinking. Even if you don’t expose your APIs publicly, having the docs for your frontend or mobile team is way easier than sending them screenshots/snippets or using a paid product like Postman/Insomnia (premium version with syncing). With SwaggerUI, you can get a well-designed documentation for all your APIs automatically. When moving to Go I had issues setting it up, due to lacking documentation/tutorials, so I decided to write one. Read more

December 15, 2017

Fixing corrupt archive in Golang

Recently I had an issue sending JSON via API to our analytics tool. After few days of troubleshooting, I realized what was the problem during the weekend when the file being uploaded was of lower size due to less amount of data during weekends. Obviously, I decided to zip its contents, afterward facing a problem with a corrupted archive. Read more

December 9, 2017

How to reduce JSON file size

When I started writing this article, it had a quite different title. To be precise: “Uploading large JSON files to Zoho Reports.” But, reducing JSON size might be useful in so many areas, I decided not to limit it to Zoho and changed the title. Shortly, I’ll explain how I managed to reduce and split JSON files of several gigabytes to the desired size - size limited by the provided API, with help of few tools. Read more

December 1, 2017

Glice - Golang dependency and license checker

Did you ever want to check licenses of third-party dependencies in your Go project? Me neither. However, if you want to do something like that, I made a simple tool written in Go - glice. By running it in your Go project, it gets project’s dependencies (with a possibility of recursive dependencies), then for third-party ones gets the license from GitHub API. Read more

November 19, 2017

Windows to Mac - Power user's perspective

For quite some time I had a desire to switch to Mac / OSX, due to several reasons. Mainly, the *nix environment always attracted me, Apple’s hardware quality and the general feeling of OSX. Lots of friends (developers) around me had Macs, and the tutorials from developers I enjoy watching were mostly recorded on Macs. Yes, there’s GNU/Linux, and I used it occasionally, but for reasons mentioned later, I couldn’t switch to only using it. Half a year ago I switched jobs, moved from Windows to Mac only, being forced to relearn many things about my daily computer usage. Read more

October 16, 2017

Kiss - A stupidly simple Hugo blogging theme

I’m a huge fan of Hugo - not only as a Gopher but because I feel quite comfortable working with it - even though I work full-time as a backend developer and I’ve got no working experience with frontend - just some basic html/css/js. After deciding to start a blog, I searched for the simplest theme possible and decided to go with Hemingway. Unfortunately, Tanksuzuki, the developer of Hemingway, abandoned the theme and doesn’t respond to issues and pull requests for nearly a year, even though he’s being active on Github. I did plenty of changes on this theme and decided to share it with the community. Read more

September 16, 2017

Switching to iPhone from Android - Power user's experience

There are many Android power users out there thinking of switching to iPhone. Or at least how would the switch affect them and their daily phone usage. What’s better in the Apple ecosystem and what’s worse? As a power user, I’ve taken the step myself to see whether I could use an iPhone as a daily driver for some time. Below are my observations and experiences of this switch. Read more

2018 © Emir Ribic - Some rights reserved; please attribute properly and link back. Code snippets are MIT Licensed