TypeScript/Productivity

The best free thing that Microsoft has ever created

Initially, I was dismissive of TypeScript because I’m not experienced with strong-typed languages and I really try to avoid writing any more code than I have to. However, I found that writing a little more code up-front can pay big dividends later.

TypeScript wasn’t designed and created just to entice back-end developers onto the front end, but rather, to provide everyone with a tool that allows us to create robust code based on the lessons learned from other languages. One of the biggest advantages of TS is the tooling that you automatically get in your IDE. When you work with…


How I used React and Firebase to create a low-dependency and light-weight configuration with user authentication and state management

This is not intended to be a how-to but a small set of examples I think best exemplify how React and Firebase easily work together.

React is the perfect tool for exploring new web software and cool web services like Firebase. React and Firebase, alone supply everything you need to build and deploy a lightweight application with state, a database, and user authentication. …


Recently I have spent a lot of time on a React and Rails project that is going to incorporate user authentication, Redux, Thunk, a robust back-end, and many other features. I have thoroughly enjoyed this project, however, as a JavaScript and Ruby user, I have grown accustomed to the luxury of quickly and without hesitation spinning up entire applications that can be put on the web just as fast. I had the desire for a fast and fun project like this and where this led was a text editor! Here I will do a brief stroll through some of the…


What can you learn from test-driving a language?

While I am a recent graduate of software engineering boot-camp, a Whole Foods Meat Cutter, and sometimes a Medium blogger; I am also a job seeker. If you have searched for work in any technical industry you have looked for jobs that match your skill-set and you have likely had the same realization that I did. That you aren't going to find any positions with requirements that mirror your resume.

Instead, what you find in the requirements section of many of those job postings is a well-packaged, succinct, and clear list of…


A comprehensive guide to User authentication for Rails/React

So you have decided that your new project is going to use a Rails API for the server-side and React for the client-side. You enter rails new and create-react-app and get to work. You decide that you want to implement user authentication. Aside from a few configuration changes to allow the use of cookies (which I will explain very soon), where to start?

In this article, I will walk through the needed steps and demonstrate how this is very straightforward and simple. I will be using Rails 5 but everything should work for Rails 6 as well.

Phase 1: Configuring Rails App for Cookies

If you did…


Originally posted on October 21, 2019

At first glance, SQL can appear to be a little unwieldy and unfriendly. That was my first reaction anyway. SQL (Structured Query Language) is a query language that is used to manage databases and perform various operations on the data in them. The language was developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s. Edgar Codd invented the concept of the relational database and came up with the idea of storing data in tables, indexed by primary key and related by foreign keys to ‘normalize’ the data. The…


Originally posted on October 10, 2019

It’s exciting that I can now say I have designed and published a Ruby gem. It scrapes from live websites and interacts with the user using the command-line interface. It first prompts the user to select from two news websites. Once a source is chosen it prints headlines from those news source’s websites. I added a second level as well so the user can select a headline and get the URL link for their chosen headline. …


Originally posted on September 16, 2019

In OOP, we identify objects for our programs to use. Humans think about objects as things with attributes and behaviors and use these objects based on those attributes and behaviors. In Ruby, these objects become classes, the blueprints and factories for objects. Each instance of an object contains instance variables which are the attributes of the object and the behaviors are described via methods. Take the example of a dog. A dog can be seen as an object which can be realized in Ruby as a class “Dog”. A specific breed is an attribute…


Originally posted on August 30, 2019

I have always had a natural curiosity about the world around me. I am enamored with the complexity of everything and how it all seems to perfectly work together. Even when I was child I remember pestering my parents with endless questions as mundane as “how does the dishwasher work?” to questions like “how old is the universe?”. Despite all of this; school always seemed to somehow take all of the magic and beauty out of learning for me. Well, except for science class. Science class was a place of happiness and, for me…


A single page application is a web application that requires the browser to load just a single page. The web application or website interacts with the browser by dynamically rewriting the current page with data from the webserver.

I am currently developing a single-page application that is a game of sorts for multiple people to play that picks the players most voted-for Yelp search results. It uses the Yelp “Fusion API” and gets Yelp results for the user, creates player names, and asks the users to each vote one at a time for each result. …

John Guest

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