Skip to main content

· One min read
Josh Kaplan

You Don't Know JS Yet by Kyle Simpson (or the earlier edition You Don't Know JS, which is the version I read) is the best Javascript book I've ever read. It is not for beginners, there is an expectation that you have a decent programming background with some Javascript experience already. What this book covers is a deep dive into the Javascript language and how it behaves.

The first edition covers the inner workings of Javascript including topics such as variable scope, closures, and Javascript's use of the this keyword. The focus of the book is on clearly explaining many of the language-specific topics that cause confusion with the Javascript language and to help you develop a deep understanding the of the language to take your Javascript engineering skills to a whole new level.

· One min read
Josh Kaplan

The Mythical Man-Month by Frederick Brooks Jr. is the classic software engineering text for building complex software systems. The book was orginally published in 1975 and is based heavily on lessons-learned from the developments of IBM's OS/360. But despite its age, many of the lessons from The Mythical Man-Month hold true today.

There are two concepts I'll touch on that really resonated with me. The title mythical man-month, or perhaps in more modern terminology the FTE, or Full-Time Equivalent (or other similar term). This address the idea that people and time are not interchangeable. That adding more people doesn't necessarily speed up a project if those people don't have sufficient understaning or the tasks cannot be paralellized.

The second lesson I'll share is: plan to throw out the first one. This is as true today as it was in 1975 and is arguably more true in the context of modern agile software. We rarely get a product right on the first pass and it's through incremental iteration that we make it the better.

· One min read
Josh Kaplan

The Culture Code by Daniel Coyle breaks down the detailed behaviors found in the cultures of high performing teams. Throughout the book, Coyle uses specific examples across multiple industries to show how belonging cues drive effectiveness of teams.

One of my biggest takeaways from the book is the importance of making people feel like a valued part of the team and the role that minute social interactions play in that feeling of belonging. As a leader, the ability to show vulnerability and admit your own mistakes sends a powerful message to the team that this is a safe place to make mistakes, learn, and improve, setting up a culture of psychological safety.

· One min read
Josh Kaplan
Note

Please visit my Digital Notes page which contain a more updated reproduction and expansion of this article.

This is a brief writeup of some of my notes on how to calculate probabilities.

Notation

P(AB)P(A \cap B) \rightarrow The probability of A AND B

P(AB)P(A \cup B) \rightarrow The probability of A OR B

P(AB)P(A | B) \rightarrow The conditional probability of A given B

· 18 min read
Josh Kaplan

In this article, we discuss asynchronicity in Javascript, its evolution over time, and some of the patterns for dealing with various asynchronous challenges. We'll discuss callbacks, promises, and the present-day async/await approach to asynchronicity and when and how each of these are relevant in modern applications.

· 6 min read
Josh Kaplan

This article introduces some of the basic concepts of batteries with particular applications for hobby-level small aircraft projects and similar. My aim for this article is to supplement my students' research for their senior design projects and provide an introductory walkthrough of the topic.