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 simple 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 PulseAudio to 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 nearly every PurPL (Purdue Programming Languages) weekly seminar

Summer 2024

Spring 2024

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.
  • 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.

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

Pinned Loading

  1. Librarian Librarian Public

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

    Rust 7 4

  2. memtalk memtalk Public

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

    C 1