555 your office number
-123 your address street
-Your City, State 12345
- -news: true # includes a list of news items -selected_papers: true # includes a list of papers marked as "selected={true}" +LaC Rm. 2301 - DCC - UFMG,
+6627 Ave. Antônio Carlos,
+ICEx Building - Pampulha,
+Belo Horizonte, MG, Brazil
+DCC - ICEx - UFMG
+6627 Ave. Antônio Carlos
+Pampulha, Belo Horizonte, Minas Gerais, Brazil
-Link to your social media connections, too. This theme is set up to use [Font Awesome icons](https://fontawesome.com/) and [Academicons](https://jpswalsh.github.io/academicons/), like the ones below. Add your Facebook, Twitter, LinkedIn, Google Scholar, or just disable all of them. +news: false # includes a list of news items +selected_papers: false # includes a list of papers marked as "selected={true}" +social: true # includes social icons at the bottom of the page +--- + +Bachelor of Computer Science from the Pontifical Catholic University of Minas Gerais, with two years of experience as a researcher in the field of compilers and operating systems. My research interests include containerized environments, code optimization, virtual machines, processor emulators, and interprocess communication. + +I am a member of the Brazilian Computer Society (SBC), the Institute of Electrical and Electronics Engineers (IEEE), the IEEE Computer Society (IEEE CS), and the Association for Computing Machinery (ACM). + +I was a researcher on the Nanvix project, supervised by Dr. Pedro Henrique Penna. I specialized in compilers and operating systems at Nanvix, participating in the development of a virtual machine using C and C++. In particular, I worked on a Just-In-Time (JIT) translation mechanism for the Nanvix operating system emulator, which translated MIPS assembly instructions to the RISC-V processor. + +My undergraduate thesis, supervised by [Dr. Pedro Henrique Penna](https://www.microsoft.com/en-us/research/people/ppenna/), Senior Research Software Engineer at Microsoft Research, and [Dr. Henrique Cota Freitas](https://www.cart-research.com/team/henrique), professor at ICEI - PUCMINAS, proposed a library for interprocess communication in a microkernel architecture using the zero-copy technique. diff --git a/_pages/blog.md b/_pages/blog.md index d11387f..ca26e4b 100644 --- a/_pages/blog.md +++ b/_pages/blog.md @@ -2,8 +2,8 @@ layout: default permalink: /blog/ title: blog -nav: true -nav_order: 1 +nav: false +nav_order: 10 pagination: enabled: true collection: posts diff --git a/_pages/certificates.md b/_pages/certificates.md new file mode 100644 index 0000000..3317a09 --- /dev/null +++ b/_pages/certificates.md @@ -0,0 +1,161 @@ +--- +layout: page +permalink: /certificates/ +title: certificates +description: +nav: true +nav_order: 5 +--- +
+Master degree in Computer Science
+Start year - October 2024
+
+
+
+
+Discipline - Special Topics in Computer Science (Static Program Analysis)
+Conclusion year - July 2024
+
+Course - Computer Science
+Graduation year - July 2024
+
+555 your office number
+123 your address street
+Your City, State 12345
+ - align: left + image: prof_pic.jpg + content: about_einstein.md + image_circular: false # crops the image to make it circular + more_info: > +555 your office number
+123 your address street
+Your City, State 12345
+--- diff --git a/_pages/profiles.md b/_pages/profiles.md index d7ca045..ad5b8bb 100644 --- a/_pages/profiles.md +++ b/_pages/profiles.md @@ -3,7 +3,7 @@ layout: profiles permalink: /people/ title: people description: members of the lab or group -nav: true +nav: false nav_order: 7 profiles: diff --git a/_pages/projects.md b/_pages/projects.md index e19d655..2e6a3f5 100644 --- a/_pages/projects.md +++ b/_pages/projects.md @@ -2,64 +2,142 @@ layout: page title: projects permalink: /projects/ -description: A growing collection of your cool projects. +description: nav: true -nav_order: 3 +nav_order: 4 display_categories: [work, fun] horizontal: false --- - -
+Demikernel is a library operating system (LibOS) architecture designed for use with kernel-bypass I/O devices. This architecture offers a uniform system call API across kernel-bypass technologies (e.g., RDMA, DPDK) and OS functionality (e.g., a user-level networking stack for DPDK).
+Available in: Demikernel
+Contributions:
+octox is a Unix-like operating system inspired by xv6-riscv. octox loosely follows the structure and style of xv6, but is implemented in pure Rust.
+Available in: octox
+Contributions:
+ +V is a Simple, fast, safe, compiled language for developing maintainable software programming language.
+Available in: V
+Contributions:
+ +Distributed OS for Lightweight Manycores.
+Available in: Nanvix
+Contributions:
+ ++ Danix is an innovative system that provides an interface for managing lightweight Alpine environments, offering greater efficiency and resource savings. Danix's unique feature lies in using the host machine's own kernel, resulting in a lighter and more efficient approach that consumes only the necessary space for each environment's filesystem. +
+ ++ The main goal of Danix is to provide lightweight environments for simple tasks, eliminating the need to install compilers, interpreters, and other tools directly on the host operating system, such as git and editors. This approach brings noticeable benefits, such as agility in configuring environments for software development in various languages like Python, C/C++, Go, Rust, Java, Lua, among others. +
+ ++ By choosing Danix, users can create custom environments without the hassle of time-consuming and heavy installations, such as virtual machines and containers, especially for simpler projects. The idea is to simplify the development process, removing unnecessary barriers and allowing for a more agile and efficient approach. + +
+ ++ In summary, Danix is the ideal choice for those seeking lightweight, customized, and efficient environments for software development, providing an innovative and streamlined alternative compared to more traditional, heavier options. +
+ ++ • Repository: https://github.com/viniciusfdasilva/danixfs +
+ ++ • License: https://www.gnu.org/licenses/gpl-3.0.html +
++ Vinux stands out as a lightweight distribution that leverages the Linux kernel and busybox as its foundational building blocks. Specifically crafted to cater to embedded systems, Vinux addresses the needs of those requiring a secure, lightweight, and stable operating system with predefined packages. +
+ ++ Designed with a focus on embedded systems, Vinux provides a reliable platform that ensures both security and stability. By utilizing the Linux kernel and busybox, it achieves a nimble architecture, making it an ideal choice for environments where resource efficiency is crucial. +
+ ++ Furthermore, Vinux boasts a fixed set of packages, contributing to its stability and predictability. This characteristic is particularly advantageous for embedded systems, where maintaining a consistent and secure software environment is paramount. +
+ ++ In essence, Vinux emerges as a specialized distribution, tailored to the demands of embedded systems, offering a secure, lightweight, and stable operating system with a carefully curated set of packages. +
+ ++ • Repository: https://github.com/viniciusfdasilva/vinux +
+ ++ • License: https://www.gnu.org/licenses/gpl-3.0.html +
+ +I am working on my master's project and contributing to other projects in the lab.
+
+ I’ve been working in web software development for two years, using tools like Django, Python, React, Apache, and Nginx. I’m also experienced in DevOps, working with CI/CD, Gitlab, Bitbucket, Docker, Git, Jira, and Confluence. Additionally, I handle server maintenance and database administration for PostgreSQL and MySQL.
+During the period I worked as a developer, I also obtained certifications in the DevOps field and had the opportunity to implement the practice of continuous integration and delivery in the software development process where I work, using the GitLab platform for test and build automation and leveraging Docker containerization system.
+
+ Tutoring for the Compilers course at the Institute of Exact Sciences and Informatics - ICEI - PUCMINAS. As a mentor, I provide assistance to students of the course by addressing their questions and supporting the lead instructor
+• Document: link
+Tutoring for the Algorithms and Data Structures II course at the Institute of Exact Sciences and Informatics - ICEI - PUCMINAS. As a mentor, I provide assistance to students of the course by addressing their questions and supporting the lead instructor
+• Document: link
+Tutoring for the Data Base course at the Institute of Exact Sciences and Informatics - ICEI - PUCMINAS. As a mentor, I provide assistance to students of the course by addressing their questions and supporting the lead instructor
+• Document: link
+Title: Memory allocation optimization in eBPF programs by exploring combinatorial methods
+My master dissertation research is focused on how to optimize memory allocation in eBPF (Extended Berkeley Packet Filter) programs by exploring such combinatorial techniques as Integer Linear Programming (ILP).
+• Supervisor: Fernando Magno Quintão Pereira
+Title: Maximizing Efficiency in Inter-Process Communication: Exploring a Zero-Copy Abstraction
+My undergraduate final project proposes a kernel-bypass device that implements a communication abstraction between processes using the zero-copy technique, involving direct data transfer between processes in a microkernel architecture, removing context switches and intermediate copies that cause overhead.
+• Supervisor: Pedro Henrique Penna
+Document: link:
+Virtual Machine develop using C and C++ languanges. Nanvix VM decode a MIPS and ARM assembly, translate to RISC-V Assembly and run in a manycore processor!
+As a researcher with expertise in Compilers and Operating Systems at Nanvix, my focus lies in + the advancement of a virtual machine project. This undertaking centers on the development + of a Just-In-Time translation engine within the Nanvix emulator’s operating system. Aiming + to enhance emulation efficiency, my role encompasses the creation of this engine using + C and C++ programming languages. Its primary function is the real-time translation of + assembly instructions, transitioning from the MIPS architecture to the RISC-V processor, thus + contributing to the optimization of the Nanvix emulator’s performance.
+ +• Supervisor: Pedro Henrique Penna
+• Document: link
+Title: Information and communication technology in dentistry: informative and educational approach for patients with fixed orthodontic appliances
+I have worked as an Android application developer, using Java and Kotlin programming + languages, as part of a scientific initiation for the postgraduate program in dentistry.
+• Advisor: Rodrigo Villamarim Soares
+• Document: link
++ SGL is a novel system for managing teacher, student, and employee accounts at Pontifícia + Universidade Católica de Minas Gerais! It has been developed using Django in the backend, + along with, Tabler, CSS, SCSS, TS, and HTML for the frontend. The APIs utilize gRPC, and + Postgres is employed as the database. This comprehensive system effectively manages over + 130,000 accounts, allowing for tasks such as user account creation, disabling and enabling + accounts, as well as password changes within the Microsoft Active Directory using the LDAPS + protocol. Moreover, the system also grants licenses to both students and teachers for Microsoft + Office 365 through Microsoft Azure. +
+ ++ The new SGL system was developed with the purpose of replacing a previous system that + performed the same function. However, in the previous system, the creation of student, + teachers and employees accounts occurred only twice a day due to a process with an average + duration of four hours. In the new system, I implemented a set theory-based solution to + optimize execution. Now, the same task that previously took four hours in the old system is + completed in an average of just one minute. This has resulted in a significant reduction in + waiting time for the creation of student, teachers and employees accounts, which previously + could reach a maximum of one day but has now been optimized to just one hour. +
+ +Project development time: 2 years
+
Bruno Baêta (Presenting).jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)