Eyas Sharaiha


I am a Jordanian Software Engineer living in New York, NY. Born and raised in Amman, I had the chance to acquire and develop a sharp interest and a sense of activism in serious matters of the world. I have many passions, from science and technology, to political science and history. I am drawn to Middle East politics, and am passionate about establishing a just peace that ends the Arab-Israeli conflict. An avid programmer, I have many plans for world domination, but I never get the chance to complete any—or so I want you to think! I enjoy horseback riding, writing, and cracking lame jokes.

Projects that I'm proud of now

  • Ibra Library

    Ibra: C# Convinience Libraries [2015]

    Ibra (from the Arabic for "lesson" or "example") is an open source family of C# nuget packages that expand on the core BCL to provide convinient types and paradigms for C#. The project is hosted on GitHub.

    Current available packages:

    Name Nuget Description
    Ibra.Lazy Nuget Release Provides memoization constructs in a familiar API.
    Ibra.Comparers Nuget Release Provides common comparers for List types, allowing ImmutableList types to be used as keys in containers, and other scenarios for comparison.
    Ibra.Polymorphic Nuget Release Provides support polymorphic types in C#, such as Covariant and Invariant Maybe (Optional) types, and type unions
    Ibra.Enumerables Nuget Release LINQ-like helpers and extension methods for IEnumerable. Type filters, Option-type conversions, flattening enumerables, fast single-element enumerables, and others.
    Ibra.Logging Nuget Release Pretty & lazy logging for C#.
  • PeerRPC

    PeerRPC: Browser-Based P2P RPC Library [2013]

    As part of MIT's 6.828 Distributed Systems Engineering Class, I created PeerRPC, a JavaSript-based RPC library. PeerRPC is built on top of PeerJS, itself a JavaScript library which uses the WebRTC standard to support true browser-based P2P browser-to-browser communication.

    PeerJS supports message passing between different browser peer. PeerRPC expands on this ability by supporting RPC calls between peers.

    PeerRPC is currently on GitHub, where you can access its source and use it.

  • NB Social Annotation Tool

    NB Social Annotation Tool [2012–2014]

    NB is a social annotation tool developed by the Haystack Group at CSAIL. You can use NB to annotate PDF documents and HTML pages with questions, observations, and discussions. Students and Faculty can use NB to annotate arbitrary PDF files online, in a collaborative fashion.

    My work in NB has been focused extending the tool to allow annotating arbitrary static HTML documents. NB originally only supported rectangualr annotation boxes on PDF documents represented by images. My contributions to NB allow it to annotate HTML documents and iteract with the text through the normal document flow.

    A potential result from this work is the use of tools like pdf.js to display PDF documents and use the HTML annotation system as a unified (and more appropriate) annotation framework.

    The design of the current NB homepage is also my work.

  • Password Protected Sections for the OneNote Web App

    Password Protected Section for the OneNote Web App [2012]

    As part of my internship at Microsoft, I worked on getting the 'Password Protected sections' feature of the OneNote desktop client into the Web App.

  • Number Six Club Member Directory

    Number Six Club Member Directory [2010–2014]

    Built a Members' Directory for the Number Six Club, a co-educational literary, social, and residential fraternity at MIT. The Member Directory was initially built as a simple way to list information for all past and present members of the Club, starting with the founders in the 1880s.

    While the project initially started simply as a database of living and non-living members, it grew to support search, privacy levels, access control lists, and more. The directory also integrates with the main website and provides it with the current list of officers and their titles dynamically.

    The web application that once was the 'directory' now offers officer portals, enables member authentication and identity management, and connects a number of internal services and tools.

  • ZV6

    ZV6: A Fork of MIT's XV6, inspired by ZFS [2012]

    See on GitHub (Writeup)

    Final group project for MIT's 6.828 Systems Engineering class. The project goal was to modify the XV6 operating system (itself based on Unix V6) to support ZFS-like file systems features. Namely, we modified XV6 to suport inode-checksums and 'ditto blocks' to replace corrupted files on the spot.

Projects I was proud of in the past


I have postings on my blog, and other writings on Medium and Scribd.

Selected Writings


The best way to reach me is to contact me via e-mail at eyas_sharaiha@outlook.com.