Photo by Pierre Bamin on Unsplash

Two years ago, after my son was born, my wife and I had the discussion: Do we want to put our son’s photos on social media? This was after the major data scandal with a popular social media site and a British political consoling firm. Needless to say, that scandal highlighted Andrew Lewis’ (aka blue_beattle) comment “If you are not paying for it, you’re not the customer; you’re the product being sold.” (User-driven content on MetaFilter).

At the core of it, we were trying to answer several questions:

  1. Do we want our son’s photos or data to be used for…

Photo by Hal Gatewood on Unsplash

In my decade of software engineering I have noticed trends come and go. Dogmas formed around best practices that are designed to solve all the problems; people are so sure they have the right answer and that you’re not a good engineer if you don’t follow them (a little hyperbolic but I have seen a few people with this mentality). One of these dogmas I dare and continue to challenge is the idea of Test Driven Development (TDD) in the context of developing a prototype or Minimal Viable Product (MVP). I have gotten into some serious debates with engineers and…


AWS S3 is a great service to use to host user content, like profile images or uploaded media, especially if you are hosting your website application on a service like Heroku that does not allow you to store images to the hard drive directly. The issue becomes when you want to limit user access to protected media on S3.

In developing my website, I ran into this very issue. I needed a way to allow users to grant access to other users to media that they posted, preventing the media from being accessible to unauthorized users. This means that even…


Photo by Florian Olivo on Unsplash

Rails/Webpacker is a great gem to take advantage of modern front-end javascript frameworks like ReactJS. There are a lot of gems that help with integrating your view with ReactJS components, such as the most popular gem reactjs/react-rails. However, I’m not a fan of mixing concerns, making it difficult to debug, and I’m in favor of dedicating responsibility to each framework (i.e. single page application: using Rails as an API backend and ReactJS as the front-end). While the existing gems allow you to do render single page applications, they assumed a lot about how I wanted to structure my application or…

James Fawks

Fullstack Software Engineer.

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