Skip to content
View kartva's full-sized avatar

Organizations

@unicode-org

Block or report kartva

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kartva/README.md

I'm interested in designing performant and delightful software. I love open-source and have contributed a bunch. I'm looking for Summer 2025 internships. If you find what I've done cool, I'd love to work with you. Feel free to contact me if you'd like to chat about something I've worked on or might find interesting.

Work / Open-Source Contributions

I previously worked on icu4x, an open-source i18n library by the Unicode consortium, and Librarian, a bioinformatics quality control tool. I've contributed feature patches to Rust Analyzer, Rust Clippy, Wine, OpenSearch and Zola.

Research

I'm broadly interested in programming languages, distributed systems and operating systems. My current work is in creating optimizations for Mergeable Replicated Datatypes.

A chronological ordering of stuff I've done / am doing

Fall 2024

  • I created keymashed, an interactive exhibit at Purdue Hacker's BURST. It contains interesting things, like:

    • a JPEG-like lossy codec written from scratch.
    • a realtime video streaming protocol and associated netcode.
  • filed a bug report for the Linux kernel's memory management subsystem.

  • employed as a Research Assistant working with Prof. Suresh Jagannathan working on optimizing MRDTs.

  • employed as a Teaching Assistant for Data Structures.

  • employed as a developer teaching assistant for Programming in C. I created test modules for course assignments.

  • (Relevant) classes:

    • Programming Languages. Assignments included:
      • writing lots of interpreters in OCaml (I enjoyed all of them).
      • writing an interpreter for a functional language with type inference and checking.
      • verifying simple programs in Dafny.
    • Systems Programming. Assigments included:
      • a malloc implementation. I made mine robust enough to run Chrome.
      • writing a shell with pipes, quoting, subshells, stream redirection (in C).
      • HTTP/1.1 web server with authorization, cgi-bin modules and dynamic module loading (in C).
      • (team project) a graphical system monitor (à la top). (in C++ and ImGui).
    • Analysis of Algorithms. Assignments included:
      • proving the correctness of dynamic programming and greedy algorithms.
      • creating information compression schemes and comparing against entropy.
      • proving the NP-completeness of given problems via reduction to a known NP-complete problems.
    • Independent Study in Embedded Systems with Prof. Douglas Comer, TCP/IP legend.
      • designed audio streaming system with Raspberry Pis for concurrent audio playback.
      • wrote an RTP-like protocol for streaming audio over UDP.
  • Went to the Midwest Programming Languages Summit at UChicago and met many interesting people!

  • Attended every PurPL (Purdue Programming Languages) weekly seminar.

Summer 2024

Spring 2024

  • I wrote a clean inter-process communication program using POSIX shared memory.
  • I participated in the Open Source Contributor Initiative by OpenSearch and worked on the Performance Analyzer component in OpenSearch using Java.
  • (Relevant) classes:
    • Competitive Programming 2: topics included segment trees, hashing, tries, graph algorithms, and combinatorics.
    • Computer Architecture: topics included assembly code, digital logic, processor architecture and so much caching
      • I wrote a just-in-time compiler in Rust for ARMv8 assembly as part of an honors project. It jitted on function call granularity and cached the generated assembly for future invocations. Report available on request (until I get around to publishing it).
    • Data Structures: topics included Big-O notation, heaps, binary trees, linked lists, tries, sorts, hashing, graphs, etc.
    • Linear Algebra
  • Attended every PurPL (Purdue Programming Languages) weekly seminar.

Fall 2023

  • (Relevant) classes:
    • Programming in C
    • Foundations of Computer Science / Discrete Math
    • Honors Multivariable Calculus
    • Independent study in the C++11 memory model with Prof. Suresh Jagannathan. I explored tactics for designing performant and correct lock-free algorithms. Report available on request (until I get around to publishing it).
  • Attended nearly every PurPL (Purdue Programming Languages) weekly seminar.

Before University

  • I started working on Librarian with the Babraham Bioinformatics Institute in 2020. My work on Librarian was published here first in 2022, and then the revision in 2024.
  • I briefly worked with Trestle Labs on computer vision using OpenCV in winter 2023.
  • I was a competitive programmer and qualified for the Indian National Olympiad of Informatics (INOI) in 2020, 2021 and 2022. I studied Antti Laaksonen's Competitive Programmer's Handbook, from which I was inspired to write my first blog post on segment trees.

My blog - it's not completely up to date.

Pinned Loading

  1. keymashed keymashed Public

    Mash! your keyboard to make your internet better - installation at Purdue Hackers' BURST

    Rust 27

  2. Librarian Librarian Public

    A tool to predict the sequencing library type from the base composition of a supplied FastQ file.

    Rust 7 4

  3. memtalk memtalk Public

    A utility for two processes to talk to each other via a POSIX shared memory object.

    C 1