In the words of my software engineering instructor, “Anything that is on the internet is not secure.” Regardless of your multi-step authentication process as a precaution, there are loopholes for everything and anything can be hacked. Despite our pessimistic outlook on hacking, as web developers we still have to try our best to protect our applications. Just because nothing is secure, does not mean we should give up on security. This brings us to hashing.


When working on projects that combine external style sheets and UI frameworks such as Material-UI, calculating a styling’s priority can be challenging. What happens if I add a class to a button created using Material-UI? If I add a background color to that class, would the new background color supersede the background color given by the framework? Luckily, there's a way to calculate the specificity of CSS property values.

MDN Web Docs describes specificity as “the means by which browsers decide which CSS property values are the most relevant to an element and, therefore, will be applied.” Essentially specificity determines…


Between creating migrations, classes, and methods with Ruby, learning my first backend language has been challenging enough. When tackling the intimidating task of learning a new programming language, why waste valuable time coming up with usable data examples? Luckily, there’s a simple way of generating data in order to save time and test your model’s relationships. Using the ruby gem Faker we are able to create, as the official Github page explains, “real-looking test data” for development. From cannabis strains to 100% authentic Chuck Norris “facts,” faker has fake data for all your seeding needs.

In order to use faker…


Though optional chaining has been around for a while in many programming languages, it just recently became available in Javascript with the release of ES2020. MDN Web Docs describes optional chaining as “a way to simplify accessing values through connected objects when it’s possible that a reference or function may be undefined or null.” Optional chaining is a super valuable tool that allows you to access deeply nested object properties without throwing an error if the property doesn’t exist. Either the property exists and can be accessed or it doesn’t exist and undefined will be returned instead. …


Github Logo
Github Logo

When I first started using Github to fork and clone my lab assignments at Flatiron School, I thought that I was slowly mastering “Git Flow”. It turns out that just because Github has the word “git” in it, does not mean it uses “Git Flow.” What I was beginning to learn was actually “Github Flow.” The main differences are that “Git Flow” is used for software utilizing the concept of “release,” while “Github Flow” uses continuous release. With “Github Flow” there aren’t really “releases” because we deploy to production all the time. Github.com describes “Github Flow” as “a lightweight, branch-based…

Nick Kubo

Software Engineering Student at Flatiron School

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