Edson Pirassol Junior

Computer Engineer Student

I build elegant, fast desktop & mobile applications

About Me

Creating high-performance desktop and mobile applications in C/C++ with custom tooling. Specializing in low-level programming, real-time systems, and GPU-accelerated graphics.

I started programming as a teenager developing Counter-Strike plugins with AMX Mod X for the GoldSrc Engine. Seeing players enjoy features I built taught me that I wanted to create programs people will enjoy and sparked my lifelong passion for software development.

Outside of technology, I'm a musician with experience across multiple instruments. My primary focus is on guitar and drums, where I enjoy everything from technical practice sessions to collaborative jam sessions. I find that the patterns and creativity in music often inspire new approaches to technical challenges.

Technical Skills

Programing Languages

  • ▸ C (Advanced)
  • ▸ C++ (Advanced)
  • ▸ Java (Medium)
  • ▸ Python (Medium)

Embedded Systems

  • ▸ STM, ESP, Arduino, Raspberry
  • ▸ FreeRTOS, Zephyr, Bare-metal
  • ▸ I2C, UART, WiFi, Bluetooth
  • ▸ Circuit and PCB design

Graphics & Performance

  • ▸ OpenGL/Vulkan
  • ▸ GLSL Shading Language
  • ▸ GPU Programming
  • ▸ Performance Optimization

Other

  • ▸ Steamworks API
  • ▸ Source Engine
  • ▸ Android API
  • ▸ PostgreSQL

Projects

3D Graphics Renderer

CRen is a 3D Engine initially written in C++ but in the process to be re-written in C with minimal dependencies, should be supported in various system including: Windows, Linux and Android.

View on GitHub C, C++, GLSL, Vulkan

Multi-Language Text

Sometime applications supports multiple languages, sometimes they don't. This library aims to help publishing stuff with multi-language support. Written in C++17 and only using the standart template library this library loads all translation uppon start-up and return's required text based on current set language.

Memory Manager/Tracker

Memory manager that helps developers to keep track of current and previously allocated memory in a easy way. It overrides standart memory allocation operations, keeping track whenever a call to malloc/calloc/realoc/free is made, recording and storing it.

Vector Maths Library

C maths library with vector and matrix operations with no SIMD operations yet, made to be used on graphics projects (the reason for yet). Use for graphics available either in single or double precision units.

GLTF 2.0 Parser

This parser handles both GLB and GLTF formats but without any support for extensions, but it may be latter added with proper testing. It uses CMake for the solution generation and default builds to a Static Library but can be built as a Dynamic Library as well. A header-only version is also available.

SM Multimods

Just to relax, a sourcemod plugin that allows a server to handle different plugins and configs per map, making it possible for multiple mods to be played by map.

View on GitHub SourcePawn

Academic Papers

Analysis and Development of a First-Order Low-Pass Filter Using Laplace and Z-Transform

2024 Digital Signal Processing

This work presents the design and digital analysis of a first-order low-pass filter, based on an analog RC circuit. The main objective was to develop a discrete version of this filter, capable of being implemented in a computer or microcontroller to process digital signals.

The methodology applied used the Laplace Transform to model and characterize the system's behavior in the continuous (analog) domain. Then, the Z-Transform was employed as a tool to convert the analog transfer function to the discrete domain, using a bilinear transformation, also known as Tustin's method. The result is a difference equation that can be executed by a digital processor.

Laplace Transform Z-Transform Digital Filters Signal Processing

Get In Touch

I'm currently seeking internship opportunities for my Computer Engineering degree and would love to discuss how I can contribute to your team. You can find me at:

Email Github Linkedin