Photo by Ankit Patel on Unsplash

In this challenge, you will make use of Python’s expansive functionality and practice with Python file handling methods and Bash in Python. Paste the starter code below into a file in your Python-enabled IDE and complete the following tasks:

Task 1. When the user finishes creating a recipe from the input prompts on the command line, a file will automatically be created in the user’s file system and be populated with the responses to make a finished recipe. Only Python’s native file handling methods can be used for this task.

Hints: You’ll likely need to use string interpolation. You only…


How to include AWS credentials in AWS Toolkit in Intellij can be confusing and take way more time than it should. After more time than it should have taken, I figured it out and stopped error messages about invalid credentials, with my Toolkit profile finally being loaded correctly.

Below I have copied and pasted the boilerplate config file that comes with AWS Toolkit in Intellij then gone line by line and written instructions in all uppercase and bold so that they stand out. …


The choices of free web hosting for a React developer to make a personal brand website, with a custom domain, can seem varied to the point of confusion. And many of the common choices (GoDaddy, BlueHost, etc.) usually don’t allow using much beyond simple HTML, CSS, and Javascript, making them not particularly impressive for a full-stack web developer considering what is being shown to the world represents skill in the very thing she or he does for a living.

While deploying apps built with React to AWS and Heroku directly is possible, and having a low-traffic website such as a…


Redux middleware can provide a React app with the ability to transcend React’s effective but potentially problematic way of passing props and data state among different components according to a strict hierarchy. By storing all pieces of state and all actions that activate state changes into a single object, “a single source of truth,” Redux can allow the passing of state and props to be more flexible throughout the app, no matter how large it gets.

As a beginner to Redux, I found the layer of complexity Redux adds to React somewhat daunting.

However, that complexity can be broken down…


Ruby on Rails provides a massively functional framework with routes and basis for data storage, but Javascript can really get an RoR app moving down the tracks.

Some of the benefits of using JS with a Rails app include responding to a wide variety of events on rendered pages, as well as rendering web pages faster than through Rails routes themselves and more flexibly so than through Rails views. What’s more, to enhance the JS, using AJAX allows Rails RESTful actions to be performed without the relatively slower redirection to the actions through HTML. …


I recently developed an app for a client who needed it online quickly. I ultimately deployed the app on Heroku. Overall, Heroku’s instructions for deploying an app ended up being pretty straightforward for someone new to app deployment such as myself (really make sure to preview all Heroku docs and follow them carefully). It was an exciting challenge but there were a couple of especially tough spots.

One of those tough spots was setting up the app with Rails’ Active Storage component. After spending several hours getting AWS and the app to work together and running into errors about the…


It seems like every major website, such as Facebook or Uber, has a way to access the public files of its API, or specific APIs, such as Amazon’s API for developers to show it’s projects, and each of these websites usually provide developer guides. You can Google for individual guides for specific websites whose APIs you’re interested in using or you can use a resource such as Programmable Web’s API Directory.

The API Directory is great for locating companies with accessible APIs and links and information about their APIs. The site has very comprehensive information about how each website’s API…


Maybe you’ve been lucky so far. The main computer you code on has never crashed. Nearly all of your code is in repos. However, the little crash demons are always there, ready to wipe out the project changes you’ve been working on, the apps you need to do your work, or even your entire system you’ve spent countless hours making just the way you like it. Having your work backed up in multiple locations and multiple ways is a must.

Luckily, it doesn’t really have to take a lot to time to back up your system regularly, and no more…


You’re jamming on your first Rails project and the web awaits a new Rails app to be born! Here is some advice you may find quite useful along the way.

Being DRY to the Bone

The marked-in-stone rule of DRY (Don’t Repeat Yourself) is never truer than in creating the models for a feature in a Rails app. It’s much better to make a model that has a specific, identifiable role than to try to make individual models take on more responsibilities than they should have. As much as you should make new methods when refactoring or adding to/changing specific functionality for a class, you…


SFSourcer is a Rails Project that developed from my love for reading and writing speculative fiction. It is meant to be a one-stop shop for readers, writers, movie fans, and gamers (Github | Demo). Most of my work life has been as a university English teacher. This is what I have learned on my journey to the new world of web development with Rails.

Having a background in teaching English as a Second Language, the process of building SFSourcer seemed a lot like writing a composition. In composition there are both bottom-up and top-down processes being applied. Bottom up is…

Christopher DiStasio

Full stack web developer with a passion for creating an effective and intuitive user experience, with experience in Ruby on Rails, JavaScript, and React.

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