I'm a Linux Developer with software development experiences on Linux spanning over 16 years. My expertrise is in developing software in C,C++,Python on the Linux opertating system.

Top Skills: C, C++, Python, GStreamer, GTK+, Qt, Embedded Linux, OpenCV, Dlib, Nvidia Deepstream, Networking

I have worked in 🇮🇳 India, 🇧🇭 Bahrain and 🇯🇵 Japan. I have given a talk on using GStreamer for Security applications at the GStreamer Conference in Berlin, 🇩🇪 Germany in 2016. My contribution to the Linux kernel earned me the Mars 2020 Contributor Badge on Github.

I am passionate about engaging with customers, understanding their needs and developing optimum solutions for them.

Over the years I have developed software using numerous libraries and on x86 and ARM systems supporting client requirements and solving busineess critical problems. Having worked on a range of requirements from speeding up processing of raw XML files to edge analytics in industries ranging from Petroleum to Manfucaturing, I am sure I can be of assitance to your technology needs.

On the left, you will a brief write up about some of the projects I have developed.






Hi, I'm Mandar


I'm a Linux Developer with software development experiences on Linux spanning over 16 years. My expertrise is in developing software in C,C++,Python on the Linux opertating system.

Top Skills: C, C++, Python, GStreamer, GTK+, Qt, Embedded Linux, OpenCV, Dlib, Nvidia Deepstream, Networking

I have worked in 🇮🇳 India, 🇧🇭 Bahrain and 🇯🇵 Japan. I have given a talk on using GStreamer for Security applications at the GStreamer Conference in Berlin, 🇩🇪 Germany in 2016. My contribution to the Linux kernel earned me the Mars 2020 Contributor Badge on Github.

I am passionate about engaging with customers, understanding their needs and developing optimum solutions for them.

Over the years I have developed software using numerous libraries and on x86 and ARM systems supporting client requirements and solving busineess critical problems. Having worked on a range of requirements from speeding up processing of raw XML files to edge analytics in industries ranging from Petroleum to Manfucaturing, I am sure I can be of assitance to your technology needs.

On the left, you will a brief write up about some of the projects I have developed.

If you have any requirements for software development on Linux, reach out ot me on emailmandar@gmail.com or on my cell +91 9967820381. You can find me on LinkedIn and GitHub as well.


Contact


Email: emailmandar@gmail.com
Cell: +91 9967820381
* indicates required

Intuit Mailchimp


Loyalty Programme For a Premier Retail Chain In Bahrain

Mifare Smart Cards and Payments Terminals & Pinpads Interfaced Over RS232


The Requirement:

The retail chain wanted to move away from their previous vendor to a new Loyalty Programme having Payment Terminals and Pin Pads that would make the Sales experience smoother. The retail chain had Point-Of-Sale (POS) Terminals running DOS that provided an RS232 Interface for the billing data. The job was to capture the data over RS232, write to the Mifare cards, provide the POS terminal data from the Mifare card and to have an option to migrate the data from the old system to the new system by using free area on the Mifare cards.

The Solution:

Living and Developing the solution in Bahrain was an unforgettable experience. After engaging with the client and getting a detailed description of the requirements, understanding the pain points and their reasons for wanting the new solution, I began the coding binges in the hotel. The payment terminal API was well documented with coding done in C. A GCC 3.4 Cross compiler provided by the payment terminal vendor and the code signing utilities provided as seamless development experience. The solution was developed in a mere 3 weeks and deployed just before Ramadan, just in time.

Technologies:

Castles Vega 9300, Mifare, ISO 14443, Payment Terminals, RS232, DOS


FreeSwtich - VoIP Phone For Stock Traders

FreeSwitch Event System and the Twisted Python Library


The Requirement:

The company I was working for needed a new server software to manage the calls for their VoIP phone terminals. The VoIP phone terminals running Arch Linux were managing the calls with the help of a Proprietary Server. Moving to FreeSwitch, a new management software had to be develeoped.

The Solution:

Using the Twisted Python Library, I worked on controlling FreeSwitch via the event system interface and managing the calls, initiating them, terminating them and provided an output interface to view the status of the calls

Technologies:

FreeSwitch, Arch Linux, Embedded Linux, VoIP Phone


Linux Kernel Code In the NASA Ingenuity Helicopter

My contribution the Linux Kernel earned me the Mars 2020 Contributor badge on GitHub


The Requirement:

Being a huge Music fan, I was into external DACs (Digital To Analog Converters or External Sound Cards) in the mid-late 2000s. I bought the Creative USB X-FI USB S51 and realzied that the Volume Knob on the device and the LED had no support under Linux. Thus began the journey of learning how to write Linux Kernel Modules and patching the Linux Kernel.

This contribution to the Linux Kernel earned me the Mars 2020 Contributor Badge on GitHub

The Solution:

I used SniffUSB under WindowsXP to capture the USB Traffic as I used the Volume Knob and kept a watch on the LED on the Creative USB X-Fi S51. After a few hours of capturing data and sifting through it, I traced down the Control Transfers in the URBs (USB Request Blocks) that had the repeating pattern with the Volume Knob being turned clockwise, anticlockwise and pressed (The volume knob also served as a button to mute audio).

Going through the Linux Kernel source code, I found the struct that held values for similar devices. Filling the values I had captured and many compiles and restarts a few times got me a functional usbaudio kernel module that supported the volume knob and passed on the events to LIRC (Linux Infrared Remote Control). I made the patch and sent the Patch on the Alsa-Devel mailing list where it was reviewd and accepted into kernel 2.6.37.

Technologies:

Linux Kernel, SniffUSB, Reverse Engineering, USB, Linux Kenrel Modules, ALSA, LIRC


Surveillance - The Next Step In Video Monitoring

Emnbedded Linux Systems used as Surveillance Devices


The Requirement:

With increasing focus on our security, we need surveillance solutions to get better, faster. Solutions need to get smarter to reduce the human workload in monitoring systems. The project I developed is one such solution. It's called Surveillance. It’s not just an application which allows capture and storage of video stream 24x7. It’s an extendable framework that allows you to do custom processing on video streams using simple shared libraries/ GStreamer plugins and report results in plain text, allowing you to easily parse it and take decisions. This system comprises of Cameras/Camera Sensors, Processing Hardware (camera endpoints) and a central server. Processing happens on the camera endpoints and is collected by the central server.

The Solution:

A custom GstMeta library provides an API for GStBaseTransform plugins to add custom metadata related to a video stream. The GstMeta is retreived and posted on the Gstreamer Bus which is retrieved by the monitoring application. I developed this as a framework. The monitoring application allows custom video analytics plugins to simply dropped in to a directory and configured for use with the monitoing application. I presented a talk at the GStreamer Conference 2016 in Berlin titled Intelligent Surveillance describing the project.

Technologies:

GStreamer, Gtk+, Qt, Gentoo, Ubuntu, OpenCV, Dlib


Edge Analytics architecture on the NVidia Jetson Platform

An Extensible architecture using Nvidia Deepstream and GStreamer


The Requirement:

A Computer Vision company was running their algorithms as independent applicaitons. The job was to develop an architecture using the Nvidia Deepstream framework that will allow plugging in of any algorithm for any appplication into the architecture.

The Solution:

Living in Chennai was a memorable experience. GStreamer expertise combined with the functionality provided by NVidia Deepstream provided the right tools for developing an extensible architecture for the Edge Analytics platform.

After integrating the Zed 2 from Stereolabs with the Nvidia Jetson platform, I designed a architecture capable of supporting growing number of applications using the NVida Deepstream framework for the company. Dynamically Loadable libraries were used to provide a "drop new functioanlity into directory" feature. The end result was a happy client with architecture locked under NDA. That's why you don't see many details here. Sorry!

Technologies:

NVidia Deepstream, NVidia Jetson, GStreamer, C, C++


Pattern Matching Addresses - Petroleum Industry

Finding duplicate addresses in a very large database


The Requirement:

Government Subsidized gas connections were being missued by fraudsters by manipulating addresses to receive a double subsidy. The job was to design and implement an algorithm to find such duplicate addresses, frequently manipulated tactfully to avoid theft detection.

The Solution:

Again not many details during the NDA but here's a broad view of what I did. Regex was used extensively to find known manipulated words. Using a geographical database, processing size was considerable reduced by running computationally heavy processing only on addresses grouped by approximate location. The result was a stunning expose on how miscreants were manipulating names and addresses to benefit from Government subsidies illegally.

Technologies:

Regex, MySQl, MsSQL, Cursors, SQL, C, C++


RootFS Build Factory for Centos - GSoC 2015

A successful Google Summer of Code 2015


The Requirement:

CentOS ARMv7 was being built and a toolkit to generate rootfs images for various vendor boards was needed. Every vendor could release their their custom kernel and a mechanism was needed where CentOS could be run there boards with custom kernels and packages.

The Solution:

After discussions with my mentor, I designed a Python based solution where a XML generated using a NCurses GUI (PyDialog) would be used to generated a custom RootFS for the board.

RootFS images were generated and tested on Cubietruck, Odroid C1, Raspberry Pi 2, Banana Pi, Cubieboard 2, Cubiboard

The project is on GitHub here

Technologies:

CentOS, Python, Yum, Dnf, Bash, RPM, RootFS, Embedded Linux, Custom Kernels


Managing Tech @ A Stock Trading Company

My first job as a Network Engineer


Stock trading companies are high stake operations and near flawless uptime is a must requirement. This was my first job and I thoroughly enjoyed it

I managed the network of a hundred computers for over a year ensuring smooth functioning of the facility.

My job involved interacting with various vendors to ensure the client was able to effectively use software and hardware systems supplied by the vendors. I managed Eicon card based sytems, an Internet Trading System, Cisco Routers and Fortinet firewalls

Technologies:

Networking, Hardware, Cisco Routers, Fortinet Firewalls


OpenVPN for Voice Trading @ A Stock Trading Company

Embedded Linux Voip Phones networked over a Virtual Private Network (VPN)


The Requirement:

At the peak of COVID as the city went into lockdown, a stock trader was left with traders unable to trade efficiently as their voice trading terminals, voip phones running embeeded linux couldn't be used from the trader's homes. I was hired to design a Virutal Private Network (VPN) solution to have them on the company network.

The Solution:

I designed the VPN solution to have a OpenVPN Server on the client's network exposed via their public IP. The Embeedded Linux terminals running Ubuntu were configured to have a OpenVPN client start at boot and login to the company network making them local rather than remote as far as the voip phone application running on them was concered.

The VoIP application was designed to have the VoIP phones on a single network. After discussing with the architecture with the client, I desinged and implemented a OpenVPN server and confiured OpenVPN clients on the the VoIP phones to 'hide' the fact that the terminals were actually remote.

The result was a stock trader having full trading fucntionality during a Corona virus lockdown

Technologies:

OpenVPN Server, OpenVPN Client, OpenVPN, Ubunutu, Embedded Linux, Networking, NAT Traversal