Someone asked me last week about SQL joins and I was totally tongue-tied. It left me feeling like I could use a little practice explaining this succinctly. Join me for a couple of minutes and get this common interview softball mastered.

The setup

Relational databases are ubiquitous. A lot of the web apps we make are interfaces to these relational databases, and as a software developer, one of the most common ways we can provide interfaces to that data is by writing code in Structured Query Language, aka SQL. …


I was working on a site with some friends last week. We were using React-Bootstrap as a solution for out-of-the-box UI components. We all liked the idea of using modals for our pop-up menus and we wanted to use side tabs for navigation. The way the React-Bootstrap modal component is written, the button to open the modal is contained within the component itself. This can make things confusing if you’re trying to figure out how to place the component. If you’re familiar with React-Bootstrap and you’re just searching for the solution in a hurry, skip down to the picture of…


Hey Jacob, nice article. I've been putting off getting into Firebase and your tutorial makes it seem pretty simple. I'm definitely gonna give it a try on a project next month :)


"The information can only be saved as strings, so don’t try anything too fancy." ... Boy howdy, you're right on that. I lost a couple weeks of development time on a project trying to get fancy with Session Storage. Never again!


Cool article, Alyssa! I'm just starting to learn about design patterns, it really helped to take a few minutes and read your blog :)


Photo by Rob Lambert on Unsplash

I was working on a project this week and this trick came in handy. I think it’s really cool and worth adding to your bag of tricks, so check this out.

In other languages I’ve been exposed to, the boolean OR operator (usually represented as ||) is used in evaluating boolean expressions for conditional statements.

if( friday || birthday ) {
throwPizzaParty();
}
do{
washLaundry();
vacuumHouse();
} while ( sunday || messyInside )

If either friday or birthday are truthy, throw a pizza party. If sunday or messyInside are truthy, it’s time to get on the housework. …


In the past month I’ve grasped and forgot the finer points of currying functions a few times, so here’s a quick article that will cover the concept generally.

Before we get into it, know that currying is used a lot in functional programming, and it relies on the concept of higher order functions, i.e. passing one function to another. If that sounds confusing, check out the quick read about that concept I wrote here. It’s a 3 minute read to get you up to speed.

While the act of currying functions gets its name from Haskell Curry, it helped me…


After learning all about web development since last October, I’ve been feeling a lot more comfortable learning and applying different frameworks. My current weak spot is my understanding of algorithms. This week I’m reviewing three common search algorithms. As I wanted to remember the abstract parts of these algos, I’ve noted down time and space complexity and described the algorithms, but have left implementation out for now.

Insertion Sort

Best Time: O(n)

Worst Time: O(n²)

Space: Constant

  • Assume leftmost value is fully sorted.
  • from the remaining set of values, take the leftmost value and compare to the already sorted value…


Lately, I’ve been learning Redux and I keep seeing things about functional programming. I had heard those words, and I vaguely understood the principles, but I was having some trouble really applying them in my code.

Some of my other developer buddies had told me about how functional programming makes your code cleaner, more efficient, more abstract and reduces the potential for the introduction of errors. I’m still struggling to incorporate these ideas by habit and so I’ve written this simple post to demonstrate the fundamentals of functional programming.

Let’s say that we have an array of user objects, something…


TL;DR => This is what you need to know:

In the child element, add this to the event listener:

event.stopPropagation();

If you need to see an example, check out this site here.

…But if you don’t know about why stopPropagation is a thing, stick around for three minutes. There’s something you ought to know about event objects in Javascript.

Why stopPropagation() works.

Let’s set the stage here. We’re developing a single-page app, doling out some data on cards. We want to handle when a user clicks on the card, and also when they click on the delete button on the card. Like so:

A common scenario

… without event.stopPropagation() in the event listener for…

Sharad Satsangi

Prodigal Programmer, coding for fun and profit :) https://www.linkedin.com/in/sharad-satsangi/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store