Avatar (Fabio Alessandro Locati|Fale)'s blog

Sensible integer scale for Gonum Plot

January 20, 2021

Over the years, I found myself multiple times using Gonum Plot. I do find it as a very good and easy to use plotting tool for Go. The problem I found myself, over and over, dealing with is the tickers scale. If you know before-hand the values that can be expected to be created by the application, it is very straightforward, but the majority of times, this is not the case.

Read More

Bootstrap2hugo upgraded to Bootstrap 4

April 30, 2019

For a few years now, I’ve been using Hugo for my website as well as other websites as well. My first Hugo website was my own since I wanted to learn more about the technology before suggesting it to anyone else. Back then I was not able to find any minimalistic theme I liked, and for that reason, I started my own. As you can imagine from the name, I based it on Bootstrap, version 3 since that was the current version when I started to work on it.

Read More

Calling a SOAP service in Go

December 3, 2018

Today the IT world is very focused on high performance, high throughput interfaces. In this situation, it is common to find REST and gRPC API, given their performances compared to the other solutions. Sometimes, though, we still encounter old API written with older techniques or new API that for some reasons have been developed with outdated technologies. One of those cases that I’ve encountered a few times over the last few months is SOAP.

Read More

CORS with Go and Negroni

November 18, 2018

There are some pieces that you need to put in every microservice you write. Those are for instance logging, error handling, authentication. Over the last year, I found myself writing over and over CORS headers. This requirement brought me to think that I should have used a Negroni middleware since we are already using Negroni for other middlewares. I started looking online for an already written one, and I found a bunch, but I was not happy with what I found, so I decided to write my own.

Read More

A lightweight approach to Go vanity import paths

September 23, 2018

Golang forces its users to use the repository URL of the dependency in the import statement. For instance, if we want to import the “test” package that is hosted at github.com/fale/test, we will need to use github.com/fale/test. In one hand this is very nice since it allows anyone reading the code to immediately understand where the code is hosted and therefore finding it very quickly. Also, this URL-based import path guarantees that no two different packages can have the same import path, preventing this kind of confusion for both programmers and the compiler itself.

Read More

A small HTTP debug server in Go

August 31, 2018

Lately, I found myself to work on an application that was communicating via SOAP with a server. My goal was to understand how this application worked with the SOAP server to emulate its behavior. Even if I had access to the source code of the application, I thought it would have been easier, faster and more fun to do the work without actually reading the code. It’s important to note that actually, the application is fairly small and self-contained.

Read More

Why everything will end up in a container

May 9, 2018

A couple of months ago, I wrote a blog post about why containerization is not always the answer and I’ve received quite a few comments about it. This article has the goal to analyze an aspect in favor of containerization which I believe to be true but was not mentioned in the previous post: the time aspect of the phenomenon. In the ICT sector, we are used to new technologies, or at least we should be.

Read More

An HTTP server to serve GCS files

April 12, 2018

As many other clouds, Google Cloud Platform provides an Object Storage service, Google Cloud Storage. As many other Object Storage service, Google Cloud Storage provides an HTTP server to deliver your files quickly. When I started to use Google Cloud Storage and its HTTP server I have not been entirely pleased by how it works and therefore I wanted to re-implement the HTTP server so that I can manage it completely.

Read More

Why containerization is not always the answer

March 27, 2018

UPDATE: I’ve then written another post to clarify better my point of view on the future of containers. When I hear people (and usually those people are salespeople) saying that as soon as you put a Container Platform in your company, all your problems go away, I feel bad for the company they are trying to sell it to. I’ve seen far too many container platforms (as well as many other technologies) fail at customers because they have been sold as this magical problem that makes all your problems go away.

Read More

Why DevOps is just a buzzword

January 5, 2018

I found myself multiple times in situations where people were trying to explain to me how much they are (or would like to be) DevOps and how awesome DevOps is and how productive their teams had become since when they merged the Dev team and the Ops team, and they don’t have any team which is not DevOps and application-centric. I usually stare at them thinking that they have no idea what they are talking about, or they have just outsourced all the non-application-centric side of their IT and have not realized it.

Read More

Walkthrough a PEM file in Go

December 21, 2017

A few months ago, I posted how to create a PKI in Go. Today I’d like to add share a useful function (at least from my point of view) that I found myself to write. The problem arose when I had a function that required as input a *pem.Block of the public key, but all I had was the PEM file containing, as you can imagine: the Private Key the Public Key the CA Public Key I think this is a typical situation, and for this, I’d like to share a function I wrote to extract it.

Read More

Create a PKI in GoLang

June 5, 2017

Lately I have been programming quite a bit and - for the first time - I have used Golang doing so. Go is a very nice language and really helped me with the development. One of the reasons why I have enjoyed this much Go is the standard library, which is amazing. I would like to share today the easiness of creating a basic Certificate Authority and signed certificates in Go.

Read More

How to send an e-mail with attachment from the command line

January 3, 2013

Have you ever had to develop a script in UNIX that has to send an email? If you have, probably you have used the “mail” function since this program is the standard program to send e-mails in UNIX environments if you are using the CLI (Command Line Interface). The manual for mail reports this as mail usage prototype: mail -r [sender] -s [subject] receiver-1[,receiver-2,...,receiver-n] < [File with the body] I think all the parameters are pretty straightforward except the “File with the body” one.

Read More

20 Recipes for Programming PhoneGap by Jamie Munro, O'Reilly

May 19, 2012

This book starts with a little introduction and with the instructions to setup the environment. After this, the book starts at full speed with “the Recipes”. The structure based on Recipes is what I liked the of this book. Every Recipe has the structure: Problem Solution Discussion I think that this is a very powerful structure because in this way we can learn from the obstacles that each one of us can encounter in his way while coding.

Read More

Code Simplicity by Max Kanat-Alexander, O'Reilly

April 24, 2012

This is not the typical O’Reilly programming book and you can find it out very easily when you have the book in your hands, since it does not have any code inside The author, in fact, tries to create a software development science. This left me very puzzled since: I think this kind of stuff has to be said by people after you, not buy the author himself The author mainly collect ideas and principles that are already explained in a lot of other books The author suggests the DRY and the don’t fix if it isn’t broken principles and I think these will not always bring you to good code The book only says what to do, it does not cover how to do it Re-factoring and single responsibility principle are not covered Apart of these five points, I think that the book has reasons to live.

Read More

jQuery UI by Eric Sarrion, O'Reilly

April 17, 2012

jQuery has very interested me in the last period. I think that it is the best JavaScript library for me. jQuery UI is a set of functions that allow you to improve the graphics and the functionality of your websites with very few lines of code. My jQuery level was pretty close before I took the time to read this book. I’ve found this book amazing and really interesting even for fast-learner as I am (knowing a dozen of languages and libraries I tend to go really fast when I’m studying a new language or library).

Read More

Mobile Design Pattern Gallery by Theresa Neil, O'Reilly

April 9, 2012

This book is weird, I’ve to tell you. I was expecting a book with some examples and some text. Well, I ended up with a book that, at the first sight, seems more a book for kids rather than a professional book since is 90% images. The book is clearly organized, each chapter covering one specific aspect. Navigation Forms Tables Search, sorting and filters Tools Charts Invitations Feedback & Affordance Help Anti-patterns After a little while, I learned how to learn (a lot of) good patterns and bad patterns (anti-patterns) from this book.

Read More

jQuery Mobile: Up and Running by Maximiliano Firtman, O'Reilly

April 1, 2012

jQuery Mobile is a library that allows you to develop mobile apps using jQuery. Is even possible to use a jQuery Mobile program as a native app, thanks to programs like PhoneGap. This book assumes that you already know jQuery and I think that this is good since the author can focus only on the main topic in this way. I think you should know or study jQuery before even starting this book.

Read More
Older