top of page

Student Portfolio

UTKARSH ANAND

I was a third year undergraduate student, studying B.S. Physics at Indian Institute of Technology, Kanpur. I'm dropping out to streamline my focus on the things that I intend to do in future. I am also a proud GSoC 2017 alumnus and my project was related to automated testing of NetBSD ports. To know more about me check out the links scattered through sections.

Home: Welcome

Resume

To get a summary of the technologies I'm familiar with, just click on the Resume Button. My Resume Provides an instant look at my skills.

Home: Homepage_about

Github Repositories

mark-github-512.png

Heliota Wallet

GUI desktop wallet for IOTA cryptocurrency

Heliota is a secure, lightweight, cross-platform and architecture independent wallet for Iota. It is designed keeping simplicity and functionality in mind. If your machine runs Linux/macOS/Windows, it will most probably run Heliota, be it the latest and greatest, tech has to offer, or a low power Raspberry Pi.

mark-github-512.png

Slackbot_utkapp

A slack bot for currency conversion

This is the code for creating and deploying a Slack bot that converts one currency to another. This includes authorizing the app via OAuth 2.0 and fiddling with the events API and the Web API. For authorizing, I made the request (via “add to Slack” button) to pass through Amazon API Gateway in order to map the code query parameter into json format and pass it as the event argument to the AWS Lambda function. Later, the access token is persisted to DynamoDB. The bot converts one currency to another. The file events.py is used to handle the events sent by Slack and invoke actions.py. actions.py later sends a request to fixer.io to get the data and then performs conversion and sends the result back to the channel. I have used python runtime for it, and the code has been uploaded on my github profile under the repository: SlackBot_utkapp. All this is achieved using the AWS Serverless architecture.

mark-github-512.png

Switcher

Script for turning off discrete graphics on laptops with hybrid graphics

I also managed to create a script for switching to Intel IGP on laptops with hybrid graphics. Although, the script is pretty simple, there was a lot of work involved. I had to deal with numerous system crashes and reinstall the OS altogether. I managed to recover the system a few times by chrooting into it from a live cd (of some other linux distribution), but the cases related to uninstalling packages using dnf often resulted in broken dependencies. Once the system was recovered, I had to reinstall the packages and then uninstall them properly.

mark-github-512.png

anita

Automated test suite for NetBSD

Originally forked from gson1703/anita. Anita is a tool for automated testing of the NetBSD operating system. Using anita, you can download a NetBSD distribution and install it in a qemu virtual machine in a fully automated fashion. It's fun to watch, and it has helped find a large number of bugs in NetBSD, as well as several in qemu. The main focus of anita is on testing the sysinst installation procedure and quickly detecting regressions that cause the system to fail to install or boot, but anita is now also finding use as a platform for testing the whole NetBSD system by running the ATF test suite. Output from periodic anita tests of NetBSD-current on multiple architectures can be found on the NetBSD release engineering web pages.

mark-github-512.png

bnita

Modular anita

This is a dormant repository, which remains as a proof of concept showing how anita could have been modularised. It isn’t under active development as all the updates are being directly pushed to anita.

Home: Project

Google Summer of Code, 2017

List of contributions during GSoC 2017

Anita is an automated testing framework for NetBSD releases, that is used by the NetBSD release engineering team everyday to test the installation and running ATF tests. My project was related to adding support for new architectures and emulators to it.

processor.png

Added support for 6 new architectures to Anita

  • mips (pmax and hpcmips)

  • arm (vexpress)

  • sparc64

  • VAX

  • x68k (amiga)

  • sh4 (landisk)

Added support for 3 new emulators to Anita

  • GXemul

  • simh

  • uae

Debugging/Ideas

  • Helped fixing various bugs in NetBSD and emulator source codes.

  • Helped fixing a bug related to detection of boot device in NetBSD/sparc64.

  • Contributed new ideas for installation of NetBSD/amiga.

Problem Reports & NetBSD source code changes.

  • NetBSD/pmax kernel not booting in GXemul. [link]

  • Fix tools build. [link]

  • Turn on console in NetBSD/hpcmips. [link]

Home: Feature

Other Open Source Contributions

Home: CV
neovim.png

NEOVIM

Neovim is a Vim-fork focused on extensibility an usability. I managed to add support for OpenBSD and NetBSD to it. Now, users will have a smooth experience building it from source.

bsd-wallpaper.jpg

SYZKALLER

Syzkaller is an unsupervised, coverage-guided kernel fuzzer from google. I managed to get it running on NetBSD. It extracts system calls (along with all the possible constants that can be passed as parameters) from NetBSD source and invokes them to find bugs.

libuv.png

LUV

Luv provides libuv bindings for Lua and LuaJIT. I managed to fix the issue of not being able to find _Unwind_* symbols, that are a part of SysV ABI, when compiling it with clang on OpenBSD, by linking it to proper libraries using cmake.

mozilla.jpg

MOZILLA

Filed a bug in Mozilla’s bootstrap.py file (that is used to set up all the prerequisites for building any mozilla application from source) and got the fix accepted (landed for real). Link to the bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1353460 Link to the reviews: https://reviewboard.mozilla.org/r/126582/

netbsd.jpg

NETBSD

Got a few fixes pushed into the NetBSD codebase that were essential for proper functioning with anita, the automated test suite for NetBSD as a part of Google Summer of Code, 2017. (Since, I didn’t have commit access, my mentor had commited the changes.)
Later on, I got accepted as a member of The NetBSD Foundation but resigned in April, 2018. To view my filled up application form, click on the button below.

vax.jpg

SIMH EMULATOR

Submitted an issue in the simh github repository

Ada Lovelace

“THAT BRAIN OF MINE IS SOMETHING MORE THAN MERELY MORTAL, AS TIME WILL SHOW.”

Illuminated Bulb
Home: Quote

Author at

bitsonline.com

I have written quite a few articles on bitsonline.com. Not that I wanted to be an author, but hey, who would reject an offer when you get paid for writing articles? Just kidding. I had taken a course on cryptocurrencies on Udemy.com by George Levy. One fine day, I pointed out an error in one of his youtube videos and to my surprise he was not only thankful but offered me a chance to write for bitsonline.com. I wrote a few articles, but now I stay busy almost the entire day. I'm dropping a list of my articles down below. Do check them out.

bottom of page