Eyas's Blog

Hey there—

I'm Eyas, and this is my blog. I am a Software Engineer based in New York. My identities as an Arab, an Immigrant, and a Techie have shaped much of my world view.

I write about programming, software design, politics, and anything else!

Browse featuredRead latest

Latests Posts

Writing a React Table of Contents Component

Last year, I wrote about migrating this blog to Next.js. It ended up being a huge post, so I wrote a <TOC> React component to make it more navigable. You can also see the TOC in action on this page:

The bulk of the logic for this component is based on Emma Goto's great examples in her "How to build a table of contents in React", with a few improvements worth discussing. If you haven't yet, go read that post! Emma does a great job showing both the final working solution and explaining the thinking behind it step-by-step.

Read more →

Migrating this Blog to Next.js from Gatsby

In February 2020, I migrated this blog from WordPress to Gatsby. Using Gatsby also allowed me to switch from hosting my site on a paid plan on SiteGround to a (usually free) plan on Netlify.

The migration made sense to me at the time: static-site generation was all the rage, and Gatsby was the exciting new thing. It promised better performance and improved my authoring workflow with Markdown and React. Saving a few dollars a month on hosting didn't hurt either.

Read more →

Achievement is Discontinuous

Jenga. By Naveen Kumar.

To this date, schema-dts is the only side-project I have that achieved better-than-moderate success. It took several hours between the time I had the idea for schema-dts and when I had a reasonably working v0.1. I pulled an all-nighter--something that I hate doing and would never recommend--not out of sheer passion, but because:

  • I knew how rare a moment of inspiration is, and
  • I knew that if I went to sleep, I would never finish this project; there's a graveyard of unfinished projects haunting me.
Read more →

"But How Do I Actually Start?" Making Games on Your Own as an Engineer

Stacks and stacks of paper. By Sear Greyson.

In the Unity for Software Engineers series, I give an accelerated introduction to game development in Unity. Subscribers have been following this series over the past few months, often suggesting areas to cover or elaborate on. A few months ago, a reader—also a software engineer—reached out to me (lightly edited, emphasis mine):

The biggest unknown for me is: How do I start? What does the process of creating a game look like? Should I build the scenes first? Should I design the gameplay mechanics first? With business software, it's much more familiar. It's easy to think, "Well, okay, I need to write the DAO or controller, etc." But with games, I'm lost.

Read more →

Unity Short: Building User Interfaces

Photo by KOBU Agency

For the third and final "short" of this week's Unity for Software Engineers, I give an overview of building in-game User Interfaces in Unity. As a reminder, this week's installment is packaged as a series of short-form outlines, introducing readers to the breadth of the Unity toolkit.

Just like rendering and the Input System, Unity has a few technologies that can be used to render UI in a game. Unity's documentation includes a comparison of these UI toolkits. Of these, only two technologies can be used for in-game user interfaces. We'll discuss these here:

Read more →