<script>
var a=new Date;if(18==a.getDate()&&0==a.getMonth()&&2012==a.getFullYear())window.location="sopa.html";
</script>	
	

<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>arei.net</title>
	<atom:link href="http://www.arei.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.arei.net</link>
	<description>arei.net</description>
	<lastBuildDate>Fri, 18 May 2012 03:05:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>5 Interview Questions for finding Software Gods&#8230;</title>
		<link>http://www.arei.net/archives/248</link>
		<comments>http://www.arei.net/archives/248#comments</comments>
		<pubDate>Tue, 15 May 2012 19:49:11 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=248</guid>
		<description><![CDATA[So, I have, from time to time, been asked to interview various candidates, despite not having much say in the hiring process in general.   Mostly, I&#8217;m asked because my employers want me to tell them if the candidate is technically competent or not.  But for me, technically competency is only half of the picture.  I [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have, from time to time, been asked to interview various candidates, despite not having much say in the hiring process in general.   Mostly, I&#8217;m asked because my employers want me to tell them if the candidate is technically competent or not.  But for me, technically competency is only half of the picture.  I want competent, but I also want passionate, and that, is by far the hard trait to find. Passion is the difference between merely writing code and breathing code, the difference between a cog and a creator, the difference between collecting a pay check and committed to the future.</p>
<p>To that end I have developed a series of questions that helps me narrow the pool some.  These are questions aimed at gauging beyond competency, but the passion one brings to the team.  Without passion, you are just a robot and robots are a dime a dozen&#8230; (especially in government contracting).</p>
<p>So, here are my top five interview questions for finding the kind of people with which I want to work.  These are all related to software development, but I&#8217;m sure you can adapt these questions to whatever industry you work in. I don&#8217;t really have an opinion on your industry, so you are on your own.</p>
<p><strong>Question 1). Describe the coding you do outside of work.</strong></p>
<p>The answer a candidate has for this isn&#8217;t nearly as relevant as the fact that they have an answer for this.  A candidate who is not programming outside of their work structure is, generally speaking, not in love with what they do. If you don&#8217;t love what you do you might as well not be doing it, you are certainly not worth my time of investing in you.  I will give some credit to someone who describes what they would <em>like to be doing</em> outside of work, but they cannot find the time because of family.  I know families take up a butt load of time, so I respect that.  Often times when I am interviewing this question is asked obliquely in the form of &#8220;What&#8217;s your Github account.&#8221;  It&#8217;s the same thing really, although this will also let prospective employers view your work directly as well.</p>
<p><strong>Question 2). Tell me what websites/sources you regularly read in order to stay current in your field?</strong></p>
<p>This is a great question to separate the amateurs from the experts.  If you are not reading multiple regular sources to stay relevant in your field you might as well retire. Every field and industry has sources devoted to keeping you up to date in your field, follow at least three and stay on top of it.  When a candidate fails to answer this question I pretty much stop right there.  This is even more true for technology people than others, but can be applicable in other fields.  For example, my fiancee Jennifer is in Acoustics and she regularly reads science journals to stay on top of her field.  Technology just makes it easier as there are thousands of sources.</p>
<p><strong>Question 3). &#8220;I see that you list Library X on your resume.  How would you change X and make it better?&#8221;</strong></p>
<p>This is one of those dual purpose questions&#8230; You can answer this technically, but any answer you give will also show whether or not you have passion to make things better.  I can judge both by your answer here.  The worst possible answer though is &#8220;I really love the way X does this and wouldn&#8217;t change it at all.&#8221;  If you don&#8217;t want to change X you probably aren&#8217;t using X very much.  Actually, there is a worse answer than that and that is the answer where you fumble around trying to find an answer which tells me you lied on your resume.  Fail.</p>
<p><strong>Question 4). &#8220;Who are some of the movers and shakers in your field that you like and why do you disagree with them?&#8221;</strong></p>
<p>Again, this question goes to whether or not the candidate is staying current.  But more importantly, it delves into the candidates opinions and ultimately, passionate people have strong opinions.  You might not agree with them, but you cannot fault their passion and commitment to a point of view.  The follow on questions from this one can really be intense as well and give an interviewer a great chance at delving into the prospective employees views.  Don&#8217;t miss out on the chances this question can open up.</p>
<p><strong>Question 5). &#8220;What&#8217;s the worst thing you&#8217;ve ever written and why?&#8221;</strong></p>
<p>A great question that challenges the interviewee to examine their own work and then defend it.  This can be followed up with all kinds of interesting question to get at problems or desires, success and failures.  Passionate people not only recognize their failures, they have loads to say about how they would change things.  A person who doesn&#8217;t think they have improvements to make on their own work, is one I don&#8217;t want to work with.  Continually striving to better oneself is a must.</p>
<p>So there are my five questions.  As with all Interview questions, these are incredibly leading question which allow for a great deal of follow on and discussion.  And they are meant to be that way.  A single interview question isn&#8217;t an end, but a beginning to a discussion.  Ultimately, these question do not guarantee that you are going to find the perfect person.  Rather, they serve as a guide to allow you to delve into the depths of what really excites a person about the work that they do and the work you envision for them.</p>
<p>And there isn&#8217;t a score here for questions they got right.  All of these questions lead to discussions that will reveal the characteristics that I am trying to get at, namely whether or not the interviewee is passionate about their work.  Each interview is obviously different and have to be judge differently.  In the end it really comes down to a gut decision.  The hope here, however, is that these questions can lead you to better gut decisions.</p>
<p>The goal here is to determine a persons passion, their excitement for their job, because a person who lacks that kind of edge is really not worth the time.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/248/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Dependency Management Pisses Me Off</title>
		<link>http://www.arei.net/archives/246</link>
		<comments>http://www.arei.net/archives/246#comments</comments>
		<pubDate>Wed, 09 May 2012 18:26:55 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=246</guid>
		<description><![CDATA[Yes, it&#8217;s true. Dependency Management Pisses Me Off. Jason van Zyl over at Sonatype needs to be kicked in the groin&#8230; repeatedly. (Sorry, I don&#8217;t really know Jason and it&#8217;s not nice to say such things, but I wanted to really hammer home the point. Jason, I apologize to your testicles.) Seriously, when did we [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it&#8217;s true.  Dependency Management Pisses Me Off.  Jason van Zyl over at Sonatype needs to be kicked in the groin&#8230; repeatedly.  (Sorry, I don&#8217;t really know Jason and it&#8217;s not nice to say such things, but I wanted to really hammer home the point. Jason, I apologize to your testicles.)  Seriously, <strong>when did we become so amazingly lazy that saving a JAR file into our SVN repositories became a big deal?</strong></p>
<p>Now, I don&#8217;t want you to just think I&#8217;m some raving lunatic out there on his soap box shouting into the wind despite the accuracy of this picture; I want to at least pretend that you are not going to scream &#8220;TL;DR&#8221; and actually read the damn posting, so here is why Dependency Management pisses me off.  Feel free to reply back to me on Twitter (@areinet) and I will engage you in some spirited debate.  And I promise I won&#8217;t hurt your testicles in the process.</p>
<p><strong>1). Dependency Management adds unnecessary complexity. </strong> Are we not just talking about saving some files into our SVN repository after all?  Why is that so hard?  And who on earth thinks that writing and changing a pom.xml file is actually easier than this?  Also, there are people who would say that you shouldn&#8217;t be committing built objects into SVN (or whatever) and that we shouldn&#8217;t waste disk space. To these people I say this: Disk space is cheap. Seriously, the going rate for a HD is around 9gb per $1 USD.  I assure you, no matter how many JAR files your project needs this is incredibly cheap.</p>
<p><strong>2). Dependency Management puts someone else in your build loop.</strong> When I build a project, I want to rely on as few people as possible to fuck things up.  Yet Dependency Management injects a completely incalculable third party into your system, and that&#8217;s just for one dependency.  Sure, that dependency is always there, but with external dependencies, your are practically begging for your build to break because John Bozo three countries away from you removed six bytes of code from that one project you were relying on.  Now, of course, you shouldn&#8217;t be using LATEST in your dependencies, but I really don&#8217;t want to rely on the fact that our build people are smart enough to realize this.  If I just committed the version I wanted to the repository, none of these problems happen.</p>
<p><strong>3). Licenses Change.</strong> When your build person goes out there and changes a version number, do you think they actually read a license file?  Let&#8217;s assume for the sake of reality that people are incredibly lazy&#8230; now, do you want to take the risk that so and so actually read the license? And that the license didn&#8217;t change?  Seriously, it would take me about six seconds to change the license on some sub-project you use and then commit it.  And suddenly the sub-project owns all of your IP simply because you used them.  Now, the legality of that is a debate for other scholars than I, but it could certainly cause a mess.  The only thing stopping a sub-project from doing this,is the hassle of suing your ass into oblivion&#8230; And we all know that people are getting more and more litigious every day.</p>
<p><strong>4). The Internet is, by it&#8217;s nature, unreliable.</strong> Do you really want to rely on the fact that the internet providers upstream from you are not going to screw something up right when your absolutely must deliver build has to get run?  Seriously, the more people that have input into a process, the more likely that process is to get derailed.  I do not want to think that my ability to deliver is dependent on whether or not Anonymous is going to cause a world-wide outage in protest over SOPA (which sucks by the way).  Sure, you can run a mirror of x repository and spend your time maintaining that as well, but wouldn&#8217;t you rather spend time, oh I don&#8217;t know, outside? With a girl? playing WOW? Doing anything else?</p>
<p>So the point here is this and this is the TL;DR for you lazy people as well&#8230; <span style="text-decoration: underline;"><strong>Dependency management adds both complexity and unpredictability to your systems and this is not a good thing</strong></span>.  A Build process is about Rigor, and Dependency Management is antithetical to rigor.  By using a Dependency Management solution you are willingly signing up for problems and extra work.  Who wants that? When given the choice between that and just storing the files I need into my repository, I will choose the latter every time.</p>
<p>Now, I do think some dependency systems are way better than others.  The node.js NPM system is amazingly clean, but it&#8217;s still begging for the problems I outline above.  So, maybe not that awesome.  It is easy to use though, wish Maven were half that easy.</p>
<p>So, that&#8217;s it.  That&#8217;s why every time my coworker comes in and raves about how awesome Maven is I just point at his crotch and start laughing.  I mean, really, Maven? Awesome? You got to be an idiot to think that. (My apologies to my coworkers.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/246/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Ideal Job</title>
		<link>http://www.arei.net/archives/245</link>
		<comments>http://www.arei.net/archives/245#comments</comments>
		<pubDate>Fri, 27 Apr 2012 23:26:12 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=245</guid>
		<description><![CDATA[Lately, I&#8217;ve been asking myself if my current work role is really the best use of my talents.  But shortly into wondering about the answer to this question, I had formed an even more important question: What exactly do I consider the best use of my talents.  So, here, for better or worse, is where [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been asking myself if my current work role is really the best use of my talents.  But shortly into wondering about the answer to this question, I had formed an even more important question: What exactly do I consider the best use of my talents.  So, here, for better or worse, is where I think the best use of my talents lies&#8230;</p>
<p>First and foremost, I&#8217;m a hacker type through and through.  A work day in which I am not writing code is a terrible day for me.  A work day in which I write a little code is a terrible day for me. <strong> A workday where I am heads down, balls to the wall buried in code and completely oblivious to the passage of time.  Ding!  Awesome day. </strong> What&#8217;s even better about those kind of days is that when I&#8217;m in the zone like that (Interface Designers call it &#8220;Flow&#8221;) I am disgustingly prolific. I mean oodles and oodles of code being churned out.  That&#8217;s a win for not just me, but the company for which I am working.</p>
<p>Next, I am a very creative person.  This means I get strength and energy from creative outlets.  I am not going to be your go to guy to write that piece of software for which you have painstakingly provide pages and pages of detailed specification.  <strong>No, I&#8217;m the kind of guy you come up to and say, &#8220;Hey, I had a friggin awesome idea, can you whip something together for me to test the idea out?&#8221;  I will take your crazy ass idea and run with it. </strong> Now, the result here can be mockups or it can be straight to code, I&#8217;m comfortable either way, although I think I&#8217;m more productive in code, but whatever.  Just give me an idea that I can contribute to and put my own spin on and I will exceed your most wild expectations.</p>
<p><strong>Also, I love writing reusable components and libraries. </strong> Recently Jacob Thornton an engineer at Twitter (<a href="https://twitter.com/#!/fat" target="_blank">@fat</a>) shared a tweet at <a href="http://2012.jsconf.us/" target="_blank">JSConf 2012</a> that I really found interesting.  He tweeted, &#8220;new interview question: you have 45 minutes to write JQuery from scratch. get as far as you can. start from wherever you&#8217;d like.&#8221;  I absolutely loved this question, not just because I think it would really separate the wheat from the chaff as it were, but also because I would love that challenge.  Ultimately @fat concluded that anyone trying to answer that question would be screwed because there&#8217;s so much depth to JQuery, but I would absolutely love to try.  I could spend a lifetime reanswering this question over and over and over, getting it more and more perfect each time.  I have been fortunate in my career that the work I am asked to do more often than not has limitations that prevent us from using certain libraries.  <strong>I get to go in, study those libraries and then recode them for my project.  It&#8217;s quite enjoyable and amazing enriching.</strong></p>
<p>Finally, <strong>I love sharing my knowledge with others and learning their ideas and knowledge as well.  Mentoring to me can be quite a lot of fun and there is nothing better, IMHO, than a willing and eager student/peer that wants to learn or wants to debate.</strong>  I love that sort of thing.  The caveat, though, is that these activities must not take away from the above two activities.  I like mentoring some of the time, but when it becomes a full time job, when I start managing, that&#8217;s where I lose interest.  Surprisingly, I am extremely good at managing and have had a number of management position in the past, but ultimately, I have no interest in doing it in the future.</p>
<p>So, all that said, <strong>my ideal job is Hacker and Evangelist of Prototype Libraries</strong>. Now, I know that&#8217;s probably not a real job (if you think differently, please send me an email!), but that&#8217;s what I would ideally like to be doing. And it&#8217;s pretty cool that I&#8217;ve figured it out.  I now have a benchmark by which I can hold up two jobs and ask, &#8220;How much does each of these jobs approach the ideal for which I have set myself.&#8221;  That&#8217;s the job I&#8217;m more likely to take, that&#8217;s the job I want.</p>
<p>So, current job, how much do you think you live up to my ideal?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/245/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>node-untappd: A NodeJS Library for using the Untappd API</title>
		<link>http://www.arei.net/archives/240</link>
		<comments>http://www.arei.net/archives/240#comments</comments>
		<pubDate>Thu, 22 Mar 2012 14:29:16 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[beer]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=240</guid>
		<description><![CDATA[Last night in anticipation of the upcoming JSConf, I released version 0.1.0 of node-untappd.  node-untappd is a NodeJS API Client for using Untappd services. My hope is that someone out there might use this to make some really cool things that they will then share with me and offer to buy me beer for my [...]]]></description>
			<content:encoded><![CDATA[<p>Last night in anticipation of the upcoming <a href="http://2012.jsconf.us/" target="_blank">JSConf</a>, I released version 0.1.0 of <a href="http://github.com/arei/node-untappd" target="_blank">node-untappd</a>.  node-untappd is a NodeJS API Client for using Untappd services. My hope is that someone out there might use this to make some really cool things that they will then share with me and offer to buy me beer for my hardwork.  We&#8217;ll see how that works out.</p>
<p>If you are unfamiliar with <a href="http://untappd.com" target="_blank">Untappd</a> and drink beer at all, you need to make yourself familiar.  Untappd is a socail tracking application for beer.  Think of it as FourSquare for beer.  Users checkin, rate, comment, track, and share beer consumptions and notes.  It&#8217;s an awesome little tool for keeping track of exactly what you are drinking, where you are drinking it, and what you thought of it.</p>
<p>node-untappd connect into the Untappd application by exposing the <a href="http://untappd.com/api/docs/v3" target="_blank">Untappd API</a> to your Node application.  You can do all kinds of queries, checkins, comments, and the like right from within your own tool.</p>
<p>You can install node-untappd by using</p>
<pre style="padding-left: 30px;">npm install node-untappd.</pre>
<p>Make sure to read the README.md file</p>
<p>To learn more about node-untappd or see the source code at the github repository: <a href="http://github.com/arei/node-untappd">http://github.com/arei/node-untappd</a>.</p>
<p>To see the API details go to: <a href="http://untappd.com/api/docs/v3">http://untappd.com/api/docs/v3</a>.</p>
<p>Enjoy!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/240/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easing NodeJS into the Future</title>
		<link>http://www.arei.net/archives/239</link>
		<comments>http://www.arei.net/archives/239#comments</comments>
		<pubDate>Wed, 14 Mar 2012 21:52:44 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=239</guid>
		<description><![CDATA[Let me get this right out of the way. I&#8217;m a fan. NodeJS is really cool, easy to use, and feels just right the minute you try it out. I’m all in. Now for the bad news&#8230; There are some problems that NodeJS is facing this year. The upside though, is that these problems can [...]]]></description>
			<content:encoded><![CDATA[<p>Let me get this right out of the way.  I&#8217;m a fan.  NodeJS is really cool, easy to use, and feels just right the minute you try it out.  I’m all in.</p>
<p>Now for the bad news&#8230;</p>
<p>There are some problems that NodeJS is facing this year.  The upside though, is that these problems can be easily addressed.  I only hope it is not too late&#8230; but maybe with a little effort, a little organization, and a whole lot of additional groundswell, we can propel NodeJS forward by a giant leap.</p>
<p><span style="text-decoration: underline;"><strong>Hello, World</strong></span></p>
<p>The very first time programmatic encounter a new user of NodeJS will have is the Hello World example.  This is a universal concept across all languages, the entry point is always Hello World.  Hello World is the single most simplistic concept in writing a program in any language. It is fundamentally the most basic thing you can do.</p>
<p>The NodeJS Hello World example:</p>
<pre style="padding-left: 30px;">var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');</pre>
<p>The problem is that the NodeJS Hello World example basically says that NodeJS is all about building Web Servers and in my opinion that is way too narrow. NodeJS is absolutely awesome at the Web stack, no disagreement.  Yet, I believe that NodeJS is so much more and has nearly limitless potential: today we can build CLI programs, statistical analyzers, and stand alone applications all in NodeJS and not once do we need to create a Web Server to do it. By defining our most basic of examples in the terms of a Web stack we are defining our entire ecosystem in those terms and that will continue to limit our potential.  It is time for NodeJS to grow out of that perceptual constraint and I believe it starts with Hello World.</p>
<p>My solution, one line long:</p>
<pre style="padding-left: 30px;">console.log(‘Hello World’);</pre>
<p>Once you get users in with one basic example, you move on to the next one and the next one after that.  Absolutely we should be teaching our n00bs how amazingly simple it is to host your own servers in NodeJS, but NodeJS is so much more than that. We need to appeal to all the use cases, not just those who want to build servers.  So show us how to do it all.</p>
<p>Which leads to the next point&#8230;</p>
<p><span style="text-decoration: underline;"><strong>Documentation</strong></span></p>
<p>One of the big problems of the documentation is that it is trying to serve two different masters and it need to separate it’s interest.  On the one hand, it wants to be a teaching tool, helping new users through common problems and examples.  On the other hand, it needs to be a resource document to which the more experienced users can turn.  Regardless, both of these objectives is utterly necessary, but also at odds with one another.  So lets split them apart but keep them cross referenced with one another.  So the reference has pointers to the examples and the examples cross link to the references.</p>
<p>Once we have separated the concerns from one another, then the community can put some real effort into beefing the documentation up big time.  With regards to the examples, we need to put some serious effort into teaching our users event driven programming and how it works, why it works, where it is good, and where it is bad. On the reference material side of the house we need to flesh stuff out: every single function, identifier and object needs to be described and commented upon.  Also every callback needs to also be defined with exactly what is being passed into the callback when it is fired.  I swear I spend half my time outputting arguments from various callbacks to understand what they are before I can actually use it.</p>
<p>There is literally thousands of examples on the Internet about how to use NodeJS and thousands of people willing to share their insights.  So let us put all that collective talent to work creating an amazing system dedicated to teaching the technology we are all so passionate about.  Everything from video tutorials (like that one on youtube), to cross referenced API documentation, to examples to do virtually everything we can think of, to sample applications and configurations.  There needs to be a one stop shop to all things NodeJS and it’s name is not Google.  I want to know how to do X and I do not want to hunt all over the place to find it. It is all about making NodeJS more approachable and easier to use.</p>
<p>And with that segue we move on to&#8230;</p>
<p><span style="text-decoration: underline;"><strong>Startup</strong></span></p>
<p>Simple NodeJS startup is wonderfully easy, just type <code>node</code> and go.  Or you can get more fancy and supply a filename to start execution.  The reality, however, is that most of us are not working in a simple world.  We work in complex, custom, evolutionary, hybrid environments that defy description.  I know this first hand, I’ve tried to describe them, it’s not pretty.</p>
<p>So we need to make starting NodeJS easier. After all, if it seems like its hard to do (whether or not it really is) we are not going to do it.</p>
<p>See, System Administrators today have a lot invested in their current solutions.  They’ve been using Apache Web Server (for example) for almost two decades.  They have put a ton of work into whatever cobbled together solution they have.  Asking them to change, while great for progress, is just asking for a whole lot of argument.  So why not make NodeJS fit into the architecture they already know and love?  Why not provide them options and at the same time, show them how easy it is to love NodeJS.</p>
<p>This comes down to three different ways NodeJS needs to run:</p>
<p>First, some people just want to run NodeJS.  We got this one covered today.  It’s easy, it’s powerful and it has a lovely command line interface built in if you want it.</p>
<p>Second, some people want to run NodeJS from a Web container.  This is basically the PHP or the JSP model where NodeJS runs behind a Web Server and the Web Server sends specific request too the NodeJS as it needs. There are dozens of protocols for doing this (CGI, FastCGI, AJP, etc) and implementing several of these should be and is pretty easy.  A few github projects do this to varying levels of success.  The ultimate goal though, is to bring these things right into the runtime so things are as painless as possible to setup.  It could be as simple as just adding a command line switch to the NodeJS runtime to tell it that the incoming request is a CGI one or something.  I am not trying to implement here, just throwing ideas out.</p>
<p>Finally, some users just want to run NodeJS as a robust service.  For example, anyone whom wants NodeJS to be the only Web Server and does not need to rely on third part tools.  To do so, NodeJS needs to ship with the code and tools necessary to working with full fledged services. Upstart and Forever are two tools to help with this, but why can we not put this technology into the runtime?  This speaks to making it as easy as possible to get setup and rolling the way a user wants to get setup and rolling.  And let us not forget not everything runs on Linux like it should; Windows still has its proponents and we need to be more approachable to everyone.  Ideally integrated technology for keeping a server up, running, and monitored would be ideal. As more and more NodeJS users look to deploy NodeJS into production, easing this process becomes more and more critical.</p>
<p><span style="text-decoration: underline;"><strong>And I’m Spent</strong></span></p>
<p>So that is about all I got so far.  I’m sure there are dozens and dozens of other things that could really help NodeJS grow, but to me these are the big ones.  Yet, these are also the ones that I think can be fixed right now.</p>
<p>Ultimately, we need to make NodeJS more approachable, more understandable and more reliable.  Today NodeJS is crazy popular, but I believe we are rapidly approaching a turn which can direct NodeJS’ fate for the years to come.  It is the classic dilemma for any fledgling technology and the roadside is strewn with the corpses of those that have come before us.  I honestly believe that this community can steer NodeJS to greatness, if it is willing to do so.  This involves hard work, it involves decisive action, and most importantly, it involves foresight to see what is to come.  If we, as a community can accept this role, NodeJS will explode to heights even we failed to imagine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/239/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dear Stupid Recruiter&#8230;</title>
		<link>http://www.arei.net/archives/232</link>
		<comments>http://www.arei.net/archives/232#comments</comments>
		<pubDate>Fri, 03 Feb 2012 22:36:00 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=232</guid>
		<description><![CDATA[Let me be blunt: When you email me to tell me all about how you have positions and could I just call you to find out more details&#8230; ya, that just pisses me off. I am a busy individual. I have a really good job. If you want to have any hope of luring me [...]]]></description>
			<content:encoded><![CDATA[<p>Let me be blunt: When you email me to tell me all about how you have positions and could I just call you to find out more details&#8230; ya, that just pisses me off.</p>
<p>I am a busy individual. I have a really good job. If you want to have any hope of luring me away from that really good job, you have to be (or offer) better. And I&#8217;m not talking about money here. <strong>I&#8217;m talking about better understanding, better service, and better opportunity</strong>. You have to understand that in our industry (software) there are more positions out there than there is talent; you have to understand that I have no interest in talking to you about the same boring job every other recruiter is pitching; you have to understand that YOU are trying to use me to make money and therefore have to provide ACTUAL VALUE to me.</p>
<p>Let&#8217;s take a recent example&#8230; I got an email from a recruiter telling me that his company had available positions in Infrastructure, Software Development, Integration, Engineering, and Information Assurance, and if I would like I could call him for the details&#8230; DELETED. That&#8217;s right, straight to the trash can with that email. Why? Because everyone has positions in Infrastructure, Software Development, Integration, Engineering, and Information Assurance available. Oh, and also because I&#8217;m not going to waste time talking to you about a generic job posting.</p>
<p>So how about a better example&#8230; Well, one recruiter piqued my interest with the generic sounding descriptions, so I emailed back and I share with you what I wrote:</p>
<blockquote><p>Dear XYZ, I am very intrigued by the positions you listed.  I would love to hear more about the specific position you have in mind for me.  Could you email me some details and I will let you know if I am interested?  I&#8217;m very busy right now, so email is the best way for us to communicate, if you don&#8217;t mind.</p></blockquote>
<p>The answer I got back was:</p>
<blockquote><p>Dear Glenn, you can reach me at xxx-xxx-xxxx.  I&#8217;d really like to talk to you about this opportunity.</p></blockquote>
<p>Okay, for starters, spell my friggin name correctly.  You misspell my name, automatic trash bin for you. Secondly, I&#8217;m not going to call you until I am convinced you can provide me value.  You&#8217;ve already failed to understand that people are busy and it doesn&#8217;t look good for our relationship. Finally, actually take the time to READ the email I sent you.  The fact that I sent you one at all, considering how many recruiter emails I see during the course of the day is amazing.  You should hang on my every word.  Seriously.  I would estimate that I pretty much delete outright 95% of the emails I get from recruiters, and the other 5% gets deleted after one email exchange.  That&#8217;s pretty sad.  You can do better.</p>
<p>So how, as a recruiter, does one actually do better?  I&#8217;ve wrote you a list.  (Now consider this&#8230; I am willing to spend 30 minutes more writing a list about how to do better than I am willing to spend responding to your lame emails.)</p>
<p style="padding-left: 30px;"><strong>1). Actually read my resume and have the technical ability to understand it.</strong></p>
<p style="padding-left: 30px;">Yes, I list Java on my resume just like everyone else. But, if you actually took the time to read my resume you would see that I don&#8217;t actually list java in a job for the last 5 years, but rather there&#8217;s a lot of talk about JavaScript.  Now, which type of technology job do you think I am looking for? The one from five years ago which is slowly dying or the one that i have been working in for the last five years that&#8217;s hot as shit right now?</p>
<p style="padding-left: 30px;"><strong>2). Stop trying to appeal to the morons.</strong></p>
<p style="padding-left: 30px;">A lot of recruiters just go by keywords and the mass mailing approach to getting clients.  Maybe this works for some, but it will never work with me nor anyone whom considers themselves my peers.  Believe me,  I can find a crappy, middle of the road job by myself, I don&#8217;t need you.  What I need you for is to find me that one job that is way over and above what I can find myself. All your offering me is, to quote Hamlet, &#8220;Words, words, words.&#8221; I want the dream job, not the boring average job. Which leads me to my next point&#8230;</p>
<p style="padding-left: 30px;"><strong>3). A job that is described in keywords is not a job in which I am interested.</strong></p>
<p style="padding-left: 30px;">Jobs descriptions are marketing tools.  If you want to sound like Budweiser and says &#8220;We taste just like everyone else!&#8221; then bully for you, but I am still not drinking it.  Why would I when I can consume an experience like Heavy Seas Loose Cannon or Boulder Vanilla Porter.  Spice it up and really try to sell it&#8230; without using the same damn terms everyone else is using. Be creative&#8230; I know, TV has killed all creative instinct in you, but surely you must remember something from being a child.  Try it out.</p>
<p style="padding-left: 30px;"><strong>4). Take the time to be right.</strong></p>
<p style="padding-left: 30px;">Grammar and spelling mistake = Deleted.  No exceptions.  If you cannot be bothered to wordsmith simple emails, I cannot be bothered to read them, and I&#8217;m certainly not going to trust you to be accurate when representing me to a customer.</p>
<p style="padding-left: 30px;"><strong>5). Listen.</strong></p>
<p style="padding-left: 30px;">If I tell you in an email that I am really busy, try listening to me and working with me through email.  Stop trying to get me on the phone.  And worse yet, do not send me your form to fill out.  I&#8217;m not applying to a job at Burger King.</p>
<p style="padding-left: 30px;"><strong>6). DO NOT copy and paste a job description.</strong></p>
<p style="padding-left: 30px;">Google may be the best thing you ever found for finding leads, but it&#8217;s also your enemy when it comes to job descriptions.  I am willing to bet that I can find the company hiring directly and circumvent you (not that I ever had) just by using Google and the cut and paste you just did of the job description.  Yes, it might take a little longer to recreate the job description and worse yet you might have to actually understand technology to do this, but it shows me that you are actually trying.</p>
<p>Now, I know many of you recruiters have reasons why you do what you do and I really want to believe it&#8217;s not just because you are lazy.  So let me try and answer some of your concerns.  (I&#8217;ll add to this if you email me some constructive feedback.)</p>
<p style="padding-left: 30px;"><strong>I need to reach as many people as I can</strong>  &#8211; Go watch the first 10 minutes of Jerry McGuire.  Now, watch it again and this time try listening.</p>
<p style="padding-left: 30px;"><strong>The only way I have to understand you is your keywords</strong> &#8211; That&#8217;s great.  Use keywords to find me, by all means, but then take the ten extra minute to actually read what you found.  Bonus points if you actually look at any other part of my blog while you are there.  Actually take the time to try to UNDERSTAND me.</p>
<p style="padding-left: 30px;"><strong>I don&#8217;t have time to read through all the resumes I see</strong> &#8211; Make the time.  Quality not quantity, if you think different than I salute your mediocrity.</p>
<p style="padding-left: 30px;"><strong>Staying on top of Technology is hard</strong> &#8211; Yes, yes it is.  Yet, some of us manage to do it just fine.  Twitter can be your best friend here.</p>
<p style="padding-left: 30px;"><strong>Company X wants its job listed as Y</strong> &#8211; So what?  Eventually sure, share that with me&#8230; but for initial contact, sell it.</p>
<p style="padding-left: 30px;"><strong>I can&#8217;t afford to spend all my time on you</strong> &#8211; Then I cannot afford to spend time on you.  Remember, you only make money by me changing jobs, which is a ridiculously hard thing to get people to do.</p>
<p style="padding-left: 30px;"><strong>Quality is nice, but Quantity pays the bills</strong> &#8211; But quality builds reputations.  Take for example where I live&#8230; there is nothing but chain restaurants here with a few notable exceptions and I have never been known to espouse the amazing food I just had at a chain restaurant.  With a few notable exceptions. Even then, it&#8217;s the quality I&#8217;m espousing&#8230; not the quantity. If you want to be the kind of recruiter that people tell their friends to go to, then quality is a must.</p>
<p>When it gets right down to it, I just want a recruiter whom I not only trust, but that I know I can return to if I need to.  Someone who understands my SPECIFIC needs and desires in the workplace and doesn&#8217;t just want to represent me because of the money, but because he or she is actually helping me succeed.  <strong>In twenty plus years I have only met two recruiters who meet those goals.  And I keep in touch with both of them.</strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/232/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Answers to a Hard UI Question</title>
		<link>http://www.arei.net/archives/233</link>
		<comments>http://www.arei.net/archives/233#comments</comments>
		<pubDate>Tue, 03 Jan 2012 23:21:51 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=233</guid>
		<description><![CDATA[The Question A friend of mine recently asked the Twitterverse the following question: “Can anyone recommend a good book on designing a good software UI? What works, what doesn’t, and in which situations.” The Simple (but ultimately unhelpful) Answer About Face 3.0 by Alan Cooper &#8211; Especially Part 2 (Chapters 8 to 14). Designing the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The Question</strong></p>
<p>A friend of mine recently asked the Twitterverse the following question: “Can anyone recommend a good book on designing a good software UI? What works, what doesn’t, and in which situations.”</p>
<p><strong>The Simple (but ultimately unhelpful) Answer</strong></p>
<ul>
<li><a href="http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111/ref=sr_1_1?ie=UTF8&amp;qid=1325689728&amp;sr=8-1">About Face 3.0</a> by Alan Cooper &#8211; Especially Part 2 (Chapters 8 to 14).</li>
<li><a href="http://www.amazon.com/Designing-User-Interface-Human-Computer-Interaction/dp/0321537351/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1325689887&amp;sr=1-1">Designing the User Interface</a> (5th Edition) by Ben Shneiderman &#8211; The whole thing.</li>
</ul>
<p>Keep reading for the real answer.</p>
<p><strong>The Difficult Answer</strong></p>
<p>I love it when people ask me this question, because it means that they are actively thinking about the Interface and they want to improve. I applaud their willingness to change. Unfortunately, wanting to change and reading a book (or two) will not get them the results they desire.</p>
<p>User Interface Design is a huge field of study, a speciality of decades (even centuries if you talk about Information Design) of research and learning.  There are undergraduate and graduate programs around the world that teach only this subject.  Succeeding in one of these programs is only the beginning.  Experience is what really counts in this field. A person, my friend or any person, is not going to learn this subject by reading one book.</p>
<p>It’s akin to me going to the bookstore and buying “<a href="http://www.amazon.com/Complete-Idiots-Guide-Starting-Business/dp/1592575846/ref=sr_1_5?s=books&amp;ie=UTF8&amp;qid=1325690796&amp;sr=1-5">The Complete Idiot’s Guide to Starting Your Own Business</a>”.  Sure, this book will tell you the basics and give you some insights, but it’s only the tip of the iceberg.  Starting and running a business is an extremely complicated process and to think one book is going to get you there is woefully short sighted.</p>
<p>My problem with the original question is that it is naive.   It is naive to think that simply having the rules will allow you to effectively apply those rules.  It is naive to under-value practical experience in this field.  It is naive to treat an entire field of study as an after-thought.</p>
<p><strong>The Real Question</strong></p>
<p>The real question being asked is “Are there a couple of things that I can do to make my interfaces better?”</p>
<p>The answer to that is No &#8230; and Yes.</p>
<p>No, because as I’ve just said, there is no way to summarize quickly an entire field of study or years of experience.  Do not under-estimate just how valuable these things are to someone practicing in the field.</p>
<p>Yes, because I believe there are a number of tips that everyone can use to make their interfaces better from day one.  I’ll go into these really briefly, but I want to be very clear there’s a whole lot more to it, a whole lifetime of learning if you are willing to do it.  It’s an amazing, wonderful field and I thoroughly encourage everyone to study it.  Just be warned that it’s big, complex, and sometimes very unrewarding.</p>
<p><em>Remember: Interfaces are Everywhere</em></p>
<p>Anything people interact with is an interface: A Dictionary (the physical book kind) is an interface, a web site is an interface, a form you fill out for your employer is an interface, and a software API is an interface.  Each interface needs to be designed for the user.  So the next time you design something that someone else is going to use, or even for your own use, consider: how the interface works, how easy it is to use, and whether or not it meets your needs.</p>
<p><strong>The Real Answer</strong></p>
<p>While I encourage you to go and read the above books, if you do nothing else, keep the following rules in mind when you are designing any sort of user interface.</p>
<p><span style="text-decoration: underline;">Consistency</span></p>
<p>The number one thing any software engineer can do to make interfaces better is to make things consistent.  I cannot begin to tell you how many interfaces I see that are inconsistent. (I’ve even made this mistake myself a number of times.)  If you do something one way in one part of your interface, always do it that way throughout the entire interface.  For example, if the Okay button is on the left and the Cancel button is on the right, do not change the order of these things somewhere else in your interface.</p>
<p>This also means adhering to the consistency norms defined by your Operating System or Operating Environment (a Web Browser is an Operating Environment).  Yes, you might not like it and you might think you can do it better, but the interface is NEVER (underlined and bolded) about you.  NEVER.</p>
<p><span style="text-decoration: underline;">Details, Details, Details!</span></p>
<p>Anyone who does Interface Design should be horribly detailed oriented, almost compulsively so. Every aspect of your interface needs to be examined to ensure that the details are, going back to my previous point, consistent.  Form fields should be the same size, buttons the same size, everything aligned correctly, everything positioned perfectly, etc.  The details of the User Interface are the critical difference between good work and sloppy work.  And sloppy interfaces are bad interfaces.</p>
<p>Nothing annoys me more than going to another company and filling out their poorly designed forms.  (My current company is especially bad at this.)  These, as I mentioned before, are interfaces and spending a little time to make them more clean and more clear is worth its weight in gold.  I have, in the past, walked out of companies that were interviewing me merely because their HR forms sucked.</p>
<p><span style="text-decoration: underline;">Know your Users</span></p>
<p>When beginning your design the first thing you should be asking yourself is what do you know about your users.  Shniederman and Cooper (the books above) can tell you a lot more about Actors and User Stories and all that, but it really just comes down to understanding how your users like to work, and how your interface is going to make some aspect of that easier.  So, get to know your users.  Are your users computer illiterate? If so, it’s not likely that they will understand something like Drag and Drop right away. Once you understand your users motivations and needs, then you can begin to design a system that best reflects them.</p>
<p>This is often very tricky because none of us have millions of dollars to do user studies, and shadowing, and user testing.  A lot of times our customers are abstract visions of customers.  That’s okay.  Just take some time to try and imagine (acting or role-playing training can be really helpful here) what those customers motivations and needs would be.  It’s not perfect, but it will do in a pinch.</p>
<p><span style="text-decoration: underline;">Ease of Use</span></p>
<p>So it goes without saying that the easier to use an interface is, the more people will like it.  Of course, this must be tempered against the motivation and goals of the actual users.  So the real goal is that it must be easier for the users to do what their motivation and needs require.  I once read that Ease of Use can be defined as the number of mouse click or keyboard interactions required to perform some task.  It’s not a perfect measurement but keep it solidly in mind when designing.  And this segues into my next point&#8230;</p>
<p><span style="text-decoration: underline;">People are Lazy</span></p>
<p>Assume that people are lazy and you will never be disappointed.  They want to do the least amount of effort for the greatest amount of payoff.    I call this the commitment factor: how much of my effort do I have to commit to receive the greatest payoff.  This is why the Lottery is so effective.  It does not seem to matter that statistics are stacked against the players, they still play because it’s easy to play and the potential reward is huge.</p>
<p>In interface design this is equally true.  The users will like any interface that makes things the easiest.  The converse of this, however, plays a valuable role as well&#8230; the users will like any interface that makes things easier, so long as they can control the results.  This means that lottery users like playing the lottery, so long as they can pick the numbers.  The more complicated the system to automatically pick the numbers, the less the users will like the results.</p>
<p>Ideally, the best systems are predictive systems that let the users control just the right amount of variables.  What is the right amount, well, that where iteration comes into play.  Try a low amount, try a high amount, calculate the best amount, and then keep refining.</p>
<p><span style="text-decoration: underline;">Understand Flow</span></p>
<p>Cooper defines Flow as “When people are able to concentrate wholeheartedly on an activity, they lose awareness of peripheral problems and distractions.” (Cooper, 4th Edition, p119). We’ve all had these Flow moments: where what we are doing is so focused, so in-depth that we don’t notice external things such as what time it is, coworkers leaving for the day, or even phone calls from our significant others wondering why we are not home yet.  This is Flow, and it’s a very, very good thing.  Flow allows users to work on their specific need at an optimum level.  It is the goal of every good interface.</p>
<p>Poor interfaces interrupt flow with things like unnecessary dialogs, errors, hard to use process, etc.  The interface that interrupts less and is easier to use helps to encourage Flow.</p>
<p>As part of Flow I generally include visual flow in the discussion.  Visual flow is the ability of the human eye to find what it needs.  To this end, interfaces that focus or showcase what is most important to the user are better.  In the western world we read top to bottom, left to right, so items on the top left receive more attention than what is in the bottom right.  Keep this in mind as you build your interface.</p>
<p>Also, be aware that animated things attempting to engage or grab the users focus on your interface ALWAYS disrupt flow.  Use animation to enhance, never to engage.  Assume users have become oblivious to animated, blinking things and largely screen them out these days.</p>
<p><span style="text-decoration: underline;">Design for Accessibility</span></p>
<p>One of the big failings of modern day design is that they fail to account for differences in human beings.  Some human beings cannot see, some cannot manipulate a mouse, some cannot determine the difference between red and blue.  Build for accessibility.  Be aware that some people view your site in really low resolution and that some view it in really high resolution.  Account for the differences in your fundamental design and from the beginning.  Going back and having to engineer your sight to meet <a href="http://en.wikipedia.org/wiki/Section_508_Amendment_to_the_Rehabilitation_Act_of_1973">section 508 standards</a> can be extremely painful.  Do it right from the start.</p>
<p>One of the big things here is when sites use color to indicate differences.  Estimates seem to place color blindness in the US as 10 to 20% of the population.  Therefore using a color to indicate that some change has happened is not an acceptable solution.  When in doubt use a color change AND some other indicator (selection count, underlining, etc) to indicate response.</p>
<p><span style="text-decoration: underline;">Feedback</span></p>
<p>Feedback is the process of responding to user behavior.  The more feedback, the more the user knows that they are doing things.  A common flaw is to do something without providing feedback to the user that something is occurring.  We see this in lots of User Interfaces because almost all User Interfaces rely on a single thread model wherein the interface rendering and response happen on the same thread as most processing.  The developer who pushes processing off into other threads (or into WebWorkers in the Web space) can respond with appropriate feedback to the user without waiting for the process to resolve.</p>
<p>Feedback is a key factor in responsiveness of a site and responsiveness is a key factor in a sites usability.  The more response a site appear, the more users feel like they are in control of how the system is behaving.</p>
<p><span style="text-decoration: underline;">You Cannot Please Anyone</span></p>
<p>Just assume that no matter how great your user interface, not everyone is going to like it.  Instead, your goal should be to hit the 80% of user whom will like it.  There will always be edge users whom have different motivations and needs.  So upfront, identify all the users and determine what the 80% is that you can achieve.</p>
<p>Sure, it is possible to build an interface that scales to every type of user.  However, you will spend a disproportionate amount of time on the last 20% than on the middle 80%.  Think of a bell curve,and try to get the middle of that curve.</p>
<p>I know two sections back I just said to design for differences, but there is a separation between accessibility difference and designing for the edge users.</p>
<p><span style="text-decoration: underline;">Learn from your Mistakes</span></p>
<p>Finally, learn from your mistakes.  I always believe that next version of your interface will be superior to the previous version, largely because you learn from the problems your users had with the current one and build a tighter interface for the next one.</p>
<p>As a co-worker of mine often says: It’s an Iterative Process.</p>
<p><strong>Conclusion</strong></p>
<p>So that’s what I have for you.  My long answer to a friends very simple question.  I hope I did not insult my friend, but the reality is that things are much more complicated than his initial question assumes.  That said, maybe my last section really answers the question he wanted answered.  Remember, User Interface Design is extraordinarily complicated.</p>
<p>A Final Note:  This topic does not take into account the whole Graphic Design aspect of UI design.  For that is an entirely differently field of study.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/233/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Captain</title>
		<link>http://www.arei.net/archives/231</link>
		<comments>http://www.arei.net/archives/231#comments</comments>
		<pubDate>Fri, 21 Oct 2011 12:28:59 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[ultimate frisbee]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=231</guid>
		<description><![CDATA[So I&#8217;ve been doing the captaining thing for Ultimate Frisbee for a long time.  Generally speaking, I have great teams.  We don&#8217;t always win a lot, but we have a lot of fun in the process and I think just about everyone comes away having learned something and with renewed spirit in Ultimate. I always [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been doing the captaining thing for Ultimate Frisbee for a long time.  Generally speaking, I have great teams.  We don&#8217;t always win a lot, but we have a lot of fun in the process and I think just about everyone comes away having learned something and with renewed spirit in Ultimate. I always assumed that player&#8217;s on other teams where having just as great a time.</p>
<p>This summer I had to take a season off from captaining (too much on my plate already), but I would never give up playing, so I signed up as just a player.  I won&#8217;t bore you with the details, just a paraphrase of a Simspon&#8217;s character&#8230; <strong>Worst. Captain. Ever</strong>.  (And no I&#8217;m not talking about Janeway. Nerd Humor, sorry.)  Now, normally I&#8217;d just step in and take over, but like I said, too much on my plate already&#8230; and eventually someone did take over which helped to make the tourney very enjoyable.</p>
<p>Yet, this got me to thinking about what it meant to be a captain, what kind of person it takes, what it required, and what one got out of it. I kicked around a lot of notions, but eventually it occurred to me that <strong>anyone could be a decent captain if someone would just tell them how</strong>.  And then I started writing.</p>
<p><strong>So here, at last, is my article detailing that <a title="How To Captain" href="http://www.wafc.org/captain" target="_blank">How To Captain</a>.</strong></p>
<p>Go forth, read, and then sign up to captain.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/231/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweet and Like</title>
		<link>http://www.arei.net/archives/229</link>
		<comments>http://www.arei.net/archives/229#comments</comments>
		<pubDate>Fri, 10 Jun 2011 21:05:08 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=229</guid>
		<description><![CDATA[Today I removed comments from the site. I replaced them with tweet and like (facebook) buttons. Although I still maintain my stance that Facebook is dumb. Twitter on the otherhand, is the awesome. So, if you see something you like here, tweet about it. Or Like it if you swing that way.]]></description>
			<content:encoded><![CDATA[<p>Today I removed comments from the site. I replaced them with tweet and like (facebook) buttons. Although I still maintain my stance that Facebook is dumb. Twitter on the otherhand, is the awesome.</p>
<p>So, if you see something you like here, tweet about it. Or Like it if you swing that way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/229/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breweries to Watch</title>
		<link>http://www.arei.net/archives/227</link>
		<comments>http://www.arei.net/archives/227#comments</comments>
		<pubDate>Tue, 29 Mar 2011 18:08:11 +0000</pubDate>
		<dc:creator>arei</dc:creator>
				<category><![CDATA[beer]]></category>

		<guid isPermaLink="false">http://www.arei.net/?p=227</guid>
		<description><![CDATA[It&#8217;s been a long time since I posted, so here&#8217;s quickie to get me off and rolling again&#8230; TOP FIVE BREWERIES I&#8217;M WATCHING LATELY&#8230; Longtrail &#8211; Based out of middle Vermont where I spent most of my childhood Skiing.  They&#8217;ve put together some really great brews recently.  I&#8217;m especially big on their porter. Clipper City/Heavy [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since I posted, so here&#8217;s quickie to get me off and rolling again&#8230;</p>
<p>TOP FIVE BREWERIES I&#8217;M WATCHING LATELY&#8230;</p>
<p><a href="http://www.longtrail.com/" target="_blank">Longtrail</a> &#8211; Based out of middle Vermont where I spent most of my childhood Skiing.  They&#8217;ve put together some really great brews recently.  I&#8217;m especially big on their porter.</p>
<p><a href="http://www.hsbeer.com/" target="_blank">Clipper City/Heavy Seas</a> &#8211; This one is local for me which I normally would discount, but they continue to please me with their beers.  Favs include the Siren Noire and the fact that they are going to have beers at Camden Yards and I can stop drinking the swill there.  Also, if you get a chance to do the brewery tour, the staff is made up of the friendliest people on earth.</p>
<p><a href="http://www.boulderbeer.com/" target="_blank">Boulder</a> &#8211; I&#8217;ve had tons of their beers on tap and in bottles and the Obovoid Oatmeal Stout in a bottle is hands down my favorite.  I go out of my way for this brew and regularly stock it at home.  Although I do have to say that a Flash Website sucks.</p>
<p><a href="http://www.breckbrew.com/" target="_blank">Breckenridge</a> &#8211; So when I was actually in Breckenridge like 5 years ago for a friend&#8217;s wedding, we went here and I was unimpressed.  Lately though, these have started popping up all over the mid-atlantic and I&#8217;ve given them another chance to my pleasent surprise.  I suggested you do likewise.</p>
<p><a href="http://www.prattstreetalehouse.com/oliver-breweries/" target="_blank">Oliver&#8217;s</a> &#8211; I&#8217;m not crazy about Oliver&#8217;s beers when I get them in bottles or at bars EXCEPT for at <a href="http://www.prattstreetalehouse.com/" target="_blank">Pratt Street Alehouse</a>.  Oliver&#8217;s when it&#8217;s hand pumped, is one of my favorite things on earth.  Nothing is better than Real Ale, and Oliver&#8217;s Best Bitter is one of my favorites.  Look for me there prior to just about any Red Sox vs Orioles game.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arei.net/archives/227/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>



















