Go Budapest Meetup

Intro So I was at Go Budapest Meetup yesterday, where the brilliant Johan Brandhorst gave a talk about his project based on gRPC using gRPC-web + GopherJS + protobuf. He also has some Go contributions and check out his project here: Protobuf. It’s GopherJS Bindings for ProtobufJS and gRPC-Web. It was interesting to see where these projects could lead and I see the potential in them. I liked the usage of Protobuf and gRPC, I don’t have THAT much experience with them. However after yesterday, I’m eager to find an excuse to do something with these libraries. I used gRPC indirectly, well, the result of it, when dealing with Google Cloud Platform’s API. Which is largely generated code through gRPC and protobuf. ...

February 6, 2018 · 2 min · hannibal

Ansible + Nginx + LetsEncrypt + Wiki + Nagios

Intro Hi folks. Today, I would like demonstrate how to use Ansible in order to construct a server hosting multiple HTTPS domains with Nginx and LetsEncrypt. Are you ready? Let’s dive in. TL;DR What you will need There is really only one thing you need in order for this to work and that is Ansible. If you would like to run local tests without a remote server, than you will need Vagrant and VirtualBox. But those two are optional. ...

January 23, 2018 · 11 min · hannibal

Huge Furnace Update

Intro Hi folks. In the past couple of months I’ve been slowly updating Furnace. There are three major changes that happened. Let’s take a look at them, shall we? Google Cloud Platform Furnace now supports Google Cloud Platform (GCP). It provides the same API to handle GCP resource as with AWS. Namely, create, delete, status, update. I opted to leave out push because Google mostly works with git based repositories, meaning a push is literary just a push, than Google handles distributing the new code by itself. ...

January 13, 2018 · 6 min · hannibal

Commit-Build-Deploy With AWS CodeBuild and Lambda

Intro Hi All. Today I would like to write about an AWS finger practice. Previously, I wrote about how I build and deploy my blog with Wercker. Since, I’m a cloud engineer and I dislike Oracle and it’s ever expending tenctacles into the abyss, I wanted to switch to use something else. My build and deploy cycle is simple. Commit to Blogsource Repo -> Wercker WebHook -> Builds my blog using Hugo -> Pushed to a Different Repository which my Github Blog. ...

December 4, 2017 · 4 min · hannibal

Furnace Ikea Manual

Hi there folks. Just a quick post, of how I went on and created an IKEA manual about Furnace. Page 1: . Page 2: . I drew these using Krita. I mostly used a mouse but I also used a Wacom Bamboo drawing tabled, for sketches and such. Thanks, Gergely.

November 6, 2017 · 1 min · hannibal

Furnace Binaries

Hey folks. Quick note. Furnace now comes pre-compiled easy to access binaries which you can download and use out of the box. No need to install anything, or compile the source. Just download, unzip and use. Here is the website: Furnace Website. Enjoy, Cheers, Gergely.

September 3, 2017 · 1 min · hannibal

Notetaking

May 31, 2017 · 0 min · hannibal

Replacing Eval with Object.send and a self written Parser

Intro A while ago, I was added as a curator for a Gem called JsonPath. It’s a small but very useful and brilliant gem. It had a couple of problems which I fixed, but the hardest to eliminate proved to be a series of evals throughout the code. You could opt in using eval with a constructor parameter, but generally, it was considered to be unsafe. Thus, normally when a project was using it, like Huginn they had to opt out by default, thus missing out on sweet parsing like this: $..book[?(@['price'] > 20)]. ...

May 28, 2017 · 7 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 4

Intro Hi folks. Previously on this blog: Part 1. Part 2. Part 3. In this part we are going to talk about Unit Testing Furnace and how to work some magic with AWS and Go. Mock Stub Fake Dummy Canned Unit testing in Go usually follows the Dependency Injection model of dealing with Mocks and Stubs. ## DI Dependency Inject in short is one object supplying the dependencies of another object. In a longer description, it’s ideal to be used for removing the lock on a third party library, like the AWS client. Imaging having code which solely depends on the AWS client. How would you unit test that code without having to ACTUALLY connect to AWS? You couldn’t. Every time you try to test the code it would run the live code and it would try and connect to AWS and perform the operations it’s design to do. The Ruby library with it’s metaprogramming allows you to set the client globally to stub responses, but, alas, this is not the world of Ruby. ...

April 16, 2017 · 6 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 3

Intro Hi folks. Previously on this blog: Part 1. Part 2. Part 4. In this part, I’m going to talk about the experimental plugin system of Furnace. Go Experimental Plugins Since Go 1.8 was released, an exciting and new feature was introduced called a Plug-in system. This system works with dynamic libraries built with a special switch to go build. These libraries, .so or .dylib (later), are than loaded and once that succeeds, specific functions can be called from them (symbol resolution). ...

March 22, 2017 · 3 min · hannibal