Nasir Sharaf

Artist/Engineer

Notes on building things · est. 2026

"The purpose of computing is insight, not numbers." — Richard Hamming

My name is Nasir Sharaf. I am a maker, hacker, engineer and developer.

I graduated from the University of Pittsburgh with a bachelors in mechanical engineering. Around this time I had an internship with DTE Energy. Because of that internship, I was hired by Siemens Building Technologies as an Energy Engineer where I learned a lot about controls, energy conservation, and construction. I also realized how important computers were becoming and how much untapped potential there was even in a high-tech industry like controls. So I went and got my masters in computer science from Oakland University. Most of my research was in the cybersecurity of industrial control systems.

This website is meant to be a personal space. I often find that I am told how to do things or what to do, so I want a space with total freedom to say and do as I please. Consequently, not everything on this site will be polished or complete. While I hope I might get a job opportunity or make a new contact through this site, that's not the goal and not the intended audience. Regardless, I hope you find something interesting here.

AI/ML engineer with 4+ years across agentic pipelines, NLP, computer vision, and embedded ML — from Arabic NLP research to production ML on edge hardware.

{{ selectedRole }}

{{ selectedCompany }}

{{ selectedDates }}

  • {{ bullet }}

Education

M.S. Computer Science, Oakland University

B.S. Mechanical Engineering, University of Pittsburgh

Arabic Prime Encoder

Arabic Prime Encoder

Arabic builds words the way chemistry builds molecules. A root of three consonants, like ك ت ب for writing, gets wrapped by a pattern into كاتب, a writer, or مكتوب, something written. Meaning lives in the root, and the tools that find it are slow. So I made it arithmetic. Each letter gets a prime, ordered by its frequency in the Quran, and every word becomes a product of primes. Belonging to a root family becomes divisibility, and shared consonants become a greatest common divisor. Python, NumPy, PyTorch. Trained on the Quranic Arabic Corpus, 77,000 words across 6,236 verses. Patent pending. It’s built like a compiler. A classifier runs once over the corpus and freezes what it learns into lookup tables, so reading new text needs no neural network at all. It finds roots at 90.8% accuracy against 63% for CAMeL Tools, about a hundred times faster. That speed makes indexing the whole classical Arabic canon cheap enough to actually do.

SolarStack

SolarStack CAD assembly

SolarStack begins by refusing the flat panel. Sunlight fills three dimensions, but a conventional cell harvests a single plane of it and runs into insolation, a fixed ceiling of about 1040 W/m² that no flat surface can beat. So instead of chasing efficiency I tried to redirect light. Cylindrical lenses concentrate the sun onto the edge of a light-guide plate, which turns it perpendicular and feeds a stack of cells behind it. 3mm light guides reached roughly 121% higher energy density than the flat control, and 5mm about 73%. The honest failure was the guides themselves. Built for LED backlights rather than sunlight, they leak along their length and starve the cells. US Patent 11,929,707 B2. It never beat a flat panel on raw watts, but it won on watts per exposed area, which is the number that matters when you're short on space rather than silicon.

Read the writeup →

Grasp

Grasp

Grasp starts from a provocation. Lisp is past sixty years old, and modern languages have spent that time quietly absorbing its ideas, to the point where Peter Norvig could call Python an acceptable Lisp. So what are the next fifty years of language ideas, and could you build them now? The name puns on Lisp, a graph processing language in place of a list processing one. It gets built by running Greenspun's Tenth Rule backward, starting from a deliberately underpowered Lisp called Schematic and growing out from there. My bet is that Lisp chose the wrong fundamental structure. Every other data structure is really a graph wearing a constraint. A list is a graph that only looks forward and back, an array is an adjacency matrix, a stack is a graph with rules about where you're allowed to reach. Grasp makes the graph itself first-class, which matters because programs already are graphs. Two things ride on the graph. Every node is content addressed with a hash, which is Git's Merkle tree pulled inside the language, so version control reaches down to a single function and macro expansions become auditable and reversible. And a Petri net at the core means writing the program is writing its formal specification, so a routine model check can catch deadlocks before they ship. Control flow, dependency trees, the message topology of a distributed system are all things we draw on whiteboards and then bury in callbacks and channels. Grasp tries to put them back into the syntax.

Read the writeup →

Rashomon

Rashomon spectrum

The premise behind Rashomon is uncomfortable but, I think, correct. No one in the news ecosystem is paid to find the truth. Readers are rewarded for confirmation, outlets for attention, and each makes the other worse. The name is Kurosawa's, one event and testimonies that never reconcile. Later it's also the Rashomon set in machine learning: many models, identical accuracy, incompatible explanations. Rashomon is a betting exchange that tries to reprice that. You get paid to read the coverage you'd normally skip, then stake a claim on where an anonymized article really falls on the spectrum. The bet is the whole mechanism. Django, PostgreSQL, Redis, alpha-tested across the 2020 election. Across 223 bets, stake size tracked accuracy. People wagered less when they sensed they were wrong, and far-right sources were the hardest for anyone to place. Demo at rashomonnews.com. Skin in the game makes you slow to cry fake, and the exchange's commission is a revenue model that doesn't run on outrage.

Read the writeup →

Grasp

Programming languages · Graphs

Running Greenspun’s Rule in reverse: a language built on graphs, content addressing and Petri nets.

Read essay →

Rashomon

Betting markets · Media bias

Using a betting exchange to quantify bias in the news, with alpha-test results from the 2020 election.

Read essay →

SolarStack

Optics · Solar energy

A three-dimensional solar panel built from light guides and cylindrical lenses, and why it fell short.

Read essay →
{{ painting.title }}
{{ painting.title }} · {{ painting.medium }}{{ paintingCounter }}

Nothing here yet.

{{ photoSet.meta }}

{{ photoSet.place }}

{{ photoSet.place }}
{{ photoCounter }}

Nothing here yet.