You're gearing up to fight monsters, so you're filling your team with monster-fighters - warriors, rangers, even a fire mage or two. But that build is a sure-fire path to a dungeon-clearing slog. You need someone to enchant your weapons for extra damage, to heal your tanks so they can get back to smashing, to resurrect the team when everything goes wrong. You need a support character - you need me.

My job is to fix problems before they become an issue. That means social issues as well as technical ones - not all the bugs your team creates are in code. When QA and development start butting heads, I've noticed, and I'm in your office proposing workflow changes. When image processing breaks in production, I've noticed, and I'm working with a developer right now to make it right. When everything seems to be running more smoothly than it did a few months ago, you'll know it's because someone took the time to care about more than that feature request - and that someone is me.

Block Image

Your soul is mine.

Why hello there. I'm James Pearson, Purveyor of Fine Linens and Unix Sorcery at iFixit, which is a fancy way of saying I'm a Web Operations Engineer. I'm particularly interested in failure analysis, security, and performance, and, most importantly, the human aspect of each of these.

Good thoughts are useless if not communicated with the rest of the world. On my primary website,, I write about the effects of people on software, and software on people. Musings on religion and philosophy go to The Fucking Bible, while purely technical live on iFixit's developer blog, It Broke and iFixit. Lastly, I communicate on a wide variety of forums and mailing lists, most notably Reddit, where I spend much of my time trying to help steer future developers to a happy career.

Personality ¶ 

Block Image

I self-identify as a Baptist, Libertarian, Distributist, Utilitarian, open-sourcer programmer and sysadmin.

On the DISC view of the universe, I have a natural ranking of 100 S and C, 23 D and 7 I, which puts me as a pure Coordinator. While not a natural leader in any way, I'm rebellious enough to tell the project lead when I think they've made a poor choice, but passive enough to follow their final decisions.

While many people may find me a bit odd (I have a tendency to keep to myself, and have been known to go through a course without ever speaking a word), it is rare to find someone who dislikes me.

You can stalk my book-reading on Goodreads and my music-listening on

Computers ¶ 

Programming ¶ 

Block Image

I went through the Software Engineering program at Cal Poly, finishing classes in June of 2012. I'm not technically graduated yet, pending my senior project write-up.

PHP was my first true programming language that I spent any time with, and it was my primary until the summer after my freshman year of university, when I started working for the College of Engineering on Django-powered websites. Now my primary languages are Python, Ruby, and Bash - I find most software problems I face can be easily solved with one of those three.

I am also acquainted in various degrees with SQL, HTML, CSS, Javascript, Java, C, Lua, PLT Scheme, and Perl. I've dabbled in Scala, Haskell, D, and probably some others I've forgotten.

Other than the work that I did for Cal Poly, and most class assignments, all of my code is available on my GitHub account.

System Administration ¶ 

My introduction to the fantastic RollerCoaster Tycoon video game in early Junior High prompted more and more time spent on the computer; since my house was using the notoriously crashy Windows ME, I soon began to develop computer troubleshooting skills.

Although I had tried Linux in high school, it wasn't until the programming courses of university that I realized how much more enjoyable an operating system was when it encouraged modification and customization. I had many more problems with Ubuntu than I did previously with Windows XP, but I also could solve them myself - I remember realizing that I had learned more about Linux in six months of use than I had about Windows in years.

After some brief distro-hopping, I found myself settled on Arch Linux. Life's circumstances have brought me away from Linux on my desktop, but Arch is still my favorite - it's what I run on my fileserver, my experimental machines, and most anything I can get away with.

The fundamentals of Unix I learned from Arch have given me a new view of OS X: it's no longer an operating system for dummies, but a very capable Unix system with the plusses of good hibernation support and an excellent trackpad. The Macbook Pro I received from work is my primary computing platform, but about all I run on it are Chrome and iTerm windows.

For a variety of reasons I won't go into here, I prefer either Debian or CentOS for production servers. I have professional experience with both.

I poke around with Kali Linux a bit when I'm doing an in-depth security audit.

There are many things I find appealing about the BSD philosophy, but I just haven't yet found a good project for a FreeBSD machine.

Non-Computer Interests ¶ 

Hats ¶ 

I like them. I unfortunately haven't had the opportunity to go to a hat shop and get a nice one, but my cheapies have served me well.

The Greek fisherman's hat was the first I wore regularly, starting my senior year of high school. The first one I had was pretty beat up, though, so this is a replacement.

Block Image

This trilby I bought off Amazon as part of my Inspector Clouseau Halloween costume. I just liked it so much that I decided to keep wearing it. :) Unfortunately, I lost this one along the way - if you find it, please let me know!

Block Image

While my sister was in Europe, she bought this hat for me at a market.

Block Image

I mostly wear it during the winter, because it has awesome fold-out ear flaps.

Block Image

One of my former housemates (and good friends) gave me a new trilby:

Block Image

Facial Hair ¶ 

In my not-so-humble opinion, I've got the best in the office. While the exact form varies, it usually consists primarily of a mustache and goatee - that is, a Van Dyke.

Block Image

For several years, any facial hair I had was merely a result of being too lazy to shave. One day, though, I realized the truth:

Block Image

Urban Dictionary says it best:

Unix beard: Facial hair that all Unix experts are mysteriously compelled to grow. The length, bushiness, and unkemptness of the Unix beard are all directly proportional to the owner's expertise. Having a Unix beard is a great way to ensure that you never get laid.

Um, we'll just ignore that last sentence, shall we?

Japanese Media ¶ 

A rather large collection of anime has made its way onto my fileserver. A smaller, but still respectable, group of manga takes up a bit of room one of our bookshelves.

I rarely finish shows, but between the small pieces of things I've watched and the conversations I've had with others in the subculture, I'm likely to know at least something about any anime you've seen. This also allows me to be a decent recommender, although I normally just point people towards Anime-Planet, which is a fantastic site for that sort of thing.

Ponies! ¶ 

Yes, my friend, I am an unashamed brony - a male follower of the best cartoon to air in the U.S. in quite some time.

Block Image

I'm proud to say that I'm directly responsible for the conversion of three housemates and two coworkers.

Block Image

Sure, most people don't understand - but haters gonna hate.