Résumé

Last updated: 2022-02-13

Summary

A highly motivated, curious, and creative engineer with over ten years of experience in software development and signal processing. Highly skilled in software engineering principles, optimizing algorithms, embedded systems, digital signal processing, and systems architecture. Shares a passion for music, systems software development, exploring new programming languages, operating system kernel, and high performance computing. Enjoys using libre and open-source technologies and occasionally participates in their development.

Skills

Programming Languages Markup Languages Hardware Version Control
C, C++, Python, MATLAB, Bash, JavaScript reStructuredText, Markdown, LaTeX, JSON, YAML CPU Architectures: ARM, AMD64, ADI SHARC, Xtensa HiFi, RISC-V git, subversion, mercurial, CVS
Bus: I2S, I2C, SPI

Signal Processing

  • Transforms: Fast Fourier Transform (FFT), Wavelets, DCT, etc.
  • Filters: Finite Impulse Response (FIR), Infinite Impulse Response (IIR), Convolution, Deconvolution, Adaptive Filter (LMS/NLMS), Equalizer, etc.
  • Special Audio Processing: Dynamic range compression, Limiter, Noise gate, Automatic gain control (AGC), etc.
  • Audio Codecs (Opus, AAC, SBC, FLAC, Shorten)

Experience

Education

Research Papers

Open Source Projects

  • ardour: Ardour is a Free Digital Audio Workstation (DAW), maintained by a diverse community of developers. Collaborated to optimize Ardour’s mix engine for Intel/AMD CPU with AVX extension. Also, optimized for ARMv8 and ARMv7 CPU with NEON extension.

  • bina-fft: A simple to use Fourier Transform Library, made for education purpose. I wanted to implement and optimize radix-2 Fast Fourier Transform, so I did that.

  • cmuse: Another pointless program (App) that plays "Twinkle Twinkle Little Star."

  • Linux Kernel: Contributed documentation changes in the Linux kernel commit:68f04b571

  • lolcat Collaborated to rewrite the infamous lolcat, a program written in Ruby, to Rust (with fearless concurrency). Added features to emulate dial‐up text scroll and placing rainbow colors in background.

  • Xv6 Kernel: Minor changes github pull request

Environemnt Experience

Operating systems

Productivity Applications:

  • *nix Tools (cat, sed, grep, etc.)
  • MS Visual Studio, XCode, Eclipse, QtCreator, Android Studio, PyCharm
  • vim, Neovim, and Emacs

Others

  • Linux Kernel
  • Bluetooth Stack: CSR, Bluez

Languages

Bengali (native), English (native to bilingual proficiency)

Music Projects/Bands