Programming Resources for Beginners
There is a glut of programming information online. You can’t read it all, and you shouldn’t, because much of it is outdated, wrong, or irrelevant to you.
So, what is the signal in this noise? I recommend aggregators, blogs, pair programming. And I offer a gentle recommendation against tutorials.
My Annotated Vim Configuration File
I love Vim. Folks who’ve programmed with me, or attended a Vim Meetup when I was an organizer, can attest. When I was learning to code, getting fast at Vim changed everything for me. After almost a decade using this editor, here are my personal configurations.
Essays on Programming I Think About a Lot
Programming is a new and abstract field, and so we place great emphasis on ideas. When I find one that sticks with me, I end up sharing it again and again. These are some of my favorites.
My Development Roadmap
I’ve been working on a development roadmap for my projects, and wanted to share my process. Consider this my recipe to turn an idea into software.
You Have New Mail
Here’s a familiar scenario: you open a new terminal, and before the prompt appears, you see the following.
You have new mail.
What’s going on here?
Duplicate your Development Branch for QA
I’m working on a team where we keep a clone of the development
branch (the main
place where work is done), used to deploy to a QA environment. The benefits of
this branching technique are:
clone
is isolated from work- It’s easy to tell what was deployed to QA–
clone
is the source of truth
How I Clean Up JavaScript Dependencies
Unused dependencies are bad: they increase the size of your project, slow down your processes, require upgrades, and send incorrect messages to fellow developers about what’s important. Make your project better by periodically auditing your dependencies, and removing those that are unused.
A Short Introduction to Test-Driven-Development (TDD)
I’ve practiced TDD (Test-Driven-Development) a lot and feel knowledgable about when it’s useful and when it isn’t. In this post, I’d like to summarize what I’ve learned.