Informazioni
🌐 ieni.dev 🌐 github.com/MarcoIeni
Software engineer interested in the tech stack from microcontrollers to cloud microservices.
I enjoy creating fast, reliable and secure Rust applications.
By day, I work at the Rust Foundation as part of the Infrastructure team, where I help manage the infrastructure supporting the Rust project itself, including CI, releases, bots, and metrics.
By night, I maintain a few open-source projects, such as release-plz, and host the RustShip podcast.
In the first two years of my career, I mainly worked on embedded systems, real-time operating systems (RTOS) and critical software in C and C++.
Rust is my favourite programming language, mainly because of its speed and security guarantees.
I like to write efficient, secure, clean and documented software using test-driven development (TDD) with a continuous integration environment.
I contribute to open-source software by maintaining my projects and working on other repositories, too.
In 2018 I obtained an MSc degree in Computer Science and Engineering at Politecnico di Milano with the thesis "Realization and performance evaluation of a hybrid UWB/WiFi indoor localization system".
I collaborated with Politecnico di Milano in the context of two European projects, in which I developed an eclipse plugin (Java), and I realized a website (full stack).
I did an HTTP-CoAP Proxy module for the open-source project CoAPthon, which implements the Internet of Things protocol CoAP in python.
I did a lot of university projects, such as:
- a greedy approach to solve the NP-complete minimum leaf spanning tree problem (Python);
- a game for the stm32f407 microcontroller based on the accelerometer tap detection (C++);
- the transposition of the "Council Of Four" Board Game (Java);
- an MQTT system in which a sender (Python) modifies extra-functional requirements in adaptive application in the receiver (C++).
I always code with elegance and simplicity in mind.
Articoli di Marco
Attività
-
I think I found the coolest static blog template ever https://fuwari.vercel.app/
I think I found the coolest static blog template ever https://fuwari.vercel.app/
Condiviso da Marco Ieni
-
"Zero to Production in Rust" has been updated! It now uses the latest Rust compiler and the latest version of all its dependencies. Many…
"Zero to Production in Rust" has been updated! It now uses the latest Rust compiler and the latest version of all its dependencies. Many…
Consigliato da Marco Ieni
-
Google drive doesn't support vim-like navigation anymore 😵
Google drive doesn't support vim-like navigation anymore 😵
Condiviso da Marco Ieni
Esperienza
Formazione
Licenze e certificazioni
-
-
Professional examination (Esame di stato) - Computer Engineer
Università degli Studi di Messina
Emissione: -
-
-
-
-
Esperienze di volontariato
-
Founder
Open Source Saturday Italy
- 1 anno e 6 mesi
Scienza e tecnologia
🌐 https://oss-italy.github.io/
Online meetup where every Saturday we contribute together to open source software.
Every line of code written during the day is released under a free license. -
Mentor
Awesome Rust Mentors
- 2 anni e 11 mesi
Formazione
I offer free mentorship to new people looking to get more involved in the rust programming language and/or its community.
Learn more at https://rustbeginners.github.io/awesome-rust-mentors/
Corsi
-
Advanced Computer Architectures
-
-
Advanced Operating Systems
-
-
Algoritmi e Principi dell'Informatica
-
-
Analisi Matematica (annuale)
-
-
Basi di Dati
-
-
Calcolatori (annuale)
-
-
Chimica
-
-
Computer Security
-
-
Computing Infrastructures
-
-
Controlli Automatici
-
-
Crittografia
-
-
Data Bases 2
-
-
Data Mining and Text Mining
-
-
Digital Systems Design Methodologies
-
-
Elettronica I
-
-
Elettronica II
-
-
Elettronica dei Sistemi Digitali
-
-
Elettronica di Potenza
-
-
Elettrotecnica
-
-
Embedded Systems
-
-
English Language at EAC EDINBURGH LANGUAGE SCHOOL
-
-
English Language at University of Greenwich (Language level: Upper Intermediate)
-
-
Fisica (annuale)
-
-
Fisica Tecnica
-
-
Fondamenti di Informatica (annuale)
-
-
Fondamenti di Telecomunicazioni (annuale)
-
-
Formal Languages and Compilers
-
-
Foundations of Operations Research
-
-
Geometria e Algebra Lineare
-
-
Ingegneria del Software
-
-
Internet of Things
-
-
Meccanica
-
-
Metodi Matematici per l’Ingegneria
-
-
Metodi di Osservazione e Misure
-
-
Reti di Calcolatori
-
-
Segnali per le comunicazioni
-
-
Sistemi Operativi
-
-
Sistemi di Elaborazione
-
-
Software Engineering 2
-
-
Statistica Aziendale
-
-
Statistica Economica
-
Progetti
-
Glimpse
Glimpse is a VSCode extension that allows you to run VSCode commands with easy-to-remember key bindings.
You no longer need to remember complex shortcuts — Glimpse shows the available key bindings as you type. -
Release-plz
Release-plz helps you release your Rust packages by automating:
- CHANGELOG generation.
- Creation of GitHub/Gitea releases.
- Publishing to a cargo registry (crates.io by default).
- Version bumps in Cargo.toml.
- API Breaking changes detection. -
Rust GitHub Template
-
A template to create an amazing rust project hosted on GitHub in no time.
A template for cargo generate that aims to be a starting point suitable for the vast majority of rust projects that will be hosted on GitHub. It includes documentation, continuous integration and continuous delivery. -
Poke Speare
-
Toy project to experiment with rust async, actix, reqwest and wiremock.
REST API that, given a Pokémon name, returns its description in Shakespeare's style.
Pokemon description is taken from PokéAPI and it is converted by using Shakespeare translator.
You can use poke-speare both as a web server and as a rust library. -
VUnit GitHub Action
-
Test your vhdl and verilog code with VUnit on GitHub.
This action uses the VUnit docker image to test your vhdl or verilog code hosted on GitHub. -
STM32f407G-DISC1 + rust
-
In this GitHub organization I collect all the personal experiments I do on my STM32f407G-DISC1 with rust.
-
Poetry book builder
-
My mom during her spare time writes some poems and I wanted to collect them in a nicely formatted book. In the meantime I really wanted to learn rust, an amazing systems programming language with no garbage collector that ensures memory safety and data-race freedom.
Therefore, I created poetry-book, a rust library that allows to create a poetry book in latex, starting from plain text and poetry-book-cli, which is a command line interface frontend. Examples repository contains some…My mom during her spare time writes some poems and I wanted to collect them in a nicely formatted book. In the meantime I really wanted to learn rust, an amazing systems programming language with no garbage collector that ensures memory safety and data-race freedom.
Therefore, I created poetry-book, a rust library that allows to create a poetry book in latex, starting from plain text and poetry-book-cli, which is a command line interface frontend. Examples repository contains some example latex books aumatically generated via github actions continuous integration. -
Doc-org
-
Generate pdf files by combining org-mode and latex.
The main goal of doc-org is to bring the conciseness of org mode to latex users. While latex is great at specifying how the document should be formatted, it is a little bit too verbose at describing the content of the document itself.
Doc-org runs on docker, which means you don't need to have latex or emacs installed on your machine and you can use it to generate documents with Continuous Integration. -
GitHub statistics web scraper
-
After reading "Clean Architecture" by Robert C. Martin, I really wanted to put into practice all the amazing concepts lovely explained in the book. In the meantime, I was also studying Kotlin, a programming language developed by Jetbrains that in my opinion really brings java to the next level.
Therefore I developed GitHubStats, a CLI program that uses web scraping in order to parse some public information about repositories and users. Data retrieved from github.com are cached locally…After reading "Clean Architecture" by Robert C. Martin, I really wanted to put into practice all the amazing concepts lovely explained in the book. In the meantime, I was also studying Kotlin, a programming language developed by Jetbrains that in my opinion really brings java to the next level.
Therefore I developed GitHubStats, a CLI program that uses web scraping in order to parse some public information about repositories and users. Data retrieved from github.com are cached locally and you can specify cache validity time from settings. -
Spaceclipse
-
Spacemacs' like key bindings for Eclipse.
Spacemacs is my favorite text editor therefore, to keep my sanity, whenever I have to use another IDE I try to bring spacemacs key bindings with me.
This project tries to mimic Spacemacs key bindings in Eclipse IDE.
For instance, SPC b b in Spacemacs let you switch between buffers, so it makes sense to map it to the Quick switch editor Eclipse command. -
Intellimacs
-
Spacemacs' like key bindings for IntelliJ platform.
Spacemacs is my favorite text editor therefore, to keep my sanity, whenever I have to use another IDE I try to bring spacemacs key bindings with me.
This project tries to mimic Spacemacs key bindings in IDEs based on the IntelliJ platform, i.e. IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm, RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive, and Android Studio.
For instance, SPC f f in Spacemacs opens a file, so it…Spacemacs' like key bindings for IntelliJ platform.
Spacemacs is my favorite text editor therefore, to keep my sanity, whenever I have to use another IDE I try to bring spacemacs key bindings with me.
This project tries to mimic Spacemacs key bindings in IDEs based on the IntelliJ platform, i.e. IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm, RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive, and Android Studio.
For instance, SPC f f in Spacemacs opens a file, so it makes sense to map it to the GotoFile IntelliJ action. -
Realization and performance evaluation of a hybrid UWB/WiFi indoor localization system
-
Thesis for M.Sc. Computer Science and Engineering at Politecnico di Milano.
The main purpose of this thesis is to analyze the performances of different hybrid localization approaches, which combine in a smart way some of the most relevant indoor localization techniques.
I developed a testbed for hybrid indoor localization, which is made of a DecaWave TREK1000 evaluation kit, which utilizes Ultra-wideband (UWB) as wireless protocol and two-way ranging (TWR) as localization…Thesis for M.Sc. Computer Science and Engineering at Politecnico di Milano.
The main purpose of this thesis is to analyze the performances of different hybrid localization approaches, which combine in a smart way some of the most relevant indoor localization techniques.
I developed a testbed for hybrid indoor localization, which is made of a DecaWave TREK1000 evaluation kit, which utilizes Ultra-wideband (UWB) as wireless protocol and two-way ranging (TWR) as localization technique, and four Raspberry Pi 3 model B, which enable to perform localization with WiFi and RSS.
I carried out the measurements at a laboratory with different wide areas, in which I was able to reproduce both Line-of-sight (LOS) and Non-line-of-sight (NLOS) conditions. -
Accelerometer game
-
A game for the stm32f407 microcontroller based on the accelerometer tap detection.
A game for 2 to 4 players, where each player should tap the accelerometer once and then again after 5 seconds. The player who gets closer to 5 seconds wins.
The project is built for the STM32F4-DISCOVERY board, written in C++ on top of Miosix RTOS. -
MQTT system
-
Project for Advanced Computer Architecture course of M.Sc. Computer Science and Engineering at Politecnico di Milano, that consists in modifying extra-functional requirements in an adaptive application.
A sender (Python) modifies extra-functional requirements in the adaptive application of the receiver (C++) using the Internet of Things protocol MQTT. -
Foundations of Operations Research Challenge: Walking bus
-
This challenge consisted in the minimization of the number of chaperons involved in the setup of a walking bus system for an elementary school, respecting some constraints that involved mainly the distance between students' houses and school and the risk of the roads.
In mathematical terms this problem is translated in a special case of the spanning tree problem, in which you have to minimize the number of leaves.
With this solution we arrived fourth out of 36 groups.Altri creatoriVedi progetto -
Council of Four
-
Adaptation of the Council of Four board game. The videogame is composed of a server and client, both written in java. The client can choose the User Interface (cli or gui) and communication method (socket or RMI).
-
HTTP-CoAP Proxy module for CoAPthon
-
CoAPthon is an implementation of Internet of Things protocol CoAP in python.
We made a proxy that translates HTTP requests to CoAP requests and vice versa using the standard libraries of python 2.7.Altri creatoriVedi progetto -
Applicazioni per ambienti intelligenti basati su MongoDB e sul protocollo CoAP
-
La tesi che ho presentato per la laurea triennale in Ingegneria Informatica presso l'Università degli Studi di Messina.
L’oggetto della tesi è la realizzazione di un sistema di gestione e monitoraggio di sensori e attuatori, che sfrutta il protocollo CoAP per la comunicazione tra i dispositivi embedded e immagazzina l’ingente quantità di dati che viene continuamente prodotta da un elevato numero di dispositivi mediante il DBMS MongoDB.
Lo scopo principale della tesi è, dunque…La tesi che ho presentato per la laurea triennale in Ingegneria Informatica presso l'Università degli Studi di Messina.
L’oggetto della tesi è la realizzazione di un sistema di gestione e monitoraggio di sensori e attuatori, che sfrutta il protocollo CoAP per la comunicazione tra i dispositivi embedded e immagazzina l’ingente quantità di dati che viene continuamente prodotta da un elevato numero di dispositivi mediante il DBMS MongoDB.
Lo scopo principale della tesi è, dunque, quello di fornire un’analisi ed un esempio di implementazione di queste tecnologie, creando comunque un sistema funzionante e utile per varie applicazioni.
Riconoscimenti e premi
-
Test TECO sulle competenze generaliste - Risultato: 1142
Agenzia Nazionale di Valutazione del Sistema Universitario e della Ricerca (ANVUR)
Risultato medio nazionale: 992
Le prove TECO sono concepite per valutare le capacità degli studenti in materia di ragionamento analitico, soluzione di problemi e comunicazione scritta, indipendentemente dai loro cursus accademici.
Votazione esame
-
IELTS
Votazione: 6.5
Academic IELTS 6.5
Listening: 6.0 | Speaking: 6.0 | Reading: 7.0 | Writing: 6.0 | Overall: 6.5 | CEFR: B2
Lingue
-
Italiano
Conoscenza madrelingua o bilingue
-
Inglese
Conoscenza professionale completa
Referenze ricevute
2 persone hanno scritto una referenza per Marco
Iscriviti ora per vedereAltre attività di Marco
-
If your app uses json for the configuration file, consider supporting JSON5. Among other things, it supports: - comments which let you document your…
If your app uses json for the configuration file, consider supporting JSON5. Among other things, it supports: - comments which let you document your…
Condiviso da Marco Ieni
-
Shout out to LambdaClass for the generous donation 🙏 They are also hiring junior Rust developers in Spain 🙌
Shout out to LambdaClass for the generous donation 🙏 They are also hiring junior Rust developers in Spain 🙌
Condiviso da Marco Ieni
Altri profili simili
Altre persone che si chiamano Marco Ieni
Su LinkedIn c’è 1 altra persona che si chiama Marco Ieni
Vedi altre persone che si chiamano Marco Ieni