LoigeLoige

Luciano Mammino

Cloud developer, entrepreneur, fighter, butterfly maker!

Fastify and Preact for quick web app prototyping

In this article I will show my setup to build and share web apps prototypes using Fastify and Preact, two technologies that I love. I will also use htm, a library that can be easily integrated with Preact to define DOM elements in a very expressive and react-like way (like JSX), without having to use transpilers like Babel. Finally we will see how to dockerize a sample app built with this setup. This will make the app easy to share with co-workers and friends. I came up with this stack, few weeks ago when I…

Luciano Mammino's Profile pictureLuciano Mammino#javascript, #node-js, #fastify, #react, #docker18 February, 201912 min

Read the post →

JavaScript iterator patterns

In this article we will explore different ways to create iterators and iterable values in Javascript, specifically functions, iterators, iterables and generators. JavaScript is a very flexible language and most often you can achieve the same goals in many different ways, iterators are no exception! Wikipedia defines iterators as follows: In computer programming, an iterator is an object that enables a programmer to traverse a container, particularly lists. Various types of iterators are often provided via a…

2018 - A year in review

It is that time of the year when I have to look back at the previous year and see what were my achievements, my failures and set my expectations for my 2019. Full disclosure: I write this type of posts mostly for myself, so I expect this to be boring to death and most likely useless for everyone else. You have been warned, read at your own risk! Static blog migration Interesting achievement of the last year is that I finally migrated this blog from Ghost to a static setup using totally free and Open Source…

A random emoji in your terminal prompt. How and Why!

In this article, we will see how to customize our terminal prompt and add a random emoji in it. This is my terminal prompt: If I could have a penny every time somebody asked me how did I put a random emoji in there, well… I wouldn’t probably be a millionaire, but I would definitely be able to afford few more coffees every day and be less sleepy 😴! In this article I’ll explain how I emojified my terminal and, since it is very simple stuff, I’ll also try to explore some extra details on how to customize…

Emerging JavaScript pattern: multiple return values

In this article, I want to explore an interesting pattern that I am seeing more and more in JavaScript code which allows you to return multiple values from a function. You probably know already that JavaScript does not support multiple return values natively, so this article will actually explore some ways to “simulate” this behavior. One of the most famous usages of this pattern I have seen recently is within React Hooks, but before delving into that, let’s see what I mean with “multiple return values” by…

AWS Solution Architect Associate exam, my notes and tips

In this article, I will share some of my notes and tips that might be useful if you are studying to get the AWS Solution Architect Associate Certification. I recently took this certification and I have to admit it was a little bit more challenging than I originally expected. I have been using a variety of AWS services professionally in the last 3 years, so I was optimistically expecting this practical experience to be enough. In reality, I had to spend some time to study and fill some gaps about important…

AWS Command line: S3 content from stdin or to stdout

This article presents a quick tip that will help you deal with the content of files in S3 through the AWS command line in a much faster and simpler way. Did you ever want to simply print the content of a file in S3 from your command line and maybe pipe the output to another command? Or maybe, did you ever needed to pipe the standard output of a sequence of commands directly into a file in S3? I had this need multiple times and, before my amazing colleague Paul made me discover the tip I am about to describe…

2017 - A year in review

2017 is over and it’s time to sit down and see what happened during this year. As I already did last year, I would love to write a (potentially boring) recap of all the good and bad things (mostly from a career perspective) that happened in my life during this year. Last year I promised myself I would keep doing this as a way to keep track and benchmark my productivity over the coming years, so here I am to see how I performed! The year of conference talks! Let’s start with a big win! This was the year of…

From bare metal to Serverless

Lately, I tried to understand why modern cloud computing brought us to the idea (and growing adoption) of “Serverless”. In this article, I will illustrate the result of a small research I did about the history of Cloud computing from the age of bare metal to serverless. “You have to know the past to understand the present.” ― Carl Sagan At the end of this article, I will also illustrate a definition of Serverless and what are its main characteristics. The invention of the web This story starts with Sir Tim…

Using Let’s Encrypt and Certbot to automate the creation of certificates for OpenVPN

Recently at Planet 9 Energy, I had to setup a VPN access to secure some of our internal services. One of the requirements was to make the provisioning easy to reproduce over multiple environments, so we ended up playing a bit with Terraform, while obviously adopting OpenVPN for the VPN server. Another important requirement was to expose the OpenVPN web interface (also called Access Server) using an SSL, which I was expecting to be one of the most challenging things to automate, instead, it turned out to be…