How to deploy a serverless contact form with API Gateway, DynamoDB and SNS

Introduction Hi everybody, thanks for the claps, it was a great month - rain rain rain again - now I’m back. The only GOOD THING of this terrible May is that AWS CDK came to simplify our life and I started using it (just a little) bit - still, enough to say, sincerely: it’s awesome. I used the Typescript version, everything is broken 2 release out of 3 but the time you save exploring the interfaces instead of looking for Cloudformation documentation online worths the time spending in troubleshooting the ongoing changes. Today I’m here to write about a common use case, a simple stack, and that’s all I have to say. ...

May 23, 2019 · 6 min

A Bugs Life: stories of a software engineer

Disclaimer I’m on a train, back from Frankfurt - Germany, another of the cities to collect together with the ones I visited in this experience abroad in search of myself, trying to figure out who I am and who I want to be. Why this post and what to expect…Well, why, it’s simple: I recently studied a lot and got my AWS certifications (yuppie), I didn’t stop studying because I already planned other exams (really one of a bad idea of mine) and I also started to use my free time to go ahead with a couple of side-projects - they are super time-consuming. Thus, it was a while since I used this blog to… complain, maybe? well, not properly - about something. What. to. expect. It’s difficult to say: this post will be certainly biased. It’s rude, real. This time, I think I will tell some stories about how things went and still going on out there. ...

May 12, 2019 · 9 min

From Cloudformation to CDK: the good, the bad and the evil

Prelude As you know might be aware of, AWS has quite recently delivered - but it’s still in beta - the AWS Cloud Development Kit (CDK). Indeed, you should also know that I more recently migrated my blog to AWS as part of my migration strategy to the clouds - where my head already sits since 1991. Since I was using a Cloudformation stack though together with one of my colleagues, and since I did some manual changes to it - breaking the rules, I know - I decided it was a good moment to give a chance to CDK. I was waiting for Golang implementation to come up, but in the end, Typescript is fair enough: it not only add Types, but the interfaces will let you be so much more effective in reading the docs and find out what is missing / what is wrong in your template. Sorry, in your code 😃. ...

March 25, 2019 · 14 min

Software developing and Data science

Software developing and Data science I recently had the chance to think about software developing and data science: it’s not about the fact that I hate everything that contains the word data inside, but I was somehow interdicted by sentences like this. [..] we found that - specially with Amazon retail - we can really accelerate the use of machine learning if not everyone needs to be a data scientist. Although data scientists play an important role, there are many cases in which you just have a smart coder to pick an algorithm instead of developing it all by its self. ...

March 18, 2019 · 5 min

GraphQL is the new black

Prelude GraphQL is an open-source data query and manipulation language for APIs and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015 because - believe me or not - it was quite tricky for them dealing with their schema. It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server, therefore preventing excessively large amounts of data from being returned. Useless going into much more details without putting hands on - let me just say one thing more I wanted to have a look at it: it’s the first time a REST alternative appeared on the market. Because REST is cool, ok but… well, I’m honest I don’t know. Barney Stinson would say new is always better. I say let’s see. ...

March 5, 2019 · 1 min

A serverless blog using CodePipeline, s3 and CloudFront

Goodbye old blog 😭😭 I disapperead for a while because as you should notice, first of all - I have a new domain. HAHA. It’s not the first one I own, but to be honest it’s the first time I use a domain for myself. So as I was saying yes, this post is about a migration. Morever, since this is the very first cross platform cross domain blog post - I want to share with you what I learnt and what is still missing, how I did what I did but mainly how someelse did what I didn’t. ...

February 24, 2019 · 8 min

A journey through the network - Hands on (Part 1)

Prelude A long long time ago (I can still remember as Madonna sang) I started to wrote some posts about the network. For those who missed the previous posts, you can read the introduction, the physycal layer and the datalink layer respectively. As a main source I use Computer Networks and TCP/IP Illustrated. In the previous posts I had to go into details about how some parts of the physical layer works but - by going forward through the layers - concepts belonging to separate historical standards - OSI and IP - will intertwine and this entails some troubles from a logical point of view. In this article, I will continue from there by going more practical with some hands-on to better understand this topics. ...

February 18, 2019 · 21 min

Security and Docker: tips and tricks

Introduction Everyone use Docker and normally when something is so diffused, there’s always someone else that try to figure out how to leverage the diffusion to do bad things (you know what happened in Breaking Bad). Only a few months ago it happened that someone pushed some malicious software - cryptomining - over lot of images: this happened because, despite the fact that everyone use Docker, not so many people are really aware about security over Docker. Fortunately, during the years Docker put in place several tools and features to avoid (or at least drastically reduce) the damages that bad attitude could cause in your containerized systems or applications. ...

February 7, 2019 · 18 min

The Deutsch Algorithm

Much more than a post (again) What is the quantum theory? As said by quantumexperience official site by IBM, it’s an elegant mathematical theory able to explain the counterintuitive behavior of subatomic particles, most notably the phenomenon of entanglement. In the late twentieth century it was discovered that quantum theory applies not only to atoms and molecules, but to bits and logic operations in a computer. This realization has been bringing about a revolution in the science and technology of information processing: I decided to write some notes to better explain, from a physics-agnostic computer scientist’s point of view XD, what I understood - and it is certainly wrong - about Q until now and why I think it’s an amazing field for computer science. More on this story in my previous post. ...

January 23, 2019 · 15 min

A Golang Turing machine library

Preamble In 1962, Hungarian mathematician Tibor Radó introduced the Busy Beaver competition for Turing machines: in a class of machines, find one which halts after the greatest number of steps when started on the empty input. Even if it could seem trivial, the Busy Beaver competition has implications in computability theory, the halting problem, and complexity theory. I decided to use GoLang to implement a Turing machine library and accomplish three goals: first, having a Turing Machine model to play with for learning purpose; second, learning how to use interfaces and the factory pattern, other then testing package to test my code and let it be more flexible for future enhancement (at least I hope!); third, implement some Busy Beaver setup and verify that the model works with well known executions. If you want to discover more about Golang, 60’s math games and beavers, go ahead with reading :D! ...

January 19, 2019 · 9 min