Menu
StormBreaker Banner

Projects

People get more control and ownership over their work through projects. Projects can be designed to accommodate a person's schedule and availability while remaining more flexible in terms of scheduling and duration. Individuals can focus on developing particular technical or creative abilities by working on projects, which can improve their knowledge and make them more competitive in their chosen profession.

StormBreaker Kernel

When updating from Android 11 to Android 12, we need to sometimes update/patch vendor blobs of our device for stability and compatibility. However changes to vendor blob may also require changes in Device Tree Blobs/Overlay (DTB/O). However these changes were not open sourced by Xiaomi. So I had to extract the Flattened Device Tree (FDT) from android 11 and extract the necessary changes for our device such as display, touchscreen, camera, and more. These changes were then overlaid onto android 12 DTB for our device platform. After import these changes relevant drivers were added to handle their interaction with the hardware.

Once the device booted up with these changes we were able to access most of the features other than camera. Out of three lenses only primary lens was working. Other devs in my community were not able to pin point the reason behind this. But after trouble shooting for a while I found out that the reason was bad camera actuator links in the camera DTS provided by Xiaomi. Then came the issue of Xiaomi secretly adding support for another panel. The touch failed on devices with these panels, however this bug was fixed by a dev while trying to boot Ubuntu Touch. The only device related bug it has right now is 2 lenses dead on Poco M3.

Android Application with REST API

Our initial idea for making an attendance system was using codes to input into a field and mark your attendance and his code would be generated by the teacher. Although it seems that it is fine there are ways to exploit it. You can sit at home and mark your attendance. So we decided why not add your geographic location to this so this exploit can be avoided and successfully we(me and my mini project team from college) were able to implement this. However during our project review we faced another interesting exploit. Entering code by standing outside the class.

The app is connected with the web server through REST API. The RESTful API is built using Python Flask and the database connectivity and query are handled by Python Flask SQLAlchemy. Android application was written in kotlin and uses a simple http client i.e OkHttp that supports TLS features. The user queries our endpoints on RESTful API and an appropriate response is generated. If the code entered and geographic location lies within the set boundaries the attendance/presentie is marked. This application is not as useful in this domain but it is reliable for companies with a well built single floor infrastructure. GPS might not be the best solution right now but maybe in the upcoming decades it will.

Embedded Systems & OS Development

Do you have have app(s) that you never use on your phone but can't uninstall either? Been there. Such unnecessary apps are nothing but bloat, but what is the solution to this? Simply put installing an Operating System that is minimal. Android is an open source operating system for mobile devices and a corresponding open source project led by Google. The Android Open Source Project (AOSP) repository offer the information and source code needed to create custom variants of the Android OS, port devices and accessories to the Android platform, and ensure devices meet the compatibility requirements that keep the Android ecosystem a healthy and stable environment for millions of users.

To build Custom AOSP ROM you need a few repositories set i.e device tree, vendor tree and kernel tree. Each of these can be cleaned of unnecessary clutter that is started with the OS. Patching kernel and making appropriate changes for your device can make the custom OS smoother than you could ever imagine it. Personally it has been twice the better experience as compared to MIUI. I learnt a lot about how our phones work and how we can tinker with it while doing this project

Attendance Scrapper from Gmeet

One day whilst I was joining my lecture's google meet I heard "He is very sincere" and the next thing I know is I was the Class Representative. My Physics teacher had trust issues with student joining gmeet only when attendance was taken so she thought of taking "screenshot" mid lecture. I thought why not make a tool that could help her instead? After the first time I cleaned up the generated data manually and sent it to my teacher she told me to convert this into a tool that even she can use so I began and this is what I would make changes to the list generated as per her request. It even supported multiple classes but unfortunately while shifting from laptop to PC I wiped my data while moving my SSD so that's that.