Jason Decastro

Read this first

Performance in React

Most people are aware of the fact that React makes rendering things in the front-end super fast, but did you know that’s not always the case? If we take a look at the algorithms that work behind the scenes, we would come across some type of diff mechanism, which is an algorithm to detect the differences between two separate contexts and give you back the only changed variable.

The Backbone

There are a couple of reasons for why React is blazing fast in rendering, one of them being mainly because it doesn’t refresh the entire page when an update is detected. It only refreshes what’s called the virtual DOM, which is a copy of the actual DOM. This is then plugged into the diff algorithim to detect what changed and what didn’t, and it only updates what was changed.

However, if we look specifically at how React works, then we know that every part of the virtual DOM is composed of components...

Continue reading →


People still write SQL every single day. I’m almost positive that not everyone uses Active Record or SQLAlchemy and other ORMs.

It’s a pretty established fact that SQL is so tedious to code. It’s not that it’s hard necessarily, it’s just really annoying to write.

Introducing Raccoon.

Raccoon is a library and DSL built in Python that acts as both a language wrapper to SQL and a migrater at the same time. Here is how it works:



This is pretty self-explanatory. flatironschool is the database name, students and instructors are the table names, and what goes within them are the columns.

How would you write such a model in SQL?

USE `flatironschool`;

  first_name STRING,
  last_name STRING


Continue reading →

Benford’s Law


I don’t know much about probability or statistics or any of that mathematical stuff, and I don’t really care much to know either, but Benford’s Law is some really cool stuff and I’m excited to tell you all about it in this blog post.

Alright, so back in the year 2001, there was this huge company worth around $70 billion dollars. $90 per share. That company was Enron, and it was known as the darling of Wall Street, the kings of the stock market. Now, let me further clarify how much $70 billion dollars really is.


Multiply that image by 70. Now that’s straight bank. So where did all of the money go? It went spiralling down in October 2001, after a couple of Enron’s executives, including their own founder and CEO, were indicted and convicted for 19 counts of conspiracy, fraud, false statements and insider trading.

Yeah. America’s most innovative company. 19 counts of fraud and insider...

Continue reading →

From Pythonistas To Rubyists

DISCLAIMER: I’ve been coding in Python for the past 4 years. It was my very first programming language. While I love Python, I tried to be as unbiased as possible.

This is not a stab at the Ruby programming language. I love Ruby too. This is simply nothing else but a comparison between the philosophies of both languages.

Below is the infamous Zen of Python.

1.  Beautiful is better than ugly.
2.  Explicit is better than implicit.
3.  Simple is better than complex.
4.  Complex is better than complicated.
5.  Flat is better than nested.
6.  Sparse is better than dense.
7.  Readability counts.
8.  Special cases arent special enough to break the rules.
9.  Although practicality beats purity.
10. Errors should never pass silently.
11. Unless explicitly silenced.
12. In the face of ambiguity, refuse the temptation to guess.
13. There should be one-- and preferably only one --obvious way to

Continue reading →

What exactly is abstraction?


I started The Flatiron School two weeks ago, and I met up with one of its founders, Avi Flombaum. He talked to me all about abstraction and what it really is, quoting Edsger W. Djeikstra:

Being abstract is something profoundly different from being vague… The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.

There are two main fundamental concepts in communication: syntax and semantics. The syntax is pretty much the front-end of what is being communicated. It is the word, the letter, how it’s organized, the outlining structure. The semantics on the other hand, is the back-end. What the word means, what that thing does, why it’s organized, the underlining structure.


Did you read that big word? Read it again. Close your eyes and think about the word. Seriously, close your eyes. If you’re a normal human being...

Continue reading →