Ethan Brown

Software Engineer

Ethan Brown

Ethan joined Pop Art in 2011 as a senior software engineer. In addition to taking over maintenance of many properties, he hit the ground running by architecting the 2011 Freightliner Trucks website re-design. Since that time, he has developed the architecture of many more projects, and is looking forward to the publication of his first book, Web Development with Node and Express (O’Reilly Media) in July 2014.

Ethan grew up in rural Virginia, where he spent many bucolic days sailing on the Chesapeake Bay. As the son of an electrical engineer, technology is in his blood. He received undergraduate degrees in Computer Science and Mathematics from Virginia Commonwealth University, which is also where he learned to fence. In 2011 and 2012, Ethan transferred his passion for fencing by coaching the students of the Portland State University Fencing Club (he is currently focusing on his own practice, though he plans on returning to coaching at some point). His work history spans defense contractors to some of the biggest names in the software business: Informix, IBM, and Oracle. Still, he prefers the energy and community of small companies, and is thrilled to be a member of the Pop Art team.

Everything should be made as simple as possible, but no simpler.- Albert Einstein


BS, Computer Science, Virginia Commonwealth University
BS, Mathematics, Virginia Commonwealth University


  • Fencing
  • Playing guitar (badly)
  • Judo
  • Art (painting & photography, primarily)
  • Reading

Favorite Albums

  • Nebraska – Bruce Springsteen
  • Closing Time – Tom Waits
  • Car Wheels on a Gravel Road – Lucinda Williams
  • Soul Journey – Gillian Welch
  • Life’ll Kill Ya – Warren Zevon

Favorite Movies

  • Fight Club
  • The Jerk
  • Dr. Strangelove
  • The Music Man

Favorite Books

  • A Day in the Life of Ivan Denisovich – Aleksandr Solzhenitsyn
  • The Secret History – Donna Tartt
  • Bluebeard – Kurt Vonnegut
  • Double Star – Robert Heinlen
  • My Uncle Oswald – Roald Dahl


Posts by Ethan Brown

Book Marketing Done Right

My friend Cait Spivey is promoting her latest novella, I See The Web, in creative, innovative ways. Read on for an interview with Cait about her thoughts on marketing both her book and her own personal brand, and more.

Read More…

The Art of Obsolescence

Picking the right technology can be difficult. Technologies that are too new are expensive and unstable; technologies that are too old are unsupported and expensive for different reasons. Read on for an introduction to the considerations involved in selecting a technology.

Read More…

I Am My Father’s Son

My mom, a liberal arts major, and my dad, an engineer both tried to teach me how to drive a stick shift. Who do you think was more successful? Find out how that experience was a foreshadowing of my career path.

Read More…

What Oregon Gets and Brendan Eich Doesn’t

A district judge struck down Oregon's same-sex marriage ban: it's about time. Read about Pop Art's commitment to marriage equality, and why Brendan Eich should get the memo.

Read More…

Standing on the Shoulders of Giants, Standing on the Shoulders of Ants

After touring Fortune Data Centers' new data center in Hillsboro, Oregon, I have a renewed appreciation for the infrastructure of our world. Join me in a celebration of the giants and ants that make our modern world possible.

Read More…

Web Development With Node and Express

My first book, Web Development with Node and Express, will be published by O'Reilly Media in June. Read on for my thoughts on writing a book, the future of Node and Express, and how O'Reilly picks the animals on their book covers.

Read More…

Why is Enterprise Not Afraid of Node?

Large enterprise companies are often very technologically conservative, and prefer to avoid cutting-edge technology. So why has Node been able to gain traction so fast in the enterprise?

Read More…

Happy New Year!

As another year comes to a close, it's time to look at the best of 2013 had to offer. From Internet technology to epic splits, find out what I think was most impressive in 2013.

Read More…

Sometimes it’s the Little Things

The next generation of USB connectors will be reversible...which means less fumbling, but also fewer funny memes.

Read More…

Why Mobile is Important: a Personal Perspective

Mobile Internet access is transforming the way we communicate. It has become the predominant way in which I communicate, and has changed the way I think about my work.

Read More…

Please Stop Using Email (So Much)

Email changed the world, which is possibly why we cling on to it. Which is too bad, because it is terrible for most of the things its used for, and there are better solutions. This blog post discusses the pitfalls of email, and what you should be using instead.

Read More…

Here’s a Nickel, Kid

JavaScript embraces many programming paradigms, including functional programming. In this blog post, I share some of my favorite functional extensions to JavaScript.

Read More…

Only YOU Can Prevent Security Breaches

There are consequences to providing a service that sends emails from your company's servers: learn about how to protect your clients from attack, and minimize their risk.

Read More…


Learn how to prevent casual cheaters from easily entering your contest or raffle more than once by using email address "tags".

Read More…

No More Disorder in the House

Learn how to improve LINQs sorting capability by writing a single method that replaces OrderBy, OrderByDescneding, ThenBy, and ThenByDescending, and see how your code becomes easier to read and more maintainable.

Read More…

I’ve got 99 Problems, and Unicode Ain’t One

A fast, compact way to convert (transliterate) contiguous ranges of Unicode characters. For example, converting fullwidth numerals (\uFF10-\uFF19) to regular numerals (\u0030-\u0031).

Read More…

Quick and Dirty Shuffle

Have you ever needed to shuffle (randomize) a collection of items? I'll show you a quick and dirty way to do it, and how to wrap it in a handy extension method, so that you can shuffle any enumerable collection with ease.

Read More…

A Problem of Vocabulary

In our industry, we don't work in a vacuum. We work closely with professionals in various but related disciplines, and communication is usually more important than genius. What is a great idea worth, if it can't be communicated? Don't underestimate the power of a consistent shared vocabulary, of the cost of a inconsistent, confused one.

Read More…

Formatting Dates to Make Excel Happy

You know what I love? CSV files. Now stop rolling your eyes and trying to come up with Luddite jokes. I like XML and JSON too, but you know what you can do with a CSV that you can’t do with XML and JSON? Append to a file! You can’t append to a XML or […]

Read More…

Deferred Loading Gotchas

Deferred (or lazy) loading is a great feature of IEnumerable<T>, especially when dealing with databases, or potentially slow data sources (like a third-party API).  Most developers have enthusiastically embraced the rule of thumb “use IEnumerable<T> unless you specifically need more functionality.”  Usually you don’t. However, we’ve also learned that deferred loading can get you into […]

Read More…

Say Guid Night, Gracie

I’m afraid I’m going to be letting down some old friends with this post, and I will certainly be opening myself up to mockery.  What can I say?  I have no fear of admitting I was wrong about something.  And I was wrong about GUIDs. And with this post, I’ll make my apostasy public. For […]

Read More…

Doubling Down

A question at Stack Overflow caught my eye today: how to “max out” a number. That is, if you’re given the number 1234, return 9999. If you’re given 12345, return 99999, and so on. Most of the answers were fairly practical: converting to a string representation, counting the digits, then constructing a string with that […]

Read More…

How to Avoid Obvious ‘Git’ Puns in Headlines

The headline is self-referential. Like many people over 25 in the tech industry, I have spent a lot of time using Subversion.  I liked Subversion: it got the job done, it was a lot better than CVS, and it was pleasantly ubiquitous. Over the last couple of years, though, it’s been harder and harder to […]

Read More…

Git #1: Go Fetch

This will be the first in an series of blog posts on Git.  I doubt that anything I say here can’t be found elsewhere on the internet, but maybe my explanation for things will be the one that clicks for someone and if so, this won’t be a wasted duplication of effort. These are not […]

Read More…

Things Only Mathematicians Can Get Excited About

One of my pet projects involves creating a “direct elimination table” — the tables that are used in sporting competitions to match up teams or competitors until only one is left. The logic behind a direct elimination table is based on a very boring “ideal” competition: one where there are no surprises.  The first seed […]

Read More…