Category Archives: Programming

Things worth reading: Some resources about Protocol Buffers in #golang and #gRPC

Looking around microservice communication protocols I discovered protocol buffers and gRPC as a new alternative to REST with XML or JSON. XML is used in standards like ISO 20022 for financial messages, JSON is widely used by all the new APIs in fintech (Stripe, TransferWise, lots of PSD2 API implementation of banks etc.) Both of… Read More »

Advertisements

Libraries #golang : Inter Planetary File System client

In all this talk of distributed systems the Interplanetary File System is a fun practical subject. Obviously golang should be part of that. According to Wikipedia: The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file… Read More »

Connect to github with ssh key

This is a straight forward list of steps to connect to github with a ssh key instead of user/password. I am using Linux on my development machine so things are quite easy with ssh. STEP 1: Create a ssh key # ssh-keygen -t rsa -b 4096 -C “george@voina.org” STEP2: Add the key to the authentication… Read More »

#Healthcheck for #golang #microservices

One of the important paradigm change in moving away from monolith application to a cloud of micro-services is how to keep all that interconnected could functioning. A monolith enterprise application usually runs in an application container so a lot of time you are using the container monitoring features to make assumptions about the heath of… Read More »

Convert text label files to UTF-8 encoding

In a lot of multi-language enterprise applications where you have to support labels in different languages the text files with the different labels for each language are scattered across your source code. In my case I all the labels are kept in Java property files with “.properties” file extension. Then for each language I have… Read More »

Allow the use of a transacted session in a #Servlet with #JMS broker #Artemis

The open-source application server WildFly from which the RedHat owned JBoss application server is derived is one of the most used Java application server lately. This is caused by the strong market consolidation that is happening that caused the Java application server environment to become very restricted. Basically the only open-source enterprise grade Java application… Read More »

Short thoughts on Code #Refactoring

You know when your code turns into spaghetti and you start wondering what you were eating or smoking when you wrote that code. Usually nobody is such a bad programmer that writes spaghetti code, spaghetti code is something that builds in time when features are added at big pace or when you implement fixes or… Read More »

Learning GO: Limit #concurrency in #golang

Concurrency is easy to implement and fun in go, but as we know all things that are easy and fun can end up doing a lot of dammage if we are not careful. The way the concurrency was implemented in my previous post is prone to abuse. What if the for loop iterates over a… Read More »