In my spare time, I write technical blog posts at dev.to (@somedood) about various topics in web development,
systems programming, and computer science. As such, many of my articles discuss JavaScript
best practices, design patterns, performance techniques, and limitations. In other times, I
focus on the low-level implications of systems programming patterns—particularly in the
context of Rust, C, and C++.
Featured Articles
Programming is Hard
Published
Indeed it is. Hollywood films often portray programmers as fast-typing computer wizards
who can "hack" into anything. We all know that this can never be farther from the truth.
Here is an article that discusses what goes into the many aspects of "real" programming.
18 Essential Videos That Fundamentally Shaped My Understanding of JavaScript
Published
Learning JavaScript is a wild, tempestuous journey. With so much to learn, it is difficult
to keep up with the times. Here are 18 videos I consider to be "essential" in learning
JavaScript at a deeper level. Each of these videos once sparked a "eureka moment" within
me that ultimately helped in piecing together the JavaScript puzzle.
🦀 Rust Reviewed: Is the hype justified? 🦀
Published
The Rust programming language has steadily been on the rise in terms of adoption and
popularity. But is all the hype justified? In this article, I reflect on my experience
with Rust in the past year, tackling the golden moments as well as the pain points.
The Proper Way to Write Async Constructors in JavaScript
Published
At the moment, there is no standardized way to write asynchronous constructors in
JavaScript. However, this does not mean there aren't any workarounds! In this article, we
will discuss the various ways to emulate async in constructor. Most of them are not-so-ideal, but in the end, I will
demonstrate the proper way.
How Rust helped me power through my C assignments
Published
After an entire semester of C assignments, I share how Rust patterns and idioms helped me
power through it all.
JavaScript Concurrency: Avoiding the Sequential Trap
Published
Idle code is the antithesis of efficiency. In this article, we will look into various ways
to reduce a program's idle time during asynchronous operations. From concepts such as
concurrency and proper I/O scheduling, this is the beginning of a series that explores the
world of asynchronous JavaScript.