Whether you need to scrape email addresses from a set of HTML documents or scour massive logfiles for needle-in-a-haystack errors, regular expressions provide a powerful tool for searching text.

Because they are primarily composed of sequences of tokens with somewhat non-obvious meanings, regular expressions (or regexes) can be daunting to decipher. The moderate learning curve to understand how to craft an accurate regex is highly worthwhile and has the potential to save hours of manually text searching.

This post aims to provide a clear walkthrough of the most commonly used components of regex syntax. While there are numerous cheatsheet style…


When approaching a programming challenge, there will always be multiple ways to implement a solution. Sometimes the differences will be trivial stylistic choices. Other times, they can be the reason one solution works at scale and another other cracks under pressure. To determine the most effective way to solve a problem, programmers analyze the complexity of the algorithms used.

Big O notation provides a shared language for describing the complexity of algorithms. It acts a shorthand summary that helps communicate in broad strokes the general degree of complexity of a process. …


One of the first giveaways that someone has been working as a developer for a good amount of time is their level of comfort working from the command line. Rarely will you see a seasoned software engineer opening a graphical file explorer to move between project files.

Instead, they will turn to the powerful Swiss army knife that is the computer’s command line. Why bother learning this tool if you can stick the familiar and user-friendly graphic interfaces offered by modern operating systems?

  1. Precision — the command line allows you to fine-tune your actions in ways that simply aren’t possible…

Marcel found himself surrounded by a familiar beige, save for the small dried bloodstain on his corduroy slacks. This was his first visit to the consulate since he moved abroad, but the officially sanctioned decor of the small office surrounded him with eery familiarity.

The room was windowless and silent, aside from the persistent ticking of a plastic wall clock. Marcel had yet to feel the adrenaline subside from his system, despite having been waiting for what had felt like nearly half an hour. A young and disinterested aide had assured him that Ciril would be joining him shortly. …

Edward Saavedra

Full stack software developer by day. Writer, illustrator, and general creative dabbler by night.

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