<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Binary Badass</title>
	<atom:link href="http://binarybadass.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://binarybadass.com</link>
	<description>Binary and Badass Do Mix</description>
	<pubDate>Wed, 14 Jan 2009 04:42:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>New Uses For Old Hardware</title>
		<link>http://binarybadass.com/2009/01/13/new-uses-for-old-hardware/</link>
		<comments>http://binarybadass.com/2009/01/13/new-uses-for-old-hardware/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 04:38:38 +0000</pubDate>
		<dc:creator>eanx</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://binarybadass.com/?p=69</guid>
		<description><![CDATA[The other day, I was thinking to myself about how nice it would be if I could install a couple of packages onto my WRT54G router running Tomato so that I could have my IM client be perpetually active. Then I thought that it is just a router and that I shouldn&#8217;t be concerning myself [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, I was thinking to myself about how nice it would be if I could install a couple of packages onto my WRT54G router running <a href="http://www.polarcloud.com/tomato">Tomato</a> so that I could have my IM client be perpetually active. Then I thought that it is just a router and that I shouldn&#8217;t be concerning myself with running stuff like that on it. I also thought to myself how interesting low-power computing really is. All I really wanted the box to be able to do was to keep a persistent screen session running and to have a few small applications running on it. I have several older computers lieing around that I wouldn&#8217;t exactly call &#8220;low power&#8221; and being that I am a little bit sensitive as to what my electrical bill is and try to trim it wherever possible, I was contemplating the purchase of an <a href="http://en.wikipedia.org/wiki/ASUS_Eee_Box">Asus EEE PC desktop</a> to use for that. Then I remembered that I had something similar albeit slightly antiquated; a <a href="http://en.wikipedia.org/wiki/Powerpc">PowerPC-based</a> <a href="http://en.wikipedia.org/wiki/Mac_mini">Mac Mini</a>.<br />
<span id="more-69"></span><br />
Having previously purchased a <a href="http://www.p3international.com/products/special/P4400/P4400-CE.html">Kill-A-Watt</a>, I was in a position where I could easily ascertain the power consumption of any device which uses a 110 VAC connection. I plugged my Mac Mini into it and determined that at idle, it consumes approximately 14 watts. Impressive, considering that the EEE PC desktop consumes  <a href="http://en.wikipedia.org/wiki/ASUS_Eee_Box">approximately 20 watts</a>.</p>
<p>As I&#8217;m sure you all know, Apple hasn&#8217;t been shy with their OS releases lately. This Mac Mini shipped with OS X 10.3 installed on it. While OS X 10.4 would have supported the PowerPC platform, I did not want to migrate it to the newer version of OS X. Enter Ubuntu. Some mainstream versions of Linux support alternative platforms (non-x86 platforms) and Ubuntu was one of them. Considering that I am very familiar with Ubuntu due to using it in my personal and professional lives, it was a no-brainer to install it onto the Mac Mini. Doing so was just as easy if not easier than performing an OS X install on it except that I didn&#8217;t have to run to the Apple Store first.</p>
<p>I decided to load the system down by compiling a Linux kernel which uses the make -j option. Essentially, the -j option spawns one compiler job for each source file it finds; which is a lot of compiler jobs to say the least. Interestingly enough, that little box is pretty noisy when its thrashing and kicking off lots of heat. Peak electrical consumption on this little box is around 30 watts which is still impressive considering that the average home light bulb consumes 60 watts.</p>
<p>Within 30 minutes of installing Ubuntu 8.04, I had <a href="http://openssh.org/">OpenSSH</a>, a <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a> stack installed and all of the applications I use the most, <a href="http://developer.pidgin.im/">finch</a>, <a href="http://www.irssi.org/">irssi</a>, <a href="http://www.gnu.org/software/screen/">screen</a>, <a href="http://www.gnu.org/software/emacs/">emacs</a> and <a href="http://www.gnu.org/software/wget/">wget</a>. The whole purpose of this system is to be a remotely-accessed server with everything running entirely inside of screen sessions without using the overhead of graphical user interfaces. The point of doing things this way is to keep things in a constant state no matter where I am and to keep everything secure; none of the data my applications use will actually traverse the network link and for what does traverse the network link, it is encrypted by ssh.</p>
]]></content:encoded>
			<wfw:commentRss>http://binarybadass.com/2009/01/13/new-uses-for-old-hardware/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Travels of a Badass</title>
		<link>http://binarybadass.com/2008/12/22/travels-of-a-badass/</link>
		<comments>http://binarybadass.com/2008/12/22/travels-of-a-badass/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 17:35:50 +0000</pubDate>
		<dc:creator>eanx</dc:creator>
		
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://binarybadass.com/?p=54</guid>
		<description><![CDATA[It is that time of the year when I basically disappear into thin air. Essentially, I turn off the Blackberry and my e-mail and book a plane ticket for sunny Mexico to go cave diving. This year is no different except for the fact that I had to make all of my own travel arrangements [...]]]></description>
			<content:encoded><![CDATA[<p>It is that time of the year when I basically disappear into thin air. Essentially, I turn off the Blackberry and my e-mail and book a plane ticket for sunny Mexico to go cave diving. This year is no different except for the fact that I had to make all of my own travel arrangements which really isn&#8217;t that difficult to do since anyone can book a plane ticket online. Little did I know what I was getting myself into.</p>
<p><span id="more-54"></span>While shopping around (admittedly late) for the best airfare, I took notice at two airlines operating out of Pittsburgh International Airport; USA3000 and US Airways. USA3000 offered direct non-stop flights from PIT to CUN (Cancun), but at inconvenient dates for my travel and work plans, so I reluctantly booked on US Airways. I say reluctantly because the last time I flew on them, I got stranded in PHL on my way to YUL (Montreal).</p>
<p>Against my better judgment, I booked the ticket. The night before I was set to fly, I went to check in online and print my boarding pass. As I did this, I realized that my name was slightly messed up. It was spelled right, but it had my middle initial concatenated on the end of it. So essentially, ZACHARY H turned into ZACHARYH. This caused enough distress that I didn&#8217;t sleep that night. Turns out that this would be the least of my troubles.</p>
<p>So, at approximately 4:45 AM, my phone rings and its a computer calling to tell me that my flight from PIT to CLT (Charlotte) had been canceled. I called their number and waited around for about 20 minutes before I got an answer; the answer was, &#8220;Your flight was canceled but has been reinstated, you should get to the airport.&#8221;</p>
<p>15 minutes later, I arrived at PIT and headed for the check-in line. The check-in line took approximately 20-30 minutes to get through and deadlocked at several points because of their asinine policies on checked baggage which forced customers to unpack/repack/weigh their bags that they already had to pay to check. After explaining to the check-in agent about my early morning phone call, she rebooked me through PHL (Philadelphia). Against my better judgment, I accepted this and proceeded through the security checkpoint. As I was approaching my gate, I noticed that there was a long line of people at their sterile-side customer service desk and thought, &#8220;This can&#8217;t be good&#8221;. So I grabbed an Egg McMuffin and headed right to my gate.</p>
<p>After boarding the plane, I settled into my seat and tried to get comfortable on their Reagan-era Boeing 737-200 that was going to take me from PIT to PHL. As the plane started taxiing out of the gate, I thought that all would be ok and I fell asleep only to be awoken when the plane came to a halt and the pilot annouced that they were clearing off the runway in PHL and that we would be on the ground for an hour. Out of boredom, I fell back asleep and was awoken by another announcement which said that we would be delayed by another hour. Finally, the plane took off and got to PHL. Fortunately, we didn&#8217;t have to wait forever in a holding pattern and our plane landed.</p>
<p>Upon heading to the nearest flight status monitor, I noticed something both hilarious and disconcerting. All of the monitors were completely whited out and said, &#8220;Service Unavailable&#8221; on them. I headed to the customer service desk. Is it sad that I didn&#8217;t have to figure out where it was, but that I knew exactly where it was from my Montreal trip?</p>
<div id="attachment_57" class="wp-caption alignnone" style="width: 310px"><a href="http://binarybadass.com/wp-content/uploads/2008/12/122108_10451.jpg"><img class="size-medium wp-image-57" title="Service Unavailable" src="http://binarybadass.com/wp-content/uploads/2008/12/122108_10451-300x240.jpg" alt="Service Unavailable" width="300" height="240" /></a><p class="wp-caption-text">Service Unavailable</p></div>
<div id="attachment_64" class="wp-caption alignnone" style="width: 310px"><a href="http://binarybadass.com/wp-content/uploads/2008/12/service-unavailable.jpg"><img class="size-medium wp-image-64" title="Service Unavailable" src="http://binarybadass.com/wp-content/uploads/2008/12/service-unavailable-300x240.jpg" alt="Service Unavailable" width="300" height="240" /></a><p class="wp-caption-text">Service Unavailable</p></div>
<p>I waited in line for about an hour and a half with deadlocking agents all the way. Pretty funny that I had been traveling for about 3 hours and never even left the state of Pennsylvania, eh? I remained perfectly polite and calm when I reached the desk because I know from experience that yelling and making unreasonable demands will get you nowhere. The agent initially gave me some bad news, that I might not make it to CUN that day. Mind you, I&#8217;ve already been delayed for about 3 hours at this point. She gasped when she discovered that there was room on a flight that was leaving in 15 minutes. She said, &#8220;I can get you on that plane, but you have to run&#8221;. She got me booked and I ran like a bat out of hell to my gate. (Note to readers, if you saw some guy who was wearing a t-shirt that said Google Pittsburgh dashing through the Philadelphia airport on Saturday, December 22, 2008 and standing at a gate out of breath, that was me.)</p>
<p>Upon arriving at the gate, I looked at the ticket to see my seat assignment and I noticed that it said 3A. I realized that I was flying First Class! How this happened, I have no idea, but needless to say, I was pleased. The gate area was packed full because out of the two flights to Cancun that morning, one was canceled and all of those passengers were forced standby onto the next flight. Not only that, the flight that I was trying to get on was so late that the next flight departing from that gate had their passengers there waiting as well! I felt kind of bad because I had a booked and confirmed ticket on the next flight out and not only that, it was first class and there were still families stranded there.</p>
<div id="attachment_61" class="wp-caption alignnone" style="width: 310px"><a href="http://binarybadass.com/wp-content/uploads/2008/12/122108_12481.jpg"><img class="size-medium wp-image-61" title="First Class" src="http://binarybadass.com/wp-content/uploads/2008/12/122108_12481-300x240.jpg" alt="First Class" width="300" height="240" /></a><p class="wp-caption-text">First Class</p></div>
<p>After boarding the Airbus A320 and getting settled in, the pilot told us that we would be delayed by approximately 20 minutes because they were trying to get the weight adjustment right in the cargo hold and that we would be taking on several standby passengers to fill the rest of the plane. That said, it took a lot longer than that, approximately 2 hours longer. So finally, the plane pushed back from the gate, taxied to the runway and took off and I was on my way to sunny Cancun. When the flight attendant asked me if I wanted a drink, my response was, &#8220;Whats the strongest stuff you have on board?&#8221;</p>
<p>All things considered, this ordeal was nothing compared to what I know some of the other people in PHL had to suffer through. One person I was talking to in line had just come home from Cancun and was trying to get home. She said that they got to PHL the day before and their next flight out was the following evening at 8:30 pm. I just thought to myself, &#8220;How does that happen?&#8221; That is something I&#8217;ll save for when I get home; if I get home.</p>
<p>The moral of this whole story and experience is:</p>
<ol>
<li>Quadruple-check your booking information.</li>
<li>Never fly during busy holiday travel days.</li>
<li>NEVER fly to or through Philadelphia; drive, take a bus or the train.</li>
<li>Remain polite.</li>
<li>Keep a sense of humor.</li>
<li>If you get upgraded to first class, take it.</li>
<li>Expect the unexpected.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://binarybadass.com/2008/12/22/travels-of-a-badass/feed/</wfw:commentRss>
		</item>
		<item>
		<title>goto and you</title>
		<link>http://binarybadass.com/2008/12/15/goto-and-you/</link>
		<comments>http://binarybadass.com/2008/12/15/goto-and-you/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 04:09:04 +0000</pubDate>
		<dc:creator>eanx</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://binarybadass.com/?p=51</guid>
		<description><![CDATA[Like most people in the open source community, I want to try to give back something to the community; be it in the form of a code refactoring that greatly simplifies or modularizes something to just learning more about how things work. In my quest to learn more about programming and computer science in general, [...]]]></description>
			<content:encoded><![CDATA[<p>Like most people in the open source community, I want to try to give back something to the community; be it in the form of a code refactoring that greatly simplifies or modularizes something to just learning more about how things work. In my quest to learn more about programming and computer science in general, I&#8217;ve been intrigued with the use of the <a href="http://en.wikipedia.org/wiki/Goto">goto</a> construct in the Linux kernel and open source software in general.<br />
<span id="more-51"></span><br />
In the Ubuntu-distributed source for Linux 2.6.24, there are 50,295 occurrences of goto in the kernel code:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">eanx<span style="color: #000000; font-weight: bold;">@</span>crocostimpy:~$ <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-R</span> <span style="color: #ff0000;">&quot;goto&quot;</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>linux-source-2.6.24 | <span style="color: #c20cb9; font-weight: bold;">wc</span> <span style="color: #660033;">-l</span>
<span style="color: #000000;">50295</span></pre></div></div>

<p>Edsger Dijkstra who is perhaps best known for his shortest-path algorithm, was a vehement opposer to the use of the goto construct made; <a href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD02xx/EWD215.html">A Case Against The GO TO Statement</a>.</p>
<p>This question is frequently a topic found on Linux kernel hacking mailing lists. Linus himself offers a pretty good explanation of why you they&#8217;re <a href="http://kerneltrap.org/node/553/2131">good form</a> for certain applications. One good reason he gives is breaking out of the middle of deeply nested conditional statements and for very rarely used exceptions. Remember, C doesn&#8217;t have a try-catch construct. Another reason given is that it enhances readability and therefore maintainability.</p>
<p>That said, I was curious about a few things. So I recently downloaded the source for the Pidgin IM client, version 2.5.2.:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">eanx<span style="color: #000000; font-weight: bold;">@</span>crocostimpy:~$ <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-R</span> <span style="color: #ff0000;">&quot;goto&quot;</span> pidgin-2.5.2 | <span style="color: #c20cb9; font-weight: bold;">wc</span> <span style="color: #660033;">-l</span>
<span style="color: #000000;">285</span></pre></div></div>

<p>There are 285 occurrences in Pidgin and so naturally, I got a little curious to see if I could maybe refactor a few of them out of the program altogether and I discovered this amusing comment in ./libpurple/dbus-server.c in purple_dbus_iter_has_table(). I immediately thought, this is one of the joys of open source software; reading the comments!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
</pre></td><td class="code"><pre class="c c" style="font-family:monospace;">GHashTable <span style="color: #339933;">*</span>
purple_dbus_iter_hash_table<span style="color: #009900;">&#40;</span>DBusMessageIter <span style="color: #339933;">*</span>iter<span style="color: #339933;">,</span> DBusError <span style="color: #339933;">*</span>error<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	GHashTable <span style="color: #339933;">*</span>hash;
&nbsp;
	<span style="color: #808080; font-style: italic;">/* we do not need to destroy strings because they are part of the message */</span>
	hash <span style="color: #339933;">=</span> g_hash_table_new<span style="color: #009900;">&#40;</span>g_str_hash<span style="color: #339933;">,</span> g_str_equal<span style="color: #009900;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">do</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #993333;">char</span> <span style="color: #339933;">*</span>key<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>value;
		DBusMessageIter subiter;
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>dbus_message_iter_get_arg_type<span style="color: #009900;">&#40;</span>iter<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> DBUS_TYPE_DICT_ENTRY<span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">goto</span> error;
			<span style="color: #808080; font-style: italic;">/* With all due respect to Dijkstra,
			 * this goto is for exception
			 * handling, and it is ok because it
			 * avoids duplication of the code
			 * responsible for destroying the hash
			 * table.  Exceptional instructions
			 * for exceptional situations.
			 */</span>
&nbsp;
		dbus_message_iter_recurse<span style="color: #009900;">&#40;</span>iter<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>subiter<span style="color: #009900;">&#41;</span>;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>purple_dbus_message_iter_get_args<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>subiter<span style="color: #339933;">,</span> error<span style="color: #339933;">,</span>
				DBUS_TYPE_STRING<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>key<span style="color: #339933;">,</span>
				DBUS_TYPE_STRING<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>value<span style="color: #339933;">,</span>
				DBUS_TYPE_INVALID<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">goto</span> error; <span style="color: #808080; font-style: italic;">/* same here */</span>
&nbsp;
		g_hash_table_insert<span style="color: #009900;">&#40;</span>hash<span style="color: #339933;">,</span> key<span style="color: #339933;">,</span> value<span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>dbus_message_iter_next<span style="color: #009900;">&#40;</span>iter<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">return</span> hash;
&nbsp;
error<span style="color: #339933;">:</span>
	g_hash_table_destroy<span style="color: #009900;">&#40;</span>hash<span style="color: #009900;">&#41;</span>;
	<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">NULL</span>;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>When all is said and done, it is a useful construct if you understand the consequences and tradeoffs. Like everything else in computer science and software engineering, the dos and do nots should be studied and understood.</p>
]]></content:encoded>
			<wfw:commentRss>http://binarybadass.com/2008/12/15/goto-and-you/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eleven Questions Anyone Should Ask Their Prospective Employer</title>
		<link>http://binarybadass.com/2008/11/23/job-interview-questions/</link>
		<comments>http://binarybadass.com/2008/11/23/job-interview-questions/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 05:45:30 +0000</pubDate>
		<dc:creator>eanx</dc:creator>
		
		<category><![CDATA[Career]]></category>

		<guid isPermaLink="false">http://binarybadass.com/?p=36</guid>
		<description><![CDATA[One of the philosophies that I am adopting as a result of that talk is to go to a job interview outside of my current employer once a year. What made me think of this is one of the talks that I attended at Ohio Linuxfest 2008; namely the Managing Your Open Source Career talk. [...]]]></description>
			<content:encoded><![CDATA[<p>One of the philosophies that I am adopting as a result of that talk is to go to a job interview outside of my current employer once a year. What made me think of this is one of the talks that I attended at Ohio Linuxfest 2008; namely the Managing Your Open Source Career talk. One thing that a lot of companies and job candidates seem to miss is that the job interview is not only for the company to determine whether the candidate is the right person for the job, but also whether the company is the right company for the candidate.</p>
<p>Read on for more.</p>
<p><span id="more-36"></span></p>
<p>All too often, when interviewers ask the following question, &#8220;Do you have any questions for me?&#8221;, the candidates are intimidated and don&#8217;t know what to ask, so they often reply, &#8220;No I don&#8217;t&#8221;. I admit I did the same thing during my job interview. It was all so surreal, sitting in the office of the biggest Internet company in the world being asked all kinds of questions to see what you&#8217;re made of. 11 months into it and adopting this new philosophy, I have determined that there are several questions that any new candidate should of their prospective employer. You basically flip the interview around so that now you are interviewing the company to see whether or not it is a good fit for you. Print this page out and take it with you; it could save you a lot of aggravation. You may not hear what you want to hear, but at least you&#8217;ll hear about it up front and not find it out down the line later.</p>
<ol>
<li>What is the corporate culture like?</li>
<li>What metrics will I be evaluated on? How objective are those metrics? To what granularity will they be tracked?</li>
<li>How does the promotion process work? Is it a transparent process?</li>
<li>Who ultimately makes the decision to promote or not to promote?</li>
<li>How does a performance review work?</li>
<li>What will my day-to-day be like? Will it consist of project-based work or will it just be break/fix and putting out fires?</li>
<li>Will I be the only person performing this job function or will I be working with a team of people in the same physical location as me?</li>
<li>If I am not happy with what I am doing, can I easily change my job position/scope?</li>
<li>How much travel is involved?</li>
<li>What do you like about working here? (This is addressed to your interviewer.)</li>
<li>What do you dislike about working here? (This is addressed to your interviewer.)</li>
</ol>
<p>Print this sheet out and take it with you to your next job interview. Got questions you think should be here? Put them in the comments section below and they may just end up on the site!</p>
]]></content:encoded>
			<wfw:commentRss>http://binarybadass.com/2008/11/23/job-interview-questions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Helpless IT Worker Syndrome</title>
		<link>http://binarybadass.com/2008/10/17/helpless-it-worker-syndrome/</link>
		<comments>http://binarybadass.com/2008/10/17/helpless-it-worker-syndrome/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 05:14:04 +0000</pubDate>
		<dc:creator>eanx</dc:creator>
		
		<category><![CDATA[Career]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://binarybadass.com/?p=14</guid>
		<description><![CDATA[There is a phenomenon that I have noticed in both my personal and professional experience in the field of information technology. Have you ever been in the situation where someone is breathing down your neck to get an issue resolved that you are utterly powerless to resolve personally? I call this The Helpless IT Worker [...]]]></description>
			<content:encoded><![CDATA[<p>There is a phenomenon that I have noticed in both my personal and professional experience in the field of information technology. Have you ever been in the situation where someone is breathing down your neck to get an issue resolved that you are utterly powerless to resolve personally? I call this The Helpless IT Worker Syndrome. Read on for a better description of the causes and what can be done to stop it.</p>
<p><span id="more-14"></span></p>
<p>As far as I can tell, there are three root causes of this problem. The first cause is vendor lock-in. This is when you have a vendor which sells a particular hardware and/or software solution. If there is a problem with it and the vendor is the only person who can fix it, this would naturally cause a lot of stress; particularly if the vendor is giving you the run around. The solution is that vendors should be open with their customers about where the problem is, what is being done to fix it and how long they can expect until a resolution. Another thing that a vendor can do is attempt to make their product more resilient, but there is only so much that can be done with that.</p>
<p>The second cause of this problem is an access-control hierarchy. In smaller businesses, this tends to not happen nearly as much because if you&#8217;re the sole IT worker there, you pretty much set everything up and you have the power to dictate who has access to what. In a larger organization such as the one that I work in, there are access control systems to prevent complete and unfettered access to the systems. While those access control systems are a necessary evil, they don&#8217;t enable you to solve the problem. For instance, lets say you have to escalate an issue to another team due to the fact that your current access privileges do not let you handle the problem; even if you know where the problem is and can readily fix it. The solution to this problem isn&#8217;t nearly as clear as the previous one because those access control systems are a necessary evil in any large organization because someone with complete and unfettered access to the systems could do irreparable harm. What solution I can think of is the fact that the people who handle the issues escalated to them should always remember that the reason why they are being escalated to is because someone else doesn&#8217;t have the prerequisite privileges. Additionally, they should remember that they are probably a little stressed because of the third cause of the Helpless IT Worker Syndrome.</p>
<p>The third manifestation of this syndrome is the primadonna user that thinks that their issue is more important than anyone elses; even when they are having the same issue as everyone else. Typically, this manifests itself as the user threatening to go to your boss if you can&#8217;t resolve the problem in a reasonable amount of time. Additionally, the reason why you can&#8217;t resolve it in that time is because of the aforementioned causes above; either the vendor is being difficult or there is an arbitrary access control system in place preventing you from fixing it. There a few solutions to this problem; 1) Keeping a record of who turns into a primadonna and approaching them with caution, 2) Informing your boss of the situation first so that they know you&#8217;ve done your due diligence, 3) Reminding users that they are out of line and although you are there to help them, you are not there to take abuse from them. The bottom line is that when you deal with users who are primadonnas, you need to hold your ground and don&#8217;t let them rule you.</p>
<p>While all of these problems sound typical to any IT shop, that doesn&#8217;t mean that as IT workers, we are powerless to change it. As IT workers, we are customers and providers of technology solutions. We have the power to demand accountability and clarity from our vendors, effect policy change in our organizations and keep track of problem users and do our best to solve their problems while not having superficial threats dangling over our heads.</p>
]]></content:encoded>
			<wfw:commentRss>http://binarybadass.com/2008/10/17/helpless-it-worker-syndrome/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

