{"id":610,"date":"2006-07-26T13:05:33","date_gmt":"2006-07-26T18:05:33","guid":{"rendered":"http:\/\/www.ashleyit.com\/blogs\/brentashley\/?p=610"},"modified":"2006-07-26T13:06:32","modified_gmt":"2006-07-26T18:06:32","slug":"that-voodoo-that-i-do","status":"publish","type":"post","link":"https:\/\/ashleyit.com\/blogs\/brentashley\/2006\/07\/26\/that-voodoo-that-i-do\/","title":{"rendered":"That Voodoo that I do"},"content":{"rendered":"<p>I was at <a href=\"http:\/\/barcamp.org\/DemoCampToronto8\">DemoCamp 8<\/a> last night and as usual stayed later for the social networking.  I got into a discussion with <a href=\"http:\/\/unspace.ca\/discover\/opensaysme\">Pete Forde<\/a> and others about who does what.<\/p>\n<p>I have real trouble explaining to people what it is that I do. I often try to explain the nuance between being a scripter (which I am in spades) and a programmer (which I am not exactly) and the distinction falls short of conveying the <a href=\"http:\/\/dictionary.reference.com\/search?q=gestalt\">gestalt<\/a> that is the technical side of me.<\/p>\n<p>I spend a lot of my time making a whole mess of things work together that were never meant to be integrated. It often takes a wide and deep range of knowledge to figure out the bits. I have variously called myself a technical spot-welder, a duct-taper, a spelunker, and a special-ops data diver, trained to get in under the wire and get out with the data.<\/p>\n<p>Here&#8217;s an example &#8211; at one of my clients, something we do is give realtime tests against devices in the field. A diagnostic page could tell you, for instance, the contents of the ARP resolution table on a remote router. There is a bunch of magic that goes on behind the scenes to do this (simplified here):<\/p>\n<ul>\n<li>\n     the user presses the &#8220;get ARP table&#8221; button<\/p>\n<ul>\n<li>the external portal web server (ASP.NET\/Win2k3\/MSSQL) makes a SOAP call to get the information\n<ul>\n<li>the soap call is received at an internal webservices server (Apache\/PHP\/BSD)<\/li>\n<li>connection information is resolved against a PostgreSQL database<\/li>\n<li>a shell script is invoked on the webservices server\n<ul>\n<li>the shell script uses ssh to connect over a secure tunnel to an API server at the customer premises that can route to the destination<\/li>\n<li>a script is run on the API server (bourne shell, p<i><\/i>erl, telnet, curl, grep, sed, awk, lynx etc)\n<ul>\n<li>the script connects to the router, logs in, displays and parses information, logs out<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>info gets routed back to webservices server via the ssh connection<\/li>\n<li>php assembles SOAP response<\/li>\n<\/ul>\n<\/li>\n<li>ASP.NET receves SOAP, builds result page<\/li>\n<\/ul>\n<\/li>\n<li>Result received by user<\/li>\n<\/ul>\n<p>I make all that stuff happen.<\/p>\n<p>Now how do I distill that into an elevator pitch?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was at DemoCamp 8 last night and as usual stayed later for the social networking. I got into a discussion with Pete Forde and others about who does what. I have real trouble explaining to people what it is that I do. I often try to explain the nuance between being a scripter (which [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","footnotes":""},"categories":[1,5,12,4],"tags":[],"class_list":["post-610","post","type-post","status-publish","format-standard","hentry","category-blather","category-democamp","category-development","category-torcamp"],"_links":{"self":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/comments?post=610"}],"version-history":[{"count":0,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/610\/revisions"}],"wp:attachment":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/media?parent=610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/categories?post=610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/tags?post=610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}