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 had come to know that — especially for me —…
In the third installment of the Unity for Software Engineers series, we cover Unity’s Input System from basic principles.
Handling player input will likely be among the first game systems you implement. Unity Technologies unveiled a new Input System in 2019 intended to replace their previous system. While the new Input System allows building on more idiomatic Unity patterns, it can also be more challenging for a newcomer to pick these up. This is especially true because the Input System leans on configurable assets and emphasizes Editor usage. …
One of the most transformative pieces of wisdom I’ve gotten in my career is Titus Winters’s ToTW #122 on test dataflow clarity. The Tip of the Week (ToTW) series offers advice focused on C++. Like Testing on the Toilet, which offers advice and best practices for software engineering at Google generally, it has become a fixture within the engineering culture, frequently cited in code reviews.
If you haven’t already, check out ToTW #122: Test Fixtures, Clarity, and Dataflow now — I’ll wait.
At it’s heart, the advice is simple: avoid overusing test setup and helpers to obscure data flow. As…
Software Engineers starting with game development are often looking for best practices and idiomatic techniques. You’ll find some authoritative sources of idiomatic development from talks in Unity’s Unite conference, posts on the Unity blog, and members of the community like Jason Weimann. But game development isn’t just engineering; it’s also an art. This sometimes means that getting something to work takes center stage. You might find a lot of advice along the lines of “do what works”, which, while it is valid and helpful, doesn’t quite send you down the right path when you’re still learning.
Below, I put a…
If you’re trying to get into game development as a Software Engineer, finding learning materials with the right level of context can be challenging. You’ll likely face a choice between following materials introducing you to basic C# and OOP concepts while also describing Unity concepts, or starting with advanced tutorials and be left to figure out the core concepts deductively.
I started my programming journey around 17 years ago by picking up Game Maker. Countless hours spent coding little games and tools led me to a bigger passion for programming. Eventually, I was at a point where I focused mainly…
I had been working in New York City for just over a year when I sat down at one of my favorite cafes in my neighborhood to write a personal journal entry. I gave it the title “On the crossroads between goal-oriented and process-oriented” and I wrote down stream-of-consciousness reflections on my life, career, and how I wanted to do things differently.
It was October 2015, and I had finished grad school and moved to NYC to work full-time as a Software Developer in a fin-tech company. I was having what I have come to see as the seminal quarter-life…
Conventional wisdom in the software engineering community says that striving for 100% test coverage is a fool’s errand. It won’t necessarily help you catch all bugs and it might lead you down questionable paths when writing your code.
My recent attempts at 100% test coverage showed me the answer is much more subtle. At times I was tempted to make questionable code changes just for the sake of coverage. Some of those times, I succumbed. Yet I found there’s often an enlightened way to cover a branch and make the code better for it. Blind 100% coverage can cause us…
How helping on a film set led to me down a serendipitous path, publishing a new open source library, and getting an IMDB mention.
About a year ago, a friend asked me-along with some others-to help as extra hands on set filming the second season of an absurdist comedy mini-series she was working on called Look it Up.
Helping film anything wasn’t something I thought I would ever do, so I was excited to try it out. We weren’t necessarily trusted with anything difficult; carry equipment around, slate shots, clear the set, and move things around in general. …
Dear Rep. Velazquez,
I write asking you to take a public position in support of Rep. Ilhan Omar, and against the campaign to smear her legitimate foreign policy questions as anti-Semitic. These attempts are, in themselves, all-too-familiar xenophobic, Islamophobic, and anti-Arab.
As an Arab in America, I am always erased. It is my personal struggle to reconcile my daily work furthering a country that provides aid to a state oppressing an ethnic group I belong to and feel a strong kinship with. That is normal, and okay. No one should expect their country’s foreign policy align in every aspect with…
The progressive left is suffering from two contradictory problems: The abundance of single-issue political litmus and purity tests threatens base cohesion and coalition building; Yet, also, the lack of a broad platform of specific policy proposals leaves the Democratic party feeling like a party without a cause.
How can a progressive party adopt a specific platform to rally people around it, while still building a broad coalition that appears to a breadth of voters and lawmakers? Indeed, California Rep. Jim Costa expressed doubt in the Democrats’ “Better Deal” platform along these lines, saying “Just as there isn’t one kind of…
Software Engineer living in Brooklyn, NY. MIT Computer Science S.B. ’13, M.Eng. ‘14. From Amman, Jordan. Interested in politics, current affairs, and technology