Abhiram Ravikumar

Information & Communications Technology

blockchain web decentralized platforms SAP mozilla Open Source Software

Bengaluru, Karnataka, India

Abhiram Ravikumar

Mozilla Tech Speaker

Abhiram has been a part of the open source world in Bangalore for over 4 years now. As a student volunteer in Bangalore, he started contributing to Mozilla Foundation as well as FSMK (Free Software Movement Karnataka). After becoming a Mozilla Rep, he has presented over 40 sessions and workshops on web dev, Rust and git version control at various venues all over India.

Currently, he is a Mozilla Tech Speaker well versed in topics like blockchain, full stack web development, decentralization, deep learning, neural networks, open source contribution practices and mentoring web enthusiasts . He is currently working at SAP Labs in Bangalore as a machine learning research fellow and continues to contribute to Mozilla’s initiatives as a volunteer.

Recently, he has published a new online programming course titled First Look: Rust on Lynda.com, recorded at Califorinia, USA. In October 2017, he presented a 1.5hr talk + workshop at MozFest, London (https://github.com/MozillaFoundation/mozfest-program-2017/issues/541) on blockchain basics, for which he was awarded a complete travel stipend. In Jan 2018, he presented a 4-hour hands-on tutorial workshop (http://www.codemash.org/sessions/?id=6995) on building decentralized apps on the blockchain at CodeMash a tech conference at Sandusky, Ohio, USA. He was invited to a college in Tumkuru, India (https://twitter.com/prabodhcp/status/1033274677030866945) as a guest speaker to run a blockchain basics workshop in August, 2018.

All these experiences and multiple iterations of speaking at conferences about the topic has made him a solid and knowledgeable blockchain speaker.

My hobbies are listening to 80s rock music, playing volleyball and badminton.

Current sessions

Speed up your Python modules using Rust

Python is a great language, although, sometimes Python can be a bit of a slowcoach when it comes to performing certain tasks. That's where developers have been using C/C++, building extensions and integrating them with Python to speed up processes. However, writing C/C++ extensions with strict deadlines and timelines is a bit difficult and also, these low level languages tend to introduce bugs with respect to memory management, lead to segmentation faults and data races. How often have we all faced the dangling pointer error in C/C++ just because we forgot the dereference a pointer somewhere?

Enter Rust, a modern systems programming language that's much better in terms of memory safety, libraries and owing to its amazing ownership & borrowing principles - keeps the bugs few. documentation up to date and a whole lot more! Bonus - it's completely a open sourced programming language, supported by Mozilla, the non-profit behind the Firefox browser.

This talk is ideal for python developers who deal with performance issues on a daily basis. It would also appease the curious folk who want to know what Rust is and why it is rated the most loved programming language for 3 years in a row by StackOverflow's developer survey. Additionally, for C/C++ programmers who’d like to explore a much safer and developer-friendly alternative - this talk would be perfect. Attendees will leave this talk with a solid appreciation for the value that Rust offers, how it can speed up slow running python processes and an understanding of how to get started with Rust programming for their use-cases.

Creating Trustworthy Decentralized Internet Applications with Blockchain and Ethereum

Creating software to handle risky or sensitive applications is hard. Creating an environment that your systems’ users will trust is even harder. Blockchain is a technology that can provide security and trustworthiness through aspects like decentralization, immutable transactions and transparency.

The session is split into a 1 hour talk, followed by a 3 hour hands-on workshop. The facilitator walks attendees through an introduction of blockchain, comparisons with bitcoin, breaks some myths about bitcoin and blockchain, and throws light on a number of currently implemented examples of blockchain usage. Attendees then move on to setting up and beginning to work through creating a trustworthy, secure voting system using blockchain and the Ethereum development platform.

Attendees will leave this workshop with a solid appreciation for the value of decentralized systems, and an understanding of how to create a basic application. The hands-on aspect of this workshop help drive these learnings home via practical exercises and collaboration throughout the day.

This is the slide-deck (https://speakerdeck.com/abhi12ravi/blockchain-basics-workshop-at-sit-tumkuru) I've used at last week's blockchain basics workshop for college kids at India.

Hands-on workshop
An ubuntu image containing required packages will be shared with participants before hand. They can use VirtualBox to run it on their machines.
1. Setup development environment - Install ganache-cli, web3js and start test blockchain
2. Smart contracts: Use solidity (an object-oriented programming language) to write out a simple contract that increments votes and returns the count of votes
3. Setup a simple website to invoke the contract methods
4. Play with the application and see blockchain in live

Here's the tutorial (https://github.com/abhi12ravi/blockchain-vote) we followed to build the sample voting app.