Profile picture

Hi there, I'm

Luis.

I worked in the Web3 space for more than 2 years. I worked with Ethereum & NEAR, Avalanche, EOS/WAX and Everscale (TON) using Solidity, Rust and TypeScript/JavaScript. Moreover, I have worked for more than 10 years in private industry in different roles, as Software Engineer, Network Administrator and Freelance Developer.

I have a Ph.D. in Informatics at the Università della Svizzera italiana, Switzerland. The topic of my Ph.D. was empirical studies on programming languages. Its main goal was to understand how and why programming features are being used in the wild.

Interests

  • Typescript/Javascript, Rust & Solidity
  • Web3, Smart Contracts, Ethereum & EVM-based blockchains
  • Partial & Symbolic Evaluation, Supercompilation
  • Static & Dynamic Analysis
  • Education in Computer Science

Skills

Software Development

Blockchain, Object, Functional & Logic Programming

Software Design

Design by Contract, UML, Design Patterns

DevOps

CI/CD, APM, Test Automation, Unix Toolings

Databases

Design & Manipulation, SQL

Data Science

Analitics, Mining & Visualization

SCMs

Git, Subversion, CVS

Experience

Senior Blockchain Engineer

Jul 2022 - Jan 2023

ConsenSys - Remote

Part of the Truffle team, a development environment for Ethereum Solidity Smart Contracts.

Worked in the VS Code extension that allows to build, test, deploy and debug Solidity Smart Contracts.

Truffle for VS Code extension

Lead Blockchain Engineer

May 2022 - Jun 2022

Campground - Remote

Senior Software Engineer

Sep 2020 - Apr 2022

EPAM Systems - Zurich, Switzerland

Worked in several projects using Ethereum & NEAR blockchains development with Solidity, Rust and TypeScript.

Other projects include backend roles using Java, Scrum and Agile.

Technical Consultant

Aug 2019 - Jan 2020

DB&L Services - Lugano, Switzerland

IT infrastructure support for Monitoring Operations at Avaloq Sourcing (CH & LI) SA.

Project Leader

Dec 2006 - Mar 2011

Recursiva - Buenos Aires, Argentina

Software engineering and architect roles using Java and C# among others technologies.

Network Administrator

Mar 2006 - Jul 2006

HS Eventos - Buenos Aires, Argentina

Technical service, software installation and maintenance of company network.

Software Developer

Mar 2000 - May 2004

Fernando Hermo & Asoc. - Buenos Aires, Argentina

ERP and CRM development using VB 6, SQL Server and Crystal Reports.

Education

Ph.D. in Computer Science

2013 - 2019

Università della Svizzera italiana - Switzerland

Programming languages research in Java, Scala and Haskell, runtime systems and virtual machines with C++, software verification, data analysis using R and Python.

Publications on DBLP

I was also teaching assistant for the following courses at Università della Svizzera italiana:

Internship/Master Thesis

Mar 2011 - Nov 2011

INRIA/University of Strasbourg - France

Internship title: “A Virtual Machine for Automatic Program Parallelization”

Licenciate in Computer Science

2007 - 2011

University of Buenos Aires - Argentina

This degree is considered by many institutions as being equivalent to an M.Sc. degree.

During my studies I was teaching assistant for the following courses in the University of Buenos Aires:

  • Algorithms & Data Structures 1
  • Algorithms & Data Structures 2

Computer Analyst

2003 - 2006

University of Buenos Aires - Argentina

This is a 3 years degree as part of the Licentiate in Computer Science programme.

Projects

VS Code Ethers Mode

TypeScript

Ethers Mode allows you to explore and call Smart Contracts methods using Ethers.js and view the response directly in VS Code. It interacts with any EVM-compatible blockchain, e.g., Ethereum, Polygon, Avalanche, etc.

VS Code Marketplace

EVM.js

TypeScript

A Symbolic Ethereum Virtual Machine (EVM) bytecode interpreter and decompiler, along with several other utils for programmatically extracting information from bytecode.

View Docs NPM Package

near-syn

Rust

near-syn is a tool to generate TypeScript bindings and Markdown docs from Rust contracts for the NEAR protocol.

gtm-web

Rust

The Git Time Metric Dashboard is a reporting application to visualize Git Time Metric time data.

JNIF

C/C++

JNIF is the first native Java bytecode rewriting library. JNIF is a C++ library for decoding, analyzing, editing, and encoding Java bytecode.

HSC Haskell Supercompiler

Haskell

The Haskell Supercompiler aims to bring back supercompilation to Haskell.

Posts

On Mastery Checking
Mastery Checking is a teaching strategy.Teaching assistant in Universita della Svizzera italiana. Here a normal course takes a midterm and a final exam.What is mastery check anyway?You evaluate by skills.Or why Mastery Checking is not the way to teac [...]
- 1 min read
Reflections on Growing a Programmer
Matthias Felleisen from Northeastern University wrote an essay about how to introduce programming in a freshmen course. The essay — Growing a Programmer — introduces a software engineering approach from the very first day in class.The notes presented [...]
- 5 min read
Static Plug-ins with Variadic Templates in C++: Parsing Java Class Files in a Modular Way
The template meta programming in C++ is a powerful mechanism, so powerful that it is turing-complete.Although with some limitations. They have become even more expressive in C++11. They have added variadic template arguments.How we have used variadic [...]
- 1 min read

Publications

Adapting the Polyhedral Model as a Framework for Efficient Speculative Parallelization
Alexandra Jimborean, Philippe Clauss, Benoît Pradelle, Luis Mastrangelo, Vincent Loechner
In Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP'12), ACM
Casting about in the Dark An Empirical Study of Cast Operations in Java Programs
Luis Mastrangelo, Matthias Hauswirth, Nathaniel Nystrom
In Proceedings of the 2019 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
JNIF Java Native Instrumentation Framework
Luis Mastrangelo, Matthias Hauswirth
In International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ'14), IEEE
Use at Your Own Risk: The Java Unsafe API in the Wild
Luis Mastrangelo, Luca Ponzanelli, Andrea Mocci, Michele Lanza, Matthias Hauswirth, Nathaniel Nystrom
In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
VMAD: An Advanced Dynamic Program Analysis and Instrumentation Framework
Alexandra Jimborean, Luis Mastrangelo, Vincent Loechner, Philippe Clauss
In International Conference on Compiler Construction (CC'12), Springer

Tags

Designed & Developed in Switzerland with and Astro v2.0.14
© 2023 Luis Mastrangelo