Back to the home page

Blog

Relocating during the COVID-19

TL; DR: I had the pleasure of relocating exactly a week or so before the COVID-19 spread to a level where the United States decided to declare the shelter in place and lock down the country. This is a quick and hopefully humorous tale about what happened to me. For those of you that do not re...

Asking the thesis in the University of Naples (Post in Italian)

What’s up? I usually write all my posts in English. However, back in the time I wrote a post in Italian explaining how painful getting an agreement to write your thesis in my university in Naples (Federico II) was that became kind of viral. I think it’s worth keeping this somewhere for records...

A reviewer's perspective on getting your conference proposal accepted

This year I’ve been organising the Barcelona instalment of APIdays, where I’ve touched every aspect; from CFP evaluation, venue selection, catering as well as speakers’ travel and accommodations. I’ve spoken at 40 events over the last three years. I was rejected - a lot - a whole lot, and in so...

An interview with a Fortune 500 Company

This is a story about an interview that I had with a Fortune 500 Tech Company some time ago. Background Back in the days I came across a Twitter profile of an employee claiming they were looking for a frontend developer. I usually do not apply for big companies, for a number of reasons. They u...

Write a plugin for Kong

Kong overview Over the last couple of week(end)s I’ve been playing with Kong - the open source API Gateway from the guys of Mashape. While I didn’t have any specific need to employ Kong, I’ve always heard good things about it and I wanted to give it a try. The first impressions were great; in ...

New generation tracing technologies for Linux operating system - part 2

You can read the part 1 here Writing eBPF programs This section is meant to give a quick overview on the various way we can write a BPF program as well some practical examples using the BCC open source project. The most naive way to write an eBPF program is to simply specify the list of pseudo...

New generation tracing technologies for Linux operating system - part 1

Introduction In software engineering, Tracing is the ability to inspect and record information about a software’s execution by attaching a program to various probing points in the system under control and collect informations. This information is typically used by software developers for debuggi...

Programming ST devices with Visual Studio Code

I’ve been lately involved into embedded programming (nothing really serious and fancy, just basic stuff for an university exam), in particular with ST microdevices. Not sure about the others in the world, but at least here all professors use Windows as reference operating system, perhaps due t...

Communicating Sequential Processes - async.parallel

This is a small serie about using CSP concepts in Javascript CSP introduction CSP and async.js An interesting usage of CSP concepts and libraries that I saw multiple times missing is about using it as a building block for more complex control flow mechanisms. Even if I will definitely gi...

Communicating Sequential Processes serie

This is a small serie about using CSP concepts in Javascript CSP introduction CSP and async.js During the last couple of months I’ve been working a lot with the concept of CSP, which stands for Communicating Sequential Processes. It’s a a mechanism to coordinate concurrency in your softw...

API Elements for Visual Studio Code supports swagger

I’m really happy to announce today that vscode-apielements, a Visual Studio Code is able to parse Swagger documents starting from version 0.3.0! You can find the extension in the marketplace. This was not the only thing introduced in this version. There’s a plenty of other stuff you might be in...

API Elements for Visual Studio Code

I’m really happy to announce today the first release of vscode-apielements, a Visual Studio Code extension whose aim is to make your life easier when working with API Blueprint and Swagger documents. I have been developing this extension for fun during my spare time in order to understand the ...

Solving the outside click problem

Today I would like to talk (and, hopefully, help you to solve) one of the problem that every frontend developer will (perhaps) deal with: closing on outside click Let’s say you have a drop down menu which will show its internal items when you click on it, and it has to be opened until an outside...

Creating a password hiding animation

Last week, while I was surfing the web, I find out Readme.io has a very interesting effect. If you go to their login page and place your mouse on the password field, the owl will hide its eyes, since it does not want to see your password. I found the thing very funny (and genial, to be honest). ...

API Design Lifecycle

On 25-29 October I spoke at FullStack conference, about callbacks and promises. Here is the video link! APIs are software and as such they are a target of the basic software engineering rules we are all taught for decades. Unfortunately, this fact is often ignored or forgotten, and the common AP...

From callback to promises

On 24-25 September I spoke at WebExpo conference, about callbacks and promises. Handling asynchronous code with callbacks forces us to build an unmanageable stacks of function calls, often leaving us buried beneath them. Is there a better way to handle this? Yes, with Promises. ES6 promises give...

Creating a FlipSwitch in Css

As frontend developer, I usually write a lot of stuff that runs in the browser. Anyway, most of the time, I write back-frontend code. It means that usually I do not fight with implementing UI components from scratch, and my CSS skills are usually limited to small modification. Not so long ago, I...

Angular-Formly Siren Actions

A great thing about working on a pet project is that you can get rid of your daily routine and move to your favourite frameworks, tools and interests. During my work on pollsApiClient, I decided to go using angular-formly as I described on my previous post (check it if you want further details)....

Hypermedia client - details

This is a serie about developing a simple Hypermedia Client in AngularJS. Hypermedia introduction Hypermedia formats Hypermedia client Considerations Hypermedia does not replace your semantic model In this post I am going to review fundamental parts of angular js client. You may be ...

Hypermedia does not replace your semantic model

This is a serie about developing a simple Hypermedia Client in AngularJS. Hypermedia introduction Hypermedia formats Hypermedia client Considerations Hypermedia does not replace your semantic model Last week I’ve been speaking at mDevCamp conference in Prague about Building Resilien...

Hypermedia client in AngularJS - Final considerations

This is a serie about developing a simple Hypermedia Client in AngularJS. Hypermedia introduction Hypermedia formats Hypermedia client Considerations Hypermedia does not replace your semantic model So, we have finally finished our Hypermedia client. But now? What have we learned? ...

Hypermedia client in AngularJS - hypermedia types

This is a serie about developing a simple Hypermedia Client in AngularJS. Hypermedia introduction Hypermedia formats Hypermedia client Considerations Hypermedia does not replace your semantic model As said in the previous post, hypermedia does not come into your applications for fre...

Hypermedia client in AngularJS - Introduction

This is a serie about developing a simple Hypermedia Client in AngularJS. Hypermedia introduction Hypermedia formats Hypermedia client Considerations Hypermedia does not replace your semantic model If you are in web/mobile development you have certainly heard about Hypermedia APIs a...

Http PATCH done right

Couple of days ago we were reviewing a Pull Request for an API draft specification, and my collegue’s eyes falled on a PATCH verb, and he commented on that By RFC PATCH has to be used with mime type which exactly specifies how to deal with the payload (how to apply the patch), which applicat...

CoffeeScript comprhension

Just some days ago, while working on CoffeeScript test files, I noticed that generated Javascript was not honestly the one I was expecting describe 'Assertion tests', -> describe 'Template tests', -> for uri in fixtures.testUris describe "Testing #{uri.uriTemplate}", -> ...

Do you really need attributes for that?

Attributes provide a powerful method of associating declarative information with C# code, that can be queried using reflection. Example usage of attributes includes: Associating help documentation with program entities (through a Help attribute). Associating value editors to a specific typ...

I've joined Apiary

I’ve joined Apiary as software developer. What is Apiary? Apiary is a SaaS that supercharges your APIBlueprints with interactive documentation, API mock, test suites, validations, traffic inspector and collaboration. Apiary is the GitHub for APIs. Why? These guys are building amazing s...

Making of SimInfo

SimInfo was a free Windows Phone 8 application that will manage for you all necessary data about your credit on a tiles with auto update feature that will notify you when you’re going under the numbers you will set. In this post I want to share you considerations, code snippets and issues durin...

Do not use mega methods.

I have always (and you should too) hated the megamethods. A megamethod (name is my invention) is the typical antipattern where you have got an interface and a single method to implement, in which you should write everything. Sad to say, Microsoft is giving us just an example of this kind of int...

Hello!

Hello! My name is Vincenzo Chianese and I am a developer. After a lot of time finally I decided to open up this little blog and share my experiences with you. Have fun. Previous writings: Integrating NodeJS tools in Visual Studio Calling MVC Action from Javascript Shadow Mapping using D...