Alberto Mancini, Developer in Florence, Metropolitan City of Florence, Italy

Alberto Mancini

Software Developer

Location
Florence, Metropolitan City of Florence, Italy
Toptal Member Since
September 29, 2014

Alberto is a full-stack developer with over 20 years’ experience. He started coding while studying for his PhD and moved on to web-related technologies from there. He has been described as very competent and consistent in his programming, and is an excellent communicator.

Alberto is available for hire
Hire Alberto

Availability

Part-time

Preferred Environment

Git, Linux, OS X, IntelliJ IDEA, PyCharm, Amazon Web Services (AWS)

The most amazing...

...application I created was a browser application (GWT, JavaScript) for plugin-free real-time augmented reality using WebRTC, WebGL and a few more HTML5 APIs.

Work Experience

2014 - PRESENT

Intel Software Innovator

Intel Corp
  • Tested and experimented with Android x86-64 Intel devices.
  • Developed based on new Intel technologies.
  • Gave tech talks on Intel technologies.
  • Developed for RealSense 3D camera.
  • Built high-performance Intel libraries for Android testing.
Technologies: Android NDK, Intel RealSense, Android
2009 - PRESENT

Teacher, Coach, and Consultant

Independent Teaching and Consultancy
  • Supported teams of large companies in the choice of the right technology for upcoming products.
  • Created sample applications using different approaches (mostly GWT, JavaScript and HTML5, and native Android) showcasing advantages and disadvantages.
  • Helped in specific fields of web development such as WebRTC integration in legacy web applications.
  • Organized in-depth courses on GWT.
  • Developed and tuned a development pipeline to help a mid-sized team (at least ten developers) embrace continuous delivery.
Technologies: Android, HTML5, JavaScript, GWT, Java
1999 - PRESENT

System Administrator

University of Firenze Dept. of Mathematics and Computer Science
  • Managed the computing facilities of the department starting from the network level up to servers and services. I'm in charge of maintaining the system available as well as planning updates and upgrades for research necessities.
  • Developed the infrastructure of the department's private cloud where XEN virtual machines are deployed and managed.
  • Supported researchers in the development and optimization of large-scale numerical simulations (MPI, CUDA).
  • Developed the department's storage system using iSCSI.
  • Created the Department's authentication system bridging together Kerberos, Shibboleth, and OpenID.
Technologies: Unix, Linux
2009 - 2012

Co-founder and CTO

Jooink Srl
  • Created and managed the development pipeline based on Git, Ant, and Jenkins.
  • Created the GWT bindings for the Google Maps API and ActiveMQ.
  • Co-developed algorithms for fast range searching (geographical position) on Cassandra.
  • Co-developed a GWT UI for the JooinK map system.
  • Managed the JooinK cluster.
Technologies: ActiveMQ, WebSockets, Google Maps API, GAE, Jetty, Cassandra, GWT, Java

Experience

Augmented Reality in the Browser

A demo application of in-browser (plugin-free) computation; using WebRTC, WebGL and NyARToolkit (compiled into JavaScript with GWT), the web app is capable of doing real-time video filtering and marker-based augmented reality.

This is the first sample of marker based augmented reality in JavaScript and, quite interestingly, the code is capable of sustained 60+ fps on a common desktop computer running Chrome or Firefox.

Special care has been taken to let mobile devices to run the application and, with just a few adjustments to the UI, Picshare is usable even on Android (unfortunately mobile Safari does not support WebRTC so there's no way to use it on iOS).

Picshare uses Imgur API to store pictures taken and is hosted on a Google App Engine.

As a side note, the code of the AR engine and the WebGL library used to build the application have been open sourced and are available on googlecode: https://code.google.com/p/gwt-nyartoolkit/ and https://code.google.com/p/gwt-webgl/.

Mgwt2g

http://mgwt2g.appspot.com
One of the best choices for developing mobile-ready web (HTML5) applications in GWT is MGWT (https://github.com/mgwt/mgwt). MGWT is a library that allows for interaction with touch events, AppCache, and gestures from Java, and provides a lot of well-crafted mobile widgets.

As a part of a teaching session for the development team of a company, I worked as a consultant. I developed the adaption of MGWT for gecko devices (Firefox OS) to show the flexibility of the toolkit and let the developers experiment with the internals of a pretty complex library.

Gwt-mqqt

https://github.com/jooink/gwt-mqtt
Nowadays, browsers allow full-duplex communications channels that let web applications communicate in real time, but on the other hand, embedded devices are a growing source of data that frequently needs to be accessed through the web.

To showcase the interaction between a web application (written in GWT) and an MQTT server (the de facto standard for embedded devices messaging), I developed this library that wraps a Paho JavaScript client (http://www.eclipse.org/paho/) and allows bidirectional real-time communication through websockets from Java code.

OpenAFS & GWT

http://connect.portici.enea.it/p96906779/
I did a talk about using a web application to interact securely with OpenAFS volumes. In the talk, I describe the structure of the web app that keeps credentials as well as the changes to the Linux kernel's module needed to allow secure token passing in a multi-threaded scenario.
Image of How GWT Unlocks Augmented Reality in Your Browser publication
Publication

How GWT Unlocks Augmented Reality in Your Browser

https://www.toptal.com/augmented-reality/augmented-reality-in-browser-gwt
Image of The GWT Toolkit: Build Powerful JavaScript Front Ends Using Java publication
Publication

The GWT Toolkit: Build Powerful JavaScript Front Ends Using Java

https://www.toptal.com/front-end/javascript-front-ends-in-java-with-gwt

Skills

Languages

Java, C, JavaScript, PHP, CSS, HTML, Python, TypeScript, SQL, HTML5, C++

Frameworks

GWT, JUnit, JNI, GAE

Tools

Apache Tomcat, Android NDK, Eclipse IDE, Jetty, ActiveMQ, Git, MATLAB, IntelliJ IDEA, PyCharm

Platforms

Linux, Arch Linux, Docker, Google Cloud Platform (GCP), Amazon Web Services (AWS), AWS Lambda, Unix, OS X, Eclipse, JEE, Android

Other

Full-stack, Web Applications, 3D Modeling, Algorithms, Medical Imaging, Dental Care, WebSockets, Intel RealSense

Libraries/APIs

WebRTC, WebGL, Google Maps, React, Node.js, Three.js, Babylon.js, ODBC, Google Maps API

Storage

Amazon S3 (AWS S3), Cassandra, NoSQL, Google Cloud Datastore, MySQL

Paradigms

Distributed Computing, Parallel Computing, Distributed Programming

Education

1996 - 1999

PhD Degree in Applied Mathematics and Operational Research

University of Milano - Milano

1991 - 1995

Master's Degree in Mathematics

University of Firenze - Firenze