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.