{"id":169,"date":"2012-08-12T15:37:48","date_gmt":"2012-08-12T22:37:48","guid":{"rendered":"http:\/\/icanthascheezburger.com\/wordpress\/?p=169"},"modified":"2012-08-12T15:37:49","modified_gmt":"2012-08-12T22:37:49","slug":"quit-calling-it-hacking","status":"publish","type":"post","link":"https:\/\/icanthascheezburger.com\/wordpress\/2012\/08\/quit-calling-it-hacking\/","title":{"rendered":"Quit calling it hacking"},"content":{"rendered":"<p>The term &#8220;hacking&#8221; is for sure one of the more misunderstood terms in internet parlance. It seems as of late a lot of people think of it as someone breaking into a system or someone&#8217;s account in a system, regardless of whether it was a password guess or if it actually involved breaking the system&#8217;s own security.<\/p>\n<p>There&#8217;s a far more obnoxious misuse of the term that&#8217;s been making its way into startup and internet culture. Have a look at this made up but inspired by real life exchange:<\/p>\n<blockquote>\n<p>BOSS: Hey, what&#8217;s going on, bro?<\/p>\n<p>BROGRAMMER: Not much, man, just hacking away.<\/p>\n<p>BOSS: Oh, yeah? What are you hacking right now?<\/p>\n<p>BROGRAMMER: I just added Twitter OAuth support to our web app.<\/p>\n<\/blockquote>\n<p>No, brah, the truth is, you&#8217;re not hacking shit. You are using public APIs in <em>exactly the way they were intended to be used<\/em>\u00c2\u00a0to add functionality to your application. That isn&#8217;t hacking, that&#8217;s developing software. This, however, IS hacking:<\/p>\n<blockquote>\n<p>BOSS: Yo, man, how&#8217;s that little plugin for Mail.app coming along?<\/p>\n<p>ACTUAL HACKER: Well, it&#8217;s coming along a bit. Mail.app actually doesn&#8217;t expose a plugin architecture or API so I had to get a dump of its header files and take guesses at class and method names to reverse engineer its implementation. Then, once i found the method whose behavior I want to modify, I use an officially unsupported construct of the language to swap its implementation with my own so that I can inject in the functionality we need.<\/p>\n<p>BOSS: Sounds like some intense shit, but why&#8217;s it taking so long? Brogrammer just hacked OAuth onto our web application in under a day.<\/p>\n<p>ACTUAL HACKER: &#8230;<\/p>\n<\/blockquote>\n<p>So please, do us all a favor and STFU about your hacking. Just because your code is shit because you&#8217;re glazing over details and writing it all in a day doesn&#8217;t mean you hacked anything. Just because your app is a mashup of two different apps that have public APIs doesn&#8217;t mean your app is a hack.\u00c2\u00a0<\/p>\n<p>When you call it hacking, you make people who know business but don&#8217;t know much about technology start to think that Twitter could be built in a weekend. You make it sound like a reliable, solid application can be thrown together by some kid who skimmed through a Ruby on Rails tutorial online. Proliferating that mentality benefits no one. You&#8217;re cheapening what it means to develop great software.<\/p>\n<p>When you call it hacking, things that actually involve hacks fail to get recognized as the technical feat they are.\u00c2\u00a0<\/p>\n<p>Developing software requires discipline. It requires an incredible amount of patience and skill. It can be a lot of fun, and it certainly has fewer barriers to entry than other things (like prototyping physical goods) but it&#8217;s not something you can just jump into and come out of it briefly later with a meaningful product.<\/p>\n<p>Side note: if you&#8217;re a company with an API, don&#8217;t call them hackathons. Believe me when I tell you that although useful things could come out of hacks of your API, you wouldn&#8217;t appreciate them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The term &#8220;hacking&#8221; is for sure one of the more misunderstood terms in internet parlance. It seems as of late a lot of people think of it as someone breaking into a system or someone&#8217;s account in a system, regardless of whether it was a password guess or if it actually involved breaking the system&#8217;s [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"class_list":["post-169","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/comments?post=169"}],"version-history":[{"count":0,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/169\/revisions"}],"wp:attachment":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/media?parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/categories?post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/tags?post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}