I must confess that my foray into programming was with the languages of JavaScript and Ruby. And this was a very gentle journey into programming. I didn’t have to assign a specific data type to a variable when declaring it, and the most I had to do was decide between const and let in JS.

I had no real experience with a compiled language, so I recently have taken on C#. C# has access modifiers and data types that aren’t explicitly ‘present’ in either JS or Ruby. …

Gatsby is a React-based, GraphQL powered, static site generator. That’s what’s stated on the official Gatsby Website, and when I first started using it I didn’t have a clear idea of what that all meant. For instance why not just use React instead? What exactly does it mean for it to be GraphQL powered and a static site generator?

I’m hoping to clear some of that confusion.

Static Site Generator

The term static site is perhaps a bit misleading, especially when the other type of site is categorized as ‘dynamic’. It does not mean that a web-page itself is not dynamic or unchanging…

Early on in my education of JavaScript I was told to avoid using var for variable declaration/assignment because it is deprecated. A small amount of digging will show that var is no longer widely used because of hoisting and scope. Scope, as a concept, applies to many languages beyond JavaScript, but hoisting appears to be a mechanism only in JavaScript.

So let’s talk about it.

The Creation of JavaScript

JavaScript was created in late 1995 by Brendan Eich. If that name is familiar to any programmers out there it’s because he is the co-founder of Mozilla. The early days of the world wide web…

For personal, and not financial gain.

Pixel art was widely used during the early ages of video game development. The art produced using this method was very small in size, sprites were mere kilobytes in size, and readable at low resolutions, which worked well on older televisions. Pixel art has made a comeback, especially in the indie game scene, because it isn’t as difficult or labor intensive to create/animate compared to 3D models, and the aesthetic of it is nostalgic for a lot of gamers.

Part of the memory and storage saving advantages of pixel means a lot of art…

On June 27th, 2020 three of my friends and I participated in the Data Day Grind hackathon with MLH. The theme of the event was data, which allowed us to dive into almost any topic we wanted. Being as trendy as we were, we chose to make our application about COVID-19. And this meant we needed a way to visualize that data. That’s where Victory came in.

Victory had some quirks that were not immediately clear, so I hope to clear up some possibly confusing things.

Some Groundwork

I would recommend going to the Victory site, and reading through their documentation before…

Most of the programming I have done so far has existed solely in two dimensions: x and y. The one exception is a brief stint where a friend and I decided we wanted to make a game as a side project. And this game was going to use the third dimension: z. We weren’t finding the exact models we were looking for. So this is very anyone trying to make some basic assets for their application, but cannot afford to pay someone to do it.

This will be a part one for now. …

Collision detection is still a significant issue in programming even to this day. Initially it may seem straightforward: if two objects occupy the same space make them move away. However this becomes increasingly difficult to do when the work space isn’t just two 2D objects in the same space, and it’s often complex 3D objects in 3D space. Beyond just properly detecting that there was a collision the extended difficulty comes when programming the collision response.

A Simple Example

Here is a simple collision model I have created using p5.js with their 2D collision library. p5.js will redraw the ball’s position 60 times…

We Can Do Something About It

I’m sure everyone here has seen Paul’s unicorn icon in his terminal. And now when you look at your own terminal, you’re incredibly self conscious about it. Worry not, because it’s not to late to save your shot self-esteem. It’s actually easy to change the aesthetics of your terminal, and gain the respect of those around you.

Basic Changes

Fair warning there is some programming involved later down in the blog. If you, like many Americans, do not feel like programming you may open up the preferences for the terminal. You’ll see an options menu shown…

Our first project was about creating, accessing, and manipulating databases in Ruby. The way a Pokemon game is set up made it seem like a perfect candidate for our project, but we lack both the time and ability to completely recreate a Pokemon game through ruby. Cutting down on features was a necessity. This was an incredibly important part of our design process but it did beg the questions:

“What are the core mechanics of a Pokemon game?” and “Can we actually recreate those mechanics?”


  • Starting Out
  • Attempting to Dive Right In
  • Pokemon, Types, and Moves Oh My
  • Where We…

Matteo A Ricci

Coding for Flatiron

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