The answer may lie between modern browser lexing and parsing and the rigidity of XHTML of the past.

A good HTML parser puts lipstick on a pig.

In the advent of graphical web browsers in the early 1990s, Netscape Navigator made an important decision- one that after some push for more rigidity like XHTML has modeled the internet as we know it today in HTML5:

They decided that the HTML parser their browser implemented would not strictly parse markup.

Strictly parse? So what does that mean? HTML parsers have an important job when you visit a web page. Not only do these browsers that are made up of millions of lines of C++ code utilize HTTP to request resources on your behalf, but…

Bash is the defacto shell for Linux and Unix-like os. Getting familiar with the command line is super important as you will regularly find yourself traversing files from the command line. While I am no expert, I have been dedicating myself to learning the command line better so I can be more efficient in my job as a dev and avoid needless keystrokes and clicks to access a file.

Here are 10 commands that I find myself using often that can help you start your bash journey, along with some cool options to run with them.

#1 — ls

ls lists all of…

Abstraction, Encapsulation, Inheritance, Polymorphism are the “four pillars” of Object-Oriented Programming. We will go over a brief explanation of each in Python, and how they relate to the picture of my (wishful) house above.


My house has a roof to protect the inside from the rain. It has a door to prevent anyone from just wandering in. Sure, it has windows, too- but I have shutters on those and control who I want to be able to peer in. In these ways, my house is encapsulated, or protected, from the outside. When I encapsulate something in my code, I am…

You can never be sure who your user really is!

As a web developer, you are the first line of defense against security vulnerabilities within your application. Sure, there are professionals who specialize in security- and the tools they have mastered are very powerful. These tools include both Static and Dynamic Application Security Testing (software that can analyze and detect security threats automatically), Software Composition Analysis Software (analyze the many vulnerabilities that are imported as modules from open source code), and Penetration Testing (manual tests to validate controls and identify vulnerabilities and the risk associated with them). All of these tools are mere safeguards and many of them reactionary- the…

Not quite the hand I’d say I ended up with…

I am a junior developer transitioning out of the Marine Corps currently going through a full-stack bootcamp out of Chicago — and by that I mean I am sitting in front of my computer in California for 12 hours a day inside of an IDE or a zoom call, an experience normalized by the pandemic. I was fortunate enough to have a senior engineer that works at a company in Boston spend some time pairing with me building a game of blackjack as sort of a mock interview loosely based on his own company’s process, and offering me feedback as…

Static, instance, and looping methods of arrays!

In the last article I had written on arrays, we had gone over the very basics of what an array is and some useful methods associated with them. We were able to create an array, add and remove items from it, and get its length. In this post, we will dive a bit deeper- looking at some powerful array methods to really demonstrate the value of an array as a data structure, as well as break up the different methods available to us into three distinct categories.

The three methods associated with arrays

There are generally three different methods- static methods, instance methods, and looping methods


As I continue on the amazing (but arduous) journey of learning JS, I realize just how much I am dealing with these nifty things called Arrays. Arrays are a type of object, but unlike an Object literal they guarantee order, making them much more like a list (think grocery list). Arrays in JS are also automatically resizable (change the length) and mutable (change the contents). Learning the ins and outs of arrays will greatly improve your ability to grasp fundamental concepts and work with data in a smart and efficient manner.

This article will help you think of an array…


A dog loving Marine vet from New Haven, CT that thoroughly enjoys learning programming fundamentals and sharing them to solidify his own learning.

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