While driving down the freeway with my wife and kids, my wife saw a billboard for DuckDuckGo that read, “Tired of being tracked online? We can help.”

“What are they gonna do?” she asked, uncertain what DuckDuckGo even is.

Photo by Oleg Magni on Unsplash

I explained that DuckDuckGo is an alternate search engine that collects less user data than more mainstream search engines like Google.

My wife suggested that if a person doesn’t want their data collected they shouldn’t use the Internet. I suggested that we would probably be very shocked if we knew the nature and extent of our data being tracked, stored, and…


One of my favourite projects to work on as a new Ruby on Rails developer is creating a personal blog. There are several quality tutorials online, and working through this project teaches a lot of interesting core concepts, including authentication, authorization, migrations, associations, and more. Once you’ve created a blogging application though, a natural next step is adding the ability to format content with rich text, such as font-size, bold, italic, indentation, and more. The purpose of this article is to walk you through taking the standard Rails textarea form input and enhance it with ActionText’s rich text format functionality.

Photo by Damian Zaleski on Unsplash

General Setup


“Our ability to make the most out of uncertainty is what creates the most potential value.”

This quote from author Ozan Varol in his book Think Like a Rocket Scientist: Simple Strategies You Can Use to Make Giant Leaps in Work and Life has been on my mind lately.

I’m coming up on the end of my first year as a professional software engineer. Naturally, I have been reflecting on my path to this point. …


Who owns the internet?

The answer is nobody. However, access to the internet is provided to consumers by Internet Service Providers (like Comcast, AT&T, Verizon, and others).

Should privately owned ISPs have the ability to not just provide but control access to the internet for their customers? Or, should anyone who connects to a network have equal access to online content with the same speed as their neighbors?

Photo by NASA on Unsplash

This, in a nutshell, is the policy debate inherent in Net neutrality, an issue of importance this election year regardless of the the candidate you support.

To offer a bit of context…


I’ve often heard others refer to the Central Processing Unit (CPU) of a computer as the computer’s “brain.” But I’ve never known what that means exactly. So, I did my homework and learned how CPUs work generally.

Photo by Akshat Sharma on Unsplash

As with our human brains, the primary responsibility of a CPU is to execute instructions. The instructions that our brain receives take the form of sensory input (sight, taste, feel, etc). While the instructions that our CPU receives is often referred to as Assembly (or Machine) Language.

Similarly to how a brain has different regions that handle different responsibilities, a CPU has two…


I have a confession. One that is quite embarrassing. I am a software engineer and Internet enthusiast who doesn’t actually know how computer networking works.

Photo by Markus Spiske on Unsplash

I do know that for my laptop, phone, or tablet to browse the Internet, I need a connection to an Internet Service Provider. I also know that for some reason, I need a device in my house called a router and possibly a second device called a modem (but that sometimes those are the same device). And I’ve heard that web content gets sent to my computer through a firewall, which sounds painful. But until…


As a junior developer, I’m always on the hunt for tools, tips, and strategies to help me better understand how to do my job. At first, much of what I was concerned with were resources to help me learn language and syntax. I wrote about 4 of my favorite resources that have helped me accomplish just that. While spending time practicing language-specific skills with these has been quite effective, I recently learned a strategy for creative problem solving that has made me a better programmer overnight.

Photo by Joshua Aragon on Unsplash

Before sharing what I learned, think about how you would solve the following problem…


“What can I do to make more of a contribution to our team?”

That was the innocent question I asked the technical lead over the product team for which I was the dedicated QA engineer.

“Funny you should ask,” was his reply. Though I didn’t know what was so funny about it (the joke was definitely on me).

Photo by Andy Holmes on Unsplash

After making a career change from public education into software development (via the bootcamp route), I’d created a comfortable professional existence on our Quality Assurance team for 2+ years.

“What would you think about changing roles and becoming a software engineer?” …


Variables are one of the most fundamental concepts learned as a software engineer or hobbyist programmer. So fundamental, they are, that it is easy to use them with an understanding of the what? and why? of programming variables but no real understanding of how? they actually work in the greater context of computer science.

Photo by Wes Hicks on Unsplash

This was a conceptual gap that I encountered in myself recently while reading Computer Science Distilled by Wladston Ferreira Filho.

I knew that variables are names you use to point to a value with a given data type (string, integer, array, hash, etc).

@my_name = "Dave"

Dave Guymon

Husband. Father. Ruby on Rails developer.

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