Automated Go Deployments with GitHub Actions, Ansible and Pebble

We’ve recently started bringing Ansible into our deployment pipeline — and it’s changed how we think about shipping. No more SSHing into servers and running commands by hand. No more wondering which version is actually running. Push a tag, and it goes. This post walks through the exact setup: a Go app, a VPS, and a pipeline where GitHub Actions builds your binary, Ansible deploys it, and Pebble manages the running service. [Read More]

Pipelined PostgreSQL Queries in Go

Cross Posted from Our CEO’s blog In this article we will see how to leverage Postgres support for pipelining queries which “allows applications to send a query without having to read the result of the previously sent query”. This allows you for example to perform batch updates which you can send serially and comes with a significant performance boost in processing. Taking advantage of the pipeline mode, a client will wait less for the server, since multiple queries/results can be sent/received in a single network transaction. [Read More]

Why we switched from Supervisor to Pebble for running our services

We recently completed a migration from supervisor to pebble on our production hosts. In this article, we will share how we set it up, why we did so, and what we anticipate forward for our infrastructure moving forward. At NNDI we build systems that typically run on Linux based operating systems, though we have also shipped Windows services as part of our Consulting Work. Most of our services are built with Go and so far we have taken advantage of Go’s ability to build single binaries to power our simple deployment pipeline which involves just taking the binary and putting it on the server. [Read More]

Tingoyenera kukhaladi mavenda

This article is written in Chichewa. I wanted to try something different. Here goes nothing Mawu oti venda nthawi zambiri amatikumbutsa anyamata ndi amayi a mtawuni kapena kumsika omwe amagulitsa zinthu zosiyanasiyana monga nsapato, katundu wa magetsi ndi zina zambiri. Mavenda timawaona mosiyanabe ndi anthu a bizinesi zokhazikika. Koma tikabwela ku nkhani zokhuza Software, mawu okuti Software Vendor amatipatsa malingaliro a makampani aakulu monga Microsoft, ndi Oracle. Koteleko Software Vendor amakhala wolemekezeka ndithu. [Read More]

Building a Vue application with a Java backend and a custom vue-cli configuration

In this guide you will learn how to combine a VueJS front-end with a Java backend. We will achieve this using a custom vue-cli configuration and directory structure. You will also see how to use a maven plugin to help build the Vue app during the package phase of the maven build process, so that you do not have to run two commands to build the final application, which we will bundle as an uber jar. [Read More]

Writing to multiple files in one go with Java

In this short guide you are going to see how to write to multiple files at-once in Java. The technique you will see here will allow you to write the same data to multiple output streams in one go, which will keep your code shorter, readable and safer from errors that can come through copy-and-pasting. The rationale First of all, why would you want to write to multiple output streams at once? [Read More]