To most people out there, the word 'hacking' means some techno-master sitting at a terminal, furiously typing characters on a green and black screen while output lines pour out of the monitor and straight into the eyes of the hacker. To developers, more often than not, 'hacking' is used to describe the act of toying with a project. Playing around with code. Trying to come up with a solution to a problem. Hacking at it.
I'm writing this at JSConf 2015, where the word in question has been tossed around on what feels like a minutely basis. If it's not coming from the mouth of a presenter, it's being whispered in conversations all around me.
Hacking is a programmer's version of sketching. We get an idea, we put it down in the quickest way we can. We hack at an idea until we have some manifestation. Usually, its not pretty, but it makes us happy, and we stash it somewhere to look back on it later, be it Github, a personal server, or just some folder on our main drive.
John Brown's talk entitled
(math == art && art == code) compared a programmer's hacking folder to an artists sketchpad. I had never really thought about it that way before, but it makes total sense. It's a place where we keep our works in progress, and rarely show to others. It's an extremely personal thing. It's our little sketchbook.
Code is our tool, computers are our canvas. (In html, your canvas can literally be
<canvas>. Never let slow progress or nitpicky code issues cause you to lose your steam. You can always erase, iterate and improve. In some cases, you will want to take your sketch and simply use it as a reference for a second take. That's totally fine. Just never stop sketching.