Mahendra M
Phone : +91-984**-*****
Email, Gtalk, FaceTime : ********.*@*****.***
Date of Birth : March 5th, 1980
I am an aspiring full-stack engineer experienced in ideation, architecture, design and ground-
up implementation of products and solutions. I work primarily on back-end components and
mostly select Open Source components for my products. I have been a hands-on developer
for the last 10+ years (5 years as an architect), a part-time system administrator for the last
12 years and an Open Source supporter and promoter for 14 years.
I currently work as a Solutions Architect at Infosys Product Incubation Unit. I am looking
for working on highly challenging products in startups or on cutting edge technologies that
impact millions of people.
I am also a committer for Apache Libcloud (incubated by Apache Software Foundation),
currently working on storage drivers and queues infrastructure (Azure, Google and AWS)
http://twitter.com/mahendra
http://github.com/mahendra
http://www.linkedin.com/in/mahendram
http://www.slideshare.net/mahendram/
http://bit.ly/my-libcloud-work & http://bit.ly/libcloud-committers
Skill Summary
Python, C, C++, Linux kernel, NetBSD, event-driven programming, Open Source, NoSQL, CouchDB,
Django, FFMpeg, x264, Nginx, REST, AMQP, RabbitMQ, ElasticSearch, Celery, Twisted, gevent,
Mysql, Cassandra, HBase, XMPP, EJBCA, SCEP, OCSP, ZeroMQ, HLS, PHP, Git, Memcache,
Scripting, Java, Hadoop, Apache Mahout, Thrift, Storm, Kafka, FUSE
COSMOS - A product suite for Video-on-Demand, Time-Shift TV & Live video
Role: Solutions Architect and lead Back-End developer at Infosys (2009 - present)
I am one of the two founder-architects of COSMOS, incubated as part of Infosys’ Product
Incubation Group. The idea was conceived by four of us. Later, I was responsible for
defining product features, overall solution-design and hands-on development of the following
back-end products (Dev team size of 4):
● Almagest - A media Catalog Management System, which provides functionality for
media workflow, transcode, metadata management (highly configurable schema),
search, experience management for different clients (via a content layout editor) and
content discovery. Provides features for managing ads, device navigation menus, live
tv channels (EPG), time-shift-tv recording and metadata for 3rd party content repos
(youtube etc.). The product was designed for horizontal scalability and handling large
number of media assets. Almagest also exposes REST apis for use by 3rd party
developers. Cloud deployment is in progress (AWS, Azure)
Developed primarily using - Python (Django), Celery, CouchDB, ElasticSearch,
OpenX (VAST), MySQL, Apache libcloud and Backbone.
● Alchemist - A distributed Video Transcode System, which relies upon plugins to
transcode media in multiple input formats to a common format (H264/AAC/AC3) and
makes it suitable for playback in multiple devices and software players. Currently
the main plugin is based on FFMPEG/X264. Distributed transcode is achieved using
Python Celery. Core functionality can be extended heavily by developing plugins for
any stage (audio/subtitle/pre/post transcode etc.). Plugins are available for
Generating multiple bitrates, resolutions and thumbnails (video and image)
HLS/HDS/MPEG-Dash segmentation
Encryption (HLS and DRM)
Auto-detecting ad insertions-points (black frames)
Capturing live streams for Time-Shift-TV (over RTMP, HLS, RTSP etc.)
Basic video editing features (trimming, logo overlay, padding etc.)
● Aurora - A hierarchical HTTP based video streaming server built on top of Nginx,
mainly targeted at walled garden service providers. Custom nginx modules provide
authentication, origin/edge functionality, chunked content distribution, pre-caching
etc. Content protection is done either via DRM or TLS based protection (mutual
HTTPS authentication with IP/Cookie based access control). In progress are
Integrating with OCSP
Building a streaming appliance using BackBlaze like storage
Selection of a distributed File system (Gluster, GFS etc.) for origin storage
Converting streams to HLS, HDS chunks at the edge nodes.
Modify MP4 streaming module to support time seek on cached videos
● Alkindus - A highly flexible video entitlement server. It provides REST APIs used
by client devices/players to get pricing information of videos and purchase content
for playback. It has an extensive plugin based architecture for hooking into multiple
billing systems, ad management systems, IDMS, DRM systems and streaming
servers. It provides
Bundled billing/invoicing system (based on the Open Source jBilling)
Rules management system for variable taxation, offers, coupons (Drools)
Integration with OpenX (VAST) to provide dynamic video ads to clients.
Key management interface (for HLS encryption)
Developed using Django (originally Twisted), ZeroMQ, Celery, CouchDB, Cassandra
● Toledo - A Subscriber, Device and Service management system. It manages
information of all the devices, subscribers and services (servers) deployed in a setup.
In addition, it provides
Subscriber enrollment, billing and device management
A bundled Certificate Authority system (using EJBCA)
Device/client enrollment (using SCEP) and identification (OCSP, CRLs)
Efficient firmware upgrade management (using rsync)
Proximity based service mapping (edge server mapping to devices)
Developed using : Django, Backbone, CouchDB, ElasticSearch, XMPP, EJBCA
● Pentacle - A system for collecting logs and stats and enable content discovery via
recommendations. This product is still work-in-progress and is being developed using
HBase, Hadoop, Apache Flume, Apache Mahout, Hive, Storm, Kafka and OrientDB.
Also developed a way of efficient network utilization by analysing the current state of
the our CDN caches and using it as an input in recommendations (Patent Pending)
● Hermes - XMPP based system for message delivery, pub/sub app/server
notifications and STB monitoring / debugging.
Developed using : Twisted, ejabberd, RabbitMQ
● Aperture - A connected devices middleware for playing out content from COSMOS.
I was involved in the early system design. Later I served as a sounding board for
ideas. Currently runs on STBs using SIGMA SoC and Intel CE.
Developed using : Linux (2.6.x), Qt, Webkit, telepathy, dBus, rsync etc.
Interactive TV Application Suite
Role: Product Architect and lead Back-End developer at Infosys (2007 - 2009)
I was the architect and lead-developer for a product which provides interactive applications
on Digital TV. The solution included back-end products for providing data over DVB-S2
(NDS MediaHighway) to STBs and applications to handle TV-commerce over SMS or
internet return paths. On the STBs, we had apps (Java and HTML) which included overlaid
personalized widgets, local city information (including live traffic estimated from mobile
phone tower density), companion apps for a news channel and a Pizza ordering app.
We also developed a companion mobile client (J2ME) and associated backend systems
for EPG browsing, nVoD content purchase (pay-per-view), scheduling DVR recording on
supported STBs and displaying banner ads (served via OpenX)
My team of 8 handled this from idea stage to implementation.
Deployed on Bharti Airtel Digital TV (DTH and IPTV)
Telecom Middleware
Role: Software engineer at Infosys (2004 - 2007)
Worked on a telecom middleware that is being incubated within Infosys. I was involved
in selection of the OS (NetBSD-2) and design/implementation of frameworks for process
monitoring, IPC (TIPC), CLI, system init, logging, live debugging, pools based memory
management, configuration backup, efficient user-space timers etc. Also worked on system-
call performance improvement (using kernel shared objects), build system (first cut), porting
apps to use kqueue. (first used in building an ADSL2+ DSLAM)
Team size : 5 (I was the most junior member)
Lucent Technologies DSLAM and TNT Dial-Up products
Role: Software engineer at Infosys (2002 - 2004)
I worked as a junior engineer for one of Infosys’ telecom customers (Lucent Technologies).
My work involved memory optimizations, PPPoE/A, SNMP, tech support and bug fixes
Sysadmin work
● Till 2011, I was the main sys-admin for our products and used to take care of
customer deployments. I also took care of our tools for development and release
management.
● I maintain and help out in several Linux based deployments within Infosys
(LiveJournal, MediaWiki, Drupal, MySQL, Apache etc). Also help out in Linux
migrations (from Solaris)
● I was the primary network administrator for my graduation college, responsible for
setting up the college’s IT systems (network, mail, DNS, website, firewall, proxy etc.)
Awards
● Infosys Excellence Award in Technology for the year 2008-2009
● Awards recognizing my contribution to Knowledge management within Infosys
● Awarded for exceptional work by a fresher
Patents (Indian Patent Office)
● Recommendations based on VoD content cached on an edge node closest to a user
(Patent pending)
● 8 patents are in-process of being filed as part of the COSMOS product suite
● Method for representing content on a display device in the form of graphical widgets
overlaid over video streams (Patent pending)
Community and voluntary work
● Active participant in Open Source communities since 1998 as part of various LUGs
● Founder member of annual international conferences - FOSS.in and Linux-
Bangalore/200x (currently retired)
● Speaker at PyCON India, FOSS.in, GNUnify and other tech conferences.
● Creator of a unique corporate voluntary Linux User Group within Infosys.
● Conduct Linux and Unix training for freshers and laterals (during my free time)
● My Open Source product recommendations resulted in cost savings of around $3
million for Infosys (in software and hardware for internal IT use). I also participate in
customer sales of Open Source solutions.
Education
● BE (First Class with Distinction) in Electronics and Communication Engineering from
RV College of Engineering (RVCE), Bangalore University (1997-2001)