<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace V5 Site Server v5.13.594-SNAPSHOT-1 (http://www.squarespace.com) on Tue, 09 Jun 2026 09:09:32 GMT--><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cc="http://web.resource.org/cc/"><rss:channel rdf:about="http://openben.net/shinyblog/"><rss:title>shinyblog</rss:title><rss:link>http://openben.net/shinyblog/</rss:link><rss:description></rss:description><dc:language>en-US</dc:language><dc:date>2026-06-09T09:09:32Z</dc:date><admin:generatorAgent rdf:resource="http://www.squarespace.com/">Squarespace V5 Site Server v5.13.594-SNAPSHOT-1 (http://www.squarespace.com)</admin:generatorAgent><rss:items><rdf:Seq><rdf:li rdf:resource="http://openben.net/shinyblog/2023/6/25/benjiio-new-site.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2017/9/15/vscode-performance-fix-for-mac-os-x-sierra.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2016/2/2/resources-for-beginning-japanese.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2015/10/2/could-not-find-watchman-doesnt-actually-mean-it-cant-find-wa.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2015/8/25/what-makes-a-good-pull-request-description.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2014/12/23/mapping-rgb-colors-to-philips-hue-colors.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2014/1/18/michael-pollan-doesnt-understand-paleo.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2013/7/20/how-to-find-an-apartment-in-san-francisco.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2012/5/20/crossfit-games-regional-report.html"/><rdf:li rdf:resource="http://openben.net/shinyblog/2011/7/10/dear-recruiters.html"/></rdf:Seq></rss:items></rss:channel><rss:item rdf:about="http://openben.net/shinyblog/2023/6/25/benjiio-new-site.html"><rss:title>benji.io — new site</rss:title><rss:link>http://openben.net/shinyblog/2023/6/25/benjiio-new-site.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2023-06-25T17:38:01Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p><a href="https://benji.io"><em>Wow,</em> this site is old!</a></p>
<h2>Go to <a href="https://benji.io">benji.io</a> for fresh bits!</h2>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2017/9/15/vscode-performance-fix-for-mac-os-x-sierra.html"><rss:title>VSCode performance fix for Mac OS X Sierra</rss:title><rss:link>http://openben.net/shinyblog/2017/9/15/vscode-performance-fix-for-mac-os-x-sierra.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2017-09-15T16:30:10Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>I recently started using VSCode for my Ember development, and I like a lot about it... except, it was slow! I'd been using JetBrains IDEs for years, first RubyMine and then WebStorm, and I wanted to try something new &amp; shiny. (I like shiny things.)&nbsp;</p>
<p>When I ran Ember, Chrome, and VSCode together, horrible things happened. My CPU spiked and my computer crawled. From experience with Sublime and WebStorm, I suspected it was watching too many files. I found a setting that should have helped, but didn't help enough, and then _another setting that fixed the problem entirely_!&nbsp;</p>
<p>The new special setting is `files.watcherExclude`. Apparently just `files.exclude` isn't a strong enough signal that VSCode should _really, truly_ ignore those files.&nbsp;</p>
<div id="_mcePaste">```</div>
<div id="_mcePaste">&nbsp; "files.watcherExclude": {</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/.git/objects/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/.git/subtree-cache/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/node_modules/*/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/dist/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/tmp/**": true</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; },</div>
<div></div>
<div>
<div id="_mcePaste">&nbsp; "files.exclude": {</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/.git/objects/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/.git/subtree-cache/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/node_modules/*/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/dist/**": true,</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; &nbsp; "**/tmp/**": true</div>
<div id="_mcePaste">&nbsp; &nbsp; &nbsp; },</div>
</div>
<div id="_mcePaste">```&nbsp;</div>
<div></div>
<div>All of the IDEs I've used have required some tuning of this sort. With the JetBrains IDEs, we just have to configure the JVM properties, and the internet knows that pretty well... but I haven't found this fix for vscode mentioned anywhere yet. I hope it helps.&nbsp;</div>
<div></div>
<div></div>
<p>&nbsp;</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2016/2/2/resources-for-beginning-japanese.html"><rss:title>Resources for Beginning Japanese</rss:title><rss:link>http://openben.net/shinyblog/2016/2/2/resources-for-beginning-japanese.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2016-02-03T05:20:08Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>I have started learning Japanese! Partly to prepare for a trip in October, but also because I want to stretch my brain in different ways. It turns out that I really enjoy it.&nbsp;</p>
<p>I'm taking a face-to-face class at the Japan Society of California, but that's mostly just to get some experience with actual conversation with a native speaker. I'm actually mostly crafting my education myself. So, without further ado, here are some of my favorite resources:</p>
<p>&nbsp;</p>
<ul>
<li>Start with learning hiragana. The <a href="http://www.tofugu.com/guides/learn-hiragana/">Tofugu Guide to Learning Hiragana</a> is the best out there.&nbsp;</li>
<li><a href="http://realkana.com/">RealKana</a> is a good app and website for drilling hiragana and katakana. Unlike many other tools, it shows the characters in multiple fonts, and lets you choose which characters to drill.&nbsp;</li>
<li>I use the <a href="http://amzn.com/4789014401">Genki</a> textbook as my main text. The class I'm taking uses <a href="http://amzn.com/1568363850">Japanese for Busy People</a>; I like its focus on business people rather than college students, but the explanations are better in Genki.&nbsp;</li>
<li><a href="https://www.wanikani.com/">WaniKani</a>&nbsp;is a fantastic spaced-repetiton system for learning kanji and some vocabulary. It has a whole coherent system of mnemonics that are hilarious and fun.&nbsp;</li>
<li><a href="http://amzn.com/B00IBZ405W">Fluent Forever</a>&nbsp;is a book with a general approach to learning languages. The author suggests that I will get much more out of a deck that I build; so far I have found that to be true. &nbsp;</li>
<li><a href="http://ankisrs.net/">Anki</a>! Anki is a general spaced-repetition system -- aka flashcards, but better. There are many, many decks to download, but the act of making my own cards seems to help with retention.&nbsp;</li>
<li><a href="http://amzn.com/B00D1YY7MO">Pimsleur Japanese</a>. &nbsp;These audio lessons focus on conversation and seem to be obsessed with drinking alcohol. "Now ask the woman if she'd like to have a drink with you. Suggest that you meet at the hotel, or at Miss Suzuki's place." The rest of my materials don't ever prompt me to <em>produce</em> speech, and in the end I want to be able to <em>talk to people</em>, so this is a great resource.&nbsp;</li>
<li><a href="https://www.japanesepod101.com/">JapanesePod101.com</a>.&nbsp;This is fun supplement to everything else, good for conversation and culture, but not enough to actually learn Japanese. The dialog is almost all with native speakers, and it features an american guy who lives in Japan and talks about his experiences there.&nbsp;</li>
</ul>
<p>And then, I've tried out a few resources and decided they're not for me:</p>
<p>&nbsp;</p>
<ul>
<li>Rosetta Stone. I get access to this for free because I'm a Brown University alum -- nice perk. The problem is that Rosetta Stone is so focused on audio and way too devoted to their own method. It doesn't mix well with other resources. Once I'm in a lesson, it's very hard to skip forward. I'm usually frustrated with the pace when I'm in Rosetta Stone.&nbsp;</li>
<li>Rocket Japanese. My main problem with this is that half of the dialog is by the founder, who is a non-native speaker. Bah, I don't want to spend my time listening to an Englishman speak japanese.</li>
</ul>
<p>More to come as I discover more great stuff. What do you like? What have I missed?&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2015/10/2/could-not-find-watchman-doesnt-actually-mean-it-cant-find-wa.html"><rss:title>"Could not find watchman" doesn't actually mean it can't find watchman!</rss:title><rss:link>http://openben.net/shinyblog/2015/10/2/could-not-find-watchman-doesnt-actually-mean-it-cant-find-wa.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2015-10-03T04:02:44Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>I've been doing an <a href="www.ember-cli.com">ember-cli</a> upgrade, and I started seeing this error message when I start the server:</p>
<pre>$ ember serve
Could not find watchman, falling back to NodeWatcher for file system events.
Visit http://www.ember-cli.com/user-guide/#watchman for more info.</pre>
<p>This was frustrating because I knew I had watchman installed just fine!</p>
<pre>$ which watchman
/usr/local/bin/watchman</pre>
<p><a href="https://github.com/facebook/watchman/issues/69">This issue on the watchman repo</a> was helpful in figuring this out. Running <code>watchman watch .</code> gave a much more interesting error message:</p>
<pre>$ watchman watch .
/Users/benji/Library/LaunchAgents/com.github.facebook.watchman.plist: Operation already in progress ^C ```</pre>
<p>The solution for me was to tell <code>launchtl</code> to forget about watchman:</p>
<pre>$ launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist </pre>
<p>After that, ember-cli ran watchman just fine.</p>
<p>There's an <a href="https://github.com/ember-cli/ember-cli/issues/4773">issue</a> for this; I'm going to post a fix to clarify the language of the error.</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2015/8/25/what-makes-a-good-pull-request-description.html"><rss:title>What makes a good pull request description?</rss:title><rss:link>http://openben.net/shinyblog/2015/8/25/what-makes-a-good-pull-request-description.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2015-08-25T19:29:02Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>When you issue a pull request, you're saying, "I changed some code in this repository -- Please pull my change into the project." You should provide a PR description that tells reviewers what they need to know to evaluate your contribution. Better descriptions give better reviews, which end up with a higher-quality codebase.</p>
<p>Most PRs for a front-end web application should include all of these:</p>
<ul>
<li><strong>Purpose</strong>: what is this change trying to accomplish? Linking to specifications or tickets is fine, but you must include a one-sentence explanation in the PR description itself. </li>
<li><strong>Approach</strong>: how does this change accomplish its goal? Explain your approach's architecture at a high level. </li>
<li><strong>Worries</strong>: Is there anything weird here? Do you have any areas you want help?</li>
<li>Before &amp; after <strong>screenshots</strong>, if the change is visual</li>
<li><strong>How to use the feature</strong> or exercise the change. Just linking to a ticket with a bug description is not enough; tell the reviewer how they can verify for themselves that the feature is working as planned. </li>
</ul>
<p>Larger PRs should also include:</p>
<ul>
<li>Did you consider <strong>alternative approaches</strong>?  Why did you go with the approach you chose?</li>
<li>How does this <strong>relate to other work</strong>? Link to other PRs or describe future plans.</li>
</ul>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2014/12/23/mapping-rgb-colors-to-philips-hue-colors.html"><rss:title>Mapping RGB colors to Philips Hue colors</rss:title><rss:link>http://openben.net/shinyblog/2014/12/23/mapping-rgb-colors-to-philips-hue-colors.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2014-12-23T18:47:37Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>Converting to <a href="http://www.meethue.com">Philips Hue</a> color descriptors from colors picked in a web UI 
can be a bit tricky. Here's what I've come up with, which gets pretty close. The color descriptor is described
in <a href="http://www.developers.meethue.com/documentation/lights-api#15_set_light_attributes_rename">the Hue API docs (free account required)</a>.
There are several other js libraries that work with Hue, but I wanted to build my own. </p>

<p>I'm using the <a href="https://github.com/jquery/jquery-color/">jQuery Color plugin</a> to convert RGB
to HSV. 
Tinycolor will work too, but I went with jQuery Color because it allows CSS transitions
with <code>$.anmiate</code>. </p>

<p>Here's the code:</p>

<pre><code>var HueService = {
  colorToHueHsv: function (color) {
    var jqc = $.Color(color);
     return {
       "hue" : Math.floor(65535 * jqc.hue() / 360),
       "sat": Math.floor(jqc.saturation() * 255),
       "bri": Math.floor(jqc.lightness() * 255)
     }
  }
}
</code></pre>

<p>The input to the function can be anything that jQuery Color can interpret as a color.
For instance, there's a lilac color I like, <code>#676de8</code>.</p>

<p>So I can do 
<code>HueService.colorToHueHsv('#676de8')</code>
and get back <code>{hue: 43143, sat: 187, bri: 167}</code>. </p>

<p>I then turn on one of my lights to that color with a PUT to 
<code>http://10.0.1.3/api/myusername/lights/3/state</code> with form data
 <code>{"on":true,"hue":43143,"sat":187,"bri":167}</code></p>

<p>Assuming I've authenticated to the Hue bridge, the light turns on with pretty much that color. 
I don't think I have the brightness and saturation mapped quite correctly; it's tricky because 
the Hue 0-1 space for brightness has 0 at "the lowest brightness possible with the bulb still on". 
I'll keep tuning this -- check the <a href="https://github.com/benshine/sunrise-hues/blob/master/app/scripts/services/hue-service.js">source</a> 
for updates. </p>

<p>I'm using this code in my <a href="https://github.com/benshine/sunrise-hues">Sunrise Hues project</a>, which lets me 
build custom sunrises as a gentle alarm clock.</p>
]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2014/1/18/michael-pollan-doesnt-understand-paleo.html"><rss:title>Michael Pollan Doesn't Understand Paleo</rss:title><rss:link>http://openben.net/shinyblog/2014/1/18/michael-pollan-doesnt-understand-paleo.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2014-01-18T17:20:54Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p class="p1">This article, "<a href="http://www.motherjones.com/environment/2014/01/michael-pollan-paleo-diet-inquiring-minds">Michael Pollan Explains What's Wrong With the Paleo Diet</a>", makes several incorrect assumptions about the paleo diets -- starting with the idea that there is one "paleo diet". The paleo idea is a template from which people pick the variety that is right for them -- lower carbs for people who are overweight, higher carb for people who do lots of physical activity, no nightshades for people with certain conditions, raw dairy for people who enjoy it and can handle it.</p>
<p class="p1">Michael Pollan criticized a caricature of the paleo diet, not the diet as it's recommended by clinicians for healing sick people. Healing sick people is what's really interesting to me about the paleo diet.&nbsp;</p>
<p class="p2">&nbsp;</p>
<ol>
<li>Lots of meat every day is not a requirement for paleo. Most authors who talk about proportions say more like 10-30% of calories from protein, which ends up being 3-4 x 3-6 ounces of protein per meal. Giant hunks of meat are a stereotype from recreational bloggers, not clinician who are trying to fix sick people. Quality of meat is a HUGE deal in paleo; I eat pastured meat almost exclusively. If I could afford to eat wild meat more often, I would; I only eat wild fish.&nbsp;</li>
<li>Fine, humans can live on bread alone, but are they *healthiest* living on bread alone? Certainly not. Getting nutrients from bread is fine if you don't have better options. &nbsp;</li>
<li>Paleo strongly encourages fermented foods like kimchee, sauerkraut, and pickles -- just the fermented foods that don't rely on grains as the substrate.&nbsp;</li>
<li>Paleo doesn't suggest that you eat all or even most of your food raw; the paleo authors I respect strongly endorse cooking vegetables as a way to make them easier to digest and easier to absorb the nutrients, for exactly the reasons in that article.&nbsp;</li>
<li>Cook more? Paleo is all about cooking, because food like this simply can't be gotten at restaurants. &nbsp;</li>
</ol>
<p>&nbsp;</p>
<p class="p1">But mostly, I'm not saying paleo is right for everyone and everyone should eat it all the time. I'm saying that paleo cures or dramatically improves some autoimmune conditions, and thus it's worth a real trial for people who are sick.</p>
<p class="p1">These ideas are mostly drawn from the writings of <a href="chriskresser.com">Chris Kresser</a> and <a href="robbwolf.com">Robb Wolf</a>. I highly recommend <a href="http://personalpaleocode.com/">Chris Kresser's book, Your Personal Paleo Code</a>, which has a procedure for figuring out what version of paleo is right for you</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2013/7/20/how-to-find-an-apartment-in-san-francisco.html"><rss:title>how to find an apartment in san francisco</rss:title><rss:link>http://openben.net/shinyblog/2013/7/20/how-to-find-an-apartment-in-san-francisco.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2013-07-20T15:52:40Z</dc:date><dc:subject>housing</dc:subject><content:encoded><![CDATA[<p>I just went through an apartment hunt in San Francisco that ended with me renting a beautiful loft in Oakland. Here's what I learned from the hunt:&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li><strong>It will cost more than you want to pay</strong>. Get used to it. For me, the value proposition wasn't there, so I started looking in the east bay, and fell in love with a property that was literally 4x the size of what I could get in <span class="caps">SF.</span>&nbsp;</li>
<li>Quit smoking.</li>
<li>Figure out what you want, then figure out whether that sort of thing is available where you want to live, for the price you want to pay. If it's not, don't waste time looking for it; change the nature of your search.&nbsp;</li>
<li>If you don't know the area, talk to your friends and colleagues. <strong>Bay Area neighborhoods change block-by-block</strong>. I printed out a map of Berkeley and Oakland and had friends mark it up with different-colored markers. Then go look around at neighborhoods, before you even bother looking at craigslist postings.&nbsp;</li>
<li><strong>Check your credit report as soon as you know you will move</strong>, and fix it.</li>
<li>Prepare a <strong>rental resume</strong>: present and former apartments, and the one before that. Landlords, with phone numbers. Reason for leaving, dates you lived there. Personal references with phone numbers. (Lots of people will want you to fill out their unique application, but having all this info will make that easier.)</li>
<li>Go to <strong>open houses</strong> early in your search. They will help you get a sense of prices in the area you're looking, so go even before you are really ready to rent. They are also much less hassle to schedule than 1:1 viewings. Just search for "open house" on craigslist.</li>
<li>Apartments in this market appear on craigslist and are rented within days. Use <a href="http://livelovely.com">livelovely.com</a> or <a href="http://padmapper.com">padmapper.com</a> to set up <strong>alerts for exactly what you want</strong>, and contact the lister immediately. (If your filters aren't specific enough, you will be deluged with too many alerts.)</li>
<li>Corrolary: <strong>confirm that the listing is still available before going to an open house</strong>.&nbsp;</li>
</ul>
<ul>
<li>Get a written letter that verifies your length of employment and salary, with the phone number and email of a HR department that can verify it.&nbsp;</li>
<li>Print out several copies of your credit report and bring it with you to open houses and viewings. Some landlords want you to provide it and others want to run their own credit report.&nbsp;</li>
<li>At open houses, dress like a responsible and boring person.&nbsp;</li>
<li><strong>Arrive early for open houses</strong> and meetings with realtors. I mean <span class="caps">EARLY.</span> 15 minutes minimum. Why: 1) it looks good. 2) you can spend some time in the area. 3) You're probably going to get lost / the buses are going to be late / the traffic is going to be bad.&nbsp;</li>
<li>If you find something you love, try to <strong>view it before the open house</strong>. Everything nice is going to get tons of applicants. Being there first matters.&nbsp;</li>
<li>Have a non-trivial conversation with property owners and leasing managers. Thank them for their time. Ask them about themselves, their business, what they think about the bay area. This isn't just Dale Carnegie bullshit -- this is auditioning <em>them</em> for the <strong>long-term relationship</strong> you will have if you rent from them.&nbsp;</li>
<li><strong>Read reviews on yelp</strong> before even going to see developments. I wouldn't have bothered driving to Park Merced if I had read <a href="http://www.yelp.com/biz/parkmerced-san-francisco#hrid:UcdrrDpMXWa4oo9gysCCuA">reviews like this</a> before I went. Most of the developments have extensive shitty reviews, in fact.&nbsp;</li>
<li>You can walk in to buildings and developments and get a tour during the week, but you'd need an appointment on the weekend. I suggest not making appointments; take a day off during the week and go see a bunch of developments.&nbsp;</li>
<li>If you can break free of public transit, you have a ton more options. <strong>Consider buying a little motorcycle</strong> or bicycle. I pay &lt; $250/month for my motorcycle and insurance, and that enables me to look much farther away from bus routes than I could otherwise -- but I can park easily park it on the street, and my heart wouldn't be broken if it was stolen.&nbsp;</li>
</ul>
<p>&nbsp;</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2012/5/20/crossfit-games-regional-report.html"><rss:title>crossfit games regional report</rss:title><rss:link>http://openben.net/shinyblog/2012/5/20/crossfit-games-regional-report.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2012-05-21T03:34:46Z</dc:date><dc:subject>crossfit</dc:subject><content:encoded><![CDATA[<p class="p1">This weekend, I was a volunteer at the <a href="http://games.crossfit.com/article/regional-report-battle-games-norcal">CrossFit Games NorCal Regionals</a>. There were way more volunteers than necessary, and my team leader was overworked, so he didn't give me any specific responsibilities. However, my volunteer bracelet served as an <a href="https://twitter.com/#!/bshine/status/203285746512175107">all-access pass</a>, so I hung around the control tent, where the <a href="https://twitter.com/#!/bshine/status/203614752663027712">athletes</a> <a href="https://twitter.com/#!/bshine/status/203952325507813377">lined up</a> to go on the field, then <a href="https://twitter.com/#!/sritchie09/status/203999251385155585">staggered off afterwards</a>.</p>
<p class="p1">The first cool thing that happened was that I spotted Bob Harper, said hello, then <a href="https://twitter.com/#!/bshine/status/203947013564399616">tweeted a picture</a> of him.&nbsp;</p>
<p class="p1">More hanging around, until the head judge realized at the last minute that he didn't have enough people. He asked for volunteers, so I walked up. My job was simple:&nbsp;&nbsp;</p>
<ul>
<li>Watch each team member row 1000 meters.</li>
<li>Make sure they held on to the handle for the entire 1000m.</li>
<li><a href="https://twitter.com/#!/bshine/status/203582426096742400">Hit the reset button between athletes</a>.</li>
</ul>
<p class="p1">So I stood around and hit one button over and over. It turned out that the team I was judging set a worldwide competition record for that event, and a picture of them <a href="http://www.crossfit.com/mt-archive2/008367.html">ended up on the crossfit.com main site</a>... <a href="http://www.crossfit.com/mt-archive2/assets_c/2012/05/CFGR2012_NorCal_TJsGym-10374.html">with me standing behind the rower</a>, ready to press buttons.&nbsp;</p>
<p class="p2">The head judge asked for volunteers again the next day, and&nbsp;this time someone handed me a JUDGE t-shirt as I was running onto the field for the final team competition. I pulled it on, but then the head judge realized he had enough people after all. I got to keep the shirt, but didn't have to judge; best of both worlds, because judging the final team event looked complicated and stressful, not to mention sunburny.</p>
<p class="p1">I noticed that the athlete's warm-up area was a total mess: water bottles and tape everywhere, dumbbells and plates scattered, not enough equipment... so I decided to <a href="https://twitter.com/#!/bshine/status/203964569218064384">tidy it up</a> and keep it stocked. I set up the 345-pound barbell that all the individual men used to warm up for their final event, and all the athletes chalked up in the chalk buckets that I kept full. Each athlete <a href="https://twitter.com/#!/bshine/status/204308735349374977">selected the height they wanted for the rings</a>, and at least one of them <a href="https://twitter.com/#!/bshine/status/204316536545091585">left some blood behind</a>. I saw all the athletes up close;&nbsp;the men are really big and ripped, and most of the women are pretty small and ripped, except for their thighs, which are tremendous. This also put me in position to observe the athletes as they came off the field after each event, usually covered with sweat and dust.</p>
<p class="p1">I didn't know what volunteering would be like; the only part of my prediction that was spot-on is that my neck got sunburnt.&nbsp;</p>
<p class="p1"><strong>To get involved in an event, volunteer. If you're not given specific tasks, you can still contribute</strong>, with this passive/active couplet:&nbsp;</p>
<p class="p1">a) Cultivate passive availability: <em>stand around where things are happening and be available</em>.</p>
<p class="p1">b) Cultivate active service: <em>look for ways to contribute, then jump in</em>.</p>
<p class="p1">Also,&nbsp;</p>
<p class="p1">c) A sunburn is a <em>reasonable price to pay </em>to be this close to champions.</p>]]></content:encoded></rss:item><rss:item rdf:about="http://openben.net/shinyblog/2011/7/10/dear-recruiters.html"><rss:title>dear recruiters</rss:title><rss:link>http://openben.net/shinyblog/2011/7/10/dear-recruiters.html</rss:link><dc:creator>benjamin shine</dc:creator><dc:date>2011-07-10T15:28:05Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>Dear recruiters,</p>
<p>I work at Twitter. It's the best job I've ever had. I love working with all of these incredibly smart and whimsical people. I love contributing to a site with millions of visitors. I'm working with all of the technologies I want to work with, and my co-workers created some of those technologies. The perks are delicious and the commute is just long enough to stretch my legs.&nbsp;<em>I'm not interested in pursuing other opportunities.</em>&nbsp;Thank you for your interest.&nbsp;</p>
<p>-ben</p>]]></content:encoded></rss:item></rdf:RDF>