Photo by Andrea Rio on Unsplash

Somewhat of a walkthrough…

Sinatra, surprisingly enough was the toughest module at Flatiron School I’ve had to face, so I decided to put together a list of handy tips and tricks to help the next student who faces difficulty in doing their project.

Photo by Joshua Fuller on Unsplash

Amongst the things I found myself constantly referencing while building my first Rails app were Rails generators. You can check out the Rails Guides for more official documentation.

Rails Guides — Generate

What They Do

Rails generators save a lot of time when building out your project. The rails g CLI command, AKA rails generate uses templates to build out different portions of your Rails application. Certain gems will also come with their own generators, and you can install some on your own to tailor your personal project. …

Photo by Caspar Camille Rubin on Unsplash

What is hoisting?

Hoisting is a relatively new concept, which you will not find anything about in documentation prior to ES6.

According to MDN:

Hoisting is a term you will not find used in any normative specification prose prior to ECMAScript® 2015 Language Specification. Hoisting was thought up as a general way of thinking about how execution contexts (specifically the creation and execution phases) work in JavaScript. However, the concept can be a little confusing at first.

Ok, so that is a little confusing. To put it simply, hoisting is a mechanism, that since ES5 will move variables to the top of its…

Knowing the lingo matters

When it comes down to certain things in JS, they become second nature and as a developer I often will start writing certain code without giving a second thought to why I did it. “That’s just the way it is” or “You use x when you need y…” But as I learned from a recent telephone screen, sometimes the simplest concepts can trip you up when it comes down to explaining them. Most developers with any experience in Javascript will instinctively use =, ==, and === correctly. I recently got asked the question “What is the difference between == and…

Redux State Management

What is a thunk?

A “thunk” is a term for a function that is returned by another function

function normal_function() =>{
function thunk()={
console.log('I am the thunk');


In Redux, we have actions, action creators, and reducers which we use to manage the state in our app.


Actions are simple objects. Ironically, although they are called actions, they don’t do anything. They are just objects

// 1. plain object
// 2. has a type
// 3. anything else you need
user: "rukshan.uddin"

Action creators

Action creators are used to create actions. They are functions that will return an action.

// 1…

Laptop with code
Photo by Pankaj Patel on Unsplash

Today I put the final touches on my first CLI program that I wrote in Ruby.

Here is a link to the GitHub repo!

The project was tough and I didnt know where to start. I thought that I would have it done over break but I didn’t even start. I had no idea what I wanted to do. All I knew was that I had to integrate Nokogiri, scrape 2 levels deep into a website and provide a CLI user interface.

I ended up using Nokogiri, Colorize, Open-URI and Pry to help me on my journey. I ended up…

Inheritance, Supers and Modules

Everything in Ruby is an object. As everything is an object, there are basic rules that every object will follow. All objects can inherit from another object. All objects can modify methods that are inherited


What is inheritance?

If we look at the dictionary definition of inheritance, in other words, we see that it would refer to something received from someone else.

Bus drivers, ambulance and taxi cab drivers all share common behavior in that they navigate the roadways, but they are different from each other and each have their unique qualities that make them different from each other. We…

Rukshan Uddin

Full stack web developer. Teaching Assistant Graduate

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