Adam Michael Wood: experto en tecnología y programación

Adam Michael Wood

About Adam

Adam is a technical writer who specializes in developer documentation and tutorials. In addition to his writing here, he has authored engineering guides at Facebook and worked at other tech companies in Silicon Valley and San Francisco.

Before becoming a full time writer, he managed software development — designing and deploying cloud-based applications that connected legacy industry systems to the modern web. Prior to that, he was a web designer and WordPress developer.

Adam can code in Python, JavaScript, PHP, Ruby, and Bash — but he only really likes one of those languages. He also knows HTML inside and out, but would rather write in Markdown.

Getting to Know Adam

WIHT: How did you get into technology and web development?
AMW: Reluctantly. My dad is an engineer. He tried to get me to learn a little programming as a kid, but it didn't take. My interests were music and theater, and that's what I went to college for. A few years after school, unemployed and a little desperate, I got into sales. Sales led to marketing. Marketing led to an interest in social media (very new at the time) and web design. I tried hard to do WYSIWYG design and no-coding-needed design, but I kept hitting their limits. So I had to start learning — first HTML, then CSS, a little JavaScript, just enough PHP. I tried Ruby (because Rails is cool), but Python turned me into a programmer.

WIHT: Windows, Mac, or GNU/Linux?
AMW: If I lived up to my own ideals, I would use GNU/Linux. For a lot of practical purposes, I use a Mac and run Ubuntu on a Virtual Machine when I need it. I do most of my work in tools where platform doesn't matter — a code editor, a web browser, a Bash terminal. I don't use Windows if I can help it, but mostly because most of my preferred tools assume a Unix-like environment.

WIHT: Do you own any websites?
AMW: Yes, but I neglect them too much. I have a personal blog, which I also use to keep my online portfolio and resume. I have a blog focused on tech writing, which I should really add to. I have one on church music and liturgy, another one on church music and liturgy, and finally one on theology. My personal blog was my attempt to consolidate my different online presences, but I continue to be ambivalent about whether or not all my interests really belong on the same website.

WIHT: What hosting companies have you used?
AMW: When I got started in web development, Bluehost had the most popular WordPress-focused shared hosting plan. I've had Bluehost accounts forever, and have never had a bad experience with them. (Also, I think they have great customer service.) A few years ago I realized that keeping domain names with my hosting company wasn't the best idea, so now my (too many) domain names are mostly registered with NameSilo. I've experimented with several other consumer-grade hosting companies, or worked with them for client projects, so I can say that I also like Digital Ocean, HostGator, and SiteGround. If I was still doing heavy-duty WordPress development, I would be using Pantheon or WPEngine. More recently, I've switched to building static sites with Jekyll or Nikola, and hosting them for free with GitHub.

WIHT: How'd you get into technical writing?
AMW: I had a pretty normal 9-5(ish) job managing software development in Texas. But then we moved to California so my wife could go to seminary. She takes classes during the day, and we have two kids — so I needed something that was more flexible. I started writing for WhoIsHostingThis and discovered that writing about technology was a thing that people did for a living. (Amazing!) For almost two years I wrote exclusively for WhoIsHostingThis, and have since branched out to write for other websites as well as tech companies here in the Bay Area.

WIHT: Are you working on any cool projects?
AMW: I am building a Python framework for music theory, notation, and analysis. The basic idea is to build up primitive musical concepts in a Pythonic way so that you can treat them intelligently as numbers, text, or parsable code. That would (in theory) let you do things like musical analysis, machine learning, and natural language processing. (It's... early still.)

WIHT: Favorite code editor?
AMW: Atom.

WIHT: Star Trek or Star Wars?
AMW: Babylon 5. But also Star Trek.


Favorite Books

  • Gödel, Escher, Bach: An Eternal Golden Braid, by Douglass Hofstadter, is the book that has probably had the biggest impact on my thinking. I discovered when I was in elementary school and I re-read it about every five years. If you want to understand deeply how thought and consciousness works, read this book.

  • Zen and the Art of Motorcycle Maintenance, by Robert Pirsig, is another one I come back to every few years.

  • SQL Antipatterns: Avoiding the Pitfalls of Database Programming , by Bill Karwin, is one of the best, most practical pieces of technical writing I've ever read. If you work with databases, you have to read this book — you just have to.

  • Fluent Python: Clear, Concise, and Effective Programming , by Luciano Ramalho, is my most recent favorite. Bridging the gap between "here's what a for loop looks like" and deeply understanding a programming language is a difficult journey that usually takes a lot of trial-and-error. This book helped me really grok Python, getting beyond the syntax, to how Pythonistas think about solving problems.

Selected WhoIsHostingThis Writing

Adam writes a lot of articles about a lot of things, but he specializes in long-form deep-dives into web technology, and on older languages that don't get enough attention. Since he's a coder, he also writes a lot of practical tutorials and developer-focused material.

  • Ultimate Guide to Domain Names answers the question you didn't know you had — "How much can you really say about domain names?" It turns out, there is a lot to say. This guide covers how the domain system works, what to think about when choosing a domain name, managing domain names, and dealing with the domain "aftermarket."

  • Ultimate .htaccess Guide is all about using configuration files in Apache web servers. If you don't want to ever have to think about configuration files in your Apache web server, maybe you should think about managed hosting.

  • HTML for Beginners — Ultimate Guide covers the essentials of the language, with a focus on how to think about using HTML. If you kinda know what a <strong> tag does, but don't quite know why you should care, this is a really good guide for you.

  • Common Lisp: Intro, Resources, and FAQ covers everything you need to learn Lisp. Lisp is Richard Stallman's preferred language — so obviously you need to learn it.

  • Getting Started with Django is a coding tutorial that will take you from zero to "Hello World" in Django, the most popular web development framework for Python.

  • COBOL Introduction and Resources is an introduction to one of the oldest programming languages still in use. It covers the history and the culture, and shows you where to go to learn it. It also answers the all-important question, "Why would I even want to learn COBOL in the first place?"

  • INTERCAL Introduction and Resources provides a basic, if cheeky, introduction to this parody language written in 1972. You aren't meant to use it. You are not worthy.