Welcome to Samir’s Home!

I am a software engineer and researcher working on the Rust-based Tock Operating System. I am working on developing secure devices such as roots of trust and FIDO security keys. My research is trying to make systems understandable, safe, and correct. We are proving that Tock OS’s memory isolation guarantee is impossible to violate. You can click here to learn more about how we are applying lightweight formal verification to do this. I am advised by Professors Pat Pannuto and Ranjit Jhala, and I work with Professor Geoffrey Voelker as a TA for Operating Systems (CSE 120). In my free time, I am a lead mentor for FIRST Robotics Team 812 where I hope to inspire high schoolers with a “sense of wonder” through hands on experience.

I graduated with my bachelor’s from UC San Diego, double majoring in Math and Computer Science and minoring in Classical Studies. Outside of class, I was a member of Triton Unmanned Aerial Systems club working working as a jack-of-all-trades and on 3D path planning for our autonomous plane.

During my undergrad, I worked with Professor Pat Pannuto on the Rust-based Tock Operating System. Tock takes advantage of Rust type-safety to offer fault isolation, dynamic memory management, and concurrency that are not typically available to power constrained microcontrollers. We revisited network interface design and abstractions. Our goal was to integrate fair sharing of limited radio on-time and network bandwidth. I am particularly interested in how interfaces can be used to make compile-time guarantees about network operation. Tock’s secure OpenThread port came out of this project, and my colleages are continuing work to get compile-time guarantees about energy efficiency. Previously, I was a member of The Computing for Social Good Lab at UCSD where I researched mental burnout and problem gambling on social media using NLP.

I am actively interested in new positions at this time. I am interested in work where I can work on formal verification and/or systems software (Operating Systems, Low-Level, or Performance) and prefer to be able to open source my work. Please check my resume for links to my past experiences.

Interests

Software keeps getting larger and harder to understand. Currently, there is no easy way to check if a system is meeting its specifications or to confirm assumptions about its behavior. The only options are unreliable manual testing or to create costly formal proofs to match code’s behavior with a specification. I believe this unmanageable complexity is already stifling innovation and will be the biggest problem in future software. Thus, the most impactful and urgent area of software engineering is to make verifying large systems practical. Lowering barriers to making safe software will encourage better software. I dream of a world where software was designed to be observable, debuggable, and safe.

I am interested in investigating the applications machine learning techniques and its intersection with various fields, particularly NLP. I see computers’ knowledge of human language as the next big interface for humans to utilize computing power more naturally. I look forward to computers gaining a semantic understanding of language. (Looks like all of these have been accomplished since I wrote this!)

I am also passionate about the application of simulation in developing robust systems. In Triton UAS, I looked into using Blender simulations to accelerate software development on aerial vehicles. Simulations can be integrated into automated testing pipelines and used for human sanity-check verification during rapid development cycles.

About Me

👋 Hey, I’m Samir, but you can call me Samir.

My covid hobby has been an Among Us addiction. I also have been going through my backlog of things I’ve been meaning to do (like giving this site a little love 🫀). If you have any recommendations, I enjoy discovering new music and seeing all the interesting genres people come up with. Despite my true love being software and me being wholly incompetent at the physical engineering disciplines, I enjoy fiddling around with hardware. I hope to spend more time working on physical projects in the future.

I’d love to talk about anything! Feel free to suggest a time that works here 🕰.

Things I love

  • ⚙ understanding complex systems
  • 💻 keeping an organized workspace against relentless entropy
  • 🤔 shows & movies that make you think
  • 📕 sci-fi: Neuromancer is a recent recommendation
  • 👀 privacy
  • 🎵 discovering new music
  • 🏃‍♂️ XC running
  • 💾 people who do proper backups
  • 🪄 the magic when things just work
  • 🪐 intellectualizing at night
  • 📰 current favorite Wikipedia article
  • 🦍 current favorite game
  • 🐳 current favorite movie

For more info

Message me through any of the contacts in the sidebar. Email is preferable.

Here’s my GPG key. You can also find it on my Keybase or hosted on the OpenPGP keyserver.

Feedback

I would love to hear your feedback, constructive or otherwise. As an effort for personal CI/CD and behavioral refactoring, I have made this anonymous feedback box.