<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Daniel Bachhuber</title>
    <link>https://danielbachhuber.com/</link>
    <description>Recent content on Daniel Bachhuber</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 18 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://danielbachhuber.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>New gear: Evergoods Civic Travel Bag 20L</title>
      <link>https://danielbachhuber.com/new-gear-evergoods-civic-travel-bag-20l/</link>
      <pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-gear-evergoods-civic-travel-bag-20l/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/old-new-backpacks.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;After over fifteen years as a faithful travel companion, I&amp;rsquo;m retiring my beloved 28L Patagonia Refugio backpack. The shoulder strap started tearing off and I&amp;rsquo;m too embarrassed to take it to the dry cleaner for another repair.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://evergoods.us/collections/backpacks/products/civic-travel-bag&#34;&gt;20L Evergoods Civic Travel Bag&lt;/a&gt; is its replacement. Interestingly, it seems to have a very similar functional volume to the Patagonia bag. I am extremely confused about how backpack manufacturers measure the volume of their backpacks.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/old-new-backpacks.jpg" alt=""  width="2400"
	height="1600"  /></p>
<p>After over fifteen years as a faithful travel companion, I&rsquo;m retiring my beloved 28L Patagonia Refugio backpack. The shoulder strap started tearing off and I&rsquo;m too embarrassed to take it to the dry cleaner for another repair.</p>
<p>The <a href="https://evergoods.us/collections/backpacks/products/civic-travel-bag">20L Evergoods Civic Travel Bag</a> is its replacement. Interestingly, it seems to have a very similar functional volume to the Patagonia bag. I am extremely confused about how backpack manufacturers measure the volume of their backpacks.</p>
<p>I settled upon the Civic Travel Bag after a couple months of research, and a failed purchase of the <a href="https://aersf.com/collections/backpacks/products/travel-pack-3-small">Aer Travel Pack 3 Small</a>. My key criteria:</p>
<ul>
<li><strong>Form factor</strong>. It could be no larger than the Patagonia backpack. I use this backpack as my personal bag during travel and it has to fit under the seat in front of me. As I discovered with the Aer bag, inches matter.</li>
<li><strong>Dedicated laptop access</strong>. I didn&rsquo;t want to spill everything out of the main compartment when I wanted to get my iPad or laptop out.</li>
<li><strong>Small top compartment</strong>. Dedicated access to a smaller compartment for my AirPods, passport, etc.</li>
<li><strong>Professional setting-friendly</strong>. I also need to use the bag as my daily bag to meetings during work travel.</li>
<li><strong>Holds a 32 oz water bottle</strong>. Staying hydrated during long-haul flights is one of my jet lag prevention tricks. My Patagonia bag was flexible enough to fit a 32 oz Nalgene in its main compartment. While this isn&rsquo;t quite true for the Evergoods, I found a <a href="https://squak.com/products/squaker-bottle">narrow 32 oz bottle that fits in its exterior water bottle pocket</a>.</li>
</ul>
<p>AI was helpful-ish in my search. I think I came across the Evergoods brand thanks to Gemini. However, it also provided a lot of suggestions that didn&rsquo;t really meet my criteria so I still did plenty of manual digging. The <a href="https://www.reddit.com/r/onebag/">OneBag community on Reddit</a> helped me the most, especially <a href="https://docs.google.com/spreadsheets/d/1fSt_sO1s7moXPHbxBCD3JIKPa8QIZxtKWYUjD6ElZ-c/edit">their crowdsourced spreadsheet</a> which was invaluable for considering a range of options.</p>
<p>My one hesitation about the Evergoods bag: it is much stiffer than my Patagonia backpack. I think it will be fine in the long term but it&rsquo;s made me realize how I much appreciated my Patagonia&rsquo;s soft duffel-like nature.</p>
<p>A final note on the Aer Travel Pack 3 Small: it&rsquo;s too big as a personal item. Obvious in hindsight, but not obvious if you&rsquo;re shopping based on volume. I loaded it up for a recent trip, gave it one last look before going to the airport, and rightfully got cold feet as I realized I wasn&rsquo;t going to get it past the gate agent. Nor was it going to give me any space at my feet.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Vietnam, January 2026</title>
      <link>https://danielbachhuber.com/vietnam-january-2026/</link>
      <pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/vietnam-january-2026/</guid>
      <description>&lt;p&gt;With the rise of the “warm embrace of collectivism” in the United States, Vietnam is a great place to visit if you’d like to see communism in action. Red posters line the highways with slogans like “Build our Party to be truly ethical and civilized!” Ho Chi Minh statues feature prominently in parks, and hammer and sickle flags wave in many shop fronts. The Ministry of Public Safety buildings are especially large and imposing. Just don’t get on the wrong side of the authorities, though, as a family friend once did. Ten months in a Vietnamese prison isn’t that pleasant.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>With the rise of the “warm embrace of collectivism” in the United States, Vietnam is a great place to visit if you’d like to see communism in action. Red posters line the highways with slogans like “Build our Party to be truly ethical and civilized!” Ho Chi Minh statues feature prominently in parks, and hammer and sickle flags wave in many shop fronts. The Ministry of Public Safety buildings are especially large and imposing. Just don’t get on the wrong side of the authorities, though, as a family friend once did. Ten months in a Vietnamese prison isn’t that pleasant.</p>
<p>On December 26th, Leah, Ava, Charlie, and I cleaned up all of our Christmas decorations and then flew out to eat for twelve days in Hanoi, Bai Tu Long Bay, Can Tho, and Saigon. We never had a bad meal: bánh mì, bun cha, chả cá, nem nướng, copious amounts of seafood, and even really decent Mexican on our last night. Everything is fresh in Vietnam, and you notice it in the food.</p>
<p>Other trip highlights include:</p>
<ul>
<li>Hanoi:
<ul>
<li>Shopping lots of brand name apparel at surprising discounts (Ava)</li>
<li>Walking around Hoan Kiem Lake, which apparently becomes quite the scene as Tet approaches (Leah, Daniel)</li>
</ul>
</li>
<li>Bai Tu Long Bay:
<ul>
<li>Seeing the majestic nature of the limestone rock formations from the sun deck of the Dragon Legend 2 (Leah, Daniel)</li>
<li>Everything about the <a href="https://www.indochina-junk.com/">Indochina Junk cruise</a> (Charlie)</li>
<li>BBQ lunch on the beach, and then getting to swim in the ocean (Ava)</li>
</ul>
</li>
<li>Can Tho:
<ul>
<li>Eating dinner at Nem Nướng Thanh Vân — so good, we went twice (Leah)</li>
<li>Running with the hotel staff run club at <a href="https://www.victoriahotels.asia/en/victoria-can-tho-resort/">Victoria Can Tho</a> (Daniel, Leah)</li>
<li>Touring Mười Cương Cacao Farm with the owner, Mr. Bean, as our guide (Daniel)</li>
<li>Pool time (Ava, Charlie)</li>
</ul>
</li>
<li>Saigon:
<ul>
<li>Touring the Ben Thanh market and taking a <a href="https://www.provincialtable.vn/">Vietnamese cooking class</a> (Ava, Charlie, Leah, Daniel)</li>
<li>Not the War Remnants Museum (Charlie)</li>
<li>Waiting out the downpour on our last full day, and then getting soaked when we gave up and ran for it (Daniel)</li>
</ul>
</li>
</ul>
<p>I think Leah and I pride ourselves on being somewhat “off the beaten path” travelers. In the case of Vietnam, I was perfectly fine to stay on the tourist track. The tourist-specific areas we stayed in and the organized activities we did were delightful ways to experience the country. Additionally, so many people visit the country that it feels like it would be inappropriate to journey off trail.</p>
<p>But, there is one way visiting Vietnam was extremely uncomfortable: the shame of being an American. The violence we perpetrated on the country is very difficult to see, and even more unfathomable is how kind and generous its people still are. I was especially touched by how eager Mr. Bean was to tell me of the places he visited in the US while training for his two year stint as a South Vietnamese army helicopter pilot.</p>
<p>Lastly, if you do think socialism or communism are great political systems to aspire to, I’d encourage you to organize a protest in Vietnam and let me know how it goes. There’s a reason there’s very little crime in the country.</p>
<p>I took a lot of photos with my iPhone, but I like the few I took with my Nikon Zf the best.</p>
<p><img src="images/DSC_1179.jpeg" alt="Ava, Leah, and Charlie on the sun deck of the Dragon Legend 2"  width="2400"
	height="1600"  /></p>
<p><img src="images/DSC_1244.jpeg" alt="The fresh produce available in Ben Thanh market"  width="2400"
	height="1600"  /></p>
<p><img src="images/DSC_1258.jpeg" alt="Ava sitting under cover and waiting for the rain to stop"  width="2400"
	height="1600"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Notes from The Science of Storytelling</title>
      <link>https://danielbachhuber.com/notes-from-the-science-of-storytelling/</link>
      <pubDate>Sat, 01 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/notes-from-the-science-of-storytelling/</guid>
      <description>&lt;p&gt;Some people are natural storytellers. They immediately captivate their audience and pull them through laughter, anticipation, and joy.&lt;/p&gt;&#xA;&lt;p&gt;Other people read books about storytelling. Spoiler alert! Here are my notes on everything I found interesting in &lt;a href=&#34;https://www.goodreads.com/book/show/43183121-the-science-of-storytelling&#34;&gt;&lt;em&gt;The Science of Storytelling&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Many stories begin with unexpected change and then continue with that. Change is endlessly fascinating to brains.&lt;/li&gt;&#xA;&lt;li&gt;Storytellers create moments of unexpected change that sees the attention of their protagonist and, by extension, their readers.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moments of unexpected change can create curiosity, for example, “where’s papa going with that ax?“&lt;/li&gt;&#xA;&lt;li&gt;The unsaid threat of change can be just as effective.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;The more context we learn about a mystery, the more anxious we become to solve it.&lt;/li&gt;&#xA;&lt;li&gt;The place of maximum curiosity is when people think they have some idea about the dramatic question, but aren’t quite sure.&lt;/li&gt;&#xA;&lt;li&gt;We experience the stories we read by building hallucinated models of them in our head.&lt;/li&gt;&#xA;&lt;li&gt;Transative and active sentence construction make the scene more realistic because they make it easier for our brains to visualize, e.g. &amp;ldquo;Sarah opened the door&amp;rdquo; instead of &amp;ldquo;the door was opened.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Don’t say something was “delightful”; say it in such a way that the reader thinks “that was delightful“ after reading it.&lt;/li&gt;&#xA;&lt;li&gt;We are wired to be fascinated by others and get valuable information from their faces.&lt;/li&gt;&#xA;&lt;li&gt;Our ability to develop a &amp;ldquo;theory of mind” enables us to imagine what others are thinking, feeling, and plotting, even when they’re not present. But, we tend to dramatically overestimate our ability to understand others. Our errors about what others are thinking are major cause of human drama.&lt;/li&gt;&#xA;&lt;li&gt;Cause and effect is a fundamental way that brains understand the world. &amp;ldquo;Bananas.&amp;rdquo; &amp;ldquo;Vomit.&amp;rdquo;&amp;rdquo; Your mind automatically forms an association between the two.&lt;/li&gt;&#xA;&lt;li&gt;Cause and effect are ambiguous in high literature to give the reader more to ponder and decode. However, they&amp;rsquo;re much more literal in commercials for mass appeal.&lt;/li&gt;&#xA;&lt;li&gt;The gaps in explanation are all of the places where the audience inserts themselves. Good stories meld the reader&amp;rsquo;s world with the story&amp;rsquo;s world.&lt;/li&gt;&#xA;&lt;li&gt;Characters are interesting because of their flaws.&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;Naïve realism&amp;rdquo; is where you see your reality as true and everyone else’s perception of reality as flawed&lt;/li&gt;&#xA;&lt;li&gt;When designing a character it’s helpful to think of them from the perspective of their theory of control. How do they handle the unexpected? The theory of control is often challenged at the story start.&lt;/li&gt;&#xA;&lt;li&gt;Personality is measured on five spectrums: neuroticism, extra version, openness, agreeableness, and conscientiousness. Men tend to be more disagreeable and less neurotic than women.&lt;/li&gt;&#xA;&lt;li&gt;Personality is significantly heritable.&lt;/li&gt;&#xA;&lt;li&gt;Our habit of leaving details in our environment is why journalist prefer to interview people at home.&lt;/li&gt;&#xA;&lt;li&gt;Western culture has a three part story arc: crisis, struggle, resolution. Stems from Aristotle in ancient Greece.&lt;/li&gt;&#xA;&lt;li&gt;in Asia, a story typically involves a character who makes a grand sacrifice for everyone else. There’s typically no ending and you have to find the answer for yourself.&lt;/li&gt;&#xA;&lt;li&gt;Stories are lessons in control.&lt;/li&gt;&#xA;&lt;li&gt;We react to foreign ideas with the same fight or flight response we might use for a physical attack. The beliefs we fight to defend are those that we’ve centered our identity, values, and theory of control around.&lt;/li&gt;&#xA;&lt;li&gt;Good stories have an ignition point, the first step in the cause and effect series.&lt;/li&gt;&#xA;&lt;li&gt;Our sense of moral superiority is one of the strongest hallucinations our mind imposes upon us. Our mind craftily rewrites the past to center us as the hero in the story. Our sense of who we are is heavily dependent on our memories, and our memories aren’t to be trusted.&lt;/li&gt;&#xA;&lt;li&gt;Our brains also confabulate or invent lies to explain our behavior, lies that are perfectly believable.&lt;/li&gt;&#xA;&lt;li&gt;We ourselves aren&amp;rsquo;t just one person. Multiplicity is all of the characters that we hold within ourselves competing for control of how we act. These are expressed as anger, depression, rage, happiness.&lt;/li&gt;&#xA;&lt;li&gt;Characters tend to have both conscious and subconscious desires, often contradicting one another.&lt;/li&gt;&#xA;&lt;li&gt;We&amp;rsquo;ve spent more than 95% of our time on Earth existing in tribes, and much of the neural architecture we still carry around today evolved when we were doing so. For example, people still prefer to sleep as far from their bedroom door as possible and with a clear view of it.&lt;/li&gt;&#xA;&lt;li&gt;Most gossip is about moral infractions: people breaking the rules of the group.&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;A common feature of our hero-making cognition seems to be that we all tend to feel like this – relatively low in status and yet actually, perhaps secretly, possessing the skills and character of someone deserving of a great deal more.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Hubris is when unsound claims are made to status. Status is always earned. Humiliation is the removal of any ability to claim status.&lt;/li&gt;&#xA;&lt;li&gt;“Goal-direction is the foundational mechanism on top of which all our other urges are built. The basic Darwinian aim of all life forms is to survive and reproduce. Because of the peculiarities of our evolutionary history, human strategies to attain these goals centre on achieving connection with tribes, and on status within them. On top of these deep universals sits everything else we desire. […] What we see and feel, at any given moment, depends on what we’re trying to get – when we’re caught in the street in a downpour, we don’t see shops and trees and doorways and awnings, we see places of shelter.”&lt;/li&gt;&#xA;&lt;li&gt;Multiplayer video games are so popular because they feed three important cravings: connection, status, and a goal to pursue.&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;The fundamental human value is the struggle towards a meaningful goal.”&lt;/li&gt;&#xA;&lt;li&gt;When all of the good is on your side and all of the bad is on theirs, that&amp;rsquo;s your storytelling brain running in full.&lt;/li&gt;&#xA;&lt;li&gt;The job of the plot is to plot against the protagonist. The hostile and alien environment will test their theory of control again and again. All along, the character can change, the character’s goal can change, the reader’s understanding of the character can change, etc.&lt;/li&gt;&#xA;&lt;li&gt;A gripping plot keeps asking the dramatic question, or the big, central question that drives suspense (e.g. “will they or won’t they catch the murderer?”)&lt;/li&gt;&#xA;&lt;li&gt;The five act plot structure is equivalent to the 3.5 minute pop song.&lt;/li&gt;&#xA;&lt;li&gt;One common story shape: ‘Things get worse and worse until, at the last minute, they get better.’&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>Some people are natural storytellers. They immediately captivate their audience and pull them through laughter, anticipation, and joy.</p>
<p>Other people read books about storytelling. Spoiler alert! Here are my notes on everything I found interesting in <a href="https://www.goodreads.com/book/show/43183121-the-science-of-storytelling"><em>The Science of Storytelling</em></a>.</p>
<ul>
<li>Many stories begin with unexpected change and then continue with that. Change is endlessly fascinating to brains.</li>
<li>Storytellers create moments of unexpected change that sees the attention of their protagonist and, by extension, their readers.
<ul>
<li>Moments of unexpected change can create curiosity, for example, “where’s papa going with that ax?“</li>
<li>The unsaid threat of change can be just as effective.</li>
</ul>
</li>
<li>The more context we learn about a mystery, the more anxious we become to solve it.</li>
<li>The place of maximum curiosity is when people think they have some idea about the dramatic question, but aren’t quite sure.</li>
<li>We experience the stories we read by building hallucinated models of them in our head.</li>
<li>Transative and active sentence construction make the scene more realistic because they make it easier for our brains to visualize, e.g. &ldquo;Sarah opened the door&rdquo; instead of &ldquo;the door was opened.&rdquo;</li>
<li>Don’t say something was “delightful”; say it in such a way that the reader thinks “that was delightful“ after reading it.</li>
<li>We are wired to be fascinated by others and get valuable information from their faces.</li>
<li>Our ability to develop a &ldquo;theory of mind” enables us to imagine what others are thinking, feeling, and plotting, even when they’re not present. But, we tend to dramatically overestimate our ability to understand others. Our errors about what others are thinking are major cause of human drama.</li>
<li>Cause and effect is a fundamental way that brains understand the world. &ldquo;Bananas.&rdquo; &ldquo;Vomit.&rdquo;&rdquo; Your mind automatically forms an association between the two.</li>
<li>Cause and effect are ambiguous in high literature to give the reader more to ponder and decode. However, they&rsquo;re much more literal in commercials for mass appeal.</li>
<li>The gaps in explanation are all of the places where the audience inserts themselves. Good stories meld the reader&rsquo;s world with the story&rsquo;s world.</li>
<li>Characters are interesting because of their flaws.</li>
<li>&ldquo;Naïve realism&rdquo; is where you see your reality as true and everyone else’s perception of reality as flawed</li>
<li>When designing a character it’s helpful to think of them from the perspective of their theory of control. How do they handle the unexpected? The theory of control is often challenged at the story start.</li>
<li>Personality is measured on five spectrums: neuroticism, extra version, openness, agreeableness, and conscientiousness. Men tend to be more disagreeable and less neurotic than women.</li>
<li>Personality is significantly heritable.</li>
<li>Our habit of leaving details in our environment is why journalist prefer to interview people at home.</li>
<li>Western culture has a three part story arc: crisis, struggle, resolution. Stems from Aristotle in ancient Greece.</li>
<li>in Asia, a story typically involves a character who makes a grand sacrifice for everyone else. There’s typically no ending and you have to find the answer for yourself.</li>
<li>Stories are lessons in control.</li>
<li>We react to foreign ideas with the same fight or flight response we might use for a physical attack. The beliefs we fight to defend are those that we’ve centered our identity, values, and theory of control around.</li>
<li>Good stories have an ignition point, the first step in the cause and effect series.</li>
<li>Our sense of moral superiority is one of the strongest hallucinations our mind imposes upon us. Our mind craftily rewrites the past to center us as the hero in the story. Our sense of who we are is heavily dependent on our memories, and our memories aren’t to be trusted.</li>
<li>Our brains also confabulate or invent lies to explain our behavior, lies that are perfectly believable.</li>
<li>We ourselves aren&rsquo;t just one person. Multiplicity is all of the characters that we hold within ourselves competing for control of how we act. These are expressed as anger, depression, rage, happiness.</li>
<li>Characters tend to have both conscious and subconscious desires, often contradicting one another.</li>
<li>We&rsquo;ve spent more than 95% of our time on Earth existing in tribes, and much of the neural architecture we still carry around today evolved when we were doing so. For example, people still prefer to sleep as far from their bedroom door as possible and with a clear view of it.</li>
<li>Most gossip is about moral infractions: people breaking the rules of the group.</li>
<li>&ldquo;A common feature of our hero-making cognition seems to be that we all tend to feel like this – relatively low in status and yet actually, perhaps secretly, possessing the skills and character of someone deserving of a great deal more.&rdquo;</li>
<li>Hubris is when unsound claims are made to status. Status is always earned. Humiliation is the removal of any ability to claim status.</li>
<li>“Goal-direction is the foundational mechanism on top of which all our other urges are built. The basic Darwinian aim of all life forms is to survive and reproduce. Because of the peculiarities of our evolutionary history, human strategies to attain these goals centre on achieving connection with tribes, and on status within them. On top of these deep universals sits everything else we desire. […] What we see and feel, at any given moment, depends on what we’re trying to get – when we’re caught in the street in a downpour, we don’t see shops and trees and doorways and awnings, we see places of shelter.”</li>
<li>Multiplayer video games are so popular because they feed three important cravings: connection, status, and a goal to pursue.</li>
<li>&ldquo;The fundamental human value is the struggle towards a meaningful goal.”</li>
<li>When all of the good is on your side and all of the bad is on theirs, that&rsquo;s your storytelling brain running in full.</li>
<li>The job of the plot is to plot against the protagonist. The hostile and alien environment will test their theory of control again and again. All along, the character can change, the character’s goal can change, the reader’s understanding of the character can change, etc.</li>
<li>A gripping plot keeps asking the dramatic question, or the big, central question that drives suspense (e.g. “will they or won’t they catch the murderer?”)</li>
<li>The five act plot structure is equivalent to the 3.5 minute pop song.</li>
<li>One common story shape: ‘Things get worse and worse until, at the last minute, they get better.’</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Three lessons I&#39;ve learned the hard way</title>
      <link>https://danielbachhuber.com/three-lessons-learned-the-hard-way/</link>
      <pubDate>Mon, 29 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-lessons-learned-the-hard-way/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_2126.JPG&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Resetting takes more than a one night backpacking trip.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Sometimes you need to put a fork in the electrical socket. Please don’t, though. It’s a metaphor.&lt;/p&gt;&#xA;&lt;p&gt;I’ve eaten a lot of humble pie over the last 18 months. Here are some of the lessons I’ve learned the hard way.&lt;/p&gt;&#xA;&lt;h2 id=&#34;people-and-vision-matter-more-than-process&#34;&gt;People and vision matter more than process&lt;/h2&gt;&#xA;&lt;p&gt;While I was on winter break in December 2023, Matt pinged me and asked, “Would you be interested in running WordPress.com while I’m on sabbatical?” My initial reaction was “no, not really, it seems like a lot of work”, but YOLO was my MO at the time so I said yes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/IMG_2126.JPG" alt=""  width="2400"
	height="1800"  /></p>
<figcaption>
<p>Resetting takes more than a one night backpacking trip.</p>
</figcaption>
</figure>
<p>Sometimes you need to put a fork in the electrical socket. Please don’t, though. It’s a metaphor.</p>
<p>I’ve eaten a lot of humble pie over the last 18 months. Here are some of the lessons I’ve learned the hard way.</p>
<h2 id="people-and-vision-matter-more-than-process">People and vision matter more than process</h2>
<p>While I was on winter break in December 2023, Matt pinged me and asked, “Would you be interested in running WordPress.com while I’m on sabbatical?” My initial reaction was “no, not really, it seems like a lot of work”, but YOLO was my MO at the time so I said yes.</p>
<p>“Drinking from a fire hose” is a certain form of drowning. Running WordPress.com was like drinking from the entire water main. I went from engineering team lead to being responsible for product development, marketing, customer success, etc. It was a unique learning experience, to say the least.</p>
<p>My guiding hypothesis was that we needed to implement some modern management practices to make the organization more effective. I love <a href="https://www.eosworldwide.com/">EOS</a>, so I adapted some of its systems to Automattic’s culture. Unfortunately, I was wrong in the ways that matter most.</p>
<p>All problems are people problems, and you can’t reorg or delegate your way to solving them. I reorg’d the business twice during my 10 month tenure: once when I started in January, and a second time in May when I was dissatisfied with my first iteration. I thought the effectiveness problem was organizational alignment, but it turned out to be human performance.</p>
<p>Leading with vision requires picking the right challenge, then seeing if you can be even more ambitious. With the humility of hindsight, I oriented the organization towards where the puck was (WordPress hosting), instead of where the puck was going (AI-assisted website building). I needed to take a much bigger swing to have a material impact on the business.</p>
<p>Ultimately, though, my downfall was that I failed to thrive at the executive level. I did a poor job of building relationships and collaborating effectively with my peers. And when my leadership competency came under attack, I took stock of my energy, evaluated my priorities, and decided to move on.</p>
<h2 id="dont-take-a-rebound-job">Don’t take a rebound job</h2>
<p>Because I get really uncomfortable when I’m not working, I immediately went on an aggressive job search and ended up at PostHog.</p>
<p>I both loved and hated those six months. I loved it because PostHog has a bunch of really talented people (an obvious example of “talent compounds”) and I learned a ton. I hated it because building B2B software wasn’t what I wanted to be doing and my sleep issues got a lot worse.</p>
<p>On the learning front:</p>
<ul>
<li>I went 0 to 1 on writing production Python in about four weeks. Thank you, Cursor.</li>
<li>I realized how little I knew about SQL and substantially leveled up my knowledge. Thank you, <a href="https://masteringpostgres.com/">Mastering Postgres</a>.</li>
<li>I knew nothing about applied statistics and learned enough to be successful on the experimentation team. Thank you, blood, sweat, and tears.</li>
</ul>
<p>Importantly, the experience made me realize how much I enjoy learning, and that my knowledge had stagnated over the last decade.</p>
<p>But, it was the job I could do, not the job I wanted to do. My insomnia got worse, so I eventually left. In hindsight, I realize I should’ve taken the time to decompress, reflect, and wait for the right opportunity.</p>
<h2 id="treat-the-job-search-like-a-competition">Treat the job search like a competition</h2>
<p>After PostHog, I thought I would spend the next several months watching the AI revolution unfold. I learned again, and finally internalized, that I really don&rsquo;t do well sitting idle. This time, however, I was a lot more deliberate about my search.</p>
<p>The job market is really tough right now. With many companies mandating a return to office and a few years of progressive layoffs, there is a ton of competition for remote jobs. Additionally, those living in the U.S. are competing with international talent that is a lot cheaper.</p>
<p>As a candidate, it&rsquo;s easy to feel that your challenge in finding a job is a reflection of your inherent self-worth. The reality is that there are many, many factors outside of your control. Even so, it&rsquo;s worth doing the best that you can with the factors you can control.</p>
<p>Speaking as someone who is involved in the hiring process again:</p>
<ul>
<li>Invest the time into creating a really great resume. So many resumes are poorly formatted, way too long, and stuffed with a bunch of keywords. It makes it really difficult to understand a candidate. Create a resume that’s concise, notable, and highlights your unique accomplishments. You might think brevity will unnecessarily pigeonhole you, but your sole goal is to stand out and make it into the interview process.</li>
<li>Write a cover letter that explains how your resume and experience are relevant to the organization and job description. Submitting a great cover letter will, again, make you stand out amongst the other candidates who either didn&rsquo;t submit a cover letter or wrote a poor one. Your cover letter and resume should be examples of the work product you’ll produce.</li>
<li>Consider a structured search process like <a href="https://www.lennysnewsletter.com/p/land-your-dream-job-phyl-terry">Never Search Alone</a>. In particular, I found it really valuable to do Reverse Exit Interviews. They are 15 minute conversations with former colleagues, asking: “What did I do well?”, “What could I have done better?”, and “If you were in my shoes, how would you approach this job search?” The interviews gave me great insights about how others perceived me at work. I also found a lot of value in sending monthly updates to the people I had chatted with. The updates made me realize that I had accomplished something each month, and the replies of support bolstered my confidence.</li>
</ul>
<p>In July, I started at <a href="https://newpublic.org/">New_ Public</a> as the Open Source Developer for the <a href="https://newpublic.org/psi">Public Spaces Incubator</a>. I really enjoy the people I work with, believe in our mission, and find the work rewarding. The past 18 months have taught me a lot: how to write a cover letter that stands out, why patience matters, and what it takes to be an effective leader. The lesson through all of it, though, is this: do the hard thing and survive long enough to get lucky.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Review: Boox Go 7</title>
      <link>https://danielbachhuber.com/review-boox-go-7/</link>
      <pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/review-boox-go-7/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_4562.jpg&#34; alt=&#34;Writing on the Boox Go 7 at our kitchen table&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I had little expectations and I&amp;rsquo;m genuinely surprised by how much I enjoy this device.&lt;/p&gt;&#xA;&lt;p&gt;To set some context: I&amp;rsquo;ve had pretty bad insomnia over the last year. Both the &amp;ldquo;wake up at midnight and can&amp;rsquo;t fall back asleep&amp;rdquo; and &amp;ldquo;wake up at 2 am and can&amp;rsquo;t fall back asleep&amp;rdquo; kinds. Meds get me back to sleep, but they also make me groggy during the day, so I&amp;rsquo;ve been desparate to figure out a solution.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_4562.jpg" alt="Writing on the Boox Go 7 at our kitchen table"  width="2400"
	height="1800"  /></p>
<p>I had little expectations and I&rsquo;m genuinely surprised by how much I enjoy this device.</p>
<p>To set some context: I&rsquo;ve had pretty bad insomnia over the last year. Both the &ldquo;wake up at midnight and can&rsquo;t fall back asleep&rdquo; and &ldquo;wake up at 2 am and can&rsquo;t fall back asleep&rdquo; kinds. Meds get me back to sleep, but they also make me groggy during the day, so I&rsquo;ve been desparate to figure out a solution.</p>
<p>One recent realization is that maybe I shouldn&rsquo;t blast my eyes with blue light first thing in the morning. For about a decade, I&rsquo;ve been waking up at 4 am and starting my work day by immediately jumping on the computer. I then get increasingly short-changed on sleep as the week progresses, and end up exhausted on Friday.</p>
<p>Enter the <a href="https://shop.boox.com/products/go7">Boox Go 7</a>, an Android device with e-ink display that retails for $250. I was stuck between &ldquo;I want to delay my blue light exposure&rdquo; and &ldquo;I want to be able to read and write when I wake up&rdquo;, and it solves my needs&hellip; perfectly?</p>
<p>First of all, it kinda works exactly how I want it to. Because it runs Android, I can install the apps I want from the Google Play Store: <a href="https://www.instapaper.com/">Instapaper</a>, <a href="https://simplenote.com/">Simplenote</a>, etc. In fact, I even found an RSS reader, <a href="https://capyreader.com/">Capy Reader</a>, that seems to be a good clone of my favorite iOS RSS reader, <a href="https://reederapp.com/">Reeder</a>. Each of the apps work well-enough, albeit with minor quirks. For example, I&rsquo;m typing this into Simplenote with a Bluetooth keyboard. The app is responsive and screen refresh rate sufficient.</p>
<p>This brings me to a subtle point: I actually think the device has ample power under the hood. When I think &ldquo;e-ink device&rdquo;, my stereotype is &ldquo;underpowered device.&rdquo; I think it&rsquo;s actually &ldquo;quite a powerful computer hiding behind an e-ink display.&rdquo;</p>
<p>The combination of these two makes the Boox Go 7 a surprisingly delightful device. Computing on an e-ink display is a lot <em>calmer</em> than a full color display. I&rsquo;m able to read and sit and think without getting pulled into a dopamine slot machine. I originally thought the screen might be too narrow, but the horizontal device orientation (buttons on the bottom) is a great screen width for text.</p>
<p>The downsides of the device are simply a collection of quirks. For example, Instapaper has a pagination feature that works well with the hardware buttons. Capy Reader, on the other hand, only supports scrolling with the hardware buttons and scrolling on an e-ink display isn&rsquo;t particularly smooth. As another example, for whatever reason, CMD + Shift + arrow key doesn&rsquo;t select an entire line of text in Simplenote. I&rsquo;m not sure if that&rsquo;s an app thing or an OS thing.</p>
<p>But I can live with the quirks because the Boox Go 7 brings me joy in many ways. If I was writing on a laptop, I would&rsquo;ve already been distracted by now. However, on this pleasant screen with a CPU and memory, I&rsquo;m able to sit and write for a full 60 minutes. The Boox Go 7 is unexpectedly awesome.</p>
<p>To close the loop on the insomnia: this week (knock wood) is my first great sleep week in many. In addition to delaying when I jump on the computer, I&rsquo;ve also stopped wearing my watch at night (to track my sleep) and started going to bed later (9 pm instead of 8 pm) to build up more sleep drive. Life&rsquo;s a lot better on a good night&rsquo;s sleep!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Better Project Planning in 90 Minutes</title>
      <link>https://danielbachhuber.com/better-project-planning-90-minutes/</link>
      <pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/better-project-planning-90-minutes/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://basecamp.com/shapeup&#34;&gt;Shape Up&lt;/a&gt; is the key manual for building software for the web. It offers a specific set of tactics that turn traditional planning on its head, greatly removes the agony from product definition, and ensures you ship on-time, every time.&lt;/p&gt;&#xA;&lt;p&gt;I love &amp;ldquo;shaping&amp;rdquo; so much that &lt;a href=&#34;https://davidcalhoun.me/&#34;&gt;David Calhoun&lt;/a&gt; and I ran an entire &amp;ldquo;Better Project Planning in 90 Minutes&amp;rdquo; workshop on it at the Dotcom Division Meetup in November 2023, and then an encore virtual workshop in December 2023. We presented these six concepts:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://basecamp.com/shapeup">Shape Up</a> is the key manual for building software for the web. It offers a specific set of tactics that turn traditional planning on its head, greatly removes the agony from product definition, and ensures you ship on-time, every time.</p>
<p>I love &ldquo;shaping&rdquo; so much that <a href="https://davidcalhoun.me/">David Calhoun</a> and I ran an entire &ldquo;Better Project Planning in 90 Minutes&rdquo; workshop on it at the Dotcom Division Meetup in November 2023, and then an encore virtual workshop in December 2023. We presented these six concepts:</p>
<ul>
<li><strong>Clarify the opportunity.</strong> Do not proceed to identifying the solution until everyone feels they fully understand the problem to be solved. Make sure the opportunity statement addresses these questions:
<ul>
<li>What is the problem or need to be solved?</li>
<li>Who experiences it, how frequently, and what’s their current workaround?</li>
<li>How does the competition solve it?</li>
<li>What makes it important, urgent, or valuable to solve right now?</li>
</ul>
</li>
<li><strong>Appetites, not estimates.</strong> Estimates start with a design and end up with an (always incorrect) number. Appetites start with a number and end up with a design. Two key benefits include:
<ul>
<li>It creates space for the product team to cut scope along the way (as needed) in order to get something shipped.</li>
<li>It enables comparing potential projects apples to apples in the &ldquo;betting&rdquo; stage. If they have comparable cost (time), then the benefits can be more directly compared.</li>
</ul>
</li>
<li><strong>Rough, bounded, and solved.</strong> Prepare the <em>least</em> amount of definition for your project. It will feel uncomfortable, but it will enable the product team to operate more effectively by applying their professional judgement while they work.</li>
<li><strong>Breadboards and fat marker sketches.</strong> Again, prepare the <em>least</em> amount of visual fidelity for the project plan. Designers often feel uncomfortable with this, but <a href="https://designtactician.blog/">Jeff Golenski</a> reports this &ldquo;effectively reduced [the Automattic for Agencies] design iteration phases from ~3 down to 1&rdquo;.</li>
<li><strong>Rabbit holes and no-gos.</strong> Fully explore the rabbit holes to identify the solution, and clearly identify what you aren&rsquo;t doing as no-gos. The former increases your confidence in execution, and the latter makes stakeholder management much easier (&ldquo;it&rsquo;s ok that some things aren&rsquo;t in scope&rdquo;).</li>
<li><strong>Uphill slope and downhill slope.</strong> This is a useful communication tactic for identifying the current stage of the project. If you&rsquo;re on the uphill slope, you&rsquo;re still uncovering uncertainties. If you&rsquo;re on the downhill slope, everything that&rsquo;s remaining is known and you&rsquo;re 90% confident in delivering the project on time, within scope, and meeting or exceeding expectations of quality. You should transition from the uphill slope to the downhill slope within the first two to three weeks of the project, otherwise it will likely blow past its appetite.</li>
</ul>
<p>Importantly, you can take these as a &ldquo;choose your own adventure.&rdquo; Adopt them piecemeal based on whatever pain you&rsquo;re experiencing, or simply use the language to influence your existing process.</p>
<p>Super grateful to the folks at Automattic for giving me a copy of the slides so I could share them with my new team at New_ Public.</p>
<p><img src="images/shapeup-page-0.jpg" alt="Shape Up Page 0"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-1.jpg" alt="Shape Up Page 1"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-2.jpg" alt="Shape Up Page 2"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-3.jpg" alt="Shape Up Page 3"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-4.jpg" alt="Shape Up Page 4"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-5.jpg" alt="Shape Up Page 5"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-6.jpg" alt="Shape Up Page 6"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-7.jpg" alt="Shape Up Page 7"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-8.jpg" alt="Shape Up Page 8"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-9.jpg" alt="Shape Up Page 9"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-10.jpg" alt="Shape Up Page 10"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-11.jpg" alt="Shape Up Page 11"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-12.jpg" alt="Shape Up Page 12"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-13.jpg" alt="Shape Up Page 13"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-14.jpg" alt="Shape Up Page 14"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-15.jpg" alt="Shape Up Page 15"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-16.jpg" alt="Shape Up Page 16"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-17.jpg" alt="Shape Up Page 17"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-18.jpg" alt="Shape Up Page 18"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-19.jpg" alt="Shape Up Page 19"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-20.jpg" alt="Shape Up Page 20"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-21.jpg" alt="Shape Up Page 21"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-22.jpg" alt="Shape Up Page 22"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-23.jpg" alt="Shape Up Page 23"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-24.jpg" alt="Shape Up Page 24"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-25.jpg" alt="Shape Up Page 25"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-26.jpg" alt="Shape Up Page 26"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-27.jpg" alt="Shape Up Page 27"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-28.jpg" alt="Shape Up Page 28"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-29.jpg" alt="Shape Up Page 29"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-30.jpg" alt="Shape Up Page 30"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-31.jpg" alt="Shape Up Page 31"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-32.jpg" alt="Shape Up Page 32"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-33.jpg" alt="Shape Up Page 33"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-34.jpg" alt="Shape Up Page 34"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-35.jpg" alt="Shape Up Page 35"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-36.jpg" alt="Shape Up Page 36"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-37.jpg" alt="Shape Up Page 37"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-38.jpg" alt="Shape Up Page 38"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-39.jpg" alt="Shape Up Page 39"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-40.jpg" alt="Shape Up Page 40"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-41.jpg" alt="Shape Up Page 41"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-42.jpg" alt="Shape Up Page 42"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-43.jpg" alt="Shape Up Page 43"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-44.jpg" alt="Shape Up Page 44"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-45.jpg" alt="Shape Up Page 45"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-46.jpg" alt="Shape Up Page 46"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-47.jpg" alt="Shape Up Page 47"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-48.jpg" alt="Shape Up Page 48"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-49.jpg" alt="Shape Up Page 49"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-50.jpg" alt="Shape Up Page 50"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-51.jpg" alt="Shape Up Page 51"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-52.jpg" alt="Shape Up Page 52"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-53.jpg" alt="Shape Up Page 53"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-54.jpg" alt="Shape Up Page 54"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-55.jpg" alt="Shape Up Page 55"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-56.jpg" alt="Shape Up Page 56"  width="2400"
	height="1350"  />
<img src="images/shapeup-page-57.jpg" alt="Shape Up Page 57"  width="2400"
	height="1350"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Yellowstone and Mt. Rushmore, June 2025</title>
      <link>https://danielbachhuber.com/yellowstone-mt-rushmore-june-2025/</link>
      <pubDate>Sun, 06 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/yellowstone-mt-rushmore-june-2025/</guid>
      <description>&lt;p&gt;I thought our road trip would be filled with hours of idle time, lazily wasting the day away and then comfortably continuing our journey onward. Instead, I learned that driving from point A to point B can easily take up the entire day.&lt;/p&gt;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Portland to Coeur d’Alene should’ve taken six hours, but we detoured through Walla Walla to get burritos with Andrew and Charlotte.&lt;/li&gt;&#xA;&lt;li&gt;Coeur d’Alene to Yellowstone should’ve taken seven hours, but we stumbled upon a really cool Old Montana State Prison we had to check out.&lt;/li&gt;&#xA;&lt;li&gt;Yellowstone to Billings managed to take the expected three and a half hours.&lt;/li&gt;&#xA;&lt;li&gt;Billings to Mt. Rushmore should’ve taken five and a half hours, but Ava and Charlie were having too much fun in the hotel pool.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Thankfully, we had a few great audio books (&lt;a href=&#34;https://www.goodreads.com/book/show/17571237-space-case&#34;&gt;Space Case&lt;/a&gt; was our favorite) and an endless supply of Extra Watermelon gum.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I thought our road trip would be filled with hours of idle time, lazily wasting the day away and then comfortably continuing our journey onward. Instead, I learned that driving from point A to point B can easily take up the entire day.</p>
<p>For example:</p>
<ul>
<li>Portland to Coeur d’Alene should’ve taken six hours, but we detoured through Walla Walla to get burritos with Andrew and Charlotte.</li>
<li>Coeur d’Alene to Yellowstone should’ve taken seven hours, but we stumbled upon a really cool Old Montana State Prison we had to check out.</li>
<li>Yellowstone to Billings managed to take the expected three and a half hours.</li>
<li>Billings to Mt. Rushmore should’ve taken five and a half hours, but Ava and Charlie were having too much fun in the hotel pool.</li>
</ul>
<p>Thankfully, we had a few great audio books (<a href="https://www.goodreads.com/book/show/17571237-space-case">Space Case</a> was our favorite) and an endless supply of Extra Watermelon gum.</p>
<p>Ava&rsquo;s trip highlights:</p>
<ol>
<li>Mt. Rushmore</li>
<li><a href="https://www.nps.gov/jeca/planyourvisit/lanterntour.htm">Jewel Cave Historic Lantern Tour</a></li>
<li>Grand Geyser</li>
<li>Presidential Wax Museum in Keystone</li>
<li>Jamaican food in Rapid City, South Dakota</li>
</ol>
<p>Charlie&rsquo;s trip highlights:</p>
<ol>
<li>Hiking to Lone Star Geyser</li>
<li>Mt. Rushmore</li>
<li>Grand Geyser</li>
<li>Jewel Cave</li>
<li>Earning Junior Ranger badges</li>
</ol>
<p>My trip highlight: countless hours exploring with my kids.</p>
<p><img src="images/IMG_3579.jpg" alt="IMG_3579"  width="1800"
	height="2400"  />
<img src="images/IMG_3589.jpg" alt="IMG_3589"  width="1800"
	height="2400"  />
<img src="images/IMG_3594.jpg" alt="IMG_3594"  width="2400"
	height="1800"  />
<img src="images/IMG_3653.jpg" alt="IMG_3653"  width="2400"
	height="1350"  />
<img src="images/IMG_3657.jpg" alt="IMG_3657"  width="2400"
	height="1350"  />
<img src="images/IMG_3717.jpg" alt="IMG_3717"  width="1800"
	height="2400"  />
<img src="images/IMG_3733.jpg" alt="IMG_3733"  width="2400"
	height="1800"  />
<img src="images/IMG_3856.jpg" alt="IMG_3856"  width="1800"
	height="2400"  />
<img src="images/IMG_3890.jpg" alt="IMG_3890"  width="1800"
	height="2400"  />
<img src="images/IMG_3913.jpg" alt="IMG_3913"  width="1800"
	height="2400"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Ingredients for an excellent pizza party</title>
      <link>https://danielbachhuber.com/ingredients-for-an-excellent-pizza-party/</link>
      <pubDate>Sat, 21 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ingredients-for-an-excellent-pizza-party/</guid>
      <description>&lt;p&gt;Making pizza is one of my great joys in life. With &lt;a href=&#34;https://us.wordcamp.org/2024/&#34;&gt;WordCamp US&lt;/a&gt; in Portland this past week, I decided to invite some of my fellow WordPress.com (&amp;ldquo;Dotcom&amp;rdquo;) Automatticians over for a home-cooked meal.&lt;/p&gt;&#xA;&lt;p&gt;If you need inspiration for your next pizza party, here are the topping combos we enjoyed, ordered by my current preference:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tomato sauce, mozzarella, pepperoni, sausage, ricotta (borrowed from &lt;a href=&#34;https://www.lindustriebk.com/&#34;&gt;L&amp;rsquo;Industrie&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Tomato sauce, mozzarella, roasted garlic, pepperoni, pepperoncini (borrowed from &lt;a href=&#34;https://www.marzanospizzapie.com/&#34;&gt;Marzano&amp;rsquo;s&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Grilled onions, walnuts, gorgonzola (my OG recipe, borrowed from &lt;a href=&#34;https://kateray.substack.com/&#34;&gt;Kate Ray&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Pesto, mozzarella, prosciutto, dates, goat cheese, arugula (borrowed from my brother-in-law)&lt;/li&gt;&#xA;&lt;li&gt;Tomato sauce, mozzarella, green apple, bacon, red onion, gorgonzola (source unknown)&lt;/li&gt;&#xA;&lt;li&gt;BBQ sauce, red onions, corn, bell peppers, mozzarella, jalapeños (One of ChatGPT&amp;rsquo;s answers to &amp;ldquo;good vegetarian pizza toppings&amp;rdquo;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All in all, I prepared and cooked 18 pizzas in ~90 minutes on my Ooni Koda 16. Counter-intuitively, many guests learned that the best way they could help was simply to clear the path between the kitchen counter and the oven. Maintaining my flow state is a key ingredient to the final product.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Making pizza is one of my great joys in life. With <a href="https://us.wordcamp.org/2024/">WordCamp US</a> in Portland this past week, I decided to invite some of my fellow WordPress.com (&ldquo;Dotcom&rdquo;) Automatticians over for a home-cooked meal.</p>
<p>If you need inspiration for your next pizza party, here are the topping combos we enjoyed, ordered by my current preference:</p>
<ul>
<li>Tomato sauce, mozzarella, pepperoni, sausage, ricotta (borrowed from <a href="https://www.lindustriebk.com/">L&rsquo;Industrie</a>)</li>
<li>Tomato sauce, mozzarella, roasted garlic, pepperoni, pepperoncini (borrowed from <a href="https://www.marzanospizzapie.com/">Marzano&rsquo;s</a>)</li>
<li>Grilled onions, walnuts, gorgonzola (my OG recipe, borrowed from <a href="https://kateray.substack.com/">Kate Ray</a>)</li>
<li>Pesto, mozzarella, prosciutto, dates, goat cheese, arugula (borrowed from my brother-in-law)</li>
<li>Tomato sauce, mozzarella, green apple, bacon, red onion, gorgonzola (source unknown)</li>
<li>BBQ sauce, red onions, corn, bell peppers, mozzarella, jalapeños (One of ChatGPT&rsquo;s answers to &ldquo;good vegetarian pizza toppings&rdquo;)</li>
</ul>
<p>All in all, I prepared and cooked 18 pizzas in ~90 minutes on my Ooni Koda 16. Counter-intuitively, many guests learned that the best way they could help was simply to clear the path between the kitchen counter and the oven. Maintaining my flow state is a key ingredient to the final product.</p>
<p><img src="images/IMG_1914-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Switching to Pocket Casts from Overcast</title>
      <link>https://danielbachhuber.com/switching-to-pocket-casts-from-overcast/</link>
      <pubDate>Sun, 25 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/switching-to-pocket-casts-from-overcast/</guid>
      <description>&lt;p&gt;I tried my best, but I just can’t handle the bugs anymore. After seven years as a loyal &lt;a href=&#34;https://overcast.fm/&#34;&gt;Overcast&lt;/a&gt; user, I switched to &lt;a href=&#34;https://pocketcasts.com/&#34;&gt;Pocket Casts&lt;/a&gt; today.&lt;/p&gt;&#xA;&lt;p&gt;Some initial first impressions:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It was pretty easy to import my OPML file into Pocket Casts to migrate all of my podcast subscriptions. Overcast lost the OPML export button in the redesign, but I was able to download it from the website.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Using Pocket Casts feels a little bit more like programming a control panel. There are a ton more settings and concepts. For example, there are both folders and filters. I’m not sure why I would use one vs. the other. I tried to create a “Pinned” folder to recreate Overcast’s pinning feature, but it just put the podcasts in a folder that got lost on my screen.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I tried my best, but I just can’t handle the bugs anymore. After seven years as a loyal <a href="https://overcast.fm/">Overcast</a> user, I switched to <a href="https://pocketcasts.com/">Pocket Casts</a> today.</p>
<p>Some initial first impressions:</p>
<ul>
<li>
<p>It was pretty easy to import my OPML file into Pocket Casts to migrate all of my podcast subscriptions. Overcast lost the OPML export button in the redesign, but I was able to download it from the website.</p>
</li>
<li>
<p>Using Pocket Casts feels a little bit more like programming a control panel. There are a ton more settings and concepts. For example, there are both folders and filters. I’m not sure why I would use one vs. the other. I tried to create a “Pinned” folder to recreate Overcast’s pinning feature, but it just put the podcasts in a folder that got lost on my screen.</p>
</li>
<li>
<p>I’m not sure how Pocket Cast’s audio engine stacks up against Overcast. Time to take a walk and test that out.</p>
</li>
</ul>
<p>You might ask, “but Daniel, don’t you work for Automattic? Why haven’t you been using Pocket Casts all along?”</p>
<p>I actually did try to make the switch before. I ran into some buggy behavior with the CarPlay integration, and couldn’t adjust to the overall UX complexity.</p>
<p>Between then and now, Overcast became more difficult to use, and regularly fills up my device storage because auto-delete seems to be broken. Time to make a switch!</p>
]]></content:encoded>
    </item>
    <item>
      <title>&#34;70% confident&#34;</title>
      <link>https://danielbachhuber.com/70-confident/</link>
      <pubDate>Tue, 06 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/70-confident/</guid>
      <description>&lt;p&gt;&amp;ldquo;70% confident&amp;rdquo; is one of my favorite concepts. I think it&amp;rsquo;s been kicking around for a while, but Jeff Bezos articulates it well (emphasis mine):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;First, never use a one-size-fits-all decision-making process. Many decisions are reversible, two-way doors. Those decisions can use a light-weight process. For those, so what if you’re wrong? I wrote about this in more detail in last year’s letter.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Second, most decisions should probably be made with somewhere around 70% of the information you wish you had.&lt;/strong&gt; If you wait for 90%, in most cases, you’re probably being slow. Plus, either way, you need to be good at quickly recognizing and correcting bad decisions. If you’re good at course correcting, being wrong may be less costly than you think, whereas being slow is going to be expensive for sure.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&ldquo;70% confident&rdquo; is one of my favorite concepts. I think it&rsquo;s been kicking around for a while, but Jeff Bezos articulates it well (emphasis mine):</p>
<blockquote>
<p>First, never use a one-size-fits-all decision-making process. Many decisions are reversible, two-way doors. Those decisions can use a light-weight process. For those, so what if you’re wrong? I wrote about this in more detail in last year’s letter.</p>
<p><strong>Second, most decisions should probably be made with somewhere around 70% of the information you wish you had.</strong> If you wait for 90%, in most cases, you’re probably being slow. Plus, either way, you need to be good at quickly recognizing and correcting bad decisions. If you’re good at course correcting, being wrong may be less costly than you think, whereas being slow is going to be expensive for sure.</p>
<p>Third, use the phrase “disagree and commit.” This phrase will save a lot of time. If you have conviction on a particular direction even though there’s no consensus, it’s helpful to say, “Look, I know we disagree on this but will you gamble with me on it? Disagree and commit?” By the time you’re at this point, no one can know the answer for sure, and you’ll probably get a quick yes.</p>
<p><a href="https://www.aboutamazon.com/news/company-news/2016-letter-to-shareholders">2016 Letter to Shareholders</a></p></blockquote>
<p>I find the concept to be particularly helpful in software development. When shaping a project, my goal is to get to 70% confident on these criteria:</p>
<ul>
<li>The proposed solution squarely addresses the opportunity.</li>
<li>We can complete the project within the stated appetite.</li>
<li>We will be able to meet or exceed expectations of quality.</li>
</ul>
<p>I use the concept actively, too. Here&rsquo;s an example dialogue with a teammate:</p>
<p><em>Me: What’s your current level of confidence with the proposed project?</em></p>
<p><em>Teammate: Oh, maybe 50%.</em></p>
<p><em>Me: What additional information would get you to 70% confident?</em></p>
<p><em>Teammate: Well, I&rsquo;m still uncertain about X and Y.</em></p>
<p><em>Me: Ok, let&rsquo;s explore those further.</em></p>
<p>Applied to software development, &ldquo;70% confident&rdquo; is both subjective and objective:</p>
<ul>
<li>Subjective because humans ultimately evaluate the project against the criteria (e.g. &ldquo;did this project meet or exceed our expectations of quality?&rdquo; is squishy).</li>
<li>Objective because you should hit the target seven times out of ten (three times out of ten is not 70%).</li>
</ul>
<p>&ldquo;70% confident&rdquo; is a useful communication tool for finding the sweet spot between not enough planning and analysis paralysis.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Day three</title>
      <link>https://danielbachhuber.com/day-three/</link>
      <pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/day-three/</guid>
      <description>&lt;p&gt;Matt &lt;a href=&#34;https://ma.tt/2024/02/samattical/&#34;&gt;started his sabbatical on Thursday&lt;/a&gt;, so today marks the third day that I&amp;rsquo;m in charge of WordPress.com. It&amp;rsquo;s also a Saturday, and my first day off in the past thirty.&lt;/p&gt;&#xA;&lt;p&gt;Being in charge is a lot of work! Fortunately, my leadership team is growing stronger by the day, and we have clear metrics and objectives in place. Here are two aspects of the role I&amp;rsquo;m discovering quite viscerally:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It&amp;rsquo;s a performance. The clothing I wear, what&amp;rsquo;s in my background, and my audio quality all have an impact on how people perceive me. As much as I love it, my TuHS Boys Tennis sweatshirt from 2005 is no longer work-appropriate.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Matt <a href="https://ma.tt/2024/02/samattical/">started his sabbatical on Thursday</a>, so today marks the third day that I&rsquo;m in charge of WordPress.com. It&rsquo;s also a Saturday, and my first day off in the past thirty.</p>
<p>Being in charge is a lot of work! Fortunately, my leadership team is growing stronger by the day, and we have clear metrics and objectives in place. Here are two aspects of the role I&rsquo;m discovering quite viscerally:</p>
<ol>
<li>
<p>It&rsquo;s a performance. The clothing I wear, what&rsquo;s in my background, and my audio quality all have an impact on how people perceive me. As much as I love it, my TuHS Boys Tennis sweatshirt from 2005 is no longer work-appropriate.</p>
</li>
<li>
<p>I need to bring my &ldquo;A&rdquo; game every hour of every day. Is there any downtime? Only when I force myself to take downtime.</p>
</li>
</ol>
<p>Speaking of, Leah and the kids are headed up to the mountain right now without me. In a funny twist of fate, February also marks the month Leah has her rural rotation in Coos Bay. I was in &ldquo;solo dad mode&rdquo; all week so, as much as it pains me to miss skiing, I&rsquo;m taking a &ldquo;me day&rdquo; to reset.</p>
<p>Time for some soccer!</p>
<figure>
<p><img src="images/IMG_9659-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Slack on my phone makes it easy to sneak away and support The Blazing Books at OBOB (Oregon Battle of the Books).</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9596-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>I still love my &ldquo;I commit to&rdquo; from my time at TinyBit.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9504-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Leah and I had a fun time celebrating Matt&rsquo;s birthday, and I stayed up waaaaaay past my bedtime.</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>My favorite leadership books</title>
      <link>https://danielbachhuber.com/my-favorite-leadership-books/</link>
      <pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-favorite-leadership-books/</guid>
      <description>&lt;p&gt;Soccer is a big part of my life. When I play soccer, I know I can&amp;rsquo;t win the game myself; I need to pass, defend, and play effectively with the entire team. When I coach soccer, I certainly can&amp;rsquo;t win the game myself; I need to encourage, provide feedback, and play people to their strengths.&lt;/p&gt;&#xA;&lt;p&gt;My leadership style emulates how I think about soccer. A soccer match has a team, a ball, and one goal. Every person has a position to play, but they must also pass and be aware of the entire field. They will only &lt;em&gt;win&lt;/em&gt; if they play together as a team. So, when leading, my mind is always asking: how can I improve the performance of the team?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Soccer is a big part of my life. When I play soccer, I know I can&rsquo;t win the game myself; I need to pass, defend, and play effectively with the entire team. When I coach soccer, I certainly can&rsquo;t win the game myself; I need to encourage, provide feedback, and play people to their strengths.</p>
<p>My leadership style emulates how I think about soccer. A soccer match has a team, a ball, and one goal. Every person has a position to play, but they must also pass and be aware of the entire field. They will only <em>win</em> if they play together as a team. So, when leading, my mind is always asking: how can I improve the performance of the team?</p>
<p><a href="https://www.youtube.com/watch?v=5x0PzUoJS-U">Ted Lasso</a> is the greatest show I&rsquo;ve ever seen. Aside from it, here are some books that have influenced how I lead (and when I read them):</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/16158601-turn-the-ship-around">Turn the Ship Around!: A True Story of Turning Followers into Leaders</a> (January 2022). I can&rsquo;t do everything and can&rsquo;t know everything. In order to have a high-performing team, I need them to come to me with &ldquo;I intend to&rdquo;, not &ldquo;what should I do?&rdquo;</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/21343.The_five_dysfunctions_of_a_team">The Five Dysfunctions of a Team</a> (January 2022). They are: absence of trust, fear of conflict, lack of commitment, avoidance of accountability, and inattention to results. If you&rsquo;re on a team, reading parts of this will be like looking in the mirror.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/42776244-the-making-of-a-manager">The Making of a Manager: What to Do When Everyone Looks to You</a> (November 2022). Chock-full of practical tips drawing from a number of classics. <a href="https://www.goodreads.com/notes/42776244-the-making-of-a-manager/532128-daniel">Here are my 43 highlights</a>.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/27140043-high-output-management">High Output Management</a> (September 2022). One of the classics indicated above. Two key ideas: 1) performance is a function of training and motivation, 2) a manager&rsquo;s output = the output of his organization + the output of the neighboring organizations under his influence. Everything is a production line, whether you like it or not.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/23848190-extreme-ownership">Extreme Ownership: How U.S. Navy SEALs Lead and Win</a> (August 2017). I always enjoy war stories. As someone who has the tendency to micromanage, &ldquo;extreme ownership&rdquo; was my first &ldquo;aha&rdquo; moment about the importance of delegation.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/15014.Crucial_Conversations">Crucial Conversations: Tools for Talking When Stakes are High</a> (December 2016). Start with heart!</p>
</li>
</ul>
<p>I&rsquo;ll close with this distinction between leadership and management from my current read, <a href="https://www.goodreads.com/en/book/show/63063173">Scaling People</a>:</p>
<blockquote>
<p>Great leaders put forth a vision and set lofty goals that inspire others to forge ahead, even when the path isn’t always clear. The clarity of their vision keeps everyone focused on the big picture and sustains participation and motivation. Leaders don’t have to be managers, but if they aren’t, they need to know how to work with and hire managers to build the right teams to execute that vision. It often feels like leaders are asking for just a bit too much, but in the end, that’s what provides motivation.</p>
<p>Great managers run teams that do the actual building. Management is all about human-centric execution. Great managers know how to define goals and set operational cadences, all while helping each report have a clear view of their current performance and future career aspirations. Teams with great managers have a high level of trust, experience the challenge and reward of hard work, and feel like they’re making progress both as individuals and as a team.</p></blockquote>
<p>Hope you find some of these as impactful as I have!</p>
<figure>
<p><img src="images/Nov-13-Pic-3-e1705256738468-1024x682.jpg" alt=""  width="1023"
	height="682"  /></p>
<figcaption>
<p>Lunchtime soccer crew, November 2019</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>Happy birthday, Matt!</title>
      <link>https://danielbachhuber.com/happy-birthday-matt/</link>
      <pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/happy-birthday-matt/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/vip-on-a-boat-version-21-1024x765.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;765&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;VIP on a boat, &lt;a href=&#34;https://danielbachhuber.com/team-vip-meetup-in-miami/&#34;&gt;February 2012&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ma.tt/2024/01/birthday-gift/&#34;&gt;Happy birthday, Matt&lt;/a&gt;! Thank you for your dedication to WordPress over the years. It has enabled my entire career, allowed me to raise a family I love, and connected me to people all around the globe.&lt;/p&gt;&#xA;&lt;p&gt;WordPress helped Andrew Witherspoon and I launch a website for the Whitman Pioneer:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;hellip; In the meantime, though, why don’t you check out the &lt;a href=&#34;http://www.whitmanpioneer.com/&#34;&gt;Whitman Pioneer&lt;/a&gt;? It’s a project I’m working on actively, and I would love any feedback you can give me!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/vip-on-a-boat-version-21-1024x765.jpg" alt=""  width="1024"
	height="765"  /></p>
<figcaption>
<p>VIP on a boat, <a href="https://danielbachhuber.com/team-vip-meetup-in-miami/">February 2012</a></p>
</figcaption>
</figure>
<p><a href="https://ma.tt/2024/01/birthday-gift/">Happy birthday, Matt</a>! Thank you for your dedication to WordPress over the years. It has enabled my entire career, allowed me to raise a family I love, and connected me to people all around the globe.</p>
<p>WordPress helped Andrew Witherspoon and I launch a website for the Whitman Pioneer:</p>
<blockquote>
<p>&hellip; In the meantime, though, why don’t you check out the <a href="http://www.whitmanpioneer.com/">Whitman Pioneer</a>? It’s a project I’m working on actively, and I would love any feedback you can give me!</p>
<p><a href="https://danielbachhuber.com/yo-yo-yo-i-have-a-site/">Yo yo yo, I have a site</a></p></blockquote>
<p>Spittle eventually took that over.</p>
<p>I was apparently really into open source right away, too:</p>
<blockquote>
<p><em>This is the first in what I hope to be a series of articles on applying the concept of “<a href="http://en.wikipedia.org/wiki/Open_source">open-source</a>” to a non-profit organization.</em> </p>
<p>A month or so ago, I was hit with the notion that the open-source movement might be applicable to systems beyond software&hellip;</p>
<p><a href="https://danielbachhuber.com/components-of-an-open-source-organization-part-one/">Components of an open-source organization: Part one</a></p></blockquote>
<p>A year later, I thought WordPress would be a great fit for the Daily Emerald:</p>
<blockquote>
<p>&hellip;While I recognize there are already many content management systems on the market, my paradoxical goal is for a platform as easy to use and install as WordPress, which also offers advanced management features&hellip;</p>
<p><a href="https://danielbachhuber.com/one-case-against-college-publisher/">One case against College Publisher</a></p></blockquote>
<p>And so the story goes.</p>
<p>In any case, I hope you have a great birthday and an excellent year ahead of you. 😊 Thanks for everything you&rsquo;ve helped make possible!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2023</title>
      <link>https://danielbachhuber.com/year-in-review-2023/</link>
      <pubDate>Sat, 30 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on business, family, and my quantified self. See also:&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2022/&#34;&gt;&lt;em&gt;2022&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2020/&#34;&gt;&lt;em&gt;2020&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2019/&#34;&gt;&lt;em&gt;2019&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2018/&#34;&gt;&lt;em&gt;2018&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2015/&#34;&gt;&lt;em&gt;2015&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;&lt;em&gt;2014&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;&lt;em&gt;2013&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;highlights&#34;&gt;Highlights&lt;/h2&gt;&#xA;&lt;p&gt;It’s hard to pick highlights from the year when the entire year was a highlight. My kids are the perfect age, and we make the most of every day.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_9320-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Leah and I organized a Newspaper Club at Bridgeport this fall. Over several Wednesday afternoons, the kids learned how to interview, write an inverted pyramid, and draw comics. A local journalist even visited! At the end, we published their best work in a four page edition of &lt;em&gt;The Barking Bulldog.&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on business, family, and my quantified self. See also:</em> <a href="https://danielbachhuber.com/year-in-review-2022/"><em>2022</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2020/"><em>2020</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2019/"><em>2019</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2018/"><em>2018</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2015/"><em>2015</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2014/"><em>2014</em></a><em>,</em> <a href="https://danielbachhuber.com/year-in-review-2013/"><em>2013</em></a><em>.</em></p>
<h2 id="highlights">Highlights</h2>
<p>It’s hard to pick highlights from the year when the entire year was a highlight. My kids are the perfect age, and we make the most of every day.</p>
<p><img src="images/IMG_9320-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>Leah and I organized a Newspaper Club at Bridgeport this fall. Over several Wednesday afternoons, the kids learned how to interview, write an inverted pyramid, and draw comics. A local journalist even visited! At the end, we published their best work in a four page edition of <em>The Barking Bulldog.</em></p>
<p><img src="images/IMG_8822-edited.jpg" alt=""  width="2400"
	height="1600"  /></p>
<p>Leah and I celebrated our 10th wedding anniversary in September with a three night stay at <a href="https://www.minam-lodge.com/">Minam River Lodge</a>. The lodge is one of the four remaining private properties in the Eagle Cap Wilderness and is only accessible by foot, horse, or small aircraft. The food is even more amazing than the location. First, imagine a nice, four-course meal in Portland. Next, imagine having such a meal for breakfast, lunch, and dinner for three days straight. My favorite was the carrot gnocchi with brown butter sauce, toasted sage, and chanterelles.</p>
<p><img src="images/IMG_8941-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>In October, we visited Taos for a long weekend to celebrate Will and Ariel&rsquo;s wedding. It was a super fun opportunity to connect with old friends. The kids hiked to 11,040 feet! We had a great time exploring the town, and soaking in our hot tub under the vast, dark night.</p>
<p><img src="images/IMG_7782-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>Charlie and Ava both had great spring and fall soccer seasons. Coaching them is always a joy. One favorite moment: in the last couple minutes of Charlie&rsquo;s final game, I said &ldquo;go score a goal&rdquo; and he quickly went on to nail an impossible shot.</p>
<p><img src="images/70351533917__FFA3836E-98A0-4729-ACBF-1816C201B5C3-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>I flew through Heathrow several times for work this year. My reward for completing the red-eye was sushi from Itsu — always a fun treat. I sent a picture each time to make sure Leah, Ava, and Charlie knew I was eating sushi.</p>
<p><img src="images/IMG_6831-576x1024.jpg" alt=""  width="576"
	height="1024"  /></p>
<p><img src="images/IMG_6852-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<p><img src="images/IMG_6888-1-1024x576.jpg" alt=""  width="1024"
	height="576"  /></p>
<p>Skiing was fantastic last winter. I made it up to the mountain for multiple deep powder days (my friend Jordan pictured on the top left). We also had a great time taking the ski bus as a family, and Ava did her first black diamond (twice!).</p>
<h2 id="quantified-self">Quantified Self</h2>
<p>According to Goodreads, I’ve read <a href="https://www.goodreads.com/user_challenges/38983581">29 books so far this year</a>. This is the second year I didn&rsquo;t hit my goal of 35, so I think I&rsquo;ll drop it to 30 next year. My favorites were:</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/125277346-elon-musk">Elon Musk</a>. It&rsquo;s funny to me how some people have such strong opinions about Elon. He&rsquo;s just a human like the rest of us! But his production function is amazing and, while I don&rsquo;t aspire to it, I am inspired by it.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/20318838-command-and-control">Command and Control: Nuclear Weapons, the Damascus Accident, and the Illusion of Safety</a>. We are very lucky there haven&rsquo;t been any accidental nuclear explosions (knock wood).</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/58378886-damascus-station">Damascus Station</a>. A pretty darn fun spy thriller.</p>
</li>
</ul>
<p>My running is way down this year but my soccer is way up! According to Strava, I ran 366.8 miles in 65 runs (average of 5.64 miles per run), played soccer 48 times for a total of 50 hours, and swam 79 times for a total of 50 hours. I also lifted a couple days a week. I&rsquo;m pretty fortunate to be able to work out seven days a week.</p>
<p>According to TripIt, I traveled 53,908 miles in 56 days on 9 trips. The destinations included NYC, Switzerland, Germany, Austria, <a href="https://danielbachhuber.com/costa-rica-spring-break-2023/">Costa Rica</a>, Barcelona, Alaska, Washington, D.C., Taos, and Munich. Working with a European team has meant a fair bit of international travel.</p>
<h2 id="2024">2024</h2>
<p>The biggest thing coming up in 2024: Leah&rsquo;s graduation from NP school (knock wood!). We&rsquo;re super proud of her ability to balance life and school, and looking forward to seeing where she takes her career.</p>
<p>Aside from that, I&rsquo;m excited to try out <a href="https://www.nodoguropdx.com/">Nodoguro</a> in January, survive solo dad mode in February, and take the kids on a longer backpacking trip in the summer.</p>
<p>YOLO!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Exploring our monthly grocery spend</title>
      <link>https://danielbachhuber.com/exploring-our-monthly-grocery-spend/</link>
      <pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/exploring-our-monthly-grocery-spend/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re a family of four, love good food, and pretty regularly go over our $1400/month grocery budget.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/cleanshot-2023-11-11-at-04.36.56402x-1024x392.png&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;392&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve always been curious as to &lt;em&gt;why&lt;/em&gt; we go over budget. &amp;ldquo;Overspending&amp;rdquo; is an obvious answer, but not particularly helpful. Has food gotten more expensive over time? Do we have certain indulgences that are major contributors? Is $1400/month simply a fantasy?&lt;/p&gt;&#xA;&lt;p&gt;Additionally, with the tech industry where it&amp;rsquo;s at, the specter of layoffs is never far away. If I were to get laid off again, our &amp;ldquo;war budget&amp;rdquo; cuts us down to $1000/month for groceries.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We&rsquo;re a family of four, love good food, and pretty regularly go over our $1400/month grocery budget.</p>
<p><img src="images/cleanshot-2023-11-11-at-04.36.56402x-1024x392.png" alt=""  width="1024"
	height="392"  /></p>
<p>I&rsquo;ve always been curious as to <em>why</em> we go over budget. &ldquo;Overspending&rdquo; is an obvious answer, but not particularly helpful. Has food gotten more expensive over time? Do we have certain indulgences that are major contributors? Is $1400/month simply a fantasy?</p>
<p>Additionally, with the tech industry where it&rsquo;s at, the specter of layoffs is never far away. If I were to get laid off again, our &ldquo;war budget&rdquo; cuts us down to $1000/month for groceries.</p>
<h2 id="grocery-store-spending-by-month">Grocery store spending by month</h2>
<p>To start exploring, I exported this year&rsquo;s Grocery transactions to CSV, uploaded them to Google Sheets, and produced this breakdown:</p>
<p><img src="images/bachhuber-grocery-spending-store-summary-1024x381.png" alt=""  width="1024"
	height="381"  /></p>
<p>Ok, May definitely seems to be the outlier. It looks like a wild month at New Seasons drove it up a couple hundred more than normal. Generally, when we go over budget, it seems like we overspend by $150-$250.</p>
<p>Marginally helpful, but not yet actionable. One thing I do know is that New Seasons tends to be 50% more expensive than Fred Meyer. If we switched exclusively to Fred Meyer, we could save $70/month right there (30% of $200/month average spending).</p>
<h2 id="april-and-october-spending-per-category">April and October spending per category</h2>
<p>Because I&rsquo;ve been curious about our grocery spending for a while, I&rsquo;ve saved most of my Costco receipts over the last year. I also have access to most Fred Meyer receipts from their website. I collected them to a folder and used ChatGPT to parse April&rsquo;s and October&rsquo;s:</p>
<blockquote>
<p>Parse the receipt into a CSV with these columns: date (YYYY-MM-DD), store, item name, item size, item code (number), number of units, price per unit, total amount for the item, and category. Please include the full receipt data set in the CSV.</p></blockquote>
<p>Putting this receipt data into Google Sheets produced this summary:</p>
<p><img src="images/bachhuber-grocery-spending-purchase-comparisons-1-525x1024.png" alt=""  width="525"
	height="1024"  /></p>
<p>Before analyzing, it&rsquo;s worth highlighting a couple limitations:</p>
<ol>
<li>
<p>The data doesn&rsquo;t represent 100% of the month&rsquo;s overall spending, nor does it represent 100% of spending at each store. I was missing some receipts, and I also didn&rsquo;t validate ChatGPT&rsquo;s parsing.</p>
</li>
<li>
<p>We tend to buy in bulk, so I&rsquo;d really need several months of data to know what our true monthly spend was for a given category. As a simple example, a Costco bag of flour lasts 2-3 months.</p>
</li>
</ol>
<p>With those caveats applied, here&rsquo;s what stands out:</p>
<ul>
<li>
<p>We buy Kerrigold (the most expensive) butter at Costco. We could probably save $20/month by choosing the low cost alternative.</p>
</li>
<li>
<p>We spend roughly $200/month on fruits and vegetables. Because they have a short shelf life, I imagine we waste $60/month of that. We could save there, but it would require a fair amount of conscious thought.</p>
</li>
<li>
<p>We don&rsquo;t buy super fancy meat, but we could probably save $30/month by eating less of it.</p>
</li>
<li>
<p>I don&rsquo;t normally buy health supplements out of the grocery budget. In October, I bought some magnesium supplement and haven&rsquo;t used it. $30 wasted right there.</p>
</li>
<li>
<p>We spend a lot of money on snacks ($150/month average). We could probably cut that in half to $75/month. I&rsquo;m not sure what the substitution would be, though.</p>
</li>
<li>
<p>Seafood is a luxury that we could purchase when we explicitly have the budget for it.</p>
</li>
</ul>
<p>The primary levers seem to be:</p>
<ol>
<li>
<p>Is it a luxury or indulgence?</p>
</li>
<li>
<p>Is there a lower cost alternative?</p>
</li>
<li>
<p>How much are we wasting?</p>
</li>
</ol>
<p>Definitely no silver bullet, though.</p>
<p>If we applied all of these constraints to October, we would&rsquo;ve spent $1,252.99 instead of $1,577.99 ($325 savings). That&rsquo;s under our $1400/month budget, but still a bit from our $1000/month &ldquo;war budget&rdquo;.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Costa Rica, Spring Break 2023</title>
      <link>https://danielbachhuber.com/costa-rica-spring-break-2023/</link>
      <pubDate>Sun, 09 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/costa-rica-spring-break-2023/</guid>
      <description>&lt;p&gt;Costa Rica was one of my favorite childhood vacations. I loved hearing Arenal erupt, driving around without seat belts (not sure what my parents were thinking), and boogie boarding at the beach. This spring break, after years of waiting for the right age, we took Ava and Charlie to experience my memories.&lt;/p&gt;&#xA;&lt;p&gt;For Ava, ziplining was the highlight of the trip. She asked about it repeatedly until I realized I would have to produce the goods. In addition to ziplining, Charlie also enjoyed surfing (which was &amp;ldquo;nice and cool&amp;rdquo;). Leah managed to catch a wave in the first five minutes but it took me the entire 90 minute lesson. Food-wise, simple was the best: Leah and I ordered &amp;ldquo;comida tipica&amp;rdquo; once or twice a day (black beans, rice, chicken or steak, plantain, and a salad).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Costa Rica was one of my favorite childhood vacations. I loved hearing Arenal erupt, driving around without seat belts (not sure what my parents were thinking), and boogie boarding at the beach. This spring break, after years of waiting for the right age, we took Ava and Charlie to experience my memories.</p>
<p>For Ava, ziplining was the highlight of the trip. She asked about it repeatedly until I realized I would have to produce the goods. In addition to ziplining, Charlie also enjoyed surfing (which was &ldquo;nice and cool&rdquo;). Leah managed to catch a wave in the first five minutes but it took me the entire 90 minute lesson. Food-wise, simple was the best: Leah and I ordered &ldquo;comida tipica&rdquo; once or twice a day (black beans, rice, chicken or steak, plantain, and a salad).</p>
<p>If you care to fork our itinerary, here’s what we did:</p>
<ul>
<li>
<p>Spent two nights at <a href="https://www.arenalobservatorylodge.com/">Arenal Observatory Lodge</a>, one night at <a href="https://www.hotelcaminoverde.com/">Camino Verde Bed &amp; Breakfast</a> in Monteverde (could&rsquo;ve been two), and three nights at a <a href="https://www.airbnb.com/rooms/562901071827363098">fabulous Airbnb in Tamarindo</a> (&ldquo;tamagringo&rdquo; is a correct nickname for the city).</p>
</li>
<li>
<p>Had a lovely afternoon at <a href="https://ecotermalesfortuna.cr/">Eco Termales Hot Springs</a> near Arenal.</p>
</li>
<li>
<p>Ziplined the <a href="https://skyadventures.travel/monteverde/skytrek/">Sky Adventures Sky Trek</a> in Monteverde, and then did the Kinkajou Night Walk in the evening.</p>
</li>
<li>
<p>Rafted Rio Corobici with <a href="http://www.raftingguanacaste.com/">RCR Rafting</a> on the drive to Tamarindo and saw crocodiles, howler monkeys, bats, and a variety of birds.</p>
</li>
<li>
<p>Caught some waves on our last full day with <a href="https://www.avellanassoul.com/">Avellanas Soul Surf School</a>.</p>
</li>
</ul>
<p>Overall, an A+ vacation, and we&rsquo;re already looking forward to a week of surfing on our next visit.</p>
<figure>
<p><img src="images/IMG_7124-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<figcaption>
<p>The normal side of the family.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_7132-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<figcaption>
<p>The other normal side of the family.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_0327-1024x768.jpeg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>If you&rsquo;re ready to leave after three hours in a hot springs, you&rsquo;re not relaxing hard enough.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_1134-1024x768.jpeg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>We decided not to drive this road in our rental car.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/ADS_7283-1024x683.jpg" alt=""  width="1024"
	height="683"  /></p>
<figcaption>
<p>Not pictured: the several hundred feet between them and the ground.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_7247-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Thirty seconds before we spotted the crocodile.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_7348-1024x683.jpg" alt=""  width="1024"
	height="683"  /></p>
<figcaption>
<p>See if you can tell who is the pro and who is the beginner.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_1348-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Waiting for pizza at <a href="https://www.facebook.com/PizzeriaLaBaula">La Baula</a> on our last night.</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>My first WordPress commit, again</title>
      <link>https://danielbachhuber.com/my-first-wordpress-commit-again/</link>
      <pubDate>Tue, 07 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-first-wordpress-commit-again/</guid>
      <description>&lt;p&gt;I &lt;a href=&#34;https://wordpress.slack.com/archives/C18723MQ8/p1674654635641719&#34;&gt;decided&lt;/a&gt; to start committing to WordPress core again: &lt;a href=&#34;https://core.trac.wordpress.org/changeset/55278&#34;&gt;r55278&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In classic fashion, I broke trunk tests because I missed a test file: &lt;a href=&#34;https://core.trac.wordpress.org/changeset/55280&#34;&gt;r55280&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I ran &lt;code&gt;npm run grunt patch:https://github.com/WordPress/wordpress-develop/pull/3796&lt;/code&gt; but I guess the binary isn&amp;rsquo;t included.&lt;/p&gt;&#xA;&lt;p&gt;Looking forward to helping with some bug fixing!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I <a href="https://wordpress.slack.com/archives/C18723MQ8/p1674654635641719">decided</a> to start committing to WordPress core again: <a href="https://core.trac.wordpress.org/changeset/55278">r55278</a>.</p>
<p>In classic fashion, I broke trunk tests because I missed a test file: <a href="https://core.trac.wordpress.org/changeset/55280">r55280</a>.</p>
<p>I ran <code>npm run grunt patch:https://github.com/WordPress/wordpress-develop/pull/3796</code> but I guess the binary isn&rsquo;t included.</p>
<p>Looking forward to helping with some bug fixing!</p>
]]></content:encoded>
    </item>
    <item>
      <title>WSJ article about noncompetes</title>
      <link>https://danielbachhuber.com/wsj-article-about-noncompetes/</link>
      <pubDate>Sat, 21 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wsj-article-about-noncompetes/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_6388.jpg&#34; alt=&#34;&#34;  width=&#34;1179&#34;&#xA;&#x9;height=&#34;1492&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Earlier this week, the WSJ &lt;a href=&#34;https://www.wsj.com/articles/ftc-plan-to-ban-noncompete-clauses-shifts-focus-to-deferred-pay-nondisclosure-agreements-11673904728?st=aifffd9whonoj4b&amp;amp;reflink=desktopwebshare_permalink&#34;&gt;included my story in an article about noncompetes&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Daniel Bachhuber had worked as a software consultant for years when he decided to take an in-house job in the fall of 2018. His new employer required that he sign a one-year noncompete agreement, which he said was so broad it would have prevented him from practicing his core skills if he were to leave the company or be fired.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_6388.jpg" alt=""  width="1179"
	height="1492"  /></p>
<p>Earlier this week, the WSJ <a href="https://www.wsj.com/articles/ftc-plan-to-ban-noncompete-clauses-shifts-focus-to-deferred-pay-nondisclosure-agreements-11673904728?st=aifffd9whonoj4b&amp;reflink=desktopwebshare_permalink">included my story in an article about noncompetes</a>:</p>
<blockquote>
<p>Daniel Bachhuber had worked as a software consultant for years when he decided to take an in-house job in the fall of 2018. His new employer required that he sign a one-year noncompete agreement, which he said was so broad it would have prevented him from practicing his core skills if he were to leave the company or be fired.</p>
<p>Mr. Bachhuber balked. Earlier in his career, he had been laid off a few weeks into a new job, just after his first child was born. If that happened at the new job, he recalled thinking, he would be unable to earn a living for a year. “I’m always thinking, worst case scenario, what kind of downstream protection do I have?” the 35-year-old said. “Even if I was employed just one day, I couldn’t go back to the same clients I had.”</p></blockquote>
<p>It’s pretty cool to help shape public policy! The reporter and I connected after she came across <a href="https://www.regulations.gov/comment/FTC-2019-0093-0129">public comment I left for the FTC back in January 2020</a>.</p>
<p>I’m pretty sure I heard about the original request for comment from Marginal Revolution, so seeing <a href="https://marginalrevolution.com/marginalrevolution/2023/01/tuesday-assorted-links-399.html">MR link to the article</a> really made my day:</p>
<p><img src="images/img_6360.jpg" alt=""  width="1179"
	height="1903"  /></p>
<p><img src="images/img_6359.jpg" alt=""  width="1178"
	height="1947"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2022</title>
      <link>https://danielbachhuber.com/year-in-review-2022/</link>
      <pubDate>Tue, 27 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on business, family, and my quantified self. &lt;em&gt;See also: &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2020/&#34;&gt;2020&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2019/&#34;&gt;2019&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2018/&#34;&gt;2018&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2015/&#34;&gt;2015&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;.&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;These days, I optimize for making the most of every day. Did I squeeze the juice out of every moment?&lt;/p&gt;&#xA;&lt;p&gt;My kids are the perfect age, which makes life seem even more precious and fleeting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;highlights&#34;&gt;Highlights&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_4555.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;As we walked up to Baby Beach in June, I saw a dad shouting to his family, &amp;ldquo;come check out the turtles!&amp;rdquo; He was standing waist deep in water about 30 feet offshore. I quickly helped Ava and Charlie get their snorkeling gear on, and we got to swim with them too.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on business, family, and my quantified self. <em>See also: <a href="https://danielbachhuber.com/year-in-review-2020/">2020</a>, <a href="https://danielbachhuber.com/year-in-review-2019/">2019</a>, <a href="https://danielbachhuber.com/year-in-review-2018/">2018</a>, <a href="https://danielbachhuber.com/year-in-review-2015/">2015</a>, <a href="https://danielbachhuber.com/year-in-review-2014/">2014</a>, <a href="https://danielbachhuber.com/year-in-review-2013/">2013</a>.</em></em></p>
<p>These days, I optimize for making the most of every day. Did I squeeze the juice out of every moment?</p>
<p>My kids are the perfect age, which makes life seem even more precious and fleeting.</p>
<h2 id="highlights">Highlights</h2>
<p><img src="images/IMG_4555.jpg" alt=""  width="2400"
	height="1800"  /></p>
<p>As we walked up to Baby Beach in June, I saw a dad shouting to his family, &ldquo;come check out the turtles!&rdquo; He was standing waist deep in water about 30 feet offshore. I quickly helped Ava and Charlie get their snorkeling gear on, and we got to swim with them too.</p>
<p>Good thing my iPhone turned out to be waterproof!</p>
<p><img src="images/IMG_6032.jpg" alt=""  width="2400"
	height="1800"  /></p>
<p>In May, I <a href="https://danielbachhuber.com/working-at-automattic/">rejoined Automattic</a> as an engineer working on WordPress.com. It&rsquo;s been an unexpectedly delightful experience, thanks in large part to the folks on the &ldquo;Forge Bowling Group&rdquo;.</p>
<p><img src="images/totheoutside.jpeg" alt=""  width="1920"
	height="2006"  /></p>
<p>Coaching Charlie&rsquo;s soccer team this fall was a rewarding experience, as always. Part of the way through the season, I realized we could avoid a lot of goals if they didn&rsquo;t have a turnover directly in front of their goal.</p>
<p>After that point, &ldquo;to the outside!&rdquo; was all the parents ever heard from me. But hey, it worked!</p>
<h2 id="quantified-self">Quantified Self</h2>
<p>According to Goodreads, I&rsquo;ve read <a href="https://www.goodreads.com/user_challenges/31303173">31 books so far this year</a> (not quite my goal of 35).</p>
<p>My favorites seemed to be business books. <a href="https://www.goodreads.com/book/show/42776244-the-making-of-a-manager">The Making of a Manager: What to Do When Everyone Looks to You</a> is chock full of practical tidbits, including this one:</p>
<blockquote>
<p>Here are some ways to tell if your team is executing well:</p>
<ul>
<li>
<p>Lists of projects or tasks are prioritized from most to least important, with the higher-up items receiving more time and attention.</p>
</li>
<li>
<p>There is an efficient process for decision-making that everyone understands and trusts.</p>
</li>
<li>
<p>The team moves quickly, especially with reversible decisions. As Amazon CEO Jeff Bezos says, “Most decisions should probably be made with somewhere around 70% of the information you wish you had. If you wait for 90%, in most cases, you’re probably being slow.”</p>
</li>
<li>
<p>After a decision is made, everyone commits (even those who disagree) and moves speedily to make it happen. Without new information, there is no second-guessing the decision, no pocket vetoing, and no foot dragging.</p>
</li>
<li>
<p>When important new information surfaces, there is an expedient process to examine if and how current plans should change as a result.</p>
</li>
<li>
<p>Every task has a who and a by when.</p>
</li>
<li>
<p>Owners set and reliably deliver on commitments.</p>
</li>
<li>
<p>The team is resilient and constantly seeking to learn. Every failure makes the team stronger because they don’t make the same mistake twice.</p>
</li>
</ul></blockquote>
<p>From <a href="https://www.goodreads.com/book/show/27140043-high-output-management">High Output Management</a>, my favorite idea is that everything relating to human performance boils down to either training or motivation. &ldquo;Is this a training issue or a motivation issue?&rdquo; is a hugely powerful lens.</p>
<p>Lastly, <a href="https://www.goodreads.com/book/show/16158601-turn-the-ship-around">Turn the Ship Around!: A True Story of Turning Followers into Leaders</a> is an enjoyable read to understand what the transformation to a highly-effective organization can look like.</p>
<p>According to Strava, I ran 612 miles in 101 runs (average of 6.06 miles per run). Compared to years prior, I am spend a lot less time running. My typical exercise week these days: lift, swim, run, lift, soccer, swim, run.</p>
<p>According to TripIt, I traveled 24,770 miles in 53 days on 11 trips. The destinations included Scottsdale, Chicago, Minneapolis, Alaska, Hawaii, San Diego, Boston, and Denver. I guess TripIt includes driving destinations too? That list doesn&rsquo;t add up to 11.</p>
<h2 id="2023">2023</h2>
<p>YOLO!</p>
]]></content:encoded>
    </item>
    <item>
      <title>A few good things, December 2022</title>
      <link>https://danielbachhuber.com/a-few-good-things-december-2022/</link>
      <pubDate>Sun, 11 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/a-few-good-things-december-2022/</guid>
      <description>&lt;p&gt;A while back, Leah and I had an idea for an affiliate site: product reviews of things we&amp;rsquo;ve used for at least a year.&lt;/p&gt;&#xA;&lt;p&gt;In that spirit, here are a few good things I can heartily recommend:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.prana.com/p/vaha-short/1963911.html&#34;&gt;prAna Vaha shorts&lt;/a&gt; ($69 $40). More comfortable than sweatpants, and somewhat stylish to boot. Also &lt;a href=&#34;https://www.rei.com/product/102416/prana-vaha-shorts-mens&#34;&gt;on sale at REI&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.amazon.com/Blue-Lotus-Chai-Traditional-Steeping/dp/B0049K99RW/&#34;&gt;Blue Lotus chai&lt;/a&gt; ($19). Spicy deliciousness. Pairs nicely with Oatly. Boost the sweetness with stevia to get pretty close to the real thing. I use a &lt;a href=&#34;https://www.amazon.com/Breville-BMF600XL-Milk-Cafe-Frother/dp/B004RCNJ9Q/&#34;&gt;Breville milk frother&lt;/a&gt; ($160) to mix it all together.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A while back, Leah and I had an idea for an affiliate site: product reviews of things we&rsquo;ve used for at least a year.</p>
<p>In that spirit, here are a few good things I can heartily recommend:</p>
<ol>
<li>
<p><a href="https://www.prana.com/p/vaha-short/1963911.html">prAna Vaha shorts</a> ($69 $40). More comfortable than sweatpants, and somewhat stylish to boot. Also <a href="https://www.rei.com/product/102416/prana-vaha-shorts-mens">on sale at REI</a>.</p>
</li>
<li>
<p><a href="https://www.amazon.com/Blue-Lotus-Chai-Traditional-Steeping/dp/B0049K99RW/">Blue Lotus chai</a> ($19). Spicy deliciousness. Pairs nicely with Oatly. Boost the sweetness with stevia to get pretty close to the real thing. I use a <a href="https://www.amazon.com/Breville-BMF600XL-Milk-Cafe-Frother/dp/B004RCNJ9Q/">Breville milk frother</a> ($160) to mix it all together.</p>
</li>
<li>
<p><a href="https://www.blundstone.com/rustic-black-leather-chelsea-boots-mens-style-587">Blundstone boots</a> ($220). Boots that make you feel like you&rsquo;re driving a truck instead of a car.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B07662ZD8J/">Audio-Technica ATH-M50x headphones</a> ($149). Solid sound at a reasonably affordable price. Great for planes too, no noise cancellation necessary.</p>
</li>
</ol>
<p>If you have no idea what to ask for (or give) this holiday season, hopefully this is a helpful list!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Working at Automattic</title>
      <link>https://danielbachhuber.com/working-at-automattic/</link>
      <pubDate>Mon, 03 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/working-at-automattic/</guid>
      <description>&lt;p&gt;I joined Automattic in May to work on the WordPress.com product team. It&amp;rsquo;s pretty great!&lt;/p&gt;&#xA;&lt;p&gt;Someone on Twitter asked about what it&amp;rsquo;s like, so I thought I&amp;rsquo;d answer their questions in a blog post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-did-you-get-into-tech&#34;&gt;How did you get into tech?&lt;/h2&gt;&#xA;&lt;p&gt;My freshman year (2006) was a big turning point when I:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Applied to six unpaid photojournalism internships and didn&amp;rsquo;t hear back from a single one.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Applied to one paid web production internship (&lt;a href=&#34;https://grist.org/&#34;&gt;Grist&lt;/a&gt;) and was accepted.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I joined Automattic in May to work on the WordPress.com product team. It&rsquo;s pretty great!</p>
<p>Someone on Twitter asked about what it&rsquo;s like, so I thought I&rsquo;d answer their questions in a blog post.</p>
<h2 id="how-did-you-get-into-tech">How did you get into tech?</h2>
<p>My freshman year (2006) was a big turning point when I:</p>
<ul>
<li>
<p>Applied to six unpaid photojournalism internships and didn&rsquo;t hear back from a single one.</p>
</li>
<li>
<p>Applied to one paid web production internship (<a href="https://grist.org/">Grist</a>) and was accepted.</p>
</li>
</ul>
<p>My parents raised me to be pragmatic about work, &ldquo;you&rsquo;ll need to find a job that supports your expensive hobbies&rdquo;, so this experience made it clear to me where the money was.</p>
<p>Even so, after my freshman summer with Grist, I:</p>
<ul>
<li>
<p>Started on my pilot&rsquo;s license, then ran out of money.</p>
</li>
<li>
<p><a href="https://danielbachhuber.com/india08/">Went to India for three months</a>.</p>
</li>
<li>
<p>Started CoPress, a <a href="https://danielbachhuber.com/introducing-copress/">hosting company for student newspapers</a>. It eventually <a href="https://twitter.com/copress/status/9209994061">folded</a>.</p>
</li>
<li>
<p>Interned for Publish2, a <a href="https://techcrunch.com/2010/05/24/publish2-disrupt/">news tech startup</a>. It eventually ran out of money.</p>
</li>
<li>
<p>Did poorly at university, took a couple long breaks, and never ended up graduating.</p>
</li>
</ul>
<p>Then, the summer of my &ldquo;senior year&rdquo; (2010), I lucked into a full-time job with the CUNY Graduate School of Journalism. I did that for about a year before <a href="https://danielbachhuber.com/farewell-new-york-city/">moving back to Oregon and joining Automattic for the first time</a>.</p>
<p>My career since then has largely been at the intersection of media and technology.</p>
<h2 id="what-made-you-want-to-work-at-automattic">What made you want to work at Automattic?</h2>
<p>Location-independence was the big draw the first time I joined Automattic. My other job prospects at the time were location-based — Chicago Tribune, The New York Times, and The Boston Globe. I generally prioritize life over work, so I chose the &ldquo;work remotely from Oregon&rdquo; option.</p>
<p>More recently, after I was unexpectedly laid off in April, my priority was to find a stable J-O-B. I didn&rsquo;t really think I&rsquo;d go back to a company I already worked for, but the stars aligned and I rejoined Automattic in May.</p>
<p>It&rsquo;s turned out better than I expected! In particular, I really enjoy my team, and that we get to work on some ambitious projects. Plus, I&rsquo;m generally able to achieve my optimal work/life balance.</p>
<h2 id="what-does-your-day-to-day-look-like">What does your day to day look like?</h2>
<p>Today is actually fairly representative:</p>
<ul>
<li>
<p>Woke up around 4 am, made some chai, started catching up on <a href="https://wordpress.com/p2/">P2</a> conversations.</p>
</li>
<li>
<p>Once I had my bearings for the day, I <a href="https://github.com/Automattic/wp-calypso/pull/68461">reviewed one pull request</a> and <a href="https://github.com/Automattic/wp-calypso/pull/68533">spent a couple hours on another</a>. Our codebase is a melange of JavaScript and PHP.</p>
</li>
<li>
<p>Watched a division townhall where they reviewed financial performance and a couple recent product releases.</p>
</li>
<li>
<p>Went for a swim.</p>
</li>
<li>
<p>Raced back from the swim to join a technical discussion about an upcoming feature.</p>
</li>
<li>
<p>Showered, made a smoothie, and headed into my office, where I&rsquo;m now working on this blog post.</p>
</li>
</ul>
<p>Some days are more code-heavy. Others, like today, are some combination of code and coordination.</p>
<h2 id="whats-next-for-you-in-your-career">What&rsquo;s next for you in your career?</h2>
<p>I have no idea!</p>
]]></content:encoded>
    </item>
    <item>
      <title>72 hours in Boston</title>
      <link>https://danielbachhuber.com/72-hours-in-boston/</link>
      <pubDate>Wed, 21 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/72-hours-in-boston/</guid>
      <description>&lt;p&gt;With Leah in school full-time, any moment of free time means maximum fun.&lt;/p&gt;&#xA;&lt;p&gt;While visiting our good friends Shane and Angela in Boston, this meant&amp;hellip;&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_5515-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Taking a moment to watch planes take off before we took off&amp;hellip;&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_5539-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Playing Codenames until 11 pm&amp;hellip;&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_9386-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Learning Sushi Go! and a half dozen other games&amp;hellip;&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_9395-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Bowling the New England way (candlepin)&amp;hellip;&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_5549-1-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Eating shakshuka from Tatte&amp;hellip;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>With Leah in school full-time, any moment of free time means maximum fun.</p>
<p>While visiting our good friends Shane and Angela in Boston, this meant&hellip;</p>
<figure>
<p><img src="images/IMG_5515-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Taking a moment to watch planes take off before we took off&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_5539-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Playing Codenames until 11 pm&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9386-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Learning Sushi Go! and a half dozen other games&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9395-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Bowling the New England way (candlepin)&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_5549-1-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<figcaption>
<p>Eating shakshuka from Tatte&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_8540-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Eating cannolis from Mike&rsquo;s&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9422-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<figcaption>
<p>Walking all around town&hellip;</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_5705-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>&hellip; and generally having a great time.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_9339-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Until next time, Boston!</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>Timberline Trail CCW</title>
      <link>https://danielbachhuber.com/timberline-trail-ccw/</link>
      <pubDate>Mon, 15 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/timberline-trail-ccw/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_5251.jpg&#34; alt=&#34;&#34;  width=&#34;1002&#34;&#xA;&#x9;height=&#34;751&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Strava-official.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;As I learned the hard way, running the Timberline Trail is really hard. I’m proud to report I completed all 41 miles with 9k feet of elevation gain in 14 hours 33 minutes. Plus, I was fortunate to do it with a great crew (Nick, Michael, Jordan) on an absolutely gorgeous day.&lt;/p&gt;&#xA;&lt;p&gt;For the unacquainted, the Timberline Trail is a big ol’ loop around Mt. Hood. Most people take 3-4 days to backpack it, enjoying the incredibly diverse ecosystems and views around the mountain. The more hardcore folks (and saps who get suckered into it) try to run it as fast as they can. And if the distance and elevation isn’t hard enough, there are about 20 steam crossings to contend with and the trail quality can be quite variable.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/IMG_5251.jpg" alt=""  width="1002"
	height="751"  /></p>
<figcaption>
<p>Strava-official.</p>
</figcaption>
</figure>
<p>As I learned the hard way, running the Timberline Trail is really hard. I’m proud to report I completed all 41 miles with 9k feet of elevation gain in 14 hours 33 minutes. Plus, I was fortunate to do it with a great crew (Nick, Michael, Jordan) on an absolutely gorgeous day.</p>
<p>For the unacquainted, the Timberline Trail is a big ol’ loop around Mt. Hood. Most people take 3-4 days to backpack it, enjoying the incredibly diverse ecosystems and views around the mountain. The more hardcore folks (and saps who get suckered into it) try to run it as fast as they can. And if the distance and elevation isn’t hard enough, there are about 20 steam crossings to contend with and the trail quality can be quite variable.</p>
<p>The key to completing? Don’t bonk. If you let your body end up in a depleted state, you’re a goner. For me this meant:</p>
<ul>
<li>Consuming 250 calories/hour, even when I really didn’t want a sixth Gu.</li>
<li>Keeping my heart rate under 150/bpm, even if it meant splitting our group at the 14 mile mark (Nick wanted to do a sub-12 hour pace). Super thankful to Jordan for running with me.</li>
<li>Salt tablets (you lose a lot of salt), caffeine in small doses, and Tylenol to deaden the pain.</li>
<li>Some pretty awesome gear: <a href="https://www.katadyn.com/us/us/14946-8019639-katadyn-beefree-water-filtration-system_usa">Katadyn BeFree 0.6L water bottle</a>, <a href="https://www.roadrunnersports.com/product/39909/mens-korsa-mens-korsa-pack-leader-5-short-20">longer running shorts with a liner</a>, <a href="https://www.rei.com/product/851282/tifosi-veloce-fototec-photochromic-sunglasses">Tifosi Photochromic Sunglasses</a>, and a new <a href="https://www.garmin.com/en-US/p/628939">Garmin Forerunner 245</a> (thanks to Automattic&rsquo;s fitness tracker perk).</li>
</ul>
<p>If you do bonk, you might be 10 miles from a trailhead. So don’t bonk.</p>
<figure>
<p><img src="images/IMG_5917-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>The fearless crew: Daniel (me), Jordan, Michael, and Nick.</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>35 things I&#39;m grateful for</title>
      <link>https://danielbachhuber.com/35-things-im-grateful-for/</link>
      <pubDate>Sat, 30 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/35-things-im-grateful-for/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_4915-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;A birthday morning trail run up &lt;a href=&#34;https://www.alltrails.com/trail/us/oregon/fall-river-trail&#34;&gt;Fall River Trail&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I turned 35 yesterday! In no particular order, here are 35 things I&amp;rsquo;m grateful for:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Good health, and good overall physical condition.&lt;/li&gt;&#xA;&lt;li&gt;The opportunity to grow older each year with my amazing wife.&lt;/li&gt;&#xA;&lt;li&gt;My kids&amp;rsquo; bubbly spirits and zest for life.&lt;/li&gt;&#xA;&lt;li&gt;The love of my parents and siblings.&lt;/li&gt;&#xA;&lt;li&gt;Oatly, &lt;a href=&#34;https://bluelotuschai.com/&#34;&gt;Blue Lotus Chai&lt;/a&gt;, and stevia to make my morning chai.&lt;/li&gt;&#xA;&lt;li&gt;Ending up in a job I really enjoy after the stress of getting laid off from my dream job.&lt;/li&gt;&#xA;&lt;li&gt;Perks of working remote in an async environment: no commute, optimizing for my natural energy flows, and seeing my family throughout the day.&lt;/li&gt;&#xA;&lt;li&gt;Willa, who is &lt;em&gt;always&lt;/em&gt; in a good mood. #goals&lt;/li&gt;&#xA;&lt;li&gt;Oregon&amp;rsquo;s natural beauty — the coast, the Willamette Valley, the high dessert.&lt;/li&gt;&#xA;&lt;li&gt;Books that broaden my worldview, most recently: &lt;a href=&#34;https://www.goodreads.com/book/show/57433539-unsettled&#34;&gt;Unsettled&lt;/a&gt;. Natural climate variability seems like a far greater challenge than human CO2 emission.&lt;/li&gt;&#xA;&lt;li&gt;When you&amp;rsquo;re staying in a house without air conditioning and the overnight temperature drops to 53℉ instead of 68℉.&lt;/li&gt;&#xA;&lt;li&gt;The internet, and all the exchange of knowledge it facilitates.&lt;/li&gt;&#xA;&lt;li&gt;The breadth of topics on &lt;a href=&#34;https://conversationswithtyler.com/&#34;&gt;Conversations with Tyler&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Fishing for salmon with my dad.&lt;/li&gt;&#xA;&lt;li&gt;The occasional long walk with my mom.&lt;/li&gt;&#xA;&lt;li&gt;A great set of teammates from across the globe: Brazil, Jamaica, Spain, Poland, Montenegro, New Zealand.&lt;/li&gt;&#xA;&lt;li&gt;Psyllium husk.&lt;/li&gt;&#xA;&lt;li&gt;1% infinity — every day tiny improvements can produce substantial change over time.&lt;/li&gt;&#xA;&lt;li&gt;The value of editing.&lt;/li&gt;&#xA;&lt;li&gt;People who, for all their faults, move humanity forward.&lt;/li&gt;&#xA;&lt;li&gt;Learning how to lift weights last September. Even the little bit I do makes me feel much stronger and capable.&lt;/li&gt;&#xA;&lt;li&gt;The privilege to introduce my kids to the world. It&amp;rsquo;s incredibly warming to have their eyes light up at something I take for granted.&lt;/li&gt;&#xA;&lt;li&gt;Friends I&amp;rsquo;ve had for ten, twenty, and thirty years.&lt;/li&gt;&#xA;&lt;li&gt;The opportunity to make new friends every day.&lt;/li&gt;&#xA;&lt;li&gt;A good night sleep.&lt;/li&gt;&#xA;&lt;li&gt;An awesome trail run on a cold, crisp morning.&lt;/li&gt;&#xA;&lt;li&gt;My mom&amp;rsquo;s blueberry cobbler.&lt;/li&gt;&#xA;&lt;li&gt;My dad&amp;rsquo;s fish and chips.&lt;/li&gt;&#xA;&lt;li&gt;Keeping a whimsical perspective on life (&amp;ldquo;my number one goal is to stay alive&amp;rdquo; and &amp;ldquo;non-stop fun all the time&amp;rdquo;) which helps me roll with the punches.&lt;/li&gt;&#xA;&lt;li&gt;How much I&amp;rsquo;ve been able to travel, and how those experiences have shaped who I am.&lt;/li&gt;&#xA;&lt;li&gt;PHP is better than JavaScript.&lt;/li&gt;&#xA;&lt;li&gt;Living on a cul-de-sac where my kids can run around for hours.&lt;/li&gt;&#xA;&lt;li&gt;Celebrating my birthday for an entire week (the &amp;ldquo;birthday week&amp;rdquo; tradition). This past week: McKenzie River trail run, sushi, homemade pizza, &lt;a href=&#34;https://beavertonchettinad.org/&#34;&gt;Chettinad&lt;/a&gt; with friends, weekend in Sunriver with my family.&lt;/li&gt;&#xA;&lt;li&gt;Everything I&amp;rsquo;m forgetting to mention.&lt;/li&gt;&#xA;&lt;li&gt;Being grateful.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/IMG_4915-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>A birthday morning trail run up <a href="https://www.alltrails.com/trail/us/oregon/fall-river-trail">Fall River Trail</a>.</p>
</figcaption>
</figure>
<p>I turned 35 yesterday! In no particular order, here are 35 things I&rsquo;m grateful for:</p>
<ol>
<li>Good health, and good overall physical condition.</li>
<li>The opportunity to grow older each year with my amazing wife.</li>
<li>My kids&rsquo; bubbly spirits and zest for life.</li>
<li>The love of my parents and siblings.</li>
<li>Oatly, <a href="https://bluelotuschai.com/">Blue Lotus Chai</a>, and stevia to make my morning chai.</li>
<li>Ending up in a job I really enjoy after the stress of getting laid off from my dream job.</li>
<li>Perks of working remote in an async environment: no commute, optimizing for my natural energy flows, and seeing my family throughout the day.</li>
<li>Willa, who is <em>always</em> in a good mood. #goals</li>
<li>Oregon&rsquo;s natural beauty — the coast, the Willamette Valley, the high dessert.</li>
<li>Books that broaden my worldview, most recently: <a href="https://www.goodreads.com/book/show/57433539-unsettled">Unsettled</a>. Natural climate variability seems like a far greater challenge than human CO2 emission.</li>
<li>When you&rsquo;re staying in a house without air conditioning and the overnight temperature drops to 53℉ instead of 68℉.</li>
<li>The internet, and all the exchange of knowledge it facilitates.</li>
<li>The breadth of topics on <a href="https://conversationswithtyler.com/">Conversations with Tyler</a>.</li>
<li>Fishing for salmon with my dad.</li>
<li>The occasional long walk with my mom.</li>
<li>A great set of teammates from across the globe: Brazil, Jamaica, Spain, Poland, Montenegro, New Zealand.</li>
<li>Psyllium husk.</li>
<li>1% infinity — every day tiny improvements can produce substantial change over time.</li>
<li>The value of editing.</li>
<li>People who, for all their faults, move humanity forward.</li>
<li>Learning how to lift weights last September. Even the little bit I do makes me feel much stronger and capable.</li>
<li>The privilege to introduce my kids to the world. It&rsquo;s incredibly warming to have their eyes light up at something I take for granted.</li>
<li>Friends I&rsquo;ve had for ten, twenty, and thirty years.</li>
<li>The opportunity to make new friends every day.</li>
<li>A good night sleep.</li>
<li>An awesome trail run on a cold, crisp morning.</li>
<li>My mom&rsquo;s blueberry cobbler.</li>
<li>My dad&rsquo;s fish and chips.</li>
<li>Keeping a whimsical perspective on life (&ldquo;my number one goal is to stay alive&rdquo; and &ldquo;non-stop fun all the time&rdquo;) which helps me roll with the punches.</li>
<li>How much I&rsquo;ve been able to travel, and how those experiences have shaped who I am.</li>
<li>PHP is better than JavaScript.</li>
<li>Living on a cul-de-sac where my kids can run around for hours.</li>
<li>Celebrating my birthday for an entire week (the &ldquo;birthday week&rdquo; tradition). This past week: McKenzie River trail run, sushi, homemade pizza, <a href="https://beavertonchettinad.org/">Chettinad</a> with friends, weekend in Sunriver with my family.</li>
<li>Everything I&rsquo;m forgetting to mention.</li>
<li>Being grateful.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>&#34;Good outcome, bad outcome&#34;</title>
      <link>https://danielbachhuber.com/good-outcome-bad-outcome/</link>
      <pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/good-outcome-bad-outcome/</guid>
      <description>&lt;p&gt;&amp;ldquo;Good outcome, bad outcome&amp;rdquo; is a great conversation framing magic trick.&lt;/p&gt;&#xA;&lt;p&gt;For example, yesterday I discussed user research with Marko, my new lead. Here&amp;rsquo;s how I framed my perspective:&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;&lt;em&gt;A good outcome would be:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;We have just enough customer research to answer our product questions.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;The team is fully aware of the “voice of the customer”, and uses it to guide product decisions.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;We ship the right product, it squarely addresses customer need, and is successful in the market.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;A bad outcome would be:&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&ldquo;Good outcome, bad outcome&rdquo; is a great conversation framing magic trick.</p>
<p>For example, yesterday I discussed user research with Marko, my new lead. Here&rsquo;s how I framed my perspective:</p>
<p>&ldquo;<em>A good outcome would be:</em></p>
<ul>
<li><em>We have just enough customer research to answer our product questions.</em></li>
<li><em>The team is fully aware of the “voice of the customer”, and uses it to guide product decisions.</em></li>
<li><em>We ship the right product, it squarely addresses customer need, and is successful in the market.</em></li>
</ul>
<p><em>A bad outcome would be:</em></p>
<ul>
<li><em>We build what we think we should build, without any customer input.</em></li>
<li><em>Our product isn’t successful in the market, because we haven’t addressed customer need.&rdquo;</em></li>
</ul>
<p>Boom! Immediate clarity to the conversation. If we agree on the desired outcome, we can start brainstorming how we get there. If we don&rsquo;t agree on the desired outcome, there&rsquo;s no point in endlessly talking about what we might do.</p>
<p>All too often, a discussion turns into an argument because Person A is talking about apples and Person B is talking about oranges. &ldquo;Good outcome, bad outcome&rdquo; is an amazingly effective way to create clarity and gain alignment.</p>
<p>Forever grateful to <a href="https://twitter.com/justinkistner">Justin Kistner</a> for the hack.</p>
]]></content:encoded>
    </item>
    <item>
      <title>My favorite feature proposal template</title>
      <link>https://danielbachhuber.com/feature-proposal-template/</link>
      <pubDate>Tue, 24 May 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/feature-proposal-template/</guid>
      <description>&lt;p&gt;&lt;em&gt;Feel free to use, share, and adapt! A derivative of a &lt;a href=&#34;https://basecamp.com/shapeup/1.5-chapter-06&#34;&gt;Shape Up pitch&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;problem-statement&#34;&gt;Problem Statement&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;What problem are customers having?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;describe problem experienced&gt;&#xA;&lt;p&gt;&lt;strong&gt;What are customers doing to address this problem today?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;describe workaround&gt;&#xA;&lt;p&gt;&lt;strong&gt;What do customers dislike about their current solution to the problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;describe dislikes&gt;&#xA;&lt;p&gt;&lt;strong&gt;Please include any supporting research (user interviews, cancellation feedback, etc.)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;include supporting research&gt;&#xA;&lt;h2 id=&#34;success-metric&#34;&gt;Success Metric&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;How are you measuring success? Is it feature adoption, feature satisfaction, or impact on top-level growth, expansion, or retention metrics? Use specific numbers when possible.&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>Feel free to use, share, and adapt! A derivative of a <a href="https://basecamp.com/shapeup/1.5-chapter-06">Shape Up pitch</a>.</em></p>
<h2 id="problem-statement">Problem Statement</h2>
<p><strong>What problem are customers having?</strong></p>
<describe problem experienced>
<p><strong>What are customers doing to address this problem today?</strong></p>
<describe workaround>
<p><strong>What do customers dislike about their current solution to the problem?</strong></p>
<describe dislikes>
<p><strong>Please include any supporting research (user interviews, cancellation feedback, etc.)</strong></p>
<include supporting research>
<h2 id="success-metric">Success Metric</h2>
<p><em>How are you measuring success? Is it feature adoption, feature satisfaction, or impact on top-level growth, expansion, or retention metrics? Use specific numbers when possible.</em></p>
<define success metric>
<h2 id="solution-description">Solution Description</h2>
<p><em>A high-level description of how the problem can be solved. It can include images, mockups, fat marker sketches, wireframes, etc. Ideally, it de-risks implementation by identifying and addressing all of the core elements of the feature.</em></p>
<prepare solution description with team>
<h2 id="effort-estimation">Effort Estimation</h2>
<p><em>How many design, development, and project management hours will this project require?</em></p>
<prepare estimation with team>
<h2 id="open-questions">Open Questions</h2>
<p><em>Any open questions we’ll need to address before proceeding to the next stage.</em></p>
<open questions added as the document develops>
]]></content:encoded>
    </item>
    <item>
      <title>Lessons from two weeks of coding club</title>
      <link>https://danielbachhuber.com/coding-club-lessons/</link>
      <pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/coding-club-lessons/</guid>
      <description>&lt;p&gt;Teaching coding club has been an unexpectedly rewarding experience. The kids are really into it, my role has been less terrifying than I thought it would be, and the available educational materials are quite good. Walking into my old elementary school, which my kids now attend, is quite a trip too.&lt;/p&gt;&#xA;&lt;p&gt;Like coding, teaching is hard to do well. I&amp;rsquo;m still very much a newbie. For lack of a structured opportunity to learn, I&amp;rsquo;ve always cobbled bits together from what others have passed along. In that spirit, here are some of my lessons from the past two weeks.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Teaching coding club has been an unexpectedly rewarding experience. The kids are really into it, my role has been less terrifying than I thought it would be, and the available educational materials are quite good. Walking into my old elementary school, which my kids now attend, is quite a trip too.</p>
<p>Like coding, teaching is hard to do well. I&rsquo;m still very much a newbie. For lack of a structured opportunity to learn, I&rsquo;ve always cobbled bits together from what others have passed along. In that spirit, here are some of my lessons from the past two weeks.</p>
<h2 id="whats-going-well">What&rsquo;s going well</h2>
<p><strong><a href="https://www.scratchjr.org/">ScratchJr</a> is a great place for younger kids to start.</strong> After <a href="https://www.youtube.com/watch?v=H0kP-guovdI&amp;t=3s">watching a 4 minute YouTube introduction</a>, they understood the interface well-enough to start. In the first week&rsquo;s session, they started with the <a href="https://www.scratchjr.org/teach/activities/drive-across-the-city">drive across the city</a> and <a href="https://www.scratchjr.org/teach/activities/run-a-race">run a race</a> challenges. After they successfully completed those, I handed out <a href="https://www.amazon.com/dp/1593278993">ScratchJr Coding Cards</a> to each table. In the second week&rsquo;s session, <a href="https://scratchjrfun.com/move-the-frog-up-the-stairs-loops-in-scratchjr/">moving a frog up the stairs with a loop</a> turned out to be much more of a challenge than I had anticipated. Afterwards, they created their own challenge for a neighbor.</p>
<p><strong>Intentional design decisions are a point of leverage.</strong> Each kid sits in a table of three. If they have a question, they have to ask one of their table mates before flagging a helper. This approach reduces burden on the helpers, gets them an answer quicker, and creates an opportunity for kids to be a teacher too. Additionally, we intentionally limited the club to 15 students from kindergarten through second grade, which is very manageable.</p>
<h2 id="whats-could-be-improved">What&rsquo;s could be improved</h2>
<p><strong>Even though I plan a few days ahead, I still feel like I&rsquo;m flying by the seat of my pants.</strong> For next week&rsquo;s session (the third in the series), we&rsquo;re moving on from ScratchJr to <a href="https://code.org/">code.org</a>. However, instead of starting at the beginning of the curriculum, I picked out a lesson based on where I think the kids are at. Will it blend? We&rsquo;ll see!</p>
<p><strong>I would love to have access to a library of engaging &ldquo;what is coding?&rdquo; videos.</strong> At the beginning of each session, I spend 10-20 minutes introducing core concepts: languages, algorithms, loops, functions, etc. To help reinforce the idea, I try to tie it to a real-world example. However, I&rsquo;d much prefer to show a hip, entertaining 3-5 minute video — the SchoolHouse Rock version of &ldquo;what is a function?&rdquo;.</p>
]]></content:encoded>
    </item>
    <item>
      <title>&#34;Done is&#34;</title>
      <link>https://danielbachhuber.com/done-is/</link>
      <pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/done-is/</guid>
      <description>&lt;p&gt;All too often, even when a task includes lots of detail, it’s unclear what it means for a task to be complete.&lt;/p&gt;&#xA;&lt;p&gt;“Done is” bridges this gap by offering a &lt;em&gt;lightweight&lt;/em&gt; style for explicitly defining acceptance criteria at the end of a task:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;My awesome task&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A ton of great detail about the task.&lt;/p&gt;&#xA;&lt;p&gt;Done is:&lt;br&gt;&#xA;- Simple sentence describing the first acceptance criteria.&lt;br&gt;&#xA;- Another sentence describing the second acceptance criteria.&lt;br&gt;&#xA;- A third acceptance criteria if there is one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>All too often, even when a task includes lots of detail, it’s unclear what it means for a task to be complete.</p>
<p>“Done is” bridges this gap by offering a <em>lightweight</em> style for explicitly defining acceptance criteria at the end of a task:</p>
<blockquote>
<p><strong>My awesome task</strong></p>
<p>A ton of great detail about the task.</p>
<p>Done is:<br>
- Simple sentence describing the first acceptance criteria.<br>
- Another sentence describing the second acceptance criteria.<br>
- A third acceptance criteria if there is one.</p></blockquote>
<h2 id="uncertainty-breeds-discontent">Uncertainty breeds discontent</h2>
<p>A missing definition of done can easily cause a rift between the task creator and the task implementer.</p>
<p>The rift starts when the implementer thinks they&rsquo;re done and hands off the work for review. The creator becomes irritated when they discover the work is missing pieces P, Q, and R. The rift gets worse when the implementer knows they need to add P, Q, and R, but also realizes there might also be an unstated S, T, and U.</p>
<p>The root cause of this frustration? Implicit information that could&rsquo;ve been explicit.</p>
<h2 id="done-is-provides-clarity">&ldquo;Done is&rdquo; provides clarity</h2>
<p>Later this morning, I need to make lunches for my kids. In our project management system, the task might look like this:</p>
<blockquote>
<p><strong>Pack Kids&rsquo; Lunches</strong></p>
<p>Ava prefers half a bagel with cream cheese, and Charlie likes a bean burrito. The lunch boxes are under the sink.</p></blockquote>
<p>The task title is good because it&rsquo;s actionable, and the task description has useful context. However, there&rsquo;s lots of important but unstated nuance.</p>
<p>Adding a definition of &ldquo;Done is&rdquo; makes the end deliverable even more explicit:</p>
<blockquote>
<p><strong>Pack Kids&rsquo; Lunches</strong></p>
<p>Ava prefers half a bagel with cream cheese, and Charlie likes a bean burrito. The lunch boxes are under the sink.</p>
<p>Done is:<br>
- Each lunch has a fruit or vegetable, a main item, and a secondary item.<br>
- The lunches have passed the kids&rsquo; inspections.<br>
- Each kid has a lunch packed in their backpack.</p></blockquote>
<h2 id="hack-work-with-done-is">Hack work with &ldquo;Done is&rdquo;</h2>
<p>Over the last several years, I&rsquo;ve found &ldquo;Done is&rdquo; to be an incredibly helpful communication tool.</p>
<p>&ldquo;Done is&rdquo; provides a simple mechanism to explicitly define a task&rsquo;s, often implicit, acceptance criteria. The list format makes it easy to skim as work progresses. Furthermore, it can act as a bellwether for the quality of a task. If &ldquo;Done is&rdquo; has more than five bullet points, the task may need to be broken down into smaller pieces. Or, if it&rsquo;s difficult to communicate what &ldquo;Done is&rdquo;, the task may need further consideration.</p>
<p>&ldquo;Done is&rdquo; makes it obvious what done is.</p>
<p>Many thanks to <a href="https://shbgm.ca/">Samuel</a> for the introduction.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Solving &#34;Properly size images&#34; in WordPress</title>
      <link>https://danielbachhuber.com/solving-properly-size-images-wordpress/</link>
      <pubDate>Tue, 01 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/solving-properly-size-images-wordpress/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;https://tinybit.com/blog/solving-properly-size-images-wordpress/&#34;&gt;originally appeared on the TinyBit Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;WordPress tries to be helpful by automatically making your images responsive. It adds &lt;code&gt;sizes&lt;/code&gt; and &lt;code&gt;srcset&lt;/code&gt; attributes to each &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; to ensure a properly sized file is used at each screen width. Unfortunately, these values are almost always incorrect.&lt;/p&gt;&#xA;&lt;p&gt;Even worse, there’s no easy fix. Responsive images are one of those historically complex, oft-misunderstood frontend development topics. Or, at least, they have always been difficult for me to understand. Recently, to solve Google Lighthouse’s “Properly size images” warning for our sites, I jumped in anyway, pushed through the misery, and finally figured out a solution.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="https://tinybit.com/blog/solving-properly-size-images-wordpress/">originally appeared on the TinyBit Blog</a>.</em></p>
<p>WordPress tries to be helpful by automatically making your images responsive. It adds <code>sizes</code> and <code>srcset</code> attributes to each <code>&lt;img&gt;</code> to ensure a properly sized file is used at each screen width. Unfortunately, these values are almost always incorrect.</p>
<p>Even worse, there’s no easy fix. Responsive images are one of those historically complex, oft-misunderstood frontend development topics. Or, at least, they have always been difficult for me to understand. Recently, to solve Google Lighthouse’s “Properly size images” warning for our sites, I jumped in anyway, pushed through the misery, and finally figured out a solution.</p>
<h2 id="whats-happening-when-google-lighthouse-complains-about-properly-size-images">What’s happening when Google Lighthouse complains about “Properly size images”</h2>
<p>This epic journey all came about because of the <a href="https://web.dev/uses-responsive-images/">&ldquo;Properly size images&rdquo; warning</a> in Google Lighthouse. When Google Lighthouse complains your images aren&rsquo;t properly sized, it’s saying you are using too large of an image file for how the image displays on the page. Google Lighthouse inspects your page in a simulated Moto G4 browser, but the problem can exist across all browser widths.</p>
<p>Let’s dive into a specific example.</p>
<p><img src="images/image-2-1024x683.png" alt=""  width="1024"
	height="683"  /></p>
<p>In the example above, the image displays at 300 pixels wide by 200 pixels tall. However, the image file is 640 pixels wide by 480 pixels tall. The image file is too large for the browser viewport. <strong>When the size of the actual file exceeds the size of the expected file by 4kb or more, Google Lighthouse flags it as an improperly sized image.</strong></p>
<p>“OK, easy to fix. I will simply resize the image to 300 pixels wide by 200 pixels tall. Boom: problem solved.”</p>
<p><img src="images/image-3-1024x683.png" alt=""  width="1024"
	height="683"  /></p>
<p>Not so fast! The problem is more complex than that. Because the image appears at various widths as the browser width changes, the file variations you include need to accommodate the responsiveness of the design as well. Additionally, you need to make sure the image has 2x and 3x versions at each browser width for high density displays.</p>
<p>The solution is responsive images, but now you have two problems.</p>
<h2 id="first-start-with-the-sizes-attribute">First, start with the <code>sizes</code> attribute</h2>
<p>The mistake I&rsquo;ve always made is to shove more image widths into the <code>srcset</code> attribute and call it a day. I assumed WordPress’ automatically generated <code>sizes</code> attribute was correct, and a manually prepared <code>sizes</code> attribute was a nice optimization.</p>
<p><strong>In reality, having the correct <code>sizes</code> attribute is critical. The <code>sizes</code> attribute tells the browser how the image will be displayed at various browser widths. Only once you have a correct <code>sizes</code> attribute can you know what image widths you need in the <code>srcset</code> attribute.</strong></p>
<p>Let’s look at our prior examples again.</p>
<p><img src="images/image-4-1024x683.png" alt=""  width="1024"
	height="683"  /></p>
<p>Calculating the <code>sizes</code> attribute requires knowing how the image displays at various browser widths. In the first example, the image displays at 100% of the browser width. Because this is the mobile version, we can use <code>100vw</code> (100% of the viewport width) as the default value for the sizes attribute: <code>sizes=&quot;100vw&quot;</code>. In the second example, the image displays at 50% of the browser width. We’ll add it to the sizes attribute with a media query: <code>sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;</code>. Simple, right?</p>
<p>Unfortunately, it&rsquo;s a total pain and relatively error-prone to manually calculate the <code>sizes</code> attribute. Responsive site designs are rarely as simple as the example above. Plus, you’ll likely have a dozen or more images on a page with varying presentations.</p>
<h3 id="responsive-image-linter-saves-the-day"><strong>Responsive Image Linter saves the day!</strong></h3>
<p>Fortunately, an awesome open source project called <a href="https://ausi.github.io/respimagelint/">Responsive Image Linter</a> can calculate the sizes attribute for you. <a href="https://twitter.com/kingkool68/status/1458095203290689542">Thank you Russell Heimlich for the tip</a>. Simply install the bookmarklet, run it against the page, and it shows an analysis for each image:</p>
<p><img src="images/sizes-suggestions-1024x310.png" alt=""  width="1024"
	height="310"  /></p>
<p>Once you’ve applied the suggested changes, your image will pass the lint:</p>
<p><img src="images/image-check-passed-1024x210.png" alt=""  width="1024"
	height="210"  /></p>
<p>When I&rsquo;ve manually calculated the <code>sizes</code> attribute in the past, it was pretty much always wrong. With Responsive Image Linter, I get the <code>sizes</code> attribute correct on the first try!</p>
<h2 id="second-add-srcset-widths-after-the-sizes-attribute-is-correct">Second, add <code>srcset</code> widths after the <code>sizes</code> attribute is correct</h2>
<p>Now that your <code>sizes</code> attributes are correct, it’s possible to calculate the necessary <code>srcset</code> widths for your images. But what should they be?</p>
<p>Responsive Image Linter saves the day again! A couple weeks ago, I opened an issue suggesting Responsive Image Linter <a href="https://github.com/ausi/respimagelint/issues/62">provide recommended widths for <code>srcset</code> images</a>. The maintainer, <a href="https://twitter.com/ausi">Martin Auswöger</a>, thought it was a good idea and was open to sponsorship for it.</p>
<p>Responsive Image Linter now suggests recommended widths for <code>srcset</code> images:</p>
<p><img src="images/srcset-suggestions-1024x308.png" alt=""  width="1024"
	height="308"  /></p>
<p>Identifying these best widths is more of an art than it is a science. Here’s a <a href="https://github.com/ausi/respimagelint/issues/62#issuecomment-1018556187">summary of how Responsive Image Linter’s algorithm works</a>:</p>
<blockquote>
<p>When the linter runs, it resizes the viewport (browser window) to many different dimensions and checks how large each image is for each viewport.</p>
<p>The <a href="https://github.com/ausi/respimagelint/blob/e94115e3e2edae21a76583a41bc0bbee76aeaf2e/src/linter/images/missingFittingSrc.js#L178">calculateSuggestedDimenions</a> algorithm then takes this data and searches for image widths that appear often. These sizes are most likely statically sized images (non-fluid) and their exact widths are added to the recommendation list as @1x and @2x versions.</p>
<p>Next, it adds the lowest and largest measured size of the image to the recommendation list too.</p>
<p>From this list it then removes sizes that are less than 0.2 megapixels apart. Gaps in that list of sizes that are larger than 0.75 megapixels get divided into equal parts of less than 0.75 megapixels.</p>
<p>At the end of all of this we get a list of image widths where every gap between them is from 0.2 to 0.75 megapixel large. And for the non-fluid sized parts of an image we have an exact match for @1x and @2x screen resolutions.</p></blockquote>
<p>As of January 2022, what&rsquo;s going on in Google Lighthouse is actually much simpler than Responsive Image Linter’s algorithm. When Google Lighthouse shows the “Properly size images” warning, it is only looking at one viewport width (that of the Moto G4). For a given image, Google Lighthouse computes the actual pixels displayed (width and height), compares this value to the total number of pixels in the file, and throws a warning if the difference between the two exceeds the 4kb threshold. <a href="https://github.com/GoogleChrome/lighthouse/issues/11593#issuecomment-716598218">This may change in the future</a>.</p>
<p>For additional context, here are a few other helpful links I came across in my research:</p>
<ul>
<li><a href="https://medium.com/hceverything/applying-srcset-choosing-the-right-sizes-for-responsive-images-at-different-breakpoints-a0433450a4a3">Applying srcset: choosing the right sizes for responsive images at different breakpoints</a>. Some synthetic testing around which are the most commonly used image sizes. The author produced a <a href="https://github.com/HCESrl/vue-responsive-image">Vue component</a> to &ldquo;quickly create responsive image tags with an optimal number of image sources for all devices.&rdquo; It uses this underlying <a href="https://github.com/HCESrl/responsive-image-sizes">responsive-image-sizes</a> library.</li>
<li><a href="https://cloudfour.com/thinks/responsive-images-101-part-9-image-breakpoints/">Responsive Images 101, Part 9: Image Breakpoints</a>. A canonical article on the topic.</li>
<li><a href="https://webmasters.stackexchange.com/questions/132311/how-do-you-determine-a-good-set-of-breakpoints-for-srcset-image-sizes">How do you determine a good set of breakpoints for srcset image sizes</a>. Accepted answer is some real world research into the most common screen resolutions, and image size opinions based on them.</li>
</ul>
<h2 id="workflow-for-solving-properly-size-images-in-wordpress">Workflow for solving “Properly size images” in WordPress</h2>
<p>The primary pages on our sites now pass the “Properly size images” check. It took a good amount of effort though, so I identified some strategies to streamline the process.</p>
<h3 id="dont-bother-with"><strong>Don’t bother with <code>sizes</code> or <code>srcset</code> until your design is complete</strong></h3>
<p>When building a new page, I think it&rsquo;s best to not bother with the <code>sizes</code> or <code>srcset</code> attributes until the design is complete. Because they will change as the design changes, it&rsquo;s simply extra work to prematurely optimize your images. Once the page is complete, run Responsive Image Linter to identify the necessary <code>sizes</code> and <code>srcset</code> attributes.</p>
<p>Apply <code>sizes</code> to template images by passing it as an argument:</p>
<pre tabindex="0"><code>&lt;?php
echo wp_get_attachment_image(
	$thumbnail_id,
	&#39;thumbnail&#39;,
	false,
	[
		&#39;class&#39; =&gt; &#39;rounded-full w-20 md:w-24 h-20 md:h-24 mb-2&#39;,
		&#39;sizes&#39; =&gt; &#39;(min-width: 780px) 96px, 80px&#39;,
	]
);
</code></pre><p>For images in the post content, you&rsquo;ll need to filter <code>wp_calculate_image_sizes</code>. I&rsquo;d suggest adding the filter early on <code>the_content</code>, and then removing it late, to avoid having the filter impact other parts of your theme.</p>
<h3 id="have-a-system-for-generating-image-width-variations"><strong>Have a system for generating image width variations</strong></h3>
<p>For images hardcoded into the theme template, my preference has always been to commit the images directly into the Git repository. I <a href="https://github.com/wearetinybit/tinybit-core-plugin/blob/d85709769f2fe9d0e16db25205d7a51d46be5459/inc/class-cli.php#L40">wrote a little script</a> to streamline the process of creating the necessary image widths:</p>
<pre tabindex="0"><code>
$ wp tbc generate-image-widths --widths=270,560,890 --compress assets/images/tasty-recipes-sales/cards/elegant.png
Generated elegant-270x325.png (47kb-&gt;14kb)
Generated elegant-560x675.png (169kb-&gt;48kb)
Generated elegant-890x1073.png (365kb-&gt;103kb)
Success: Image widths created.
</code></pre><p>The <code>--compress</code> flag throws the image against <a href="http://,">TinyPNG</a>, which somehow is able to magically compress the image much more than WordPress can.</p>
<h3 id="use-just-the-right-amount-of"><strong>Use just the right amount of <code>add_image_size()</code></strong></h3>
<p>For images embedded into the post content, WordPress will dynamically assign <code>sizes</code> and <code>srcset</code> attributes as the post is rendered.</p>
<p>For the <code>sizes</code> attribute, there’s one thing to be aware of: unless you’d like to calculate the value for each image in the post content, the <code>sizes</code> will almost always be incorrect. Images can be varying widths within the post content. I think the best thing to do is to figure out the <code>sizes</code> attribute for an image that is 100% of the post content width, and use that for all of the images.</p>
<p>For the <code>srcset</code> attribute, WordPress inserts any “thumbnails” (size variations registered with <code>add_image_size()</code> ) that match the proportions of the original image. The defaults are <em>somewhat</em> sufficient out of the box. If they aren’t, your options include:</p>
<ol>
<li>Ignore the problem.</li>
<li>Register more thumbnails with <code>add_image_size()</code>, and then “regenerate thumbnails” for all of the images in your Media Library. The latter can be hours of script execution on a larger site.</li>
<li>Use an image CDN to dynamically generate additional image widths.</li>
</ol>
<p>We ended up doing a combination of options 2 and 3. For the most part, I added another image size or two on each site. On Pinch of Yum and Food Blogger Pro, we’re using Cloudflare to dynamically generate a few additional image widths:</p>
<pre tabindex="0"><code>add_filter(
	&#39;wp_calculate_image_srcset&#39;,
	function( $sources, $size_array, $image_src, $image_meta, $attachment_id ) {
		$full_src = wp_get_attachment_url( $attachment_id );
		if ( ! $full_src ) {
			return $sources;
		}

		$widths = [ 480, 680, 960, 1080 ];
		foreach ( $widths as $width ) {
			if ( isset( $sources[ $width ] )
			|| $width &gt;= $size_array[0] ) {
				continue;
			}
			$url = sprintf(
				&#39;https://pinchofyum.com/cdn-cgi/image/width=%d,height=%s,fit=scale-down/%s&#39;,
				$width,
				99999,
				ltrim( wp_parse_url( $full_src, PHP_URL_PATH ), &#39;/&#39; )
			);

			$sources[ $width ] = [
				&#39;url&#39;        =&gt; $url,
				&#39;descriptor&#39; =&gt; &#39;w&#39;,
				&#39;value&#39;      =&gt; $width,
			];
		}
		return $sources;
	},
	10,
	5
);
</code></pre><p>Et voila! You’ve solved “Properly size images” for your WordPress site.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Some of my favorite hikes in Oregon</title>
      <link>https://danielbachhuber.com/favorite-oregon-hikes/</link>
      <pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/favorite-oregon-hikes/</guid>
      <description>&lt;p&gt;My aunt is getting into hiking and asked for recommendations. You, dear reader, might be interested in them too!&lt;/p&gt;&#xA;&lt;h2 id=&#34;relatively-flat-hikes&#34;&gt;Relatively flat hikes&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.oregonhikers.org/field_guide/Warrior_Point_Hike&#34;&gt;Warrior Point&lt;/a&gt;. 7 mile out and back on Sauvie Island. The destination is kinda meh but the view of the Columbia along the way is really cool. Stop by my other aunt&amp;rsquo;s for a glass of wine when you&amp;rsquo;re done :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.alltrails.com/trail/us/oregon/wildwood-trail-newberry-rd-to-germantown-rd&#34;&gt;Wildwood trail between Germantown and Newberry Road&lt;/a&gt;. 11 mile out and back in a nice part of Forest Park. It&amp;rsquo;s generally less trafficked than Leif Erikson, although the parking lot can still fill up. I usually start from Germantown.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My aunt is getting into hiking and asked for recommendations. You, dear reader, might be interested in them too!</p>
<h2 id="relatively-flat-hikes">Relatively flat hikes</h2>
<p><a href="https://www.oregonhikers.org/field_guide/Warrior_Point_Hike">Warrior Point</a>. 7 mile out and back on Sauvie Island. The destination is kinda meh but the view of the Columbia along the way is really cool. Stop by my other aunt&rsquo;s for a glass of wine when you&rsquo;re done :)</p>
<p><a href="https://www.alltrails.com/trail/us/oregon/wildwood-trail-newberry-rd-to-germantown-rd">Wildwood trail between Germantown and Newberry Road</a>. 11 mile out and back in a nice part of Forest Park. It&rsquo;s generally less trafficked than Leif Erikson, although the parking lot can still fill up. I usually start from Germantown.</p>
<p><a href="https://www.alltrails.com/trail/us/oregon/henry-hagg-lake-trail-from-sw-west-shore-drive">Hagg Lake</a>. 13-14 mile loop around, you guessed it, Hagg Lake. It&rsquo;s <a href="https://www.instagram.com/p/Bt_5BIQH6nr/">very muddy at this time of year</a>, so would be better to save for June or later.</p>
<p><a href="https://www.alltrails.com/trail/us/oregon/timothy-lake-loop">Timothy Lake Loop</a>. Beautiful 15 mile loop for the summer. Not sure if the trailhead is accessible in the winter (snow).</p>
<h2 id="hikes-with-more-elevation">Hikes with more elevation</h2>
<p><a href="https://www.alltrails.com/trail/us/washington/dog-mountain-trail">Dog Mountain</a>. 6.5 mile out and back with a great view down the Gorge. It requires a permit in the high season. I went a couple weeks prior to the beginning of the 2021 season and we were able to get a parking spot at 7 am. Lot was full by the time we got back down though.</p>
<p><a href="https://www.oregonhikers.org/field_guide/Neahkahnie_Mountain_Loop_Hike">Neahkanie Mountain</a>. My favorite hike :) North of Manzanita. I usually prefer an out and back from the ocean trailhead, which ends up being ~6 miles.</p>
<p><a href="https://www.oregonhikers.org/field_guide/Paradise_Park_from_Timberline_Lodge_Hike">Paradise Park from Timberline</a>. Summer hike of 12 miles and 2300 feet of elevation gain. Gets busy but still worth doing because it has awesome lunch spot views of Mt. Hood.</p>
<p><a href="https://www.oregonhikers.org/field_guide/Table_Mountain_from_Bonneville_Hike">Table Mountain</a>. When you&rsquo;re ready for 4300 feet of elevation gain over 16 miles, this is your jam!</p>
]]></content:encoded>
    </item>
    <item>
      <title>DIY inline critical CSS for WordPress</title>
      <link>https://danielbachhuber.com/wordpress-inline-critical-css/</link>
      <pubDate>Tue, 14 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-inline-critical-css/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;https://tinybit.com/blog/wordpress-inline-critical-css/&#34;&gt;originally appeared on the TinyBit Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/image-1-1024x262.png&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;262&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;One of Google Lighthouse&amp;rsquo;s peskiest problems is &amp;ldquo;Eliminate render-blocking resources.&amp;rdquo; Here&amp;rsquo;s the nut of it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Your &lt;code&gt;style.css&lt;/code&gt; file can easily end up as 100+ kilobytes.&lt;/li&gt;&#xA;&lt;li&gt;Downloading this stylesheet blocks page render.&lt;/li&gt;&#xA;&lt;li&gt;Because Google wants to display the page as quickly as possible, Lighthouse throws a warning if your stylesheet is greater than 14kb.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The established solution is to &lt;em&gt;extract and inline your critical CSS.&lt;/em&gt; Essentially, you put styles used above the fold in an inline &lt;code&gt;&amp;lt;style&amp;gt;&amp;lt;/style&amp;gt;&lt;/code&gt; tag, and delay loading the main stylesheet until the page is rendered.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="https://tinybit.com/blog/wordpress-inline-critical-css/">originally appeared on the TinyBit Blog</a>.</em></p>
<p><img src="images/image-1-1024x262.png" alt=""  width="1024"
	height="262"  /></p>
<p>One of Google Lighthouse&rsquo;s peskiest problems is &ldquo;Eliminate render-blocking resources.&rdquo; Here&rsquo;s the nut of it:</p>
<ol>
<li>Your <code>style.css</code> file can easily end up as 100+ kilobytes.</li>
<li>Downloading this stylesheet blocks page render.</li>
<li>Because Google wants to display the page as quickly as possible, Lighthouse throws a warning if your stylesheet is greater than 14kb.</li>
</ol>
<p>The established solution is to <em>extract and inline your critical CSS.</em> Essentially, you put styles used above the fold in an inline <code>&lt;style&gt;&lt;/style&gt;</code> tag, and delay loading the main stylesheet until the page is rendered.</p>
<p><img src="images/image-1024x397.png" alt=""  width="1024"
	height="397"  /></p>
<p>It&rsquo;s relatively straightforward to generate critical CSS for a static site. Not so much for WordPress! WordPress has dynamic content on each page. If you only scrape the template file for your HTML, you&rsquo;ll miss the markup in the dynamic content. Plus, production data is likely different than local data, so the HTML needs to be generated in production.</p>
<p>Not satisfied with the alternatives, we built our own solution.</p>
<h2 id="tinybit-critical-css">TinyBit Critical CSS</h2>
<p>Our solution for inline critical CSS on WordPress is two-fold:</p>
<ul>
<li><a href="https://github.com/pinchofyum/tinybit-critical-css-server">tinybit-critical-css-server</a> (&ldquo;the server&rdquo;) is a Node.js application that can run on Google Cloud Functions. It performs the critical CSS calculation.</li>
<li><a href="https://github.com/pinchofyum/tinybit-critical-css-plugin/">tinybit-critical-css-plugin</a> (&ldquo;the plugin&rdquo;) is a WordPress plugin that communicates with the server and integrates the critical CSS into your site.</li>
</ul>
<p>At a high level, here&rsquo;s how the system works:</p>
<ol>
<li>The process is initiated by WP-CLI or the refresh webhook.</li>
<li>When triggered, the plugin does a server-side render of the given WordPress page. After the page is rendered, its HTML and CSS are sent to the server.</li>
<li>The server renders the HTML and CSS inside a headless browser to compute the critical CSS.</li>
<li>When the server returns a successful response, the plugin stores critical CSS to the filesystem.</li>
<li>Now that the critical CSS exists, it is included inline and the stylesheet is deferred.</li>
</ol>
<p>One key element to our solution: server-side page renders. The plugin <a href="https://github.com/pinchofyum/tinybit-critical-css-plugin/blob/e41cbb551dfbede0fc7c0146d7ea2de558078415/inc/class-core.php#L228-L332">renders and captures the HTML page directly in the generation process</a>. This lets us avoid some complexities: the server needing to bypass cache, the site needing to be web-accessible to the server, etc. Instead, the plugin is able to provide exactly the HTML and CSS to be evaluated.</p>
<p>Our approach is also opt-in on a page-by-page basis. If you have lots of varying pages, you may only care about inline critical CSS for your landing pages.</p>
<h2 id="alternatives">Alternatives</h2>
<p>There are at least a couple of alternatives you could consider: <a href="https://wp-rocket.me/">WP Rocket</a> and <a href="https://wordpress.org/plugins/autoptimize/">Autoptimize</a>.</p>
<p>WP Rocket <a href="https://github.com/wp-media/wp-rocket/blob/aea8f96b0725f900deaa337af2f87c37277676ff/inc/Engine/CriticalPath/APIClient.php#L10-L13">appears to use a similar approach with its own hosted service</a>. There are a few differences, though. First, instead of rendering the page server-side, WP Rocket makes a request back to your site. This request has to bypass cache entirely in order to have the most up-to-date HTML and CSS. Second, WP Rocket picks a <a href="https://github.com/wp-media/wp-rocket/blob/c3c54101be5a2a18232530b36ac586a458458ae4/inc/Engine/CriticalPath/CriticalCSS.php#L200-L266">somewhat random assortment</a> of pages, so you&rsquo;ll probably need to tune that. Third, WP Rocket is a large plugin with lots of bells and whistles you may not want in the context of solving this problem.</p>
<p>Autoptimize is a similar implementation to WP Rocket, except it instead requires a paid subscription to <a href="https://criticalcss.com/">criticalcss.com</a>. Autoptimize too does a lot more than critical CSS, so be prepared for configuration tweaking.</p>
<p>If you don&rsquo;t want to maintain your own Node.js server, both of these would be reasonable to consider.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New hardware: 13″ MacBook Pro M1</title>
      <link>https://danielbachhuber.com/new-hardware-13-macbook-pro-m1/</link>
      <pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-hardware-13-macbook-pro-m1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_0837-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;On the left is my new Apple 13&amp;quot; MacBook Pro M1, with 16 GB RAM and 500 GB SSD. On the right is my old MBP, which conveniently started having battery issues in December.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://twitter.com/dbchhbr/status/1350571798954299392&#34;&gt;M1 so fast&lt;/a&gt;! I was very skeptical but now I&amp;rsquo;m a true believer. The keyboard is quality, too. Now that it has a dedicated ESC key, I&amp;rsquo;m beginning to think I could get used to the Touch Bar.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_0837-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>On the left is my new Apple 13&quot; MacBook Pro M1, with 16 GB RAM and 500 GB SSD. On the right is my old MBP, which conveniently started having battery issues in December.</p>
<p><a href="https://twitter.com/dbchhbr/status/1350571798954299392">M1 so fast</a>! I was very skeptical but now I&rsquo;m a true believer. The keyboard is quality, too. Now that it has a dedicated ESC key, I&rsquo;m beginning to think I could get used to the Touch Bar.</p>
<p>Previously: <a href="https://danielbachhuber.com/2018/10/13/new-hardware-13-macbook-pro-2/">2018</a>, <a href="https://danielbachhuber.com/2014/12/30/new-hardware-13-macbook-pro/">2014</a>, <a href="https://danielbachhuber.com/2011/02/06/new-kit-macbook-air/">2011</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Scalable infrastructure with Larvel Forge and Digital Ocean</title>
      <link>https://danielbachhuber.com/scalable-infrastructure-with-larvel-forge-and-digital-ocean/</link>
      <pubDate>Fri, 08 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/scalable-infrastructure-with-larvel-forge-and-digital-ocean/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re getting close to the public launch for &lt;a href=&#34;https://upfocus.io&#34;&gt;Upfocus&lt;/a&gt;. In order to accommodate (hopefully) growing usage, I really wanted to make sure we had scalable infrastructure in place: ability to add more server capacity, atomic deploys, etc.&lt;/p&gt;&#xA;&lt;p&gt;After a bit of research and experimentation, I&amp;rsquo;m really happy with the &lt;a href=&#34;https://forge.laravel.com/&#34;&gt;Laravel Forge&lt;/a&gt; + &lt;a href=&#34;https://www.digitalocean.com/&#34;&gt;Digital Ocean&lt;/a&gt; + &lt;a href=&#34;https://www.deployhq.com/&#34;&gt;DeployHQ&lt;/a&gt; solution I&amp;rsquo;ve put together. It was way easier than I thought it would be.&lt;/p&gt;&#xA;&lt;h2 id=&#34;web-nodes&#34;&gt;Web nodes&lt;/h2&gt;&#xA;&lt;p&gt;We&amp;rsquo;re using &lt;a href=&#34;https://forge.laravel.com/&#34;&gt;Laravel Forge&lt;/a&gt; to manage two Digital Ocean droplets. These droplets sit behind Digital Ocean&amp;rsquo;s load balancer product, and the load balancer sits behind CloudFlare.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We&rsquo;re getting close to the public launch for <a href="https://upfocus.io">Upfocus</a>. In order to accommodate (hopefully) growing usage, I really wanted to make sure we had scalable infrastructure in place: ability to add more server capacity, atomic deploys, etc.</p>
<p>After a bit of research and experimentation, I&rsquo;m really happy with the <a href="https://forge.laravel.com/">Laravel Forge</a> + <a href="https://www.digitalocean.com/">Digital Ocean</a> + <a href="https://www.deployhq.com/">DeployHQ</a> solution I&rsquo;ve put together. It was way easier than I thought it would be.</p>
<h2 id="web-nodes">Web nodes</h2>
<p>We&rsquo;re using <a href="https://forge.laravel.com/">Laravel Forge</a> to manage two Digital Ocean droplets. These droplets sit behind Digital Ocean&rsquo;s load balancer product, and the load balancer sits behind CloudFlare.</p>
<p>Forge&rsquo;s specific advantages are:</p>
<ul>
<li>All of the software necessary for Laravel is installed for you.</li>
<li>There&rsquo;s a nice admin panel for managing scheduled jobs, queues, and other Laravel-specific configuration.</li>
</ul>
<p>Originally, I tested out Digital Ocean&rsquo;s new App Platform. However, <a href="https://www.digitalocean.com/community/questions/laravel-application-deployments-take-10-minutes">deployments took too long for my liking (~6-10 minutes)</a>. There were a few other things I ran into that gave me pause, too. For instance, you have to provision another container for the queue, and it&rsquo;s unclear as to whether a deploy will blow away a job in progress.</p>
<p>SSL in front of the load balancer was a bit tricky. Digital Ocean can&rsquo;t provision a LetsEncrypt certificate unless you also manage your DNS with Digital Ocean. Fortunately, it&rsquo;s possible to install CloudFlare&rsquo;s origin certificate on the load balancer, and then use CloudFlare for SSL.</p>
<h2 id="deployments">Deployments</h2>
<p>For atomic deploys, <a href="https://www.deployhq.com/">DeployHQ</a> ended up working <em>way</em> better than I expected. It&rsquo;s pretty much magic; they&rsquo;ve done a really good job with their product.</p>
<p>Here&rsquo;s <a href="https://www.deployhq.com/support/deployments/setting-up-atomic-deployments">how it works</a>:</p>
<ol>
<li>GitHub sends a ping to DeployHQ on a push to master.</li>
<li>DeployHQ fetches the latest, runs <code>npm run prod</code> and <code>composer install</code>, and then syncs <em>only the changed files</em> to a release folder on the server. The rest of the release folder is copied directly on the server from the previous release.</li>
<li>DeployHQ syncs the <code>.env</code> file to the release folder on each server.</li>
<li>After the release is ready, DeployHQ updates the symlink to point to the new release.</li>
</ol>
<p>That&rsquo;s it! Seriously, I&rsquo;m very impressed with how well it works.</p>
<h2 id="storage">Storage</h2>
<p>Because I want to manage as few servers as possible, we&rsquo;re using Digital Ocean&rsquo;s managed MySQL and Redis. For both of these products, system admin is easy peasy lemon squeezy — nothing. I also get easy access to logs and, if we need to add more capacity, I can easily add replicas.</p>
<p>For uploads, we&rsquo;re using Digital Ocean Spaces: 250GB storage and 1 TB outbound for only $5/month. It seems like too good of a deal.</p>
<h2 id="scaling">Scaling</h2>
<p>In the future, if I need to add more web server capacity, I&rsquo;ll simply:</p>
<ol>
<li>Provision another droplet with Laravel Forge.</li>
<li>Once the droplet is live, start a deploy with DeployHQ. After the deploy is complete, set up the symlink from <code>deploy</code> to <code>app.upfocus.io</code>.</li>
<li>Grant access for the droplet to connect to MySQL and Redis.</li>
<li>Configure the queue and scheduled jobs on the server.</li>
<li>Add the server to the load balancer pool.</li>
</ol>
<p>All in all, I <em>think</em> this setup should serve us well for a while. It seems like the right balance between power and simplicity.</p>
<p>Happy to take any questions in the comments or on Twitter!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2020</title>
      <link>https://danielbachhuber.com/year-in-review-2020/</link>
      <pubDate>Sun, 27 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2020/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on business, family, and my quantified self. &lt;em&gt;See also: __&lt;a href=&#34;https://danielbachhuber.com/year-in-review-2019/&#34;&gt;2019&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2018/&#34;&gt;2018&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2015/&#34;&gt;2015&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;&lt;/em&gt;&lt;/em&gt;__.&lt;/p&gt;&#xA;&lt;p&gt;Ugh. Pandemic. Didn&amp;rsquo;t see that one coming last year.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re fortunate to have found many silver linings in the experience. The pandemic has also been difficult, and some of the policy decisions still &lt;a href=&#34;https://twitter.com/dbchhbr/status/1338679234143735808&#34;&gt;make my blood boil&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;covid-19&#34;&gt;COVID-19&lt;/h2&gt;&#xA;&lt;p&gt;Overall, I think the last year represents a catastrophic failing of public health. &lt;a href=&#34;https://nymag.com/intelligencer/2020/12/moderna-covid-19-vaccine-design.html&#34;&gt;Medical science did great&lt;/a&gt;; public health not so much.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on business, family, and my quantified self. <em>See also: __<a href="https://danielbachhuber.com/year-in-review-2019/">2019</a>, <a href="https://danielbachhuber.com/year-in-review-2018/">2018</a>, <a href="https://danielbachhuber.com/year-in-review-2015/">2015</a>, <a href="https://danielbachhuber.com/year-in-review-2014/">2014</a>, <a href="https://danielbachhuber.com/year-in-review-2013/">2013</a></em></em>__.</p>
<p>Ugh. Pandemic. Didn&rsquo;t see that one coming last year.</p>
<p>We&rsquo;re fortunate to have found many silver linings in the experience. The pandemic has also been difficult, and some of the policy decisions still <a href="https://twitter.com/dbchhbr/status/1338679234143735808">make my blood boil</a>.</p>
<h2 id="covid-19">COVID-19</h2>
<p>Overall, I think the last year represents a catastrophic failing of public health. <a href="https://nymag.com/intelligencer/2020/12/moderna-covid-19-vaccine-design.html">Medical science did great</a>; public health not so much.</p>
<p>For example, a human challenge trial is where you quickly determine efficacy for a vaccine by deliberately infecting a small number of volunteers with the virus. I <a href="https://www.1daysooner.org/">volunteered</a> to participate in one, along with ~39k others around the world. <strong>That we didn&rsquo;t run human challenge trials over the summer, which could&rsquo;ve enabled mass vaccinations as early as August or September, represents a catastrophic failing of medical ethics.</strong></p>
<p>Much, if not most, of the virus&rsquo; spread is caused by asymptomatic or pre-symptomatic transmission. At-home rapid antigen tests, which work much like a pregnancy test, <a href="https://time.com/5912705/covid-19-stop-spread-christmas/">can be used to significantly curtail the disease</a>. They&rsquo;ve been approved in Europe for months. <strong>That rapid antigen tests aren&rsquo;t widely available in the United States represents a catastrophic failing of our regulatory state.</strong></p>
<p>It&rsquo;s hard to say what the next few months will bring.</p>
<p>The best case outcome is effective mass vaccination. Vaccine clinics would be open 24/7, everyone would receive a <a href="https://twitter.com/ATabarrok/status/1341538089425117184">first dose first</a>, and access would be prioritized based on risk.</p>
<p>A worse outcome is a slow, bungled mass vaccination. Vaccine clinics would only open during business hours (and closed during the holidays), second doses would sit in storage for weeks, and access would be prioritized based on union membership.</p>
<p>A horrible outcome is a <a href="https://www.lesswrong.com/posts/CHtwDXy63BsLkQx4n/covid-12-24-we-re-f-ed-it-s-over">1.5x more infectious COVID strain that causes a massive, uncontrollable fourth wave of infections</a> (<a href="https://www.lesswrong.com/posts/zjm4GRmZmme4db8Cp/my-model-of-the-new-covid-strain-and-us-response">here&rsquo;s a follow-up analysis</a>). I really hope this doesn&rsquo;t happen.</p>
<h2 id="silver-lining">Silver Lining</h2>
<h3 id="summertime">Summertime</h3>
<p>We had a great summer.</p>
<p>One of the highlights was our regular neighborhood happy hour. Every Thursday afternoon, many of our neighbors would gather in the cul-de-sac (socially distanced, of course) and shoot the shit for an hour or two. When Leah and I moved to Tualatin, we felt culturally isolated: hip urban millennials in a conservative backwater. I&rsquo;m happy to report that, even though we live in suburbia, our neighbors are great people and we enjoy hanging out with them.</p>
<p>We also took advantage this summer of our close proximity to the Tualatin River. At least a couple times a week, we pumped up our SUPs and relaxed for a few hours on the water. The kids loved swimming with their friends. To cap it off, for our 7th anniversary, Leah packed up some Burmese food and we had a dinner picnic on the water.</p>
<p><img src="images/sup-one-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<p><img src="images/sup-two.jpg" alt=""  width="720"
	height="900"  /></p>
<p><img src="images/sup-three-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<p>In August, we packed up a r-pod for a 10 day RV extravaganza. After a couple of days at the beach, we drove east to meet up with the Kistners in Coeur d&rsquo;Alene. We had a great time biking the Route of the Hiawatha, swimming in the camp pool, and eating yummy food. Then, for the last night on the way home, we boondocked on a <a href="https://www.hipcamp.com/oregon/milk-a-sheep-camp/tin-willows-milk-a-sheep-camp">sheep farm</a>. Ava and Charlie had a great time feeding and milking the sheep.</p>
<figure>
<figure>
<p><img src="images/hiawatha-biking-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>MVPs of the day go to Ava, Charlie, and Alex for crushing 15 miles of gravel trail on 16” and 20” rims.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/la-monarca-dos-1-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>YESSSSSSS (Walla Walla burrito de pollo was just as good as I remembered)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/boondocking-sheep-farm-1-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Not pictured: all of the flies that live in a sheep pasture.</p>
</figcaption>
</figure>
</figure>
<p>To wrap up the awesome summer, Willa joined our family. She&rsquo;s a total joy and loves exploring, going on long walks, and meeting strangers. It&rsquo;s funny how people can change. Leah and I never considered ourselves to be dog people; here we are now, with a puppy we love.</p>
<p><img src="images/willa-one-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<p><img src="images/willa-two-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<p><img src="images/willa-three.jpg" alt=""  width="720"
	height="900"  /></p>
<h2 id="the-startup">The Startup</h2>
<p>Justin and I finally picked a name in January: <a href="https://upfocus.io/">Upfocus</a>. After spending the year iterating on the product and signing up some customers, we&rsquo;re headed towards a public launch next month.</p>
<p>Overall, I&rsquo;m still achieving the <a href="https://danielbachhuber.com/2019/10/25/three-goals-for-starting-a-company/">goals I set out for myself</a>. Although we&rsquo;ve set and missed various milestones along the way, we&rsquo;re making steady incremental progress and enjoying the journey. The question for the coming year is whether we can find traction&hellip;</p>
<h2 id="quantified-self">Quantified Self</h2>
<p>According to Goodreads, I read <a href="https://www.goodreads.com/challenges/11621">32 books over the year</a> (not quite hitting my original goal of 35). Of this set, my favorites were:</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/38796298-dignity">Dignity: Seeking Respect in Back Row America</a>. If you live in a blue state, <em>Dignity</em> is required reading to better understand America. Both the words and pictures are deeply moving.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/35106890-the-accidental-president">The Accidental President: Harry S. Truman and the Four Months That Changed the World</a>. An engaging, eye-opening read. Truman might be the most underrated president ever.</p>
</li>
<li>
<p>Three wonderful collections of sci-fi short stories: <a href="https://www.goodreads.com/book/show/50917309-exhalation">Exhalation</a>, <a href="https://www.goodreads.com/book/show/18626849-stories-of-your-life-and-others">Stories of Your Life and Others</a>, and <a href="https://www.goodreads.com/book/show/25089595-the-paper-menagerie-and-other-stories">The Paper Menagerie and Other Stories</a>.</p>
</li>
</ul>
<p>A special shout-out to <a href="https://www.goodreads.com/author/show/5869.Erik_Larson">Erik Larson</a> this year. His tellings of history are reliably enjoyable, let it be <a href="https://www.goodreads.com/book/show/9938498-in-the-garden-of-beasts">the rise of Hitler</a>, <a href="https://www.goodreads.com/book/show/51187948-the-splendid-and-the-vile">Churchill&rsquo;s first year as Prime Minister</a>, or <a href="https://www.goodreads.com/book/show/22551730-dead-wake">America&rsquo;s entry into World War 1</a>.</p>
<p>According to Strava, I ran 774.6 miles in 126 runs (average of 6.15 miles per run). Funny enough, this is pretty close to what I did last year (775 miles in 121 runs). In the last several weeks, I&rsquo;ve dialed down to ~2 runs/week as I rack up the miles on <a href="https://www.instagram.com/p/CH8NogqBKwH/">my treadmill desk</a>.</p>
<p>According to TripIt, I traveled 6,108 miles in 12 days on 3 trips. The big one was Mexico City in the Before Times. I also visited Justin once, and skied with Albert and Will in Utah just before everything hit the fan.</p>
<h2 id="2021">2021</h2>
<p>Like everyone else, my main hope for the foreseeable future is the continued health of my family.</p>
<p>Stay safe!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Comment on the FTC&#39;s Non-Compete Clauses Workshop</title>
      <link>https://danielbachhuber.com/comment-on-the-ftcs-non-compete-clauses-workshop/</link>
      <pubDate>Thu, 30 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/comment-on-the-ftcs-non-compete-clauses-workshop/</guid>
      <description>&lt;p&gt;The FTC is &lt;a href=&#34;https://www.regulations.gov/docket?D=FTC-2019-0093&#34;&gt;soliciting public comment on non-compete clauses used in employment contracts&lt;/a&gt; (here&amp;rsquo;s &lt;a href=&#34;https://mattstoller.substack.com/p/free-our-doctors-engineers-daycare&#34;&gt;some background from Matt Stoller&lt;/a&gt;). Because I had some personal experience on the topic, I submitted a public comment:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I recently (fall 2018) declined a job opportunity because of an onerous non-complete.&lt;/p&gt;&#xA;&lt;p&gt;I work in an industry (WordPress-related products and services) where several large companies have their hands in most lines of business. I applied to work at one of them and received an offer to become a Principal Engineer. However, the non-compete was so broad (&amp;ldquo;any business in competition with the Company&amp;rsquo;s business as conducted by the Company at any time during the course of my employment with the Company&amp;rdquo;) that, if I were fired on day one, I effectively couldn&amp;rsquo;t do my line of work anymore.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The FTC is <a href="https://www.regulations.gov/docket?D=FTC-2019-0093">soliciting public comment on non-compete clauses used in employment contracts</a> (here&rsquo;s <a href="https://mattstoller.substack.com/p/free-our-doctors-engineers-daycare">some background from Matt Stoller</a>). Because I had some personal experience on the topic, I submitted a public comment:</p>
<blockquote>
<p>I recently (fall 2018) declined a job opportunity because of an onerous non-complete.</p>
<p>I work in an industry (WordPress-related products and services) where several large companies have their hands in most lines of business. I applied to work at one of them and received an offer to become a Principal Engineer. However, the non-compete was so broad (&ldquo;any business in competition with the Company&rsquo;s business as conducted by the Company at any time during the course of my employment with the Company&rdquo;) that, if I were fired on day one, I effectively couldn&rsquo;t do my line of work anymore.</p>
<p>I hired an employment lawyer but the company was unwilling to modify the contract or include any riders. The irony is that the company has a different employment agreement for Californians, which doesn&rsquo;t include a non-compete in the contract.</p>
<p>Ultimately, non-competes are anti-competitive because there&rsquo;s a huge power asymmetry that adds a lot of downside risk to employees.</p></blockquote>
<p>If you have personal experience too, I&rsquo;d encourage you to submit a comment!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Select quotes from The Economist&#39;s Housing Special Report</title>
      <link>https://danielbachhuber.com/select-quotes-from-the-economists-housing-special-report/</link>
      <pubDate>Wed, 22 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/select-quotes-from-the-economists-housing-special-report/</guid>
      <description>&lt;p&gt;I literally canceled my Economist subscription two weeks ago. They must&amp;rsquo;ve seen that and published this just for me. The Housing Special Report in this week&amp;rsquo;s paper is a total knockout. Go find yourself a print copy.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The soaring cost of housing has created gaping inequalities and inflamed both generational and geographical divides. In 1990 a generation of baby-boomers, with a median age of 35, owned a third of America&amp;rsquo;s real estate by value. In 2019 a similarly sized cohort of millennials, aged 31, owned just 4%.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I literally canceled my Economist subscription two weeks ago. They must&rsquo;ve seen that and published this just for me. The Housing Special Report in this week&rsquo;s paper is a total knockout. Go find yourself a print copy.</p>
<blockquote>
<p>The soaring cost of housing has created gaping inequalities and inflamed both generational and geographical divides. In 1990 a generation of baby-boomers, with a median age of 35, owned a third of America&rsquo;s real estate by value. In 2019 a similarly sized cohort of millennials, aged 31, owned just 4%.</p>
<p><a href="https://www.economist.com/leaders/2020/01/16/home-ownership-is-the-wests-biggest-economic-policy-mistake">Home ownership is the West’s biggest economic-policy mistake</a></p></blockquote>
<blockquote>
<p>Over the past 70 years housing has undergone a remarkable transformation. Until the mid-20th century house prices across the rich world were fairly stable (see chart). From then on, however, they boomed both relative to the price of other goods and services and relative to incomes. Rents went up, too. The Joint Centre for Housing Studies of Harvard University finds that the median American rent payment rose 61% in real terms between 1960 and 2016 while the median renter’s income grew by 5%.</p>
<p><a href="https://www.economist.com/special-report/2020/01/16/how-housing-became-the-worlds-biggest-asset-class">How housing became the world’s biggest asset class</a></p></blockquote>
<blockquote>
<p>Broadly speaking, three types of planning systems exist across the rich world: discretion-based; autocratic; and rules-based. The first type is commonly found in Commonwealth countries. Local residents have plenty of power to stop development plans, and they frequently do. It may be no coincidence that those countries have in recent decades seen the fastest growth in house prices, says Paul Cheshire of the London School of Economics. Parts of America follow similar rules. In San Francisco every permit is appealable and, since very few large-scale projects match existing building and planning codes, delays are common.</p>
<p>Autocratic planning systems do a better job of boosting housing supply. Russia has raised its annual rate of housebuilding from 400,000 a year in the early 2000s to over 1m. Singaporeans who protest against development are routinely ignored, says one with a house located near Tengah forest, some of which will soon be razed to make way for apartment blocks.</p>
<p>The third group—rules-based planning systems—are commonly found in European countries such as France and Germany. If developers tick all the boxes then construction is permitted, even if local residents object. These systems have generally done a better job of delivering housing. Since the 1950s Germany has built twice the number of houses as Britain, despite having only a slightly higher population.</p>
<p><a href="https://www.economist.com/special-report/2020/01/16/politicians-are-finally-doing-something-about-housing-shortages">Politicians are finally doing something about housing shortages</a></p></blockquote>
<blockquote>
<p>America has some of the most generous fiscal incentives to become a home-owner. Official estimates suggest that the government forgoes over $200bn a year (over 1% of GDP) subsidizing homeowners through the tax code, with policies including a tax deduction on mortgage interest and not taxing the income homeowners implicitly earn by avoid paying rent.</p>
<p><a href="https://www.economist.com/special-report/2020/01/16/home-ownership-is-in-decline">Home ownership is in decline</a></p></blockquote>
<blockquote>
<p>More radical reforms could be considered. German mortgage-lenders embrace an unusual appraisal technique. When assessing the value of a house, they rarely refer to the market price; instead, they consider &ldquo;mortgage-lending value&rdquo;, an assessment of the probable price of a house over the economic cycle. A report from the Bank for International Settlements, a club of central banks, suggests that by discounting short-term price fluctuations, this valuation technique can stop bubbles from forming.</p>
<p><a href="https://www.economist.com/special-report/2020/01/16/what-is-the-future-of-the-rich-worlds-housing-markets">What is the future of the rich world’s housing markets?</a></p></blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2019</title>
      <link>https://danielbachhuber.com/year-in-review-2019/</link>
      <pubDate>Fri, 27 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2019/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on business, family, and my quantified self. See also: &lt;strong&gt;&lt;a href=&#34;https://danielbachhuber.com/year-in-review-2018/&#34;&gt;2018&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2015/&#34;&gt;2015&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;This year cemented my transition into adulthood. Sure, I&amp;rsquo;ve had kids for several years but those were awkward years like being a teenager is awkward. It&amp;rsquo;s only after you&amp;rsquo;ve sent your first off to kindergarten, coached her soccer team, and sat on a city advisory committee that you know you&amp;rsquo;ve made it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on business, family, and my quantified self. See also: <strong><a href="https://danielbachhuber.com/year-in-review-2018/">2018</a>, <a href="https://danielbachhuber.com/year-in-review-2015/">2015</a>, <a href="https://danielbachhuber.com/year-in-review-2014/">2014</a>, <a href="https://danielbachhuber.com/year-in-review-2013/">2013</a>.</strong></em></p>
<p>This year cemented my transition into adulthood. Sure, I&rsquo;ve had kids for several years but those were awkward years like being a teenager is awkward. It&rsquo;s only after you&rsquo;ve sent your first off to kindergarten, coached her soccer team, and sat on a city advisory committee that you know you&rsquo;ve made it.</p>
<p>Jump to: <a href="#unnamed-startup">Unnamed Startup</a> | <a href="#instagram">Instagrammin&rsquo;</a> | <a href="#quantified-self">Book Recommendations</a></p>
<h2 id="professionally-speaking">Professionally Speaking</h2>
<h3 id="june">June</h3>
<p>My greatest professional accomplishment of the year: taking off the entire month of June.</p>
<p>We kicked things off by traveling to Japan with my parents. They&rsquo;ve never been to Asia before, so it was a great introduction for them. After landing in Tokyo, we spent a few days in Hakone, a hill town just south. One highlight was the private onsen (outdoor hot springs) in <a href="https://www.airbnb.com/rooms/24438843">our Airbnb</a>. From Hakone, we went to Kyoto for a bunch of sightseeing (while staying in <a href="https://www.airbnb.com/rooms/25152793">another amazing Airbnb</a>), and then wrapped up their trip with a couple days in Tokyo. After saying goodbye to my parents, Leah and I took the kids up to Sapporo for a week, and then recovered from the Japan jet lag with a week in Maui. Rough, I know. For the last week of June, I went fishing in Alaska with my dad, uncles, cousin, and some other dudes.</p>
<p>I consider this epic adventure to be a professional accomplishment because:</p>
<ol>
<li>
<p>I literally didn&rsquo;t do any work for the entire month.</p>
</li>
<li>
<p>Most self-employed are horrible at taking time off, and end up working even when they&rsquo;re &ldquo;on vacation&rdquo;.</p>
</li>
<li>
<p>Amazingly, I didn&rsquo;t have to deal with any client fires, and none of my clients fired me.</p>
</li>
</ol>
<p>Taking a full month off every couple of years seems like a good life strategy.</p>
<h3 id="food-blogger-pro">Food Blogger Pro</h3>
<p>If you read last year&rsquo;s Year in Review, you might&rsquo;ve noticed I was starting a new full-time job. And I did! And then I left a few months later.</p>
<p>Don&rsquo;t worry, I still work for them as a contractor. I&rsquo;d like to think everything is peachy. Hi Bjork! ?</p>
<p>The folks at Food Blogger Pro are absolutely wonderful people who I love to work with. Full-time wasn&rsquo;t a good fit for a few specific personal reasons:</p>
<ul>
<li>
<p>As a contractor, my income is diversified across several clients. As a full-time employee, I only had one source of income. Unexpectedly, I felt less job security when I thought I would feel more.</p>
</li>
<li>
<p>I lost a significant amount of the agency that comes with being self-employed (e.g. take vacation whenever you want, attend conferences, write off various web tools, etc.). Notably, I had already planned my June month off and didn&rsquo;t feel quite right about doing so as a full-time employee.</p>
</li>
<li>
<p>I didn&rsquo;t feel like there was the proper incentive for me to invest as much of my creative energy as possible.</p>
</li>
</ul>
<p>For me, the lesson learned was that, even though Food Blogger Pro was a really great job by all objective measures, I have a pretty high bar to exceed.</p>
<h3 id="unnamed-startup">Unnamed Startup</h3>
<p>In July, my business partner and I started working together on a new company. We haven&rsquo;t picked a name yet, nor launched, and that&rsquo;s just fine by us!</p>
<p>One of the things that&rsquo;s going really well: only working on the company part-time. This has greatly reduced my stress, and prevents the startup from impinging on family life. Because both my partner and I are able to meet our financial needs with part-time consulting, we have essentially infinite runway to find product/market fit. Or market/founder/product fit. Or whateveryoucallit.</p>
<p>We&rsquo;ve also found a pretty good cadence. We get together every six weeks (either him traveling down to me or me up to him) and set OKRs for our next six week period. Having OKRs keeps us from constantly questioning our direction; having time together gives us the opportunity for us to have much deeper conversations and course-correct as necessary.</p>
<p>The worst cliché in business is that having a partner is like marriage without the sex. I&rsquo;m happy (?) to report that it&rsquo;s true. A business partnership is an emotionally-fraught relationship, with lots of ups and downs. We&rsquo;re fortunate that we&rsquo;ve already been able to work through a few rough patches. I&rsquo;d like to think we&rsquo;re getting better at reconciling our differences too.</p>
<p>Ironically, because I have something on the side to work on, I&rsquo;m also enjoying my consulting work much more.</p>
<h2 id="family-life">Family Life</h2>
<p>After Ava started kindergarten this year, we went from somewhat flexible routine to fully assimilated into the system. I&rsquo;m amazed we manage to get her to the bus stop every morning at 7:20. It&rsquo;s been a pretty great experience for her though. She&rsquo;s attending Bridgeport Elementary, where I went too, and is in the &ldquo;two-way immersion program&rdquo;. Her Spanish accent is already quite good.</p>
<p>Charlie is bumping along being his happy self. Every Tuesday and Thursday he enjoys hanging out with his high school buddies in the <a href="http://tualatintinytimberwolves.weebly.com/">Tiny Timberwolves program</a>. At home, he enjoys playing Uno with Ava for hours and will soon be catching up to her on a two-wheeler.</p>
<p>Leah continues to find opportunities to define herself beyond the all-consuming role of &ldquo;mom&rdquo;. Notably, she took a wood block printing class this fall and produced some fabulous art. As a mom, she&rsquo;s proud of the effort she put towards helping Ava grow as a reader.</p>
<p>Outside of work, I really enjoyed participating in the Tualatin 2040 Community Advisory Committee. Along with <a href="https://www.sightline.org/2019/06/30/oregon-just-voted-to-legalize-duplexes-on-almost-every-city-lot/">HB 2001</a>, the Housing Needs Analysis and Economic Opportunity Analysis documents we produced are foundational elements to what I hope will be transformative policy changes in the near future.</p>
<h3 id="instagrammin">Instagrammin'</h3>
<p>Here are some highlights of the year from Instagram:</p>
<figure>
<figure>
<p><img src="images/2019-Hagg-Lake-Mud-Run-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Leah and I successfully finished the 25k Hagg Lake Mud Run (February)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Wilson-River-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>My dad and I caught steelhead on the Wilson River (February)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Shedquarters-Picture-Window-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Installed a picture window in my shedquarters (March)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Mt-Bachelor-Stats-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Will and Albert joined me to ski a perfect day on Mt. Bachelor (March)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Japan-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Toured Japan for two weeks with my parents, Leah, and kids (June)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Hawaii-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Recovered from Japan jet lag by spending a week in Maui (June)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Alaska-Fishing-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Fished for salmon and halibut with my dad, uncles, cousin, and other dudes (June)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Farm-Dinner-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Had a farm dinner at Our Table (July)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Sunriver-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Biked around Sunriver (August)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Bridge-Pedal-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Biked around Portland&rsquo;s bridges (August)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Kachka-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Discovered Kachka and their pickle juice chaser (August)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Cape-Horn-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Hiked Cape Horn with David and Andrew (September)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Halloween.jpg" alt=""  width="720"
	height="900"  /></p>
<figcaption>
<p>Actually dressed up for Halloween (October)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Tualatin-2040-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Participated in the Tualatin 2040 Community Advisory Committee (November)</p>
</figcaption>
</figure>
<figure>
<p><img src="images/2019-Bread-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<figcaption>
<p>Ate a ton of bread (December)</p>
</figcaption>
</figure>
</figure>
<h2 id="quantified-self">Quantified Self</h2>
<p>According to Goodreads, I read <a href="https://www.goodreads.com/user_challenges/15160678">50 books over the year</a> (with an original goal of 30). Of this set, my favorites were:</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/42391576-the-great-successor">The Great Successor: The Divinely Perfect Destiny of Brilliant Comrade Kim Jong Un, Bright Sun of the Twenty-first Century</a>. The truth is stranger than fiction. A super fascinating read if you want to understand North Korea beyond what limited perspective the media provides.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/42613972-camino-sunrise-walking-with-my-shadows">Camino Sunrise-Walking With My Shadows: One reluctant pilgrim packs a weighty load on a 500-mile path</a>. Super fun book by Andrew&rsquo;s dad that&rsquo;ll make you want to walk the Camino.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/24811910-red-notice">Red Notice: A True Story of High Finance, Murder, and One Man&rsquo;s Fight for Justice</a>. Legitimately a &ldquo;real-life political thriller&rdquo;. It&rsquo;s hard to believe it&rsquo;s real.</p>
</li>
</ul>
<p>More so though, the following books excelled in the category of &ldquo;surprisingly insightful explanations of underappreciated topics&rdquo;:</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/36565043-lost-connections">Lost Connections: Uncovering the Real Causes of Depression – and the Unexpected Solutions</a></p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/25228332-dreamland">Dreamland: The True Tale of America&rsquo;s Opiate Epidemic</a></p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/44142112-strong-towns">Strong Towns: A Bottom-Up Revolution to Rebuild American Prosperity</a></p>
</li>
</ul>
<p>I couldn&rsquo;t recommend these three highly enough.</p>
<p>According to Strava, I ran 775 miles in 121 runs (average of 6.4 miles per run), way down from last year&rsquo;s 167 runs. I&rsquo;m still working out 5-6 days/week, so I think this is because I&rsquo;ve added soccer and walking to my weekly routine.</p>
<p>According to TripIt, I traveled 29,170 miles in 43 days on 7 trips. Japan was my furthest destination. I also went to Maui, Alaska, Tuscon, Boston, Minneapolis, and Philadelphia. Independent of my long trip, travel was way down and it felt good! I like doing things around home these days.</p>
<h2 id="2020">2020</h2>
<p>Life is pretty good right now, so I don&rsquo;t think I have any goals that would move the needle on my personal happiness.</p>
<p>One thing we&rsquo;ve been doing as a family, which is working quite well, is creating a seasonal bucket list:</p>
<p><img src="images/IMG_8467-1024x768.jpg" alt="Summer 2019 Bucket List"  width="1024"
	height="768"  /></p>
<p>These aren&rsquo;t things we <em>have</em> to do, but things we&rsquo;d like to do. If we do them, great; if we don&rsquo;t do them, no worries. Putting our bucket list on a whiteboard in a laundry room serves as a gentle reminder on the bigger picture items we&rsquo;d like to accomplish.</p>
<p>For 2020, a few of my bucket list items might include:</p>
<ul>
<li>
<p>Getting my boater education card.</p>
</li>
<li>
<p>Figuring out a system for the kids to earn and save money.</p>
</li>
<li>
<p>Finding a good volunteer opportunity for the entire family.</p>
</li>
<li>
<p>A fun weekend getaway for Leah and I.</p>
</li>
</ul>
<p>I&rsquo;m also pretty tempted to get back into flying&hellip;</p>]]></content:encoded>
    </item>
    <item>
      <title>How I found my co-founder</title>
      <link>https://danielbachhuber.com/how-i-found-my-co-founder/</link>
      <pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-i-found-my-co-founder/</guid>
      <description>&lt;p&gt;In response to &lt;a href=&#34;https://www.indiehackers.com/post/how-did-you-find-your-co-founder-42c7ef5d05&#34;&gt;Rosie Sherry&amp;rsquo;s question on Indie Hackers&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There are always people here on IH looking to partner up as co-founders. Perhaps some stories would be useful to others who are currently looking.&lt;/p&gt;&#xA;&lt;p&gt;For those with co-founders, how did you find yours?&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I&amp;rsquo;m working with a co-founder right now and I highly, highly recommend it.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve done a few solo projects where I felt like I was in a mental funk more often than not. It was really difficult to figure out what to do next, decide whether I was on the right track, etc. With a co-founder, I feel like we can achieve 4-8x what I could do a solo founder, simply because I have someone to collaborate with.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In response to <a href="https://www.indiehackers.com/post/how-did-you-find-your-co-founder-42c7ef5d05">Rosie Sherry&rsquo;s question on Indie Hackers</a>:</p>
<blockquote>
<p>There are always people here on IH looking to partner up as co-founders. Perhaps some stories would be useful to others who are currently looking.</p>
<p>For those with co-founders, how did you find yours?</p></blockquote>
<p>I&rsquo;m working with a co-founder right now and I highly, highly recommend it.</p>
<p>I&rsquo;ve done a few solo projects where I felt like I was in a mental funk more often than not. It was really difficult to figure out what to do next, decide whether I was on the right track, etc. With a co-founder, I feel like we can achieve 4-8x what I could do a solo founder, simply because I have someone to collaborate with.</p>
<p>With this being said, I have had past business partnerships fall apart for one reason or another. In my experience, it&rsquo;s really important to make sure you&rsquo;re on the same page as your partner as it relates to motivations, level of commitment, and willingness to work together. If any of these are out of sync, it&rsquo;s much more difficult to make the partnership work.</p>
<p>Probably the most important attribute to develop needs to be your ability to overcome disagreements. A business partnership is a highly emotional relationship, just like a marriage or long-term romantic relationship. There&rsquo;s probably not enough written about managing emotions in business because being a jerk as a boss seems to be the accepted norm. <a href="https://www.goodreads.com/book/show/15014.Crucial_Conversations">Crucial Conversations</a> is a favorite of mine.</p>
<p>To answer the original question, my co-founder and I were introduced through a mutual acquaintance to do some consulting work at a previous company he worked at. Now, two years later, we&rsquo;re both consulting + starting our product company.</p>
<p>Patience goes a long way in forming a co-founder relationship. You&rsquo;ll probably need to meet at least a few times in person, and you&rsquo;ll likely need some existing foundation to build upon (hobbies in common, live in the same town, overlapping peer group, etc.).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three goals for starting a company</title>
      <link>https://danielbachhuber.com/three-goals-for-starting-a-company/</link>
      <pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-goals-for-starting-a-company/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m starting a company with a business partner right now. It&amp;rsquo;s going pretty well! Hopefully I&amp;rsquo;ll have more to share soon.&lt;/p&gt;&#xA;&lt;p&gt;Before we started, I identified my three personal goals for starting a company:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have more fun than I&amp;rsquo;m having right now.&lt;/li&gt;&#xA;&lt;li&gt;Work with people I enjoy.&lt;/li&gt;&#xA;&lt;li&gt;Create opportunities to learn and grow.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;These goals have been &lt;em&gt;super&lt;/em&gt; helpful as we move along. For any given decision, I can simply ask &amp;ldquo;what will help me achieve my goals?&amp;rdquo; and the answer becomes obvious.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m starting a company with a business partner right now. It&rsquo;s going pretty well! Hopefully I&rsquo;ll have more to share soon.</p>
<p>Before we started, I identified my three personal goals for starting a company:</p>
<ol>
<li>Have more fun than I&rsquo;m having right now.</li>
<li>Work with people I enjoy.</li>
<li>Create opportunities to learn and grow.</li>
</ol>
<p>These goals have been <em>super</em> helpful as we move along. For any given decision, I can simply ask &ldquo;what will help me achieve my goals?&rdquo; and the answer becomes obvious.</p>
<p>#goals. They&rsquo;re great.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing Simple Event Tracking</title>
      <link>https://danielbachhuber.com/introducing-simple-event-tracking/</link>
      <pubDate>Thu, 29 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-simple-event-tracking/</guid>
      <description>&lt;p&gt;Sometimes, all you need to do is track how often an event occurs. But, Google Analytics returns this data too slowly and Mixpanel is too expensive.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/danielbachhuber/simple-event-tracking&#34;&gt;Simple Event Tracking&lt;/a&gt; is a new, easy-to-deploy Laravel application that lets you log events and then query how often they occur (in real-time).&lt;/p&gt;&#xA;&lt;p&gt;Once you&amp;rsquo;ve deployed the application, simply &lt;code&gt;POST&lt;/code&gt; to the &lt;code&gt;/api/write&lt;/code&gt; endpoint:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ http POST simple-event-tracking.test/api/write key=foo value=bar&#xA;{&#xA;    &amp;#34;status&amp;#34;: &amp;#34;ok&amp;#34;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, when you have some events, query for summaries with a &lt;code&gt;GET&lt;/code&gt; to the &lt;code&gt;/api/read&lt;/code&gt; endpoint:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Sometimes, all you need to do is track how often an event occurs. But, Google Analytics returns this data too slowly and Mixpanel is too expensive.</p>
<p><a href="https://github.com/danielbachhuber/simple-event-tracking">Simple Event Tracking</a> is a new, easy-to-deploy Laravel application that lets you log events and then query how often they occur (in real-time).</p>
<p>Once you&rsquo;ve deployed the application, simply <code>POST</code> to the <code>/api/write</code> endpoint:</p>
<pre tabindex="0"><code>$ http POST simple-event-tracking.test/api/write key=foo value=bar
{
    &#34;status&#34;: &#34;ok&#34;
}
</code></pre><p>Then, when you have some events, query for summaries with a <code>GET</code> to the <code>/api/read</code> endpoint:</p>
<pre tabindex="0"><code>$ http GET simple-event-tracking.test/api/read key=foo --json --auth-type=token --auth=&#34;Bearer:&lt;token-value&gt;&#34;
{
    &#34;bar&#34;: 6
}
</code></pre><p>Easy mode!</p>
<p><a href="https://github.com/danielbachhuber/simple-event-tracking">Check out the project on GitHub</a> if it strikes your fancy.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Nowpages</title>
      <link>https://danielbachhuber.com/nowpages/</link>
      <pubDate>Mon, 26 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nowpages/</guid>
      <description>&lt;p&gt;Personal email newsletters are a trend in the right direction. They&amp;rsquo;re often the right combination of content (summarized update) and frequency (once/week). But, email doesn&amp;rsquo;t scale, in as so far as I can&amp;rsquo;t imagine subscribing to hundreds of personal newsletters.&lt;/p&gt;&#xA;&lt;p&gt;It would be neat if there was an app where you could see summarized updates from all of the people you want to subscribe to. Building on the &lt;a href=&#34;https://sivers.org/nowff&#34;&gt;/now pages&lt;/a&gt; micro trend, each person could publish their life summary as a periodically updated &lt;code&gt;/now&lt;/code&gt; page. The app would simply track these to let you know when someone updated their page.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Personal email newsletters are a trend in the right direction. They&rsquo;re often the right combination of content (summarized update) and frequency (once/week). But, email doesn&rsquo;t scale, in as so far as I can&rsquo;t imagine subscribing to hundreds of personal newsletters.</p>
<p>It would be neat if there was an app where you could see summarized updates from all of the people you want to subscribe to. Building on the <a href="https://sivers.org/nowff">/now pages</a> micro trend, each person could publish their life summary as a periodically updated <code>/now</code> page. The app would simply track these to let you know when someone updated their page.</p>
<p>&ldquo;Social media for people who update infrequently.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links – April 10, 2019</title>
      <link>https://danielbachhuber.com/four-short-links-april-10-2019/</link>
      <pubDate>Wed, 10 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-april-10-2019/</guid>
      <description>&lt;p&gt;&lt;em&gt;Open source anthropology, HB 2001 progress, free-lancing advice, dirt removal coaching.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=o_4EX4dPppA&#34;&gt;The Hard Parts of Open Source&lt;/a&gt; (Evan Czaplicki) — Identifies a strong set of specific anti-patterns present in open source (e.g. &amp;ldquo;why don&amp;rsquo;t you just&amp;rdquo; and &amp;ldquo;all discussion is constructive&amp;rdquo;) and then goes into a major history deep dive on why they might be present.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sightline.org/2019/04/09/restore-my-neighborhood-one-cascadians-take-on-re-legalizing-housing/&#34;&gt;&amp;lsquo;Restore My Neighborhood&amp;rsquo;: One Cascadian’s Take on Re-legalizing Housing&lt;/a&gt; (Sightline Institute) — Oregon House Bill 2001 is moving on! The next committee is Joint Committee on Ways and Means.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://andyadams.org/everything-i-know-about-freelancing/&#34;&gt;Everything I know about freelancing&lt;/a&gt; (Andy Adams) — Always fun to read about how others operate. Some points I agree with, others I don&amp;rsquo;t ?&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/channel/UCFagrk8cFSKz79daDQ_iXHg/videos&#34;&gt;Service Industry Coach&lt;/a&gt; (YouTube) — Having been up to my eyeballs with Food Blogger Pro for the last few months, I just love that this exists. Almost tempted to start a lawn mowing company.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p><em>Open source anthropology, HB 2001 progress, free-lancing advice, dirt removal coaching.</em></p>
<ol>
<li><a href="https://www.youtube.com/watch?v=o_4EX4dPppA">The Hard Parts of Open Source</a> (Evan Czaplicki) — Identifies a strong set of specific anti-patterns present in open source (e.g. &ldquo;why don&rsquo;t you just&rdquo; and &ldquo;all discussion is constructive&rdquo;) and then goes into a major history deep dive on why they might be present.</li>
<li><a href="https://www.sightline.org/2019/04/09/restore-my-neighborhood-one-cascadians-take-on-re-legalizing-housing/">&lsquo;Restore My Neighborhood&rsquo;: One Cascadian’s Take on Re-legalizing Housing</a> (Sightline Institute) — Oregon House Bill 2001 is moving on! The next committee is Joint Committee on Ways and Means.</li>
<li><a href="https://andyadams.org/everything-i-know-about-freelancing/">Everything I know about freelancing</a> (Andy Adams) — Always fun to read about how others operate. Some points I agree with, others I don&rsquo;t ?</li>
<li><a href="https://www.youtube.com/channel/UCFagrk8cFSKz79daDQ_iXHg/videos">Service Industry Coach</a> (YouTube) — Having been up to my eyeballs with Food Blogger Pro for the last few months, I just love that this exists. Almost tempted to start a lawn mowing company.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Looking out my picture window</title>
      <link>https://danielbachhuber.com/looking-out-my-picture-window/</link>
      <pubDate>Wed, 06 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/looking-out-my-picture-window/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_6153.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Awesome upgrade for my &lt;a href=&#34;https://danielbachhuber.com/shedquarters/&#34;&gt;shedquarters&lt;/a&gt;. Far superior to the transom windows.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_6153.jpg" alt=""  width="2400"
	height="1800"  /></p>
<p>Awesome upgrade for my <a href="https://danielbachhuber.com/shedquarters/">shedquarters</a>. Far superior to the transom windows.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two performance tips for WordPress migrations</title>
      <link>https://danielbachhuber.com/two-wordpress-migration-performance-tips/</link>
      <pubDate>Mon, 18 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-wordpress-migration-performance-tips/</guid>
      <description>&lt;p&gt;Images are a total bottleneck when importing a site into WordPress.&lt;/p&gt;&#xA;&lt;p&gt;Your script&amp;rsquo;s execution time can easily double if your migration script fetches images over HTTP or generates multiple thumbnail sizes. Because you&amp;rsquo;ll likely need to test your script multiple times, these inefficiencies can cause substantial delays in your project.&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, two simple tricks will save you a ton of time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Images are a total bottleneck when importing a site into WordPress.</p>
<p>Your script&rsquo;s execution time can easily double if your migration script fetches images over HTTP or generates multiple thumbnail sizes. Because you&rsquo;ll likely need to test your script multiple times, these inefficiencies can cause substantial delays in your project.</p>
<p>Fortunately, two simple tricks will save you a ton of time.</p>
<h2 id="cache-remote-images">Cache remote images</h2>
<p>If you&rsquo;ve already downloaded an image once, do you need to download it again and again? Probably not. You need a cache!</p>
<p>Drop the <code>migrate-import-cache.php</code> code snippet into your <code>mu-plugins</code> directory in order to:</p>
<ol>
<li>Return a remote file from the cache when it&rsquo;s available.</li>
<li>Write the contents of a remote file to cache for use on the next run.</li>
</ol>
<p>You&rsquo;ll need to set a <code>WP_IMPORT_CACHE</code> constant to a writable directory. Also, this code assumes you&rsquo;re using <code>media_sideload_url()</code>(or some other function based on <code>wp_remote_get()</code>).</p>
<p><a href="https://gist.github.com/danielbachhuber/5cf816d99fd973cd5832a5715576ade8">https://gist.github.com/danielbachhuber/5cf816d99fd973cd5832a5715576ade8</a></p>
<h2 id="disable-thumbnail-generation">Disable thumbnail generation</h2>
<p>WordPress generates a few to several thumbnails for every image uploaded into the Media Library. These thumbnails usually aren&rsquo;t necessary during development, so having WordPress create them wastes CPU and your time.</p>
<p>To disable thumbnail generation, simply override the registered image sizes prior to calling <code>media_sideload_image()</code>:</p>
<p><a href="https://gist.github.com/danielbachhuber/aad495d331f45d4a0ecd97f9f243b9e6">https://gist.github.com/danielbachhuber/aad495d331f45d4a0ecd97f9f243b9e6</a></p>
<p>If you&rsquo;d like to generate image thumbnails later on, simply use <code>wp media regenerate</code> (<a href="https://developer.wordpress.org/cli/commands/media/regenerate/">doc</a>).</p>]]></content:encoded>
    </item>
    <item>
      <title>Testimony for Oregon House Bill 2001</title>
      <link>https://danielbachhuber.com/testimony-for-oregon-house-bill-2001/</link>
      <pubDate>Wed, 13 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/testimony-for-oregon-house-bill-2001/</guid>
      <description>&lt;p&gt;Oregon&amp;rsquo;s House Bill 2001 would re-legalize &amp;ldquo;missing middle&amp;rdquo; housing across the state (&lt;a href=&#34;https://danielbachhuber.com/2019/01/10/heres-oregons-new-bill-to-re-legalize-missing-middle-homes-statewide/&#34;&gt;previously&lt;/a&gt;). It&amp;rsquo;s in committee right now, and they&amp;rsquo;re accepting testimony on the bill. &lt;a href=&#34;https://olis.leg.state.or.us/liz/2019R1/Measures/Exhibits/HB2001?fbclid=IwAR1SUPxfKv2fhP05P2mK5ks5vjESXcr6OwMqMjmyYEuvvkrnHPsFJ2iqdy0&#34;&gt;Here&amp;rsquo;s what others have said&lt;/a&gt;. And, after the break, here&amp;rsquo;s what I just submitted!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Oregon&rsquo;s House Bill 2001 would re-legalize &ldquo;missing middle&rdquo; housing across the state (<a href="https://danielbachhuber.com/2019/01/10/heres-oregons-new-bill-to-re-legalize-missing-middle-homes-statewide/">previously</a>). It&rsquo;s in committee right now, and they&rsquo;re accepting testimony on the bill. <a href="https://olis.leg.state.or.us/liz/2019R1/Measures/Exhibits/HB2001?fbclid=IwAR1SUPxfKv2fhP05P2mK5ks5vjESXcr6OwMqMjmyYEuvvkrnHPsFJ2iqdy0">Here&rsquo;s what others have said</a>. And, after the break, here&rsquo;s what I just submitted!</p>
<hr>
<p>I&rsquo;d like to add my testimony in support of HB 2001. While the bill&rsquo;s specific details certainly would benefit from deliberate discussion, I think it&rsquo;s critical that the state re-legalizes duplexes, triplexes, and fourplexes in single-family housing zones.</p>
<p>Why does the state need to mandate this? Because Oregon&rsquo;s cities have proven themselves incapable of changing their zoning to allow for more homes to be built. In fact, it&rsquo;s often the case that a city&rsquo;s incentive is to restrict additional homes; the existing citizens don&rsquo;t want to let anyone else in.</p>
<p>As an example, Tualatin (the city where I live and grew up) did literally the bare minimum to comply with Oregon Senate Bill 1051 (legalizing ADUs within single family housing zones). Because Tualatin still imposes a parking requirement for ADUs, only 44% of existing homes (based on research I did) are eligible to build an ADU. I personally would have to pave another driveway spot in my front lawn, which I don&rsquo;t think my neighbors would appreciate.</p>
<p>When my wife and I bought our home in 2015, the sellers had six offers in twelve hours. We weren&rsquo;t even the highest bidder — my sister played soccer with their daughter, so we played the family connection. And we closed the deal by putting 20% down on a $465k house. Is this attainable for most people?</p>
<p>In 2015, we had a tight, overpriced market. In 2019, we still have an overpriced market. Construction isn&rsquo;t anywhere close to meeting the demand for the livable, walkable communities people want. And cities aren&rsquo;t close to producing the necessary policies supporting this development. Legalizing missing middle housing is what&rsquo;s necessary to provide more housing options, and it&rsquo;s the responsibility of the state to step up when cities have fallen short.</p>]]></content:encoded>
    </item>
    <item>
      <title>Idea: notes archive</title>
      <link>https://danielbachhuber.com/idea-notes-archive/</link>
      <pubDate>Tue, 12 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-notes-archive/</guid>
      <description>&lt;p&gt;I take a ton of notes in Notes.app (and previously Simplenote). My preferred workflow is to keep a note in Notes.app until I’m “done” with it. At the point of done, I save the note as PDF to a local folder.&lt;/p&gt;&#xA;&lt;p&gt;This distinction between active notes and completed notes is key for how my mind works. Something about reducing mental clutter, or insert your diagnosis here. I want to keep the notes around for future reference but I want them stored on my shelf.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I take a ton of notes in Notes.app (and previously Simplenote). My preferred workflow is to keep a note in Notes.app until I’m “done” with it. At the point of done, I save the note as PDF to a local folder.</p>
<p>This distinction between active notes and completed notes is key for how my mind works. Something about reducing mental clutter, or insert your diagnosis here. I want to keep the notes around for future reference but I want them stored on my shelf.</p>
<p>I’d love to instead have a dedicated app serve as my note archive. It could be web or cross-platform as long as it kept privacy at the forefront. Importantly, it would be read-only; it wouldn’t take on the concern of also providing an editing interface.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Back on the coffee today</title>
      <link>https://danielbachhuber.com/back-on-the-coffee-today/</link>
      <pubDate>Tue, 29 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/back-on-the-coffee-today/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update 2/11:&lt;/strong&gt; I’m off for 12 days now, woo hoo&lt;/p&gt;&#xA;&lt;p&gt;On Sunday, I survived my first day without coffee. Then yesterday, I survived a second day without coffee.&lt;/p&gt;&#xA;&lt;p&gt;Pros of coffee abstinence include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Better sleep.&lt;/li&gt;&#xA;&lt;li&gt;Generally feeling a ton healthier.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Cons of coffee abstinence include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Low-grade headache and other withdrawal symptoms.&lt;/li&gt;&#xA;&lt;li&gt;Leah questioning my sanity.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I am back on the coffee today.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>Update 2/11:</strong> I’m off for 12 days now, woo hoo</p>
<p>On Sunday, I survived my first day without coffee. Then yesterday, I survived a second day without coffee.</p>
<p>Pros of coffee abstinence include:</p>
<ul>
<li>Better sleep.</li>
<li>Generally feeling a ton healthier.</li>
</ul>
<p>Cons of coffee abstinence include:</p>
<ul>
<li>Low-grade headache and other withdrawal symptoms.</li>
<li>Leah questioning my sanity.</li>
</ul>
<p>I am back on the coffee today.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Kickstarter for events</title>
      <link>https://danielbachhuber.com/idea-kickstarter-for-events/</link>
      <pubDate>Sat, 26 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-kickstarter-for-events/</guid>
      <description>&lt;p&gt;Events are great because they bring people together.&lt;/p&gt;&#xA;&lt;p&gt;In scenarios where there isn’t already a cohesive group, organizing an event has two risks:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Will enough people sign up to make the planning effort worthwhile?&lt;/li&gt;&#xA;&lt;li&gt;Will the people who signed up actually show up?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;A Kickstarter for events could solve these two problems.&lt;/p&gt;&#xA;&lt;p&gt;First, the event would have some minimum number of signups required for the event to happen. It doesn’t happen if it doesn’t achieve critical mass.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Events are great because they bring people together.</p>
<p>In scenarios where there isn’t already a cohesive group, organizing an event has two risks:</p>
<ol>
<li>Will enough people sign up to make the planning effort worthwhile?</li>
<li>Will the people who signed up actually show up?</li>
</ol>
<p>A Kickstarter for events could solve these two problems.</p>
<p>First, the event would have some minimum number of signups required for the event to happen. It doesn’t happen if it doesn’t achieve critical mass.</p>
<p>Next, the organizer would track which signups actually show up at the event. This data could then contribute to the attendee’s reputation score on the platform, and calculate the likelihood of attendence.</p>
<p>Problem worth solving? It seems mundane but I keep wanting this for situations I come across in the real world.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links – January 24, 2019</title>
      <link>https://danielbachhuber.com/four-short-links-january-24-2019/</link>
      <pubDate>Thu, 24 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-january-24-2019/</guid>
      <description>&lt;p&gt;&lt;em&gt;Reality of open source businesses, marketing ideas, income equality debate, and organizational alignment.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-source/&#34;&gt;AWS, MongoDB, and the Economic Realities of Open Source&lt;/a&gt; (Stratechery) — How and why MongoDB is getting massively pinched by AWS.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.indiehackers.com/@mijustin/ideas-for-promoting-your-software-product-4c2f415595?ref=workfrom-newsletter&#34;&gt;Ideas for promoting your software product&lt;/a&gt; (Justin Jackson) — Good list of marketing ideas to test.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.econtalk.org/noah-smith-on-worker-compensation-co-determination-and-market-power/&#34;&gt;Noah Smith on Worker Compensation, Co-determination, and Market Power&lt;/a&gt; (Econ Talk) — Great debate on the nature of income inequality growth: whether it exists (because that&amp;rsquo;s not decided), and various labor market attributes that might influence it (e.g. the growth of temp agencies).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://thinkgrowth.org/what-elon-musk-taught-me-about-growing-a-business-c2c173f5bff3&#34;&gt;What Elon Musk Taught Me About Growing A Business&lt;/a&gt; (Dharmesh Shah) — The clearest articulation I&amp;rsquo;ve seen of organizational alignment and its importance. If your organization isn&amp;rsquo;t aligned, go back to start.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p><em>Reality of open source businesses, marketing ideas, income equality debate, and organizational alignment.</em></p>
<ol>
<li><a href="https://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-source/">AWS, MongoDB, and the Economic Realities of Open Source</a> (Stratechery) — How and why MongoDB is getting massively pinched by AWS.</li>
<li><a href="https://www.indiehackers.com/@mijustin/ideas-for-promoting-your-software-product-4c2f415595?ref=workfrom-newsletter">Ideas for promoting your software product</a> (Justin Jackson) — Good list of marketing ideas to test.</li>
<li><a href="http://www.econtalk.org/noah-smith-on-worker-compensation-co-determination-and-market-power/">Noah Smith on Worker Compensation, Co-determination, and Market Power</a> (Econ Talk) — Great debate on the nature of income inequality growth: whether it exists (because that&rsquo;s not decided), and various labor market attributes that might influence it (e.g. the growth of temp agencies).</li>
<li><a href="https://thinkgrowth.org/what-elon-musk-taught-me-about-growing-a-business-c2c173f5bff3">What Elon Musk Taught Me About Growing A Business</a> (Dharmesh Shah) — The clearest articulation I&rsquo;ve seen of organizational alignment and its importance. If your organization isn&rsquo;t aligned, go back to start.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Monica, the CRM to make you a better friend</title>
      <link>https://danielbachhuber.com/monica-the-crm-to-make-you-a-better-friend/</link>
      <pubDate>Sun, 20 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/monica-the-crm-to-make-you-a-better-friend/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.monicahq.com/&#34;&gt;Monica&lt;/a&gt; is my new favorite software. It&amp;rsquo;s a CRM to &amp;ldquo;organize the social interactions with your loved ones.&amp;rdquo; In the few weeks I&amp;rsquo;ve used it, Monica has done a great job proactively encouraging me to be a better friend.&lt;/p&gt;&#xA;&lt;p&gt;Monica is also &lt;a href=&#34;https://github.com/monicahq/monica/&#34;&gt;open source on GitHub&lt;/a&gt; with an active community. It&amp;rsquo;s clear how this has influenced what the product is. I&amp;rsquo;d love to see &lt;a href=&#34;https://github.com/djaiss&#34;&gt;Régis Freyd&lt;/a&gt; (the creator) turn Monica into a viable business too. This would ensure its long-term sustainability, and also help solve for product gaps (e.g. hiring for design polish).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://www.monicahq.com/">Monica</a> is my new favorite software. It&rsquo;s a CRM to &ldquo;organize the social interactions with your loved ones.&rdquo; In the few weeks I&rsquo;ve used it, Monica has done a great job proactively encouraging me to be a better friend.</p>
<p>Monica is also <a href="https://github.com/monicahq/monica/">open source on GitHub</a> with an active community. It&rsquo;s clear how this has influenced what the product is. I&rsquo;d love to see <a href="https://github.com/djaiss">Régis Freyd</a> (the creator) turn Monica into a viable business too. This would ensure its long-term sustainability, and also help solve for product gaps (e.g. hiring for design polish).</p>
<h2 id="monicas-features">Monica&rsquo;s features</h2>
<p>At its core, Monica is a contact database with various fields for each person:</p>
<p><img src="images/monica-features-e1548001493427-828x1024.png" alt=""  width="828"
	height="1024"  /></p>
<p>For me, Monica&rsquo;s main value proposition is that it:</p>
<ol>
<li>Identifies the people I want to maintain relationships with.</li>
<li>Helps me be proactive about spending time with them.</li>
<li>Keeps track of their interests and what makes them tick.</li>
</ol>
<p>It solves these use-cases in a few different ways.</p>
<h3 id="features-i-use">Features I use</h3>
<ul>
<li><strong>Avatars.</strong><br>
For every contact I enter, I make sure to include their email address so that Monica&rsquo;s Gravatar integration kicks in. If they don&rsquo;t have a Gravatar, I track down and upload a picture. Having faces on contact cards seems like a key feature, because they add a lot of humanity to the software.</li>
<li><strong>Birthdays.</strong><br>
Probably the easiest way to be nice to someone is to wish them a happy birthday. It&rsquo;s only once a year! When you enter someone&rsquo;s birthday into Monica, you can also check a box to have Monica send you email reminders.</li>
<li><strong>Activities / phone calls / conversations / notes.</strong><br>
It&rsquo;s confusing these are currently broken out in the UI. Activities, phone calls, and conversations are essentially variations of the same thing: log entries. For a forgetful person like me, log entries help you remember what you&rsquo;ve done with a person and key details about each interaction.</li>
<li><strong>Gifts.</strong><br>
For the several people I give gifts, it&rsquo;s really helpful to have a place to collect ideas throughout the year. One small suggested enhancement: the ability to indicate <em>when</em> a gift was given.</li>
</ul>
<h3 id="features-id-change-or-improve">Features I&rsquo;d change or improve</h3>
<ul>
<li><strong>Unified interaction stream</strong><br>
At their core, each activity, phone call, conversation or note is an <em>interaction</em>. Monica&rsquo;s UX could greatly improve by unifying these into one stream with a standardized posting interface at the top.</li>
<li><strong>Lightweight reminders</strong><br>
Some people I want to connect with on a regular basis (e.g. bi-weekly). Other people are looser acquaintances that I&rsquo;d be fine to say hello to every six months or so. With a &ldquo;nudge&rdquo; feature, I&rsquo;d indicate how often I want a suggestion and then Monica could intelligently tell me &ldquo;you should call this person&rdquo; or &ldquo;have you considered going running with this person?&rdquo;.</li>
<li><strong>iCal birthday feed</strong><br>
My own address book is a mess. If Monica contains all of the birthdays I consider important, it would be great if I could subscribe to these on my calendar.</li>
<li><strong>Decisions, not options</strong><br>
Monica would benefit from &ldquo;Decisions, Not Options&rdquo; (see <a href="https://wordpress.org/about/philosophy/">WordPress&rsquo; philosophy</a>). Rather than having UI to disable features, it should have strong opinions about how it should be used. For example, &ldquo;Tasks&rdquo; seems to conflict conceptually with &ldquo;Reminders&rdquo;. I&rsquo;ve opted for using the latter. Similarly, I&rsquo;ve also disabled the &ldquo;Documents&rdquo; feature.</li>
</ul>
<h2 id="monetizing-open-source">Monetizing open source</h2>
<p>Because I&rsquo;d like to see Monica thrive sustainably, I thought I&rsquo;d offer some unsolicited suggestions around making money. My only qualifications are that I&rsquo;ve failed multiple times to monetize open source.</p>
<h3 id="what-open-source-is">What open source is</h3>
<p>It&rsquo;s important to understand that open source can either be a:</p>
<ol>
<li>Way to hack on a side project with random people from around the world, or</li>
<li>Go-to-market business strategy and product development methodology.</li>
</ol>
<p>It can become really awkward when you try to use open source for both. The tension can be unbearable when what the business needs is at odds with what some random person in the community wants. You can still have a healthy open source community as long as you are <a href="https://thinkgrowth.org/what-elon-musk-taught-me-about-growing-a-business-c2c173f5bff3">forthright about the business direction</a> (and the community remains in alignment with this direction).</p>
<h3 id="money-isnt-evil">Money isn&rsquo;t evil</h3>
<p>Users paying you money is a good thing. And more money is a better thing. My favorite video to point people to is Jason Cohen&rsquo;s &ldquo;<a href="https://www.youtube.com/watch?v=b_CmkUT25BE">Building the Perfect Bootstrapped Business on WordPress</a>&rdquo;:</p>
<p><a href="https://www.youtube.com/watch?v=b">https://www.youtube.com/watch?v=b</a>_CmkUT25BE</p>
<p>In this video, Jason describes a viable SaaS business as $10k MRR. Here are a couple ways you can get to $10k MRR:</p>
<ul>
<li>Charge 1,000 users $10/month.</li>
<li>Charge 100 users $100/month.</li>
</ul>
<p>Acquiring new customers is hard. It&rsquo;s much easier to grow revenue by charging more (obviously easier said than done). Right now, Monica charges me $45/year. As a professional user, Monica is easily worth twice that to me — much closer to what I pay for other recurring SaaS services (e.g. Harvest, DeployHQ, etc.). And if I were a business user (multiple users sharing the same contact database), then Monica should charge me per seat.</p>
<p>Business users already have dozens of CRMs to choose from though. For professional users, Monica could be the antidote to LinkedIn.</p>
<h3 id="pick-your-audience">Pick your audience</h3>
<p>Monetizing open source is very, very hard. It&rsquo;s important to decide whether you&rsquo;re:</p>
<ol>
<li>Trying to monetize your existing open source audience, or</li>
<li>Marketing to some other audience completely unaffiliated with the open source project.</li>
</ol>
<p>I think the latter could lend itself to a more sustainable business because you aren&rsquo;t competing with free.</p>
<p>With a polished iOS app (again, easier said than done), Monica could open up a greenfield customer acquisition channel. Alternatively, there may be some SMB use cases that Monica could market against (e.g. any business needing to automate ongoing relationship management).</p>
<p>Importantly, growing the business is more than simply building new features, and requires commitment accordingly.</p>]]></content:encoded>
    </item>
    <item>
      <title>Book notes: Thinking in Bets</title>
      <link>https://danielbachhuber.com/book-notes-thinking-in-bets/</link>
      <pubDate>Wed, 09 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/book-notes-thinking-in-bets/</guid>
      <description>&lt;p&gt;Just finished up Annie Duke’s &lt;a href=&#34;https://www.goodreads.com/book/show/35957157&#34;&gt;Thinking in Bets: Making Smarter Decisions When You Don&amp;rsquo;t Have All the Facts&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Overall, &lt;em&gt;Thinking in Bets&lt;/em&gt; is a pretty middle of the road business book. It’s good for lots of tactical details around “thinking in bets” and avoiding inherent biases. It doesn’t have an overly compelling narrative.&lt;/p&gt;&#xA;&lt;p&gt;Some of its more salient points include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;“Resulting” is judging a decision based on its results (which are probabilistic) instead of the thinking and process leading to the decision. A good decision can always have a bad outcome because no decision is ever 100% predictable.&lt;/li&gt;&#xA;&lt;li&gt;Transforming “I know” into “I think with N% certainty” creates space for evaluating what you think you know that led to your current conclusion. It also creates space for others to critically examine the facts leading to your conclusion without you being “wrong”.&lt;/li&gt;&#xA;&lt;li&gt;Sugar industry funded research that eventually triggered low-fat food products. Took decades of real-world impact to realize the flaws. See Snackwell opinions from Michael Pollan.&lt;/li&gt;&#xA;&lt;li&gt;Separate the message from the messenger to avoid bias based on perception of messenger. For instance, liberals could learn a lot from conservatives this way. Tactically, practice this by removing the name from the statement and evaluate more objectively.&lt;/li&gt;&#xA;&lt;li&gt;Remembering the future is the best way to plan for it. From the vantage point of the present, it’s hard to see beyond the next step. We end up over planning for addressing problems we have right now. When we work backward from the goal, we plan the decision tree in greater depth.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Overall, &lt;em&gt;Thinking in Bets&lt;/em&gt; provides useful reference material for “thinking in bets.” Which is the title of the book. Which you don’t really understand the meaning of unless you’re a poker player or read the book.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Just finished up Annie Duke’s <a href="https://www.goodreads.com/book/show/35957157">Thinking in Bets: Making Smarter Decisions When You Don&rsquo;t Have All the Facts</a>.</p>
<p>Overall, <em>Thinking in Bets</em> is a pretty middle of the road business book. It’s good for lots of tactical details around “thinking in bets” and avoiding inherent biases. It doesn’t have an overly compelling narrative.</p>
<p>Some of its more salient points include:</p>
<ul>
<li>“Resulting” is judging a decision based on its results (which are probabilistic) instead of the thinking and process leading to the decision. A good decision can always have a bad outcome because no decision is ever 100% predictable.</li>
<li>Transforming “I know” into “I think with N% certainty” creates space for evaluating what you think you know that led to your current conclusion. It also creates space for others to critically examine the facts leading to your conclusion without you being “wrong”.</li>
<li>Sugar industry funded research that eventually triggered low-fat food products. Took decades of real-world impact to realize the flaws. See Snackwell opinions from Michael Pollan.</li>
<li>Separate the message from the messenger to avoid bias based on perception of messenger. For instance, liberals could learn a lot from conservatives this way. Tactically, practice this by removing the name from the statement and evaluate more objectively.</li>
<li>Remembering the future is the best way to plan for it. From the vantage point of the present, it’s hard to see beyond the next step. We end up over planning for addressing problems we have right now. When we work backward from the goal, we plan the decision tree in greater depth.</li>
</ul>
<p>Overall, <em>Thinking in Bets</em> provides useful reference material for “thinking in bets.” Which is the title of the book. Which you don’t really understand the meaning of unless you’re a poker player or read the book.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links – January 7, 2019</title>
      <link>https://danielbachhuber.com/four-short-links-january-7-2019/</link>
      <pubDate>Mon, 07 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-january-7-2019/</guid>
      <description>&lt;p&gt;&lt;em&gt;Consumerism, philanthropy, consumer surplus, and banning single-family zoning.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.collaborativefund.com/blog/how-this-all-happened/&#34;&gt;How This All Happened&lt;/a&gt; (Morgan Housel) — History of the American economy since WW2, explaining consumerism, consumer debt, and the rise of financial inequality.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.gimletmedia.com/without-fail/relentless-how-one-guy-brought-the-internet-to-americas-schools&#34;&gt;Relentless: How One Guy Brought the Internet to America&amp;rsquo;s Schools&lt;/a&gt; (Without Fail) — The right way to be rich is to use your privilege to work on harder and harder problems.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://avc.com/2018/10/creating-surplus/&#34;&gt;Creating Surplus&lt;/a&gt; (Fred Wilson) — Useful chart depicting which goods/services have gotten cheaper because of technology, and which have gotten more expensive in the same period.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.wweek.com/news/state/2018/12/14/could-oregon-become-the-first-state-to-ban-single-family-zoning/&#34;&gt;Could Oregon Become the First State to Ban Single-Family Zoning?&lt;/a&gt; (Willamette Week) — State legislation is becoming a possibility.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p><em>Consumerism, philanthropy, consumer surplus, and banning single-family zoning.</em></p>
<ol>
<li><a href="https://www.collaborativefund.com/blog/how-this-all-happened/">How This All Happened</a> (Morgan Housel) — History of the American economy since WW2, explaining consumerism, consumer debt, and the rise of financial inequality.</li>
<li><a href="https://www.gimletmedia.com/without-fail/relentless-how-one-guy-brought-the-internet-to-americas-schools">Relentless: How One Guy Brought the Internet to America&rsquo;s Schools</a> (Without Fail) — The right way to be rich is to use your privilege to work on harder and harder problems.</li>
<li><a href="https://avc.com/2018/10/creating-surplus/">Creating Surplus</a> (Fred Wilson) — Useful chart depicting which goods/services have gotten cheaper because of technology, and which have gotten more expensive in the same period.</li>
<li><a href="https://www.wweek.com/news/state/2018/12/14/could-oregon-become-the-first-state-to-ban-single-family-zoning/">Could Oregon Become the First State to Ban Single-Family Zoning?</a> (Willamette Week) — State legislation is becoming a possibility.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2018</title>
      <link>https://danielbachhuber.com/year-in-review-2018/</link>
      <pubDate>Wed, 02 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2018/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on family, business, and travel. See also: &lt;strong&gt;&lt;a href=&#34;https://danielbachhuber.com/year-in-review-2015/&#34;&gt;2015&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;I definitely feel older this year. Not yet in the &amp;ldquo;my body is aging&amp;rdquo; sense, but in the &amp;ldquo;I am definitely not a kid anymore&amp;rdquo; sense. I am acutely aware of all the responsibilities I hold as a father and husband (and homeowner, for that matter). This post is a couple days late accordingly.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on family, business, and travel. See also: <strong><a href="https://danielbachhuber.com/year-in-review-2015/">2015</a>, <a href="https://danielbachhuber.com/year-in-review-2014/">2014</a>, <a href="https://danielbachhuber.com/year-in-review-2013/">2013</a>.</strong></em></p>
<p>I definitely feel older this year. Not yet in the &ldquo;my body is aging&rdquo; sense, but in the &ldquo;I am definitely not a kid anymore&rdquo; sense. I am acutely aware of all the responsibilities I hold as a father and husband (and homeowner, for that matter). This post is a couple days late accordingly.</p>
<h2 id="family-life">Family life</h2>
<p>We are fully assimilated into the routine:</p>
<ul>
<li>
<p>Leah works Mondays and Wednesdays, so I watch the kids until 8 am and then take them to daycare up the street.</p>
</li>
<li>
<p>On the good days, I&rsquo;ll land in my <a href="https://danielbachhuber.com/shedquarters/">shedquarters</a> and start working. On the really bad days, I don&rsquo;t make it off the couch for a while.</p>
</li>
<li>
<p>When Leah is at work, I&rsquo;ll pick up the kids around 4:45 pm and then start making dinner. We eat, we putz around the house, we put the kids to bed, we read for a bit, and then we go to sleep.</p>
</li>
</ul>
<p>One of our life hacks is to meal plan at least a week out, and sometimes two. Not only does this reduce my trips to Costco and Fred Meyer, but it empowers us to live vicariously through food. A couple of recipes on regular weeknight rotation include Spinach, Chickpea, and Tomato Curry from <a href="https://www.amazon.com/Fresh-India-Delicious-Vegetarian-Recipes/dp/1250123836">Fresh India</a> and <a href="https://notenoughcinnamon.com/20-minute-turkey-chili/">20-Minute Turkey Chili</a>.</p>
<p>We also loved our CSA share from <a href="https://www.ourtable.us/">Our Table</a>, a neat cooperative farm roughly 10 minutes from our house. Every week yielded a diversity of vegetables that inspired us to try new flavors and recipes.</p>
<p>To break the grind in 2018, we focused on enjoying the Pacific Northwest:</p>
<ul>
<li>
<p><a href="https://danielbachhuber.com/2018/09/30/highlights-from-the-american-west/">Two week road-trip to Joseph, Boise, and Stanley</a>.</p>
</li>
<li>
<p>Victoria, BC twice. First to visit Leah&rsquo;s Grandpa, Charlie, because we knew he didn&rsquo;t have long, and then second to attend his memorial.</p>
</li>
<li>
<p>Down to the <a href="https://www.instagram.com/p/BqizBEmgO2M/">beautiful McKenzie River</a> a couple times to visit Leah&rsquo;s mom. Ava caught her first steelhead in August.</p>
</li>
<li>
<p>Hood River and Astoria for Jane&rsquo;s and Johanna&rsquo;s weddings, respectively.</p>
</li>
<li>
<p>Sunriver and the beach a few times a piece. The most fun beach trip was a <a href="https://www.instagram.com/p/BlwSrdrFUAk/">weekend getaway for my birthday</a>.</p>
</li>
</ul>
<p>As of this writing, Ava is 4 1/2 (eagerly awaiting her 5th birthday) and Charlie just turned three. Ava loves craft projects right now. She&rsquo;s regularly drawing, making necklaces, or just cutting stuff out and gluing it together. Charlie is increasingly articulate — both a conversationalist and a joker. Watching both of their personalities develop is a total joy.</p>
<h2 id="professionally-speaking">Professionally-speaking</h2>
<p>On the consulting front, 2018 was my best financial year yet.</p>
<p>Hitting this milestone was the result of 60 hours/week for 9 straight weeks. Imagine waking up at 4 am, leading three separate projects with Indian engineering teams, then load balancing against a variety of other projects throughout the day, and finally wrapping up around 8 pm. Needless to say, I was pretty burned out at the end of it.</p>
<p>Next Tuesday, January 8th, I&rsquo;m starting a full-time job! I&rsquo;m really looking forward to working with my new team, and the new learning opportunities presented in the role. It&rsquo;s also been wonderful to have a couple weeks of downtime to reset.</p>
<p>Over the course of 2018, I volunteered a total of 116 hours towards open source. During the first half of the year, I helped out with WordCamp for Publishers as a speaker/workshop organizer. Many thanks to Steph and Adam for their roles in wrangling a great event. In the second half of the year, I took on the role of REST API Release Lead for WordPress 5.0. I&rsquo;m really proud of those who supported the efforts, and am happy that I was able to make a substantive contribution to the project.</p>
<h2 id="quantified-self">Quantified self</h2>
<p>According to Goodreads, I read <a href="https://www.goodreads.com/user_challenges/10759210">39 books over the year</a> (with an original goal of 25). Of this set, my favorites were:</p>
<ul>
<li>
<p><a href="https://www.goodreads.com/book/show/42591890-buy-then-build">Buy Then Build</a>. All about &ldquo;acquisition entrepreneurship&rdquo; and associated tactics. Creating a new business from scratch is for suckers. I&rsquo;m sold.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/39146185-lost-and-founder">Lost and Founder</a>. Rand Fishkin&rsquo;s highly engaging telling of his relationship with Moz (his company) and the associated ups and downs. One of the most honest startup narratives I&rsquo;ve read.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/33916024-sourdough">Sourdough</a>. I am Lois and <a href="https://www.instagram.com/p/BnpM9L_lCYW/">I love sourdough</a>.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/34536488-principles">Principles</a>. Superb strategies delivered with great clarity. Ignore the parts that may seem annoying, because the book will transition back to immensely practical detail.</p>
</li>
<li>
<p><a href="https://www.goodreads.com/book/show/29983711-pachinko">Pachinko</a>. If you don&rsquo;t know much about the history between the Koreas and Japan, Pachinko is a great entry point.</p>
</li>
</ul>
<p>Special shout out to <a href="https://www.goodreads.com/author/show/4763.John_Scalzi">John Scalzi</a>. I read from a few of his series this year: <a href="https://www.goodreads.com/series/202297-the-interdependency">The Interdependency</a>, <a href="https://www.goodreads.com/series/40789-old-man-s-war">Old Man&rsquo;s War</a>, and <a href="https://www.goodreads.com/series/135720-lock-in">Lock In</a>. All of his writing is delightful. If you like science fiction at all, I&rsquo;d highly recommend John Scalzi&rsquo;s books.</p>
<p>According to Strava, I ran 1,056.6 miles in 167 runs (average of 6.33 miles). I only biked 208.7 miles in 25 rides though. My favorite run was probably the <a href="https://www.strava.com/activities/1597862894">Spray Rodeo half marathon</a>, where I managed a 8:16/mile pace and 7:23 for the last mile.</p>
<p>According to TripIt, I traveled 43,325 miles in 58 days on 12 trips. <a href="https://danielbachhuber.com/2018/03/13/rtparty-2018/">India was my furthest destination</a>. I also went to Salt Lake City, New York, Austin, Las Vegas, Chicago, and Nashville for a variety of work-related events. Notably, the <a href="https://www.architecture.org/tours/detail/chicago-architecture-foundation-center-river-cruise-aboard-chicagos-first-lady/">Chicago Architecture Foundation&rsquo;s Twilight River Cruise</a> is pretty darn amazing on a clear night. I&rsquo;m not one for tourist activities but I was highly impressed.</p>
<h2 id="2019">2019</h2>
<p>Goals are what I like to think about doing until something more interesting comes along. A few ideas on my mind include:</p>
<ul>
<li>
<p>Buying an online business doing $2-5k MRR (something I can run on the side).</p>
</li>
<li>
<p>Trying out the Unitarian Church with Leah and the kids.</p>
</li>
<li>
<p>Figuring out how I can get on the Tualatin River more often (canoe, kayak, or rowing skiff) because it&rsquo;s so close to our house.</p>
</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Software I use, December 2018 edition</title>
      <link>https://danielbachhuber.com/software-i-use-december-2018-edition/</link>
      <pubDate>Fri, 21 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/software-i-use-december-2018-edition/</guid>
      <description>&lt;p&gt;In October, I bought a &lt;a href=&#34;https://danielbachhuber.com/2018/10/13/new-hardware-13-macbook-pro-2/&#34;&gt;new MacBook Pro&lt;/a&gt; and did a fresh install. I took notes on the software I installed with the hopes of sharing them with the world (as I did in &lt;a href=&#34;https://danielbachhuber.com/2014/10/19/software-i-use-october-2014-edition/&#34;&gt;2014&lt;/a&gt; and &lt;a href=&#34;https://danielbachhuber.com/2011/01/14/software-i-use-january-2011-edition/&#34;&gt;2011&lt;/a&gt;). It&amp;rsquo;s now December and I finally have time to write the blog post. Busy!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In October, I bought a <a href="https://danielbachhuber.com/2018/10/13/new-hardware-13-macbook-pro-2/">new MacBook Pro</a> and did a fresh install. I took notes on the software I installed with the hopes of sharing them with the world (as I did in <a href="https://danielbachhuber.com/2014/10/19/software-i-use-october-2014-edition/">2014</a> and <a href="https://danielbachhuber.com/2011/01/14/software-i-use-january-2011-edition/">2011</a>). It&rsquo;s now December and I finally have time to write the blog post. Busy!</p>
<h2 id="initial-setup">Initial setup</h2>
<p>Historically, <a href="https://www.dropbox.com/">Dropbox</a> is always the first thing I install. Up until October, Dropbox contained pretty much my entire filesystem (except applications and working projects), so this first step feels like my laptop is healing itself.</p>
<p>But, and can you believe, I&rsquo;ve switched away from Dropbox. I had a hunch that Dropbox&rsquo;s filesystem monitoring daemon was consuming all of my battery — and it was! Now, as long as I keep Slack closed too, my battery lasts for hours.</p>
<p>My new Dropbox-equivalent setup is:</p>
<ul>
<li>1Password <a href="https://support.1password.com/sync-with-icloud/">iCloud sync</a> instead of Dropbox sync.</li>
<li>iCloud Drive for the files I want to make accessible on other devices.</li>
<li><a href="https://www.backblaze.com/">Backblaze</a> for daily backups (which I had been using in addition to Dropbox).</li>
<li><a href="https://www.google.com/drive/">Google Drive</a> for the files Leah and I share.</li>
</ul>
<h2 id="desktop-applications">Desktop applications</h2>
<p>Getting <a href="https://1password.com/">1Password</a> is up and running is always the hard requirement for configuring everything else. 1Password literally unlocks the rest of my life.</p>
<p>For personal task management, I use <a href="https://culturedcode.com/things/">Things 3</a>. It is my sword; without Things, I&rsquo;d be defenseless. I could write a whole soliloquy about task management if I knew what a soliloquy was. In October, I bit the bullet and upgraded from Things 2 to Things 3. Dealing with the UI changes was rough few weeks, but we&rsquo;re all good now.</p>
<p>Leah and I share 303 recipes across our computers and phones using <a href="https://www.paprikaapp.com/">Paprika</a>. Paprika is a pretty solid, full-featured application. One nice feature, which is to be expected I suppose, is that it can import recipes from websites via their Schema.org markup. This makes it much easier to keep track of your new favorites.</p>
<p>I thought <a href="https://zoom.us/">Zoom</a> was over-hyped but it&rsquo;s truly not. Zoom is really great video conferencing software: reliable, has all the features I need, and hasn&rsquo;t succumbed to the bloat cycle yet. I am a proud paying customer. Let&rsquo;s hope this lasts for several more years</p>
<p><a href="https://www.alfredapp.com/">Alfred</a> is still the best quick launcher, but Spotlight was pretty good when I used it for a brief second. <a href="https://kapeli.com/dash">Dash</a> has an amazing Alfred integration for WordPress, WP-CLI, JavaScript and PHP developer documentation.</p>
<p>For email, I still use <a href="https://mailplaneapp.com/">Mailplane</a>. Mailplane is the Gmail web app embedded in a desktop app, and the right balance between them both. Yes, I could use Fluid or something else, but Mailplane has enough enhancements that makes it totally worth it.</p>
<p>In October, I switched from <a href="https://simplenote.com/">Simplenote</a> to Apple Notes. As silly as it sounds, I really wanted to be able to properly format unordered lists. Apple Notes supports formatting (even on mobile) while Simplenote is limited to whatever Markdown format you invent for yourself. To keep my Apple Notes tidy, I &ldquo;Save as PDF&rdquo; into an archive folder.</p>
<p>I also started using <a href="https://ulysses.app/">Ulysses</a> for drafting blog posts but I don&rsquo;t yet know if that will stick. This post was written in Gutenberg.</p>
<p>Lastly, some smaller utilities I use include:</p>
<ul>
<li><a href="https://github.com/newmarcel/KeepingYouAwake">KeepingYouAwake</a> - Keeps my screen awake.</li>
<li><a href="https://www.macbartender.com/">Bartender</a> - Literally cannot believe menu bar management isn&rsquo;t a core Mac OS feature.</li>
<li><a href="https://itunes.apple.com/us/app/clocks/id414554506">Clocks</a> - Best way to keep track of the time in Mumbai, Melbourne, and Zurich.</li>
<li><a href="https://itunes.apple.com/us/app/annotate-capture-and-share/id918207447">Annotate</a> - All but abandoned but I haven&rsquo;t found a better way to take screenshots.</li>
<li><a href="https://www.cockos.com/licecap/">Licecap</a> - Record GIFs with a somewhat clunky interface.</li>
<li><a href="https://itunes.apple.com/us/app/littleipsum/id405772121">Littleipsum</a> - Placeholder text when you need it.</li>
<li><a href="https://www.getharvest.com/">Harvest</a> - Still the very best way to track time. Absolutely indispensable.</li>
</ul>
<h2 id="developer-tools">Developer tools</h2>
<p>Now for the good stuff.</p>
<p>I spend the majority of my day in <a href="https://www.sublimetext.com/3">Sublime Text 3</a> with the <a href="https://github.com/wesbos/cobalt2">Cobalt2</a> theme and Adobe&rsquo;s <a href="https://adobe-fonts.github.io/source-code-pro/">Source Code Pro</a> font. I tried switching to Atom at one point but couldn&rsquo;t do the HTML/CSS/JavaScript thing. Heck, I even tried vim for a few weeks back in the day. Cool idea, but productivity is king.</p>
<p><a href="https://www.sequelpro.com/">Sequel Pro</a> is still the tried and true MySQL desktop app. It does everything I need it to.</p>
<p>To access my computer&rsquo;s inner brain, I use <a href="https://www.iterm2.com/">iTerm2</a> with zsh and <a href="https://ohmyz.sh/">Oh My Zsh</a>. My <a href="https://github.com/danielbachhuber/dotfiles">dotfiles are on GitHub</a>. These <a href="https://github.com/danielbachhuber/dotfiles/blob/3a0fc834bcf7a273ba7b77b65f05619bb1f24c79/aliases#L11-L30">Git aliases are the bee&rsquo;s knees</a> (notably <code>gpo</code>, <code>gp</code>, <code>gco</code>, and <code>gc</code>). My keystrokes into the terminal usually run:</p>
<ul>
<li><a href="https://brew.sh/">homebrew</a> - The simplest way to install new utilities. Keeping them up to date is another matter. I always cross my fingers when running <code>brew upgrade</code>.</li>
<li><a href="https://laravel.com/docs/5.7/valet">Laravel Valet</a> - I&rsquo;ve switched away from Vagrant in favor of running Nginx, PHP, and MySQL directly on my filesystem. It&rsquo;s very fast.</li>
<li><a href="https://wp-cli.org/">WP-CLI</a> - Duh!</li>
<li><a href="https://github.com/consolidation/cgr">cgr</a> - Preferred alternative to <code>composer global require</code> as it mitigates the dependency hell of the latter.</li>
<li><a href="https://github.com/wting/autojump">autojump</a> - Forever props to <a href="https://extrapolate.me/">Nikolay</a>. If you&rsquo;re still using <code>cd</code>, you&rsquo;re doing it wrong.</li>
<li><a href="https://hub.github.com/">hub</a> - See my Git aliases. A new pull request is as simple as <code>gpr</code>.</li>
</ul>
<p>That&rsquo;s about it! If I&rsquo;m missing out on any software you love, let me know in the comments.</p>]]></content:encoded>
    </item>
    <item>
      <title>New hardware: 13&#34; MacBook Pro</title>
      <link>https://danielbachhuber.com/new-hardware-13-macbook-pro-2/</link>
      <pubDate>Sat, 13 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-hardware-13-macbook-pro-2/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_4808.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pictured on the left: yet another brand new, fully-loaded 13&amp;quot; MacBook Pro. This time it&amp;rsquo;s a 2.5 GHz Intel Core i7 with 16 GB and a 500 GB SSD. On the right is my mid-2014 13&amp;quot; MBP, quite possibly the best computer I&amp;rsquo;ve ever owned. RIP all of my awesome stickers.&lt;/p&gt;&#xA;&lt;p&gt;And, with that being said, the new MBP on the left is surprisingly not awful. I put the upgrade off for quite a while because of the reported keyboard issues. My experience thus far is pleasantly the opposite; I find the keyboard quite good and enjoyable to use. I&amp;rsquo;ll need to track down a wired secondary keyboard that offers an equivalent experience.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_4808.jpg" alt=""  width="2400"
	height="1800"  /></p>
<p>Pictured on the left: yet another brand new, fully-loaded 13&quot; MacBook Pro. This time it&rsquo;s a 2.5 GHz Intel Core i7 with 16 GB and a 500 GB SSD. On the right is my mid-2014 13&quot; MBP, quite possibly the best computer I&rsquo;ve ever owned. RIP all of my awesome stickers.</p>
<p>And, with that being said, the new MBP on the left is surprisingly not awful. I put the upgrade off for quite a while because of the reported keyboard issues. My experience thus far is pleasantly the opposite; I find the keyboard quite good and enjoyable to use. I&rsquo;ll need to track down a wired secondary keyboard that offers an equivalent experience.</p>
<p>Previously: <a href="https://danielbachhuber.com/2014/12/30/new-hardware-13-macbook-pro/">2014</a>, <a href="https://danielbachhuber.com/2011/02/06/new-kit-macbook-air/">2011</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three flavors of Gutenberg backwards compatibility</title>
      <link>https://danielbachhuber.com/three-flavors-of-gutenberg-backwards-compatibility/</link>
      <pubDate>Sat, 13 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-flavors-of-gutenberg-backwards-compatibility/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is my attempt at answering an &lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/4738&#34;&gt;issue I opened in January&lt;/a&gt;. Please take my opinions with a grain of salt.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;WordPress is known for its commitment to backwards compatibility. It prides itself on functional consistency between major releases, and makes sure actions and filters continue to work as expected.&lt;/p&gt;&#xA;&lt;p&gt;Gutenberg is big and huge and a significant change for the better. Contributors are working to make Gutenberg as backwards-compatible as possible. However, the reality is that we&amp;rsquo;ll likely taste three flavors:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This is my attempt at answering an <a href="https://github.com/WordPress/gutenberg/issues/4738">issue I opened in January</a>. Please take my opinions with a grain of salt.</em></p>
<p>WordPress is known for its commitment to backwards compatibility. It prides itself on functional consistency between major releases, and makes sure actions and filters continue to work as expected.</p>
<p>Gutenberg is big and huge and a significant change for the better. Contributors are working to make Gutenberg as backwards-compatible as possible. However, the reality is that we&rsquo;ll likely taste three flavors:</p>
<ol>
<li>
<p><strong>It continues to work as expected.</strong> For example, an <code>enter_title_here</code> filter continues to modify the title placeholder text in Gutenberg. Similarly, Post Type Supports is still the API for defining which features a Post Type supports.</p>
</li>
<li>
<p><strong>It doesn&rsquo;t work but there&rsquo;s an equivalent alternative.</strong> Some of WordPress&rsquo; existing architecture doesn&rsquo;t translate directly into Gutenberg. For instance, <code>media_buttons</code> is the old paradigm for registering a button to insert something into the post content. In Gutenberg, Blocks are the new paradigm. Blocks are added to the post content via the Inserter.</p>
</li>
<li>
<p><strong>It doesn&rsquo;t work at all.</strong> We want to avoid this as much as possible, but there will be some elements you can customize in the Classic Editor that you simply can&rsquo;t change in Gutenberg.</p>
</li>
</ol>
<p>The <a href="https://github.com/danielbachhuber/gutenberg-migration-guide">Gutenberg Migration Guide</a> documents many of these specifics. New contributions are always welcome. Generally, compatibility solutions are organically prioritized against identified need, expected impact, and level of effort/possibility.</p>
<p>Ultimately, WordPress remains committed to the <em>ethos</em> of backwards compatibility, even when undertaking such a transformational change as Gutenberg. An amazing amount of effort is going into ensuring WordPress sites continue to work as expected. It&rsquo;s important to acknowledge, though, that backwards compatibility is fundamentally more difficult than the past. The reality has a certain degree of nuance.</p>
]]></content:encoded>
    </item>
    <item>
      <title>My first WordPress commit</title>
      <link>https://danielbachhuber.com/my-first-wordpress-commit/</link>
      <pubDate>Mon, 08 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-first-wordpress-commit/</guid>
      <description>&lt;p&gt;Made my first WordPress commit this morning: &lt;a href=&#34;https://core.trac.wordpress.org/changeset/43680/&#34;&gt;r43680&lt;/a&gt;. It seemed like the moment would have more gravitas than it actually did. I made the commit, and then I went to make my kids&amp;rsquo; breakfast. ¯_(ツ)_/¯&lt;/p&gt;&#xA;&lt;p&gt;To the many commits to come!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Made my first WordPress commit this morning: <a href="https://core.trac.wordpress.org/changeset/43680/">r43680</a>. It seemed like the moment would have more gravitas than it actually did. I made the commit, and then I went to make my kids&rsquo; breakfast. ¯_(ツ)_/¯</p>
<p>To the many commits to come!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Competition, markets, and open source</title>
      <link>https://danielbachhuber.com/competition-markets-and-open-source/</link>
      <pubDate>Fri, 05 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/competition-markets-and-open-source/</guid>
      <description>&lt;p&gt;On Wednesday, at WEA&amp;rsquo;s housing and transportation conference, I met an economist who&amp;rsquo;s studying competition and the shrinking number of small / medium-size businesses. New business formation &lt;a href=&#34;https://www.census.gov/newsroom/blogs/research-matters/2018/02/bfs.html&#34;&gt;isn&amp;rsquo;t behaving as most people would expect it to&lt;/a&gt; in a strong economy.&lt;/p&gt;&#xA;&lt;p&gt;She thought open source, both software and methodology, might be a solution to make small and medium-size businesses more competitive. However, I argued the exact opposite: open source is a business strategy for an extreme form of taking the entire market.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Wednesday, at WEA&rsquo;s housing and transportation conference, I met an economist who&rsquo;s studying competition and the shrinking number of small / medium-size businesses. New business formation <a href="https://www.census.gov/newsroom/blogs/research-matters/2018/02/bfs.html">isn&rsquo;t behaving as most people would expect it to</a> in a strong economy.</p>
<p>She thought open source, both software and methodology, might be a solution to make small and medium-size businesses more competitive. However, I argued the exact opposite: open source is a business strategy for an extreme form of taking the entire market.</p>
<p>I think one root cause of large companies growing larger is that technology lends itself to extreme operational efficiencies. With a <em>technology</em> company, the marginal cost of an additional customer is effectively zero. If Amazon can operate at 10x global scale with the same operational costs, it can take a smaller margin and still be very competitive. Traditional businesses can&rsquo;t compete if they have a larger percentage of margin dedicated to operational costs.</p>
<p>So, if it&rsquo;s true that more of the market is going to larger companies, is this worth solving for? And what are potential solutions? One result of current market dynamics is difficult to unwind: Amazon yields amazing customer value and worsening employment options (either by destroying jobs entirely or offering poorer wages).</p>
]]></content:encoded>
    </item>
    <item>
      <title>What we’re cookin’</title>
      <link>https://danielbachhuber.com/what-were-cookin/</link>
      <pubDate>Tue, 02 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-were-cookin/</guid>
      <description>&lt;p&gt;Homemade food we’ve made in the last four days:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Smoked pork soup&lt;/li&gt;&#xA;&lt;li&gt;Garlic brown sugar glazed salmon&lt;/li&gt;&#xA;&lt;li&gt;Smoked tri-tip steak (omg so good)&lt;/li&gt;&#xA;&lt;li&gt;Cinnamon raisin swirl walnut sourdough&lt;/li&gt;&#xA;&lt;li&gt;Regular sourdough&lt;/li&gt;&#xA;&lt;li&gt;Ugandan eggs bread with tomato chutney&lt;/li&gt;&#xA;&lt;li&gt;Turkey meatballs with homemade pasta&lt;/li&gt;&#xA;&lt;li&gt;Black bean brownies&lt;/li&gt;&#xA;&lt;li&gt;Dried apples and pears from our trees&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Great start to the fall! Cooking is the best form of humblebrag.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Homemade food we’ve made in the last four days:</p>
<ul>
<li>Smoked pork soup</li>
<li>Garlic brown sugar glazed salmon</li>
<li>Smoked tri-tip steak (omg so good)</li>
<li>Cinnamon raisin swirl walnut sourdough</li>
<li>Regular sourdough</li>
<li>Ugandan eggs bread with tomato chutney</li>
<li>Turkey meatballs with homemade pasta</li>
<li>Black bean brownies</li>
<li>Dried apples and pears from our trees</li>
</ul>
<p>Great start to the fall! Cooking is the best form of humblebrag.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Highlights from the American West</title>
      <link>https://danielbachhuber.com/highlights-from-the-american-west/</link>
      <pubDate>Mon, 01 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/highlights-from-the-american-west/</guid>
      <description>&lt;p&gt;We spent two weeks this month on an awesome road trip through Eastern Oregon and Idaho.&lt;/p&gt;&#xA;&lt;p&gt;Our first stop was Joseph, where we stayed for four nights (&lt;a href=&#34;https://www.vrbo.com/890775?unitId=1438716&#34;&gt;VRBO&lt;/a&gt;). If you&amp;rsquo;ve ever been to Jackson Hole, Joseph is a much earlier version of it: gorgeous mountains, one touristy main street, and a bunch of farmland otherwise.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/40567438_234021527295339_7449517779688957097_n.jpg&#34; alt=&#34;Ava and Daniel in the back of the railrider.&#34;  width=&#34;1080&#34;&#xA;&#x9;height=&#34;810&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;One fun adventure was the &lt;a href=&#34;http://jbrailriders.com/&#34;&gt;Joseph Railriders&lt;/a&gt;. Invented by a bike shop in La Grande, they designed two- and four-seat pedal carts that sit on top of train tracks. It&amp;rsquo;s a great re-use of abandoned railroad. Ava and Charlie got a total kick out of our two hour trip to Enterprise and back.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We spent two weeks this month on an awesome road trip through Eastern Oregon and Idaho.</p>
<p>Our first stop was Joseph, where we stayed for four nights (<a href="https://www.vrbo.com/890775?unitId=1438716">VRBO</a>). If you&rsquo;ve ever been to Jackson Hole, Joseph is a much earlier version of it: gorgeous mountains, one touristy main street, and a bunch of farmland otherwise.</p>
<p><img src="images/40567438_234021527295339_7449517779688957097_n.jpg" alt="Ava and Daniel in the back of the railrider."  width="1080"
	height="810"  /></p>
<p>One fun adventure was the <a href="http://jbrailriders.com/">Joseph Railriders</a>. Invented by a bike shop in La Grande, they designed two- and four-seat pedal carts that sit on top of train tracks. It&rsquo;s a great re-use of abandoned railroad. Ava and Charlie got a total kick out of our two hour trip to Enterprise and back.</p>
<p><img src="images/40803764_259080588073805_818752684719614352_n.jpg" alt="Charlie sleeping in Daniel&rsquo;s arms in the kayak."  width="1080"
	height="1350"  /></p>
<p>We also got the kids out on kayaks for the first time at Wallowa Lake. It was so peaceful Charlie passed out in my lap. If it looks like the back of the kayak is sinking, that&rsquo;s because it is.</p>
<p>A few other highlights from Joseph include: Mexican food at <a href="http://lalagunamexican.com/">La Laguna</a>, where Jose&rsquo;s hospitality was world-class; meeting Brian Kausler and his family at Joseph City Park; and dinner at <a href="http://www.terminalgravitybrewing.com/">Terminal Gravity</a> in Enterprise where, without a doubt, Charlie fell into the creek.</p>
<p><img src="images/41488028_2048769468766373_2996526564368643301_n.jpg" alt=""  width="1080"
	height="810"  /></p>
<p>After Joseph, we drove to Boise and stayed three nights pretty close-in to downtown (<a href="https://www.airbnb.com/rooms/18124283">AirBnb</a>). If we were to move anywhere else, Boise would be it:</p>
<ul>
<li>The climate is everything we love about Central Oregon.</li>
<li>North End has great neighborhoods, and is generally within walking distance of downtown.</li>
<li>The foothills have hundreds of miles of maintained trails within a 5-15 minute drive.</li>
<li>The Greenbelt is a wonderful bike trail that circumnavigates most of Boise.</li>
</ul>
<p>We loved every moment of it. And yet, we&rsquo;ll be staying in Tualatin. Boise already has a huge influx of new residents, so I think it&rsquo;s bound to go through some growing pains over the next 5-10 years.</p>
<p>The last stop, and the original inspiration for the trip, was Stanley, Idaho. Our family friends have a beautiful cabin they graciously let my entire family use as our base camp for adventure. We did a good amount of hiking, enjoyed the wonderful scenery, and filled our bellies with delicious food.</p>
<figure>
<p><img src="images/41073060_1863746963661853_8407634394144421375_n.jpg" alt=""  width="720"
	height="900"  /></p>
<figcaption>
<p>8.4 mile hike up to Alpine Lake at 7,900 ft. Living our best life ?‍?‍?‍?</p>
</figcaption>
</figure>]]></content:encoded>
    </item>
    <item>
      <title>Four short links – September 27, 2018</title>
      <link>https://danielbachhuber.com/four-short-links-september-27-2018/</link>
      <pubDate>Thu, 27 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-september-27-2018/</guid>
      <description>&lt;p&gt;Epic bootstrapping, sprawl repair, jq for HTML, and cryptocurrency pump and dump.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.indiehackers.com/podcast/061-jt-marino-of-tuft-&amp;amp;-needle&#34;&gt;How to Bootstrap Your Way to $250,000,000/year with JT Marino of Tuft &amp;amp; Needle&lt;/a&gt; (Indie Hackers) — Epic story of a superbly-executed startup. Underscores the value of studying existing tactical best practices to avoid learning lessons the hard way.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.strongtowns.org/journal/2018/9/17/is-strong-towns-the-same-as-sprawl-repair&#34;&gt;Is Strong Towns the same as Sprawl Repair?&lt;/a&gt; (Chuck Marohn) — Canonical explanation of why suburban retrofit is an optimistic yet unobtainable goal. Best case scenario is that &lt;em&gt;some&lt;/em&gt; subdivisions can incrementally transform towards more traditional, mixed-use neighborhoods.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Epic bootstrapping, sprawl repair, jq for HTML, and cryptocurrency pump and dump.</p>
<ol>
<li>
<p><a href="https://www.indiehackers.com/podcast/061-jt-marino-of-tuft-&amp;-needle">How to Bootstrap Your Way to $250,000,000/year with JT Marino of Tuft &amp; Needle</a> (Indie Hackers) — Epic story of a superbly-executed startup. Underscores the value of studying existing tactical best practices to avoid learning lessons the hard way.</p>
</li>
<li>
<p><a href="https://www.strongtowns.org/journal/2018/9/17/is-strong-towns-the-same-as-sprawl-repair">Is Strong Towns the same as Sprawl Repair?</a> (Chuck Marohn) — Canonical explanation of why suburban retrofit is an optimistic yet unobtainable goal. Best case scenario is that <em>some</em> subdivisions can incrementally transform towards more traditional, mixed-use neighborhoods.</p>
</li>
<li>
<p><a href="https://github.com/ericchiang/pup">pup: Command Line HTML Parsing</a> — Like jq, but for HTML. Query the DOM with CSS selectors. <em>(<a href="https://blog.josephscott.org/2018/08/22/pup-command-line-html-parsing/">via Joseph Scott</a>)</em></p>
</li>
<li>
<p><a href="https://medium.com/@nic__carter/a-glimpse-into-the-dark-underbelly-of-cryptocurrency-markets-d1690b761eaf?curator=MediaREDEF">A glimpse into the dark underbelly of cryptocurrency markets</a> (Nic Carter) — Guilty until proven innocent: cryptocurrencies are pump and dump schemes. If you don&rsquo;t know what a pump and dump scheme is, you <em>especially</em> shouldn&rsquo;t be buying cryptocurrencies.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Quillette and Waking Up</title>
      <link>https://danielbachhuber.com/quillette-and-waking-up/</link>
      <pubDate>Wed, 26 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/quillette-and-waking-up/</guid>
      <description>&lt;p&gt;Just signed up to support &lt;a href=&#34;https://quillette.com/&#34;&gt;Quillette&lt;/a&gt; and Sam Harris&amp;rsquo; &lt;a href=&#34;https://samharris.org/podcast/&#34;&gt;Waking Up&lt;/a&gt; on a regular basis. Both are publishing important, intellectually demanding work, on par with or exceeding traditional news publications.&lt;/p&gt;&#xA;&lt;p&gt;Most recently, I enjoyed &amp;ldquo;&lt;a href=&#34;https://quillette.com/2018/09/19/the-hysterical-campus/&#34;&gt;The Hysterical Campus&lt;/a&gt;&amp;rdquo; in Quillette and Sam Harris&amp;rsquo; &lt;a href=&#34;https://samharris.org/podcasts/138-edge-humanity/&#34;&gt;interview with Yuval Noah Harari&lt;/a&gt;. And, if you want more of the  backstory on Quillette, listen to Tyler Cohen&amp;rsquo;s &lt;a href=&#34;https://marginalrevolution.com/marginalrevolution/2018/08/conversation-claire-lehmann-quillette.html&#34;&gt;interview with Quillette founder Claire Lehmann&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Just signed up to support <a href="https://quillette.com/">Quillette</a> and Sam Harris&rsquo; <a href="https://samharris.org/podcast/">Waking Up</a> on a regular basis. Both are publishing important, intellectually demanding work, on par with or exceeding traditional news publications.</p>
<p>Most recently, I enjoyed &ldquo;<a href="https://quillette.com/2018/09/19/the-hysterical-campus/">The Hysterical Campus</a>&rdquo; in Quillette and Sam Harris&rsquo; <a href="https://samharris.org/podcasts/138-edge-humanity/">interview with Yuval Noah Harari</a>. And, if you want more of the  backstory on Quillette, listen to Tyler Cohen&rsquo;s <a href="https://marginalrevolution.com/marginalrevolution/2018/08/conversation-claire-lehmann-quillette.html">interview with Quillette founder Claire Lehmann</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Blogging’s missing piece</title>
      <link>https://danielbachhuber.com/bloggings-missing-piece/</link>
      <pubDate>Tue, 25 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bloggings-missing-piece/</guid>
      <description>&lt;p&gt;One core mechanic lacking in modern blogging: knowing who is reading your work.&lt;/p&gt;&#xA;&lt;p&gt;With an email newsletter, the writer has reasonable confidence their work is delivered to a known audience. With a blog, the best the writer has are comments and Twitter, both which are totally broken.&lt;/p&gt;&#xA;&lt;p&gt;There should be better tools for the writer to publish to a specific audience (say, &amp;lt;50 people), for the audience to receive the work through their preferred means (e.g. email at the end of the day vs. RSS), and for both to engage in a productive dialogue that evolves over time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One core mechanic lacking in modern blogging: knowing who is reading your work.</p>
<p>With an email newsletter, the writer has reasonable confidence their work is delivered to a known audience. With a blog, the best the writer has are comments and Twitter, both which are totally broken.</p>
<p>There should be better tools for the writer to publish to a specific audience (say, &lt;50 people), for the audience to receive the work through their preferred means (e.g. email at the end of the day vs. RSS), and for both to engage in a productive dialogue that evolves over time.</p>
<p>Oh, and one more important piece: a “Start Here” point of entry for those new to the conversation, so they can painlessly get up to speed.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Best Friday happy hour in Oregon</title>
      <link>https://danielbachhuber.com/best-friday-happy-hour-in-oregon/</link>
      <pubDate>Mon, 30 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/best-friday-happy-hour-in-oregon/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_4456.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1798&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Also featured in &lt;a href=&#34;http://bridgeliner.com/newsletter/2018-07-30-smoke-on-the-horizon-fire-in-the-sauce/&#34;&gt;today&amp;rsquo;s Bridgeliner&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Leah and I had a great weekend getaway for my birthday: hiking Neahkahnie, checking out &lt;a href=&#34;http://ocrailriders.com/&#34;&gt;Oregon Coast Rail Riders&lt;/a&gt; up the Nehalem river, hiking Bayocean Spit, and grilling steak while drinking an entire bottle of rosé.&lt;/p&gt;&#xA;&lt;p&gt;Can&amp;rsquo;t wait for the next one!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_4456.jpg" alt=""  width="2400"
	height="1798"  /></p>
<p>Also featured in <a href="http://bridgeliner.com/newsletter/2018-07-30-smoke-on-the-horizon-fire-in-the-sauce/">today&rsquo;s Bridgeliner</a>.</p>
<p>Leah and I had a great weekend getaway for my birthday: hiking Neahkahnie, checking out <a href="http://ocrailriders.com/">Oregon Coast Rail Riders</a> up the Nehalem river, hiking Bayocean Spit, and grilling steak while drinking an entire bottle of rosé.</p>
<p>Can&rsquo;t wait for the next one!</p>
]]></content:encoded>
    </item>
    <item>
      <title>“Growing Tualatin” housing presentation for Tualatin BAC</title>
      <link>https://danielbachhuber.com/growing-tualatin-housing-presentation-tualatin-bac/</link>
      <pubDate>Sat, 21 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/growing-tualatin-housing-presentation-tualatin-bac/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/281068605?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Tualatin&amp;rsquo;s housing shortage is only one piece of a broader regional problem. Like many complex social challenges, there aren&amp;rsquo;t any &amp;ldquo;silver bullets&amp;rdquo; — answers that will fix everything at once. Fortunately, there are many policy makers, researchers, and community members working together to identify strategies that can begin to provide more housing options.&lt;/p&gt;&#xA;&lt;p&gt;This past Monday, &lt;a href=&#34;https://tualatinchamber.com/committees-2/business-advocacy-council/&#34;&gt;Tualatin&amp;rsquo;s Business Advocacy Council&lt;/a&gt; invited Michael Andersen (&lt;a href=&#34;https://twitter.com/andersem&#34;&gt;@andersem&lt;/a&gt;), Senior Fellow at the &lt;a href=&#34;http://www.sightline.org/&#34;&gt;Sightline Institute&lt;/a&gt;, to present on the topic of housing in Tualatin. Although Michael isn&amp;rsquo;t an expert on Tualatin specifically, he contextualized our local housing shortages with the economic trends of Washington County, and then identified the solutions other cities are already applying.&lt;/p&gt;&#xA;&lt;p&gt;Watch Michael&amp;rsquo;s presentation embedded above or &lt;a href=&#34;https://vimeo.com/281068605&#34;&gt;on Vimeo&lt;/a&gt;. There was a good Q&amp;amp;A session too but the video for that was incomplete. You can also read the (machine-generated) full transcript below. Thanks to &lt;a href=&#34;http://www.josephkonty.com/&#34;&gt;Joseph Konty&lt;/a&gt; for video recording and Tim Garrett at &lt;a href=&#34;http://www.matchlightvideo.com/&#34;&gt;Matchlight Video&lt;/a&gt; for post-production work.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;d like to learn more about missing-middle housing / residential infill, including its associated practical and social challenges, listen to this &lt;a href=&#34;https://www.spreaker.com/user/oregonpublicbroadcasting/portland-s-residential-infill-project&#34;&gt;Think Out Loud interview with Michael Andersen and Portland city planner Joe Zehnder&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/281068605?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Tualatin&rsquo;s housing shortage is only one piece of a broader regional problem. Like many complex social challenges, there aren&rsquo;t any &ldquo;silver bullets&rdquo; — answers that will fix everything at once. Fortunately, there are many policy makers, researchers, and community members working together to identify strategies that can begin to provide more housing options.</p>
<p>This past Monday, <a href="https://tualatinchamber.com/committees-2/business-advocacy-council/">Tualatin&rsquo;s Business Advocacy Council</a> invited Michael Andersen (<a href="https://twitter.com/andersem">@andersem</a>), Senior Fellow at the <a href="http://www.sightline.org/">Sightline Institute</a>, to present on the topic of housing in Tualatin. Although Michael isn&rsquo;t an expert on Tualatin specifically, he contextualized our local housing shortages with the economic trends of Washington County, and then identified the solutions other cities are already applying.</p>
<p>Watch Michael&rsquo;s presentation embedded above or <a href="https://vimeo.com/281068605">on Vimeo</a>. There was a good Q&amp;A session too but the video for that was incomplete. You can also read the (machine-generated) full transcript below. Thanks to <a href="http://www.josephkonty.com/">Joseph Konty</a> for video recording and Tim Garrett at <a href="http://www.matchlightvideo.com/">Matchlight Video</a> for post-production work.</p>
<p>If you&rsquo;d like to learn more about missing-middle housing / residential infill, including its associated practical and social challenges, listen to this <a href="https://www.spreaker.com/user/oregonpublicbroadcasting/portland-s-residential-infill-project">Think Out Loud interview with Michael Andersen and Portland city planner Joe Zehnder</a>.</p>
<p><img src="./images/e545a-growing-tualatin-slideshow.001.png" alt="Growing Tualatin slideshow slide 1"  /></p>
<p>Thanks for inviting me here everybody. Thanks Daniel. That was wonderful. So, like they said, Daniel and Linda invited me here to talk a little bit about my favorite subject, housing; how we can pay less for it, how your employees, colleagues, co-workers, neighbors can pay less for it and hopefully having more of it the right places can lead to a stronger economy and better quality of life here in Tualatin.</p>
<p><img src="./images/76aaf-growing-tualatin-slideshow.005.png" alt="Growing Tualatin slideshow slide 5"  /></p>
<p>Like Daniel made clear, I think, I&rsquo;m not an expert on Tualatin. I&rsquo;ve been here but I don&rsquo;t know the community nearly as well as any of you do. I know about the region and the regional situation; I&rsquo;ll be trying to bring some wisdom from around the region that you can figure out how it fits into your community, obviously. And I&rsquo;ll talk just briefly about where I&rsquo;m coming from in this: I&rsquo;m a policy writer and researcher, and I focus mostly on housing affordability.</p>
<p>The Sightline Institute is a regional sustainability think tank is notable for understanding that economics are a thing. We are focused on this area of the Pacific Northwest as our bio-region is the, arguably, most physically abundant part of the richest society in the history of the world.  If we can&rsquo;t figure out a way to make our current prosperity sustainable, indefinitely, in this area, then we can&rsquo;t figure out anywhere. So we think about what is in the way of that happening.</p>
<p><img src="./images/e4fc1-growing-tualatin-slideshow.006.png" alt="Growing Tualatin slideshow slide 6"  /></p>
<p>We have as a three part way of thinking about that all. Going through the first, our economy depends on working ecosystem here in Oregon, as everywhere, and our ecosystem depends on efficient cities and towns.</p>
<p><img src="./images/b0964-growing-tualatin-slideshow.007.png" alt="Growing Tualatin slideshow slide 7"  /></p>
<p>That&rsquo;s: space-efficient, energy-efficient, economically efficient. On that last note, our economically-efficient cities are depending on a fair and productive economy. We need to be able to do as much as we can in these cities to help everybody&rsquo;s lives improve.</p>
<p><img src="./images/55157-growing-tualatin-slideshow.008.png" alt="Growing Tualatin slideshow slide 8"  /></p>
<p>This is a three part stool. We need every part of that circle to work and they all feed into one another. So I&rsquo;ll be trying to talk about ways that they can all mutually reinforce.</p>
<p><img src="./images/79f51-growing-tualatin-slideshow.015.png" alt="Growing Tualatin slideshow slide 15"  /></p>
<p>On that note, I want to talk about a problem that Tualatin has. This is not going be news to any of you but I&rsquo;m going to run through a few of the statistics that hopefully capture where things are at. <strong>The median monthly rent is up $76 in the most recent year data. That was 2016, a little bit ago, but that&rsquo;s the equivalent of a $912/year tax hike, if you&rsquo;re a homeowner for example.</strong> It looks like a property tax hike that you never get any additional services for. We were talking about one every dollar you pay you want to get out of; from a tenant&rsquo;s perspective, they got nothing out of that. And, if the tenants and renters in your life have been pissed off, that&rsquo;s why.</p>
<p>Meanwhile home seekers, as we heard from Daniel, have also been struggling. Median home prices are up 13% last year to $464,000. That translates to $115,000 up since 2008. 33% percent increase and comes out to, if we some simple math, 10% down payment with much higher interest rate than anyone would want to pay. <strong>They need to get $46,000 down which most people aren&rsquo;t going to have, especially when they&rsquo;re a first time home buyer.</strong></p>
<p><img src="./images/01ed5-growing-tualatin-slideshow.019.png" alt="Growing Tualatin slideshow slide 19"  /></p>
<p>Meanwhile, this is part of a larger situation in Washington County. I think there are a lot of ways to think about what the cause of this problem is. But the simplest way to think about it, probably, is that in Washington County we&rsquo;ve added 82,000 new jobs since 2000, which is fantastic, and we&rsquo;ve added 48,000 new homes since 2000.</p>
<p>Over the course of two business cycles, <strong>job growth has been 37 percent faster than housing growth</strong>. So that is a problem, in as much as the people who need to work in these jobs, who are creating these jobs, who are making these jobs exist by their presence, are coming in not from homes they&rsquo;re being in Washington County, but from elsewhere.</p>
<p><img src="./images/a1583-growing-tualatin-slideshow.020.png" alt="Growing Tualatin slideshow slide 20"  /></p>
<p>And of course this is what that looks like. So people are spending more and more time, as we heard, to get to these jobs.</p>
<p><img src="./images/cc5d8-growing-tualatin-slideshow.021.png" alt="Growing Tualatin slideshow slide 21"  /></p>
<p>We can even put numbers on it.</p>
<p>The red lines in this picture are higher income $40,000+ per household. The pink lines are commutes to the census tract we&rsquo;re standing in right now for people making less than $40,000 per household.</p>
<p>You see people are coming from a long way away, some of them without very much financial reward for doing but they&rsquo;re making it work because they are a bunch of good jobs here in Tualatin. The cost of those commuting, of course, is borne by everybody who is trying to use the roads including the freight and the rest of the economy in general.</p>
<p><img src="./images/5f871-growing-tualatin-slideshow.026.png" alt="Growing Tualatin slideshow slide 26"  /></p>
<p>So what that translates into is that in addition to its specific housing problem, it is becoming a larger economic problem in Tualatin. That manifests in the form of a 2.7% unemployment rate and a series of job recruits that, as we heard from Linda, are hesitant to commute for more the 45 minutes in one direction. And the result of that is that good jobs are going unfilled.</p>
<p>You could solve the problem as employers have tried do by paying more money than ever. And then you&rsquo;d, of course, have to charge more for whatever you&rsquo;re selling. But everybody would be happier if you could pay people the same money you want to pay them right now and they would be happy to accept that wage because they wouldn&rsquo;t have to drive 90 minutes in a car every day.</p>
<p>How do you get to that situation? Well, I&rsquo;ll be talking about this for the rest of the presentation.</p>
<p>I also want to keep in mind, as one of the folks mentioned, that we have 400 local high schoolers graduating every year from the high school here. Some of them are going out to get great skills and great schools. Some of them want to stay in the community and work here. <strong>Whatever the case, if any of them ever want to live in Tualatin and be a home buyer in the area, they&rsquo;re not going to have $46,000 to do it in the beginning of their career.</strong> Unless they have some financial connection or whatever, in which case there&rsquo;s a whole other problem to work out.</p>
<p><img src="./images/2efc0-growing-tualatin-slideshow.027.png" alt="Growing Tualatin slideshow slide 27"  /></p>
<p>The solution to all this trouble we&rsquo;ve thought about a lot at the Sightline Institute, and our basic conclusion is that there are a lot of things you can do but <strong>the single most important thing you need to do is you need to have more homes</strong>. It is ultimately about having enough homes to go around. That is was going to prevent the number of people chasing homes from driving the price way way up. Especially in job-rich areas like Tualatin is lucky to be.</p>
<p><img src="./images/874ee-growing-tualatin-slideshow.028.png" alt="Growing Tualatin slideshow slide 28"  /></p>
<p>So how do we get more housing? We thought about that too. We have done some math about what that looks like. It&rsquo;s a complicated process of course, but the calculation is ultimately not that difficult to wrap your head around.</p>
<p>If this is the number of homes that can make money, you can make money by building this many homes. And if you can reduce the cost of building that many homes, then you will be able to more homes for the same amount of money. <strong>So ultimately it comes down to cost control. You can get more homes for the same amount of private investment being available if you can reduce the cost of developing homes.</strong></p>
<p><img src="./images/792c2-growing-tualatin-slideshow.035.png" alt="Growing Tualatin slideshow slide 35"  /></p>
<p>So then the question becomes: how do we get more homes and make them less expensive to build? How do we get them less expensive to build? There are a few ways to do that.</p>
<p>We can have lower fees and faster regulatory review. Some of you may be familiar with this website launched recently, <a href="https://affordableoregon.org/">Affordable Oregon</a>. It&rsquo;s a fellow in Washington County who has tried to compile some new and useful information comparing all jurisdictions in the area to one another, and how much they&rsquo;re putting these in regulatory review together. His belief is that drives up the price of housing. He is completely right. Fees and regulatory review definitely drive up the price of housing and, without wanting to endorse his specific conclusions, that is a place you can go for information about what&rsquo;s going here.</p>
<p>There are also a couple other factors we can talk about given the price of housing. Lowering the construction cost per home, and lowering the land cost per home. There are various ways to do this but I&rsquo;m going to focus on these last two, for the simple reason that other people are talking a lot about this, I think, and also there is a very clear political and social tradeoff involved in these fee and regulatory review.</p>
<p>Absolutely, we should be minimizing fees but that revenue is basically being used to replace tax revenue that is not collected from the property tax cap which was passed in the 1990s and ultimately a $1 less is public revenue is going to result in less services at some point. So despite the need for efficiency, there&rsquo;s a pretty powerful trade-off.</p>
<p>Similarly, with regulations, every regulation that exists is there somebody asked for it to be there. So that&rsquo;s a difficult needle to thread.</p>
<p>Meanwhile, if we can come up with ways that are politically acceptable and safe to reduce these things, that&rsquo;s sort of a pure win. We can get more economic activity, more prosperity, more housing for every dollar, if we can reduce those things.</p>
<p><img src="./images/cffe0-growing-tualatin-slideshow.037.png" alt="Growing Tualatin slideshow slide 37"  /></p>
<p>Let&rsquo;s look at the cost of those things. This is the rent for a recently built home in the Portland metro area in various housing types. Here&rsquo;s a freestanding suburban house, two store garden apartments, five story urban apartment building, and a high rise apartment building like what you might see in downtown Portland. This is per three bedroom home for recently built rentals.</p>
<p>As you can see, there is sort of a U shape in these costs. What&rsquo;s contributing to the cost here are these two types have lower construction costs per square foot mostly because they&rsquo;re built with wood (the freestanding suburban homes and the two story apartment buildings).</p>
<p><img src="./images/2adbf-growing-tualatin-slideshow.038.png" alt="Growing Tualatin slideshow slide 38"  /></p>
<p>The next three types have lower land costs per home because more households are sharing the same amount of land in higher buildings. High rise apartments are built with steel so they&rsquo;re much more expensive per square foot to build.</p>
<p>None of this is to say that we should only be building like the cheapest kind. There&rsquo;s a completely legitimate reason for someone to prefer each of these different items. Different people will want to live in each of these different settings.</p>
<p>The problem is not that we are telling people they have to live&hellip; <strong>We don&rsquo;t want to tell people they have to live in cheap housing, we want to give them the option to live in that cheap housing if they want to.</strong> If somebody wants to live in a two story garden apartment, and they&rsquo;re not able to because we aren&rsquo;t building or offering enough of those options, then we are leaving housing on the table. That is housing that could exist but is not. Something that someone would be willing to pay less money to live in if they had the option to.</p>
<p><img src="./images/2fe25-growing-tualatin-slideshow.039.png" alt="Growing Tualatin slideshow slide 39"  /></p>
<p>So this two-story garden apartment scenario I&rsquo;m going to talk about for a few minutes&hellip; it&rsquo;s part of an idea from the last few years called &ldquo;missing middle&rdquo;. If we think of housing on a spectrum, from detached single family housing you see in cities everywhere to mid-rise housing, like four to six stories you might see in the central area. You&rsquo;ve also got duplexes triplexes, fourplexes, courtyard apartments, townhomes, a whole array of things that have been common historically in cities everywhere, but aren&rsquo;t really provided for in very many locations in modern zoning.</p>
<p><img src="./images/bdea7-growing-tualatin-slideshow.040.png" alt="Growing Tualatin slideshow slide 40"  /></p>
<p>This is my friend Max&rsquo;s place. His place demonstrates that this is not a new idea, this is a forgotten idea.</p>
<p>The reason he can live in this nice neighborhood in central Portland on a corner lot like this is that he shares a lot that could house one household with three households. This is a four-plex. He works at a retail store and that&rsquo;s what makes it possible for him to be my neighbor.</p>
<p><img src="./images/5f5d8-growing-tualatin-slideshow.041.png" alt="Growing Tualatin slideshow slide 41"  /></p>
<p>Looking specifically at Tualatin, if we see the yellow areas, here are housing, the blue is manufacturing, the pink is commercial city center<em>. </em></p>
<p><img src="./images/88e76-growing-tualatin-slideshow.042.png" alt="Growing Tualatin slideshow slide 42"  /></p>
<p>Think about how much of the land a place like Max&rsquo;s would be able to be built on or would be illegal to build a place like that today. It&rsquo;s just the red areas here, the sort of medium density housing areas. It&rsquo;s not a lot of land as a share of everything that we&rsquo;ve put together in a city where you&rsquo;re allowed to build those.</p>
<p>If we assume we want to build more of these things, or at least we want to allow them to be built if people want to live in them in more areas, we have a few options. We could expand the amount of city that has this middle size housing; we could ensure that new areas that are brought inside the Urban Growth Boundary have a higher-ratio of that middle-sized, middle-density housing. We want to consider whether it is possible to get these missing-middle housing into the lower density zones in a way that doesn&rsquo;t fundamentally change those zones, and people won&rsquo;t object to the transformation of the neighborhood in a way that is moving too fast.</p>
<p><strong>Is there a way to find missing-middle housing options for these lower-density zones? I think this is one of the important ways to think about this thing.</strong></p>
<p><img src="./images/ee0bb-growing-tualatin-slideshow.043.png" alt="Growing Tualatin slideshow slide 43"  /></p>
<p>There are a lot of cities around the region considering new ways to do that. For the last part presentation I&rsquo;m going to share a few ways that they&rsquo;re accomplishing that goal. <img src="./images/a20ef-growing-tualatin-slideshow.044.png" alt="Growing Tualatin slideshow slide 44"  /></p>
<p>We&rsquo;ve got the accessory dwelling unit; the backyard cottage, the mother-in-law unit you might call it. It&rsquo;s a great place for your mom-in-law to live or your father-in-law or your cousins or a young couple that you know or just somebody who is gonna help you pay the rent and a mortgage on your larger building.</p>
<p>These are usually no more than 800 square feet and they were recently legalised in Tualatin. We&rsquo;ll talk more about reasons why more action might be needed in a few minutes</p>
<p><img src="./images/03a05-growing-tualatin-slideshow.045.png" alt="Growing Tualatin slideshow slide 45"  /></p>
<p>This is another example of ADU. This is from <a href="http://www.buildinganadu.com/">Kol Peterson</a> is a sort of expert on ADUs as they&rsquo;ve been taking off in popularity the last few years. He&rsquo;s based in Portland and has a book about it. He has an example of a two-car garage he worked a few months ago and converted it to a 815 square foot home for about $100,000 including $25,000 of his own labor and time. It is possible to get pretty extraordinary things done for not very much money when you can reuse existing spaces for housing units.</p>
<p><img src="./images/42cd6-growing-tualatin-slideshow.046.png" alt="Growing Tualatin slideshow slide 46"  /></p>
<p>This is more for the context of new areas that are brought into an urban area: cottage clusters.</p>
<p>For example, you would say that, instead of only allowing a house to be 3,600 square foot house on a lot, <strong>you could also say you get the option of building three 1,200 square foot houses, or three 1,000 square foot houses with a shared rec room for the kids to play in.</strong> It&rsquo;s not going to be for everybody, but making that an option is a way to get more use out of less land for a lower cost. And also creating the type of housing a lot of people were looking for and unable to find because of the economics of development land use in the area.</p>
<p><img src="./images/f4370-growing-tualatin-slideshow.047.png" alt="Growing Tualatin slideshow slide 47"  /></p>
<p><img src="./images/97e58-growing-tualatin-slideshow.048.png" alt="Growing Tualatin slideshow slide 48"  /></p>
<p><img src="./images/c833a-growing-tualatin-slideshow.049.png" alt="Growing Tualatin slideshow slide 49"  /></p>
<p>This is a modern duplex. A familiar idea, I just took picture of one I like<em>. </em></p>
<p><img src="./images/09dfb-growing-tualatin-slideshow.050.png" alt="Growing Tualatin slideshow slide 50"  /></p>
<p>This is a four-plex. This is an old Victorian home built in 1949, I think, in Portland. This is Garland and his wife. He&rsquo;s the developer of this new place; this is their first project. They took one home, sliced it into four floors so the first floor is fully disability-accessible, of course. The top floor has a terrific view</p>
<p>They can get a lot of use out of a single structure because they&rsquo;re allowed to put more than one home in it.</p>
<p><img src="./images/92f4a-growing-tualatin-slideshow.054.png" alt="Growing Tualatin slideshow slide 54"  /></p>
<p>The last thing I want to say, the last point I want to make and leave you with here, is that, <strong>in addition to legalizing any of these options, if we want them to happen, we need them to be economically viable</strong>. The useful thing about Bellingham, they legalize ADUs in 1995 and since 1995 they&rsquo;ve only built, on average, four per year in the whole city for these backyard cottages. Why is that<em>?</em></p>
<p>It&rsquo;s because they put a bunch of rules on their use and construction. I&rsquo;m going to focus on one of these (these are a few of them): the last one, off-street parking requirement. This is probably the biggest reason why they haven&rsquo;t had any more of them constructed in the last few years.</p>
<p><img src="./images/88175-growing-tualatin-slideshow.055.png" alt="Growing Tualatin slideshow slide 55"  /></p>
<p>This is a quote from the <a href="https://www.oregon.gov/LCD/docs/ADU_Guidance_DLCD_Final.pdf">regulatory document recommending how cities in Oregon should legalise ADUs</a> if they want them to be built. As they say accurately, it&rsquo;s one of the biggest obstacles to having anybody actually construct these homes.</p>
<p><img src="./images/3f3fa-growing-tualatin-slideshow.056.png" alt="Growing Tualatin slideshow slide 56"  /></p>
<p>That&rsquo;s just one example, here&rsquo;s some other specific things we can do. We could up-zone to three-story areas to four-story areas if people are not building new apartments on a given lot. The reason is that they cannot make money by doing so and the simplest thing to do is just let them build more homes, if that&rsquo;s politically viable.</p>
<p><img src="./images/b4374-growing-tualatin-slideshow.057.png" alt="Growing Tualatin slideshow slide 57"  /></p>
<p>We could reclassify homes like Max&rsquo;s from a commercial lot. Right now, if someone wants to build a new four unit building, that is subject to the same regulatory standards and processes and building requirements as a two hundred apartment building in downtown Portland. We could decide we want to regulate them more like a duplex and hold that same building standards. Or we could create a new intermediate standard of building and bring down the cost of developing those three or four-plex homes.</p>
<p><img src="./images/1659d-growing-tualatin-slideshow.058.png" alt="Growing Tualatin slideshow slide 58"  /></p>
<p>We can legalize internal divisions of homes over 10 years or 50 years, whatever we want. Just to say that this house has served its purpose, it has some architectural value, maybe, and we want to keep it viable by letting it do new things as it gets older.</p>
<p><img src="./images/66957-growing-tualatin-slideshow.059.png" alt="Growing Tualatin slideshow slide 59"  /></p>
<p>These are just a few examples of possible actions and I&rsquo;m hoping that we can spend what would ordinarily be a Q&amp;A session to talk about your perspectives on what actions we can take and what is needed. That&rsquo;s all I&rsquo;ve got to say</p>
<p><img src="./images/bb290-growing-tualatin-slideshow.060.png" alt="Growing Tualatin slideshow slide 60"  /></p>
<p><img src="./images/a3327-growing-tualatin-slideshow.061.png" alt="Growing Tualatin slideshow slide 61"  /></p>]]></content:encoded>
    </item>
    <item>
      <title>Update on Try Gutenberg blockers</title>
      <link>https://danielbachhuber.com/update-on-try-gutenberg-blockers/</link>
      <pubDate>Wed, 18 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/update-on-try-gutenberg-blockers/</guid>
      <description>&lt;p&gt;&amp;ldquo;Try Gutenberg&amp;rdquo; is an initiative, currently scheduled for WordPress 4.9.8, to &lt;a href=&#34;https://core.trac.wordpress.org/ticket/41316#comment:148&#34;&gt;drive more usage of the Gutenberg editor plugin&lt;/a&gt;. A while back, I left an offhand comment &lt;a href=&#34;https://core.trac.wordpress.org/ticket/41316#comment:103&#34;&gt;listing issues I saw as blockers&lt;/a&gt; (those that caused data transformation that would be hard to recover from at scale). This comment apparently received more attention than I expected it to, so now we&amp;rsquo;re partially focused on making sure those blockers are resolved.&lt;/p&gt;&#xA;&lt;p&gt;And have we been fixing blockers! A non-exhaustive list includes:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&ldquo;Try Gutenberg&rdquo; is an initiative, currently scheduled for WordPress 4.9.8, to <a href="https://core.trac.wordpress.org/ticket/41316#comment:148">drive more usage of the Gutenberg editor plugin</a>. A while back, I left an offhand comment <a href="https://core.trac.wordpress.org/ticket/41316#comment:103">listing issues I saw as blockers</a> (those that caused data transformation that would be hard to recover from at scale). This comment apparently received more attention than I expected it to, so now we&rsquo;re partially focused on making sure those blockers are resolved.</p>
<p>And have we been fixing blockers! A non-exhaustive list includes:</p>
<ul>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/1586">Adding images to a post doesn&rsquo;t also attach it</a>﻿</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/3656">Editing cases a huge number of revisions</a>﻿</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/5879">Category, tag, and taxonomy controls don&rsquo;t respect the correct capabilities</a></p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/6154">REST API: Attachments controller should respect &ldquo;Max upload file size&rdquo; and &ldquo;Site upload space&rdquo; in multisite</a> (WordPress 4.9.8)</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/7030">Convert to Blocks not properly converting successive shortcodes</a>﻿ (Gutenberg v3.3)</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/4456">New lines in shortcode content are ignored</a> (Gutenberg v3.3)</p>
</li>
</ul>
<p>The two remaining problems that cause me the most hesitation are:</p>
<ol>
<li><a href="https://github.com/WordPress/gutenberg/issues/4672">Unexpected content changes toggling Classic editor from Text to Visual to Text</a> - When post content includes blocks (i.e. you&rsquo;re opening a Gutenberg post in the Classic Editor), TinyMCE can mangle the blocks within the post. The <a href="https://github.com/WordPress/gutenberg/issues/4672#issuecomment-404498852">solution is TBD</a>; needs additional research.</li>
<li><a href="https://github.com/WordPress/gutenberg/issues/3900">Gutenberg breaks &ldquo;classic&rdquo; posts w/ shortcodes by carelessly wrapping shortcodes into paragraph tags</a> - This was partially fixed by correctly handling multi-line shortcodes in a block conversion. However, these multi-line shortcodes <a href="https://github.com/WordPress/gutenberg/issues/3900#issuecomment-405585838">still end up with paragraph tags around them</a>. The current suggestion to explore is running <code>wpautop()</code> and <code>shortcode_unautop()</code> on the server instead of TinyMCE.</li>
</ol>
<p>If you&rsquo;d like to save a point of reference, I have a <a href="https://github.com/WordPress/gutenberg/issues/7147">working GitHub issue</a> documenting these two and some other issues around block conversion, tables, and galleries. Help appreciated!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Wedding weekend marathon</title>
      <link>https://danielbachhuber.com/wedding-weekend-marathon/</link>
      <pubDate>Sun, 08 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wedding-weekend-marathon/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_1221.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Friday night: solo parent at Justin (my cousin) and Justine&amp;rsquo;s wedding. Charlie was one of three ring bearers, and Ava one of nine flower girls. Ton of fun getting to spend so much time with my kids.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3458.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;2373&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Saturday night: kid-free at Jane and George&amp;rsquo;s wedding. Leah gave a wonderful maid of honor speech. Much debauchery followed this picture.&lt;/p&gt;&#xA;&lt;p&gt;Next up: Maggie&amp;rsquo;s wedding in August!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_1221.jpg" alt=""  width="2400"
	height="2400"  /></p>
<p>Friday night: solo parent at Justin (my cousin) and Justine&rsquo;s wedding. Charlie was one of three ring bearers, and Ava one of nine flower girls. Ton of fun getting to spend so much time with my kids.</p>
<p><img src="images/IMG_3458.jpg" alt=""  width="2400"
	height="2373"  /></p>
<p>Saturday night: kid-free at Jane and George&rsquo;s wedding. Leah gave a wonderful maid of honor speech. Much debauchery followed this picture.</p>
<p>Next up: Maggie&rsquo;s wedding in August!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links - July 3, 2018</title>
      <link>https://danielbachhuber.com/four-short-links-july-3-2018/</link>
      <pubDate>Tue, 03 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-july-3-2018/</guid>
      <description>&lt;p&gt;Universal Basic Income, machine learning, Fusion post-mortem, and opioids.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://samharris.org/podcasts/130-universal-basic-income/&#34;&gt;Waking Up Podcast #130 - Universal Basic Income&lt;/a&gt; (Sam Harris with Andrew Yang) — Best possible explanation of the underlying economic forces justifying UBI.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.ben-evans.com/benedictevans/2018/06/22/ways-to-think-about-machine-learning-8nefy&#34;&gt;Ways to think about machine learning&lt;/a&gt; (Benedict Evans) — Imagine what you could do with a million ten year-olds.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://specialprojectsdesk.com/univision-is-a-fucking-mess-1825836622&#34;&gt;Univision Is A Fucking Mess&lt;/a&gt; (Special Projects Desk) — Colorful post-mortem of what went down with Fusion. &lt;a href=&#34;https://danielbachhuber.com/2015/04/22/im-joining-fusion-as-director-of-engineering/&#34;&gt;Previously&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.samefacts.com/2018/05/drug-policy/a-primer-on-fentanyls/&#34;&gt;A primer on fentanyl(s)&lt;/a&gt; (Mark Kleiman) — Comprehensive yet approachable overview to the history and current policy implications.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Universal Basic Income, machine learning, Fusion post-mortem, and opioids.</p>
<ol>
<li>
<p><a href="https://samharris.org/podcasts/130-universal-basic-income/">Waking Up Podcast #130 - Universal Basic Income</a> (Sam Harris with Andrew Yang) — Best possible explanation of the underlying economic forces justifying UBI.</p>
</li>
<li>
<p><a href="https://www.ben-evans.com/benedictevans/2018/06/22/ways-to-think-about-machine-learning-8nefy">Ways to think about machine learning</a> (Benedict Evans) — Imagine what you could do with a million ten year-olds.</p>
</li>
<li>
<p><a href="https://specialprojectsdesk.com/univision-is-a-fucking-mess-1825836622">Univision Is A Fucking Mess</a> (Special Projects Desk) — Colorful post-mortem of what went down with Fusion. <a href="https://danielbachhuber.com/2015/04/22/im-joining-fusion-as-director-of-engineering/">Previously</a>.</p>
</li>
<li>
<p><a href="http://www.samefacts.com/2018/05/drug-policy/a-primer-on-fentanyls/">A primer on fentanyl(s)</a> (Mark Kleiman) — Comprehensive yet approachable overview to the history and current policy implications.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Sunriver, June 2018</title>
      <link>https://danielbachhuber.com/sunriver-june-2018/</link>
      <pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sunriver-june-2018/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_6735.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Family pic atop Lava Butte, post-resuscitation.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Our vacation in Sunriver last weekend was far too short. I climbed the cinder cone twice, &lt;a href=&#34;https://www.strava.com/activities/1625672957&#34;&gt;once with a Burley&lt;/a&gt;﻿ and &lt;a href=&#34;https://www.strava.com/activities/1630822599&#34;&gt;once without&lt;/a&gt;. Ava took &lt;a href=&#34;https://www.instagram.com/p/Bj0hlwwFYVX/&#34;&gt;her first bike ride to the marina&lt;/a&gt;. And we regained all of our calories from ice cream at Goody&amp;rsquo;s.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/IMG_6735.jpg" alt=""  width="2400"
	height="1800"  /></p>
<figcaption>
<p>Family pic atop Lava Butte, post-resuscitation.</p>
</figcaption>
</figure>
<p>Our vacation in Sunriver last weekend was far too short. I climbed the cinder cone twice, <a href="https://www.strava.com/activities/1625672957">once with a Burley</a>﻿ and <a href="https://www.strava.com/activities/1630822599">once without</a>. Ava took <a href="https://www.instagram.com/p/Bj0hlwwFYVX/">her first bike ride to the marina</a>. And we regained all of our calories from ice cream at Goody&rsquo;s.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Help with the Gutenberg Migration Guide at WCEU</title>
      <link>https://danielbachhuber.com/help-with-the-gutenberg-migration-guide-at-wceu/</link>
      <pubDate>Wed, 13 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/help-with-the-gutenberg-migration-guide-at-wceu/</guid>
      <description>&lt;p&gt;&lt;em&gt;This was &lt;a href=&#34;https://make.wordpress.org/hosting/2018/06/13/help-with-the-gutenberg-migration-guide-at-contributor-day/&#34;&gt;originally posted on&lt;/a&gt; make.wordpress.org/hosting.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Looking for something to do at Contributor Day? We could use your help!&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/danielbachhuber/gutenberg-migration-guide&#34;&gt;Gutenberg Migration Guide&lt;/a&gt; is a crowdsourcing project to document WordPress Classic Editor customization points and their Gutenberg equivalents (if such exist). &lt;code&gt;media_buttons&lt;/code&gt; is the &lt;a href=&#34;https://github.com/danielbachhuber/gutenberg-migration-guide/blob/master/action-media-buttons.md&#34;&gt;quintessential example&lt;/a&gt;; whereas you might&amp;rsquo;ve used this action previously in the Classic Editor to register a button, it no longer exists in Gutenberg and the block inserter is its direct equivalent.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This was <a href="https://make.wordpress.org/hosting/2018/06/13/help-with-the-gutenberg-migration-guide-at-contributor-day/">originally posted on</a> make.wordpress.org/hosting.</em></p>
<p>Looking for something to do at Contributor Day? We could use your help!</p>
<p>The <a href="https://github.com/danielbachhuber/gutenberg-migration-guide">Gutenberg Migration Guide</a> is a crowdsourcing project to document WordPress Classic Editor customization points and their Gutenberg equivalents (if such exist). <code>media_buttons</code> is the <a href="https://github.com/danielbachhuber/gutenberg-migration-guide/blob/master/action-media-buttons.md">quintessential example</a>; whereas you might&rsquo;ve used this action previously in the Classic Editor to register a button, it no longer exists in Gutenberg and the block inserter is its direct equivalent.</p>
<p><strong>We want the migration guide to be as comprehensive as it can be.</strong> This is defined as:</p>
<ol>
<li>
<p>Identifying as many integration points as we can find. For instance, there are already <a href="https://github.com/danielbachhuber/gutenberg-migration-guide#actions--filters">14 actions / filters listed</a>. Some are commonly used, while others are not. As long as we have a good example for how the integration point is used, it makes sense to include in the guide.</p>
</li>
<li>
<p>Whenever possible, documenting how feature parity can be achieved with Gutenberg. Some integration points do already have Gutenberg equivalents. Others don&rsquo;t yet, and that&rsquo;s alright.</p>
</li>
</ol>
<p><strong>You can help make the migration guide more comprehensive.</strong> If you don&rsquo;t have any examples of your own to include, here are a couple of places you can start looking:</p>
<ul>
<li>
<p>Our <a href="https://plugincompat.danielbachhuber.com/">plugin compatibility database</a> has a good number of plugins marked incompatible. Some even have descriptions of the problems!</p>
</li>
<li>
<p>The <a href="https://github.com/wordpress/gutenberg/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+label%3A%22%5BType%5D+Plugin+%2F+Theme+Interoperability%22+">[Type] Plugin / Theme Interoperability</a> and <a href="https://github.com/wordpress/gutenberg/issues?q=is%3Aissue+label%3A%22Backwards+Compatibility%22">Backwards Compatibility</a> labels in the Gutenberg GitHub repository have some number of reasonably documented conflicts.</p>
</li>
</ul>
<p><strong>Everyone can contribute to the migration guide, regardless of skill set.</strong> All you need to do is <a href="https://github.com/danielbachhuber/gutenberg-migration-guide/issues">open a new GitHub issue</a> and report the incompatibility you&rsquo;ve found. Screenshots and GIFs are tremendously helpful. If you know the underlying problem, then please include that too. If all you know is that a given plugin&rsquo;s feature doesn&rsquo;t work in Gutenberg, no worries; simply open an issue and we can help track down the cause. Identifying examples of breakage are what we need help with most.</p>
<p>Feel free to join <code>#hosting-community</code> in the <a href="https://make.wordpress.org/chat/">WordPress.org Slack</a> if you have any questions, etc. Thanks for your help!</p>
]]></content:encoded>
    </item>
    <item>
      <title>High value Gutenberg issues</title>
      <link>https://danielbachhuber.com/high-value-gutenberg-issues/</link>
      <pubDate>Wed, 06 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/high-value-gutenberg-issues/</guid>
      <description>&lt;p&gt;Want to have a huge impact on Gutenberg&amp;rsquo;s rollout to a larger number of users? Here are some high value issues that would benefit from a pull request over the next week:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/5028&#34;&gt;Persist custom CSS classes during block conversion when block supports additional classes&lt;/a&gt;&lt;br&gt;&#xA;When a WordPress user converts existing HTML to a block, or manually edits the block HTML to include a class, we should persist their custom CSS class into the additional classes field.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Want to have a huge impact on Gutenberg&rsquo;s rollout to a larger number of users? Here are some high value issues that would benefit from a pull request over the next week:</p>
<ul>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/5028">Persist custom CSS classes during block conversion when block supports additional classes</a><br>
When a WordPress user converts existing HTML to a block, or manually edits the block HTML to include a class, we should persist their custom CSS class into the additional classes field.</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/7135">Autosaving somehow triggers a full save when metaboxes exist, causing too many revisions</a><br>
Gutenberg 3.0 included a bunch of new autosave functionality that still needs some work. Track down this bug before Adam Silverstein does!</p>
</li>
<li>
<p>﻿<a href="https://github.com/WordPress/gutenberg/issues/6154">Drag and drop uploading should respect WordPress multisite max upload size</a><br>
We need to make sure file size is validated both client-side and server-side. Felix Arntz <a href="https://core.trac.wordpress.org/ticket/43751#comment:1">started a patch for core</a> that we&rsquo;ll want to land in Gutenberg first.</p>
</li>
</ul>
<p><a href="https://github.com/WordPress/gutenberg/blob/master/CONTRIBUTING.md">Read through the contributing guide</a> for details on how to get started. Feel free to ask questions on the specific issue, or join us in the <a href="https://wordpress.slack.com/messages/C02QB2JS7/">#core-editor</a> channel with any questions you might have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daniel&#39;s rules for travel</title>
      <link>https://danielbachhuber.com/daniels-rules-for-travel/</link>
      <pubDate>Mon, 04 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/daniels-rules-for-travel/</guid>
      <description>&lt;p&gt;&lt;em&gt;Drafted last time I flew and to be revised next time.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Board the plane last, to maximize your use of airport wifi and minimize sitting in the plane seat.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Walk everywhere you can, because you&amp;rsquo;re probably sitting otherwise. If the opportunity comes up to walk two miles to your next destination, take it without hesitation.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Drink water at every opportunity. You are more likely to get dehydrated while traveling, and dehydration can ruin your trip.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>Drafted last time I flew and to be revised next time.</em></p>
<ul>
<li>
<p>Board the plane last, to maximize your use of airport wifi and minimize sitting in the plane seat.</p>
</li>
<li>
<p>Walk everywhere you can, because you&rsquo;re probably sitting otherwise. If the opportunity comes up to walk two miles to your next destination, take it without hesitation.</p>
</li>
<li>
<p>Drink water at every opportunity. You are more likely to get dehydrated while traveling, and dehydration can ruin your trip.</p>
</li>
<li>
<p>Minimize alcohol and sugar consumption. The golden amount is zero / zero. If you need to consume one, you&rsquo;ll probably want alcohol for the social occasions over sugar.</p>
</li>
<li>
<p>TSA Pre is the easiest way to not hate the airport. I&rsquo;m typically through a security checkpoint in under two minutes.</p>
</li>
<li>
<p>Bring lunch from home for your first day of travel. If possible, also bring non-perishable snacks from home for throughout the trip.</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Memorial Day marathon</title>
      <link>https://danielbachhuber.com/memorial-day-marathon/</link>
      <pubDate>Wed, 30 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/memorial-day-marathon/</guid>
      <description>&lt;p&gt;Not quite, but almost.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3988.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Ava, current and future Spray Rodeo princess&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;On Saturday, I &lt;a href=&#34;https://www.strava.com/activities/1597862894&#34;&gt;ran the Spray Half to the tune of 1:48:22&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It was a great event and I was really happy with my performance. Notably, I hit faster and faster splits in the last five miles: 8:19 (mile 9), 8:02 (mile 10), 7:44 (mile 11), 7:51 (mile 12), and 7:23 (mile 13).&lt;/p&gt;&#xA;&lt;p&gt;We left Spray on Sunday but we weren&amp;rsquo;t done yet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Not quite, but almost.</p>
<figure>
<p><img src="images/IMG_3988.jpg" alt=""  width="2400"
	height="2400"  /></p>
<figcaption>
<p>Ava, current and future Spray Rodeo princess</p>
</figcaption>
</figure>
<p>On Saturday, I <a href="https://www.strava.com/activities/1597862894">ran the Spray Half to the tune of 1:48:22</a>.</p>
<p>It was a great event and I was really happy with my performance. Notably, I hit faster and faster splits in the last five miles: 8:19 (mile 9), 8:02 (mile 10), 7:44 (mile 11), 7:51 (mile 12), and 7:23 (mile 13).</p>
<p>We left Spray on Sunday but we weren&rsquo;t done yet.</p>
<figure>
<p><img src="images/image.jpeg" alt=""  width="2400"
	height="2400"  /></p>
<figcaption>
<p>Leah and Charlie walking the shores of Timothy Lake.</p>
</figcaption>
</figure>
<p>On Monday, Leah and I <a href="https://www.strava.com/activities/1602748986">subjected Ava and Charlie to a grueling ~14 mile hike around Timothy Lake</a>.</p>
<p>For better or for worse, this is the epitome of our marriage — &ldquo;should we turn around now?&rdquo; is left unanswered and we keep going. Fortunately, our kids are more hardcore than we are.</p>
<p>An A+ Memorial Day weekend for the year in review book.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Statement on ADUs for Tualatin Planning Commission meeting – May 17th, 2018</title>
      <link>https://danielbachhuber.com/statement-adus-tualatin-planning-commission/</link>
      <pubDate>Fri, 18 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/statement-adus-tualatin-planning-commission/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a statement I made for public record to the Tualatin Planning Commission meeting on Thursday, May 17th. The outcome of the conversation is that City Staff is re-evaluating the parking requirement and will offer alternative suggestions at the next meeting.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dear Commissioners,&lt;/p&gt;&#xA;&lt;p&gt;Thank you for the work you do.&lt;/p&gt;&#xA;&lt;p&gt;My name is Daniel Bachhuber. I&amp;rsquo;m a long time resident of Tualatin, born and raised in Fox Hills and now raising my own family near Jurgens Park. I&amp;rsquo;m here tonight, instead of at home with my wife and kids, because I&amp;rsquo;m concerned about our city&amp;rsquo;s lack of attention to the housing crisis. If it&amp;rsquo;s not something we address proactively, it will become a significant problem that will ultimately impact my family&amp;rsquo;s long-term wellbeing, and my property&amp;rsquo;s long-term value.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This is a statement I made for public record to the Tualatin Planning Commission meeting on Thursday, May 17th. The outcome of the conversation is that City Staff is re-evaluating the parking requirement and will offer alternative suggestions at the next meeting.</em></p>
<p>Dear Commissioners,</p>
<p>Thank you for the work you do.</p>
<p>My name is Daniel Bachhuber. I&rsquo;m a long time resident of Tualatin, born and raised in Fox Hills and now raising my own family near Jurgens Park. I&rsquo;m here tonight, instead of at home with my wife and kids, because I&rsquo;m concerned about our city&rsquo;s lack of attention to the housing crisis. If it&rsquo;s not something we address proactively, it will become a significant problem that will ultimately impact my family&rsquo;s long-term wellbeing, and my property&rsquo;s long-term value.</p>
<p>As it relates to tonight&rsquo;s meeting, I have two points I&rsquo;d like to include in the public record.</p>
<p>First, the Oregon Department of Land Conservation and Development issued technical guidance for Oregon Senate Bill 1051, which is absent from the Staff Report. I&rsquo;ve brought three copies for your reference. Notably, the technical guidance states:</p>
<ul>
<li>&ldquo;Requiring off‐street parking is one of the biggest barriers to developing ADUs and it is recommended that jurisdictions not include an off‐street parking requirement in their ADU standards.&rdquo;</li>
<li>Also: &ldquo;So that lot coverage requirements do not preclude ADUs from being built on smaller lots, local governments should review their lot coverage standards to make sure they don&rsquo;t create a barrier to development.&rdquo;</li>
</ul>
<p>Second, the Staff Report Executive Summary states: <em>the local regulations for ADU&rsquo;s must be clear and objective to make it easier to build ADU&rsquo;s.</em></p>
<p>However the Staff Report does not include any data on the total number of single family dwellings with three or more off-street parking slots (the minimum required for an ADU under proposed regulations), nor does it include data on the number of lots that have sufficient space for a detached ADU with current setbacks. Based on the information provided, it appears the proposed development code does not fulfill the spirit of Senate Bill 1051 and even contradicts the statement in the Executive Summary.</p>
<p>ADUs are an accessible, under-appreciated housing option. They can increase housing availability while also fitting within and preserving the aesthetic of the neighborhood. For a downsizing senior, building and living an interior ADU may be a way to stay in their home while earning cash from the larger part of their house. For a younger couple, building and renting out an interior ADU may permit them to afford housing closer to work.</p>
<p>I strongly encourage you to use the development code changes to promote, not hamper, ADUs as one part of the solution to the housing crisis.</p>
]]></content:encoded>
    </item>
    <item>
      <title>ADUs, one part of the solution to the housing crisis in Tualatin</title>
      <link>https://danielbachhuber.com/adus-housing-crisis-tualatin/</link>
      <pubDate>Wed, 16 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/adus-housing-crisis-tualatin/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a secret: not only is there a way out of the housing crisis, but you could make money from it too.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Accessory Dwelling Unit&amp;rdquo;, or ADU for short, is a broad label used for a variety of secondary living spaces on or in an existing primary residential property. They can be interior (e.g. converting an unnecessary bonus room) or detached (e.g. a small structure at the back of your house). If you built an ADU in this market, you could easily rent it out and make up to $1,000/month.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Here&rsquo;s a secret: not only is there a way out of the housing crisis, but you could make money from it too.</p>
<p>&ldquo;Accessory Dwelling Unit&rdquo;, or ADU for short, is a broad label used for a variety of secondary living spaces on or in an existing primary residential property. They can be interior (e.g. converting an unnecessary bonus room) or detached (e.g. a small structure at the back of your house). If you built an ADU in this market, you could easily rent it out and make up to $1,000/month.</p>
<p>However, there is a caveat. Building an ADU in Tualatin is hampered by a <a href="https://www.tualatinoregon.gov/developmentcode/tdc-chapter-34-special-regulations#34.300">single clause of the Tualatin Development Code</a>: adding an ADU requires one off-street driveway spot, in addition to the two driveway spots required for the primary residence. Even though your neighbor can park five cars in their driveway and on the street, you can&rsquo;t build an ADU at your house if it only has a two car driveway. According to Kol Peterson, author of <a href="https://www.amazon.com/Backdoor-Revolution-Definitive-Guide-Development/dp/0692053514"><em>Backdoor Revolution: The Definitive Guide to ADU Development</em></a>, the off-street parking requirement is one of three &ldquo;poison pill&rdquo; regulations that significantly hamper ADU development.</p>
<p>Tualatin, like much of the Portland Metro area, has significant problems with housing affordability and availability. Buying a new house at $500,000 requires a family to save over $100,000 for the down payment, and then pay $2,400/month for mortgage and property tax. Rents have skyrocketed too: two bedroom apartments now start at $1,400/month. And this isn&rsquo;t just a low-income problem. More and more in the community are feeling the financial stress of these costs.</p>
<p>ADUs are an under-appreciated housing option. They can increase housing availability while also fitting within and preserving the aesthetic of the neighborhood. They&rsquo;re typically between 300 and 800 square feet, good for one or two people to live in. An interior ADU doesn&rsquo;t typically require structural modifications, and its door is on the side or back of the house. Detached ADUs are usually located in the back of the house, with access along the side.</p>
<p>Picture your standard, single-family suburban house in Tualatin. Many houses are 2,000-3,000 square feet and have a bonus room over the garage. Other houses might have a basement, or a large-enough lot for a small structure in the backyard. Any of these spaces could be converted to an ADU. An ADU is simply a secondary, yet complete, living space (kitchen, bath, and bedroom) on the lot of a primary dwelling.</p>
<p>ADUs are also an accessible investment opportunity. For a downsizing senior, building and living an interior ADU may be a way to stay in their home earning cash from the larger part of their house. For a younger couple, building and renting out an interior ADU may permit them to afford closer housing to work than they otherwise could. And, for empty nesters, building an ADU could help their kids afford to start a family much closer to home.</p>
<p>Last August, Oregon passed Senate Bill 1051 which <a href="https://gov.oregonlive.com/bill/2017/SB1051/">requires all cities to allow ADUs</a>. While the specific definition of &ldquo;allow&rdquo; isn&rsquo;t included in the bill, technical guidance from the Oregon Department of Land Conservation and Development <a href="http://www.oregon.gov/LCD/docs/ADU_Guidance_DLCD_Final.pdf">strongly recommends dropping the off-street parking requirement</a>. Cities that have already removed this requirement have seen a strong uptick in permitted ADUs.</p>
<p>Yet, even with this official recommendation, Tualatin has no plans to drop the off-street parking requirement from its Development Code. In fact, nearly all efforts to introduce more housing options are blocked by an upcoming, multi-year rewrite of the Tualatin Development Code.</p>
<p>There&rsquo;s no silver bullet to the housing crisis. The dip in home building caused by the Great Recession is out of our control, as is the trend of people moving to Oregon. But, doing nothing and hoping the problem goes away will only cause more problems in the long-term. Instead, Tualatin would greatly benefit from taking the lead in exploring all potential housing options. While ADUs may be a drop in the bucket, they represent a ton of symbolic value in managing growth on our own terms.</p>
<p><em>Two upcoming opportunities to make your voice heard: the Planning Commission meeting tomorrow (Thursday) at 6:30 pm and the City Council meeting on Tuesday, May 29th at 7 pm. Both are at the Juanita Pohl Center.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links - May 11, 2018</title>
      <link>https://danielbachhuber.com/four-short-links-may-11-2018/</link>
      <pubDate>Fri, 11 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-may-11-2018/</guid>
      <description>&lt;p&gt;ADU legislation, pro-housing density efforts, software eats retail, and PDX exploring.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://accessorydwellings.org/2018/05/02/adu-legislative-initiatives-abound/&#34;&gt;ADU Legislative Initiatives Abound&lt;/a&gt; (Kol Peterson) — While Senate Bill 1051 is requires all cities to “allow ADUs”, the Oregon Department of Land Conservation and Development guidance recommends dropping owner occupancy requirements, dropping off street parking requirements, allowing detached ADUs up to 800 sq ft by right, and even allowing two ADUs.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.politico.com/magazine/story/2018/04/26/seattle-housing-what-works-next-218058&#34;&gt;‘My Generation Is Never Going to Have That’&lt;/a&gt;﻿ (POLITICO)— Pro-housing density efforts in Seattle from the affected tech population. See also &lt;a href=&#34;https://www.jefftk.com/p/unrestricted-housing&#34;&gt;Jeff Kaufman (Boston)&lt;/a&gt; and &lt;a href=&#34;https://kev.inburke.com/kevin/housing-by-the-numbers/&#34;&gt;Kevin Burke (California)&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>ADU legislation, pro-housing density efforts, software eats retail, and PDX exploring.</p>
<ol>
<li>
<p><a href="https://accessorydwellings.org/2018/05/02/adu-legislative-initiatives-abound/">ADU Legislative Initiatives Abound</a> (Kol Peterson) — While Senate Bill 1051 is requires all cities to “allow ADUs”, the Oregon Department of Land Conservation and Development guidance recommends dropping owner occupancy requirements, dropping off street parking requirements, allowing detached ADUs up to 800 sq ft by right, and even allowing two ADUs.</p>
</li>
<li>
<p><a href="https://www.politico.com/magazine/story/2018/04/26/seattle-housing-what-works-next-218058">‘My Generation Is Never Going to Have That’</a>﻿ (POLITICO)— Pro-housing density efforts in Seattle from the affected tech population. See also <a href="https://www.jefftk.com/p/unrestricted-housing">Jeff Kaufman (Boston)</a> and <a href="https://kev.inburke.com/kevin/housing-by-the-numbers/">Kevin Burke (California)</a>.</p>
</li>
<li>
<p><a href="https://loosethreads.com/thearchive/2017/05/30/mickey-drexler-and-the-death-of-a-supply-driven-world/">Mickey Drexler and the death of a supply-driven world</a> (Loose Threads) — Software eats retail: how J.Crew, Gap, Ralph Lauren, Abercrombie &amp; Fitch, American Apparel, and others were blindsided by technology.</p>
</li>
<li>
<p><a href="https://bikeportland.org/2017/07/17/pedaling-from-portland-to-hood-river-235173">Pedaling from Portland to Hood River</a> (Bike Portland) — Neat 100 mile bike route off the beaten path.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Getting your site ready for Gutenberg</title>
      <link>https://danielbachhuber.com/getting-your-site-ready-for-gutenberg/</link>
      <pubDate>Thu, 10 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/getting-your-site-ready-for-gutenberg/</guid>
      <description>&lt;p&gt;Still need guidance getting your site ready for Gutenberg?&lt;/p&gt;&#xA;&lt;p&gt;On Tuesday, June 5th at 10 am PT, I&amp;rsquo;m &lt;a href=&#34;https://pantheon.io/gutenberg-webinar-series&#34;&gt;heading up a webinar with Pantheon&lt;/a&gt; to cover how you can get your site ready. More specifically, we&amp;rsquo;ll cover:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;How to formulate a testing plan.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/danielbachhuber/gutenberg-migration-guide&#34;&gt;Common Classic Editor customizations and their equivalents&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;What to keep an eye out for in the near future.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;But wait, there&amp;rsquo;s more! The webinar is &lt;a href=&#34;https://pantheon.io/gutenberg-webinar-series&#34;&gt;just one in a series of five&lt;/a&gt;, including Mel Choyce and Josh Pollock. You should sign up so Tessa and I aren&amp;rsquo;t terribly lonely on June 5th.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Still need guidance getting your site ready for Gutenberg?</p>
<p>On Tuesday, June 5th at 10 am PT, I&rsquo;m <a href="https://pantheon.io/gutenberg-webinar-series">heading up a webinar with Pantheon</a> to cover how you can get your site ready. More specifically, we&rsquo;ll cover:</p>
<ul>
<li>
<p>How to formulate a testing plan.</p>
</li>
<li>
<p><a href="https://github.com/danielbachhuber/gutenberg-migration-guide">Common Classic Editor customizations and their equivalents</a>.</p>
</li>
<li>
<p>What to keep an eye out for in the near future.</p>
</li>
</ul>
<p>But wait, there&rsquo;s more! The webinar is <a href="https://pantheon.io/gutenberg-webinar-series">just one in a series of five</a>, including Mel Choyce and Josh Pollock. You should sign up so Tessa and I aren&rsquo;t terribly lonely on June 5th.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Gutenberg and the REST API, early May</title>
      <link>https://danielbachhuber.com/gutenberg-and-the-rest-api-early-may/</link>
      <pubDate>Wed, 09 May 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/gutenberg-and-the-rest-api-early-may/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;https://make.wordpress.org/core/2018/05/09/gutenberg-and-the-rest-api-early-may/&#34;&gt;originally appeared on&lt;/a&gt; make.wordpress/core.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Since I &lt;a href=&#34;https://make.wordpress.org/core/2018/04/23/gutenberg-rest-api-and-you/&#34;&gt;last wrote&lt;/a&gt; two weeks ago, we&amp;rsquo;re making progress! Key achievements for Gutenberg and the REST API include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support for &lt;code&gt;who=authors&lt;/code&gt; was added to &lt;code&gt;GET wp/v2/users&lt;/code&gt;, making it possible to accurately query for authors. WordPress, for better or for worse, defines an author as &lt;code&gt;user_level!=0&lt;/code&gt;. See &lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/6361&#34;&gt;WordPress/gutenberg#6361&lt;/a&gt; for the context on why we can&amp;rsquo;t add this logic client-side (#&lt;a href=&#34;https://core.trac.wordpress.org/ticket/42202&#34;&gt;42202&lt;/a&gt; for WordPress 4.9.6).&lt;/li&gt;&#xA;&lt;li&gt;Improved performance for the &lt;code&gt;_fields=&lt;/code&gt; query parameter (e.g. &lt;code&gt;GET wp/v2/pages?_fields=id,title&lt;/code&gt;) by ensuring WordPress core will only process the fields requested for the response. Notably, this helps us avoid running &lt;code&gt;the_content&lt;/code&gt; when we don&amp;rsquo;t need to be (#&lt;a href=&#34;https://core.trac.wordpress.org/ticket/43874&#34;&gt;43874&lt;/a&gt; for WordPress 4.9.7).&lt;/li&gt;&#xA;&lt;li&gt;Minor enhancements to reflect existing WordPress behaviors:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Disables the Preview button when post type isn&amp;rsquo;t viewable (&lt;a href=&#34;https://github.com/WordPress/gutenberg/pull/6232&#34;&gt;WordPress/gutenberg#6232&lt;/a&gt; for Gutenberg 2.7)&lt;/li&gt;&#xA;&lt;li&gt;Filters the Post Format list to only formats that are supported (&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/6296&#34;&gt;WordPress/gutenberg#6296&lt;/a&gt; for Gutenberg 2.8)&lt;/li&gt;&#xA;&lt;li&gt;Only displays Featured Image UI when theme supports it too (&lt;a href=&#34;https://github.com/WordPress/gutenberg/pull/6541&#34;&gt;WordPress/gutenberg#6541&lt;/a&gt; for Gutenberg 2.8)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/WordPress/gutenberg/milestone/39&#34;&gt;&amp;ldquo;Merge Proposal: REST API&amp;rdquo; GitHub milestone&lt;/a&gt; represents the distance we still need to close. Slowly, steadily, we&amp;rsquo;re bridging the gap, but we could use your help. Here are some of the issues we&amp;rsquo;re still working through:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="https://make.wordpress.org/core/2018/05/09/gutenberg-and-the-rest-api-early-may/">originally appeared on</a> make.wordpress/core.</em></p>
<p>Since I <a href="https://make.wordpress.org/core/2018/04/23/gutenberg-rest-api-and-you/">last wrote</a> two weeks ago, we&rsquo;re making progress! Key achievements for Gutenberg and the REST API include:</p>
<ul>
<li>Support for <code>who=authors</code> was added to <code>GET wp/v2/users</code>, making it possible to accurately query for authors. WordPress, for better or for worse, defines an author as <code>user_level!=0</code>. See <a href="https://github.com/WordPress/gutenberg/issues/6361">WordPress/gutenberg#6361</a> for the context on why we can&rsquo;t add this logic client-side (#<a href="https://core.trac.wordpress.org/ticket/42202">42202</a> for WordPress 4.9.6).</li>
<li>Improved performance for the <code>_fields=</code> query parameter (e.g. <code>GET wp/v2/pages?_fields=id,title</code>) by ensuring WordPress core will only process the fields requested for the response. Notably, this helps us avoid running <code>the_content</code> when we don&rsquo;t need to be (#<a href="https://core.trac.wordpress.org/ticket/43874">43874</a> for WordPress 4.9.7).</li>
<li>Minor enhancements to reflect existing WordPress behaviors:
<ul>
<li>Disables the Preview button when post type isn&rsquo;t viewable (<a href="https://github.com/WordPress/gutenberg/pull/6232">WordPress/gutenberg#6232</a> for Gutenberg 2.7)</li>
<li>Filters the Post Format list to only formats that are supported (<a href="https://github.com/WordPress/gutenberg/issues/6296">WordPress/gutenberg#6296</a> for Gutenberg 2.8)</li>
<li>Only displays Featured Image UI when theme supports it too (<a href="https://github.com/WordPress/gutenberg/pull/6541">WordPress/gutenberg#6541</a> for Gutenberg 2.8)</li>
</ul>
</li>
</ul>
<p>The <a href="https://github.com/WordPress/gutenberg/milestone/39">&ldquo;Merge Proposal: REST API&rdquo; GitHub milestone</a> represents the distance we still need to close. Slowly, steadily, we&rsquo;re bridging the gap, but we could use your help. Here are some of the issues we&rsquo;re still working through:</p>
<ul>
<li>To ensure all necessary data is available to Gutenberg, we&rsquo;ve <a href="https://github.com/WordPress/gutenberg/issues/6180#issuecomment-384511059">settled upon</a> permitting unbounded <code>per_page=-1</code> REST API requests for <em>authorized</em> users. This landed for <code>GET wp/v2/users</code> (<a href="https://github.com/WordPress/gutenberg/pull/6627">WordPress/gutenberg#6627</a>), is in-progress for <code>GET wp/v2/(pages|blocks)</code> (<a href="https://github.com/WordPress/gutenberg/pull/6657">WordPress/gutenberg#6657</a>), and needs to be addressed for categories, tags, and custom taxonomies. We also need to patch core with this enhancement (#<a href="https://core.trac.wordpress.org/ticket/43998">43998</a> for WordPress 4.9.7?)</li>
<li>Capabilities can&rsquo;t be processed directly client-side (<a href="https://github.com/WordPress/gutenberg/issues/6361">WordPress/gutenberg#6361</a>), so we&rsquo;ve introduced a new <code>targetSchema</code> concept to communicate which actions a user can perform. See it in action with <code>wp:action-sticky</code> (<a href="https://github.com/WordPress/gutenberg/pull/6529">WordPress/gutenberg#6529</a>) and <code>wp:action-assign-author</code> (<a href="https://github.com/WordPress/gutenberg/pull/6630">WordPress/gutenberg#6630</a>). There are a few other actions we will need to work out, and then we&rsquo;ll need to patch core (no ticket yet).</li>
<li>Adam is putting together an improved autosaves implementation (<a href="https://github.com/WordPress/gutenberg/pull/6257">WordPress/gutenberg#6257</a>) that I literally cannot wait to see complete. I&rsquo;m sure he could use some help testing in the near future.</li>
<li>Felix is implementing a <code>WP_REST_Search_Controller</code> endpoint (<a href="https://github.com/WordPress/gutenberg/pull/6489">WordPress/gutenberg#6489</a>) to power the link search UI.</li>
</ul>
<p>Join us tomorrow, Thursday, May 10 at 17:00 UTC in <code>#core-restapi</code> office hours if you&rsquo;d like to chat through any questions you have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Your help wanted: Gutenberg Migration Guide</title>
      <link>https://danielbachhuber.com/your-help-wanted-gutenberg-migration-guide/</link>
      <pubDate>Thu, 26 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/your-help-wanted-gutenberg-migration-guide/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;https://make.wordpress.org/core/2018/04/26/your-help-wanted-gutenberg-migration-guide/&#34;&gt;originally appeared on&lt;/a&gt; make.wordpress/core.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Happy Thursday :)&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve started a new crowdsourcing project, the &lt;a href=&#34;https://github.com/danielbachhuber/gutenberg-migration-guide&#34;&gt;Gutenberg Migration Guide&lt;/a&gt;, to document WordPress Classic Editor customization points and their Gutenberg equivalents (if such exist).&lt;/p&gt;&#xA;&lt;p&gt;For example, the &lt;code&gt;media_buttons&lt;/code&gt; action is a common way to add a button atop the editor:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2018-04-26-at-9.40-AM.png&#34; alt=&#34;&#34;  width=&#34;1662&#34;&#xA;&#x9;height=&#34;182&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Its Gutenberg-equivalent is the Block Inserter. Converting a media button to the Block Inserter requires registering a block type. And now we have a &lt;a href=&#34;https://github.com/danielbachhuber/gutenberg-migration-guide/blob/master/action-media-buttons.md&#34;&gt;corresponding page for developers to reference&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="https://make.wordpress.org/core/2018/04/26/your-help-wanted-gutenberg-migration-guide/">originally appeared on</a> make.wordpress/core.</em></p>
<p>Happy Thursday :)</p>
<p>I&rsquo;ve started a new crowdsourcing project, the <a href="https://github.com/danielbachhuber/gutenberg-migration-guide">Gutenberg Migration Guide</a>, to document WordPress Classic Editor customization points and their Gutenberg equivalents (if such exist).</p>
<p>For example, the <code>media_buttons</code> action is a common way to add a button atop the editor:</p>
<p><img src="images/2018-04-26-at-9.40-AM.png" alt=""  width="1662"
	height="182"  /></p>
<p>Its Gutenberg-equivalent is the Block Inserter. Converting a media button to the Block Inserter requires registering a block type. And now we have a <a href="https://github.com/danielbachhuber/gutenberg-migration-guide/blob/master/action-media-buttons.md">corresponding page for developers to reference</a>.</p>
<p><code>media_buttons</code> is only one of the many ways the Classic Editor can be customized. Wouldn&rsquo;t it be great if there was a database covering all of them?</p>
<p>This is where you come in! Take a look through the <a href="https://github.com/danielbachhuber/gutenberg-migration-guide">Gutenberg Migration Guide</a>. For each action, filter, and so on, we&rsquo;d like to document real-world examples of how they&rsquo;ve been used. Then, for each of those real-world examples, identify how the feature might be replicated in Gutenberg.</p>
<p>Have a new hook to suggest or question to ask? Please <a href="https://github.com/danielbachhuber/gutenberg-migration-guide/issues">open a new GitHub issue</a> and we&rsquo;ll get it sorted.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Summary of Gutenberg Plugin Compatibility Database results to date</title>
      <link>https://danielbachhuber.com/summary-of-gutenberg-plugin-compatibility-database-results-to-date/</link>
      <pubDate>Wed, 25 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/summary-of-gutenberg-plugin-compatibility-database-results-to-date/</guid>
      <description>&lt;p&gt;A quick run-through of where we&amp;rsquo;re currently at with the &lt;a href=&#34;https://plugincompat.danielbachhuber.com/&#34;&gt;Gutenberg Plugin Compatibility Database&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Since &lt;a href=&#34;https://danielbachhuber.com/2018/03/01/introducing-the-gutenberg-plugin-compatibility-database/&#34;&gt;announcing the database on March 1st&lt;/a&gt;, 70 people have been granted testing status. However, of 5000 total plugins, we&amp;rsquo;re still at 4139 untested plugins. No companies have stepped up to contribute a significant amount of person-hours.&lt;/p&gt;&#xA;&lt;p&gt;Of the 861 tested plugins:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;219 (25.44%) are compatible.&lt;/li&gt;&#xA;&lt;li&gt;518 (60.16%) are likely compatible.&lt;/li&gt;&#xA;&lt;li&gt;25 (2.9%) are likely not compatible.&lt;/li&gt;&#xA;&lt;li&gt;39 (4.53%) are not compatible.&lt;/li&gt;&#xA;&lt;li&gt;60 (6.97%) are in &amp;ldquo;testing&amp;rdquo;, which means someone started test and abandoned the process.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Notably, this data is largely biased by the &amp;ldquo;likely compatible&amp;rdquo; results. For the most part, these are plugins I pre-screened (e.g. caching plugins) prior to March.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A quick run-through of where we&rsquo;re currently at with the <a href="https://plugincompat.danielbachhuber.com/">Gutenberg Plugin Compatibility Database</a>.</p>
<p>Since <a href="https://danielbachhuber.com/2018/03/01/introducing-the-gutenberg-plugin-compatibility-database/">announcing the database on March 1st</a>, 70 people have been granted testing status. However, of 5000 total plugins, we&rsquo;re still at 4139 untested plugins. No companies have stepped up to contribute a significant amount of person-hours.</p>
<p>Of the 861 tested plugins:</p>
<ul>
<li>219 (25.44%) are compatible.</li>
<li>518 (60.16%) are likely compatible.</li>
<li>25 (2.9%) are likely not compatible.</li>
<li>39 (4.53%) are not compatible.</li>
<li>60 (6.97%) are in &ldquo;testing&rdquo;, which means someone started test and abandoned the process.</li>
</ul>
<p>Notably, this data is largely biased by the &ldquo;likely compatible&rdquo; results. For the most part, these are plugins I pre-screened (e.g. caching plugins) prior to March.</p>
<p>In the original data set, 18 (28.125%) of the 64 incompatible and likely incompatible plugins were updated in the four weeks prior to March 1st. This means the majority are on slower development cycles.</p>
<p>Of the 64 incompatible and likely incompatible plugins, the reasons include:</p>
<ul>
<li>Missing Add Media and TinyMCE buttons (NextGen, WPForms, Formidable, FooGallery, Page Scroll to ID and others).</li>
<li>Missing QuickTag buttons (Quick AdSense).</li>
<li>Meta box doesn&rsquo;t display at all (Page Links To, Revision Control).</li>
<li>Semi-live preview of SEO title doesn&rsquo;t work in Gutenberg (All In One SEO).</li>
<li>Custom Short or Long Product Description fields don&rsquo;t appear at all (WooCommerce).</li>
<li>Featured thumbnail previews aren&rsquo;t being generated (Auto Post Thumbnail).Whitescreen of death (qTranslate X, CKEditor).</li>
<li>Registers a CPT with editor support that doesn&rsquo;t include show_in_rest=&gt;true (Portfolio Post Type)</li>
<li>Adds section to Media Library that isn&rsquo;t displayed in Gutenberg (Add From Server).</li>
<li>Access restriction from plugin not applied in Gutenberg (Advanced Access Manager).</li>
<li>Specifying custom gallery image links isn&rsquo;t applied in Gutenberg (WP Gallery Custom Links).</li>
<li>Doesn&rsquo;t log changes made in Gutenberg (WP Security Audit Log).</li>
</ul>
<p>Next steps are to be determined. &ldquo;Try Gutenberg&rdquo; represents an opportunity to generate more data (out of support forum requests). However, we need a workflow for capturing that data.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Touring a basement conversion ADU in Portland</title>
      <link>https://danielbachhuber.com/touring-a-basement-conversion-adu-in-portland/</link>
      <pubDate>Mon, 23 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/touring-a-basement-conversion-adu-in-portland/</guid>
      <description>&lt;p&gt;Last Thursday, as a part of Design Week Portland, I had the chance to tour this basement conversion ADU (accessory dwelling unit) off NE Prescott:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3815.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It was pretty cool! From the outside, you&amp;rsquo;ll notice both sliding glass and French doors where garage doors used to be. This is because it&amp;rsquo;s a basement _and_﻿ garage conversion ADU.&lt;/p&gt;&#xA;&lt;p&gt;In case you aren&amp;rsquo;t already aware, ADU is shorthand for adding a second living space (bed, bath, and kitchen) to a residential property. ADUs can be inside the existing structure or somewhere else on the property (space-permitting).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last Thursday, as a part of Design Week Portland, I had the chance to tour this basement conversion ADU (accessory dwelling unit) off NE Prescott:</p>
<p><img src="images/IMG_3815.jpg" alt=""  width="2400"
	height="1800"  /></p>
<p>It was pretty cool! From the outside, you&rsquo;ll notice both sliding glass and French doors where garage doors used to be. This is because it&rsquo;s a basement _and_﻿ garage conversion ADU.</p>
<p>In case you aren&rsquo;t already aware, ADU is shorthand for adding a second living space (bed, bath, and kitchen) to a residential property. ADUs can be inside the existing structure or somewhere else on the property (space-permitting).</p>
<p>More generally, ADUs are neat because they open up a number of opportunities:</p>
<ol>
<li>In communities without new land to build on, ADUs can be cost-effective infill housing.</li>
<li>ADUs make homeownership more attainable by adding cash-flow to cover the mortgage.</li>
<li>For seniors wanting to downsize, ADUs can offer a &ldquo;downsize in place&rdquo; option that lets them stay within the community.</li>
</ol>
<p>Here&rsquo;s a pano of the immediate interior:</p>
<p><img src="images/image.jpeg" alt=""  width="2400"
	height="992"  /></p>
<p>The developer, Kol Peterson, has been building and consulting on ADUs for almost a decade now through his company, <a href="https://accessorydwellingstrategies.com/">Accessory Dwelling Strategies</a>. He&rsquo;s also written a book, <a href="http://www.buildinganadu.com/backdoor-revolution/">Backdoor Revolution</a>, that&rsquo;s incredibly informative and information-dense. I&rsquo;m already at page ~150.</p>
<p>As far as building an ADU in our house goes, I&rsquo;ve already discovered what Kol identifies in the book as a <a href="https://www.tualatinoregon.gov/developmentcode/tdc-chapter-34-special-regulations#34.300">classic regulation blocker</a>:</p>
<blockquote>
<p>(5) In addition to the parking spaces required in TDC 73.370 for the detached single-family dwelling, one paved on-site parking space shall be provided for the accessory dwelling unit and the space shall not be within five feet of a side or rear property line.</p></blockquote>
<p>In short, we need a three car driveway in order to permit an ADU. But, we only have two slots and there&rsquo;s no place to put a third. And, ironically, our neighbor can park six cars in their garage, driveway, and street just fine.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Incentives matter</title>
      <link>https://danielbachhuber.com/incentives-matter/</link>
      <pubDate>Tue, 10 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/incentives-matter/</guid>
      <description>&lt;p&gt;The tech sector’s obsession with user engagement is like quantifying health by measuring total calories consumed.&lt;/p&gt;&#xA;&lt;p&gt;In case it&amp;rsquo;s not obvious: this is a bad thing. Let the renewal begin.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The tech sector’s obsession with user engagement is like quantifying health by measuring total calories consumed.</p>
<p>In case it&rsquo;s not obvious: this is a bad thing. Let the renewal begin.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WC Publishers Call for Speakers</title>
      <link>https://danielbachhuber.com/wc-publishers-call-for-speakers/</link>
      <pubDate>Tue, 10 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wc-publishers-call-for-speakers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://2018-chicago.publishers.wordcamp.org/2018/04/10/call-for-speakers/&#34;&gt;WC Publishers Call for Speakers&lt;/a&gt;. This year&amp;rsquo;s theme: taking back the open web. Want to apply but don&amp;rsquo;t know your session title and description? We&amp;rsquo;re happy &lt;a href=&#34;https://2018-chicago.publishers.wordcamp.org/speaker-application-feedback/&#34;&gt;help you with a round of feedback&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://2018-chicago.publishers.wordcamp.org/2018/04/10/call-for-speakers/">WC Publishers Call for Speakers</a>. This year&rsquo;s theme: taking back the open web. Want to apply but don&rsquo;t know your session title and description? We&rsquo;re happy <a href="https://2018-chicago.publishers.wordcamp.org/speaker-application-feedback/">help you with a round of feedback</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>First Arduino project: distance alarm</title>
      <link>https://danielbachhuber.com/first-arduino-project-distance-alarm/</link>
      <pubDate>Sun, 08 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/first-arduino-project-distance-alarm/</guid>
      <description>&lt;p&gt;Amazingly, our refrigerator doesn&amp;rsquo;t have an alarm for when you accidentally leave the door open.&lt;/p&gt;&#xA;&lt;p&gt;In the last six months, we&amp;rsquo;ve left the refrigerator door open overnight three times. Because the light stays on when the door is open, another horrible design decision, the refrigerator thermometer hits 107°F by the time I notice it in the morning.&lt;/p&gt;&#xA;&lt;p&gt;At yesterday&amp;rsquo;s inaugural &lt;a href=&#34;https://www.meetup.com/PDX-Raspberry-Pi-and-Arduino-Meetup/&#34;&gt;PDX Raspberry Pi and Arduino meetup&lt;/a&gt;, I prototyped my solution to the problem: an alarm for accidentally leaving the refrigerator door open.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Amazingly, our refrigerator doesn&rsquo;t have an alarm for when you accidentally leave the door open.</p>
<p>In the last six months, we&rsquo;ve left the refrigerator door open overnight three times. Because the light stays on when the door is open, another horrible design decision, the refrigerator thermometer hits 107°F by the time I notice it in the morning.</p>
<p>At yesterday&rsquo;s inaugural <a href="https://www.meetup.com/PDX-Raspberry-Pi-and-Arduino-Meetup/">PDX Raspberry Pi and Arduino meetup</a>, I prototyped my solution to the problem: an alarm for accidentally leaving the refrigerator door open.</p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/263742751?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Using a <a href="https://www.parallax.com/product/28015">Parallax Ping Ultrasonic distance sensor</a>, the Arduino board detects its distance to the nearest object in front of it. If there&rsquo;s nothing within 2 inches for greater than 5 seconds, then the Arduino board uses a piezo buzzer to make some noise. The system resets when an object is placed within 2 inches again.</p>
<p>On a whole, I was surprised how quickly I got up to speed on Arduino. My &ldquo;Hello World&rdquo; project, blinking a LED diode, took about 10 minutes to complete. This distance alarm only took 20 minutes beyond that, with a little bit of guidance on what hardware to use and access to tutorials on how to use it.</p>
<p>Up next: figuring out how to miniaturize the entire setup so I can put it in a small housing and deploy to production (aka use it in my home).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links - April 5, 2018</title>
      <link>https://danielbachhuber.com/four-short-links-april-5-2018/</link>
      <pubDate>Thu, 05 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-april-5-2018/</guid>
      <description>&lt;p&gt;TV worth watching, urban experiments, and open source sustainability.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://marginalrevolution.com/marginalrevolution/2018/04/lessons-from-the-profit.html&#34;&gt;Lessons from &amp;ldquo;The Profit&amp;rdquo;&lt;/a&gt; (Marginal Revolution) — I hardly watch TV but I&amp;rsquo;m going to binge so hard on this series.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://bridgeliner.com/newsletter/2018-04-05-the-year-of-the-teenager-continues-%f0%9f%92%aa/&#34;&gt;The big experiment at Plaza 122&lt;/a&gt; (Bridgeliner) — &lt;em&gt;To buy in, neighborhood residents first have to participate in a financial literacy class, which is available in Spanish, Vietnamese, Arabic, and Russian. After completing the course, they can make micro investments of $10 to $100 in the plaza each month. With enough of these investments, the community will eventually own Plaza 122 in full.&lt;/em&gt; So cool! &lt;a href=&#34;http://bridgeliner.com/&#34;&gt;You should subscribe to Bridgeliner&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>TV worth watching, urban experiments, and open source sustainability.</p>
<ol>
<li>
<p><a href="http://marginalrevolution.com/marginalrevolution/2018/04/lessons-from-the-profit.html">Lessons from &ldquo;The Profit&rdquo;</a> (Marginal Revolution) — I hardly watch TV but I&rsquo;m going to binge so hard on this series.</p>
</li>
<li>
<p><a href="http://bridgeliner.com/newsletter/2018-04-05-the-year-of-the-teenager-continues-%f0%9f%92%aa/">The big experiment at Plaza 122</a> (Bridgeliner) — <em>To buy in, neighborhood residents first have to participate in a financial literacy class, which is available in Spanish, Vietnamese, Arabic, and Russian. After completing the course, they can make micro investments of $10 to $100 in the plaza each month. With enough of these investments, the community will eventually own Plaza 122 in full.</em> So cool! <a href="http://bridgeliner.com/">You should subscribe to Bridgeliner</a>.</p>
</li>
<li>
<p><a href="https://vimeo.com/261212868">One City: Many Futures / Better Block PDX</a> (Design Week Portland) — <em>Can we make this bike lane better, on a budget that&rsquo;s slightly more than beer?</em> &ldquo;Street prototyping&rdquo; as disruptive policy innovation.</p>
</li>
<li>
<p><a href="https://jvns.ca/blog/2018/03/28/open-source-sabbatical---awesome/">Open source sabbatical = awesome</a> (Julia Evans) — Sabbaticals as a model for open source sustainability.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Upcoming travel</title>
      <link>https://danielbachhuber.com/upcoming-travel/</link>
      <pubDate>Tue, 03 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/upcoming-travel/</guid>
      <description>&lt;p&gt;Where I&amp;rsquo;m headed over the next month and a half:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.meetup.com/Big-WP-NYC/events/249037342/&#34;&gt;Big WP Meetup NYC&lt;/a&gt; - April 12th.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://isoj.org/symposia/2018/&#34;&gt;International Symposium on Online Journalism&lt;/a&gt; - April 13th &amp;amp; 14th, Austin.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.microconf.com/starter/&#34;&gt;MicroConf Starter Edition&lt;/a&gt; - May 1st-3rd, Las Vegas.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://workshop.wpvip.com/&#34;&gt;WP VIP Workshop&lt;/a&gt; - May 14th-17th, Napa.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Do our paths overlap? Let&amp;rsquo;s hang out!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Where I&rsquo;m headed over the next month and a half:</p>
<ul>
<li>
<p><a href="https://www.meetup.com/Big-WP-NYC/events/249037342/">Big WP Meetup NYC</a> - April 12th.</p>
</li>
<li>
<p><a href="https://isoj.org/symposia/2018/">International Symposium on Online Journalism</a> - April 13th &amp; 14th, Austin.</p>
</li>
<li>
<p><a href="http://www.microconf.com/starter/">MicroConf Starter Edition</a> - May 1st-3rd, Las Vegas.</p>
</li>
<li>
<p><a href="https://workshop.wpvip.com/">WP VIP Workshop</a> - May 14th-17th, Napa.</p>
</li>
</ul>
<p>Do our paths overlap? Let&rsquo;s hang out!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Effective product management</title>
      <link>https://danielbachhuber.com/effective-product-management/</link>
      <pubDate>Wed, 21 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/effective-product-management/</guid>
      <description>&lt;p&gt;Too many projects go off the rails, and it always relates to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Deliverables.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Timeline.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;People&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Successful projects are a harmonious balance of these three attributes. Every failure is the result of some leg of the stool not holding its weight.&lt;/p&gt;&#xA;&lt;p&gt;But all is not lost! A project can recover at any point by revisiting its first principles, and closing the identified gaps. Simply ask yourself some guided questions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;have-we-identified-all-of-the-work-to-be-completed&#34;&gt;Have we identified all of the work to be completed?&lt;/h2&gt;&#xA;&lt;p&gt;Project management is the art and science of getting people to work together. And the more people involved in a project, the more challenging it is to get them headed in the right direction.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Too many projects go off the rails, and it always relates to:</p>
<ol>
<li>
<p>Deliverables.</p>
</li>
<li>
<p>Timeline.</p>
</li>
<li>
<p>People</p>
</li>
</ol>
<p>Successful projects are a harmonious balance of these three attributes. Every failure is the result of some leg of the stool not holding its weight.</p>
<p>But all is not lost! A project can recover at any point by revisiting its first principles, and closing the identified gaps. Simply ask yourself some guided questions.</p>
<h2 id="have-we-identified-all-of-the-work-to-be-completed">Have we identified all of the work to be completed?</h2>
<p>Project management is the art and science of getting people to work together. And the more people involved in a project, the more challenging it is to get them headed in the right direction.</p>
<p>The project manager takes ownership of ensuring the project is deconstructed to its requisite components, and those tasks are delegated to their relevant parties. Any failure in this process is a failure of the project manager.</p>
<p>Identify the work to be completed, and make sure someone is responsible for it.</p>
<h2 id="does-everyone-have-the-information-they-need">Does everyone have the information they need?</h2>
<p>Communication is the most important skill for a project manager. It can make or break the entire project. It&rsquo;s the single most important fulcrum in the whole process.</p>
<p>The tool itself doesn’t matter. Slack, email, Zoom, Google Spreadsheets, Basecamp, Asana, and Jira are all forms of communication.</p>
<p>Communication ensures everyone knows what they need to know.</p>
<h2 id="but-this-sounds-like-a-bunch-of-heady-mumbo-jumbo">But this sounds like a bunch of heady mumbo jumbo?</h2>
<p>You’re right. It’s up to you to translate these principles to the real world.</p>
<p><strong>New person cc’ed into an email thread?</strong> Reply with a recap of the project to bring them up to speed.</p>
<p><strong>Details and nuance getting lost in text?</strong> Offer a catch-up call to take advantage of higher-bandwidth communication.</p>
<p><strong>Something not getting done?</strong> Make sure the task is actually defined, that there’s a person responsible for it, and that the person is capable of completing the work in the time allotted.</p>
<p><strong>Leading a meeting?</strong> Share the agenda for review beforehand, set time limits for each discussion, and identify key takeaways and next steps that serve as the tangible results for the meeting.</p>
<p><strong>General confusion about the project?</strong> Synthesize key details into a document everyone has access to, and keep it up to date.</p>
<p>Keep it up!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Email newsletters and incentives</title>
      <link>https://danielbachhuber.com/email-newsletters-and-incentives/</link>
      <pubDate>Wed, 21 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/email-newsletters-and-incentives/</guid>
      <description>&lt;p&gt;Email newsletters are some of the best content being produced by media companies right now. It&amp;rsquo;s amazing what&amp;rsquo;s possible when incentives are aligned (growing subscribership vs. driving pageviews).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Email newsletters are some of the best content being produced by media companies right now. It&rsquo;s amazing what&rsquo;s possible when incentives are aligned (growing subscribership vs. driving pageviews).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Four short links - March 19, 2018</title>
      <link>https://danielbachhuber.com/four-short-links-march-19-2018/</link>
      <pubDate>Mon, 19 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/four-short-links-march-19-2018/</guid>
      <description>&lt;p&gt;Selfish altruism, &amp;ldquo;performance management&amp;rdquo;, all sales decks are awful, and the opioid epidemic.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://kottke.org/18/03/a-selfish-argument-for-making-the-world-a-better-place&#34;&gt;A Selfish Argument for Making the World a Better Place&lt;/a&gt; (Kottke.org) — This has always been my raison d&amp;rsquo;être. See also: &lt;a href=&#34;https://soundcloud.com/conversationswithtyler/charles-c-mann-tyler-cowen-environment-world&#34;&gt;why resource utilization isn&amp;rsquo;t zero-sum&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://randsinrepose.com/archives/a-performance-question/&#34;&gt;A Performance Question&lt;/a&gt; (Rands in Repose) — Canonical manual for dealing with direct report performance.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://medium.com/the-mission/the-greatest-sales-deck-ive-ever-seen-4f4ef3391ba0&#34;&gt;The Greatest Sales Deck I’ve Ever Seen&lt;/a&gt; (The Mission) — Structure your deck into a narrative arc.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Selfish altruism, &ldquo;performance management&rdquo;, all sales decks are awful, and the opioid epidemic.</p>
<ol>
<li>
<p><a href="https://kottke.org/18/03/a-selfish-argument-for-making-the-world-a-better-place">A Selfish Argument for Making the World a Better Place</a> (Kottke.org) — This has always been my raison d&rsquo;être. See also: <a href="https://soundcloud.com/conversationswithtyler/charles-c-mann-tyler-cowen-environment-world">why resource utilization isn&rsquo;t zero-sum</a>.</p>
</li>
<li>
<p><a href="http://randsinrepose.com/archives/a-performance-question/">A Performance Question</a> (Rands in Repose) — Canonical manual for dealing with direct report performance.</p>
</li>
<li>
<p><a href="https://medium.com/the-mission/the-greatest-sales-deck-ive-ever-seen-4f4ef3391ba0">The Greatest Sales Deck I’ve Ever Seen</a> (The Mission) — Structure your deck into a narrative arc.</p>
</li>
<li>
<p><a href="http://nymag.com/daily/intelligencer/2018/02/americas-opioid-epidemic.html">Andrew Sullivan on the Opioid Epidemic in America</a> (NY Mag) — One of the hardest challenges for our generation.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>rtParty 2018</title>
      <link>https://danielbachhuber.com/rtparty-2018/</link>
      <pubDate>Tue, 13 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/rtparty-2018/</guid>
      <description>&lt;p&gt;Enjoyed India last week, both at rtParty (rtCamp&amp;rsquo;s annual company bash) in Goa and hanging out at the Pune office earlier in the week.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3519-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Following Vivek through Koregaon Park to the rtCamp office.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3520-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Ain&amp;rsquo;t no shame getting my caffeine fix.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3534-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Not a very flattering photo of a biz team meeting.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3528-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;New rtCamp office is expected to launch March 18th.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3550-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Morning arrival in Goa, after 14 hour overnight train journey.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Enjoyed India last week, both at rtParty (rtCamp&rsquo;s annual company bash) in Goa and hanging out at the Pune office earlier in the week.</p>
<figure>
<p><img src="images/IMG_3519-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Following Vivek through Koregaon Park to the rtCamp office.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3520-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Ain&rsquo;t no shame getting my caffeine fix.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3534-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Not a very flattering photo of a biz team meeting.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3528-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>New rtCamp office is expected to launch March 18th.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3550-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Morning arrival in Goa, after 14 hour overnight train journey.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/8730eed9-996f-415d-b79b-6fda2f64d7e0-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Bunch of scoundrels.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3556-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>As you might imagine, I ate a ton of Indian food.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3559-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Xavier&rsquo;s Cafe all decked out for the party.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3591-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>4:42 am, Dubai airport, amidst 40 hour journey home.</p>
</figcaption>
</figure>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing the Gutenberg Plugin Compatibility Database</title>
      <link>https://danielbachhuber.com/introducing-the-gutenberg-plugin-compatibility-database/</link>
      <pubDate>Thu, 01 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-the-gutenberg-plugin-compatibility-database/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;https://make.wordpress.org/core/2018/03/01/introducing-the-gutenberg-plugin-compatibility-database/&#34;&gt;originally appeared on&lt;/a&gt; make.wordpress.org/core.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ideally, the majority of WordPress users should be able to use Gutenberg on the day WordPress 5.0 is released. They&amp;rsquo;ll hit &amp;ldquo;Update WordPress&amp;rdquo;, navigate back to the editor, and continue publishing in Gutenberg with all of the functionality they expect in the Classic Editor.&lt;/p&gt;&#xA;&lt;p&gt;But plugins! If any one of their active plugins are incompatible with Gutenberg, the WordPress user is likely to experience pain, misery, and bad fortune. Many WordPress installations have a dozen or more active plugins, so WordPress plugins are a significant risk vector for Gutenberg incompatibility.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="https://make.wordpress.org/core/2018/03/01/introducing-the-gutenberg-plugin-compatibility-database/">originally appeared on</a> make.wordpress.org/core.</em></p>
<p>Ideally, the majority of WordPress users should be able to use Gutenberg on the day WordPress 5.0 is released. They&rsquo;ll hit &ldquo;Update WordPress&rdquo;, navigate back to the editor, and continue publishing in Gutenberg with all of the functionality they expect in the Classic Editor.</p>
<p>But plugins! If any one of their active plugins are incompatible with Gutenberg, the WordPress user is likely to experience pain, misery, and bad fortune. Many WordPress installations have a dozen or more active plugins, so WordPress plugins are a significant risk vector for Gutenberg incompatibility.</p>
<p>Enter the <a href="https://plugincompat.danielbachhuber.com/">Gutenberg Plugin Compatibility Database</a>. The goal for this crowdsourcing tool is to identify whether or not WordPress.org plugins are compatible with Gutenberg. With this data set, we&rsquo;ll be able to:</p>
<ul>
<li>
<p>Know the most likely causes of incompatibility.</p>
</li>
<li>
<p>Focus developer outreach on the highest impact problems.</p>
</li>
<li>
<p>Proactively educate WordPress users on whether or not their WordPress installation is ready for Gutenberg.</p>
</li>
</ul>
<p>The only gotcha: we need lots and lots of person-hours for testing. If each plugin takes roughly 1 minute to test, we&rsquo;ll need ~75 person-hours to get through the remaining ~4500 plugins in the database.</p>
<p>Check out the <a href="https://github.com/danielbachhuber/gutenberg-plugin-compatibility#gutenberg-plugin-compatibility">project README.md</a> for a more complete introduction to what&rsquo;s involved. This includes a definition for &ldquo;Gutenberg-compatible&rdquo;, explanation for why only 5000 plugins are in the database, and other design decisions.</p>
<p>Do you or someone you know have access to lots of person-hours (e.g. WordCamp contributor day, hosting support team, etc.)? I&rsquo;d love to chat! Feel free to leave a comment, ping me on WordPress.org Slack (I&rsquo;m &lsquo;danielbachhuber&rsquo;), or get in touch however most convenient.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Crappy hardware ideas</title>
      <link>https://danielbachhuber.com/crappy-hardware-ideas/</link>
      <pubDate>Wed, 21 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/crappy-hardware-ideas/</guid>
      <description>&lt;p&gt;In no particular order:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Natural peanut butter stirring device.&lt;/strong&gt; You know, to mix the peanut butter back into its oils. This device would need to be high torque with low speed, or it could even be mechanical with some design to increase mixing.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Fridge door alarm.&lt;/strong&gt; Amazingly, our fridge doesn&amp;rsquo;t beep when the door is left open. Many fridges do. This device would emit some noise (or send you a text, etc.) when the sensor detects an opening for &amp;gt;10 seconds.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In no particular order:</p>
<ul>
<li>
<p><strong>Natural peanut butter stirring device.</strong> You know, to mix the peanut butter back into its oils. This device would need to be high torque with low speed, or it could even be mechanical with some design to increase mixing.</p>
</li>
<li>
<p><strong>Fridge door alarm.</strong> Amazingly, our fridge doesn&rsquo;t beep when the door is left open. Many fridges do. This device would emit some noise (or send you a text, etc.) when the sensor detects an opening for &gt;10 seconds.</p>
</li>
<li>
<p><strong>USB hub with mounting hardware.</strong> All I want is to mount the hub to the back of my desk so I don&rsquo;t have to see it. Some hubs exist, but the price is quite high for what they are. There&rsquo;s an opportunity for something with screw holes in the ~$20 range.</p>
</li>
<li>
<p><strong>All-in-one individual video conferencing unit.</strong> The existing options seem focused on adding a variety of peripherals to your conference room and TV. This setup would be for one person, and include video camera, screen, light source, and audio. A veritable magic box!</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>iPhone home screen, February 2018</title>
      <link>https://danielbachhuber.com/iphone-home-screen-february-2018/</link>
      <pubDate>Tue, 20 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/iphone-home-screen-february-2018/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_4F361BBFA5A8-1.jpeg&#34; alt=&#34;&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;1136&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Notably:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;OverDrive&lt;/strong&gt; is like free Audible! See if your local library is participating. I&amp;rsquo;ve been knocking through non-fiction since September.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Goodreads&lt;/strong&gt; for keeping track of what books I should read and have read. Sometimes the network is useful.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Overcast&lt;/strong&gt;﻿ may seem like an over-hyped podcast app but it&amp;rsquo;s actually really good. Listening at 1.5x is life-changing.&lt;/p&gt;&#xA;&lt;p&gt;Look ma, no &lt;strong&gt;Mail.app&lt;/strong&gt;! I made the decision to remove Mail from my phone a few months ago and haven&amp;rsquo;t looked back.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_4F361BBFA5A8-1.jpeg" alt=""  width="640"
	height="1136"  /></p>
<p>Notably:</p>
<p><strong>OverDrive</strong> is like free Audible! See if your local library is participating. I&rsquo;ve been knocking through non-fiction since September.</p>
<p><strong>Goodreads</strong> for keeping track of what books I should read and have read. Sometimes the network is useful.</p>
<p><strong>Overcast</strong>﻿ may seem like an over-hyped podcast app but it&rsquo;s actually really good. Listening at 1.5x is life-changing.</p>
<p>Look ma, no <strong>Mail.app</strong>! I made the decision to remove Mail from my phone a few months ago and haven&rsquo;t looked back.</p>
<p><strong>Spotify</strong> is my jam (<a href="https://danielbachhuber.com/2012/12/09/rdio-vs-spotify/">after switching from Rdio</a>), although I&rsquo;m growing weary of algorithmic influence on music. Might be time to go back to albums.</p>
<p><strong>Paprika</strong> keeps our family&rsquo;s cookbook in sync between devices. Tonight is <a href="https://cooking.nytimes.com/recipes/1018723-turkey-meatballs-in-tomato-sauce">turkey meatballs</a>, pasta, and brussel sprouts.</p>
<p>Previously: <a href="https://danielbachhuber.com/2012/08/16/current-iphone-screen/">2012</a>, <a href="https://danielbachhuber.com/2011/05/24/iphone-home-screen-52411/">2011</a>. <a href="http://randsinrepose.com/archives/iphone-home-screen-year-in-review/">Inspired by Rands</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Amazon&#39;s Achilles heel</title>
      <link>https://danielbachhuber.com/amazons-achilles-heel/</link>
      <pubDate>Mon, 19 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/amazons-achilles-heel/</guid>
      <description>&lt;p&gt;Brand. Brand is the key differentiating factor when it comes to influencing purchase decisions in a mature market. And Amazon&amp;rsquo;s marketplace is a race to the bottom cesspool that&amp;rsquo;s antithetical to customer loyalty.&lt;/p&gt;&#xA;&lt;p&gt;Consider this search for &amp;ldquo;&lt;a href=&#34;https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;amp;field-keywords=tablet+arm&amp;amp;rh=i%3Aaps%2Ck%3Atablet+arm&#34;&gt;tablet arm&lt;/a&gt;&amp;rdquo;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/tabletarm.png&#34; alt=&#34;&#34;  width=&#34;2124&#34;&#xA;&#x9;height=&#34;834&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Which of these should I choose?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Three of the four have relatively similar ratings.&lt;/li&gt;&#xA;&lt;li&gt;All of them are within the same price point.&lt;/li&gt;&#xA;&lt;li&gt;None of them are from a name brand I know I can trust.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Such indecision! I could spend 20 minutes scouring through the reviews, but who knows which are real and which are fake these days. Or, I could buy them all and return the ones I don&amp;rsquo;t want. But packaging stuff back up and taking to UPS is a hassle.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Brand. Brand is the key differentiating factor when it comes to influencing purchase decisions in a mature market. And Amazon&rsquo;s marketplace is a race to the bottom cesspool that&rsquo;s antithetical to customer loyalty.</p>
<p>Consider this search for &ldquo;<a href="https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;field-keywords=tablet+arm&amp;rh=i%3Aaps%2Ck%3Atablet+arm">tablet arm</a>&rdquo;:</p>
<p><img src="images/tabletarm.png" alt=""  width="2124"
	height="834"  /></p>
<p>Which of these should I choose?</p>
<ul>
<li>Three of the four have relatively similar ratings.</li>
<li>All of them are within the same price point.</li>
<li>None of them are from a name brand I know I can trust.</li>
</ul>
<p>Such indecision! I could spend 20 minutes scouring through the reviews, but who knows which are real and which are fake these days. Or, I could buy them all and return the ones I don&rsquo;t want. But packaging stuff back up and taking to UPS is a hassle.</p>
<p>For exactly this reason, I went to Best Buy yesterday (for the first time in decades), looked at video cameras, and bought a nice Canon for a cheaper price than it was listed on Amazon.</p>
<p>I like brands. Brands mean I can form trusting, long-term customer relationships with companies. The Amazon marketplace is overrun with knock-off products from generic drop shippers — bad and getting worse.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Switch Laravel Valet from .dev to .test in three easy steps</title>
      <link>https://danielbachhuber.com/switch-laravel-valet-from-dev-to-test-in-three-easy-steps/</link>
      <pubDate>Wed, 14 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/switch-laravel-valet-from-dev-to-test-in-three-easy-steps/</guid>
      <description>&lt;p&gt;Chrome and Safari began forcing &lt;code&gt;https&lt;/code&gt; for the &lt;code&gt;.dev&lt;/code&gt; domain because someone apparently thought it was a good idea to register as a public TLD. Laravel Valet only produces self-signed SSL certificates though, so I want to keep my local installations served as &lt;code&gt;http&lt;/code&gt;. Guess it&amp;rsquo;s time to switch TLDs!&lt;/p&gt;&#xA;&lt;p&gt;Oh, and don&amp;rsquo;t try to use &lt;code&gt;.local&lt;/code&gt; on a Mac because it conflicts with Bonjour local networking. I discovered this with 30 minutes of wasted effort. &lt;code&gt;.test&lt;/code&gt; is the way to go.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Chrome and Safari began forcing <code>https</code> for the <code>.dev</code> domain because someone apparently thought it was a good idea to register as a public TLD. Laravel Valet only produces self-signed SSL certificates though, so I want to keep my local installations served as <code>http</code>. Guess it&rsquo;s time to switch TLDs!</p>
<p>Oh, and don&rsquo;t try to use <code>.local</code> on a Mac because it conflicts with Bonjour local networking. I discovered this with 30 minutes of wasted effort. <code>.test</code> is the way to go.</p>
<p>First,﻿ run:</p>
<pre tabindex="0"><code>valet domain test
</code></pre><p>Switch Valet to using the <code>.test</code> domain, which will also update dnsmasq accordingly. Don&rsquo;t try to edit dnsmasq configuration on your own — there are too many ways to go wrong.</p>
<p>Second, run:</p>
<pre tabindex="0"><code>wp package install wp-cli/find-command
</code></pre><p>Install <a href="https://github.com/wp-cli/find-command">wp-cli/find-command</a> to find all WordPress installs in your Laravel project directory. It&rsquo;s convenient for running one WP-CLI command against all WordPress installs.</p>
<p>Third, run:</p>
<pre tabindex="0"><code>wp find ~/projects --field=wp_path | xargs -I % wp --path=% search-replace &#39;.dev&#39; &#39;.test&#39; --all-tables
</code></pre><p>Run <code>wp search-replace</code> against all WordPress installs to replace instances of &lsquo;.dev&rsquo; with &lsquo;.test&rsquo;. <code>~/projects</code> is my Valet project directory, and <code>--all-tables</code> ensures the procedure is run against all database tables.</p>
<p>Et voila! You&rsquo;ve switched Laravel Valet from <code>.dev</code> to <code>.test</code> in three easy steps.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bylines acquired by PublishPress</title>
      <link>https://danielbachhuber.com/bylines-acquired-by-publishpress/</link>
      <pubDate>Tue, 30 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bylines-acquired-by-publishpress/</guid>
      <description>&lt;p&gt;Happy to report that &lt;a href=&#34;https://bylines.io/&#34;&gt;Bylines&lt;/a&gt; has found a new home with &lt;a href=&#34;https://publishpress.com/&#34;&gt;PublishPress&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Bylines is a modern rewrite of Co-Authors Plus that I &lt;a href=&#34;https://danielbachhuber.com/2017/04/19/new-project-bylines/&#34;&gt;started last April&lt;/a&gt;. It hasn&amp;rsquo;t been anywhere near my primary focus for quite a while, so I finally called a spade a spade and started looking for a new owner. Fortunately, it&amp;rsquo;s a perfect fit for the developers behind PublishPress — I&amp;rsquo;m glad my customers ended up in good hands.&lt;/p&gt;&#xA;&lt;p&gt;You can &lt;a href=&#34;https://bylines.io/2018/01/29/publishpress/&#34;&gt;read more about the announcement&lt;/a&gt; on the Bylines website.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Happy to report that <a href="https://bylines.io/">Bylines</a> has found a new home with <a href="https://publishpress.com/">PublishPress</a>.</p>
<p>Bylines is a modern rewrite of Co-Authors Plus that I <a href="https://danielbachhuber.com/2017/04/19/new-project-bylines/">started last April</a>. It hasn&rsquo;t been anywhere near my primary focus for quite a while, so I finally called a spade a spade and started looking for a new owner. Fortunately, it&rsquo;s a perfect fit for the developers behind PublishPress — I&rsquo;m glad my customers ended up in good hands.</p>
<p>You can <a href="https://bylines.io/2018/01/29/publishpress/">read more about the announcement</a> on the Bylines website.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Open source and civic engagement</title>
      <link>https://danielbachhuber.com/open-source-and-civic-engagement/</link>
      <pubDate>Sat, 27 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-and-civic-engagement/</guid>
      <description>&lt;p&gt;Open source is one of the most powerful, and underappreciated, ideas of our generation. &lt;a href=&#34;https://medium.com/@nayafia/i-hate-the-term-open-source-a65fd481a95&#34;&gt;Modern open source is about building and collaborating in public&lt;/a&gt;, not about the license. Most importantly, open source isn&amp;rsquo;t conceptually limited to software development; it&amp;rsquo;s most prevalent here because we have the correct tooling.&lt;/p&gt;&#xA;&lt;p&gt;The other day, I was reading &lt;a href=&#34;https://www.tualatinoregon.gov/sites/default/files/fileattachments/city_council/meeting/packets/27861/cc_ws_packet_1-22-18.pdf&#34;&gt;Tualatin City Council&amp;rsquo;s work session materials for January 22nd&lt;/a&gt; (PDF warning). It&amp;rsquo;s actually pretty interesting. Tualatin is considering a &amp;ldquo;Local Congestion Relief and Neighborhood Safety&amp;rdquo; bond measure, and the packet provides much of the background. But it&amp;rsquo;s a PDF packet and I was only reading it because someone emailed it to me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Open source is one of the most powerful, and underappreciated, ideas of our generation. <a href="https://medium.com/@nayafia/i-hate-the-term-open-source-a65fd481a95">Modern open source is about building and collaborating in public</a>, not about the license. Most importantly, open source isn&rsquo;t conceptually limited to software development; it&rsquo;s most prevalent here because we have the correct tooling.</p>
<p>The other day, I was reading <a href="https://www.tualatinoregon.gov/sites/default/files/fileattachments/city_council/meeting/packets/27861/cc_ws_packet_1-22-18.pdf">Tualatin City Council&rsquo;s work session materials for January 22nd</a> (PDF warning). It&rsquo;s actually pretty interesting. Tualatin is considering a &ldquo;Local Congestion Relief and Neighborhood Safety&rdquo; bond measure, and the packet provides much of the background. But it&rsquo;s a PDF packet and I was only reading it because someone emailed it to me.</p>
<p>Which brings me to the three realizations I had:</p>
<ol>
<li>
<p>Open source is Good™ because it increases collaboration. Increased collaboration means increased value creation. Ergo, civic engagement (and pretty much everything) would benefit from open source methodologies.</p>
</li>
<li>
<p>City data is really hard to come by. It needs to be manually collected and it&rsquo;s often out of date as soon as it&rsquo;s collected. Nowadays, any effort put into collection should result in a real-time, persistent data stream.</p>
</li>
<li>
<p>Cities should be learning from one another. Meaning, Tualatin must have a data profile similar to dozens of other cities in the US. If city A tries experiment B and it works, then we should use that knowledge as the basis of our evolution, infrastructure investments and otherwise.</p>
</li>
</ol>
<p>Specific to the congestion problem at hand, I also thought it would be pretty cool if someone created an open source traffic modeling system. Lo — <a href="http://opentraffic.io/">OpenTraffic already exists</a>! And here&rsquo;s some project that <a href="https://github.com/mbauman/TrafficSpeed">calculates traffic speed from cell phone video</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Good first Gutenberg issues</title>
      <link>https://danielbachhuber.com/good-first-gutenberg-issues/</link>
      <pubDate>Tue, 23 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/good-first-gutenberg-issues/</guid>
      <description>&lt;p&gt;Want to submit your first pull request to &lt;a href=&#34;https://wordpress.org/gutenberg/&#34;&gt;Gutenberg&lt;/a&gt;? Here are a few g&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22&#34;&gt;ood first issues&lt;/a&gt; to get your feet wet:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/4024&#34;&gt;Buttons in Quote block toolbar randomly shift position&lt;/a&gt;&lt;br&gt;&#xA;The &amp;ldquo;randomness&amp;rdquo; is that the initial block toolbar is different than the one that appears when focused. We need to track down the source of the discrepancy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/4642&#34;&gt;Additional backtick added when writing code&lt;/a&gt;&lt;br&gt;&#xA;It shouldn&amp;rsquo;t be there!&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/4611&#34;&gt;Content of Select Media window disappeared after uploading image&lt;/a&gt;&lt;br&gt;&#xA;This appears to be some conflict between the Media Library upload drop zone and the Gutenberg upload drop zone.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Want to submit your first pull request to <a href="https://wordpress.org/gutenberg/">Gutenberg</a>? Here are a few g<a href="https://github.com/WordPress/gutenberg/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22">ood first issues</a> to get your feet wet:</p>
<ul>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/4024">Buttons in Quote block toolbar randomly shift position</a><br>
The &ldquo;randomness&rdquo; is that the initial block toolbar is different than the one that appears when focused. We need to track down the source of the discrepancy.</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/4642">Additional backtick added when writing code</a><br>
It shouldn&rsquo;t be there!</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/4611">Content of Select Media window disappeared after uploading image</a><br>
This appears to be some conflict between the Media Library upload drop zone and the Gutenberg upload drop zone.</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/4533">Localize weekdays in DateTimePicker</a><br>
It looks like this UI is generated by the <code>ReactDatePicker</code> component, so we&rsquo;ll need to figure out how to pass localization through.</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/3963">More tag from classic editor displays warning in Gutenberg</a><br>
But it shouldn&rsquo;t!</p>
</li>
<li>
<p><a href="https://github.com/WordPress/gutenberg/issues/3772">Post accidentally publishes when Gutenberg autosaves and the scheduled date is set to the past</a><br>
In the Gutenberg JavaScript client, we should have some logic that verifies the <code>post_date</code> values we&rsquo;re sending back to the REST API won&rsquo;t cause the REST API to publish the post.</p>
</li>
</ul>
<p><a href="https://github.com/WordPress/gutenberg/blob/master/CONTRIBUTING.md">Read through the contributing guide</a> for details on how to get started. Feel free to ask questions on the specific issue, or join us in the <a href="https://wordpress.slack.com/messages/C02QB2JS7/">#core-editor</a> channel with any questions you might have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>RFC #17: Experiments and the Economics of Open Source</title>
      <link>https://danielbachhuber.com/request-for-commits-17-experiments-and-the-economics-of-open-source/</link>
      <pubDate>Mon, 22 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/request-for-commits-17-experiments-and-the-economics-of-open-source/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://changelog.com/rfc/17&#34;&gt;RFC #17: Experiments and the Economics of Open Source&lt;/a&gt;. I joined Nadia and Mikeal to discuss my work on WP-CLI, the economics, origins, staying productive as a maintainer, fund raising, and the state of WP-CLI &amp;ldquo;today&amp;rdquo; (aka last May when this was recorded).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I forgot I said this: &amp;ldquo;[The GPL] is used often as a blunt instrument for enforcing certain economic dynamics around everyone&amp;rsquo;s businesses.&amp;rdquo; Pretty good!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://changelog.com/rfc/17">RFC #17: Experiments and the Economics of Open Source</a>. I joined Nadia and Mikeal to discuss my work on WP-CLI, the economics, origins, staying productive as a maintainer, fund raising, and the state of WP-CLI &ldquo;today&rdquo; (aka last May when this was recorded).</p>
<p><strong>Update:</strong> I forgot I said this: &ldquo;[The GPL] is used often as a blunt instrument for enforcing certain economic dynamics around everyone&rsquo;s businesses.&rdquo; Pretty good!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ava&#39;s first day skiing</title>
      <link>https://danielbachhuber.com/avas-first-day-skiing/</link>
      <pubDate>Sun, 21 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/avas-first-day-skiing/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_3419.jpg&#34; alt=&#34;&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;She did great! She started out skiing between my legs, then we took the lift (her first time), and she finished the day doing some &amp;ldquo;turns&amp;rdquo; on her own.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_3419.jpg" alt=""  width="1280"
	height="960"  /></p>
<p>She did great! She started out skiing between my legs, then we took the lift (her first time), and she finished the day doing some &ldquo;turns&rdquo; on her own.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Shedquarters</title>
      <link>https://danielbachhuber.com/shedquarters/</link>
      <pubDate>Fri, 19 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/shedquarters/</guid>
      <description>&lt;p&gt;Projects are never completed. But my shedquarters is now far enough along to share pictures.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_3327-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Behold: the shedquarters.&lt;/p&gt;&#xA;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
      <content:encoded><![CDATA[<p>Projects are never completed. But my shedquarters is now far enough along to share pictures.</p>
<figure>
<p><img src="images/IMG_3327-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Behold: the shedquarters.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3412-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>A quiet space for global domination.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/shedquarterslocation.png" alt=""  width="732"
	height="371"  /></p>
<figcaption>
<p>In this bizzaro-world rendering of my house, my shedquarters is located at the arrow.</p>
</figcaption>
</figure>
<p>&ldquo;What is a shedquarters?&rdquo; you might ask. Well, it&rsquo;s a &ldquo;shed&rdquo; and a &ldquo;headquarters&rdquo; — two in one.</p>
<p>Ironically, I&rsquo;ve had an office for the majority of my remote-work career. First a desk at PIE PDX, then an office sublet at Vadio, then a desk at MobileRQ, and thenan executive office in Tualatin. I&rsquo;ve found physical separation of work and life to be critically important for mental stability.</p>
<p>But then Leah introduced me to the shedquarters concept and I was instantly hooked. It only took me two and a half years to actually do.</p>
<p><img src="images/leah-shedquarters.png" alt=""  width="1070"
	height="185"  /></p>
<p>You can build a shedquarters too!</p>
<p>There are a million and one different things I learned the hard way that you can learn the hard way too. And, like every project, it&rsquo;ll go over budget and take longer than expected:</p>
<ul>
<li>June 2017 - Ordered Tuff Shed.</li>
<li>August 2017 - Tuff Shed installed.</li>
<li>August 2017 - Scheduled electrician.</li>
<li>September 2017 - Electrical installed, part 1.</li>
<li>October 2017 - Did drywall, mud, texture, paint.</li>
<li>November 2017 - Electrical installed, part 2.</li>
<li>December 2017 - Trimmed interior (windows and moulding).</li>
<li>January 2018 - Hung artwork and called the shedquarters done-enough.</li>
</ul>
<p>Total hours: lots.</p>
<h2 id="planning-your-shedquarters">Planning your shedquarters</h2>
<p>Before you break ground, you&rsquo;ll need to plan everything out. There are a few different ways to go when building a structure:</p>
<ul>
<li>Hire an architect to design something for you (<del>$15k). Once you have the design, hire a general contractor to deal with building it (</del>$15k). I considered this route for a hot second.</li>
<li>Purchase some prefabricated option (~$10-20k). I looked at <a href="http://www.modern-shed.com/">Modern Shed</a> and decided against because I read some reviews about mold issues in rainy Pacific Northwest. I also wasn&rsquo;t sold on the look.</li>
<li>Purchase a 9&rsquo;x8&rsquo; Tuff Shed, have it installed, and finish the interior yourself ($8,556.84) &lt;-&lt;-&lt;-&lt;- This is what I did!</li>
<li>Build the entire structure yourself from scratch (~$2-4k). Probably a bad idea unless you&rsquo;ve done it before. I decided I wanted to start with a structurally sound, waterproof exterior.</li>
</ul>
<p>When planning your shedquarters, you&rsquo;ll also need to clear any local building codes. Pro tip: Call your city&rsquo;s engineering department and explain what you&rsquo;re up to. They were quite helpful my case. For Tualatin, I needed to make sure the shedquarters was 5&rsquo; or more from the property line, and that the total footprint of all structures didn&rsquo;t exceed 45% of the lot.</p>
<p>Also important to note: my shedquarters is free-standing (i.e. not connected to my house). Connecting something to a house is considered an addition to the house and subject to all sorts of building codes.</p>
<p>Before you complete any of the prep work, you need to pick your building site. I cheated by getting rid of our hot tub, thus freeing up its concrete pad and electrical connection. Unless you cheat too, you&rsquo;ll need to work out these details.</p>
<h2 id="building-the-tuff-shed">Building the Tuff Shed</h2>
<p>For better or for worse, I bought a prefab structure from <a href="https://www.tuffshed.com/">Tuff Shed</a> using their web-based Build-A-Quote tool.</p>
<p>I say &ldquo;for better&rdquo; because I&rsquo;m really happy with how it turned out; having the shedquarters fit aesthetically was very important. I say &ldquo;for worse&rdquo; because the installation experience was laughably bad; Tuff Shed probably lost a ton of money on me.</p>
<p>Fire up the ol&rsquo; web browser and use <a href="https://www.tuffshed.com/products/#/configurator/">Tuff Shed&rsquo;s Build-A-Quote tool</a> to design your shed.</p>
<figure>
<p><img src="images/IMG_1866.png" alt=""  width="1152"
	height="467"  /></p>
<figcaption>
<p>Tuff Shed&rsquo;s Build-A-Quote made it easy to visually place the structure.</p>
</figcaption>
</figure>
<p>Once I placed my order, it took Tuff Shed ~8 weeks to come and install it. The first installation attempt failed because the sales guy failed to adequately inform me what I needed to do to prepare the building site. The second installation day went fine, except for the defects I discovered after the fact.</p>
<figure>
<p><img src="images/IMG_1990-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Step 1: Place the base.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_1991-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Step 2: Build some walls.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_2009-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Step 3: Done!</p>
</figcaption>
</figure>
<p>Once the Tuff Shed installation was complete, I had a paint-matched building shell that fit aesthetically within the context of our backyard. However, it wasn&rsquo;t <em>truly</em> complete because there were four remaining issues:</p>
<ul>
<li>The door was damaged on arrival. Then, the second door was damaged at the shop. The third door installed just fine.</li>
<li>A trim piece was missing from the kit&hellip;</li>
<li>&hellip; which also meant they couldn&rsquo;t finish the trim paint.</li>
<li>The main 3x3 window was installed at a 4 degree angle (i.e. not level nor visually level). &ldquo;Fixing&rdquo; this was a serious half-day job.</li>
</ul>
<p>It somehow took Tuff Shed six additional weeks to fix these issues.</p>
<p>Don&rsquo;t get me wrong — I&rsquo;ve heard good things about Tuff Shed and am very pleased with the value and the end result. The entire process was comical though.</p>
<h2 id="finishing-the-interior">Finishing the interior</h2>
<p>A shed does not make a shedquarters. You&rsquo;ll need to finish the interior too. Namely, this means:</p>
<ul>
<li>Insulation (easy).</li>
<li>Drywall (easy), mud (hard), and texture (harder).</li>
<li>Electrical (hire a pro).</li>
<li>Flooring (easy).</li>
<li>Trimming windows (hard) and moulding (easy).</li>
</ul>
<p>Thanks to the help of patient friends and family, I learned how to do all of this myself. Notably, texturing walls was an absolute beast. Don&rsquo;t use spray cans like I did; buy a proper sprayer and hopper.</p>
<figure>
<p><img src="images/IMG_2980-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>R13 baby. If you look closely, you&rsquo;ll notice I stapled the insulation incorrectly.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3019-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Jordan helped me hang drywall and apply mud.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3134-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Late night painting session. Drywall is a thirsty wall.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3166-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Fake Pine vinyl flooring was A+ easy to install and looks really good.</p>
</figcaption>
</figure>
<figure>
<p><img src="images/IMG_3309-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<figcaption>
<p>Paul helped me box and trim the windows, and install moulding.</p>
</figcaption>
</figure>
<h2 id="whats-next">What&rsquo;s next</h2>
<p>Like every project, the shedquarters is never complete.</p>
<p>For instance, I originally installed a <a href="https://climateright.com/climateright-5000-btu-a-c-heater-2.html">ClimateRight 5000 BTU A/C and heater</a>. It works well-enough, but I don&rsquo;t want to leave it running all the time in the winter. But, if I don&rsquo;t leave it running, the shedquarters can drop below freezing. After toying with the idea of reverse-engineering ClimateRight&rsquo;s proprietary thermostat port so I could connect a Nest&hellip; I took the lo-tech approach of installing a secondary <a href="https://www.homedepot.com/p/Cadet-EnergyPlus-1600-Watt-120-240-Volt-In-Wall-Electric-Wall-Heater-in-White-CEC163TW/206750445">Cadet heater</a>. Boom — now I have two heaters!</p>
<p>Similarly, our previous two-unit TP-Link wifi network sucked in the shed. I would have to switch to the 2.4G Hz network every time I went out to the shedquarters to avoid packet loss, etc. After anguishing over the hassle of running a wired connection, I decided to try <a href="https://www.amazon.com/Google-Wifi-system-set-replacement/dp/B01MAW2294">Google WiFi</a> (mesh network). IT WORKS LIKE MAGIC! MAGIC DUST SPRINKLED IN THE AIR! So that problem is solved too.</p>
<p>Upcoming enhancements to the shedquarters include:</p>
<ul>
<li>Full-width desk, with a cutout for my existing sit-stand desk.</li>
<li>Killer speaker system the neighbors will love.</li>
<li>Video conferencing system from the future.</li>
</ul>
<p>There&rsquo;s no end to the amount of money I can dump into it! For now though, I&rsquo;m pretty happy with my end result and what I learned along the way.</p>
<hr>
<p>Have a question? Feel free to leave a comment or reach out directly. I didn&rsquo;t find a ton of DIY info online, so happy to help out the next person.</p>]]></content:encoded>
    </item>
    <item>
      <title>Analysis of distributed host testing failures</title>
      <link>https://danielbachhuber.com/analysis-of-distributed-host-testing-failures/</link>
      <pubDate>Wed, 17 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/analysis-of-distributed-host-testing-failures/</guid>
      <description>&lt;p&gt;Since August, several WordPress hosts have been running the WordPress PHPUnit test suite on their infrastructure. &lt;a href=&#34;https://make.wordpress.org/hosting/2017/08/25/announcing-beta-period-for-distributed-host-testing/&#34;&gt;Read this post for more background.&lt;/a&gt;﻿&lt;/p&gt;&#xA;&lt;p&gt;In total, six failures have been observed:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://make.wordpress.org/hosting/test-results/r42421/&#34;&gt;r42421 - REST API: Return the proper status code for failed permission callbacks in &lt;code&gt;WP_REST_Server-&amp;gt;dispatch()&lt;/code&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;3 of 3 hosts reported failures.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Travis CI &lt;a href=&#34;https://travis-ci.org/WordPress/wordpress-develop/builds/323301628&#34;&gt;also reported a failure&lt;/a&gt;. Root cause &lt;a href=&#34;https://core.trac.wordpress.org/changeset/42423&#34;&gt;was developer error&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://make.wordpress.org/hosting/test-results/r42037/&#34;&gt;r42037 - Customize: Support instantiation of partials with flat/unwrapped params for parity with controls, sections, and panels in [41726]&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 of 2 hosts reported failures.&lt;/li&gt;&#xA;&lt;li&gt;Travis CI &lt;a href=&#34;https://travis-ci.org/WordPress/wordpress-develop/builds/294287792&#34;&gt;also reported a failure&lt;/a&gt;. Root cause &lt;a href=&#34;https://core.trac.wordpress.org/ticket/38815&#34;&gt;was an unrelated race condition&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://make.wordpress.org/hosting/test-results/r41764/&#34;&gt;r41764 - Widgets: Fix jshint error in media widget&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 of 1 hosts reported failures.&lt;/li&gt;&#xA;&lt;li&gt;Travis CI &lt;a href=&#34;https://travis-ci.org/WordPress/wordpress-develop/builds/283468448&#34;&gt;also reported a failure&lt;/a&gt;. Root cause &lt;a href=&#34;https://core.trac.wordpress.org/changeset/41769&#34;&gt;was developer error&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://make.wordpress.org/hosting/test-results/r41717/&#34;&gt;r41717 - Multisite: Replace calls to &lt;code&gt;refresh_blog_details()&lt;/code&gt; with &lt;code&gt;clean_blog_cache()&lt;/code&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 of 1 hosts reported failures.&lt;/li&gt;&#xA;&lt;li&gt;Travis CI &lt;a href=&#34;https://travis-ci.org/WordPress/wordpress-develop/builds/282875685&#34;&gt;reported a success&lt;/a&gt;. Root cause of host failure is unknown.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://make.wordpress.org/hosting/test-results/r41614/&#34;&gt;r41614 - Users: There is not, in fact, 12345 users on every WordPress installation&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1 of 1 hosts reported failures.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since August, several WordPress hosts have been running the WordPress PHPUnit test suite on their infrastructure. <a href="https://make.wordpress.org/hosting/2017/08/25/announcing-beta-period-for-distributed-host-testing/">Read this post for more background.</a>﻿</p>
<p>In total, six failures have been observed:</p>
<ol>
<li><a href="https://make.wordpress.org/hosting/test-results/r42421/">r42421 - REST API: Return the proper status code for failed permission callbacks in <code>WP_REST_Server-&gt;dispatch()</code></a>
<ul>
<li>
<p>3 of 3 hosts reported failures.</p>
</li>
<li>
<p>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/323301628">also reported a failure</a>. Root cause <a href="https://core.trac.wordpress.org/changeset/42423">was developer error</a>.</p>
</li>
</ul>
</li>
<li><a href="https://make.wordpress.org/hosting/test-results/r42037/">r42037 - Customize: Support instantiation of partials with flat/unwrapped params for parity with controls, sections, and panels in [41726]</a>
<ul>
<li>1 of 2 hosts reported failures.</li>
<li>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/294287792">also reported a failure</a>. Root cause <a href="https://core.trac.wordpress.org/ticket/38815">was an unrelated race condition</a>.</li>
</ul>
</li>
<li><a href="https://make.wordpress.org/hosting/test-results/r41764/">r41764 - Widgets: Fix jshint error in media widget</a>
<ul>
<li>1 of 1 hosts reported failures.</li>
<li>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/283468448">also reported a failure</a>. Root cause <a href="https://core.trac.wordpress.org/changeset/41769">was developer error</a>.</li>
</ul>
</li>
<li><a href="https://make.wordpress.org/hosting/test-results/r41717/">r41717 - Multisite: Replace calls to <code>refresh_blog_details()</code> with <code>clean_blog_cache()</code></a>
<ul>
<li>1 of 1 hosts reported failures.</li>
<li>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/282875685">reported a success</a>. Root cause of host failure is unknown.</li>
</ul>
</li>
<li><a href="https://make.wordpress.org/hosting/test-results/r41614/">r41614 - Users: There is not, in fact, 12345 users on every WordPress installation</a>
<ul>
<li>
<p>1 of 1 hosts reported failures.</p>
</li>
<li>
<p>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/280421546">also reported a failure</a>. Root cause <a href="https://core.trac.wordpress.org/ticket/38741#comment:20">was developer error</a>.</p>
</li>
</ul>
</li>
<li><a href="https://make.wordpress.org/hosting/test-results/r41574/">r41574 - I18N: Merge two similar “Cannot set parent term” error strings</a>
<ul>
<li>
<p>2 of 2 hosts reported failures.</p>
</li>
<li>
<p>Travis CI <a href="https://travis-ci.org/WordPress/wordpress-develop/builds/278799825">also reported a failure</a>. Root case <a href="https://core.trac.wordpress.org/ticket/41637#comment:5">was developer error</a>.</p>
</li>
</ul>
</li>
</ol>
<p>Interesting! But also not very interesting because there&rsquo;s not much to see.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Massive list of links: January 10, 2018</title>
      <link>https://danielbachhuber.com/massive-list-of-links-january-10-2018/</link>
      <pubDate>Wed, 10 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/massive-list-of-links-january-10-2018/</guid>
      <description>&lt;p&gt;In honor of Nat Torkington’s &lt;a href=&#34;https://www.oreilly.com/feed/four-short-links&#34;&gt;Four Short Links&lt;/a&gt;, I present you: a massive list of links.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://prospect.org/article/saving-free-press-private-equity&#34;&gt;Saving the Free Press From Private Equity&lt;/a&gt; (Robert Kuttner &amp;amp; Hildy Zenger) — Scathing critique; never did I realize how significant of a role financiers played. Makes me bullish on the opportunity for local media businesses.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://codingvc.com/when-is-a-dollar-not-a-dollar/&#34;&gt;When is a Dollar not a Dollar?&lt;/a&gt; (Leo Polovets) — Excellent set of evaluation criteria for determining where your service/product fits within your customer&amp;rsquo;s wallet (or whether it does at all).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In honor of Nat Torkington’s <a href="https://www.oreilly.com/feed/four-short-links">Four Short Links</a>, I present you: a massive list of links.</p>
<ol>
<li>
<p><a href="http://prospect.org/article/saving-free-press-private-equity">Saving the Free Press From Private Equity</a> (Robert Kuttner &amp; Hildy Zenger) — Scathing critique; never did I realize how significant of a role financiers played. Makes me bullish on the opportunity for local media businesses.</p>
</li>
<li>
<p><a href="https://codingvc.com/when-is-a-dollar-not-a-dollar/">When is a Dollar not a Dollar?</a> (Leo Polovets) — Excellent set of evaluation criteria for determining where your service/product fits within your customer&rsquo;s wallet (or whether it does at all).</p>
</li>
<li>
<p><a href="http://quillette.com/2017/12/16/romanticizing-hunter-gatherer/">Romanticizing the Hunter-Gatherer</a> (William Buckner) — Not actually the original affluent society, as we’re led to think.</p>
</li>
<li>
<p><a href="http://www.wweek.com/news/city/2017/12/06/6-cities-smarter-than-portland-about-housing/">These 6 Cities Are Smarter Than Portland About Housing</a> (Willamette Week) — Useful set of reference points.</p>
</li>
<li>
<p><a href="http://www.csforall.org/">CSforALL Consortium</a> — Computer literacy/CS education initiative. &ldquo;8% of STEM graduates are in CS, yet 71% of all new STEM jobs are in computing.&rdquo;</p>
</li>
<li>
<p><a href="https://m.signalvnoise.com/how-to-tell-if-a-ceo-is-worth-working-for-e556475da2a0">How to tell if a CEO is worth working for</a> (Claire Lew) — Great questions to ask (e.g. “What would an employee who’s left the company say it’s like to work for you?”).</p>
</li>
<li>
<p><a href="http://www.mrmoneymustache.com/2017/11/22/mr-money-mustache-uber-driver/">Mr. Money Mustache, UBER Driver</a> (Mr. Money Mustache) — No surprise: a highly competitive market means race to the bottom for compensation.</p>
</li>
<li>
<p><a href="https://producthabits.com/shopify-grew-snowboard-shop-10b-commerce-ecosystem/">How Shopify Grew From a Snowboard Shop to a $10B Commerce Ecosystem</a> (Hiten Shah) — Answer: clear alignment between business model and customer success.</p>
</li>
<li>
<p><a href="https://www.bloomberg.com/news/audio/2017-11-17/the-world-s-foremost-expert-explains-how-to-value-stock">The World’s Foremost Expert Explains How To Value Stock</a> (Bloomberg Odd Lots) — Such a clear, understandable explanation.</p>
</li>
<li>
<p><a href="https://www.biggerpockets.com/renewsblog/biggerpockets-podcast-253-recession-resistant-investing-benefits-buying-shopping-centers-david-puchi/">Recession-Resistant Investing &amp; the Benefits of Buying Shopping Centers with David Puchi</a> (BiggerPockets) — Growth trend: buying out individual owners at the end of their careers, and then doing the rehab work they didn&rsquo;t want to do.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Brief WordPress.org plugin directory data analysis</title>
      <link>https://danielbachhuber.com/brief-wordpress-org-plugin-directory-data-analysis/</link>
      <pubDate>Fri, 05 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/brief-wordpress-org-plugin-directory-data-analysis/</guid>
      <description>&lt;p&gt;While working on &lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/4072&#34;&gt;wordpress/gutenberg#4072&lt;/a&gt; today, I was inspired to do some data analysis on the WordPress.org plugin directory.&lt;/p&gt;&#xA;&lt;p&gt;To prepare, I populated a &lt;code&gt;plugins&lt;/code&gt; table with data from the WordPress.org REST API via this &lt;a href=&#34;https://gist.github.com/danielbachhuber/eb918f1a9238761e6bc9ad994426eb51&#34;&gt;plugin-stats.php&lt;/a&gt; script. &lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2018/01/wporg-plugins.sql_.zip&#34;&gt;Download the SQL file&lt;/a&gt; to avoid needing to re-fetch the API data.&lt;/p&gt;&#xA;&lt;p&gt;Based on the initial API request, there are &lt;strong&gt;49,749 total WordPress.org plugins&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Of the entire data set, &lt;strong&gt;only 18,002 plugins have 200 or greater active installs&lt;/strong&gt;. The remaining 31,747 plugins represent an inconsequential number of active installs compared to the total.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>While working on <a href="https://github.com/WordPress/gutenberg/issues/4072">wordpress/gutenberg#4072</a> today, I was inspired to do some data analysis on the WordPress.org plugin directory.</p>
<p>To prepare, I populated a <code>plugins</code> table with data from the WordPress.org REST API via this <a href="https://gist.github.com/danielbachhuber/eb918f1a9238761e6bc9ad994426eb51">plugin-stats.php</a> script. <a href="https://danielbachhuber.com/wp-content/uploads/2018/01/wporg-plugins.sql_.zip">Download the SQL file</a> to avoid needing to re-fetch the API data.</p>
<p>Based on the initial API request, there are <strong>49,749 total WordPress.org plugins</strong>.</p>
<p>Of the entire data set, <strong>only 18,002 plugins have 200 or greater active installs</strong>. The remaining 31,747 plugins represent an inconsequential number of active installs compared to the total.</p>
<p>The 18,002 plugins represent <strong>182,296,500 total active installs</strong>. A WordPress install can have multiple active plugins, so this total isn&rsquo;t unique WordPress installs. Also, we can ignore the remaining ~32k plugins because they would only represent 3,174,700 additional active installs if each plugin had 100 active installs.</p>
<p>Of the total active installs, <strong>168,623,000 (92.5%) are represented by 3,440 plugins</strong> with &gt;=5000 active installs. For that matter, 159,720,000 (87.6%) are represented by 2101 plugins with &gt;=10000 active installs.</p>
<p>It&rsquo;d be interesting to know what percentage of WordPress installs have a plugin not tracked in the WordPress.org plugin directory (e.g. premium or custom).</p>
]]></content:encoded>
    </item>
    <item>
      <title>SW Portland Tech Meetup</title>
      <link>https://danielbachhuber.com/sw-portland-tech-meetup/</link>
      <pubDate>Thu, 04 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sw-portland-tech-meetup/</guid>
      <description>&lt;p&gt;Mike Perham and I started a &lt;a href=&#34;https://www.meetup.com/SW-Portland-Tech&#34;&gt;SW Portland Tech Meetup&lt;/a&gt; because Portland has too much traffic to drive all the way downtown.&lt;/p&gt;&#xA;&lt;p&gt;Our first Afternoon Chat/Hack is &lt;a href=&#34;https://www.meetup.com/SW-Portland-Tech/events/246490082/&#34;&gt;scheduled for Wednesday, January 17th&lt;/a&gt; at the Well &amp;amp; Good Coffee House. If you (or someone you know) can make it to Tigard on a Wednesday afternoon, come join us!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Mike Perham and I started a <a href="https://www.meetup.com/SW-Portland-Tech">SW Portland Tech Meetup</a> because Portland has too much traffic to drive all the way downtown.</p>
<p>Our first Afternoon Chat/Hack is <a href="https://www.meetup.com/SW-Portland-Tech/events/246490082/">scheduled for Wednesday, January 17th</a> at the Well &amp; Good Coffee House. If you (or someone you know) can make it to Tigard on a Wednesday afternoon, come join us!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Forward email newsletters into Feedbin</title>
      <link>https://danielbachhuber.com/forward-email-newsletters-into-feedbin/</link>
      <pubDate>Tue, 02 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/forward-email-newsletters-into-feedbin/</guid>
      <description>&lt;p&gt;Email newsletters are some of the best free content produced by news organizations these days — concise, timely, and devoid of their website&amp;rsquo;s megabytes of advertising JavaScript. However, it&amp;rsquo;s distracting to receive them at random points during the day. I much prefer to manage my news consumption at my own pace.&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, &lt;a href=&#34;https://feedbin.com/&#34;&gt;Feedbin&lt;/a&gt; is two steps ahead of me! You too can use Feedbin&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;https://feedbin.com/blog/2016/02/03/subscribe-to-email-newsletters-in-feedbin/&#34;&gt;Subscribe to Email Newsletters&lt;/a&gt;&amp;rdquo; feature to move your email newsletter subscriptions into RSS. Simply:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Email newsletters are some of the best free content produced by news organizations these days — concise, timely, and devoid of their website&rsquo;s megabytes of advertising JavaScript. However, it&rsquo;s distracting to receive them at random points during the day. I much prefer to manage my news consumption at my own pace.</p>
<p>Fortunately, <a href="https://feedbin.com/">Feedbin</a> is two steps ahead of me! You too can use Feedbin&rsquo;s &ldquo;<a href="https://feedbin.com/blog/2016/02/03/subscribe-to-email-newsletters-in-feedbin/">Subscribe to Email Newsletters</a>&rdquo; feature to move your email newsletter subscriptions into RSS. Simply:</p>
<ol>
<li>
<p>Copy your secret newsletter email address from <a href="https://feedbin.com/settings">feedbin.com/settings</a>.</p>
</li>
<li>
<p>Add your secret newsletter email address as a forwarding email in Gmail.</p>
</li>
<li>
<p>Configure a Gmail filter for each newsletter to auto-forward to Feedbin (and mark as read / archive).</p>
</li>
</ol>
<p>Pretty awesome.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Humanist software development</title>
      <link>https://danielbachhuber.com/humanist-software-development/</link>
      <pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/humanist-software-development/</guid>
      <description>&lt;p&gt;Three principles to live by:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Humans come first.&lt;/strong&gt; Software exists to serve humans, not the other way around. Design software for your end user, because they are holy and nothing else is sacred.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Pragmatism over purism.&lt;/strong&gt; Consider &lt;em&gt;for whom&lt;/em&gt; you’re optimizing, not for what ideal. Software ideals are false gods when they don’t serve the humans they’re meant to reflect. Choose the most pragmatic implementation over the most correct one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Three principles to live by:</p>
<p><strong>Humans come first.</strong> Software exists to serve humans, not the other way around. Design software for your end user, because they are holy and nothing else is sacred.</p>
<p><strong>Pragmatism over purism.</strong> Consider <em>for whom</em> you’re optimizing, not for what ideal. Software ideals are false gods when they don’t serve the humans they’re meant to reflect. Choose the most pragmatic implementation over the most correct one.</p>
<p><strong>Simplicity over complexity.</strong> The elegance of complex systems is a dangerous mirage. Complex systems are more difficult to maintain over time, more difficult for new people to understand, and more likely to succumb to entropy. Only choose complexity when it yields significant, durable advantages.</p>
]]></content:encoded>
    </item>
    <item>
      <title>STEAM in Oregon</title>
      <link>https://danielbachhuber.com/steam-in-oregon/</link>
      <pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/steam-in-oregon/</guid>
      <description>&lt;p&gt;Variety of assorted programs:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://innovateoregon.org/&#34;&gt;Innovate Oregon&lt;/a&gt; - Spearheaded by TAO with programs in Amity, Dayton, Newberg, Willamina, and Yamhill-Carlton.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://oregon.tie.org/tye-oregon-youth/&#34;&gt;TiE Young Entrepreneurs&lt;/a&gt; - School year program with state competition in May.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.tualatinmakerspace.org/&#34;&gt;Tualatin Mobile Makerspace&lt;/a&gt; - Product of the &lt;a href=&#34;https://americasbestcommunities.com/&#34;&gt;ABC competition&lt;/a&gt; that&amp;rsquo;s now transforming to a Tualatin STEAM non-profit.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ortop.org/&#34;&gt;Oregon Robotics Program&lt;/a&gt; - Amazingly broken website. Implements &lt;em&gt;FIRST&lt;/em&gt; programs in Oregon.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://oregonmesa.org/&#34;&gt;Oregon MESA&lt;/a&gt; - Year-long program run out of PSU focusing on underrepresented middle and high-school students.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Variety of assorted programs:</p>
<ul>
<li>
<p><a href="http://innovateoregon.org/">Innovate Oregon</a> - Spearheaded by TAO with programs in Amity, Dayton, Newberg, Willamina, and Yamhill-Carlton.</p>
</li>
<li>
<p><a href="http://oregon.tie.org/tye-oregon-youth/">TiE Young Entrepreneurs</a> - School year program with state competition in May.</p>
</li>
<li>
<p><a href="http://www.tualatinmakerspace.org/">Tualatin Mobile Makerspace</a> - Product of the <a href="https://americasbestcommunities.com/">ABC competition</a> that&rsquo;s now transforming to a Tualatin STEAM non-profit.</p>
</li>
<li>
<p><a href="https://ortop.org/">Oregon Robotics Program</a> - Amazingly broken website. Implements <em>FIRST</em> programs in Oregon.</p>
</li>
<li>
<p><a href="https://oregonmesa.org/">Oregon MESA</a> - Year-long program run out of PSU focusing on underrepresented middle and high-school students.</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Open source is debt</title>
      <link>https://danielbachhuber.com/open-source-is-debt/</link>
      <pubDate>Fri, 15 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-is-debt/</guid>
      <description>&lt;p&gt;An idea I&amp;rsquo;d like to throw in the wild.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Open source&lt;/em&gt; is software businesses use to shorten time to market and accelerate their product. Some businesses &lt;a href=&#34;https://medium.com/@nayafia/i-hate-the-term-open-source-a65fd481a95&#34;&gt;build and collaborate in public&lt;/a&gt; because it&amp;rsquo;s a leverage &lt;a href=&#34;https://allisonrandal.com/2017/11/25/capabilities-for-open-source-innovation-background/&#34;&gt;strategy to get more from less&lt;/a&gt;. Most businesses maximize their use of open source software because they get it for &amp;ldquo;free&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Debt&lt;/em&gt; is the financial term, stolen for the sake of illustrating a concept.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Open source is debt&lt;/em&gt; because:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>An idea I&rsquo;d like to throw in the wild.</p>
<p><em>Open source</em> is software businesses use to shorten time to market and accelerate their product. Some businesses <a href="https://medium.com/@nayafia/i-hate-the-term-open-source-a65fd481a95">build and collaborate in public</a> because it&rsquo;s a leverage <a href="https://allisonrandal.com/2017/11/25/capabilities-for-open-source-innovation-background/">strategy to get more from less</a>. Most businesses maximize their use of open source software because they get it for &ldquo;free&rdquo;.</p>
<p><em>Debt</em> is the financial term, stolen for the sake of illustrating a concept.</p>
<p><em>Open source is debt</em> because:</p>
<ul>
<li>
<p>Open source software is not a sellable asset. It&rsquo;s both priceless and devoid of monetary value. What counts is the business value it enables.</p>
</li>
<li>
<p>The liability, and effort required to service this liability, grows as: 1) the software gains users, and 2) those users become more dependent the software. Support is a variable accelerant to the liability (e.g. it can grow the liability at an exponential rate).</p>
</li>
<li>
<p>Maintainers hold the debt liability. Their ongoing labor is required to service the debt. Typically, maintainers can only escape the obligation by declaring bankruptcy: &ldquo;it&rsquo;s done&rdquo; or &ldquo;I&rsquo;m done.&rdquo;</p>
</li>
</ul>
<p>This idea could be helpful framing for:</p>
<ul>
<li>Businesses to understand their dependency on open source in CFO-friendly terms.</li>
<li>Communities to understand the debt burden carried by maintainers, and general health of the project.</li>
</ul>
<p>Another, possibly more correct, way of thinking about this is: &ldquo;every line of source code, open or closed, is a liability.&rdquo; Businesses own 100% of their closed source liability. They like open source because they would rather own 0% of the liability.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Specific challenges to hiring remote employees in India</title>
      <link>https://danielbachhuber.com/specific-challenges-to-hiring-remote-employees-in-india/</link>
      <pubDate>Fri, 15 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/specific-challenges-to-hiring-remote-employees-in-india/</guid>
      <description>&lt;p&gt;A few interesting points that have come up in recent conversations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Remote work has significant cultural stigma.&lt;/strong&gt; It isn&amp;rsquo;t yet a mainstream activity in India, so it&amp;rsquo;s looked upon with negativity. For instance, the maid will come over and ask &amp;ldquo;why aren&amp;rsquo;t you at the office? are you sick?&amp;rdquo;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Infrastructure isn&amp;rsquo;t yet eventually distributed.&lt;/strong&gt; Moderately reliable internet at the office costs 100x what most pay for internet at home. Even the most expensive home internet (5x baseline) can still be inconsistent.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few interesting points that have come up in recent conversations:</p>
<ul>
<li>
<p><strong>Remote work has significant cultural stigma.</strong> It isn&rsquo;t yet a mainstream activity in India, so it&rsquo;s looked upon with negativity. For instance, the maid will come over and ask &ldquo;why aren&rsquo;t you at the office? are you sick?&rdquo;</p>
</li>
<li>
<p><strong>Infrastructure isn&rsquo;t yet eventually distributed.</strong> Moderately reliable internet at the office costs 100x what most pay for internet at home. Even the most expensive home internet (5x baseline) can still be inconsistent.</p>
</li>
<li>
<p><strong>Working from home has a space constraint.</strong> An entire family of five to six people could be living in 400 square feet.</p>
</li>
<li>
<p><strong>Labor laws favor full-time employment over contracting.</strong> For instance, Indian law requires six months paid leave for mothers. Contractors aren&rsquo;t afforded similar benefits.</p>
</li>
</ul>
<p>Remote work in India works best among the &ldquo;intellectual elite&rdquo;, but this is still a small percentage of the total engineering talent.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Landing Gutenberg in WordPress 5.0</title>
      <link>https://danielbachhuber.com/landing-gutenberg-in-wordpress-5-0/</link>
      <pubDate>Thu, 07 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/landing-gutenberg-in-wordpress-5-0/</guid>
      <description>&lt;p&gt;&lt;em&gt;Some incomplete ideas I&amp;rsquo;ve been noodling on that I want to make public.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ultimately, the goal is: &lt;strong&gt;the vast majority of WordPress users are excited and should be able to use Gutenberg on day one.&lt;/strong&gt; Fundamentally, this breaks down into two objectives:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Make the end-user experience is so good that WordPress users actively want to switch to it.&lt;/strong&gt; We need to continue user testing as we have been, and iterate based on real user feedback. We also need to &lt;em&gt;market&lt;/em&gt; Gutenberg — communicate what users should expect and get them appropriately excited.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>Some incomplete ideas I&rsquo;ve been noodling on that I want to make public.</em></p>
<p>Ultimately, the goal is: <strong>the vast majority of WordPress users are excited and should be able to use Gutenberg on day one.</strong> Fundamentally, this breaks down into two objectives:</p>
<ol>
<li>
<p><strong>Make the end-user experience is so good that WordPress users actively want to switch to it.</strong> We need to continue user testing as we have been, and iterate based on real user feedback. We also need to <em>market</em> Gutenberg — communicate what users should expect and get them appropriately excited.</p>
</li>
<li>
<p><strong>Mitigate WordPress plugin and theme incompatibilities, to minimize conflicts that would cause WordPress to fall back to the classic editor.</strong> Success is defined by the majority of WordPress users being able to use Gutenberg on day one. If too many can&rsquo;t use Gutenberg because of conflicts, then we&rsquo;ve failed at launch.</p>
</li>
</ol>
<p>I&rsquo;ve been brainstorming some strategies for the latter, which really is two parts: identification and mitigation.</p>
<p>First, we need to identify the true extent of the problem: what plugins and themes are incompatible with Gutenberg, and in what ways are each incompatible? Some automated ways we can produce this data includes:</p>
<ul>
<li>
<p>Manual/automated analysis of action and filters usage, etc.</p>
</li>
<li>
<p>Activate each in an isolated environment and take before/after screenshots of the editor screen.</p>
</li>
</ul>
<p>But, I&rsquo;m thinking good ol&rsquo; fashioned crowd-sourcing might be most effective. What if WordPress users had an easy way to report whether a given plugin or theme was compatible with Gutenberg? We could collect this data in aggregate to get a good sense of what types of incompatibilities we should expect, and where we should focus our efforts.</p>
<p>Once we&rsquo;ve identified the plugin and theme conflicts, we&rsquo;ll need to mitigate them. Doing so will require excellent documentation, so authors more easily understand the changes they&rsquo;ll need to make, and deputizing other developers to help with the outreach process.</p>
]]></content:encoded>
    </item>
    <item>
      <title>AI is coming</title>
      <link>https://danielbachhuber.com/ai-is-coming/</link>
      <pubDate>Wed, 06 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ai-is-coming/</guid>
      <description>&lt;p&gt;A few recent podcasts that caught my interest:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.indiehackers.com/podcast/038-dawson-whitfield-of-logojoy&#34;&gt;When Your Side Project Blows Up with Dawson Whitfield of Logojoy&lt;/a&gt;. Logojoy is an online logo creator that uses machine learning to create the perfect logo for you. &amp;ldquo;Meh, this isn&amp;rsquo;t AI,&amp;rdquo; you might say. Doesn&amp;rsquo;t matter — it has the same disruptive impact. Can you imagine when machine learning can create your website for you?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://a16z.com/2017/12/01/optimization-ai-in-practice/&#34;&gt;a16z Podcast: AI, from ‘Toy’ Problems to Practical Application&lt;/a&gt;. The VC-backed tech startup world is focusing on operationalizing technology that already exists.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few recent podcasts that caught my interest:</p>
<ul>
<li>
<p><a href="https://www.indiehackers.com/podcast/038-dawson-whitfield-of-logojoy">When Your Side Project Blows Up with Dawson Whitfield of Logojoy</a>. Logojoy is an online logo creator that uses machine learning to create the perfect logo for you. &ldquo;Meh, this isn&rsquo;t AI,&rdquo; you might say. Doesn&rsquo;t matter — it has the same disruptive impact. Can you imagine when machine learning can create your website for you?</p>
</li>
<li>
<p><a href="https://a16z.com/2017/12/01/optimization-ai-in-practice/">a16z Podcast: AI, from ‘Toy’ Problems to Practical Application</a>. The VC-backed tech startup world is focusing on operationalizing technology that already exists.</p>
</li>
<li>
<p><a href="https://tim.blog/2017/11/30/managing-procrastination-predicting-the-future-and-finding-happiness/">Managing Procrastination, Predicting the Future, and Finding Happiness – Tim Urban</a>. Normally, Tim Ferriss bugs the heck out of me. Tim Urban on the other hand (founder of <a href="https://waitbutwhy.com/">Wait But Why</a>) is like an intellectual Elon Musk. Part of their conversation discussed the long view Urban takes on the topics he writes about — &ldquo;all the way back to the Big Bang.&rdquo; Given the long view, and how _much_﻿ society changed in the last 50 years, it&rsquo;s easy to see how bad humans are at predicting change.</p>
</li>
</ul>
<p>&ldquo;But Daniel, none of these links are conclusive proof that AI is coming.&rdquo;</p>
<p>No, the AI apocalypse hasn&rsquo;t happened yet. But, the pace of change is stunning and we can&rsquo;t reliably forecast more than six months out (if that).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Seeking hard problems</title>
      <link>https://danielbachhuber.com/seeking-hard-problems/</link>
      <pubDate>Tue, 28 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/seeking-hard-problems/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s that time of year again (where my schedule empties out), so I find myself in search of a _really hard problem_﻿ to work on. Some problems that have piqued my interest:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Affordable housing.&lt;/strong&gt; Did you know that affordable housing is defined as paying 30% of income or less on housing? And did you know that Washington County, where Tualatin is located, has a gap of ~14,500 houses and growing? I didn&amp;rsquo;t either until about five months ago. Even if you can still afford your housing, this is a problem the entire socio-economic spectrum should be working on.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s that time of year again (where my schedule empties out), so I find myself in search of a _really hard problem_﻿ to work on. Some problems that have piqued my interest:</p>
<ul>
<li>
<p><strong>Affordable housing.</strong> Did you know that affordable housing is defined as paying 30% of income or less on housing? And did you know that Washington County, where Tualatin is located, has a gap of ~14,500 houses and growing? I didn&rsquo;t either until about five months ago. Even if you can still afford your housing, this is a problem the entire socio-economic spectrum should be working on.</p>
</li>
<li>
<p><strong>Government technology.</strong> The <a href="https://www.usds.gov/">USDS</a> is really cool and having an amazing impact. You should listen to Jennifer Pahlka&rsquo;s SALT talk, &ldquo;<a href="http://longnow.org/seminars/02017/feb/01/fixing-government-bottom-and-outside/">Fixing Government: Bottom Up and Outside In</a>&rdquo;. I wish there was a similar initiative in Oregon. Is there one?</p>
</li>
<li>
<p><strong>Landing Gutenberg in WordPress 5.0.</strong> <a href="https://wordpress.org/gutenberg/">Gutenberg</a> is a revolutionary editing interface. So revolutionary, in fact, that it&rsquo;s one of the worst-rated plugins in the WordPress.org directory. Getting from where we are now to happily shipped in core is going to be a challenging, multi-faceted initiative.</p>
</li>
</ul>
<p>Let me know if you have any input on these problems, or whether there are others I should be considering!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sunday morning date</title>
      <link>https://danielbachhuber.com/sunday-morning-date/</link>
      <pubDate>Mon, 27 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sunday-morning-date/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_3238.jpg&#34; alt=&#34;&#34;  width=&#34;954&#34;&#xA;&#x9;height=&#34;954&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Leif Erikson from Thurman Gate to Alder trail to Wildwood and back down. Perfect way to spend a Sunday morning.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_3238.jpg" alt=""  width="954"
	height="954"  /></p>
<p>Leif Erikson from Thurman Gate to Alder trail to Wildwood and back down. Perfect way to spend a Sunday morning.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hazelbrook Middle School part of Tualatin&#39;s &#39;STEAM pipeline&#39;</title>
      <link>https://danielbachhuber.com/hazelbrook-middle-school-part-of-tualatins-steam-pipeline/</link>
      <pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hazelbrook-middle-school-part-of-tualatins-steam-pipeline/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.pamplinmedia.com/ttt/89-news/378617-265354-hazelbrook-middle-school-part-of-tualatins-steam-pipeline&#34;&gt;Hazelbrook Middle School part of Tualatin&amp;rsquo;s &amp;lsquo;STEAM pipeline&amp;rsquo;&lt;/a&gt;. Look at me, doing something that&amp;rsquo;s not on the computer. Oh wait, I&amp;rsquo;m on the computer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.pamplinmedia.com/ttt/89-news/378617-265354-hazelbrook-middle-school-part-of-tualatins-steam-pipeline">Hazelbrook Middle School part of Tualatin&rsquo;s &lsquo;STEAM pipeline&rsquo;</a>. Look at me, doing something that&rsquo;s not on the computer. Oh wait, I&rsquo;m on the computer.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How to bold a button in Apple News</title>
      <link>https://danielbachhuber.com/how-to-bold-a-button-in-apple-news/</link>
      <pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-to-bold-a-button-in-apple-news/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Update News Preview to latest version.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Reboot computer after News Preview crashes on launch.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open News Preview again, which crashes on launch again.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Accidentally discover new XCode components that need to be installed. Reboot computer again.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open News Preview again, which crashes on launch again.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Commit Apple News JSON changes and test on production.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<ol>
<li>
<p>Update News Preview to latest version.</p>
</li>
<li>
<p>Reboot computer after News Preview crashes on launch.</p>
</li>
<li>
<p>Open News Preview again, which crashes on launch again.</p>
</li>
<li>
<p>Accidentally discover new XCode components that need to be installed. Reboot computer again.</p>
</li>
<li>
<p>Open News Preview again, which crashes on launch again.</p>
</li>
<li>
<p>Commit Apple News JSON changes and test on production.</p>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress needs automated browser/integration/end-to-end testing</title>
      <link>https://danielbachhuber.com/wordpress-needs-automated-integration-testing/</link>
      <pubDate>Thu, 16 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-needs-automated-integration-testing/</guid>
      <description>&lt;p&gt;One thing I love most about WP-CLI is its Behat-based test suite. In fact, if you consider WP-CLI successful at all, I&amp;rsquo;d attribute said success to the test suite.&lt;/p&gt;&#xA;&lt;p&gt;Having a great test suite ensures exceptional build quality because:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It’s easy to write new tests, which means they actually get written.&lt;/li&gt;&#xA;&lt;li&gt;The tests interface with a command in the same manner as users interface with a command, and they describe how the command is expected to work in human-readable terms.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;WordPress should have amazing integration tests too.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One thing I love most about WP-CLI is its Behat-based test suite. In fact, if you consider WP-CLI successful at all, I&rsquo;d attribute said success to the test suite.</p>
<p>Having a great test suite ensures exceptional build quality because:</p>
<ul>
<li>It’s easy to write new tests, which means they actually get written.</li>
<li>The tests interface with a command in the same manner as users interface with a command, and they describe how the command is expected to work in human-readable terms.</li>
</ul>
<p>WordPress should have amazing integration tests too.</p>
<p>Historically, PhantomJS has been the de-facto standard for headless browser testing. PhantomJS is also Yet Another Abandoned Open Source project, and generally a pain to deal with. But we&rsquo;re in luck! Headless Chrome shipped in Chrome 59. It&rsquo;s pretty amazing. For your next side project, try out the <a href="https://github.com/GoogleChrome/puppeteer">Puppeteer library</a>.</p>
<p>Now that we&rsquo;re over the headless browser hurdle, implementing automated browser testing is simply a matter of:</p>
<ol>
<li>Picking a framework. Behat is one option (see <a href="https://wordhat.info/">WordHat</a> for an example), and Codeception is another. I like Behat, but Codeception is based on PHPUnit which might be a perk.</li>
<li>Setting up a Docker container to provide a WordPress install in an isolated environment. For ease of use, Chrome headless could be provided in another container.</li>
<li>Writing some tests. Prior to writing tests though, it would be helpful to plan out all major UX flows we want to cover with tests.</li>
</ol>
<p>In fact, I&rsquo;d argue that integration tests will be key for managing breakage when Gutenberg lands in WordPress core.</p>
<p>What would be really neat is if the test suite supported importing some base &ldquo;state&rdquo;, such that it&rsquo;d be possible to easily run the same test against dozens of scenarios. This would let us perform an experiment where run the test suite against every plugin in the WordPress.org plugin directory.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Titles for blog posts I haven’t written</title>
      <link>https://danielbachhuber.com/titles-blog-posts-havent-written/</link>
      <pubDate>Wed, 15 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/titles-blog-posts-havent-written/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;The many different correct ways to write a WordPress plugin&lt;/li&gt;&#xA;&lt;li&gt;How raising kids has taught me to give zero fucks about open source&lt;/li&gt;&#xA;&lt;li&gt;If you work in tech, income equality is the real problem you should hack on&lt;/li&gt;&#xA;&lt;li&gt;What I&amp;rsquo;ve learned about personal finance in the last year, and how it&amp;rsquo;s completely changed my perspective&lt;/li&gt;&#xA;&lt;li&gt;All of the code I regret to have written&lt;/li&gt;&#xA;&lt;li&gt;Open source is debt, not an asset&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<ul>
<li>The many different correct ways to write a WordPress plugin</li>
<li>How raising kids has taught me to give zero fucks about open source</li>
<li>If you work in tech, income equality is the real problem you should hack on</li>
<li>What I&rsquo;ve learned about personal finance in the last year, and how it&rsquo;s completely changed my perspective</li>
<li>All of the code I regret to have written</li>
<li>Open source is debt, not an asset</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Massive list of links: November 13, 2017</title>
      <link>https://danielbachhuber.com/massive-list-links-november-13-2017/</link>
      <pubDate>Mon, 13 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/massive-list-links-november-13-2017/</guid>
      <description>&lt;p&gt;In honor of Nat Torkington&amp;rsquo;s &lt;a href=&#34;https://www.oreilly.com/feed/four-short-links&#34;&gt;Four Short Links&lt;/a&gt;, I present you: a massive list of links.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://personalmba.com/&#34;&gt;The Personal MBA&lt;/a&gt; (Josh Kaufman) &amp;ndash; As the title implies, everything you&amp;rsquo;d get from a MBA in one book. Except the school name and associated tuition bill, of course.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-IIdrGXMpeE&#34;&gt;The Quarterlife User Manual&lt;/a&gt; (Rob Montz) &amp;ndash; Succinct set of guideposts for those who haven’t figured out their careers yet.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.indiehackers.com/podcast/023-nir-eyal-of-hooked&#34;&gt;Building Habit-Forming Products with Nir Eyal, the Author of &amp;ldquo;Hooked&amp;rdquo;&lt;/a&gt; (The Indie Hackers Podcast) &amp;ndash; Seems sketchy, but actually really useful framing for product development.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://moneyfortherestofus.com/177-business-contributes-income-inequality/&#34;&gt;How Business Contributes To Income Inequality&lt;/a&gt; (Money For The Rest of Us) &amp;ndash; Big companies used to put their customers, employees, and communities first. Now they put their shareholders first. Lo, problems arise.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.echelonfront.com/extremeownership&#34;&gt;Extreme Ownership: How U.S. Navy SEALs Lead and Win&lt;/a&gt; (Jocko Willink and Leif Babin) &amp;ndash; I thought this book would be too bro-y and ended up loving it. If you like action movies at all, you get a two for one: business lessons told in an entertaining way.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://goberoi.com/on-writing-product-roadmaps-a4d72f96326c&#34;&gt;On Writing Product Roadmaps&lt;/a&gt; (Gaurav Oberoi) &amp;ndash; Well-communicated overview to quarterly vs. long-term planning.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://barbajs.org/&#34;&gt;Barba.js&lt;/a&gt; (Luigi De Rosa) &amp;ndash; Single-page app experience without a complex SPA framework.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/the-mission/being-a-startup-founder-is-a-minimum-wage-job-heres-the-proof-cae616a44b99&#34;&gt;Being a Startup Founder is a minimum wage job — Here’s the proof&lt;/a&gt; (Brandon Evans) &amp;ndash; Brutal economics of VC-backed companies.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/@awilkinson/the-power-of-anti-goals-c38f5f46d23c&#34;&gt;The Power of Anti-Goals&lt;/a&gt; (Andrew Wilkinson) &amp;ndash; Instead of focusing on aspirations, prioritize based on avoiding negatives (tired, too busy, etc.).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://brson.github.io/2017/04/05/minimally-nice-maintainer&#34;&gt;The Minimally-nice Open Source Software Maintainer&lt;/a&gt; (Brian Anderson) &amp;ndash; Identified tactics: respond quickly, give thanks, pay a compliment, say &amp;ldquo;yes&amp;rdquo;, be clear about what you expect, admit your mistakes, be effusive.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p>In honor of Nat Torkington&rsquo;s <a href="https://www.oreilly.com/feed/four-short-links">Four Short Links</a>, I present you: a massive list of links.</p>
<ol>
<li><a href="https://personalmba.com/">The Personal MBA</a> (Josh Kaufman) &ndash; As the title implies, everything you&rsquo;d get from a MBA in one book. Except the school name and associated tuition bill, of course.</li>
<li><a href="https://www.youtube.com/watch?v=-IIdrGXMpeE">The Quarterlife User Manual</a> (Rob Montz) &ndash; Succinct set of guideposts for those who haven’t figured out their careers yet.</li>
<li><a href="https://www.indiehackers.com/podcast/023-nir-eyal-of-hooked">Building Habit-Forming Products with Nir Eyal, the Author of &ldquo;Hooked&rdquo;</a> (The Indie Hackers Podcast) &ndash; Seems sketchy, but actually really useful framing for product development.</li>
<li><a href="https://moneyfortherestofus.com/177-business-contributes-income-inequality/">How Business Contributes To Income Inequality</a> (Money For The Rest of Us) &ndash; Big companies used to put their customers, employees, and communities first. Now they put their shareholders first. Lo, problems arise.</li>
<li><a href="https://www.echelonfront.com/extremeownership">Extreme Ownership: How U.S. Navy SEALs Lead and Win</a> (Jocko Willink and Leif Babin) &ndash; I thought this book would be too bro-y and ended up loving it. If you like action movies at all, you get a two for one: business lessons told in an entertaining way.</li>
<li><a href="https://goberoi.com/on-writing-product-roadmaps-a4d72f96326c">On Writing Product Roadmaps</a> (Gaurav Oberoi) &ndash; Well-communicated overview to quarterly vs. long-term planning.</li>
<li><a href="http://barbajs.org/">Barba.js</a> (Luigi De Rosa) &ndash; Single-page app experience without a complex SPA framework.</li>
<li><a href="https://medium.com/the-mission/being-a-startup-founder-is-a-minimum-wage-job-heres-the-proof-cae616a44b99">Being a Startup Founder is a minimum wage job — Here’s the proof</a> (Brandon Evans) &ndash; Brutal economics of VC-backed companies.</li>
<li><a href="https://medium.com/@awilkinson/the-power-of-anti-goals-c38f5f46d23c">The Power of Anti-Goals</a> (Andrew Wilkinson) &ndash; Instead of focusing on aspirations, prioritize based on avoiding negatives (tired, too busy, etc.).</li>
<li><a href="http://brson.github.io/2017/04/05/minimally-nice-maintainer">The Minimally-nice Open Source Software Maintainer</a> (Brian Anderson) &ndash; Identified tactics: respond quickly, give thanks, pay a compliment, say &ldquo;yes&rdquo;, be clear about what you expect, admit your mistakes, be effusive.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Slack is the new email</title>
      <link>https://danielbachhuber.com/slack-is-the-new-email/</link>
      <pubDate>Thu, 02 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/slack-is-the-new-email/</guid>
      <description>&lt;p&gt;Does this look familiar?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Person A [6:37 AM] Please ping me when you are online.&lt;/p&gt;&#xA;&lt;p&gt;Person B [7:42 AM] What&amp;rsquo;s up?&lt;/p&gt;&#xA;&lt;p&gt;Person A [8:56 AM] What do you think about topic X?&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;In case it&amp;rsquo;s not immediately obvious, this conversation is horribly ineffective. It&amp;rsquo;s imprecise, has a high degree of latency, and is hugely wasteful.&lt;/p&gt;&#xA;&lt;p&gt;Email gained a bad reputation because people started abusing it. Slack is the new email because it&amp;rsquo;s become an &amp;ldquo;&lt;a href=&#34;https://m.signalvnoise.com/is-group-chat-making-you-sweat-744659addf7d&#34;&gt;all-day meeting with random participants and no agenda.&lt;/a&gt;&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Does this look familiar?</p>
<blockquote>
<p>Person A [6:37 AM] Please ping me when you are online.</p>
<p>Person B [7:42 AM] What&rsquo;s up?</p>
<p>Person A [8:56 AM] What do you think about topic X?</p></blockquote>
<p>In case it&rsquo;s not immediately obvious, this conversation is horribly ineffective. It&rsquo;s imprecise, has a high degree of latency, and is hugely wasteful.</p>
<p>Email gained a bad reputation because people started abusing it. Slack is the new email because it&rsquo;s become an &ldquo;<a href="https://m.signalvnoise.com/is-group-chat-making-you-sweat-744659addf7d">all-day meeting with random participants and no agenda.</a>&rdquo;</p>
<p>I <a href="https://danielbachhuber.com/2017/05/15/three-new-experimental-life-hacks/">deleted the Slack desktop app a while back</a>. Being signed in to a dozen plus Slack organizations led to notification paralysis — the unread indicator made it impossible to get anything done. Since then, I open the corresponding Slack organization when I&rsquo;m actively working on a given project, and leave it closed otherwise.</p>
<p>But, this approach still has the problem of mentions / direct messages, email notifications, and high latency. Going forward, I&rsquo;m instituting a new policy of encouraging email (or some other async medium) when I&rsquo;m not actively signed in to Slack. If you see me online, feel free to ping me. Otherwise, please use a more appropriate medium.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thank you, Grandpa</title>
      <link>https://danielbachhuber.com/thank-you-grandpa/</link>
      <pubDate>Sat, 28 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thank-you-grandpa/</guid>
      <description>&lt;p&gt;Thank you for your love of the outdoors, because of which I appreciate them too.&lt;/p&gt;&#xA;&lt;p&gt;Thank you for introducing me to dehydrated foods, yet another under appreciated quality of life.&lt;/p&gt;&#xA;&lt;p&gt;Thank you for your strong sense of sensibility. Even though it can be difficult to resist desire, delayed gratification is always more rewarding.&lt;/p&gt;&#xA;&lt;p&gt;Thank you for encouraging higher education. Even though I didn&amp;rsquo;t manage to graduate college, your expectations set a high bar to reach.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Thank you for your love of the outdoors, because of which I appreciate them too.</p>
<p>Thank you for introducing me to dehydrated foods, yet another under appreciated quality of life.</p>
<p>Thank you for your strong sense of sensibility. Even though it can be difficult to resist desire, delayed gratification is always more rewarding.</p>
<p>Thank you for encouraging higher education. Even though I didn&rsquo;t manage to graduate college, your expectations set a high bar to reach.</p>
<p>Thank you for my father. I obviously wouldn&rsquo;t be here today without him. But even more so, I am a strong reflection of him, and he a strong reflection of you. Everything I appreciate and value is a manifestation of your strength of character.</p>
<p>Thank you for my aunts, uncles, and cousins. As I&rsquo;ve grown older, I&rsquo;ve realized how lucky I am to be surrounded by a loving, fun, thoughtful and caring extended family.</p>
<p>Grandpa, you&rsquo;re neither gone nor forgotten.</p>
<p>You&rsquo;re still here with every one of us — in fact, we&rsquo;re inseparable. I know that I can always spend time with you by going mushrooming in the woods, cooking good food for my entire family, and holding myself to higher standards.</p>
<p>I&rsquo;m only 30 and still my time on earth is limited. I&rsquo;ll consider myself successful if I manage to have half the impact you&rsquo;ve had.</p>
<p>Love you, Grandpa.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Regatta 5k: 21:19 official time</title>
      <link>https://danielbachhuber.com/regatta-5k-2119-official-time/</link>
      <pubDate>Sat, 21 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/regatta-5k-2119-official-time/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/Image-1-1024x1024.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ran with my momma and sang happy birthday to her over the PA at the start.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/Image-1-1024x1024.jpg" alt=""  width="1024"
	height="1024"  /></p>
<p>Ran with my momma and sang happy birthday to her over the PA at the start.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Next-generation managed WordPress hosting</title>
      <link>https://danielbachhuber.com/next-generation-managed-wordpress-hosting/</link>
      <pubDate>Sat, 26 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/next-generation-managed-wordpress-hosting/</guid>
      <description>&lt;p&gt;What if there was a managed WordPress company that got rid of its servers altogether, and focused on helping you achieve the best possible results from any infrastructure on the market?&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s how it might work:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;When you sign up for an account, you connect your Google Analytics account, so the service has intelligence about your current traffic patterns.&lt;/li&gt;&#xA;&lt;li&gt;Based on expected resource utilization, the service suggests a server configuration on AWS, Digital Ocean, or Google Cloud Platform. Once you select your preference, the service provisions a WordPress-optimized hosting stack on the provider.&lt;/li&gt;&#xA;&lt;li&gt;As a part of the offering, the service provides a best-in-class object-cache drop-in, CDN-based full-page cache, Elasticsearch integration, etc.&lt;/li&gt;&#xA;&lt;li&gt;Over time, as the service passively monitors the performance of your WordPress instance, it offers suggestions for additional application-level optimizations (think New Relic but with a higher-level understanding of WordPress).&lt;/li&gt;&#xA;&lt;li&gt;Over time, the service also passively monitors your resource spend. If it detects there&amp;rsquo;s a more price-performant option on the market, the service makes it possible to migrate your site to new infrastructure seamlessly. As an example, a client of mine was spending $1k+ per month on Amazon&amp;rsquo;s CloudFront CDN. Now they&amp;rsquo;re spending $20/month on CloudFlare.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The target market is every customer subject to &amp;ldquo;Contact us for a quote&amp;rdquo; pricing (typically $2k/month and up). The service would enable a non-technical company to run their website in the price-performant public cloud without needing to internalize the DevOps cost.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>What if there was a managed WordPress company that got rid of its servers altogether, and focused on helping you achieve the best possible results from any infrastructure on the market?</p>
<p>Here&rsquo;s how it might work:</p>
<ol>
<li>When you sign up for an account, you connect your Google Analytics account, so the service has intelligence about your current traffic patterns.</li>
<li>Based on expected resource utilization, the service suggests a server configuration on AWS, Digital Ocean, or Google Cloud Platform. Once you select your preference, the service provisions a WordPress-optimized hosting stack on the provider.</li>
<li>As a part of the offering, the service provides a best-in-class object-cache drop-in, CDN-based full-page cache, Elasticsearch integration, etc.</li>
<li>Over time, as the service passively monitors the performance of your WordPress instance, it offers suggestions for additional application-level optimizations (think New Relic but with a higher-level understanding of WordPress).</li>
<li>Over time, the service also passively monitors your resource spend. If it detects there&rsquo;s a more price-performant option on the market, the service makes it possible to migrate your site to new infrastructure seamlessly. As an example, a client of mine was spending $1k+ per month on Amazon&rsquo;s CloudFront CDN. Now they&rsquo;re spending $20/month on CloudFlare.</li>
</ol>
<p>The target market is every customer subject to &ldquo;Contact us for a quote&rdquo; pricing (typically $2k/month and up). The service would enable a non-technical company to run their website in the price-performant public cloud without needing to internalize the DevOps cost.</p>
<p>Some existing options include <a href="https://serverpilot.io/">ServerPilot</a> and <a href="https://forge.laravel.com/">Laravel Forge</a>, but neither focus deeply on WordPress.</p>
<p>Crazy?</p>
]]></content:encoded>
    </item>
    <item>
      <title>One simple trick to clean up your WordPress database</title>
      <link>https://danielbachhuber.com/one-simple-trick-clean-wordpress-database/</link>
      <pubDate>Fri, 25 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/one-simple-trick-clean-wordpress-database/</guid>
      <description>&lt;p&gt;Most WordPress sites likely run Akismet, which comes bundled with every new copy. What they probably don&amp;rsquo;t know is that, over time, Akismet will cause your &lt;code&gt;wp_commentmeta&lt;/code&gt; table to balloon in size.&lt;/p&gt;&#xA;&lt;p&gt;Use &lt;code&gt;wp db size --tables&lt;/code&gt; to see the size of all tables:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ wp db size --tables&#xA;+-----------------------+--------+&#xA;| Name                  | Size   |&#xA;+-----------------------+--------+&#xA;| wp_users              | 9 KB   |&#xA;| wp_usermeta           | 66 KB  |&#xA;| wp_posts              | 274 MB |&#xA;| wp_comments           | 48 MB  |&#xA;| wp_links              | 3 KB   |&#xA;| wp_options            | 41 MB  |&#xA;| wp_postmeta           | 25 MB  |&#xA;| wp_terms              | 796 KB |&#xA;| wp_term_taxonomy      | 621 KB |&#xA;| wp_term_relationships | 905 KB |&#xA;| wp_termmeta           | 48 KB  |&#xA;| wp_commentmeta        | 687 MB |&#xA;+-----------------------+--------+&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Whoa! &lt;code&gt;wp_commentmeta&lt;/code&gt; is way larger than I&amp;rsquo;d expect it to be. What&amp;rsquo;s going on there?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Most WordPress sites likely run Akismet, which comes bundled with every new copy. What they probably don&rsquo;t know is that, over time, Akismet will cause your <code>wp_commentmeta</code> table to balloon in size.</p>
<p>Use <code>wp db size --tables</code> to see the size of all tables:</p>
<pre tabindex="0"><code>$ wp db size --tables
+-----------------------+--------+
| Name                  | Size   |
+-----------------------+--------+
| wp_users              | 9 KB   |
| wp_usermeta           | 66 KB  |
| wp_posts              | 274 MB |
| wp_comments           | 48 MB  |
| wp_links              | 3 KB   |
| wp_options            | 41 MB  |
| wp_postmeta           | 25 MB  |
| wp_terms              | 796 KB |
| wp_term_taxonomy      | 621 KB |
| wp_term_relationships | 905 KB |
| wp_termmeta           | 48 KB  |
| wp_commentmeta        | 687 MB |
+-----------------------+--------+
</code></pre><p>Whoa! <code>wp_commentmeta</code> is way larger than I&rsquo;d expect it to be. What&rsquo;s going on there?</p>
<p>Let&rsquo;s take a look at what keys are used:</p>
<pre tabindex="0"><code>$ wp db query &#34;SELECT DISTINCT meta_key FROM wp_commentmeta&#34;
+-----------------------+
| meta_key              |
+-----------------------+
| akismet_result        |
| akismet_history       |
| ERRating              |
| akismet_user_result   |
| akismet_user          |
| akismet_rechecking    |
| akismet_as_submitted  |
| akismet_pro_tip       |
| _wp_trash_meta_status |
| is_customer_note      |
| rating                |
+-----------------------+
</code></pre><p>Hm. Can&rsquo;t quite tell what might be a large one from that set. Let&rsquo;s look at a random comment:</p>
<pre tabindex="0"><code>$ wp comment meta list 659968
+------------+----------------------+-----------------------------------------------------------------------------------------+
| comment_id | meta_key             | meta_value                                                                              |
+------------+----------------------+-----------------------------------------------------------------------------------------+
| 659968     | akismet_result       | true                                                                                    |
| 659968     | akismet_history      | {&#34;time&#34;:1503414726.1497,&#34;event&#34;:&#34;check-spam&#34;}                                           |
| 659968     | akismet_as_submitted | {&#34;comment_author&#34;:&#34;coach handbag tassels embroidery&#34;,&#34;comment_author_email&#34;:&#34;uazetk@gma |
|            |                      | il.com&#34;,&#34;comment_author_url&#34;:&#34;http:\/\/www.bestcoachbag.store\/accordion-zip-wallet-in- |
|            |                      | signature-embossed-leather-p-37.html&#34;,&#34;comment_content&#34;:&#34;Hi, i think that i saw you vis |
|            |                      | ited my site thus i came to return the favor?I&#39;m attempting to find things to enhance m |
|            |                      | y website!I suppose its ok to use some of your ideas!!&#34;,&#34;comment_type&#34;:&#34;&#34;,&#34;user_ip&#34;:&#34;58 |
|            |                      | .19.83.5&#34;,&#34;user_agent&#34;:&#34;Mozilla\/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozill |
|            |                      | a\/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.0.3705)&#34;,&#34;blog&#34;:&#34;http:\ |
|            |                      | /\/example.com&#34;,&#34;blog_lang&#34;:&#34;en_US&#34;,&#34;blog_charset&#34;:&#34;UTF-8&#34;,&#34;permalink&#34;:&#34;http:\/\/exa |
|            |                      | ple.com\/one-two-three&#34;}                                           |
+------------+----------------------+-----------------------------------------------------------------------------------------+
</code></pre><p>What on Lord&rsquo;s earth? Why is Akismet storing a copy of every comment in comment meta? I wonder how large that is in total:</p>
<pre tabindex="0"><code>$ wp db query &#34;SELECT sum(char_length(meta_value)) FROM wp_commentmeta WHERE meta_key=&#39;akismet_as_submitted&#39;&#34;
+------------------------------+
| sum(char_length(meta_value)) |
+------------------------------+
|                    567045828 |
+------------------------------+
</code></pre><p>Ah, I see. Akismet&rsquo;s <code>akismet_as_submitted</code> entry is 567 MB of the 1 GB total database size. That makes sense.</p>
<p>PS I tried to list the total comments but then I <a href="https://github.com/wp-cli/entity-command/pull/64">ran into a WP-CLI bug</a>. Que será, será.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Meal plan for the next two weeks</title>
      <link>https://danielbachhuber.com/meal-plan-next-two-weeks/</link>
      <pubDate>Sat, 01 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/meal-plan-next-two-weeks/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Saturday: Jason&amp;rsquo;s 3rd birthday party. Pulled pork?&lt;/li&gt;&#xA;&lt;li&gt;Sunday: &lt;a href=&#34;http://www.epicurious.com/recipes/food/views/one-pot-curried-cauliflower-with-couscous-and-chickpeas&#34;&gt;One-Pot Curried Cauliflower with Couscous and Chickpeas&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Monday: &lt;a href=&#34;http://www.myrecipes.com/recipe/soba-noodles&#34;&gt;Soba Noodles with Miso-Glazed Tofu and Vegetables&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tuesday: Traeger chicken, rosemary potatoes, and roasted cauliflower&lt;/li&gt;&#xA;&lt;li&gt;Wednesday: Zucchini pesto pasta with chicken spinach feta sausages and &lt;a href=&#34;https://cooking.nytimes.com/recipes/1013741-all-purpose-biscuits&#34;&gt;biscuits&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Thursday: Coconut fish (p 137) and rice pilau (p 156) from &lt;a href=&#34;https://www.amazon.com/Made-India-Recipes-Indian-Kitchen/dp/1250071011&#34;&gt;Made in India&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Friday: Turkey burgers and sweet potato medallions&lt;/li&gt;&#xA;&lt;li&gt;Saturday: Grilled pizza with cashew cream sauce, grilled onions, asiago cheese, and sundried tomatoes&lt;/li&gt;&#xA;&lt;li&gt;Sunday: TBD&lt;/li&gt;&#xA;&lt;li&gt;Monday: Tamales (&lt;a href=&#34;http://www.delrealfoods.com/products/pork-tamales&#34;&gt;Del Real&lt;/a&gt; from Costco) and &lt;a href=&#34;http://www.onceuponachef.com/2010/08/black-bean-salad-with-corn-red-peppers-avocado-lime-cilantro-vinaigrette.html&#34;&gt;Black Bean Salad with Cilantro Vinaigrette&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tuesday: &lt;a href=&#34;http://paleomg.com/thai-pork-veggie-meatballs/&#34;&gt;Thai Pork &amp;amp; Veggie Meatballs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Wednesday: &lt;a href=&#34;http://www.notenoughcinnamon.com/2012/12/10/20-minute-turkey-chili/&#34;&gt;20-minute Turkey Chili&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Thursday: Caprese sandwiches with fresh bread&lt;/li&gt;&#xA;&lt;li&gt;Friday: TBD&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<ul>
<li>Saturday: Jason&rsquo;s 3rd birthday party. Pulled pork?</li>
<li>Sunday: <a href="http://www.epicurious.com/recipes/food/views/one-pot-curried-cauliflower-with-couscous-and-chickpeas">One-Pot Curried Cauliflower with Couscous and Chickpeas</a></li>
<li>Monday: <a href="http://www.myrecipes.com/recipe/soba-noodles">Soba Noodles with Miso-Glazed Tofu and Vegetables</a></li>
<li>Tuesday: Traeger chicken, rosemary potatoes, and roasted cauliflower</li>
<li>Wednesday: Zucchini pesto pasta with chicken spinach feta sausages and <a href="https://cooking.nytimes.com/recipes/1013741-all-purpose-biscuits">biscuits</a></li>
<li>Thursday: Coconut fish (p 137) and rice pilau (p 156) from <a href="https://www.amazon.com/Made-India-Recipes-Indian-Kitchen/dp/1250071011">Made in India</a></li>
<li>Friday: Turkey burgers and sweet potato medallions</li>
<li>Saturday: Grilled pizza with cashew cream sauce, grilled onions, asiago cheese, and sundried tomatoes</li>
<li>Sunday: TBD</li>
<li>Monday: Tamales (<a href="http://www.delrealfoods.com/products/pork-tamales">Del Real</a> from Costco) and <a href="http://www.onceuponachef.com/2010/08/black-bean-salad-with-corn-red-peppers-avocado-lime-cilantro-vinaigrette.html">Black Bean Salad with Cilantro Vinaigrette</a></li>
<li>Tuesday: <a href="http://paleomg.com/thai-pork-veggie-meatballs/">Thai Pork &amp; Veggie Meatballs</a></li>
<li>Wednesday: <a href="http://www.notenoughcinnamon.com/2012/12/10/20-minute-turkey-chili/">20-minute Turkey Chili</a></li>
<li>Thursday: Caprese sandwiches with fresh bread</li>
<li>Friday: TBD</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>So good</title>
      <link>https://danielbachhuber.com/so-good/</link>
      <pubDate>Fri, 09 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/so-good/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/IMG_1552-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;A limited set (199 in total) will be headed to WordCamp Europe next week for WP-CLI&amp;rsquo;s biggest fans.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/IMG_1552-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>A limited set (199 in total) will be headed to WordCamp Europe next week for WP-CLI&rsquo;s biggest fans.</p>
]]></content:encoded>
    </item>
    <item>
      <title>10 advanced WP-CLI tricks</title>
      <link>https://danielbachhuber.com/10-advanced-wp-cli-tricks/</link>
      <pubDate>Tue, 16 May 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/10-advanced-wp-cli-tricks/</guid>
      <description>&lt;p&gt;These examples are adapted from my &amp;ldquo;WP-CLI: Advanced Usage&amp;rdquo; &lt;a href=&#34;https://workshop.wpvip.com/&#34;&gt;VIP Workshop&lt;/a&gt; presentation last week. I will now only ever use GIFs in slides.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wp-cli-update---nightly&#34;&gt;&lt;code&gt;wp-cli update --nightly&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Live life on the bleeding edge by running latest and greatest version of WP-CLI.&lt;/p&gt;&#xA;&lt;p&gt;The master branch is typically stable enough to use in local and staging environments. Or production too, yolo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/update-nightly.gif&#34; alt=&#34;&#34;  width=&#34;1013&#34;&#xA;&#x9;height=&#34;777&#34;  /&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;wp-scaffold-theme-tests&#34;&gt;&lt;code&gt;wp scaffold theme-tests&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;p&gt;You probably knew you could &lt;a href=&#34;https://developer.wordpress.org/cli/commands/scaffold/plugin-tests/&#34;&gt;scaffold plugin tests&lt;/a&gt;, but you probably didn&amp;rsquo;t know that you could also &lt;a href=&#34;https://developer.wordpress.org/cli/commands/scaffold/theme-tests/&#34;&gt;scaffold theme tests&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>These examples are adapted from my &ldquo;WP-CLI: Advanced Usage&rdquo; <a href="https://workshop.wpvip.com/">VIP Workshop</a> presentation last week. I will now only ever use GIFs in slides.</p>
<h2 id="wp-cli-update---nightly"><code>wp-cli update --nightly</code></h2>
<p>Live life on the bleeding edge by running latest and greatest version of WP-CLI.</p>
<p>The master branch is typically stable enough to use in local and staging environments. Or production too, yolo.</p>
<p><img src="images/update-nightly.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-scaffold-theme-tests"><code>wp scaffold theme-tests</code></h2>
<p>You probably knew you could <a href="https://developer.wordpress.org/cli/commands/scaffold/plugin-tests/">scaffold plugin tests</a>, but you probably didn&rsquo;t know that you could also <a href="https://developer.wordpress.org/cli/commands/scaffold/theme-tests/">scaffold theme tests</a>.</p>
<p><code>wp scaffold theme-tests</code> gives you everything you need to write PHPUnit tests that leverage the WordPress test suite. Specifically:</p>
<ul>
<li><code>bin/install-wp-tests.sh</code> is a setup script to download the WordPress test suite and create the test database.</li>
<li><code>.travis.yml</code> is a configuration file to automatically run your tests every time you push to GitHub (<a href="https://travis-ci.org/">Travis</a> account required).</li>
<li><code>tests/</code> contains the PHPUnit-specific files. You can modify <code>test-sample.php</code> to your liking.</li>
</ul>
<p>Functionally, theme tests are pretty much the same as plugin tests. Check out the generated <code>tests/bootstrap.php</code> file for the secret of how your theme gets loaded into the test suite.</p>
<p><img src="images/theme-tests.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-role-reset"><code>wp role reset</code></h2>
<p>If you&rsquo;ve been monkeying about with core&rsquo;s default roles, <code>wp role reset</code> will set them back to the basics.</p>
<p>Reset a single role, or reset them all with <code>--all</code>.</p>
<p><img src="images/role-reset.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-rewrite-list---matchuri"><code>wp rewrite list --match=&lt;uri&gt;</code></h2>
<p>Rewrite rules are WordPress&rsquo; API for routing URI patterns to <code>WP_Query</code> instances.</p>
<p>For historical reasons, rewrite rules are stored in an option, which means you need to &ldquo;flush&rdquo; (regenerate) rewrite rules any time you register a new one.</p>
<p>The <code>--match=&lt;uri&gt;</code> argument makes it possible to see which rewrite rules match the URI you&rsquo;ve provided, making it simple to debug why your rewrite rule doesn&rsquo;t seem to be working. Because rewrite rules never work the first time.</p>
<p><img src="images/rewrite-list.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-shell"><code>wp shell</code></h2>
<p>Ever wish you could <em>literally write and run PHP code against WordPress</em>?</p>
<p>Well, now you can. Actually, you&rsquo;ve been able to for years.</p>
<p><img src="images/wp-shell.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-site-empty"><code>wp site empty</code></h2>
<p>If you want to delete all content in your WordPress install, but keep users, options, etc., <code>wp site empty</code> is your new best friend.</p>
<p><img src="images/site-empty.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-cron-event-run"><code>wp cron event run</code></h2>
<p>After the Rewrite API, WP Cron is the WordPress developer&rsquo;s second most bane of their existence. It&rsquo;s opaque, buggy, and unreliable.</p>
<p>But, we have to use it, so we may as well make it easier to work with.</p>
<p><img src="images/cron-even-run.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="--prompt"><code>--prompt</code></h2>
<p>There are some commands I still can never remember the arguments for.</p>
<p><code>--prompt</code> works with any WP-CLI command, even those you write yourself, and interactively walks you through all of the arguments you need to complete.</p>
<p><img src="images/prompt.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="wp-cliyml"><code>wp-cli.yml</code></h2>
<p>WP-CLI supports global- and project-based <a href="https://make.wordpress.org/cli/handbook/config/">configuration files</a> to accelerate your workflow.</p>
<p>For instance, if you use the same command with the same arguments over and over again, you can define those arguments as the default arguments for the command.</p>
<p>&ldquo;Ugh, I always have to enter the same username and password when installing WordPress&rdquo;&hellip; no you don&rsquo;t!</p>
<p><img src="images/wp-cli-yml.gif" alt=""  width="1013"
	height="777"  /></p>
<h2 id="bonus">Bonus!</h2>
<p>You must be a WP-CLI master.</p>
<p>Here are four challenges for you to complete (with WP-CLI) in two minutes or less. For the solution, click on the link to see the GIF:</p>
<ul>
<li><a href="https://danielbachhuber.com/wp-content/uploads/2017/05/user-list.gif">Generate a CSV of all administrators.</a></li>
<li><a href="https://danielbachhuber.com/wp-content/uploads/2017/05/delete-posts.gif">Delete all posts, but leave pages.</a></li>
<li><a href="https://danielbachhuber.com/wp-content/uploads/2017/05/wp-shell-challenge.gif">First, activate Akismet with <code>wp plugin activate</code>. Then, deactivate Akismet by editing the serialized <code>active_plugins</code> option.</a></li>
<li><a href="https://danielbachhuber.com/wp-content/uploads/2017/05/xargs.gif">Run <code>wp rewrite flush</code> against all sites in WordPress multisite.</a></li>
<li><a href="https://danielbachhuber.com/wp-content/uploads/2017/05/create-command.gif">Create a new WP-CLI command.</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Three new experimental life hacks</title>
      <link>https://danielbachhuber.com/three-new-experimental-life-hacks/</link>
      <pubDate>Mon, 15 May 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-new-experimental-life-hacks/</guid>
      <description>&lt;p&gt;Three new experimental life hacks I&amp;rsquo;m instituting today:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Waiting until 6 am to begin working.&lt;/strong&gt; For a while now (year or more), I&amp;rsquo;ve been waking up anywhere between 3:30 and 4:30, and diving right into work. Needless to say, this is a recipe for sleep deprivation during the week. By forcing myself to wait until 6 am to work, I&amp;rsquo;m (hopefully) forcing myself to sleep another 45 to 60 minutes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Only using Slack through the web browser.&lt;/strong&gt; Rather than follow every community all the time, I&amp;rsquo;m only going to open each Slack organization as it&amp;rsquo;s relevant to what I&amp;rsquo;m working on. As far as distractions go, Slack is the new Twitter.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Using &lt;a href=&#34;https://heyfocus.com/&#34;&gt;Focus&lt;/a&gt; to limit access to distracting websites and apps.&lt;/strong&gt; I probably should&amp;rsquo;ve done this a while back. I&amp;rsquo;d much rather have 7.5 really productive hours in the day, than 10 moderately productive ones.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>Three new experimental life hacks I&rsquo;m instituting today:</p>
<ul>
<li><strong>Waiting until 6 am to begin working.</strong> For a while now (year or more), I&rsquo;ve been waking up anywhere between 3:30 and 4:30, and diving right into work. Needless to say, this is a recipe for sleep deprivation during the week. By forcing myself to wait until 6 am to work, I&rsquo;m (hopefully) forcing myself to sleep another 45 to 60 minutes.</li>
<li><strong>Only using Slack through the web browser.</strong> Rather than follow every community all the time, I&rsquo;m only going to open each Slack organization as it&rsquo;s relevant to what I&rsquo;m working on. As far as distractions go, Slack is the new Twitter.</li>
<li><strong>Using <a href="https://heyfocus.com/">Focus</a> to limit access to distracting websites and apps.</strong> I probably should&rsquo;ve done this a while back. I&rsquo;d much rather have 7.5 really productive hours in the day, than 10 moderately productive ones.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>New project: Bylines</title>
      <link>https://danielbachhuber.com/new-project-bylines/</link>
      <pubDate>Wed, 19 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-project-bylines/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m working on a new project (the kind you wake up at 3 am to hack on). It&amp;rsquo;s called &lt;a href=&#34;https://bylines.io/&#34;&gt;Bylines&lt;/a&gt;, a modern multi-author publishing plugin for WordPress.&lt;/p&gt;&#xA;&lt;p&gt;MVP is a reincarnation of Co-Authors Plus. From there, I plan to iterate on a feature set relevant to the multi-author publishing workflow.&lt;/p&gt;&#xA;&lt;p&gt;If this sounds useful to you, &lt;a href=&#34;https://bylines.io/&#34;&gt;sign up to be notified&lt;/a&gt; when Bylines is ready for early-access users.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m working on a new project (the kind you wake up at 3 am to hack on). It&rsquo;s called <a href="https://bylines.io/">Bylines</a>, a modern multi-author publishing plugin for WordPress.</p>
<p>MVP is a reincarnation of Co-Authors Plus. From there, I plan to iterate on a feature set relevant to the multi-author publishing workflow.</p>
<p>If this sounds useful to you, <a href="https://bylines.io/">sign up to be notified</a> when Bylines is ready for early-access users.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New co-maintainer: Alain Schlesser</title>
      <link>https://danielbachhuber.com/new-co-maintainer-alain-schlesser/</link>
      <pubDate>Mon, 03 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-co-maintainer-alain-schlesser/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://make.wordpress.org/cli/2017/04/03/new-co-maintainer-alain-thanks-2017-sponsors/&#34;&gt;New co-maintainer: Alain Schlesser&lt;/a&gt;. WP-CLI welcomes its second maintainer, thanks to the support of our 2017 sponsors.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://make.wordpress.org/cli/2017/04/03/new-co-maintainer-alain-thanks-2017-sponsors/">New co-maintainer: Alain Schlesser</a>. WP-CLI welcomes its second maintainer, thanks to the support of our 2017 sponsors.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Tonight&#39;s achievement</title>
      <link>https://danielbachhuber.com/tonights-achievement/</link>
      <pubDate>Tue, 21 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tonights-achievement/</guid>
      <description>&lt;p&gt;Tonight&amp;rsquo;s achievement: I reprogrammed the exterior garage keypad. It only took 45 minutes. And a pro tip: make sure you&amp;rsquo;re reading the correct user manual.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Tonight&rsquo;s achievement: I reprogrammed the exterior garage keypad. It only took 45 minutes. And a pro tip: make sure you&rsquo;re reading the correct user manual.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Managing an open source project</title>
      <link>https://danielbachhuber.com/managing-an-open-source-project/</link>
      <pubDate>Fri, 17 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/managing-an-open-source-project/</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;a href=&#34;http://xavier.borderie.net/&#34;&gt;Xavier Borderie&lt;/a&gt; sent me a series of questions via email about managing an open source project. My responses are primarily from the perspective of managing &lt;a href=&#34;https://wp-cli.org&#34;&gt;WP-CLI&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;how-do-you-organize-dailyweekly-schedules-so-that-community-prs-are-not-forgotten&#34;&gt;How do you organize daily/weekly schedules so that community PRs are not forgotten? &lt;/h3&gt;&#xA;&lt;p&gt;Call me a glutton for punishment, but I receive email notifications for all the GitHub activity of projects I manage. I use email because:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Email is easy to quickly process with keyboard shortcuts.&lt;/li&gt;&#xA;&lt;li&gt;Email keeps track of read/unread state for me.&lt;/li&gt;&#xA;&lt;li&gt;As needed, I can create filters to help manage my information flow.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ultimately, this means I see a pull request as soon as it comes in (or, at least, when I check my email).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em><a href="http://xavier.borderie.net/">Xavier Borderie</a> sent me a series of questions via email about managing an open source project. My responses are primarily from the perspective of managing <a href="https://wp-cli.org">WP-CLI</a>.</em></p>
<h3 id="how-do-you-organize-dailyweekly-schedules-so-that-community-prs-are-not-forgotten">How do you organize daily/weekly schedules so that community PRs are not forgotten? </h3>
<p>Call me a glutton for punishment, but I receive email notifications for all the GitHub activity of projects I manage. I use email because:</p>
<ul>
<li>Email is easy to quickly process with keyboard shortcuts.</li>
<li>Email keeps track of read/unread state for me.</li>
<li>As needed, I can create filters to help manage my information flow.</li>
</ul>
<p>Ultimately, this means I see a pull request as soon as it comes in (or, at least, when I check my email).</p>
<p>When I see the pull request come in, I take some form of action on it. This action is either:</p>
<ul>
<li>Make a judgement as to whether the pull request will be able to land — yes without additional changes, yes with additional changes, or no.</li>
<li>Determine I&rsquo;ll need to set aside dedicated time to review (and make a judgement).</li>
</ul>
<p>In both cases, I respond to the contributor accordingly. In the latter case, I add the code review to my task management tool, and come back to it when I have the bandwidth.</p>
<p>All of this hopefully underscores I think it&rsquo;s important to communicate well, and handle contributions in a timely, effective manner.</p>
<h3 id="how-do-you-manage-with-contributions-which-need-rebasing-amending-andor-tweaking--and-the-contributor-is-silent-for-months">How do you manage with contributions which need rebasing, amending and/or tweaking &ndash; and the contributor is silent for months?</h3>
<p>WP-CLI has a <a href="https://make.wordpress.org/cli/handbook/pull-requests/#abandoned-pull-requests">two-week abandonment policy</a>. If we don&rsquo;t hear from you in two weeks, then we consider the pull request is abandoned.</p>
<p>Usually around day 10, I&rsquo;ll reach out on the thread and as the contributor if they&rsquo;ll be coming back to finish up. They respond most of the time, with either &ldquo;yes, just need another day or two&rdquo; or &ldquo;no, I&rsquo;m too busy now.&rdquo;</p>
<p>When a pull request is abandoned and I want to land the code anyway, I&rsquo;ll fork their branch so they still get credit for the work they&rsquo;ve done and finish it up.</p>
<h3 id="does-every-team-member-manages-herhis-own-time-or-do-you-clock-community-related-work">Does every team member manages her/his own time, or do you clock community-related work?</h3>
<p>My dba, <a href="https://handbuilt.co/">Hand Built</a>, actually just a business of me, myself, and I. In 2015 (<a href="https://danielbachhuber.com/2015/12/30/year-in-review-2015/">the last year I calculated it</a>), I spent 12.26% of my time contributing to open source.</p>
<p>This year, things are bit different. Not only do I get paid (on a part-time basis) to maintain WP-CLI, but I have the budget to eventually hire a couple more part-time maintainers. The first is ramping up right now.</p>
<p>The expectation is that each of us commits an average of five to ten hours per week towards project. The theory is this is enough time to make regular, substantial contributions to the project, while also having enough of a foot in the real world to focus our effort on what&rsquo;s most important. Each person is expected to manage her/his own time, balancing WP-CLI with the rest of their life as they see fit.</p>
<h3 id="what-was-the-impact-of-5-for-the-future-for-you-when-it-was-launched-and-do-you-feel-the-5ff-campaign-is-still-relevantfollowed-today">What was the impact of 5 For the Future for you when it was launched, and do you feel the 5FF campaign is still relevant/followed today?</h3>
<p>For those who aren&rsquo;t in the loop, &ldquo;5 For The Future&rdquo; was/is a <a href="https://ma.tt/2014/09/five-for-the-future/">call by Matt Mullenweg for companies to dedicate 5% of their people towards the WordPress project</a>:</p>
<blockquote>
<p>I think a good rule of thumb that will scale with the community as it continues to grow is that organizations that want to grow the WordPress pie (and not just their piece of it) should <strong>dedicate 5% of their people to working on something to do with core</strong> — be it development, documentation, security, support forums, theme reviews, training, testing, translation or whatever it might be that helps move WordPress mission forward.</p></blockquote>
<p>Personally, I&rsquo;m not sure how much of an impact 5FF <em>specifically</em> had on increasing the labor pool for the WordPress project. It seemed to be more of a one-time rallying cry than anything else.</p>
<p>I don&rsquo;t mean to discount the intent, though. While the WordPress project could certainly benefit from more labor capacity, it certainly has a lot already from a healthy variety of companies. Furthermore, introducing more labor to the project also requires scaling up capacity to direct the labor.</p>
<p>On the other side, five percent of people seems to be a very challenging goal for many companies. If I were to put a number to it, it seems like most companies engaged with open source would be in the one to two percent range.</p>
<p>Which isn&rsquo;t to say it&rsquo;s not important for companies to more effectively support the open source projects they depend on. Contributing to open source is still hard: it&rsquo;s a lot of overhead to stay regularly engaged with a project, and difficult to account for the benefit of the contributions.</p>
]]></content:encoded>
    </item>
    <item>
      <title>San Diego, March 2017</title>
      <link>https://danielbachhuber.com/san-diego-march-2017/</link>
      <pubDate>Fri, 17 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/san-diego-march-2017/</guid>
      <description>&lt;p&gt;Our good friends Shane and Angela are moving to Boston this summer, where Angela&amp;rsquo;s been accepted into Harvard&amp;rsquo;s planning and public policy program. To celebrate the occasion, we took a fun vacation down in sunny San Diego. Highlights included:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Walking to the beach from our &lt;a href=&#34;https://www.airbnb.com/rooms/13716636&#34;&gt;amazing Airbnb home&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Everything happening at Balboa park.&lt;/li&gt;&#xA;&lt;li&gt;Four varieties of grilled pizza (no pictures except the raw ingredients, unfortunately).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_1600-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_1611-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_1653-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Our good friends Shane and Angela are moving to Boston this summer, where Angela&rsquo;s been accepted into Harvard&rsquo;s planning and public policy program. To celebrate the occasion, we took a fun vacation down in sunny San Diego. Highlights included:</p>
<ul>
<li>Walking to the beach from our <a href="https://www.airbnb.com/rooms/13716636">amazing Airbnb home</a>.</li>
<li>Everything happening at Balboa park.</li>
<li>Four varieties of grilled pizza (no pictures except the raw ingredients, unfortunately).</li>
</ul>
<p><img src="images/IMG_1600-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><img src="images/IMG_1611-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><img src="images/IMG_1653-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Down to SF for WONTFIX Cabal</title>
      <link>https://danielbachhuber.com/down-to-sf-for-wontfix-cabal/</link>
      <pubDate>Wed, 15 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/down-to-sf-for-wontfix-cabal/</guid>
      <description>&lt;p&gt;Flying down to SF for the day to attend &lt;a href=&#34;https://maintainerati.org/&#34;&gt;WONTFIX Cabal&lt;/a&gt;, an unconference on open source project maintenance. The topics I&amp;rsquo;m struggling with most right now are: support burden (where to draw the line helping end users), and new feature development (how to decide what gets built). Even though open source has been around a while, it still feels very much like the early days.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Flying down to SF for the day to attend <a href="https://maintainerati.org/">WONTFIX Cabal</a>, an unconference on open source project maintenance. The topics I&rsquo;m struggling with most right now are: support burden (where to draw the line helping end users), and new feature development (how to decide what gets built). Even though open source has been around a while, it still feels very much like the early days.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Commit Messages are about Intent</title>
      <link>https://danielbachhuber.com/commit-messages-are-about-intent/</link>
      <pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/commit-messages-are-about-intent/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://daily.jorb.in/2017/01/23/commit-messages-are-about-intent/&#34;&gt;Commit Messages are about Intent&lt;/a&gt;. They should answer &amp;ldquo;why is this here&amp;rdquo; in as many ways as you can describe.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://daily.jorb.in/2017/01/23/commit-messages-are-about-intent/">Commit Messages are about Intent</a>. They should answer &ldquo;why is this here&rdquo; in as many ways as you can describe.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Map a custom domain with Laravel Valet</title>
      <link>https://danielbachhuber.com/laravel-valet-domain/</link>
      <pubDate>Wed, 11 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/laravel-valet-domain/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://laravel.com/docs/5.3/valet&#34;&gt;Laravel Valet&lt;/a&gt; serves &lt;code&gt;*.dev&lt;/code&gt; domains by default. But what if you need to host hack the production domain to your project? As it turns out, it&amp;rsquo;s easier than you&amp;rsquo;d expect it to be.&lt;/p&gt;&#xA;&lt;p&gt;First, add the record for the domain to your &lt;code&gt;/etc/hosts&lt;/code&gt; file:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo echo &amp;#39;127.0.0.1 my-project.com&amp;#39; &amp;gt;&amp;gt; /etc/hosts&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, in your parked directory, create a symlink with the domain you want to serve:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cd ~/projects/&#xA;$ valet park&#xA;This directory has been added to Valet&amp;#39;s paths.&#xA;$ mkdir my-project&#xA;# my-project.dev is now served by Valet&#xA;$ ln -s my-project my-project.com&#xA;# my-project.com is now served by Valet&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Valet&amp;rsquo;s Nginx configuration handles all requests by default, so don&amp;rsquo;t bother creating a custom Nginx config file. Having it serve your specific domain is only a matter of making sure Valet knows where to find your project directory, given its auto-discovery behavior.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://laravel.com/docs/5.3/valet">Laravel Valet</a> serves <code>*.dev</code> domains by default. But what if you need to host hack the production domain to your project? As it turns out, it&rsquo;s easier than you&rsquo;d expect it to be.</p>
<p>First, add the record for the domain to your <code>/etc/hosts</code> file:</p>
<pre tabindex="0"><code>sudo echo &#39;127.0.0.1 my-project.com&#39; &gt;&gt; /etc/hosts
</code></pre><p>Then, in your parked directory, create a symlink with the domain you want to serve:</p>
<pre tabindex="0"><code>$ cd ~/projects/
$ valet park
This directory has been added to Valet&#39;s paths.
$ mkdir my-project
# my-project.dev is now served by Valet
$ ln -s my-project my-project.com
# my-project.com is now served by Valet
</code></pre><p>Valet&rsquo;s Nginx configuration handles all requests by default, so don&rsquo;t bother creating a custom Nginx config file. Having it serve your specific domain is only a matter of making sure Valet knows where to find your project directory, given its auto-discovery behavior.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing wp doctor v0.1.0</title>
      <link>https://danielbachhuber.com/wp-doctor-v0-1-0/</link>
      <pubDate>Tue, 15 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wp-doctor-v0-1-0/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d like to formally introduce you to &lt;a href=&#34;https://runcommand.io/wp/doctor/&#34;&gt;wp doctor&lt;/a&gt;, runcommand&amp;rsquo;s second premium WP-CLI command. The command is available exclusively to runcommand gold and silver subscribers. You can &lt;a href=&#34;https://runcommand.io/pricing/&#34;&gt;apply today for access&lt;/a&gt;, or read on for more details.&lt;/p&gt;&#xA;&lt;p&gt;Inspired by Pantheon&amp;rsquo;s &lt;a href=&#34;https://github.com/pantheon-systems/wp_launch_check&#34;&gt;WP Launch Check&lt;/a&gt; (credit where credit is due), &lt;code&gt;wp doctor&lt;/code&gt; saves your team hours of time by codifying diagnosis procedures into a series of checks run by WP-CLI. For example, &lt;code&gt;cron-count&lt;/code&gt; is a check to ensure WP Cron hasn’t exploded with jobs:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;d like to formally introduce you to <a href="https://runcommand.io/wp/doctor/">wp doctor</a>, runcommand&rsquo;s second premium WP-CLI command. The command is available exclusively to runcommand gold and silver subscribers. You can <a href="https://runcommand.io/pricing/">apply today for access</a>, or read on for more details.</p>
<p>Inspired by Pantheon&rsquo;s <a href="https://github.com/pantheon-systems/wp_launch_check">WP Launch Check</a> (credit where credit is due), <code>wp doctor</code> saves your team hours of time by codifying diagnosis procedures into a series of checks run by WP-CLI. For example, <code>cron-count</code> is a check to ensure WP Cron hasn’t exploded with jobs:</p>
<p><img src="images/138d9769-d7f0-4bdc-80a9-a822c1987670-1024x142.png" alt="138d9769-d7f0-4bdc-80a9-a822c1987670"  width="1024"
	height="142"  /></p>
<p>Not only does it come with dozens of default checks, <code>wp doctor</code> is designed for extensibility. Easily create a custom <code>doctor.yml</code> file to define additional checks you deem necessary for your system:</p>
<p><img src="images/b09af583-c44a-4ebf-b97c-37224d59a9cf-1024x284.png" alt="b09af583-c44a-4ebf-b97c-37224d59a9cf"  width="1024"
	height="284"  /></p>
<p>If you manage more than a few WordPress installations, <code>wp doctor</code> is your new favorite WP-CLI command.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What I&#39;m thinking about this election season</title>
      <link>https://danielbachhuber.com/what-im-thinking-about-this-election-season/</link>
      <pubDate>Mon, 14 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-im-thinking-about-this-election-season/</guid>
      <description>&lt;p&gt;In the interest of having my thoughts written down and expanded upon somewhere, here I go!&lt;/p&gt;&#xA;&lt;p&gt;I voted Hillary Clinton predominately because I think Donald Trump is a whack job, unfit for President, and that Hillary better represents my social values. Going into Election Day, even though media coverage leaned strongly towards Hillary, my thinking was that I wouldn&amp;rsquo;t be surprised if Trump won. And then he did, and I was surprised, but not really.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the interest of having my thoughts written down and expanded upon somewhere, here I go!</p>
<p>I voted Hillary Clinton predominately because I think Donald Trump is a whack job, unfit for President, and that Hillary better represents my social values. Going into Election Day, even though media coverage leaned strongly towards Hillary, my thinking was that I wouldn&rsquo;t be surprised if Trump won. And then he did, and I was surprised, but not really.</p>
<p>Some people close to me are in the minority groups subject to Trump&rsquo;s hate speech (LGBTQ, non-white). Other people close to me probably voted Trump, although I haven&rsquo;t yet talked to them about it directly.</p>
<p>I&rsquo;m a registered Independent, and would consider myself socially progressive, fiscally conservative, and politically libertarian. In less contentious political arenas, I voted <a href="https://katebrownfororegon.com/">Kate Brown for Governor of Oregon</a>, <a href="https://www.noon97.com/">no to Measure 97</a> (increased corporate income tax), and <a href="http://www.tualatintermlimits.org/">yes to Tualatin City Council term limits</a>.</p>
<p>I don&rsquo;t think Trump won because he&rsquo;s a racist, misogynist, and bigot. I think he won for the same reasons the congressional approval rating is at 13%, voter turnout was 55% (a 20 year low), and I myself have been largely politically apathetic for the majority of my voting career. Most Americans have lost faith in the US government — they don&rsquo;t think their elected politicians are effective representatives of their interests.</p>
<p>I don&rsquo;t think most Trump voters are ignorant, hateful, etc. Given the divisive state of affairs in this country, <em>the only path forward is respect, mutual understanding, and compassion.</em> I&rsquo;ve been <a href="https://medium.com/@omarkamel/im-arab-and-many-of-us-are-glad-that-trump-won-c98e1c6ae891#.1n1bwekzq">sharing</a> <a href="https://medium.com/@omarkamel/im-arab-and-many-of-us-are-glad-that-trump-won-c98e1c6ae891#.1n1bwekzq">op-eds</a> from Trump supporters because I think it&rsquo;s important to listen to their stories. I&rsquo;ve also found these articles illuminating:</p>
<ul>
<li><a href="https://medium.com/@SeanBlanda/the-other-side-is-not-dumb-2670c1294063#.phe7nya9w">The “Other Side” Is Not Dumb</a></li>
<li><a href="http://waitbutwhy.com/2016/11/its-going-to-be-okay.html">It’s Going to Be Okay</a></li>
<li><a href="http://www.factcheck.org/2008/02/the-reason-for-the-electoral-college/">The Reason for the Electoral College</a> (but also <a href="http://www.vox.com/policy-and-politics/2016/11/12/13598316/donald-trump-electoral-college-slavery-akhil-reed-amar">The real reason we have an Electoral College: to protect slave states</a>)</li>
<li><a href="https://hbr.org/2016/11/what-so-many-people-dont-get-about-the-u-s-working-class">What So Many People Don’t Get About the U.S. Working Class</a></li>
</ul>
<p>This morning, my wife and I attended service at <a href="http://whuuf.net/">West Hills Unitarian Universalist Fellowship</a>, my first time at church in years. Reverend Tracy gave an amazing sermon titled &ldquo;<a href="http://whuuf.net/services/the-greatest-epic/">Compassion and Action</a>&rdquo;. The audio will eventually be posted to that link, I think.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WP LCache v0.5.0: The big alloptions breakup</title>
      <link>https://danielbachhuber.com/wp-lcache-v0-5-0/</link>
      <pubDate>Wed, 02 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wp-lcache-v0-5-0/</guid>
      <description>&lt;p&gt;Happy to announce the latest and greatest of WP LCache, [v0.5.0](&lt;a href=&#34;https://github.com/lcache/wp-lcache/releases/tag/v0.5.0)&#34;&gt;https://github.com/lcache/wp-lcache/releases/tag/v0.5.0)&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This release focuses predominantly on splitting WordPress&amp;rsquo; alloptions cache into separate cache keys to mitigate cache pollution caused by race conditions. [Read #31245](&lt;a href=&#34;https://core.trac.wordpress.org/ticket/31245&#34;&gt;https://core.trac.wordpress.org/ticket/31245&lt;/a&gt;) for all of the gory details. Thanks to [Ryan](&lt;a href=&#34;https://twitter.com/rmccue&#34;&gt;https://twitter.com/rmccue&lt;/a&gt;) and [Joe](&lt;a href=&#34;https://twitter.com/joe&#34;&gt;https://twitter.com/joe&lt;/a&gt;_hoyle) for paving the way.&lt;/p&gt;&#xA;&lt;p&gt;If you haven&amp;rsquo;t thought about WP LCache since the [v0.1.0 announcement](&lt;a href=&#34;https://handbuilt.co/2016/09/08/introducing-wp-lcache-v0-1-0/)&#34;&gt;https://handbuilt.co/2016/09/08/introducing-wp-lcache-v0-1-0/)&lt;/a&gt;, you&amp;rsquo;re missing out. WP LCache is faster than other object cache implementations because:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Happy to announce the latest and greatest of WP LCache, [v0.5.0](<a href="https://github.com/lcache/wp-lcache/releases/tag/v0.5.0)">https://github.com/lcache/wp-lcache/releases/tag/v0.5.0)</a>.</p>
<p>This release focuses predominantly on splitting WordPress&rsquo; alloptions cache into separate cache keys to mitigate cache pollution caused by race conditions. [Read #31245](<a href="https://core.trac.wordpress.org/ticket/31245">https://core.trac.wordpress.org/ticket/31245</a>) for all of the gory details. Thanks to [Ryan](<a href="https://twitter.com/rmccue">https://twitter.com/rmccue</a>) and [Joe](<a href="https://twitter.com/joe">https://twitter.com/joe</a>_hoyle) for paving the way.</p>
<p>If you haven&rsquo;t thought about WP LCache since the [v0.1.0 announcement](<a href="https://handbuilt.co/2016/09/08/introducing-wp-lcache-v0-1-0/)">https://handbuilt.co/2016/09/08/introducing-wp-lcache-v0-1-0/)</a>, you&rsquo;re missing out. WP LCache is faster than other object cache implementations because:</p>
<p>* By using APCu, which is in-memory, WP LCache uses the fastest possible persistent object cache backend and avoids costly network connections on every request. When using a Memcached or Redis-based persistent object cache where Memcached or Redis is on a different machine, the millisecond cost of each cache hit can add up to seconds of network transactions on every request. * By incorporating a common L2 cache, WP LCache synchronizes cache data between multiple web nodes. Cache updates or deletes on one node are then applied to all other nodes. Without this synchronization behavior, APCu can&rsquo;t be used in server configurations with multiple web nodes because the cache pool is local to the machine.</p>
<p>Still not convinced? WP LCache has a variety of features no one else has, including native handling of cache groups, meaning you can delete an entire group of keys with `wp_cache_delete_group( $group );`.</p>
<p>Props again to [David Strauss](<a href="https://twitter.com/davidstrauss">https://twitter.com/davidstrauss</a>) for his ongoing work on the LCache library, and to [Pantheon](<a href="https://pantheon.io/">https://pantheon.io/</a>) for sponsoring open source infrastructure.</p>
<p>Install, activate and enable with `wp plugin install &ndash;activate wp-lcache &amp;&amp; wp lcache enable`.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing WP LCache v0.1.0</title>
      <link>https://danielbachhuber.com/introducing-wp-lcache-v0-1-0/</link>
      <pubDate>Thu, 08 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-wp-lcache-v0-1-0/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wordpress.org/plugins/wp-lcache/&#34;&gt;WP LCache&lt;/a&gt; is a new persistent object cache drop-in for WordPress that I&amp;rsquo;ve been working on with the folks at &lt;a href=&#34;https://pantheon.io/&#34;&gt;Pantheon&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;But why another object cache drop-in?&amp;rdquo; you might ask. Because it&amp;rsquo;s faster than &lt;a href=&#34;https://handbuilt.co/2016/04/26/a-persistent-object-cache-is-not-a-panacea/&#34;&gt;the others&lt;/a&gt;, of course.&lt;/p&gt;&#xA;&lt;p&gt;Under the hood, WP LCache uses &lt;a href=&#34;https://github.com/lcache/lcache&#34;&gt;LCache&lt;/a&gt;, a library that applies the tiered caching model of multi-core processors (with local L1 and central L2 caches) to web applications. In this particular configuration, APCu is the L1 cache and the database is the L2 cache.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://wordpress.org/plugins/wp-lcache/">WP LCache</a> is a new persistent object cache drop-in for WordPress that I&rsquo;ve been working on with the folks at <a href="https://pantheon.io/">Pantheon</a>.</p>
<p>&ldquo;But why another object cache drop-in?&rdquo; you might ask. Because it&rsquo;s faster than <a href="https://handbuilt.co/2016/04/26/a-persistent-object-cache-is-not-a-panacea/">the others</a>, of course.</p>
<p>Under the hood, WP LCache uses <a href="https://github.com/lcache/lcache">LCache</a>, a library that applies the tiered caching model of multi-core processors (with local L1 and central L2 caches) to web applications. In this particular configuration, APCu is the L1 cache and the database is the L2 cache.</p>
<p>APCu is the fastest persistent cache backend you can use, because it exists in PHP memory. However, APCu traditionally can&rsquo;t be used on multiple web nodes because each node represents a different cache pool. Because WP LCache has a database-based L2 cache, a cache update or delete on one node is then automatically synchronized to all other nodes.</p>
<p>Props to <a href="https://twitter.com/davidstrauss">David Strauss</a> for his hard work on the LCache library. Thanks to <a href="https://twitter.com/stevector">Steve Persch</a> and <a href="https://twitter.com/outlandishjosh">Josh Koenig</a> for their help with the WordPress implementation.</p>
<p>Feeling adventurous? Install WP LCache from <a href="https://wordpress.org/plugins/wp-lcache/">WordPress.org</a> or <a href="https://github.com/lcache/wp-lcache">Github</a>, and <a href="https://github.com/lcache/wp-lcache/issues">send us feature requests (or bug reports)</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Tips for planning a high school reunion</title>
      <link>https://danielbachhuber.com/tips-for-planning-a-high-school-reunion/</link>
      <pubDate>Sun, 28 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tips-for-planning-a-high-school-reunion/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/14088664_10102205770036158_6194731143975033994_n.jpg&#34; alt=&#34;TuHS class of 2006&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;540&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Having never planned a high school reunion before, here&amp;rsquo;s a non-exhaustive list of things I wish I had known in advance:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pick a date about 9 months in advance, announce it, and then don&amp;rsquo;t think about it for 7 months. You don&amp;rsquo;t need to spend 7 months meeting, discussing, and meeting again. The last two months are sufficient for pulling all of the details together.&lt;/li&gt;&#xA;&lt;li&gt;Convince 5-10 people to volunteer. Even if you think you can do all of the work, getting buy-in from others means there are other people with a vested interest in making the reunion a success.&lt;/li&gt;&#xA;&lt;li&gt;Choose a venue that&amp;rsquo;s a good fit for a high school reunion. We ended up at &lt;a href=&#34;http://ondecksportsbar.com/&#34;&gt;On Deck Sports Bar and Grill&lt;/a&gt;, which regularly hosts reunions. This was awesome, because it meant they already had some of the logistics covered.&lt;/li&gt;&#xA;&lt;li&gt;Rent a couple sets of cornhole. Ladder Golf and giant Jenga are fun too, but cornhole seems to be the winner for parties.&lt;/li&gt;&#xA;&lt;li&gt;Put conversation starters on the name tags. Make them fun, and not offensive, to make them a good entry point into re-meeting someone you haven&amp;rsquo;t talked to in 10 years.&lt;/li&gt;&#xA;&lt;li&gt;As a host, put extra effort into circulating, striking conversations with people, and making people feel welcome. Everyone initially feels super awkward about being a high school reunion. If you can help them break the ice, they&amp;rsquo;ll get into enjoying the party much quicker.&lt;/li&gt;&#xA;&lt;li&gt;Purchase a pony keg to keep the alcohol flowing for those who want to keep drinking after their drink tickets run out. I think offering the pony key was the right balance between not having enough drink tickets, and everyone getting smashed.&lt;/li&gt;&#xA;&lt;li&gt;Put a little bit of effort into decorating to make the venue feel special. We had a banner, &amp;ldquo;Welcome Tualatin High School Class of 2006&amp;rdquo;, and some light decorations at every table.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;We had a ton of fun last Saturday night. I&amp;rsquo;m super glad I volunteered to help out (I wasn&amp;rsquo;t on ASB or anything). And, now I know what&amp;rsquo;s involved for next time!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/14088664_10102205770036158_6194731143975033994_n.jpg" alt="TuHS class of 2006"  width="960"
	height="540"  /></p>
<p>Having never planned a high school reunion before, here&rsquo;s a non-exhaustive list of things I wish I had known in advance:</p>
<ul>
<li>Pick a date about 9 months in advance, announce it, and then don&rsquo;t think about it for 7 months. You don&rsquo;t need to spend 7 months meeting, discussing, and meeting again. The last two months are sufficient for pulling all of the details together.</li>
<li>Convince 5-10 people to volunteer. Even if you think you can do all of the work, getting buy-in from others means there are other people with a vested interest in making the reunion a success.</li>
<li>Choose a venue that&rsquo;s a good fit for a high school reunion. We ended up at <a href="http://ondecksportsbar.com/">On Deck Sports Bar and Grill</a>, which regularly hosts reunions. This was awesome, because it meant they already had some of the logistics covered.</li>
<li>Rent a couple sets of cornhole. Ladder Golf and giant Jenga are fun too, but cornhole seems to be the winner for parties.</li>
<li>Put conversation starters on the name tags. Make them fun, and not offensive, to make them a good entry point into re-meeting someone you haven&rsquo;t talked to in 10 years.</li>
<li>As a host, put extra effort into circulating, striking conversations with people, and making people feel welcome. Everyone initially feels super awkward about being a high school reunion. If you can help them break the ice, they&rsquo;ll get into enjoying the party much quicker.</li>
<li>Purchase a pony keg to keep the alcohol flowing for those who want to keep drinking after their drink tickets run out. I think offering the pony key was the right balance between not having enough drink tickets, and everyone getting smashed.</li>
<li>Put a little bit of effort into decorating to make the venue feel special. We had a banner, &ldquo;Welcome Tualatin High School Class of 2006&rdquo;, and some light decorations at every table.</li>
</ul>
<p>We had a ton of fun last Saturday night. I&rsquo;m super glad I volunteered to help out (I wasn&rsquo;t on ASB or anything). And, now I know what&rsquo;s involved for next time!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Getting the WP REST API endpoints into core</title>
      <link>https://danielbachhuber.com/getting-the-wp-rest-api-endpoints-into-core/</link>
      <pubDate>Wed, 24 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/getting-the-wp-rest-api-endpoints-into-core/</guid>
      <description>&lt;p&gt;The question shouldn&amp;rsquo;t be &amp;ldquo;when will the WP REST API endpoints be committed to core?&amp;rdquo; but rather &amp;ldquo;how can the WordPress project ship solutions to more and better Big Hairy Ambitious Goals?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;If we can solve this organizational design challenge, then landing the WP REST API endpoints, and other large improvements to the project, becomes an &amp;ldquo;easy&amp;rdquo; task (or at least one requiring a known amount of people with a known amount of involvement). If we can&amp;rsquo;t solve this organizational design challenge, then it does us no good to commit the endpoints to WordPress core. My biggest fear is for the endpoints to become another media library.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The question shouldn&rsquo;t be &ldquo;when will the WP REST API endpoints be committed to core?&rdquo; but rather &ldquo;how can the WordPress project ship solutions to more and better Big Hairy Ambitious Goals?&rdquo;</p>
<p>If we can solve this organizational design challenge, then landing the WP REST API endpoints, and other large improvements to the project, becomes an &ldquo;easy&rdquo; task (or at least one requiring a known amount of people with a known amount of involvement). If we can&rsquo;t solve this organizational design challenge, then it does us no good to commit the endpoints to WordPress core. My biggest fear is for the endpoints to become another media library.</p>
<p>Specific to the WP REST API endpoints, I think it&rsquo;s time for WordPress to aggressively pursue the component maintainer model. We need effective, reliable component maintainership to take responsibility for producing quality endpoints for each component.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Using Kickstarter to fund open source</title>
      <link>https://danielbachhuber.com/using-kickstarter-to-fund-open-source/</link>
      <pubDate>Wed, 03 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/using-kickstarter-to-fund-open-source/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://poststatus.com/kickstarter-open-source-project/&#34;&gt;Using Kickstarter to fund open source&lt;/a&gt;. Successfully crowdfunding open source development is difficult, but not impossible. Here are some of the lessons I took away from my Kickstarter project, “A more RESTful WP-CLI.”&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://poststatus.com/kickstarter-open-source-project/">Using Kickstarter to fund open source</a>. Successfully crowdfunding open source development is difficult, but not impossible. Here are some of the lessons I took away from my Kickstarter project, “A more RESTful WP-CLI.”</p>
]]></content:encoded>
    </item>
    <item>
      <title>Biking from Tualatin to Portland for SRCCON</title>
      <link>https://danielbachhuber.com/biking-from-tualatin-to-portland-for-srccon/</link>
      <pubDate>Fri, 29 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/biking-from-tualatin-to-portland-for-srccon/</guid>
      <description>&lt;p&gt;Growing up, I always rode the cheap bike from Costco. I didn&amp;rsquo;t know what it was like to actually &lt;em&gt;enjoy&lt;/em&gt; biking until I ended up with a &lt;a href=&#34;http://www.trekbikes.com/us/en_US/bikes/city-bikes/fitness-bikes/fx/7-3-fx/p/1327010-2016&#34;&gt;Trek 7.3&lt;/a&gt; for my birthday last summer.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://srccon.org/&#34;&gt;SRCCON&lt;/a&gt; is pretty much my favorite conference of all time. The first year was in Philly, and the second year was in Minneapolis. This year, SRCCON ended up in Portland, on my birthday to boot, which meant I could do the unthinkable: attend SRCCON by bike.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Growing up, I always rode the cheap bike from Costco. I didn&rsquo;t know what it was like to actually <em>enjoy</em> biking until I ended up with a <a href="http://www.trekbikes.com/us/en_US/bikes/city-bikes/fitness-bikes/fx/7-3-fx/p/1327010-2016">Trek 7.3</a> for my birthday last summer.</p>
<p><a href="http://srccon.org/">SRCCON</a> is pretty much my favorite conference of all time. The first year was in Philly, and the second year was in Minneapolis. This year, SRCCON ended up in Portland, on my birthday to boot, which meant I could do the unthinkable: attend SRCCON by bike.</p>
<p>As it turns out, there&rsquo;s a great bike path for all but a quarter mile or so of the ride.</p>
<h3 id="tualatin-to-portland">Tualatin to Portland</h3>
<p>From Tualatin Community Park, ride through Cook Park and then along Hall Blvd. You&rsquo;ll go past the Tigard Public Library, over 217, and then eventually end up on Oleson Rd. There&rsquo;s a short jaunt on Garden Home, then you end up on Multnomah Blvd for quite a while. The one sketchy part of the route there is where Multnomah turns into Terwilliger, and you have to bike on the odd combo off/on-ramp. From Terwilliger, you turn right onto Barbur for a short while, then drop down to the waterfront near Willamette Sailing Club. It took me about an hour to get to this point. The waterfront then connects you to whatever part of downtown you want to go to.</p>
<p><img src="images/2016-07-29-at-4.43-PM-1024x809.png" alt="2016-07-29 at 4.43 PM"  width="1024"
	height="809"  /></p>
<h3 id="portland-to-tualatin">Portland to Tualatin</h3>
<p>Surprisingly, Google Maps doesn&rsquo;t just reverse the route for the ride home. Coming from the Pearl, I ended up taking Broadway to Terwilliger, where I <a href="https://www.instagram.com/p/BIdixFNgYUF/">rode in the shade for quite a while</a>. After Terwilliger, you take Capitol Hwy to Multnomah Blvd again, then reverse tracks home.</p>
<p><img src="images/2016-07-29-at-4.43-PM-2-1024x810.png" alt="2016-07-29 at 4.43 PM -2"  width="1024"
	height="810"  /></p>
<p>Awesome way to spend the day!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Product review: Miracle Method</title>
      <link>https://danielbachhuber.com/product-review-miracle-method/</link>
      <pubDate>Sun, 24 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/product-review-miracle-method/</guid>
      <description>&lt;p&gt;Our kids bathtub had a botched repair job by the previous owner that we discovered last November. After calling a couple of fiberglass repair specialists, we learned the bathtub was probably plastic, and we&amp;rsquo;d have to replace the entire tub. Because there&amp;rsquo;s tile around the bathtub too, we sat on our hands for months, hemming and hawing about how expensive it was going to be.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.miraclemethod.com/portland&#34;&gt;Miracle Method&lt;/a&gt; to the rescue! Literally. Our tech, Owen, did an amazing job, and was very professional. He spent an hour more than he planned color matching to our old bathtub. I wish we had found this option sooner, and avoided a good six months of procrastinating.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Our kids bathtub had a botched repair job by the previous owner that we discovered last November. After calling a couple of fiberglass repair specialists, we learned the bathtub was probably plastic, and we&rsquo;d have to replace the entire tub. Because there&rsquo;s tile around the bathtub too, we sat on our hands for months, hemming and hawing about how expensive it was going to be.</p>
<p><a href="http://www.miraclemethod.com/portland">Miracle Method</a> to the rescue! Literally. Our tech, Owen, did an amazing job, and was very professional. He spent an hour more than he planned color matching to our old bathtub. I wish we had found this option sooner, and avoided a good six months of procrastinating.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Product review: Burley Kid&#39;s Honey Bee Trailer</title>
      <link>https://danielbachhuber.com/product-review-burley-kids-honey-bee-trailer/</link>
      <pubDate>Sat, 23 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/product-review-burley-kids-honey-bee-trailer/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m a long-time runner. Growing up, my dad would take me on his runs in a Yakima jogging stroller. When us kids got in trouble, my parents would send us on a run to the end of the block and back. In my teen years, I&amp;rsquo;d skip out on soccer practice to go on 15+ mile runs.&lt;/p&gt;&#xA;&lt;p&gt;Our Bob stroller has been a great investment. But, with the birth of Charlie in December, I needed a way to take both kids running with me. After a few week deliberating on whether we should buy a double Bob and a bike trailer, or if we should spend $800+ on a dual purpose trailer stroller, I&amp;rsquo;m happy to report the much less expensive &lt;a href=&#34;https://www.amazon.com/dp/B00HF4V8KA/&#34;&gt;Burley Honey Bee Trailer&lt;/a&gt; is pretty much the best thing ever.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m a long-time runner. Growing up, my dad would take me on his runs in a Yakima jogging stroller. When us kids got in trouble, my parents would send us on a run to the end of the block and back. In my teen years, I&rsquo;d skip out on soccer practice to go on 15+ mile runs.</p>
<p>Our Bob stroller has been a great investment. But, with the birth of Charlie in December, I needed a way to take both kids running with me. After a few week deliberating on whether we should buy a double Bob and a bike trailer, or if we should spend $800+ on a dual purpose trailer stroller, I&rsquo;m happy to report the much less expensive <a href="https://www.amazon.com/dp/B00HF4V8KA/">Burley Honey Bee Trailer</a> is pretty much the best thing ever.</p>
<p>As a running stroller, the Honey Bee is light and easy to push. There&rsquo;s ample storage space for blankets and kids snacks, and the rain cover means we can go for a family run regardless of the weather. The only downside is that the front tire can get a bit wobbly at times.</p>
<p>As a bike trailer, the Honey Bee is easy to pull and steer with. Because it has the front wheel attached to the bike arm, we can easily detach the trailer at our destination, and use it as a stroller. Magic! The trailer also easily disassembles to fit in the trunk of our Subaru Crosstrek.</p>
<p><img src="images/IMG_3801-1024x1024.jpg" alt="IMG_3801"  width="1024"
	height="1024"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>RESTful WP-CLI: The final update?</title>
      <link>https://danielbachhuber.com/restful-wp-cli-the-final-update/</link>
      <pubDate>Wed, 20 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/restful-wp-cli-the-final-update/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;http://wp-cli.org/blog/restful-wp-cli-update-4.html&#34;&gt;originally appeared on the WP-CLI blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last November, I &lt;a href=&#34;https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli&#34;&gt;published a Kickstarter&lt;/a&gt;, and was completely blown away by the support. This month, the funding ran out, so I thought I’d post one last &lt;a href=&#34;https://github.com/wp-cli/restful&#34;&gt;RESTful WP-CLI&lt;/a&gt; update.&lt;/p&gt;&#xA;&lt;p&gt;Actually, the story doesn’t end here. I’m writing a massive retrospective post about using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it’s looking to be the largest release ever. When you do a Kickstarter, it’s really just the beginning of something bigger.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="http://wp-cli.org/blog/restful-wp-cli-update-4.html">originally appeared on the WP-CLI blog</a>.</em></p>
<p>Last November, I <a href="https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli">published a Kickstarter</a>, and was completely blown away by the support. This month, the funding ran out, so I thought I’d post one last <a href="https://github.com/wp-cli/restful">RESTful WP-CLI</a> update.</p>
<p>Actually, the story doesn’t end here. I’m writing a massive retrospective post about using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it’s looking to be the largest release ever. When you do a Kickstarter, it’s really just the beginning of something bigger.</p>
<p>Enough with the superlatives, let’s dive into some new features. Remember: RESTful WP-CLI features require under the hood changes to WP-CLI. You’ll want to <code>wp cli update --nightly</code> to play with this new functionality locally. Once you’ve done so, you can <code>wp package install wp-cli/restful</code> to install the latest.</p>
<h3 id="effortlessly-use-wp-cli-against-any-wordpress-install">Effortlessly use WP-CLI against any WordPress install</h3>
<p>WP-CLI aliases are shortcuts you register in your <code>wp-cli.yml</code> or <code>config.yml</code> to effortlessly run commands against any WordPress install.</p>
<p>For instance, if I’m working locally on the runcommand theme, have registered a new rewrite rule, and need to flush rewrites inside my Vagrant-based virtual machine, I can run:</p>
<pre tabindex="0"><code>$ wp @dev rewrite flush
Success: Rewrite rules flushed.
</code></pre><p>Then, once the code goes to production, I can run:</p>
<pre tabindex="0"><code>$ wp @prod rewrite flush
Success: Rewrite rules flushed.
</code></pre><p>Look ma! No more SSH’ing into machines, changing directories, and generally spending a full minute to get to a given WordPress install.</p>
<p>Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use <code>@both</code>:</p>
<pre tabindex="0"><code>$ wp @both core check-update
Success: WordPress is at the latest version.
Success: WordPress is at the latest version.
</code></pre><p>Aliases can be registered in your project’s <code>wp-cli.yml</code> file, or your user’s global <code>~/.wp-cli/config.yml</code> file:</p>
<pre tabindex="0"><code>@prod:
  ssh: runcommand@runcommand.io~/webapps/production
@dev:
  ssh: vagrant@192.168.50.10/srv/www/runcommand.dev
@both:
  - @prod
  - @dev
</code></pre><h3 id="but-wait-whats-the-ssh-in-there">But wait, what’s the ‘ssh’ in there?</h3>
<p>WP-CLI now natively supports a <code>--ssh=&lt;host&gt;</code> global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with <a href="https://github.com/xwp/wp-cli-ssh">WP-CLI SSH</a>.</p>
<p>Under the hood, WP-CLI proxies commands to the <code>ssh</code> executable, which then passes them to WP-CLI installed on the remote machine. Your syntax for <code>-ssh=&lt;host&gt;</code> can be any of the following:</p>
<ul>
<li>Just the host (e.g. <code>wp --ssh=runcommand.io</code>), which means the user will be inferred from your current system user, and the path will be the SSH user’s home directory.</li>
<li>The user and the host (e.g. <code>wp --ssh=runcommand@runcommand.io</code>).</li>
<li>The user, the host, and the path to the WordPress install (e.g. <code>wp --ssh=runcommand@runcommand.io~/webapps/production</code>). The path comes immediately after the TLD of the host.</li>
</ul>
<p>Or, if you use a <code>~/.ssh/config</code>, <code>&lt;host&gt;</code> can be any host alias stored in the SSH config (e.g. <code>wp --ssh=rc</code> for me).</p>
<p>Note you do need a copy of WP-CLI on the remote server, accessible as <code>wp</code>. Futhermore, <code>--ssh=&lt;host&gt;</code> won’t load your <code>.bash_profile</code> if you have a shell alias defined, or are extending the <code>$PATH</code> environment variable. If this affects you, <a href="https://runcommand.io/to/wp-ssh-custom-path/">here’s a more thorough explanation</a> of how you can make <code>wp</code> accessible.</p>
<h3 id="restful-wp-cli-v020-and-beyond">RESTful WP-CLI v0.2.0 and beyond</h3>
<p>Today marks the release of <a href="https://github.com/wp-cli/restful">RESTful WP-CLI</a> v0.2.0. Among <a href="https://github.com/wp-cli/restful/milestone/2?closed=1">43 closed issues and pull requests</a>, I’d like to highlight two new features.</p>
<p>First, use <code>wp rest (post|user|comment|*) generate</code> to create an arbitrary number of any resource:</p>
<pre tabindex="0"><code>$ wp @wpdev rest post generate --count=50 --title=&#34;Test Post&#34;
Generating items  100% [==============================================] 0:01 / 0:02
</code></pre><p>When working on a site locally, you often need dummy content to work with. There are a myriad of ways custom post types can store data in the database though, so generating dummy content can be a painstaking process. Because the WP REST API represents a layer of abstraction between the client (e.g. WP-CLI in this case) and the database, it’s much easier to produce a general purpose content generation command.</p>
<p>In the future, I’d love to see <a href="https://github.com/wp-cli/restful/issues/69">dummy data generated for each field based on the resource schema</a>.</p>
<p>Second, use <code>wp rest (post|user|comment|*) diff</code> to compare resources between two enviroments:</p>
<pre tabindex="0"><code># &#34;command&#34; isn&#39;t a typo in this example; &#34;command&#34; is a content type expressed through the WP REST API on runcommand.io
$ wp @dev rest command diff @prod find-unused-themes --fields=title
(-) http://runcommand.dev/api/ (+) https://runcommand.io/api/
  command:
  + title: find-unused-themes
</code></pre><p>When working with multiple WordPress environments, you may want to know how these environments differ. Because the WP REST API represents a higher-level abstraction on top of WordPress, computing the difference between two environments becomes a matter of fetching the data and producing a comparison.</p>
<p>There are a <a href="https://github.com/wp-cli/restful/issues?q=is%3Aissue+is%3Aopen+label%3Acommand%3Adiff">number of ways the diff command could be improved</a>, so consider this implementation to be the prototype.</p>
<p>What’s next?</p>
<p>More immediately, I’d like to start looking at how well RESTful WP-CLI works with plugins and themes. If you’ve written custom endpoints for the WP REST API, <a href="https://github.com/wp-cli/restful/issues/85">please weigh in on this Github issue</a> so I can check it out.</p>
<p>Ultimately, the goal is for <code>wp rest post</code> to replace <code>wp post</code>, but there are many months between here and there. In this future where WP-CLI packages are first-class citizens amongst the commands in WP-CLI core, RESTful WP-CLI gets to serve as a testbed for figuring out how that actually works. We shall see, we shall see.</p>
<p>As always, thanks for your support!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Creating a blog post archive at /blog/ without awkwardly publishing a page</title>
      <link>https://danielbachhuber.com/creating-a-blog-post-archive-at-blog-without-awkwardly-publishing-a-page/</link>
      <pubDate>Wed, 13 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/creating-a-blog-post-archive-at-blog-without-awkwardly-publishing-a-page/</guid>
      <description>&lt;p&gt;For the runcommand website, I wanted the blog archive to live at &lt;a href=&#34;https://runcommand.io/blog/&#34;&gt;runcommand.io/blog&lt;/a&gt; because I&amp;rsquo;m using the homepage as an informational archive page. This sort of use case is something WordPress supports, but it requires awkwardly publishing a page and then marking the page as a &amp;ldquo;Posts page.&amp;rdquo; Instead, I wanted to do it with code.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gist.github.com/danielbachhuber/206f2cea8dab1ce73d5a71a04810ac57&#34;&gt;https://gist.github.com/danielbachhuber/206f2cea8dab1ce73d5a71a04810ac57&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For the runcommand website, I wanted the blog archive to live at <a href="https://runcommand.io/blog/">runcommand.io/blog</a> because I&rsquo;m using the homepage as an informational archive page. This sort of use case is something WordPress supports, but it requires awkwardly publishing a page and then marking the page as a &ldquo;Posts page.&rdquo; Instead, I wanted to do it with code.</p>
<p><a href="https://gist.github.com/danielbachhuber/206f2cea8dab1ce73d5a71a04810ac57">https://gist.github.com/danielbachhuber/206f2cea8dab1ce73d5a71a04810ac57</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Open source: you&#39;re doing it wrong</title>
      <link>https://danielbachhuber.com/open-source-doing-it-wrong/</link>
      <pubDate>Wed, 13 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-doing-it-wrong/</guid>
      <description>&lt;p&gt;Yesterday, I &lt;a href=&#34;https://twitter.com/danielbachhuber/status/752972060092080129&#34;&gt;let&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/752972517053128704&#34;&gt;my&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/752973741781463040&#34;&gt;emotions&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/752973950636822528&#34;&gt;out&lt;/a&gt; on Twitter:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Ugh.&lt;/p&gt;&#xA;&lt;p&gt;Seems like people only want to use open source for free. When it comes to paying for support or fixing bugs, no one sees the value.&lt;/p&gt;&#xA;&lt;p&gt;So many good projects on Github living semi-abandoned, decrepit lives because there&amp;rsquo;s no economic model for maintaining them.&lt;/p&gt;&#xA;&lt;p&gt;Feeling quite discouraged right now :(&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;For the last several months, I&amp;rsquo;ve been slowly, steadily working to solve this problem with runcommand (albeit in a limited domain, WP-CLI commands). Eventually, I&amp;rsquo;d like for runcommand to become a healthy, for-profit company, with an entire team to work on these two problems:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday, I <a href="https://twitter.com/danielbachhuber/status/752972060092080129">let</a> <a href="https://twitter.com/danielbachhuber/status/752972517053128704">my</a> <a href="https://twitter.com/danielbachhuber/status/752973741781463040">emotions</a> <a href="https://twitter.com/danielbachhuber/status/752973950636822528">out</a> on Twitter:</p>
<blockquote>
<p>Ugh.</p>
<p>Seems like people only want to use open source for free. When it comes to paying for support or fixing bugs, no one sees the value.</p>
<p>So many good projects on Github living semi-abandoned, decrepit lives because there&rsquo;s no economic model for maintaining them.</p>
<p>Feeling quite discouraged right now :(</p></blockquote>
<p>For the last several months, I&rsquo;ve been slowly, steadily working to solve this problem with runcommand (albeit in a limited domain, WP-CLI commands). Eventually, I&rsquo;d like for runcommand to become a healthy, for-profit company, with an entire team to work on these two problems:</p>
<ul>
<li>Provide ongoing maintenance and general improvements to <a href="https://wp-cli.org">existing infrastructure</a> many businesses depend upon.</li>
<li>Collaboratively create <a href="https://runcommand.io/sparks/">new features</a>, to reduce the development and maintenance burden for those who use it.</li>
</ul>
<p>&ldquo;Sparks&rdquo; is my first iteration on the <a href="https://runcommand.io/sparks/">collaborative roadmap</a> concept.</p>
<p>For instance, every single managed WordPress hosting company would benefit from a <a href="https://runcommand.io/for/diagnose-wordpress-problems/">diagnostic tool for WordPress sites</a>, yet none of them have invested in an open source solution because the cost of maintenance is too high (one actually started a project but hasn&rsquo;t improved it much over time). Similarly, every single WordPress agency would benefit from a <a href="https://runcommand.io/for/migrate-drupal-database/">Drupal migration command</a>, yet none of them have open-sourced their internal abstraction because the cost-benefit ratio makes zero sense.</p>
<p>The key idea behind Sparks is to create a space where WordPress-based businesses can contribute to an open source roadmap, collaboratively prioritize, and then share the cost of development and maintenance. I see this as a huge opportunity for businesses predicated on access to reliable open source software.</p>
<p>As I mentioned in <a href="https://runcommand.io/2016/06/26/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/">my WCEU presentation</a>, Nadia Eghbal is <a href="https://medium.com/@nayafia/">doing wonderful research</a> into the economics of open source. She&rsquo;s even put together a Github-based <a href="https://github.com/nayafia/lemonade-stand">guide to financial support for open source projects</a>. I&rsquo;d like to highlight a passage from <a href="https://medium.com/@nayafia/how-i-stumbled-upon-the-internet-s-biggest-blind-spot-b9aa23618c58">her kickoff post</a>:</p>
<blockquote>
<p>Most developer tools have nothing to charge for, and are not big or centrally organized enough to get venture or corporate funding. Projects that we use, or indirectly benefit from, every day. (Every app on your phone right now is using one of these projects in its software. I guarantee it.)</p>
<p>In other words, <strong>everybody is building software, but ignoring the tools we need to build them</strong>.</p>
<p>To support that, a couple of thoughts:</p>
<ol>
<li><em>There is an enormous disconnect between project owners and their stakeholders.</em> Every open source developer I spoke to thought there was a “funding problem”, even if there was disagreement about how to fix it. But hardly any founder, VC, or big tech employee was aware of the issue, even when they used or benefitted directly from these projects.</li>
<li><em>This is a relatively new problem.</em> Open source has been around for 30 years. It worked well in the early days, but from 2008–2013, GitHub and Stack Overflow made it go hockey stick. Today, more people use open source, but fewer people contribute back, than ever before. And everybody assumes that somebody else is doing it. (This is also known as the “<a href="https://en.wikipedia.org/wiki/Free_rider_problem">free rider problem</a>”. Left unchecked, it leads to a <a href="https://en.wikipedia.org/wiki/Tragedy_of_the_commons">tragedy of the commons</a>.)</li>
</ol>
<p>What could go wrong? Well, <a href="http://www.buzzfeed.com/chrisstokelwalker/the-internet-is-being-protected-by-two-guys-named-st#.fux3eWX7E">this</a>, or <a href="http://www.informationweek.com/it-life/ntps-fate-hinges-on-father-time/d/d-id/1319432">this</a>, or <a href="http://ryanbigg.com/2015/11/open-source-work/">this</a>. People getting burned out and quitting. Bugs or security vulnerabilities that go undetected. But also, people just making less stuff. Society moving a little more slowly.</p>
<p>The better we make open source, the better we make technology as a whole. When we have really good tools, it’s easier for everybody to use them to do creative and interesting things.</p></blockquote>
<p>The pricing aspect of runcommand&rsquo;s hybrid support and custom development model has been a tougher sell than I expected. I don&rsquo;t yet have a one-line answer to &ldquo;what development effort do I get for my money?&rdquo;. I&rsquo;ve thought long and hard about the idea that <a href="https://runcommand.io/pricing/">each pricing tier</a> gets you a certain amount of votes on Sparks. But, a voting mechanism implies a certain number of votes are required for each Spark, which implies level of effort estimations and harder to manage expectations. Plus, the price doesn&rsquo;t just go towards development of new features, it goes towards everything else too.</p>
<p>Ultimately, I know this is a positioning issue — not one of the idea itself. When I explain the concept of Sparks to a prospective customer, they get it. It makes a ton of sense to share the burden of building and maintaining boring, business-critical infrastructure. High-touch support and custom development is expensive though, which makes it challenging to offer more affordable pricing options. But I also know that <a href="http://drupal2wordpress.pagedemo.co/">phrased differently</a> (<a href="https://twitter.com/tdobson/status/752991231496577024">props to Tim Dobson</a>), businesses would willingly pay hundreds or thousands of dollars for solutions to <a href="https://runcommand.io/sparks/">some of the problems on the roadmap</a>. And the cost of building and maintaining any of these solutions in-house is easily tens of thousands of dollars.</p>
<p>Just so it&rsquo;s stated, philosophically I believe commercial enterprise can be an enabler of healthy open source communities. The problem with patronage is that it&rsquo;s very hard to get a &ldquo;real&rdquo; amount of money; I, for one, can&rsquo;t pay my mortgage on $500/month. Patronage also sets the precedent that you should be a martyr. I think maintaining open source should be profitable.</p>
<p>If you think open source is building your business on semi-abandoned or poorly-maintained public code, you&rsquo;re doing it wrong.</p>
<p>Every single managed WordPress hosting company is spending tens of thousands of dollars right now to build an automated testing solution for WordPress plugin updates. What if they didn&rsquo;t have to internalize the cost, but had a means to work together on a common solution? Or, what if those plugin updates were trustworthy in the first place, because each plugin was reliably maintained and supported? The WordPress.org plugins directory has clearly become a tragedy of the commons; WP-CLI, and open source broadly, doesn&rsquo;t need to be.</p>
<p>Think WP-CLI is cool now? You haven&rsquo;t seen anything yet. Let&rsquo;s work on these impossible problems, together.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Summary of the bootstrap / load updates coming in WordPress 4.6</title>
      <link>https://danielbachhuber.com/summary-of-the-bootstrap-load-updates-coming-in-wordpress-4-6/</link>
      <pubDate>Wed, 06 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/summary-of-the-bootstrap-load-updates-coming-in-wordpress-4-6/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://make.wordpress.org/core/2016/07/06/bootstrapload-updates-in-4-6/&#34;&gt;Summary of the bootstrap / load updates coming in WordPress 4.6&lt;/a&gt;. Notable, after WordPress 4.6, WP-CLI will be fully compatible with any future changes to wp-settings.php. Previously, &lt;a href=&#34;http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html&#34;&gt;changes to wp-settings.php would break WP-CLI&lt;/a&gt;. Many thanks to Aaron Jorbin for helping work through the core changes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://make.wordpress.org/core/2016/07/06/bootstrapload-updates-in-4-6/">Summary of the bootstrap / load updates coming in WordPress 4.6</a>. Notable, after WordPress 4.6, WP-CLI will be fully compatible with any future changes to wp-settings.php. Previously, <a href="http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html">changes to wp-settings.php would break WP-CLI</a>. Many thanks to Aaron Jorbin for helping work through the core changes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>My condolences, you&#39;re now the maintainer of a popular open source project</title>
      <link>https://danielbachhuber.com/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/</link>
      <pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/</guid>
      <description>&lt;p&gt;&lt;em&gt;The following are my slides and notes from a talk I gave yesterday at WordCamp Europe. This is more or less what I said, but not exactly.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/201606presentation-wceu.001-1024x576.png&#34; alt=&#34;201606presentation-wceu.001&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;576&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;d like to talk with you today about the emotional rollercoaster of maintaining an open source project. More specifically, the emotional highs and lows you&amp;rsquo;ll experience publishing your code online.&lt;/p&gt;&#xA;&lt;p&gt;But first, let&amp;rsquo;s start by taking a look at the bigger picture.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>The following are my slides and notes from a talk I gave yesterday at WordCamp Europe. This is more or less what I said, but not exactly.</em></p>
<p><img src="images/201606presentation-wceu.001-1024x576.png" alt="201606presentation-wceu.001"  width="1024"
	height="576"  /></p>
<p>I&rsquo;d like to talk with you today about the emotional rollercoaster of maintaining an open source project. More specifically, the emotional highs and lows you&rsquo;ll experience publishing your code online.</p>
<p>But first, let&rsquo;s start by taking a look at the bigger picture.</p>
<p><img src="images/201606presentation-wceu.002-1024x576.png" alt="201606presentation-wceu.002"  width="1024"
	height="576"  /></p>
<p>Marc Andreessen, creator of the Netscape web browser, famously said &ldquo;software is eating the world.&rdquo; I&rsquo;d like to posit that it&rsquo;s actually <em>open source</em> software that&rsquo;s eating the world, and I have a couple of data points to back me up.</p>
<p>First, a <a href="http://www.northbridge.com/2015-future-open-source-survey-results">conclusion from the 2015 Future of Open Source survey</a>: “Seventy-eight percent of respondents said their companies run part or all of its operations on OSS and 66 percent said their company creates software for customers built on open source. This statistic has nearly doubled since 2010.”</p>
<p>Second, Nadia Eghbal, who is doing really great research into the economics of open source, calculated that “<a href="https://medium.com/@nayafia/open-source-was-worth-at-least-143m-of-instagram-s-1b-acquisition-808bb85e4681">open source was worth at least $143M of Instagram’s $1B acquisition</a>.”</p>
<p>I think there are a few reasons for this Cambrian explosion of open source usage:</p>
<ol>
<li>Open source is free to use, which means a company can spend money on people (aka innovation) instead of software licenses.</li>
<li>There are now a critical mass of reliable open source components, which accelerates your product&rsquo;s time to market.</li>
<li>Open source produces quantitatively better software.</li>
<li>Near and dear to me personally, open source permits companies to collaborate on common problems without complicated business agreements.</li>
</ol>
<p>So open source is pretty huge. But what is it exactly? <img src="images/201606presentation-wceu.003-1024x576.png" alt="201606presentation-wceu.003"  width="1024"
	height="576"  /></p>
<p>&ldquo;Open source&rdquo; now means two things.</p>
<p>Clearly, there&rsquo;s the official definition, a permissive license which grants certain freedoms to the end user.</p>
<p>But when people use &ldquo;open source&rdquo; today, they&rsquo;re probably referring to <em>building and collaborating in public</em>. In fact, they may not care about the license at all — <a href="https://github.com/blog/1964-open-source-license-usage-on-github-com">over 80% of projects on Github don&rsquo;t have an explicit license</a>.</p>
<p>Why are so many people involved in open source? Well, for all of the business reasons covered before. I also think it&rsquo;s joyful to get to work with people of a variety of cultures and backgrounds. Additionally, open source has given me a sense of permanence to my career, where the job I&rsquo;ve taken from year to year has not.</p>
<p>There are a couple of different ways you can participate in open source.</p>
<p><img src="images/201606presentation-wceu.004-1024x576.png" alt="201606presentation-wceu.004"  width="1024"
	height="576"  /></p>
<p>Contributing is a form of short-term participation. You make a one-off or twice-off contribution, and then your involvement is over.</p>
<p>Maintaining is taking long-term ownership over a particular aspect of a project. In this equation I&rsquo;ve produced, maintaining is greater than contributing both in level of reward, but also effort, commitment, and emotional involvement.</p>
<p>Let&rsquo;s take a walk through the emotional journey of becoming a maintainer.</p>
<p><img src="images/201606presentation-wceu.005-1024x576.png" alt="201606presentation-wceu.005"  width="1024"
	height="576"  /></p>
<p>When thinking about becoming a maintainer, you might be too embarrassed by your code to publish it online. Here&rsquo;s a little secret: <em>everyone</em> is embarrassed by their code. Being embarrassed by your code is not an excuse not to publish your project and become a maintainer.</p>
<p><img src="images/201606presentation-wceu.006-1024x576.png" alt="201606presentation-wceu.006"  width="1024"
	height="576"  /></p>
<p>In fact, publishing your project is a great excuse to learn. Posting your code online leads to conversations about it you wouldn&rsquo;t have had otherwise. When people come to use your project, they&rsquo;ll give you problems to solve that will help you grow as a developer.</p>
<p>Important to note: it&rsquo;s a long, hard road to mastery — and the road never ends.</p>
<p><img src="images/201606presentation-wceu.007-1024x576.png" alt="201606presentation-wceu.007"  width="1024"
	height="576"  /></p>
<p>As the newly-minted maintainer of an open source project, you may feel discouraged you can&rsquo;t ever finish your releases. I used to feel this way too. I used to plan a release by adding a bunch of issues to a milestone, and work against the issues until they were all done. However, a few to several to a dozen issues would always delay my October release date into December, January, and February.</p>
<p><img src="images/201606presentation-wceu.008-1024x576.png" alt="201606presentation-wceu.008"  width="1024"
	height="576"  /></p>
<p>With WP-CLI, I release new versions on a time-based schedule, and checklist the steps involved in the release process. Philosophically, I believe users shouldn&rsquo;t care about which version they&rsquo;re on, only that they&rsquo;re on the latest and greatest. In fact, I avoid assigning issues to milestones until they&rsquo;re done, or if they absolutely need to be fixed.</p>
<p>To streamline the release process, I&rsquo;ve adopted a consistent release note format, so I never have to think about how they should be written. Similarly, I&rsquo;ve created a <a href="http://wp-cli.org/docs/release-checklist/">checklist for the release process</a>, and scripted as much of it as possible.</p>
<p>Important to note: wrapping up a release still takes several hours you&rsquo;ll need to find in your schedule.</p>
<p><img src="images/201606presentation-wceu.009-1024x576.png" alt="201606presentation-wceu.009"  width="1024"
	height="576"  /></p>
<p>As the maintainer of an open source project, you may feel overwhelmed by your issue backlog. As your project becomes more popular, users will open up issues, and this will happen at a greater rate than your ability to close them. At some point, you&rsquo;ll hit the 400 open issue mark and lose all hope.</p>
<p><img src="images/201606presentation-wceu.010-1024x576.png" alt="201606presentation-wceu.010"  width="1024"
	height="576"  /></p>
<p>In maintaining WP-CLI, I do my best to triage, prioritize, and make decisions. I review the backlog regularly, refining issues to ensure they have sufficient detail, assigning labels as necessary, etc. I prioritize by only assigning myself on a few issues at a time. Lastly, I make decisions — if an issue has been open for two years without any movement, then it&rsquo;s probably not important to fix.</p>
<p>Important to note: you&rsquo;ll never get to zero, so you&rsquo;ll need to come to grips with what is a healthy number of open issues for your project.</p>
<p><img src="images/201606presentation-wceu.011-1024x576.png" alt="201606presentation-wceu.011"  width="1024"
	height="576"  /></p>
<p>As the maintainer of an open source project, you may get frustrated when issues turn into flamewars. Text has a very low <a href="http://5by5.tv/b2w/233">emotional density</a>. You and I having a conversation across from one another has high emotional density; we have body language, facial expressions, and vocal intonation to support the words we&rsquo;re saying. Text-based conversation, with its low emotional density, can easily lead to misunderstandings.</p>
<p><img src="images/201606presentation-wceu.012-1024x576.png" alt="201606presentation-wceu.012"  width="1024"
	height="576"  /></p>
<p>In maintaining WP-CLI, I do my best to be empathetic, respectful, and firm.</p>
<p>First, I do my best to try and understand where the user is coming from. I try to put myself in their shoes, to figure out what they might be meaning that they aren&rsquo;t necessarily saying.</p>
<p>Second, I&rsquo;m respectful of the fact they&rsquo;re using some of their precious time to try and improve my project. If they&rsquo;re reporting a bug, it may be one that&rsquo;s sunk a day or two of their time.</p>
<p>Lastly, being firm asserts myself as the authority on the subject, which sets the tone for the conversation and reduces ambiguity.</p>
<p>Important to note: you&rsquo;ll still need to develop a thick skin.</p>
<p><img src="images/201606presentation-wceu.013-1024x576.png" alt="201606presentation-wceu.013"  width="1024"
	height="576"  /></p>
<p>As the maintainer of an open source project, you may feel overcommitted on your open source involvement. People ask you to do things, and you say yes. Too many yesses lead to stress.</p>
<p><img src="images/201606presentation-wceu.014-1024x576.png" alt="201606presentation-wceu.014"  width="1024"
	height="576"  /></p>
<p>In maintaining WP-CLI, I&rsquo;ve discovered I need to make myself happy first, and set clear boundaries on my involvement. The best balance I&rsquo;ve found is 2-5 hours per week, as a part of my normal work schedule. This keeps my involvement a passion, and from feeling too much like work. Because I prioritize the issues I&rsquo;m working on, I can make regular progress on what I think is most important.</p>
<p>Important to note: commitments are a constant balancing act.</p>
<p><img src="images/201606presentation-wceu.015-1024x576.png" alt="201606presentation-wceu.015"  width="1024"
	height="576"  /></p>
<p>As the maintainer of an open source project, you may feel all alone. This is a current struggle of mine with WP-CLI as I <a href="https://github.com/wp-cli/wp-cli/issues/2743">try to find a long-term future for WP-CLI</a> that isn&rsquo;t wholly dependent on me. As fun as it is to be a benevolent dictator, I&rsquo;m concerned about the project&rsquo;s bus factor.</p>
<p><img src="images/201606presentation-wceu.016-1024x576.png" alt="201606presentation-wceu.016"  width="1024"
	height="576"  /></p>
<p>With WP-CLI, I&rsquo;m shifting my focus to leadership, and identifying opportunities for others to be decision-makers with the project. More specifically, I am:</p>
<ul>
<li>Identifying <a href="http://wp-cli.org/blog/future-wp-cli.html">ways for people to be involved in the project</a> that aren’t just code, with specific expectations for those roles.</li>
<li>Writing more <a href="http://wp-cli.org/docs/">documentation for the project</a> than I think I need, knowing the documentation isn&rsquo;t for me, who knows the project really well.</li>
<li>Identifying “<a href="https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&amp;q=sort%3Aupdated-desc%20label%3Agood-first-issue%20">good first bugs</a>” as entry points into the codebase.</li>
<li>Highlighting contributors in release notes (and tweets).</li>
</ul>
<p>Important to note: You&rsquo;ll never find all of the contributors you want, so you need to accept and make use of what you have, which can be difficult.</p>
<p>So, where is all of this heading?</p>
<p><img src="images/201606presentation-wceu.017-1024x576.png" alt="201606presentation-wceu.017"  width="1024"
	height="576"  /></p>
<p>WP-CLI is eating WordPress.</p>
<p>WP-CLI is becoming more and more embedded in the WordPress developer experience. It seems like there’s a WP-CLI session at every WordCamp these days.</p>
<p>With the command line, WP-CLI enables doing more with less effort. You can help WP-CLI eat WordPress by writing and maintaining custom commands.</p>
<p><img src="images/201606presentation-wceu.018-1024x576.png" alt="201606presentation-wceu.018"  width="1024"
	height="576"  /></p>
<p>Just like WordPress has plugins, the future of WP-CLI is <a href="http://wp-cli.org/package-index/">packages of commands</a>. For this future, I’m trying to proactively solve the problems WordPress has with plugins:</p>
<ul>
<li>Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI.</li>
<li>All too often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers.</li>
</ul>
<p>We’re all aware that open source is an increasingly valuable part of the global economy. In this talk, I hope I’ve conveyed that, emotional rollercoaster aside, maintaining an open source project can be a hugely rewarding part of your career.</p>
<p>When you decide to take the leap, I look forward to saying to you&hellip;</p>
<p><img src="images/201606presentation-wceu.019-1024x576.png" alt="201606presentation-wceu.019"  width="1024"
	height="576"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Should I use PHPUnit or Behat for testing my WordPress plugin?</title>
      <link>https://danielbachhuber.com/should-i-use-phpunit-or-behat-for-testing-my-wordpress-plugin/</link>
      <pubDate>Tue, 07 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/should-i-use-phpunit-or-behat-for-testing-my-wordpress-plugin/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.billerickson.net/&#34;&gt;Bill&lt;/a&gt; from Georgetown writes:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Just curious, what made you choose Behat for [WP-CLI] testing rather than PHPUnit like WordPress core, EDD and a lot of other big WordPress plugins?&lt;/p&gt;&#xA;&lt;p&gt;Is it just for easier readability of tests, or is there more to it?&lt;/p&gt;&#xA;&lt;p&gt;I have a few projects that need unit testing and am trying to decide what tool to use.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Thanks Bill! Happy to take a swing at answering your question.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.billerickson.net/">Bill</a> from Georgetown writes:</p>
<blockquote>
<p>Just curious, what made you choose Behat for [WP-CLI] testing rather than PHPUnit like WordPress core, EDD and a lot of other big WordPress plugins?</p>
<p>Is it just for easier readability of tests, or is there more to it?</p>
<p>I have a few projects that need unit testing and am trying to decide what tool to use.</p></blockquote>
<p>Thanks Bill! Happy to take a swing at answering your question.</p>
<p>But first, let&rsquo;s take a little step back to understand what is a Behat and what is a PHPUnit.</p>
<p><a href="http://docs.behat.org/en/v3.0/">Behat</a> is &ldquo;an open source Behavior Driven Development framework for PHP&rdquo;. Behavior driven development (BDD) is different than test driven development (TDD) in that BDD tests the overall <em>behavior</em> of an application, as opposed to individual units of functionality. For instance, the Behat test for <code>wp option get</code> looks something like this:</p>
<pre tabindex="0"><code>When I run `wp option add str_opt &#39;bar&#39;`
Then STDOUT should not be empty

When I run `wp option get str_opt`
Then STDOUT should be:
  &#34;&#34;&#34;
  bar
  &#34;&#34;&#34;
</code></pre><p>These Behat assertions test the <em>behavior</em> of the application (WP-CLI) because they perform the tests in the same way a user might actually use WP-CLI. For each assertion, the entirety of WP-CLI is loaded and executed, in addition to the command being tested. BDD makes it much easier to say &ldquo;Yes, WP-CLI is working as the user expects it to work.&rdquo;</p>
<p>On the other hand, <a href="https://phpunit.de/">PHPUnit</a> is &ldquo;a programmer-oriented testing framework for PHP&rdquo;. PHPUnit is better suited for unit tests, and <a href="https://pantheon.io/blog/test-coverage-your-wp-rest-api-project">some forms of integration tests</a>. WordPress has a PHPUnit-based test suite <a href="https://wp-cli.org/commands/scaffold/plugin-tests/">you can use in your own plugin</a>. Writing unit tests (and TDD generally) is different than BDD because you&rsquo;re writing tests for a more limited scope of the codebase. For instance, the PHPUnit test for <code>get_option()</code> doesn&rsquo;t reload the entire codebase each time, it only tests the function itself:</p>
<pre tabindex="0"><code>function test_the_basics() {
	$key = rand_str();
	$key2 = rand_str();
	$value = rand_str();
	$value2 = rand_str();

	$this-&gt;assertFalse( get_option( &#39;doesnotexist&#39; ) );
	$this-&gt;assertTrue( add_option( $key, $value ) );
	$this-&gt;assertEquals( $value, get_option( $key ) );
}
</code></pre><p>Unit tests are typically more precise. Because they execute less of the codebase, you can run hundreds or thousands of unit tests in the time it takes to run one integration test.</p>
<p>Back to the original question: why did I choose Behat over PHPUnit for WP-CLI? Easy answer: I didn&rsquo;t, <a href="https://github.com/wp-cli/wp-cli/commit/106d894effba7c2d1d3ecc6cf1f68389f636140d">scribu did</a>!</p>
<p>In hindsight, I&rsquo;ve been very happy with the decision because I think Behat / BDD has helped ensure a high degree of quality for WP-CLI. But, if I were to be known for any postulate, it would be:</p>
<blockquote>
<p>Tests only get written when they&rsquo;re easy to write and run.</p></blockquote>
<p>I&rsquo;ve typically opted for PHPUnit (and Mocha) tests for plugins and themes because running automated tests against code rendering in a browser requires using a headless browser in your test suite, which adds complexity, which means tests are less likely to be written.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New plugin: One Time Login</title>
      <link>https://danielbachhuber.com/new-plugin-one-time-login/</link>
      <pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-plugin-one-time-login/</guid>
      <description>&lt;p&gt;Need access to a WordPress install but don&amp;rsquo;t want to create a new user account? Use this plugin and WP-CLI to generate a one-time login URL for any existing user:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wp plugin install one-time-login --activate &amp;amp;&amp;amp; wp user one-time-login &amp;lt;user&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After you run the command, you&amp;rsquo;ll see a success message like this:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Success: Your one-time login URL is: http://wp.dev/wp-login.php?user_id=1&amp;amp;one_time_login_token=eb6f4de94323e589addb9ad3391883e1d6233bc3&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Copy the URL, paste it into your web browser, and&amp;hellip; voila!&lt;/p&gt;&#xA;&lt;p&gt;Feel free to &lt;a href=&#34;https://github.com/runcommand/one-time-login&#34;&gt;file issues and pull requests&lt;/a&gt; against the project on Github.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Need access to a WordPress install but don&rsquo;t want to create a new user account? Use this plugin and WP-CLI to generate a one-time login URL for any existing user:</p>
<pre tabindex="0"><code>wp plugin install one-time-login --activate &amp;&amp; wp user one-time-login &lt;user&gt;
</code></pre><p>After you run the command, you&rsquo;ll see a success message like this:</p>
<pre tabindex="0"><code>Success: Your one-time login URL is: http://wp.dev/wp-login.php?user_id=1&amp;one_time_login_token=eb6f4de94323e589addb9ad3391883e1d6233bc3
</code></pre><p>Copy the URL, paste it into your web browser, and&hellip; voila!</p>
<p>Feel free to <a href="https://github.com/runcommand/one-time-login">file issues and pull requests</a> against the project on Github.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Save a dozen keystrokes on every new branch</title>
      <link>https://danielbachhuber.com/save-a-dozen-keystrokes-on-every-new-branch/</link>
      <pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/save-a-dozen-keystrokes-on-every-new-branch/</guid>
      <description>&lt;p&gt;Use &lt;code&gt;gpo&lt;/code&gt; to push your current branch to origin:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;alias gpo=&amp;#39;git push -u origin $(git rev-parse --abbrev-ref HEAD)&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Four key strokes is way better than 20+. For more of my favorite aliases, &lt;a href=&#34;https://github.com/danielbachhuber/dotfiles/blob/master/aliases&#34;&gt;check out my dotfiles&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Use <code>gpo</code> to push your current branch to origin:</p>
<pre tabindex="0"><code>alias gpo=&#39;git push -u origin $(git rev-parse --abbrev-ref HEAD)&#39;
</code></pre><p>Four key strokes is way better than 20+. For more of my favorite aliases, <a href="https://github.com/danielbachhuber/dotfiles/blob/master/aliases">check out my dotfiles</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Persistent object caches are like a fine wine paired with steak</title>
      <link>https://danielbachhuber.com/persistent-object-caches-are-like-a-fine-wine-paired-with-steak/</link>
      <pubDate>Wed, 20 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/persistent-object-caches-are-like-a-fine-wine-paired-with-steak/</guid>
      <description>&lt;p&gt;&lt;em&gt;A quote I put together for an upcoming Pantheon whitepaper on scaling WordPress.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Used appropriately, a persistent object cache like Redis or Memcached can be an incredibly helpful tool for scaling your WordPress site.&lt;/p&gt;&#xA;&lt;p&gt;Say, for instance, you have an unavoidable query which takes an entire second to run. Or, you need to make an API request to a service that’s notoriously slow. You can mitigate the performance impact in both cases by storing the result of the operation in the persistent object cache, and then using the stored reference when render your response.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A quote I put together for an upcoming Pantheon whitepaper on scaling WordPress.</em></p>
<p>Used appropriately, a persistent object cache like Redis or Memcached can be an incredibly helpful tool for scaling your WordPress site.</p>
<p>Say, for instance, you have an unavoidable query which takes an entire second to run. Or, you need to make an API request to a service that’s notoriously slow. You can mitigate the performance impact in both cases by storing the result of the operation in the persistent object cache, and then using the stored reference when render your response.</p>
<p>Like a fine wine with steak, persistent object caches like Redis or Memcached are best paired with complex data generation. They provide a useful way to store computed data that was expensive to create, and don’t make sense to waste on a cheap meal.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hard lessons learned from setting up React &#43; Webpack &#43; Mocha &#43; Chai &#43; Enzyme</title>
      <link>https://danielbachhuber.com/hard-lessons-learned-from-setting-up-react-webpack-mocha-chai-enzyme/</link>
      <pubDate>Mon, 18 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hard-lessons-learned-from-setting-up-react-webpack-mocha-chai-enzyme/</guid>
      <description>&lt;p&gt;I had a &lt;a href=&#34;https://twitter.com/danielbachhuber/status/722063481046835201&#34;&gt;really difficult time&lt;/a&gt; this morning setting up React + Webpack + Mocha + Chai + &lt;a href=&#34;https://github.com/airbnb/enzyme&#34;&gt;Enzyme&lt;/a&gt;. All roads with Mocha seem to lead to Karma, which I don&amp;rsquo;t want to use because I don&amp;rsquo;t want the complexity of a headless browser. And, all past roads with Mocha but without Karma seem to be pre-Webpack/Babel.&lt;/p&gt;&#xA;&lt;p&gt;A Mocha + Chai test looks like this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2016-04-18-at-7-35-am.png&#34; alt=&#34;2016-04-18 at 7.35 AM&#34;  width=&#34;1986&#34;&#xA;&#x9;height=&#34;634&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pretty simple, huh? But, to get the test to actually run, I had to&amp;hellip;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I had a <a href="https://twitter.com/danielbachhuber/status/722063481046835201">really difficult time</a> this morning setting up React + Webpack + Mocha + Chai + <a href="https://github.com/airbnb/enzyme">Enzyme</a>. All roads with Mocha seem to lead to Karma, which I don&rsquo;t want to use because I don&rsquo;t want the complexity of a headless browser. And, all past roads with Mocha but without Karma seem to be pre-Webpack/Babel.</p>
<p>A Mocha + Chai test looks like this:</p>
<p><img src="images/2016-04-18-at-7-35-am.png" alt="2016-04-18 at 7.35 AM"  width="1986"
	height="634"  /></p>
<p>Pretty simple, huh? But, to get the test to actually run, I had to&hellip;</p>
<h3 id="1-define-my-dependencies">1. Define my dependencies</h3>
<p><img src="images/2016-04-18-at-7-36-am.png" alt="2016-04-18 at 7.36 AM"  width="1984"
	height="1294"  /></p>
<h3 id="2transpilea-separate-js-tests-file">2. Transpile a separate js-tests file</h3>
<p><img src="images/2016-04-18-at-7-38-am.png" alt="2016-04-18 at 7.38 AM"  width="1980"
	height="596"  /></p>
<h3 id="3add-a-bunch-of-mumbo-jumbo-to-keep-enzyme-from-breaking-while-transpiling">3. Add a bunch of mumbo jumbo to keep Enzyme from breaking while transpiling</h3>
<p><img src="images/2016-04-18-at-7-39-am.png" alt="2016-04-18 at 7.39 AM"  width="1988"
	height="920"  /></p>
<h3 id="4set-up-a-grunt-task-to-runmocha">4. Set up a Grunt task to run Mocha</h3>
<p><img src="images/2016-04-18-at-7-40-am.png" alt="2016-04-18 at 7.40 AM"  width="1984"
	height="1190"  /></p>
<h3 id="5-voila">5. Voila!</h3>
<p><img src="images/2016-04-18-at-7-41-am.png" alt="2016-04-18 at 7.41 AM"  width="1258"
	height="494"  /></p>
<p>I&rsquo;m using Grunt with Webpack because that&rsquo;s what I copy and pasted from the <a href="https://github.com/humanmade/feelingrestful-theme">Feeling RESTful theme</a> (and Grunt is what I&rsquo;m used to generally).</p>
]]></content:encoded>
    </item>
    <item>
      <title>RESTful WP-CLI: What I&#39;ve been hacking on</title>
      <link>https://danielbachhuber.com/restful-wp-cli-what-ive-been-hacking-on/</link>
      <pubDate>Thu, 14 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/restful-wp-cli-what-ive-been-hacking-on/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;http://wp-cli.org/blog/restful-wp-cli-update-3.html&#34;&gt;originally appeared on the WP-CLI blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let me just say — Thursday, February 4th was &lt;a href=&#34;https://twitter.com/Krogsgard/status/695634320401285121&#34;&gt;pretty darn demoralizing&lt;/a&gt;. I spent a huge amount of time in January towards the WP REST API in preparation for what I wanted to do on the command line, and a lot of momentum / inspiration / general good feelings were destroyed in that meeting. As such, I spent much of February and March working on WP-CLI features unrelated to the WP REST API (e.g. &lt;a href=&#34;http://wp-cli.org/commands/package/&#34;&gt;package management&lt;/a&gt;).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="http://wp-cli.org/blog/restful-wp-cli-update-3.html">originally appeared on the WP-CLI blog</a>.</em></p>
<p>Let me just say — Thursday, February 4th was <a href="https://twitter.com/Krogsgard/status/695634320401285121">pretty darn demoralizing</a>. I spent a huge amount of time in January towards the WP REST API in preparation for what I wanted to do on the command line, and a lot of momentum / inspiration / general good feelings were destroyed in that meeting. As such, I spent much of February and March working on WP-CLI features unrelated to the WP REST API (e.g. <a href="http://wp-cli.org/commands/package/">package management</a>).</p>
<p>But, I’m back in the saddle. Because I’m 2/3 of the way through one of those fancy WP REST API + React WordPress applications, I’m running into dozens of ways I want to be able to make WordPress more efficiently. And of course, this means doing it on the command line.</p>
<p>Before we proceed: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You’ll want to <code>wp cli update --nightly</code> to play with this new functionality locally. Once you’ve done so, you can <code>wp package install danielbachhuber/wp-rest-cli</code> to install the latest.</p>
<h3 id="use---debug-and---debugrest-to-profile-your-rest-endpoints">Use <code>--debug</code> and <code>--debug=rest</code> to profile your REST endpoints<a href="#use---debug-and---debugrest-to-profile-your-rest-endpoints" title="Permalink">#</a></h3>
<p>REST APIs are all about speed. Milliseconds matter, and every one you manage to shave off will have a real world impact on user experience.</p>
<p>To make it <em>much</em>, much easier to understand how many queries your endpoint is performing, and how long they take, I’ve added some lightweight profiling to RESTful WP-CLI.</p>
<p>Use <code>--debug</code> to get a summary of your queries for any command.</p>
<pre tabindex="0"><code>$ wp rest post list --debug
Debug (rest): REST command executed 7 queries in 0.001954 seconds. Use --debug=rest to see all queries. (1.446s)
+----+-----------------------------+
| id | title                       |
+----+-----------------------------+
| 1  | {&#34;rendered&#34;:&#34;Hello world!&#34;} |
+----+-----------------------------+
</code></pre><p>Use <code>--debug=rest</code> to get the full list of queries executed.</p>
<pre tabindex="0"><code>$ wp rest post list --fields=id,title --debug=rest
Debug: REST command executed 7 queries in 0.001696 seconds. Ordered by slowness, the queries are:
1:
  - 0.000291 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_Query-&gt;query, WP_Query-&gt;get_posts
  - SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = &#39;post&#39; AND (wp_posts.post_status = &#39;publish&#39;)  ORDER BY wp_posts.post_date DESC LIMIT 0, 10
2:
  - 0.000257 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_Query-&gt;query, WP_Query-&gt;get_posts, WP_Query-&gt;set_found_posts
  - SELECT FOUND_ROWS()
3:
  - 0.000256 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_REST_Posts_Controller-&gt;prepare_item_for_response, setup_postdata, WP_Query-&gt;setup_postdata, get_userdata, get_user_by, WP_User::get_data_by
  - SELECT * FROM wp_users WHERE ID = &#39;1&#39;
4:
  - 0.000244 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_REST_Posts_Controller-&gt;prepare_item_for_response, setup_postdata, WP_Query-&gt;setup_postdata, get_userdata, get_user_by, WP_User-&gt;init, WP_User-&gt;for_blog, WP_User-&gt;_init_caps, get_user_meta, get_metadata, update_meta_cache
  - SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC
5:
  - 0.000233 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_Query-&gt;query, WP_Query-&gt;get_posts, _prime_post_caches
  - SELECT wp_posts.* FROM wp_posts WHERE ID IN (1)
6:
  - 0.000209 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_Query-&gt;query, WP_Query-&gt;get_posts, _prime_post_caches, update_post_caches, update_object_term_cache, wp_get_object_terms
  - SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id  WHERE tt.taxonomy IN (&#39;category&#39;, &#39;post_tag&#39;, &#39;post_format&#39;) AND tr.object_id IN (1) ORDER BY t.name ASC
7:
  - 0.000206 seconds
  - WP_REST_Posts_Controller-&gt;get_items, WP_Query-&gt;query, WP_Query-&gt;get_posts, _prime_post_caches, update_post_caches, update_postmeta_cache, update_meta_cache
  - SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1) ORDER BY meta_id ASC
 (1.598s)
+----+-----------------------------+
| id | title                       |
+----+-----------------------------+
| 1  | {&#34;rendered&#34;:&#34;Hello world!&#34;} |
+----+-----------------------------+
</code></pre><p>Profiling works for any CRUD operation.</p>
<pre tabindex="0"><code>$ wp rest post create --title=&#34;Test post&#34; --user=daniel --debug
Debug (rest): REST command executed 28 queries in 0.023962 seconds. Use --debug=rest to see all queries. (1.777s)
Success: Created post.
$ wp rest post update 3 --content=&#34;Foo bar&#34; --user=daniel --debug
Debug (rest): REST command executed 31 queries in 0.023309 seconds. Use --debug=rest to see all queries. (1.634s)
Success: Updated post.
</code></pre><p>Hopefully this feature becomes an invaluable part of your REST endpoint development process, as it has mine. Hit me with feedback on <a href="https://github.com/danielbachhuber/wp-rest-cli/issues/42">its Github issue</a>.</p>
<h3 id="use-wp-rest--edit-to-edit-a-resource-in-your-system-editor">Use <code>wp rest * edit</code> to edit a resource in your system editor<a href="#use-wp-rest--edit-to-edit-a-resource-in-your-system-editor" title="Permalink">#</a></h3>
<p>Most people probably don’t know this, but you can use <code>wp post edit &lt;id&gt;</code> to edit post content in your system editor (e.g. vim). Now, with <code>wp rest * edit</code>, you can edit any REST resource in your system editor.</p>
<pre tabindex="0"><code>$ wp rest post edit 3 --user=daniel
</code></pre><p>When you run <code>wp rest * edit</code>, RESTful WP-CLI fetches the resource, transforms it into a YAML document, and puts it in your system editor:</p>
<pre tabindex="0"><code>---
date: 2016-04-14T14:02:57
date_gmt: null
password:
slug:
status: draft
title:
  raw: Test post
  rendered: Test post
content:
  raw: Foo bar
  rendered: |
    |
        &lt;p&gt;Foo bar&lt;/p&gt;
excerpt:
  raw:
  rendered: |
    |
        &lt;p&gt;Foo bar&lt;/p&gt;
author: 1
featured_media: 0
comment_status: open
ping_status: open
sticky: false
format: standard
categories:
  - 1
tags: [ ]
</code></pre><p>If you make changes to any of the fields, then the command sends it back to WordPress (through the WP REST API) to update.</p>
<p>On WordPress installs that support Basic Auth, editing also works over HTTP:</p>
<pre tabindex="0"><code>$ wp --http=http://daniel:daniel@wordpress-develop.dev rest post edit 1
</code></pre><p>Et, voila.</p>
<h3 id="get-involved">Get involved<img src="#get-involved" alt="#"  /></h3>
<p>I’d love your input on the dozens of ideas I have for a more RESTful WP-CLI:</p>
<ul>
<li>Render the help docs in formats like API Blueprint and Swagger [<a href="https://github.com/danielbachhuber/wp-rest-cli/issues/36">#36</a>]</li>
<li>Introduce <code>wp rest * generate</code> to generate mock data in the format your application expects [<a href="https://github.com/danielbachhuber/wp-rest-cli/issues/55">#55</a>].</li>
<li>Introduce <code>wp rest * diff</code> to be able to diff the state of two different WordPresses, a la <a href="https://github.com/danielbachhuber/dictator">Dictator</a> [<a href="https://github.com/danielbachhuber/wp-rest-cli/issues/56">#56</a>].</li>
<li>Figure out an elegant aliases implementation, so <code>--http=http://daniel:daniel@wordpress-develop.dev</code> becomes <code>@wpdev</code> [<a href="https://github.com/wp-cli/wp-cli/issues/2039">#2039</a>]</li>
</ul>
<p>And I want to hear your ideas too! As well as any feedback, questions, or violent dissent. <a href="https://github.com/danielbachhuber/wp-rest-cli/issues">Let’s chat on Github</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Empty Posts 2 Posts tables when using wp site empty</title>
      <link>https://danielbachhuber.com/empty-posts-2-posts-tables-when-using-wp-site-empty/</link>
      <pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/empty-posts-2-posts-tables-when-using-wp-site-empty/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a fan of &lt;code&gt;wp site empty&lt;/code&gt; (&lt;a href=&#34;http://wp-cli.org/commands/site/empty/&#34;&gt;doc&lt;/a&gt;) like I am, you&amp;rsquo;ll want to make sure Posts 2 Posts tables are emptied too.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gist.github.com/danielbachhuber/d1a97ceab65e7e7a17ba8182cb8c2e00&#34;&gt;https://gist.github.com/danielbachhuber/d1a97ceab65e7e7a17ba8182cb8c2e00&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re a fan of <code>wp site empty</code> (<a href="http://wp-cli.org/commands/site/empty/">doc</a>) like I am, you&rsquo;ll want to make sure Posts 2 Posts tables are emptied too.</p>
<p><a href="https://gist.github.com/danielbachhuber/d1a97ceab65e7e7a17ba8182cb8c2e00">https://gist.github.com/danielbachhuber/d1a97ceab65e7e7a17ba8182cb8c2e00</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>TIL you shouldn&#39;t share the &#34;web invoice&#34; link in Harvest</title>
      <link>https://danielbachhuber.com/til-you-shouldnt-share-the-web-invoice-link-in-harvest/</link>
      <pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/til-you-shouldnt-share-the-web-invoice-link-in-harvest/</guid>
      <description>&lt;p&gt;Harvest &lt;a href=&#34;https://twitter.com/danielbachhuber/status/461638337791422464&#34;&gt;is&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/461902729502142464&#34;&gt;amazing&lt;/a&gt; (&lt;a href=&#34;https://twitter.com/danielbachhuber/status/659459823352725504&#34;&gt;genuinely&lt;/a&gt;). In two years as a daily active user, this is the first &lt;a href=&#34;https://twitter.com/danielbachhuber/status/719622112202231809&#34;&gt;issue&lt;/a&gt; I&amp;rsquo;ve ever encountered with it:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I heard back from our developers, and it looks like this issues stems from not sending invoices directly from Harvest. It sounds like you might be copying the web invoice link and sending that to your clients, then marking the invoices as sent manually.&lt;/p&gt;&#xA;&lt;p&gt;The problem with this, is our Stripe integration relies on a Sent invoice to generate an email address to be used for payment. This is compounded by the fact that we have per-user invoice links now. The invoice link you&amp;rsquo;re copying is from your own account, and when someone else visits that link, Harvest think it&amp;rsquo;s your email address viewing it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Harvest <a href="https://twitter.com/danielbachhuber/status/461638337791422464">is</a> <a href="https://twitter.com/danielbachhuber/status/461902729502142464">amazing</a> (<a href="https://twitter.com/danielbachhuber/status/659459823352725504">genuinely</a>). In two years as a daily active user, this is the first <a href="https://twitter.com/danielbachhuber/status/719622112202231809">issue</a> I&rsquo;ve ever encountered with it:</p>
<blockquote>
<p>I heard back from our developers, and it looks like this issues stems from not sending invoices directly from Harvest. It sounds like you might be copying the web invoice link and sending that to your clients, then marking the invoices as sent manually.</p>
<p>The problem with this, is our Stripe integration relies on a Sent invoice to generate an email address to be used for payment. This is compounded by the fact that we have per-user invoice links now. The invoice link you&rsquo;re copying is from your own account, and when someone else visits that link, Harvest think it&rsquo;s your email address viewing it.</p>
<p>To fix this, you&rsquo;ll simply need to send your invoices directly from Harvest normally. If that&rsquo;s not the case, let me know and we can take a closer look!</p></blockquote>
<p>So, if you use Harvest, I guess you shouldn&rsquo;t do that.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Quick and dirty React reactions</title>
      <link>https://danielbachhuber.com/quick-and-dirty-react-reactions/</link>
      <pubDate>Wed, 30 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/quick-and-dirty-react-reactions/</guid>
      <description>&lt;p&gt;First of all, don&amp;rsquo;t expect much of this blog post. It&amp;rsquo;s intended to capture some thoughts and opinions I&amp;rsquo;ve noted down while working on my first real-world React / WP REST API application. It&amp;rsquo;s not intended to be polished, professional-grade marketing copy. It also assumes you have some familiarity with &lt;a href=&#34;https://facebook.github.io/react/&#34;&gt;React&lt;/a&gt;, &lt;a href=&#34;http://redux.js.org/&#34;&gt;Redux&lt;/a&gt;, and the &lt;a href=&#34;http://v2.wp-api.org/&#34;&gt;WP REST API&lt;/a&gt; — if you don&amp;rsquo;t, the blog post may not make sense. You&amp;rsquo;ve been warned.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I pretty much love React at this point, and can&amp;rsquo;t imagine using WordPress&amp;rsquo; theming for anything in the future. If you hire me to build a brochure website, I will probably build it in React, just because.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>First of all, don&rsquo;t expect much of this blog post. It&rsquo;s intended to capture some thoughts and opinions I&rsquo;ve noted down while working on my first real-world React / WP REST API application. It&rsquo;s not intended to be polished, professional-grade marketing copy. It also assumes you have some familiarity with <a href="https://facebook.github.io/react/">React</a>, <a href="http://redux.js.org/">Redux</a>, and the <a href="http://v2.wp-api.org/">WP REST API</a> — if you don&rsquo;t, the blog post may not make sense. You&rsquo;ve been warned.</p>
<hr>
<p>I pretty much love React at this point, and can&rsquo;t imagine using WordPress&rsquo; theming for anything in the future. If you hire me to build a brochure website, I will probably build it in React, just because.</p>
<p>What I like most is that everything is so damn elegant. The component-based architecture encourages you to think about whatever you&rsquo;re building in terms of reusable pieces. I suspect this naturally lends itself to Better Quality Code.</p>
<p>But, React is also a substantial departure from WordPress&rsquo; quick and dirty ethos. A concern of mine is long-term maintainability of a React-based website, particularly for clients who think they&rsquo;re getting a WordPress website and expect to be able to hire a WordPress developer for future changes to it.</p>
<hr>
<p>Routing is painful. I haven&rsquo;t found an elegant solution to the fact that routes need to be declared in WordPress <em>and</em> in React.</p>
<p>For the project I&rsquo;m on, all routes are going into React first so the application works as expected. At some point, I&rsquo;ll need to figure out how equivalent routes should be sustainably registered as WordPress rewrites.</p>
<p>The theory is that single page applications deployed as WordPress themes can use WordPress to serve response headers, social / SEO meta, and prepare an initial payload of data using the main query, before passing on the torch to React. In practice, I&rsquo;ve worked very little of this out yet.</p>
<p><em>Or</em>, I can noop WordPress&rsquo; route handling entirely, but then I&rsquo;ll lose some of the benefit of having WordPress serving the initial pageload.</p>
<hr>
<p>Which brings me to managing application state. Once you get over the day of effort to understand how Redux works, it&rsquo;s really quite elegant. It also takes about 50% more effort than I&rsquo;d like to get my application data into my components.</p>
<p>If I may make one request, could someone please write a redux-wp library to magically generate actions and reducers from my WP REST API index?</p>
<hr>
<p>If you&rsquo;re curious what real-world WP REST API endpoint registration looks like, here&rsquo;s the Controller for a Record which, in the LMS data model of students completing activities and quizzes, stores the data of a student&rsquo;s answers to an activity or quiz.</p>
<p><a href="https://gist.github.com/danielbachhuber/2b3ed549beb0984e2070979370a8650b">https://gist.github.com/danielbachhuber/2b3ed549beb0984e2070979370a8650b</a></p>
<p>Commentary on my code, in no particular order, includes:</p>
<ul>
<li>I&rsquo;m not sure why I&rsquo;m using <code>register_rest_field()</code> when I&rsquo;m already subclassing and have access to the schema. I should probably refactor that.</li>
<li>Make sure to register your fields before your routes, if you&rsquo;re using the helpers to transform schema into route args. This bit me once.</li>
<li>While it&rsquo;s nice I can use a filter to modify the behavior of <code>WP_REST_Posts_Controller-&gt;get_items()</code>, aforementioned method is impossible to subclass.</li>
<li>The REST API&rsquo;s concept of context (e.g. embed vs. view vs. edit) is mostly useless in my case, because I&rsquo;m always fetching the entirety of the resource. I would like for a way to easy disable the concept of context. Also, we should&rsquo;ve gone with <code>title</code> and <code>title_rendered</code> instead of creating a title object on the Post resource.</li>
<li>Using <code>arg_options</code> always feels really awkward, because registering a schema property seems like it should be equivalent to registering a query parameter or anything else. I want to be able to use <code>validate_callback</code>, <code>default</code>, and others as top-level arguments to registering a schema property.</li>
</ul>
<p>Generally, I consider the WP REST API controllers to be good, but not great, right now. I&rsquo;m writing lots of tests for cases I don&rsquo;t think I should <em>need</em> to write tests for, because the WP REST API is a bit leaky. For instance, I&rsquo;d expect for my declaration of query params and schema to be the canonical truth of what the endpoint supports, which isn&rsquo;t the case currently (e.g. you can deregister the <code>password</code> field on a Post-derived resource, and password will still be included in the response object).</p>
<p>In my ideal world, to create a custom post type endpoint, I would:</p>
<ul>
<li>Extend <code>WP_REST_Posts_Controller</code>.</li>
<li>Define the shape of my resource (e.g. its schema)</li>
<li>Declare which operations the resource supports (list, get, create, update, delete) through some means where I didn&rsquo;t have to extend <code>register_routes()</code></li>
<li>Declare which query params the resource supports.</li>
<li>Implement permissions checks as needed.</li>
</ul>
<p>Leave me any questions you have in the comments! Or, better yet, write about the real-world lessons you&rsquo;ve learned.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Atomic deploys with DeployHQ</title>
      <link>https://danielbachhuber.com/atomic-deploys-with-deployhq/</link>
      <pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/atomic-deploys-with-deployhq/</guid>
      <description>&lt;p&gt;I use &lt;a href=&#34;https://www.deployhq.com/&#34;&gt;DeployHQ&lt;/a&gt; to automatically deploy WordPress projects on Github to whatever server they need up on. DeployHQ is pretty good, but the deploys aren&amp;rsquo;t atomic. This means that, if a given deploy takes a minute and a half to perform its filesystem operations, your web server could be serving inconsistent application state for up to a minute and a half, potentially causing fatals and who knows what.&lt;/p&gt;&#xA;&lt;p&gt;To perform a more atomic deploy, use DeployHQ to deploy your project to a deploy directory, and then run a post-deploy copy command to move your files where they need to be.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I use <a href="https://www.deployhq.com/">DeployHQ</a> to automatically deploy WordPress projects on Github to whatever server they need up on. DeployHQ is pretty good, but the deploys aren&rsquo;t atomic. This means that, if a given deploy takes a minute and a half to perform its filesystem operations, your web server could be serving inconsistent application state for up to a minute and a half, potentially causing fatals and who knows what.</p>
<p>To perform a more atomic deploy, use DeployHQ to deploy your project to a deploy directory, and then run a post-deploy copy command to move your files where they need to be.</p>
<p><img src="images/2016-03-24-at-6-24-am.png" alt="2016-03-24 at 6.24 AM.png"  width="1962"
	height="1092"  /></p>
<p>As you can see, I&rsquo;m trialling <a href="https://www.serverpilot.io/?refcode=e9e4e43bfc13">ServerPilot</a> for managing servers. More on that later, possibly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Fieldmanager hack day</title>
      <link>https://danielbachhuber.com/field-manager-hack-day/</link>
      <pubDate>Thu, 18 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/field-manager-hack-day/</guid>
      <description>&lt;p&gt;Off to NYC to hack on &lt;a href=&#34;http://fieldmanager.org/&#34;&gt;Fieldmanager&lt;/a&gt; tomorrow and Saturday with the folks at Alley.&lt;/p&gt;&#xA;&lt;p&gt;For the longest time, I was a staunch proponent of writing my own meta boxes, each and every time. Then I discovered Fieldmanager, and never looked back.&lt;/p&gt;&#xA;&lt;p&gt;Field definition is a gateway drug for modeling WordPress data. And, in the WP REST API, the better WordPress data is modeled, the more clients can do with it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Off to NYC to hack on <a href="http://fieldmanager.org/">Fieldmanager</a> tomorrow and Saturday with the folks at Alley.</p>
<p>For the longest time, I was a staunch proponent of writing my own meta boxes, each and every time. Then I discovered Fieldmanager, and never looked back.</p>
<p>Field definition is a gateway drug for modeling WordPress data. And, in the WP REST API, the better WordPress data is modeled, the more clients can do with it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Your feedback on the WP REST API</title>
      <link>https://danielbachhuber.com/your-feedback-on-the-wp-rest-api/</link>
      <pubDate>Wed, 10 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/your-feedback-on-the-wp-rest-api/</guid>
      <description>&lt;p&gt;Earlier today, I &lt;a href=&#34;https://twitter.com/danielbachhuber/status/697067292782235648&#34;&gt;tweeted&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Right about now seems like a good time to get official feedback on WP REST API from @wordpress&amp;rsquo;s lead developers and committers. Just sayin&#39;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Helen, a lead WordPress developer, &lt;a href=&#34;https://twitter.com/helenhousandi/status/697134460949684225&#34;&gt;replied with&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Where does this feedback go, how is it structured, what makes it &amp;ldquo;official&amp;rdquo;, and how binding is anything that is said?&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;To which I &lt;a href=&#34;https://twitter.com/danielbachhuber/status/697142516601073664&#34;&gt;replied&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;maybe: 1) make/core or personal blog posts 2) I have suggestions 3) comes from your voice 4) actual goal: build consensus&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Earlier today, I <a href="https://twitter.com/danielbachhuber/status/697067292782235648">tweeted</a>:</p>
<blockquote>
<p>Right about now seems like a good time to get official feedback on WP REST API from @wordpress&rsquo;s lead developers and committers. Just sayin'</p></blockquote>
<p>Helen, a lead WordPress developer, <a href="https://twitter.com/helenhousandi/status/697134460949684225">replied with</a>:</p>
<blockquote>
<p>Where does this feedback go, how is it structured, what makes it &ldquo;official&rdquo;, and how binding is anything that is said?</p></blockquote>
<p>To which I <a href="https://twitter.com/danielbachhuber/status/697142516601073664">replied</a>:</p>
<blockquote>
<p>maybe: 1) make/core or personal blog posts 2) I have suggestions 3) comes from your voice 4) actual goal: build consensus</p></blockquote>
<p>There&rsquo;s a lot of background to this exchange. If it doesn&rsquo;t make sense to you, first read <a href="http://wptavern.com/wp-rest-api-delayed-contributors-facing-gridlock">this WP Tavern post</a> and then read <a href="https://poststatus.com/wordpress-rest-api-should-be-iterative/">this Post Status post</a>. The tldr: we&rsquo;re at a juncture for the WP REST API (a good thing!) where we&rsquo;ve completed a ton of work (four years for Ryan, in fact) and need to make decisions on whether it&rsquo;s ready to be merged, or needs additional work before merge consideration.</p>
<p>And we need to make these decisions as a group. Of individuals. With very different: backgrounds, opinions, experience levels with the REST API, and experience levels with other APIs. I&rsquo;m sure you all know how group decision making goes.</p>
<p>Before we make decisions though, it would be incredibly helpful to have as much information on the table as possible — so everyone can know all sides of the decisions we need to make. This is why I publicly requested &ldquo;official&rdquo; feedback on the WP REST API from the WordPress project&rsquo;s lead and contributing developers:</p>
<p><a href="https://make.wordpress.org/core/handbook/about/organization/"><img src="images/2016-02-09-at-5-17-pm.png" alt="2016-02-09 at 5.17 PM.png"  width="745"
	height="650"  /></a></p>
<p> </p>
<p>The feedback doesn&rsquo;t need to be of any particular form. Jeremy Felt <a href="https://jeremyfelt.com/2016/02/09/thoughts-on-merging-the-wp-rest-api-plugin/">already posted his</a>, which is A+, very much appreciate. And, we (Ryan, Rachel, Joe and I) would love <em>constructive</em> feedback from anyone and everyone — but WordPress&rsquo; lead developers and committers are the ones who will be maintaining this project for the long term.</p>
<p>If you&rsquo;re looking for inspiration on how to get started, I typically try to frame my feedback as:</p>
<ul>
<li>What I like.</li>
<li>What I&rsquo;d like to see improved.</li>
</ul>
<p>Both of these could cover:</p>
<ul>
<li>What you like about the features the REST API supports, and which features you think are a priority to add before merge (and after).</li>
<li>Of our documentation, what topics you find explained well, and which should we focus our efforts to improve upon.</li>
<li>Of our codebase, what abstractions and patterns you find delightful, and which you think are confusing.</li>
<li>What you like about how we&rsquo;ve conducted the project so far, and what changes you think we need make for the next six months to be successful, and the twelve months after that.</li>
</ul>
<p>Ultimately, &ldquo;should we merge it?&rdquo; is a binary decision. But, getting as many perspectives as possible out in the open will help us better explore the potential ramifications of the decision, which is more important than the decision itself.</p>
<p>If you don&rsquo;t want to post on your personal blog, then <a href="https://make.wordpress.org/core/2016/02/05/rest-api-meeting-summary-feb-4/">leaving a comment on this post</a> is a great place for your feedback. Thanks in advance!</p>
]]></content:encoded>
    </item>
    <item>
      <title>RESTful WP-CLI: No rest for the weary</title>
      <link>https://danielbachhuber.com/restful-wp-cli-no-rest-for-the-weary/</link>
      <pubDate>Thu, 04 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/restful-wp-cli-no-rest-for-the-weary/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;http://wp-cli.org/blog/restful-wp-cli-update-2.html&#34;&gt;originally appeared on the WP-CLI blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Like my title? Get the pun? Te he he.&lt;/p&gt;&#xA;&lt;p&gt;I’m just back from &lt;a href=&#34;https://feelingrestful.com/&#34;&gt;A Day of REST&lt;/a&gt;, where I spoke about &lt;a href=&#34;http://wp-cli.org/restful/&#34;&gt;a more RESTful WP-CLI&lt;/a&gt;, and unlocking the potential of the WP REST API at the command line. It was probably the best talk I’ve ever done. You can &lt;a href=&#34;http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/&#34;&gt;check out my annotated slides&lt;/a&gt; if you haven’t already.&lt;/p&gt;&#xA;&lt;p&gt;The talk covered the progress I’ve already made, and the hypotheticals on my mind every day when I go for a swim.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="http://wp-cli.org/blog/restful-wp-cli-update-2.html">originally appeared on the WP-CLI blog</a>.</em></p>
<p>Like my title? Get the pun? Te he he.</p>
<p>I’m just back from <a href="https://feelingrestful.com/">A Day of REST</a>, where I spoke about <a href="http://wp-cli.org/restful/">a more RESTful WP-CLI</a>, and unlocking the potential of the WP REST API at the command line. It was probably the best talk I’ve ever done. You can <a href="http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/">check out my annotated slides</a> if you haven’t already.</p>
<p>The talk covered the progress I’ve already made, and the hypotheticals on my mind every day when I go for a swim.</p>
<h3 id="wp-rest-cli-v010">wp-rest-cli v0.1.0</h3>
<p>Today marks v0.1.0 for <a href="https://github.com/danielbachhuber/wp-rest-cli">wp-rest-cli</a>. This initial release makes WP REST API endpoints available as WP-CLI commands. It does so by:</p>
<ul>
<li>Auto-discovering endpoints from any WordPress site running WordPress 4.4 or higher.</li>
<li>Registering WP-CLI commands for the endpoints it understands.</li>
</ul>
<p><strong>Warning:</strong> This project is at a very early stage. Treat it as an experiment, and understand that breaking changes will be made without warning. The sky may also fall on your head.</p>
<p>Here’s how it works:</p>
<pre tabindex="0"><code>$ wp rest
usage: wp rest attachment &lt;command&gt;
   or: wp rest category &lt;command&gt;
   or: wp rest comment &lt;command&gt;
   or: wp rest meta &lt;command&gt;
   or: wp rest page &lt;command&gt;
   or: wp rest pages-revision &lt;command&gt;
   or: wp rest post &lt;command&gt;
   or: wp rest posts-revision &lt;command&gt;
   or: wp rest status &lt;command&gt;
   or: wp rest tag &lt;command&gt;
   or: wp rest taxonomy &lt;command&gt;
   or: wp rest type &lt;command&gt;
   or: wp rest user &lt;command&gt;

$ wp --http=demo.wp-api.org rest tag get 65 --format=json
{
  &#34;id&#34;: 65,
  &#34;link&#34;: &#34;http://demo.wp-api.org/tag/dolor-in-sunt-placeat-molestiae-ipsam/&#34;,
  &#34;name&#34;: &#34;Dolor in sunt placeat molestiae ipsam&#34;,
  &#34;slug&#34;: &#34;dolor-in-sunt-placeat-molestiae-ipsam&#34;,
  &#34;taxonomy&#34;: &#34;post_tag&#34;
}
</code></pre><p>Notice how you can use <code>--http=&lt;domain&gt;</code> to interact with a remote WordPress site.<code>--http=&lt;domain&gt;</code> must be supplied as the second argument to be used. Without it, wp-rest-cli will look for endpoints of a WordPress site in a directory specified by <code>--path=&lt;path&gt;</code> (or the current directory, if<code>--path=&lt;path</code> isn’t supplied).</p>
<p>Using wp-rest-cli requires the latest nightly build of WP-CLI, which you can install with<code>wp cli update --nightly</code>. Once you’ve done so, you can install wp-rest-cli with<code>wp package install danielbachhuber/wp-rest-cli</code>.</p>
<h3 id="unreleased-wp-cli-improvements">Unreleased WP-CLI improvements</h3>
<p>Wait, <code>wp package install</code>. What in the?</p>
<p>That’s right, WP-CLI now has package management. Using <code>wp cli update --nightly</code>, you now can:</p>
<ul>
<li><code>wp package browse</code> to browse <a href="http://wp-cli.org/package-index/">packages available for installation</a>.</li>
<li><code>wp package install</code> to install a given package.</li>
<li><code>wp package list</code> to list packages installed locally.</li>
<li><code>wp package uninstall</code> to uninstall a given package.</li>
</ul>
<p>While I wasn’t <em>planning</em> to dive down this rabbit hole during the Kickstarter project, I was finally inspired on how to finish the feature, and took a couple hours yesterday to do so. It’s amazing how you can be mentally blocked on a problem for literally two years but then, once you’re unblocked, finish it up in a short period of time.</p>
<p>You’ll probably run into one or more bugs with <code>wp package</code>. When you do, please <a href="https://github.com/wp-cli/wp-cli/issues/1564">let me know on this issue</a>. If the bugs get too hairy, I may pull the feature from the release and revisit. But, for now, you can much more easily install and use community packages.</p>
<p>wp-rest-cli also makes use of another new feature: register arbitrary functions, closures, and class methods as WP-CLI commands.</p>
<p>For instance, given a closure <code>$hook_command</code>:</p>
<pre tabindex="0"><code>$hook_command = function( $args, $assoc_args ) {
    // the meat of the command
};
WP_CLI::add_command( &#39;hook&#39;, $hook_command, array(
    &#39;shortdesc&#39; =&gt; &#39;List callbacks registered to a given action or filter.&#39;,
    &#39;synopsis&#39; =&gt; array(
        array(
            &#39;name&#39;        =&gt; &#39;hook&#39;,
            &#39;type&#39;        =&gt; &#39;positional&#39;,
            &#39;description&#39; =&gt; &#39;The key for the action or filter.&#39;,
        ),
        array(
            &#39;name&#39;        =&gt; &#39;format&#39;,
            &#39;type&#39;        =&gt; &#39;assoc&#39;,
            &#39;description&#39; =&gt; &#39;List callbacks as a table, JSON, or CSV. Default: table.&#39;,
            &#39;optional&#39;    =&gt; true,
        ),
    ),
) );
</code></pre><p>Then, when you run <code>wp hook init</code>, you’ll see:</p>
<pre tabindex="0"><code>$ wp hook init
+---------------------------------+----------+---------------+
| function                        | priority | accepted_args |
+---------------------------------+----------+---------------+
| create_initial_post_types       | 0        | 1             |
| create_initial_taxonomies       | 0        | 1             |
| wp_widgets_init                 | 1        | 1             |
| smilies_init                    | 5        | 1             |
| wp_cron                         | 10       | 1             |
| _show_post_preview              | 10       | 1             |
| rest_api_init                   | 10       | 1             |
| kses_init                       | 10       | 1             |
| wp_schedule_update_checks       | 10       | 1             |
| ms_subdomain_constants          | 10       | 1             |
| maybe_add_existing_user_to_blog | 10       | 1             |
| check_theme_switched            | 99       | 1             |
+---------------------------------+----------+---------------+
</code></pre><p>Want to use this command locally? Update to the nightly, and then run<code>wp package install danielbachhuber/wp-hook-command</code>.</p>
<h3 id="whats-next">What’s next</h3>
<p>Well… I’ve spent a ton of hours over the last month on the WP REST API. 67.03 hours of 83 budgeted, to be precise. Given there doesn’t yet seem to be an end in sight, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it’s not sustainable.</p>
<p>On the wp-rest-cli front, the product problems at the top of my mind are authentication and aliases.</p>
<p>Instead of:</p>
<pre tabindex="0"><code>wp --http=demo.wp-api.org --user=daniel:daniel rest tag create
</code></pre><p>I’d much prefer:</p>
<pre tabindex="0"><code>wp @wpapi tag create
</code></pre><p>In the example preceeding, <code>@wpapi</code> is an alias for both the target and authentication.</p>
<p>In this hypothetical universe, aliases would also be injected into the WP-CLI runtime:</p>
<pre tabindex="0"><code>$ wp @wpapi
usage: wp @wpapi attachment &lt;command&gt;
   or: wp @wpapi category &lt;command&gt;
   or: wp @wpapi comment &lt;command&gt;
   or: wp @wpapi meta &lt;command&gt;
   or: wp @wpapi page &lt;command&gt;
   or: wp @wpapi pages-revision &lt;command&gt;
   or: wp @wpapi post &lt;command&gt;
   or: wp @wpapi posts-revision &lt;command&gt;
   or: wp @wpapi status &lt;command&gt;
   or: wp @wpapi tag &lt;command&gt;
   or: wp @wpapi taxonomy &lt;command&gt;
   or: wp @wpapi type &lt;command&gt;
   or: wp @wpapi user &lt;command&gt;
</code></pre><p>There’s a bit of thinking to do, and code to write, to get from here to there, though.</p>
<p>Feeling inspired? I want to hear from you! Particularly if you’ve written custom endpoints I can test against. Please <a href="https://github.com/danielbachhuber/wp-rest-cli/issues">open a Github issue</a> with questions, feedback, and violent dissent, or <a href="mailto:daniel@handbuilt.co">email me directly</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#feelingrestful: A more RESTful WP-CLI</title>
      <link>https://danielbachhuber.com/feelingrestful-a-more-restful-wp-cli/</link>
      <pubDate>Thu, 28 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/feelingrestful-a-more-restful-wp-cli/</guid>
      <description>&lt;p&gt;Earlier today, I gave a talk at &lt;a href=&#34;https://feelingrestful.com/&#34;&gt;A Day of REST&lt;/a&gt; about unlocking the potential of the WP REST API at the command line — by creating &lt;a href=&#34;http://wp-cli.org/restful/&#34;&gt;a more RESTful WP-CLI&lt;/a&gt;. Check out the &lt;a href=&#34;https://github.com/danielbachhuber/wp-rest-cli&#34;&gt;project on Github&lt;/a&gt;, and stay tuned for the v0.1.0 release. Read on for my (loosely edited) annotated slides from the presentation.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Earlier today, I gave a talk at <a href="https://feelingrestful.com/">A Day of REST</a> about unlocking the potential of the WP REST API at the command line — by creating <a href="http://wp-cli.org/restful/">a more RESTful WP-CLI</a>. Check out the <a href="https://github.com/danielbachhuber/wp-rest-cli">project on Github</a>, and stay tuned for the v0.1.0 release. Read on for my (loosely edited) annotated slides from the presentation.</p>
<p><img src="images/201601presentation-dayofrest-001.jpeg" alt="201601presentation-dayofrest.001"  width="1024"
	height="768"  /></p>
<p>A more RESTful WP-CLI is about unlocking the potential of the WP REST API at the command line. But what does this actually mean? Let me begin with a story&hellip;</p>
<p><img src="images/201601presentation-dayofrest-002.jpeg" alt="201601presentation-dayofrest.002"  width="1024"
	height="768"  /></p>
<p>Migrations used to really suck.</p>
<p><img src="images/201601presentation-dayofrest-003.jpeg" alt="201601presentation-dayofrest.003"  width="1024"
	height="768"  /></p>
<p>Back in the olden days, there was a web interface for mapping users before import. Imagine having dozens of files to import, each with hundreds of users to map. This nightmare is how I started out.</p>
<p>At the beginning of my career I helped run CoPress, a hosting company which helped move student newspaper websites to WordPress. Intelligently, we had a Python conversion script to transform College Publisher archives to WordPress WXR. Not very intelligently, we uploaded those WXR files through the web. CM Life was the largest import I had to work on.</p>
<p><img src="images/201601presentation-dayofrest-004.jpeg" alt="201601presentation-dayofrest.004"  width="1024"
	height="768"  /></p>
<p>&ldquo;Hey Brian, about a third of your archives have been imported into your site. To finish this process, however, we&rsquo;ll need to take the site down for up to a couple of hours, or turn off comments and have you not publish anything at least. The technical explanation is that the import script is being shut down by Apache halfway through the import process because it&rsquo;s taking a longer time to check the incoming content against the database.&rdquo;</p>
<p><img src="images/201601presentation-dayofrest-005.jpeg" alt="201601presentation-dayofrest.005"  width="1024"
	height="768"  /></p>
<p>Fast-forward a few years later. When I joined Automattic&rsquo;s WordPress.com VIP team, they had a directory full of really useful bin scripts with really inconsistent usage instructions. One of those bin scripts was Thorsten Ott&rsquo;s CLI wrapper for the WordPress importer.</p>
<p>Thorsten also introduced me to WP-CLI. Driven by the desire to have a consistent interface for the bin scripts, I contributed his CLI wrapper upstream to WP-CLI. And thus, what used to take hours through the web, suddenly took minutes or seconds at the command line.</p>
<p><img src="images/201601presentation-dayofrest-006.jpeg" alt="201601presentation-dayofrest.006"  width="1024"
	height="768"  /></p>
<p>But migrations still kinda suck.</p>
<p>The ideal WXR import requires a fresh, empty site and script execution without errors. If you import into an existing site, or your script fatals, your data can be broken without you realizing. Furthermore, WXR doesn&rsquo;t handle custom database tables or site configuration.</p>
<p>Let&rsquo;s leave this problem of migrations for a bit and get back to a more RESTful WP-CLI.<img src="images/201601presentation-dayofrest-007.jpeg" alt="201601presentation-dayofrest.007"  width="1024"
	height="768"  /></p>
<p><a href="http://wp-cli.org/">WP-CLI</a> is a command line interface for anything you might do in the WordPress admin (create, edit, and delete posts, comments and users). It also provides useful WordPress-related commands, for instance:</p>
<ul>
<li><a href="http://wp-cli.org/commands/site/empty/">wp site empty</a> empties your site of posts, comments, and terms while leaving options and users. Useful if you want to reset the content in your database, without resetting site configuration.</li>
<li><a href="http://wp-cli.org/commands/search-replace/">wp search-replace</a> is a serialization-friendly search-replace.</li>
</ul>
<p>WP-API also provides commands (endpoints) for managing WordPress. Given these similarities, which I see as an opportunity, last fall I ran a <a href="https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli">Kickstarter</a> for “A more RESTful WP-CLI.”</p>
<p><img src="images/201601presentation-dayofrest-008.jpeg" alt="201601presentation-dayofrest.008"  width="1024"
	height="768"  /></p>
<p>A more RESTful WP-CLI is a WP-CLI that’s backed by the WP REST API. In this model, WP-CLI is both a client and an application. As a client, the functionality is in the REST API endpoints, and WP-CLI exists as a user-friendly wrapper over the API. As an application, the functionality is in WP-CLI, built on top of the WP REST API.</p>
<p>More specifically, the RESTful WP-CLI will comprise: endpoint discovery, command registration, authentication, and meta operations. It&rsquo;s important to note I’m only 18% of the way through the project, though. Some points are concrete, but a lot are still hypothetical.</p>
<p>Let’s look at some code!</p>
<p><img src="images/201601presentation-dayofrest-009.jpeg" alt="201601presentation-dayofrest.009"  width="1024"
	height="768"  /></p>
<p>Conveniently for us, WP-API describes itself in the index with context=help. This is sufficient description to create WP-CLI commands based on what the site supports. But how do we register WP-CLI commands?</p>
<p><img src="images/201601presentation-dayofrest-010.jpeg" alt="201601presentation-dayofrest.010"  width="1024"
	height="768"  /></p>
<p>Historically, a WP-CLI command is a class method passed $args and $assoc args. $args represents positional arguments. $assoc_args represent associative arguments. With those supplied values, the method then performs some procedural logic.</p>
<p><img src="images/201601presentation-dayofrest-011.jpeg" alt="201601presentation-dayofrest.011"  width="1024"
	height="768"  /></p>
<p>Metadata about the command is included in a special PHPDoc format. Short description is at the top. The synopsis defines accepted parameters, which can be positional or associative. Both types can be optional. Lastly, a description can be included for each argument.</p>
<p><img src="images/201601presentation-dayofrest-012.jpeg" alt="201601presentation-dayofrest.012"  width="1024"
	height="768"  /></p>
<p>WP-CLI then parses the PHPDoc to turn it into synopsis it can understand.</p>
<p><img src="images/201601presentation-dayofrest-013.jpeg" alt="201601presentation-dayofrest.013"  width="1024"
	height="768"  /></p>
<p>Last year, I set about building a prototype of commands based on the WP REST API. If defining a class is the only way to register a WP-CLI command, then creating dynamic WP-CLI commands required defining a new class at runtime. Super ugly.</p>
<p><img src="images/201601presentation-dayofrest-014.jpeg" alt="201601presentation-dayofrest.014"  width="1024"
	height="768"  /></p>
<p>It would be much nicer to be able to register an arbitrary callback as a command. This callback can be a closure, function, or method of an instantiated class. Include your description and synopsis as secondary arguments. And this feature is coming in v0.23.0!</p>
<p><img src="images/201601presentation-dayofrest-015.jpeg" alt="201601presentation-dayofrest.015"  width="1024"
	height="768"  /></p>
<p>With our new functionality in place, we can much more easily register commands dynamically. Much nicer than the eval hack! RESTCommand class supports list_items, create_item, etc.</p>
<p><img src="images/201601presentation-dayofrest-016.jpeg" alt="201601presentation-dayofrest.016"  width="1024"
	height="768"  /></p>
<p>Boom. Totally dynamically generated from the API for wordpress-develop.dev</p>
<p><img src="images/201601presentation-dayofrest-017.jpeg" alt="201601presentation-dayofrest.017"  width="1024"
	height="768"  /></p>
<p>It even works for remote sites too! That’s the whole point. Include &ndash;http= to access rest endpoints from an arbitrary remote site.</p>
<p><img src="images/201601presentation-dayofrest-018.jpeg" alt="201601presentation-dayofrest.018"  width="1024"
	height="768"  /></p>
<p>Here’s how you can list tags locally.</p>
<p><img src="images/201601presentation-dayofrest-019.jpeg" alt="201601presentation-dayofrest.019"  width="1024"
	height="768"  /></p>
<p>I can create tags locally too, through the REST API. But, there’s new behavior: requires authentication and authorization locally. WP-CLI currently offers unfettered access to the database. In the future, we’ll likely have a sudo mode.</p>
<p><img src="images/201601presentation-dayofrest-020.jpeg" alt="201601presentation-dayofrest.020"  width="1024"
	height="768"  /></p>
<p>Documentation populates from the schema - dynamically! This will become more detailed over time.</p>
<p><img src="images/201601presentation-dayofrest-021.jpeg" alt="201601presentation-dayofrest.021"  width="1024"
	height="768"  /></p>
<p>Because WP-CLI knows how to interpret the index, parameters are validated before the request is made - dynamically!</p>
<p><img src="images/201601presentation-dayofrest-022.jpeg" alt="201601presentation-dayofrest.022"  width="1024"
	height="768"  /></p>
<p>But, remote authentication hasn’t been worked out yet.</p>
<p><img src="images/201601presentation-dayofrest-023.jpeg" alt="201601presentation-dayofrest.023"  width="1024"
	height="768"  /></p>
<p>The goal for authentication is to make it as easy as possible. Authenticate once, and reuse (cache) that authentication until it expires. Switch between multiple authorizations. For the project, there are a couple of options I’ll be exploring: http and ssh.</p>
<p>http auth would include basic, oAuth 1 and 2, and API key - whatever the remote site supports. http is advantageous because it’s more accessible, but runs the limitation of web server requests.</p>
<p>We could also proxy over SSH, when it’s available. SSH auth -&gt; discovery of the remote wp install -&gt; discovery of endpoints -&gt; perform a command.</p>
<p><img src="images/201601presentation-dayofrest-024.jpeg" alt="201601presentation-dayofrest.024"  width="1024"
	height="768"  /></p>
<p>Two problems: don’t want to type long commands, each site will support different endpoints.</p>
<p>To address these problems, I&rsquo;m considering ways to introduce aliases, as internal shortcuts for additional global params. Ideally, WP-CLI should only expose commands supported on a specified WordPress instance. Aliases provide UX for this feature, but backwards compatibility is a concern.</p>
<p><img src="images/201601presentation-dayofrest-025.jpeg" alt="201601presentation-dayofrest.025"  width="1024"
	height="768"  /></p>
<p>All of the work up to this point is foundational, though. WP-CLI as an application means meta operations, or commands to manipulate core resources. For instance, wp diff could compare two JSON blobs. The diffing mechanism is easy, and we can now know they&rsquo;re equivalent blobs because WP-API defines canonical routes.</p>
<p><img src="images/201601presentation-dayofrest-026.jpeg" alt="201601presentation-dayofrest.026"  width="1024"
	height="768"  /></p>
<p>Why do all of this? Short of a mind to WordPress connection, WP-CLI’s goal is to be the fastest interface for WordPress. Anything you might want to do to WordPress, WP-CLI should always be, quantatively, the fastest way to perform the task. Furthermore, creating a common interface for disparate features means you can develop mental muscle memory for getting faster with WP-CLI over time.</p>
<p><img src="images/201601presentation-dayofrest-027.jpeg" alt="201601presentation-dayofrest.027"  width="1024"
	height="768"  /></p>
<p>Thanks!</p>]]></content:encoded>
    </item>
    <item>
      <title>Off to London for A Day of REST</title>
      <link>https://danielbachhuber.com/off-to-london-for-a-day-of-rest/</link>
      <pubDate>Tue, 26 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/off-to-london-for-a-day-of-rest/</guid>
      <description>&lt;p&gt;Woke up at 4 am. Worked on my presentation for a few hours. Went to Stafford Hills for a 45 minute swim and quick hot tub. Got feedback on my presentation from Joe. Took a call on prospective consulting project. Ate lunch — leftovers from an amazing Indian meal Leah made last night. Kissed my wife and kids goodbye for the week. Hacking at the airport now. Flight to Seattle, and then on to London, later.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Woke up at 4 am. Worked on my presentation for a few hours. Went to Stafford Hills for a 45 minute swim and quick hot tub. Got feedback on my presentation from Joe. Took a call on prospective consulting project. Ate lunch — leftovers from an amazing Indian meal Leah made last night. Kissed my wife and kids goodbye for the week. Hacking at the airport now. Flight to Seattle, and then on to London, later.</p>
<p>See you soon, WP REST API crew!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Long live the weekend</title>
      <link>https://danielbachhuber.com/long-live-the-weekend/</link>
      <pubDate>Sun, 24 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/long-live-the-weekend/</guid>
      <description>&lt;p&gt;Woke up at 5 am.&lt;/p&gt;&#xA;&lt;p&gt;Worked on my &lt;a href=&#34;http://feelingrestful.com&#34;&gt;Day of REST&lt;/a&gt; presentation for a couple hours.&lt;/p&gt;&#xA;&lt;p&gt;Took a 40 minute run to Tualatin Park; feet were sore which means I probably need new shoes.&lt;/p&gt;&#xA;&lt;p&gt;Made &lt;a href=&#34;http://wholefoodsmarket.com/recipe/fluffy-cottage-cheese-pancakes&#34;&gt;cottage cheese pancakes&lt;/a&gt; for breakfast.&lt;/p&gt;&#xA;&lt;p&gt;Went to Jordan and Haley&amp;rsquo;s for Elsie&amp;rsquo;s first birthday.&lt;/p&gt;&#xA;&lt;p&gt;Came home, put Ava down for nap.&lt;/p&gt;&#xA;&lt;p&gt;Made a couple pull requests against WP-API.&lt;/p&gt;&#xA;&lt;p&gt;Finished installing the second raised bed in the backyard.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Woke up at 5 am.</p>
<p>Worked on my <a href="http://feelingrestful.com">Day of REST</a> presentation for a couple hours.</p>
<p>Took a 40 minute run to Tualatin Park; feet were sore which means I probably need new shoes.</p>
<p>Made <a href="http://wholefoodsmarket.com/recipe/fluffy-cottage-cheese-pancakes">cottage cheese pancakes</a> for breakfast.</p>
<p>Went to Jordan and Haley&rsquo;s for Elsie&rsquo;s first birthday.</p>
<p>Came home, put Ava down for nap.</p>
<p>Made a couple pull requests against WP-API.</p>
<p>Finished installing the second raised bed in the backyard.</p>
<p>Cut down some bamboo.</p>
<p>Neighbor brought over a few pieces of absolutely amazing brisket.</p>
<p>Made steak fajitas, corn tortillas from masa harina, chips from stale tortillas, and guacamole. Had in-laws over for dinner. Drank wine.</p>
<p>Long live the weekend.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three reasons why WordPress is hard</title>
      <link>https://danielbachhuber.com/three-reasons-why-wordpress-is-hard/</link>
      <pubDate>Thu, 21 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-reasons-why-wordpress-is-hard/</guid>
      <description>&lt;p&gt;Three reasons why WordPress is hard:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Lack of GUIDs. Posts, Users, Terms and Comments each have their own auto-incremented IDs, meaning a given ID isn&amp;rsquo;t unique within the system.&lt;/li&gt;&#xA;&lt;li&gt;Stores PHP-serialized data in the database.&lt;/li&gt;&#xA;&lt;li&gt;Uses absolute paths for resources, instead of relative, which can be located in PHP-serialized data.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;It seems every advanced abstraction on top of WordPress ultimately spends 90% of its time finding a solution for these problems.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Three reasons why WordPress is hard:</p>
<ol>
<li>Lack of GUIDs. Posts, Users, Terms and Comments each have their own auto-incremented IDs, meaning a given ID isn&rsquo;t unique within the system.</li>
<li>Stores PHP-serialized data in the database.</li>
<li>Uses absolute paths for resources, instead of relative, which can be located in PHP-serialized data.</li>
</ol>
<p>It seems every advanced abstraction on top of WordPress ultimately spends 90% of its time finding a solution for these problems.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Weightloss</title>
      <link>https://danielbachhuber.com/weightloss/</link>
      <pubDate>Thu, 21 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/weightloss/</guid>
      <description>&lt;p&gt;Since Thanksgiving, I&amp;rsquo;ve lost roughly 13 pounds. I hit my target 170 pounds today. While I know true success is measured by &lt;em&gt;keeping&lt;/em&gt; those pounds off, this milestone feels really good.&lt;/p&gt;&#xA;&lt;p&gt;[caption id=&amp;quot;&amp;quot; align=&amp;ldquo;alignnone&amp;rdquo;]&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2016/01/img_3375.jpeg&#34;&gt;&lt;img src=&#34;images/img_3375.jpeg&#34; alt=&#34;&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&lt;/a&gt; I was 173 pounds long ago, and have been in the 180 range for the last couple years[/caption]&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve &amp;ldquo;tried&amp;rdquo; and failed to lose weight in the past many times. &amp;ldquo;Tried&amp;rdquo;, in quotes, because I didn&amp;rsquo;t actually have a strategy. Mind power, I guess? This time has been the only time I&amp;rsquo;ve effectively lost weight, and I attribute success exclusively to tracking calories.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since Thanksgiving, I&rsquo;ve lost roughly 13 pounds. I hit my target 170 pounds today. While I know true success is measured by <em>keeping</em> those pounds off, this milestone feels really good.</p>
<p>[caption id=&quot;&quot; align=&ldquo;alignnone&rdquo;]<a href="https://danielbachhuber.com/wp-content/uploads/2016/01/img_3375.jpeg"><img src="images/img_3375.jpeg" alt=""  width="640"
	height="640"  /></a> I was 173 pounds long ago, and have been in the 180 range for the last couple years[/caption]</p>
<p> </p>
<p>I&rsquo;ve &ldquo;tried&rdquo; and failed to lose weight in the past many times. &ldquo;Tried&rdquo;, in quotes, because I didn&rsquo;t actually have a strategy. Mind power, I guess? This time has been the only time I&rsquo;ve effectively lost weight, and I attribute success exclusively to tracking calories.</p>
<p>Want to lose weight too? Use an app like MyFitnessPal to establish a goal, and meticulously track every single calorie you eat. Every single calorie on every single day. I&rsquo;ve worked out (30+ minutes of cardio) 3 to 6 days per week my entire life, and calorie tracking is the only way I&rsquo;ve ever lost weight.</p>
<p>Huge props to Albert Sun for <a href="http://www.nytimes.com/interactive/2015/11/17/health/wiredwell-food-diary-super-tracker.html">helping me realize</a> I can lose weight too.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Tracking versions of WordPress plugins in theme directories</title>
      <link>https://danielbachhuber.com/tracking-versions-of-wordpress-plugins-in-theme-directories/</link>
      <pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tracking-versions-of-wordpress-plugins-in-theme-directories/</guid>
      <description>&lt;p&gt;On WordPress projects where the entire application is defined by the theme, it can be common to submodule or directly commit WordPress plugins to a directory like &lt;code&gt;theme-name/lib&lt;/code&gt;. However, in doing so, you lose out on WordPress&amp;rsquo; built-in update tracking.&lt;/p&gt;&#xA;&lt;p&gt;It would be cool to have a utility plugin that loads theme-specific plugins into the Manage Plugins view and WordPress update check.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On WordPress projects where the entire application is defined by the theme, it can be common to submodule or directly commit WordPress plugins to a directory like <code>theme-name/lib</code>. However, in doing so, you lose out on WordPress&rsquo; built-in update tracking.</p>
<p>It would be cool to have a utility plugin that loads theme-specific plugins into the Manage Plugins view and WordPress update check.</p>
]]></content:encoded>
    </item>
    <item>
      <title>wp hook: a WP-CLI command to list callbacks registered to a given action or filter</title>
      <link>https://danielbachhuber.com/wp-hook-a-wp-cli-command-to-list-callbacks-registered-to-a-given-action-or-filter/</link>
      <pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wp-hook-a-wp-cli-command-to-list-callbacks-registered-to-a-given-action-or-filter/</guid>
      <description>&lt;p&gt;Better than writing your own debugging snippet!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2016-01-14-at-9-47-am.png&#34; alt=&#34;2016-01-14 at 9.47 AM&#34;  width=&#34;1058&#34;&#xA;&#x9;height=&#34;248&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gist.github.com/danielbachhuber/0f991d150067d8a332ec&#34;&gt;https://gist.github.com/danielbachhuber/0f991d150067d8a332ec&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Better than writing your own debugging snippet!</p>
<p><img src="images/2016-01-14-at-9-47-am.png" alt="2016-01-14 at 9.47 AM"  width="1058"
	height="248"  /></p>
<p><a href="https://gist.github.com/danielbachhuber/0f991d150067d8a332ec">https://gist.github.com/danielbachhuber/0f991d150067d8a332ec</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress theme for WP REST API documentation</title>
      <link>https://danielbachhuber.com/wordpress-theme-for-wp-rest-api-documentation/</link>
      <pubDate>Wed, 13 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-theme-for-wp-rest-api-documentation/</guid>
      <description>&lt;p&gt;Much of the &lt;a href=&#34;http://v2.wp-api.org/&#34;&gt;WP REST API v2 documentation&lt;/a&gt; is automatically generated from &lt;a href=&#34;http://demo.wp-api.org/wp-json/?context=help&#34;&gt;demo.wp-api.org/wp-json/?context=help&lt;/a&gt;. A &lt;a href=&#34;https://github.com/WP-API/docs-v2/blob/gh-pages/regenerate.rb&#34;&gt;Ruby script&lt;/a&gt; dumps the JSON into _data, and Jekyll generates &lt;a href=&#34;http://v2.wp-api.org/reference/users/&#34;&gt;pages like this&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2016-01-13-at-12-22-pm.png&#34; alt=&#34;2016-01-13 at 12.22 PM&#34;  width=&#34;1441&#34;&#xA;&#x9;height=&#34;1107&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It would be cool if someone wrote a WordPress theme (or plugin) to automatically generate a documentation site from a WP REST API index — and the only configuration parameter was the URL to the endpoint.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Much of the <a href="http://v2.wp-api.org/">WP REST API v2 documentation</a> is automatically generated from <a href="http://demo.wp-api.org/wp-json/?context=help">demo.wp-api.org/wp-json/?context=help</a>. A <a href="https://github.com/WP-API/docs-v2/blob/gh-pages/regenerate.rb">Ruby script</a> dumps the JSON into _data, and Jekyll generates <a href="http://v2.wp-api.org/reference/users/">pages like this</a>:</p>
<p><img src="images/2016-01-13-at-12-22-pm.png" alt="2016-01-13 at 12.22 PM"  width="1441"
	height="1107"  /></p>
<p>It would be cool if someone wrote a WordPress theme (or plugin) to automatically generate a documentation site from a WP REST API index — and the only configuration parameter was the URL to the endpoint.</p>
]]></content:encoded>
    </item>
    <item>
      <title>RESTful WP-CLI - The journey begins</title>
      <link>https://danielbachhuber.com/restful-wp-cli-the-journey-begins/</link>
      <pubDate>Tue, 12 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/restful-wp-cli-the-journey-begins/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&#34;http://wp-cli.org/blog/restful-wp-cli-update-1.html&#34;&gt;originally appeared on the WP-CLI blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction.&lt;/p&gt;&#xA;&lt;p&gt;Today marks the formal kickoff of my Kickstarter project, “&lt;a href=&#34;https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description&#34;&gt;A more RESTFul WP-CLI&lt;/a&gt;”. To celebrate the occasion, I’ve &lt;a href=&#34;https://danielbachhuber.com/restful/&#34;&gt;launched a project page&lt;/a&gt; to capture high-level goals and document my progress along the journey. I’ll keep it updated as I write blog posts every couple or few weeks. Consider these blog posts both a development log and an invitation to participate — I look forward to your comments, issues and pull requests.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This post <a href="http://wp-cli.org/blog/restful-wp-cli-update-1.html">originally appeared on the WP-CLI blog</a>.</em></p>
<p>And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction.</p>
<p>Today marks the formal kickoff of my Kickstarter project, “<a href="https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description">A more RESTFul WP-CLI</a>”. To celebrate the occasion, I’ve <a href="/restful/">launched a project page</a> to capture high-level goals and document my progress along the journey. I’ll keep it updated as I write blog posts every couple or few weeks. Consider these blog posts both a development log and an invitation to participate — I look forward to your comments, issues and pull requests.</p>
<hr>
<p>For the past month or so, the question at the top of my mind has been: what does it mean to “unlock the potential of the WP REST API at the command line”? Or, even more broadly, why do this project?</p>
<p>These are big questions, and I consider myself fortunate to be able to explore them over the next six months or so. Here’s how I’ve unpacked them so far, in a series of loosely connected ideas:</p>
<ul>
<li>WP-CLI’s goal is to be, quantitatively, the <em>fastest</em> interface for developers to manage WordPress. For anything you want to do with WordPress, using WP-CLI should save you multitudes of time over doing it some other way.</li>
<li>WP-CLI and WP REST API both offer CRUD interfaces to WordPress resources. <code>wp post list</code> is more or less <code>GET /wp/v2/posts</code>. But, <code>wp widget list</code> doesn’t yet have an equivalent in WP REST API. We still have a ton of work to do.</li>
<li>Building the WP REST API has been, and will continue to be, an exercise of modeling how WordPress works to a consistent (RESTful) interface. Furthermore, this model is declared in a common language for clients to interpret.</li>
<li>At some point in the future, WP-CLI will be able to ditch a substantial amount of its internals when it can use the WP REST API as its interface to WordPress. WP-CLI can continue to serve as the fastest way for developers to manage WordPress, offering higher-level meta operations like <code>generate</code>, <code>(push|pull)</code>, and <code>clone</code> in addition to being a seamless command line interface to WordPress internals.</li>
<li>As WordPress developers write new endpoints for the WP REST API, it will be quite powerful to have those endpoints instantly accessible through the command line, and as accessible as core resources. For instance, where WP-CLI currently has the <code>wp post *</code> commands, WP-CLI requires Easy Digital Downloads to produce its own <code>wp edd *</code> commands.</li>
<li>It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions in the next couple of quarters.</li>
</ul>
<p>Lots of threads to pull on.</p>
<hr>
<p>I’m starting development by working towards making <code>wp tag list</code> work interchangably with local and remote sites. Doing so already raises a few issues:</p>
<ul>
<li>WP-CLI needs to be easier to register commands on the fly. In my prototype, I had to <code>eval()</code> a <a href="https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112">dynamically generated class</a>. It would be much nicer to be able to <a href="https://github.com/wp-cli/wp-cli/issues/2204">register an arbitrary function, closure, or method</a> as a WP-CLI command.</li>
<li>When we register REST endpoints to WP-CLI on the fly, there’s the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think <a href="https://github.com/wp-cli/wp-cli/issues/2039">site aliases</a> may offer us a backwards-compatible implementation; for instance, specifying an alias like <code>wp @prod</code> would only expose commands available on production.</li>
<li>Remote calls will need authentication. Ideally, it should be possible to authenticate once through a supported protocol (basic, oAuth1, API key, etc.), and store these authentication details somewhere on the file server. This is potential rationale for a <a href="https://github.com/wp-cli/wp-cli/issues/515">config management command</a>. If you aren’t blocking web requests to <code>wp-cli.yml</code> and <code>wp-cli.local.yml</code> already, you should be.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Using HTTP DIGEST authentication with WordPress&#39; wp_remote_get()</title>
      <link>https://danielbachhuber.com/using-http-digest-authentication-with-wordpress-wp_remote_get/</link>
      <pubDate>Fri, 08 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/using-http-digest-authentication-with-wordpress-wp_remote_get/</guid>
      <description>&lt;p&gt;HTTP BASIC authentication (&lt;a href=&#34;https://en.wikipedia.org/wiki/Basic_access_authentication&#34;&gt;Wikipedia&lt;/a&gt;) is a form of client / server authentication where the username and password are base64 encoded in the request header. However, because these credentials can be easily decoded, BASIC authentication requires SSL for the request to be secured.&lt;/p&gt;&#xA;&lt;p&gt;HTTP DIGEST authentication (&lt;a href=&#34;https://en.wikipedia.org/wiki/Digest_access_authentication&#34;&gt;Wikipedia&lt;/a&gt;) permits more secure communication between the client and server over insecure HTTP. It&amp;rsquo;s also a fair bit more challenging to implement, for a couple of reasons:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>HTTP BASIC authentication (<a href="https://en.wikipedia.org/wiki/Basic_access_authentication">Wikipedia</a>) is a form of client / server authentication where the username and password are base64 encoded in the request header. However, because these credentials can be easily decoded, BASIC authentication requires SSL for the request to be secured.</p>
<p>HTTP DIGEST authentication (<a href="https://en.wikipedia.org/wiki/Digest_access_authentication">Wikipedia</a>) permits more secure communication between the client and server over insecure HTTP. It&rsquo;s also a fair bit more challenging to implement, for a couple of reasons:</p>
<ol>
<li>Every API call actually requires two HTTP requests. Although the first request will fail with 401 Unauthorized, it returns a <code>www-authenticate</code> response header with values critical for signing the second request.</li>
<li>Sending the second request requires creating a signature with several variables where the order matters. Because of the number of variables (pun intended), debugging authentication failures can be very frustrating.</li>
</ol>
<p>To make HTTP DIGEST authentication requests easier in WordPress, here&rsquo;s a function you can use:</p>
<p><a href="https://gist.github.com/danielbachhuber/6c09dd2fcd1a9c4ef252">https://gist.github.com/danielbachhuber/6c09dd2fcd1a9c4ef252</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Measuring the utility of WP_REST_Posts_Controller</title>
      <link>https://danielbachhuber.com/measuring-the-utility-of-wp_rest_posts_controller/</link>
      <pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/measuring-the-utility-of-wp_rest_posts_controller/</guid>
      <description>&lt;p&gt;A good measure of the utility of &lt;code&gt;WP_REST_Posts_Controller&lt;/code&gt; and brethren would be to test how much (or little) time it takes for a developer to correctly model their custom post type data by extending it. If it&amp;rsquo;s easy to do, then we&amp;rsquo;ve established a great abstraction. If there are pain points or places we need to work around, then we should refine the abstraction.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A good measure of the utility of <code>WP_REST_Posts_Controller</code> and brethren would be to test how much (or little) time it takes for a developer to correctly model their custom post type data by extending it. If it&rsquo;s easy to do, then we&rsquo;ve established a great abstraction. If there are pain points or places we need to work around, then we should refine the abstraction.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Simple WP-CLI backup and restore</title>
      <link>https://danielbachhuber.com/simple-wp-cli-backup-and-restore/</link>
      <pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/simple-wp-cli-backup-and-restore/</guid>
      <description>&lt;p&gt;It would be neat if &lt;a href=&#34;http://wp-cli.org/&#34;&gt;WP-CLI&lt;/a&gt; included a rudimentary backup and restore process for this use case:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;richard.tape [8:19 AM] anyone used wocker? I’m looking to set up a dev environment that I can share with someone else so they’re able to more easily help me debug a problem and I want to modify the base containers and then package the whole thing up so I can just pass that to them and they just spin it up and are in the same shape I’m in… ideas?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It would be neat if <a href="http://wp-cli.org/">WP-CLI</a> included a rudimentary backup and restore process for this use case:</p>
<blockquote>
<p>richard.tape [8:19 AM] anyone used wocker? I’m looking to set up a dev environment that I can share with someone else so they’re able to more easily help me debug a problem and I want to modify the base containers and then package the whole thing up so I can just pass that to them and they just spin it up and are in the same shape I’m in… ideas?</p></blockquote>
<p><code>wp backup</code> would create a tarball of the database, WordPress files, and (optionally) the uploads directory. <code>wp restore</code> could then read said tarball, and expand it to a working WordPress install.</p>
<p>We could even potentially parse the original <code>wp-config.php</code> into a manifest file, which would permit the restoration process to override some details.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Love and profit for wp search-replace — thanks Pantheon!</title>
      <link>https://danielbachhuber.com/love-and-profit-for-wp-search-replace-thanks-pantheon/</link>
      <pubDate>Wed, 06 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/love-and-profit-for-wp-search-replace-thanks-pantheon/</guid>
      <description>&lt;p&gt;Moving databases between environments is tough. Many things can break in the process, and a single issue can sink hours of your valuable time. Migrating WordPress databases between environments is &lt;em&gt;especially&lt;/em&gt; tricky for two reasons:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Instead of relative paths, WordPress stores full URLs in the database, in many different columns and tables.&lt;/li&gt;&#xA;&lt;li&gt;These URLs, along with other data, can be stored as PHP-serialized blobs. Because PHP serialization includes the string length in the blob, replacing one value with another value of a different length also needs to update the encoding as well.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;WP-CLI&amp;rsquo;s &lt;a href=&#34;http://wp-cli.org/commands/search-replace/&#34;&gt;search-replace command&lt;/a&gt; addresses both of these problems for you, with its awareness of WordPress&amp;rsquo; tables, and intuitive handling of serialized data.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Moving databases between environments is tough. Many things can break in the process, and a single issue can sink hours of your valuable time. Migrating WordPress databases between environments is <em>especially</em> tricky for two reasons:</p>
<ul>
<li>Instead of relative paths, WordPress stores full URLs in the database, in many different columns and tables.</li>
<li>These URLs, along with other data, can be stored as PHP-serialized blobs. Because PHP serialization includes the string length in the blob, replacing one value with another value of a different length also needs to update the encoding as well.</li>
</ul>
<p>WP-CLI&rsquo;s <a href="http://wp-cli.org/commands/search-replace/">search-replace command</a> addresses both of these problems for you, with its awareness of WordPress&rsquo; tables, and intuitive handling of serialized data.</p>
<p>Last month, <a href="https://pantheon.io/">Pantheon</a> generously sponsored 15 hours of my time to address some of the long-standing bugs in the backlog, and make a few substantial enhancements too. On Pantheon, <code>wp search-replace</code> is an integral part of the <a href="https://pantheon.io/features/version-control-workflow">Pantheon Workflow</a>.</p>
<p>Let&rsquo;s take a look at how search-replace works, and then we&rsquo;ll review the new features coming in WP-CLI v0.22.0.</p>
<h3 id="making-search-replace-an-integral-part-toyour-workflow">Making search-replace an integral part to your workflow</h3>
<p>WP-CLI search-replace only requires two parameters: <code>&lt;old-string&gt;</code> and <code>&lt;new-string&gt;</code>. On Pantheon, here&rsquo;s how it could be used to transform a database cloned from Live into Test:</p>
<pre tabindex="0"><code>wp search-replace &#39;production-domain.com&#39; &#39;test-my-site.pantheon.io&#39;
</code></pre><p>By default, WP-CLI searches through all tables registered to the <code>$wpdb</code> object. In each column of each table, it first inspects the column&rsquo;s rows to see if serialized data is present. If it discovers serialized data, then it iterates through all of the rows, de-serializes data as relevant, recursively performs a search and replace procedure, and updates the row in the database. When no serialized data is present in any of the rows, the replacement procedure is a much simpler MySQL <code>UPDATE</code> statement.</p>
<p>On multisite, WP-CLI defaults to performing search-replace on a single site. You can search-replace across all sites in the network with the <code>--network</code> flag.</p>
<pre tabindex="0"><code>wp search-replace &#39;production-domain.com&#39; test-my-site.pantheon.io &#39;--network&#39;
</code></pre><p>Want to inspect the results of your search-replace command without making changes to the database? Use the <code>--dry-run</code> flag to mock the entire operation, and see a summary of how your database would&rsquo;ve been modified.</p>
<h3 id="pantheons-sponsored-improvements-to-search-replace">Pantheon&rsquo;s sponsored improvements to search-replace</h3>
<p>Here are a few of the improvements you can expect to see in the forthcoming WP-CLI v0.22.0:</p>
<ul>
<li>A huge performance boost! Instead of running a MYSQL <code>LIKE</code> statement every 1000 rows, WP-CLI now just runs it once. On a post meta table of ~3.5 million rows where 75,610 rows were affected, this change improved execution time from 734.926s to 225.509s (3.3x faster).</li>
<li>Use the <code>--export=&lt;filename&gt;</code> argument to create a SQL file of your transformed data, instead of making updates to the database. This is a helpful feature when you want to prepare a database for a new environment without having to import and then run search-replace.</li>
<li>Wildcards can be used in table names. search-replace against meta tables with <code>wp search-replace &lt;old-string&gt; &lt;new-string&gt; '*meta*'</code>. Note: the table pattern needs to be quoted, as * is a special character in Bash.</li>
<li>Execution time is indicated when running search-replace with the <code>--verbose</code> flag, in case you&rsquo;re curious to see how long each replacement operation is taking.</li>
</ul>
<p>Happy to see these new features? Please <a href="https://twitter.com/intent/tweet?via=handbuiltco&amp;related=handbuiltco&amp;text=Thanks%20for%20sponsoring%20these%20awesome%20@wpcli%20search-replace%20improvements,%20@getpantheon!&amp;url=http%3A%2F%2Fwp.me%2Fp72LtC-3a">share the love on Twitter</a> :)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Back on WordPress.com</title>
      <link>https://danielbachhuber.com/back-on-wordpress-com/</link>
      <pubDate>Tue, 05 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/back-on-wordpress-com/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re seeing this, then my blog is back to being hosted on WordPress.com.&lt;/p&gt;&#xA;&lt;p&gt;The primary reason for this? I want to blog more often. The writing interface in WordPress.com is now much, much better than what you get in a standard WordPress install. Plus, there&amp;rsquo;s also something to be said about not having the mental overhead of site management every time you go to write a blog post.&lt;/p&gt;&#xA;&lt;p&gt;This domain&amp;rsquo;s history: &lt;a href=&#34;http://danielbachhuber.com/2009/06/04/new-host-and-registrar/&#34;&gt;switched from 1&amp;amp;1 to WebFaction in June 2009&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/&#34;&gt;to Slicehost in May 2010&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2010/09/27/back-on-webfaction/&#34;&gt;back to WebFaction in September 2010&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2011/11/08/now-hosted-on-wordpress-com/&#34;&gt;to WordPress.com in November 2011&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2014/03/13/moving-on-up/&#34;&gt;to Digital Ocean in March 2014&lt;/a&gt;, and &lt;a href=&#34;http://danielbachhuber.com/2015/01/26/back-on-webfaction-again/&#34;&gt;back to Webfaction in January 2015&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re seeing this, then my blog is back to being hosted on WordPress.com.</p>
<p>The primary reason for this? I want to blog more often. The writing interface in WordPress.com is now much, much better than what you get in a standard WordPress install. Plus, there&rsquo;s also something to be said about not having the mental overhead of site management every time you go to write a blog post.</p>
<p>This domain&rsquo;s history: <a href="http://danielbachhuber.com/2009/06/04/new-host-and-registrar/">switched from 1&amp;1 to WebFaction in June 2009</a>, <a href="http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/">to Slicehost in May 2010</a>, <a href="http://danielbachhuber.com/2010/09/27/back-on-webfaction/">back to WebFaction in September 2010</a>, <a href="http://danielbachhuber.com/2011/11/08/now-hosted-on-wordpress-com/">to WordPress.com in November 2011</a>, <a href="http://danielbachhuber.com/2014/03/13/moving-on-up/">to Digital Ocean in March 2014</a>, and <a href="http://danielbachhuber.com/2015/01/26/back-on-webfaction-again/">back to Webfaction in January 2015</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on online conduct</title>
      <link>https://danielbachhuber.com/thoughts-on-online-conduct/</link>
      <pubDate>Tue, 05 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-online-conduct/</guid>
      <description>&lt;p&gt;The latest outrage within my sphere of the internet seems to be the PHP project&amp;rsquo;s &lt;a href=&#34;https://wiki.php.net/rfc/adopt-code-of-conduct&#34;&gt;proposed Code of Conduct&lt;/a&gt; (&lt;a href=&#34;http://news.php.net/php.internals/90004&#34;&gt;PHP internals thread&lt;/a&gt;, &lt;a href=&#34;https://www.reddit.com/r/PHP/comments/3zhapd/rfc_adopt_code_of_conduct/&#34;&gt;reddit thread&lt;/a&gt;). My cursory opinion: I like the idea, and the language of this particular proposal seems a bit draconian. While the PHP CoC doesn&amp;rsquo;t directly impact me, this seems like a good opportunity to jot down some thoughts on online conduct.&lt;/p&gt;&#xA;&lt;p&gt;I am a white, privileged male who grew up in an upper middle class family. I didn&amp;rsquo;t have to work in high school, and my college would&amp;rsquo;ve been completely paid for, had I chosen to complete it. I live in a comfortable house in well-developed suburbs, with easy access to many local services. I identify as fiscally conservative, socially progressive, and think politicians are a bunch of schmucks (so you could probably call me libertarian).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The latest outrage within my sphere of the internet seems to be the PHP project&rsquo;s <a href="https://wiki.php.net/rfc/adopt-code-of-conduct">proposed Code of Conduct</a> (<a href="http://news.php.net/php.internals/90004">PHP internals thread</a>, <a href="https://www.reddit.com/r/PHP/comments/3zhapd/rfc_adopt_code_of_conduct/">reddit thread</a>). My cursory opinion: I like the idea, and the language of this particular proposal seems a bit draconian. While the PHP CoC doesn&rsquo;t directly impact me, this seems like a good opportunity to jot down some thoughts on online conduct.</p>
<p>I am a white, privileged male who grew up in an upper middle class family. I didn&rsquo;t have to work in high school, and my college would&rsquo;ve been completely paid for, had I chosen to complete it. I live in a comfortable house in well-developed suburbs, with easy access to many local services. I identify as fiscally conservative, socially progressive, and think politicians are a bunch of schmucks (so you could probably call me libertarian).</p>
<p>As someone of privilege, I try to refrain from discussing controversial topics on the web. All too often they devolve into a <a href="http://www.urbandictionary.com/define.php?term=flame+war">flame war</a>, &ldquo;a heated argument between two individuals, that results in those involved posting personal attacks on each other during or instead of debating the topic at hand.&rdquo; But, as a maintainer of several open source projects and active contributor to many others, codes of conduct have a direct impact on my daily life.</p>
<p>I do believe in the golden rule, and do my best to treat others as I wish to be treated. I think communities, online and off, can benefit from explicitly stated expectations of behavior — even more so when leadership role models ideal conduct. I also understand it&rsquo;s difficult to regulate away human behavior, and take an active concern with <em>who</em> holds the power to enforce rules. Power is a real thing. Lastly, I know that if a conversation turns into personal attacks, it can be effective to explicitly address emotions — &ldquo;it hurts me when you say&hellip;&rdquo; — because it brings empathy to the forefront.</p>
<p>Text-based communication, particularly as we practice it on the internet, is really hard. Let me say that again for emphasis: <strong>t****ext-based communication is really hard</strong>. Merlin Mann and Dan Benjamin have a <a href="http://5by5.tv/b2w/233">great podcast episode about emotional density</a>, which conveys many of my thoughts on the subject. In short, text loses many of the voice intonation and body language nuances we humans <em>actually</em> use to communicate. Think about it this way: text is a medium where 2/3 of packets are lost in transmission. If we chose to collaborate on the web, this is a constraint we must acknowledge and embrace.</p>
<p>Be nice to others. Go out of your way to be helpful. And, if someone flames you, understand they might be operating a computer without their first cup of coffee for the day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Decisions, not options, in the WordPress Customizer</title>
      <link>https://danielbachhuber.com/decisions-not-options-in-the-wordpress-customizer/</link>
      <pubDate>Wed, 30 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/decisions-not-options-in-the-wordpress-customizer/</guid>
      <description>&lt;p&gt;Earlier this month, I helped relaunch &lt;a href=&#34;http://blog.potterybarn.com/&#34;&gt;Pottery Barn&amp;rsquo;s blog&lt;/a&gt;. The homepage and each brand page (&lt;a href=&#34;http://blog.potterybarn.com/pbteen/&#34;&gt;PBteen example&lt;/a&gt;) are moderately configurable through the WordPress Customizer. Building this functionality was an opportunity to make user-friendly decisions about the management experience.&lt;/p&gt;&#xA;&lt;h3 id=&#34;smarter-featured-gallery&#34;&gt;Smarter Featured Gallery&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2015-12-30-at-9-27-am.png&#34; alt=&#34;2015-12-30 at 9.27 AM&#34;  width=&#34;1103&#34;&#xA;&#x9;height=&#34;576&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;By default, the topmost UI element on each homepage will display the most recent published post. In the Customizer, the Pottery Barn team can choose one or more posts for promotion with an AJAX post selection tool (&lt;a href=&#34;https://github.com/danielbachhuber/customizer-ajax-select&#34;&gt;plugin in-progress&lt;/a&gt;). If multiple posts are selected, then the UI element turns into a carousel (powered by &lt;a href=&#34;http://kenwheeler.github.io/slick/&#34;&gt;Slick&lt;/a&gt;).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Earlier this month, I helped relaunch <a href="http://blog.potterybarn.com/">Pottery Barn&rsquo;s blog</a>. The homepage and each brand page (<a href="http://blog.potterybarn.com/pbteen/">PBteen example</a>) are moderately configurable through the WordPress Customizer. Building this functionality was an opportunity to make user-friendly decisions about the management experience.</p>
<h3 id="smarter-featured-gallery">Smarter Featured Gallery</h3>
<p><img src="images/2015-12-30-at-9-27-am.png" alt="2015-12-30 at 9.27 AM"  width="1103"
	height="576"  /></p>
<p>By default, the topmost UI element on each homepage will display the most recent published post. In the Customizer, the Pottery Barn team can choose one or more posts for promotion with an AJAX post selection tool (<a href="https://github.com/danielbachhuber/customizer-ajax-select">plugin in-progress</a>). If multiple posts are selected, then the UI element turns into a carousel (powered by <a href="http://kenwheeler.github.io/slick/">Slick</a>).</p>
<p>Look ma, no checkboxes!</p>
<h3 id="magical-pin-promotion">Magical Pin Promotion</h3>
<p><img src="images/2015-12-30-at-9-39-am.png" alt="2015-12-30 at 9.39 AM"  width="1103"
	height="543"  /></p>
<p>Further down the homepage, the Pottery Barn team wanted to promote their top Pins from Pinterest. Rather than create a more complicated workflow of uploading images and completing multiple fields per Pin, I decided to magically pull in Pin metadata from their Open Graph / Twitter Card tags.</p>
<p>Drop a link in — voila!</p>
<p>If you&rsquo;re considering a similar approach, here are a few technical details I worked out:</p>
<ul>
<li>Rather than make a number of on-going frontend HTTP requests, I decided to fetch the metadata when the links are saved, and store it in options.</li>
<li>Pinterest will block your IP address if it thinks you&rsquo;re a bot. If your code mysteriously stops working, you might want to check the response.</li>
<li>Pinterest&rsquo;s Twitter Card image source is better to work with than Facebook Open Graph because Pinterest forcefully crops the Open Graph image to a Facebook-friendly proportion. The Twitter Card image source appears to be the original proportion.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Verifying WordPress migrations</title>
      <link>https://danielbachhuber.com/verifying-wordpress-migrations/</link>
      <pubDate>Wed, 30 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/verifying-wordpress-migrations/</guid>
      <description>&lt;p&gt;It seems like every time I do a migration with the WordPress importer, something about my data breaks. For instance, while writing my Year in Review post just now, I noticed last year&amp;rsquo;s post has an incorrect image:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2015-12-30-at-3-23-pm.png&#34; alt=&#34;2015-12-30 at 3.23 PM&#34;  width=&#34;669&#34;&#xA;&#x9;height=&#34;727&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;The image &lt;em&gt;should&lt;/em&gt; be the visualization.&lt;/p&gt;&#xA;&lt;p&gt;It would be really neat if I could verify a migration with WP-CLI. Using the WXR file as the baseline, the command would iterate through all of the data in the file, compare it to what&amp;rsquo;s present in WordPress, and alert me if anything is missing or unexpectedly different.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It seems like every time I do a migration with the WordPress importer, something about my data breaks. For instance, while writing my Year in Review post just now, I noticed last year&rsquo;s post has an incorrect image:</p>
<p><img src="images/2015-12-30-at-3-23-pm.png" alt="2015-12-30 at 3.23 PM"  width="669"
	height="727"  /></p>
<p>The image <em>should</em> be the visualization.</p>
<p>It would be really neat if I could verify a migration with WP-CLI. Using the WXR file as the baseline, the command would iterate through all of the data in the file, compare it to what&rsquo;s present in WordPress, and alert me if anything is missing or unexpectedly different.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2015</title>
      <link>https://danielbachhuber.com/year-in-review-2015/</link>
      <pubDate>Wed, 30 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2015/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on family, business, and travel. See also: &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2014/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;What a year. It&amp;rsquo;s hard to imagine life moving any faster — and then it does. Having a second kid is parenting squared.&lt;/p&gt;&#xA;&lt;p&gt;Wait a sec&amp;hellip; I haven&amp;rsquo;t blogged about my son yet. Hey, Charlie!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_3191.jpg&#34; alt=&#34;IMG_3191&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Charles Edward Bachhuber was born at home on December 16th, 2015 weighing 9 pounds 6 ounces. He&amp;rsquo;s a total bundle of joy. Leah, Ava, and I are proud to welcome him to the family, and can&amp;rsquo;t wait to share our world with him.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on family, business, and travel. See also: <a href="https://danielbachhuber.com/year-in-review-2014/">2014</a>, <a href="https://danielbachhuber.com/year-in-review-2013/">2013</a>.</em></p>
<p>What a year. It&rsquo;s hard to imagine life moving any faster — and then it does. Having a second kid is parenting squared.</p>
<p>Wait a sec&hellip; I haven&rsquo;t blogged about my son yet. Hey, Charlie!</p>
<p><img src="images/img_3191.jpg" alt="IMG_3191"  width="2400"
	height="1800"  /></p>
<p>Charles Edward Bachhuber was born at home on December 16th, 2015 weighing 9 pounds 6 ounces. He&rsquo;s a total bundle of joy. Leah, Ava, and I are proud to welcome him to the family, and can&rsquo;t wait to share our world with him.</p>
<p>Here are some of the highlights of the year from Instagram:</p>
<p><img src="images/10914231_338608696337766_919213158_n.jpg" alt="10914231_338608696337766_919213158_n.jpg"  width="640"
	height="640"  />
<img src="images/11017659_318896728280912_1512655219_n.jpg" alt="11017659_318896728280912_1512655219_n.jpg"  width="640"
	height="640"  />
<img src="images/11271939_1444596345836371_944623198_n.jpg" alt="11271939_1444596345836371_944623198_n.jpg"  width="640"
	height="640"  />
<img src="images/11356491_1633808733530227_2116471150_n.jpg" alt="11356491_1633808733530227_2116471150_n.jpg"  width="640"
	height="640"  />
<img src="images/11428689_699014500230607_1507895495_n.jpg" alt="11428689_699014500230607_1507895495_n.jpg"  width="1080"
	height="1080"  />
<img src="images/10268778_956671507705267_1456021395_n.jpg" alt="10268778_956671507705267_1456021395_n.jpg"  width="750"
	height="750"  />
<img src="images/11887176_600419553433530_1006588319_n.jpg" alt="11887176_600419553433530_1006588319_n.jpg"  width="640"
	height="640"  />
<img src="images/11849971_881964968554525_1239380207_n.jpg" alt="11849971_881964968554525_1239380207_n.jpg"  width="1080"
	height="1080"  />
<img src="images/12070998_815229748589031_299015566_n.jpg" alt="12070998_815229748589031_299015566_n.jpg"  width="1080"
	height="1080"  />
<img src="images/11371103_1514877282167246_937809969_n.jpg" alt="11371103_1514877282167246_937809969_n.jpg"  width="1080"
	height="1080"  />
<img src="images/12357600_535774826575580_10351718_n.jpg" alt="12357600_535774826575580_10351718_n.jpg"  width="1080"
	height="1080"  />
<img src="images/12357390_1001671186560470_1902984751_n.jpg" alt="12357390_1001671186560470_1902984751_n.jpg"  width="1080"
	height="1080"  /></p>
<h3 id="professionally-speaking">Professionally-speaking</h3>
<p>There were two big points to my career this year: joining Fusion (May), and then leaving (November). Yeah yeah, thanks for the jokes about me holding down a full-time job.</p>
<p>I <a href="http://danielbachhuber.com/2015/04/22/im-joining-fusion-as-director-of-engineering/">joined Fusion</a> because I&rsquo;ve always wanted to work for a news organization. It <em>seemed</em> like the prime opportunity to build a distributed technology team within a startup media company. But, as I discovered, sometimes things don&rsquo;t work out the way you want them to.</p>
<p>Fusion was a great &ldquo;Intro to Management&rdquo; experience. In hindsight, I can safely say I had no idea what I was getting into. And now I know! But it took me a half year of experience in the role, and consuming dozens upon dozens of blog posts, podcasts, and books, to fully appreciate how a management role is different than what I&rsquo;ve historically done.</p>
<p>The takeaway I can share in a sentence: distributed and co-located teams don&rsquo;t mix. Companies with both a physical office and remote employees absolutely need to operate as though everyone is distributed. Without this commitment, many things break in many frustrating ways. And, learning to be a manager in this context is incredibly difficult.</p>
<p>Since November, I&rsquo;ve been back in the saddle with Hand Built. Business is going well. Notably, I helped <a href="http://www.pbs.org/wgbh/frontline/">PBS Frontline</a> launch their new website, and built a <a href="http://blog.potterybarn.com/">new blog for Pottery Barn</a>. I also have a number of potential projects in the hopper for 2016.</p>
<p>What I&rsquo;m most proud of professionally, though, is how much time I get to spend contributing to open source. In 2015, this turned out to be 12.26% of all tracked time (282 hours). On behalf of Hand Built, this was 128 hours towards WP-API, 60 hours towards WP-CLI, and 13 hours towards WordPress core.</p>
<p><img src="images/2015-12-30-at-2-35-pm.png" alt="2015-12-30 at 2.35 PM"  width="739"
	height="293"  /></p>
<h3 id="jet-setting">Jet-setting</h3>
<p>Travel slowed way down for me this year — and I didn&rsquo;t make MVP Gold on Alaska. According to TripIt, here’s the tally for 2015 compared to 2014 and 2013:</p>
<ul>
<li>15 trips over 62 days (2014: 18 trips over 90 days; 2013: 24 trips over 139 days).</li>
<li>48,692 miles flown (2014: 64,193 miles; 2013: 99,228 miles).</li>
<li>Visited 18 cities in 4 countries (2014: 19 cities in 4 countries; 2013: 33 cities in 8 countries).</li>
</ul>
<p>Happy (almost) New Year!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dinner plan for week of October 25th, 2015</title>
      <link>https://danielbachhuber.com/dinner-plan-for-week-of-october-25th-2015/</link>
      <pubDate>Sun, 25 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dinner-plan-for-week-of-october-25th-2015/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Sunday: pork loin slow cooked in root beer, garlic and onion; cauliflower rice&lt;/li&gt;&#xA;&lt;li&gt;Monday: ???&lt;/li&gt;&#xA;&lt;li&gt;Tuesday: ravioli, sausages and brussel sprouts&lt;/li&gt;&#xA;&lt;li&gt;Wednesday: baked chicken&lt;/li&gt;&#xA;&lt;li&gt;Thursday: rice bowls&lt;/li&gt;&#xA;&lt;li&gt;Friday: grill if the weather is nice&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<ul>
<li>Sunday: pork loin slow cooked in root beer, garlic and onion; cauliflower rice</li>
<li>Monday: ???</li>
<li>Tuesday: ravioli, sausages and brussel sprouts</li>
<li>Wednesday: baked chicken</li>
<li>Thursday: rice bowls</li>
<li>Friday: grill if the weather is nice</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Hand Built is re-open for business</title>
      <link>https://danielbachhuber.com/hand-built-is-re-open-for-business/</link>
      <pubDate>Thu, 22 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hand-built-is-re-open-for-business/</guid>
      <description>&lt;p&gt;After a brief stint at a &lt;a href=&#34;http://danielbachhuber.com/2015/04/22/im-joining-fusion-as-director-of-engineering/&#34;&gt;full-time job&lt;/a&gt;, I&amp;rsquo;m back in the freelance world. &lt;a href=&#34;https://handbuilt.co&#34;&gt;Hand Built&lt;/a&gt; is available to help with code reviews, data migrations, and exceptionally difficult engineering problems. I&amp;rsquo;d especially like to pick up a project using the &lt;a href=&#34;http://v2.wp-api.org&#34;&gt;REST API&lt;/a&gt;, as I &lt;em&gt;still&lt;/em&gt; haven&amp;rsquo;t had the chance to use v2.0 in a real-world context. Hit me up at &lt;a href=&#34;mailto:daniel@handbuilt.co&#34;&gt;daniel@handbuilt.co&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After a brief stint at a <a href="http://danielbachhuber.com/2015/04/22/im-joining-fusion-as-director-of-engineering/">full-time job</a>, I&rsquo;m back in the freelance world. <a href="https://handbuilt.co">Hand Built</a> is available to help with code reviews, data migrations, and exceptionally difficult engineering problems. I&rsquo;d especially like to pick up a project using the <a href="http://v2.wp-api.org">REST API</a>, as I <em>still</em> haven&rsquo;t had the chance to use v2.0 in a real-world context. Hit me up at <a href="mailto:daniel@handbuilt.co">daniel@handbuilt.co</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dead-simple video conferencing</title>
      <link>https://danielbachhuber.com/dead-simple-video-conferencing/</link>
      <pubDate>Wed, 23 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dead-simple-video-conferencing/</guid>
      <description>&lt;p&gt;Google Hangout destroys my computer. If I had any sort of expertise in building hardware, I&amp;rsquo;d start a company to produce dead-simple dedicated video conferencing hardware.&lt;/p&gt;&#xA;&lt;p&gt;It would be an all-in-one device (both camera and display) where I can have an instant-on connection with anyone in the world. And, to get fancy, the optics of the camera would correct for the orientation of the device, such that it would always appear as though I&amp;rsquo;m having a face-to-face conversation (instead of nose to face or forehead to nose).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Google Hangout destroys my computer. If I had any sort of expertise in building hardware, I&rsquo;d start a company to produce dead-simple dedicated video conferencing hardware.</p>
<p>It would be an all-in-one device (both camera and display) where I can have an instant-on connection with anyone in the world. And, to get fancy, the optics of the camera would correct for the orientation of the device, such that it would always appear as though I&rsquo;m having a face-to-face conversation (instead of nose to face or forehead to nose).</p>
<p>A price point of $500 or less would make this a killer device for any company.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The ultimate wedding playlist</title>
      <link>https://danielbachhuber.com/the-ultimate-wedding-playlist/</link>
      <pubDate>Tue, 09 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-ultimate-wedding-playlist/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s wedding season again. When I put together our playlist, &lt;a href=&#34;http://www.benmeadowmusic.com/&#34;&gt;Ben Meadow&lt;/a&gt; (Leah&amp;rsquo;s uncle) gave me a couple pieces of advice. First, include up to two slow songs. And probably only one. Second, make sure you have music for all ages. I stacked the golden oldies up front, which worked well.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s the playlist that kept everyone on the dance floor the entire night:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/1CSLeVCXmetBh8IkTPMFdL&#34;&gt;I&amp;rsquo;m A Believer - The Monkees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/6WeD4RXp5pGKcJeTWTnihI&#34;&gt;Baby I Love You - Aretha Franklin&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/1HRtVWNhS9tEvDQyOKD9Fs&#34;&gt;Don&amp;rsquo;t Stop &amp;lsquo;Til You Get Enough - Michael Jackson&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/3nCl0VUCJQ7tJwtyKdrpnp&#34;&gt;Brown Eyed Girl - Van Morrison&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/4msPRe3NEDVL6dsBcE7AhL&#34;&gt;Get Down Tonight - KC &amp;amp; The Sunshine Band&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/5vykEbQzN5BnF57Pt3zR0A&#34;&gt;Brick House - Commodores&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/4W4wYHtsrgDiivRASVOINL&#34;&gt;Love Shack - The B-52&amp;rsquo;s&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/1hXIdXjAI4nWz4qnJ28iO2&#34;&gt;At Last - Etta James&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/01gwPP2h3ajRnqiIphUtR7&#34;&gt;ABC - Jackson 5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/2ATDkfqprlNNe9mYWodgdc&#34;&gt;Dancing Queen - ABBA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/6CSLNGruNhqpb5zhfs5n3i&#34;&gt;Celebration - Kool &amp;amp; The Gang&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/6U0skSHLq0DLJgKdVXmEby&#34;&gt;Wild Thing - Tone-Loc&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/1IwNCQBChMOyuOQfhVQYvd&#34;&gt;Stayin&amp;rsquo; Alive — Bee Gees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/77NNZQSqzLNqh2A9JhLRkg&#34;&gt;Don&amp;rsquo;t Stop Believin&amp;rsquo; - Journey&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/3GfGTJ2xzC0rqKgdjNJLOC&#34;&gt;Mony Mony - Billy Idol&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/0INtjcLMDnXjNB2YGe6RBT&#34;&gt;Kung Fu Fighting - Cee Lo Green&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/1mz9ZrRYu3EPVg9ZHFtjjf&#34;&gt;A Little Party Never Killed Nobody (All We Got) - Fergie, Q-Tip, GoonRock&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/5xM801uXVrqhUb0PzeSLvJ&#34;&gt;Cha Cha Slide - Mr. C&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/03UrZgTINDqvnUMbbIMhql&#34;&gt;Gangnam Style - PSY&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/6axDc02nCVolYbzanE1ye4&#34;&gt;It&amp;rsquo;s Time To Disco - Vasundhara Das, KK, Shaan&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/0obBFrPYkSoBJbvHfUIhkv&#34;&gt;Sexy And I Know It - LMFAO&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/5R9a4t5t5O0IsznsrKPVro&#34;&gt;Single Ladies (Put A Ring On It) - Beyonce&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/7ngLY64yLCFIRaybpIYKJz&#34;&gt;Save A Horse (And Ride A Cowboy) - Big &amp;amp; Rich&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/3ScsDncE80PyMdgNhoMWyg&#34;&gt;Hava Nagila - The Klezmer Lounge Band&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/0WfKDYeUAoLA3vdvLKKWMW&#34;&gt;Poker Face - Lady Gaga&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/3sl4dcqSwxHVnLfqwF2jly&#34;&gt;Hello (Feat. Dragonette) - Martin Solveig&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/3hsBI1UxLFrIfYgfl56Nih&#34;&gt;The Time (Dirty Bit) - The Black Eyed Peas&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://open.spotify.com/track/6b5PBL2QNXmAt1DfqbwO9Z&#34;&gt;Sweet Caroline - Neil Diamond&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Truthfully, people sat down for the Bollywood song. But it wouldn&amp;rsquo;t be my wedding without Bollywood. For the Hava Nagila, Leah and I &lt;a href=&#34;http://danielbachhuber.com/2013/09/03/ch-ch-changes/img_1256/&#34;&gt;actually did end up on chairs&lt;/a&gt;. And, if you&amp;rsquo;ve ever lived in Eugene, you know why we ended with Sweet Caroline.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s wedding season again. When I put together our playlist, <a href="http://www.benmeadowmusic.com/">Ben Meadow</a> (Leah&rsquo;s uncle) gave me a couple pieces of advice. First, include up to two slow songs. And probably only one. Second, make sure you have music for all ages. I stacked the golden oldies up front, which worked well.</p>
<p>Here&rsquo;s the playlist that kept everyone on the dance floor the entire night:</p>
<ol>
<li><a href="https://open.spotify.com/track/1CSLeVCXmetBh8IkTPMFdL">I&rsquo;m A Believer - The Monkees</a></li>
<li><a href="https://open.spotify.com/track/6WeD4RXp5pGKcJeTWTnihI">Baby I Love You - Aretha Franklin</a></li>
<li><a href="https://open.spotify.com/track/1HRtVWNhS9tEvDQyOKD9Fs">Don&rsquo;t Stop &lsquo;Til You Get Enough - Michael Jackson</a></li>
<li><a href="https://open.spotify.com/track/3nCl0VUCJQ7tJwtyKdrpnp">Brown Eyed Girl - Van Morrison</a></li>
<li><a href="https://open.spotify.com/track/4msPRe3NEDVL6dsBcE7AhL">Get Down Tonight - KC &amp; The Sunshine Band</a></li>
<li><a href="https://open.spotify.com/track/5vykEbQzN5BnF57Pt3zR0A">Brick House - Commodores</a></li>
<li><a href="https://open.spotify.com/track/4W4wYHtsrgDiivRASVOINL">Love Shack - The B-52&rsquo;s</a></li>
<li><a href="https://open.spotify.com/track/1hXIdXjAI4nWz4qnJ28iO2">At Last - Etta James</a></li>
<li><a href="https://open.spotify.com/track/01gwPP2h3ajRnqiIphUtR7">ABC - Jackson 5</a></li>
<li><a href="https://open.spotify.com/track/2ATDkfqprlNNe9mYWodgdc">Dancing Queen - ABBA</a></li>
<li><a href="https://open.spotify.com/track/6CSLNGruNhqpb5zhfs5n3i">Celebration - Kool &amp; The Gang</a></li>
<li><a href="https://open.spotify.com/track/6U0skSHLq0DLJgKdVXmEby">Wild Thing - Tone-Loc</a></li>
<li><a href="https://open.spotify.com/track/1IwNCQBChMOyuOQfhVQYvd">Stayin&rsquo; Alive — Bee Gees</a></li>
<li><a href="https://open.spotify.com/track/77NNZQSqzLNqh2A9JhLRkg">Don&rsquo;t Stop Believin&rsquo; - Journey</a></li>
<li><a href="https://open.spotify.com/track/3GfGTJ2xzC0rqKgdjNJLOC">Mony Mony - Billy Idol</a></li>
<li><a href="https://open.spotify.com/track/0INtjcLMDnXjNB2YGe6RBT">Kung Fu Fighting - Cee Lo Green</a></li>
<li><a href="https://open.spotify.com/track/1mz9ZrRYu3EPVg9ZHFtjjf">A Little Party Never Killed Nobody (All We Got) - Fergie, Q-Tip, GoonRock</a></li>
<li><a href="https://open.spotify.com/track/5xM801uXVrqhUb0PzeSLvJ">Cha Cha Slide - Mr. C</a></li>
<li><a href="https://open.spotify.com/track/03UrZgTINDqvnUMbbIMhql">Gangnam Style - PSY</a></li>
<li><a href="https://open.spotify.com/track/6axDc02nCVolYbzanE1ye4">It&rsquo;s Time To Disco - Vasundhara Das, KK, Shaan</a></li>
<li><a href="https://open.spotify.com/track/0obBFrPYkSoBJbvHfUIhkv">Sexy And I Know It - LMFAO</a></li>
<li><a href="https://open.spotify.com/track/5R9a4t5t5O0IsznsrKPVro">Single Ladies (Put A Ring On It) - Beyonce</a></li>
<li><a href="https://open.spotify.com/track/7ngLY64yLCFIRaybpIYKJz">Save A Horse (And Ride A Cowboy) - Big &amp; Rich</a></li>
<li><a href="https://open.spotify.com/track/3ScsDncE80PyMdgNhoMWyg">Hava Nagila - The Klezmer Lounge Band</a></li>
<li><a href="https://open.spotify.com/track/0WfKDYeUAoLA3vdvLKKWMW">Poker Face - Lady Gaga</a></li>
<li><a href="https://open.spotify.com/track/3sl4dcqSwxHVnLfqwF2jly">Hello (Feat. Dragonette) - Martin Solveig</a></li>
<li><a href="https://open.spotify.com/track/3hsBI1UxLFrIfYgfl56Nih">The Time (Dirty Bit) - The Black Eyed Peas</a></li>
<li><a href="https://open.spotify.com/track/6b5PBL2QNXmAt1DfqbwO9Z">Sweet Caroline - Neil Diamond</a></li>
</ol>
<p>Truthfully, people sat down for the Bollywood song. But it wouldn&rsquo;t be my wedding without Bollywood. For the Hava Nagila, Leah and I <a href="http://danielbachhuber.com/2013/09/03/ch-ch-changes/img_1256/">actually did end up on chairs</a>. And, if you&rsquo;ve ever lived in Eugene, you know why we ended with Sweet Caroline.</p>
<p>Good luck!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Toyota Unintended Acceleration and the Big Bowl of “Spaghetti” Code</title>
      <link>https://danielbachhuber.com/toyota-unintended-acceleration-and-the-big-bowl-of-spaghetti-code/</link>
      <pubDate>Wed, 03 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/toyota-unintended-acceleration-and-the-big-bowl-of-spaghetti-code/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.safetyresearch.net/blog/articles/toyota-unintended-acceleration-and-big-bowl-%E2%80%9Cspaghetti%E2%80%9D-code&#34;&gt;Toyota Unintended Acceleration and the Big Bowl of “Spaghetti” Code&lt;/a&gt;. Repeat after me: &amp;ldquo;I will never use global variables.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.safetyresearch.net/blog/articles/toyota-unintended-acceleration-and-big-bowl-%E2%80%9Cspaghetti%E2%80%9D-code">Toyota Unintended Acceleration and the Big Bowl of “Spaghetti” Code</a>. Repeat after me: &ldquo;I will never use global variables.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dinner plan for week of May 31st, 2015</title>
      <link>https://danielbachhuber.com/dinner-plan-for-week-of-may-31st-2015/</link>
      <pubDate>Sun, 31 May 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dinner-plan-for-week-of-may-31st-2015/</guid>
      <description>&lt;p&gt;Leah and I have been meal planning since Ava was born. I thought it might be fun to start sharing what we&amp;rsquo;re eating!&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sunday: BBQ at Leah&amp;rsquo;s mom&amp;rsquo;s&lt;/li&gt;&#xA;&lt;li&gt;Monday: Thai veg curry over rice&lt;/li&gt;&#xA;&lt;li&gt;Tuesday: Make your own salad (chicken, red peppers, avocado, etc.)&lt;/li&gt;&#xA;&lt;li&gt;Wednesday: Ravioli with chicken basil sausages and brussel sprouts&lt;/li&gt;&#xA;&lt;li&gt;Thursday: Beef manicotti&lt;/li&gt;&#xA;&lt;li&gt;Friday: Fish tacos (?)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>Leah and I have been meal planning since Ava was born. I thought it might be fun to start sharing what we&rsquo;re eating!</p>
<ul>
<li>Sunday: BBQ at Leah&rsquo;s mom&rsquo;s</li>
<li>Monday: Thai veg curry over rice</li>
<li>Tuesday: Make your own salad (chicken, red peppers, avocado, etc.)</li>
<li>Wednesday: Ravioli with chicken basil sausages and brussel sprouts</li>
<li>Thursday: Beef manicotti</li>
<li>Friday: Fish tacos (?)</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Some unsolicited feedback for the Fields project from my time with the REST API project</title>
      <link>https://danielbachhuber.com/some-unsolicited-feedback-for-the-fields-project-from-my-time-with-the-rest-api-project/</link>
      <pubDate>Thu, 28 May 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/some-unsolicited-feedback-for-the-fields-project-from-my-time-with-the-rest-api-project/</guid>
      <description>&lt;p&gt;Capturing &lt;a href=&#34;https://github.com/sc0ttkclark/wordpress-fields-api/issues/11&#34;&gt;advice I left&lt;/a&gt; for the sands of time.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set a clear mission statement for the project. This will give clarity to the problem you&amp;rsquo;re solving, what to say yes to, and what to say no to. You ideally want to avoid &lt;a href=&#34;https://github.com/WP-API/WP-API/pull/759#issuecomment-71595471&#34;&gt;crises of faith&lt;/a&gt; late in the project.&lt;/li&gt;&#xA;&lt;li&gt;For your contributors, clarify involvement expectations. When most contributors are doing so in their &amp;ldquo;free&amp;rdquo; time (e.g. not getting paid directly for it), it&amp;rsquo;s really difficult to budget for unlimited development scope. A little bit of proper project management goes a long way. I feel like WP-API is a much more sustainable project with four contributing developers than two. I would encourage you to have at least three.&lt;/li&gt;&#xA;&lt;li&gt;Model your data before writing code. What is a field? What attributes should it have and why? What is a control? What attributes should it have and why? When you dive into development before appropriately modeling your application, you run into these implementation details one by one, and burn a lot of time (waiting to) discuss them.&lt;/li&gt;&#xA;&lt;li&gt;Focus on clearing blockers above all else. Because you&amp;rsquo;re working on an open source project with contributors across many timezones, average time to feedback will optimistically be 6 hours. More likely, it will be 24-48 hours. This slow feedback cycle can kill progress on pull requests. As a project maintainer, prioritize giving feedback, clearing blockers, and making decisions.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p>Capturing <a href="https://github.com/sc0ttkclark/wordpress-fields-api/issues/11">advice I left</a> for the sands of time.</p>
<ol>
<li>Set a clear mission statement for the project. This will give clarity to the problem you&rsquo;re solving, what to say yes to, and what to say no to. You ideally want to avoid <a href="https://github.com/WP-API/WP-API/pull/759#issuecomment-71595471">crises of faith</a> late in the project.</li>
<li>For your contributors, clarify involvement expectations. When most contributors are doing so in their &ldquo;free&rdquo; time (e.g. not getting paid directly for it), it&rsquo;s really difficult to budget for unlimited development scope. A little bit of proper project management goes a long way. I feel like WP-API is a much more sustainable project with four contributing developers than two. I would encourage you to have at least three.</li>
<li>Model your data before writing code. What is a field? What attributes should it have and why? What is a control? What attributes should it have and why? When you dive into development before appropriately modeling your application, you run into these implementation details one by one, and burn a lot of time (waiting to) discuss them.</li>
<li>Focus on clearing blockers above all else. Because you&rsquo;re working on an open source project with contributors across many timezones, average time to feedback will optimistically be 6 hours. More likely, it will be 24-48 hours. This slow feedback cycle can kill progress on pull requests. As a project maintainer, prioritize giving feedback, clearing blockers, and making decisions.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>News Nerdery</title>
      <link>https://danielbachhuber.com/news-nerdery/</link>
      <pubDate>Mon, 04 May 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/news-nerdery/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://newsnerdery.org/&#34;&gt;News Nerdery&lt;/a&gt;. I created a thing that seems like it was a good idea. Lmk if you want an invite to our Slack.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://newsnerdery.org/">News Nerdery</a>. I created a thing that seems like it was a good idea. Lmk if you want an invite to our Slack.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The next 11 days</title>
      <link>https://danielbachhuber.com/the-next-11-days/</link>
      <pubDate>Wed, 29 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-next-11-days/</guid>
      <description>&lt;p&gt;A bit of travel coming up over the next 11 days:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Today I&amp;rsquo;m flying to NYC to meet a few new members of the Fusion team in person. Tomorrow we have a hack day on the theme of personalization.&lt;/li&gt;&#xA;&lt;li&gt;Friday evening I&amp;rsquo;m taking the train to Philly for Saturday&amp;rsquo;s &lt;a href=&#34;http://bcniphilly.com&#34;&gt;BCNI&lt;/a&gt;. I fly back to Portland Saturday evening.&lt;/li&gt;&#xA;&lt;li&gt;Home on Sunday.&lt;/li&gt;&#xA;&lt;li&gt;On Monday, I&amp;rsquo;m headed to Napa via SF for the VIP workshop. I&amp;rsquo;m bringing my running shoes.&lt;/li&gt;&#xA;&lt;li&gt;Thursday, I fly to Las Vegas for &lt;a href=&#34;https://loopconf.io&#34;&gt;Loopconf&lt;/a&gt;, where I&amp;rsquo;ll be until Saturday morning.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If our paths intersect, say hello!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A bit of travel coming up over the next 11 days:</p>
<ul>
<li>Today I&rsquo;m flying to NYC to meet a few new members of the Fusion team in person. Tomorrow we have a hack day on the theme of personalization.</li>
<li>Friday evening I&rsquo;m taking the train to Philly for Saturday&rsquo;s <a href="http://bcniphilly.com">BCNI</a>. I fly back to Portland Saturday evening.</li>
<li>Home on Sunday.</li>
<li>On Monday, I&rsquo;m headed to Napa via SF for the VIP workshop. I&rsquo;m bringing my running shoes.</li>
<li>Thursday, I fly to Las Vegas for <a href="https://loopconf.io">Loopconf</a>, where I&rsquo;ll be until Saturday morning.</li>
</ul>
<p>If our paths intersect, say hello!</p>
<p>On the gear front, I recently picked up a <a href="http://www.patagonia.com/us/product/refugio-pack-28-liters?p=47911-0">Patagonia Refugio 28L backpack</a>. It passed the test with flying colors on an overnight to SF. One pocket for my laptop, another for clothing, and a third for cables, etc. I can&rsquo;t underscore how exceedingly awesome it is. Clothing volume-wise, I think it&rsquo;s going to max out at three night trips unless I pack my reusable undies.</p>
]]></content:encoded>
    </item>
    <item>
      <title>I&#39;m joining Fusion as Director of Engineering</title>
      <link>https://danielbachhuber.com/im-joining-fusion-as-director-of-engineering/</link>
      <pubDate>Wed, 22 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/im-joining-fusion-as-director-of-engineering/</guid>
      <description>&lt;p&gt;Well, pragmatically, I&amp;rsquo;ve actually been working for &lt;a href=&#34;http://fusion.net&#34;&gt;Fusion&lt;/a&gt; on a mostly full-time basis since October. However, there have been logistical hurdles to making it official. If all goes well, I&amp;rsquo;ll be on payroll starting May 4th.&lt;/p&gt;&#xA;&lt;p&gt;Early last year, I was fired a month before Ava was born, &lt;a href=&#34;http://danielbachhuber.com/2014/02/26/whats-next-digital-first-media/&#34;&gt;found my dream job&lt;/a&gt;, and &lt;a href=&#34;http://danielbachhuber.com/2014/04/02/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/&#34;&gt;was laid off a month later&lt;/a&gt; (while on my unofficial paternity leave, to boot). It was difficult to stomach the idea of joining another company full-time, so I started &lt;a href=&#34;http://danielbachhuber.com/2014/04/02/introducing-hand-built/&#34;&gt;my solo consultancy, Hand Built&lt;/a&gt;. Through &lt;a href=&#34;https://twitter.com/hqu&#34;&gt;Hong&lt;/a&gt;, Fusion became one of my clients and I helped successfully deliver strategic project after strategic project.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Well, pragmatically, I&rsquo;ve actually been working for <a href="http://fusion.net">Fusion</a> on a mostly full-time basis since October. However, there have been logistical hurdles to making it official. If all goes well, I&rsquo;ll be on payroll starting May 4th.</p>
<p>Early last year, I was fired a month before Ava was born, <a href="http://danielbachhuber.com/2014/02/26/whats-next-digital-first-media/">found my dream job</a>, and <a href="http://danielbachhuber.com/2014/04/02/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/">was laid off a month later</a> (while on my unofficial paternity leave, to boot). It was difficult to stomach the idea of joining another company full-time, so I started <a href="http://danielbachhuber.com/2014/04/02/introducing-hand-built/">my solo consultancy, Hand Built</a>. Through <a href="https://twitter.com/hqu">Hong</a>, Fusion became one of my clients and I helped successfully deliver strategic project after strategic project.</p>
<p>I&rsquo;ve long wanted two opportunities for my career: 1) to write code for an actual media company, and 2) to be able to help foster a work environment I want to be a part of for a long time. Joining Fusion gives me both in spades — to the degree it feels too good to be true. We&rsquo;re building a distributed team, already represented in New York, Philadelphia, Miami, Toronto, Portland and Mumbai. We <a href="https://github.com/fusioneng/tech-docs/blob/master/team-culture/open-source.md">open source (almost) everything</a>. And we have tremendous freedom to decide what to build and how to build it. Or, as <a href="https://twitter.com/davisshaver">Davis</a> likes to say, &ldquo;enough rope to hang ourselves.&rdquo;</p>
<p>Fusion&rsquo;s technology team is <a href="http://next.fusion.net/work-with-us/">hiring across the board</a>. Come contribute to our success. If the team sounds like it might be a good fit, shoot me a note at my shiny new email address: <a href="mailto:daniel.bachhuber@fusion.net">daniel.bachhuber@fusion.net</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Portland&#39;s housing market in a nutshell</title>
      <link>https://danielbachhuber.com/portlands-housing-market-in-a-nutshell/</link>
      <pubDate>Fri, 17 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/portlands-housing-market-in-a-nutshell/</guid>
      <description>&lt;p&gt;We made an offer &lt;a href=&#34;https://www.redfin.com/OR/Portland/4621-SE-44th-Ave-97206/home/26424929&#34;&gt;on a house&lt;/a&gt; yesterday, $50k over asking price. This is the first offer we&amp;rsquo;ve made in the year or so we&amp;rsquo;ve been looking. Woodstock, the neighborhood, is becoming more popular, but isn&amp;rsquo;t yet a Sellwood or the Pearl.&lt;/p&gt;&#xA;&lt;p&gt;Today we learned:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Our offer wasn&amp;rsquo;t accepted.&lt;/li&gt;&#xA;&lt;li&gt;Not only was our offer not accepted, but it wasn&amp;rsquo;t even &lt;em&gt;close&lt;/em&gt; to being the leading offer. The accepted offer was likely more than $100k over asking price.&lt;/li&gt;&#xA;&lt;li&gt;There were 27 offers on the house. It was on the market for four days in the middle of the week.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Insanity. According to our realtor, RMLS reported the month of March as having the lowest inventory in Portland since September 2005.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We made an offer <a href="https://www.redfin.com/OR/Portland/4621-SE-44th-Ave-97206/home/26424929">on a house</a> yesterday, $50k over asking price. This is the first offer we&rsquo;ve made in the year or so we&rsquo;ve been looking. Woodstock, the neighborhood, is becoming more popular, but isn&rsquo;t yet a Sellwood or the Pearl.</p>
<p>Today we learned:</p>
<ol>
<li>Our offer wasn&rsquo;t accepted.</li>
<li>Not only was our offer not accepted, but it wasn&rsquo;t even <em>close</em> to being the leading offer. The accepted offer was likely more than $100k over asking price.</li>
<li>There were 27 offers on the house. It was on the market for four days in the middle of the week.</li>
</ol>
<p>Insanity. According to our realtor, RMLS reported the month of March as having the lowest inventory in Portland since September 2005.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two proposed sessions for SRCCON 2015</title>
      <link>https://danielbachhuber.com/two-proposed-sessions-for-srccon-2015/</link>
      <pubDate>Wed, 08 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-proposed-sessions-for-srccon-2015/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://srccon.org/&#34;&gt;SRCCON&lt;/a&gt; was my favorite conference last year, and in the running for favorite conference of all time. I liked it so much I&amp;rsquo;ve submitted two proposals for this year. &lt;a href=&#34;http://srccon.org/sessions/pitch/&#34;&gt;You should too&lt;/a&gt;! Submissions are open until April 10th.&lt;/p&gt;&#xA;&lt;h3 id=&#34;continous-integration-for-content&#34;&gt;&lt;a href=&#34;http://srccon.org/sessions/proposals/#proposal-113550&#34;&gt;Continous Integration for Content&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;There&amp;rsquo;s lots of little attributes which define the &amp;ldquo;quality&amp;rdquo; of a piece of content — just like there are attributes which define code quality. Developers have continuous integration to run automated checks on their code, but journalists have editors — who are prone to human error. It&amp;rsquo;s easy and quite common to forget to add a photo credit, or spell the SEO title incorrectly. What are some ways we can automate these errors out of existence? Let&amp;rsquo;s get together, present some real world &amp;ldquo;quality&amp;rdquo; problems to work on, prototype, wireframe, and define algorithms, and then share our results.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://srccon.org/">SRCCON</a> was my favorite conference last year, and in the running for favorite conference of all time. I liked it so much I&rsquo;ve submitted two proposals for this year. <a href="http://srccon.org/sessions/pitch/">You should too</a>! Submissions are open until April 10th.</p>
<h3 id="continous-integration-for-content"><a href="http://srccon.org/sessions/proposals/#proposal-113550">Continous Integration for Content</a></h3>
<p>There&rsquo;s lots of little attributes which define the &ldquo;quality&rdquo; of a piece of content — just like there are attributes which define code quality. Developers have continuous integration to run automated checks on their code, but journalists have editors — who are prone to human error. It&rsquo;s easy and quite common to forget to add a photo credit, or spell the SEO title incorrectly. What are some ways we can automate these errors out of existence? Let&rsquo;s get together, present some real world &ldquo;quality&rdquo; problems to work on, prototype, wireframe, and define algorithms, and then share our results.</p>
<h3 id="code-review-takes-two"><a href="http://srccon.org/sessions/proposals/#proposal-116066">Code review takes two</a></h3>
<p>Code review is single-handedly the best way to level up your development skills. It&rsquo;s also really hard! Let&rsquo;s discuss code review methodologies as a group, and then pair up to practice.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Amsterdam, day three: Ava&#39;s first birthday</title>
      <link>https://danielbachhuber.com/amsterdam-day-three-avas-first-birthday/</link>
      <pubDate>Tue, 24 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/amsterdam-day-three-avas-first-birthday/</guid>
      <description>&lt;p&gt;Today was a very special occasion — Ava&amp;rsquo;s first birthday. To celebrate, we: ate homemade crepes with banana and nutella for breakfast, took a walk to the Bloemenmarkt, dozed peacefully with a two hour nap, played in ball pit and slide at TunFun, and had delicious takeaway Vietnamese from &lt;a href=&#34;http://thetasteofvietnam.nl/&#34;&gt;The Taste of Vietnam&lt;/a&gt; for dinner.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_1947.jpg&#34; alt=&#34;IMG_1947&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_1946.jpg&#34; alt=&#34;Ava and her momma&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_1943.jpg&#34; alt=&#34;Ava in the ball pit&#34;  width=&#34;1800&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_1948.jpg&#34; alt=&#34;IMG_1948&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&#xA;      &lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/123133628?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>Today was a very special occasion — Ava&rsquo;s first birthday. To celebrate, we: ate homemade crepes with banana and nutella for breakfast, took a walk to the Bloemenmarkt, dozed peacefully with a two hour nap, played in ball pit and slide at TunFun, and had delicious takeaway Vietnamese from <a href="http://thetasteofvietnam.nl/">The Taste of Vietnam</a> for dinner.</p>
<p><img src="images/img_1947.jpg" alt="IMG_1947"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_1946.jpg" alt="Ava and her momma"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_1943.jpg" alt="Ava in the ball pit"  width="1800"
	height="2400"  /></p>
<p><img src="images/img_1948.jpg" alt="IMG_1948"  width="2400"
	height="1800"  /></p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/123133628?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

]]></content:encoded>
    </item>
    <item>
      <title>Amsterdam, day one and two</title>
      <link>https://danielbachhuber.com/amsterdam-day-one-and-two/</link>
      <pubDate>Mon, 23 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/amsterdam-day-one-and-two/</guid>
      <description>&lt;p&gt;The flight over wasn&amp;rsquo;t awful. I can&amp;rsquo;t think of any highlights from flying nine hours with an almost one year old, but we survived and we&amp;rsquo;re here.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_1835.jpg&#34; alt=&#34;Ava checks out the boarding passengers&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;We had a failed plan (proposed by me) where I would sleep 3-4 hours on Unisom, then take over and Leah would sleep 3-4 hours. I took my pill, then attempted to sleep for a couple of hours while Leah dealt with an often-screaming Ava. She hadn&amp;rsquo;t taken her morning nap, so she was already a wreck by the time we were on the plane. Not much sleep for me. Then, later, Leah took half of a pill, got an hour and change of downtime while Ava napped in the Ergo, and then had to groggily help me take care of Ava. But, on a positive note, we all slept roughly an hour at the very end of the flight.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The flight over wasn&rsquo;t awful. I can&rsquo;t think of any highlights from flying nine hours with an almost one year old, but we survived and we&rsquo;re here.</p>
<p><img src="images/img_1835.jpg" alt="Ava checks out the boarding passengers"  width="2400"
	height="1800"  /></p>
<p>We had a failed plan (proposed by me) where I would sleep 3-4 hours on Unisom, then take over and Leah would sleep 3-4 hours. I took my pill, then attempted to sleep for a couple of hours while Leah dealt with an often-screaming Ava. She hadn&rsquo;t taken her morning nap, so she was already a wreck by the time we were on the plane. Not much sleep for me. Then, later, Leah took half of a pill, got an hour and change of downtime while Ava napped in the Ergo, and then had to groggily help me take care of Ava. But, on a positive note, we all slept roughly an hour at the very end of the flight.</p>
<p>Yesterday, we landed at about 9 am, then took the train to our accommodations. It&rsquo;s a <a href="https://www.airbnb.com/rooms/693432">lovely flat in the Jordaan district we found on Airbnb</a>. The owner is the Dutch ambassador to Sudan, and their place is filled with trinkets and pictures of their travels — the perfect place for us.</p>
<p><img src="images/img_1859.jpg" alt="Leah and Ava look out the window"  width="2400"
	height="1600"  /></p>
<p> </p>
<p>After a quick two and a half hour nap, we took off for a walk, some lunch, and grocery shopping.</p>
<p><img src="images/img_1875.jpg" alt="Bob stroller is the best thing ever"  width="1800"
	height="2400"  /></p>
<p> </p>
<p>Our lunch was at <a href="http://paneolio.github.io/">Pane &amp; Olio</a>, a welcome departure from all of the tourist cafes nearby. Ava had quiche, Leah a prosciutto sandwich, and I a slice of salami pizza. The lunch special, some sort of macaroni dish, looked quite good.</p>
<p>For dinner, I cooked up chicken with sweet potatoes, onions and brussel sprouts. What I love most about Airbnb is that travel accommodation can easily become a home away from home. For us, home-cooked meals are a key ingredient.</p>
<p>Last night wasn&rsquo;t too bad. We all woke up for a couple of hours around midnight. Ava got to sleep in our bed because we didn&rsquo;t want her crying to wake up the neighbors. Ava and I woke up around 6:30 am, and Leah slept in until 8 or so.</p>
<p>Leah&rsquo;s time for the laptop!</p>
<p>Today we: walked to the Van Gogh museum in the morning, came home for naps (me one hour, Leah an hour and a half, and Ava two hours), and went on a canal tour in the afternoon. Dinner was <a href="http://www.sushime.nl/">SushiMe</a> — not quite as good as Ichiban ?</p>
<p><img src="images/img_1876.jpg" alt="Classic Amsterdam homes"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_1877.jpg" alt="Goofing off on the boat"  width="960"
	height="640"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Back on WebFaction (again)</title>
      <link>https://danielbachhuber.com/back-on-webfaction-again/</link>
      <pubDate>Mon, 26 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/back-on-webfaction-again/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re seeing this post, I&amp;rsquo;ve moved my site back to WebFaction (again). I decided a while back that I don&amp;rsquo;t want to sys admin a Digital Ocean box and, surprise, it took me a bit of time to sit down and actually move everything over. In doing so, I&amp;rsquo;ve set up a fancy SSL certificate too.&lt;/p&gt;&#xA;&lt;p&gt;This site&amp;rsquo;s history: &lt;a href=&#34;http://danielbachhuber.com/2009/06/04/new-host-and-registrar/&#34;&gt;switched from 1&amp;amp;1 to WebFaction in June 2009&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/&#34;&gt;to Slicehost in May 2010&lt;/a&gt;, &lt;a href=&#34;http://danielbachhuber.com/2010/09/27/back-on-webfaction/&#34;&gt;back to WebFaction in September 2010&lt;/a&gt;, and &lt;a href=&#34;http://danielbachhuber.com/2014/03/13/moving-on-up/&#34;&gt;to Digital Ocean last March&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re seeing this post, I&rsquo;ve moved my site back to WebFaction (again). I decided a while back that I don&rsquo;t want to sys admin a Digital Ocean box and, surprise, it took me a bit of time to sit down and actually move everything over. In doing so, I&rsquo;ve set up a fancy SSL certificate too.</p>
<p>This site&rsquo;s history: <a href="http://danielbachhuber.com/2009/06/04/new-host-and-registrar/">switched from 1&amp;1 to WebFaction in June 2009</a>, <a href="http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/">to Slicehost in May 2010</a>, <a href="http://danielbachhuber.com/2010/09/27/back-on-webfaction/">back to WebFaction in September 2010</a>, and <a href="http://danielbachhuber.com/2014/03/13/moving-on-up/">to Digital Ocean last March</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Riley&#39;s pie crust</title>
      <link>https://danielbachhuber.com/rileys-pie-crust/</link>
      <pubDate>Sat, 17 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/rileys-pie-crust/</guid>
      <description>&lt;p&gt;Leah has been making pretty amazing quiche on an almost weekly basis. It&amp;rsquo;s a filling, wholesome breakfast for the two of us, and a godsend given our crazy weekly schedules.&lt;/p&gt;&#xA;&lt;p&gt;The crust makes or breaks a quiche. We love our friend Riley&amp;rsquo;s recipe, so much so that Leah pre-makes a half dozen crusts and sticks them in the freezer so we always have one ready.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ingredients:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3 cups flour&lt;/li&gt;&#xA;&lt;li&gt;1 1/2 teaspoon salt&lt;/li&gt;&#xA;&lt;li&gt;1 1/4 cup butter, warmed to room temperature&lt;/li&gt;&#xA;&lt;li&gt;1 egg beaten&lt;/li&gt;&#xA;&lt;li&gt;5 tablespoon water, cold&lt;/li&gt;&#xA;&lt;li&gt;1 teaspoon vinegar&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Directions:&lt;/strong&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Leah has been making pretty amazing quiche on an almost weekly basis. It&rsquo;s a filling, wholesome breakfast for the two of us, and a godsend given our crazy weekly schedules.</p>
<p>The crust makes or breaks a quiche. We love our friend Riley&rsquo;s recipe, so much so that Leah pre-makes a half dozen crusts and sticks them in the freezer so we always have one ready.</p>
<p><strong>Ingredients:</strong></p>
<ul>
<li>3 cups flour</li>
<li>1 1/2 teaspoon salt</li>
<li>1 1/4 cup butter, warmed to room temperature</li>
<li>1 egg beaten</li>
<li>5 tablespoon water, cold</li>
<li>1 teaspoon vinegar</li>
</ul>
<p><strong>Directions:</strong></p>
<p>Mix flour and salt together, then knead in butter. Work until butter is well-mixed. Mix wet ingredients in a separate bowl, then add to other ingredients. Work together. Form into four balls. The dough can be frozen for up to two months. (Makes four crusts)</p>
]]></content:encoded>
    </item>
    <item>
      <title>How Fusion does agile</title>
      <link>https://danielbachhuber.com/how-fusion-does-agile/</link>
      <pubDate>Thu, 08 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-fusion-does-agile/</guid>
      <description>&lt;p&gt;&lt;em&gt;As a part of NYU Studio 20&amp;rsquo;s &lt;a href=&#34;http://nyustudio20.wordpress.com/about-the-project/&#34;&gt;project with Storyful&lt;/a&gt;, I did an interview on how Fusion applies agile in its product development methodologies. For lack of a better word, this is the funnest thing I&amp;rsquo;ve written in a while — it encapsulates my current thinking on distributed teams, open source, and many topics in-between. It was &lt;a href=&#34;http://next.fusion.net/2014/12/18/nyu-studio-20s-interview-with-daniel-bachhuber/&#34;&gt;originally published on Fusion Next&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;what-do-you-do-in-your-role-at-fusion&#34;&gt;What do you do in your role at Fusion?&lt;/h3&gt;&#xA;&lt;p&gt;As interim Director of Engineering, I consider my primarily responsibility to be very similar to a janitor — keep the lights on, clean up messes, and make sure things are happening in an orderly manner. And, when they aren’t, I jump in to get things back on track.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>As a part of NYU Studio 20&rsquo;s <a href="http://nyustudio20.wordpress.com/about-the-project/">project with Storyful</a>, I did an interview on how Fusion applies agile in its product development methodologies. For lack of a better word, this is the funnest thing I&rsquo;ve written in a while — it encapsulates my current thinking on distributed teams, open source, and many topics in-between. It was <a href="http://next.fusion.net/2014/12/18/nyu-studio-20s-interview-with-daniel-bachhuber/">originally published on Fusion Next</a>.</em></p>
<h3 id="what-do-you-do-in-your-role-at-fusion">What do you do in your role at Fusion?</h3>
<p>As interim Director of Engineering, I consider my primarily responsibility to be very similar to a janitor — keep the lights on, clean up messes, and make sure things are happening in an orderly manner. And, when they aren’t, I jump in to get things back on track.</p>
<p>For instance, over the past week, I’ve:</p>
<ul>
<li>Helped with on-boarding two new full-time employees.</li>
<li>Reviewed and provided feedback on code written by potential hires on trial.</li>
<li>Edited job descriptions to go with <a href="http://next.fusion.net/work-with-us/">the positions we&rsquo;re hiring for</a>.</li>
<li>Reviewed and deployed code from Fusion’s engineering team.</li>
<li>Worked with editorial to figure out the best way to do X, Y, or Z</li>
<li>Stayed up late to build a new feature for editorial, the night before the story ran.</li>
<li>Wrote code for a variety of bug fixes, feature tweaks, etc.</li>
<li>Wrote Github issues for problems we want to solve over the next few months, and need product definition and UX for.</li>
</ul>
<p>Really, it’s anything that needs to be done to keep the team on track and working on the right things.</p>
<h3 id="how-does-fusion-use-agile-in-its-development-processes">How does Fusion use agile in its development processes?</h3>
<p>Before we make too many assumptions, let me frame the conversation. I think Agile™, as a formal process with right and wrong procedures, is bullshit. To me, agile means the minimum process needed to ship code that exceeds product goals. What that process specifically is depends on the composition of the team and what we&rsquo;re working on.</p>
<p>Many digital news organizations publish an article when it’s good enough to go, and then revise from there. This is in contrast to print publications, where you can’t edit a story after it’s been printed. In a similar vein, the proper way to ship web software is to deploy your Minimum Viable Product and iterate, fixing bugs and tweaking features. Your development process should foster this process — just like it shouldn’t take 15 minutes for an article edit to appear on your website, it shouldn’t take two hours for your bug fix to make it to production.</p>
<p>Fusion is still experimenting radically with it’s “agile” process. Our two leading tools right now are <a href="http://slack.com/">Slack</a> and <a href="http://github.com/">Github</a>.</p>
<p>We have two Slack organizations: Fusion Product for technology and product, and Fusion Digital for editorial. Given how easy it is to simply strike up a conversation with anyone, I cannot imagine being in an office of the same number of people, having to go over to someone’s desk, see that they’re not there, etc. etc.</p>
<p>However, Slack comes with costs too. It can be very easy to become overwhelmed by the number of conversations happening that you’re inadvertently following along. Also, text is a low-bandwidth form of communication, where subtlety is lost.</p>
<p>For the technology team, because our work is so closely tied to the products we’re building, Github issues are the best place to have conversations. Currently, we have repos for each product we’re responsible for, as well as a “Fusion for the Future” repo for discussing future projects, and a “Let’s UX This Puppy Up” repo for UX / design requests and our style guide. To add a light project management layer to our repos (e.g. determining which state each issue is in), we are using <a href="http://huboard.com/">Huboard</a>.</p>
<p>The goal for our Github repos is that no one should ever have to wonder what’s next to work on. Backlogs should be chock-full of well-scoped issues and features to pick from.</p>
<h3 id="one-of-storyfulsbiggest-problems-is-communication-between-departments-how-do-you-overcome-this-obstacle">One of Storyful&rsquo;s biggest problems is communication between departments. How do you overcome this obstacle?</h3>
<p>I love this question! It’s right up my alley.</p>
<p>One of my favorite phrases from my days at Automattic is “communication is the oxygen of a distributed company.” Meaning, the success of a company is directly correlated to its ability to communicate. And, if a company is struggling, it’s probably because communication is breaking down in some way.</p>
<p>Given this assumption about the importance of communication, it begs the question: how do you communicate well? For me, it boils down to these things:</p>
<ol>
<li>Use the appropriate medium.</li>
<li>Be deliberate in how you speak.</li>
<li>Meetings and emails aren’t communication.</li>
</ol>
<p>Open, archived text should be the default medium for conversation. It’s helpful to have everyone in the company in a communal, synchronous chat application for quick one to one exchanges. If the conversation doesn’t need to be real-time, then there should be an open, archived space for asynchronous communication. Fusion uses <a href="http://geto2.com/">O2</a>, the successor to P2, for this. It’s a blog with threaded commenting where anyone can post or easily review past conversations. <a href="http://whenihavetime.com/2011/12/14/my-ignite-at-leweb-2011-the-future-way-of-working-the-distributed-company/">See Sara Rosso&rsquo;s presentation for how it&rsquo;s changed Automattic</a>. Lastly, if the conversation needs to be higher-bandwidth than text, go to audio or video. But a team that communicates well can conduct 90% of its conversations via text.</p>
<p>As an aside, it’s funny to me that Slack is now worth billions of dollars, and has taken over companies like wildfire, because IRC has been around for years. But, I guess that’s what happens when you get the UX right. Many people I’ve seen hesitant with IRC love Slack.</p>
<p>When you do communicate primarily through text, you need to be very deliberate in how you speak — it can be much easier to miscommunicate, because you’re lacking the subtlety you normally get in face to face conversation. Emojis can help with nuance. Screenshots are often worth a thousand words. Taking a pause to edit can greatly increase impact.</p>
<p>I love Michael Pollan’s “food-like substance” phrase because it can be re-used in so many ways. Meetings and emails are “communication-like activities”.</p>
<p>Meetings, because of their coordination costs, should be used sparingly. Just think — six people in a one-hour meeting represents six hours of lost productivity. If you do need the communication bandwidth that comes from meetings, a meeting shouldn’t be allowed to begin until it has an agenda with specific discussion points and a note-taker. These notes should then be archived to your open, archived asynchronous communication space.</p>
<p>Granted, face-to-face interaction is still important for keeping your team human. Fusion’s technology team has twice-weekly standups of 15 minutes or less, and Hangouts as needed. Because we’re a distributed team (currently NYC, Miami, Portland, Philly, and India), we plan to have a couple in-person meetups in 2015 too.</p>
<p>Similarly, emails are blackholes for the information a team needs to be productive. The context and details associated with an important discussion between person A and B is totally lost when person C joins the team. Do you really want to forward your entire email archive when person C joins the team? Or lose institutional knowledge when person A leaves the team? The types of conversations that happen in email can easily be done in Slack, O2, Github issues, or whichever open tool a team chooses to use. Archives are worth their weight in gold.</p>
<p>Scott Berkun wrote a book, “<a href="http://www.amazon.com/The-Year-Without-Pants-WordPress-com/dp/1118660633">A Year Without Pants</a>”, about his time with Automattic’s distributed culture that many people find a useful introduction.</p>
<h3 id="how-should-other-news-organizations-implement-agile">How should other news organizations implement agile?</h3>
<p>Once your communication is like oxygen, agile goes best with a heavy dose of open source software. Let me give you a real-world example.</p>
<p>Last night (Wednesday, December 3rd), Alexis Madrigal pinged me in Slack asking whether Fusion had a native way to embed a PDF in an article. DocumentCloud and Scribd are great, but also subject to DMCA requests. Alexis and Kevin Roose were working on <a href="http://fusion.net/story/31465/here-are-the-best-parts-of-the-leaked-budget-for-the-interview-north-koreas-least-favorite-movie/">story about the Sony Pictures hack</a>, and wanted to embed a PDF version of a budget at the end of article.</p>
<p>“Give me 30 minutes,” I said. It ended up taking an hour and a half, but I was able to cobble together a solution using Mozilla’s <a href="http://mozilla.github.io/pdf.js/">PDF.js</a> and putting the PDF in an Amazon S3 bucket Fusion controls. Thus, any DMCA requests will have to go through Fusion legal. Problem solved, powered by flat, effective communication.</p>
<p>Open source doesn’t just mean using open source software though. It means being a responsible member of the open source communities you’re a part of. And if you use any open source software, you’re a member of its community. Your product is dependent on that software — you want it to be healthy and thrive.</p>
<p>Just like being a good neighbor means picking up trash when you see it, being a good member of an open source community means taking the extra effort to open bug reports or create pull requests. Open source is a tremendous catalyst for software development — aka idea to production in a couple of hours — but it’s an informed, deliberate, and strategic activity.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Whoa, AppleTV</title>
      <link>https://danielbachhuber.com/whoa-appletv/</link>
      <pubDate>Fri, 02 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/whoa-appletv/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve had an AppleTV sitting at home, boxed, for a couple months now. I purchased it when I bought our ridiculous TV, and have been one HDMI cable shy of getting it hooked up. Today I picked one up from Freddie&amp;rsquo;s.&lt;/p&gt;&#xA;&lt;p&gt;Whoa, AppleTV is an amazing experience now. My parents had a version one or two several years back which was a bit meh — ok, so I can play the media I already have in my library, or purchase from the iTunes Store. With the addition of AirPlay and content from Netflix, YouTube, and other providers, it&amp;rsquo;s become much, much better.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We&rsquo;ve had an AppleTV sitting at home, boxed, for a couple months now. I purchased it when I bought our ridiculous TV, and have been one HDMI cable shy of getting it hooked up. Today I picked one up from Freddie&rsquo;s.</p>
<p>Whoa, AppleTV is an amazing experience now. My parents had a version one or two several years back which was a bit meh — ok, so I can play the media I already have in my library, or purchase from the iTunes Store. With the addition of AirPlay and content from Netflix, YouTube, and other providers, it&rsquo;s become much, much better.</p>
<p>Speaking of, Fusion has some real estate in the AppleTV digital storefront (not sure what the appropriate terminology is). When the channel <a href="http://wearefusion.tumblr.com/post/104760435029/fusion-launches-on-apple-tv">launched in December</a>, I didn&rsquo;t think much of it. But it&rsquo;s really neat! And Fusion produces great content. I&rsquo;ve watched more clips in the past half hour than I&rsquo;ve watched on the website in the last month.</p>
<p>Experiencing Fusion through AppleTV underscores how version 1.0 this whole post-cable video business is though. I have my iPhone out, and I&rsquo;m just using it as a remote. The experience could be <em>so much more</em>.</p>
<p>While I&rsquo;m watching a given clip, I want a synchronized second screen experience where I can dive deeper into the story — videos with links. When the clip is over, I want answers to &ldquo;what next?&rdquo; Stories like that of <a href="http://fusion.net/story/6333/why-they-flee-life-in-the-murder-capital-of-the-world-san-pedro-sula-honduras/">San Pedro Sulas</a> shouldn&rsquo;t dead end, they should take me deeper into the issue — from informational to educational to empowering.</p>
<p>Integration ideas:</p>
<ul>
<li>Every video has a unique URL.</li>
<li>Web experience for the video is highly visual and interactive — engagement that doesn&rsquo;t take me 100% away from the video like text does.</li>
<li>When I visit the video&rsquo;s web page, I&rsquo;m promoted to sign in via Facebook or Twitter so Fusion can keep track of the clips I&rsquo;ve watched and let me follow topics, personalities, or series.</li>
<li>Like Amazon has on product pages, functionality so I can ask a question of the clip and have the producer or other viewers answer.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2014</title>
      <link>https://danielbachhuber.com/year-in-review-2014/</link>
      <pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2014/</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on family, business, and travel. See also: &lt;a href=&#34;http://danielbachhuber.com/year-in-review-2013/&#34;&gt;2013&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;It goes without saying: the biggest event in 2014 was the &lt;a href=&#34;http://danielbachhuber.com/2014/03/26/hello-world-meet-ava-lucille/&#34;&gt;birth of our daughter&lt;/a&gt;, Ava Lucille. The past nine months have flown by; watching her experience the world brings new meaning to life. Furthermore, the home birth experience, which &lt;a href=&#34;http://leahbachhuber.com/2014/03/27/ava-lucilles-birth-story/&#34;&gt;Leah wrote about&lt;/a&gt;, was amazing, empowering, and priceless for the both of us.&lt;/p&gt;&#xA;&lt;p&gt;From Instagram, here are some of the highlights:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/1737601_217995338408109_2064002871_n.jpg&#34; alt=&#34;1737601_217995338408109_2064002871_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10175391_1389980314614491_1003998243_n.jpg&#34; alt=&#34;10175391_1389980314614491_1003998243_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/924923_845060138854133_1381111107_n.jpg&#34; alt=&#34;924923_845060138854133_1381111107_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/1742216_726520564035856_1974258269_n.jpg&#34; alt=&#34;1742216_726520564035856_1974258269_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10245936_652231291490601_535738257_n.jpg&#34; alt=&#34;10245936_652231291490601_535738257_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10354366_295518083943283_1660848094_n.jpg&#34; alt=&#34;10354366_295518083943283_1660848094_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/d3fbf9cab48611e386c30e77cf9111d5_8.jpg&#34; alt=&#34;d3fbf9cab48611e386c30e77cf9111d5_8&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10431877_520658594729206_1409532369_n.jpg&#34; alt=&#34;10431877_520658594729206_1409532369_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/927375_339017409588825_37226213_n.jpg&#34; alt=&#34;927375_339017409588825_37226213_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/926835_1450687791853104_736275449_n.jpg&#34; alt=&#34;926835_1450687791853104_736275449_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10358223_721058147959678_1302515342_n.jpg&#34; alt=&#34;10358223_721058147959678_1302515342_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10525498_1436364779975936_2123854640_n.jpg&#34; alt=&#34;10525498_1436364779975936_2123854640_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/925052_724833990923890_942146729_n.jpg&#34; alt=&#34;925052_724833990923890_942146729_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&#xA;&lt;img src=&#34;images/10540335_672217756180198_1312212163_n.jpg&#34; alt=&#34;10540335_672217756180198_1312212163_n&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;640&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>A reflection on family, business, and travel. See also: <a href="http://danielbachhuber.com/year-in-review-2013/">2013</a>.</em></p>
<p>It goes without saying: the biggest event in 2014 was the <a href="http://danielbachhuber.com/2014/03/26/hello-world-meet-ava-lucille/">birth of our daughter</a>, Ava Lucille. The past nine months have flown by; watching her experience the world brings new meaning to life. Furthermore, the home birth experience, which <a href="http://leahbachhuber.com/2014/03/27/ava-lucilles-birth-story/">Leah wrote about</a>, was amazing, empowering, and priceless for the both of us.</p>
<p>From Instagram, here are some of the highlights:</p>
<p><img src="images/1737601_217995338408109_2064002871_n.jpg" alt="1737601_217995338408109_2064002871_n"  width="640"
	height="640"  />
<img src="images/10175391_1389980314614491_1003998243_n.jpg" alt="10175391_1389980314614491_1003998243_n"  width="640"
	height="640"  />
<img src="images/924923_845060138854133_1381111107_n.jpg" alt="924923_845060138854133_1381111107_n"  width="640"
	height="640"  />
<img src="images/1742216_726520564035856_1974258269_n.jpg" alt="1742216_726520564035856_1974258269_n"  width="640"
	height="640"  />
<img src="images/10245936_652231291490601_535738257_n.jpg" alt="10245936_652231291490601_535738257_n"  width="640"
	height="640"  />
<img src="images/10354366_295518083943283_1660848094_n.jpg" alt="10354366_295518083943283_1660848094_n"  width="640"
	height="640"  />
<img src="images/d3fbf9cab48611e386c30e77cf9111d5_8.jpg" alt="d3fbf9cab48611e386c30e77cf9111d5_8"  width="640"
	height="640"  />
<img src="images/10431877_520658594729206_1409532369_n.jpg" alt="10431877_520658594729206_1409532369_n"  width="640"
	height="640"  />
<img src="images/927375_339017409588825_37226213_n.jpg" alt="927375_339017409588825_37226213_n"  width="640"
	height="640"  />
<img src="images/926835_1450687791853104_736275449_n.jpg" alt="926835_1450687791853104_736275449_n"  width="640"
	height="640"  />
<img src="images/10358223_721058147959678_1302515342_n.jpg" alt="10358223_721058147959678_1302515342_n"  width="640"
	height="640"  />
<img src="images/10525498_1436364779975936_2123854640_n.jpg" alt="10525498_1436364779975936_2123854640_n"  width="640"
	height="640"  />
<img src="images/925052_724833990923890_942146729_n.jpg" alt="925052_724833990923890_942146729_n"  width="640"
	height="640"  />
<img src="images/10540335_672217756180198_1312212163_n.jpg" alt="10540335_672217756180198_1312212163_n"  width="640"
	height="640"  /></p>
<h3 id="professionally-speaking">Professionally speaking</h3>
<p>This year has been more, uh, turbulent than others in my career. I started 2014 as a Senior Engineer with Human Made, splitting my time between client services and <a href="http://danielbachhuber.com/tag/wp-remote/">product</a>. In early February, I was fired. Don&rsquo;t worry — we&rsquo;re on good terms, and have since worked together on a couple of projects.</p>
<p>Getting fired turned out to be a blessing in disguise. Later in February, I <a href="http://danielbachhuber.com/2014/02/26/whats-next-digital-first-media/">landed my dream job with Digital First Media</a>. I had grand plans to reinvent digital publishing using open source across DFM&rsquo;s 100+ properties. But, while on my unofficial paternity leave, <a href="http://danielbachhuber.com/2014/04/02/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/">my business unit imploded</a>, leaving me without a job again.</p>
<p>When you get fired and laid off within the span of a couple of months, working for yourself becomes incredibly appealing. I <a href="http://danielbachhuber.com/2014/04/02/introducing-hand-built/">announced Hand Built</a>, my WordPress consulting shop offering bespoke development, data migration, code review, and devop services. Since April, I&rsquo;ve gotten to work with a variety of clients including:</p>
<ul>
<li>Airbnb</li>
<li>Billy Penn</li>
<li>The Chicago Sun-Times</li>
<li>Easy Digital Downloads</li>
<li>Fusion</li>
<li>Investigative News Network</li>
<li>The New Republic</li>
<li>Pantheon</li>
</ul>
<p>Solid list, huh?</p>
<p>Given my time with Human Made and WordPress.com VIP, I was fortunate to have a good sense of the consulting business. Still, solid advice always helps. <a href="http://www.etchsoftware.com/">Mike Bijon</a> and <a href="http://boone.gorg.es/">Boone Gorges</a> were nice enough to give me the rundown on how they operate their businesses (also worth mentioning: <a href="http://freelance.tri.be/">Modern Tribe&rsquo;s freelancer guide</a>). One of Mike&rsquo;s invaluable tips: target 20 billable hours per week for 48 weeks out of the year, as you&rsquo;ll likely spend 20 hours or more per week on non-billable admin, sales cycle, etc. In 960 working hours, I need to make all of the revenue I&rsquo;d like to make in a year, also keeping in mind added costs of benefits and additional tax. This was a great framework for determining how I needed to sell my services.</p>
<p>A highly-relevant aside: I made an early decision to switch from Freshbooks to <a href="https://www.getharvest.com/">Harvest</a>. Harvest is <em>so</em> much better than Freshbooks. One of Shane Pearlman&rsquo;s, uh, pearls is to <a href="http://tri.be/are-you-working-for-free/">get religious about time-tracking</a>. Before I started my business, I <em>hated</em> budgeting my time. Work estimates were the last thing I ever wanted to do. Once you get hooked though, you never go back — time-tracking is the only sane way to manage your most valuable resource. Harvest has really awesome Mac and iOS applications for logging hours against projects, and Freshbooks is basically a faff to work with.</p>
<p>Hand Built turned out to be viable. In 2014, I&rsquo;ve gotten to:</p>
<ol>
<li>Work with (mostly) great clients on (mostly) interesting projects.</li>
<li>Be pretty good about working sane hours and having a proper work/life balance.</li>
<li>Put in 1,282.72 billable hours and 444.51 non-billable (including open source) hours since March.</li>
<li>Prove it&rsquo;s financially viable to be an independent software developer.</li>
</ol>
<p>Closing the year, I&rsquo;m spending the majority of my time with <a href="http://fusion.net/">Fusion</a> as interim Director of Engineering. It&rsquo;s a somewhat of an odd limbo state — Fusion can&rsquo;t yet extend a full-time offer because they don&rsquo;t have a business presence in Oregon. If / when they do, I&rsquo;ll probably accept, as I really enjoy the team and what we&rsquo;re working on. But the limbo state has its advantages too — I&rsquo;m on the hook for a fixed number of hours each week, and get to have my side projects.</p>
<p><img src="images/2014-12-31-at-4-16-pm.png" alt="2014-12-31 at 4.16 PM"  width="1486"
	height="592"  /></p>
<p>In 2015, I&rsquo;d like to improve upon two areas: open source contributions, and my product offerings.</p>
<p>In starting Hand Built, my goal was to spend roughly 25% of my time on open source. Even though I&rsquo;ve become the maintainer of WP-CLI and a co-leader of WP-API, I&rsquo;ve a bit fallen short: 28.66 hours on WP-API, 116.17 hours on WP-CLI, and 56.95 hours on other projects including WordPress core. But, this does equal ~12% of my tracked time so I guess I&rsquo;ve exceeded <a href="http://ma.tt/2014/09/five-for-the-future/">Matt&rsquo;s 5% goal</a>. Setting monthly time budgets, as with any client project, is likely the best way to meet the commitment.</p>
<p>When I chatted with Boone, he mentioned 75% of his business comes from recurring, on-going contracts, avoiding one-off pick-up projects. In his opinion, it&rsquo;s the most viable way to be a solo web developer. My past eight months echo this — the majority of my billable hours are priced hourly and a part of a long-term contract. I&rsquo;d like to do more code reviews and migrations though, so I need to invest time productizing these offerings, marketing, etc.</p>
<h3 id="jet-setting">Jet-setting</h3>
<p>Both Leah and I love to travel. In 2011 and 2012, I managed to hit ~130k miles flown each year. According to TripIt, here’s the tally for 2014 compared to 2013:</p>
<ul>
<li>18 trips over 90 days (2013: 24 trips over 139 days).</li>
<li>64,193 miles flown (2013: 99,228 miles).</li>
<li>Visited 19 cities in 4 countries (2013: 33 cities in 8 countries).</li>
</ul>
<p>Not quite as impressive, but still pretty good.</p>
<p>Cemre Güngör put together a <a href="http://cem.re/year-in-review/">neat app</a> for visualizing your TripIt profile. Here&rsquo;s how mine turns out:</p>
<p><img src="images/2014-12-31-at-5-18-pm.png" alt="2014-12-31-at-5-18-pm"  width="2104"
	height="1232"  />
<img src="images/2014-12-31-at-5-17-pm.png" alt="2014-12-31-at-5-17-pm"  width="2076"
	height="1228"  />
<img src="images/2014-12-31-at-5-16-pm.png" alt="2014-12-31-at-5-16-pm"  width="2114"
	height="1352"  /></p>
<p>Time to go celebrate my sister&rsquo;s 21st birthday. Happy New Year&rsquo;s Eve!</p>
]]></content:encoded>
    </item>
    <item>
      <title>New hardware: 13&#34; Macbook Pro</title>
      <link>https://danielbachhuber.com/new-hardware-13-macbook-pro/</link>
      <pubDate>Wed, 31 Dec 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-hardware-13-macbook-pro/</guid>
      <description>&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/IMG_1624.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;While I didn&amp;rsquo;t &lt;em&gt;really&lt;/em&gt; need it, I finally decided to upgrade. Pictured on the left is my new, fully-loaded 13&amp;quot; Macbook Pro. Retina, 3 GHz i7, 16 GB RAM, etc. Pictured on the right is my old, yet reliable, 13&amp;quot; Macbook Air. It&amp;rsquo;ll take a while to collect a similar set of awesome stickers.&lt;/p&gt;&#xA;&lt;p&gt;Largely because of the SSD and (lack of) weight, my 2011 13&amp;quot; Macbook Air has been the best computer I&amp;rsquo;ve owned. But, I&amp;rsquo;ve been envious of the battery life with newer Macs. And, countering the trend of netbooks / everything running in the cloud, I&amp;rsquo;ve been regularly maxing out my 4 GB RAM.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<figure>
<p><img src="images/IMG_1624.jpg" alt=""  width="2400"
	height="1800"  /></p>
</figure>
<p>While I didn&rsquo;t <em>really</em> need it, I finally decided to upgrade. Pictured on the left is my new, fully-loaded 13&quot; Macbook Pro. Retina, 3 GHz i7, 16 GB RAM, etc. Pictured on the right is my old, yet reliable, 13&quot; Macbook Air. It&rsquo;ll take a while to collect a similar set of awesome stickers.</p>
<p>Largely because of the SSD and (lack of) weight, my 2011 13&quot; Macbook Air has been the best computer I&rsquo;ve owned. But, I&rsquo;ve been envious of the battery life with newer Macs. And, countering the trend of netbooks / everything running in the cloud, I&rsquo;ve been regularly maxing out my 4 GB RAM.</p>
<p>This Macbook Pro won out over the mythical 12&quot; Macbook Air coming in 2015 because one always needs to be wary of first generation hardware. Using my <a href="http://danielbachhuber.com/2014/10/19/software-i-use-october-2014-edition/">handy crib notes from October</a> to get everything configured.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A stranger in a strange land</title>
      <link>https://danielbachhuber.com/a-stranger-in-a-strange-land/</link>
      <pubDate>Wed, 03 Dec 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/a-stranger-in-a-strange-land/</guid>
      <description>&lt;p&gt;When the iPhone first was announced, I remember debating with Jerome, my coworker at Grist, whether it would support third party apps or not. &amp;ldquo;If it doesn&amp;rsquo;t support Skype,&amp;rdquo; I told Jerome, &amp;ldquo;there&amp;rsquo;s no way I&amp;rsquo;m spending $600 on one.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;The day the iPhone was available, I went to the Apple Store in University Village just to hold one. No commitment. And I went out the door with an iPhone anyway.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>When the iPhone first was announced, I remember debating with Jerome, my coworker at Grist, whether it would support third party apps or not. &ldquo;If it doesn&rsquo;t support Skype,&rdquo; I told Jerome, &ldquo;there&rsquo;s no way I&rsquo;m spending $600 on one.&rdquo;</p>
<p>The day the iPhone was available, I went to the Apple Store in University Village just to hold one. No commitment. And I went out the door with an iPhone anyway.</p>
<p>I&rsquo;m writing this post from the WordPress for Android app (which really should be named the WordPress.com / Jetpack upsell app). Two years ago, I <a href="http://danielbachhuber.com/2012/10/17/samsung-galaxy-s3-first-day-impressions/">tried to make the switch</a> but I just wasn&rsquo;t ready. Now, I&rsquo;m mulling making a more gradual switch, having purchased one of the last latest Nexus(i?) for this testing purposes.</p>
<p>As a stranger in a strange land, here&rsquo;s what I&rsquo;m running into, in no particular order:</p>
<p>+ Other than the fact I have no idea how to create an unordered list, the WordPress for Android editor is quite nice. + I feel like I&rsquo;m relearning how to computer with the Android keyboard. Selecting text also feels like it takes three attempts per. + With Ad Block Pro on desktop and Tweetbot on iOS, I almost forgot Twitter had ads. Twitter Android client: ew. + TouchID is conspicuously absent. As is iMessage support and Things. I guess you basically need iOS and Android apps if you want to exist. + It&rsquo;s mindboggling how Slack has managed to produce a consistent, solid user experience across multiple platforms. Lesson for the rest of us.</p>
<p>Ok, battery just about dead. Back to iOS.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on using WP-API for WordPress-based apps</title>
      <link>https://danielbachhuber.com/thoughts-on-using-wp-api-for-wordpress-based-apps/</link>
      <pubDate>Fri, 24 Oct 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-using-wp-api-for-wordpress-based-apps/</guid>
      <description>&lt;p&gt;This past week, I got to do my first client project using &lt;a href=&#34;http://wp-api.org/&#34;&gt;WP-API&lt;/a&gt;. The scope of the project is to create custom endpoints for a WordPress-based web application. The endpoints will eventually be used to power iOS and Android apps.&lt;/p&gt;&#xA;&lt;p&gt;I thought I&amp;rsquo;d use the opportunity to gauge usability of using it in a project. My feedback is from the perspective of a developer needing to create custom endpoints for WordPress — I haven&amp;rsquo;t written any client-facing code yet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This past week, I got to do my first client project using <a href="http://wp-api.org/">WP-API</a>. The scope of the project is to create custom endpoints for a WordPress-based web application. The endpoints will eventually be used to power iOS and Android apps.</p>
<p>I thought I&rsquo;d use the opportunity to gauge usability of using it in a project. My feedback is from the perspective of a developer needing to create custom endpoints for WordPress — I haven&rsquo;t written any client-facing code yet.</p>
<p>These notes are roughly edited. Mostly I just want to get them up before WCSF.</p>
<h3 id="what-i-like">What I like</h3>
<p>WP-API has a comfortable implementation of using WP_Error for returning error responses in my endpoint callbacks. Being able to specify the HTTP status code is a great touch.</p>
<p>Extending WP-API&rsquo;s core classes is really nice for DRY. They should be <em>designed</em> to be extended — I&rsquo;d suggest they&rsquo;ll be more commonly extended than used standalone.</p>
<p>For instance, I was able to get a lot of mileage out of extending <code>WP_JSON_CustomPostType</code> and customizing the response values for <code>prepare_post()</code>. However, I basically reset the original array (because the project has different data models), so it would be cool if there was some reusability there.</p>
<p>Also, I was able to easily add an authentication check for get_posts(). But, I wasn&rsquo;t able bypass delete_post()&rsquo;s capability check, so I needed to create my own.</p>
<p>Context argument is proving to be easily reusable. I invented my own context that seemed to fit in the paradigm.</p>
<p>Route registry is pretty much copy and paste == it works. I love the style of route definition too: <code>/(?P&lt;id&gt;d+)</code></p>
<h3 id="what-canbe-improved">What can be improved</h3>
<p>Using bitmask operators to map HTTP methods to callback isn&rsquo;t terribly intuitive, although it&rsquo;s easy enough to get going by copy and paste. I&rsquo;ve never liked that part of the Rewrite API, and don&rsquo;t think we should repeat it.</p>
<p>It would be nice to be able to modify the &ldquo;data&rdquo; field associated with a WP_Error entry. I&rsquo;ve set up my models to return WP_Errors, but then I need to recreate that error in my controller to include the status code.</p>
<p>Because we have a variety of content models that are often mixed and mashed (e.g. a Post displayed with Author, Terms, and &ldquo;Featured Image&rdquo; Attachment), we should do embedded media <em>really well</em>. I think this is lacking in WP-API right now — you basically need to reinvent the wheel on each endpoint.</p>
<p>I&rsquo;ve spent <em>way</em> too much time writing code to define and validate supplied arguments. I know this is something I like and Ryan <a href="https://twitter.com/rmccue">hates</a>, but it would be cool if we could nail field definition and validation for endpoints. This is something <a href="https://github.com/humanmade/h-api/blob/master/inc/endpoints/class-post-endpoint.php#L12">we did with H-API</a>. It seems like we&rsquo;re part of the way there by using Reflection for argument definition in our endpoint callbacks. Easy type validation is just the next step — maybe it could be introduced as an optional library.</p>
<p>On that note too, using Reflection against the defined method arguments to decide which request arguments are passed is too magical. It&rsquo;s new to PHP and will be completely baffling to Joe Shmo WordPress developer.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Software I use, October 2014 edition</title>
      <link>https://danielbachhuber.com/software-i-use-october-2014-edition/</link>
      <pubDate>Sun, 19 Oct 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/software-i-use-october-2014-edition/</guid>
      <description>&lt;p&gt;On Zack&amp;rsquo;s &lt;a href=&#34;https://twitter.com/tollmanz/status/523667700564754432&#34;&gt;indirect suggestion&lt;/a&gt;, I&amp;rsquo;ve decided to do a clean install of Yosemite. As I wait for Yosemite to download, I thought I&amp;rsquo;d do an itemization of the software I&amp;rsquo;m using these days. The &lt;a href=&#34;http://danielbachhuber.com/2011/01/14/software-i-use-january-2011-edition/&#34;&gt;last time I did this was January 2011&lt;/a&gt; — fun to see how some things change and others remain the same.&lt;/p&gt;&#xA;&lt;p&gt;Writing code and leading development teams is my full-time job. For local development, I use &lt;a href=&#34;https://www.vagrantup.com/&#34;&gt;Vagrant&lt;/a&gt; and &lt;a href=&#34;https://github.com/humanmade/Salty-WordPress&#34;&gt;Salty WordPress&lt;/a&gt;. I was using VMWare Fusion for a while, but the &lt;a href=&#34;http://danielbachhuber.com/2014/01/07/corrupt-synced-folder-cache-using-vagrant-1-4-2-and-vmware-provider/&#34;&gt;filesystem caching issues&lt;/a&gt; drove me back to &lt;a href=&#34;https://www.virtualbox.org/&#34;&gt;Virtualbox&lt;/a&gt;. I edit files with Sublime Text 3 running the &lt;a href=&#34;https://github.com/wesbos/cobalt2&#34;&gt;Colbalt 2 theme&lt;/a&gt;. &lt;a href=&#34;http://iterm2.com/&#34;&gt;iTerm 2&lt;/a&gt; (full-screen mode, duh) tames my terminal windows. Only on a rare occasion do I have to open &lt;a href=&#34;https://cyberduck.io/?l=en&#34;&gt;Cyberduck&lt;/a&gt; to SFTP somewhere.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Zack&rsquo;s <a href="https://twitter.com/tollmanz/status/523667700564754432">indirect suggestion</a>, I&rsquo;ve decided to do a clean install of Yosemite. As I wait for Yosemite to download, I thought I&rsquo;d do an itemization of the software I&rsquo;m using these days. The <a href="http://danielbachhuber.com/2011/01/14/software-i-use-january-2011-edition/">last time I did this was January 2011</a> — fun to see how some things change and others remain the same.</p>
<p>Writing code and leading development teams is my full-time job. For local development, I use <a href="https://www.vagrantup.com/">Vagrant</a> and <a href="https://github.com/humanmade/Salty-WordPress">Salty WordPress</a>. I was using VMWare Fusion for a while, but the <a href="http://danielbachhuber.com/2014/01/07/corrupt-synced-folder-cache-using-vagrant-1-4-2-and-vmware-provider/">filesystem caching issues</a> drove me back to <a href="https://www.virtualbox.org/">Virtualbox</a>. I edit files with Sublime Text 3 running the <a href="https://github.com/wesbos/cobalt2">Colbalt 2 theme</a>. <a href="http://iterm2.com/">iTerm 2</a> (full-screen mode, duh) tames my terminal windows. Only on a rare occasion do I have to open <a href="https://cyberduck.io/?l=en">Cyberduck</a> to SFTP somewhere.</p>
<p>On the command line, my life is complete with <a href="http://www.zsh.org/">ZSH</a>, <a href="https://github.com/joelthelion/autojump">autojump</a>, Git, <a href="https://github.com/github/hub">hub</a>, and <a href="http://wp-cli.org/">WP-CLI</a>. I consider every day I don&rsquo;t have to use Subversion to be a good day. Most projects I&rsquo;m on use <a href="https://github.com/">Github</a> with a <em>as-simple-as-possible</em> feature branch pull-request workflow.</p>
<p><a href="http://www.macbartender.com/">Bartender</a> wrangles my menu bar into submission. If I didn&rsquo;t have it, my menu bar would be overrun with icons for:</p>
<ul>
<li><a href="https://agilebits.com/onepassword">1Password</a> - The only sane way to use passwords these days.</li>
<li><a href="http://quickcast.io/">Quickcast</a> - Shareable screencasts in just a few minutes.</li>
<li><a href="http://glui.me/">Glui</a> - Annotated screengrabs. Far superior to Skitch.</li>
<li><a href="http://www.alfredapp.com/">Alfred</a> - Maybe obsoleted by Yosemite.</li>
<li><a href="https://www.rescuetime.com/">RescueTime</a> - Keeps track of which applications I&rsquo;m using. I mostly use it for the <a href="http://danielbachhuber.com/2014/01/19/rescuetime-this-week/">weekly email summaries</a>.</li>
<li><a href="http://chetansurpur.com/projects/sidestep/">Sidestep</a> - Securely your internet traffic over any SSL connection.</li>
<li><a href="https://justgetflux.com/">Flux</a> - For the rare occasion I have the computer on past 7 pm.</li>
<li><a href="http://studiodalton.com/">Clocks</a> - Menu bar clock replacement for those who always be coordinating in multiple timezones.</li>
<li><a href="http://lightheadsw.com/caffeine/">Caffeine</a> - Jiggles your mouse when you need your screen to stay awake. Useful when giving presentations, etc.</li>
<li><a href="http://www.code42.com/crashplan/">Crashplan</a> - Affordable service for keeping everything backed up in the cloud.</li>
</ul>
<p>Skype and <a href="https://slack.com/">Slack</a> are open everyday. I&rsquo;d like to say Slack is over-hyped, but they&rsquo;ve done a really nice job. Sometimes I remember to open <a href="http://conceited.net/products/linkinus">Linkinus</a> to idle in various open source project IRC rooms.</p>
<p>How I run my business is really a post in itself. <a href="https://www.getharvest.com/">Harvest</a> is indispensable — I use it for sending estimates, time tracking, and billing. <a href="https://culturedcode.com/things/">Things</a> is awesome for keeping track of what needs to be done and when. A <a href="http://danielbachhuber.com/2013/02/18/a-tribute-to-remember-the-milk/">long time Remember The Milk user</a>, I love having a dedicated desktop application for task management. <a href="http://mailplaneapp.com/">Mailplane</a> is the best way to deal with email in 2014.</p>
<p>Oh, last but not least, I use a mid-2011 13 inch Macbook Air with a 256 GB SSD and 4 GB of RAM. It&rsquo;s the best computer I&rsquo;ve ever owned.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Turning questions into metrics</title>
      <link>https://danielbachhuber.com/turning-questions-into-metrics/</link>
      <pubDate>Wed, 27 Aug 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/turning-questions-into-metrics/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://stdout.be/2014/08/26/turning-questions-into-metrics/&#34;&gt;Turning questions into metrics&lt;/a&gt;. I love it when Stijn writes long blog posts. Gets me all warm and fuzzy about journalism.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://stdout.be/2014/08/26/turning-questions-into-metrics/">Turning questions into metrics</a>. I love it when Stijn writes long blog posts. Gets me all warm and fuzzy about journalism.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Computers are still hard</title>
      <link>https://danielbachhuber.com/computers-are-still-hard/</link>
      <pubDate>Mon, 25 Aug 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/computers-are-still-hard/</guid>
      <description>&lt;p&gt;My goal: have a place for Leah and I to store all of our photos and videos (and maybe documents too). Both of us have gigabytes of media from the last decade or so, with more to come. I&amp;rsquo;d like for the hardware layer to work well with the software layer — it should be easy to access and upload on a daily basis. Ideally, it should be in the cloud so I don&amp;rsquo;t have to worry about hardware failure. Realistically, I only care about catastrophic backup.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My goal: have a place for Leah and I to store all of our photos and videos (and maybe documents too). Both of us have gigabytes of media from the last decade or so, with more to come. I&rsquo;d like for the hardware layer to work well with the software layer — it should be easy to access and upload on a daily basis. Ideally, it should be in the cloud so I don&rsquo;t have to worry about hardware failure. Realistically, I only care about catastrophic backup.</p>
<p>Options I&rsquo;ve looked into over the last two hours:</p>
<ol>
<li>Attach a USB hard drive to our ASUS N66U router to serve as NAS. Reportedly, this is possible. However, when I began my search, I came across this article from February 2014: &ldquo;<a href="http://arstechnica.com/security/2014/02/dear-asus-router-user-youve-been-pwned-thanks-to-easily-exploited-flaw/">Dear Asus router user: You’ve been pwned, thanks to easily exploited flaw</a>.&rdquo; This doesn&rsquo;t give me much confidence, particularly considering I&rsquo;ve never upgraded our router&rsquo;s firmware and have no desire to do so.</li>
<li>Buy a Time Capsule, connect a secondary USB hard drive, and <a href="http://www.maclife.com/article/howtos/how_share_your_iphoto_library_networked_storage">put a common iPhoto library on it</a>. However, this comes with a bunch of caveats. Namely: it doesn&rsquo;t really work. Plus you really need to commit to a wired connection.</li>
<li>Chuck all of our media assets into one of those fancy file sharing services. <a href="https://www.box.com/">Box</a> appears to have the best deal: unlimited storage for $15/month. However, that&rsquo;s on the Business plan with a 5 user minimum.</li>
<li>Use Dropbox or BitTorrent Sync to sync files between our computers. We&rsquo;d get an additional layer of redundancy. Leah has 500 GB free and I have&hellip; 30 GB free (SSD).</li>
<li>Buy an iMac and use it as our shared family computer. We can use whatever we want, but we&rsquo;d have to figure out where to put it in our small condo.</li>
<li><em>Or</em> buy a Mac Mini, put it in the figurative closet (actually the bottom of the changing table, where our printer is), and VNC into it when want to manage photos. Might be on to something there.</li>
</ol>
<p>P.S. <a href="http://www.code42.com/crashplan/">Crashplan</a> supports backing up a NAS drive as long as you can mount it. It&rsquo;s $60/year for <em>unlimited</em> data. And Dropbox is $100/year for 100 GB. How does that work?</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcnyc: A Journey To The Center Of WP-CLI</title>
      <link>https://danielbachhuber.com/wcnyc-a-journey-to-the-center-of-wp-cli/</link>
      <pubDate>Sun, 03 Aug 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcnyc-a-journey-to-the-center-of-wp-cli/</guid>
      <description>&lt;p&gt;The talk went great! I improved my &lt;a href=&#34;https://github.com/danielbachhuber/wp-cli-present-command&#34;&gt;wp present&lt;/a&gt; command to do some fancier Markdown parsing, and it worked out quite well. &lt;a href=&#34;https://github.com/danielbachhuber/wcnyc2014&#34;&gt;Here&amp;rsquo;s the markdown file&lt;/a&gt; if you&amp;rsquo;d like to skim through.&lt;/p&gt;&#xA;&lt;p&gt;Although I didn&amp;rsquo;t finish my slides until this morning, I did a couple of things I&amp;rsquo;ll always be doing going forward:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Produce a list of a few bullet points I want to hit for each slide, in case I get off track. I put these in Apple Notes so I could easily reference from my phone when I got stuck.&lt;/li&gt;&#xA;&lt;li&gt;Practice the presentation a couple times. This was really helpful to identify how I wanted to transition between each slide.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p>The talk went great! I improved my <a href="https://github.com/danielbachhuber/wp-cli-present-command">wp present</a> command to do some fancier Markdown parsing, and it worked out quite well. <a href="https://github.com/danielbachhuber/wcnyc2014">Here&rsquo;s the markdown file</a> if you&rsquo;d like to skim through.</p>
<p>Although I didn&rsquo;t finish my slides until this morning, I did a couple of things I&rsquo;ll always be doing going forward:</p>
<ol>
<li>Produce a list of a few bullet points I want to hit for each slide, in case I get off track. I put these in Apple Notes so I could easily reference from my phone when I got stuck.</li>
<li>Practice the presentation a couple times. This was really helpful to identify how I wanted to transition between each slide.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Bobo in a Burley</title>
      <link>https://danielbachhuber.com/bobo-in-a-burley/</link>
      <pubDate>Tue, 29 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bobo-in-a-burley/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1406605670.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Post-work, pre-dinner bike ride around the airstrip.&lt;/p&gt;&#xA;&lt;p&gt;Memo to self: always put the cover on the front. Because dirt and baby.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1406605670.jpg" alt=""  width="600"
	height="600"  /></p>
<p>Post-work, pre-dinner bike ride around the airstrip.</p>
<p>Memo to self: always put the cover on the front. Because dirt and baby.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Reusing DFP slots within infinite scroll</title>
      <link>https://danielbachhuber.com/reusing-dfp-slots-within-infinite-scroll/</link>
      <pubDate>Wed, 23 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/reusing-dfp-slots-within-infinite-scroll/</guid>
      <description>&lt;p&gt;Infinite scroll on the index view and article view seems to be all the rage these days. TIME reports their bounce rate &lt;a href=&#34;http://www.poynter.org/latest-news/mediawire/257466/time-coms-bounce-rate-down-15-percentage-points-since-adopting-continuous-scroll/&#34;&gt;went down by 15 percentage points&lt;/a&gt; with their redesign. At some point in the discussion, AdOps will raise their hand and say &amp;ldquo;how can we get ads in the scroll experience?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Short answer: with code! Because AdOps only wants to create a limited set of ad slots, and Google DFP slots can be used once per page, you&amp;rsquo;ll need to &lt;em&gt;display&lt;/em&gt; the slot first, and &lt;em&gt;reload&lt;/em&gt; it for each subsequent use.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Infinite scroll on the index view and article view seems to be all the rage these days. TIME reports their bounce rate <a href="http://www.poynter.org/latest-news/mediawire/257466/time-coms-bounce-rate-down-15-percentage-points-since-adopting-continuous-scroll/">went down by 15 percentage points</a> with their redesign. At some point in the discussion, AdOps will raise their hand and say &ldquo;how can we get ads in the scroll experience?&rdquo;</p>
<p>Short answer: with code! Because AdOps only wants to create a limited set of ad slots, and Google DFP slots can be used once per page, you&rsquo;ll need to <em>display</em> the slot first, and <em>reload</em> it for each subsequent use.</p>
<p>The slots are added dynamically as the user scrolls. If a given slot has already been loaded once, then the next time we try to use it we actually pull the first instance over to our new slot, reload it, and add a placeholder for its old position so the page height doesn&rsquo;t jump. We can use the same trick scrolling back up, simply replacing the placeholder with the refreshed ad.</p>
<p>Google&rsquo;s documentation has a <a href="https://support.google.com/dfp_premium/answer/4578089?hl=en">similar example</a> that&rsquo;s a good reference point for methods, etc. Pay attention to <code>googletag.refresh( unit );</code> and <code>googletag.pubads().refresh([unitInstance]);</code> — <code>unitInstance</code> is what&rsquo;s returned by <code>googletag.defineSlot()</code>, so you&rsquo;ll need to store that somewhere for later reference.</p>
<p>I look forward to hearing about the straightforward approach I missed&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>My first speeding ticket</title>
      <link>https://danielbachhuber.com/my-first-speeding-ticket/</link>
      <pubDate>Wed, 16 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-first-speeding-ticket/</guid>
      <description>&lt;p&gt;On Monday afternoon, coming into Ísafjörður, I was pulled over for speeding — my first time ever, surprisingly. Naturally, I decided to contest it.&lt;/p&gt;&#xA;&lt;p&gt;The way to Ísafjörður from Hellnar is a &lt;a href=&#34;http://instagram.com/p/qcPGsuJtMZ/&#34;&gt;gnarly three hour gravel road&lt;/a&gt;. Before hitting town, you&amp;rsquo;ll drive through a long (~10 km) tunnel with a 60 km/h speed limit. After the tunnel, the speed limit goes back up to 90 km/h. And then, kilometers before you enter the city proper, it drops back down to 60 km/h. But I missed that sign (crying baby and all). Most of Iceland is 90 km/h unless you&amp;rsquo;re within a city&amp;rsquo;s limits.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Monday afternoon, coming into Ísafjörður, I was pulled over for speeding — my first time ever, surprisingly. Naturally, I decided to contest it.</p>
<p>The way to Ísafjörður from Hellnar is a <a href="http://instagram.com/p/qcPGsuJtMZ/">gnarly three hour gravel road</a>. Before hitting town, you&rsquo;ll drive through a long (~10 km) tunnel with a 60 km/h speed limit. After the tunnel, the speed limit goes back up to 90 km/h. And then, kilometers before you enter the city proper, it drops back down to 60 km/h. But I missed that sign (crying baby and all). Most of Iceland is 90 km/h unless you&rsquo;re within a city&rsquo;s limits.</p>
<p>We took a pit stop between the tunnel and town at Bonus to pick up groceries for the week. Within a couple of minutes out of the parking lot, a police car passed us, pulled a U-turn, and flashed its lights. Busted!</p>
<p>The police asked me to get in the back seat of the police car because they video record the interaction. They explained the 60 km/h speed limit and showed me their clocked speed, which I didn&rsquo;t disagree with. I was going 82 km/h because I thought the speed limit was still 90 km/h. I explained I wanted to contest the ticket.</p>
<p>In the US, my understanding of the game is this: get a speeding ticket, contest it in front of a judge, get anywhere between 0-100% off. Typically it&rsquo;s at least 50% off. And that&rsquo;s if you formally get a ticket — if you have a cute baby in the back seat, the police will just let you off with a warning. I&rsquo;d grade my argument a B-, worth 40% off.</p>
<p>In Iceland, contesting a speeding ticket is mostly unheard of, and confuses the police. First, you&rsquo;ll have to go with them to the station. There you&rsquo;ll need to explain for at least an hour why you&rsquo;re wanting to submit an appeal. Once you get them to agree,  you&rsquo;ll need to go back each morning to ask whether your appeal paperwork has been submitted yet. But don&rsquo;t worry, it hasn&rsquo;t.</p>
<p>I also learned:</p>
<ul>
<li>Foreigners have the same rights as Icelanders to an appeal process (<a href="http://eng.innanrikisraduneyti.is/laws-and-regulations/english/foreigners/nr/105">Article 30 of Act On Foreigners No. 96 /2002</a>).</li>
<li>Your actual rights to an appeal process are pretty obtuse to understand (<a href="http://eng.forsaetisraduneyti.is/acts-of-law/nr/17">Section 7 of Administrative Procedure Act</a>).</li>
<li>The police say you can be detained in the country during your appeal, which I didn&rsquo;t ever see in writing. This was largely their argument for why I should pay the fee in a prompt manner.</li>
<li>Electronic speed limit signs, which show your current speed and flash if you&rsquo;re over, are 1.5 million ISK (~$13k USD).</li>
<li>Ísafjörður has one of the aforementioned signs on the lesser used road into town. I&rsquo;d be curious as to why it&rsquo;s there, and not on the main road.</li>
<li>Iceland does have a legal process for requesting anonymized data from the government. I&rsquo;d hypothesize speeding tickets during the summer months are a cash cow.</li>
</ul>
<p>Unless you&rsquo;re me, it&rsquo;s probably easier for you to just pay the ticket via credit card while in the back seat of the police car. I wanted to get my money&rsquo;s worth in the form of a better understanding of Iceland&rsquo;s legal system.</p>
<p>And remember, if you don&rsquo;t exercise your legal rights, you might find you no longer have them.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bobo of the Snaelfellsnes Peninsula</title>
      <link>https://danielbachhuber.com/bobo-of-the-snaelfellsnes-peninsula/</link>
      <pubDate>Fri, 11 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bobo-of-the-snaelfellsnes-peninsula/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1405099635.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Enjoying the scene and a Swiss mocha after the hike from Hellnar to Arnarstapi and back. Bobo is quite the happy traveler.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re staying at Hotel Hellnar, near the end of the Snaelfellsnes Peninsula, for three nights before taking the ferry to Flatey and driving on to Ísafjörður. Our hiking is dependent on the weather. It was clear enough this morning to get one in, but started pouring as soon as we returned. This afternoon we decided to drive up to Stykkisholmur and check out the town. Tomorrow? Either hiking in Snaefellsjokull National Park, or watching movies in our room.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1405099635.jpg" alt=""  width="600"
	height="600"  /></p>
<p>Enjoying the scene and a Swiss mocha after the hike from Hellnar to Arnarstapi and back. Bobo is quite the happy traveler.</p>
<p>We&rsquo;re staying at Hotel Hellnar, near the end of the Snaelfellsnes Peninsula, for three nights before taking the ferry to Flatey and driving on to Ísafjörður. Our hiking is dependent on the weather. It was clear enough this morning to get one in, but started pouring as soon as we returned. This afternoon we decided to drive up to Stykkisholmur and check out the town. Tomorrow? Either hiking in Snaefellsjokull National Park, or watching movies in our room.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bobo of the Blue Lagoon</title>
      <link>https://danielbachhuber.com/bobo-of-the-blue-lagoon/</link>
      <pubDate>Wed, 09 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bobo-of-the-blue-lagoon/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1404933945.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Classic &amp;ldquo;all&amp;rsquo;s well that ends well story.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Last night, Bobo took, oh, about five hours to be put to sleep. For this reason and that, she just would not go down. And, to make matters worse, she knew she was tired — so she cried and cried and cried. Putting her in the Ergo finally calmed her down enough to feed and fall asleep.&lt;/p&gt;&#xA;&lt;p&gt;Eleven hours later, you know &amp;ldquo;noon&amp;rdquo;, the Bachhuber family is waking up for the day. Leah is exhausted because Bobo slept in her arms all night, and I&amp;rsquo;m two hours late to pick up our rental car. I get that sorted, pick up a scone for Leah, and we&amp;rsquo;re eventually off for the day&amp;rsquo;s trip to the Blue Lagoon.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1404933945.jpg" alt=""  width="600"
	height="600"  /></p>
<p>Classic &ldquo;all&rsquo;s well that ends well story.&rdquo;</p>
<p>Last night, Bobo took, oh, about five hours to be put to sleep. For this reason and that, she just would not go down. And, to make matters worse, she knew she was tired — so she cried and cried and cried. Putting her in the Ergo finally calmed her down enough to feed and fall asleep.</p>
<p>Eleven hours later, you know &ldquo;noon&rdquo;, the Bachhuber family is waking up for the day. Leah is exhausted because Bobo slept in her arms all night, and I&rsquo;m two hours late to pick up our rental car. I get that sorted, pick up a scone for Leah, and we&rsquo;re eventually off for the day&rsquo;s trip to the Blue Lagoon.</p>
<p>All of the reading Leah did before the trip seemed to imply kids would do just fine in the geothermal pool. I had assumed the waters were 80-90 degrees, and we would have a grand time as a family. As it turns out&hellip; the waters were 98-102 degrees, and the official recommendation is no kids under two.</p>
<p>YOVIO (You Only Visit Iceland Once)! It took some serious effort to convince Leah, but I snuck Bobo into the water on my shift. She loved it — and her skin is now as smooth as a baby&rsquo;s bottom.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Oh little town of Reyjavik</title>
      <link>https://danielbachhuber.com/oh-little-town-of-reyjavik/</link>
      <pubDate>Tue, 08 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/oh-little-town-of-reyjavik/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1404824441.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Old Reykjavik towards the harbor from the tower of Hallgrimskirkja church. Doing a bit of sightseeing after sleeping in until 10 am. Bobo took the flights over like a champ; for Leah, it was a bit more rough but last night was a good ketchup.&lt;/p&gt;&#xA;&lt;p&gt;Dong, dong, dong&amp;hellip; church bells in the tower strike one. Time to bounce Bobo back to sleep.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1404824441.jpg" alt=""  width="600"
	height="600"  /></p>
<p>Old Reykjavik towards the harbor from the tower of Hallgrimskirkja church. Doing a bit of sightseeing after sleeping in until 10 am. Bobo took the flights over like a champ; for Leah, it was a bit more rough but last night was a good ketchup.</p>
<p>Dong, dong, dong&hellip; church bells in the tower strike one. Time to bounce Bobo back to sleep.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Off to Iceland</title>
      <link>https://danielbachhuber.com/off-to-iceland/</link>
      <pubDate>Sun, 06 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/off-to-iceland/</guid>
      <description>&lt;p&gt;Leah, Ava and I are off on a grand adventure to Iceland tomorrow for 14 days. Put particular emphasis on adventure, because I&amp;rsquo;m writing this as Ava is screaming in her Ergo and won&amp;rsquo;t take a nap. We&amp;rsquo;re preparing for the worst and hoping for the best.&lt;/p&gt;&#xA;&lt;p&gt;After we arrive Monday morning, we spend three nights in Reykjavik. Wednesday we plan to take a day trip to the Blue Lagoon. Apparently little bobos are encouraged — a water wing should fit nicely around her belly. From Reykjavik, we&amp;rsquo;ll take our rented car to Hellnar for three days of hiking. Then, to get to Ísafjörður where we&amp;rsquo;re spending the second week, we take a ferry that stops for the day on Flatey Island.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Leah, Ava and I are off on a grand adventure to Iceland tomorrow for 14 days. Put particular emphasis on adventure, because I&rsquo;m writing this as Ava is screaming in her Ergo and won&rsquo;t take a nap. We&rsquo;re preparing for the worst and hoping for the best.</p>
<p>After we arrive Monday morning, we spend three nights in Reykjavik. Wednesday we plan to take a day trip to the Blue Lagoon. Apparently little bobos are encouraged — a water wing should fit nicely around her belly. From Reykjavik, we&rsquo;ll take our rented car to Hellnar for three days of hiking. Then, to get to Ísafjörður where we&rsquo;re spending the second week, we take a ferry that stops for the day on Flatey Island.</p>
<p>I&rsquo;ll be offline the first week, and working a half week the second. Looking forward to the opportunity to relax, spend time with my family, and reflect.</p>
]]></content:encoded>
    </item>
    <item>
      <title>This Week in CoPress, 2014</title>
      <link>https://danielbachhuber.com/this-week-in-copress-2014/</link>
      <pubDate>Sun, 27 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/this-week-in-copress-2014/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1398634852.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;450&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Shot at the BCNI Philly after-party.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1398634852.jpg" alt=""  width="600"
	height="450"  /></p>
<p>Shot at the BCNI Philly after-party.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing Hand Built</title>
      <link>https://danielbachhuber.com/introducing-hand-built/</link>
      <pubDate>Wed, 02 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-hand-built/</guid>
      <description>&lt;p&gt;Over the last several years, I&amp;rsquo;ve built many great experiences with WordPress. Today I&amp;rsquo;d like to introduce &lt;a href=&#34;http://handbuilt.co/&#34;&gt;Hand Built&lt;/a&gt;, my new development and consulting firm. If you need expertise with bespoke WordPress solutions, code review, development leadership, data migrations, automation or scaling, shoot me a note at &lt;a href=&#34;mailto:daniel@handbuilt.co&#34;&gt;daniel@handbuilt.co&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Beginning with &lt;a href=&#34;http://www.copress.org/&#34;&gt;CoPress&lt;/a&gt;, I got the taste of running a WordPress-only hosting company. Watching clients email Microsoft Word documents back and forth became the genesis of &lt;a href=&#34;http://editflow.org/&#34;&gt;Edit Flow&lt;/a&gt;, which is now used by some of the largest news organizations in the world.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Over the last several years, I&rsquo;ve built many great experiences with WordPress. Today I&rsquo;d like to introduce <a href="http://handbuilt.co/">Hand Built</a>, my new development and consulting firm. If you need expertise with bespoke WordPress solutions, code review, development leadership, data migrations, automation or scaling, shoot me a note at <a href="mailto:daniel@handbuilt.co">daniel@handbuilt.co</a></p>
<p>Beginning with <a href="http://www.copress.org/">CoPress</a>, I got the taste of running a WordPress-only hosting company. Watching clients email Microsoft Word documents back and forth became the genesis of <a href="http://editflow.org/">Edit Flow</a>, which is now used by some of the largest news organizations in the world.</p>
<p>Moving on to the <a href="http://www.journalism.cuny.edu/">CUNY Graduate School of Journalism</a>, I grew to realize the impact usable software can have on education, and was a valued voice for innovation within the institution.</p>
<p>At Automattic, I spent two years on the <a href="http://vip.wordpress.com/">WordPress.com VIP team</a> reviewing code, fixing nasty bugs, and training developers. I&rsquo;ve had the honor to speak at many WordCamps, including <a href="http://wordpress.tv/2012/08/24/daniel-bachhuber-zen-of-wp-development/">WordCamp San Francisco</a>. And, along the way, I made significant contributions to <a href="https://github.com/Automattic/Co-Authors-Plus/">Co-Authors Plus</a> and other plugins, and fell in love with <a href="http://wp-cli.org">WP-CLI</a>.</p>
<p>With <a href="http://hmn.md">Human Made</a>, I split my time between client services and product. I supported a half-dozen clients, most notably Vocativ, CFO.com, and News Corp, with backend and frontend development, leadership, and project management for their launches. I also led <a href="https://wpremote.com/">WP Remote</a>, a JS application built on a WordPress-powered API, through two substantial feature releases.</p>
<p>Now, through <a href="http://handbuilt.co/">Hand Built</a>, I&rsquo;m ready to help you solve your business problems. Let it be creating a custom workflow experience for your content team, reviewing an existing codebase for security and performance, or migrating years of archives into WordPress, I have expertise you can depend on.</p>
<p>I look forward to hearing from you.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The newsonomics of Digital First Media’s Thunderdome implosion (and coming sale)</title>
      <link>https://danielbachhuber.com/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/</link>
      <pubDate>Wed, 02 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.niemanlab.org/2014/04/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/&#34;&gt;The newsonomics of Digital First Media’s Thunderdome implosion (and coming sale)&lt;/a&gt;. &amp;ldquo;Implosion&amp;rdquo; is the perfect choice of words. Just one month ago &lt;a href=&#34;http://danielbachhuber.com/2014/02/26/whats-next-digital-first-media/&#34;&gt;I joined DFM&lt;/a&gt; — good thing I have a sense of humor.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.niemanlab.org/2014/04/the-newsonomics-of-digital-first-medias-thunderdome-implosion-and-coming-sale/">The newsonomics of Digital First Media’s Thunderdome implosion (and coming sale)</a>. &ldquo;Implosion&rdquo; is the perfect choice of words. Just one month ago <a href="http://danielbachhuber.com/2014/02/26/whats-next-digital-first-media/">I joined DFM</a> — good thing I have a sense of humor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing Dictator</title>
      <link>https://danielbachhuber.com/introducing-dictator/</link>
      <pubDate>Tue, 01 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-dictator/</guid>
      <description>&lt;p&gt;Dictator controls the State of WordPress, and is &lt;a href=&#34;https://github.com/danielbachhuber/dictator&#34;&gt;now available for you to use&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Strongly influenced by &lt;a href=&#34;http://www.saltstack.com/&#34;&gt;Salt&lt;/a&gt; provisioning and installable as a &lt;a href=&#34;http://wp-cli.org/package-index/&#34;&gt;WP-CLI package&lt;/a&gt;, Dictator now allows you to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Export WordPress&amp;rsquo; configuration to a human-readable YAML state file.&lt;/li&gt;&#xA;&lt;li&gt;Commit the state file to version control to share between environments, or with another developer.&lt;/li&gt;&#xA;&lt;li&gt;Compare the state of WordPress to the declared state file, with a colorized diff.&lt;/li&gt;&#xA;&lt;li&gt;Impose a state file onto WordPress.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Dictator understands WordPress in terms of &lt;em&gt;states&lt;/em&gt;. States are collections of &lt;em&gt;regions&lt;/em&gt;. Each &lt;em&gt;state file&lt;/em&gt; has the state declaration along with tracked configuration details for each region. Regions have a defined schema which produces the translation between the human-readable YAML file and how WordPress stores state in the database.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dictator controls the State of WordPress, and is <a href="https://github.com/danielbachhuber/dictator">now available for you to use</a>.</p>
<p>Strongly influenced by <a href="http://www.saltstack.com/">Salt</a> provisioning and installable as a <a href="http://wp-cli.org/package-index/">WP-CLI package</a>, Dictator now allows you to:</p>
<ul>
<li>Export WordPress&rsquo; configuration to a human-readable YAML state file.</li>
<li>Commit the state file to version control to share between environments, or with another developer.</li>
<li>Compare the state of WordPress to the declared state file, with a colorized diff.</li>
<li>Impose a state file onto WordPress.</li>
</ul>
<p>Dictator understands WordPress in terms of <em>states</em>. States are collections of <em>regions</em>. Each <em>state file</em> has the state declaration along with tracked configuration details for each region. Regions have a defined schema which produces the translation between the human-readable YAML file and how WordPress stores state in the database.</p>
<p>One key idea Dictator adopted from provisioning systems: environments are ephemeral. WordPress no longer doing what you want it to? You should be able to destroy it and provision a brand new version.</p>
<p>For 0.1, Dictator packages two states: network and site. The network state comprises regions for network settings, users, and sites. The site state comprises regions for site settings, users, and terms. Management of widgets, roles, and more is just waiting for a pull request.</p>
<p><img src="images/2014-03-31-at-8-15-pm.png" alt="2014-03-31 at 8.15 PM"  width="1031"
	height="849"  /></p>
<p>Think downloading the entirety of a production database is a messy way to get just a few configuration details? Me too — and with Dictator I can provision full WordPress environments without the bad assumptions that come with using production data.</p>
<p>Ever had a site launch that required a frantic amount of widget configuration right after changing DNS? More than I can remember — and I&rsquo;m automating myself out of the problem.</p>
<p>Think <a href="http://eamann.com/tech/wordpress-portability/">non-posts data portability</a> would be neat? So do I — and I built a tool for it that I&rsquo;m very excited to share with you: <a href="https://github.com/danielbachhuber/dictator">Dictator</a>. Try it out with <code>wp dictator export site site-state.yml</code></p>
]]></content:encoded>
    </item>
    <item>
      <title>Hello world, meet Ava Lucille</title>
      <link>https://danielbachhuber.com/hello-world-meet-ava-lucille/</link>
      <pubDate>Wed, 26 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hello-world-meet-ava-lucille/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_0502.jpg&#34; alt=&#34;IMG_0502&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;After 41 weeks and one day in the making (and 16 hours of labor), our daughter Ava Lucille Bachhuber finally joined &lt;a href=&#34;http://leahbachhuber.com/&#34;&gt;Leah&lt;/a&gt; and I on Monday at 4:01 pm. She&amp;rsquo;s beautiful, happy, healthy, and such a cute darling.&lt;/p&gt;&#xA;&lt;p&gt;Aside from what you&amp;rsquo;d expect — long nights, taking on the doula responsibility to support Leah and Ava — I&amp;rsquo;ve had two pleasant surprises so far:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Home births are underrated, magical experiences for the birth partner. I consider myself very fortunate to have helped support Leah every step of the way, and to have gotten skin time with Ava just after her.&lt;/li&gt;&#xA;&lt;li&gt;My sense of responsibility has increased a hundredfold. It&amp;rsquo;s amazing how your priorities can shift in a heartbeat.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Looking forward to many more pleasant surprises on this journey.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_0502.jpg" alt="IMG_0502"  width="2400"
	height="1800"  /></p>
<p>After 41 weeks and one day in the making (and 16 hours of labor), our daughter Ava Lucille Bachhuber finally joined <a href="http://leahbachhuber.com/">Leah</a> and I on Monday at 4:01 pm. She&rsquo;s beautiful, happy, healthy, and such a cute darling.</p>
<p>Aside from what you&rsquo;d expect — long nights, taking on the doula responsibility to support Leah and Ava — I&rsquo;ve had two pleasant surprises so far:</p>
<ol>
<li>Home births are underrated, magical experiences for the birth partner. I consider myself very fortunate to have helped support Leah every step of the way, and to have gotten skin time with Ava just after her.</li>
<li>My sense of responsibility has increased a hundredfold. It&rsquo;s amazing how your priorities can shift in a heartbeat.</li>
</ol>
<p>Looking forward to many more pleasant surprises on this journey.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Want to innovate government? Focus on culture</title>
      <link>https://danielbachhuber.com/want-to-innovate-government-focus-on-culture/</link>
      <pubDate>Tue, 25 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/want-to-innovate-government-focus-on-culture/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://ben.balter.com/2014/03/21/want-to-innovate-in-government-focus-on-culture/&#34;&gt;Want to innovate government? Focus on culture&lt;/a&gt;. &amp;ldquo;Never take &amp;rsquo;no&amp;rsquo; from someone who can’t say &amp;lsquo;yes&amp;rsquo;.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://ben.balter.com/2014/03/21/want-to-innovate-in-government-focus-on-culture/">Want to innovate government? Focus on culture</a>. &ldquo;Never take &rsquo;no&rsquo; from someone who can’t say &lsquo;yes&rsquo;.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Co-Authors Plus 3.1: Manage co-authors from Quick Edit, misc improvements</title>
      <link>https://danielbachhuber.com/co-authors-plus-3-1-manage-co-authors-from-quick-edit-misc-improvements/</link>
      <pubDate>Mon, 17 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/co-authors-plus-3-1-manage-co-authors-from-quick-edit-misc-improvements/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wordpress.org/plugins/co-authors-plus/&#34;&gt;Co-Authors Plus&lt;/a&gt; makes it possible to assign multiple bylines to posts, pages, and custom post types via a search-as-you-type meta box. Thanks to &lt;a href=&#34;https://github.com/mpatek&#34;&gt;Mike Patek&lt;/a&gt; at &lt;a href=&#34;http://www.vocativ.com/&#34;&gt;Vocativ&lt;/a&gt;, version 3.1 includes co-author management via Quick Edit:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2014-03-17-at-3-48-pm.png&#34; alt=&#34;2014-03-17 at 3.48 PM&#34;  width=&#34;815&#34;&#xA;&#x9;height=&#34;417&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Also in this release:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Updated Spanish translation, courtesy of &lt;a href=&#34;https://github.com/sergiomajluf&#34;&gt;sergiomajluf&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Now matches core behavior when displaying author archive on multisite: user of the blog, or previously published author on the blog.&lt;/li&gt;&#xA;&lt;li&gt;Breaking change: &amp;ldquo;Create Profile&amp;rdquo; link is no longer shown by default on the Manage Users screen. Instead, it can be enabled with the &lt;code&gt;coauthors_show_create_profile_user_link&lt;/code&gt; filter.&lt;/li&gt;&#xA;&lt;li&gt;Guest authors work properly with Jetpack Open Graph tags. Props &lt;a href=&#34;https://github.com/hibernation&#34;&gt;hibernation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Guest author profile editor now supports a few different fields. Props &lt;a href=&#34;https://github.com/alpha1&#34;&gt;alpha1&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;New &lt;code&gt;coauthors_count_published_post_types&lt;/code&gt; filter for specifying the post type(s) used when calculating the user&amp;rsquo;s number of published posts.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Ensure &lt;code&gt;post_author&lt;/code&gt; is set to one of the co-authors assigned to a post.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Filter author feed link for guest authors on the author page. Props &lt;a href=&#34;https://github.com/hibernation&#34;&gt;hibernation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Packages a composer.json file for those using Composer.&lt;/li&gt;&#xA;&lt;li&gt;Beginnings of unit test coverage for core features. Increased minimum required WordPress version to 3.7 because WordPress.org unit testing framework doesn&amp;rsquo;t work reliabilty below that.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Please leave feedback, bug reports, and praise in the &lt;a href=&#34;http://wordpress.org/support/plugin/co-authors-plus&#34;&gt;WordPress.org forums&lt;/a&gt;. You can also get involved with development on &lt;a href=&#34;https://github.com/Automattic/co-authors-plus&#34;&gt;Github&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://wordpress.org/plugins/co-authors-plus/">Co-Authors Plus</a> makes it possible to assign multiple bylines to posts, pages, and custom post types via a search-as-you-type meta box. Thanks to <a href="https://github.com/mpatek">Mike Patek</a> at <a href="http://www.vocativ.com/">Vocativ</a>, version 3.1 includes co-author management via Quick Edit:</p>
<p><img src="images/2014-03-17-at-3-48-pm.png" alt="2014-03-17 at 3.48 PM"  width="815"
	height="417"  /></p>
<p>Also in this release:</p>
<ul>
<li>Updated Spanish translation, courtesy of <a href="https://github.com/sergiomajluf">sergiomajluf</a>.</li>
<li>Now matches core behavior when displaying author archive on multisite: user of the blog, or previously published author on the blog.</li>
<li>Breaking change: &ldquo;Create Profile&rdquo; link is no longer shown by default on the Manage Users screen. Instead, it can be enabled with the <code>coauthors_show_create_profile_user_link</code> filter.</li>
<li>Guest authors work properly with Jetpack Open Graph tags. Props <a href="https://github.com/hibernation">hibernation</a>.</li>
<li>Guest author profile editor now supports a few different fields. Props <a href="https://github.com/alpha1">alpha1</a>.</li>
<li>New <code>coauthors_count_published_post_types</code> filter for specifying the post type(s) used when calculating the user&rsquo;s number of published posts.</li>
<li>Bug fix: Ensure <code>post_author</code> is set to one of the co-authors assigned to a post.</li>
<li>Bug fix: Filter author feed link for guest authors on the author page. Props <a href="https://github.com/hibernation">hibernation</a>.</li>
<li>Packages a composer.json file for those using Composer.</li>
<li>Beginnings of unit test coverage for core features. Increased minimum required WordPress version to 3.7 because WordPress.org unit testing framework doesn&rsquo;t work reliabilty below that.</li>
</ul>
<p>Please leave feedback, bug reports, and praise in the <a href="http://wordpress.org/support/plugin/co-authors-plus">WordPress.org forums</a>. You can also get involved with development on <a href="https://github.com/Automattic/co-authors-plus">Github</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Moving on up</title>
      <link>https://danielbachhuber.com/moving-on-up/</link>
      <pubDate>Thu, 13 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/moving-on-up/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re reading this post, then you&amp;rsquo;re seeing a brand new danielbachhhuber.com hosted by &lt;a href=&#34;https://www.digitalocean.com/&#34;&gt;Digital Ocean&lt;/a&gt;. I&amp;rsquo;ve been a long-time WebFaction user, but the allure of cheap SSD was too much to pass up.  That, lack of two-factor auth support, and generally feeling like WebFaction is stuck in the early 2000&amp;rsquo;s caused me to branch out.&lt;/p&gt;&#xA;&lt;p&gt;And I&amp;rsquo;ve been incredibly impressed. The machine is &lt;em&gt;fast&lt;/em&gt; (although I guess I&amp;rsquo;m jinxing myself now), the control panel is just what I want it to be, and the price make me feel like I&amp;rsquo;m committing a robbery.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re reading this post, then you&rsquo;re seeing a brand new danielbachhhuber.com hosted by <a href="https://www.digitalocean.com/">Digital Ocean</a>. I&rsquo;ve been a long-time WebFaction user, but the allure of cheap SSD was too much to pass up.  That, lack of two-factor auth support, and generally feeling like WebFaction is stuck in the early 2000&rsquo;s caused me to branch out.</p>
<p>And I&rsquo;ve been incredibly impressed. The machine is <em>fast</em> (although I guess I&rsquo;m jinxing myself now), the control panel is just what I want it to be, and the price make me feel like I&rsquo;m committing a robbery.</p>
<p>For anyone that wants to take a peek at what I&rsquo;ve done, <a href="https://github.com/danielbachhuber/bco">the repo is in Github</a>. It was intended to be a one-day project, but I ran into some <a href="https://github.com/danielbachhuber/bco/pull/3">domain-mapping hell</a>. As it turns out, core doesn&rsquo;t fully support domain mapping as I thought it did.</p>
<p>Lastly, I provisioned my new machine using masterless Salty WordPress (<a href="https://github.com/humanmade/Salty-WordPress/pull/84">work in progress</a>). Hoping to align incentives such that Salty WordPress continues to be the best way to provision local and production WordPress machines.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What&#39;s next: Digital First Media</title>
      <link>https://danielbachhuber.com/whats-next-digital-first-media/</link>
      <pubDate>Wed, 26 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/whats-next-digital-first-media/</guid>
      <description>&lt;p&gt;Big news to break today: I&amp;rsquo;ve joined Digital First Media&amp;rsquo;s &lt;a href=&#34;http://insidethunderdome.com/&#34;&gt;Thunderdome&lt;/a&gt; team as Senior Developer.&lt;/p&gt;&#xA;&lt;p&gt;As some of you may be aware of, &lt;a href=&#34;http://www.digitalfirstmedia.com/&#34;&gt;Digital First Media&lt;/a&gt; is the second-largest newspaper chain in the US. Under leadership from the likes of John Paton, Jim Brady, Steve Buttry, and others, DFM is investing heavily in digital, &lt;a href=&#34;http://jxpaton.wordpress.com/2014/01/23/now-what/&#34;&gt;to the tune of $100 million annually&lt;/a&gt; over the next three years. Part of this investment is their &amp;ldquo;&lt;a href=&#34;http://insidethunderdome.com/category/project-unbolt/&#34;&gt;Project Unbolt&lt;/a&gt;&amp;rdquo;, and part is other, yet to be announced news products and infrastructure. WordPress will be a key component of the technology stack — and DFM&amp;rsquo;s Thunderdome team is the place where many experiments are happening.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Big news to break today: I&rsquo;ve joined Digital First Media&rsquo;s <a href="http://insidethunderdome.com/">Thunderdome</a> team as Senior Developer.</p>
<p>As some of you may be aware of, <a href="http://www.digitalfirstmedia.com/">Digital First Media</a> is the second-largest newspaper chain in the US. Under leadership from the likes of John Paton, Jim Brady, Steve Buttry, and others, DFM is investing heavily in digital, <a href="http://jxpaton.wordpress.com/2014/01/23/now-what/">to the tune of $100 million annually</a> over the next three years. Part of this investment is their &ldquo;<a href="http://insidethunderdome.com/category/project-unbolt/">Project Unbolt</a>&rdquo;, and part is other, yet to be announced news products and infrastructure. WordPress will be a key component of the technology stack — and DFM&rsquo;s Thunderdome team is the place where many experiments are happening.</p>
<p>Five and half years ago (wow how time flies), I wrote &ldquo;<a href="http://danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">One case against College Publisher</a>&rdquo; in which I outlined the importance of open source in publishing. Since then, I&rsquo;ve worked in news largely from the vendor perspective — none of the newsroom opportunities I explored were the right fit. With Digital First Media, I feel like I&rsquo;ve gotten my big chance at the big leagues. I look forward to helping DFM implement WordPress in a variety of contexts, as well as increasing my contributions to WordPress core, <a href="http://editflow.org/">Edit Flow</a>, <a href="http://wp-cli.org">WP-CLI</a>, and other projects. Open source has a tremendous opportunity to impact news, and the news industry has a tremendous opportunity to contribute to open source.</p>
<p>Check out <a href="http://insidethunderdome.com/2014/02/26/daniel-bachhuber-operations-team/">the announcement on Inside Thunderdome</a>. If you want to join the fun, <a href="https://weworkremotely.com/jobs/457">we&rsquo;re hiring a frontend developer</a> for my team.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#phppdx: WordPress as an Application Platform</title>
      <link>https://danielbachhuber.com/phppdx-wordpress-as-an-application-platform/</link>
      <pubDate>Wed, 19 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/phppdx-wordpress-as-an-application-platform/</guid>
      <description>&lt;p&gt;Last night, I presented to ~25-30 people at the &lt;a href=&#34;http://www.meetup.com/PDX-PHP/events/161608792/&#34;&gt;PDX PHP meetup&lt;/a&gt; on &amp;ldquo;WordPress as an Application Platform&amp;rdquo;. Even though I&amp;rsquo;m no longer with Human Made, I think what they&amp;rsquo;ve done with &lt;a href=&#34;https://wpremote.com/&#34;&gt;WP Remote&lt;/a&gt; (and &lt;a href=&#34;http://www.happytables.com/&#34;&gt;Happytables&lt;/a&gt;) is the bleeding edge and worthy of sharing.&lt;/p&gt;&#xA;&lt;p&gt;Ultimately, the point I wanted to get across is two-fold:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Many applications you could think of building are easily doable with WordPress.&lt;/li&gt;&#xA;&lt;li&gt;WordPress-based products are even more interesting when you have a few, and durable components to share between them.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After the talk, I asked &lt;a href=&#34;http://tollmanz.com/&#34;&gt;Zack&lt;/a&gt; for his feedback:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I presented to ~25-30 people at the <a href="http://www.meetup.com/PDX-PHP/events/161608792/">PDX PHP meetup</a> on &ldquo;WordPress as an Application Platform&rdquo;. Even though I&rsquo;m no longer with Human Made, I think what they&rsquo;ve done with <a href="https://wpremote.com/">WP Remote</a> (and <a href="http://www.happytables.com/">Happytables</a>) is the bleeding edge and worthy of sharing.</p>
<p>Ultimately, the point I wanted to get across is two-fold:</p>
<ul>
<li>Many applications you could think of building are easily doable with WordPress.</li>
<li>WordPress-based products are even more interesting when you have a few, and durable components to share between them.</li>
</ul>
<p>After the talk, I asked <a href="http://tollmanz.com/">Zack</a> for his feedback:</p>
<ul>
<li>Went well: introduction via Freshbooks example really set the stage for what we were talking about. Avoided misunderstanding / different opinions of what a web application was.</li>
<li>Next time: Challenge people more. Explanation of how HM built WP Remote was a bit surface level. Could&rsquo;ve gone deeper into the architecture as a frame of reference for people when they run into it.</li>
</ul>
<p><strong>Resources</strong></p>
<p>All of the references I mentioned in the slides are available at the following links.</p>
<p>WP Remote components:</p>
<ul>
<li><a href="https://github.com/humanmade/job-agency/">Job Agency</a> - Asynchronous jobs system for WordPress, built on <a href="http://wp-cli.org/">WP-CLI</a>.</li>
<li><a href="https://github.com/humanmade/hm-rewrite">HM Rewrite</a> - Wrapper for the WP Rewrite API.</li>
<li><a href="https://github.com/humanmade/h-api">h-api</a> - Simple, descriptive API pattern. Needs work for public consumption.</li>
</ul>
<p>Object cache drop-ins:</p>
<ul>
<li><a href="https://github.com/alleyinteractive/wp-redis">wp-redis</a> from Alley Interactive</li>
<li><a href="https://github.com/tollmanz/wordpress-memcached-backend">WordPress Memcached Backend</a> by Zack Tollman (uses PECL Memcached)</li>
<li><a href="http://wordpress.org/plugins/memcached/">Memcached Object Cache</a> by Ryan Boren (uses PECL Memcache)</li>
</ul>
<p>Future of WordPress:</p>
<ul>
<li><a href="https://github.com/WP-API/WP-API">WP-API</a> - JSON API for WordPress</li>
<li><a href="https://core.trac.wordpress.org/ticket/14513">#14513 Time for a wp_post_relationships table?</a></li>
<li><a href="https://core.trac.wordpress.org/ticket/20564">#20564 Framework for storing revisions of Post Meta</a></li>
<li><a href="https://core.trac.wordpress.org/ticket/22316">#22316 Plugin Dependencies (Yet Another Plugin Dependencies Ticket)</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Paid feature development of open source plugins</title>
      <link>https://danielbachhuber.com/paid-feature-development-of-open-source-plugins/</link>
      <pubDate>Wed, 12 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/paid-feature-development-of-open-source-plugins/</guid>
      <description>&lt;p&gt;On Twitter this morning, I &lt;a href=&#34;https://twitter.com/danielbachhuber/status/433635499542970368&#34;&gt;asked&lt;/a&gt;: How do you feel about having clients sponsor development of specific features? Good idea or fraught w/ problems?&lt;/p&gt;&#xA;&lt;p&gt;Apparently this dilemma resonates with developers:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/Rarst/status/433635694918246401&#34;&gt;Rarst&lt;/a&gt;: &amp;ldquo;sounds better in theory than works in practice, from my limited experience&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/boone/status/433635794860113920&#34;&gt;Boone&lt;/a&gt;: &amp;ldquo;Generally a good idea, as long as the client&amp;rsquo;s needs aren&amp;rsquo;t so wacky as to make the feature awkward for general release. You might also include something in the agreement about post-contract support of the feature. Transition from &amp;lsquo;I&amp;rsquo;m paying you to implement my wishes&amp;rsquo; to &amp;lsquo;I&amp;rsquo;m a regular user making feature requests&amp;rsquo; is the tricky point&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/EricMann/status/433636193083740160&#34;&gt;Eric&lt;/a&gt;: &amp;ldquo;If you properly vet these specific features (as opposed to blindly accepting cash) I think it&amp;rsquo;s a good idea. Biggest drawback is when the sponsorship dries up and you still have to support said feature in the plugin.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/williamsba/status/433636226693070848&#34;&gt;Brad&lt;/a&gt;: &amp;ldquo;great idea, not only features but full plugins. Easy to sell them on it knowing you’ll keep it up-to-date with current WP&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/bradyvercher/status/433637274958716929&#34;&gt;Brady&lt;/a&gt;: &amp;ldquo;I&amp;rsquo;d say it&amp;rsquo;s a great route if the feature makes sense for general use, otherwise an extension/add-on might be better.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/davidstanley01/status/433637429795254273&#34;&gt;David&lt;/a&gt;: &amp;ldquo;good idea, as long as client understands the difference between customization and configuration. Oh, and proper contracts.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/nciske/status/433636252860960768&#34;&gt;Nick&lt;/a&gt;: &amp;ldquo;As long as they understand they don’t own that feature and you may need to implement it in a more general way, it can work. One approach is to make it an addon and add the necessary hooks in core plugin. Allows you to EOL the feature if needed.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/Mamaduka/status/433639521360424962&#34;&gt;George&lt;/a&gt;: &amp;ldquo;don&amp;rsquo;t see anything bad in developing add-ons for side income, plus you might never developed for your use.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/jakemgold/status/433639561299001344&#34;&gt;Jake&lt;/a&gt;: &amp;ldquo;as others said, it&amp;rsquo;s all about good expectations upfront, and not compromising the rest of the plugin&amp;rsquo;s audience&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/wp_smith/status/433639945446494208&#34;&gt;Travis&lt;/a&gt;: &amp;ldquo;Personally, I think it is a win-win, but it heavily depends on the &amp;ldquo;strings attached&amp;rdquo; mentality of the sponsor.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/ryanhellyer/status/433641349465001984&#34;&gt;Ryan&lt;/a&gt;: &amp;ldquo;I&amp;rsquo;ve done that many times before and have encouraged it. I usually gave a big discount for open source stuff. I used to provide two prices, one for open source, one for closed source. Everyone chose the cheapest option.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;My takeaways:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Twitter this morning, I <a href="https://twitter.com/danielbachhuber/status/433635499542970368">asked</a>: How do you feel about having clients sponsor development of specific features? Good idea or fraught w/ problems?</p>
<p>Apparently this dilemma resonates with developers:</p>
<ul>
<li><a href="https://twitter.com/Rarst/status/433635694918246401">Rarst</a>: &ldquo;sounds better in theory than works in practice, from my limited experience&rdquo;</li>
<li><a href="https://twitter.com/boone/status/433635794860113920">Boone</a>: &ldquo;Generally a good idea, as long as the client&rsquo;s needs aren&rsquo;t so wacky as to make the feature awkward for general release. You might also include something in the agreement about post-contract support of the feature. Transition from &lsquo;I&rsquo;m paying you to implement my wishes&rsquo; to &lsquo;I&rsquo;m a regular user making feature requests&rsquo; is the tricky point&rdquo;</li>
<li><a href="https://twitter.com/EricMann/status/433636193083740160">Eric</a>: &ldquo;If you properly vet these specific features (as opposed to blindly accepting cash) I think it&rsquo;s a good idea. Biggest drawback is when the sponsorship dries up and you still have to support said feature in the plugin.&rdquo;</li>
<li><a href="https://twitter.com/williamsba/status/433636226693070848">Brad</a>: &ldquo;great idea, not only features but full plugins. Easy to sell them on it knowing you’ll keep it up-to-date with current WP&rdquo;</li>
<li><a href="https://twitter.com/bradyvercher/status/433637274958716929">Brady</a>: &ldquo;I&rsquo;d say it&rsquo;s a great route if the feature makes sense for general use, otherwise an extension/add-on might be better.&rdquo;</li>
<li><a href="https://twitter.com/davidstanley01/status/433637429795254273">David</a>: &ldquo;good idea, as long as client understands the difference between customization and configuration. Oh, and proper contracts.&rdquo;</li>
<li><a href="https://twitter.com/nciske/status/433636252860960768">Nick</a>: &ldquo;As long as they understand they don’t own that feature and you may need to implement it in a more general way, it can work. One approach is to make it an addon and add the necessary hooks in core plugin. Allows you to EOL the feature if needed.&rdquo;</li>
<li><a href="https://twitter.com/Mamaduka/status/433639521360424962">George</a>: &ldquo;don&rsquo;t see anything bad in developing add-ons for side income, plus you might never developed for your use.&rdquo;</li>
<li><a href="https://twitter.com/jakemgold/status/433639561299001344">Jake</a>: &ldquo;as others said, it&rsquo;s all about good expectations upfront, and not compromising the rest of the plugin&rsquo;s audience&rdquo;</li>
<li><a href="https://twitter.com/wp_smith/status/433639945446494208">Travis</a>: &ldquo;Personally, I think it is a win-win, but it heavily depends on the &ldquo;strings attached&rdquo; mentality of the sponsor.&rdquo;</li>
<li><a href="https://twitter.com/ryanhellyer/status/433641349465001984">Ryan</a>: &ldquo;I&rsquo;ve done that many times before and have encouraged it. I usually gave a big discount for open source stuff. I used to provide two prices, one for open source, one for closed source. Everyone chose the cheapest option.&rdquo;</li>
</ul>
<p>My takeaways:</p>
<ul>
<li>Make sure you&rsquo;re explicit about the business relationship upfront (including support scope), probably in contract. If you aren&rsquo;t, it can get complicated.</li>
<li>If it fits within the scope / roadmap of the plugin, it can be a nice way to bootstrap open source development. Otherwise, it probably makes sense as an add-on.</li>
<li>Pay attention to what users want as add-ons, as you can potentially turn those into premium plugins.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-178/</link>
      <pubDate>Sun, 19 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-178/</guid>
      <description>&lt;p&gt;Walked around the Pearl District and &amp;ldquo;Slabtown&amp;rdquo; this morning with Leah and my parents. Seeing everything in a totally new light now thanks to my mom&amp;rsquo;s copy of &lt;a href=&#34;http://www.amazon.com/gp/aw/d/0881928852&#34;&gt;Portland City Walks&lt;/a&gt;. Unexpectedly delightful exposure to the history just a couple layers beneath my day to day life.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Walked around the Pearl District and &ldquo;Slabtown&rdquo; this morning with Leah and my parents. Seeing everything in a totally new light now thanks to my mom&rsquo;s copy of <a href="http://www.amazon.com/gp/aw/d/0881928852">Portland City Walks</a>. Unexpectedly delightful exposure to the history just a couple layers beneath my day to day life.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-177/</link>
      <pubDate>Thu, 09 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-177/</guid>
      <description>&lt;p&gt;Off to Utah for three days of shredding gnar gnar sicky pow pow with Miles, Albert, and Joe. Last weekend left me pessimistic about the snow coverage, but it looks like the weather gods are smiling upon us kindly. Almost a foot in the last day, and more to come.&lt;/p&gt;&#xA;&lt;p&gt;Joe will be in Portland next week for hacking and general mischief. If we manage to bang out the product idea I&amp;rsquo;ve had forever, it&amp;rsquo;s going to be something I&amp;rsquo;m very excited to show the world.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Off to Utah for three days of shredding gnar gnar sicky pow pow with Miles, Albert, and Joe. Last weekend left me pessimistic about the snow coverage, but it looks like the weather gods are smiling upon us kindly. Almost a foot in the last day, and more to come.</p>
<p>Joe will be in Portland next week for hacking and general mischief. If we manage to bang out the product idea I&rsquo;ve had forever, it&rsquo;s going to be something I&rsquo;m very excited to show the world.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-176/</link>
      <pubDate>Sun, 05 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-176/</guid>
      <description>&lt;p&gt;Yesterday: First day of skiing for the year! Did a full day at Timberline with Ned, Leah&amp;rsquo;s dad. He&amp;rsquo;s a ski patroller, and it was a fun day tagging along to see what that&amp;rsquo;s like. 21k feet of vertical over 17 runs.&lt;/p&gt;&#xA;&lt;p&gt;Today: Hiked Dog Mountain with Spittle. Gorge-ous day in the Gorge, but bitterly cold. Saw a few other brave souls.&lt;/p&gt;&#xA;&lt;p&gt;Now: Just about the perfect time for a hot bath.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday: First day of skiing for the year! Did a full day at Timberline with Ned, Leah&rsquo;s dad. He&rsquo;s a ski patroller, and it was a fun day tagging along to see what that&rsquo;s like. 21k feet of vertical over 17 runs.</p>
<p>Today: Hiked Dog Mountain with Spittle. Gorge-ous day in the Gorge, but bitterly cold. Saw a few other brave souls.</p>
<p>Now: Just about the perfect time for a hot bath.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The conference I want to attend this year</title>
      <link>https://danielbachhuber.com/the-conference-i-want-to-attend-this-year/</link>
      <pubDate>Thu, 02 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-conference-i-want-to-attend-this-year/</guid>
      <description>&lt;p&gt;Blogging about the conference I want to attend this year because I don&amp;rsquo;t have the bandwidth to put it together. Let&amp;rsquo;s call it AgencyCon.&lt;/p&gt;&#xA;&lt;p&gt;The key idea is to bring together a bunch of agencies that build on top of WordPress, Drupal, Joomla, and whatever other frameworks. Personally, here&amp;rsquo;s what I&amp;rsquo;d like to get out of it:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Learn how others are turning their agencies from guns for hire to experts in developing particular types of projects. For instance, with Human Made I would love to see more inbounds that refer to the product work we&amp;rsquo;ve done (e.g. Happytables and WP Remote) and want to hire us for similar. Rather than just doing work with a particular type of tool because you&amp;rsquo;re good at it, we be doing more work that we have proven ourselves leaders of.&lt;/li&gt;&#xA;&lt;li&gt;Hear horror stories of situations other agencies the gotten themselves into, and want for no one else to ever repeat.&lt;/li&gt;&#xA;&lt;li&gt;See the cool projects other agencies have been building but can&amp;rsquo;t publicly discuss. I want to be inspired.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ideally, it would be a two or three day retreat-like event in some great location. Solid presentations, but lots of time for networking. I&amp;rsquo;m a fan of conferences as a model for continuing education largely because many of us are making this up as we go along, and they&amp;rsquo;re high-bandwidth opportunities for sharing knowledge.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Blogging about the conference I want to attend this year because I don&rsquo;t have the bandwidth to put it together. Let&rsquo;s call it AgencyCon.</p>
<p>The key idea is to bring together a bunch of agencies that build on top of WordPress, Drupal, Joomla, and whatever other frameworks. Personally, here&rsquo;s what I&rsquo;d like to get out of it:</p>
<ul>
<li>Learn how others are turning their agencies from guns for hire to experts in developing particular types of projects. For instance, with Human Made I would love to see more inbounds that refer to the product work we&rsquo;ve done (e.g. Happytables and WP Remote) and want to hire us for similar. Rather than just doing work with a particular type of tool because you&rsquo;re good at it, we be doing more work that we have proven ourselves leaders of.</li>
<li>Hear horror stories of situations other agencies the gotten themselves into, and want for no one else to ever repeat.</li>
<li>See the cool projects other agencies have been building but can&rsquo;t publicly discuss. I want to be inspired.</li>
</ul>
<p>Ideally, it would be a two or three day retreat-like event in some great location. Solid presentations, but lots of time for networking. I&rsquo;m a fan of conferences as a model for continuing education largely because many of us are making this up as we go along, and they&rsquo;re high-bandwidth opportunities for sharing knowledge.</p>
<p>Let me know if you know of any events like this, or are up for planning it yourself. I&rsquo;d really love to see this conference happen.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Year in Review: 2013</title>
      <link>https://danielbachhuber.com/year-in-review-2013/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/year-in-review-2013/</guid>
      <description>&lt;p&gt;Wow, what a year. It&amp;rsquo;ll be tough to top this one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Wow, what a year. It&rsquo;ll be tough to top this one.</p>
<h3 id="epic-summer">Epic Summer</h3>
<p>The most notable events of the year took place between the months of May and September.</p>
<p><strong>Sunday, May 26th</strong> - <a href="http://danielbachhuber.com/2013/05/27/the-proposal/">Proposed to Leah at the Spray Rodeo</a>. After a couple of months procrastinating / waiting for the right opportunity, I went for it. Dropping the question in front of hundreds of people was the easy part. Summoning the courage to ask permission from her dad was much more difficult. Best decision I&rsquo;ve ever made.</p>
<p><strong>Monday, July 29th</strong> - My 26th birthday, aka the day we learned Leah was pregnant. I remember the moment vividly — she was at home, I was at work, and she called me on Skype video to share the news. My initial reaction was excitement, and I&rsquo;ve been excited ever since. We weren&rsquo;t quite ready to share the news with my parents that evening, but my sister Madeline guessed something was up when Leah uncharacteristically declined to try her cocktail.</p>
<p><img src="images/img_1233-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><strong>Sunday, September 1st</strong> - Leah and I get married at the beach, in front of Haystack Rock and almost 200 family and friends. Oregon lived up to its promise with beautiful weather. We had a perfect weekend.</p>
<h3 id="professionally-speaking">Professionally Speaking</h3>
<p>2013 was great for hitting my stride as a web developer focusing on media and technology. I started out the year continuing my gig with Automattic&rsquo;s WordPress.com VIP team. In addition to the day to day of competing with <a href="http://digitalize.ca/">Mo</a> for most closed Zendesk tickets, I continued work on <a href="http://editflow.org/">Edit Flow</a>, <a href="http://wordpress.org/plugins/co-authors-plus/">Co-Authors Plus</a>, <a href="http://wordpress.org/plugins/ad-code-manager/">Ad Code Manager</a>, and a variety of other plugins.</p>
<p>I also started contributing more regularly to <a href="http://wp-cli.org/">WP-CLI</a>:</p>
<p><img src="images/2013-12-31-at-5-11-pm.png" alt="WP-CLI contributor chart"  width="942"
	height="203"  /></p>
<p>Getting to be involved in the project is something I&rsquo;m both honored by and proud of. WP-CLI has been an invaluable asset to the work I do — I use it in some capacity on a daily basis. Having my code critiqued by scribu has really pushed me as a developer too. His feedback is always apropos, but it&rsquo;s fun to occasionally prove him otherwise. One of these days, the package manager will finally land&hellip;</p>
<p>At the end of April, I left Automattic to join <a href="http://hmn.md/">Human Made</a>, a leading WordPress agency that splits its time between clients and product. It was a great transition for me. The team is a pleasure to work with, I get to apply my creativity every day, and the gig has all of the perks of a distributed company.</p>
<p>Since the switch, I&rsquo;ve likely spent the most amount of time working on <a href="http://www.vocativ.com/">Vocativ</a> and <a href="https://wpremote.com">WP Remote</a>. The former has been a neat opportunity to me because I&rsquo;ve been able to build many &ldquo;future of journalism&rdquo; ideas I&rsquo;ve had in the past. Although I&rsquo;m technically not in the newsroom, it&rsquo;s the closest I&rsquo;ve ever been and I get to interface with editorial staff on a regular basis. They&rsquo;ve hired a number of forward-thinking journalists too. Two things we&rsquo;ve built of note: Template Manager, essentially Zoninator on steroids, and Poster Images, aka Photoshop in the browser with Imagick doing the heavy lifting. They use both to maintain a highly-visual homepage, with more user-facing features to come.</p>
<p>WP Remote has also been a great opportunity to flex my creative muscles. Just a month after starting with Human Made, I helped lead the charge on getting its first paid feature out the door: Automatic Backups. The only problem: our async jobs system was dead on launch. Joe and I then spent the next 24 hours building <a href="https://github.com/humanmade/job-agency/">Job Agency</a>, a simple, durable jobs system for WordPress (powered by WP-CLI, of course). In October, we launched WP Remote Premium with a few more features, and WP Remote has seen steady revenue growth since.</p>
<p>I really look forward to helping shape Human Made to be a company I want to work with for years to come.</p>
<h3 id="jet-setting">Jet-setting</h3>
<p>For the last few years, I&rsquo;ve been pretty fortunate to have jobs and a work/life balance that support one of my passions: traveling.</p>
<p>According to TripIt, here&rsquo;s the tally for 2013:</p>
<ul>
<li>24 trips over 139 days.</li>
<li>99,228 miles flown.</li>
<li>Visited 33 cities in 8 countries.</li>
</ul>
<p>Broken down, it looks like:</p>
<ul>
<li>January - Vegas for Blogworld, Tahoe for skiing, San Francisco for the AAN Digital conference.</li>
<li>February - Vegas for the VIP team meetup, New Zealand for Webstock, Utah for skiing, Kentucky for NICAR.</li>
<li>March - Seattle for some Edit Flow hacking, Hawaii for a week of rest and relaxation.</li>
<li>April - No travel (except the beach)!</li>
<li>May - San Francisco to meet Tom and Joe for the first time.</li>
<li>June - Seattle for WC SEA, NYC to kick things off with Vocativ, Japan for a bit of adventure, Wisconsin for a family memorial.</li>
<li>July - Lake District in the UK for Human Made meetup, Meadow family cruise to Alaska, San Francisco for Vocativ meetup.</li>
<li>August - No travel (except the beach and Central Oregon)!</li>
<li>September - Honeymoon number one to Sunriver, NYC for Vocativ, Amsterdam to launch WP Remote Premium and attend WordCamp Europe.</li>
<li>October - Victoria to visit Leah&rsquo;s grandparents.</li>
<li>November - San Francisco for GigaOm Roadmap.</li>
<li>December - NYC for Vocativ, Paris for honeymoon number two, and Boston and NY for cousin Steve&rsquo;s wedding.</li>
</ul>
<p>With a baby on the way it will be tough to beat those numbers next year but I&rsquo;ll try my best!</p>]]></content:encoded>
    </item>
    <item>
      <title>Photos in the cloud</title>
      <link>https://danielbachhuber.com/photos-in-the-cloud/</link>
      <pubDate>Sun, 22 Dec 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/photos-in-the-cloud/</guid>
      <description>&lt;p&gt;Up early on a Sunday morning for some reason or another, and the first thing my mind gets stuck on is digital asset management for the home. Want to store your photos online while maintaining all of your rights and not accidentally sharing stuff with the world ? It appears we&amp;rsquo;ll get to 2014 still without a solution. There was one called Everpix, but it is no more. Google Picasa, Facebook, and Photobucket all are not prospects for long-term relationships.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Up early on a Sunday morning for some reason or another, and the first thing my mind gets stuck on is digital asset management for the home. Want to store your photos online while maintaining all of your rights and not accidentally sharing stuff with the world ? It appears we&rsquo;ll get to 2014 still without a solution. There was one called Everpix, but it is no more. Google Picasa, Facebook, and Photobucket all are not prospects for long-term relationships.</p>
<p>Here&rsquo;s the problem I want to solve: iPhoto, but in the cloud. The digital version of the photo boxes my parents have under their window seat with decades of history.</p>
<p>As someone who spent a few years trying to make it as a photographer, I&rsquo;ve got a terabyte or two of photos on old hard drives that I hope haven&rsquo;t failed yet. I want to put those photos in some place more permanent than what I&rsquo;ve got. Deep archive is less desirable of an option because I have to remember to check every so often, they&rsquo;re more difficult to access when I want to, etc.</p>
<p>As someone who&rsquo;s recently married with a kid on the way, I want to collect all of our digital media in one place. In the cloud means it&rsquo;s not tied to the ephemeral nature of personal machines, and that both Leah and I can manage it (she tends to do more photo stuff now anyways).</p>
<p>So&hellip; the fun part. If I had a week to slap this together, here&rsquo;s how I&rsquo;d build it:</p>
<ul>
<li>WordPress</li>
<li>&hellip; but JS app built on top of an API</li>
<li>Flat usage fee. You provide your own S3 bucket to start, with more storage options down the line.</li>
<li>Drag and drop upload.</li>
<li>Organize photos in galleries, edit IPTC metadata, tag faces.</li>
<li>Image crop and rotation.</li>
<li>Multi-user access on the account-level, but also gallery-level so family / friends could contribute.</li>
<li>Emphasize data portability above all.</li>
</ul>
<p>Other ideas that could come later:</p>
<ul>
<li>One-click archive a gallery to Amazon Glacier if you don&rsquo;t plan to use it for a while.</li>
<li>Mail in your DVDs if you don&rsquo;t want to cap out your internet connection forever.</li>
<li>Advanced image editing with revision history.</li>
<li>Keeps track of how your photos are being used across the web (e.g. Facebook version vs Flickr one)</li>
<li>Auto-import from Facebook / Instagram / iPhone.</li>
<li>Optional fixed-price catastrophic backup service.</li>
<li>Bells &amp; whistles.</li>
</ul>
<p><strong>Later:</strong> Worth mentioning that Human Made is hiring full time frontend / backend product devs if you&rsquo;re into this sort of thing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Halloween 2013</title>
      <link>https://danielbachhuber.com/halloween-2013/</link>
      <pubDate>Fri, 01 Nov 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/halloween-2013/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1383275754.jpg&#34; alt=&#34;1383275754.jpg&#34;  width=&#34;448&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s hoping our daughter gets Leah&amp;rsquo;s genes!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1383275754.jpg" alt="1383275754.jpg"  width="448"
	height="600"  /></p>
<p>Here&rsquo;s hoping our daughter gets Leah&rsquo;s genes!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Can&#39;t wait to get the band back together</title>
      <link>https://danielbachhuber.com/cant-wait-to-get-the-band-back-together/</link>
      <pubDate>Fri, 25 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/cant-wait-to-get-the-band-back-together/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1382666623.jpg&#34; alt=&#34;1382666623.jpg&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;398&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t normally like photos of myself, but this is pretty awesome.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1382666623.jpg" alt="1382666623.jpg"  width="600"
	height="398"  /></p>
<p>I don&rsquo;t normally like photos of myself, but this is pretty awesome.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-173/</link>
      <pubDate>Mon, 14 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-173/</guid>
      <description>&lt;p&gt;Wonderful, restorative long weekend in Victoria with Leah and her grandparents. Highlights: Saturday salon, lots of sleeping, morning walks to Moka Coffee, bananagrams, &lt;a href=&#34;http://instagram.com/p/fap9KyptJ_/&#34;&gt;reading on the beach&lt;/a&gt;, and watching (almost) the first season of Breaking Bad.&lt;/p&gt;&#xA;&lt;p&gt;Spent a long time thinking about my role in the WordPress community too. Wrote a pretty angsty post this morning that didn&amp;rsquo;t end up now I wanted it to. Still not sure how to solve the problems I see.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Wonderful, restorative long weekend in Victoria with Leah and her grandparents. Highlights: Saturday salon, lots of sleeping, morning walks to Moka Coffee, bananagrams, <a href="http://instagram.com/p/fap9KyptJ_/">reading on the beach</a>, and watching (almost) the first season of Breaking Bad.</p>
<p>Spent a long time thinking about my role in the WordPress community too. Wrote a pretty angsty post this morning that didn&rsquo;t end up now I wanted it to. Still not sure how to solve the problems I see.</p>
]]></content:encoded>
    </item>
    <item>
      <title>On launching WP Remote Premium</title>
      <link>https://danielbachhuber.com/on-launching-wp-remote-premium/</link>
      <pubDate>Wed, 09 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/on-launching-wp-remote-premium/</guid>
      <description>&lt;p&gt;This past Friday, after months of work and then two weeks of hard work, we &lt;a href=&#34;https://wpremote.com/2013/10/04/the-new-wpremote/&#34;&gt;launched a Premium version of WP Remote&lt;/a&gt;. The new feature list includes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Automatic backups to WP Remote, or Dropbox or your own S3 account.&lt;/li&gt;&#xA;&lt;li&gt;Daily email summaries of what&amp;rsquo;s been happening on your sites.&lt;/li&gt;&#xA;&lt;li&gt;Ability to install, activate, deactivate, and delete themes and plugins.&lt;/li&gt;&#xA;&lt;li&gt;Automatic core, theme, and plugin updates.&lt;/li&gt;&#xA;&lt;li&gt;History now logs important actions happening within WordPress, including when a theme is switched, an administrator logs in, etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What I&amp;rsquo;m most excited about, and &lt;a href=&#34;http://www.wptavern.com/wp-remote-launches-commercial-backup-and-updating-services-for-wordpress&#34;&gt;what WP Tavern nailed in their coverage&lt;/a&gt;, is that the launch of Premium also marks the formal announcement of the &lt;a href=&#34;https://wpremote.com/api-docs/&#34;&gt;WP Remote API&lt;/a&gt;. Our entire JavaScript web application is built upon the same API that&amp;rsquo;s available to the public. For our users, this means the sky is the limit in how they integrate WP Remote into their workflow. For Human Made, the API is a rock solid foundation for us to continue to build WP Remote experiences with. It also means we can develop the API independently of the user-facing application.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This past Friday, after months of work and then two weeks of hard work, we <a href="https://wpremote.com/2013/10/04/the-new-wpremote/">launched a Premium version of WP Remote</a>. The new feature list includes:</p>
<ul>
<li>Automatic backups to WP Remote, or Dropbox or your own S3 account.</li>
<li>Daily email summaries of what&rsquo;s been happening on your sites.</li>
<li>Ability to install, activate, deactivate, and delete themes and plugins.</li>
<li>Automatic core, theme, and plugin updates.</li>
<li>History now logs important actions happening within WordPress, including when a theme is switched, an administrator logs in, etc.</li>
</ul>
<p>What I&rsquo;m most excited about, and <a href="http://www.wptavern.com/wp-remote-launches-commercial-backup-and-updating-services-for-wordpress">what WP Tavern nailed in their coverage</a>, is that the launch of Premium also marks the formal announcement of the <a href="https://wpremote.com/api-docs/">WP Remote API</a>. Our entire JavaScript web application is built upon the same API that&rsquo;s available to the public. For our users, this means the sky is the limit in how they integrate WP Remote into their workflow. For Human Made, the API is a rock solid foundation for us to continue to build WP Remote experiences with. It also means we can develop the API independently of the user-facing application.</p>
<h3 id="the-api">The API</h3>
<p>Think of the WP Remote API as a single hub for managing all of your remote sites. Our eventual goal is to offer an endpoint for manipulating each object inside of WordPress. Right now, we offer Plugin, Theme, User, and Option.</p>
<p>In the process of launching Premium, we did a complete rewrite of the API codebase. Our rewrite offered a two-fold advantage: adding a new endpoint is vastly simplified, and our <a href="https://wpremote.com/api-docs/">API docs</a> are automatically generated through Reflection.</p>
<p>As an example, read through the <code>site/option</code> endpoint:</p>
<p>[sourcecode language=&ldquo;php&rdquo;] &lt;?php namespace WPRemoteAPI; /** * Manage a Site&rsquo;s options */ class Site_Option_Endpoint extends Site_Endpoint {</p>
<p>protected $pattern = &lsquo;site/{SITE_ID}/option/{OPTION_NAME}&rsquo;; protected $query = &lsquo;site_id=$matches[1]&amp;option_name=$matches[2]&rsquo;; protected $arguments = array( &lsquo;option_value&rsquo; =&gt; array( &lsquo;required&rsquo; =&gt; true, &lsquo;sanitize_callback&rsquo; =&gt; false, &lsquo;methods&rsquo; =&gt; array( &lsquo;POST&rsquo; ) ), ); protected $methods = array( &lsquo;GET&rsquo;, &lsquo;POST&rsquo;, &lsquo;DELETE&rsquo; ); protected $authenticated = true; protected $premium = true;</p>
<p>protected function get() {</p>
<p>$result = $this-&gt;site-&gt;options-&gt;get_option( $this-&gt;option_name );</p>
<p>if ( is_wp_error( $result ) ) $this-&gt;send_error( $result-&gt;get_error_message(), 500 );</p>
<p>$this-&gt;send_response( $result );</p>
<p>}</p>
<p>protected function post( $args ) {</p>
<p>$result = $this-&gt;site-&gt;options-&gt;update_option( $this-&gt;option_name, $args[&lsquo;option_value&rsquo;] );</p>
<p>if ( is_wp_error( $result ) ) $this-&gt;send_error( $result-&gt;get_error_message(), 500 );</p>
<p>$log_args = array( &rsquo;type&rsquo; =&gt; &lsquo;option&rsquo;, &lsquo;action&rsquo; =&gt; &lsquo;update&rsquo;, &lsquo;option_name&rsquo; =&gt; $this-&gt;option_name, &lsquo;option_value&rsquo; =&gt; $args[&lsquo;option_value&rsquo;] ); $this-&gt;site-&gt;log-&gt;add_item( $log_args );</p>
<p>}</p>
<p>protected function delete() {</p>
<p>$result = $this-&gt;site-&gt;options-&gt;delete_option( $this-&gt;option_name );</p>
<p>if ( is_wp_error( $result ) ) $this-&gt;send_error( $result-&gt;get_error_message(), 500 );</p>
<p>$log_args = array( &rsquo;type&rsquo; =&gt; &lsquo;option&rsquo;, &lsquo;action&rsquo; =&gt; &lsquo;delete&rsquo;, &lsquo;option_name&rsquo; =&gt; $this-&gt;option_name ); $this-&gt;site-&gt;log-&gt;add_item( $log_args );</p>
<p>}</p>
<p>protected function validate_query_vars( $query_vars ) {</p>
<p>$query_vars = parent::validate_query_vars( $query_vars );</p>
<p>if ( empty( $query_vars[&lsquo;option_name&rsquo;] ) ) $this-&gt;send_error( &lsquo;Invalid option.&rsquo;, 404 );</p>
<p>$this-&gt;option_name = sanitize_text_field( $query_vars[&lsquo;option_name&rsquo;] ); }</p>
<p>}</p>
<p>WPRemote_API()-&gt;add_endpoint( new Site_Option_Endpoint ); [/sourcecode]</p>
<p>At the top of the class, we define:</p>
<ul>
<li><strong>Endpoint pattern.</strong> This is then translated into regex, and registered with WordPress&rsquo; Rewrite API using <a href="https://github.com/humanmade/hm-rewrite">HM Rewrite</a>.</li>
<li><strong>Query args</strong>, or how the pattern should be translated into usable data. Each endpoint class has access to a <code>validate_query_vars()</code> method which validates and sanitizes the passed arguments. For this endpoint, you can see how it first calls its parent&rsquo;s validator, and then validates on its own.</li>
<li><strong>Supported arguments.</strong> Additional arguments can be defined method by method. Each argument can have a few attributes: whether or not it&rsquo;s required, sanitization callback, which methods use the argument, and, not shown here, a default value. The arguments are automagically processed by the base endpoint class, and passed into the method&rsquo;s callback.</li>
<li><strong>Supported methods, and whether or not the endpoint requires authentication or a Premium account.</strong> Fairly self-explanatory, I hope.</li>
</ul>
<p>These class attributes communicate the endpoint&rsquo;s qualities in a structured way. In addition to providing us a highly-usable abstraction of code, they also form the basis of our <a href="https://wpremote.com/api-docs/">documentation</a>. Through PHPdoc and Reflection, we can provide human-readable documentation at the endpoint-level and the method-level.</p>
<p>Notice we&rsquo;ve yet to implement argument descriptions and mock endpoint responses. Human Made is <a href="http://hmn.md/says/2013/09/30/hiring-php-developer/">hiring a full-time PHP product developer</a> — come help us sort it out!</p>
<h3 id="launch-process">Launch Process</h3>
<p>WP Remote Premium is the second significant WP Remote launch process I&rsquo;ve participated in. The first was Automatic Backups in June. At the end of the first, we did a post-mortem to identify what went well, and what we&rsquo;d like to improve upon. Fortunately, we don&rsquo;t seem to be repeating any past mistakes.</p>
<p>With this launch, here are a few pieces I think we did well:</p>
<p><strong>Met our launch date.</strong> The Friday before WordCamp Europe had been set for a couple of months. A few days before, we set an announcement time of 9 am GMT. We formally announced the product at 9:45 am GMT on Friday. Booyah, #shipping.</p>
<p><a href="https://twitter.com/matth">https://twitter.com/matth</a>_eu/status/386067788944523264</p>
<p><strong>Focused on what needed to be done, vs. what we wanted to do.</strong> Every product launch is death by a thousand decisions of bugs to fix, features to add, and tweaks to make. Making decisions from the perspective of <em>what needs to be done</em> forced a clarity to our efforts. In the last 24 hours before launch, we worked against a &ldquo;Premium Launch Blockers&rdquo; milestone. When that cleared, we launched.</p>
<p><strong>Brought everyone together for the final push.</strong> As much as I love working distributed, there&rsquo;s nothing like being in physical proximity to build excitement for shipping. Collaboration is higher bandwidth, and it&rsquo;s much easier to triage, reallocate, etc.</p>
<p>Next time we launch a substantial addition to a product, here are a couple pieces I&rsquo;d like us to do better:</p>
<p><strong>Longer beta test period.</strong> Premium was open for beta testers three days before launch. The functionality for Premium was largely done, however the UI wasn&rsquo;t in place. There haven&rsquo;t been any huge bugs uncovered, but beta periods are always nice for fit and finish. Ideally, any large release should be in beta for a couple of weeks.</p>
<p><strong>Spend more time on marketing.</strong> Although it wasn&rsquo;t as rushed as Automatic Backups, I&rsquo;d mark our marketing strategy as &ldquo;bare minimum plus one.&rdquo; We didn&rsquo;t send any materials to publications until a day prior, largely because the UI was still in flux, and owe thanks to Post Status and WP Tavern for the quick turnaround. On our end, we banged through documentation, an announcement post, and some tweets. In the future, we should be working on marketing for a couple or few weeks.</p>
<p>Ultimately, the launch of WP Remote Premium met or exceeded many of my goals. Renewed focus on offering all of our functionality through a public API is what sets us apart from the alternatives, and will make WP Remote a durable product for the long-term. I&rsquo;m excited to see what people come up with.</p>]]></content:encoded>
    </item>
    <item>
      <title>Beta test the new WP Remote API</title>
      <link>https://danielbachhuber.com/beta-test-the-new-wp-remote-api/</link>
      <pubDate>Mon, 23 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/beta-test-the-new-wp-remote-api/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wpremote.com/&#34;&gt;WP Remote&lt;/a&gt; strives to make it much easier to manage your WordPress sites. This week, &lt;a href=&#34;http://joehoyle.co.uk/&#34;&gt;Joe&lt;/a&gt; and I are in Portland to build  a Premium version. Being the developers we are, our first order of business was to completely rewrite the API, and &lt;a href=&#34;https://wpremote.com/api-docs/&#34;&gt;make it available for public consumption&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;d love for you to break it &lt;a href=&#34;https://wpremote.com/api-docs/&#34;&gt;try it out&lt;/a&gt;. The free endpoints allow you to update core, themes, and plugins, download an archive of the entire site, and access a log of the actions you&amp;rsquo;ve performed on the site. Our Premium version lets you install, activate, deactivate and delete themes and plugins, and enable automatic backups, with more to come.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://wpremote.com/">WP Remote</a> strives to make it much easier to manage your WordPress sites. This week, <a href="http://joehoyle.co.uk/">Joe</a> and I are in Portland to build  a Premium version. Being the developers we are, our first order of business was to completely rewrite the API, and <a href="https://wpremote.com/api-docs/">make it available for public consumption</a>.</p>
<p>We&rsquo;d love for you to break it <a href="https://wpremote.com/api-docs/">try it out</a>. The free endpoints allow you to update core, themes, and plugins, download an archive of the entire site, and access a log of the actions you&rsquo;ve performed on the site. Our Premium version lets you install, activate, deactivate and delete themes and plugins, and enable automatic backups, with more to come.</p>
<p>Feel free to write scripts that use the API, or build a new interface on top of it (our application is built entirely on the API). We&rsquo;ve also created <a href="https://github.com/humanmade/wp-remote-cli">WP Remote CLI</a> for you, a WP-CLI command to access WP Remote. Our goal is feature parity with WP-CLI, plus more. My favorite command right now: <code>wp --site-id=31 remote-site download</code></p>
<p>Because Premium isn&rsquo;t launched yet, <a href="mailto:support@wpremote.com">shoot us an email</a> and we&rsquo;d be happy to enable Premium endpoints for your site.</p>
<p>Oh yeah — Human Made is <a href="http://hmn.md/says/2013/09/23/seeking-front-end-developer/">hiring for a product-focused frontend developer</a>. If you know someone who might fit the bill, please send them our way. Bonus points if they pitch us with something they&rsquo;ve built on the API.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Neat commenting types in Potluck</title>
      <link>https://danielbachhuber.com/neat-commenting-types-in-potluck/</link>
      <pubDate>Wed, 18 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/neat-commenting-types-in-potluck/</guid>
      <description>&lt;p&gt;Normal comment:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2013-09-18-at-8-18-am.png&#34; alt=&#34;Normal comment&#34;  width=&#34;588&#34;&#xA;&#x9;height=&#34;107&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Paste a link:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2013-09-18-at-8-21-am.png&#34; alt=&#34;Paste a quote&#34;  width=&#34;557&#34;&#xA;&#x9;height=&#34;111&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Paste a quote from a link:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2013-09-18-at-8-20-am.png&#34; alt=&#34;Paste a link&#34;  width=&#34;555&#34;&#xA;&#x9;height=&#34;111&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Send a reaction:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2013-09-18-at-8-22-am.png&#34; alt=&#34;Send a reaction&#34;  width=&#34;551&#34;&#xA;&#x9;height=&#34;302&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Normal comment:</p>
<p><img src="images/2013-09-18-at-8-18-am.png" alt="Normal comment"  width="588"
	height="107"  /></p>
<p>Paste a link:</p>
<p><img src="images/2013-09-18-at-8-21-am.png" alt="Paste a quote"  width="557"
	height="111"  /></p>
<p>Paste a quote from a link:</p>
<p><img src="images/2013-09-18-at-8-20-am.png" alt="Paste a link"  width="555"
	height="111"  /></p>
<p>Send a reaction:</p>
<p><img src="images/2013-09-18-at-8-22-am.png" alt="Send a reaction"  width="551"
	height="302"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-170/</link>
      <pubDate>Sat, 14 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-170/</guid>
      <description>&lt;p&gt;Thirteen mile run up Eagle Creek this morning with Jordan and Ry. First signs of fall on the trail. Gorgeous — coming up on my favorite season of the year.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Thirteen mile run up Eagle Creek this morning with Jordan and Ry. First signs of fall on the trail. Gorgeous — coming up on my favorite season of the year.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-169/</link>
      <pubDate>Tue, 10 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-169/</guid>
      <description>&lt;p&gt;On a sci-fi kick right now. Well, the kick has been on for a while. Fortunately I&amp;rsquo;ve found two great series: Iain M. Bank&amp;rsquo;s &lt;em&gt;Culture&lt;/em&gt;, and Taylor Anderson&amp;rsquo;s &lt;em&gt;Destroyermen&lt;/em&gt;. Twelve and five books long, respectively.&lt;/p&gt;&#xA;&lt;p&gt;With any luck, these should hold me out a few more weeks&amp;hellip;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On a sci-fi kick right now. Well, the kick has been on for a while. Fortunately I&rsquo;ve found two great series: Iain M. Bank&rsquo;s <em>Culture</em>, and Taylor Anderson&rsquo;s <em>Destroyermen</em>. Twelve and five books long, respectively.</p>
<p>With any luck, these should hold me out a few more weeks&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ch-Ch-Changes</title>
      <link>https://danielbachhuber.com/ch-ch-changes/</link>
      <pubDate>Wed, 04 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ch-ch-changes/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been remiss of blogging, but for very good reason: Leah is pregnant with our first child, and we had our wedding. Plus, business is going exceedingly well. So, not a lot of free time.&lt;/p&gt;&#xA;&lt;p&gt;For the full story on Leah&amp;rsquo;s pregnancy, &lt;a href=&#34;http://blog.leahrolson.com/2013/08/19/and-then-there-were-almost-three/&#34;&gt;check out her write-up&lt;/a&gt;. We learned just over a month ago — on my birthday, in fact. Having discussed baby names for the past six months, I was mentally prepared and my initial reaction was excitement. Leah took a week or so to get used to the fact we&amp;rsquo;d be having a kid in March 2014 instead of March 2019. Once she did, we &lt;a href=&#34;http://instagram.com/p/dAbZ1PLDZ4/&#34;&gt;shared the news with the world&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve been remiss of blogging, but for very good reason: Leah is pregnant with our first child, and we had our wedding. Plus, business is going exceedingly well. So, not a lot of free time.</p>
<p>For the full story on Leah&rsquo;s pregnancy, <a href="http://blog.leahrolson.com/2013/08/19/and-then-there-were-almost-three/">check out her write-up</a>. We learned just over a month ago — on my birthday, in fact. Having discussed baby names for the past six months, I was mentally prepared and my initial reaction was excitement. Leah took a week or so to get used to the fact we&rsquo;d be having a kid in March 2014 instead of March 2019. Once she did, we <a href="http://instagram.com/p/dAbZ1PLDZ4/">shared the news with the world</a>.</p>
<p>On Sunday, Leah and I got hitched in front of Haystack Rock at Cannon Beach. It was, sincerely, the best day of my life. Not only did I get to tie the knot with my best friend, but the weather was beyond believable. Perfect day for a beach wedding. We had over 180 people attend the ceremony and reception. I&rsquo;m truly humbled by those who took the time to celebrate with us, particularly those who traveled across the country and across the world.</p>
<p>Originally we had plans for a two-week honeymoon to Turkey and Greece. Because of the pregnancy, we&rsquo;re instead headed to Sunriver for several days. We haven&rsquo;t left yet though! Thanks to the state of healthcare insurance in the US, today we discovered Leah is denied any new coverage because pregnancy is a pre-existing condition. Her existing coverage ends September 19th. Fortunately, Oregon has the <a href="http://www.oregon.gov/oha/OPHP/OMIP/pages/index.aspx">Oregon Medical Insurance Pool</a> to pick up where the private sector drops off. Ironically, <a href="http://www.regence.com/">Regence</a>, who provides my insurance and said they would deny her, is the provider of OMIP.</p>
<p>My genuine wish is for the &ldquo;startup&rdquo; world to take solving real problems more seriously. Josh Kushner&rsquo;s Oscar <a href="http://www.forbes.com/sites/stevenbertoni/2013/07/17/hacking-obamacare-josh-kushner-targets-health-insurance-with-tech-start-up/">sounds neat</a>.</p>
<p><img src="images/img_0599.jpg" alt="img_0599.jpg"  width="2400"
	height="1600"  />
<img src="images/img_0604.jpg" alt="img_0604.jpg"  width="2400"
	height="1600"  />
<img src="images/img_0614.jpg" alt="img_0614.jpg"  width="2400"
	height="1600"  />
<img src="images/img_0619.jpg" alt="img_0619.jpg"  width="2400"
	height="1600"  />
<img src="images/img_0654.jpg" alt="img_0654.jpg"  width="2400"
	height="1600"  />
<img src="images/img_0661.jpg" alt="img_0661.jpg"  width="2400"
	height="1414"  />
<img src="images/img_0682.jpg" alt="img_0682.jpg"  width="2400"
	height="1600"  />
<img src="images/img_1123.jpg" alt="img_1123.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1126.jpg" alt="img_1126.jpg"  width="1800"
	height="2400"  />
<img src="images/img_1165.jpg" alt="img_1165.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1167.jpg" alt="img_1167.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1198.jpg" alt="img_1198.jpg"  width="1800"
	height="2400"  />
<img src="images/img_1199.jpg" alt="img_1199.jpg"  width="1800"
	height="2400"  />
<img src="images/img_1200.jpg" alt="img_1200.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1266.jpg" alt="img_1266.jpg"  width="1800"
	height="2400"  />
<img src="images/img_1215.jpg" alt="img_1215.jpg"  width="1800"
	height="2400"  />
<img src="images/img_1268.jpg" alt="img_1268.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1224.jpg" alt="img_1224.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1225.jpg" alt="img_1225.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1233.jpg" alt="img_1233.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1240.jpg" alt="img_1240.jpg"  width="2400"
	height="1800"  />
<img src="images/img_1256.jpg" alt="img_1256.jpg"  width="2400"
	height="1800"  />
<img src="images/1236874_10102206880889809_1615842593_n.jpg" alt="1236874_10102206880889809_1615842593_n.jpg"  width="720"
	height="960"  />
<img src="images/1175720_10102206878554489_305572116_n.jpg" alt="1175720_10102206878554489_305572116_n.jpg"  width="720"
	height="960"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Running with the watch of the future</title>
      <link>https://danielbachhuber.com/running-with-the-watch-of-the-future/</link>
      <pubDate>Fri, 09 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/running-with-the-watch-of-the-future/</guid>
      <description>&lt;p&gt;Leah bought me a combination GPS &amp;amp; heart rate monitor watch for my birthday. Coming from someone who&amp;rsquo;s been running as many years as he&amp;rsquo;s been alive, this watch has completely changed training patterns.&lt;/p&gt;&#xA;&lt;p&gt;Before, training to me was running as far as I could, as fast as I could. In my infamous first attempt at a marathon, I&amp;rsquo;d string together an eight miler, a fourteen miler, a nine miler and do a six miles on my off day. Needless to say, it was too much — my body fell apart three weeks before the marathon.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Leah bought me a combination GPS &amp; heart rate monitor watch for my birthday. Coming from someone who&rsquo;s been running as many years as he&rsquo;s been alive, this watch has completely changed training patterns.</p>
<p>Before, training to me was running as far as I could, as fast as I could. In my infamous first attempt at a marathon, I&rsquo;d string together an eight miler, a fourteen miler, a nine miler and do a six miles on my off day. Needless to say, it was too much — my body fell apart three weeks before the marathon.</p>
<p>Now, because I&rsquo;m training for endurance, all I need to do is keep my heart rate below 155. I don&rsquo;t have to come out of every run exhausted, needing a day of recovery. Instead, I feel invigorated.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-168/</link>
      <pubDate>Sun, 04 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-168/</guid>
      <description>&lt;p&gt;Trail run with Jordan today to Hood&amp;rsquo;s Paradise Park. Twelve miles in total over three hours, and running for nine miles / two hours.&lt;/p&gt;&#xA;&lt;p&gt;I didn&amp;rsquo;t bonk on this one, but I did feel pretty beat at the end of it. And today definitely wouldn&amp;rsquo;t have been a good day for forty.&lt;/p&gt;&#xA;&lt;p&gt;The theory is that it was a combination of dehydration and the wrong heart rate for me. Planning to pick up a Garmin GPS + heart rate monitor watch — we&amp;rsquo;ll see how slow running at 145 bpm is like.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Trail run with Jordan today to Hood&rsquo;s Paradise Park. Twelve miles in total over three hours, and running for nine miles / two hours.</p>
<p>I didn&rsquo;t bonk on this one, but I did feel pretty beat at the end of it. And today definitely wouldn&rsquo;t have been a good day for forty.</p>
<p>The theory is that it was a combination of dehydration and the wrong heart rate for me. Planning to pick up a Garmin GPS + heart rate monitor watch — we&rsquo;ll see how slow running at 145 bpm is like.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Git endpoint for content in WordPress</title>
      <link>https://danielbachhuber.com/git-endpoint-for-content-in-wordpress/</link>
      <pubDate>Sat, 20 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/git-endpoint-for-content-in-wordpress/</guid>
      <description>&lt;p&gt;A horrid, crazy idea: a Git endpoint for the content in my WordPress install.&lt;/p&gt;&#xA;&lt;p&gt;One step back to the problem I&amp;rsquo;m trying to solve. More and more, I enjoy writing in Markdown with &lt;a href=&#34;http://www.iawriter.com/mac/&#34;&gt;iA Writer&lt;/a&gt;. &amp;ldquo;Publishing&amp;rdquo; whatever document I&amp;rsquo;ve written generally involves hitting the Preview button in iA Writer, and then copy and pasting text into WordPress. Yes, the same workflow I&amp;rsquo;ve been preaching against for years.&lt;/p&gt;&#xA;&lt;p&gt;I wish I could have a Git checkout of content in WordPress, make edits locally using my editor of choosing, commit, and push back to master. I&amp;rsquo;m aware of &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jeykll&lt;/a&gt; and the other hipster &amp;ldquo;content management systems&amp;rdquo;, however I&amp;rsquo;m still an old-school content in a database kind of guy.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A horrid, crazy idea: a Git endpoint for the content in my WordPress install.</p>
<p>One step back to the problem I&rsquo;m trying to solve. More and more, I enjoy writing in Markdown with <a href="http://www.iawriter.com/mac/">iA Writer</a>. &ldquo;Publishing&rdquo; whatever document I&rsquo;ve written generally involves hitting the Preview button in iA Writer, and then copy and pasting text into WordPress. Yes, the same workflow I&rsquo;ve been preaching against for years.</p>
<p>I wish I could have a Git checkout of content in WordPress, make edits locally using my editor of choosing, commit, and push back to master. I&rsquo;m aware of <a href="http://jekyllrb.com/">Jeykll</a> and the other hipster &ldquo;content management systems&rdquo;, however I&rsquo;m still an old-school content in a database kind of guy.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Japan, June 2013</title>
      <link>https://danielbachhuber.com/japan-june-2013/</link>
      <pubDate>Fri, 05 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/japan-june-2013/</guid>
      <description>&lt;p&gt;Japan: weird, polite to a fault, and bubble gum. I hate to be one of those people who say &amp;ldquo;you don&amp;rsquo;t know it until you experience it,&amp;rdquo; but that&amp;rsquo;s exactly the case.&lt;/p&gt;&#xA;&lt;p&gt;Always looking for an excuse to travel, Leah and I hit Tokyo, the Kiso Valley, and Osaka June 14th through 24th. It was Leah&amp;rsquo;s third time to Japan and my first. Needless to say, everything that was wild to me was no big deal to her.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Japan: weird, polite to a fault, and bubble gum. I hate to be one of those people who say &ldquo;you don&rsquo;t know it until you experience it,&rdquo; but that&rsquo;s exactly the case.</p>
<p>Always looking for an excuse to travel, Leah and I hit Tokyo, the Kiso Valley, and Osaka June 14th through 24th. It was Leah&rsquo;s third time to Japan and my first. Needless to say, everything that was wild to me was no big deal to her.</p>
<p>Our itinerary looked like this (Leah did a great job blogging the first part of the week):</p>
<ul>
<li><strong>Friday:</strong> Depart Portland Friday afternoon, arrive Tokyo in the future.</li>
<li><strong>Sunday:</strong> <a href="http://blog.leahrolson.com/2013/06/17/daniel-dreams-of-ramen/">Explore Tokyo with Seiga</a> and drink iced coffee from vending machines. Skytree was my favorite sight.</li>
<li><strong>Monday:</strong> Check out the <a href="http://blog.leahrolson.com/2013/06/19/tsukiji-fish-market/">Tsukiji Fish Market</a>, <a href="http://blog.leahrolson.com/2013/06/17/daniel-dreams-of-ramen/">eat a bowl of ramen</a>, then take Shinkansen to Nagoya and Kiso Valley to <a href="http://blog.leahrolson.com/2013/06/19/fujioto-the-ryokan-experience/">experience the ryokan</a>.</li>
<li><strong>Tuesday:</strong> Hike from Tsumago to Magome (16 km or so). More eating.</li>
<li><strong>Wednesday:</strong> Take Shinkansen to Osaka, where we stayed with Leah&rsquo;s friend Nathan for the rest of the trip. <a href="http://blog.leahrolson.com/2013/06/19/indian-food-in-osaka/">Indian food for dinner</a>.</li>
<li><strong>Thursday:</strong> Explore Kyoto. Experience a legit tea ceremony. Make nachos with homemade tortilla chips from homemade tortillas.</li>
<li><strong>Friday:</strong> Hang out in Osaka part one. Running in the morning along the waterfront. Read in a coffee shop. Wander around all night with a friendly drunk guy.</li>
<li><strong>Saturday:</strong> Hang out in Osaka part two. Recover from our hangovers. Attempt to buy souvenirs, but fail because neither Leah or I like shopping.</li>
<li><strong>Sunday:</strong> Explore Nara. Fight deer. Hike to the top of a hill. Shinkansen back to Tokyo, and fly home.</li>
</ul>
<p><img src="images/img_1251.jpg" alt="img_1251"  width="2400"
	height="1800"  />
<img src="images/img_1246.jpg" alt="img_1246"  width="2400"
	height="1800"  />
<img src="images/img_1247.jpg" alt="img_1247"  width="2400"
	height="1800"  />
<img src="images/img_1259.jpg" alt="img_1259"  width="2400"
	height="1800"  />
<img src="images/img_1263.jpg" alt="img_1263"  width="2400"
	height="1800"  />
<img src="images/img_1279.jpg" alt="img_1279"  width="1800"
	height="2400"  />
<img src="images/img_1290.jpg" alt="img_1290"  width="2400"
	height="1800"  />
<img src="images/img_1286.jpg" alt="img_1286"  width="2400"
	height="1800"  />
<img src="images/img_1296.jpg" alt="img_1296"  width="2400"
	height="1800"  />
<img src="images/img_1297.jpg" alt="img_1297"  width="2400"
	height="1800"  />
<img src="images/img_1315.jpg" alt="img_1315"  width="1800"
	height="2400"  />
<img src="images/img_1332.jpg" alt="img_1332"  width="2400"
	height="1919"  />
<img src="images/img_13341.jpg" alt="img_13341"  width="2400"
	height="1800"  />
<img src="images/img_1340.jpg" alt="img_1340"  width="2400"
	height="1800"  />
<img src="images/img_1342.jpg" alt="img_1342"  width="2400"
	height="1800"  />
<img src="images/img_1350.jpg" alt="img_1350"  width="2400"
	height="1800"  />
<img src="images/img_1347.jpg" alt="img_1347"  width="2400"
	height="1800"  />
<img src="images/img_1348.jpg" alt="img_1348"  width="2400"
	height="1800"  />
<img src="images/img_1352.jpg" alt="img_1352"  width="2400"
	height="1800"  />
<img src="images/img_1358.jpg" alt="img_1358"  width="2400"
	height="1800"  />
<img src="images/img_1364.jpg" alt="img_1364"  width="2400"
	height="1800"  />
<img src="images/img_1371.jpg" alt="img_1371"  width="2400"
	height="1800"  />
<img src="images/img_1305.jpg" alt="img_1305"  width="2400"
	height="1800"  />
<img src="images/img_1375.jpg" alt="img_1375"  width="2400"
	height="1800"  />
<img src="images/img_1308.jpg" alt="img_1308"  width="2400"
	height="1800"  />
<img src="images/img_1309.jpg" alt="img_1309"  width="2400"
	height="1800"  />
<img src="images/img_1313.jpg" alt="img_1313"  width="2400"
	height="1800"  />
<img src="images/img_1320.jpg" alt="img_1320"  width="2400"
	height="1800"  />
<img src="images/img_1330.jpg" alt="img_1330"  width="1800"
	height="2400"  />
<img src="images/img_1334.jpg" alt="img_1334"  width="2400"
	height="1800"  />
<img src="images/img_1356.jpg" alt="img_1356"  width="2400"
	height="1800"  />
<img src="images/img_1363.jpg" alt="img_1363"  width="2400"
	height="1800"  />
<img src="images/img_1365.jpg" alt="img_1365"  width="2400"
	height="1800"  />
<img src="images/img_1372.jpg" alt="img_1372"  width="2400"
	height="1800"  />
<img src="images/img_1377.jpg" alt="img_1377"  width="2400"
	height="1800"  />
<img src="images/img_1374.jpg" alt="img_1374"  width="2400"
	height="1800"  />
<img src="images/img_1396.jpg" alt="img_1396"  width="2400"
	height="1800"  />
<img src="images/img_1406.jpg" alt="img_1406"  width="2400"
	height="1800"  />
<img src="images/img_1410.jpg" alt="img_1410"  width="2400"
	height="1800"  />
<img src="images/img_1422.jpg" alt="img_1422"  width="2400"
	height="1800"  />
<img src="images/img_1426.jpg" alt="img_1426"  width="2400"
	height="1800"  />
<img src="images/img_1443.jpg" alt="img_1443"  width="2400"
	height="1800"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>One with jet lag</title>
      <link>https://danielbachhuber.com/one-with-jet-lag/</link>
      <pubDate>Mon, 24 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/one-with-jet-lag/</guid>
      <description>&lt;p&gt;Jet lag is a killer, but you can fight back.&lt;/p&gt;&#xA;&lt;p&gt;As a kid, I remember distinctly the effects of jet lag. One trip in particular had me fall asleep on a bench along the Champs-Élysées at four in the afternoon. My family waited for me to wake back up, patiently munching on baguettes. Another had me tour around zombie-like for 42 hours because I simply couldn&amp;rsquo;t fall asleep.&lt;/p&gt;&#xA;&lt;p&gt;The same kid who couldn&amp;rsquo;t sleep on planes for the life of him is now out in a heartbeat. Mitigating jet lag is a combination of: sleep at the right time, plenty of water and small meals, and caffeine, but not too much.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Jet lag is a killer, but you can fight back.</p>
<p>As a kid, I remember distinctly the effects of jet lag. One trip in particular had me fall asleep on a bench along the Champs-Élysées at four in the afternoon. My family waited for me to wake back up, patiently munching on baguettes. Another had me tour around zombie-like for 42 hours because I simply couldn&rsquo;t fall asleep.</p>
<p>The same kid who couldn&rsquo;t sleep on planes for the life of him is now out in a heartbeat. Mitigating jet lag is a combination of: sleep at the right time, plenty of water and small meals, and caffeine, but not too much.</p>
<p>Coming back from Italy last June, I fought jet lag by running around the Coliseum late at night. I was sufficiently tired by my 6 am flight that I slept the entire way home. Given how timezones work, I landed in Portland mid-morning, drank my Earl Grey, worked a few hours, drove to Sunriver, and was <a href="http://danielbachhuber.com/2012/06/23/pacific-crest-half-marathon/">convinced to do a half-marathon the next day</a>.</p>
<p>Last week plus change, Leah and I flew to Tokyo. For me, it was the day following a return from New York — I had a total of 11 timezones to deal with. Our flight out was at 8 pm local and arrived 10 pm local. I slept six hours on the plane, spent a couple hours in transit to our hostel, and then slept four more hours. On our first day in Japan, we managed a <a href="http://blog.leahrolson.com/2013/06/16/exploring-tokyo/">full day of sightseeing</a>.</p>
<p>Today, I&rsquo;m back in Portland, rocking to <a href="http://www.youtube.com/watch?v=yzC4hFK5P3g&amp;feature=youtu.be">Kyary Kyary Pamyu</a>, and, having been up since 2 am, keeping my fingers crossed that my theory holds.</p>
]]></content:encoded>
    </item>
    <item>
      <title>This year&#39;s WordCamp Portland speakers</title>
      <link>https://danielbachhuber.com/this-years-wordcamp-portland-speakers/</link>
      <pubDate>Fri, 21 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/this-years-wordcamp-portland-speakers/</guid>
      <description>&lt;p&gt;We tried not one but two experiments this year: specifying an overarching theme, &amp;ldquo;permanence&amp;rdquo;, and requiring applications to be submitted by video.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s working out awesomely. Earlier this week, we announced our &lt;a href=&#34;http://2013.portland.wordcamp.org/2013/06/17/wcpdx-speakers/&#34;&gt;primary lineup of speakers&lt;/a&gt;. I suppose it&amp;rsquo;s a given because I&amp;rsquo;m the speaker coordinator, but I&amp;rsquo;d love to attend every one. They all tie into our theme of &amp;ldquo;permanence&amp;rdquo;, yet stand strongly in their own right.&lt;/p&gt;&#xA;&lt;p&gt;And, as if those sessions weren&amp;rsquo;t enough, we&amp;rsquo;ve invited Brewster Kahle, of the &lt;a href=&#34;http://archive.org/&#34;&gt;Internet Archive&lt;/a&gt; and the Wayback Machine, to &lt;a href=&#34;http://2013.portland.wordcamp.org/2013/06/20/brewster-kahle-keynote/&#34;&gt;give a keynote&lt;/a&gt;. We also have one more keynote to announce.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We tried not one but two experiments this year: specifying an overarching theme, &ldquo;permanence&rdquo;, and requiring applications to be submitted by video.</p>
<p>It&rsquo;s working out awesomely. Earlier this week, we announced our <a href="http://2013.portland.wordcamp.org/2013/06/17/wcpdx-speakers/">primary lineup of speakers</a>. I suppose it&rsquo;s a given because I&rsquo;m the speaker coordinator, but I&rsquo;d love to attend every one. They all tie into our theme of &ldquo;permanence&rdquo;, yet stand strongly in their own right.</p>
<p>And, as if those sessions weren&rsquo;t enough, we&rsquo;ve invited Brewster Kahle, of the <a href="http://archive.org/">Internet Archive</a> and the Wayback Machine, to <a href="http://2013.portland.wordcamp.org/2013/06/20/brewster-kahle-keynote/">give a keynote</a>. We also have one more keynote to announce.</p>
<p>When we began planning this year&rsquo;s WordCamp, I knew I wanted us to push hard to raise the bar. There are enough WordCamps happening every month, and subsequently talks making it to WordPress.tv, that the status quo shouldn&rsquo;t be a generic, third time old presentation. Our idea: if we mandate video applications, and only one per person, it would encourage potential speakers to consider their pitch thoroughly. Furthermore, videos would enable us to better assess the person&rsquo;s stage presence and ability to communicate concisely, both of which are important for inspiring an audience.</p>
<p>It&rsquo;s safe to say we didn&rsquo;t know if the idea would work until the day of the deadline. Up until the last 12 hours, the outcome was unknown and, frankly, a little nerve-wracking. In total, we received ~25 applications; 90% were submitted on the last day. It paid off though. Most of the applications were solid, obvious examples of much consideration, and the video format was a tremendous help for screening.</p>
<p>Go out on a limb every once in a while, take a risk, and see how it plays out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BeachPress</title>
      <link>https://danielbachhuber.com/beachpress/</link>
      <pubDate>Tue, 28 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/beachpress/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1369765096.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;On the road to Rockaway for BeachPress, aka the beach and WordPress. Alex says it&amp;rsquo;s too rainy for the Viper, so we&amp;rsquo;re taking the Mustang instead.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/1369765096.jpg" alt=""  width="600"
	height="600"  /></p>
<p>On the road to Rockaway for BeachPress, aka the beach and WordPress. Alex says it&rsquo;s too rainy for the Viper, so we&rsquo;re taking the Mustang instead.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The proposal</title>
      <link>https://danielbachhuber.com/the-proposal/</link>
      <pubDate>Mon, 27 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-proposal/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/67084387?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;On Sunday, May 26th, I asked Leah to marry me. She said yes — in front of her family and hundreds at the Spray Rodeo. Her father, Ned, caught the moment in the video above.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;d been waiting for the right opportunity for a few months, spending my time agonizing on which ring to buy and where to pop the question. At the start of our relationship, Leah played an &lt;a href=&#34;http://leahanddanielsgrandadventures.wordpress.com/2012/04/23/snowshoeing-beach-walla-walla-and-flying/img_0115/&#34;&gt;important role&lt;/a&gt; in producing my mom&amp;rsquo;s &lt;a href=&#34;http://leahanddanielsgrandadventures.wordpress.com/2012/04/23/snowshoeing-beach-walla-walla-and-flying/img_0116/&#34;&gt;30th wedding anniversary gift to my dad&lt;/a&gt;. I thought I might take her down to the beach, have a couple friends spell out the marriage proposal in driftwood, and then pop the question. The fates decided I needed to propose in a better way.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/67084387?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>On Sunday, May 26th, I asked Leah to marry me. She said yes — in front of her family and hundreds at the Spray Rodeo. Her father, Ned, caught the moment in the video above.</p>
<p>I&rsquo;d been waiting for the right opportunity for a few months, spending my time agonizing on which ring to buy and where to pop the question. At the start of our relationship, Leah played an <a href="http://leahanddanielsgrandadventures.wordpress.com/2012/04/23/snowshoeing-beach-walla-walla-and-flying/img_0115/">important role</a> in producing my mom&rsquo;s <a href="http://leahanddanielsgrandadventures.wordpress.com/2012/04/23/snowshoeing-beach-walla-walla-and-flying/img_0116/">30th wedding anniversary gift to my dad</a>. I thought I might take her down to the beach, have a couple friends spell out the marriage proposal in driftwood, and then pop the question. The fates decided I needed to propose in a better way.</p>
<p>Spray it was. Attending the two-day <a href="http://www.sprayrodeo.org/">Spray Rodeo</a>, and camping in Shelton-Wayside, is a long-standing Olson family tradition. Leah has been every year since she was six — yes, this year was her twentieth year. Considering she&rsquo;s mentioned multiple times Spray is her &ldquo;favorite time of the year,&rdquo; I knew it was my best chance to get her to say yes.</p>
<p>Sunday morning started out with dismal weather. It rained so hard we stayed in the tent until 9 am. The rain let up, a little sun poked out, and I set about chilling my nerves by chopping wood.</p>
<p>Proposing to Leah posed two challenges: asking for permission from her father, and sweet-talking the rodeo committee into letting me into the arena. The first was much more intimidating to me. When the clouds started to clear, and with my window of opportunity growing smaller, I knew I needed to man up. I went to chat with Ned.</p>
<p>&ldquo;Hey Ned, can you take a walk to the truck with me?&rdquo; I ask. Ned gave me a weird look, reached into his pocket, and handed me his keys. &ldquo;Actually, I&rsquo;d like to walk with you to have a chat,&rdquo; I clarified. Ned gave me a weirder look and reluctantly said &ldquo;ok&hellip;.&rdquo;</p>
<p>I pitched my request. My fears didn&rsquo;t manifest themselves. Ned gave his blessing, wrapped me in a big bear hug, and proceeded to tell me that even if he said no, he&rsquo;d still expect me to ask Leah. First hurdle cleared.</p>
<p>Convincing the powers that be to let me hijack the rodeo late on day two was dependent on a great deal of luck. Fortunately, I had luck to cash in. I managed to get the name of Joann Griffith, long-time organizer, as the person who could give me the go-ahead. After a quick search, and help from a couple friendly souls, I found her in Frank&rsquo;s Pub.</p>
<p>I pitched my request. &ldquo;Well, I always love a good love story,&rdquo; Joann responded. Boom, two for two. Time for the final step: walking out into the arena, and taking the mic from the announcer&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-161/</link>
      <pubDate>Sat, 18 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-161/</guid>
      <description>&lt;p&gt;Plans for today and tomorrow: running in Forest Park, picking up shelves to finish the entryway, designing the blag, hiking in the Gorge, getting a new book at Powell&amp;rsquo;s, making nograinola, and/or seeing a movie. In no particular order. The best type of weekend.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Plans for today and tomorrow: running in Forest Park, picking up shelves to finish the entryway, designing the blag, hiking in the Gorge, getting a new book at Powell&rsquo;s, making nograinola, and/or seeing a movie. In no particular order. The best type of weekend.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#pdxwp: Code Review Takes Two</title>
      <link>https://danielbachhuber.com/pdxwp-code-review-takes-two/</link>
      <pubDate>Tue, 14 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/pdxwp-code-review-takes-two/</guid>
      <description>&lt;p&gt;We did a second pass at our code review meetup — last night turned out much better than the first. The high point for me: most of the &amp;ldquo;presentation&amp;rdquo; was, in fact, discussion. The latter proved to be way more valuable for everyone, as most of the twenty people in the room don&amp;rsquo;t do code review on a regular basis.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what we did:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://jeremyrosscreative.com/&#34;&gt;Jeremy Ross&lt;/a&gt; submitted a section of code he had been working on, along with instructions on what he wanted feedback on.&lt;/li&gt;&#xA;&lt;li&gt;On Saturday, I reviewed the code. I committed it in one commit to a branch in a private Github repo. On the changeset, I did a line-by-line read-through, commenting as I went. To wrap the review up, I created a pull request explaining how I did the review, what I looked for, and how to interpret my feedback.&lt;/li&gt;&#xA;&lt;li&gt;Saturday night, I prepared a &lt;a href=&#34;http://lab.hakim.se/reveal-js/&#34;&gt;reveal.js&lt;/a&gt; presentation with an introduction to code review and the contents of what I found in my review. reveal.js is a super slick tool for preparing a HTML/CSS/JS presentation out of content in Markdown.&lt;/li&gt;&#xA;&lt;li&gt;Jeremy read and considered my review, then updated the presentation with his feedback.&lt;/li&gt;&#xA;&lt;li&gt;I did most of the presentation discussion facilitation, and Jeremy talked through how he received my feedback.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;reveal.js doesn&amp;rsquo;t produce great static slide output, and I used its &lt;a href=&#34;https://github.com/hakimel/reveal.js#markdown&#34;&gt;Markdown feature&lt;/a&gt; which requires Grunt to serve, so the bulk of what we covered will forever live on in the outline that follows.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We did a second pass at our code review meetup — last night turned out much better than the first. The high point for me: most of the &ldquo;presentation&rdquo; was, in fact, discussion. The latter proved to be way more valuable for everyone, as most of the twenty people in the room don&rsquo;t do code review on a regular basis.</p>
<p>Here&rsquo;s what we did:</p>
<ul>
<li><a href="http://jeremyrosscreative.com/">Jeremy Ross</a> submitted a section of code he had been working on, along with instructions on what he wanted feedback on.</li>
<li>On Saturday, I reviewed the code. I committed it in one commit to a branch in a private Github repo. On the changeset, I did a line-by-line read-through, commenting as I went. To wrap the review up, I created a pull request explaining how I did the review, what I looked for, and how to interpret my feedback.</li>
<li>Saturday night, I prepared a <a href="http://lab.hakim.se/reveal-js/">reveal.js</a> presentation with an introduction to code review and the contents of what I found in my review. reveal.js is a super slick tool for preparing a HTML/CSS/JS presentation out of content in Markdown.</li>
<li>Jeremy read and considered my review, then updated the presentation with his feedback.</li>
<li>I did most of the presentation discussion facilitation, and Jeremy talked through how he received my feedback.</li>
</ul>
<p>reveal.js doesn&rsquo;t produce great static slide output, and I used its <a href="https://github.com/hakimel/reveal.js#markdown">Markdown feature</a> which requires Grunt to serve, so the bulk of what we covered will forever live on in the outline that follows.</p>
<h3 id="what-is-code-review-vs-a-code-audit">What is code review vs. a code audit?</h3>
<p><em>Code review</em> is a process for testing, revising, and confirming code before pushing to production.</p>
<p><em>Code audit</em> is a similar process, but happens after the push to production.</p>
<h3 id="why-is-code-review-useful-over-code-audit">Why is code review useful over code audit?</h3>
<p>There are a <a href="http://www.phabricator.com/docs/phabricator/article/User_Guide_Review_vs_Audit.html#advantages-of-review">number of reasons</a>, primarily&hellip;</p>
<ul>
<li><em>Promotes small, frequent improvements</em> over large changesets. With the former, it&rsquo;s easier for the reviewer to confirm the code change matches the expected behavior change.</li>
<li><em>Easier to change direction</em> on the architecture of the code before pushing live than after pushing live.</li>
<li><em>Developers have greater incentive to fix problems</em> before they&rsquo;ve pushed to production, than after.</li>
</ul>
<h3 id="how-do-you-do-code-review-well">How do you do code review well?</h3>
<p>Well, everyone has their opinions. Here are some:</p>
<ul>
<li>Establish guidelines for the review: what&rsquo;s being reviewed, what the reviewer is looking for, and how feedback will be provided.</li>
<li>Reviewee should include details on how to test anything that needs to be tested.</li>
<li>Reviewer should over communicate, prioritize feedback, and be constructive, not adversarial.</li>
<li>Code review is a conversation. Timeliness, courtesy, and clarity all matter.</li>
</ul>
<h3 id="how-daniel-reviewed-jeremys-code">How Daniel reviewed Jeremy&rsquo;s code</h3>
<ol>
<li>Straight read through of the code, line-by-line.</li>
<li>Focus on security, coding standards, and best practices.</li>
<li>Hashtagged my feedback: #needsfix, #wouldbenice, #optional, #question</li>
<li>Over-communicated, adding examples and links as much as possible. Some of my comments, as you&rsquo;ll see, are better than others.</li>
<li>Didn&rsquo;t QA code against what it&rsquo;s supposed to do, or give much thought to how you could restructure it.</li>
</ol>
<h2 id="issues-daniel-found-in-the-code">Issues Daniel found in the code</h2>
<p><strong>Security</strong></p>
<p>Validate / sanitize data in input.</p>
<p><img src="images/sanitize.png" alt="Sanitize user input"  width="932"
	height="353"  /></p>
<p>Escape data on output.</p>
<p><img src="images/escape.png" alt="Escape data on output"  width="930"
	height="525"  /></p>
<p>Put secrets in a config file.</p>
<p><img src="images/secrets.png" alt="secrets"  width="932"
	height="411"  /></p>
<p><strong>Best practices</strong></p>
<p>Prefix everything to avoid collisions in global scope.</p>
<p><img src="images/prefixeverything.png" alt="Prefix everything to avoid collisions in global scope"  width="932"
	height="463"  /></p>
<p>Remove or comment on dead code.</p>
<p><img src="images/commentedcode.png" alt="Remove or comment dead code"  width="939"
	height="433"  /></p>
<p><strong>Considerations</strong></p>
<p>Sessions don&rsquo;t work well in multi-server environments.</p>
<p><img src="images/sessions.png" alt="Sessions don&rsquo;t work well in a multi-server environment"  width="951"
	height="361"  /></p>
<p>Use WP_Http API for remote requests.</p>
<p><img src="images/wphttp.png" alt="Use WP_Http API for remote requests."  width="930"
	height="402"  /></p>
<p>Questions help the developer justify their decisions.</p>
<p><img src="images/questions.png" alt="Questions help the developer justify their decisions"  width="932"
	height="514"  /></p>]]></content:encoded>
    </item>
    <item>
      <title>Lessons learned from Code With Me Portland</title>
      <link>https://danielbachhuber.com/lessons-learned-from-code-with-me-portland/</link>
      <pubDate>Sun, 12 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/lessons-learned-from-code-with-me-portland/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://codewithme.us/&#34;&gt;Code With Me&lt;/a&gt;, a two day introduction to HTML/CSS/jQuery for journalists, came to Portland last weekend. Even though it was beautiful weather outside, &lt;em&gt;forty students&lt;/em&gt; and twenty mentors gathered deep within The Oregonian to improve their digital chops. Just think a bit on those numbers — that&amp;rsquo;s a lot of people.&lt;/p&gt;&#xA;&lt;p&gt;Last December, I reached out to Susan Gage, managing editor for digital at The Oregonian, about hosting a hackathon. We had initial conversations about the idea, pulled in &lt;a href=&#34;http://laurenrabaino.com/&#34;&gt;Lauren&lt;/a&gt; and &lt;a href=&#34;http://www.ivarvong.com/&#34;&gt;Ivar&lt;/a&gt;, and started planning. Then, in February, I began hearing a bunch about &lt;a href=&#34;http://sisiwei.com&#34;&gt;Sisi&lt;/a&gt;, &lt;a href=&#34;http://tgirat.com/&#34;&gt;Tom&lt;/a&gt;, and Code With Me. I got the full download on how Code With Me works from Sisi at NICAR. After a brief discussion with Lauren and Ivar, it became obvious bringing Code With Me to Portland was a much better idea than a hackathon. So we set about convincing Sisi and Tom it was worth their time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://codewithme.us/">Code With Me</a>, a two day introduction to HTML/CSS/jQuery for journalists, came to Portland last weekend. Even though it was beautiful weather outside, <em>forty students</em> and twenty mentors gathered deep within The Oregonian to improve their digital chops. Just think a bit on those numbers — that&rsquo;s a lot of people.</p>
<p>Last December, I reached out to Susan Gage, managing editor for digital at The Oregonian, about hosting a hackathon. We had initial conversations about the idea, pulled in <a href="http://laurenrabaino.com/">Lauren</a> and <a href="http://www.ivarvong.com/">Ivar</a>, and started planning. Then, in February, I began hearing a bunch about <a href="http://sisiwei.com">Sisi</a>, <a href="http://tgirat.com/">Tom</a>, and Code With Me. I got the full download on how Code With Me works from Sisi at NICAR. After a brief discussion with Lauren and Ivar, it became obvious bringing Code With Me to Portland was a much better idea than a hackathon. So we set about convincing Sisi and Tom it was worth their time.</p>
<p>What worked well:</p>
<ul>
<li>Tom and Sisi have spent a lot of time considering their approach and pulling resources together. All of their effort showed.</li>
<li>All of the exercises were <a href="http://codewithme.us/portland/exercises.html">available online</a> during and after the presentations. Useful for students to review.</li>
<li>Each student had a printed reference sheet with many of the topics we covered.</li>
<li>The paper coding exercise was <em>amazing</em>. It was a hands-on, physical application of very digital knowledge, and also promoted discussion between students.</li>
<li><a href="http://codewithme.us/portland/mentors.html">Twenty mentors</a> donated their weekends. Wonderful support from the community.</li>
<li>The Oregonian stepped up with the location, <a href="http://www.mozillaopennews.org/">Knight-Mozilla Open News</a> covered much of the costs, and <a href="http://automattic.com/">Automattic</a> generously covered the mentor thank you dinner.</li>
</ul>
<p>What should be added next time:</p>
<ul>
<li>Refresher for mentors on teaching strategies. Even though we only had two students to work with, it was still challenging to switch into teacher mode, adapt to different learning styles, etc.</li>
<li>Assistance with scoping student projects.</li>
<li>Provide a set of tools/resources (e.g. jQuery plugins, TableTop.js for transforming a Google Spreadsheet, etc.) mentors can refer to when helping students build their projects.</li>
</ul>
<p>Some logistical notes:</p>
<ul>
<li>Saturday lunch: <a href="http://culturedcavemanpdx.com/">Cultured Caveman</a> is a delicious food choice, but one needs to be a little more deliberate about what you need. We were short on some vegetarian options.</li>
<li>Mentor dinner: <a href="http://www.picnichousepdx.com/">The Picnic House</a> was the only place, of the half dozen I called, I could find to accommodate a party of twenty on Saturday night. Good deal for the associated costs. Service was a little slow / awkward.</li>
<li>Sunday lunch: <a href="http://chachachapdx.com/">Cha Cha Cha</a> has the catering thing nailed. Enough food and options for everyone&rsquo;s dietary needs.</li>
</ul>
<p>After the weekend, here are the open questions I&rsquo;m thinking about:</p>
<ul>
<li>How can we better enable educators to teach these skills to their students?</li>
<li>Do students have the opportunity to apply their new knowledge? How do their skills progress over time?</li>
<li>For those of us who want to continue contributing as mentors, where do we go next? What&rsquo;s the most valuable use of our volunteering time?</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Advantages of code review</title>
      <link>https://danielbachhuber.com/advantages-of-code-review/</link>
      <pubDate>Wed, 08 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/advantages-of-code-review/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.phabricator.com/docs/phabricator/article/User_Guide_Review_vs_Audit.html#advantages-of-review&#34;&gt;Advantages of pre-deploy code review&lt;/a&gt;, over post-deploy audit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Authors have a strong incentive to craft small, well-formed changes that will be readily understood, to explain them adequately, and to provide appropriate test plans, test coverage and context.&lt;/li&gt;&#xA;&lt;li&gt;Reviewers have a real opportunity to make significant suggestions about architecture or approach in review. These suggestions are less attractive to adopt from audit, and may be much more difficult to adopt if significant time has passed between push and audit.&lt;/li&gt;&#xA;&lt;li&gt;Authors have a strong incentive to fix problems and respond to feedback received during review, because it blocks them. Authors have a much weaker incentive to address problems raised during audit.&lt;/li&gt;&#xA;&lt;li&gt;Authors can ask reviewers to apply and verify fixes before they are pushed.&lt;/li&gt;&#xA;&lt;li&gt;Authors can easily pursue feedback early, and get course corrections on approach or direction.&lt;/li&gt;&#xA;&lt;li&gt;Reviewers are better prepared to support a given change once it is in production, having already had a chance to become familiar with and reason through the code.&lt;/li&gt;&#xA;&lt;li&gt;Reviewers are able to catch problems which automated tests may have difficulty detecting. For example, human reviewers are able to reason about performance problems that tests can easily miss because they run on small datasets and stub out service calls.&lt;/li&gt;&#xA;&lt;li&gt;Communicating about changes before they happen generally leads to better preparation for their effects.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.phabricator.com/docs/phabricator/article/User_Guide_Review_vs_Audit.html#advantages-of-review">Advantages of pre-deploy code review</a>, over post-deploy audit:</p>
<ul>
<li>Authors have a strong incentive to craft small, well-formed changes that will be readily understood, to explain them adequately, and to provide appropriate test plans, test coverage and context.</li>
<li>Reviewers have a real opportunity to make significant suggestions about architecture or approach in review. These suggestions are less attractive to adopt from audit, and may be much more difficult to adopt if significant time has passed between push and audit.</li>
<li>Authors have a strong incentive to fix problems and respond to feedback received during review, because it blocks them. Authors have a much weaker incentive to address problems raised during audit.</li>
<li>Authors can ask reviewers to apply and verify fixes before they are pushed.</li>
<li>Authors can easily pursue feedback early, and get course corrections on approach or direction.</li>
<li>Reviewers are better prepared to support a given change once it is in production, having already had a chance to become familiar with and reason through the code.</li>
<li>Reviewers are able to catch problems which automated tests may have difficulty detecting. For example, human reviewers are able to reason about performance problems that tests can easily miss because they run on small datasets and stub out service calls.</li>
<li>Communicating about changes before they happen generally leads to better preparation for their effects.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>End of one era, on to the next</title>
      <link>https://danielbachhuber.com/end-of-one-era-on-to-the-next/</link>
      <pubDate>Wed, 08 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/end-of-one-era-on-to-the-next/</guid>
      <description>&lt;p&gt;Automattic has claimed ownership of the plugins I worked on during my employment. As such, the VIP team and others will be taking responsibility for their continued development, maintenance, WordPress.org support, etc. Hopefully they remain independent and aren&amp;rsquo;t rolled into Jetpack. I’ll contribute as relevant to Human Made projects, but will no longer take an active role with the plugins.&lt;/p&gt;&#xA;&lt;p&gt;These plugins include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Edit Flow&lt;/li&gt;&#xA;&lt;li&gt;Co-Authors Plus&lt;/li&gt;&#xA;&lt;li&gt;Ad Code Manager&lt;/li&gt;&#xA;&lt;li&gt;P2 Resolved Posts&lt;/li&gt;&#xA;&lt;li&gt;Document Feedback&lt;/li&gt;&#xA;&lt;li&gt;Rewrite Rules Inspector&lt;/li&gt;&#xA;&lt;li&gt;Custom JavaScript Editor&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Sometimes what appears to be a curse is actually a blessing in disguise. Human Made has pretty neat products in the works that I’m enjoying applying my creative energy towards. Stay tuned for that. And, on the open source side of things, I’ll have more time to contribute to wp-cli.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Automattic has claimed ownership of the plugins I worked on during my employment. As such, the VIP team and others will be taking responsibility for their continued development, maintenance, WordPress.org support, etc. Hopefully they remain independent and aren&rsquo;t rolled into Jetpack. I’ll contribute as relevant to Human Made projects, but will no longer take an active role with the plugins.</p>
<p>These plugins include:</p>
<ul>
<li>Edit Flow</li>
<li>Co-Authors Plus</li>
<li>Ad Code Manager</li>
<li>P2 Resolved Posts</li>
<li>Document Feedback</li>
<li>Rewrite Rules Inspector</li>
<li>Custom JavaScript Editor</li>
</ul>
<p>Sometimes what appears to be a curse is actually a blessing in disguise. Human Made has pretty neat products in the works that I’m enjoying applying my creative energy towards. Stay tuned for that. And, on the open source side of things, I’ll have more time to contribute to wp-cli.</p>
<p>To everyone who’s used one of the above: it’s been a pleasure working with you. I’m looking forward to the opportunity to do so again in the future.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Nograinola</title>
      <link>https://danielbachhuber.com/nograinola/</link>
      <pubDate>Wed, 08 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nograinola/</guid>
      <description>&lt;p&gt;One of my favorite recipes from &lt;a href=&#34;http://blueravenwellness.com/&#34;&gt;Leah&amp;rsquo;s mom&lt;/a&gt;: nograinola. It&amp;rsquo;s delicious, wholesome, filling, and, hence the name, a grain-free granola. Some day, Leah and I will finally get around to picking another name for it and starting a wildly successful food company. Until then, and because &lt;a href=&#34;http://siobhanmckeown.com/eating-like-a-cave-woman/&#34;&gt;Siobhan is asking for Paleo recipes&lt;/a&gt;, you can make it for yourself.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Directions&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Preheat oven to 275 degrees Fahrenheit.&lt;/p&gt;&#xA;&lt;p&gt;In a large bowl, combine nuts, seeds and coconut flakes. Stir until well combined. In a small bowl or 2-cup Pyrex measuring cup, mix coconut oil, honey, vanilla extract, cinnamon and nutmeg, until well blended. Pour oil and honey mixture over nuts and seeds and stir with a large spoon or your hands until everything is well coated.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of my favorite recipes from <a href="http://blueravenwellness.com/">Leah&rsquo;s mom</a>: nograinola. It&rsquo;s delicious, wholesome, filling, and, hence the name, a grain-free granola. Some day, Leah and I will finally get around to picking another name for it and starting a wildly successful food company. Until then, and because <a href="http://siobhanmckeown.com/eating-like-a-cave-woman/">Siobhan is asking for Paleo recipes</a>, you can make it for yourself.</p>
<p><strong>Directions</strong></p>
<p>Preheat oven to 275 degrees Fahrenheit.</p>
<p>In a large bowl, combine nuts, seeds and coconut flakes. Stir until well combined. In a small bowl or 2-cup Pyrex measuring cup, mix coconut oil, honey, vanilla extract, cinnamon and nutmeg, until well blended. Pour oil and honey mixture over nuts and seeds and stir with a large spoon or your hands until everything is well coated.</p>
<p>Spread mixture out evenly on a jellyroll pan (cookie sheet with sides) and bake at 275 for 1 hour, stirring every 15 minutes. Remove from oven and stir in dried fruit. Let cool completely and store in an airtight jar.</p>
<p><strong>Ingredients</strong></p>
<ul>
<li>1 cup raw cashews, chopped </li>
<li>1 cup raw walnuts, chopped</li>
<li>2 cups sliced almonds</li>
<li>1 cup raw pumpkin seeds</li>
<li>½ cup raw sunflower seeds</li>
<li>2 cups unsweetened coconut flakes</li>
<li>½ cup melted coconut oil</li>
<li>½ cup honey (or ¼ cup honey and ¼ teaspoon liquid stevia)</li>
<li>2 teaspoons vanilla extract</li>
<li>½ teaspoon ground cinnamon</li>
<li>¼ teaspoon ground nutmeg</li>
<li>1 ½ cups dried fruit (raisins, cranberries, cherries, chopped apricots, chopped dates, etc.)</li>
</ul>
<p>Enjoy!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Automattic&#39;s hidden tricks</title>
      <link>https://danielbachhuber.com/automattics-hidden-tricks/</link>
      <pubDate>Wed, 01 May 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/automattics-hidden-tricks/</guid>
      <description>&lt;p&gt;Automattic has been particularly good at building an effective distributed company. Some pieces (e.g. &lt;a href=&#34;http://wordpress.tv/2012/08/25/pete-davies-how-to-run-a-small-country-using-the-p2-theme/&#34;&gt;P2&lt;/a&gt;) are obvious. Others are hard won and don&amp;rsquo;t get the limelight they deserve.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Matt&amp;rsquo;s Global Search (MGS).&lt;/strong&gt; Now that I&amp;rsquo;m on the outside, MGS is the piece I miss most. MGS searches all Automattic P2s of all time.  Ever wonder why something was done a certain way? Just search. You&amp;rsquo;ll likely find a thread from three years ago discussing the pros and cons of a half dozen approaches, and an explanation of why the fourth approach was picked. For the unacquainted, it takes some retraining to avoid asking a colleague every time you have a question. When you learn to search first, you become infinitely more capable (and ultimately end up in Barry&amp;rsquo;s good graces).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Automattic has been particularly good at building an effective distributed company. Some pieces (e.g. <a href="http://wordpress.tv/2012/08/25/pete-davies-how-to-run-a-small-country-using-the-p2-theme/">P2</a>) are obvious. Others are hard won and don&rsquo;t get the limelight they deserve.</p>
<p><strong>Matt&rsquo;s Global Search (MGS).</strong> Now that I&rsquo;m on the outside, MGS is the piece I miss most. MGS searches all Automattic P2s of all time.  Ever wonder why something was done a certain way? Just search. You&rsquo;ll likely find a thread from three years ago discussing the pros and cons of a half dozen approaches, and an explanation of why the fourth approach was picked. For the unacquainted, it takes some retraining to avoid asking a colleague every time you have a question. When you learn to search first, you become infinitely more capable (and ultimately end up in Barry&rsquo;s good graces).</p>
<p><strong>IRC for everything.</strong> IRC — you know, that really old technology like bulletin boards no one uses anymore? Yeah, it&rsquo;s still really cool. It&rsquo;s lightweight, you can use it on your desktop or phone, and it&rsquo;s super hackable. You can pipe all sorts of things to IRC rooms. Like such as fatal errors&hellip; server load alerts&hellip; down notifications&hellip; When you couple your monitoring with IRC, it becomes a realtime health indicator of your platform, and an immediate point of collaboration for your team.</p>
<p>As I transition to my new role with Human Made&rsquo;s increasingly distributed team, these tricks are at the forefront of my mind.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Once upon a time in Maui</title>
      <link>https://danielbachhuber.com/once-upon-a-time-in-maui/</link>
      <pubDate>Mon, 22 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/once-upon-a-time-in-maui/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_378611.jpg&#34; alt=&#34;IMG_3786&#34;  width=&#34;1936&#34;&#xA;&#x9;height=&#34;1936&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;At the first fundraiser auction I ever go to, one for FACES Foundation last October, I end up with a week&amp;rsquo;s vacation at condo in Maui. I remember the setup clearly: a strong Pisco Sour to kick off the evening, red wine flowing throughout dinner, and the discomfort coming from being the youngest, and least formally dressed, person in the room. So, when the first item went up on the block, I ended up in a bidding war with the couple sitting beside me. And won.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_378611.jpg" alt="IMG_3786"  width="1936"
	height="1936"  /></p>
<p>At the first fundraiser auction I ever go to, one for FACES Foundation last October, I end up with a week&rsquo;s vacation at condo in Maui. I remember the setup clearly: a strong Pisco Sour to kick off the evening, red wine flowing throughout dinner, and the discomfort coming from being the youngest, and least formally dressed, person in the room. So, when the first item went up on the block, I ended up in a bidding war with the couple sitting beside me. And won.</p>
<p>We got to look forward to the trip for months. Spittle and Leah would be joining us for eight days at the end of March; a good ol&rsquo; fashioned, computer-free spring break in between lives of craziness. We had no plans other than plenty of sun, bananagrams, reading, and hanging out.</p>
<p>Considering we managed to hike and snorkel too, I think we were successful. Highlights include:</p>
<ul>
<li><a href="http://blog.leahrolson.com/2013/03/31/hiking-haleakala/">Hiking Haleakala&rsquo;s crater</a>, particularly the walk out on fog-shrouded cliffs.</li>
<li>Winning that one time at bananagrams.</li>
<li>Touring every fro-yo shop on the island.</li>
<li>Dinner on the last night at <a href="http://www.starnoodle.com/">Star Noodle</a>. Delicious.</li>
</ul>
<p>Pro tip: groceries are unreasonably expensive unless you <a href="http://andrewspittle.net/2013/03/25/one-time-at-costco/">end up at Costco</a>, where they seem to be the same price as stateside.</p>
]]></content:encoded>
    </item>
    <item>
      <title>P2 Resolved Posts: Only mark a specific category as unresolved</title>
      <link>https://danielbachhuber.com/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/</link>
      <pubDate>Thu, 18 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/</guid>
      <description>&lt;p&gt;In the WordPress.org forums, &lt;a href=&#34;http://wordpress.org/support/topic/limit-to-category&#34;&gt;ameeromar asks&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Hey would it be possible to limit the automatically marking as unresolved to one category? This would be particularly useful for my category &amp;rsquo;tasks&amp;rsquo; which need to be marked as unresolved when published (and then marked as resolved when completed).&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;It&amp;rsquo;s totally possible using a combination of a couple filters. Here&amp;rsquo;s what the annotated code snippet looks like:&lt;/p&gt;&#xA;&lt;p&gt;[code lang=&amp;ldquo;php&amp;rdquo;] /** * P2 Resolved Posts: Only mark &amp;rsquo;task&amp;rsquo; posts as unresolved * * @see &lt;a href=&#34;http://danielbachhuber.com/2013/04/18/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/&#34;&gt;http://danielbachhuber.com/2013/04/18/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/&lt;/a&gt; */ // Marks all new posts as unresolved add_filter( &amp;lsquo;p2_resolved_posts_mark_new_as_unresolved&amp;rsquo;, &amp;lsquo;__return_true&amp;rsquo; ); // Let us apply conditional logic to when posts are marked unresolved add_filter( &amp;lsquo;p2_resolved_posts_maybe_mark_new_as_unresolved&amp;rsquo;, &amp;lsquo;p2rpx_only_mark_tasks&amp;rsquo;, 10, 2 ); function p2rpx_only_mark_tasks( $ret, $post ) {&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the WordPress.org forums, <a href="http://wordpress.org/support/topic/limit-to-category">ameeromar asks</a>:</p>
<blockquote>
<p>Hey would it be possible to limit the automatically marking as unresolved to one category? This would be particularly useful for my category &rsquo;tasks&rsquo; which need to be marked as unresolved when published (and then marked as resolved when completed).</p></blockquote>
<p>It&rsquo;s totally possible using a combination of a couple filters. Here&rsquo;s what the annotated code snippet looks like:</p>
<p>[code lang=&ldquo;php&rdquo;] /** * P2 Resolved Posts: Only mark &rsquo;task&rsquo; posts as unresolved * * @see <a href="http://danielbachhuber.com/2013/04/18/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/">http://danielbachhuber.com/2013/04/18/p2-resolved-posts-only-mark-a-specific-category-as-unresolved/</a> */ // Marks all new posts as unresolved add_filter( &lsquo;p2_resolved_posts_mark_new_as_unresolved&rsquo;, &lsquo;__return_true&rsquo; ); // Let us apply conditional logic to when posts are marked unresolved add_filter( &lsquo;p2_resolved_posts_maybe_mark_new_as_unresolved&rsquo;, &lsquo;p2rpx_only_mark_tasks&rsquo;, 10, 2 ); function p2rpx_only_mark_tasks( $ret, $post ) {</p>
<p>// Get all of the categories assigned to the post $cats = get_the_terms( $post-&gt;ID, &lsquo;category&rsquo; ); // Make sure this didn&rsquo;t return false or a WP_Error object if ( is_array( $cats ) ) {</p>
<p>// Use wp_filter_object_list() to see if there are any &rsquo;task&rsquo; terms $task = wp_filter_object_list( $cats, array( &lsquo;slug&rsquo; =&gt; &rsquo;task&rsquo; ) ); // If there is a task term, we want to mark unresolved. Otherwise, no. if ( ! empty( $task ) ) $ret = true; else $ret = false; }</p>
<p>return $ret; } [/code]</p>
<p>However, in a stock P2 install, there isn&rsquo;t a frontend interface for setting the category. The category is determined by the post format you use. Other users might be better off searching for tags by switching the term lookup to: <code>get_the_terms( $post-&gt;ID, 'post_tag' );</code></p>
]]></content:encoded>
    </item>
    <item>
      <title>Farewell, Automattic</title>
      <link>https://danielbachhuber.com/farewell-automattic/</link>
      <pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/farewell-automattic/</guid>
      <description>&lt;p&gt;&lt;em&gt;To be is to do&lt;/em&gt; &lt;em&gt;What you do must be filling&lt;/em&gt; &lt;em&gt;Search for gas stations&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Earlier this week I made the difficult decision to leave Automattic, where I&amp;rsquo;ve been working on the &lt;a href=&#34;http://vip.wordpress.com/&#34;&gt;VIP team&lt;/a&gt; for just shy of two years. It&amp;rsquo;s been a tremendous ride — I&amp;rsquo;m truly proud of who I&amp;rsquo;ve been able to work with, and what we&amp;rsquo;ve been able to get done.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve felt my personal growth slow in recent months, however. Considering where I&amp;rsquo;m at in my career, and that Leah is busy with school, I&amp;rsquo;m looking for a more challenging opportunity — one that pushes me to learn, grow, and lead. If you have or know of such an opportunity, I&amp;rsquo;d love to hear from you: &lt;a href=&#34;mailto:d@danielbachhuber.com&#34;&gt;d@danielbachhuber.com&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>To be is to do</em> <em>What you do must be filling</em> <em>Search for gas stations</em></p>
<p>Earlier this week I made the difficult decision to leave Automattic, where I&rsquo;ve been working on the <a href="http://vip.wordpress.com/">VIP team</a> for just shy of two years. It&rsquo;s been a tremendous ride — I&rsquo;m truly proud of who I&rsquo;ve been able to work with, and what we&rsquo;ve been able to get done.</p>
<p>I&rsquo;ve felt my personal growth slow in recent months, however. Considering where I&rsquo;m at in my career, and that Leah is busy with school, I&rsquo;m looking for a more challenging opportunity — one that pushes me to learn, grow, and lead. If you have or know of such an opportunity, I&rsquo;d love to hear from you: <a href="mailto:d@danielbachhuber.com">d@danielbachhuber.com</a></p>
<p><a href="http://danielbachhuber.com/resume/">Here&rsquo;s my updated resume</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>NewsBlur</title>
      <link>https://danielbachhuber.com/newsblur/</link>
      <pubDate>Sat, 06 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/newsblur/</guid>
      <description>&lt;p&gt;After a long run with Google Reader, I&amp;rsquo;m switching over to &lt;a href=&#34;http://newsblur.com/&#34;&gt;NewsBlur&lt;/a&gt;. Two key points to the decision: it&amp;rsquo;s &lt;a href=&#34;https://github.com/samuelclay/NewsBlur&#34;&gt;open source&lt;/a&gt; and Samuel is experimenting with ways to enhance your information management.&lt;/p&gt;&#xA;&lt;p&gt;For the former, one idea that&amp;rsquo;s already come up: I&amp;rsquo;d love to contribute &amp;ldquo;Share to WordPress&amp;rdquo; integration. Oh, and it would be really neat to pull comments already on the post into the reading experience. There seem to be some type of comments limited to just NewsBlur.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After a long run with Google Reader, I&rsquo;m switching over to <a href="http://newsblur.com/">NewsBlur</a>. Two key points to the decision: it&rsquo;s <a href="https://github.com/samuelclay/NewsBlur">open source</a> and Samuel is experimenting with ways to enhance your information management.</p>
<p>For the former, one idea that&rsquo;s already come up: I&rsquo;d love to contribute &ldquo;Share to WordPress&rdquo; integration. Oh, and it would be really neat to pull comments already on the post into the reading experience. There seem to be some type of comments limited to just NewsBlur.</p>
<p>The user experience has significant room for improvement. Hopefully he takes the dough he&rsquo;s pulling in now to hire a proper designer.</p>
<p>It&rsquo;s also been on my list for a long time to cull my feed subscriptions. Based on what I&rsquo;m seeing, roughly 90% of blogs died between 2010 and early 2012.</p>
<p>On that note, you need to watch Anil Dash&rsquo;s &ldquo;The Web We Lost&rdquo;:</p>
<p><a href="http://www.youtube.com/watch?v=9KKMnoTTHJk">http://www.youtube.com/watch?v=9KKMnoTTHJk</a></p>
<p>&ldquo;The first thing you do, when you succeed in Silicon Valley and your company is acquired, is destroy everyone&rsquo;s wedding photos [&hellip;] The reality is those of us that [cared about open formats] have lost.&rdquo;</p>
<p>It&rsquo;s time the Open Web became the cool thing to hack on again.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Code With Me comes to Portland!</title>
      <link>https://danielbachhuber.com/code-with-me-comes-to-portland/</link>
      <pubDate>Sun, 31 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/code-with-me-comes-to-portland/</guid>
      <description>&lt;p&gt;Code With Me, an affordable, two-day introduction to HTML / CSS / jQuery for tech-savvy journalists, is &lt;a href=&#34;http://codewithme.us/portland/&#34;&gt;coming to Portland&lt;/a&gt;! Even better: a two to one student to mentor ratio means you&amp;rsquo;ll never get stuck or lost.&lt;/p&gt;&#xA;&lt;p&gt;Applications to attend are due this coming Saturday, April 6th, at 9 pm Pacific. &lt;a href=&#34;http://codewithme.us/portland/apply.html&#34;&gt;Apply now&lt;/a&gt; and please spread the word.&lt;/p&gt;&#xA;&lt;p&gt;Many thanks to The Oregonian and the Knight-Mozilla OpenNews project for their support.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Code With Me, an affordable, two-day introduction to HTML / CSS / jQuery for tech-savvy journalists, is <a href="http://codewithme.us/portland/">coming to Portland</a>! Even better: a two to one student to mentor ratio means you&rsquo;ll never get stuck or lost.</p>
<p>Applications to attend are due this coming Saturday, April 6th, at 9 pm Pacific. <a href="http://codewithme.us/portland/apply.html">Apply now</a> and please spread the word.</p>
<p>Many thanks to The Oregonian and the Knight-Mozilla OpenNews project for their support.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Shredding the gnar, redux</title>
      <link>https://danielbachhuber.com/shredding-the-gnar-redux/</link>
      <pubDate>Sat, 23 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/shredding-the-gnar-redux/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2013/03/meadows1.jpg&#34;&gt;&lt;img src=&#34;images/meadows1.jpg&#34; alt=&#34;Trees&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last year, I ended the season with an &lt;a href=&#34;http://danielbachhuber.com/2012/03/01/shredding-the-gnar/&#34;&gt;unbelievable day of skiing&lt;/a&gt;. Today, it happened again.&lt;/p&gt;&#xA;&lt;p&gt;Riley, my dad, and I arrived just before open to 13 inches of fresh. Riley, the avid tree skier he is, led the way all over the mountain. Fresh tracks and face shots galore.&lt;/p&gt;&#xA;&lt;p&gt;We finished with 16k feet of vertical in 14 runs. Reminder to self: increase the DIN setting on my Kilowatts so they don&amp;rsquo;t fly off so often.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://danielbachhuber.com/wp-content/uploads/2013/03/meadows1.jpg"><img src="images/meadows1.jpg" alt="Trees"  width="2400"
	height="1793"  /></a></p>
<p>Last year, I ended the season with an <a href="http://danielbachhuber.com/2012/03/01/shredding-the-gnar/">unbelievable day of skiing</a>. Today, it happened again.</p>
<p>Riley, my dad, and I arrived just before open to 13 inches of fresh. Riley, the avid tree skier he is, led the way all over the mountain. Fresh tracks and face shots galore.</p>
<p>We finished with 16k feet of vertical in 14 runs. Reminder to self: increase the DIN setting on my Kilowatts so they don&rsquo;t fly off so often.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Free plugin ideas, March 2013</title>
      <link>https://danielbachhuber.com/free-plugin-ideas-march-2013/</link>
      <pubDate>Tue, 19 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/free-plugin-ideas-march-2013/</guid>
      <description>&lt;p&gt;I may or may not get to these in the future. If you do before me, please let me know.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Single-use P2 threads.&lt;/strong&gt; P2 is an &lt;a href=&#34;http://p2theme.com/&#34;&gt;awesome theme&lt;/a&gt; for threaded conversations that stand the test of time. Avoid long, drawn out email discussions with friends by pointing everyone to a P2 thread.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;A year ago you wrote&amp;hellip;&lt;/strong&gt; Emails of what you wrote in the past, a la &lt;a href=&#34;http://timehop.com/&#34;&gt;Timehop&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Lock one or more dashboard widgets in place for everyone.&lt;/strong&gt; The WordPress dashboard offers infinite customization. Sometimes you want to make sure a widget (e.g. site announcements) appears in the same place for everyone though.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I may or may not get to these in the future. If you do before me, please let me know.</p>
<p><strong>Single-use P2 threads.</strong> P2 is an <a href="http://p2theme.com/">awesome theme</a> for threaded conversations that stand the test of time. Avoid long, drawn out email discussions with friends by pointing everyone to a P2 thread.</p>
<p><strong>A year ago you wrote&hellip;</strong> Emails of what you wrote in the past, a la <a href="http://timehop.com/">Timehop</a>.</p>
<p><strong>Lock one or more dashboard widgets in place for everyone.</strong> The WordPress dashboard offers infinite customization. Sometimes you want to make sure a widget (e.g. site announcements) appears in the same place for everyone though.</p>
<p><strong>Save Manage Posts filter state.</strong> It resets your query argument filters every time you navigate away.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Structured comments on NYTimes.com</title>
      <link>https://danielbachhuber.com/structured-comments-on-nytimes-com/</link>
      <pubDate>Wed, 13 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/structured-comments-on-nytimes-com/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.nytimes.com/2013/03/14/world/europe/cardinals-elect-new-pope.html?_r=1&amp;amp;#conclave-reaction&#34;&gt;&lt;img src=&#34;images/screenshot_3_13_13_3_34_pm-21.png&#34; alt=&#34;Structured comments&#34;  width=&#34;644&#34;&#xA;&#x9;height=&#34;632&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.nytimes.com/2013/03/14/world/europe/cardinals-elect-new-pope.html?_r=1&amp;amp;#conclave-reaction&#34;&gt;Pretty darn neat&lt;/a&gt;. Maybe the future of journalism isn&amp;rsquo;t so far away after all? &lt;em&gt;(via &lt;a href=&#34;https://twitter.com/greglinch/status/311962388448563200&#34;&gt;Greg&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.nytimes.com/2013/03/14/world/europe/cardinals-elect-new-pope.html?_r=1&amp;#conclave-reaction"><img src="images/screenshot_3_13_13_3_34_pm-21.png" alt="Structured comments"  width="644"
	height="632"  /></a></p>
<p> </p>
<p><a href="http://www.nytimes.com/2013/03/14/world/europe/cardinals-elect-new-pope.html?_r=1&amp;#conclave-reaction">Pretty darn neat</a>. Maybe the future of journalism isn&rsquo;t so far away after all? <em>(via <a href="https://twitter.com/greglinch/status/311962388448563200">Greg</a>)</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>#pdxwp: wp-cli is for WP devs on a deadline</title>
      <link>https://danielbachhuber.com/pdxwp-wp-cli-is-for-wp-devs-on-a-deadline/</link>
      <pubDate>Tue, 12 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/pdxwp-wp-cli-is-for-wp-devs-on-a-deadline/</guid>
      <description>&lt;p&gt;As a part of tonight&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;http://www.meetup.com/pdx-wp/events/107086952/&#34;&gt;It&amp;rsquo;s Tool Time: 4 Tools You Cannot Live Without&lt;/a&gt;&amp;rdquo; meetup, I presented on my beloved &lt;a href=&#34;http://wp-cli.org/&#34;&gt;wp-cli&lt;/a&gt;. wp-cli is a command line interface for WordPress, and a tremendously powerful tool for WordPress developers on a deadline. So powerful, in fact, I wrote my slides as a command 15 minutes before my talk.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As a part of tonight&rsquo;s &ldquo;<a href="http://www.meetup.com/pdx-wp/events/107086952/">It&rsquo;s Tool Time: 4 Tools You Cannot Live Without</a>&rdquo; meetup, I presented on my beloved <a href="http://wp-cli.org/">wp-cli</a>. wp-cli is a command line interface for WordPress, and a tremendously powerful tool for WordPress developers on a deadline. So powerful, in fact, I wrote my slides as a command 15 minutes before my talk.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#f92672">&lt;?</span><span style="color:#a6e22e">php</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> ( <span style="color:#f92672">!</span> <span style="color:#a6e22e">defined</span>( <span style="color:#e6db74">&#39;WP\_CLI&#39;</span> ) ) <span style="color:#66d9ef">return</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">WP\_CLI</span><span style="color:#f92672">::</span><span style="color:#a6e22e">add\_command</span>( <span style="color:#e6db74">&#39;pdxwp-presentation&#39;</span>, <span style="color:#e6db74">&#39;PDXWP\_WP\_CLI\_Presentation\_Command&#39;</span> );
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">PDXWP\_WP\_CLI\_Presentation\_Command</span> <span style="color:#66d9ef">extends</span> <span style="color:#a6e22e">WP\_CLI\_Command</span> {
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">/</span><span style="color:#a6e22e">\</span><span style="color:#f92672">*</span><span style="color:#a6e22e">\</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">\</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">Start</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">presentation</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">demonstration</span> <span style="color:#a6e22e">\</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">\</span><span style="color:#f92672">*</span> <span style="color:#f92672">@</span><span style="color:#a6e22e">subcommand</span> <span style="color:#a6e22e">slide</span> <span style="color:#a6e22e">\</span><span style="color:#f92672">*</span> <span style="color:#f92672">@</span><span style="color:#a6e22e">synopsis</span> <span style="color:#f92672">&lt;</span><span style="color:#a6e22e">number</span><span style="color:#f92672">&gt;</span> <span style="color:#a6e22e">\</span><span style="color:#f92672">*/</span> <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">slide</span>( $args ) {
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">list</span>( $num ) <span style="color:#f92672">=</span> $args;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$slides <span style="color:#f92672">=</span> <span style="color:#66d9ef">array</span>( <span style="color:#ae81ff">0</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;wp-cli is for WP devs on a deadline (http://wp-cli.org)&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;Daniel Bachhuber&#39;</span>, <span style="color:#e6db74">&#39;daniel@automattic.com&#39;</span>, <span style="color:#e6db74">&#39;@danielbachhuber&#39;</span>, ), ), <span style="color:#ae81ff">1</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;What is wp-cli?&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;- A Command Line Interface for WordPress&#39;</span>, <span style="color:#e6db74">&#39;- A powerful tool for manipulating WordPress&#39;</span>, <span style="color:#e6db74">&#39;- A nascent WordPress community project with lots of opportunity for contributions&#39;</span>, ), ), <span style="color:#ae81ff">2</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;Why is it useful to me?&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;- Open wp shell to execute arbitrary functions&#39;</span>, <span style="color:#e6db74">&#39;- Install, update, or delete plugins&#39;</span>, <span style="color:#e6db74">&#39;- Create posts, users, terms&#39;</span>, <span style="color:#e6db74">&#39;- More easily manage lots of client sites&#39;</span>, <span style="color:#e6db74">&#39;- Export a large amount of data&#39;</span>, <span style="color:#e6db74">&#39;- Scaffold a theme, plugin, or unit tests for a plugin&#39;</span>, ), ), <span style="color:#ae81ff">3</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;Where do I start?&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;- Install wp-cli&#39;</span>, <span style="color:#e6db74">&#39;- (monkey dance)&#39;</span>, <span style="color:#e6db74">&#39;- Profit!&#39;</span>, ), ), <span style="color:#ae81ff">4</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;How do I install?&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;On your command line:&#39;</span>, <span style="color:#e6db74">&#39;- git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli&#39;</span>, <span style="color:#e6db74">&#39;- cd ~/git/wp-cli&#39;</span>, <span style="color:#e6db74">&#39;- curl -sS https://getcomposer.org/installer | php&#39;</span>, <span style="color:#e6db74">&#39;- php composer.phar install&#39;</span>, ), ), <span style="color:#ae81ff">5</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;How do I write my own command?&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;- Create a class extending WP\_CLI\_Command&#39;</span>, <span style="color:#e6db74">&#34;- Register your command with WP\_CLI::add\_command( &#39;pdxwp-presentation&#39;, &#39;PDXWP\_WP\_CLI\_Presentation\_Command&#39; );&#34;</span>, <span style="color:#e6db74">&#39;- public methods are subcommands&#39;</span>, <span style="color:#e6db74">&#39;- PHPdoc allows you to set a &lt;synopsis&gt;&#39;</span>, <span style="color:#e6db74">&#39;- Sekret pro tip: Package useful commands with your plugins :)&#39;</span>, ), ), <span style="color:#ae81ff">6</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( <span style="color:#e6db74">&#39;header&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#e6db74">&#39;Now go! http://wp-cli.org&#39;</span>, <span style="color:#e6db74">&#39;body&#39;</span> <span style="color:#f92672">=&gt;</span> <span style="color:#66d9ef">array</span>( ), ), );
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">passthru</span>( <span style="color:#e6db74">&#39;/opt/local/bin/clear&#39;</span> ); <span style="color:#66d9ef">if</span> ( <span style="color:#f92672">!</span> <span style="color:#66d9ef">empty</span>( $slides\[(<span style="color:#a6e22e">int</span>)$num\] ) ) { $slide <span style="color:#f92672">=</span> $slides\[(<span style="color:#a6e22e">int</span>)$num\]; <span style="color:#66d9ef">for</span>( $i <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; $i <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">23</span>; $i<span style="color:#f92672">++</span> ) {
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> ( $i <span style="color:#f92672">==</span> <span style="color:#ae81ff">3</span> ) { $this<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">line</span>( $slide\[<span style="color:#e6db74">&#39;header&#39;</span><span style="color:#a6e22e">\</span>] ); <span style="color:#66d9ef">continue</span>; }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> ( $i <span style="color:#f92672">==</span> <span style="color:#ae81ff">6</span> ) { <span style="color:#66d9ef">foreach</span>( $slide\[<span style="color:#e6db74">&#39;body&#39;</span><span style="color:#a6e22e">\</span>] <span style="color:#66d9ef">as</span> $line ) { $this<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">line</span>( $line ); $i<span style="color:#f92672">++</span>; } } $this<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">line</span>(); } } <span style="color:#66d9ef">else</span> { <span style="color:#a6e22e">WP\_CLI</span><span style="color:#f92672">::</span><span style="color:#a6e22e">error</span>( <span style="color:#e6db74">&#34;No slide #</span><span style="color:#e6db74">{</span>$num<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> ); }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">private</span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">line</span>( $out <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;&#39;</span> ) { <span style="color:#a6e22e">WP\_CLI</span><span style="color:#f92672">::</span><span style="color:#a6e22e">line</span>( <span style="color:#e6db74">&#34; &#34;</span> <span style="color:#f92672">.</span> $out ); }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Here&rsquo;s what the presentation actually looked like:</p>
<p><img src="images/01.png" alt="01.png"  width="1440"
	height="900"  />
<img src="images/11.png" alt="11.png"  width="1440"
	height="900"  />
<img src="images/21.png" alt="21.png"  width="1440"
	height="900"  />
<img src="images/31.png" alt="31.png"  width="1440"
	height="900"  />
<img src="images/41.png" alt="41.png"  width="1440"
	height="900"  />
<img src="images/51.png" alt="51.png"  width="1440"
	height="900"  />
<img src="images/61.png" alt="61.png"  width="1440"
	height="900"  /></p>]]></content:encoded>
    </item>
    <item>
      <title>Ski report: Brighton, February 2013</title>
      <link>https://danielbachhuber.com/ski-report-brighton-february-2013/</link>
      <pubDate>Thu, 28 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ski-report-brighton-february-2013/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/13620741411.jpg&#34; alt=&#34;1362074141.jpg&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;450&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Never miss an opportunity for adventure is my motto. When DJ posted on Facebook that he was headed to Utah for a conference and wanted to ski, I immediately jumped on it. We ended up skiing Brighton for a few days with his friends David and Jeffrey.&lt;/p&gt;&#xA;&lt;p&gt;The most important details:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Day one&lt;/strong&gt;: 15k feet of vertical in 13 runs before lunch.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Day two&lt;/strong&gt;: 22k feet of vertical in 19 runs in the afternoon / early evening. Beer break midway.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Day three&lt;/strong&gt;: 18k feet of vertical in 16 runs before lunch. Hot cocoa midway to defrost.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Secondary details:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/13620741411.jpg" alt="1362074141.jpg"  width="600"
	height="450"  /></p>
<p>Never miss an opportunity for adventure is my motto. When DJ posted on Facebook that he was headed to Utah for a conference and wanted to ski, I immediately jumped on it. We ended up skiing Brighton for a few days with his friends David and Jeffrey.</p>
<p>The most important details:</p>
<ul>
<li><strong>Day one</strong>: 15k feet of vertical in 13 runs before lunch.</li>
<li><strong>Day two</strong>: 22k feet of vertical in 19 runs in the afternoon / early evening. Beer break midway.</li>
<li><strong>Day three</strong>: 18k feet of vertical in 16 runs before lunch. Hot cocoa midway to defrost.</li>
</ul>
<p>Secondary details:</p>
<ul>
<li>Brighton Lodge is a pretty sweet basecamp for skiing Brighton. It&rsquo;s literally right next to the lift. A four person dorm room runs $129/night.</li>
<li>Bring groceries and alcohol, as the evening dining options are limited and expensive.</li>
<li>Pray for snow. We got sun, but only a couple inches of fresh on Monday night. Had there been a dumping, much more of the mountain would&rsquo;ve opened up.</li>
<li>It was fun thinking I could split skiing and work, but next time we&rsquo;re instituting a no-laptop policy. I ended up working more hours than I wanted to, and everyone else spent equal hours if not more on their posters.</li>
</ul>
<p>Best of luck to DJ, Jeffrey and David on their presentations!</p>
]]></content:encoded>
    </item>
    <item>
      <title>A tribute to Remember the Milk</title>
      <link>https://danielbachhuber.com/a-tribute-to-remember-the-milk/</link>
      <pubDate>Mon, 18 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/a-tribute-to-remember-the-milk/</guid>
      <description>&lt;p&gt;Remember the Milk, you are my first and last task management tool. I have tried others, but they were not the same.&lt;/p&gt;&#xA;&lt;p&gt;You are the epitome of web application. When others change their interface seemingly on a monthly basis, your beautiful design hasn&amp;rsquo;t change as long as I&amp;rsquo;ve subscribed to your services. We first met September, 2007. You&amp;rsquo;ve resisted the temptation to muck with a jewel that already works really, really well.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Remember the Milk, you are my first and last task management tool. I have tried others, but they were not the same.</p>
<p>You are the epitome of web application. When others change their interface seemingly on a monthly basis, your beautiful design hasn&rsquo;t change as long as I&rsquo;ve subscribed to your services. We first met September, 2007. You&rsquo;ve resisted the temptation to muck with a jewel that already works really, really well.</p>
<p>When you were undergoing scheduled maintenance two days ago, I realized how important you are to my life. You are the very first icon in my bookmarks bar. You are the most accessible location on my iPhone screen; I sync you hourly.</p>
<p>My girlfriend and I share you to keep track of the groceries we need to buy, and the chores we need to do. A simple shared list goes a long way towards de-cluttering the house of bits of paper.</p>
<p>It may have been around as long as I have, but &ldquo;Inbox Email Address&rdquo; is a recently discovered pleasure. If I need to jot down a few tasks, boom. If I need to inbox zero my email but log action items, done.</p>
<p>You bring new meaning to the phrase &ldquo;getting things done.&rdquo; Thanks to you I never lose track of anything I need to do. Although I may procrastinate on the top priority items, you pay attention to the number of times I postpone and flag it for me if it&rsquo;s too many.</p>
<p>Thank you, Remember the Milk, for all that you do. Keep on rockin'.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hill walking in New Zealandia</title>
      <link>https://danielbachhuber.com/hill-walking-in-new-zealandia/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hill-walking-in-new-zealandia/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/wellington1-1024x765.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;765&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;To truly know a place, you have to walk its hills. And New Zealandia has some pretty nice hills.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/wellington1-1024x765.jpg" alt=""  width="1024"
	height="765"  /></p>
<p>To truly know a place, you have to walk its hills. And New Zealandia has some pretty nice hills.</p>
<p>Nah, that&rsquo;s too profound. Really, after two weeks living in hotels, I was just jonesin&rsquo; to get outside. To commemorate a beautiful day yesterday, Dan, Nikki, and I trekked the hillside above Eastbourne, directly across the water from Wellington.</p>
<p>It took us forever to get to a decent vantage point though. The trail picked up at the edge of town where it wound up and up to get to the ridge line. New Zealandia is densely forested and the forest doesn&rsquo;t let up at the top of the hills. If it was possible, I think it gets denser. So we bumped over hillock after hillock, some offering little openings that made us optimistic. Ultimately, I snagged the shot above at an overlook about half way down.</p>
<p>A good hike deserves good food. After the trek, we enjoyed a late lunch at a <a href="http://www.maranuicafe.co.nz/">neat beach-side cafe</a>. I had a panini-esque sandwich they call a &ldquo;toastie.&rdquo; Oh capers, it was delicious. Capers may be the new ingredient I sneak into everything.</p>
<p>An aside: if there was a difficult thing about traveling in New Zealand, it would be the use of comical words for everyday things. A cooler is a &ldquo;chilly bin.&rdquo; The baggage claim is the &ldquo;baggage reclaim.&rdquo; Oh, and most cars are imported from Japan so all dashboard buttons are in Kanji. Maybe that leads to it.</p>
<p>At the end of the day, I parted ways with Dan and Nikki, became amazed that New Zealandia doesn&rsquo;t have security checkpoints for domestic flights, and flew down to Christchurch.</p>
<p><img src="images/christchurch1-1024x765.jpg" alt=""  width="1024"
	height="765"  /></p>
<p>This morning, once I was fueled with a delicious scramble, I took off on hike number two of the weekend. Parts of Christchurch, including my <a href="https://www.airbnb.com/rooms/119387">Airbnb spot</a>, are conveniently located next to Lake District-esque hills. If you aren&rsquo;t paying attention to where you&rsquo;re going, as I wasn&rsquo;t, you can easily end up lost in a neighborhood. Fortunately, after three false starts, I found a path leading above the houses.</p>
<p>It took about an hour and a half to get to the top of Mount Vernon, where I took the photo above. Along the way, I became reacquainted with my love of podcasts. Podcasts are a great way to expand your worldview, and I need to get back into them.</p>
<p>I&rsquo;ll be in Christchurch for a couple more days, hopefully finding a good place to cowork. Then it&rsquo;s back to Portland, Leah, and a tasty East African cooking course at the end of the week.</p>]]></content:encoded>
    </item>
    <item>
      <title>Real grilled pizza</title>
      <link>https://danielbachhuber.com/real-grilled-pizza/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/real-grilled-pizza/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/69044670?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;I want one of these when I grow up.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69044670?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>I want one of these when I grow up.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The two defining talks of Webstock</title>
      <link>https://danielbachhuber.com/the-two-defining-talks-of-webstock/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-two-defining-talks-of-webstock/</guid>
      <description>&lt;p&gt;Now a few days later, I&amp;rsquo;ve realized there were two talks at Webstock that made it for me.&lt;/p&gt;&#xA;&lt;p&gt;The first was Clay Johnson&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;http://danielbachhuber.com/2013/02/13/webstock-clay-johnson-industrialized-ignorance/&#34;&gt;Industrialized Ignorance&lt;/a&gt;,&amp;rdquo; a look at the current state of the media. Clay argues that, much like how industrial food production gives us food that tastes good, but isn&amp;rsquo;t necessarily good for us, industrial media focuses on producing content with entertainment value, instead of informational value. To combat this, we need to launch an equivalent &amp;ldquo;whole food movement&amp;rdquo; for information.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Now a few days later, I&rsquo;ve realized there were two talks at Webstock that made it for me.</p>
<p>The first was Clay Johnson&rsquo;s &ldquo;<a href="http://danielbachhuber.com/2013/02/13/webstock-clay-johnson-industrialized-ignorance/">Industrialized Ignorance</a>,&rdquo; a look at the current state of the media. Clay argues that, much like how industrial food production gives us food that tastes good, but isn&rsquo;t necessarily good for us, industrial media focuses on producing content with entertainment value, instead of informational value. To combat this, we need to launch an equivalent &ldquo;whole food movement&rdquo; for information.</p>
<p>I like the metaphor, and maybe the solution can be reapplied too. For all that the government has done to improve diet (e.g. not much), I believe the greatest successes come at the individual, family, and community level. Food is very much tied to physicality.</p>
<p>On the web, geography matters less. We&rsquo;re equally as influenced by the people around us, but we have choice in who we follow, friend and subscribe to. In this way we can, figuratively, pick out the fruits and vegetables we&rsquo;ll be choosing from for our meals later in the week. The first step to take, though, is to start cooking for yourself.</p>
<p>Not checking email before writing 500 words is a simple hack I&rsquo;d like to take to heart. Instinctively, I reached for my phone this morning as soon as I opened my eyes. The phone went into low battery mode before I made it to the mail app. I took that as a sign today was the day to start.</p>
<p>&ldquo;Oh, I&rsquo;m too busy to spend write 500 words every day,&rdquo; one might think. Or, &ldquo;I have nothing to write about.&rdquo; As WordPress&rsquo; distraction-free writing says, just write. The words will come to you.</p>
<p>The second talk that really hit home was Karen McGrane&rsquo;s &ldquo;<a href="http://danielbachhuber.com/2013/02/14/webstock-karen-mcgrane-adapting-ourselves-to-adaptive-content/">Adapting Ourselves to Adaptive Content</a>.&rdquo; Yes, it does sound like it&rsquo;s about responsive design. Instead, she promoted producing content independent of platform. If your content is well structured, Karen argues, you&rsquo;re in a much better position to reflow it into a variety of platforms.</p>
<p><a href="http://danielbachhuber.com/2011/05/05/status-44/">This sounds familiar</a>. In fact, it sounds like what many of us have been promoting as the future of journalism. <a href="http://stdout.be/2010/04/06/information-architecture-for-news-websites/">Stijn wrote about it in 2010</a>. <a href="http://www.holovaty.com/writing/fundamental-change/">Adrian wrote about it in 2006</a>. In the last year, the conversation has all but died.</p>
<p>Personally, I&rsquo;ve found enjoyment in more mundane projects, generally falling under the &ldquo;improving administrative tasks in content management systems&rdquo; category. Reinventing the entire content creation process is an unknown, nebulous challenge.</p>
<p>It was nice to be inspired to think big again. We need to bring some of that discussion back. And, while we&rsquo;re at it, open standards too. Remember those?</p>
<p>434 words. I&rsquo;ll take it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Chris Coyier, The Modern Web Designer&#39;s Workflow</title>
      <link>https://danielbachhuber.com/webstock-chris-coyier-the-modern-web-designers-workflow/</link>
      <pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-chris-coyier-the-modern-web-designers-workflow/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I’m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Chris Coyier is a humorous man. He was also a designer at Wufoo and now does &lt;a href=&#34;http://css-tricks.com/&#34;&gt;CSS Tricks&lt;/a&gt; and &lt;a href=&#34;http://codepen.io/&#34;&gt;CodePen&lt;/a&gt;. Today he&amp;rsquo;s covering:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Getting started designing.&lt;/li&gt;&#xA;&lt;li&gt;Local development environment.&lt;/li&gt;&#xA;&lt;li&gt;Working on a team.&lt;/li&gt;&#xA;&lt;li&gt;Preprocessing saves happiness.&lt;/li&gt;&#xA;&lt;li&gt;Testing, testing, testing.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I’m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.</em></p>
<p>Chris Coyier is a humorous man. He was also a designer at Wufoo and now does <a href="http://css-tricks.com/">CSS Tricks</a> and <a href="http://codepen.io/">CodePen</a>. Today he&rsquo;s covering:</p>
<ol>
<li>Getting started designing.</li>
<li>Local development environment.</li>
<li>Working on a team.</li>
<li>Preprocessing saves happiness.</li>
<li>Testing, testing, testing.</li>
</ol>
<p>Chris designs in Photoshop, to the faux-horror of everyone in the room. Photoshop is more &ldquo;left brainy&rdquo; than a CSS editor. It affords more creativity. <a href="http://webzap.uiparade.com/">WebZap</a> gives you buttons and other web patterns to use in your mockups.</p>
<p>The blank canvas is a challenge for every profession. In the design world, you might:</p>
<ul>
<li>Toss down a texture.</li>
<li>Draw some shapes.</li>
<li>Avoid making wireframes.</li>
</ul>
<p>As soon as you have a Minimum Viable Design in Photoshop, though, take it to the web. Making it perfect in Photoshop just means you&rsquo;ll have to do the work all over again.</p>
<p>&ldquo;Let&rsquo;s change the phrase &lsquo;designing in the browser&rsquo; to &lsquo;deciding in the browser&rsquo;.&rdquo; - Some Guy I Missed</p>
<p>Don&rsquo;t work live on a server. Just don&rsquo;t.</p>
<p>Instead, you can and should develop in a local environment. If you&rsquo;re building for WordPress, <a href="http://www.mamp.info/en/index.html">MAMP</a> is a good option to provide everything you need to run a web server.</p>
<p>Two tools to demystify version control: <a href="http://mac.github.com/">Github for Mac</a> and <a href="http://www.git-tower.com/">Tower</a>.</p>
<p>Chris is all about the <a href="http://www.sublimetext.com/">Sublime Text</a>. In version 3, being able to jump to files is amazeballs. <a href="https://github.com/sergeche/emmet-sublime">Emmet</a> does all sorts of crazy HTML auto-completion.</p>
<p>Some advantages to using a preprocessor like Sass:</p>
<ul>
<li>DRY awesomeness.</li>
<li>Mixins allow you to define named functions, and use those functions elsewhere in your Sass. Everyone screws up CSS3 vendor prefixes. Mixins allow you to only screw up (and fix) in one place.</li>
</ul>
<p>Sass plus <a href="http://compass-style.org/">Compass</a> gives you an amazing number predefined mixins.</p>
<p><em>Editor&rsquo;s note: All of this frontend hotness is blowing my mind. I didn&rsquo;t even know.</em></p>
<p>Preprocessing also greatly simplifies media queries. And it makes writing CSS fun again.</p>
<p><a href="http://incident57.com/codekit/">CodeKit</a> is a Mac app that automagically preprocesses all of your shiz. It will inject style changes into your browser while you edit. Great for when you might need to style web apps with various states. It can also losslessly compress any image assets used in your site.</p>
<p>The easiest way to make a website faster is to load less stuff. If you can&rsquo;t remove it entirely, you can concatenate and minimize.</p>
<p>Testing is a big PITA. <a href="http://www.browserstack.com/">BrowserStack</a> lets you test in a variety of browsers from the comfort of your own home.</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: John Gruber, In Praise of Pac-Man</title>
      <link>https://danielbachhuber.com/webstock-john-gruber-in-praise-of-pac-man/</link>
      <pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-john-gruber-in-praise-of-pac-man/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I’m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;John Gruber, well everyone knows who John Gruber is. If you don&amp;rsquo;t, please hand in your internet license.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I’m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.</em></p>
<p>John Gruber, well everyone knows who John Gruber is. If you don&rsquo;t, please hand in your internet license.</p>
<p>Pac-Man is a maze. The maze is filled with dots. You eat all of the dots, without being eaten in turn by the monsters changing you. There are power dots in corners which turn the monsters into ghosts you can eat. Everything leads to points.</p>
<p>It was invented by Toru Iwatani. At the time, coin-operated video games was a nacent industry. Game operators converged at a conference every year to choose new games to buy. Pac-Man never stood out as a hit game. Until it did $1 billion in the first few years, more than Star Wars did in ticket sales.</p>
<p>Buckner &amp; Garcia introduced a song in 1982 called &ldquo;Pac-Man Fever.&rdquo; It made it to #9 on the Billboard charts. Gruber remembers being able to play Pac-Man at the grocery store and an entire arcade of Pac-Man machines. It was the first game to reach this level of success.</p>
<p>Gruber ascribes Pac-Man&rsquo;s success to four characteristics:</p>
<ul>
<li>Fun</li>
<li>Simple</li>
<li>Obvious</li>
<li>Challenging</li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/Mr._Do!">Mr. Do!</a>, on the other hand, was an incredibly complex game only a few people at Webstock remember. For instance, when you eat the snack in the center of the screen, the screen changes color, some more bad guys come out that are more aggressive, and then maybe you get another life. Gruber still doesn&rsquo;t know what the best technique is for winning the game.</p>
<p>Mr. Do! was a popular arcade game, but no one thought it was important enough to track how much money it made. Pac-Man was much more than a popular arcade game. &ldquo;Everything in Pac-Man was iconic.&rdquo;</p>
<p>The monsters in Pac-Man had their own names and unique personalities. &ldquo;Blinky&rdquo;, the red monster, persistently chased Pac-Man. He was the one most likely to kill you. &ldquo;Clyde&rdquo;, on the other hand, was a dumb oaf.</p>
<p>Pac-Man was popular because it rewarded obsessiveness, but Gruber argues it was financially successful because it was a game everyone could get. You didn&rsquo;t have to be a gamer to know how to play it.</p>
<p>The original Macintosh was similarly successful. It challenged the status quo of interacting with a computer through the command line by offering an interface that was more intuitive. Gruber thinks Macintosh designers inherited many ideas from video games of the time. There was even iconography (e.g. a bomb on the restart modal) you&rsquo;d expect to see in a video game, not an operating system.</p>
<p>iOS takes the simplicity even further. All of your apps live on your homepage. You&rsquo;re either on your homepage or in an app. &ldquo;Android is Mr. Do!&rdquo; because there&rsquo;s additional levels of complexity and conventions you need to learn.</p>
<p>Gruber&rsquo;s advice: if you can&rsquo;t describe your project in one sentence, you&rsquo;re not working on a simple project. &ldquo;Ten pounds of effort on one simple design element will have way more impact than one pound of effort on ten design elements.&rdquo;</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Karen McGrane, Adapting Ourselves to Adaptive Content</title>
      <link>https://danielbachhuber.com/webstock-karen-mcgrane-adapting-ourselves-to-adaptive-content/</link>
      <pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-karen-mcgrane-adapting-ourselves-to-adaptive-content/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I’m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Karen McGrane has made a career of dragging media companies kicking and screaming onto the internet. She&amp;rsquo;s helped with projects like a redesigned NYTimes.com, Atlantic Media&amp;rsquo;s web properties, and TIME&amp;rsquo;s new responsive redesign. &amp;ldquo;It&amp;rsquo;s tempting to think that mobile is a design and development problem,&amp;rdquo; but the real challenge of mobile is content.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I’m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I’m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you’re here too, come write a haiku at Automattic’s booth.</em></p>
<p>Karen McGrane has made a career of dragging media companies kicking and screaming onto the internet. She&rsquo;s helped with projects like a redesigned NYTimes.com, Atlantic Media&rsquo;s web properties, and TIME&rsquo;s new responsive redesign. &ldquo;It&rsquo;s tempting to think that mobile is a design and development problem,&rdquo; but the real challenge of mobile is content.</p>
<p>To kick things off, compare NPR and Conde Nast. The latter has spent tremendous effort replicating print editions into iPad apps. When the iPad first launched, Karen asked Paul Ford what the effect might be on the publishing industry. This is what she heard:</p>
<blockquote>
<p>We&rsquo;re about to usher in a golden age of PDFs on the iPad.</p></blockquote>
<p>Conde Nast has gone even as far as make print designers produce two layouts for the iPad: portrait and landscape. The 1980&rsquo;s aren&rsquo;t coming back, though.</p>
<p>NPR has taken an alternative approach: Create Once, Publish Everywhere. The story is created once, and let each platform determine how it should be presented. NPR&rsquo;s CMS captures just the right structure for the content. All of this data is available through the API.</p>
<p>iPad issue sales are on the downswing for Conde Nast. For NPR, viewership has grown by 80%. They attribute it solely to the API and it&rsquo;s downstream effects on how they produce editorial products.</p>
<p>Thirty years ago, TV Week made the decision to produce multiple versions of their content, and assign meaningful metadata to it. Thirty years later, that content still has value because it&rsquo;s reusable in new or uninvented contexts.</p>
<p>&ldquo;News organizations already have structured content [&hellip;] So many problems in mobile would be solved if everything had a dek.&rdquo;</p>
<p>One of the biggest challenges in digital is the notion that content and form are closely coupled. That how something looks has a significant influence on what it means. That there&rsquo;s a &ldquo;primary platform&rdquo; for a given piece of content. For many news organizations, this primary platform is still print.</p>
<p>Adaptive content doesn&rsquo;t mean content prepared for print and then moved to other devices. Nor does it mean content prepared for the web, then pushed to print and mobile. It means focusing on structured content that can live anywhere.</p>
<p>Here&rsquo;s how it can be done:</p>
<ul>
<li>Write for the chunk - Many CMSes give writers WYSIWYG editors where they can dump in whatever they want. They should not be permitted this.</li>
<li>Demystify metadata - The Guardian&rsquo;s iPad application uses an algorithm to read editorial decisions from the InDesign layout to determine story priorities. Brilliant reuse of existing effort.</li>
<li>Better CMS workflow - Writers hate fields and checkboxes because the interface is terrible. &ldquo;CMS is the enterprise software that UX forgot.&rdquo; E-commerce checkout flows are analysed to the pixel — content creation flows should receive just as much attention.</li>
</ul>
<p>&ldquo;Metadata is the new art direction.&rdquo; - Ethan Resnick. The more work you put into structuring your content now, the more opportunities you&rsquo;ll have in the future.</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Aza Raskin, Design is the Beauty of Turning Constraints Into Advantages</title>
      <link>https://danielbachhuber.com/webstock-aza-raskin-design-is-the-beauty-of-turning-constraints-into-advantages/</link>
      <pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-aza-raskin-design-is-the-beauty-of-turning-constraints-into-advantages/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I&amp;rsquo;m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I&amp;rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&amp;rsquo;re here too, come write a haiku at Automattic&amp;rsquo;s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;For the last couple of years, Aza Raskin (@&lt;a href=&#34;https://twitter.com/aza&#34;&gt;aza&lt;/a&gt;) has been working on helping bring design to solving health challenges. Solving difficult problems happens by changing how you ask the question. The big meta problem of design is figuring out how to ask the right question.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I&rsquo;m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I&rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&rsquo;re here too, come write a haiku at Automattic&rsquo;s booth.</em></p>
<p>For the last couple of years, Aza Raskin (@<a href="https://twitter.com/aza">aza</a>) has been working on helping bring design to solving health challenges. Solving difficult problems happens by changing how you ask the question. The big meta problem of design is figuring out how to ask the right question.</p>
<p>In 1959, Henry Kramer had a dream that people should be able to fly under their own power. He put up a challenge of 50k pounds to anyone who could build a device for flying a couple meters above the ground between two points. Double the award for someone who flew across the English Channel. No one could solve it.</p>
<p>Paul Maccready in 1977 said that most participants were trying to solve the wrong problem. The real question was &ldquo;how can you build an airplane to fly under human power that can be repaired in hours?&rdquo; Other participants would build an airplane in 12 or 18 months, try to fly it once, and it would break. Paul was able to solve the challenge in 8 months by reframing the question.</p>
<p>&ldquo;Science is in the business of embracing failure because it&rsquo;s only through failure that we learn.&rdquo;</p>
<p>It&rsquo;s not about thinking outside the box, because that means there are no constraints. Instead, it&rsquo;s about figuring out which box to think inside. &ldquo;Constraints give you permission to think about something smaller.&rdquo; Architecture provides perfect examples of thinking inside the box because you often have to deal with specific physical requirements:</p>
<ul>
<li><a href="http://www.nytimes.com/2012/10/25/greathomesanddestinations/in-warsaw-a-creative-home-fills-a-void.html?_r=0">1 meter wide house in Warsaw</a></li>
<li><a href="http://www.nytimes.com/2009/01/15/garden/15hongkong.html?pagewanted=all">24 room layouts in a 32 meter squared apartment</a></li>
</ul>
<p>The origin of the 140 character limit for text messages is also one of constraints. The person who made the determination wrote out everything you might communicate with a typewriter. Then he measured each line.</p>
<p>Creativity comes from constraint, and asking the right question is the most important part of design. Two more important ideas:</p>
<ul>
<li>Perceptual scope - How do you see things (to what degree do you see the forest vs. the trees)</li>
<li>Conceptual scope - How you classify what you see (e.g. of a list, which items are furniture)</li>
</ul>
<p>On the science of this, you&rsquo;d look at how obstacles change someone&rsquo;s perceptual and conceptual scopes. Generally, thinking of challenges as obstacles to overcome makes people think broader and more creatively.</p>
<p>If you encounter a detour on your drive home from work, you&rsquo;re more likely to pick something new to eat for dinner. Getting out of your habits is very important. Adding an obstacle changes your perceptual scope.</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Clay Johnson, Industrialized Ignorance</title>
      <link>https://danielbachhuber.com/webstock-clay-johnson-industrialized-ignorance/</link>
      <pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-clay-johnson-industrialized-ignorance/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I&amp;rsquo;m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I&amp;rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&amp;rsquo;re here too, come write a haiku at Automattic&amp;rsquo;s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Clay Johnson (@&lt;a href=&#34;http://twitter.com/cjoh&#34;&gt;cjoh&lt;/a&gt;) started out with a comparison of knowledge. Most of the room knew the name of at least one Kardashian, but most didn&amp;rsquo;t know the child poverty rate in NZ. How can we build better communities if we don&amp;rsquo;t know these things?&lt;/p&gt;&#xA;&lt;p&gt;In 2011, the obesity rates in America are so bad that they had to adjust the map for comparing states.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I&rsquo;m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I&rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&rsquo;re here too, come write a haiku at Automattic&rsquo;s booth.</em></p>
<p>Clay Johnson (@<a href="http://twitter.com/cjoh">cjoh</a>) started out with a comparison of knowledge. Most of the room knew the name of at least one Kardashian, but most didn&rsquo;t know the child poverty rate in NZ. How can we build better communities if we don&rsquo;t know these things?</p>
<p>In 2011, the obesity rates in America are so bad that they had to adjust the map for comparing states.</p>
<p>&ldquo;Pizza tastes better than broccoli.&rdquo; We tend to eat more of what tastes good to us, as opposed to what&rsquo;s good for us. Evolution hasn&rsquo;t caught up to agriculture, let alone industrial agriculture.</p>
<p>We&rsquo;ve created huge multinationals produce cheap, tasty calories for us. The power of industry means that complex food items (e.g. Pizza Hut with a variety of crazy toppings) are more easily accessible than simple ones.</p>
<p>&ldquo;Who wants to hear the truth when they can hear they&rsquo;re right?&rdquo; We&rsquo;ve also created media companies that affirm what we know, as opposed to informing us of what we need to know.</p>
<p>Politics and media is A/B testing and optimizing for reader clicks. &ldquo;Opinion tastes better than news.&rdquo; How do inform a society when everything is optimized for business needs? The AOL Way is a classic example of doing it wrong. Editorial integrity is last on the list.</p>
<p>Something strange is going on in America, and Clay thinks it&rsquo;s because of the media. Up until 1996, the voting distribution across America was mostly purple (e.g. red and blue mixed). Since 1996, voting distribution has become increasingly polarized. Some areas are bright red and others are bright blue. Clay argues that it correlates with the rise of television networks. Similarly, Google search results affirm what question you&rsquo;re asking (e.g. &ldquo;democrats are socialist&rdquo;).</p>
<p>Our definition of ignorance has changed. Ignorance now can be caused just as much by the consumption of information as lack thereof.</p>
<p>&ldquo;We need to manage our information intakes like we manage our food intakes.&rdquo; Some ways you can manage your information diet:</p>
<ul>
<li>Be a conscious consumer. Clay uses Rescue Time to track which websites he&rsquo;s viewing. At the end of the week, review what you&rsquo;ve been looking at and consciously think about whether it&rsquo;s how you actually want to spend your time.</li>
<li>Schedule regular tasks like email, Facebook, and browsing the news.</li>
<li>Go local. Pay more attention to what&rsquo;s going on in your neighborhood instead of what&rsquo;s happening nationally. You probably aren&rsquo;t going to have an impact on the international child poverty rate, but you can definitely have an impact on local child poverty.</li>
<li>Be a producer instead of a consumer. Stop using your iPhone as an alarm clock. The moment you check your email in the morning is the moment you start reacting to things. Clay has a goal of writing 500 words before 8 am.</li>
</ul>
<p>We as a community need to get closer to the source material. We need to demand of journalists that they show their work. Data is what enables us to create a more honest media.</p>
<p>Most importantly, work on stuff that matters. Every moment in history there&rsquo;s been a hyper-literate class. Computer illiteracy will be like book illiteracy in ten years, and there will be a lot of people left behind. Lawyers are transferring their power to developers. When Mark Zuckerberg creates a new feature on Facebook, he&rsquo;s wiring society. Features, like laws, dictate how we operate.</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Jason Kottke, I Built a Web App (And You Can Too)</title>
      <link>https://danielbachhuber.com/webstock-jason-kottke-i-built-a-web-app-and-you-can-too/</link>
      <pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-jason-kottke-i-built-a-web-app-and-you-can-too/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I&amp;rsquo;m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I&amp;rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&amp;rsquo;re here too, come write a haiku at Automattic&amp;rsquo;s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jason Kottke is a blogger and a web developer. &lt;a href=&#34;http://kottke.org/&#34;&gt;Kottke.org&lt;/a&gt; is a blog he&amp;rsquo;s been publishing since 1998. Today he&amp;rsquo;s talking about something else.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I&rsquo;m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I&rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&rsquo;re here too, come write a haiku at Automattic&rsquo;s booth.</em></p>
<p>Jason Kottke is a blogger and a web developer. <a href="http://kottke.org/">Kottke.org</a> is a blog he&rsquo;s been publishing since 1998. Today he&rsquo;s talking about something else.</p>
<p><strong>1. How do you decide to do something?</strong></p>
<p>When one of his kids was born, lots of friends and family took pictures for tweeting, Flickr&rsquo;ing, and generally posting on the web. Most interactions with those images came in the form:</p>
<ul>
<li>Facebook: Like</li>
<li>Twitter: Favorite (with a star) and Retweet</li>
<li>Flickr: Favorite (with a star)</li>
<li>Vimeo: Like (with a heart)</li>
<li>Tumblr: Like (with a heart)</li>
</ul>
<p>Three years ago, when Kottke started thinking about this, most companies just tucked the data away. It was/is hard to access again by users. &ldquo;If you&rsquo;re favoriting things to save important family memories, this is a problem.&rdquo;</p>
<p>According to Stephen Johnson, good ideas come in the form of a &ldquo;slow hunch.&rdquo; One example: Tim Berners-Lee&rsquo;s invention of the World Wide Web. After college in 1980, Tim coded a hyperlinked tool for academics to share knowledge. It didn&rsquo;t really take on. In 1989, he hatched a plan to build a more ambitious version of the first tool. He took a vague notion and iterated on it, over and over.</p>
<p>Kottke&rsquo;s first slow hunch: blogging software. He started Kottke.org by editing static HTML files. Since the time he switched to MT in 2002, he&rsquo;s thought about writing his own blogging app.</p>
<p>The second slow hunch: streams. When the web first began, the NCSA logged everything that was new on the web. People would email the NCSA anytime they changed something with their website. And the NCSA would post the newest stuff at the top, and bump the older stuff down.</p>
<p>&ldquo;It&rsquo;s weird that we read backwards in time on the web, and forwards in time everywhere else.&rdquo;</p>
<p><strong>2. Stellar, something he decided to make</strong></p>
<p><a href="http://stellar.io/">Stellar</a> is a web app that collects all of your social media favorites in one place, and follow your friends&rsquo; favorites. At this point, 15k users have signed up. 2-3k are active users.</p>
<p>Kottke thinks of it as a lightweight blogging app. Every time you favorite something, it gets blogged to the stream. What&rsquo;s surprising to him is how useful it is as a tool for finding things you didn&rsquo;t know you&rsquo;d be interested in. &ldquo;The delicious cream off the social media churn.&rdquo;</p>
<p>Stellar is hosted on two EC2 instances with RDS as the database. Software: Ubuntu Linux, PHP, Memcached, CodeIgniter, jQuery, Typekit, Mercurial, and MySQL (RDS). Everything is free, or very cheap, and way easier than it was five years ago.</p>
<p><strong>3. What he&rsquo;s learned, and the current status of Stellar</strong></p>
<p>Another important stack: the meat stack. There are plenty of articles on how to get the most out of yourself and collaborators on HackerNews, Stack Overflow, etc. Kottke&rsquo;s advice:</p>
<ul>
<li>You can do it. When he started, there were many things he didn&rsquo;t know: how to use an MVC framework, how to memcache, etc. Kottke started making Stellar, and learned along the way.</li>
<li>Sit in the chair and do it. Making something involves actually making something.</li>
</ul>
<p>Design turned out to be harder than programming. One sign of success: if he got sidetracked by some new content while working on a feature, then he must be doing something right.</p>
<p>After two and a half years with 25-30 hours / week towards it, Kottke thinks Stellar is about 20% done. Some work to do:</p>
<ul>
<li>Convert to Twitter&rsquo;s new API request requirements.</li>
<li>There are almost 18 million favorited items in Stellar&rsquo;s database, which is not insignificant. Database server needs to be upgraded or rethunk and it will be costly.</li>
</ul>
<p>&ldquo;How can I build a business on the shifting demands of corporate APIs?&rdquo; Kottke hasn&rsquo;t committed to Stellar since July 31st, 2012 because he&rsquo;s been stuck. He was that guy, super stoked about what he was building, until about eight months ago. Only time will tell what will happen with Stellar.</p>]]></content:encoded>
    </item>
    <item>
      <title>Webstock: Miranda Mulligan, Your Survival is Designed</title>
      <link>https://danielbachhuber.com/webstock-miranda-mulligan-your-survival-is-designed/</link>
      <pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/webstock-miranda-mulligan-your-survival-is-designed/</guid>
      <description>&lt;p&gt;&lt;em&gt;This week I&amp;rsquo;m at &lt;a href=&#34;http://www.webstock.org.nz/13/&#34;&gt;Webstock&lt;/a&gt;, a lovely conference in New Zealand. I&amp;rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&amp;rsquo;re here too, come write a haiku at Automattic&amp;rsquo;s booth.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Miranda Mulligan (hey, I know her!) helped take the Boston Globe through a responsive redesign, and now is Director at the Knight Media Lab at Northwestern. She&amp;rsquo;s the first in five generations of women to not make clothing for a living. Clothing matters; what you wear is an indicator of what you value.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This week I&rsquo;m at <a href="http://www.webstock.org.nz/13/">Webstock</a>, a lovely conference in New Zealand. I&rsquo;m doing my best to write little blog posts about the amazing presentations. Please forgive any typos, etc. If you&rsquo;re here too, come write a haiku at Automattic&rsquo;s booth.</em></p>
<p>Miranda Mulligan (hey, I know her!) helped take the Boston Globe through a responsive redesign, and now is Director at the Knight Media Lab at Northwestern. She&rsquo;s the first in five generations of women to not make clothing for a living. Clothing matters; what you wear is an indicator of what you value.</p>
<p>&ldquo;Journalism needs to be a more thoughtful dresser.&rdquo; Some large news organizations have very good UX designers, and many more have very good editorial designers. But news design has stagnated, and the news industry needs more design-thinkers.</p>
<p>When Miranda talks with publishers, they&rsquo;re fascinated by responsive web design. They don&rsquo;t have many designers in their organization though, and design comes at the end of the project workflow.</p>
<p>&ldquo;Technologists are winning at media innovation.&rdquo; Twitter is reinventing breaking news situations. <a href="http://evening-edition.com/">The Evening Edition</a> gives you a summary of what&rsquo;s happening at the end of every day. Narrative Science turns big data into readable stories. Why aren&rsquo;t media companies inventing these new products?</p>]]></content:encoded>
    </item>
    <item>
      <title>160 MPH in a F430 GT</title>
      <link>https://danielbachhuber.com/160-mph-in-a-f430-gt/</link>
      <pubDate>Sat, 09 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/160-mph-in-a-f430-gt/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/69044331?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Or at least that&amp;rsquo;s what the speedometer told me on the straightaway.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69044331?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Or at least that&rsquo;s what the speedometer told me on the straightaway.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#AANDigital: WordPress in the Newsroom</title>
      <link>https://danielbachhuber.com/aandigital-wordpress-in-the-newsroom/</link>
      <pubDate>Sun, 27 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/aandigital-wordpress-in-the-newsroom/</guid>
      <description>&lt;p&gt;Since I&amp;rsquo;ve been involved in the news industry, I&amp;rsquo;ve been a huge proponent of open source software. In particular, this selling point: open source makes for much easier cross-institution collaboration. Open source software provides a legal framework for companies to pool development resources, and build mutually-beneficial products. &lt;em&gt;However&lt;/em&gt;, as I learned the hard way, news organizations need to get to the point where they&amp;rsquo;re comfortable managing their own open source software before any collaboration can ever happen. We&amp;rsquo;ve made some strides, but we still have a ways to go.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since I&rsquo;ve been involved in the news industry, I&rsquo;ve been a huge proponent of open source software. In particular, this selling point: open source makes for much easier cross-institution collaboration. Open source software provides a legal framework for companies to pool development resources, and build mutually-beneficial products. <em>However</em>, as I learned the hard way, news organizations need to get to the point where they&rsquo;re comfortable managing their own open source software before any collaboration can ever happen. We&rsquo;ve made some strides, but we still have a ways to go.</p>
<p>Today, I was honored to speak about WordPress in the newsroom to the <a href="http://www.altweeklies.com/aan/web-publishing-conference/Page">AAN Digital Conference</a>. The alt-weeklies industry is in a situation very similar to what I saw in college media a few years back: one proprietary CMS dominates, editorial workflow is MS Word to InDesign to web, and most of the focus is on print. It was a bit of déjà vu. Fortunately, everyone is also super enthusiastic about the web — no curmudgeons in the audience.</p>
<p>The WordPress-powered sites I highlighted: <a href="http://qz.com">Quartz</a>, <a href="http://metro.co.uk">Metro</a>, <a href="http://newyork.cbslocal.com">CBS New York</a>, <a href="http://www.rollingstones.com/">Rolling Stones</a>, <a href="http://journalists.org">Online News Association</a>, and <a href="http://digboston.com/">DigBoston</a>. Quartz is near and dear to my heart because I think they&rsquo;re really at the forefront of innovation with an app-like product and responsive design. I can&rsquo;t wait until they roll out their commenting system.</p>
<p>Features and plugins I pointed out include: <a href="http://markjaquith.wordpress.com/2011/05/06/just-you-and-your-thoughts/">distraction-free writing</a>, drag and drop media uploader, <a href="http://editflow.org/">Edit Flow</a> and <a href="http://wordpress.org/extend/plugins/frontend-uploader/">WP Frontend Uploader</a>. If you&rsquo;re looking for more publishing-related plugins, we&rsquo;re slowly profiling our recommendations in the <a href="http://vip.wordpress.com/plugins/">VIP Plugins Directory</a>.</p>
<p>One parting note: this conference was the first time I&rsquo;ve heard &ldquo;dry humping&rdquo; as a recommended way to show your appreciation to the organizers. Keep on rockin&rsquo;, alt-weeklies.</p>
<p><img src="images/201301presentation-wordpressaan-0011.jpg" alt="201301presentation-wordpressaan-0011.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0021.jpg" alt="201301presentation-wordpressaan-0021.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0031.jpg" alt="201301presentation-wordpressaan-0031.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0041.jpg" alt="201301presentation-wordpressaan-0041.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0051.jpg" alt="201301presentation-wordpressaan-0051.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0061.jpg" alt="201301presentation-wordpressaan-0061.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0071.jpg" alt="201301presentation-wordpressaan-0071.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0081.jpg" alt="201301presentation-wordpressaan-0081.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0091.jpg" alt="201301presentation-wordpressaan-0091.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0101.jpg" alt="201301presentation-wordpressaan-0101.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0111.jpg" alt="201301presentation-wordpressaan-0111.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0121.jpg" alt="201301presentation-wordpressaan-0121.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0131.jpg" alt="201301presentation-wordpressaan-0131.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0141.jpg" alt="201301presentation-wordpressaan-0141.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0151.jpg" alt="201301presentation-wordpressaan-0151.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0161.jpg" alt="201301presentation-wordpressaan-0161.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0171.jpg" alt="201301presentation-wordpressaan-0171.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0181.jpg" alt="201301presentation-wordpressaan-0181.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0191.jpg" alt="201301presentation-wordpressaan-0191.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0201.jpg" alt="201301presentation-wordpressaan-0201.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0211.jpg" alt="201301presentation-wordpressaan-0211.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0221.jpg" alt="201301presentation-wordpressaan-0221.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0231.jpg" alt="201301presentation-wordpressaan-0231.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0241.jpg" alt="201301presentation-wordpressaan-0241.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0251.jpg" alt="201301presentation-wordpressaan-0251.jpg"  width="1024"
	height="768"  />
<img src="images/201301presentation-wordpressaan-0261.jpg" alt="201301presentation-wordpressaan-0261.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>New standing desk setup for PIE</title>
      <link>https://danielbachhuber.com/new-standing-desk-setup-for-pie/</link>
      <pubDate>Wed, 23 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-standing-desk-setup-for-pie/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/standingdesk2.jpg&#34; alt=&#34;standingdesk&#34;  width=&#34;1936&#34;&#xA;&#x9;height=&#34;1936&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s the return of the IKEA bar table&amp;hellip; &lt;a href=&#34;http://danielbachhuber.com/2009/08/13/new-workstation-unboxing/&#34;&gt;again&lt;/a&gt;! This is now my third. IKEA no longer stocks the Leksvik, so it&amp;rsquo;s on to the &lt;a href=&#34;http://www.ikea.com/us/en/catalog/products/90087541/&#34;&gt;BJÖRKUDDEN&lt;/a&gt; and &lt;a href=&#34;http://www.ikea.com/us/en/catalog/products/70087212/&#34;&gt;corresponding stool&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; cheap; almost the right height; stool works fine.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt; smaller desk space; stool isn&amp;rsquo;t as comfortable as an actual chair.&lt;/p&gt;&#xA;&lt;p&gt;I also purchased an &lt;a href=&#34;http://www.ergotron.com/ProductsDetails/tabid/65/PRDID/56/language/en-US/Default.aspx&#34;&gt;Ergotron monitor arm&lt;/a&gt;, however I don&amp;rsquo;t believe it&amp;rsquo;s going to raise my monitor to the height I want it. Maybe I&amp;rsquo;ll get something fancy with little cubbies as an alternative.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/standingdesk2.jpg" alt="standingdesk"  width="1936"
	height="1936"  /></p>
<p>It&rsquo;s the return of the IKEA bar table&hellip; <a href="http://danielbachhuber.com/2009/08/13/new-workstation-unboxing/">again</a>! This is now my third. IKEA no longer stocks the Leksvik, so it&rsquo;s on to the <a href="http://www.ikea.com/us/en/catalog/products/90087541/">BJÖRKUDDEN</a> and <a href="http://www.ikea.com/us/en/catalog/products/70087212/">corresponding stool</a>.</p>
<p><strong>Pros:</strong> cheap; almost the right height; stool works fine.</p>
<p><strong>Cons:</strong> smaller desk space; stool isn&rsquo;t as comfortable as an actual chair.</p>
<p>I also purchased an <a href="http://www.ergotron.com/ProductsDetails/tabid/65/PRDID/56/language/en-US/Default.aspx">Ergotron monitor arm</a>, however I don&rsquo;t believe it&rsquo;s going to raise my monitor to the height I want it. Maybe I&rsquo;ll get something fancy with little cubbies as an alternative.</p>
<p>Standing desks are perfect for dancing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ski report: Tahoe, January 2013</title>
      <link>https://danielbachhuber.com/ski-report-tahoe-january-2013/</link>
      <pubDate>Wed, 23 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ski-report-tahoe-january-2013/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/tahoe2.jpg&#34; alt=&#34;tahoe&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Miles and Daniel ski trip is now strong into its third year. This time we were joined at Squaw by &lt;a href=&#34;http://albertsun.info/&#34;&gt;Albert&lt;/a&gt; and lots of Miles&amp;rsquo; roommates and friends. Many thanks to Natalie for coordinating the lodging.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/skicrew1.jpg&#34; alt=&#34;skicrew&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Saturday: 20.5k feet of vertical in 20 runs. Post-ski, two hour hot tub session.&lt;/p&gt;&#xA;&lt;p&gt;Sunday: 22.4k feet of vertical in 21 runs. Miles, Albert and I prepare an epic feast of brussel sprouts, garlic bread, spaghetti, and chocolate mousse for 18 people. Albert schools everyone with his &lt;a href=&#34;http://smittenkitchen.com/blog/2010/01/tomato-sauce-with-butter-and-onions/&#34;&gt;simple tomato sauce recipe&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/tahoe2.jpg" alt="tahoe"  width="2400"
	height="1793"  /></p>
<p>The Miles and Daniel ski trip is now strong into its third year. This time we were joined at Squaw by <a href="http://albertsun.info/">Albert</a> and lots of Miles&rsquo; roommates and friends. Many thanks to Natalie for coordinating the lodging.</p>
<p><img src="images/skicrew1.jpg" alt="skicrew"  width="2400"
	height="1793"  /></p>
<p>Saturday: 20.5k feet of vertical in 20 runs. Post-ski, two hour hot tub session.</p>
<p>Sunday: 22.4k feet of vertical in 21 runs. Miles, Albert and I prepare an epic feast of brussel sprouts, garlic bread, spaghetti, and chocolate mousse for 18 people. Albert schools everyone with his <a href="http://smittenkitchen.com/blog/2010/01/tomato-sauce-with-butter-and-onions/">simple tomato sauce recipe</a>.</p>
<p>Monday: Sleep-deprived and hungover.</p>
<p>Previously: <a href="http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/">2011</a>, <a href="http://danielbachhuber.com/2012/02/17/alyeska-day-one/">2012</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>New plugin: Document Feedback</title>
      <link>https://danielbachhuber.com/new-plugin-document-feedback/</link>
      <pubDate>Fri, 28 Dec 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-plugin-document-feedback/</guid>
      <description>&lt;p&gt;Document Feedback is a new &lt;a href=&#34;http://wordpress.org/extend/plugins/document-feedback/&#34;&gt;WordPress plugin&lt;/a&gt; to close the loop between documentation writers and readers.&lt;/p&gt;&#xA;&lt;p&gt;By default, it appends a simple prompt to the bottom of every Page:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/screenshot-11.png&#34; alt=&#34;Document Feedback prompt&#34;  width=&#34;660&#34;&#xA;&#x9;height=&#34;248&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;If a reader responds to the prompt, they&amp;rsquo;re given a follow-up question to clarify their response. Readers must be logged in for the prompt to show up.&lt;/p&gt;&#xA;&lt;p&gt;Comments are emailed to the post author and summarized in a post meta box:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Document Feedback is a new <a href="http://wordpress.org/extend/plugins/document-feedback/">WordPress plugin</a> to close the loop between documentation writers and readers.</p>
<p>By default, it appends a simple prompt to the bottom of every Page:</p>
<p><img src="images/screenshot-11.png" alt="Document Feedback prompt"  width="660"
	height="248"  /></p>
<p>If a reader responds to the prompt, they&rsquo;re given a follow-up question to clarify their response. Readers must be logged in for the prompt to show up.</p>
<p>Comments are emailed to the post author and summarized in a post meta box:</p>
<p><img src="images/20110612documentationefforts1.jpg" alt="Tech@CUNYJ documentation cited in WordPress.org"  width="769"
	height="213"  /></p>
<p>Many thanks to <a href="http://devwp.eu/">Mario Peshev</a> for his random hacks of kindness. I started this plugin a year ago and left it half-finished on Github. Then Mario comes along, submits a couple very substantial pull requests, and kicks me in the pants to release it.</p>
<p><a href="https://github.com/Automattic/Document-Feedback">Join the fun on Github</a> or <a href="http://wordpress.org/support/plugin/document-feedback">use the WordPress.org forums for questions / bug reports</a>. This plugin is already live for the WordPress.com VIP documentation portal, and is available for use by VIP and Enterprise clients.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Rdio vs. Spotify</title>
      <link>https://danielbachhuber.com/rdio-vs-spotify/</link>
      <pubDate>Sun, 09 Dec 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/rdio-vs-spotify/</guid>
      <description>&lt;p&gt;Some many know me as a hardcore Rdio fan. I love the UI, appreciate their story, and have mostly been satisfied with the service.&lt;/p&gt;&#xA;&lt;p&gt;Last year, Andy Baio wrote &lt;a href=&#34;http://www.wired.com/business/2011/12/spotify-vs-rdio/&#34;&gt;two&lt;/a&gt; &lt;a href=&#34;http://www.wired.com/business/2012/01/spotify-vs-rdio-part-2/&#34;&gt;articles&lt;/a&gt; comparing Rdio to Spotify. In both instances he concludes Rdio comes out slightly on top — their catalog is just a little bit better.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;But&lt;/em&gt;, I&amp;rsquo;ve never been able to get the Blue Scholars or St. Germain on Rdio so I always questioned how the catalogs really compared. Yesterday, after scrapping my first hackathon project at 7:30 pm, I decided to use the &lt;a href=&#34;http://the.echonest.com/&#34;&gt;Echonest API&lt;/a&gt; to answer my question once and for all. Which is better, Rdio or Spotify?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Some many know me as a hardcore Rdio fan. I love the UI, appreciate their story, and have mostly been satisfied with the service.</p>
<p>Last year, Andy Baio wrote <a href="http://www.wired.com/business/2011/12/spotify-vs-rdio/">two</a> <a href="http://www.wired.com/business/2012/01/spotify-vs-rdio-part-2/">articles</a> comparing Rdio to Spotify. In both instances he concludes Rdio comes out slightly on top — their catalog is just a little bit better.</p>
<p><em>But</em>, I&rsquo;ve never been able to get the Blue Scholars or St. Germain on Rdio so I always questioned how the catalogs really compared. Yesterday, after scrapping my first hackathon project at 7:30 pm, I decided to use the <a href="http://the.echonest.com/">Echonest API</a> to answer my question once and for all. Which is better, Rdio or Spotify?</p>
<p>As it turns out, Spotify. By a landslide. Of the 92,343 songs I had time to pull down, 74,703 are available on Spotify and 56,988 are available on Rdio. Furthermore, Spotify had 21,370 songs that weren&rsquo;t available on Rdio, whereas Rdio only had 3,655 songs that weren&rsquo;t available on Spotify.</p>
<p>Plus Spotify has the Blue Scholars and St. Germain. Time to make a switch.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The condo</title>
      <link>https://danielbachhuber.com/the-condo/</link>
      <pubDate>Fri, 30 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-condo/</guid>
      <description>&lt;p&gt;As of 5 pm today, I am a homeowner.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_09941.jpg&#34; alt=&#34;img_09941.jpg&#34;  width=&#34;1800&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10001.jpg&#34; alt=&#34;img_10001.jpg&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10021.jpg&#34; alt=&#34;img_10021.jpg&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10041.jpg&#34; alt=&#34;img_10041.jpg&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10061.jpg&#34; alt=&#34;img_10061.jpg&#34;  width=&#34;1800&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10011.jpg&#34; alt=&#34;img_10011.jpg&#34;  width=&#34;1800&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10091.jpg&#34; alt=&#34;img_10091.jpg&#34;  width=&#34;1800&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10111.jpg&#34; alt=&#34;img_10111.jpg&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_10121.jpg&#34; alt=&#34;img_10121.jpg&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As of 5 pm today, I am a homeowner.</p>
<p><img src="images/img_09941.jpg" alt="img_09941.jpg"  width="1800"
	height="2400"  />
<img src="images/img_10001.jpg" alt="img_10001.jpg"  width="2400"
	height="1800"  />
<img src="images/img_10021.jpg" alt="img_10021.jpg"  width="2400"
	height="1800"  />
<img src="images/img_10041.jpg" alt="img_10041.jpg"  width="2400"
	height="1800"  />
<img src="images/img_10061.jpg" alt="img_10061.jpg"  width="1800"
	height="2400"  />
<img src="images/img_10011.jpg" alt="img_10011.jpg"  width="1800"
	height="2400"  />
<img src="images/img_10091.jpg" alt="img_10091.jpg"  width="1800"
	height="2400"  />
<img src="images/img_10111.jpg" alt="img_10111.jpg"  width="2400"
	height="1800"  />
<img src="images/img_10121.jpg" alt="img_10121.jpg"  width="2400"
	height="1800"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-138/</link>
      <pubDate>Tue, 13 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-138/</guid>
      <description>&lt;p&gt;If you ever want to get your blood boiling on a Tuesday morning, try talking to the company that subcontracts VISA&amp;rsquo;s card benefits service.&lt;/p&gt;&#xA;&lt;p&gt;In June, &lt;a href=&#34;http://danielbachhuber.com/2012/06/30/walking-in-the-lake-district/&#34;&gt;while on a trip to England&lt;/a&gt;, my rental car got a flat. I declined the collision damage waiver when accepting the car because I thought I was covered by VISA.&lt;/p&gt;&#xA;&lt;p&gt;Well, four months later I learn that I am, but only if meet subclauses B, C, and Z. In this particular case, VISA claims I accepted the collision damage waiver. I&amp;rsquo;m not sure how &lt;em&gt;that&lt;/em&gt; makes sense if Hertz made me pay for the flat repair and I have the receipt to prove it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you ever want to get your blood boiling on a Tuesday morning, try talking to the company that subcontracts VISA&rsquo;s card benefits service.</p>
<p>In June, <a href="http://danielbachhuber.com/2012/06/30/walking-in-the-lake-district/">while on a trip to England</a>, my rental car got a flat. I declined the collision damage waiver when accepting the car because I thought I was covered by VISA.</p>
<p>Well, four months later I learn that I am, but only if meet subclauses B, C, and Z. In this particular case, VISA claims I accepted the collision damage waiver. I&rsquo;m not sure how <em>that</em> makes sense if Hertz made me pay for the flat repair and I have the receipt to prove it.</p>
<p>Smells scammy to me.</p>
<p><strong>Update #1 (Tuesday, 10 am):</strong> I called Hertz and they say they didn&rsquo;t charge me for CDW. Awesome.</p>
<p><strong>Update #2 (Wednesday, 8 am):</strong> After calling eclaimsline again and conveying what I learned from Hertz, they connected me with the agent who did the original report. We then called the Cambridge office where we learned there was a CDW included in the rate for damages over £650. We forgot to ask whether it was optional or mandatory. So we conference called back together this morning: it was mandatory, and I couldn&rsquo;t opt out.</p>
<p>I win. So much win.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Jason Glaspey: The Art of Tiny</title>
      <link>https://danielbachhuber.com/jason-glaspey-the-art-of-tiny/</link>
      <pubDate>Sat, 10 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/jason-glaspey-the-art-of-tiny/</guid>
      <description>&lt;p&gt;Today I&amp;rsquo;m hanging out at Tiny Startup Camp, an uniquely Portland event. If Portland is the place young people go to retire, this is how they get paid. Jason Glaspey of &lt;a href=&#34;http://www.paleoplan.com/&#34;&gt;Paleo Plan&lt;/a&gt;, and &lt;a href=&#34;http://siliconflorist.com/2009/01/17/did-someone-say-bacon-bacncom-launches-as-premium-bacon-shop/&#34;&gt;formerly Bacn&lt;/a&gt;, is kicking things off.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today I&rsquo;m hanging out at Tiny Startup Camp, an uniquely Portland event. If Portland is the place young people go to retire, this is how they get paid. Jason Glaspey of <a href="http://www.paleoplan.com/">Paleo Plan</a>, and <a href="http://siliconflorist.com/2009/01/17/did-someone-say-bacon-bacncom-launches-as-premium-bacon-shop/">formerly Bacn</a>, is kicking things off.</p>
<p>Startups are highly-scalable, meaning a small company can serve lots of people. Tiny startups are 1-2 person companies who focus on maximizing impact with minimal resources. They don&rsquo;t raise venture capital — raising money means your job becomes creating a return for your investors.</p>
<p>Paleo Plan started three years ago with $1,000. Jason did it solo for six to nine months. The basic product of the membership site was shopping list and recipe plans. It worked well for people new to Paleo (e.g. those who&rsquo;d been recommended to eat Paleo by their doctors).</p>
<p>One feature request he got right off the bat was recipe modifications for allergies. If a client couldn&rsquo;t eat a certain item on a certain recipe, they didn&rsquo;t want it on their weekly shopping list. A complex situation to the request would&rsquo;ve been to customize the website to produce recipes based on known allergies. Instead, the easiest solution was to number the recipes and include the recipe number next to the item on the grocery list. The client could simply cross out the item.</p>
<p>Along the way, Jason has learned that successes aren&rsquo;t always monetary. A few years back he and a couple friends started <a href="http://bacn.com/">Bacn</a>, a online store for bacon, in three weeks and with almost no capital. It was entirely a marketing experiment. After working on it for a few months, they sold for a nominal sum and <a href="http://www.amazon.com/Idea-Web-Start-up-21-Days/dp/0321714288/">got to write a book about it</a>.</p>
<p>Question from the audience: if you give yourself three weeks to get something up, how long do you let the experiment run?</p>
<p>Answer: it depends. For an experiment he&rsquo;s running right now (ebook with a landing page and purchase flow), he&rsquo;ll give it about $1,000 dollars in time and AdWords if he thinks it will generate $10-$20k over a couple of years. He likes to shoot for making $500-$1,000/month in four months.</p>
<p>I asked a question about the unspoken assumption that pay-per-click advertising is the way to get your product off the ground. Jason responded that Paleo Plan started exclusively on pay-per-click advertising because he was entering a new market where he didn&rsquo;t have existing clout. If you do have a well-read blog, etc. in the market you want to enter, it&rsquo;s easier depend on your product just going viral.</p>
<p>Jason&rsquo;s Tiny Filters:</p>
<ul>
<li><strong>The Pager Test:</strong> Is it a big deal if your site goes down for a day? If so, not the right product and client base. Your site should be able to go down with no serious repercussions.</li>
<li><strong>Launch Quickly:</strong> Must get off the ground in three to four weeks. If it&rsquo;s bigger, he&rsquo;ll let someone else do it.</li>
<li><strong>Day One Profitability:</strong> It has to make money on day one.</li>
<li><strong>Self-Maintainable:</strong> He has to be able to do every step of the project. No dependence on developers, etc.</li>
<li><strong>Clear Path to Success, but Not Too Much:</strong> It shouldn&rsquo;t have to be a large company if it takes off.</li>
<li><strong>Only Sell to People With Money:</strong> Pick a target market that actually has money. Not starving students.</li>
<li><strong>Work Where You Can Be Heard:</strong> Don&rsquo;t enter a crowded market.</li>
</ul>
<p>&ldquo;Solve a single problem for a group of easily identifiable people who want a solution and can pay for it.&rdquo; The most critical component is that your target market is actually <em>looking</em> for a solution. Like Googling for it.</p>
<p>&ldquo;Don&rsquo;t confuse a startup idea with a genie wish.&rdquo; There are a lot of problems to be solved, but many of them can&rsquo;t be easily solved. For instance, an iPhone app that tells you where the open parking spots are. How is this data going to be generated?</p>
<p>&ldquo;Don&rsquo;t confuse knowledge with skill.&rdquo; You may know everything about the car industry, but that doesn&rsquo;t mean you&rsquo;re qualified to build a community about car enthusiasts. Build something realistic.</p>
<p>Some good tiny startup ideas: ebooks, membership sites, and digital downloads (e.g. ringtones, Keynote templates).</p>
<p>Some bad tiny startup ideas: iOS apps, global domination, advertising based, anything you have to hire out for, and acquisition-only.</p>
<p>&ldquo;Manage major pain points by making them medium pain points.&rdquo; Don&rsquo;t spend three weeks perfecting something you can improve in a day. Perfect is the enemy of good enough.</p>
<p>Question from the audience: when&rsquo;s the proper time to become a business?</p>
<p>Answer: once you&rsquo;re making more than $100/month. LLCs are really cheap to incorporate.</p>
<p>The most important thing: become a problem solver. In everything you experience, figure out how to make it better.</p>]]></content:encoded>
    </item>
    <item>
      <title>Shipping documentation with a plugin</title>
      <link>https://danielbachhuber.com/shipping-documentation-with-a-plugin/</link>
      <pubDate>Sat, 03 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/shipping-documentation-with-a-plugin/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s no standard conventions around shipping documentation with plugins, and it would be nice if there was. One idea: include a /docs/ folder with text files in markdown. Those documents would automatically show up in your wporg plugin profile.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There&rsquo;s no standard conventions around shipping documentation with plugins, and it would be nice if there was. One idea: include a /docs/ folder with text files in markdown. Those documents would automatically show up in your wporg plugin profile.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Alaska Airlines is the best airline ever</title>
      <link>https://danielbachhuber.com/alaska-airlines-is-the-best-airline-ever/</link>
      <pubDate>Sun, 21 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/alaska-airlines-is-the-best-airline-ever/</guid>
      <description>&lt;p&gt;I made the tough decision yesterday to cancel my trip to Kenya. As it turns out, buying a condo and going to Africa aren&amp;rsquo;t mutually compatible activities.&lt;/p&gt;&#xA;&lt;p&gt;Hoping for the best but expecting the worst, I called Alaska Airlines to see if I could reapply my miles to another trip. I wasn&amp;rsquo;t looking forward to wasting 80k miles.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Do you know where you would like to rebook to, or should I just put the miles back in your account?&amp;rdquo; the agent asks.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I made the tough decision yesterday to cancel my trip to Kenya. As it turns out, buying a condo and going to Africa aren&rsquo;t mutually compatible activities.</p>
<p>Hoping for the best but expecting the worst, I called Alaska Airlines to see if I could reapply my miles to another trip. I wasn&rsquo;t looking forward to wasting 80k miles.</p>
<p>&ldquo;Do you know where you would like to rebook to, or should I just put the miles back in your account?&rdquo; the agent asks.</p>
<p>Whoa, no way. &ldquo;Oh, you can just put them back in my account.&rdquo;</p>
<p>&ldquo;Great. The taxes on the ticket will also be refunded, but the $25 booking fee with the partner airline is unfortunately non-refundable,&rdquo; she explains.</p>
<p>&ldquo;Sounds good.&rdquo; Best day ever, in fact.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Homemade gnocchi with sausage, and butternut squash and apple soup</title>
      <link>https://danielbachhuber.com/homemade-gnocchi-with-sausage-and-butternut-squash-and-apple-soup/</link>
      <pubDate>Sun, 21 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/homemade-gnocchi-with-sausage-and-butternut-squash-and-apple-soup/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/gnocchiandsoup1.jpg&#34; alt=&#34;gnocchiandsoup&#34;  width=&#34;1936&#34;&#xA;&#x9;height=&#34;1936&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last night we celebrated Leah&amp;rsquo;s brother&amp;rsquo;s birthday at my house. Happy birthday Sam! Our contribution to dinner was homemade gnocchi with Italian sausage, and a delicious butternut and apple soup.&lt;/p&gt;&#xA;&lt;p&gt;The gnocchi is actually &lt;a href=&#34;http://www.marthastewart.com/318919/gnocchi&#34;&gt;two&lt;/a&gt; &lt;a href=&#34;http://www.marthastewart.com/336461/gnocchi-with-tomato-sauce&#34;&gt;recipes&lt;/a&gt; on the Martha Stewart website. We used a couple of sweet potatoes in our gnocchi and added Italian sausage from the New Seasons meat counter.&lt;/p&gt;&#xA;&lt;p&gt;The soup came from my mom&amp;rsquo;s Barefoot Contessa cookbook. I remember her making it sometime in the not too distant past and loved it. The apples and apple cider are what make it unique — we used honey crisp. It&amp;rsquo;s great for a rainy fall evening.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/gnocchiandsoup1.jpg" alt="gnocchiandsoup"  width="1936"
	height="1936"  /></p>
<p>Last night we celebrated Leah&rsquo;s brother&rsquo;s birthday at my house. Happy birthday Sam! Our contribution to dinner was homemade gnocchi with Italian sausage, and a delicious butternut and apple soup.</p>
<p>The gnocchi is actually <a href="http://www.marthastewart.com/318919/gnocchi">two</a> <a href="http://www.marthastewart.com/336461/gnocchi-with-tomato-sauce">recipes</a> on the Martha Stewart website. We used a couple of sweet potatoes in our gnocchi and added Italian sausage from the New Seasons meat counter.</p>
<p>The soup came from my mom&rsquo;s Barefoot Contessa cookbook. I remember her making it sometime in the not too distant past and loved it. The apples and apple cider are what make it unique — we used honey crisp. It&rsquo;s great for a rainy fall evening.</p>
<h2 id="gnocci-with-tomato-sauce">Gnocci with Tomato Sauce</h2>
<h3 id="ingredients">Ingredients</h3>
<ul>
<li>2 pounds Idaho or russet potatoes</li>
<li>2 large eggs, lightly beaten</li>
<li>Coarse salt</li>
<li>Pinch of freshly ground white pepper</li>
<li>Freshly grated nutmeg, to taste</li>
<li>2 1/2 cups unbleached all-purpose flour, plus more for dusting</li>
<li>2 tablespoons olive oil</li>
</ul>
<h3 id="directions">Directions</h3>
<ol>
<li>Place potatoes in a large stockpot. Add water to cover by 2 inches. Bring to a boil and cook until potatoes are tender when pierced with a skewer, about 40 minutes. Drain. When cool enough to handle, peel and mash potatoes using a potato ricer. Set aside on a baking sheet until completely cooled.</li>
<li>On a cool, preferably marble, work surface, gather potatoes into a mound, forming a well in the center. In a small bowl, stir together eggs, 2 teaspoons salt, pepper, and nutmeg. Pour mixture into well. Using both hands, work potatoes and egg mixture together, gradually adding 2 cups of flour. Scrape dough from work surface with a knife as necessary. This process should not take more than 10 minutes. The longer the dough is worked, the more flour it will require and the heavier the dough will become.</li>
<li>Dust hands, dough, and work surface lightly with some of the remaining 1 cup flour. Cut dough into 6 equal portions. Using both hands, roll each piece of dough into a rope 1/2-inch thick. Continue dusting as long as dough feels sticky. Slice ropes at 1/2-inch intervals. Indent each piece with thumb, the tines of a fork, or the back of a semicircular grater to produce a ribbed effect.</li>
</ol>
<h3 id="ingredients-1">Ingredients</h3>
<ul>
<li>1 tablespoon extra-virgin olive oil</li>
<li>1 small onion, finely chopped</li>
<li>3 cloves garlic, minced</li>
<li>1/4 cup dry white wine</li>
<li>1 can (28 ounces) whole plum tomatoes with juice, crushed by hand</li>
<li>1 can (14 1/2 ounces) tomato sauce</li>
<li>2 sprigs basil</li>
<li>1/4 teaspoon crushed red pepper, flakes</li>
<li>Coarse salt and freshly ground pepper</li>
<li><a href="http://www.marthastewart.com/257772/gnocchi">Gnocchi</a></li>
<li>Thinly shaved parmesan cheese, for serving</li>
</ul>
<h3 id="directions-1">Directions</h3>
<ol>
<li>Heat oil in a large saucepan over medium heat until hot but not smoking. Add onion and garlic; cook, stirring occasionally, until onion is translucent, 5 to 7 minutes. Add wine; cook until most liquid has evaporated. Add tomatoes and juice, tomato sauce, basil, and red pepper flakes. Reduce heat to medium-low; simmer until slightly thick, about 30 minutes. Season with salt and pepper. Remove from heat; cover to keep warm.</li>
<li>Bring a large pot water to a boil; add 1 tablespoon salt. Add half of the gnocchi; when they rise to the top (after about 2 minutes), continue to cook until tender, about 15 seconds more. Transfer gnocchi with a slotted spoon to pan with sauce. Repeat process with remaining gnocchi.</li>
<li>Reheat gnocchi over low heat; gently toss. Serve with cheese shavings.</li>
</ol>
<h2 id="butternut-squash-and-apple-soup">Butternut Squash and Apple Soup</h2>
<h3 id="ingredients-2">Ingredients</h3>
<ul>
<li>2 tablespoons unsalted butter</li>
<li>2 tablespoons good olive oil</li>
<li>4 cups chopped yellow onions (3 large)</li>
<li>2 tablespoons mild curry powder</li>
<li>5 pounds butternut squash (2 large)</li>
<li>1 1/2 pounds sweet apples, such as McIntosh (4 apples)</li>
<li>2 teaspoons kosher salt</li>
<li>1/2 teaspoon freshly ground black pepper</li>
<li>2 cups good apple juice or cider</li>
</ul>
<h3 id="directions-2">DIRECTIONS</h3>
<p>Warm the butter and olive oil in a large stockpot over low heat. Add the onions and curry powder and cook, uncovered, for 15 to 20 minutes, until the onions are tender. Stir occasionally, scraping the bottom of the pot.</p>
<p>Peel the squash, cut in half, and remove the seeds. Cut the squash into chunks. Peel, quarter, and core the apples. Cut into chunks.</p>
<p>Add the squash, apples, salt, pepper, and two cups of water to the pot. Bring to a boil, then cover, reduce the heat to low, and cook for 30 to 40 minutes, until the squash and apples are very soft. Process the soup through a food mill fitted with a large blade, or puree coarsely in the bowl of a food processor fitted with a steel blade.</p>
<p>Pour the soup back into the pot. Add the apple juice and enough water to make the soup the consistency you like; it should be slightly sweet and quite thick. Check the salt and pepper and serve hot.</p>]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-136/</link>
      <pubDate>Sat, 20 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-136/</guid>
      <description>&lt;p&gt;Leah: &amp;ldquo;I just thought of the best costume idea in case we decide to do the run like hell half marathon on Sunday&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Me: &amp;ldquo;Pumpkins?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Leah: &amp;ldquo;No, you be Mitt Romney and ill be a binder full of women. :)&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Leah: &ldquo;I just thought of the best costume idea in case we decide to do the run like hell half marathon on Sunday&rdquo;</p>
<p>Me: &ldquo;Pumpkins?&rdquo;</p>
<p>Leah: &ldquo;No, you be Mitt Romney and ill be a binder full of women. :)&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Samsung Galaxy S3: First day impressions</title>
      <link>https://danielbachhuber.com/samsung-galaxy-s3-first-day-impressions/</link>
      <pubDate>Thu, 18 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/samsung-galaxy-s3-first-day-impressions/</guid>
      <description>&lt;p&gt;After &lt;a href=&#34;http://danielbachhuber.com/2012/10/17/the-phone-dilemma/&#34;&gt;this morning&amp;rsquo;s existential crisis&lt;/a&gt; over which phone to buy, I bit the bullet and upgraded to a Samsung Galaxy S3. I&amp;rsquo;d have to say I&amp;rsquo;m pleasantly surprised.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what I like about it: - Jelly Bean is amazing. The device was preinstalled with bloatware. There was even a Yellow Pages app. Fortunately it&amp;rsquo; pretty straight forward to root the device and make it run how Google intended for it to run. - Deep Google integration. My life is in-sync in ways I never imagined it would be. In particular, I&amp;rsquo;m pointing at contacts and browser settings. Plus there&amp;rsquo;s a Gmail app. Plus there&amp;rsquo;s a dedicated Google Reader app. - The hardware. Applications load and respond faster, LTE stands for &amp;ldquo;light speed&amp;rdquo;, and I&amp;rsquo;m quite enjoying the haptic feedback. The dedicated back button is nice too, although takes getting used too.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After <a href="http://danielbachhuber.com/2012/10/17/the-phone-dilemma/">this morning&rsquo;s existential crisis</a> over which phone to buy, I bit the bullet and upgraded to a Samsung Galaxy S3. I&rsquo;d have to say I&rsquo;m pleasantly surprised.</p>
<p>Here&rsquo;s what I like about it: - Jelly Bean is amazing. The device was preinstalled with bloatware. There was even a Yellow Pages app. Fortunately it&rsquo; pretty straight forward to root the device and make it run how Google intended for it to run. - Deep Google integration. My life is in-sync in ways I never imagined it would be. In particular, I&rsquo;m pointing at contacts and browser settings. Plus there&rsquo;s a Gmail app. Plus there&rsquo;s a dedicated Google Reader app. - The hardware. Applications load and respond faster, LTE stands for &ldquo;light speed&rdquo;, and I&rsquo;m quite enjoying the haptic feedback. The dedicated back button is nice too, although takes getting used too.</p>
<p>Here&rsquo;s what I&rsquo;m still not sure about: - The form factor. The S3 is difficult to maneuver at times with one hand, and seems to always want two. - Battery life. It could be worse than my old iPhone 4, which would be bad. - Some of the UX decisions. I haven&rsquo;t decided as to whether they&rsquo;re bad, or just a different paradigm than iOS. Keyboard layout, auto-complete, and copy and paste come to mind most immediately. - The apps. It&rsquo;s obvious that some, like Evernote, may have actually been designed for Android first and then ported over to iOS. Others, I may or may not be looking at you Remember the Milk, are the awkward younger siblings. Like really awkward. Although the situation is probably a lot better now than it was at the beginning.</p>
<p>We&rsquo;ll see if this decision sticks, or whether I go crying back to iOS.</p>
<p>P.S. The lists aren&rsquo;t properly formatted because I didn&rsquo;t want to take the time to manually type each HTML tag. WordPress for Android could use love too.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The phone dilemma</title>
      <link>https://danielbachhuber.com/the-phone-dilemma/</link>
      <pubDate>Wed, 17 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-phone-dilemma/</guid>
      <description>&lt;p&gt;I have a two year-old iPhone 4 I need to upgrade.&lt;/p&gt;&#xA;&lt;p&gt;The iPhone 5 is out of the picture because of the different form factor. My Mophie won&amp;rsquo;t work with it, and there aren&amp;rsquo;t any cases for it yet.&lt;/p&gt;&#xA;&lt;p&gt;This morning, I went into both an AT&amp;amp;T store and an Apple store. Apparently the only iPhone 4S I can purchase is the 16GB. This would be a significant downgrade from the 32GB model that I&amp;rsquo;m currently using 26GB of. Furthermore, because I&amp;rsquo;m using my mom&amp;rsquo;s upgrade, buying a new iPhone at the Apple store would mean that my mom&amp;rsquo;s line would be deactivated until I ran over to the AT&amp;amp;T store to reactivate it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I have a two year-old iPhone 4 I need to upgrade.</p>
<p>The iPhone 5 is out of the picture because of the different form factor. My Mophie won&rsquo;t work with it, and there aren&rsquo;t any cases for it yet.</p>
<p>This morning, I went into both an AT&amp;T store and an Apple store. Apparently the only iPhone 4S I can purchase is the 16GB. This would be a significant downgrade from the 32GB model that I&rsquo;m currently using 26GB of. Furthermore, because I&rsquo;m using my mom&rsquo;s upgrade, buying a new iPhone at the Apple store would mean that my mom&rsquo;s line would be deactivated until I ran over to the AT&amp;T store to reactivate it.</p>
<p>I&rsquo;m taking this as a sign I should finally make the switch to Android. What should I get instead?</p>
]]></content:encoded>
    </item>
    <item>
      <title>P2 Resolved Posts v0.3: Register your own post states</title>
      <link>https://danielbachhuber.com/p2-resolved-posts-v0-3-register-your-own-post-states/</link>
      <pubDate>Tue, 16 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/p2-resolved-posts-v0-3-register-your-own-post-states/</guid>
      <description>&lt;p&gt;P2 Resolved Posts is a &lt;a href=&#34;http://wordpress.org/extend/plugins/p2-resolved-posts/&#34;&gt;nifty plugin&lt;/a&gt; we use at Automattic, in conjunction with the stellar &lt;a href=&#34;http://p2theme.com/&#34;&gt;P2 theme&lt;/a&gt;, to help better ensure decisions aren&amp;rsquo;t left hanging and things get done. This third release of the plugin allows you to register your own custom post states.&lt;/p&gt;&#xA;&lt;p&gt;For instance, if I wanted to have a post &amp;ldquo;Waiting Review&amp;rdquo; before it was marked unresolved, I could add something like the following to my theme&amp;rsquo;s functions.php:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>P2 Resolved Posts is a <a href="http://wordpress.org/extend/plugins/p2-resolved-posts/">nifty plugin</a> we use at Automattic, in conjunction with the stellar <a href="http://p2theme.com/">P2 theme</a>, to help better ensure decisions aren&rsquo;t left hanging and things get done. This third release of the plugin allows you to register your own custom post states.</p>
<p>For instance, if I wanted to have a post &ldquo;Waiting Review&rdquo; before it was marked unresolved, I could add something like the following to my theme&rsquo;s functions.php:</p>
<p><code>P2ResolvedPosts()-&gt;add_state( 'waiting-review', 'Waiting Review', array( 'before' =&gt; 'unresolved' ) );</code></p>
<p>The third argument is the position of the state. It can be &lsquo;first&rsquo; or &rsquo;last&rsquo;, or &lsquo;before&rsquo; =&gt; &lsquo;state&rsquo; or &lsquo;after&rsquo; =&gt; &lsquo;state&rsquo;.</p>
<p>Alternatively, you can remove a state if you no longer find it useful.</p>
<p>Getting this feature out the door required a fair amount of refactoring. It&rsquo;s been running stable on WordPress.com for a couple of weeks — the most awesome way to beta test. Feel free to post any feedback, issues, feature requests, etc. in the <a href="http://wordpress.org/tags/p2-resolved-posts?forum_id=10">WordPress.org forums</a>. You can also <a href="https://github.com/Automattic/P2-Resolved-Posts">fork the plugin on Github</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Splashdown in Lake Union</title>
      <link>https://danielbachhuber.com/splashdown-in-lake-union/</link>
      <pubDate>Tue, 16 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/splashdown-in-lake-union/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/64846823?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;For a special treat this morning, Leah and I took a floatplane from Victoria to Seattle. It was amazing.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/64846823?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>For a special treat this morning, Leah and I took a floatplane from Victoria to Seattle. It was amazing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-129/</link>
      <pubDate>Tue, 16 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-129/</guid>
      <description>&lt;p&gt;Words used in tonight&amp;rsquo;s game of bananagrams: menial, shod, qat, arse, dun, quires, zed, azure.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Words used in tonight&rsquo;s game of bananagrams: menial, shod, qat, arse, dun, quires, zed, azure.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-128/</link>
      <pubDate>Sun, 14 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-128/</guid>
      <description>&lt;p&gt;This morning: Ran along the Victoria waterfront, drank hot tea in the rain on the walk back, and ate a delicious breakfast of waffles and bacon with Leah and her grandparents. It&amp;rsquo;s nice to slow things down every once in a while.&lt;/p&gt;&#xA;&lt;p&gt;Oh, and we&amp;rsquo;re thinking about taking a floatplane back to Seattle on Tuesday. Fingers-crossed that it works out.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning: Ran along the Victoria waterfront, drank hot tea in the rain on the walk back, and ate a delicious breakfast of waffles and bacon with Leah and her grandparents. It&rsquo;s nice to slow things down every once in a while.</p>
<p>Oh, and we&rsquo;re thinking about taking a floatplane back to Seattle on Tuesday. Fingers-crossed that it works out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Portland Marathon in 4:01:51</title>
      <link>https://danielbachhuber.com/portland-marathon-in-40151/</link>
      <pubDate>Mon, 08 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/portland-marathon-in-40151/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/sundaydreaming2.jpeg&#34; alt=&#34;sundaydreaming&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;If I was in the Army, my nickname at work tomorrow would be Major Chafeage.&lt;/p&gt;&#xA;&lt;p&gt;This morning, Leah and I completed our first ever marathon with a net time of 4:01:51. Considering I, somewhat stupidly, &lt;a href=&#34;http://danielbachhuber.com/2012/10/06/view-from-the-top/&#34;&gt;climbed Table Mountain yesterday&lt;/a&gt;, it was awesome to have such a great finish. Highlights of the course include great weather, a beautiful jaunt across the St. Johns Bridge, and copious amounts of gummy bears. The first 18 miles were strong. After that, my energy level dropped significantly and I dosed on said gummy bears to get to the finish line.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/sundaydreaming2.jpeg" alt="sundaydreaming"  width="2400"
	height="1793"  /></p>
<p>If I was in the Army, my nickname at work tomorrow would be Major Chafeage.</p>
<p>This morning, Leah and I completed our first ever marathon with a net time of 4:01:51. Considering I, somewhat stupidly, <a href="http://danielbachhuber.com/2012/10/06/view-from-the-top/">climbed Table Mountain yesterday</a>, it was awesome to have such a great finish. Highlights of the course include great weather, a beautiful jaunt across the St. Johns Bridge, and copious amounts of gummy bears. The first 18 miles were strong. After that, my energy level dropped significantly and I dosed on said gummy bears to get to the finish line.</p>
<p>&ldquo;Let&rsquo;s do the ultra,&rdquo; Leah says first at breakfast and then again this evening, referring to the <a href="http://www.orrc.net/races/autumnleaves/autumnleaves.htm">Autumn Leaves 50/50</a> happening at the end of the month. Heh, we&rsquo;ll see.</p>
<p><img src="images/img_88612.jpeg" alt="img_8861"  width="2400"
	height="1600"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>View from the top</title>
      <link>https://danielbachhuber.com/view-from-the-top/</link>
      <pubDate>Sat, 06 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/view-from-the-top/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/13495584371.jpg&#34; alt=&#34;1349558437.jpg&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;448&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Spittle and I climbed Table Mountain today - this was our view from the top. Fun, challenging walk up Heartbreak Ridge had me essentially front-pointing the entire time. And my calves are a bit sore. The ridge we took down was so windy we had to squat a few times to keep from getting blown off our feet.&lt;/p&gt;&#xA;&lt;p&gt;Now we&amp;rsquo;re at East Wind Drive-In getting soft serve. Pretty sweet way to spend the day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/13495584371.jpg" alt="1349558437.jpg"  width="600"
	height="448"  /></p>
<p>Spittle and I climbed Table Mountain today - this was our view from the top. Fun, challenging walk up Heartbreak Ridge had me essentially front-pointing the entire time. And my calves are a bit sore. The ridge we took down was so windy we had to squat a few times to keep from getting blown off our feet.</p>
<p>Now we&rsquo;re at East Wind Drive-In getting soft serve. Pretty sweet way to spend the day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Git in my Subversion</title>
      <link>https://danielbachhuber.com/git-in-my-subversion/</link>
      <pubDate>Sun, 30 Sep 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/git-in-my-subversion/</guid>
      <description>&lt;p&gt;Two weeks ago, I discovered magic: it&amp;rsquo;s possible to initialize a Git repo inside of Subversion (SVN).&lt;/p&gt;&#xA;&lt;p&gt;Since the advent of Github as a leading collaboration platform, I&amp;rsquo;ve forever been trying to reconcile the Git to SVN workflow. Progress is faster in Git(hub) because it&amp;rsquo;s a far superior platform for fostering contributions. Seamless pull requests are much nicer than the multi-step process of creating and uploading patches. Distribution still happens in SVN, however, because many legacy deploy systems are coupled to it. Etsy took the leap of switching from SVN to Git, and &lt;a href=&#34;http://codeascraft.etsy.com/2011/12/02/moving-from-svn-to-git-in-1000-easy-steps/&#34;&gt;essentially recommends against it&lt;/a&gt;. For the time being, we need to be able to live with both.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Two weeks ago, I discovered magic: it&rsquo;s possible to initialize a Git repo inside of Subversion (SVN).</p>
<p>Since the advent of Github as a leading collaboration platform, I&rsquo;ve forever been trying to reconcile the Git to SVN workflow. Progress is faster in Git(hub) because it&rsquo;s a far superior platform for fostering contributions. Seamless pull requests are much nicer than the multi-step process of creating and uploading patches. Distribution still happens in SVN, however, because many legacy deploy systems are coupled to it. Etsy took the leap of switching from SVN to Git, and <a href="http://codeascraft.etsy.com/2011/12/02/moving-from-svn-to-git-in-1000-easy-steps/">essentially recommends against it</a>. For the time being, we need to be able to live with both.</p>
<p>Two years ago (almost to the day), I wrote a post called &ldquo;<a href="http://danielbachhuber.com/2010/09/29/how-to-properly-use-git-with-wordpress-org-subversion/">How to properly use Git with WordPress.org Subversion</a>.&rdquo; The thing is though — it wasn&rsquo;t ever properly using Git with SVN. It was grinding the two tools together like a sixteen year-old learning to drive a stick. Furthermore, if I ever nuked my Git repo, I&rsquo;d have to wait literally for hours to run <code>git svn fetch</code> on the WordPress.org repo. Boone <a href="http://teleogistic.net/2011/05/revisiting-git-github-and-the-wordpress-org-plugin-repository/">has worked in a similar way for a while</a>; I eventually gave up and started copying my files over manually when I needed to release. Mo does this with <a href="http://adcodemanager.wordpress.com/2012/06/25/synced-over-the-extent-of-this-commit-to/#comment-103">an rsync command</a>.</p>
<p>A recent stroke of insight has changed my outlook on life, improved how I sleep, increased my libido, and generally made me a much happier developer. It&rsquo;s this: Git and SVN can live side-by-side in the same directory. You just need to tell them to ignore each other.</p>
<p>This afternoon, for instance, I decided to spend a little bit of time on <a href="http://editflow.org/">Edit Flow</a>. I like to develop Edit Flow locally, keep the WordPress.com VIP shared plugins repo version on the bleeding edge, and occasionally release a version on WordPress.org. Because I haven&rsquo;t yet applied this &ldquo;Git in my Subversion&rdquo; approach to what&rsquo;s in the latter two repos, let me now walk through what that looks like.</p>
<p>The first thing you should do is edit the &ldquo;svn:ignore&rdquo; property on your existing SVN repo. You can do so with:</p>
<p><code>svn propedit svn:ignore edit-flow</code></p>
<p>In this situation, I specifically want SVN to ignore two things: .git and .gitignore. Add those, save, and commit. SVN will now respect Git&rsquo;s living style.</p>
<p>Next, change into your target directory and initialize a new Git repo. Running the following pulls my full remote project into the working directory:</p>
<p><code>git remote add -f origin https://github.com/danielbachhuber/Edit-Flow.git</code></p>
<p><em>But</em>, if I run <code>git status</code>, I&rsquo;ll see that my local working files aren&rsquo;t tracked by Git, I can&rsquo;t checkout master or change branches, and Git is flummoxed. Don&rsquo;t worry — as long as you&rsquo;ve kept Git as master, and ported your SVN commits back to Git, you can run:</p>
<p><code>git checkout -f master</code></p>
<p>Boom, Git in my Subversion. Running <code>git status</code> I notice there&rsquo;s a lot of .svn junk I don&rsquo;t want tracked in my repo, so I create a <a href="https://help.github.com/articles/ignoring-files">.gitignore file</a> to handle those (on WordPress.com trunk, I also ignore the wpcom-helper.php file we use for every community plugin to handle local action and filter modifications). The integration is complete.</p>
<p>With Git and SVN side-by-side, I can easily pull features I&rsquo;ve developed locally into the VIP shared plugins repo, VIPs can create pull requests for community plugins, and I can push hotfixes discovered by WordPress.com usage back to the Git(hub) master project. It works well because Git and SVN are tracking the same files, but I don&rsquo;t have to get them to live together harmoniously — they just ignore each other. Git-SVN be damned, this is much better.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-134/</link>
      <pubDate>Mon, 24 Sep 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-134/</guid>
      <description>&lt;p&gt;Ran &lt;a href=&#34;http://runkeeper.com/user/danielbachhuber/activity/120357770&#34;&gt;twenty miles&lt;/a&gt; this morning, the last long one before the marathon two weeks from now. The first half involved running down to the waterfront and doing a few loops — it felt great. The second half became increasingly more difficult because I ignored Leah&amp;rsquo;s advice to fuel early and often. Lesson learned.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://qz.com/&#34;&gt;Quartz&lt;/a&gt; also launched this morning. It&amp;rsquo;s the bleeding-edge of what&amp;rsquo;s being built on top of WordPress. I&amp;rsquo;m excited to see how the application continues to evolve and, being a long-time Economist reader, doubly excited to become an active reader. Quartz brings new meaning to the phrase &amp;ldquo;Powered by WordPress.com VIP.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ran <a href="http://runkeeper.com/user/danielbachhuber/activity/120357770">twenty miles</a> this morning, the last long one before the marathon two weeks from now. The first half involved running down to the waterfront and doing a few loops — it felt great. The second half became increasingly more difficult because I ignored Leah&rsquo;s advice to fuel early and often. Lesson learned.</p>
<p><a href="http://qz.com/">Quartz</a> also launched this morning. It&rsquo;s the bleeding-edge of what&rsquo;s being built on top of WordPress. I&rsquo;m excited to see how the application continues to evolve and, being a long-time Economist reader, doubly excited to become an active reader. Quartz brings new meaning to the phrase &ldquo;Powered by WordPress.com VIP.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>VIP plugin idea: Tips inbox</title>
      <link>https://danielbachhuber.com/vip-plugin-idea-tips-inbox/</link>
      <pubDate>Fri, 21 Sep 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/vip-plugin-idea-tips-inbox/</guid>
      <description>&lt;p&gt;Quick plugin idea from a conversation with Scott from Grist: use Post By Email available on WordPress.com to funnel press releases, story ideas, etc. into the dashboard.&lt;/p&gt;&#xA;&lt;p&gt;Upon importing, these would be saved to a custom post type that allows you to comment on the pitch, indicate that you&amp;rsquo;re working on the story, or punt it far, far away.&lt;/p&gt;&#xA;&lt;p&gt;Seems like a fun hack to me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Quick plugin idea from a conversation with Scott from Grist: use Post By Email available on WordPress.com to funnel press releases, story ideas, etc. into the dashboard.</p>
<p>Upon importing, these would be saved to a custom post type that allows you to comment on the pitch, indicate that you&rsquo;re working on the story, or punt it far, far away.</p>
<p>Seems like a fun hack to me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>An economy of abundance</title>
      <link>https://danielbachhuber.com/an-economy-of-abundance/</link>
      <pubDate>Fri, 07 Sep 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/an-economy-of-abundance/</guid>
      <description>&lt;p&gt;The key question: how can we better conceptualize the switch from an economy of scarcity to an economy of abundance?&lt;/p&gt;&#xA;&lt;p&gt;Last night, Leah and I had the fantastic opportunity to fly down to San Francisco to hear Tim O&amp;rsquo;Reilly &lt;a href=&#34;http://longnow.org/seminars/02012/sep/05/birth-global-mind/&#34;&gt;speak&lt;/a&gt; about the birth of the global mind. As a long time listener of the podcast, it&amp;rsquo;s always been my dream to attend a Seminar About Long-Term Thinking. The essence of Tim&amp;rsquo;s talk is well-encapsulated in an &lt;a href=&#34;http://www.ft.com/cms/s/2/a4bce7e8-e32b-11e0-bb55-00144feabdc0.html&#34;&gt;essay of the same title&lt;/a&gt;. One idea &lt;a href=&#34;https://twitter.com/danielbachhuber/statuses/243548770451738624&#34;&gt;posed&lt;/a&gt; in Stewart Brand&amp;rsquo;s interview at the end touches in the nature of economy in the information age.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The key question: how can we better conceptualize the switch from an economy of scarcity to an economy of abundance?</p>
<p>Last night, Leah and I had the fantastic opportunity to fly down to San Francisco to hear Tim O&rsquo;Reilly <a href="http://longnow.org/seminars/02012/sep/05/birth-global-mind/">speak</a> about the birth of the global mind. As a long time listener of the podcast, it&rsquo;s always been my dream to attend a Seminar About Long-Term Thinking. The essence of Tim&rsquo;s talk is well-encapsulated in an <a href="http://www.ft.com/cms/s/2/a4bce7e8-e32b-11e0-bb55-00144feabdc0.html">essay of the same title</a>. One idea <a href="https://twitter.com/danielbachhuber/statuses/243548770451738624">posed</a> in Stewart Brand&rsquo;s interview at the end touches in the nature of economy in the information age.</p>
<p>Economy, in my perspective, is our way of understanding how we work together. We take many things about it for granted — GDP as a measurement of growth, monetary instruments as our tools for transaction — that aren&rsquo;t actually hard truths. They exist because at some point along the way we invented them to make our society more prosperous with less effort.</p>
<p>A peculiar situation has manifested itself. Most recently with the web, we&rsquo;re inventing newer, better ways to function together that are essentially &ldquo;extra-economy,&rdquo; or outside how we normally measure economic activity. In these systems, far more value is being created than being captured; and for many, the generated value and associated recognition is more important than financial gain because they lead to influence.</p>
<p>For instance, in what I do with Automattic&rsquo;s WordPress.com VIP team, a not-insignificant amount of my time each day is spent contributing to open source projects. We don&rsquo;t directly monetize this work but it generates value that trickles back to us. Releasing our liveblogging plugin has already resulted in several useful contributions from the community. Making money from open source is a hack though, as our currencies are based in scarcity and our peer economies are based in abundance. In the latter, the more people participating means the more everyone benefits.</p>
<p>Our bootstrapping of a new mode of economy is happening hand in hand with another trend: increased productivity making certain types of jobs obsolete. A hundred years ago, the number of people involved in food production was X while today it has dropped to Y, a ten-fold decrease. While we don&rsquo;t yet have the nutrition we need, we&rsquo;ve certainly been able to meet our caloric numbers. Douglas Rushkoff <a href="http://danielbachhuber.com/2011/09/09/are-jobs%c2%a0obsolete/">observes</a> &ldquo;we’re living in an economy where productivity is no longer the goal, employment is.&rdquo; For our government, the focus is to keep the populace in jobs, because unemployment breeds discontent and has a perceived negative impact on our traditional perspective of economy.</p>
<p>I have no idea what comes next. I see an economy of abundance as generative, whose engine is creativity in the very literal sense of the word. And it&rsquo;s additive too; what&rsquo;s mine can be yours and vice versa. Don&rsquo;t ask me &ldquo;how do I make money?&rdquo; because I don&rsquo;t know. That&rsquo;s the old way of measuring economy and we haven&rsquo;t invented the new one.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Trekking the Cordillera Blanca, July 2012</title>
      <link>https://danielbachhuber.com/trekking-the-cordillera-blanca-july-2012/</link>
      <pubDate>Mon, 27 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/trekking-the-cordillera-blanca-july-2012/</guid>
      <description>&lt;p&gt;One thing I learned: altitude sickness can be a tough mother. Our foray through Punta Union at 15,300 is the highest I&amp;rsquo;ve ever been. For a great narrative, read Leah&amp;rsquo;s &lt;a href=&#34;http://blog.leahrolson.com/2012/08/04/trekking-the-cordillera-blanca-part-i/&#34;&gt;two&lt;/a&gt; &lt;a href=&#34;http://blog.leahrolson.com/2012/08/06/trekking-the-cordillera-blancas-part-ii/&#34;&gt;part&lt;/a&gt; series.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07981.jpg&#34; alt=&#34;img_07981.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07991.jpg&#34; alt=&#34;img_07991.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08011.jpg&#34; alt=&#34;img_08011.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08031.jpg&#34; alt=&#34;img_08031.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08041.jpg&#34; alt=&#34;img_08041.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08051.jpg&#34; alt=&#34;img_08051.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08061.jpg&#34; alt=&#34;img_08061.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08071.jpg&#34; alt=&#34;img_08071.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08101.jpg&#34; alt=&#34;img_08101.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08151.jpg&#34; alt=&#34;img_08151.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08161.jpg&#34; alt=&#34;img_08161.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08171.jpg&#34; alt=&#34;img_08171.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08181.jpg&#34; alt=&#34;img_08181.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08201.jpg&#34; alt=&#34;img_08201.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08211.jpg&#34; alt=&#34;img_08211.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08241.jpg&#34; alt=&#34;img_08241.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08251.jpg&#34; alt=&#34;img_08251.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08271.jpg&#34; alt=&#34;img_08271.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08311.jpg&#34; alt=&#34;img_08311.jpg&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;1280&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08321.jpg&#34; alt=&#34;img_08321.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08341.jpg&#34; alt=&#34;img_08341.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08361.jpg&#34; alt=&#34;img_08361.jpg&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;1280&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08381.jpg&#34; alt=&#34;img_08381.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08391.jpg&#34; alt=&#34;img_08391.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08401.jpg&#34; alt=&#34;img_08401.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08411.jpg&#34; alt=&#34;img_08411.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08421.jpg&#34; alt=&#34;img_08421.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08441.jpg&#34; alt=&#34;img_08441.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08451.jpg&#34; alt=&#34;img_08451.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08471.jpg&#34; alt=&#34;img_08471.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08491.jpg&#34; alt=&#34;img_08491.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08501.jpg&#34; alt=&#34;img_08501.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08521.jpg&#34; alt=&#34;img_08521.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08541.jpg&#34; alt=&#34;img_08541.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08551.jpg&#34; alt=&#34;img_08551.jpg&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;1280&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08561.jpg&#34; alt=&#34;img_08561.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08571.jpg&#34; alt=&#34;img_08571.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08581.jpg&#34; alt=&#34;img_08581.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08591.jpg&#34; alt=&#34;img_08591.jpg&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;1280&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08601.jpg&#34; alt=&#34;img_08601.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08611.jpg&#34; alt=&#34;img_08611.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08631.jpg&#34; alt=&#34;img_08631.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08651.jpg&#34; alt=&#34;img_08651.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08661.jpg&#34; alt=&#34;img_08661.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08681.jpg&#34; alt=&#34;img_08681.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08751.jpg&#34; alt=&#34;img_08751.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08761.jpg&#34; alt=&#34;img_08761.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08781.jpg&#34; alt=&#34;img_08781.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08791.jpg&#34; alt=&#34;img_08791.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08811.jpg&#34; alt=&#34;img_08811.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08821.jpg&#34; alt=&#34;img_08821.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08841.jpg&#34; alt=&#34;img_08841.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08851.jpg&#34; alt=&#34;img_08851.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08881.jpg&#34; alt=&#34;img_08881.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08891.jpg&#34; alt=&#34;img_08891.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08901.jpg&#34; alt=&#34;img_08901.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08911.jpg&#34; alt=&#34;img_08911.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08971.jpg&#34; alt=&#34;img_08971.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08981.jpg&#34; alt=&#34;img_08981.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_08991.jpg&#34; alt=&#34;img_08991.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09001.jpg&#34; alt=&#34;img_09001.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09021.jpg&#34; alt=&#34;img_09021.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09031.jpg&#34; alt=&#34;img_09031.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09051.jpg&#34; alt=&#34;img_09051.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09071.jpg&#34; alt=&#34;img_09071.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09081.jpg&#34; alt=&#34;img_09081.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09091.jpg&#34; alt=&#34;img_09091.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09101.jpg&#34; alt=&#34;img_09101.jpg&#34;  width=&#34;960&#34;&#xA;&#x9;height=&#34;1280&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09121.jpg&#34; alt=&#34;img_09121.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09151.jpg&#34; alt=&#34;img_09151.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09161.jpg&#34; alt=&#34;img_09161.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09191.jpg&#34; alt=&#34;img_09191.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09201.jpg&#34; alt=&#34;img_09201.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_09211.jpg&#34; alt=&#34;img_09211.jpg&#34;  width=&#34;1280&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One thing I learned: altitude sickness can be a tough mother. Our foray through Punta Union at 15,300 is the highest I&rsquo;ve ever been. For a great narrative, read Leah&rsquo;s <a href="http://blog.leahrolson.com/2012/08/04/trekking-the-cordillera-blanca-part-i/">two</a> <a href="http://blog.leahrolson.com/2012/08/06/trekking-the-cordillera-blancas-part-ii/">part</a> series.</p>
<p><img src="images/img_07981.jpg" alt="img_07981.jpg"  width="1280"
	height="960"  />
<img src="images/img_07991.jpg" alt="img_07991.jpg"  width="1280"
	height="960"  />
<img src="images/img_08011.jpg" alt="img_08011.jpg"  width="1280"
	height="960"  />
<img src="images/img_08031.jpg" alt="img_08031.jpg"  width="1280"
	height="960"  />
<img src="images/img_08041.jpg" alt="img_08041.jpg"  width="1280"
	height="960"  />
<img src="images/img_08051.jpg" alt="img_08051.jpg"  width="1280"
	height="960"  />
<img src="images/img_08061.jpg" alt="img_08061.jpg"  width="1280"
	height="960"  />
<img src="images/img_08071.jpg" alt="img_08071.jpg"  width="1280"
	height="960"  />
<img src="images/img_08101.jpg" alt="img_08101.jpg"  width="1280"
	height="960"  />
<img src="images/img_08151.jpg" alt="img_08151.jpg"  width="1280"
	height="960"  />
<img src="images/img_08161.jpg" alt="img_08161.jpg"  width="1280"
	height="960"  />
<img src="images/img_08171.jpg" alt="img_08171.jpg"  width="1280"
	height="960"  />
<img src="images/img_08181.jpg" alt="img_08181.jpg"  width="1280"
	height="960"  />
<img src="images/img_08201.jpg" alt="img_08201.jpg"  width="1280"
	height="960"  />
<img src="images/img_08211.jpg" alt="img_08211.jpg"  width="1280"
	height="960"  />
<img src="images/img_08241.jpg" alt="img_08241.jpg"  width="1280"
	height="960"  />
<img src="images/img_08251.jpg" alt="img_08251.jpg"  width="1280"
	height="960"  />
<img src="images/img_08271.jpg" alt="img_08271.jpg"  width="1280"
	height="960"  />
<img src="images/img_08311.jpg" alt="img_08311.jpg"  width="960"
	height="1280"  />
<img src="images/img_08321.jpg" alt="img_08321.jpg"  width="1280"
	height="960"  />
<img src="images/img_08341.jpg" alt="img_08341.jpg"  width="1280"
	height="960"  />
<img src="images/img_08361.jpg" alt="img_08361.jpg"  width="960"
	height="1280"  />
<img src="images/img_08381.jpg" alt="img_08381.jpg"  width="1280"
	height="960"  />
<img src="images/img_08391.jpg" alt="img_08391.jpg"  width="1280"
	height="960"  />
<img src="images/img_08401.jpg" alt="img_08401.jpg"  width="1280"
	height="960"  />
<img src="images/img_08411.jpg" alt="img_08411.jpg"  width="1280"
	height="960"  />
<img src="images/img_08421.jpg" alt="img_08421.jpg"  width="1280"
	height="960"  />
<img src="images/img_08441.jpg" alt="img_08441.jpg"  width="1280"
	height="960"  />
<img src="images/img_08451.jpg" alt="img_08451.jpg"  width="1280"
	height="960"  />
<img src="images/img_08471.jpg" alt="img_08471.jpg"  width="1280"
	height="960"  />
<img src="images/img_08491.jpg" alt="img_08491.jpg"  width="1280"
	height="960"  />
<img src="images/img_08501.jpg" alt="img_08501.jpg"  width="1280"
	height="960"  />
<img src="images/img_08521.jpg" alt="img_08521.jpg"  width="1280"
	height="960"  />
<img src="images/img_08541.jpg" alt="img_08541.jpg"  width="1280"
	height="960"  />
<img src="images/img_08551.jpg" alt="img_08551.jpg"  width="960"
	height="1280"  />
<img src="images/img_08561.jpg" alt="img_08561.jpg"  width="1280"
	height="960"  />
<img src="images/img_08571.jpg" alt="img_08571.jpg"  width="1280"
	height="960"  />
<img src="images/img_08581.jpg" alt="img_08581.jpg"  width="1280"
	height="960"  />
<img src="images/img_08591.jpg" alt="img_08591.jpg"  width="960"
	height="1280"  />
<img src="images/img_08601.jpg" alt="img_08601.jpg"  width="1280"
	height="960"  />
<img src="images/img_08611.jpg" alt="img_08611.jpg"  width="1280"
	height="960"  />
<img src="images/img_08631.jpg" alt="img_08631.jpg"  width="1280"
	height="960"  />
<img src="images/img_08651.jpg" alt="img_08651.jpg"  width="1280"
	height="960"  />
<img src="images/img_08661.jpg" alt="img_08661.jpg"  width="1280"
	height="960"  />
<img src="images/img_08681.jpg" alt="img_08681.jpg"  width="1280"
	height="960"  />
<img src="images/img_08751.jpg" alt="img_08751.jpg"  width="1280"
	height="960"  />
<img src="images/img_08761.jpg" alt="img_08761.jpg"  width="1280"
	height="960"  />
<img src="images/img_08781.jpg" alt="img_08781.jpg"  width="1280"
	height="960"  />
<img src="images/img_08791.jpg" alt="img_08791.jpg"  width="1280"
	height="960"  />
<img src="images/img_08811.jpg" alt="img_08811.jpg"  width="1280"
	height="960"  />
<img src="images/img_08821.jpg" alt="img_08821.jpg"  width="1280"
	height="960"  />
<img src="images/img_08841.jpg" alt="img_08841.jpg"  width="1280"
	height="960"  />
<img src="images/img_08851.jpg" alt="img_08851.jpg"  width="1280"
	height="960"  />
<img src="images/img_08881.jpg" alt="img_08881.jpg"  width="1280"
	height="960"  />
<img src="images/img_08891.jpg" alt="img_08891.jpg"  width="1280"
	height="960"  />
<img src="images/img_08901.jpg" alt="img_08901.jpg"  width="1280"
	height="960"  />
<img src="images/img_08911.jpg" alt="img_08911.jpg"  width="1280"
	height="960"  />
<img src="images/img_08971.jpg" alt="img_08971.jpg"  width="1280"
	height="960"  />
<img src="images/img_08981.jpg" alt="img_08981.jpg"  width="1280"
	height="960"  />
<img src="images/img_08991.jpg" alt="img_08991.jpg"  width="1280"
	height="960"  />
<img src="images/img_09001.jpg" alt="img_09001.jpg"  width="1280"
	height="960"  />
<img src="images/img_09021.jpg" alt="img_09021.jpg"  width="1280"
	height="960"  />
<img src="images/img_09031.jpg" alt="img_09031.jpg"  width="1280"
	height="960"  />
<img src="images/img_09051.jpg" alt="img_09051.jpg"  width="1280"
	height="960"  />
<img src="images/img_09071.jpg" alt="img_09071.jpg"  width="1280"
	height="960"  />
<img src="images/img_09081.jpg" alt="img_09081.jpg"  width="1280"
	height="960"  />
<img src="images/img_09091.jpg" alt="img_09091.jpg"  width="1280"
	height="960"  />
<img src="images/img_09101.jpg" alt="img_09101.jpg"  width="960"
	height="1280"  />
<img src="images/img_09121.jpg" alt="img_09121.jpg"  width="1280"
	height="960"  />
<img src="images/img_09151.jpg" alt="img_09151.jpg"  width="1280"
	height="960"  />
<img src="images/img_09161.jpg" alt="img_09161.jpg"  width="1280"
	height="960"  />
<img src="images/img_09191.jpg" alt="img_09191.jpg"  width="1280"
	height="960"  />
<img src="images/img_09201.jpg" alt="img_09201.jpg"  width="1280"
	height="960"  />
<img src="images/img_09211.jpg" alt="img_09211.jpg"  width="1280"
	height="960"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Hood to Coast 2012</title>
      <link>https://danielbachhuber.com/hood-to-coast-2012/</link>
      <pubDate>Sun, 26 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hood-to-coast-2012/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20120825-1917021.jpg&#34; alt=&#34;20120825-191702.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;765&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;They call it &amp;ldquo;the mother of all relays.&amp;rdquo; I call it another check mark on the list of life goals.&lt;/p&gt;&#xA;&lt;p&gt;It surprises me how enjoyable the race was, after years of hearing horror stories from my mom.&lt;/p&gt;&#xA;&lt;p&gt;The team, filled with complete strangers to me save one, was an absolute joy to share the hardship with. As I write this, they&amp;rsquo;re playing diddies with kazoos someone brought.&lt;/p&gt;&#xA;&lt;p&gt;Leah, taking over some organizational responsibility for the team, picked up the best possible pre- and post-run food for the vans. Turkey jerky, bananas with almond butter, lots of water, and fruit leather meant we were adequately nourished all of the way through.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20120825-1917021.jpg" alt="20120825-191702.jpg"  width="1024"
	height="765"  /></p>
<p>They call it &ldquo;the mother of all relays.&rdquo; I call it another check mark on the list of life goals.</p>
<p>It surprises me how enjoyable the race was, after years of hearing horror stories from my mom.</p>
<p>The team, filled with complete strangers to me save one, was an absolute joy to share the hardship with. As I write this, they&rsquo;re playing diddies with kazoos someone brought.</p>
<p>Leah, taking over some organizational responsibility for the team, picked up the best possible pre- and post-run food for the vans. Turkey jerky, bananas with almond butter, lots of water, and fruit leather meant we were adequately nourished all of the way through.</p>
<p>Oh, and the running itself. <em>Amazing</em>. Great routes through the countryside, each passing a lot quicker than I expected.</p>
<p>Leg 8 started at 4:30 pm Friday just west of Sandy and ended before Boring. I completed the 4.55 miles in 33 minutes (7:15 pace), roadkilling 11 people along the way.</p>
<p><img src="images/20120825-1918391.jpg" alt="20120825-191839.jpg"  width="1024"
	height="765"  /></p>
<p>Leg 20 looked like the picture above — up and up and up. And it was my middle of the night run to boot. Fortunately, I slept a few hours. I nailed it. Finished 5.75 miles in 47 minutes (8:10 pace), roadkilling 31 poor suckers along the way.</p>
<p>Leah and I decided to do our last two runs together. Leg 31 and 32 were four miles a piece. These eight miles wound through the coastal basin just before Seaside. Looking back, it may not have been the best idea to double our mileage during the last part of the relay. I&rsquo;m glad we pulled it off, and also happy we didn&rsquo;t time it.</p>
<p>Just about time for beach, beer, and burgers!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Current iPhone screen</title>
      <link>https://danielbachhuber.com/current-iphone-screen/</link>
      <pubDate>Thu, 16 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/current-iphone-screen/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20120816-1601451.jpg&#34; alt=&#34;20120816-160145.jpg&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Notable arrivals: ForeFlight and Rdio. Other than that, &lt;a href=&#34;http://danielbachhuber.com/2011/05/24/iphone-home-screen-52411/&#34;&gt;not much has changed&lt;/a&gt;. &lt;a href=&#34;http://andrewspittle.net/2012/08/15/current-iphone-screen/&#34;&gt;Here&amp;rsquo;s Andrew&amp;rsquo;s&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20120816-1601451.jpg" alt="20120816-160145.jpg"  width="640"
	height="960"  /></p>
<p>Notable arrivals: ForeFlight and Rdio. Other than that, <a href="http://danielbachhuber.com/2011/05/24/iphone-home-screen-52411/">not much has changed</a>. <a href="http://andrewspittle.net/2012/08/15/current-iphone-screen/">Here&rsquo;s Andrew&rsquo;s</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcsf: The Zen of WP Development</title>
      <link>https://danielbachhuber.com/wcsf-the-zen-of-wp-development/</link>
      <pubDate>Sun, 05 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcsf-the-zen-of-wp-development/</guid>
      <description>&lt;p&gt;The Zen of WP Development is being one with the code, and creating compelling web experiences with proper uses of the core API. It involves:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Focusing on the question at hand, and ignoring distractions.&lt;/li&gt;&#xA;&lt;li&gt;Distilling complex situations into simpler parts.&lt;/li&gt;&#xA;&lt;li&gt;Pulling from deep knowledge of the codebase to understand how APIs interact.&lt;/li&gt;&#xA;&lt;li&gt;Striving for elegant solutions always.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Today, I was invited to present my perspective at WordCamp San Francisco. These are my slides. My notes are posted below them.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The Zen of WP Development is being one with the code, and creating compelling web experiences with proper uses of the core API. It involves:</p>
<ul>
<li>Focusing on the question at hand, and ignoring distractions.</li>
<li>Distilling complex situations into simpler parts.</li>
<li>Pulling from deep knowledge of the codebase to understand how APIs interact.</li>
<li>Striving for elegant solutions always.</li>
</ul>
<p>Today, I was invited to present my perspective at WordCamp San Francisco. These are my slides. My notes are posted below them.</p>
<p><img src="images/201208presentation-zenofwp-0181.jpg" alt="201208presentation-zenofwp-0181.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0191.jpg" alt="201208presentation-zenofwp-0191.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0201.jpg" alt="201208presentation-zenofwp-0201.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0211.jpg" alt="201208presentation-zenofwp-0211.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0221.jpg" alt="201208presentation-zenofwp-0221.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0231.jpg" alt="201208presentation-zenofwp-0231.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0241.jpg" alt="201208presentation-zenofwp-0241.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0251.jpg" alt="201208presentation-zenofwp-0251.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0261.jpg" alt="201208presentation-zenofwp-0261.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0271.jpg" alt="201208presentation-zenofwp-0271.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0281.jpg" alt="201208presentation-zenofwp-0281.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0291.jpg" alt="201208presentation-zenofwp-0291.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0301.jpg" alt="201208presentation-zenofwp-0301.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0311.jpg" alt="201208presentation-zenofwp-0311.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0321.jpg" alt="201208presentation-zenofwp-0321.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0331.jpg" alt="201208presentation-zenofwp-0331.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0341.jpg" alt="201208presentation-zenofwp-0341.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0351.jpg" alt="201208presentation-zenofwp-0351.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0361.jpg" alt="201208presentation-zenofwp-0361.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0371.jpg" alt="201208presentation-zenofwp-0371.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0381.jpg" alt="201208presentation-zenofwp-0381.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0391.jpg" alt="201208presentation-zenofwp-0391.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0401.jpg" alt="201208presentation-zenofwp-0401.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0411.jpg" alt="201208presentation-zenofwp-0411.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0421.jpg" alt="201208presentation-zenofwp-0421.jpg"  width="1024"
	height="768"  />
<img src="images/201208presentation-zenofwp-0431.jpg" alt="201208presentation-zenofwp-0431.jpg"  width="1024"
	height="768"  /></p>
<h3 id="be-intimately-aware-ofyour-environment">Be intimately aware of your environment</h3>
<p><strong>Know thy codebase</strong></p>
<p>Key to being able to manipulate your environment is knowing the rules by which the environment operates.</p>
<p>“Why is the sky blue?” you might ask. “Well, defraction. The atoms in the sky scatter blue light more than any other.”</p>
<p>Similarly, you might ask, “why is my custom URI redirecting to a page when I’ve explicitly registered the rewrite rule?” and discover a canonical redirect conflict you need to disable.</p>
<p>If you don’t already, you’ll eventually know core inside and out. Here are a few places you can get started:</p>
<ul>
<li>wp-includes/formatting.php - Some of your functions for sanitizing input and formatting output, including esc_*(), sanitize_*(), and capital_P_dangit()</li>
<li>wp-includes/post.php - Post manipulation, including register_post_type(), get_posts(), etc.</li>
<li>wp-includes/rewrite.php - See how WordPress translates request URIs</li>
<li>wp-includes/query.php - Reference for modifying the Query</li>
<li>wp-includes/pluggable.php - Functions you can override in your theme or plugin</li>
</ul>
<p><strong>Master the tools of the trade</strong></p>
<p>Tools are another key way to gather situational knowledge. Gather more information to make a decision.</p>
<p>The <a href="http://wordpress.org/extend/plugins/developer/">Developer plugin</a> was released to help bring more consistency across developer environments. VIP works with dozens of developers every day. We want to make sure they’re writing clean code as effectively as they can. In addition to installing suggested plugins, it does some basic environment checking (e.g. is WP_DEBUG set to true). The <a href="https://github.com/Automattic/developer">plugin is on Github</a> and we welcome your pull requests.</p>
<p>Some of the plugins it installs are:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/debug-bar-cron/">Debug Bar Cron</a> - Inspect cron entries</li>
<li><a href="http://wordpress.org/extend/plugins/user-switching/">User Switching</a> - Easily switch between users to test roles and capabilities</li>
<li><a href="http://wordpress.org/extend/plugins/rewrite-rules-inspector/">Rewrite Rule Inspector</a> - See how a request URI is interpreted by WordPress</li>
</ul>
<h3 id="best-practices-are-healthy-ingredients-for-your-code">Best practices are healthy ingredients for your code</h3>
<p><strong>Prefix everything</strong></p>
<p>Prefix all the things! Avoid fatal collisions in global namespace. It doesn’t happen often, but it never needs to happen.</p>
<p>Also, don’t declare functions within functions. If the parent function is called twice, you’ll see a fatal error when the second function.</p>
<p><strong>Commit wisely</strong></p>
<p>Commit messages are one of your greatest opportunities to make your mark in history. When you are gone, your commit messages will live on.</p>
<p>Write them wisely. Recounting what you’ve changed is a good sanity check. More important is to explain why you’re making the change.</p>
<p>Why does the duplicate code exist in the common plugins directory? Is it there mistakenly, or is code being migrated? What was the background context for its being?</p>
<p>When writing a commit message, you’re writing for two audiences:</p>
<ul>
<li>Your colleagues, so they can learn from the personal growth you experienced in preparing your changeset</li>
<li>Your future self, so you can put yourself back in your shoes and remember why you made the change you did</li>
</ul>
<p>It’s also tremendously helpful to link to context if there is any, Trac ticket or otherwise.</p>
<h3 id="focus-on-choosing-the-proper-hooks-and-apis">Focus on choosing the proper hooks and APIs</h3>
<p><em>Run through the slides in this particular section as they describe it plenty.</em></p>
<p>Most importantly:</p>
<p>Code is a conversation. Read others’ code; have them read yours.</p>
]]></content:encoded>
    </item>
    <item>
      <title>SideCar</title>
      <link>https://danielbachhuber.com/sidecar/</link>
      <pubDate>Mon, 30 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sidecar/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2008/05/29/adhoc-transportation/&#34;&gt;Four years ago&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Here’s the problem&lt;/strong&gt;: I, like many people I know, drive too many places all alone in my car.  One person in a three ton metal vehicle that could easily transport five.  To move all of that mass around, with such unused, waste internal space, is an inefficient use of energy.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Here’s one solution&lt;/strong&gt;: ad-hoc transportation.  Capitalizing on the triple convergence between location-aware devices (iPhone 2 on June 9th, anyone?), social networking (Facebook, Twitter, et al), and an absurd number of nearly empty cars on the road (suburban America), the goal should be to connect people with people who are pointed in the same destination.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://danielbachhuber.com/2008/05/29/adhoc-transportation/">Four years ago</a>:</p>
<blockquote>
<p><strong>Here’s the problem</strong>: I, like many people I know, drive too many places all alone in my car.  One person in a three ton metal vehicle that could easily transport five.  To move all of that mass around, with such unused, waste internal space, is an inefficient use of energy.</p>
<p><strong>Here’s one solution</strong>: ad-hoc transportation.  Capitalizing on the triple convergence between location-aware devices (iPhone 2 on June 9th, anyone?), social networking (Facebook, Twitter, et al), and an absurd number of nearly empty cars on the road (suburban America), the goal should be to connect people with people who are pointed in the same destination.</p></blockquote>
<p>It&rsquo;s here, and it&rsquo;s called <a href="http://www.side.cr/">SideCar</a>. I&rsquo;m <em>very</em> intrigued to see where this startup goes. Thanks <a href="http://alexgoodell.com/">Alex</a> for the tip.</p>
]]></content:encoded>
    </item>
    <item>
      <title>180 degrees south</title>
      <link>https://danielbachhuber.com/180-degrees-south/</link>
      <pubDate>Fri, 20 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/180-degrees-south/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s easy to lose sight of the bigger picture in the smog of every day busyness. Constant emails and things to do can point you in a direction you simply assume is progress.&lt;/p&gt;&#xA;&lt;p&gt;Project shipped — on to the next one. Always working towards more, better, faster. Busy, busy Baxton.&lt;/p&gt;&#xA;&lt;p&gt;In some senses, I think connectedness makes us a surrogate for the goals of the network. We lose our individuality. I have always been a wanderer, and even I have been subsumed.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s easy to lose sight of the bigger picture in the smog of every day busyness. Constant emails and things to do can point you in a direction you simply assume is progress.</p>
<p>Project shipped — on to the next one. Always working towards more, better, faster. Busy, busy Baxton.</p>
<p>In some senses, I think connectedness makes us a surrogate for the goals of the network. We lose our individuality. I have always been a wanderer, and even I have been subsumed.</p>
<p>Tonight, I&rsquo;m flying down to Peru to meet up with Leah and do some good old fashioned trekking. She&rsquo;s been in-country since last week, <a href="http://blog.leahrolson.com/2012/07/18/peru-a-day-in-the-life/">working up a storm</a>. I hear Belen Hospital may even soon have a website on WordPress.com. We&rsquo;ll meet in Lima and take a bus to Huaraz.</p>
<p>Huaraz is known as one of the best launch points in South America for outdoor adventure. It sits at 10,000 feet in a valley nestled between two of the tallest mountain ranges in the world. We&rsquo;ll spend a day or so getting our gear together and adjusting to the altitude. Once we&rsquo;re ready, a three or four day trek on the <a href="http://www.huaraz.com/santacruz/english.html">Santa Cruz trail</a> awaits.</p>
<p>For reading material, I have William Hertling&rsquo;s <em>AI Apocalypse</em> (sequel to the epic <em>Avogadro Corp.</em>), Vikram Chandra&rsquo;s <em>Sacred Games</em>, and <em>Cutting for Stone</em> by Abraham Verghese. To occupy the hours of walking and dinners made over a camp stove, I have the best traveling companion in the world.</p>
<p>The unexamined life may not be worth living, but I find it harder and harder every day to put aside time to examine it. Fortunately, there are still many adventures to be had. In those adventures I can find the opportunity to wander.</p>
<p>¡Hasta luego! See you all on the 29th.</p>
]]></content:encoded>
    </item>
    <item>
      <title>P2 Resolved Posts v0.2: Mark new as unresolved and audit log</title>
      <link>https://danielbachhuber.com/p2-resolved-posts-v0-2-mark-new-as-unresolved-and-audit-log/</link>
      <pubDate>Thu, 19 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/p2-resolved-posts-v0-2-mark-new-as-unresolved-and-audit-log/</guid>
      <description>&lt;p&gt;P2 Resolved Posts is a &lt;a href=&#34;http://wordpress.org/extend/plugins/p2-resolved-posts/&#34;&gt;nifty plugin&lt;/a&gt; we use at Automattic, in conjunction with the stellar &lt;a href=&#34;http://p2theme.com/&#34;&gt;P2 theme&lt;/a&gt;, to help ensure decisions aren&amp;rsquo;t left hanging and things get done. This second formal release of the plugin incorporates the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Automatically mark new posts as unresolved by adding &lt;code&gt;add_filter( &#39;p2_resolved_posts_mark_new_as_unresolved&#39;, &#39;__return_true&#39; );&lt;/code&gt; to your theme&amp;rsquo;s functions.php. &lt;a href=&#34;http://wordpress.org/support/topic/plugin-p2-resolved-posts-default-to-unresolved&#34;&gt;Thanks macmeister for the request&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Audit log records who changes the post state and when they change it. View the audit log by hovering over the action link.&lt;/li&gt;&#xA;&lt;li&gt;wp-cli command for the plugin includes a subcommand for programmatically changing the state of a post.&lt;/li&gt;&#xA;&lt;li&gt;Includes a POT file for localization. Translations welcome!&lt;/li&gt;&#xA;&lt;li&gt;Displays an error notice if you&amp;rsquo;ve activated the plugin but P2 isn&amp;rsquo;t the currently active theme.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/Automattic/P2-Resolved-Posts&#34;&gt;Fork the plugin on Github&lt;/a&gt;. In particular, I&amp;rsquo;d love to see an &lt;a href=&#34;https://github.com/Automattic/P2-Resolved-Posts/issues/7&#34;&gt;interface for assigning a post to yourself&lt;/a&gt;. Please post any feedback, issues, feature requests, etc. in the &lt;a href=&#34;http://wordpress.org/tags/p2-resolved-posts?forum_id=10&#34;&gt;WordPress.org forums&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>P2 Resolved Posts is a <a href="http://wordpress.org/extend/plugins/p2-resolved-posts/">nifty plugin</a> we use at Automattic, in conjunction with the stellar <a href="http://p2theme.com/">P2 theme</a>, to help ensure decisions aren&rsquo;t left hanging and things get done. This second formal release of the plugin incorporates the following:</p>
<ul>
<li>Automatically mark new posts as unresolved by adding <code>add_filter( 'p2_resolved_posts_mark_new_as_unresolved', '__return_true' );</code> to your theme&rsquo;s functions.php. <a href="http://wordpress.org/support/topic/plugin-p2-resolved-posts-default-to-unresolved">Thanks macmeister for the request</a>.</li>
<li>Audit log records who changes the post state and when they change it. View the audit log by hovering over the action link.</li>
<li>wp-cli command for the plugin includes a subcommand for programmatically changing the state of a post.</li>
<li>Includes a POT file for localization. Translations welcome!</li>
<li>Displays an error notice if you&rsquo;ve activated the plugin but P2 isn&rsquo;t the currently active theme.</li>
</ul>
<p><a href="https://github.com/Automattic/P2-Resolved-Posts">Fork the plugin on Github</a>. In particular, I&rsquo;d love to see an <a href="https://github.com/Automattic/P2-Resolved-Posts/issues/7">interface for assigning a post to yourself</a>. Please post any feedback, issues, feature requests, etc. in the <a href="http://wordpress.org/tags/p2-resolved-posts?forum_id=10">WordPress.org forums</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Run along the Charles</title>
      <link>https://danielbachhuber.com/run-along-the-charles/</link>
      <pubDate>Sun, 15 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/run-along-the-charles/</guid>
      <description>&lt;p&gt;There are days you know you won&amp;rsquo;t end up with the mileage you want. Today, in accordance to the &lt;a href=&#34;http://www.halhigdon.com/training/51140/Marathon-Intermediate-2-Training-Program&#34;&gt;marathon training regimen&lt;/a&gt; I&amp;rsquo;m following, I was supposed to run 14. Instead, &lt;a href=&#34;http://runkeeper.com/user/danielbachhuber/activity/102079632&#34;&gt;I only managed 8.24&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, it&amp;rsquo;s because it&amp;rsquo;s already 81 degrees towards a beautiful day, and not because of sleet, injury, or crime.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There are days you know you won&rsquo;t end up with the mileage you want. Today, in accordance to the <a href="http://www.halhigdon.com/training/51140/Marathon-Intermediate-2-Training-Program">marathon training regimen</a> I&rsquo;m following, I was supposed to run 14. Instead, <a href="http://runkeeper.com/user/danielbachhuber/activity/102079632">I only managed 8.24</a>.</p>
<p>Fortunately, it&rsquo;s because it&rsquo;s already 81 degrees towards a beautiful day, and not because of sleet, injury, or crime.</p>
]]></content:encoded>
    </item>
    <item>
      <title>4th of July at the beach</title>
      <link>https://danielbachhuber.com/4th-of-july-at-the-beach/</link>
      <pubDate>Sun, 08 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/4th-of-july-at-the-beach/</guid>
      <description>&lt;p&gt;Nothing says freedom from British tyranny better than a beautiful day at the coast. Check out &lt;a href=&#34;http://blog.leahrolson.com/2012/07/06/fourth-of-july-in-manzanita/&#34;&gt;Leah&amp;rsquo;s report&lt;/a&gt; for the full narrative.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07231.jpg&#34; alt=&#34;img_07231&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07241.jpg&#34; alt=&#34;img_07241&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07251.jpg&#34; alt=&#34;img_07251&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07291.jpg&#34; alt=&#34;img_07291&#34;  width=&#34;900&#34;&#xA;&#x9;height=&#34;1200&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07321.jpg&#34; alt=&#34;img_07321&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07421.jpg&#34; alt=&#34;img_07421&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07441.jpg&#34; alt=&#34;img_07441&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_07541.jpg&#34; alt=&#34;img_07541&#34;  width=&#34;1200&#34;&#xA;&#x9;height=&#34;900&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Nothing says freedom from British tyranny better than a beautiful day at the coast. Check out <a href="http://blog.leahrolson.com/2012/07/06/fourth-of-july-in-manzanita/">Leah&rsquo;s report</a> for the full narrative.</p>
<p><img src="images/img_07231.jpg" alt="img_07231"  width="1200"
	height="900"  />
<img src="images/img_07241.jpg" alt="img_07241"  width="1200"
	height="900"  />
<img src="images/img_07251.jpg" alt="img_07251"  width="1200"
	height="900"  />
<img src="images/img_07291.jpg" alt="img_07291"  width="900"
	height="1200"  />
<img src="images/img_07321.jpg" alt="img_07321"  width="1200"
	height="900"  />
<img src="images/img_07421.jpg" alt="img_07421"  width="1200"
	height="900"  />
<img src="images/img_07441.jpg" alt="img_07441"  width="1200"
	height="900"  />
<img src="images/img_07541.jpg" alt="img_07541"  width="1200"
	height="900"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Climbing South Sister</title>
      <link>https://danielbachhuber.com/climbing-south-sister/</link>
      <pubDate>Sun, 08 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/climbing-south-sister/</guid>
      <description>&lt;p&gt;Summit!&lt;/p&gt;&#xA;&lt;p&gt;After driving to Bend Friday night, Robin, Leah, Gordon and I woke up at 6 am to take our shot at climbing South Sister. I&amp;rsquo;ve done it &lt;a href=&#34;http://www.youtube.com/watch?v=ptS8n0tOFMg&#34;&gt;a couple times before&lt;/a&gt;; it was girls&amp;rsquo; first time, and Leah&amp;rsquo;s first attempt at a glaciated peak. Escaping the many mosquitos at Devil&amp;rsquo;s Lake by 7:15 am, we hiked up and up and up to summit just around 11:50 am. On the way back down, we managed a bit of hot glissading action (see video below images).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Summit!</p>
<p>After driving to Bend Friday night, Robin, Leah, Gordon and I woke up at 6 am to take our shot at climbing South Sister. I&rsquo;ve done it <a href="http://www.youtube.com/watch?v=ptS8n0tOFMg">a couple times before</a>; it was girls&rsquo; first time, and Leah&rsquo;s first attempt at a glaciated peak. Escaping the many mosquitos at Devil&rsquo;s Lake by 7:15 am, we hiked up and up and up to summit just around 11:50 am. On the way back down, we managed a bit of hot glissading action (see video below images).</p>
<p>South Sister is a great introduction to mountaineering. It&rsquo;s physically demanding and provides some amount of high mountain exposure, but technically tame (no crampons or ice axe needed). If you&rsquo;re tempted to check it out, the conditions should be favorable through the end of September. <a href="http://www.everytrail.com/guide/south-sister-summit">Here&rsquo;s a good route description</a>.</p>
<p><img src="images/img_07591.jpg" alt="img_07591.jpg"  width="1200"
	height="900"  />
<img src="images/img_07601.jpg" alt="img_07601.jpg"  width="1200"
	height="900"  />
<img src="images/img_07641.jpg" alt="img_07641.jpg"  width="900"
	height="1200"  />
<img src="images/img_07691.jpg" alt="img_07691.jpg"  width="1200"
	height="900"  />
<img src="images/img_07711.jpg" alt="img_07711.jpg"  width="1200"
	height="900"  />
<img src="images/img_07741.jpg" alt="img_07741.jpg"  width="1200"
	height="900"  />
<img src="images/img_07771.jpg" alt="img_07771.jpg"  width="1200"
	height="900"  />
<img src="images/img_07781.jpg" alt="img_07781.jpg"  width="1200"
	height="900"  />
<img src="images/img_07791.jpg" alt="img_07791.jpg"  width="1200"
	height="900"  />
<img src="images/img_07851.jpg" alt="img_07851.jpg"  width="1200"
	height="900"  />
<img src="images/img_07881.jpg" alt="img_07881.jpg"  width="1200"
	height="900"  />
<img src="images/img_07941.jpg" alt="img_07941.jpg"  width="1200"
	height="900"  />
<img src="images/img_07951.jpg" alt="img_07951.jpg"  width="1200"
	height="900"  /></p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69047122?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

]]></content:encoded>
    </item>
    <item>
      <title>Team VIP meetup in Italy</title>
      <link>https://danielbachhuber.com/team-vip-meetup-in-italy/</link>
      <pubDate>Sun, 01 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/team-vip-meetup-in-italy/</guid>
      <description>&lt;p&gt;We ate chocolate, we drank wine, we flew helicopter over Assisi.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06481-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06521-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06571-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06601-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06691-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06731-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06811-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06841-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06871-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06941-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06951-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_06971-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07011-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07031-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07051-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_07091-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;      &lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/69048517?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>We ate chocolate, we drank wine, we flew helicopter over Assisi.</p>
<ul>
<li>
<p><img src="images/img_06481-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06521-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
</li>
<li>
<p><img src="images/img_06571-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
</li>
<li>
<p><img src="images/img_06601-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06691-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06731-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06811-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06841-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06871-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06941-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06951-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_06971-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_07011-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
<li>
<p><img src="images/img_07031-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
</li>
<li>
<p><img src="images/img_07051-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
</li>
<li>
<p><img src="images/img_07091-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
</li>
</ul>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69048517?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

]]></content:encoded>
    </item>
    <item>
      <title>Walking in the Lake District</title>
      <link>https://danielbachhuber.com/walking-in-the-lake-district/</link>
      <pubDate>Sun, 01 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/walking-in-the-lake-district/</guid>
      <description>&lt;p&gt;&amp;lsquo;Twas the best of times, &amp;rsquo;twas the worst of times. We had beautiful weather, we got a flat tyre 300 miles from home.&lt;/p&gt;&#xA;&lt;p&gt;On June 9th and 10th, I fulfilled a life-long dream of walking in the Lake District, originally inspired by Bill Bryson&amp;rsquo;s &lt;em&gt;Notes from a Small Island&lt;/em&gt;. My friend DJ, who&amp;rsquo;s been &lt;a href=&#34;http://djstrouse.com/mid-year-dispatch-from-england-part-i-life-at-churchill-college/&#34;&gt;doing&lt;/a&gt; &lt;a href=&#34;http://djstrouse.com/mid-year-dispatch-from-england-part-ii-life-in-england/&#34;&gt;good&lt;/a&gt; &lt;a href=&#34;http://djstrouse.com/mid-year-dispatch-from-england-part-iii-life-in-cambridge/&#34;&gt;work&lt;/a&gt; at Cambridge this past year, invited me to join his walking club for a weekend in Northern England. We had a great feast Friday night at Trinity College, an unexpected delight, and woke up early Saturday morning to drive six hours.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&lsquo;Twas the best of times, &rsquo;twas the worst of times. We had beautiful weather, we got a flat tyre 300 miles from home.</p>
<p>On June 9th and 10th, I fulfilled a life-long dream of walking in the Lake District, originally inspired by Bill Bryson&rsquo;s <em>Notes from a Small Island</em>. My friend DJ, who&rsquo;s been <a href="http://djstrouse.com/mid-year-dispatch-from-england-part-i-life-at-churchill-college/">doing</a> <a href="http://djstrouse.com/mid-year-dispatch-from-england-part-ii-life-in-england/">good</a> <a href="http://djstrouse.com/mid-year-dispatch-from-england-part-iii-life-in-cambridge/">work</a> at Cambridge this past year, invited me to join his walking club for a weekend in Northern England. We had a great feast Friday night at Trinity College, an unexpected delight, and woke up early Saturday morning to drive six hours.</p>
<p>Our destination was the hills around Ennerdale Water. Once we arrived, we quickly put on our hiking shoes and walked several kilometers up the valley to the Black Sail hikers lodge. The weather was reasonble, but an uncertain barometer for the next day (the Lake Distict is known for cold rain and howling wind).</p>
<p>Fortunately, we lucked out. Sunday started out nice and only got nicer. We walked up Steeple Peak to access jaw-dropping views towards the Isle of Man. What amazed me were the well-maintained stone fences threading up, down, and all around the hills. The area around wasn&rsquo;t desolate but it certainly wasn&rsquo;t well-populated.</p>
<p>After a wonderful day on the trail, we returned to an extremely, screw-through-the-treads flat tyre. That misery isn&rsquo;t a story worth repeating.</p>
<p><img src="images/img_05141.jpg" alt="img_05141.jpg"  width="1200"
	height="900"  />
<img src="images/img_05241.jpg" alt="img_05241.jpg"  width="1200"
	height="900"  />
<img src="images/img_05391.jpg" alt="img_05391.jpg"  width="1200"
	height="900"  />
<img src="images/img_05461.jpg" alt="img_05461.jpg"  width="1200"
	height="900"  />
<img src="images/img_05521.jpg" alt="img_05521.jpg"  width="1200"
	height="900"  />
<img src="images/img_05551.jpg" alt="img_05551.jpg"  width="1200"
	height="900"  />
<img src="images/img_05601.jpg" alt="img_05601.jpg"  width="1200"
	height="900"  />
<img src="images/img_05631.jpg" alt="img_05631.jpg"  width="1200"
	height="900"  />
<img src="images/img_05661.jpg" alt="img_05661.jpg"  width="1200"
	height="900"  />
<img src="images/img_05681.jpg" alt="img_05681.jpg"  width="1200"
	height="900"  />
<img src="images/img_05731.jpg" alt="img_05731.jpg"  width="1200"
	height="900"  />
<img src="images/img_05801.jpg" alt="img_05801.jpg"  width="900"
	height="1200"  />
<img src="images/img_05941.jpg" alt="img_05941.jpg"  width="900"
	height="1200"  />
<img src="images/img_05991.jpg" alt="img_05991.jpg"  width="1200"
	height="900"  />
<img src="images/img_06051.jpg" alt="img_06051.jpg"  width="1200"
	height="900"  />
<img src="images/img_06081.jpg" alt="img_06081.jpg"  width="1200"
	height="900"  />
<img src="images/img_06091.jpg" alt="img_06091.jpg"  width="1200"
	height="900"  />
<img src="images/img_06151.jpg" alt="img_06151.jpg"  width="1200"
	height="900"  />
<img src="images/img_06261.jpg" alt="img_06261.jpg"  width="1200"
	height="900"  />
<img src="images/img_06271.jpg" alt="img_06271.jpg"  width="1200"
	height="900"  />
<img src="images/img_06291.jpg" alt="img_06291.jpg"  width="1200"
	height="900"  />
<img src="images/img_06311.jpg" alt="img_06311.jpg"  width="1200"
	height="900"  />
<img src="images/img_06331.jpg" alt="img_06331.jpg"  width="1200"
	height="900"  />
<img src="images/img_06341.jpg" alt="img_06341.jpg"  width="900"
	height="1200"  />
<img src="images/img_06351.jpg" alt="img_06351.jpg"  width="1200"
	height="900"  />
<img src="images/img_06391.jpg" alt="img_06391.jpg"  width="1200"
	height="900"  />
<img src="images/img_06401.jpg" alt="img_06401.jpg"  width="1200"
	height="900"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Pacific Crest Half-Marathon</title>
      <link>https://danielbachhuber.com/pacific-crest-half-marathon/</link>
      <pubDate>Sat, 23 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/pacific-crest-half-marathon/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20120623-1040581.jpg&#34; alt=&#34;20120623-104058.jpg&#34;  width=&#34;657&#34;&#xA;&#x9;height=&#34;438&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;We kick ass. This morning we finished our second half-marathon and beat our personal record by three minutes at twice the altitude. Now we&amp;rsquo;re going to eat burgers.&amp;rdquo; - Leah&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;This girl is crazy. Over the last forty-eight hours, I&amp;rsquo;ve pulled an all-nighter, run eight miles around Rome, flown 14 hours back to Portland, and drove four hours to Sunriver. Somehow she convinced me to wake up at 6 am and run a half-marathon with her. I&amp;rsquo;ll be eating my burgers in the hot tub.&amp;rdquo; - Daniel&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20120623-1040581.jpg" alt="20120623-104058.jpg"  width="657"
	height="438"  /></p>
<p>&ldquo;We kick ass. This morning we finished our second half-marathon and beat our personal record by three minutes at twice the altitude. Now we&rsquo;re going to eat burgers.&rdquo; - Leah</p>
<p>&ldquo;This girl is crazy. Over the last forty-eight hours, I&rsquo;ve pulled an all-nighter, run eight miles around Rome, flown 14 hours back to Portland, and drove four hours to Sunriver. Somehow she convinced me to wake up at 6 am and run a half-marathon with her. I&rsquo;ll be eating my burgers in the hot tub.&rdquo; - Daniel</p>
]]></content:encoded>
    </item>
    <item>
      <title>How you might &#34;open source (almost) everything&#34;</title>
      <link>https://danielbachhuber.com/how-you-might-open-source-almost-everything/</link>
      <pubDate>Sun, 03 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-you-might-open-source-almost-everything/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d like to identify ways in which Automattic can release more code as open source by default.&lt;/p&gt;&#xA;&lt;p&gt;In the WordPress.com repository, there&amp;rsquo;s a fair amount of code in use that&amp;rsquo;s never seen the light of day. Bits and pieces of this code would probably be useful to other people, and subsequently be improved as more developers read, implemented, and found new uses for it.&lt;/p&gt;&#xA;&lt;p&gt;Open source is a unique and tremendously important phenomenon because it enables people to create more economic value than they could with previous collaborative frameworks. It&amp;rsquo;s &amp;ldquo;one of the most important ideas of our generation.&amp;rdquo; Automattic as a company believes this too; on the first page of our internal company documentation, Matt Mullenweg says, &amp;ldquo;I’m fine with releasing basically any code on WordPress.com that isn’t our password files.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;d like to identify ways in which Automattic can release more code as open source by default.</p>
<p>In the WordPress.com repository, there&rsquo;s a fair amount of code in use that&rsquo;s never seen the light of day. Bits and pieces of this code would probably be useful to other people, and subsequently be improved as more developers read, implemented, and found new uses for it.</p>
<p>Open source is a unique and tremendously important phenomenon because it enables people to create more economic value than they could with previous collaborative frameworks. It&rsquo;s &ldquo;one of the most important ideas of our generation.&rdquo; Automattic as a company believes this too; on the first page of our internal company documentation, Matt Mullenweg says, &ldquo;I’m fine with releasing basically any code on WordPress.com that isn’t our password files.&rdquo;</p>
<p>However, we don&rsquo;t release as much code as we could be releasing, nor do we go about many our projects in the open source way we admire. I get the sense others in the community may agree.</p>
<p>Part of the challenge, as I perceive it, is that we (Automattic) build new functionality for WordPress.com, are lazy in our implementation, and it then becomes extra work at the end to &ldquo;release&rdquo; the functionality as a plugin. People have limited time in the day, understandably, and the last step doesn&rsquo;t get done.</p>
<p>Last month, I wrote an internal blog post identifying four ways I&rsquo;d like to see Automattic improve:</p>
<ul>
<li>Releasing (or mirroring) as much of the WordPress.com codebase as possible.</li>
<li>Building community around parts of WordPress.com infrastructure, both in terms of people who use it and people who develop for it.</li>
<li>Incorporating more third-party code into our codebase, and actively contribute back to it.</li>
<li>Modeling best practices for open source projects, including support and documentation.</li>
</ul>
<p>There was good conversation in the comments and, in somewhat typical fashion, not a lot of clarity on the takeaways.</p>
<p>Personally, I&rsquo;d like to get as much WordPress.com code into a repository that VIP developers can check out and use in their development environments. Hell, it even means they can submit patches for fixes, coincidentally as Erick Hitter just did while I&rsquo;m writing this post. I&rsquo;d like to move our existing, private shared plugins repository into a WordPress.com public plugins repository which would also contain code like the shortcodes we&rsquo;ve implemented on WordPress.com.</p>
<p>Communication is the lifeblood to open source, and the only remedy to poor communication is over-communication. For an open source project, discussion should be public, ticketing should be public, and the changelog should be public. This obviously isn&rsquo;t to say that everyone should have an equal voice — rather, everyone should have an equal opportunity to participate. Making public WordPress.com&rsquo;s internal code would be a start, but that would just be the start.</p>
<p>What other approaches do you think we could take?</p>
<p><em>If you haven&rsquo;t already, I&rsquo;d highly encourage you to read Tom Preston-Warner&rsquo;s &ldquo;<a href="http://tom.preston-werner.com/2011/11/22/open-source-everything.html">Open Source (Almost) Everything</a>&rdquo;. It&rsquo;s legit.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcsea: WordPress at the Command Line</title>
      <link>https://danielbachhuber.com/wcsea-wordpress-at-the-command-line/</link>
      <pubDate>Sat, 19 May 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcsea-wordpress-at-the-command-line/</guid>
      <description>&lt;p&gt;Today, I&amp;rsquo;ve been invited to give a talk at &lt;a href=&#34;http://2012.seattle.wordcamp.org/&#34;&gt;WordCamp Seattle&lt;/a&gt; titled &amp;ldquo;WordPress at the Command Line: An Introduction to wpshell and wp-cli&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s exactly this — an introduction, because I hope to inspire further exploration of interacting with WordPress through the command line. &lt;a href=&#34;http://wp.tutsplus.com/tutorials/using-wp-cli-for-fun-and-profit/&#34;&gt;Similar to Scribu&lt;/a&gt;, I&amp;rsquo;ve found &amp;ldquo;the keyboard is faster than the mouse&amp;rdquo; for many tasks, and that developing proficiency with the command line has dramatically increased my effectiveness as a programmer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, I&rsquo;ve been invited to give a talk at <a href="http://2012.seattle.wordcamp.org/">WordCamp Seattle</a> titled &ldquo;WordPress at the Command Line: An Introduction to wpshell and wp-cli&rdquo;.</p>
<p>It&rsquo;s exactly this — an introduction, because I hope to inspire further exploration of interacting with WordPress through the command line. <a href="http://wp.tutsplus.com/tutorials/using-wp-cli-for-fun-and-profit/">Similar to Scribu</a>, I&rsquo;ve found &ldquo;the keyboard is faster than the mouse&rdquo; for many tasks, and that developing proficiency with the command line has dramatically increased my effectiveness as a programmer.</p>
<p>So, I hope you take the time to check out <a href="http://code.trac.wordpress.org/browser/wpshell">wpshell</a> and <a href="https://github.com/wp-cli/wp-cli">wp-cli</a> (and <a href="http://betterthangrep.com/">ack</a>, for that matter). Think critically about how they can improve your workflow, and let me know what you script up!</p>
<p><img src="images/201205presentation-wordpresscli-0011.jpg" alt="201205presentation-wordpresscli-0011.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0021.jpg" alt="201205presentation-wordpresscli-0021.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0031.jpg" alt="201205presentation-wordpresscli-0031.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0041.jpg" alt="201205presentation-wordpresscli-0041.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0051.jpg" alt="201205presentation-wordpresscli-0051.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0061.jpg" alt="201205presentation-wordpresscli-0061.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0071.jpg" alt="201205presentation-wordpresscli-0071.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0081.jpg" alt="201205presentation-wordpresscli-0081.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0091.jpg" alt="201205presentation-wordpresscli-0091.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0101.jpg" alt="201205presentation-wordpresscli-0101.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0111.jpg" alt="201205presentation-wordpresscli-0111.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0121.jpg" alt="201205presentation-wordpresscli-0121.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0131.jpg" alt="201205presentation-wordpresscli-0131.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0141.jpg" alt="201205presentation-wordpresscli-0141.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0151.jpg" alt="201205presentation-wordpresscli-0151.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0161.jpg" alt="201205presentation-wordpresscli-0161.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0171.jpg" alt="201205presentation-wordpresscli-0171.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0181.jpg" alt="201205presentation-wordpresscli-0181.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0191.jpg" alt="201205presentation-wordpresscli-0191.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0201.jpg" alt="201205presentation-wordpresscli-0201.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0211.jpg" alt="201205presentation-wordpresscli-0211.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0221.jpg" alt="201205presentation-wordpresscli-0221.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0231.jpg" alt="201205presentation-wordpresscli-0231.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0241.jpg" alt="201205presentation-wordpresscli-0241.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0251.jpg" alt="201205presentation-wordpresscli-0251.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0261.jpg" alt="201205presentation-wordpresscli-0261.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0271.jpg" alt="201205presentation-wordpresscli-0271.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0281.jpg" alt="201205presentation-wordpresscli-0281.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0291.jpg" alt="201205presentation-wordpresscli-0291.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0301.jpg" alt="201205presentation-wordpresscli-0301.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0311.jpg" alt="201205presentation-wordpresscli-0311.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0321.jpg" alt="201205presentation-wordpresscli-0321.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0331.jpg" alt="201205presentation-wordpresscli-0331.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0341.jpg" alt="201205presentation-wordpresscli-0341.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0351.jpg" alt="201205presentation-wordpresscli-0351.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0361.jpg" alt="201205presentation-wordpresscli-0361.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0371.jpg" alt="201205presentation-wordpresscli-0371.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0381.jpg" alt="201205presentation-wordpresscli-0381.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0391.jpg" alt="201205presentation-wordpresscli-0391.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0401.jpg" alt="201205presentation-wordpresscli-0401.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0411.jpg" alt="201205presentation-wordpresscli-0411.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0421.jpg" alt="201205presentation-wordpresscli-0421.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0431.jpg" alt="201205presentation-wordpresscli-0431.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0441.jpg" alt="201205presentation-wordpresscli-0441.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0451.jpg" alt="201205presentation-wordpresscli-0451.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0461.jpg" alt="201205presentation-wordpresscli-0461.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0471.jpg" alt="201205presentation-wordpresscli-0471.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0481.jpg" alt="201205presentation-wordpresscli-0481.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0491.jpg" alt="201205presentation-wordpresscli-0491.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0501.jpg" alt="201205presentation-wordpresscli-0501.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0511.jpg" alt="201205presentation-wordpresscli-0511.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0521.jpg" alt="201205presentation-wordpresscli-0521.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0531.jpg" alt="201205presentation-wordpresscli-0531.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0541.jpg" alt="201205presentation-wordpresscli-0541.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0551.jpg" alt="201205presentation-wordpresscli-0551.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0561.jpg" alt="201205presentation-wordpresscli-0561.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0571.jpg" alt="201205presentation-wordpresscli-0571.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0581.jpg" alt="201205presentation-wordpresscli-0581.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0591.jpg" alt="201205presentation-wordpresscli-0591.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0601.jpg" alt="201205presentation-wordpresscli-0601.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0611.jpg" alt="201205presentation-wordpresscli-0611.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0621.jpg" alt="201205presentation-wordpresscli-0621.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0631.jpg" alt="201205presentation-wordpresscli-0631.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0641.jpg" alt="201205presentation-wordpresscli-0641.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0651.jpg" alt="201205presentation-wordpresscli-0651.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0661.jpg" alt="201205presentation-wordpresscli-0661.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0671.jpg" alt="201205presentation-wordpresscli-0671.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0681.jpg" alt="201205presentation-wordpresscli-0681.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0691.jpg" alt="201205presentation-wordpresscli-0691.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0701.jpg" alt="201205presentation-wordpresscli-0701.jpg"  width="1024"
	height="768"  />
<img src="images/201205presentation-wordpresscli-0711.jpg" alt="201205presentation-wordpresscli-0711.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Solo cross-country to Sunriver</title>
      <link>https://danielbachhuber.com/solo-cross-country-to-sunriver/</link>
      <pubDate>Sat, 12 May 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/solo-cross-country-to-sunriver/</guid>
      <description>&lt;p&gt;Took advantage of the good weather and VIP&amp;rsquo;s semi-flexible tools rotation to do my final required cross-country work before my checkride. Departed Twin Oaks for Sunriver via Salem. The flight over the Cascades was a little bumpy so I climbed up to 9,500 ft. Total time to Sunriver was 1.6 hours.&lt;/p&gt;&#xA;&lt;p&gt;For the return, I flew north from Sunriver to the Dalles and then cut down the Gorge. One of the neatest things about this trip was having what&amp;rsquo;s called flight following. This is where either Portland or Seattle has you on radar the entire time. They&amp;rsquo;ll then give you traffic advisories if your flight path is crossing another plane&amp;rsquo;s. It&amp;rsquo;s also a nice amonut of banter to keep you company as you spend a few hours solo in the cockpit. The flight back took 2.1 hours.&lt;/p&gt;&#xA;&lt;p&gt;These photos and videos are a bit of what I saw along the way (gradually improving my aerial photography).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.files.wordpress.com/2012/05/img_02901.jpg&#34;&gt;&lt;img src=&#34;images/img_029011-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Took advantage of the good weather and VIP&rsquo;s semi-flexible tools rotation to do my final required cross-country work before my checkride. Departed Twin Oaks for Sunriver via Salem. The flight over the Cascades was a little bumpy so I climbed up to 9,500 ft. Total time to Sunriver was 1.6 hours.</p>
<p>For the return, I flew north from Sunriver to the Dalles and then cut down the Gorge. One of the neatest things about this trip was having what&rsquo;s called flight following. This is where either Portland or Seattle has you on radar the entire time. They&rsquo;ll then give you traffic advisories if your flight path is crossing another plane&rsquo;s. It&rsquo;s also a nice amonut of banter to keep you company as you spend a few hours solo in the cockpit. The flight back took 2.1 hours.</p>
<p>These photos and videos are a bit of what I saw along the way (gradually improving my aerial photography).</p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_02901.jpg"><img src="images/img_029011-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0293.jpg"><img src="images/img_02931-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0307.jpg"><img src="images/img_03071-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69050504?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p><img src="images/img_03081-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0314.jpg"><img src="images/img_03141-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0323.jpg"><img src="images/img_03231-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0327.jpg"><img src="images/img_03271-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0330.jpg"><img src="images/img_03301-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>
<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0348.jpg"><img src="images/img_03481-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69050505?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p><a href="http://danielbachhuber.files.wordpress.com/2012/05/img_0300.jpg"><img src="images/img_03001-1024x768.jpg" alt=""  width="1024"
	height="768"  /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Ad Code Manager and Rewrite Rules Inspector</title>
      <link>https://danielbachhuber.com/ad-code-manager-and-rewrite-rules-inspector/</link>
      <pubDate>Wed, 09 May 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ad-code-manager-and-rewrite-rules-inspector/</guid>
      <description>&lt;p&gt;This is the week of releasing plugins!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/ad-code-manager/&#34;&gt;Ad Code Manager&lt;/a&gt; is a plugin designed to help you deal with ad codes, those short snippets of Javascript used to display advertisements on your website. This week, Rinat Khaziev of &lt;a href=&#34;http://doejo.com/&#34;&gt;Doejo&lt;/a&gt;, Jeremy Felt of &lt;a href=&#34;http://10up.com/&#34;&gt;10up&lt;/a&gt;, and I pushed v0.2, which includes these improvements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Completely reworked user interface, one that now looks and feels like much of the rest of the WordPress admin.&lt;/li&gt;&#xA;&lt;li&gt;Abstracted ad network logic, so you can integrate additional ad networks. Currently, Ad Code Manager fully supports Double Click for Publishers. Pull requests with support for other ad networks are &lt;a href=&#34;https://github.com/Automattic/Ad-Code-Manager/&#34;&gt;always welcome&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;In-plugin contextual help to get you properly configured.&lt;/li&gt;&#xA;&lt;li&gt;Priorities for ad codes, which allow you to work around conflicts.&lt;/li&gt;&#xA;&lt;li&gt;An [acm-tag] shortcode for placing ad codes within posts.&lt;/li&gt;&#xA;&lt;li&gt;A widget for placing ad codes in widget areas. Thanks to Justin Sternburg at &lt;a href=&#34;http://webdevstudios.com/&#34;&gt;WebDevStudios&lt;/a&gt; for the contribution.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/rewrite-rules-inspector/&#34;&gt;Rewrite Rules Inspector&lt;/a&gt; is a simple development tool for viewing all of the rewrite rules registered with your site. It’s been available for VIPs hosted on WordPress.com for a while — today it’s &lt;a href=&#34;http://wordpress.org/extend/plugins/rewrite-rules-inspector/&#34;&gt;available for download from the WordPress.org repository&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This is the week of releasing plugins!</p>
<p><a href="http://wordpress.org/extend/plugins/ad-code-manager/">Ad Code Manager</a> is a plugin designed to help you deal with ad codes, those short snippets of Javascript used to display advertisements on your website. This week, Rinat Khaziev of <a href="http://doejo.com/">Doejo</a>, Jeremy Felt of <a href="http://10up.com/">10up</a>, and I pushed v0.2, which includes these improvements:</p>
<ul>
<li>Completely reworked user interface, one that now looks and feels like much of the rest of the WordPress admin.</li>
<li>Abstracted ad network logic, so you can integrate additional ad networks. Currently, Ad Code Manager fully supports Double Click for Publishers. Pull requests with support for other ad networks are <a href="https://github.com/Automattic/Ad-Code-Manager/">always welcome</a>.</li>
<li>In-plugin contextual help to get you properly configured.</li>
<li>Priorities for ad codes, which allow you to work around conflicts.</li>
<li>An [acm-tag] shortcode for placing ad codes within posts.</li>
<li>A widget for placing ad codes in widget areas. Thanks to Justin Sternburg at <a href="http://webdevstudios.com/">WebDevStudios</a> for the contribution.</li>
</ul>
<p><a href="http://wordpress.org/extend/plugins/rewrite-rules-inspector/">Rewrite Rules Inspector</a> is a simple development tool for viewing all of the rewrite rules registered with your site. It’s been available for VIPs hosted on WordPress.com for a while — today it’s <a href="http://wordpress.org/extend/plugins/rewrite-rules-inspector/">available for download from the WordPress.org repository</a>.</p>
<p>Specifically, the Rewrite Rules Inspector helps you:</p>
<ul>
<li>View a listing of all your rewrite rules.</li>
<li>See which rewrite rules match a given URL (and the priorites they match in).</li>
<li>Filter by different sources of rewrite rules.</li>
<li>Know when rewrite rules are missing in the database by showing an error message.</li>
</ul>
<p>Both plugins are <a href="https://github.com/Automattic">available for forking in the Automattic Github repo</a>, and pull requests are always welcome. Coming up next are improvements to Co-Authors Plus, P2 Resolved Posts, and a new round of development on Edit Flow&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Leah&#39;s fifteenth razor clam</title>
      <link>https://danielbachhuber.com/leahs-fifteenth-razor-clam/</link>
      <pubDate>Tue, 08 May 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/leahs-fifteenth-razor-clam/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/69054001?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Yesterday, Leah and I woke up at 3:30 am to go clamming with my dad. The series of fortunate events went something like this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_02731.jpg&#34; alt=&#34;IMG_0273&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_02811.jpg&#34; alt=&#34;IMG_0281&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_02861.jpg&#34; alt=&#34;IMG_0286&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_02881.jpg&#34; alt=&#34;IMG_0288&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1800&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69054001?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Yesterday, Leah and I woke up at 3:30 am to go clamming with my dad. The series of fortunate events went something like this:</p>
<p><img src="images/img_02731.jpg" alt="IMG_0273"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_02811.jpg" alt="IMG_0281"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_02861.jpg" alt="IMG_0286"  width="2400"
	height="1800"  /></p>
<p><img src="images/img_02881.jpg" alt="IMG_0288"  width="2400"
	height="1800"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Today&#39;s flight along the coast</title>
      <link>https://danielbachhuber.com/todays-flight-along-the-coast/</link>
      <pubDate>Sun, 06 May 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/todays-flight-along-the-coast/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/69050355?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Today&amp;rsquo;s flight along the coast was my first solo cross-country. Originating from Twin Oaks Airpark, I flew a Cessna 150, N66589, towards McMinnville and then onward to the coast. It took me to 1.1 hours to get to Newport where I landed, hung out for a little bit, filed a new flight plan, and then returned home in 1.0 hours.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69050355?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Today&rsquo;s flight along the coast was my first solo cross-country. Originating from Twin Oaks Airpark, I flew a Cessna 150, N66589, towards McMinnville and then onward to the coast. It took me to 1.1 hours to get to Newport where I landed, hung out for a little bit, filed a new flight plan, and then returned home in 1.0 hours.</p>
<p>Like I <a href="https://twitter.com/#!/danielbachhuber/status/198938195696689152">mentioned</a> on Twitter earlier, there&rsquo;s a really sweet app for the iPad called <a href="http://www.foreflight.com/">ForeFlight</a> that allows me to plan my route, look up weather along the way, and file my flight plan. Here&rsquo;s what it looked like for the flight down there.</p>
<p><img src="images/7s3onp1.png" alt="7S3 to ONP"  width="1536"
	height="2008"  /></p>
<p>Without an iPad, producing the flight plan takes about 10x longer than with. Such is the real-world value of technology. Of course, I have to do it the pen and paper way first because I&rsquo;m &ldquo;learning.&rdquo;</p>
<p>Totally awesome&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Co-Authors Plus v2.6.3: Enhancements and bug fixes</title>
      <link>https://danielbachhuber.com/co-authors-plus-v2-6-3-enhancements-and-bug-fixes/</link>
      <pubDate>Mon, 30 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/co-authors-plus-v2-6-3-enhancements-and-bug-fixes/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/co-authors-plus/&#34;&gt;Co-Authors Plus&lt;/a&gt; makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out just a moment ago, v2.6.3 has the following improvements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AJAX user search is back to searching against first name, last name, display name, email address and user ID. The method introduced in v2.6.2 didn&amp;rsquo;t scale well across hundreds of users.&lt;/li&gt;&#xA;&lt;li&gt;French translation courtesy of Sylvain Bérubé.&lt;/li&gt;&#xA;&lt;li&gt;Spanish translation courtesy of Alejandro Arcos.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Resolved incorrect caps check against user editing an already published post. &lt;a href=&#34;http://wordpress.org/support/topic/multiple-authors-cant-edit-pages?replies=17#post-2741243&#34;&gt;Thanks to Doug in the WordPress.org forums for the help&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Please post any questions, bug reports, feature requests, etc. in the &lt;a href=&#34;http://wordpress.org/tags/co-authors-plus&#34;&gt;WordPress.org forums&lt;/a&gt;. If you want to contribute code, I’m eyeballing &lt;a href=&#34;https://github.com/Automattic/Co-Authors-Plus/issues/11&#34;&gt;co-author management in Quick Edit&lt;/a&gt; and &lt;a href=&#34;https://github.com/Automattic/Co-Authors-Plus/issues/6&#34;&gt;guest author functionality&lt;/a&gt; for v2.7.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/co-authors-plus/">Co-Authors Plus</a> makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out just a moment ago, v2.6.3 has the following improvements:</p>
<ul>
<li>AJAX user search is back to searching against first name, last name, display name, email address and user ID. The method introduced in v2.6.2 didn&rsquo;t scale well across hundreds of users.</li>
<li>French translation courtesy of Sylvain Bérubé.</li>
<li>Spanish translation courtesy of Alejandro Arcos.</li>
<li>Bug fix: Resolved incorrect caps check against user editing an already published post. <a href="http://wordpress.org/support/topic/multiple-authors-cant-edit-pages?replies=17#post-2741243">Thanks to Doug in the WordPress.org forums for the help</a>.</li>
</ul>
<p>Please post any questions, bug reports, feature requests, etc. in the <a href="http://wordpress.org/tags/co-authors-plus">WordPress.org forums</a>. If you want to contribute code, I’m eyeballing <a href="https://github.com/Automattic/Co-Authors-Plus/issues/11">co-author management in Quick Edit</a> and <a href="https://github.com/Automattic/Co-Authors-Plus/issues/6">guest author functionality</a> for v2.7.</p>
<p>For WordPress.com VIPs, this update has already been deployed to the shared plugins repo.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Solo flight</title>
      <link>https://danielbachhuber.com/solo-flight/</link>
      <pubDate>Thu, 19 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/solo-flight/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_32852.jpg&#34; alt=&#34;img_3285&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_32862.jpg&#34; alt=&#34;img_3286&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_32872.jpg&#34; alt=&#34;img_3287&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Yesterday wasn&amp;rsquo;t my first solo, but it was my first time going through the whole process on my own: preflighting the plane, fueling, determining my flight plan, flying, etc. I took off towards McMinnville, did three touch-n-goes there, and then flew around some clouds to get back to Twin Oaks.&lt;/p&gt;&#xA;&lt;p&gt;It was awesome, to say the least. I&amp;rsquo;m at a neat point in my training now too — I have endorsements to land at Twin Oaks, Aurora, or McMinnville, and am free to fly whenever I&amp;rsquo;d like (and the weather is good enough). Going forward, I need to complete some cross country work with my instructor, practice maneuvers for my checkride, and pass my written.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_32852.jpg" alt="img_3285"  width="2400"
	height="1793"  /></p>
<p><img src="images/img_32862.jpg" alt="img_3286"  width="2400"
	height="1793"  /></p>
<p><img src="images/img_32872.jpg" alt="img_3287"  width="2400"
	height="1793"  /></p>
<p>Yesterday wasn&rsquo;t my first solo, but it was my first time going through the whole process on my own: preflighting the plane, fueling, determining my flight plan, flying, etc. I took off towards McMinnville, did three touch-n-goes there, and then flew around some clouds to get back to Twin Oaks.</p>
<p>It was awesome, to say the least. I&rsquo;m at a neat point in my training now too — I have endorsements to land at Twin Oaks, Aurora, or McMinnville, and am free to fly whenever I&rsquo;d like (and the weather is good enough). Going forward, I need to complete some cross country work with my instructor, practice maneuvers for my checkride, and pass my written.</p>
<p>Plus, some video:</p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/69054096?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

]]></content:encoded>
    </item>
    <item>
      <title>#techrakingcir: The Future of the CMS</title>
      <link>https://danielbachhuber.com/techrakingcir-the-future-of-the-cms/</link>
      <pubDate>Thu, 12 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/techrakingcir-the-future-of-the-cms/</guid>
      <description>&lt;p&gt;Today, I&amp;rsquo;m down at Google in Mountain View at &lt;a href=&#34;http://techraking.tumblr.com/&#34;&gt;Techraking&lt;/a&gt;, a gathering of technologists and investigative journalists. It&amp;rsquo;s been super inspiring because of the fresh to me perspectives — I&amp;rsquo;d love to help Portland media outlets with projects like those I&amp;rsquo;ve heard about.&lt;/p&gt;&#xA;&lt;p&gt;At lunch, I learnt I was to lead a small group breakout on &amp;ldquo;the future of the CMS.&amp;rdquo; To keep the discussion going, we started out by brainstorming the things we liked and want to improve our respective software, and then did a roundtable to identify our six month personal goals.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, I&rsquo;m down at Google in Mountain View at <a href="http://techraking.tumblr.com/">Techraking</a>, a gathering of technologists and investigative journalists. It&rsquo;s been super inspiring because of the fresh to me perspectives — I&rsquo;d love to help Portland media outlets with projects like those I&rsquo;ve heard about.</p>
<p>At lunch, I learnt I was to lead a small group breakout on &ldquo;the future of the CMS.&rdquo; To keep the discussion going, we started out by brainstorming the things we liked and want to improve our respective software, and then did a roundtable to identify our six month personal goals.</p>
<p>Some things people like about their CMS:</p>
<ul>
<li>Drupal done well is easy to use; there are a ton of modules</li>
<li>Affordability, open source is cheap</li>
<li>Community to work with</li>
<li>Many different homepage templates to choose from depending on the stories of the day</li>
</ul>
<p>What people would like to improve (lots of conversation, as expected):</p>
<ul>
<li>Data portability</li>
<li>More headless; produce output other than HTML</li>
<li>Scalability, faster when many people are working in the admin</li>
<li>Less steps for completing common, simple tasks</li>
<li>Integration with story budgeting, calendaring; API for story flow</li>
<li>Magical WYSIWYG editor; auto-save that works; track changes</li>
<li>Support structured data / semantic markup</li>
<li>Customization for story layout</li>
<li>Small pieces loosely joined; better integration with other services</li>
</ul>
<p>Given the short notice, I thought the breakout session went quite well. About twenty people showed up. In terms of what worked:</p>
<ul>
<li>Small group discussion; knew enough backgrounds to call out different people to talk</li>
<li>Noted salient points on the whiteboard as a way of plotting direction</li>
<li>I enjoyed the &ldquo;what are you going to work on in the next six months&rdquo; takeaways at the end</li>
</ul>
<p>Next time, we should:</p>
<ul>
<li>Figure out the location ahead of time so we don&rsquo;t waste time finding it</li>
<li>Have people introduce themselves if they haven&rsquo;t spoken yet</li>
<li>Every fifteen minutes, have something for everyone to participate in so people don&rsquo;t check out</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Jonah Lehrer on creativity</title>
      <link>https://danielbachhuber.com/jonah-lehrer-on-creativity/</link>
      <pubDate>Wed, 11 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/jonah-lehrer-on-creativity/</guid>
      <description>&lt;p&gt;A select assortment of (probably imperfect) notes from the OHSU Brain Awareness series lecture I attended tonight.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&amp;ldquo;Ideas are non-rival goods.&amp;rdquo; There is no cost to sharing them.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Like a Rolling Stone&amp;rdquo; from Dylan was written in five hours of insight and produced in four cuts.&lt;/p&gt;&#xA;&lt;p&gt;On moments of insight: &amp;ldquo;As soon as the answer arrives, it feels like this answer.&amp;rdquo; Scientists simulate these moments of insight by having people complete word puzzles. When you get undergraduates too drunk to drive, they solve 30% more of these problems.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A select assortment of (probably imperfect) notes from the OHSU Brain Awareness series lecture I attended tonight.</p>
<hr>
<p>&ldquo;Ideas are non-rival goods.&rdquo; There is no cost to sharing them.</p>
<p>&ldquo;Like a Rolling Stone&rdquo; from Dylan was written in five hours of insight and produced in four cuts.</p>
<p>On moments of insight: &ldquo;As soon as the answer arrives, it feels like this answer.&rdquo; Scientists simulate these moments of insight by having people complete word puzzles. When you get undergraduates too drunk to drive, they solve 30% more of these problems.</p>
<p>Researchers using EEG machines could predict the moment of epiphany up to 8 seconds in advance.</p>
<p>Insights come mostly commonly from states of unfocus and relaxation.</p>
<p>&ldquo;Creativity is residue of wasted time.&rdquo; - Albert Einstein</p>
<p>What defines successful creativity? Not IQ or something that can be measured with a personality test. &ldquo;Grit. Persistence, stubbornness, and the unwillingness to quit.&rdquo;</p>
<p>&ldquo;We live in a world obsessed with maximal tests.&rdquo; In study after study, maximal tests have failed to correlate with typical, real-world performance. It&rsquo;s more reliable to look at the historical data for the subject (e.g scanning frequency on electronic checkouts vs. running the cashier through a test).</p>
<p>&ldquo;Making something new is really, really hard.&rdquo; Grit is especially important in the creative domain.</p>
<p>&ldquo;How do you know that you actually know something if you don&rsquo;t actually know it?&rdquo; A hunch is a &ldquo;feeling of knowing.&rdquo;</p>
<p>&ldquo;The era of the line genius is over.&rdquo; In the 1950&rsquo;s, the most highly-cited research papers came from scientists working on their own. Now, the papers come from teams.</p>
<p>What are the ideal templates for group creativity? Steve Jobs restricted Pixar (a large-ish company) to two bathrooms in the atrium to force connection and random conversations. Physical location matters a lot. &ldquo;Our most important new ideas appear in idle conversation from too many people occupying the same space.&rdquo;</p>
<p>&ldquo;Attendance at business conferences has almost doubled since the invention of Skype.&rdquo;</p>
<p>Geoffrey West asks in his research: Why are cities so durable and companies so fragile? As a city gets bigger, everyone in the city becomes more productive. Companies do the exact opposite, and this becomes dangerous in the long term.</p>
<p><em>Later: <a href="http://longnow.org/seminars/02011/jul/25/why-cities-keep-growing-corporations-always-die-and-life-gets-faster/">here&rsquo;s a great lecture by West on the topic</a></em></p>
<p>&ldquo;The magic of a city is that it&rsquo;s a freewheeling, chaotic place.&rdquo; The walking speed of pedestrians is the single most predictive variable of patents (innovation) per capita.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Make your pitch at PDXWP Demo Night</title>
      <link>https://danielbachhuber.com/make-your-pitch-at-pdxwp-demo-night/</link>
      <pubDate>Tue, 10 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/make-your-pitch-at-pdxwp-demo-night/</guid>
      <description>&lt;p&gt;This month for the &lt;a href=&#34;http://www.meetup.com/pdx-wp/&#34;&gt;Portland WordPress Users Group&lt;/a&gt;, we&amp;rsquo;re doing something special: demo night!&lt;/p&gt;&#xA;&lt;p&gt;To showcase the awesome things happening in our local WordPress community, we&amp;rsquo;ve decided to give 8 to 10 lucky folks the opportunity to pitch a plugin, theme, project, or history of their business. If it&amp;rsquo;s not technical, no problem — the only requirements are that it relates to WordPress in some way, you can present it in five minutes or less, and that the other attendees will find it useful, fascinating, humorous, or have some other generally positive reaction.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This month for the <a href="http://www.meetup.com/pdx-wp/">Portland WordPress Users Group</a>, we&rsquo;re doing something special: demo night!</p>
<p>To showcase the awesome things happening in our local WordPress community, we&rsquo;ve decided to give 8 to 10 lucky folks the opportunity to pitch a plugin, theme, project, or history of their business. If it&rsquo;s not technical, no problem — the only requirements are that it relates to WordPress in some way, you can present it in five minutes or less, and that the other attendees will find it useful, fascinating, humorous, or have some other generally positive reaction.</p>
<p>Want to apply? <a href="https://docs.google.com/spreadsheet/viewform?formkey=dGVCUGh4ZW9Jay1VT0xLd2VxNVpfSXc6MQ">Fill out our quick survey by April 18th</a>, and we&rsquo;ll let you know shortly after whether you get picked.</p>
<p>Demo night will be the usual time and place: <a href="http://www.meetup.com/pdx-wp/events/52552672/">April 23rd, 6 pm at the US Bancorp Tower conference rooms</a>.</p>
<p>Hope to see you apply!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Night flight over Portland</title>
      <link>https://danielbachhuber.com/night-flight-over-portland/</link>
      <pubDate>Tue, 03 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/night-flight-over-portland/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20120402-2304561.jpg&#34; alt=&#34;20120402-230456.jpg&#34;  width=&#34;643&#34;&#xA;&#x9;height=&#34;480&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Night flight over Portland. PGE Park Jeld-Wen Field is in the mid right as a point of reference. Beautiful weather this evening — mostly calm, some small chops coming back over the West Hills. Ended up with five landings at Hillsboro, one at PDX, and a final at Twin Oaks. Total of 1.4 hours.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20120402-2304561.jpg" alt="20120402-230456.jpg"  width="643"
	height="480"  /></p>
<p>Night flight over Portland. PGE Park Jeld-Wen Field is in the mid right as a point of reference. Beautiful weather this evening — mostly calm, some small chops coming back over the West Hills. Ended up with five landings at Hillsboro, one at PDX, and a final at Twin Oaks. Total of 1.4 hours.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New plugin: P2 Resolved Posts</title>
      <link>https://danielbachhuber.com/new-plugin-p2-resolved-posts/</link>
      <pubDate>Mon, 26 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-plugin-p2-resolved-posts/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/resolvedpostsdemo1.jpg&#34; alt=&#34;P2 Resolved Posts on the VIP P2&#34;  width=&#34;740&#34;&#xA;&#x9;height=&#34;427&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;On Friday, I finally pushed &lt;a href=&#34;http://wordpress.org/extend/plugins/p2-resolved-posts/&#34;&gt;P2 Resolved Posts&lt;/a&gt; live in the WordPress.org directory. Based on Nacin&amp;rsquo;s &lt;a href=&#34;https://gist.github.com/1145324&#34;&gt;gist of the same name&lt;/a&gt;, it&amp;rsquo;s a &amp;ldquo;lightweight GTD plugin for WordPress and the &lt;a href=&#34;http://p2theme.com/&#34;&gt;P2 theme&lt;/a&gt;.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Mark a thread as &amp;ldquo;unresolved&amp;rdquo; when the topic needs resolution, and mark it as &amp;ldquo;resolved&amp;rdquo; when you&amp;rsquo;ve achieved that state. There are also sidebar widgets to let you see all unresolved posts, optionally filtered to a specific tag.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/resolvedpostsdemo1.jpg" alt="P2 Resolved Posts on the VIP P2"  width="740"
	height="427"  /></p>
<p>On Friday, I finally pushed <a href="http://wordpress.org/extend/plugins/p2-resolved-posts/">P2 Resolved Posts</a> live in the WordPress.org directory. Based on Nacin&rsquo;s <a href="https://gist.github.com/1145324">gist of the same name</a>, it&rsquo;s a &ldquo;lightweight GTD plugin for WordPress and the <a href="http://p2theme.com/">P2 theme</a>.&rdquo;</p>
<p>Mark a thread as &ldquo;unresolved&rdquo; when the topic needs resolution, and mark it as &ldquo;resolved&rdquo; when you&rsquo;ve achieved that state. There are also sidebar widgets to let you see all unresolved posts, optionally filtered to a specific tag.</p>
<p>We <a href="http://whenihavetime.com/2011/12/14/my-ignite-at-leweb-2011-the-future-way-of-working-the-distributed-company/">use P2 extensively at Automattic</a>, for a variety of purposes. I improved Nacin&rsquo;s code last November because I wanted a simple way to encourage the culture of coming to a <em>resolution</em> on a topic. All too often, conversations are left hanging. This is a problem for those participating, and an even larger problem for those reviewing the conversation at a later date.</p>
<p>The plugin is <a href="https://github.com/Automattic/P2-Resolved-Posts">in-development on Github</a>. Please post any feedback, issues, feature requests, etc. in the <a href="http://wordpress.org/tags/p2-resolved-posts?forum_id=10">WordPress.org forums</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>This morning, a quick travel story</title>
      <link>https://danielbachhuber.com/this-morning-a-quick-travel-story/</link>
      <pubDate>Mon, 26 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/this-morning-a-quick-travel-story/</guid>
      <description>&lt;p&gt;Originally, I was on the 10:30 am flight. It&amp;rsquo;s a whole other story as to how I ended up on the 6:25 am flight.&lt;/p&gt;&#xA;&lt;p&gt;Yesterday, I scheduled a cab to the airport for 5:15. Normally, this is more than sufficient time to get to the airport, check in, etc. It isn&amp;rsquo;t sufficient time, however, when you sleep through your alarm, both of the cabbie&amp;rsquo;s phone calls, and wake up at 5:30.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Originally, I was on the 10:30 am flight. It&rsquo;s a whole other story as to how I ended up on the 6:25 am flight.</p>
<p>Yesterday, I scheduled a cab to the airport for 5:15. Normally, this is more than sufficient time to get to the airport, check in, etc. It isn&rsquo;t sufficient time, however, when you sleep through your alarm, both of the cabbie&rsquo;s phone calls, and wake up at 5:30.</p>
<p>So, that happened. It doesn&rsquo;t happen often, but it&rsquo;s not the first time.</p>
<p>Thankfully, the cab was still in the area (I called him back) and we raced out to the airport.</p>
<p>On the way, I figured out that I had already checked in <em>and</em> I could use my phone as a boarding pass. One less step.</p>
<p>He dropped me off at 5:55, I was through security by 6:02 (thank you MVP status), and on the plane at 6:07.</p>
<p>Boom, boom and boom. Thank you baby Jesus (and karma, and Radio Cab, and the most awesome airport in the US).</p>
]]></content:encoded>
    </item>
    <item>
      <title>#nyc12: Making the Switch to WordPress</title>
      <link>https://danielbachhuber.com/nyc12-making-the-switch-to-wordpress/</link>
      <pubDate>Wed, 21 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nyc12-making-the-switch-to-wordpress/</guid>
      <description>&lt;p&gt;Yesterday morning, I gave the last of three &lt;a href=&#34;http://nyc12.com/&#34;&gt;CMA NYC&lt;/a&gt; sessions I led this week:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Considering making the switch to WordPress? Join Daniel Bachhuber, code wrangler for Automattic’s WordPress.com VIP, to learn how to make open source work for your publication. We’ll discuss whether WordPress is the right fit for you, how to assess other options, and what steps you need to take if you’d like to make the switch.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Most of the people attending had been to at least one of my other sessions, so it was a quicker review of the slides and then more of a general Q&amp;amp;A session. A lot of the questions revolved around the different types of hosting, where you should go for support, etc.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday morning, I gave the last of three <a href="http://nyc12.com/">CMA NYC</a> sessions I led this week:</p>
<blockquote>
<p>Considering making the switch to WordPress? Join Daniel Bachhuber, code wrangler for Automattic’s WordPress.com VIP, to learn how to make open source work for your publication. We’ll discuss whether WordPress is the right fit for you, how to assess other options, and what steps you need to take if you’d like to make the switch.</p></blockquote>
<p>Most of the people attending had been to at least one of my other sessions, so it was a quicker review of the slides and then more of a general Q&amp;A session. A lot of the questions revolved around the different types of hosting, where you should go for support, etc.</p>
<p><img src="images/making-the-switch-to-wordpress-0011.jpg" alt="making-the-switch-to-wordpress-0011.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0021.jpg" alt="making-the-switch-to-wordpress-0021.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0031.jpg" alt="making-the-switch-to-wordpress-0031.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0041.jpg" alt="making-the-switch-to-wordpress-0041.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0051.jpg" alt="making-the-switch-to-wordpress-0051.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0061.jpg" alt="making-the-switch-to-wordpress-0061.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0071.jpg" alt="making-the-switch-to-wordpress-0071.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0081.jpg" alt="making-the-switch-to-wordpress-0081.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0091.jpg" alt="making-the-switch-to-wordpress-0091.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0101.jpg" alt="making-the-switch-to-wordpress-0101.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0111.jpg" alt="making-the-switch-to-wordpress-0111.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0121.jpg" alt="making-the-switch-to-wordpress-0121.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0131.jpg" alt="making-the-switch-to-wordpress-0131.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0141.jpg" alt="making-the-switch-to-wordpress-0141.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0151.jpg" alt="making-the-switch-to-wordpress-0151.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0161.jpg" alt="making-the-switch-to-wordpress-0161.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0171.jpg" alt="making-the-switch-to-wordpress-0171.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0181.jpg" alt="making-the-switch-to-wordpress-0181.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0191.jpg" alt="making-the-switch-to-wordpress-0191.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0201.jpg" alt="making-the-switch-to-wordpress-0201.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0211.jpg" alt="making-the-switch-to-wordpress-0211.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0221.jpg" alt="making-the-switch-to-wordpress-0221.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0231.jpg" alt="making-the-switch-to-wordpress-0231.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0241.jpg" alt="making-the-switch-to-wordpress-0241.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0251.jpg" alt="making-the-switch-to-wordpress-0251.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0261.jpg" alt="making-the-switch-to-wordpress-0261.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0271.jpg" alt="making-the-switch-to-wordpress-0271.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0281.jpg" alt="making-the-switch-to-wordpress-0281.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0291.jpg" alt="making-the-switch-to-wordpress-0291.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0301.jpg" alt="making-the-switch-to-wordpress-0301.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0311.jpg" alt="making-the-switch-to-wordpress-0311.jpg"  width="1024"
	height="768"  />
<img src="images/making-the-switch-to-wordpress-0321.jpg" alt="making-the-switch-to-wordpress-0321.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>#nyc12: Hacking WordPress in the Newsroom</title>
      <link>https://danielbachhuber.com/nyc12-hacking-wordpress-in-the-newsroom/</link>
      <pubDate>Mon, 19 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nyc12-hacking-wordpress-in-the-newsroom/</guid>
      <description>&lt;p&gt;This morning, I gave the second of three &lt;a href=&#34;http://nyc12.com/&#34;&gt;CMA NYC&lt;/a&gt; sessions I&amp;rsquo;m leading this week:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You publish with WordPress, are comfortable with editing theme templates and making basic CSS changes, and you’re ready to take your site to the next level. Join Daniel Bachhuber, code wranger for Automattic’s WordPress.com VIP, to learn what you need to know. We’ll discuss topics like version control, performance and optimization, debugging, and other development best practices. This session will be geared towards the tech-savvy with a practical knowledge of WordPress.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;It ended up being a little less ambitious. We started out with (the importance of) setting up a local environment, reviewed what makes a plugin, and introduced a few project ideas. Between a dozen and two dozen students attended; for almost all, the information was completely new.&lt;/p&gt;&#xA;&lt;p&gt;The most important note on this subject: &lt;a href=&#34;http://www.newsnerdjobs.com/&#34;&gt;there are lots of jobs available&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Also, come hit us up with WordPress questions at our Happiness Bar!&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Session notes are below the slides.&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I gave the second of three <a href="http://nyc12.com/">CMA NYC</a> sessions I&rsquo;m leading this week:</p>
<blockquote>
<p>You publish with WordPress, are comfortable with editing theme templates and making basic CSS changes, and you’re ready to take your site to the next level. Join Daniel Bachhuber, code wranger for Automattic’s WordPress.com VIP, to learn what you need to know. We’ll discuss topics like version control, performance and optimization, debugging, and other development best practices. This session will be geared towards the tech-savvy with a practical knowledge of WordPress.</p></blockquote>
<p>It ended up being a little less ambitious. We started out with (the importance of) setting up a local environment, reviewed what makes a plugin, and introduced a few project ideas. Between a dozen and two dozen students attended; for almost all, the information was completely new.</p>
<p>The most important note on this subject: <a href="http://www.newsnerdjobs.com/">there are lots of jobs available</a>.</p>
<p>Also, come hit us up with WordPress questions at our Happiness Bar!</p>
<p><em>Session notes are below the slides.</em></p>
<p><img src="images/hacking-wordpress-in-the-newsroom-0011.jpg" alt="hacking-wordpress-in-the-newsroom-0011.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0021.jpg" alt="hacking-wordpress-in-the-newsroom-0021.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0031.jpg" alt="hacking-wordpress-in-the-newsroom-0031.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0041.jpg" alt="hacking-wordpress-in-the-newsroom-0041.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0051.jpg" alt="hacking-wordpress-in-the-newsroom-0051.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0061.jpg" alt="hacking-wordpress-in-the-newsroom-0061.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0071.jpg" alt="hacking-wordpress-in-the-newsroom-0071.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0081.jpg" alt="hacking-wordpress-in-the-newsroom-0081.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0091.jpg" alt="hacking-wordpress-in-the-newsroom-0091.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0101.jpg" alt="hacking-wordpress-in-the-newsroom-0101.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0111.jpg" alt="hacking-wordpress-in-the-newsroom-0111.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0121.jpg" alt="hacking-wordpress-in-the-newsroom-0121.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0131.jpg" alt="hacking-wordpress-in-the-newsroom-0131.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0141.jpg" alt="hacking-wordpress-in-the-newsroom-0141.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0151.jpg" alt="hacking-wordpress-in-the-newsroom-0151.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0161.jpg" alt="hacking-wordpress-in-the-newsroom-0161.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0171.jpg" alt="hacking-wordpress-in-the-newsroom-0171.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0181.jpg" alt="hacking-wordpress-in-the-newsroom-0181.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0191.jpg" alt="hacking-wordpress-in-the-newsroom-0191.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0201.jpg" alt="hacking-wordpress-in-the-newsroom-0201.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0211.jpg" alt="hacking-wordpress-in-the-newsroom-0211.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0221.jpg" alt="hacking-wordpress-in-the-newsroom-0221.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0231.jpg" alt="hacking-wordpress-in-the-newsroom-0231.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0241.jpg" alt="hacking-wordpress-in-the-newsroom-0241.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0251.jpg" alt="hacking-wordpress-in-the-newsroom-0251.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0261.jpg" alt="hacking-wordpress-in-the-newsroom-0261.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0271.jpg" alt="hacking-wordpress-in-the-newsroom-0271.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0281.jpg" alt="hacking-wordpress-in-the-newsroom-0281.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0291.jpg" alt="hacking-wordpress-in-the-newsroom-0291.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0301.jpg" alt="hacking-wordpress-in-the-newsroom-0301.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0311.jpg" alt="hacking-wordpress-in-the-newsroom-0311.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0321.jpg" alt="hacking-wordpress-in-the-newsroom-0321.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0331.jpg" alt="hacking-wordpress-in-the-newsroom-0331.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0341.jpg" alt="hacking-wordpress-in-the-newsroom-0341.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0351.jpg" alt="hacking-wordpress-in-the-newsroom-0351.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0361.jpg" alt="hacking-wordpress-in-the-newsroom-0361.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0371.jpg" alt="hacking-wordpress-in-the-newsroom-0371.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0381.jpg" alt="hacking-wordpress-in-the-newsroom-0381.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0391.jpg" alt="hacking-wordpress-in-the-newsroom-0391.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0401.jpg" alt="hacking-wordpress-in-the-newsroom-0401.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0411.jpg" alt="hacking-wordpress-in-the-newsroom-0411.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0421.jpg" alt="hacking-wordpress-in-the-newsroom-0421.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0431.jpg" alt="hacking-wordpress-in-the-newsroom-0431.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0441.jpg" alt="hacking-wordpress-in-the-newsroom-0441.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0451.jpg" alt="hacking-wordpress-in-the-newsroom-0451.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0461.jpg" alt="hacking-wordpress-in-the-newsroom-0461.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0471.jpg" alt="hacking-wordpress-in-the-newsroom-0471.jpg"  width="1024"
	height="768"  />
<img src="images/hacking-wordpress-in-the-newsroom-0481.jpg" alt="hacking-wordpress-in-the-newsroom-0481.jpg"  width="1024"
	height="768"  /></p>
<h3 id="do-it-locally">Do it locally</h3>
<ul>
<li>Set up a sandbox
<ul>
<li><a href="http://codex.wordpress.org/Installing_WordPress_Locally_on_Your_Mac_With_MAMP">MAMP is an awesome way to get going on a Mac</a> and there&rsquo;s a <a href="http://codex.wordpress.org/Test_Driving_WordPress#Installing_WordPress_on_Your_Windows_Desktop">way for Windows too</a></li>
<li><a href="http://www.sequelpro.com/">Sequel Pro</a> allows you to easily access your database</li>
<li>Use ‘<a href="http://betterthangrep.com/">ack</a>’ to find functions
<ul>
<li>Example: ack &ndash;before-context=10 &ndash;ignore-dir=wp-admin &lsquo;function esc_&rsquo;</li>
<li>Code is gospel. You might read tutorials or examples on the web that say one thing or the other; code will tell you the truth.</li>
<li>Reading code is a literacy of WordPress development. Dive into it to figure out what’s going on.</li>
</ul>
</li>
</ul>
</li>
<li>Learn how to properly debug - fix those bugs as they&rsquo;re happening
<ul>
<li><a href="http://codex.wordpress.org/Editing_wp-config.php#Debug">Enable WP_DEBUG</a> in your local environment
<ul>
<li>It’s a quick and easy way to see what’s going wrong with your code for fatal errors</li>
<li>See PHP notices and other things you might normally miss</li>
<li>Make sure you’re using the best WordPress functions for the job</li>
</ul>
</li>
<li>“<a href="http://nacin.com/2010/04/23/5-ways-to-debug-wordpress/">5 ways to debug WordPress</a>” and “<a href="http://www.slideshare.net/andrewnacin/wordcamp-sf-2011-debugging-in-wordpress">Debugging WordPress</a>” – Andrew Nacin</li>
</ul>
</li>
<li>Commit to version control and deploy to production
<ul>
<li>Why?
<ul>
<li>More easily communicate the changes you’re making with the rest of your team.</li>
<li>Work on multiple features at the same time.</li>
<li>Roll back if necessary; better than backups.</li>
<li>Automated deployment — no more copy and pasting over FTP.</li>
</ul>
</li>
<li><a href="http://danielbachhuber.com/2012/02/17/what-makes-a-good-commit-message/">What makes a good commit message</a>:
<ul>
<li>Consider your audience: writing for coworkers and for historical purposes.</li>
<li>Explain why you made the change, not what it was. What it was should be self-explanatory from the code</li>
<li>Link to Trac tickets or other relevant conversation.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="anatomy-of-a-plugin">Anatomy of a plugin</h3>
<ul>
<li>First, a quick introduction to PHP
<ul>
<li>functions, variables, and how the code is executed</li>
</ul>
</li>
<li>What are plugins then?
<ul>
<li>Description</li>
<li>Functions and variables</li>
<li>Do something useful</li>
</ul>
</li>
<li>How to audit a plugin
<ul>
<li>Reviewing on WordPress.org
<ul>
<li>Compatible with most recent version of WordPress?</li>
<li>Regular release cycle with clear changelog</li>
<li>Positive dialog in the WordPress.org forums</li>
<li>Reputable plugin author has other plugins released</li>
<li>Licensed under the GPL</li>
</ul>
</li>
<li>Install it locally and test it out. Make sure it does what you want it to do.</li>
<li>Formal code review?
<ul>
<li>Follows best practices and coding standards</li>
<li>Uses core APIs and the proper hook</li>
<li>Secure and performant</li>
</ul>
</li>
<li>Common problems with plugins
<ul>
<li>Doesn’t do what you need it to</li>
<li>Plays poorly with the rest of your site</li>
<li>Performance problems with queries or remote requests</li>
<li>Security holes</li>
</ul>
</li>
</ul>
</li>
<li>How to write your own plugin</li>
</ul>
<h3 id="what-to-do">What to do?</h3>
<ul>
<li>Making your design responsive across many screens
<ul>
<li>What is responsive design?
<ul>
<li>Design for many different browser widths</li>
<li>Different than creating a mobile-specific website</li>
</ul>
</li>
<li>Examples
<ul>
<li>Smashing Magazine: <a href="http://www.smashingmagazine.com/">http://www.smashingmagazine.com/</a></li>
<li>BU Pipe Dream: <a href="http://www.bupipedream.com/">http://www.bupipedream.com/</a></li>
</ul>
</li>
</ul>
</li>
<li>Multi-format publishing (<a href="http://codex.wordpress.org/Post_Formats">post formats</a>and custom post types)
<ul>
<li>Post formats:
<ul>
<li>Customize the presentation of your content based on the type of content</li>
<li>Types include links, galleries, videos, statuses, audio, etc.</li>
</ul>
</li>
<li><a href="http://codex.wordpress.org/Post_Types">Custom post types</a> allow you define arbitrary content types</li>
<li>Examples:
<ul>
<li>ONA11 conference website uses custom post types and post formats: <a href="http://ona11.journalists.org/sessions/friday-lunch-keynote-a-conversation-on-the-front-lines-of-the-arab-revolution/">http://ona11.journalists.org/sessions/friday-lunch-keynote-a-conversation-on-the-front-lines-of-the-arab-revolution/</a></li>
<li>WSJ Story Streams: <a href="http://stream.wsj.com/story/oscars-2012/SS-2-112/">http://stream.wsj.com/story/oscars-2012/SS-2-112/</a></li>
</ul>
</li>
</ul>
</li>
<li>Moar plugins!
<ul>
<li><a href="http://editflow.org/">Edit Flow</a></li>
<li><a href="http://wordpress.org/extend/plugins/zoninator/">Zoninator</a></li>
<li><a href="http://wordpress.org/extend/plugins/json-api/">JSON API</a></li>
</ul>
</li>
<li>Multisite blog network
<ul>
<li>Let students create sites for their organizations, etc.</li>
<li><a href="http://danielbachhuber.com/2011/09/17/wcpdx-wordpress-multisite/">Quick introduction to multisite</a></li>
</ul>
</li>
<li><a href="http://wordpress.tv/2012/03/05/daniel-bachhuber-the-zen-of-wordpress-development/">Follow the five tenets to mastering WordPress development</a></li>
<li>Read others’ code and have others read yours; work in public on Github</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>#nyc12: I Want to Learn WordPress</title>
      <link>https://danielbachhuber.com/nyc12-i-want-to-learn-wordpress/</link>
      <pubDate>Sun, 18 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nyc12-i-want-to-learn-wordpress/</guid>
      <description>&lt;p&gt;This morning, I gave the first of three &lt;a href=&#34;http://nyc12.com&#34;&gt;CMA NYC&lt;/a&gt; sessions I&amp;rsquo;m leading this week:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;So, you&amp;rsquo;ve heard of WordPress before, possibly used it for your personal portfolio, and want to learn everything there is to know about it. Well, everything we can cover in a hour at least :) Join Daniel Bachhuber, code wrangler for Automattic&amp;rsquo;s WordPress.com VIP, as we cover the WordPress interface, key concepts like themes, plugins, PHP and MySQL, and how to choose a good web host and design for your site. This session will be geared towards those with limited familiarity who want to learn more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I gave the first of three <a href="http://nyc12.com">CMA NYC</a> sessions I&rsquo;m leading this week:</p>
<blockquote>
<p>So, you&rsquo;ve heard of WordPress before, possibly used it for your personal portfolio, and want to learn everything there is to know about it. Well, everything we can cover in a hour at least :) Join Daniel Bachhuber, code wrangler for Automattic&rsquo;s WordPress.com VIP, as we cover the WordPress interface, key concepts like themes, plugins, PHP and MySQL, and how to choose a good web host and design for your site. This session will be geared towards those with limited familiarity who want to learn more.</p></blockquote>
<p>It was a quick introduction to the <a href="http://wordpress.org/">WordPress</a> project, key terminology you&rsquo;d hear, and then a tour through the WordPress admin. The room was packed with maybe 30-40 people which was sweet. Tomorrow is &ldquo;Hacking WordPress in the Newsroom&rdquo; and Tuesday is &ldquo;Making the Switch to WordPress.&rdquo;</p>
<p><img src="images/201203presentation-cmanycintrowp-0011.jpg" alt="201203presentation-cmanycintrowp-0011.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0021.jpg" alt="201203presentation-cmanycintrowp-0021.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0031.jpg" alt="201203presentation-cmanycintrowp-0031.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0041.jpg" alt="201203presentation-cmanycintrowp-0041.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0051.jpg" alt="201203presentation-cmanycintrowp-0051.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0061.jpg" alt="201203presentation-cmanycintrowp-0061.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0071.jpg" alt="201203presentation-cmanycintrowp-0071.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0081.jpg" alt="201203presentation-cmanycintrowp-0081.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0091.jpg" alt="201203presentation-cmanycintrowp-0091.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0101.jpg" alt="201203presentation-cmanycintrowp-0101.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0111.jpg" alt="201203presentation-cmanycintrowp-0111.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0121.jpg" alt="201203presentation-cmanycintrowp-0121.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0131.jpg" alt="201203presentation-cmanycintrowp-0131.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0141.jpg" alt="201203presentation-cmanycintrowp-0141.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0151.jpg" alt="201203presentation-cmanycintrowp-0151.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0161.jpg" alt="201203presentation-cmanycintrowp-0161.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0171.jpg" alt="201203presentation-cmanycintrowp-0171.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0181.jpg" alt="201203presentation-cmanycintrowp-0181.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0191.jpg" alt="201203presentation-cmanycintrowp-0191.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0201.jpg" alt="201203presentation-cmanycintrowp-0201.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0211.jpg" alt="201203presentation-cmanycintrowp-0211.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0221.jpg" alt="201203presentation-cmanycintrowp-0221.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0231.jpg" alt="201203presentation-cmanycintrowp-0231.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0241.jpg" alt="201203presentation-cmanycintrowp-0241.jpg"  width="1024"
	height="768"  />
<img src="images/201203presentation-cmanycintrowp-0251.jpg" alt="201203presentation-cmanycintrowp-0251.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Co-Authors Plus v2.6.2: Enhancements and bug fixes</title>
      <link>https://danielbachhuber.com/co-authors-plus-v2-6-2-enhancements-and-bug-fixes/</link>
      <pubDate>Wed, 07 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/co-authors-plus-v2-6-2-enhancements-and-bug-fixes/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/co-authors-plus/&#34;&gt;Co-Authors Plus&lt;/a&gt; makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out just a moment ago, v2.6.2 has the following improvements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AJAX user search matches against first name, last name, and nickname fields too, in addition to display name, user login, and email address.&lt;/li&gt;&#xA;&lt;li&gt;Comment moderation and approved notifications are properly sent to all co-authors with the correct capabilities.&lt;/li&gt;&#xA;&lt;li&gt;Filter required capability for user to be returned in an AJAX search with &amp;lsquo;coauthors_edit_author_cap&amp;rsquo;. This defaults to &amp;rsquo;edit_posts&amp;rsquo;&lt;/li&gt;&#xA;&lt;li&gt;Filter out administrators and other non-authors from AJAX search with &amp;lsquo;coauthors_edit_ignored_authors&amp;rsquo;&lt;/li&gt;&#xA;&lt;li&gt;Automatically adds co-authors to Edit Flow&amp;rsquo;s story budget and calendar views.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Don&amp;rsquo;t set post_author value to current user when quick editing a post. This doesn&amp;rsquo;t appear in the UI anywhere, but added the post to the current user&amp;rsquo;s list of posts. &lt;a href=&#34;http://wordpress.org/support/topic/plugin-co-authors-plus-editors-also-marked-as-authors?replies=9&#34;&gt;See related forum conversation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Properly cc other co-authors on new comment email notifications&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: If a user has already been added as an author to a post, don&amp;rsquo;t show them in the AJAX search again.&lt;/li&gt;&#xA;&lt;li&gt;Bug fix: Allow output constants to be defined in a theme&amp;rsquo;s functions.php file and include filters you can use instead.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Please post any questions, bug reports, feature requests, etc. in the &lt;a href=&#34;http://wordpress.org/tags/co-authors-plus&#34;&gt;WordPress.org forums&lt;/a&gt;. If you want to contribute code, I&amp;rsquo;m eyeballing &lt;a href=&#34;https://github.com/danielbachhuber/Co-Authors-Plus/issues/11&#34;&gt;co-author management in Quick Edit&lt;/a&gt; and &lt;a href=&#34;https://github.com/danielbachhuber/Co-Authors-Plus/issues/6&#34;&gt;guest author functionality&lt;/a&gt; for v2.7.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/co-authors-plus/">Co-Authors Plus</a> makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out just a moment ago, v2.6.2 has the following improvements:</p>
<ul>
<li>AJAX user search matches against first name, last name, and nickname fields too, in addition to display name, user login, and email address.</li>
<li>Comment moderation and approved notifications are properly sent to all co-authors with the correct capabilities.</li>
<li>Filter required capability for user to be returned in an AJAX search with &lsquo;coauthors_edit_author_cap&rsquo;. This defaults to &rsquo;edit_posts&rsquo;</li>
<li>Filter out administrators and other non-authors from AJAX search with &lsquo;coauthors_edit_ignored_authors&rsquo;</li>
<li>Automatically adds co-authors to Edit Flow&rsquo;s story budget and calendar views.</li>
<li>Bug fix: Don&rsquo;t set post_author value to current user when quick editing a post. This doesn&rsquo;t appear in the UI anywhere, but added the post to the current user&rsquo;s list of posts. <a href="http://wordpress.org/support/topic/plugin-co-authors-plus-editors-also-marked-as-authors?replies=9">See related forum conversation</a>.</li>
<li>Bug fix: Properly cc other co-authors on new comment email notifications</li>
<li>Bug fix: If a user has already been added as an author to a post, don&rsquo;t show them in the AJAX search again.</li>
<li>Bug fix: Allow output constants to be defined in a theme&rsquo;s functions.php file and include filters you can use instead.</li>
</ul>
<p>Please post any questions, bug reports, feature requests, etc. in the <a href="http://wordpress.org/tags/co-authors-plus">WordPress.org forums</a>. If you want to contribute code, I&rsquo;m eyeballing <a href="https://github.com/danielbachhuber/Co-Authors-Plus/issues/11">co-author management in Quick Edit</a> and <a href="https://github.com/danielbachhuber/Co-Authors-Plus/issues/6">guest author functionality</a> for v2.7.</p>
<p>For WordPress.com VIPs, this update has already been deployed to the shared plugins repo.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Saturday full of win</title>
      <link>https://danielbachhuber.com/saturday-full-of-win/</link>
      <pubDate>Sun, 04 Mar 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/saturday-full-of-win/</guid>
      <description>&lt;p&gt;Today: started the work day at 6:30 am, did cross fit for the first time with Leah, flew 1.3 hours with two power off landings, and rescued my sister in Corvallis from study hell with homemade corn tortillas. Good day, I suspect.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today: started the work day at 6:30 am, did cross fit for the first time with Leah, flew 1.3 hours with two power off landings, and rescued my sister in Corvallis from study hell with homemade corn tortillas. Good day, I suspect.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcphx: Five tenets to mastering WordPress development</title>
      <link>https://danielbachhuber.com/wcphx-five-tenets-to-mastering-wordpress-development/</link>
      <pubDate>Sat, 25 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcphx-five-tenets-to-mastering-wordpress-development/</guid>
      <description>&lt;p&gt;Enlightenment is knowing what your code is doing and why. Thankfully, instead of having to depend on your inner calm, there are a number of tools and strategies you can use to better see what’s going on. We’ll survey a range of topics you should explore to turn your frustration into bliss.&lt;/p&gt;&#xA;&lt;p&gt;Feeling better already? In this session, we’ll touch on everything from debugging to best practices to coding standards to version control to performance and optimization. You’ll hear the insights WordPress.com VIP shares every day.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Session notes are below the slides.&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Enlightenment is knowing what your code is doing and why. Thankfully, instead of having to depend on your inner calm, there are a number of tools and strategies you can use to better see what’s going on. We’ll survey a range of topics you should explore to turn your frustration into bliss.</p>
<p>Feeling better already? In this session, we’ll touch on everything from debugging to best practices to coding standards to version control to performance and optimization. You’ll hear the insights WordPress.com VIP shares every day.</p>
<p><em>Session notes are below the slides.</em></p>
<p><img src="images/presentationfivetenetstomasteringwordpressdevelopment1.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment1.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-110.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-110.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-210.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-210.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-310.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-310.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-410.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-410.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-56.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-56.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-61.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-61.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-71.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-71.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-81.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-81.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-91.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-91.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-101.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-101.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-111.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-111.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-121.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-121.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-131.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-131.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-141.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-141.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-151.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-151.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-161.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-161.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-171.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-171.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-181.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-181.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-191.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-191.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-201.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-201.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-211.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-211.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-221.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-221.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-231.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-231.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-241.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-241.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-251.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-251.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-261.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-261.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-271.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-271.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-281.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-281.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-291.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-291.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-301.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-301.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-311.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-311.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-321.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-321.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-331.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-331.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-341.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-341.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-351.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-351.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-361.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-361.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-371.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-371.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-381.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-381.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-391.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-391.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-401.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-401.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-411.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-411.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-421.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-421.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-431.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-431.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-441.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-441.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-451.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-451.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-461.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-461.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-471.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-471.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-481.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-481.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-491.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-491.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-501.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-501.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-511.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-511.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-521.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-521.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-531.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-531.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-541.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-541.jpg"  width="960"
	height="720"  />
<img src="images/presentationfivetenetstomasteringwordpressdevelopment-551.jpg" alt="presentationfivetenetstomasteringwordpressdevelopment-551.jpg"  width="960"
	height="720"  /></p>
<h3 id="who-am-i">Who am I?</h3>
<p>My name is Daniel Bachhuber and I work as a code wrangler on Automattic’s <a href="http://vip.wordpress.com/">WordPress.com VIP</a> team. We work with publishers like TIME, The New York Times, TechCrunch, Cheezburger, and more who use WordPress at scale.</p>
<p>The point of this presentation is to cover the things you mostly learn the hard way. Now you can learn them the easy way. Some of these topics were covered by Erick’s talk this morning&hellip; I’ll quickly review.</p>
<p>Why is this talk important?</p>
<ul>
<li>Make your code secure, performant, and protect against the future</li>
<li>Let others love your code too</li>
</ul>
<h3 id="1-do-it-locally">1. Do it locally</h3>
<p>Set yourself up for success</p>
<p><strong>→ WP_DEBUG opens your eyes</strong></p>
<p>Why:</p>
<ul>
<li>It’s a quick and easy way to see what’s going wrong with your code for fatal errors</li>
<li>See PHP notices and other things you might normally miss</li>
<li>Make sure you’re using the best WordPress functions for the job</li>
</ul>
<p>WP_DEBUG does the following:</p>
<ul>
<li>Turns on the display of PHP errors and warnings</li>
<li>Triggers notices for deprecated functions</li>
</ul>
<p><em>Slide: Show the <a href="http://danielbachhuber.com/?attachment_id=129786">whitescreen of death</a> and then with <a href="http://danielbachhuber.com/?attachment_id=129787">WP_DEBUG on</a></em></p>
<p>“<a href="http://nacin.com/2010/04/23/5-ways-to-debug-wordpress/">5 ways to debug WordPress</a>” and “<a href="http://www.slideshare.net/andrewnacin/wordcamp-sf-2011-debugging-in-wordpress">Debugging WordPress</a>” - Andrew Nacin</p>
<p><strong>→ Know thy codebase; when in doubt, ack</strong></p>
<p>Why:</p>
<ul>
<li>Code is gospel. You might read tutorials or examples on the web that say one thing or the other; code will tell you the truth.</li>
<li>Reading code is a literacy of WordPress development. Dive into it to figure out what’s going on.</li>
</ul>
<p>Use <a href="http://betterthangrep.com/">ack</a> to quickly search your code base. It’s better and faster than grep.</p>
<p><em>Slides: <a href="http://danielbachhuber.com/?attachment_id=129789">Different</a> <a href="http://danielbachhuber.com/?attachment_id=129790">usages</a> of ack</em></p>
<p>Some usage:</p>
<ul>
<li>ack ‘function my_function_name’ for the source of a function</li>
<li>ack ‘/crazy-regex/’</li>
</ul>
<p><em>Slide: Files you might commonly need to reference</em></p>
<p>[sourcecode language=&ldquo;php&rdquo;] // Some of your functions for sanitizing input // and formatting output, including esc_*(), // sanitize_*(), and capital_P_dangit() wp-includes/formatting.php</p>
<p>// Post manipulation, including // register_post_type(), get_posts(), etc. wp-includes/post.php</p>
<p>// Reference for modifying the Query wp-includes/query.php</p>
<p>// Functions you can override in your theme // or plugin wp-includes/pluggable.php [/sourcecode]</p>
<p><strong>→ Install Debug Bar, it’s like Firebug for your WordPress</strong></p>
<p>By default, the <a href="http://wordpress.org/extend/plugins/debug-bar/">Debug Bar</a> gives you information about the execution of the page.</p>
<p><em>Slide: Debug Bar <a href="http://danielbachhuber.com/?attachment_id=129793">by default</a></em></p>
<p>Define SAVEQUERIES to do the following:</p>
<ul>
<li>Saves each query</li>
<li>Identifies which function calls it</li>
<li>Saves how long it took to run</li>
</ul>
<p><em>Slide: Debug Bar <a href="http://danielbachhuber.com/?attachment_id=129794">with SAVEQUERIES</a></em></p>
<p><a href="http://wordpress.org/extend/plugins/debug-bar-extender/">Debug Bar Extender</a> adds some profiling information</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129795">Debug Bar Extender</a></em></p>
<p><strong>→ Use version control and write descriptive commit messages</strong></p>
<p>Version control is an awesome historical record of your project. SVN and Git are two popular types of version control, the former is used for the WordPress.org project and the latter was popularized by <a href="http://help.github.com/">Github</a>, a social coding site.</p>
<p>Version control gives you these advantages:</p>
<ul>
<li>More easily communicate the changes you’re making with the rest of your team.</li>
<li>Work on multiple features at the same time.</li>
<li>Roll back if necessary; better than backups.</li>
<li>Automated deployment — no more copy and pasting over FTP.</li>
</ul>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129797">What a diff on Github looks like</a></em></p>
<p><a href="http://danielbachhuber.com/2012/02/17/what-makes-a-good-commit-message/">What makes a good commit message:</a></p>
<ul>
<li>Consider your audience: writing for coworkers and for historical purposes.</li>
<li>Explain why you made the change, not what it was. What it was should be self-explanatory from the code</li>
<li>Link to Trac tickets or other relevant conversation.</li>
</ul>
<p><em>Slide: What <a href="http://danielbachhuber.com/?attachment_id=129799">good</a> and <a href="http://danielbachhuber.com/?attachment_id=129798">bad</a> commit messages look like</em></p>
<p><a href="http://www.wired.com/wiredenterprise/2012/02/github-revisited/">Neat example of Wired Magazine accepting contributions via Github for an article</a>.</p>
<h3 id="2-follow-best-practices">2. Follow best practices</h3>
<p><em>Let others love your code too</em></p>
<p><strong>→ Don’t modify core. Do extend it properly.</strong></p>
<p>Why: your changes will get blown away, you won’t upgrade regularly, and the sky will fall on your head.</p>
<p>WordPress has an extensive system of <a href="http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters">action and filter hooks</a> you can use to extend functionality and modify values. It’s the “window into WordPress”.</p>
<p>Sometimes you will need to do ugly workarounds. Don’t worry, it’s better than modifying core.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129803">Filter workaround</a> for core problem with custom statuses</em></p>
<p>If you find something limiting in the API, open a Trac ticket!</p>
<p><strong>→ Prefix all the things</strong></p>
<p>Prefix all of your functions and variables to avoid collisions; better yet, write your functionality into classes.</p>
<p>“<a href="http://nacin.com/2010/05/11/in-wordpress-prefix-everything/">In WordPress, prefix everything</a>” - Andrew Nacin</p>
<p><em>Slide: Example of <a href="http://danielbachhuber.com/?attachment_id=129806">non-prefixed vs. prefixed</a></em></p>
<p><strong>→ Coding standards are standards for a reason</strong></p>
<p>Why: You’re not the only one working with your code. <a href="http://codex.wordpress.org/WordPress_Coding_Standards">WordPress’ coding standards</a> are a common language for others to understand your code.</p>
<ul>
<li>Tabs, not spaces, for indentation. Allows the most flexibility between clients.</li>
<li>under_score for functions and variables. Everyone else does.</li>
<li>Capitalize_Classes. This too.</li>
<li>use-hyphens-to-separate-words-in-files.php. This three.</li>
</ul>
<p><em>Slide: The coding standards I run into most commonly with VIP</em></p>
<h3 id="3-use-the-correct-hooks-and-apis">3. Use the correct hooks and APIs</h3>
<p><em>There are so many</em></p>
<p><strong>→ Use the WP_HTTP class for remote requests</strong></p>
<p>The transport mechanisms available for WordPress to use vary from server to server, especially if you’re releasing code to be used on shared servers. That’s why you should use the WP_HTTP class&hellip; it uses the best mechanism available.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129811">different HTTP functions you can use</a></em></p>
<p><strong>→  Find the proper action for your action</strong></p>
<p>‘init’ isn’t everything. Invest some time into finding the right action to avoid bugginess later. Make sure all order of execution code in your functions.php and/or plugin is hooked into an action.</p>
<p>‘after_setup_theme’ is a good place for:</p>
<ul>
<li>Registering nav menus</li>
<li>Setting your post thumbnail sizes</li>
<li>Adding theme support</li>
</ul>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129813">after_setup_theme</a></em></p>
<p>‘wp_enqueue_scripts’ is where you should <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">enqueue</a> all of your scripts and styles. Define a dependency if you need to. Enqueuing on <a href="http://wpdevel.wordpress.com/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/">‘wp_print_styles’ may cause issues</a>.</p>
<p>You can also minimize HTTP requests by only enqueuing them on the pages you need them.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129814">wp_enqueue_scripts</a></em></p>
<p>Others:</p>
<ul>
<li>‘add_meta_boxes’ is a good place to register your meta boxes</li>
<li>‘admin_menu’ for adding admin menus</li>
<li>‘widgets_init’ is a good place for registering widgets</li>
</ul>
<h3 id="4-protect-yourself">4. Protect yourself</h3>
<p><em>Don’t trust strangers</em></p>
<p><strong>→ Properly handle your user-submitted data</strong></p>
<p>Validate that the data is what you need. Follow a whitelist approach</p>
<p>Sanitize what the user has submitted:</p>
<ul>
<li>sanitize_text_field() // strips tags, checks for invalid UTF-8, remove line breaks, tabs and extra white space</li>
<li>intval() // integer value</li>
<li>wp_filter_post_kses() // sanitize for allowed HTML tags and attr</li>
<li>sanitize_title() // strip PHP and HTML tags</li>
<li>sanitize_key() // lowercase alphanumeric characters, dashes and underscores</li>
</ul>
<p><em>Slide: All of the core sanitize functions you can use</em></p>
<p>Make sure you sanitize your data at the point of accessing it.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129819">Sanitize at the point of using your data</a></em></p>
<p>“<a href="http://codex.wordpress.org/Data_Validation">Data Validation</a>” in the WordPress.org codex <a href="http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/formatting.php">wp-includes/formatting.php</a> includes all of the functions</p>
<p><strong>→ Escape data on output</strong></p>
<p>There are different escaping functions you can use to protect your HTML. Make sure your HTML is what it’s supposed to be:</p>
<ul>
<li>esc_html() // escape for data within HTML, checks for invalid UTF-8</li>
<li>esc_attr() // escape for HTML attributes, checks for invalid UTF-8</li>
<li>esc_js() // escape single quotes, htmlspecialchar &quot; &lt; &gt; &amp;, fix line endings.</li>
<li>esc_textarea() // escapes data for use in a textarea</li>
<li>esc_url() // removes a bunch of invalid characters from your URL, makes it good</li>
</ul>
<p><em>Slide: Different escaping functions you can use</em></p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129822">Escape at the point of printing data</a></em></p>
<p><strong>→ Nonce (numbers used once) to make sure people are who they say they are</strong></p>
<p>Use Nonces for security (XSRF) and checking user intention (Edit vs. Quick Edit)</p>
<p>Nonces are temporary (24 hours), tied to specific users (if authenticated) and actions, and in some cases, referrers.</p>
<p>Slide: <a href="http://danielbachhuber.com/?attachment_id=129824">Adding a nonce to your form, and then checking for it on form process</a></p>
<p>“<a href="http://markjaquith.wordpress.com/2006/06/02/wordpress-203-nonces/">WordPress 2.0.3: Nonces</a>” - Mark Jaquith</p>
<p><strong>→ When you must use SQL, $wpdb-&gt;prepare()</strong></p>
<p>$wpdb-&gt;prepare() properly escapes strings.</p>
<p>Use %s and %d depending on whether you’re using a string or a digit; quote marks will be auto-added for strings.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129826">Usage of $wpdb-&gt;prepare</a></em></p>
<p>“<a href="http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks">Protect queries against SQL injection attacks</a>” in the WordPress.org codex.</p>
<h3 id="5-optimize">5. Optimize</h3>
<p><em>Performance matters — make it fast</em></p>
<p><strong>→ Know your Query</strong></p>
<p>query_posts() should be used in one and only case if you need to modify main query of page. It sets a lot of global variables and will lead to obscure and horrible bugs if used in any other place and for any other purpose.</p>
<p>get_posts() is very similar in mechanics and accepts same arguments, but returns array of posts, doesn&rsquo;t modify global variables and is safe to use anywhere.</p>
<p>WP_Query class power both behind the scenes, but you can also create and work with own object of it. Bit more complex, less restrictions, also safe to use anywhere.</p>
<p><em>Slide: Different ways of the Query</em></p>
<p>WP_Query actually does four SQL queries</p>
<ul>
<li>Main posts get</li>
<li>postmeta get</li>
<li>taxonomy terms get</li>
<li>SQL calc rows</li>
</ul>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129830">How you can disable extra queries on the Query</a></em></p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129831">How you should modify the query</a></em></p>
<p>“<a href="http://wordpress.stackexchange.com/questions/1753/when-should-you-use-wp-query-vs-query-posts-vs-get-posts">When should you use WP_Query vs query_posts() vs get_posts()?</a>” “<a href="http://www.slideshare.net/andrewnacin/you-dont-know-query-wordcamp-portland-2011">You don’t know Query</a>” - Andrew Nacin</p>
<p><strong>→ Cache expensive data</strong></p>
<p>If a given set of data takes more than ~200 ms to generate, you should cache it.</p>
<p>WordPress has three different types of caching:</p>
<ul>
<li>Transients -Transient data, persistent across page loads but could expire at any time.</li>
<li>Object cache - Page load by page load, unless you use an object caching backend like memcache or APC.</li>
<li>Options - Data will always persist, maybe can’t handle a lot of it.</li>
</ul>
<p><strong>→ Cache remote requests, or offload to the frontend</strong></p>
<p>Remote requests are when your code has to pull some data from somewhere else. Retrieving that data can be expensive. Uncached, every millisecond the remote request takes are milliseconds added to the page load. And these are for every visit to your site.</p>
<p>Sometimes, we can rely on the API to be fast enough that we can just request and cache on the frontend.</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129834">Remote request on the PHP end</a></em></p>
<p>Oh, but we actually need new live data all the time. Trying to invalidate the cache and repopulate all of the time is bad news bear. Let’s just move this to some Javascript on the frontend</p>
<p><em>Slide: <a href="http://danielbachhuber.com/?attachment_id=129835">Offload the request entirely to the frontend</a></em></p>
<h3 id="the-beginning">The beginning</h3>
<p>The best thing you can do is read others’ code and share your own. If you have a friend or colleague you can match up with, swap code and leave feedback for each other. It’s tremendously beneficial for both parties. A good WordPress developer never stops learning.</p>]]></content:encoded>
    </item>
    <item>
      <title>Pre-flighting your WXR files</title>
      <link>https://danielbachhuber.com/pre-flighting-your-wxr-files/</link>
      <pubDate>Fri, 24 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/pre-flighting-your-wxr-files/</guid>
      <description>&lt;p&gt;Thanks to a bunch of hard work by Thorsten and others, the open source CLI scripts we have for exporting and importing WordPress sites are getting better and better.&lt;/p&gt;&#xA;&lt;p&gt;When exporting, &lt;a href=&#34;https://github.com/danielbachhuber/WordPress-CLI-Exporter&#34;&gt;the script&lt;/a&gt; gives you a summary of what will be included in your export file.&lt;/p&gt;&#xA;&lt;p&gt;For importing, it would be nice if the script pre-flighted your data and told you how many total posts were to be imported, whether new tags were going to be created, identified the custom post types in your export file that were to be rejected by the site, etc.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Thanks to a bunch of hard work by Thorsten and others, the open source CLI scripts we have for exporting and importing WordPress sites are getting better and better.</p>
<p>When exporting, <a href="https://github.com/danielbachhuber/WordPress-CLI-Exporter">the script</a> gives you a summary of what will be included in your export file.</p>
<p>For importing, it would be nice if the script pre-flighted your data and told you how many total posts were to be imported, whether new tags were going to be created, identified the custom post types in your export file that were to be rejected by the site, etc.</p>
<p>Also, we should figure out a better way to make sure all of our internal scripts are regularly open sourced (and synced to most recent versions).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Alyeska, day one</title>
      <link>https://danielbachhuber.com/alyeska-day-one/</link>
      <pubDate>Sat, 18 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/alyeska-day-one/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/alyeskasun1.jpg&#34; alt=&#34;&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Today, Miles and I skiied &lt;a href=&#34;http://www.alyeskaresort.com/&#34;&gt;Alyeska&lt;/a&gt; for the first time. Alyeska is a resort about 40 miles south of Anchorage, Alaska. If you&amp;rsquo;ve ever seen a Warren Miller or Matchstick Productions Film, you probably are aware of &lt;a href=&#34;http://www.chugachpowderguides.com/&#34;&gt;Chugach Mountain Guides&lt;/a&gt; which operate out of the same area.&lt;/p&gt;&#xA;&lt;p&gt;The snow is pretty much the best I&amp;rsquo;ve skiied in my entire life. The mountain received 34 inches on Monday, 30 inches on Tuesday, and then about 6 inches per day since. That is a lot of snow.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/alyeskasun1.jpg" alt=""  width="2400"
	height="1793"  /></p>
<p>Today, Miles and I skiied <a href="http://www.alyeskaresort.com/">Alyeska</a> for the first time. Alyeska is a resort about 40 miles south of Anchorage, Alaska. If you&rsquo;ve ever seen a Warren Miller or Matchstick Productions Film, you probably are aware of <a href="http://www.chugachpowderguides.com/">Chugach Mountain Guides</a> which operate out of the same area.</p>
<p>The snow is pretty much the best I&rsquo;ve skiied in my entire life. The mountain received 34 inches on Monday, 30 inches on Tuesday, and then about 6 inches per day since. That is a lot of snow.</p>
<p>We did 25.5k feet of vertical in 20 runs all over the mountain — and had fresh tracks most of the day. Tomorrow, the goal is to ski from 10:30 am to 9 pm and break 40k feet of vertical.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What makes a good commit message</title>
      <link>https://danielbachhuber.com/what-makes-a-good-commit-message/</link>
      <pubDate>Sat, 18 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-makes-a-good-commit-message/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s a useful conversation happening in an internal Automattic P2 I thought I&amp;rsquo;d take the liberty to share.&lt;/p&gt;&#xA;&lt;p&gt;From &lt;a href=&#34;http://blogwaffe.com/&#34;&gt;Mike&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Consider the audience when you write a commit message. What is that audience? It’s at least two groups of people:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Your coworkers: You’re telling everyone else what you did. Commit messages are one to many, asynchronous and textual. Sounds like email, so write the commit message like an email. The first line should be a descriptive subject. The next line should be blank (as a separator). Then comes the body of the message. Write everything as if you’re describing it to Nikolay.&lt;/li&gt;&#xA;&lt;li&gt;Your future self: Think back on the times you were fixing something and needed to understand why an old commit was made. How often was the commit message useful? How often was it your own useless commit message? The commit message should say what the problem was (repro steps?), how you fixed it (briefly – the code itself gives more details), and &lt;em&gt;why&lt;/em&gt; you changed what you did. That way the shiny pants people of the future have the information they need to decide if they can safely change your code.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;From &lt;a href=&#34;http://ma.tt/&#34;&gt;Matt&lt;/a&gt;:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There&rsquo;s a useful conversation happening in an internal Automattic P2 I thought I&rsquo;d take the liberty to share.</p>
<p>From <a href="http://blogwaffe.com/">Mike</a>:</p>
<blockquote>
<p>Consider the audience when you write a commit message. What is that audience? It’s at least two groups of people:</p>
<ul>
<li>Your coworkers: You’re telling everyone else what you did. Commit messages are one to many, asynchronous and textual. Sounds like email, so write the commit message like an email. The first line should be a descriptive subject. The next line should be blank (as a separator). Then comes the body of the message. Write everything as if you’re describing it to Nikolay.</li>
<li>Your future self: Think back on the times you were fixing something and needed to understand why an old commit was made. How often was the commit message useful? How often was it your own useless commit message? The commit message should say what the problem was (repro steps?), how you fixed it (briefly – the code itself gives more details), and <em>why</em> you changed what you did. That way the shiny pants people of the future have the information they need to decide if they can safely change your code.</li>
</ul></blockquote>
<p>From <a href="http://ma.tt/">Matt</a>:</p>
<blockquote>
<p>I think as a company we need better commit messages. Very often in our messages we say <em>what</em> is happening but not the <em>why</em>, and most importantly the context of the change. I’m going to pick on this changeset, but you could really pick almost anything:</p>
<p>[link to changeset]</p>
<p>4 lines changed, with the message:</p>
<p>“Fixing incorrect $blogid variable, should be $blog_id. Check if $current_blog is === false before trying to reset it.”</p>
<p>First a good thing: it’s a multi-line message, which is nice. Commit messages can use as many lines as you like, and be as verbose as you like.</p>
<p>However if I were to come across this changeset 3 years from now, say if I were debugging a similar area in the code, I’d have no idea why this change happened. The message might as well be blank, since it doesn’t really say anything I couldn’t tell in 2 seconds from looking at the diff. Some useful context would be:</p>
<ul>
<li>What bug did this code cause? (This is most important.) Why change it?</li>
<li>Is there a relevant discussion, either on a P2 or in Trac?</li>
<li>Who was involved in the fix, IE who else would have context for this change either because they reported the bug or reviewed the fix.</li>
</ul></blockquote>
<p>From <a href="http://simpledream.net/">Lance</a>:</p>
<blockquote>
<p>Good commit messages are my gospel. The actual syntax should vary by context, though. For theme commits, for example, we always start with the theme name up front.</p>
<p>But, the goal of giving context and pointing to related items is key.</p>
<p>I personally don’t think long commit messages are better. Instead, point to a Trac ticket or P2 post with all the gory details.</p></blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>Run up Timberline Road</title>
      <link>https://danielbachhuber.com/run-up-timberline-road/</link>
      <pubDate>Sun, 12 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/run-up-timberline-road/</guid>
      <description>&lt;p&gt;Ran up Timberline road tonight because I skied down to Mazama lodge and left my car in the climber&amp;rsquo;s parking lot. Government Camp is at about 4,000 feet. Timberline Lodge is at 6,000. The road is a snaky, sometimes steep 5 or so miles. I did it in just over 50 minutes&amp;hellip; had to take one walk break.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s 28 degrees out and I&amp;rsquo;m frozen solid. The wind is most brutal when all you&amp;rsquo;re wearing is long johns.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ran up Timberline road tonight because I skied down to Mazama lodge and left my car in the climber&rsquo;s parking lot. Government Camp is at about 4,000 feet. Timberline Lodge is at 6,000. The road is a snaky, sometimes steep 5 or so miles. I did it in just over 50 minutes&hellip; had to take one walk break.</p>
<p>It&rsquo;s 28 degrees out and I&rsquo;m frozen solid. The wind is most brutal when all you&rsquo;re wearing is long johns.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Upcoming talks: WordCamp Phoenix, PDXWP, and CMA NYC</title>
      <link>https://danielbachhuber.com/upcoming-talks-wordcamp-phoenix-pdxwp-and-cma-nyc/</link>
      <pubDate>Thu, 09 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/upcoming-talks-wordcamp-phoenix-pdxwp-and-cma-nyc/</guid>
      <description>&lt;p&gt;Over the next couple of months, I&amp;rsquo;m looking forward to speaking at a few different events.&lt;/p&gt;&#xA;&lt;p&gt;At &lt;a href=&#34;http://2012.phoenix.wordcamp.org/&#34;&gt;WordCamp Phoenix&lt;/a&gt; on February 25th, I&amp;rsquo;m presenting &amp;ldquo;Mastering WordPress Development.&amp;rdquo; The title lends itself to a number of discussion topics, possibly including coding standards, how to perform migrations, writing bin scripts to manipulate lots of data, participating in open source projects, how to review your code, common mistakes we see at WordPress.com VIP, etc. If you have opinions as to what I should cover, I&amp;rsquo;d love to hear them in the comments.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Over the next couple of months, I&rsquo;m looking forward to speaking at a few different events.</p>
<p>At <a href="http://2012.phoenix.wordcamp.org/">WordCamp Phoenix</a> on February 25th, I&rsquo;m presenting &ldquo;Mastering WordPress Development.&rdquo; The title lends itself to a number of discussion topics, possibly including coding standards, how to perform migrations, writing bin scripts to manipulate lots of data, participating in open source projects, how to review your code, common mistakes we see at WordPress.com VIP, etc. If you have opinions as to what I should cover, I&rsquo;d love to hear them in the comments.</p>
<p>On February 27th, Mike Bijon and I will be taking the <a href="http://www.meetup.com/pdx-wp/events/49028392/">Portland WordPress Users Group</a> through using Git (and SVN) for version control and working within a team.</p>
<p>At <a href="http://nyc12.com/">CMA NYC</a> March 18th through 20th, I&rsquo;ll be leading three sessions (one per day):</p>
<ul>
<li>&ldquo;I Want To Learn WordPress - An Introduction To Key Concepts&rdquo; - All of the basics you need to get started, including the WordPress interface and key concepts like themes, plugins, PHP and MySQL, and how to choose a good web host and design for your site.</li>
<li>&ldquo;Hacking WordPress In The Newsroom&rdquo; - How to take your WordPress development to the next level. We&rsquo;ll review version control, coding standards, performance and optimization, debugging, and other best practices.</li>
<li>&ldquo;Making The Switch To WordPress&rdquo; - Everything you need to know about switching to WordPress from CMS X. Well, most everything.</li>
</ul>
<p><a href="http://www.shaunandrews.com/">Shaun</a>, <a href="http://ericavarlese.com/">Erica</a>, and I will also be hosting a mini-Happiness Bar for a few hours on Monday to help attendees with all of their WordPress questions.</p>
<p>Sweet!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Team VIP meetup in Miami</title>
      <link>https://danielbachhuber.com/team-vip-meetup-in-miami/</link>
      <pubDate>Sat, 04 Feb 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/team-vip-meetup-in-miami/</guid>
      <description>&lt;p&gt;The nature of a distributed company is such that you rarely get to see your colleagues unless you make an explicit effort to do so. Team VIP is eight people in Portland, San Francisco, Toronto, Milan, and Sofia, Bulgaria. Fortunately, working for Automattic means we get to meet up, socialize, have fun, and collaborate in person at least a couple times per year. This past week, we relaxed (somewhat) in South Beach, Miami.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The nature of a distributed company is such that you rarely get to see your colleagues unless you make an explicit effort to do so. Team VIP is eight people in Portland, San Francisco, Toronto, Milan, and Sofia, Bulgaria. Fortunately, working for Automattic means we get to meet up, socialize, have fun, and collaborate in person at least a couple times per year. This past week, we relaxed (somewhat) in South Beach, Miami.</p>
<p>Highlights from the week include:</p>
<ul>
<li>
<p>Great conversations with everyone on the team. Our support workflow is really hitting its stride, and I think we have a much better sense now of where we want to take our internal tools.</p>
</li>
<li>
<p><a href="http://ma.tt/2012/02/life-com/">Relaunching LIFE Magazine</a> on WordPress.com Tuesday night at the steak house. When I pulled my laptop out at the dinner table, I thought the waiter was going to ask me to close it. Instead, he offered a wifi connection.</p>
</li>
<li>
<p>Figuring out how to &ldquo;fix&rdquo; rewrite rules for VIPs. Now, to finish and test the implementation&hellip;</p>
</li>
<li>
<p>Sunset boat ride through the Miami harbor. Ultimate chill out session.</p>
</li>
<li>
<p>Lots of great food: Cuban, steak, sushi. I took a semi-break from veganism and allowed myself to eat meat one meal a day.</p>
</li>
<li>
<p>Awesome daily runs along the South Beach boardwalk, with a <a href="http://runkeeper.com/user/danielbachhuber/activity/69206068">seven miler on Thursday</a>.</p>
</li>
</ul>
<p>All photos, except for the group shot on the boat, were taken with my fancy new Canon S100.</p>
<p><img src="images/img_0005-version-21.jpg" alt="img_0005-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0006-version-21.jpg" alt="img_0006-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0001-version-211.jpg" alt="img_0001-version-211.jpg"  width="1024"
	height="768"  />
<img src="images/img_0077-version-21.jpg" alt="img_0077-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0018-version-21.jpg" alt="img_0018-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0078-version-21.jpg" alt="img_0078-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0011-version-21.jpg" alt="img_0011-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0009-version-21.jpg" alt="img_0009-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0022-version-21.jpg" alt="img_0022-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0070-version-21.jpg" alt="img_0070-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0025-version-21.jpg" alt="img_0025-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0027-version-21.jpg" alt="img_0027-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0033-version-21.jpg" alt="img_0033-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0044-version-21.jpg" alt="img_0044-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/vip-on-a-boat-version-21.jpg" alt="vip-on-a-boat-version-21.jpg"  width="1024"
	height="765"  />
<img src="images/img_0053-version-21.jpg" alt="img_0053-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0056-version-21.jpg" alt="img_0056-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0063-version-21.jpg" alt="img_0063-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0069-version-21.jpg" alt="img_0069-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0073-version-21.jpg" alt="img_0073-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0075-version-21.jpg" alt="img_0075-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0079-version-21.jpg" alt="img_0079-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_0084-version-21.jpg" alt="img_0084-version-21.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress.com idea: Guided signups</title>
      <link>https://danielbachhuber.com/wordpress-com-idea-guided-signups/</link>
      <pubDate>Sat, 28 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-com-idea-guided-signups/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem statement:&lt;/strong&gt; Some users arrive at WordPress.com with intentions to launch a specific type of website. They know what type of site they want (e.g. photography portfolio) but don&amp;rsquo;t know how to use WordPress to achieve their goals. Although there&amp;rsquo;s lots of documentation available on features, we offer very little instructive, illustrated guidance on setting up different types of websites.&lt;/p&gt;&#xA;&lt;p&gt;Each guide could have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Links to example sites&lt;/li&gt;&#xA;&lt;li&gt;Suggested WordPress.com upgrades&lt;/li&gt;&#xA;&lt;li&gt;Suggested WordPress.com themes&lt;/li&gt;&#xA;&lt;li&gt;Steps you need to take to configure your site&lt;/li&gt;&#xA;&lt;li&gt;Frequently asked questions about setting up this type of site&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This idea has been around the block a lot, and I recently rediscovered it in a notes folder. I think guided signups would be super useful for photo blogs, small to medium size business sites, mommy bloggers, etc.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>Problem statement:</strong> Some users arrive at WordPress.com with intentions to launch a specific type of website. They know what type of site they want (e.g. photography portfolio) but don&rsquo;t know how to use WordPress to achieve their goals. Although there&rsquo;s lots of documentation available on features, we offer very little instructive, illustrated guidance on setting up different types of websites.</p>
<p>Each guide could have:</p>
<ul>
<li>Links to example sites</li>
<li>Suggested WordPress.com upgrades</li>
<li>Suggested WordPress.com themes</li>
<li>Steps you need to take to configure your site</li>
<li>Frequently asked questions about setting up this type of site</li>
</ul>
<p>This idea has been around the block a lot, and I recently rediscovered it in a notes folder. I think guided signups would be super useful for photo blogs, small to medium size business sites, mommy bloggers, etc.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Show biographies for co-authors at the end of your post</title>
      <link>https://danielbachhuber.com/show-biographies-for-co-authors-at-the-end-of-your-post/</link>
      <pubDate>Mon, 23 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/show-biographies-for-co-authors-at-the-end-of-your-post/</guid>
      <description>&lt;p&gt;In the WordPress.org forums, &lt;a href=&#34;http://wordpress.org/support/topic/co-authors-plus-author-bios-on-single-posts?replies=1&#34;&gt;doubleedesign says&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I want to add the authors&amp;rsquo; biographies to the end of each post.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Awesome&amp;hellip; it&amp;rsquo;s pretty simple to do. Conceptually, what we need to do is load our co-authors, and then loop through printing the relevant information for each one.&lt;/p&gt;&#xA;&lt;p&gt;You&amp;rsquo;ll want to put the following code snippet within The Loop in any template you&amp;rsquo;d like the bios to appear.&lt;/p&gt;&#xA;&lt;p&gt;[sourcecode language=&amp;ldquo;php&amp;rdquo;] /** * Show multiple Co-Author biography fields at the bottom of a single post * This snippet should be placed within The Loop */ if ( class_exists( &amp;lsquo;coauthors_plus&amp;rsquo; ) ) { // Get the Co-Authors for the post $co_authors = get_coauthors(); // For each Co-Author, echo a wrapper div, their name, and their bio if they have one foreach ( $co_authors as $key =&amp;gt; $co_author ) { $co_author_classes = array( &amp;lsquo;co-author-wrap&amp;rsquo;, &amp;lsquo;co-author-number-&amp;rsquo; . ( $key + 1 ), ); echo &amp;lsquo;&lt;div class=&#34;&#39; . implode( &#39; &#39;, $co\_author\_classes ) . &#39;&#34;&gt;&amp;rsquo;; echo &amp;lsquo;&lt;h4 class=&#34;co-author-display-name&#34;&gt;&amp;rsquo; . $co_author-&amp;gt;display_name . &amp;lsquo;&lt;/h4&gt;&amp;rsquo;; // Only print the description if the description exists if ( $description = get_the_author_meta( &amp;lsquo;description&amp;rsquo;, $co_author-&amp;gt;ID ) ) echo &amp;lsquo;&lt;p class=&#34;co-author-bio&#34;&gt;&amp;rsquo; . $description . &amp;lsquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the WordPress.org forums, <a href="http://wordpress.org/support/topic/co-authors-plus-author-bios-on-single-posts?replies=1">doubleedesign says</a>:</p>
<blockquote>
<p>I want to add the authors&rsquo; biographies to the end of each post.</p></blockquote>
<p>Awesome&hellip; it&rsquo;s pretty simple to do. Conceptually, what we need to do is load our co-authors, and then loop through printing the relevant information for each one.</p>
<p>You&rsquo;ll want to put the following code snippet within The Loop in any template you&rsquo;d like the bios to appear.</p>
<p>[sourcecode language=&ldquo;php&rdquo;] /** * Show multiple Co-Author biography fields at the bottom of a single post * This snippet should be placed within The Loop */ if ( class_exists( &lsquo;coauthors_plus&rsquo; ) ) { // Get the Co-Authors for the post $co_authors = get_coauthors(); // For each Co-Author, echo a wrapper div, their name, and their bio if they have one foreach ( $co_authors as $key =&gt; $co_author ) { $co_author_classes = array( &lsquo;co-author-wrap&rsquo;, &lsquo;co-author-number-&rsquo; . ( $key + 1 ), ); echo &lsquo;<div class="' . implode( ' ', $co\_author\_classes ) . '">&rsquo;; echo &lsquo;<h4 class="co-author-display-name">&rsquo; . $co_author-&gt;display_name . &lsquo;</h4>&rsquo;; // Only print the description if the description exists if ( $description = get_the_author_meta( &lsquo;description&rsquo;, $co_author-&gt;ID ) ) echo &lsquo;<p class="co-author-bio">&rsquo; . $description . &lsquo;</p>&rsquo;; echo &lsquo;</div>&rsquo;; } } [/sourcecode]</p>
<p>If you&rsquo;d like other co-author details to appear as well, like their avatar for instance, you can modify the output within the foreach loop.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Today&#39;s two WordPress.com VIP launches: PandoDaily and Grist</title>
      <link>https://danielbachhuber.com/todays-two-wordpress-com-vip-launches-pandodaily-and-grist/</link>
      <pubDate>Tue, 17 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/todays-two-wordpress-com-vip-launches-pandodaily-and-grist/</guid>
      <description>&lt;p&gt;Today, MLK day even, two new sites launched on &lt;a href=&#34;http://vip.wordpress.com/&#34;&gt;WordPress.com VIP&lt;/a&gt; that I&amp;rsquo;m personally pretty excited about.&lt;/p&gt;&#xA;&lt;h3 id=&#34;pandodaily&#34;&gt;PandoDaily&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://pandodaily.com/&#34;&gt;&lt;img src=&#34;images/pandodaily1.jpg&#34; alt=&#34;&#34;  width=&#34;1070&#34;&#xA;&#x9;height=&#34;756&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://pandodaily.com/&#34;&gt;PandoDaily&lt;/a&gt; is a brand new tech site started by Sarah Lacy, former senior editor at TechCrunch. From &lt;a href=&#34;http://pandodaily.com/2012/01/16/why-i-started-pandodaily/&#34;&gt;her announcement post&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;We have one goal here at PandoDaily: To be the site-of-record for that startup root-system and everything that springs up from it, cycle-after-cycle.&lt;/strong&gt; That sounds simple but it’ll be incredibly hard to pull off. It’s not something we accomplish on day one or even day 300. It’s something we accomplish by waking up every single day and writing the best stuff we can, and continually adding like-minded staffers who have the passion, drive and talent to do the same.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, MLK day even, two new sites launched on <a href="http://vip.wordpress.com/">WordPress.com VIP</a> that I&rsquo;m personally pretty excited about.</p>
<h3 id="pandodaily">PandoDaily</h3>
<p><a href="http://pandodaily.com/"><img src="images/pandodaily1.jpg" alt=""  width="1070"
	height="756"  /></a></p>
<p><a href="http://pandodaily.com/">PandoDaily</a> is a brand new tech site started by Sarah Lacy, former senior editor at TechCrunch. From <a href="http://pandodaily.com/2012/01/16/why-i-started-pandodaily/">her announcement post</a>:</p>
<blockquote>
<p><strong>We have one goal here at PandoDaily: To be the site-of-record for that startup root-system and everything that springs up from it, cycle-after-cycle.</strong> That sounds simple but it’ll be incredibly hard to pull off. It’s not something we accomplish on day one or even day 300. It’s something we accomplish by waking up every single day and writing the best stuff we can, and continually adding like-minded staffers who have the passion, drive and talent to do the same.</p></blockquote>
<p>So&hellip; this sounds like a newer, better, and fresher TechCrunch starting from scratch. And she&rsquo;s recruited <a href="https://twitter.com/#!/arrington">Michael Arrington</a>, <a href="https://twitter.com/#!/parislemon">MG Siegler</a>, <a href="https://twitter.com/#!/paulcarr">Paul Carr</a> and <a href="https://twitter.com/#!/fmanjoo">Farhad Manjoo</a> as regular contributors. Props to <a href="http://sara-cannon.com/">Sara Cannon</a> for pulling off the design.</p>
<h3 id="grist">Grist</h3>
<p><a href="http://grist.org/"><img src="images/grist1.jpg" alt=""  width="1099"
	height="769"  /></a></p>
<p><a href="http://grist.org/">Grist</a>, a non-profit environmental news publication, is near and dear to my heart. It&rsquo;s why I&rsquo;m on the technology side of publishing instead of photographing in the third world. In summer 2007, I worked an awesome web production internship where, in exchange for a bit of copy and pasting into the CMS, I had the freedom to explore publishing on the web and to start developing my skills. That was back in the days of <a href="http://bricolagecms.org/">Bricolage</a>; Grist has since been on <a href="http://expressionengine.com/">ExpressionEngine</a>. Props to <a href="http://stkywll.com/">Matt Perry</a> and <a href="http://twitter.com/natebot">Nathan Letsinger</a> for making the switch happen (and to the Otto and Nacin show for their support).</p>
<p>Want to help publishers kick ass with WordPress? Come join my team — <a href="http://automattic.com/work-with-us/">we&rsquo;re hiring</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Questions publishers want answered</title>
      <link>https://danielbachhuber.com/questions-publishers-want-answered/</link>
      <pubDate>Sun, 08 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/questions-publishers-want-answered/</guid>
      <description>&lt;p&gt;Short list of questions publishers want answered that I believe could be answered with the right data:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Who are my best writers?&lt;/li&gt;&#xA;&lt;li&gt;What topics are my audience most engaged in?&lt;/li&gt;&#xA;&lt;li&gt;Which types of pieces do best over time?&lt;/li&gt;&#xA;&lt;li&gt;What type of stories should I have my writers work on?&lt;/li&gt;&#xA;&lt;li&gt;When is the best time to publish?&lt;/li&gt;&#xA;&lt;li&gt;What&amp;rsquo;s the best length for a piece?&lt;/li&gt;&#xA;&lt;li&gt;Does including rich media help with engagement?&lt;/li&gt;&#xA;&lt;li&gt;Do my writers actually need to include links? How many?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What am I missing?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Short list of questions publishers want answered that I believe could be answered with the right data:</p>
<ul>
<li>Who are my best writers?</li>
<li>What topics are my audience most engaged in?</li>
<li>Which types of pieces do best over time?</li>
<li>What type of stories should I have my writers work on?</li>
<li>When is the best time to publish?</li>
<li>What&rsquo;s the best length for a piece?</li>
<li>Does including rich media help with engagement?</li>
<li>Do my writers actually need to include links? How many?</li>
</ul>
<p>What am I missing?</p>
<p>Obviously most publishers know most of these by heart, it&rsquo;s key to running a successful business. What&rsquo;s more interesting is to use this type of data as a baseline for experimentation.</p>
<p>It&rsquo;s important to remember the difference between creation and optimization, and how data can be used for each.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Scripting my application launch process</title>
      <link>https://danielbachhuber.com/scripting-my-application-launch-process/</link>
      <pubDate>Fri, 30 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/scripting-my-application-launch-process/</guid>
      <description>&lt;p&gt;Every day for work, there&amp;rsquo;s several applications I always use. The other day, I put together a quick and dirty bash script for opening all of them at once.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m terribly inexperienced at this, so don&amp;rsquo;t poke fun, only offer good suggestions for improvement&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;[sourcecode language=&amp;ldquo;bash&amp;rdquo;] #!/bin/bash&lt;/p&gt;&#xA;&lt;p&gt;# Open all of the requisite applications echo &amp;lsquo;Opening Chrome&amp;rsquo; `open /Volumes/Macintosh HD/Applications/Google Chrome.app/` echo &amp;lsquo;Opening Skype&amp;rsquo; `open /Volumes/Macintosh HD/Applications/Skype.app/` echo &amp;lsquo;Opening Sparrow&amp;rsquo; `open /Volumes/Macintosh HD/Applications/Sparrow.app/` echo &amp;lsquo;Opening Linkus&amp;rsquo; `open /Volumes/Macintosh HD/Applications/Linkinus.app/` echo &amp;lsquo;Opening Adium&amp;rsquo; `open /Volumes/Macintosh HD/Applications/Adium.app/` [/sourcecode]&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Every day for work, there&rsquo;s several applications I always use. The other day, I put together a quick and dirty bash script for opening all of them at once.</p>
<p>I&rsquo;m terribly inexperienced at this, so don&rsquo;t poke fun, only offer good suggestions for improvement&hellip;</p>
<p>[sourcecode language=&ldquo;bash&rdquo;] #!/bin/bash</p>
<p># Open all of the requisite applications echo &lsquo;Opening Chrome&rsquo; `open /Volumes/Macintosh HD/Applications/Google Chrome.app/` echo &lsquo;Opening Skype&rsquo; `open /Volumes/Macintosh HD/Applications/Skype.app/` echo &lsquo;Opening Sparrow&rsquo; `open /Volumes/Macintosh HD/Applications/Sparrow.app/` echo &lsquo;Opening Linkus&rsquo; `open /Volumes/Macintosh HD/Applications/Linkinus.app/` echo &lsquo;Opening Adium&rsquo; `open /Volumes/Macintosh HD/Applications/Adium.app/` [/sourcecode]</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two life decisions: veganism and work email</title>
      <link>https://danielbachhuber.com/two-life-decisions-veganism-and-work-email/</link>
      <pubDate>Thu, 29 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-life-decisions-veganism-and-work-email/</guid>
      <description>&lt;p&gt;Last night, I made two life decisions: I&amp;rsquo;m going vegan and I&amp;rsquo;ve removed my work email account from my iPhone.&lt;/p&gt;&#xA;&lt;p&gt;For the first, Annie and Jacob have been eating vegan for about a month and a half now. Jacob convinced me to switch last night when he made an amazing grilled pizza with mushrooms, onions, peppers and a tahini sauce. I&amp;rsquo;ve seen it&amp;rsquo;s possible to eat well while eating vegan, and I&amp;rsquo;m pretty sure you end up eating more vegetables too.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I made two life decisions: I&rsquo;m going vegan and I&rsquo;ve removed my work email account from my iPhone.</p>
<p>For the first, Annie and Jacob have been eating vegan for about a month and a half now. Jacob convinced me to switch last night when he made an amazing grilled pizza with mushrooms, onions, peppers and a tahini sauce. I&rsquo;ve seen it&rsquo;s possible to eat well while eating vegan, and I&rsquo;m pretty sure you end up eating more vegetables too.</p>
<p>For the second, I&rsquo;ve had a policy for a while where I turn my computer off at end of the work day at PIE. This naturally extends to not getting sucked into work email at home either — and the easiest way to do so is to remove the account from my phone.</p>
<p>Life hacks for a deliberate life.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Co-Authors Plus v2.6: Search user&#39;s display names, change byline order and more</title>
      <link>https://danielbachhuber.com/co-authors-plus-v2-6-search-users-display-names-change-byline-order-and-more/</link>
      <pubDate>Fri, 23 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/co-authors-plus-v2-6-search-users-display-names-change-byline-order-and-more/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/co-authors-plus/&#34;&gt;Co-Authors Plus&lt;/a&gt; makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out this evening, v2.6 has the following improvements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sortable authors — drag and drop the order of the authors as you&amp;rsquo;d like them to appear&lt;/li&gt;&#xA;&lt;li&gt;Search for authors by display name so you can easily add bylines by first or last name&lt;/li&gt;&#xA;&lt;li&gt;Option to remove the first author when there are two or more listed&lt;/li&gt;&#xA;&lt;li&gt;More reliably generates the published post count for each user&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Thanks to &lt;a href=&#34;http://wordpress.org/tags/co-authors-plus?forum_id=10&#34;&gt;those in the forum&lt;/a&gt; who provided feedback and special thanks to &lt;a href=&#34;http://www.russellheimlich.com/&#34;&gt;Russell Heimlich&lt;/a&gt; for &lt;a href=&#34;http://plugins.trac.wordpress.org/ticket/1438&#34;&gt;his contributions&lt;/a&gt; with sortable authors. If you feel like giving back, there are a &lt;a href=&#34;http://plugins.trac.wordpress.org/query?status=%21closed&amp;amp;keywords=~co-authors-plus&#34;&gt;few tickets open we&amp;rsquo;d love patches for&lt;/a&gt;. In particular, &lt;a href=&#34;http://plugins.trac.wordpress.org/ticket/1440&#34;&gt;guest bylines&lt;/a&gt; would be pretty neat. I have a possible direction you can go if you&amp;rsquo;re looking for inspiration.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/co-authors-plus/">Co-Authors Plus</a> makes it easy to add multiple bylines to a given post, and has full support for custom post types. Out this evening, v2.6 has the following improvements:</p>
<ul>
<li>Sortable authors — drag and drop the order of the authors as you&rsquo;d like them to appear</li>
<li>Search for authors by display name so you can easily add bylines by first or last name</li>
<li>Option to remove the first author when there are two or more listed</li>
<li>More reliably generates the published post count for each user</li>
</ul>
<p>Thanks to <a href="http://wordpress.org/tags/co-authors-plus?forum_id=10">those in the forum</a> who provided feedback and special thanks to <a href="http://www.russellheimlich.com/">Russell Heimlich</a> for <a href="http://plugins.trac.wordpress.org/ticket/1438">his contributions</a> with sortable authors. If you feel like giving back, there are a <a href="http://plugins.trac.wordpress.org/query?status=%21closed&amp;keywords=~co-authors-plus">few tickets open we&rsquo;d love patches for</a>. In particular, <a href="http://plugins.trac.wordpress.org/ticket/1440">guest bylines</a> would be pretty neat. I have a possible direction you can go if you&rsquo;re looking for inspiration.</p>
<p>For our WordPress.com VIPs, this release will be available in the shared plugins directory in just a moment.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Show matching terms in your search results</title>
      <link>https://danielbachhuber.com/show-matching-terms-in-your-search-results/</link>
      <pubDate>Mon, 19 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/show-matching-terms-in-your-search-results/</guid>
      <description>&lt;p&gt;WordPress&amp;rsquo; internal search isn&amp;rsquo;t all that great out of the box, &lt;a href=&#34;http://danielbachhuber.com/2011/01/24/researching-better-search-functionality-for-the-cuny-j-school-network/&#34;&gt;as I&amp;rsquo;ve discussed before&lt;/a&gt;. For instance, tags and categories aren&amp;rsquo;t included in the search query; as such, if your post is tagged &amp;ldquo;apple&amp;rdquo;, but there is no mention of &amp;ldquo;apple&amp;rdquo; in the title or post content, the post won&amp;rsquo;t be included in your search results.&lt;/p&gt;&#xA;&lt;p&gt;One partial workaround is to search taxonomy terms against your query and include those in your results. &lt;a href=&#34;http://danielbachhuber.com/2011/07/12/improvements-in-tech-website-v0-4-search-query-highlighting-suggested-topics-and-improved-topical-landing-pages/&#34;&gt;I did this previously&lt;/a&gt; with the CUNY J-School&amp;rsquo;s tech website:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>WordPress&rsquo; internal search isn&rsquo;t all that great out of the box, <a href="http://danielbachhuber.com/2011/01/24/researching-better-search-functionality-for-the-cuny-j-school-network/">as I&rsquo;ve discussed before</a>. For instance, tags and categories aren&rsquo;t included in the search query; as such, if your post is tagged &ldquo;apple&rdquo;, but there is no mention of &ldquo;apple&rdquo; in the title or post content, the post won&rsquo;t be included in your search results.</p>
<p>One partial workaround is to search taxonomy terms against your query and include those in your results. <a href="http://danielbachhuber.com/2011/07/12/improvements-in-tech-website-v0-4-search-query-highlighting-suggested-topics-and-improved-topical-landing-pages/">I did this previously</a> with the CUNY J-School&rsquo;s tech website:</p>
<p><img src="images/terms-in-the-search-results1.jpg" alt=""  width="699"
	height="342"  /></p>
<p>You can have something similar with the code snippet below.</p>
<p>[sourcecode lang=&ldquo;php&rdquo;]&lt;?php /** * Show matching terms for a given search query * Best placed under the_search_form() in search.php */ global $wp_query; // Only show the matching terms on the first page of results if ( $wp_query-&gt;query_vars[&lsquo;paged&rsquo;] &lt;= 1 ) { $args = array( &lsquo;search&rsquo; =&gt; get_search_query(), &lsquo;orderby&rsquo; =&gt; &rsquo;none&rsquo;, ); // You can change the first argument to an array of whatever taxonomies you want to search against $matching_terms = get_terms( array( &lsquo;post_tag&rsquo;, &lsquo;category&rsquo; ), $args ); if ( count( $matching_terms ) ) { echo &lsquo;<div class="all-matching-terms">Looking for? &lsquo;; $all_terms = &lsquo;&rsquo;; foreach ( $matching_terms as $matching_term ) { $all_terms .= &lsquo;&lt;a &lsquo;; if ( $matching_term-&gt;description ) $all_terms .= &rsquo;title=&quot;&rsquo; . esc_attr( $matching_term-&gt;description ) . &lsquo;&quot; &lsquo;; $all_terms .= &lsquo;href=&quot;&rsquo; . esc_url( get_term_link( $matching_term, $matching_term-&gt;taxonomy ) ) . &lsquo;&quot;&gt;&rsquo; . esc_html( $matching_term-&gt;name ) . &lsquo;</a>, &lsquo;; } echo rtrim( $all_terms, &lsquo;, &rsquo; ); echo &lsquo;</div>&rsquo;; } }[/sourcecode]</p>
]]></content:encoded>
    </item>
    <item>
      <title>Call for volunteers: Hack Shack India</title>
      <link>https://danielbachhuber.com/call-for-volunteers-hack-shack-india/</link>
      <pubDate>Fri, 16 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/call-for-volunteers-hack-shack-india/</guid>
      <description>&lt;p&gt;So, the idea: bring together a group of fun, adventure-loving hackers to live and cowork in India for a couple of months this coming spring (we&amp;rsquo;d leave the States shortly after &lt;a href=&#34;http://macermedia.com/liftcamp-anyone-interested&#34;&gt;Liftcamp&lt;/a&gt;). I&amp;rsquo;ve visited twice already and &lt;a href=&#34;http://danielbachhuber.com/2008/06/13/shooting-in-the-mirror-india/&#34;&gt;loved it&lt;/a&gt; — for anyone who grew up in the Western world, India is an incredibly rich, diverse, and fascinating experience.&lt;/p&gt;&#xA;&lt;p&gt;Currently, I&amp;rsquo;m looking for people who&amp;rsquo;d like to help me put this together. Interested? Let me know.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>So, the idea: bring together a group of fun, adventure-loving hackers to live and cowork in India for a couple of months this coming spring (we&rsquo;d leave the States shortly after <a href="http://macermedia.com/liftcamp-anyone-interested">Liftcamp</a>). I&rsquo;ve visited twice already and <a href="http://danielbachhuber.com/2008/06/13/shooting-in-the-mirror-india/">loved it</a> — for anyone who grew up in the Western world, India is an incredibly rich, diverse, and fascinating experience.</p>
<p>Currently, I&rsquo;m looking for people who&rsquo;d like to help me put this together. Interested? Let me know.</p>
]]></content:encoded>
    </item>
    <item>
      <title>&#34;Phone&#34; is to the iPhone as &#34;RSS reader&#34; is to ?</title>
      <link>https://danielbachhuber.com/phone-is-to-the-iphone-as-rss-reader-is-to/</link>
      <pubDate>Thu, 15 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/phone-is-to-the-iphone-as-rss-reader-is-to/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s time to iterate on the product formerly known as the RSS reader. Twitter, Facebook, and Tumblr are going in a direction that emphasizes usability and ephemerality over durable value and utility. I want someone to do to the RSS reader what Apple has done to the iPhone. The iPhone is a phone — but it&amp;rsquo;s also a completely different paradigm.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s time to iterate on the product formerly known as the RSS reader. Twitter, Facebook, and Tumblr are going in a direction that emphasizes usability and ephemerality over durable value and utility. I want someone to do to the RSS reader what Apple has done to the iPhone. The iPhone is a phone — but it&rsquo;s also a completely different paradigm.</p>
<p>For the longest time (since freshman year, early 2007), I&rsquo;ve been dedicated to Google Reader. I briefly switched to Fever and switched back <a href="http://danielbachhuber.com/2009/12/19/considering-again-the-path-of-the-river/">because the mobile interface wasn&rsquo;t as functional</a>. Given this whole new Google+ thing, I have less and less confidence of serious, necessary product innovation happening with Google Reader.</p>
<h3 id="how-i-use-google-reader">How I use Google Reader</h3>
<p><a href="http://danielbachhuber.wordpress.com/2011/12/15/phone-is-to-the-iphone-as-rss-reader-is-to/reeder/"><img src="images/reeder.jpg" alt=""  /></a></p>
<p>Currently, <a href="http://reederapp.com/">Reeder</a>, an excellent app for both Mac OS X and the iPhone, is my primary interface for Google Reader. It&rsquo;s lovely, syncs well, and is <a href="http://danielbachhuber.com/?attachment_id=129359">amazingly integrated with other services</a>. Click a button, choose a service, presto.</p>
<p>I&rsquo;m subscribed to a total of 568 subscriptions, everything from <a href="http://andrewspittle.net/">friends</a> to <a href="http://blog.futurestreetconsulting.com/">thought leaders</a> to <a href="http://blog.rememberthemilk.com/">product blogs</a> to <a href="http://mediagazer.com/">aggregators</a>. Surprisingly, not a lot of mainstream news organizations. My subscriptions are bundled into folders: A-List, B-List, B-High (pretty much Techmeme and Mediagazer), and then by topic (Media &amp; Journalism, WordPress, etc.) or context (friends, Automattic, projects, etc.).</p>
<p>A fair number of people I know have switched away from using an RSS reader in favor of Twitter (<a href="http://danielbachhuber.com/2009/12/19/considering-again-the-path-of-the-river/#comment-340">example</a>), under the auspices that &ldquo;<a href="http://www.nytimes.com/2008/03/27/us/politics/27voters.html">if the news is that important, it will find me.</a>&rdquo; I understand the value of serendipity — I also want to be <a href="http://www.informationdiet.com/blog/read/why-infovegan">deliberate about the information I consume</a>. I zero my subscriptions on an almost daily basis.</p>
<h3 id="what-a-reader-should-be">What a Reader <em>should</em> be</h3>
<p>A reader is for engaging with information; it&rsquo;s a tool for consuming, managing, and <em>using</em> knowledge. In addition to presenting new information to consume, I also want it to pay attention to, infer insights from, and make accessible in an evergreen matter what I&rsquo;ve already read. For me, this presents the pinnacle of personal information management — an intelligent tool that can reinforce what I already know and help guide me towards what I need to know.</p>
<p>Dave Winer has been thinking about this for much longer than I have — <a href="http://scripting.com/2007/01/20.html#mostRssReadersAreWrong">read him first</a>. Basically, unread counts and the rigamarole associated with subscribing to a new feed are the two big deal breakers for RSS readers. In addition to fixing this, I think the new reading interface should:</p>
<ul>
<li><strong>Present content based on type.</strong> Blog posts should look like blog posts. Quotes shouldn&rsquo;t look like blog posts&hellip; they should look like quotes! Statuses should look like statuses, videos should behave like videos, etc.</li>
<li><strong>Keep track of what I&rsquo;ve read and emphasize what&rsquo;s new to me.</strong> Similarly, pay attention to links within pieces of content. If multiple pieces include the same link, nest those together so I can quickly skim the conversation once.</li>
<li><strong>Offer insights into my information diet.</strong> Help me better understand what I&rsquo;m consuming, how often I&rsquo;m consuming it, and how I can better improve my consumption patterns.</li>
<li><strong>Sync states across platforms.</strong> It bugs me to no end when I read a Twitter mention on the web and the read state doesn&rsquo;t persist to the mobile app. If you&rsquo;re sending email notifications too, the act of reading an email notification should put the web notification should be put in the read state.</li>
<li><strong>Help me budget my time.</strong> Prioritize content when I only have 15 minutes to spare, or I&rsquo;m at work. I&rsquo;ve seen some websites show &ldquo;estimated reading time&rdquo; — take that further.</li>
<li><strong>Make it easy to engage with the content.</strong> Whether it&rsquo;s sharing, favoriting, or commenting, let me interact within the reading interface. <a href="http://danielbachhuber.com/?attachment_id=129359">Reeder does the sharing brilliantly</a>; I pick which services I use and the action is only a tap away.</li>
<li><strong>Help me remember what I know.</strong> I partially use WordPress for this (e.g. <a href="http://danielbachhuber.com/tag/tools">useful tools I&rsquo;ve come across</a> or <a href="http://danielbachhuber.com/tag/clay-shirky/">smart information from Clay Shirky</a>). There&rsquo;s a certain amount of friction with this approach (both good and bad). It would be awesome if I had a secondary system for quickly accessing information I&rsquo;ve previously come across. A search engine for information I&rsquo;ve consumed.</li>
</ul>
<p>That&rsquo;s what I&rsquo;ve got. Let&rsquo;s start iterating.</p>]]></content:encoded>
    </item>
    <item>
      <title>Where is the OkCupid for elections?</title>
      <link>https://danielbachhuber.com/where-is-the-okcupid-for-elections/</link>
      <pubDate>Thu, 15 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/where-is-the-okcupid-for-elections/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://radar.oreilly.com/2011/12/okcupid-of-elections.html&#34;&gt;Where is the OkCupid for elections?&lt;/a&gt; OkCandidate gets coverage in O&amp;rsquo;Reilly Radar. Interestingly, there&amp;rsquo;s a genuine startup called &lt;a href=&#34;http://electnext.com/&#34;&gt;ElectNext&lt;/a&gt; calling itself the &amp;ldquo;eHarmony for elections.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://radar.oreilly.com/2011/12/okcupid-of-elections.html">Where is the OkCupid for elections?</a> OkCandidate gets coverage in O&rsquo;Reilly Radar. Interestingly, there&rsquo;s a genuine startup called <a href="http://electnext.com/">ElectNext</a> calling itself the &ldquo;eHarmony for elections.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Co-authors in your RSS feeds</title>
      <link>https://danielbachhuber.com/co-authors-in-your-rss-feeds/</link>
      <pubDate>Tue, 13 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/co-authors-in-your-rss-feeds/</guid>
      <description>&lt;p&gt;In the WordPress.org forums, &lt;a href=&#34;http://wordpress.org/support/topic/plugin-co-authors-plus-multiple-authors-in-rss-feed?replies=1&#34;&gt;razorfrog asks&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Short of editing core WordPress code, is it possible to display the multiple authors in the site&amp;rsquo;s RSS feed?&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Of course there is! From the source code, we know the RSS feed template &lt;a href=&#34;http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/feed-rss2.php#L39&#34;&gt;uses the_author()&lt;/a&gt; to display the post&amp;rsquo;s byline information. Furthermore, the_author() echoes get_the_author() which is a &lt;a href=&#34;http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/author-template.php#L13&#34;&gt;filterable function&lt;/a&gt;. Filters allow us to programmatically change values used in a function. What we need to do is write a short snippet to produce the co-authors byline when an RSS feed is requested and Co-Authors Plus is activated.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the WordPress.org forums, <a href="http://wordpress.org/support/topic/plugin-co-authors-plus-multiple-authors-in-rss-feed?replies=1">razorfrog asks</a>:</p>
<blockquote>
<p>Short of editing core WordPress code, is it possible to display the multiple authors in the site&rsquo;s RSS feed?</p></blockquote>
<p>Of course there is! From the source code, we know the RSS feed template <a href="http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/feed-rss2.php#L39">uses the_author()</a> to display the post&rsquo;s byline information. Furthermore, the_author() echoes get_the_author() which is a <a href="http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/author-template.php#L13">filterable function</a>. Filters allow us to programmatically change values used in a function. What we need to do is write a short snippet to produce the co-authors byline when an RSS feed is requested and Co-Authors Plus is activated.</p>
<p>The snippet is as follows, and can be placed in your theme&rsquo;s functions.php file or a standalone MU plugin.</p>
<p>[sourcecode lang=&ldquo;php&rdquo;]/** * Co-authors in RSS and other feeds * /wp-includes/feed-rss2.php uses the_author(), so we selectively filter the_author value */ function db_coauthors_in_rss( $the_author ) {</p>
<p>if ( !is_feed() || !function_exists( &lsquo;coauthors&rsquo; ) ) return $the_author;</p>
<p>return coauthors( null, null, null, null, false ); } add_filter( &rsquo;the_author&rsquo;, &lsquo;db_coauthors_in_rss&rsquo; );[/sourcecode]</p>
]]></content:encoded>
    </item>
    <item>
      <title>Travel plans: Morocco, December 2011</title>
      <link>https://danielbachhuber.com/travel-plans-morocco-december-2011/</link>
      <pubDate>Wed, 07 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/travel-plans-morocco-december-2011/</guid>
      <description>&lt;p&gt;Tomorrow morning (Thursday, Dec. 7th) at the wee hour of 6 am, Michelle and I are headed to Morocco for the first time. We&amp;rsquo;re taking a bus to Madrid, and a 2 pm flight (EasyJet 7869) to Tangier. I&amp;rsquo;m writing these notes up as I research places to stay, things to do, etc. Yes, I am aware I&amp;rsquo;m planning extremely last minute.&lt;/p&gt;&#xA;&lt;p&gt;Based on recommendations from friends, we&amp;rsquo;d like to see &lt;a href=&#34;http://wikitravel.org/en/Chefchaouen&#34;&gt;Chefchaouen&lt;/a&gt; and &lt;a href=&#34;http://wikitravel.org/en/F%C3%A8s&#34;&gt;Fez&lt;/a&gt;. Ideally, we&amp;rsquo;ll bus from &lt;a href=&#34;http://wikitravel.org/en/Tangier&#34;&gt;Tangier&lt;/a&gt; to Chefchaouen tomorrow evening. I&amp;rsquo;ve read mixed things about how often the buses are, so it might be Friday morning instead. We&amp;rsquo;ll spend a day or so in Chefchaouen (unless it&amp;rsquo;s absolutely stunning), and then bus onward to Fez, where we&amp;rsquo;ll stay until Monday. Monday morning, we&amp;rsquo;d like to get an early train back to Tangier to catch our 3:05 pm flight (EasyJet 7870) to Madrid.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Tomorrow morning (Thursday, Dec. 7th) at the wee hour of 6 am, Michelle and I are headed to Morocco for the first time. We&rsquo;re taking a bus to Madrid, and a 2 pm flight (EasyJet 7869) to Tangier. I&rsquo;m writing these notes up as I research places to stay, things to do, etc. Yes, I am aware I&rsquo;m planning extremely last minute.</p>
<p>Based on recommendations from friends, we&rsquo;d like to see <a href="http://wikitravel.org/en/Chefchaouen">Chefchaouen</a> and <a href="http://wikitravel.org/en/F%C3%A8s">Fez</a>. Ideally, we&rsquo;ll bus from <a href="http://wikitravel.org/en/Tangier">Tangier</a> to Chefchaouen tomorrow evening. I&rsquo;ve read mixed things about how often the buses are, so it might be Friday morning instead. We&rsquo;ll spend a day or so in Chefchaouen (unless it&rsquo;s absolutely stunning), and then bus onward to Fez, where we&rsquo;ll stay until Monday. Monday morning, we&rsquo;d like to get an early train back to Tangier to catch our 3:05 pm flight (EasyJet 7870) to Madrid.</p>
<p><strong>Chefchaouen notes:</strong></p>
<ul>
<li>Transportation will be on a thru bus to Fez.</li>
<li>Hiking sounds like a must, either Rif Mountains or Jebel al-Kalaa (9 hours round trip).</li>
<li>Lots of cheap lodging near the medina, especially considering it&rsquo;s the off-season (<a href="http://hotels.lonelyplanet.com/morocco/chefchaouen-r1973498/">Lonely Planet search</a>). <a href="http://www.casahassan.com/">Casa Hassan</a>, <a href="http://www.darmezianahotel.com/">Dar Meziana</a>, Hostal Gernika, and Mahaliya sound like good choices.</li>
<li>Shopping and such in the medina.</li>
<li>According to Michelle, if we get arrested, we have the right to contact the nearest US Embassy (Rabat).</li>
</ul>
<p><strong>Fez notes:</strong></p>
<ul>
<li>Walking around and exploring the sights/sounds of the medina is the highlight of the city.</li>
<li>The main street is the Talaa Kbira, which runs from Bab Boujloud to the Karaouiyne mosque in the heart of the medina.</li>
<li>&ldquo;Don&rsquo;t eat the seed-pod like things the proprietor offers you. Although he&rsquo;s eating them also, they are very high in estrogen and can cause a man&rsquo;s nipples to be sore for several days afterwards.&rdquo;</li>
<li>Check out the view from the hills surrounding the city.</li>
<li>For lodging, I found a few hotels across the entire price spectrum (<a href="http://hotels.lonelyplanet.com/morocco/fes-r1973499/">Lonely Planet search</a>): Riad Jean Claude (10 bis Derb El Miter), Dar El Hana (22 Ferrane Couicha), and Dar Drissi (24 Derb el Menia Kbira)</li>
<li>There are several trains a day to Tangier that take 4.5 hours.</li>
</ul>
<p><strong>A final note:</strong> No laptop this trip, although I have an international data/SMS plan for my phone. I&rsquo;ll try to check my personal email account a couple times per day, and will be available by SMS whenever.</p>
]]></content:encoded>
    </item>
    <item>
      <title>This week&#39;s highlights</title>
      <link>https://danielbachhuber.com/this-weeks-highlights/</link>
      <pubDate>Sun, 04 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/this-weeks-highlights/</guid>
      <description>&lt;p&gt;This past week on the East Coast was tremendous fun, and it was all due to the great people I had the fortune to spend time with. Some highlights:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ken&amp;rsquo;s wonderful hospitality, and knowledge of the best place on the Oregon Coast to get smoked oysters. I can&amp;rsquo;t wait until winter break.&lt;/li&gt;&#xA;&lt;li&gt;Coworking with Jeremy, Jason, and Serdar in the WaPo newsroom. I wish them the best of luck solving campaign finance this year.&lt;/li&gt;&#xA;&lt;li&gt;Tuesday Night Drinking Club with Greg, Will, Aaron and everyone else.&lt;/li&gt;&#xA;&lt;li&gt;Finally getting pizza at Roberta&amp;rsquo;s with Cody, Kate, Albert and Amy. Kate&amp;rsquo;s grilled pizza is more deserving of two stars from the New York Times.&lt;/li&gt;&#xA;&lt;li&gt;Codeworking with Evan at Chartbeat. Automatticians are a rare breed of awesome.&lt;/li&gt;&#xA;&lt;li&gt;A couple of long runs along the East River, almost as cool as the Westside Highway.&lt;/li&gt;&#xA;&lt;li&gt;The most competitive game of Catan I&amp;rsquo;ve played yet, with Albert, David, and Ashwin. I learned the defining point of the game is who&amp;rsquo;s the best trader. Watch out for David&amp;rsquo;s poker face.&lt;/li&gt;&#xA;&lt;li&gt;Hacking on OkCandidate with Albert at Times Open. Props to him for sticking it out; I look forward to hearing how it finished up.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Now, an overnight flight to Madrid where Michelle awaits. See you on the other side.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This past week on the East Coast was tremendous fun, and it was all due to the great people I had the fortune to spend time with. Some highlights:</p>
<ul>
<li>Ken&rsquo;s wonderful hospitality, and knowledge of the best place on the Oregon Coast to get smoked oysters. I can&rsquo;t wait until winter break.</li>
<li>Coworking with Jeremy, Jason, and Serdar in the WaPo newsroom. I wish them the best of luck solving campaign finance this year.</li>
<li>Tuesday Night Drinking Club with Greg, Will, Aaron and everyone else.</li>
<li>Finally getting pizza at Roberta&rsquo;s with Cody, Kate, Albert and Amy. Kate&rsquo;s grilled pizza is more deserving of two stars from the New York Times.</li>
<li>Codeworking with Evan at Chartbeat. Automatticians are a rare breed of awesome.</li>
<li>A couple of long runs along the East River, almost as cool as the Westside Highway.</li>
<li>The most competitive game of Catan I&rsquo;ve played yet, with Albert, David, and Ashwin. I learned the defining point of the game is who&rsquo;s the best trader. Watch out for David&rsquo;s poker face.</li>
<li>Hacking on OkCandidate with Albert at Times Open. Props to him for sticking it out; I look forward to hearing how it finished up.</li>
</ul>
<p>Now, an overnight flight to Madrid where Michelle awaits. See you on the other side.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress.com idea: Tweets as comments</title>
      <link>https://danielbachhuber.com/wordpress-com-idea-tweets-as-comments/</link>
      <pubDate>Sun, 04 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-com-idea-tweets-as-comments/</guid>
      <description>&lt;p&gt;Often, when a post is publicized to Twitter (or Facebook), the ensuing conversation then happens on the other platform. The challenge with this is two-fold: the conversation happens out of context of the original piece, and isn&amp;rsquo;t as accessible as time goes on.&lt;/p&gt;&#xA;&lt;p&gt;It would be neat to pull in responses to or retweets of a publicize action back into the context of the original post. Furthermore, those external reactions should be ingested in a structured manner, and the comments iA should reflect the &lt;em&gt;nature&lt;/em&gt; of type of reaction.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Often, when a post is publicized to Twitter (or Facebook), the ensuing conversation then happens on the other platform. The challenge with this is two-fold: the conversation happens out of context of the original piece, and isn&rsquo;t as accessible as time goes on.</p>
<p>It would be neat to pull in responses to or retweets of a publicize action back into the context of the original post. Furthermore, those external reactions should be ingested in a structured manner, and the comments iA should reflect the <em>nature</em> of type of reaction.</p>
<p>This isn&rsquo;t a new idea as it&rsquo;s been done before but it&rsquo;s still something to be vastly improved.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress feature request: sharing links</title>
      <link>https://danielbachhuber.com/wordpress-feature-request-sharing-links/</link>
      <pubDate>Sat, 26 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wordpress-feature-request-sharing-links/</guid>
      <description>&lt;p&gt;I wish sharing links with WordPress from mobile wasn&amp;rsquo;t so darn complex. It&amp;rsquo;s be nice to make it a one- or two-step action, instead of: write a title, choose tags, choose category, find the link, prepare body post with the link, think of something interesting to say about the link, and hit publish. Half of the time, all I want to do is reblog what was already written (while obviously fitting it within the aesthetic of my site).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I wish sharing links with WordPress from mobile wasn&rsquo;t so darn complex. It&rsquo;s be nice to make it a one- or two-step action, instead of: write a title, choose tags, choose category, find the link, prepare body post with the link, think of something interesting to say about the link, and hit publish. Half of the time, all I want to do is reblog what was already written (while obviously fitting it within the aesthetic of my site).</p>
<p>One way we could get there with the mobile app is by offering a bookmarklet to auto-fill a new post, a la Tweetie.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What&#39;s on my mind tonight</title>
      <link>https://danielbachhuber.com/whats-on-my-mind-tonight/</link>
      <pubDate>Mon, 21 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/whats-on-my-mind-tonight/</guid>
      <description>&lt;p&gt;Tonight, I&amp;rsquo;ll write about what&amp;rsquo;s on my mind for an hour. If it gets published, it gets published. If it doesn&amp;rsquo;t get published, at least it&amp;rsquo;s helped me break out of my writer&amp;rsquo;s block.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Tonight, I&rsquo;ll write about what&rsquo;s on my mind for an hour. If it gets published, it gets published. If it doesn&rsquo;t get published, at least it&rsquo;s helped me break out of my writer&rsquo;s block.</p>
<hr>
<p>For a while now, I&rsquo;ve been of the mind that innovation at the intersection of news and technology is stuck. Most likely at <a href="http://www.newsnerdjobs.com/">this</a>. The pipeline is broken as far as I can tell. Even if there were a miracle and every journalism program had a &ldquo;news-coder&rdquo; program, it would be two or three years for students to make it through.</p>
<p>This is unfortunate. Media companies are technology companies, and have been as long as they&rsquo;ve existed. <a href="http://blog.digidave.org/2011/09/tech-companies-are-media-companies-and-vice-versa">David Cohn tried to write about this too</a>. I remember back in the day when newspaper companies spent millions of dollars to build better printing presses. It was a source of pride to own your own press. Transitioning from black and white to color, don&rsquo;t you remember that? Color ads scored more money than the black and white ones.</p>
<p>On the web… well, the web isn&rsquo;t a priority. Print makes the money, therefore print is the priority. For any newspaper, magazine, or print publication, until these priorities switch, you&rsquo;re dead in the water. You are a ripe target for disruption.</p>
<p>Your new priority: you are an arbiter of information whose <a href="http://jonathanstray.com/journalism-for-makers">mission is to empower people to make better decisions</a>.</p>
<p>But I feel like this is known, and we&rsquo;re in a waiting period to see all of this play out. From here on, it&rsquo;s just hard work needing to be done. If you&rsquo;re at a loss of ideas, <a href="http://danielbachhuber.com/tag/ideas/">I have plenty you can steal</a>.</p>
<hr>
<p>I need to raise money so I can short the education schooling system.</p>
<hr>
<p>It&rsquo;s interesting that in Mars Edit and WordPress for iOS, the tags field is right under the title, like this:</p>
<p><img src="images/tags.jpg" alt=""  /></p>
<p>This puts a greater level of importance on the tags field than the main content area (with the title as the most important for that matter). Yet we don&rsquo;t do much with tags. Clay Shirky has an awesome piece on this matter called &ldquo;<a href="http://www.shirky.com/writings/ontology_overrated.html">Ontology is Overrated</a>&rdquo;.</p>
<p><em>Aside: Actually, as I spent ten minutes skimming through his piece, I realized it didn&rsquo;t have much to say about tags not being used. It&rsquo;s a great piece nevertheless.</em></p>
<p>I use tags for organizing my relationship to the world. For instance, here are all of my previous engagements with <a href="http://danielbachhuber.com/tag/clay-shirky/">Clay Shirky</a>. It&rsquo;s pretty sparse, and doesn&rsquo;t include, for instance, when I went over to his holiday party last December with Cody and talked to his cute niece most of the time. Here&rsquo;s <a href="http://danielbachhuber.com/tag/portland">what I think of Portland</a>, in the form of pictures, embedded tweets, beer, and the outdoors. Here&rsquo;s <a href="http://danielbachhuber.com/tag/running/">all of the times I thought it worth posting that I went running</a>.</p>
<p>There&rsquo;s something that can be done with this structure around my data but I&rsquo;m not quite sure what it is yet. One thought is to have a chart appear at the top to show month by month how many times I posted on the topic. If information companies tagged pieces with a particular story term, they could track when they were producing an abundance of coverage vs. no coverage at all. Another thought is that it would be neat make all of the content associated with the topic accessible on one page.</p>
<p>I think the information architecture would depend on the <em>type</em> of topic. For instance, if I linked you to my running tag, it would show a log of every time I ran, my most common routes, average pace, etc. If I linked you to my <a href="http://danielbachhuber.com/tag/music/">music</a> tag, it would give you access to my listening history, and let you browse my collection. And so on.</p>
<p>I use tags to structure my content because I want WordPress to be my personal data store (<a href="https://www.google.com/search?gcx=w&amp;ix=c2&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=personal+data+store">Google search</a> for an exploration of what that means). In short: I&rsquo;m building a repository of data I&rsquo;d like to be <em>infinitely reusable</em>.</p>
<hr>
<p>I get to contribute to WordPress.com under the auspices of Team VIP. On Twitter, I love how I can one-click open a new posting window by hitting &ldquo;n&rdquo;. I want that across WordPress.com. I also want WordPress.com to properly respect post formats.</p>
<p>It&rsquo;s terrible annoying that every app and every website has taken it upon themselves to reinvent which keys should be bound to which actions. Sparrow, I&rsquo;m looking at you with your &ldquo;Spacebar opens the email in a new window instead of scrolling it.&rdquo;</p>
<p>When I accessed my parent&rsquo;s wifi network this evening, an airline receipt I accidentally command p&rsquo;ed three weeks ago was finally delivered to the printer, and made physical. Semi-sentience in the real world.</p>
<p>Editing time.</p>
<hr>
<p>One last thing. I think I&rsquo;ll do a post about content analytics soon, especially because Edit Flow v0.7 is nearing release.</p>]]></content:encoded>
    </item>
    <item>
      <title>Last weekend of October in Budapest</title>
      <link>https://danielbachhuber.com/last-weekend-of-october-in-budapest/</link>
      <pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/last-weekend-of-october-in-budapest/</guid>
      <description>&lt;p&gt;After the Automattic company meetup, Michelle came out to Budapest for a few days and we explored the city. Thursday evening, we had a wonderful, multi-course meal including escargot (my first time), Hungarian goulash, plum-stuffed duck, and a thirty year-old aperitif. Friday, Michelle and I walked around the city, went to the &lt;a href=&#34;http://en.wikipedia.org/wiki/House_of_Terror&#34;&gt;Terror House&lt;/a&gt;, and saw the opera with a philharmonic orchestra. On Saturday, we went back to an excellent nearby cafe for second rounds on a delicious breakfast, then checked out the castle up behind our hotel, and finished up by hitting the bathes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After the Automattic company meetup, Michelle came out to Budapest for a few days and we explored the city. Thursday evening, we had a wonderful, multi-course meal including escargot (my first time), Hungarian goulash, plum-stuffed duck, and a thirty year-old aperitif. Friday, Michelle and I walked around the city, went to the <a href="http://en.wikipedia.org/wiki/House_of_Terror">Terror House</a>, and saw the opera with a philharmonic orchestra. On Saturday, we went back to an excellent nearby cafe for second rounds on a delicious breakfast, then checked out the castle up behind our hotel, and finished up by hitting the bathes.</p>
<p>Before I arrived, I heard Budapest described as &ldquo;Little Paris.&rdquo; Now we both know why.</p>
<p><img src="images/img_9092-version-21.jpg" alt="img_9092-version-21.jpg"  width="768"
	height="1024"  />
<img src="images/img_9110-version-21.jpg" alt="img_9110-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9114-version-21.jpg" alt="img_9114-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9118-version-21.jpg" alt="img_9118-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9119-version-21.jpg" alt="img_9119-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9132-version-21.jpg" alt="img_9132-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9139-version-21.jpg" alt="img_9139-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9156-version-21.jpg" alt="img_9156-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9157-version-21.jpg" alt="img_9157-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9161-version-21.jpg" alt="img_9161-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9172-version-21.jpg" alt="img_9172-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9179-version-21.jpg" alt="img_9179-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9181-version-21.jpg" alt="img_9181-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9182-version-21.jpg" alt="img_9182-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9187-version-21.jpg" alt="img_9187-version-21.jpg"  width="768"
	height="1024"  />
<img src="images/img_9194-version-21.jpg" alt="img_9194-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9196-version-21.jpg" alt="img_9196-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9200-version-21.jpg" alt="img_9200-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9224-version-21.jpg" alt="img_9224-version-21.jpg"  width="1024"
	height="768"  />
<img src="images/img_9226-version-21.jpg" alt="img_9226-version-21.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Now hosted on WordPress.com</title>
      <link>https://danielbachhuber.com/now-hosted-on-wordpress-com/</link>
      <pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/now-hosted-on-wordpress-com/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re seeing this post, it means my DNS changes have propagated and danielbachhuber.com now lives on the one and only &lt;a href=&#34;http://wordpress.com/&#34;&gt;WordPress.com&lt;/a&gt;. Welcome!&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been thinking about moving my website for a few months now, ever since I joined Automattic. WordPress.com is a piece of software I use every day. By &lt;a href=&#34;http://www.codinghorror.com/blog/2009/01/the-ultimate-dogfooding-story.html&#34;&gt;dogfooding it&lt;/a&gt; with my personal blog I get to experience it much more like day to day users experience it. I get to see where the software is working and where its pain points are, and improve it where I can. Plus, I get to benefit from the new features we launch on a regular basis (like &lt;a href=&#34;http://en.blog.wordpress.com/2011/11/08/new-photo-carousel/&#34;&gt;gorgeous photo galleries&lt;/a&gt;).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re seeing this post, it means my DNS changes have propagated and danielbachhuber.com now lives on the one and only <a href="http://wordpress.com/">WordPress.com</a>. Welcome!</p>
<p>I&rsquo;ve been thinking about moving my website for a few months now, ever since I joined Automattic. WordPress.com is a piece of software I use every day. By <a href="http://www.codinghorror.com/blog/2009/01/the-ultimate-dogfooding-story.html">dogfooding it</a> with my personal blog I get to experience it much more like day to day users experience it. I get to see where the software is working and where its pain points are, and improve it where I can. Plus, I get to benefit from the new features we launch on a regular basis (like <a href="http://en.blog.wordpress.com/2011/11/08/new-photo-carousel/">gorgeous photo galleries</a>).</p>
<p>This morning, I took the plunge. Moving my content over was no problem. I then activated the <a href="http://theme.wordpress.com/themes/manifest/">Manifest theme</a> and spent a couple hours customizing its base design with <a href="http://en.support.wordpress.com/custom-design/">custom CSS</a>.</p>
<p>And here it is. Now, back to the my real work.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Spain, first evening: Walk along the river and through old town Zamora</title>
      <link>https://danielbachhuber.com/spain-first-evening-walk-along-the-river-and-through-old-town-zamora/</link>
      <pubDate>Mon, 10 Oct 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/spain-first-evening-walk-along-the-river-and-through-old-town-zamora/</guid>
      <description>&lt;p&gt;I wouldn&amp;rsquo;t mind spending half the year in Zamora, and the other half skiing in the Alps. Uneventful flight, but hacked Edit Flow for the majority of 12 hours in the air instead of sleeping. Exhaustion will hit soon.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/img_8946-version-21.jpg&#34; alt=&#34;img_8946-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8949-version-21.jpg&#34; alt=&#34;img_8949-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8955-version-21.jpg&#34; alt=&#34;img_8955-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;682&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8974-version-21.jpg&#34; alt=&#34;img_8974-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8979-version-21.jpg&#34; alt=&#34;img_8979-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8981-version-21.jpg&#34; alt=&#34;img_8981-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8985-version-21.jpg&#34; alt=&#34;img_8985-version-21.jpg&#34;  width=&#34;682&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8998-version-21.jpg&#34; alt=&#34;img_8998-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/img_8999-version-21.jpg&#34; alt=&#34;img_8999-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I wouldn&rsquo;t mind spending half the year in Zamora, and the other half skiing in the Alps. Uneventful flight, but hacked Edit Flow for the majority of 12 hours in the air instead of sleeping. Exhaustion will hit soon.</p>
<p><img src="images/img_8946-version-21.jpg" alt="img_8946-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8949-version-21.jpg" alt="img_8949-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8955-version-21.jpg" alt="img_8955-version-21.jpg"  width="1024"
	height="682"  />
<img src="images/img_8974-version-21.jpg" alt="img_8974-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8979-version-21.jpg" alt="img_8979-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8981-version-21.jpg" alt="img_8981-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8985-version-21.jpg" alt="img_8985-version-21.jpg"  width="682"
	height="1024"  />
<img src="images/img_8998-version-21.jpg" alt="img_8998-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/img_8999-version-21.jpg" alt="img_8999-version-21.jpg"  width="1024"
	height="683"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Notes from livecoding the ONA11 website</title>
      <link>https://danielbachhuber.com/notes-from-livecoding-the-ona11-website/</link>
      <pubDate>Fri, 07 Oct 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/notes-from-livecoding-the-ona11-website/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20111006ona-header-11.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;94&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a quick post I&amp;rsquo;ve been meaning to do about the work we did this year on the ONA11 conference website.&lt;/p&gt;&#xA;&lt;p&gt;Background: &lt;a href=&#34;http://danielbachhuber.com/2010/10/27/train-to-ona10/&#34;&gt;last year&lt;/a&gt;, I was late on getting a conference pass and ended up volunteering for an entire day in the student newsroom. ONA&amp;rsquo;s student newsroom produces stories, video, and other coverage related to the conference. I had so much fun that I volunteered to do it again this year. I planned to work on it over the summer, but 90% of the work ended up being done in the last week.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20111006ona-header-11.jpg" alt=""  width="600"
	height="94"  /></p>
<p>This is a quick post I&rsquo;ve been meaning to do about the work we did this year on the ONA11 conference website.</p>
<p>Background: <a href="http://danielbachhuber.com/2010/10/27/train-to-ona10/">last year</a>, I was late on getting a conference pass and ended up volunteering for an entire day in the student newsroom. ONA&rsquo;s student newsroom produces stories, video, and other coverage related to the conference. I had so much fun that I volunteered to do it again this year. I planned to work on it over the summer, but 90% of the work ended up being done in the last week.</p>
<p>The goals for the website varied depending on the context:</p>
<ul>
<li>Before the conference, the focus was convincing journalists to purchase tickets and attend.</li>
<li>During the conference, there are two audiences: those who are physically at the sessions and those who want to participate virtually. The former probably want a backchannel for conversation and capturing the highlights, whereas the latter probably want to participate in realtime as much as they can.</li>
<li>After the conference, everyone wants to access a historical archive of the content presented in sessions, either to catch those they missed or find the link they heard referenced.</li>
</ul>
<p>With this in mind, we worked on making the website dynamically reflect these needs. It was helpful, although somewhat distracting from the experience, that I was working on the website during the entire conference.</p>
<p><strong>What worked this time:</strong></p>
<ul>
<li>Session pages as a custom post type. This gave us a structured database of all sessions and allowed us to easily build a session listing, etc.</li>
<li>Using <a href="http://wordpress.org/extend/plugins/posts-to-posts/">Posts 2 Posts</a> to associate posts and presenters with session pages. Our realtime curation crew could easily publish content from the WordPress admin, associate it with a session, and have it <a href="https://danielbachhuber.com/wp-content/uploads/2011/10/20111006ona-sessionupdates1.jpg">automatically pulled into the session page</a>. Furthermore, every presenter had a <a href="https://danielbachhuber.com/wp-content/uploads/2011/10/20111006ona-presenterbio1.jpg">dedicated profile page</a> and their information could automatically be pulled into <a href="https://danielbachhuber.com/wp-content/uploads/2011/10/20111006ona-highlightedevents1.jpg">other contexts</a> on the website.</li>
<li>Auto-showing the livestream player on an individual session page based on timestamp. Every session was associated with a track and I had a bit of logic to <a href="https://github.com/ONA/ONA11-Conference-Theme/blob/1.0.5/functions.php#L19">pull in the correct livestream</a> <a href="https://github.com/ONA/ONA11-Conference-Theme/blob/1.0.5/loop-single_session.php#L53">based on current time, session start, and session end</a>.</li>
<li>Showing the session updates in reverse chronological order during the event (because the user is most likely refreshing the page and wants the most recent updates at the top) and then <a href="https://github.com/ONA/ONA11-Conference-Theme/blob/1.0.5/loop-session_updates.php#L8">flipping to chronological order</a> 15 minutes after the event.</li>
<li>Leveraging the <a href="http://wordpress.org/extend/plugins/zoninator/">Zoninator</a> on the homepage for <a href="https://danielbachhuber.com/wp-content/uploads/2011/10/20111006ona-homepage1.jpg">featured stories and events</a>. Editorial loved that they could have full control over which stories were highlighted. WordPress normally lists headlines in reverse chronological order, and developers hack this with &ldquo;featured&rdquo; categories, etc.</li>
<li><a href="http://codex.wordpress.org/Post_Formats">Post formats</a> presented content exactly as it was intended to be presented. I was particularly proud of my <a href="https://danielbachhuber.com/wp-content/uploads/2011/10/20111006ona-gallery1.jpg">gallery implementation</a>, even if there weren&rsquo;t the visuals to go with it.</li>
</ul>
<p><strong>Next time I&rsquo;d like to:</strong></p>
<ul>
<li>Get started earlier so these features are actually fleshed out before the day of.</li>
<li>Build an interface for posting updates from the session page so it&rsquo;s brain dead simple to update (no associating with session post, choosing post type, writing a title if you don&rsquo;t need to, etc.)</li>
<li>Allow for &ldquo;featured&rdquo; session updates a la NY Times Editors&rsquo; Picks for commenting.</li>
<li>Guest session update submissions with a moderation queue.</li>
<li>Live update the session page so it&rsquo;s essentially liveblogging with rich media.</li>
<li>Show the bylines/avatars for people covering the event, so you know how well it&rsquo;s going to be covered (e.g. one person versus five people participating)</li>
<li>On the all sessions page, show the number of updates an event has, whether it&rsquo;s currently live/being livestreamed, etc.</li>
<li>Order content on the single session page based when it was published (e.g. you can assume everything 30 minutes after the session is coverage of it, whereas during the event is realtime updates on it).</li>
</ul>
<p>Lastly, I have one more idea I&rsquo;d like to pitch: a way of indicating who you want to meet at the conference. Every attendee that registers get access to a page on the website listing every other attendee. Then, they can go through and indicate whom they want to meet at the conference. It&rsquo;s a double win; you get to notify who you want to meet that you want to meet them, and you get to see in advance who wants to meet you.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Maggie&#39;s senior pictures</title>
      <link>https://danielbachhuber.com/maggies-senior-pictures/</link>
      <pubDate>Sun, 02 Oct 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/maggies-senior-pictures/</guid>
      <description>&lt;p&gt;A few images of my lovely sister from a shoot we did down near the waterfront on the Eastside and then up in the rose garden at Washington Park.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/dsc7711-processed-4x6v1.jpg&#34; alt=&#34;dsc7711-processed-4x6v1.jpg&#34;  width=&#34;682&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7757-processed-4x6v1.jpg&#34; alt=&#34;dsc7757-processed-4x6v1.jpg&#34;  width=&#34;683&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7802-processed-4x6v1.jpg&#34; alt=&#34;dsc7802-processed-4x6v1.jpg&#34;  width=&#34;685&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7823-processed-4x6h1.jpg&#34; alt=&#34;dsc7823-processed-4x6h1.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;682&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7906-processed-4x6v1.jpg&#34; alt=&#34;dsc7906-processed-4x6v1.jpg&#34;  width=&#34;682&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7940-processed-4x6h1.jpg&#34; alt=&#34;dsc7940-processed-4x6h1.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc8018-processed-4x6h1.jpg&#34; alt=&#34;dsc8018-processed-4x6h1.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;682&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc8026-processed-4x6h1.jpg&#34; alt=&#34;dsc8026-processed-4x6h1.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc8077-processed-4x6v1.jpg&#34; alt=&#34;dsc8077-processed-4x6v1.jpg&#34;  width=&#34;683&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&#xA;&lt;img src=&#34;images/dsc7903-version-21.jpg&#34; alt=&#34;dsc7903-version-21.jpg&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few images of my lovely sister from a shoot we did down near the waterfront on the Eastside and then up in the rose garden at Washington Park.</p>
<p><img src="images/dsc7711-processed-4x6v1.jpg" alt="dsc7711-processed-4x6v1.jpg"  width="682"
	height="1024"  />
<img src="images/dsc7757-processed-4x6v1.jpg" alt="dsc7757-processed-4x6v1.jpg"  width="683"
	height="1024"  />
<img src="images/dsc7802-processed-4x6v1.jpg" alt="dsc7802-processed-4x6v1.jpg"  width="685"
	height="1024"  />
<img src="images/dsc7823-processed-4x6h1.jpg" alt="dsc7823-processed-4x6h1.jpg"  width="1024"
	height="682"  />
<img src="images/dsc7906-processed-4x6v1.jpg" alt="dsc7906-processed-4x6v1.jpg"  width="682"
	height="1024"  />
<img src="images/dsc7940-processed-4x6h1.jpg" alt="dsc7940-processed-4x6h1.jpg"  width="1024"
	height="683"  />
<img src="images/dsc8018-processed-4x6h1.jpg" alt="dsc8018-processed-4x6h1.jpg"  width="1024"
	height="682"  />
<img src="images/dsc8026-processed-4x6h1.jpg" alt="dsc8026-processed-4x6h1.jpg"  width="1024"
	height="683"  />
<img src="images/dsc8077-processed-4x6v1.jpg" alt="dsc8077-processed-4x6v1.jpg"  width="683"
	height="1024"  />
<img src="images/dsc7903-version-21.jpg" alt="dsc7903-version-21.jpg"  width="1024"
	height="683"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcpdx: WordPress Multisite</title>
      <link>https://danielbachhuber.com/wcpdx-wordpress-multisite/</link>
      <pubDate>Sun, 18 Sep 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcpdx-wordpress-multisite/</guid>
      <description>&lt;p&gt;These are my notes from the 4:15 session I did at WordCamp Portland. It&amp;rsquo;s a quick introduction WordPress multisite, and why you might want to consider using it.&lt;/p&gt;&#xA;&lt;h3 id=&#34;what-is-it&#34;&gt;What is it?&lt;/h3&gt;&#xA;&lt;p&gt;WordPress Multisite is a way for using one instance of WordPress to host as many sites as you’d like. Originally known as WordPress MU, the multisite functionality was merged into WordPress in WordPress 3.0.&lt;/p&gt;&#xA;&lt;h3 id=&#34;disclaimer&#34;&gt;Disclaimer&lt;/h3&gt;&#xA;&lt;p&gt;Danger, danger, danger! You’re entering the realm of advanced WordPress user and, by editing files, the database, etc. you can potentially break your site so it will cry. Make sure to back everything up before you get started. And know that you’ve been warned.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>These are my notes from the 4:15 session I did at WordCamp Portland. It&rsquo;s a quick introduction WordPress multisite, and why you might want to consider using it.</p>
<h3 id="what-is-it">What is it?</h3>
<p>WordPress Multisite is a way for using one instance of WordPress to host as many sites as you’d like. Originally known as WordPress MU, the multisite functionality was merged into WordPress in WordPress 3.0.</p>
<h3 id="disclaimer">Disclaimer</h3>
<p>Danger, danger, danger! You’re entering the realm of advanced WordPress user and, by editing files, the database, etc. you can potentially break your site so it will cry. Make sure to back everything up before you get started. And know that you’ve been warned.</p>
<h3 id="why-is-it-useful">Why is it useful?</h3>
<p>WordPress Multisite is especially useful for those who have to administer multiples sites. If you meet all of the prereqs, it can make keeping WordPress up to date, installing new functionality, backing your data up, etc. a breeze. Instead of having to manually update each website you’re responsible for managing, you simply update one.</p>
<h3 id="how-do-i-set-it-up">How do I set it up?</h3>
<p>There is <a href="http://codex.wordpress.org/Create_A_Network">documentation you can follow in the WordPress.org Codex</a>. Basically, what you need to do is configure DNS if you plan to use subdomains, make a change to your wp-config.php file, change .htaccess values if you’re using Apache, and then run through the guide in the admin. Boom, you’re done.</p>
<h3 id="what-should-i-be-aware-of">What should I be aware of?</h3>
<p>Converting a single instance of WordPress to WordPress Multisite creates and alters database tables, and isn’t recoverable.</p>
<p>Hosting a lot of websites with WordPress Multisite means you should scale the resources available to WordPress accordingly. Otherwise, all of your sites will be slow.</p>
<p>Plugins and themes are installed once, so any changes you make are incurred for all of the users across your site. For this reason, if you’re using any WordPress.org or premium themes, you should make all modifications to the theme as a child theme (or, better yet, just CSS changes).</p>
<p>You can make some themes available to all sites, and other themes available to just specific sites.</p>
<p>If you plan to install a lot of themes, it would benefit you in advance to establish a scheme for storing them (e.g. setting up /wp-content/themes/woothemes/ and /wp-content/themes/wporg/)</p>
<p>Usernames are unique across the network. If you’ve set up a multisite instance for all of your clients, create usernames as firstnamelastname or similar.</p>
<p>Network activating plugins means they’re activated across all the sites in your network, functionality is available by default, and it’s not possible for the site admin to deactivate it.</p>
<p>WordPress Multisite isn’t magic, it’s technology that makes your life awesome.</p>
<h3 id="what-tips-do-you-have-for-me">What tips do you have for me?</h3>
<p>Use a plugin like <a href="http://wordpress.org/extend/plugins/restrict-multisite-plugins/">Restrict Multisite Plugins</a> to make certain plugins conditionally available to sites.</p>
<p>Map custom domains to sites on your network with the <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">domain mapping plugin</a>.</p>
<p>When importing content with embed codes into a site on your WordPress Multisite network, make sure to disable the KSEs filter. As of WordPress 3.2.1, you need to do so with a <a href="http://danielbachhuber.com/2010/09/09/disabling-htmlkses-filtering-in-wordpress-multisite/">special filter</a> (which didn’t exist before 3.2).</p>
<p>You may want to <a href="http://danielbachhuber.com/2010/09/09/disabling-htmlkses-filtering-in-wordpress-multisite/">disable some of the email notifications</a> that go out.</p>
<p>Keep your users from needing to modify theme template files with the <a href="http://wordpress.org/extend/plugins/safecss/">WordPress.com Custom CSS plugin</a>. This is the same code that formerly ran on WordPress.com, is super awesome, and keeps a revision history of all your changes.</p>
<p>Configure your admin bar to include network admin links for super admins so you can easily access management functionality. You can also expose additional functionality for your users (e.g. custom CSS) where it makes sense.</p>
<p>Write your short plugins to customize the admin interface, and put them in /wp-content/mu-plugins/ to have them automatically loaded.</p>
<p>Other useful management plugins:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/term-management-tools/">Term Management Tools</a> - WordPress plugin allowing you to easily move terms between taxonomies, among other things.</li>
<li><a href="http://teleogistic.net/2011/05/new-wordpress-plugin-unconfirmed/">Unconfirmed</a> - See a list of invited but unconfirmed network users.</li>
<li><a href="http://danielbachhuber.com/2011/04/13/plugins-for-publishers-april-2011-edition/">Plugins for Publishers</a> - A list I put together back in April with other plugins I like</li>
</ul>
<h3 id="what-questions-do-i-have-for-you">What questions do I have for you?</h3>
<p>What doesn’t make sense about the network admin UI?</p>
<p>What features or functionality would you like developed as plugins?</p>
<p>What features or functionality would you like included in core?</p>
]]></content:encoded>
    </item>
    <item>
      <title>What I&#39;d like to talk about at WordCamp Portland</title>
      <link>https://danielbachhuber.com/what-id-like-to-talk-about-at-wordcamp-portland/</link>
      <pubDate>Thu, 15 Sep 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-id-like-to-talk-about-at-wordcamp-portland/</guid>
      <description>&lt;p&gt;In the spirit of being prepared, here are a few things I&amp;rsquo;d like to talk about at WordCamp Portland:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;WordPress Multisite&lt;/strong&gt; - In a nutshell, how it works and why it will make your life infinitely more manageable. If we have a group of people who quickly get their heads around the basics, I&amp;rsquo;d also love to share tips and tricks for pimping a multisite instance. For instance, using plugins like Restrict Multisite Plugins and customizing your admin bar to give easy access to the network admin for super admins. &lt;em&gt;(People I should bump in to: &lt;a href=&#34;http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-252&#34;&gt;Emma McCreary&lt;/a&gt;, &lt;a href=&#34;http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-374&#34;&gt;Kayleen&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the spirit of being prepared, here are a few things I&rsquo;d like to talk about at WordCamp Portland:</p>
<p><strong>WordPress Multisite</strong> - In a nutshell, how it works and why it will make your life infinitely more manageable. If we have a group of people who quickly get their heads around the basics, I&rsquo;d also love to share tips and tricks for pimping a multisite instance. For instance, using plugins like Restrict Multisite Plugins and customizing your admin bar to give easy access to the network admin for super admins. <em>(People I should bump in to: <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-252">Emma McCreary</a>, <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-374">Kayleen</a>)</em></p>
<p><strong>Test-driven Development</strong> - WordPress doesn&rsquo;t do it, and I&rsquo;m terrible at it. I should find a mentor with fountains of knowledge. <em>(People I should bump in to: <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-291">Michael Fields</a>, <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-301">Than Taintor</a>, <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-638">Toby McKes</a>)</em></p>
<p><strong>WordPress for Publishers</strong> - More and more newsrooms are using WordPress for all parts of their workflow. From experience, I know that journalists tend tolerate crappy technology. I&rsquo;d love to hear from users about their current frustrations and pain points. <em>(People I should bump into: <a href="http://2011.portland.wordcamp.org/2011/08/24/open-thread-for-unconference-topics/#comment-377">Joe Boydston</a>, <em>Toby McKes</em>)</em></p>
<p><strong>Dogfooding It</strong> - We love WordPress and sell to our clients, but a lot of us developers <a href="http://danielbachhuber.com/2011/08/13/status-77/">don&rsquo;t actually use it</a> on a <a href="http://danielbachhuber.com/2011/09/12/photo-31/">regular basis</a>. Why? How should we fix this? <em>(People I should harass to no end: <a href="https://twitter.com/nacin/status/114439594698747904">Nacin</a>)</em></p>
<p>If you see me there on Friday, Saturday or Sunday, say hello! I <a href="http://danielbachhuber.com/2011/07/21/photo-5/">look like this</a> but with much shorter hair.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Race report: Best in the West Triathlon</title>
      <link>https://danielbachhuber.com/race-report-best-in-the-west-triathlon/</link>
      <pubDate>Mon, 12 Sep 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/race-report-best-in-the-west-triathlon/</guid>
      <description>&lt;p&gt;Today, I happily completed my first &lt;a href=&#34;http://www.bestinthewesttriathlon.com/&#34;&gt;olympic triathlon&lt;/a&gt; with a total time of 3:13:12. An olympic triathlon is a 1,500 meter swim, a 40 km (24.8 miles) bike ride, and a 10 km (6.2 miles) run. Overall, I finished 36th out of 38. My 37:32 swim put me at 35th out of 38 for the segment, my 1:44:08 bike ride put me in dead last, and my 48:30 run put me at 14th out of 38 (beating my friend David by four minutes too).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, I happily completed my first <a href="http://www.bestinthewesttriathlon.com/">olympic triathlon</a> with a total time of 3:13:12. An olympic triathlon is a 1,500 meter swim, a 40 km (24.8 miles) bike ride, and a 10 km (6.2 miles) run. Overall, I finished 36th out of 38. My 37:32 swim put me at 35th out of 38 for the segment, my 1:44:08 bike ride put me in dead last, and my 48:30 run put me at 14th out of 38 (beating my friend David by four minutes too).</p>
<p>The course was spectacular. Sweet Home is a gorgeous area to begin with. The race started with an open water swim in Foster Lake with the temperature at 70 degrees. Our bike segment then journeyed through pretty stellar countryside with only a few minimal hills. The run finished up with a quick out and back near the lake.</p>
<p>What I did right:</p>
<ul>
<li><strong>Trained properly.</strong> I&rsquo;ve been running or swimming up to six days a week for the past several months, regularly far exceeding the distances on the course. Both of those segments were a piece of cake.</li>
<li><strong>Hydrated and fed myself well.</strong> Not perfectly, but good enough that I didn&rsquo;t feel like throwing up, have low energy, etc. I ate a big dinner Saturday night so I wasn&rsquo;t starving when I woke up, and fueled myself with Gatorade and Gu before and during the race.</li>
<li><strong>Paced myself.</strong> In a race, it&rsquo;s very easy to get caught up in the energy of the moment and push yourself as hard as you can out of the gate. This generally leads to burn out. I had the mindset that all I wanted to do was finish the race, and it made things much less stressful. I also wanted to make sure I could</li>
<li><strong>Sprinted the finish.</strong> Not many others could say that about their finish&hellip;</li>
</ul>
<p>What I need to do better next time:</p>
<ul>
<li><strong>Swim in a straight line.</strong> This was my first open water swim so I won&rsquo;t be too hard on myself, but I lost momentum a few times when I veered off course. They even had to send a jet ski after me once to get me back on course.</li>
<li><strong>Train on my bike.</strong> Biking was the most difficult segment, and it wasn&rsquo;t made any easier by the fact that I hadn&rsquo;t ridden my bike for almost a year.</li>
<li><strong>Fix my bike or ride a road bike.</strong> I have a Novara Buzz urban bike I had shipped back from NYC. Last night, <a href="http://instagr.am/p/Mu6_a/">when putting it back together</a>, I discovered the front fork was bent in such a way I couldn&rsquo;t get the wheel back on. After fixing that with a vise grip, I thought I was back in business. As it turns out, both rims were also bent in such a fashion that the back wheel had a significant wobble and both had the disc brakes partially engaged for the entire segment. No coasting made biking exceptionally painful and slow.</li>
<li><strong>Push myself harder.</strong> Now that I&rsquo;ve finished my first, I know what it&rsquo;s like to complete the entire race. I should focus on improving my time a bit.</li>
</ul>
<p>This triathlon was an incredibly enjoyable event for me. I&rsquo;m looking forward to another (half Ironman, possibly?) when the season starts again.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-80/</link>
      <pubDate>Sun, 21 Aug 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-80/</guid>
      <description>&lt;p&gt;This morning&amp;rsquo;s awesome: four mile run to the marina with David, hour and a half kayak to an estuary with sea lions and a herd of elk, four mile run back to the house, swim in Hood Canal&amp;rsquo;s frigid waters, and then a nice piece of blackberry pie to top it off.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning&rsquo;s awesome: four mile run to the marina with David, hour and a half kayak to an estuary with sea lions and a herd of elk, four mile run back to the house, swim in Hood Canal&rsquo;s frigid waters, and then a nice piece of blackberry pie to top it off.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Markup normalization</title>
      <link>https://danielbachhuber.com/markup-normalization/</link>
      <pubDate>Thu, 28 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/markup-normalization/</guid>
      <description>&lt;p&gt;A small selection of the Vim statements required to normalize every possible variant of shitty markup entered by copy and paste online editors into 35,000 articles over the last eight years:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;:%s/,|||,/=nr2char(11)/g :%s/,|||/=nr2char(11)/g :%s/&amp;quot;&amp;quot;/=nr2char(21)/g :%s/&amp;quot;//g :exe &#39;%s/&#39; . nr2char(11) . &#39;/&amp;quot;,&amp;quot;/g&#39; :exe &#39;%s/&#39; . nr2char(21) . &#39;/&amp;quot;/g&#39; :exe &#39;%s/&amp;quot;$//g&#39; # add a :%s/^/&amp;quot;/g :%s/&amp;lt;br /&amp;gt;&amp;lt;p&amp;gt;&amp;lt;br /&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g :%s/&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;p&amp;gt;/g :%s/&amp;lt;BR&amp;gt;&amp;lt;br /&amp;gt;/&amp;lt;br /&amp;gt;/g :%s/&amp;lt;br /&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;p&amp;gt;/g :%s/&amp;lt;p&amp;gt;&amp;lt;br /&amp;gt;/&amp;lt;p&amp;gt;/g :%s/&amp;lt;/p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g :%s/&amp;lt;/p&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g :%s/&amp;lt;br /&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g :%s/&amp;lt;p&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;p&amp;gt;/g :%s/&amp;lt;P&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g :%s/&amp;lt;/p&amp;gt;&amp;lt;/p&amp;gt;/&amp;lt;/p&amp;gt;/g :%s/&amp;lt;br /&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;/g&lt;/code&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A small selection of the Vim statements required to normalize every possible variant of shitty markup entered by copy and paste online editors into 35,000 articles over the last eight years:</p>
<p><code>:%s/,|||,/=nr2char(11)/g :%s/,|||/=nr2char(11)/g :%s/&quot;&quot;/=nr2char(21)/g :%s/&quot;//g :exe '%s/' . nr2char(11) . '/&quot;,&quot;/g' :exe '%s/' . nr2char(21) . '/&quot;/g' :exe '%s/&quot;$//g' # add a :%s/^/&quot;/g :%s/&lt;br /&gt;&lt;p&gt;&lt;br /&gt;/&lt;/p&gt;&lt;p&gt;/g :%s/&lt;p&gt;&lt;/p&gt;&lt;p&gt;/&lt;p&gt;/g :%s/&lt;BR&gt;&lt;br /&gt;/&lt;br /&gt;/g :%s/&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;/&lt;p&gt;/g :%s/&lt;p&gt;&lt;br /&gt;/&lt;p&gt;/g :%s/&lt;/p&gt;&lt;/p&gt;&lt;p&gt;/&lt;/p&gt;&lt;p&gt;/g :%s/&lt;/p&gt;&lt;br /&gt;&lt;p&gt;/&lt;/p&gt;&lt;p&gt;/g :%s/&lt;br /&gt;&lt;p&gt;/&lt;/p&gt;&lt;p&gt;/g :%s/&lt;p&gt;&lt;p&gt;/&lt;p&gt;/g :%s/&lt;P&gt;/&lt;/p&gt;&lt;p&gt;/g :%s/&lt;/p&gt;&lt;/p&gt;/&lt;/p&gt;/g :%s/&lt;br /&gt;&lt;/p&gt;&lt;p&gt;/&lt;/p&gt;&lt;p&gt;/g</code></p>
<p>Two more things: 1) Anyone who&rsquo;s ever tried to tell you to use find and replace in bbEdit for large files is dead wrong. 2) College Publisher, you suck ****. &lsquo;,|||,&rsquo; is not a valid delimiting character. Quit being malicious.</p>
<p>Lastly, if I&rsquo;ve thought ahead, I would&rsquo;ve tracked invalid markup against prevalence and date range. <em>That</em> would&rsquo;ve made for a fascinating anthropological study.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Lean, Agile, Mobile, Social, Local, Organic, Pivot</title>
      <link>https://danielbachhuber.com/wcbos-lean-agile-mobile-social-local-organic-pivot/</link>
      <pubDate>Sun, 24 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-lean-agile-mobile-social-local-organic-pivot/</guid>
      <description>&lt;p&gt;This presentation is an insight into what Andrew Nacin (@&lt;a href=&#34;https://twitter.com/nacin&#34;&gt;nacin&lt;/a&gt;) and Daryl Koopersmith (@&lt;a href=&#34;https://twitter.com/darylkoop&#34;&gt;darylkoop&lt;/a&gt;) are thinking about, as it pertains to the next few years of WordPress. Nacin is a developer with Matt Mullenweg&amp;rsquo;s Audrey Capital and Daryl works for Automattic&amp;rsquo;s WordPress.org team.&lt;/p&gt;&#xA;&lt;p&gt;The real title: &amp;ldquo;WordPress isn&amp;rsquo;t good enough.&amp;rdquo; There are so many more things that can be done to make WordPress better. Which, was pretty much the essence of the talk.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This presentation is an insight into what Andrew Nacin (@<a href="https://twitter.com/nacin">nacin</a>) and Daryl Koopersmith (@<a href="https://twitter.com/darylkoop">darylkoop</a>) are thinking about, as it pertains to the next few years of WordPress. Nacin is a developer with Matt Mullenweg&rsquo;s Audrey Capital and Daryl works for Automattic&rsquo;s WordPress.org team.</p>
<p>The real title: &ldquo;WordPress isn&rsquo;t good enough.&rdquo; There are so many more things that can be done to make WordPress better. Which, was pretty much the essence of the talk.</p>
<p><strong>Improve stability.</strong> WordPress should be stable, for anything that you&rsquo;re doing. How many people have lost content and had to recover through revisions or going back through browser history? It doesn&rsquo;t happen often, but it still does sometime. There&rsquo;s a Google Summer of Code project to <a href="http://gsoc2011.wordpress.com/localstorage-drafts-backup/">use local storage in your browser to back up your drafts</a>.</p>
<p><strong>Plugin compatibility.</strong> It should be easier to know whether your plugins are compatible with the latest version of WordPress.</p>
<p><strong>Seamless updates.</strong> WordPress should update automatically. Many users are distributed amongst a few different versions of Firefox (3, 4, 5, and 6). With Chrome, the version you&rsquo;re on is less apparent but you can still track it down. On Facebook, there&rsquo;s no way for you to know which version you&rsquo;re on. More seamless updates means faster release cycles and better improvements.</p>
<p><strong>Ease of use.</strong> Introduce simpler ways to post content. &ldquo;Telling someone what to do is not as good as making it obvious.&rdquo; New users should be able to immediately create content.</p>
<p><strong>Better media handling.</strong> WordPress needs to improve how it handles non-text content. In the pipeline are a drag and drop media uploader, and a new workflow for managing media content.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Plugins Are Blueprints</title>
      <link>https://danielbachhuber.com/wcbos-plugins-are-blueprints/</link>
      <pubDate>Sun, 24 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-plugins-are-blueprints/</guid>
      <description>&lt;p&gt;Marc Lavallee (@&lt;a href=&#34;http://twitter.com/lavallee&#34;&gt;lavallee&lt;/a&gt;) and Wes Lindamood (@&lt;a href=&#34;http://twitter.com/lindamood&#34;&gt;lindamood&lt;/a&gt;) are half of the NPR Project Argo team. Both were relatively new to WordPress when they started; today they&amp;rsquo;ll be talking about the zen of using plugins.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Each plugin speaks with it&amp;rsquo;s own voice,&amp;rdquo; says Wes. Sometimes they can produced cluttered and confused experiences for your users. The framework they&amp;rsquo;ve chosen as it relates to plugins is use, patch or build.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2011/07/24/wcbos-plugins-are-blueprints/plugins-are-blueprints-110723182354-phpapp01-7/&#34;&gt;&lt;img src=&#34;images/plugins-are-blueprints-110723182354-phpapp01-71.jpg&#34; alt=&#34;&#34;  width=&#34;2134&#34;&#xA;&#x9;height=&#34;1642&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Marc Lavallee (@<a href="http://twitter.com/lavallee">lavallee</a>) and Wes Lindamood (@<a href="http://twitter.com/lindamood">lindamood</a>) are half of the NPR Project Argo team. Both were relatively new to WordPress when they started; today they&rsquo;ll be talking about the zen of using plugins.</p>
<p>&ldquo;Each plugin speaks with it&rsquo;s own voice,&rdquo; says Wes. Sometimes they can produced cluttered and confused experiences for your users. The framework they&rsquo;ve chosen as it relates to plugins is use, patch or build.</p>
<p><a href="http://danielbachhuber.com/2011/07/24/wcbos-plugins-are-blueprints/plugins-are-blueprints-110723182354-phpapp01-7/"><img src="images/plugins-are-blueprints-110723182354-phpapp01-71.jpg" alt=""  width="2134"
	height="1642"  /></a></p>
<ul>
<li>&ldquo;Use&rdquo; means they install the plugin, activate it, and it&rsquo;s live. They may make minimal modifications with CSS, but it&rsquo;s generally fine to go out of the box.</li>
<li>&ldquo;Patch&rdquo; means they may make minor modifications to the codebase, through hooks or actually changing core, and then try to push the improvements they made back upstream.</li>
<li>&ldquo;Build&rdquo; means they take ideas and inspiration from other options in the WordPress plugin directory, and roll their own plugin.</li>
</ul>
<h3 id="example-navis-slideshow">Example: Navis Slideshow</h3>
<p>The Argo team decided to build a photo slideshow plugin that leveraged WordPress&rsquo; built in gallery functionality, and looked and worked as a standard slideshow.</p>
<p>Their functional starting point was the Slides for WordPress plugin. Wes downloaded and activated the plugin, and made basic presentation tweaks with CSS and Javascript. Unfortunately, there were other behavioral changes they wanted too. They thought about patching but then realized it would too much work. So they went around to rolling their own plugin.</p>
<p>Two improvements worth mentioning are conditionally loading images and Javascript. For the first, the problem to solve is reporters that like 60+ image photo galleries. If you load all of these images on page load, it increases your bandwidth costs and load time for end users. The solution is to reference the image URLs in a storage div, and then only load them when the user is getting close to viewing them. For the second, there&rsquo;s a global variable on every page load for marking whether a WordPress gallery was included in the post. If so, the Javascript gets added to the footer.</p>
<p><a href="http://danielbachhuber.com/2011/07/24/wcbos-plugins-are-blueprints/plugins-are-blueprints-110723182354-phpapp01-19/"><img src="images/plugins-are-blueprints-110723182354-phpapp01-191.jpg" alt=""  width="2134"
	height="1642"  /></a></p>
<p>Improvements included reducing the footprint of the plugin from 39k/895 lines to 8k/244 lines.</p>
<h3 id="example-jiffy-posts">Example: Jiffy Posts</h3>
<p>To make their content more engaging, Argo wanted it to make it easy for their reporters to embed rich media. Initially, this looked like Embedly or oEmbed but they didn&rsquo;t want to cede control of what was embedded to the content provider.</p>
<p>Solution: A custom post type called Jiffy Posts. Reporters could create a new post with a title, short comment, link to the referenced media, and can include source attribution. Doing it this way, instead of having reporters embed rich media in the post, ensures there&rsquo;s presentation consistency from post to post and content type to content type.</p>
<p><a href="http://danielbachhuber.com/2011/07/24/wcbos-plugins-are-blueprints/plugins-are-blueprints-110723182354-phpapp01-40/"><img src="images/plugins-are-blueprints-110723182354-phpapp01-401.jpg" alt=""  width="2134"
	height="1642"  /></a></p>
<p><a href="http://danielbachhuber.com/2011/07/24/wcbos-plugins-are-blueprints/plugins-are-blueprints-110723182354-phpapp01-45/"><img src="images/plugins-are-blueprints-110723182354-phpapp01-451.jpg" alt=""  width="2134"
	height="1642"  /></a></p>
<p>Ultimate takeaway: The decisions and opinions of plugin authors can directly impact the user experience of your website. Think about this more holistically, beyond just reviewing whether the code is clean.</p>
<p><a href="http://www.slideshare.net/w_lindamood/plugins-are-blueprints-8674086">The slides from the presentation are available on Slideshare</a> and <a href="https://danielbachhuber.com/wp-content/uploads/2011/07/plugins-are-blueprints-110723182354-phpapp011.pdf">download as a PDF</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Advanced Theme Performance Techniques</title>
      <link>https://danielbachhuber.com/wcbos-advanced-theme-performance-techniques/</link>
      <pubDate>Sat, 23 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-advanced-theme-performance-techniques/</guid>
      <description>&lt;p&gt;Frederick Townes is the founder of &lt;a href=&#34;http://www.w3-edge.com/&#34;&gt;W3 Edge&lt;/a&gt;, CTO at Mashable and author of &lt;a href=&#34;http://wordpress.org/extend/plugins/w3-total-cache/&#34;&gt;W3 Total Cache&lt;/a&gt;. He&amp;rsquo;s presenting today on WordPress theme performance best practices.First, he recommends contributing back to the &lt;a href=&#34;http://codex.wordpress.org/&#34;&gt;WordPress Codex&lt;/a&gt; because everyone in the room thinks it could be improved.&lt;/p&gt;&#xA;&lt;p&gt;Pay lots of attention to the hierarchy with page templates.&lt;/p&gt;&#xA;&lt;p&gt;Think about how many files you&amp;rsquo;re loading into memory, and the overall footprint they end up consuming. You can track this down using xdebug.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Frederick Townes is the founder of <a href="http://www.w3-edge.com/">W3 Edge</a>, CTO at Mashable and author of <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>. He&rsquo;s presenting today on WordPress theme performance best practices.First, he recommends contributing back to the <a href="http://codex.wordpress.org/">WordPress Codex</a> because everyone in the room thinks it could be improved.</p>
<p>Pay lots of attention to the hierarchy with page templates.</p>
<p>Think about how many files you&rsquo;re loading into memory, and the overall footprint they end up consuming. You can track this down using xdebug.</p>
<p>Fundamentals:</p>
<ul>
<li>The larger the heap, the greater the execution time.</li>
<li>&ldquo;Graduate&rdquo; groups functions to plugins.</li>
<li>The fewer files the better.</li>
<li>Explore and use microformats for reviews, businesses &amp; organizations, products, and people.</li>
<li>Use external services and fail gracefully.</li>
</ul>
<p>W3 Total Cache has a debug mode that will show you what&rsquo;s being cached on a request and what&rsquo;s being missed.</p>
<p>Trick to debug on production:</p>
<p><code>define( 'WP_DEBUG', true ); // log to wp-content/debug.log, useful tests on production define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );</code></p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Enterprise Publishing on WordPress.com VIP</title>
      <link>https://danielbachhuber.com/wcbos-enterprise-publishing-on-wordpress-com-vip/</link>
      <pubDate>Sat, 23 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-enterprise-publishing-on-wordpress-com-vip/</guid>
      <description>&lt;p&gt;WordPress.com is an &amp;ldquo;awesome blogging platform,&amp;rdquo; according to Chris Murray of &lt;a href=&#34;http://thinkoomph.com/&#34;&gt;Oomph&lt;/a&gt;. WordPress.com is &amp;ldquo;get started writing or blogging&amp;rdquo;, not &amp;ldquo;get started worrying about technology.&amp;rdquo; WordPress.org requires downloading the software, installing, and configuring. This gives you more flexibility, but it also means it&amp;rsquo;s more complex. Entreprise customers are somewhat in a lurch choosing between standard WordPress.com and WordPress.org because the former isn&amp;rsquo;t flexible enough and the latter has the potential of too many headaches.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>WordPress.com is an &ldquo;awesome blogging platform,&rdquo; according to Chris Murray of <a href="http://thinkoomph.com/">Oomph</a>. WordPress.com is &ldquo;get started writing or blogging&rdquo;, not &ldquo;get started worrying about technology.&rdquo; WordPress.org requires downloading the software, installing, and configuring. This gives you more flexibility, but it also means it&rsquo;s more complex. Entreprise customers are somewhat in a lurch choosing between standard WordPress.com and WordPress.org because the former isn&rsquo;t flexible enough and the latter has the potential of too many headaches.</p>
<p><a href="http://vip.wordpress.com/">WordPress.com VIP</a> is the &ldquo;best of both worlds.&rdquo; Customers don&rsquo;t have to worry about keeping servers up, but they have more of the flexibility that comes with installing new plugins, etc.</p>
<p><a href="http://vip.wordpress.com/clients/">WordPress.com VIP clients</a> include:</p>
<ul>
<li>CNN</li>
<li>Dice.com</li>
<li>RIM</li>
<li>NBC Sports</li>
<li>VentureBeat</li>
</ul>
<p>To think about the different types of hosting offerings, a typical basic dedicated server includes hardware, network connectivity, and electricity. Managed services include all of that, plus take care of your basic LAMP stack. WordPress.com VIP cares about everything plus WordPress, including caching, load balancing, upgrades and functionality.</p>
<p>When working with WordPress.com VIP, the process is probably a little different:</p>
<ul>
<li>Any custom code needs to happen in the theme layer.</li>
<li>You need a great developer to work with (in-house or third-party).</li>
<li>Highly collaborative approach. As a developer, you can actually interact with folks at WordPress.com. You can pitch ideas and ask for feedback on the best way to do it.</li>
<li>Theme submission is a process with WordPress.com VIP. All code is reviewed line by line for best standards, security, and performance. Once the theme is approved, they&rsquo;ll set up a Subversion repository for your theme.</li>
<li>Deployments are done with the WordPress.com VIP team.</li>
</ul>
<p>Code is a little different too:</p>
<ul>
<li>When you&rsquo;re writing code for the WordPress.com VIP environment, someone is always reviewing. It makes you think more about whether you&rsquo;re doing it the right way. The focus is on beautiful code.</li>
<li>Need to follow <a href="http://codex.wordpress.org/WordPress_Coding_Standards">WordPress Coding Standards</a>.</li>
<li>Plugins are included in your theme&rsquo;s functions.php file.</li>
<li>Security and performance is the number one concern with the WordPress.com VIP team, things like sanitizing input fields and ensuring database queries are performant.</li>
</ul>
<p>When it comes down to it, the biggest different between WordPress.com VIP and self-hosted: you (have to|get to|learn how to) do it right.</p>
<h3 id="qa">Q&amp;A</h3>
<p><strong>Q:</strong> How do you do staging?</p>
<p><strong>Chris:</strong> Often we&rsquo;ll have a staging server in-house that&rsquo;s client facing and/or use one of our five sites with the standard package as the pre-production site.</p>
<p><strong>Q:</strong> Could you explain more about the lack of network admin?</p>
<p><strong>Chris:</strong> WordPress.com is a multisite network in itself, so they don&rsquo;t give you super admin access. If you want to set up a new blog, it&rsquo;s a more involved process including requesting the site, configuring everything, submitting a theme for review, etc.</p>
<p><strong>Q:</strong> Is customer code required to be licensed under the GPL?</p>
<p><strong>Chris:</strong> I&rsquo;m not sure. Licensing is definitely something to be discussed.</p>
<p><strong>Q:</strong> What types of things does VIP support?</p>
<p><strong>Chris:</strong> VIP support offers lots of support including theme reviews, plugin reviews, data migration. They don&rsquo;t write code for you however. Any custom development should be done in-house or with a contracter.</p>
<p><strong>Chris:</strong> &ldquo;Working with the VIP team has added tons and tons of knowledge to my team.&rdquo;</p>
<p>Other questions:</p>
<ul>
<li>Is WordPress.com VIP running stock WordPress, or are there tons of custom modifications?</li>
<li>If VentureBeat were to install a new plugin, would other WordPress.com VIP clients be able to access it?</li>
<li>What things can be done to expedite the deployment process? Are there any common gotchas?</li>
<li>How do new features get requested if lots of clients want it?</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Entreprise WordPress Do&#39;s and Don&#39;ts</title>
      <link>https://danielbachhuber.com/wcbos-entreprise-wordpress-dos-and-donts/</link>
      <pubDate>Sat, 23 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-entreprise-wordpress-dos-and-donts/</guid>
      <description>&lt;p&gt;What does enterprise mean? In the context of the WordPress presentation: sites on a large scale. Sites with a lot of traffic, content, and that require high availability.&lt;/p&gt;&#xA;&lt;p&gt;WordPress evolution from an enterprise perspective:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2.3 - Introduction of custom taxonomies&lt;/li&gt;&#xA;&lt;li&gt;2.9 - Introduction of custom post types; WordPress matures to a real CMS&lt;/li&gt;&#xA;&lt;li&gt;3.1 - Network admin and expanded queries&lt;/li&gt;&#xA;&lt;li&gt;3.2 - Modernization and performance improvements&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Conde Nast started migrating a lot of sites from Movable Type to WordPress in 2008-2009, and the total number has only been growing.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>What does enterprise mean? In the context of the WordPress presentation: sites on a large scale. Sites with a lot of traffic, content, and that require high availability.</p>
<p>WordPress evolution from an enterprise perspective:</p>
<ul>
<li>2.3 - Introduction of custom taxonomies</li>
<li>2.9 - Introduction of custom post types; WordPress matures to a real CMS</li>
<li>3.1 - Network admin and expanded queries</li>
<li>3.2 - Modernization and performance improvements</li>
</ul>
<p>Conde Nast started migrating a lot of sites from Movable Type to WordPress in 2008-2009, and the total number has only been growing.</p>
<h3 id="guidelines-for-using-wordpress-in-enterprise">Guidelines for using WordPress in enterprise</h3>
<p>Hosting infrastructure do&rsquo;s:</p>
<ul>
<li>
<p>Carefully examine your site&rsquo;s requirements and evaluate service offerings before deciding on a host</p>
</li>
<li>
<p>Give yourself at least 2 weeks for new WordPress VIP setups</p>
</li>
<li>
<p>This lead time requirement can sometimes be a deterrent for clients that want to get a project live on a quick turnaround</p>
</li>
<li>
<p>Give yourself additional time for VIP code and plugin reviews. Plugins that aren&rsquo;t already in their set of accepted set can take a while</p>
</li>
<li>
<p>Leverage AMI&rsquo;s for sites on Amazon Web Services</p>
</li>
<li>
<p>Use multiple regions for failover on Amazon Web Services</p>
</li>
<li>
<p>Use a Content Delivery Network (CDN)</p>
</li>
</ul>
<p>Hosting don&rsquo;t: Host multiple high-trafficked sites on the same hardware</p>
<p>Migration do&rsquo;s:</p>
<ul>
<li>Transfer your SEO juice using 301 redirects</li>
<li>Minimize the need for a double-publishing scenario</li>
</ul>
<p>Migration don&rsquo;t: Forget your image assets.</p>
<p><strong>Neat trick:</strong> If you don&rsquo;t know whether all of your image assets were copied over, write a script to tail Apache/Nginx request log, watch for 404s, and pull the image over from the old environment if the request 404&rsquo;s.</p>
<p>Development do&rsquo;s:</p>
<ul>
<li>Use a source control system for your code (e.g. SVN or Git)</li>
<li>Install WordPress with it hidden from search engines with a <a href="http://robotstxt.org/">robots.txt</a> file</li>
<li>Leverage WordPress APIs, including <a href="http://codex.wordpress.org/Class_Reference/WP_Query">WP_Query</a>, <a href="http://codex.wordpress.org/Transients_API">transients</a> and <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_style">wp_enqueue_style</a>/<a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">script</a></li>
</ul>
<p>Development don&rsquo;ts:</p>
<ul>
<li>Modify WordPress core</li>
<li>Write your own SQL queries unless absolutely necessary</li>
<li>Forget about your admin users — use contextual help and train them</li>
</ul>
<p>Launch do&rsquo;s:</p>
<ul>
<li>Lower DNS TTL settings before launch (if updating DNS address)</li>
<li>Apply appropriate CDN exceptions for wp-admin pages</li>
<li>Remove your robots.txt file to make the site visible to search engines</li>
<li>Verify server permissions on files and directories</li>
<li>Set up an automated deployment process</li>
</ul>
<p>Launch don&rsquo;t: Keep .htaccess writable</p>
<p><a href="http://codex.wordpress.org/Hardening_WordPress">Resources on hardening WordPress</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcbos: Web Strategy in Higher Education</title>
      <link>https://danielbachhuber.com/wcbos-web-strategy-in-higher-education/</link>
      <pubDate>Sat, 23 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcbos-web-strategy-in-higher-education/</guid>
      <description>&lt;p&gt;Web strategy defined: The translation of the organizational objectives and values into high-level management directives for the web. This will be Jay Collier&amp;rsquo;s focus for this morning.&lt;/p&gt;&#xA;&lt;p&gt;Common principles for web strategy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Be dependable - Anywhere, anytime, on any device&lt;/li&gt;&#xA;&lt;li&gt;Be intuitive - Simple publishing, searching, finding&lt;/li&gt;&#xA;&lt;li&gt;Be helpful - Helpful information and instructions&lt;/li&gt;&#xA;&lt;li&gt;Be interesting - Appealing, personal, immersive&lt;/li&gt;&#xA;&lt;li&gt;Be welcoming - Online spaces for collaboration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Not often is there one sponsor for web strategy; there are generally multiple. Question how long your web strategy is going to be in place, and whether that&amp;rsquo;s an appropriate timeline. Thinking about why you&amp;rsquo;re doing it, vision and principles, and figure out what exactly you&amp;rsquo;ll do and how to measure it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Web strategy defined: The translation of the organizational objectives and values into high-level management directives for the web. This will be Jay Collier&rsquo;s focus for this morning.</p>
<p>Common principles for web strategy:</p>
<ul>
<li>Be dependable - Anywhere, anytime, on any device</li>
<li>Be intuitive - Simple publishing, searching, finding</li>
<li>Be helpful - Helpful information and instructions</li>
<li>Be interesting - Appealing, personal, immersive</li>
<li>Be welcoming - Online spaces for collaboration</li>
</ul>
<p>Not often is there one sponsor for web strategy; there are generally multiple. Question how long your web strategy is going to be in place, and whether that&rsquo;s an appropriate timeline. Thinking about why you&rsquo;re doing it, vision and principles, and figure out what exactly you&rsquo;ll do and how to measure it.</p>
<p>In determining which platform to deploy, or functionality to implement, Jay recommends having stakeholders list features and prioritize on a 1-10 basis.</p>
<p>A &ldquo;domain architecture&rdquo; map will help you understand all of the requirements by department, and how they interrelate.</p>
<p><a href="http://www.lafayette.edu/"><img src="images/lafayette-college-c2b7-lafayette-college1.jpg" alt=""  width="1081"
	height="648"  /></a></p>
<p><a href="http://www.lafayette.edu/">Lafayette College</a> has integrated WordPress in all aspects of their publishing.</p>
<p><a href="http://www.queens.unimelb.edu.au/"><img src="images/queene28099s-college-e28094-the-university-of-melbourne1.jpg" alt=""  width="1330"
	height="641"  /></a></p>
<p><a href="http://www.queens.unimelb.edu.au/">Queen&rsquo;s College</a> in Australia has gone as far as focus their homepage entirely on prospective students. All other content lives elsewhere on the site, and is accessible after community members receive a login.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Things to do during my last week in NYC</title>
      <link>https://danielbachhuber.com/things-to-do-during-my-last-week-in-nyc/</link>
      <pubDate>Thu, 21 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/things-to-do-during-my-last-week-in-nyc/</guid>
      <description>&lt;p&gt;Things to do during my last week in New York City, as brainstormed by the J-School tech crew:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;See the &lt;a href=&#34;http://www.thehighline.org/news/2011/06/13/plan-your-visit-to-section-2-of-the-high-line&#34;&gt;newly opened section&lt;/a&gt; of The Highline&lt;/li&gt;&#xA;&lt;li&gt;Ride the Staten Island ferry&lt;/li&gt;&#xA;&lt;li&gt;Go up to the top of the Rockefeller and get drinks&lt;/li&gt;&#xA;&lt;li&gt;Run around the Central Park reservoir again (on a day that&amp;rsquo;s not too hot)&lt;/li&gt;&#xA;&lt;li&gt;Visit the &lt;a href=&#34;http://www.mcny.org/&#34;&gt;City of New York museum&lt;/a&gt; in Queens&lt;/li&gt;&#xA;&lt;li&gt;Eat Indian food in Jackson Heights&lt;/li&gt;&#xA;&lt;li&gt;See the &lt;a href=&#34;http://sleepnomorenyc.com/&#34;&gt;Sleep No More&lt;/a&gt; interactive musical&lt;/li&gt;&#xA;&lt;li&gt;Go to a Daily Show or Colbert Report taping&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>Things to do during my last week in New York City, as brainstormed by the J-School tech crew:</p>
<ul>
<li>See the <a href="http://www.thehighline.org/news/2011/06/13/plan-your-visit-to-section-2-of-the-high-line">newly opened section</a> of The Highline</li>
<li>Ride the Staten Island ferry</li>
<li>Go up to the top of the Rockefeller and get drinks</li>
<li>Run around the Central Park reservoir again (on a day that&rsquo;s not too hot)</li>
<li>Visit the <a href="http://www.mcny.org/">City of New York museum</a> in Queens</li>
<li>Eat Indian food in Jackson Heights</li>
<li>See the <a href="http://sleepnomorenyc.com/">Sleep No More</a> interactive musical</li>
<li>Go to a Daily Show or Colbert Report taping</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Unrealized ideas from my time at the J-School</title>
      <link>https://danielbachhuber.com/unrealized-ideas-from-my-time-at-the-j-school/</link>
      <pubDate>Thu, 21 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/unrealized-ideas-from-my-time-at-the-j-school/</guid>
      <description>&lt;p&gt;What follows is a laundry list of all of the things I planned out but never got around to doing at the J-School. Some are crazily creative while others are to be expected. I&amp;rsquo;m writing them out because I want to retain a record of them for the future (and now they mostly live in a Basecamp account I&amp;rsquo;ll no longer have access to).&lt;/p&gt;&#xA;&lt;h3 id=&#34;wordpress-networks&#34;&gt;WordPress networks&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;At the time of this writing, the J-School has two WordPress multisite instances. One, at &lt;a href=&#34;http://www.journalism.cuny.edu/&#34;&gt;journalism.cuny.edu&lt;/a&gt;, subdomains of the primary domain, and various custom domains, offers managed websites for students, faculty, staff, and alumni. The other, &lt;a href=&#34;http://cunycampuswire.com/&#34;&gt;CUNY Campus Wire&lt;/a&gt;, is managed hosting for CUNY student publications.&lt;/em&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>What follows is a laundry list of all of the things I planned out but never got around to doing at the J-School. Some are crazily creative while others are to be expected. I&rsquo;m writing them out because I want to retain a record of them for the future (and now they mostly live in a Basecamp account I&rsquo;ll no longer have access to).</p>
<h3 id="wordpress-networks">WordPress networks</h3>
<p><em>At the time of this writing, the J-School has two WordPress multisite instances. One, at <a href="http://www.journalism.cuny.edu/">journalism.cuny.edu</a>, subdomains of the primary domain, and various custom domains, offers managed websites for students, faculty, staff, and alumni. The other, <a href="http://cunycampuswire.com/">CUNY Campus Wire</a>, is managed hosting for CUNY student publications.</em></p>
<ul>
<li>
<p><strong>Post by email</strong> - Create new posts, let them be blog posts, galleries, links, etc., via email. Also, offer the ability to respond to a comment thread by email.</p>
</li>
<li>
<p><strong>Search across all sites in the network</strong> - Have a dedicated URL like <a href="http://search.journalism.cuny.edu/">http://search.journalism.cuny.edu/</a> to run a query across all sites in the network, and offer faceted filtering to limit result types to specific content, authors, topics, etc.</p>
</li>
<li>
<p><strong>Dynamic homepage for logged-in users</strong> - For J-School community members, the homepage becomes their dashboard for the school, including assignment information, upcoming events, discussion notifications, etc.</p>
</li>
<li>
<p><strong>Ingest users&rsquo; social media content</strong> - Pull in and make available tweets, Flickr photos, video, and other social media from WordPress users. Offer BuddyPress profile fields for users to enter their identity information or, better yet, allow them to authenticate against the website using their third-party accounts. Use this data to build features like a realtime map of where community members are based on geo-tagged tweets or Foursquare checkins.</p>
</li>
<li>
<p><strong>Community tagging</strong> - Any user of the network can suggest tags for a content object, including people, topics, and places.</p>
</li>
<li>
<p><strong>Contextual documentation based on Tech website content</strong> - In the WordPress admin, replace the generic help tab documentation with custom documentation from the Tech website. Optionally allow users to create a new support ticket from the WordPress admin.</p>
</li>
<li>
<p><strong>Soundslides WordPress plugin</strong> - Make it easier for students to publish Soundslides projects by allowing them to upload publish_to_web projects through the admin and embed with a shortcode.</p>
</li>
<li>
<p><strong>Take a screenshot of each website homepage once a month</strong> - Offer a visual archive of how sites are evolving over time.</p>
</li>
<li>
<p><strong>Network usage stats plugin</strong> - Track usage across the network. Data points like:</p>
</li>
<li>
<p>Total number of sites and users</p>
</li>
<li>
<p>Posts published, media content uploaded</p>
</li>
<li>
<p>Links used per post, by site and globally</p>
</li>
<li>
<p>Total embedded rich media</p>
</li>
<li>
<p>Users active within the last week</p>
</li>
<li>
<p>Number of sites using a given plugin or theme; see which is using what from the network admin</p>
</li>
<li>
<p>Distribution of custom CSS modifications by site, possibly correlated to theme</p>
</li>
<li>
<p>Most popular CSS property for custom CSS modifications</p>
</li>
</ul>
<h3 id="tech-website">Tech website</h3>
<p><em>For the last few months, we&rsquo;ve spent a significant amount of time revamping our <a href="http://tech.journalism.cuny.edu/">tech website</a>. The focus now is producing documentation on every subject the team deals with, but eventually the vision is to have the website be the primary way for clients to access resources and interface with the tech team.</em></p>
<ul>
<li><strong>&ldquo;Was this helpful?&rdquo;</strong> - At the end of every piece of documentation, allow the reader to indicate whether it was helpful or not. If they mark &ldquo;No&rdquo;, display a small box for them to submit a comment. Optionally, enable the document author to define what the question is.</li>
<li><strong>Content notifications</strong> - Alert authors by email if their documentation hasn&rsquo;t been updated in a while.</li>
<li><strong>Public plugin and theme directories</strong> - Make it much easier for users to see which plugins and themes they have available to use by building a directory for each into the tech website. Both single views would have details about the object, related documentation and blog posts, usage stats, and links to examples.</li>
<li><strong>Support ticketing</strong> - Move support ticketing from the ever-awful Web Help Desk into WordPress. Users could create new tickets directed towards staff, or towards other users in the system (when creating a ticket, users would be suggested based on relevance). Tickets can be private or public, and sortable by tags so we can pull out metrics and see history easily (i.e. 163 students didn’t know how to log into WP in the last two months). A ticketing system should empower you to be proactive about support.</li>
<li><strong>Issues as a custom post type</strong> - Create &ldquo;issues&rdquo; as a custom post type (network downtime, failure, classroom equipment outages) and build a view for open, pending, and past issues.</li>
<li><strong>Equipment availability</strong> - See what equipment is available for checkout when.</li>
<li><strong>Live refresh on search results</strong> - A la the 37signals <a href="http://help.37signals.com/basecamp">documentation site</a> and Google Instant.</li>
</ul>
<h3 id="cuny-j-camp-website">CUNY J-Camp website</h3>
<p><em><a href="http://cunyjcamp.com/">CUNY J-Camp</a> is the brand for the J-School&rsquo;s continuing education workshops. We <a href="http://danielbachhuber.com/2011/07/19/two-designs-changing-nyc-and-cuny-j-camp/">launched a redesign</a> in June 2011 that is well-positioned for additional improvement.</em></p>
<ul>
<li><strong>Support WordPress galleries</strong> - Allow for the instructor to upload images after the event and, optionally, for participants to upload their content as well. Add theme support for galleries, with a nice interface for going through all of them</li>
<li><strong>Calendar view</strong> - By default, events are presented on the homepage in a nice grid view. A secondary view could be a month-by-month calendar so visitors can see what workshops were held in the past and what&rsquo;s coming up in the future.</li>
<li><strong>Registration through WordPress</strong> - J-Camp workshop registration is handled through Eventbrite. This is functional, but we could do so much more, like track user participation over time, if it was handled within the theme.</li>
</ul>
<h3 id="digital-media-management-odds-and-ends">Digital media management odds and ends</h3>
<p><em>Officially, my title at the J-School was &ldquo;Digital Media Manager.&rdquo; I always introduced myself as &ldquo;the internet guy at the J-School&rdquo;, and the job included everything from server admin to designing print ads to managing digital media&hellip;</em></p>
<ul>
<li><strong>Web interface for accessing Aperture</strong> - Build on the Aperture&rsquo;s database of media metadata, and make those assets available through a web interface so stakeholders can view and download content without having Aperture installed on their local machine. The syncing offered in Aperture 3 really isn&rsquo;t functional.</li>
<li><strong>Digital signage WordPress theme</strong> - Design and build a WordPress theme to power the digital signage in the newsroom, on the first floor, and other places to be determined. <a href="http://danielbachhuber.com/2010/10/16/wcnyc-digital-signage/">Inspiration is Macaulay College&rsquo;s implementation</a>. Ours should rotate through events, photos, student work, &ldquo;Did you know?&rdquo; facts, news items, and J-School branding. Could also incorporate other network content like posts and updates.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Two designs: Changing NYC and CUNY J-Camp</title>
      <link>https://danielbachhuber.com/two-designs-changing-nyc-and-cuny-j-camp/</link>
      <pubDate>Tue, 19 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-designs-changing-nyc-and-cuny-j-camp/</guid>
      <description>&lt;p&gt;This is a quick visual overview of &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/&#34;&gt;Changing NYC&lt;/a&gt; and &lt;a href=&#34;http://cunyjcamp.com/&#34;&gt;CUNY J-Camp&lt;/a&gt;, two sites I designed, helped to produce, and launched at the CUNY J-School in the last couple of months.&lt;/p&gt;&#xA;&lt;h3 id=&#34;changing-nyc&#34;&gt;Changing NYC&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2011/07/19/two-designs-changing-nyc-and-cuny-j-camp/20110719changingnyc-homepage/&#34;&gt;&lt;img src=&#34;images/20110719changingnyc-homepage1.jpg&#34; alt=&#34;&#34;  width=&#34;1138&#34;&#xA;&#x9;height=&#34;775&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Published in May, &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/&#34;&gt;Changing NYC&lt;/a&gt; showcases Census stories from Interactive II and Craft II J-School students. It was a joint project and includes &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/media/audio/&#34;&gt;audio&lt;/a&gt;, &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/media/photo/&#34;&gt;photo&lt;/a&gt;, &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/media/video/&#34;&gt;video&lt;/a&gt; and &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/themes/live/&#34;&gt;live coverage&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One of the significant challenges with this site was that, despite the Census being the overall theme, there were few threads between the stories. Furthermore, all stories needed to receive generally the same weight; no stories could be more &amp;ldquo;important&amp;rdquo; than others. The solution was to create three broad buckets to place the content in, &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/themes/between-the-numbers/&#34;&gt;Between the Numbers&lt;/a&gt;, &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/themes/moving-inmoving-out/&#34;&gt;Moving In/Moving Out&lt;/a&gt;, and &lt;a href=&#34;http://changingnyc.journalism.cuny.edu/themes/neighborhood-anchors/&#34;&gt;Neighborhood Anchors&lt;/a&gt;, and then randomize the display order of the stories. Fortunately, with the &lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2011/07/20110717changingnyc-topicpage1.jpg&#34;&gt;grid view for theme landing pages&lt;/a&gt;, I think it worked out alright.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This is a quick visual overview of <a href="http://changingnyc.journalism.cuny.edu/">Changing NYC</a> and <a href="http://cunyjcamp.com/">CUNY J-Camp</a>, two sites I designed, helped to produce, and launched at the CUNY J-School in the last couple of months.</p>
<h3 id="changing-nyc">Changing NYC</h3>
<p><a href="http://danielbachhuber.com/2011/07/19/two-designs-changing-nyc-and-cuny-j-camp/20110719changingnyc-homepage/"><img src="images/20110719changingnyc-homepage1.jpg" alt=""  width="1138"
	height="775"  /></a></p>
<p>Published in May, <a href="http://changingnyc.journalism.cuny.edu/">Changing NYC</a> showcases Census stories from Interactive II and Craft II J-School students. It was a joint project and includes <a href="http://changingnyc.journalism.cuny.edu/media/audio/">audio</a>, <a href="http://changingnyc.journalism.cuny.edu/media/photo/">photo</a>, <a href="http://changingnyc.journalism.cuny.edu/media/video/">video</a> and <a href="http://changingnyc.journalism.cuny.edu/themes/live/">live coverage</a>.</p>
<p>One of the significant challenges with this site was that, despite the Census being the overall theme, there were few threads between the stories. Furthermore, all stories needed to receive generally the same weight; no stories could be more &ldquo;important&rdquo; than others. The solution was to create three broad buckets to place the content in, <a href="http://changingnyc.journalism.cuny.edu/themes/between-the-numbers/">Between the Numbers</a>, <a href="http://changingnyc.journalism.cuny.edu/themes/moving-inmoving-out/">Moving In/Moving Out</a>, and <a href="http://changingnyc.journalism.cuny.edu/themes/neighborhood-anchors/">Neighborhood Anchors</a>, and then randomize the display order of the stories. Fortunately, with the <a href="https://danielbachhuber.com/wp-content/uploads/2011/07/20110717changingnyc-topicpage1.jpg">grid view for theme landing pages</a>, I think it worked out alright.</p>
<p>From a design perspective, I wanted to make the site easy to navigate laterally and allow the reader to quickly focus on the content. I have three favorite features:</p>
<ul>
<li>On the <a href="https://danielbachhuber.com/wp-content/uploads/2011/07/20110717changingnyc-singlearticle1.jpg">single article view</a>, the active theme and place terms are highlighted to give you a peripheral sense of what you&rsquo;re looking at.</li>
<li>On any view with a single piece of content, the site branding drops out of the header to the left column to allow the reader to make that content first and foremost on the page.</li>
<li>The <a href="http://danielbachhuber.files.wordpress.com/2011/07/20110717changingnyc-singlephoto.jpg">single photo view</a> has a ribbon of all photos associated with a post, so you can see where you&rsquo;re at in the series and quickly jump to another image.</li>
</ul>
<h3 id="cuny-j-camp">CUNY J-Camp</h3>
<p><a href="http://danielbachhuber.com/2011/07/19/two-designs-changing-nyc-and-cuny-j-camp/20110717cunyjcamp-homepage/"><img src="images/20110717cunyjcamp-homepage1.jpg" alt=""  width="1017"
	height="930"  /></a></p>
<p><a href="http://cunyjcamp.com">CUNY J-Camp</a> is the J-School&rsquo;s continuing education program. With the redesign of the site, the primary goal was to make it much easier to access and register for the variety of workshops offered. Secondary goals included educating new visitors on CUNY J-Camp, and making it much easier to stay in the loop about upcoming opportunities.</p>
<p><a href="http://danielbachhuber.com/2011/07/19/two-designs-changing-nyc-and-cuny-j-camp/20110717cunyjcamp-singleevent/"><img src="images/20110717cunyjcamp-singleevent1.jpg" alt=""  width="963"
	height="861"  /></a></p>
<p>The WordPress themes for both <a href="https://github.com/cunyjschool/Changing-NYC-theme">Changing NYC</a> and <a href="https://github.com/cunyjschool/CUNY-J-Camp">CUNY J-Camp</a> are available on Github.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WP.org trac tickets you should follow</title>
      <link>https://danielbachhuber.com/wp-org-trac-tickets-you-should-follow/</link>
      <pubDate>Mon, 18 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wp-org-trac-tickets-you-should-follow/</guid>
      <description>&lt;p&gt;One of my goals this summer is to contribute more to &lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt;, the open source project we all know and love. To kick this off, I&amp;rsquo;ve started tickets for small improvements I think will make the software significantly more usable. You should follow the tickets if you want to help make them reality.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://core.trac.wordpress.org/ticket/18031&#34;&gt;#18031 Add a &amp;ldquo;Network Admin&amp;rdquo; link to WP Admin Bar&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Currently on a multisite instance, the super admin must first navigate to the dashboard (using a link on the left in the admin bar) and then use a dropdown menu all of the way on right of the dashboard that requires a click to access the Network Admin. In short, this is frustratingly complex; there should be a way to easily access the Network Admin from the admin bar. I propose we add a &lt;a href=&#34;http://danielbachhuber.com/screenshots/Dashboard_%E2%80%B9_Network_Admin_%E2%80%94_WordPress-20110707-191102.jpg&#34;&gt;&amp;ldquo;Network Admin&amp;rdquo; link for Super Admins&lt;/a&gt; in the account dropdown. Optionally, we could also add &lt;a href=&#34;http://danielbachhuber.com/screenshots/Dashboard_%E2%80%B9_Network_Admin_%E2%80%94_WordPress-20110707-191454.jpg&#34;&gt;sub menus&lt;/a&gt; to the primary sections of the Network Admin.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of my goals this summer is to contribute more to <a href="http://wordpress.org/">WordPress</a>, the open source project we all know and love. To kick this off, I&rsquo;ve started tickets for small improvements I think will make the software significantly more usable. You should follow the tickets if you want to help make them reality.</p>
<p><a href="http://core.trac.wordpress.org/ticket/18031">#18031 Add a &ldquo;Network Admin&rdquo; link to WP Admin Bar</a></p>
<p>Currently on a multisite instance, the super admin must first navigate to the dashboard (using a link on the left in the admin bar) and then use a dropdown menu all of the way on right of the dashboard that requires a click to access the Network Admin. In short, this is frustratingly complex; there should be a way to easily access the Network Admin from the admin bar. I propose we add a <a href="http://danielbachhuber.com/screenshots/Dashboard_%E2%80%B9_Network_Admin_%E2%80%94_WordPress-20110707-191102.jpg">&ldquo;Network Admin&rdquo; link for Super Admins</a> in the account dropdown. Optionally, we could also add <a href="http://danielbachhuber.com/screenshots/Dashboard_%E2%80%B9_Network_Admin_%E2%80%94_WordPress-20110707-191454.jpg">sub menus</a> to the primary sections of the Network Admin.</p>
<p><a href="http://core.trac.wordpress.org/ticket/18082">#18082 Reset screen options button</a></p>
<p>It would be nice to have a &ldquo;Reset&rdquo; button in screen options to restore any given admin view back to the factory defaults.</p>
<p><a href="http://core.trac.wordpress.org/ticket/18160">#18160 Auto-suggest usernames on views for adding user to site</a></p>
<p>In a multisite network, it&rsquo;s often difficult to try and remember usernames, or a pain to search the users table, and then copy and paste the username you&rsquo;ve found into the window with the form. Furthermore, site admins have no access to a global table of users to search and add from. If we can solve the scaling issues, it would be much better to be able to auto-suggest usernames when a site admin or super admin is adding a user to a site.</p>
<p><a href="http://core.trac.wordpress.org/ticket/18161">#18161 Bulk action: Add user to multiple sites</a></p>
<p>Currently, to add a single user to multiple sites, the super admin has to edit each site, add the user to the site, and then go on to the next site. To improve this workflow, it would tremendously useful to be able to add a single user to multiple sites in the network admin.</p>
<p><a href="http://core.trac.wordpress.org/ticket/18163">#18163 Include more usermeta fields in the Network Admin&rsquo;s &ldquo;Add User&rdquo; view</a></p>
<p>The view for adding a new user in single site instances includes many useful fields (e.g. first name, last name, a checkbox for whether the user should be emailed the password, etc.). We should replicate this in the network admin to keep the super admin from having to edit each individual profile.</p>
<p>P.S. If you can see this blog post, you&rsquo;re reading it from a brand new server powered by Rackspace Cloud. Galleries didn&rsquo;t make it in the import but I&rsquo;ll fix those shortly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Farewell, New York City</title>
      <link>https://danielbachhuber.com/farewell-new-york-city/</link>
      <pubDate>Mon, 11 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/farewell-new-york-city/</guid>
      <description>&lt;p&gt;tl;dr - I&amp;rsquo;m leaving CUNY and NYC, and starting a new gig with Automattic&amp;rsquo;s &lt;a href=&#34;http://vip.wordpress.com/&#34;&gt;VIP/media services&lt;/a&gt; team at the beginning of August. I&amp;rsquo;ll be mostly in Oregon for at least two months, but plans are TBD after that.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>tl;dr - I&rsquo;m leaving CUNY and NYC, and starting a new gig with Automattic&rsquo;s <a href="http://vip.wordpress.com/">VIP/media services</a> team at the beginning of August. I&rsquo;ll be mostly in Oregon for at least two months, but plans are TBD after that.</p>
<p>Just over a year ago, I decided to pack up almost everything I own and move to the big city. I had just received an offer from the <a href="http://www.journalism.cuny.edu/">CUNY Graduate School of Journalism</a> to work as their digital media manager, the perfect opportunity to hack at both education and journalism. Plus, New York is the nexus of what&rsquo;s happening with media and technology. So I made the plunge.</p>
<p>And it&rsquo;s been a really fun ride. The gig at the J-School fit like a glove, and NYC is one of the most vibrant cities on earth. At the J-School, I was given tremendous freedom to explore what&rsquo;s important for moving journalism education forward. On a daily basis, I&rsquo;ve done everything from <a href="http://danielbachhuber.com/tag/cuny-graduate-school-of-journalism+server-administration/">server administration</a> to development to <a href="http://danielbachhuber.com/tag/cuny-graduate-school-of-journalism+design/">frontend design and implementation</a> to working with students to <a href="http://danielbachhuber.com/tag/cuny-graduate-school-of-journalism+teaching/">teaching workshops and classes</a>. Being able to develop a broad range of skills and stretch my mind in different ways is one of the things I value most. Working at the J-School has provided that pleasure.</p>
<p>It&rsquo;s time to move on to what&rsquo;s next. On the 30th, I&rsquo;m flying out of NYC on a one-way ticket. I&rsquo;m an Oregonian at heart, and need quick access to my outdoors. August 1st, I start a new gig with Automattic&rsquo;s VIP/media services team, joining awesome and super smart people like <a href="http://digitalize.ca">Mo</a>, <a href="http://raanan.com">Raanan</a> and others I haven&rsquo;t had the pleasure of chatting with yet. VIP/media services works with large-scale publishers of all types using WordPress in a variety of ways. I think it&rsquo;ll be a wonderful fit; most of the work is very similar to what we did with CoPress, but with a bigger playing field. I&rsquo;m hoping there&rsquo;s a lot of time for product development too.</p>
<p>Oh yeah, the other big reason for the switch: Michelle is moving to Spain for a year. She&rsquo;ll be teaching English in the small town of Toro. I don&rsquo;t think I&rsquo;ll be there the entire time, visas are hard to come by, but I&rsquo;m definitely going to visit for extended periods of time. Considering Automattic is a globally distributed company, I&rsquo;m super tempted to live and work in a new country every month.</p>
<p>To CUNY, one final thought: your competition isn&rsquo;t NYU or Columbia, it&rsquo;s <a href="http://www.skillshare.com/">Skillshare</a> and <a href="http://www.generalassemb.ly/">General Assembly</a>. Education is being atomized just like news has been atomized; the time-based degree is just as outdated as the <a href="http://www.buzzmachine.com/2011/06/18/the-article-and-the-future-of-print/">article</a>. Like newspapers, you&rsquo;ll have to radically reinvent your production methodologies to create information products that are relevant and useful to a now perpetually-changing society. The investments you make into your students is your greatest asset; they can become your best teachers, and it&rsquo;s your charter to make that happen.</p>
<p>Programming notes:</p>
<ul>
<li>I&rsquo;m <a href="http://danielbachhuber.com/for-sale/">offloading</a> a lot of the large stuff I bought when I came to the city. <a href="http://danielbachhuber.com/for-sale/">Take a look</a> and help me find a good home for all of it. Furniture to be posted tonight or tomorrow.</li>
<li>I&rsquo;ll be in Boston July 22nd through 24th for <a href="http://2011.boston.wordcamp.org/">WordCamp</a> so this coming weekend is my last weekend in the city. Michelle and I plan to whoop and holler it up.</li>
<li>I&rsquo;m looking for people to live with in either Portland or Eugene. Ideally, I&rsquo;d like a kickass place I&rsquo;ll be at for at least a few years. I enjoy cooking (or grilling) for everyone regularly, <a href="http://danielbachhuber.com/for-sale/">like nice stuff</a>, and keep things relatively clean. Let me know if you know of anything.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Destination: Dominican Republic</title>
      <link>https://danielbachhuber.com/destination-dominican-republic/</link>
      <pubDate>Wed, 29 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/destination-dominican-republic/</guid>
      <description>&lt;p&gt;A very last minute vacation, Michelle and I are headed to the Dominican Republic this evening on JetBlue 821. We&amp;rsquo;ll spend tonight in Santo Domingo and then (hopefully) rent a car tomorrow morning to drive inland.&lt;/p&gt;&#xA;&lt;p&gt;Our intent is to stay in Jarabacoa for Thursday and Friday night. During the day on Friday, we&amp;rsquo;d like to do something active; this looks like hiking or canyoneering at the moment.&lt;/p&gt;&#xA;&lt;p&gt;Saturday, we plan to head to the beach for a couple of days. This may mean taking the rental car back to Santo Domingo and a bus to Punta Cana, or keeping the rental car and driving further to Samana and Playa Bonita. Sunday, I&amp;rsquo;d like to get a few dives in.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A very last minute vacation, Michelle and I are headed to the Dominican Republic this evening on JetBlue 821. We&rsquo;ll spend tonight in Santo Domingo and then (hopefully) rent a car tomorrow morning to drive inland.</p>
<p>Our intent is to stay in Jarabacoa for Thursday and Friday night. During the day on Friday, we&rsquo;d like to do something active; this looks like hiking or canyoneering at the moment.</p>
<p>Saturday, we plan to head to the beach for a couple of days. This may mean taking the rental car back to Santo Domingo and a bus to Punta Cana, or keeping the rental car and driving further to Samana and Playa Bonita. Sunday, I&rsquo;d like to get a few dives in.</p>
<p>On Monday, we&rsquo;re headed back to Santo Domingo for an evening of music and food, and sightseeing the following day. We fly back to NYC Tuesday evening.</p>
<p>That&rsquo;s the rough itinerary; changes obviously tk. I don&rsquo;t plan to have any access to email while I&rsquo;m down there, so the best way to reach me is by text: (971) 998-5407.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Important news from the land of content management systems, publishing, and journalism</title>
      <link>https://danielbachhuber.com/important-news-from-the-land-of-content-management-systems-publishing-and-journalism/</link>
      <pubDate>Thu, 23 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/important-news-from-the-land-of-content-management-systems-publishing-and-journalism/</guid>
      <description>&lt;p&gt;It shouldn&amp;rsquo;t be, but I&amp;rsquo;ve been meaning to write about this for a week: the Bangor Daily News finally &lt;a href=&#34;http://dev.bangordailynews.com/2011/06/13/bangor-daily-news-completes-final-switch-to-wordpress/&#34;&gt;switched their entire publishing workflow operation to Google Docs and WordPress&lt;/a&gt;. According to his boss, &lt;a href=&#34;http://dev.bangordailynews.com/2011/06/23/form-ever-follows-function-eventually/&#34;&gt;here&amp;rsquo;s why&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;As we lost staff to cutbacks over the years, assembling our content into finished products was taking a larger and larger percentage of our time. Simply processing press releases seemed to suck up significant portions of editors’ days. No one wanted to be in this situation, but our infrastructure for moving content demanded it. We were trapped.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It shouldn&rsquo;t be, but I&rsquo;ve been meaning to write about this for a week: the Bangor Daily News finally <a href="http://dev.bangordailynews.com/2011/06/13/bangor-daily-news-completes-final-switch-to-wordpress/">switched their entire publishing workflow operation to Google Docs and WordPress</a>. According to his boss, <a href="http://dev.bangordailynews.com/2011/06/23/form-ever-follows-function-eventually/">here&rsquo;s why</a>:</p>
<blockquote>
<p>As we lost staff to cutbacks over the years, assembling our content into finished products was taking a larger and larger percentage of our time. Simply processing press releases seemed to suck up significant portions of editors’ days. No one wanted to be in this situation, but our infrastructure for moving content demanded it. We were trapped.</p>
<p>[&hellip;]</p>
<p>As the newsroom has grown comfortable with Docs, it is becoming more efficient (links and headlines, for instance, travel from Docs to WordPress) and we are shifting staff members from production to content creation. We knew we had a winner in Docs when we had a major election story with two reporters in the field and an editor in the newsroom, all working simultaneously on the same breaking story, adding content, seeing in real time what each was adding, talking to each other through the chat function and responding with updated information. Fast, simple, low cost.</p></blockquote>
<p>Lauren Rabaino interviewed Will for MediaBistro to get the <a href="http://www.mediabistro.com/10000words/how-to-run-a-news-site-and-newspaper-using-wordpress-and-google-docs_b4781">full details on how it actually works</a>:</p>
<ol>
<li>Reporters and editors compose all stories in Google Docs. Using labels and native commenting, the stories get sent through the editing process.</li>
<li>When a story is ready to publish, it gets sent from Google Docs to WordPress with one click.</li>
<li>In WordPress, editors can publish the story to the web, then set up a print headline and print subhead.</li>
<li>The story then appears in InDesign, where print designers can lay out the print newspaper.</li>
</ol>
<p>Matt Thompson, in a piece for Poynter about <a href="http://www.poynter.org/how-tos/digital-strategies/134791/4-ways-content-management-systems-are-evolving-why-it-matters-to-journalists/">why content management systems matter to journalists</a>, gets the last word:</p>
<blockquote>
<p>We’re beginning to understand that a CMS — every CMS, open-source, enterprise, or otherwise — requires continual investment and development. No matter how small or large your organization is, your content management system has to develop to accommodate a digital news environment that changes dramatically from year to year.</p>
<p>[&hellip;]</p>
<p>Because it makes no sense to spend a month of training on a system that’s going to change in a year, we have to use content management interfaces that are beautiful enough for users to grasp intuitively.</p>
<p>And because we need to develop fast, we have to borrow tools and ideas from the world of open-source software to make our content management ecosystems better.</p></blockquote>
<p>Finally we&rsquo;re getting somewhere. Good investments pay dividends.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Why Google won&#39;t ever get social</title>
      <link>https://danielbachhuber.com/why-google-wont-ever-get-social/</link>
      <pubDate>Thu, 16 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/why-google-wont-ever-get-social/</guid>
      <description>&lt;p&gt;Recently, Google changed their accounts infrastructure so that Google Apps accounts behave more like normal Google accounts. You&amp;rsquo;d think this would be a good thing, but it&amp;rsquo;s had a very negative unintended consequence.&lt;/p&gt;&#xA;&lt;p&gt;Previously, you could associate multiple email addresses, including Google Apps email addresses, with a single &lt;a href=&#34;https://profiles.google.com/danielbachhuber/&#34;&gt;Google Profile&lt;/a&gt;. This has been extremely useful, especially for using a product like Google Groups.&lt;/p&gt;&#xA;&lt;p&gt;Their recent infrastructure change reversed all of this. Specifically, I use &lt;a href=&#34;mailto:danielbachhuber@gmail.com&#34;&gt;danielbachhuber@gmail.com&lt;/a&gt; to log into my Google services, but use &lt;a href=&#34;mailto:d@danielbachhuber.com&#34;&gt;d@danielbachhuber.com&lt;/a&gt; and other email addresses with my Google Groups. Because the Google Apps email addresses can no longer be associated with my primary Gmail account, I can no longer participant in the myriad of Google Groups I&amp;rsquo;m a part of. Furthermore, I have no idea where else this problem is going to manifest itself.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Recently, Google changed their accounts infrastructure so that Google Apps accounts behave more like normal Google accounts. You&rsquo;d think this would be a good thing, but it&rsquo;s had a very negative unintended consequence.</p>
<p>Previously, you could associate multiple email addresses, including Google Apps email addresses, with a single <a href="https://profiles.google.com/danielbachhuber/">Google Profile</a>. This has been extremely useful, especially for using a product like Google Groups.</p>
<p>Their recent infrastructure change reversed all of this. Specifically, I use <a href="mailto:danielbachhuber@gmail.com">danielbachhuber@gmail.com</a> to log into my Google services, but use <a href="mailto:d@danielbachhuber.com">d@danielbachhuber.com</a> and other email addresses with my Google Groups. Because the Google Apps email addresses can no longer be associated with my primary Gmail account, I can no longer participant in the myriad of Google Groups I&rsquo;m a part of. Furthermore, I have no idea where else this problem is going to manifest itself.</p>
<p>Google won&rsquo;t ever get social because they&rsquo;ve just fundamentally broken the concept of one login for multiple identities and contexts. As strongly as I am against it, this is <a href="http://evhead.com/2011/04/five-easy-pieces-of-online-identity.html">what Twitter and Facebook are doing right</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Tracking data on everything: Web team projects</title>
      <link>https://danielbachhuber.com/tracking-data-on-everything-web-team-projects/</link>
      <pubDate>Wed, 15 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tracking-data-on-everything-web-team-projects/</guid>
      <description>&lt;p&gt;Data makes the world more visible.&lt;/p&gt;&#xA;&lt;p&gt;At the end of March, I embarked on a personal initiative at the J-School to quantify as many of our processes as possible. My working thesis: if we can generate enough data about a system, and have a framework to understand it, we can be far more effective in what we do. Quite possibly way over &lt;a href=&#34;http://www.nytimes.com/2011/04/24/business/24unboxed.html#h%5BMBaTta%5D&#34;&gt;5-6%&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Data makes the world more visible.</p>
<p>At the end of March, I embarked on a personal initiative at the J-School to quantify as many of our processes as possible. My working thesis: if we can generate enough data about a system, and have a framework to understand it, we can be far more effective in what we do. Quite possibly way over <a href="http://www.nytimes.com/2011/04/24/business/24unboxed.html#h%5BMBaTta%5D">5-6%</a>.</p>
<p>My motivations to blog about this are largely because I&rsquo;m making this up as I go along. I&rsquo;d like to regularly publish metrics we produce, how we interpret those metrics, what actions we take, and the results that come from our actions. If this initiative incurs the effectiveness increases I hope it does, there will be lessons others can steal.</p>
<p>Our most active spreadsheet right now tracks how our web team executes projects. Specifically, these data points:</p>
<ul>
<li>Project initiation date</li>
<li>Original deadline</li>
<li>Actual completion date</li>
<li>Client</li>
<li>Priority (high, medium, low)</li>
<li>Project manager</li>
<li>Estimated hours to complete</li>
<li>Estimated number of staff required</li>
<li>Number of milestone (deadline) shifts</li>
<li>Actual hours to complete</li>
<li>Actual number of staff required</li>
<li>Short text explanation by the project manager of why the project ended up as it did</li>
<li>Link to a debrief or recap if there is one</li>
</ul>
<p>Tracked projects range between 1 and 20 hours, and we have 94 logged since March 31st. We use Basecamp extensively. Time on tasks is tracked using its time-tracking functionality, and then we spend a minute adding everything up at the very end of the project.</p>
<p>Next up: figuring out how to interpret the data. I hope the data will give us visibility into:</p>
<ul>
<li>Whether we&rsquo;re meeting our stated hour requirements and deadlines</li>
<li>Where we spend most of our time</li>
<li>Which clients we&rsquo;re spending the most time with</li>
<li>What types of projects we&rsquo;re not able to deliver on deadline and on budget, and why</li>
</ul>
<p>Reviewing what we have to date, the post-project explanations are already proving valuable in identifying the trends of what makes a project successful versus going off the rails.</p>]]></content:encoded>
    </item>
    <item>
      <title>Tracking data on everything: &#39;10-&#39;11 web services stats for the J-School</title>
      <link>https://danielbachhuber.com/tracking-data-on-everything-10-11-web-services-stats-for-the-j-school/</link>
      <pubDate>Mon, 13 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tracking-data-on-everything-10-11-web-services-stats-for-the-j-school/</guid>
      <description>&lt;p&gt;Judy Watson, associate dean at the J-School, asked me last week to pull together relevant usage and performance metrics for work we&amp;rsquo;re doing on the web. They&amp;rsquo;ll be a part of an annual report back to CUNY central. I thought it&amp;rsquo;d be fun to share them here too.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Judy Watson, associate dean at the J-School, asked me last week to pull together relevant usage and performance metrics for work we&rsquo;re doing on the web. They&rsquo;ll be a part of an annual report back to CUNY central. I thought it&rsquo;d be fun to share them here too.</p>
<h3 id="data-from-the-past-year">Data from the past year</h3>
<p>WordPress network usage (as of June 2011)</p>
<ul>
<li>481 total users (students, faculty and staff)</li>
<li>272 total websites, including the J-School main site, NYCity News Service, and dozens of class and personal websites</li>
<li>70 websites using custom domains (e.g. <a href="http://carmeldelshad.com/">carmeldelshad.com</a> or <a href="http://nycitynewsservice.com/">nycitynewsservice.com</a>) for unique branding</li>
<li>144 personal websites, 43 course websites, and 66 project/publication websites</li>
</ul>
<p>journalism.cuny.edu analytics (excluding internal IP addresses, June 2010 to June 2011)</p>
<ul>
<li>June 2010: 11,201 visits; 32,663 pageviews; 48.03% new visits</li>
<li>July 2010: 12,317 visits; 36,532 pageviews; 46.16% new visits</li>
<li>August 2010: 16,027 visits; 42,285 pageviews; 42.85% new visits</li>
<li>September 2010: 20,159 visits; 55,424 pageviews; 36.60% new visits</li>
<li>October 2010: 21,441 visits; 57,169 pageviews; 35.49% new visits</li>
<li>November 2010: 21,557 visits; 58,810 pageviews; 37.97% new visits</li>
<li>December 2010: 21,221 visits; 54,025 pageviews; 34.76% new visits</li>
<li>January 2010: 21,422 visits; 55,357 pageviews; 40.26% new visits</li>
<li>February 2010: 15,961 visits; 41,590 pageviews; 39.59% new visits</li>
<li>March 2010: 20,055 visits; 53,755 pageviews; 43.45% new visits</li>
<li>April 2010: 17,517 visits; 45,411 pageviews; 39.49% new visits</li>
<li>May 2010: 16,439 visits; 42,805 pageviews; 42.53% new visits</li>
</ul>
<p><a href="http://facebook.com/cunyjschool">Our Facebook Page</a> (June 2010 to June 2011):</p>
<ul>
<li>128 daily active users to 425 daily active users</li>
<li>521 total likes to 745 total likes</li>
</ul>
<p><a href="http://twitter.com/cunyjschool">Our Twitter account</a> (April 2009 to June 2011, <a href="http://twitaholic.com/cunyjschool/">according to Twitaholic</a>)</p>
<ul>
<li>758 followers to 2,490 followers</li>
<li>224 updates to 1,083 updates</li>
</ul>
<p><a href="http://vimeo.com/cunyjschool">Our videos on Vimeo</a> (June 2010 to June 2011)</p>
<ul>
<li>328,103 total loads</li>
<li>8,231 total plays</li>
<li>201 total videos</li>
<li>Embedded on a total of 226 websites</li>
<li>Top three videos: <a href="http://vimeo.com/1965016">Sony PD-170 Tutorial</a> (3,089 views), <a href="http://vimeo.com/24585136">An Evening with Shepard Smith, Fox News Channel - May 25, 2011</a> (970 views), and <a href="http://vimeo.com/17344321">Entrepreneurial Journalism Information Session with Jeff Jarvis and Jeremy Caplan</a> (862 views)</li>
</ul>
<h3 id="takeaways-and-next-steps">Takeaways and next steps</h3>
<p>As with any metrics, it&rsquo;s hard to find the signal in the noise. Furthermore, data can be misleading if you don&rsquo;t use it in controlled environments.</p>
<p>With that being said, I was quite surprised to see our top-ranking video on Vimeo a pretty generic camera tutorial. This is something to consider for the future. Also, I&rsquo;m quite happy we have 144 students, alumni and faculty set up with personal websites, and 70 personal and project sites using custom domains.</p>
<p>By this Wednesday, I&rsquo;m supposed to have a plan together as to what metrics and goals we&rsquo;ll track for the next year. Post to come.</p>]]></content:encoded>
    </item>
    <item>
      <title>Iterating towards the ideal documentation theme for WordPress</title>
      <link>https://danielbachhuber.com/iterating-towards-the-ideal-documentation-theme-for-wordpress/</link>
      <pubDate>Wed, 01 Jun 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/iterating-towards-the-ideal-documentation-theme-for-wordpress/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2011/06/01/iterating-towards-the-ideal-documentation-theme-for-wordpress/20110601techwebsitehome-1/&#34;&gt;&lt;img src=&#34;images/20110601techwebsitehome-11.jpg&#34; alt=&#34;&#34;  width=&#34;994&#34;&#xA;&#x9;height=&#34;455&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;A month or so ago, &lt;a href=&#34;http://www.journalism.cuny.edu/members/joe-filippazzo/&#34;&gt;Joe&lt;/a&gt; and I started working on a dedicated documentation theme for the J-School&amp;rsquo;s &lt;a href=&#34;http://tech.journalism.cuny.edu/&#34;&gt;Tech website&lt;/a&gt;. We&amp;rsquo;re calling it &lt;a href=&#34;https://github.com/cunyjschool/Documentation-Redux-theme&#34;&gt;Documentation Redux&lt;/a&gt;, and it&amp;rsquo;s currently at &lt;a href=&#34;https://github.com/cunyjschool/Documentation-Redux-theme/tree/0.3&#34;&gt;v0.3&lt;/a&gt;. Closer to v1.0, we&amp;rsquo;d like to generalize it and make it available for others to use. For now, I want to review where it&amp;rsquo;s at and articulate where we&amp;rsquo;re trying to go.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://danielbachhuber.com/2011/06/01/iterating-towards-the-ideal-documentation-theme-for-wordpress/20110601techwebsitehome-1/"><img src="images/20110601techwebsitehome-11.jpg" alt=""  width="994"
	height="455"  /></a></p>
<p>A month or so ago, <a href="http://www.journalism.cuny.edu/members/joe-filippazzo/">Joe</a> and I started working on a dedicated documentation theme for the J-School&rsquo;s <a href="http://tech.journalism.cuny.edu/">Tech website</a>. We&rsquo;re calling it <a href="https://github.com/cunyjschool/Documentation-Redux-theme">Documentation Redux</a>, and it&rsquo;s currently at <a href="https://github.com/cunyjschool/Documentation-Redux-theme/tree/0.3">v0.3</a>. Closer to v1.0, we&rsquo;d like to generalize it and make it available for others to use. For now, I want to review where it&rsquo;s at and articulate where we&rsquo;re trying to go.</p>
<p>Our goal for the website is simply to publish and make accessible as much knowledge as we can. For every support ticket possible, if a relevant explanation doesn&rsquo;t already exist, we want to make sure the answer is captured on the website first, and then just include the link to the documentation in our response. The theme will evolve with this goal in mind.</p>
<h3 id="homepage-as-the-primary-entry-point">Homepage as the primary entry point</h3>
<p><a href="http://danielbachhuber.com/2011/06/01/iterating-towards-the-ideal-documentation-theme-for-wordpress/20110601fulltechhomepage/"><img src="images/20110601fulltechhomepage1.jpg" alt=""  width="1025"
	height="924"  /></a></p>
<p>On the homepage, we make search, the dominant information retrieval paradigm, as prominent as possible. I&rsquo;ve <a href="http://danielbachhuber.com/2011/05/19/status-48/">implemented</a> Sphinx as the index utility, which means results are returned against a relevancy ranking instead of reverse chronological order (WordPress&rsquo; terrible default).</p>
<p>The primary content area is widgetized into two columns. Instead of manually updating HTML lists of links, any admin user can manage what shows up using widgets or menus.</p>
<p>In the right rail, we&rsquo;re showing the most recently <em>published</em> blog posts and the most recently <em>updated</em> pieces of documentation. This is our activity feed, per se. At the top, if a user doesn&rsquo;t find what they&rsquo;re looking for, they can always file a new support ticket.</p>
<p>Across the header, users can navigate content by any of the seven custom taxonomies we have: <a href="http://tech.journalism.cuny.edu/topics/">topics</a>, <a href="http://tech.journalism.cuny.edu/courses/">courses</a>, contexts, <a href="http://tech.journalism.cuny.edu/hardware/">hardware</a>, <a href="http://tech.journalism.cuny.edu/software/">software</a>, <a href="http://tech.journalism.cuny.edu/plugins/">WordPress plugins</a>, or <a href="http://tech.journalism.cuny.edu/themes/">WordPress themes</a>. All roads lead to Rome. The big idea is to have a bucket of structured content from which we can create new packages on the fly (<a href="http://danielbachhuber.com/2011/05/05/status-44/">related</a>). For instance, if we needed to create a cursory introduction to new professors, we could create a Context term called &ldquo;Incoming Faculty&rdquo;, associate all of the content we need, and email them a <a href="http://tech.journalism.cuny.edu/contexts/incoming-faculty/">link</a> they could bookmark, print, download as PDF, etc.</p>
<h3 id="taxonomy-term-views-bundle-discreet-pieces-of-content">Taxonomy term views bundle discreet pieces of content</h3>
<p><a href="http://danielbachhuber.com/2011/06/01/iterating-towards-the-ideal-documentation-theme-for-wordpress/20110601sampletermpage2/"><img src="images/20110601sampletermpage21.jpg" alt=""  width="986"
	height="788"  /></a></p>
<p>It&rsquo;s still a work in progress (look at <a href="http://tech.journalism.cuny.edu/software/wordpress/">WordPress</a> for an example). The challenge is fitting all of the pieces together on the fly. Ideally, a term landing page has a short introduction, a clear listing of the documentation available, relevant statuses, asides and standard posts from the blog, and names and avatars for the staff members who can help in a pinch.</p>
<p>Specifically for the last bit, we&rsquo;ve created a custom post type for staff. They can be associated with taxonomy terms just like posts and pieces of documentation. The problem we&rsquo;re trying to solve is students (and faculty and other staff) not knowing who to go to for questions on any given term. I&rsquo;ve lost count of how many times I&rsquo;ve been asked whether I know the answer to a question about Flash.</p>
<h3 id="what-the-future-could-bring">What the future could bring</h3>
<p>As with many projects, the list of features we want to add is just as long as what we&rsquo;ve already done. In particular, there are a few I&rsquo;d like to identify.</p>
<p><strong>Reminders about stale documentation.</strong> Each piece of documentation can have more than one maintainer thanks to Mo&rsquo;s nice <a href="http://wordpress.org/extend/plugins/co-authors-plus/">Co-Authors Plus</a>. Unfortunately, it&rsquo;s hard to keep track of what exactly is out of date when you have a large body of content to maintain. Either through a custom plugin or as a feature of the theme, it would be nice to have a post meta box where you could set a reminder date. On that date, it would send you an email and/or surface an interface nag to spend 5 minutes updating the piece of documentation.</p>
<p><strong>Auto-refresh search on the homepage.</strong> Much like <a href="http://www.google.com/instant/">Google Instant</a>, typing into the search box on the homepage would bring up results right away. As you typed, the results would dynamically refresh. <a href="http://help.37signals.com/basecamp">37signals</a> has this too on their documentation site and it&rsquo;s quite nice. Expanding this, if your query matches an existing taxonomy term, you&rsquo;d have a lightweight link to its landing page appear at the top of the results.</p>
<p><strong>Link database like delicious.</strong> We&rsquo;re trying to write as much documentation as we can, but we&rsquo;re not perfect. It would be great to incorporate external documentation and articles as links in our taxonomy term views, make them available in search, and offer multivariate filtering.</p>
<p><strong>&ldquo;Was this helpful?&rdquo; and other lightweight feedback prompts at the end of documentation.</strong> Capture user feedback on our content as unobtrusively as possible. Authors could A/B test different prompts to see which produce the most valuable input.</p>
<p><strong>Current and historical service issues.</strong> As would be expected, we manage a number of technical services with varying levels of reliability. When a service like the little voicemail indicator light goes down, users file support tickets at best and start calling people at worst. Our notification system now is an email to everyone at the start of the issue and another email when the issue is resolved. Ideally, we&rsquo;d appify all of this so users had a central place to go to if they suspected an issue, we notified affected users only as necessary, etc.</p>
<p>The last one might be a theme in itself, we&rsquo;ll see. Further ideas, suggestions, criticism or inspiration would be much appreciated.</p>]]></content:encoded>
    </item>
    <item>
      <title>Escape to Maine, Memorial Day weekend edition</title>
      <link>https://danielbachhuber.com/escape-to-maine-memorial-day-weekend-edition/</link>
      <pubDate>Tue, 31 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/escape-to-maine-memorial-day-weekend-edition/</guid>
      <description>&lt;p&gt;To get out of the city for Memorial Day weekend, &lt;a href=&#34;http://albertsun.info/&#34;&gt;Albert&lt;/a&gt; and I found cheap tickets (~$200/roundtrip) on JetBlue and flew up to Maine to meet up with &lt;a href=&#34;http://wpdavis.com/&#34;&gt;Will&lt;/a&gt; for three days of hiking. It was epic.&lt;/p&gt;&#xA;&lt;p&gt;Friday consisted of: getting leftover guacamole and chips from a lady at the airport restaurant, a &lt;a href=&#34;https://twitter.com/danielbachhuber/status/74298433703383040&#34;&gt;four&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/74300218283278336&#34;&gt;hour&lt;/a&gt; &lt;a href=&#34;https://twitter.com/danielbachhuber/status/74301200522158080&#34;&gt;flight&lt;/a&gt; delay including a &lt;a href=&#34;https://twitter.com/danielbachhuber/status/74315275738157056&#34;&gt;twenty-five airplane wait&lt;/a&gt; for the runway, 2 am &lt;a href=&#34;http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1557/&#34;&gt;tortellini pizza&lt;/a&gt; at &lt;a href=&#34;http://ottoportland.com/&#34;&gt;Otto&amp;rsquo;s&lt;/a&gt;, and arriving in Bangor, finally, at 4 am.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>To get out of the city for Memorial Day weekend, <a href="http://albertsun.info/">Albert</a> and I found cheap tickets (~$200/roundtrip) on JetBlue and flew up to Maine to meet up with <a href="http://wpdavis.com/">Will</a> for three days of hiking. It was epic.</p>
<p>Friday consisted of: getting leftover guacamole and chips from a lady at the airport restaurant, a <a href="https://twitter.com/danielbachhuber/status/74298433703383040">four</a> <a href="https://twitter.com/danielbachhuber/status/74300218283278336">hour</a> <a href="https://twitter.com/danielbachhuber/status/74301200522158080">flight</a> delay including a <a href="https://twitter.com/danielbachhuber/status/74315275738157056">twenty-five airplane wait</a> for the runway, 2 am <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1557/">tortellini pizza</a> at <a href="http://ottoportland.com/">Otto&rsquo;s</a>, and arriving in Bangor, finally, at 4 am.</p>
<p>After an early wake-up call Saturday morning (noon), Will, Albert, Will&rsquo;s girlfriend Elyse and I drove to the coast to hike Acadia. It was a <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1560/">cloudy day</a> unfortunately, but the hiking was great. Starting at the top of Cadillac Mountain, we <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1562/">dropped</a> down one side to <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1578/">Jordon Pond</a> and back up a sketchy Class 3 or 4 scramble with <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1595/">non-existent</a> protection. Finishing <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1597/">just as darkness fell</a>, we did about 8 miles and a couple thousand feet of vertical. For dinner and drinks, we went to <a href="http://www.geddys.com/">Geddy&rsquo;s</a> in Bar Harbor.</p>
<p>Sunday became our gorgeous rest and recuperate day. Albert and I rented mountain bikes (his a Cannondale and mine a <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1609/">$2,500 Santa Cruz</a>) and, with Will and Will&rsquo;s friend Andrew, rode through Bangor City Forest for a couple of hours. This include <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1606/">water</a> <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1608/">crossings</a> and a <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1610/">leech</a>. Afterwards, we drove to <a href="https://foursquare.com/venue/22242875">4 Points BBQ</a> for an early, incredibly filling dinner. I had <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1612/">spare ribs and beef brisket</a>, heavy on the Kansas City BBQ sauce.</p>
<p>For Memorial Day, our big goal was the summit of <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1643/">Mount Katahdin</a>, Maine&rsquo;s tallest mountain and one end of the Appalachian Trail. Waking up at 3 am to snag a parking slot (there ended up being plenty), we started hiking around 7 am, <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1624/">scrambled thousands of feet up Abol Slide</a>, and <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1629/">summited</a> just after 10 am. It was a lot windier than the forecast said. We took Hunt&rsquo;s Trail, another popular route, for our <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1637/">never</a> <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1638/">ending</a> sketchy scramble <a href="http://danielbachhuber.com/2011/05/31/escape-to-maine-memorial-day-weekend-edition/img_1639/">down</a> the mountain. I got back at 2 pm, Albert at 2:30 pm and Will and Andrew at 2:45 pm. In total, Katahdin was about 9 miles in length and around four thousand of elevation gain.</p>
<p>Three days of awesome.</p>
<p><img src="images/img_15571.jpg" alt="img_15571.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15581.jpg" alt="img_15581.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1559-e13068656694591.jpg" alt="img_1559-e13068656694591.jpg"  width="1793"
	height="2400"  />
<img src="images/img_1560-e13068651795061.jpg" alt="img_1560-e13068651795061.jpg"  width="1793"
	height="2400"  />
<img src="images/img_15611.jpg" alt="img_15611.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1562-e13068652362921.jpg" alt="img_1562-e13068652362921.jpg"  width="1793"
	height="2400"  />
<img src="images/img_1563-e13068652721231.jpg" alt="img_1563-e13068652721231.jpg"  width="1793"
	height="2400"  />
<img src="images/img_15641.jpg" alt="img_15641.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15701.jpg" alt="img_15701.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15781.jpg" alt="img_15781.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1580-e13068657926081.jpg" alt="img_1580-e13068657926081.jpg"  width="1793"
	height="2400"  />
<img src="images/img_15831.jpg" alt="img_15831.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1589-e13068654655101.jpg" alt="img_1589-e13068654655101.jpg"  width="1793"
	height="2400"  />
<img src="images/img_15931.jpg" alt="img_15931.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15941.jpg" alt="img_15941.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15951.jpg" alt="img_15951.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15971.jpg" alt="img_15971.jpg"  width="2400"
	height="1793"  />
<img src="images/img_15981.jpg" alt="img_15981.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16001.jpg" alt="img_16001.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16041.jpg" alt="img_16041.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16061.jpg" alt="img_16061.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16081.jpg" alt="img_16081.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16091.jpg" alt="img_16091.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16101.jpg" alt="img_16101.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1611-e13068650813731.jpg" alt="img_1611-e13068650813731.jpg"  width="1793"
	height="2400"  />
<img src="images/img_16121.jpg" alt="img_16121.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16131.jpg" alt="img_16131.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16141.jpg" alt="img_16141.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1616-e13068638206971.jpg" alt="img_1616-e13068638206971.jpg"  width="1793"
	height="2400"  />
<img src="images/img_16191.jpg" alt="img_16191.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16211.jpg" alt="img_16211.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16221.jpg" alt="img_16221.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16231.jpg" alt="img_16231.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16241.jpg" alt="img_16241.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16251.jpg" alt="img_16251.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16271.jpg" alt="img_16271.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16281.jpg" alt="img_16281.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16291.jpg" alt="img_16291.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16301.jpg" alt="img_16301.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16361.jpg" alt="img_16361.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16371.jpg" alt="img_16371.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16381.jpg" alt="img_16381.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16391.jpg" alt="img_16391.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16401.jpg" alt="img_16401.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16421.jpg" alt="img_16421.jpg"  width="2400"
	height="1793"  />
<img src="images/img_16431.jpg" alt="img_16431.jpg"  width="2400"
	height="1793"  />
<img src="images/img_1644-e13068659363061.jpg" alt="img_1644-e13068659363061.jpg"  width="1793"
	height="2400"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>iPhone home screen, 5/24/11</title>
      <link>https://danielbachhuber.com/iphone-home-screen-52411/</link>
      <pubDate>Tue, 24 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/iphone-home-screen-52411/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2011/05/20110524currenthomescreen1.png&#34;&gt;&lt;img src=&#34;images/20110524currenthomescreen1.png&#34; alt=&#34;&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;960&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Because &lt;a href=&#34;http://37signals.com/svn/posts/2913-the-home-screens-of-37signals&#34;&gt;37signals started it&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://danielbachhuber.com/wp-content/uploads/2011/05/20110524currenthomescreen1.png"><img src="images/20110524currenthomescreen1.png" alt=""  width="640"
	height="960"  /></a></p>
<p>Because <a href="http://37signals.com/svn/posts/2913-the-home-screens-of-37signals">37signals started it</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on journalists using Facebook</title>
      <link>https://danielbachhuber.com/thoughts-on-journalists-using-facebook/</link>
      <pubDate>Tue, 24 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-journalists-using-facebook/</guid>
      <description>&lt;p&gt;First, Brian Boyer &lt;a href=&#34;https://twitter.com/brianboyer/status/67919397926346752&#34;&gt;wrote&lt;/a&gt;: &amp;ldquo;Craigslist takes the classifieds, fool me once. Groupon takes the coupons, fool me twice. Good thing nobody else is selling display ads!&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Then, Nieman Journalism let Vadim Lavrusik publish essentially &lt;a href=&#34;http://www.niemanlab.org/2011/05/vadim-lavrusik-how-journalists-can-make-use-of-facebook-pages/&#34;&gt;marketing copy about how journalists can use Facebook&amp;rsquo;s Pages product&lt;/a&gt;. For free. In exchange for the ability to run ads against your content.&lt;/p&gt;&#xA;&lt;p&gt;To this, I said: &amp;ldquo;I&amp;rsquo;m sorry, but journalists getting in bed with Facebook is the mother of all bad ideas. See: &lt;a href=&#34;http://db.ly/103&#34;&gt;http://db.ly/103&lt;/a&gt; Shame on you &lt;a href=&#34;http://twitter.com/niemanlab&#34;&gt;@niemanlab&lt;/a&gt;&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>First, Brian Boyer <a href="https://twitter.com/brianboyer/status/67919397926346752">wrote</a>: &ldquo;Craigslist takes the classifieds, fool me once. Groupon takes the coupons, fool me twice. Good thing nobody else is selling display ads!&rdquo;</p>
<p>Then, Nieman Journalism let Vadim Lavrusik publish essentially <a href="http://www.niemanlab.org/2011/05/vadim-lavrusik-how-journalists-can-make-use-of-facebook-pages/">marketing copy about how journalists can use Facebook&rsquo;s Pages product</a>. For free. In exchange for the ability to run ads against your content.</p>
<p>To this, I said: &ldquo;I&rsquo;m sorry, but journalists getting in bed with Facebook is the mother of all bad ideas. See: <a href="http://db.ly/103">http://db.ly/103</a> Shame on you <a href="http://twitter.com/niemanlab">@niemanlab</a>&rdquo;</p>
<p><a href="https://twitter.com/danielbachhuber/status/68742230260719616">And</a>: &ldquo;Newspapers sell display ads, last I checked. Facebook has a many billion $ valuation from its display ad biz. Therefore = ?&rdquo;</p>
<p><a href="https://twitter.com/danielbachhuber/status/68742748156592128">And</a>: &ldquo;&lsquo;Here&rsquo;s the problem: journalists just don&rsquo;t understand their business.&rsquo; I couldn&rsquo;t have said it better myself.&rdquo;</p>
<p><a href="https://twitter.com/danielbachhuber/status/68743295051907073">And</a>: &ldquo;Yo journos: How much cash will Facebook give you when it goes public with a $50+ billion valuation? My bet: a lot less than Arianna did.&rdquo;</p>
<p>Now Paul Bradshaw, a prominent journo-blogger in the UK, has <a href="http://www.facebook.com/permalink.php?story_fbid=219989178030754&amp;id=219137641449241">decided</a> to use Facebook&rsquo;s Notes product exclusively for a month. Vadim, under the Facebook for Journalists moniker, <a href="https://www.facebook.com/journalist/posts/186227168093340">explains</a>:</p>
<blockquote>
<p>But to answer your question, you should reference the terms. You own your content. Facebook gets a license so that we can put ads next to it. Not dissimilar from other companies.</p></blockquote>
<p>Ah, referencing ever-changing terms of service. If you aren&rsquo;t the customer, you&rsquo;re the product. Writing these points out on territory I control so I can point to it later.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Subverting newsroom culture</title>
      <link>https://danielbachhuber.com/subverting-newsroom-culture/</link>
      <pubDate>Mon, 23 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/subverting-newsroom-culture/</guid>
      <description>&lt;p&gt;One of the partially useful things the Knight-Mozilla challenge has done thus far is &lt;a href=&#34;https://lists.mozilla.org/listinfo/community-mojo&#34;&gt;start a list serv&lt;/a&gt; where the bulk of the conversation focuses on legacy culture and technology, and how to change them. Obviously, the context is supposed to be &lt;a href=&#34;https://drumbeat.org/en-US/challenges/unlocking-video/&#34;&gt;one&lt;/a&gt; &lt;a href=&#34;https://drumbeat.org/en-US/challenges/beyond-comment-threads/&#34;&gt;of&lt;/a&gt; &lt;a href=&#34;https://drumbeat.org/en-US/challenges/open-webs-killer-app/&#34;&gt;three&lt;/a&gt; challenges. In the course of addressing those questions, I think valuable background knowledge is introduced (and I wish I could link to individual emails).&lt;/p&gt;&#xA;&lt;p&gt;Last week, I said:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I think I&amp;rsquo;ve solved journalism. Based on my experience as a newsroom &amp;amp; J-School developer who&amp;rsquo;s had repeat experience with crappy vendor software, this Knight-Mozilla challenge needs to do to crappy CMSes &amp;amp; support ticketing software what Google Chrome Frame has done to IE6,7,8. We must subvert corporate IT like nobody&amp;rsquo;s business.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of the partially useful things the Knight-Mozilla challenge has done thus far is <a href="https://lists.mozilla.org/listinfo/community-mojo">start a list serv</a> where the bulk of the conversation focuses on legacy culture and technology, and how to change them. Obviously, the context is supposed to be <a href="https://drumbeat.org/en-US/challenges/unlocking-video/">one</a> <a href="https://drumbeat.org/en-US/challenges/beyond-comment-threads/">of</a> <a href="https://drumbeat.org/en-US/challenges/open-webs-killer-app/">three</a> challenges. In the course of addressing those questions, I think valuable background knowledge is introduced (and I wish I could link to individual emails).</p>
<p>Last week, I said:</p>
<blockquote>
<p>I think I&rsquo;ve solved journalism. Based on my experience as a newsroom &amp; J-School developer who&rsquo;s had repeat experience with crappy vendor software, this Knight-Mozilla challenge needs to do to crappy CMSes &amp; support ticketing software what Google Chrome Frame has done to IE6,7,8. We must subvert corporate IT like nobody&rsquo;s business.</p></blockquote>
<p>Initially a semi-sarcastic remark, this comment started an off-list conversation that I&rsquo;d like to bring public again, at least on my side. I do believe ground-up subversion can be an effective way of getting things improved when legacy culture presents such a formidable challenge. Here are a few things we&rsquo;re doing at the J-School:</p>
<p><strong>One:</strong> Everyone that works with me on a project has to use Basecamp. Email is not a collaboration tool, nor is it a project management tool. If a new collaborator haven&rsquo;t used Basecamp, I give them a short introduction during the kick-off meeting and follow up with <a href="http://tech.journalism.cuny.edu/2010/08/04/why-basecamp/">written documentation</a>. I&rsquo;ve had almost 100% success in shifting project conversations to Basecamp, but only about 50% success with getting people to check off tasks and milestones. Baby steps. The rest of IT has more or less adopted it, and there are a few people who have expressed using Basecamp in other contexts. Most of the core faculty have accounts now too. A summer goal is to introduce ways in which they can use it for fall courses.</p>
<p><strong>Two:</strong> We&rsquo;re writing <a href="http://tech.journalism.cuny.edu/documentation/">documentation for everything</a>. Use of new technology is dropped if the user gets frustrated with it, or forgets or doesn&rsquo;t know how to use certain pieces of it. As such, we&rsquo;re trying to prepare a piece of documentation for every support ticket we handle. Users should be empowered to learn for themselves. Technologists&rsquo; roles should focus on creating environments where experimentation by non-technologists is easy.</p>
<p><strong>Three:</strong> Support requests are funneled through our (<a href="http://www.webhelpdesk.com/">terrible</a>) help desk software. If a user needs help, the current culture is either to email or go try and find the person they think can help them. I can&rsquo;t even tell you how many questions I&rsquo;ve gotten about Flash because I&rsquo;m the &ldquo;internet guy.&rdquo; And I&rsquo;m still reminding three or more people per day to file a support request instead of interrupting me while I&rsquo;m in the zone. We&rsquo;ll be a lot more effective at answering questions if we can instill a new culture that leverages technology to find people and resources (e.g. &ldquo;go to Russell instead of me for Flash questions&rdquo; and &ldquo;the answer to your question is <a href="http://tech.journalism.cuny.edu/documentation/change-byline/">available on the tech website</a>&rdquo;)</p>
<p><strong>Four:</strong> I&rsquo;m pushing for more accountability. Use of project management software like Basecamp and collaboratively creating meeting notes in Google Docs are two ways of ensuring everything is written down. The sheer number of things that simply aren&rsquo;t done because of miscommunication, poor planning, or lack of accountability has surprised me significantly.</p>
<p>When I use the word &ldquo;subversive&rdquo; in this context, I really mean &ldquo;just do it. Have a vision for what you want your future to be, and hack the people and technology systems necessary to make it a reality. Pad next year&rsquo;s budget by 10% so you can hire the contractor you need for that neat, untested idea. You don&rsquo;t need anyone&rsquo;s approval.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Workshop: Advanced WordPress with NYU&#39;s Studio20, 5/8/11</title>
      <link>https://danielbachhuber.com/workshop-advanced-wordpress-with-nyus-studio20-5811/</link>
      <pubDate>Thu, 12 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/workshop-advanced-wordpress-with-nyus-studio20-5811/</guid>
      <description>&lt;p&gt;On Sunday, Zach Seward invited me to cover advanced WordPress topics with students in Jay Rosen&amp;rsquo;s Studio20 class. For the past year I believe, they&amp;rsquo;ve had on-going, optional Sunday afternoon workshops on a variety of topics, including &lt;a href=&#34;http://www.shhhaw.com/2011/03/building-micro-web-apps-in-ruby-at-nyu-studio-20.php&#34;&gt;building web apps with Ruby and Sinatra&lt;/a&gt;. The workshops are intended to be a 4 hour introduction to a concept or tool, and started after students complained they weren&amp;rsquo;t being exposed to as many tools given the format of Studio20&amp;rsquo;s program. I&amp;rsquo;ll review what we did, what I took away from it, and add our notes to the bottom.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Sunday, Zach Seward invited me to cover advanced WordPress topics with students in Jay Rosen&rsquo;s Studio20 class. For the past year I believe, they&rsquo;ve had on-going, optional Sunday afternoon workshops on a variety of topics, including <a href="http://www.shhhaw.com/2011/03/building-micro-web-apps-in-ruby-at-nyu-studio-20.php">building web apps with Ruby and Sinatra</a>. The workshops are intended to be a 4 hour introduction to a concept or tool, and started after students complained they weren&rsquo;t being exposed to as many tools given the format of Studio20&rsquo;s program. I&rsquo;ll review what we did, what I took away from it, and add our notes to the bottom.</p>
<p>Understandably, given the weather and the fact that the students had 6 pm project deadlines, only 4 students showed up. This ended up to our advantage, as I was able to spend much more time talking them through their individual websites. 3 students already had self-hosted WordPress websites, although one had technical difficulties. The last student had a WordPress.com website.</p>
<p>For planning, I spent around 45 minutes outlining about 6 hours of teaching material. I knew the workshop would be largely free-form, and I wanted to give students the flexibility to set their priorities. This worked well in my opinion. They all were working on personal websites, and wanted to spend the majority of their time on improving their themes.</p>
<p>We spent 1:10 on an introduction to how WordPress works as an application (including foundational concepts like programming languages vs. markup languages, and what a database is), theming paradigm, and how to make non-destructive CSS changes with Firebug and WordPress.com custom CSS. I focused on non-destructive CSS changes first, because I think a majority of the changes they want can be made this way and it will save them significant hassle in the long term.</p>
<p>We then spent the last two hours on modifying PHP files, why you should use a development environment, and the importance of using child themes when you&rsquo;re making improvements to someone else&rsquo;s theme. This was more tell than do, which means we covered more material but I don&rsquo;t know that it&rsquo;s going to stick as well. We hit a point where students said thought they knew it, but wouldn&rsquo;t be able to know until they applied it. Need more opportunities to apply intermediate tests in class.</p>
<p>Learning slowed after three hours into the workshop. In an education future, being able to see when students are hitting the wall of too much information would be useful. Also, proactively planning class length based on said wall.</p>
<p>According to Zach, because so many students are using WordPress (including for their <a href="http://explainer.net/">Explainer.net project</a>), it would&rsquo;ve been useful to fit it in earlier in their educational schedule. What worked:</p>
<ul>
<li>Firebug was practical knowledge.</li>
<li>Using one of the sites as the example for topics we covered.</li>
</ul>
<p>What needs improvement next time:</p>
<ul>
<li>Version control explanation because students couldn&rsquo;t easily apply the knowledge. Wikipedia and the Custom CSS plugin were good examples but not that memorable for some reason. Probably because version control isn&rsquo;t really visible in the real world; time always goes in one direction.</li>
<li>Proactively identify class requirements beforehand. One student couldn&rsquo;t easily access his webhost and thus couldn&rsquo;t follow along with his own website.</li>
<li>Review basics of what plugins do and why. Missed this entirely.</li>
<li>Continue thinking about how note taking can be more of a <a href="http://snarkmarket.com/2009/4056">generative</a> exercise. They added notes, but mostly at the bottom out of context and they weren&rsquo;t that expressive or complete.</li>
</ul>
<p>Forgot to do the post-workshop survey&hellip; next time.</p>
<h3 id="introduction-20-minutes">Introduction (~20 minutes)</h3>
<p>Who I am:</p>
<ul>
<li>Daniel Bachhuber, digital media manager at the CUNY Graduate School of Journalism</li>
<li>@<a href="http://twitter.com/danielbachhuber">danielbachhuber</a> on Twitter, and <a href="http://danielbachhuber.com/">danielbachhuber.com</a></li>
<li>It’s a beautiful day outside - yes it is</li>
</ul>
<p>What projects are you guys working on and/or what do you want to learn how to do?</p>
<ul>
<li>A few personal websites</li>
</ul>
<p>Topics we could cover today</p>
<ul>
<li>Introduction (~20 minutes)</li>
<li>Neat things you can do with WordPress (~1 hour)</li>
<li>Plugins and plugin architecture (~1 hour)</li>
<li>Themes and theme architecture (~2 hours)</li>
<li>Daniel’s toolkit and workflow (~30 minutes)</li>
</ul>
<h3 id="neat-things-you-can-do-with-wordpress-1-hour">Neat things you can do with WordPress (~1 hour)</h3>
<h4 id="custom-taxonomies">Custom taxonomies</h4>
<p>Sort your content in ways other than categories and tags</p>
<p>Example: <a href="http://nycitynewsservice.com/">NY City News Service</a></p>
<p>Two parts: registering your new taxonomy, and showing the tags on the page template</p>
<h4 id="custom-post-types">Custom post types</h4>
<p>Create content types other than a “post” or “page”, and capture structured data around that</p>
<p>Examples: CUNY J-School events and database of databases</p>
<p>Idea: database of startup companies on Betabeat. What data might you want to capture?</p>
<h3 id="plugins-and-plugin-architecture-1-hour">Plugins and plugin architecture (~1 hour)</h3>
<h4 id="what-are-wordpress-plugins">What are WordPress plugins?</h4>
<p>Definition:</p>
<p><a href="http://danielbachhuber.com/2011/04/13/plugins-for-publishers-april-2011-edition/">Plugins you might consider</a>:</p>
<ul>
<li>WordPress.com Custom CSS – Use your own CSS to tweak your website without modifying your theme’s files. Includes a revision history so you can always backtrack to prior versions. This is a feature WordPress.com charges $14.97/year for and has saved the J-School significant pain.</li>
<li>Co-Authors Plus – Assign multiple bylines to an article. You’ll need to edit your theme templates too for the multiple bylines to appear.</li>
<li>After the Deadline – Spelling, style, and grammar checker powered by artificial intelligence. Catches misused words, passive voice, and cliches.</li>
<li>Edit Flow – Move your editorial workflow into WordPress with custom post statuses, editorial comments, and calendar and story budget views.</li>
<li>JSON API – For the programmatically-inclined, access all of your content through a JSON API. Useful for pulling content into your website with jQuery.</li>
<li>Subscribe to Comments – Allow commenters to subscribe to email notifications on threads they’ve commented on. Increase repeat visitors and engagement.</li>
<li>Emphasis – Paragraph- and sentence-level linking and highlighting. Originally developed for nytimes.com, Michael Donohoe open-sourced the code and Ben Balter made it into a WordPress plugin. Every website should have emphasis.</li>
</ul>
<h3 id="themes-and-theme-architecture-2-hours">Themes and theme architecture (~2 hours)</h3>
<h4 id="what-are-wordpress-themes">What are WordPress themes?</h4>
<p>Definition: Abstraction of presentation from the content/data Charactistics:</p>
<ul>
<li>Installable</li>
<li>Customizable (sometimes custom designs are really cool, aka cooler than what you can get for free)</li>
<li>Work in different ways. Some themes have widgets in the sidebar</li>
<li>Designed for different purposes: portfolios, blogs, news sites</li>
</ul>
<p>Review file structure:</p>
<p><a href="http://codex.wordpress.org/Templates">All of WordPress.org’s documentations on themes</a></p>
<p>Install WordPress on your computer: <a href="http://codex.wordpress.org/Installing_WordPress#Easy_5_Minute_WordPress_Installation_on_Windows">http://codex.wordpress.org/Installing_WordPress#Easy_5_Minute_WordPress_Installation_on_Windows</a></p>
<h4 id="best-practices-for-making-theme-changes">Best practices for making theme changes</h4>
<p>Use <a href="http://getfirebug.com/">Firebug</a> to preview the CSS changes on your live site before committing them</p>
<ul>
<li>Upgrade to Firefox 4.0 and install Firebug</li>
<li>Demo of how Firebug works</li>
</ul>
<p>Install WordPress.com Custom CSS plugin to non-destructively add CSS to your website without modifying the theme files</p>
<ul>
<li>If you modify your theme files, it’s more difficult to go back after you’ve screwed up or upgrade when there’s a new version of the theme</li>
<li>Make sure you test it in multiple browsers. There are tools to help you do this</li>
</ul>
<p>Child themes: If you need to create/modify the PHP in the template files, you should first consider a child theme</p>
<ul>
<li>Child themes allow you to create a separate theme that only has the files you need to modify</li>
<li><a href="http://codex.wordpress.org/Child_Themes">http://codex.wordpress.org/Child_Themes</a></li>
<li>Do your work in a sandbox, not on your live site</li>
</ul>
<p>Version control keeps your changes sane</p>
<ul>
<li>Metaphor: Wikipedia history page</li>
<li>Debugging WordPress: <a href="http://andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/">http://andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/</a></li>
<li>Two options are generally Subversion and Git</li>
</ul>
<p><a href="http://bitbucketlabs.net/flashbake/">http://bitbucketlabs.net/flashbake/</a></p>
<p>Debug feature - turn off for production site - in wp-config.php: - wp-debug, true: define(‘WP_DEBUG’, ‘’); - after WP - shows you error</p>
<h3 id="daniels-toolkit-and-workflow-30-minutes">Daniel’s toolkit and workflow (~30 minutes)</h3>
<p><a href="http://danielbachhuber.com/2011/01/14/software-i-use-january-2011-edition/">Software I use, January 2011 edition</a></p>
<p>Project management tools:</p>
<ul>
<li>Pivotal Tracker</li>
<li>Basecamp</li>
<li>Remember The Milk</li>
</ul>
<p>Bug-tracking tools:</p>
<ul>
<li>GitHub issues</li>
<li><a href="http://www.redmine.org/">Redmine</a> (Example: <a href="http://redmine.gc.cuny.edu/projects/show/cunyac">CUNY Academic Commons</a>)</li>
</ul>
<p>Google Docs for writing down everything</p>
<p>Erin’s Notes Template tags: <a href="http://codex.wordpress.org/Template_Tags">http://codex.wordpress.org/Template_Tags</a></p>
<p>get_header: getting the data and info within the header.php file</p>
<p>When you want to figure out why something is happening the way it is, consult: <a href="http://codex.wordpress.org/Template_Hierarchy">http://codex.wordpress.org/Template_Hierarchy</a></p>
<p>How to edit theme files without damaging the theme</p>
<p>dom: document object model</p>
<p>download firebug</p>
<p>plugin: <a href="http://wordpress.com/">wordpress.com</a> customcss use this when changing theme templates, see above bold note.</p>
<p>making changes in firebug, when you decided you want it, you can save it with the custom css plugin. copy and paste it in there.</p>
<p>wp-config: for self-hosting. instructions on how wordpress should be run.</p>
<p>version control; super history: can go back to previous versions. saves a log of changes. as you’re making CSS changes, use this.</p>
<p>brush up on CSS <a href="http://csszengarden.com/">http://csszengarden.com/</a></p>
<p>draw out what you want. wireframes and color palette. identify functional elements. do you want a gallery? or slider? <a href="http://wordpress.org/">wordpress.org</a> directory woo themes. some for free. graph paper press studio press pick a theme (functional and design) might be new fonts, color scheme. sidebars with background? make a list of the things you want for the theme. see how much you can do with CSS</p>
<p>editing themes: don’t edit themes with your live site.</p>
<p>github: social network for coding. logs your changes to your projects. follow other projects</p>
<p>child theme: inherits the qualities of the parent theme except for the new qualities you want. create a new directory within the theme. wp-content themes child theme needs to have one thing. style.css file has to have a reference to the original theme.</p>
<p>template directive will tell you that it’s a child theme. check <a href="http://wordpress.org/">wordpress.org</a> for these directives.</p>
<p>development environment or sandbox.</p>
<p>google: mamp wordpress</p>
<p>site: <a href="http://wordpress.org/">wordpress.org</a> “keywords to search”</p>
<p><a href="http://wordpress.com/extend/plugins">wordpress.org/extend/plugins</a></p>
<p>Setting up WP multisite: <a href="http://codex.wordpress.org/Create_A_Network">http://codex.wordpress.org/Create_A_Network</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Trail report: Catskill Escarpment Loop, 5/7/11</title>
      <link>https://danielbachhuber.com/trail-report-catskill-escarpment-loop-5711/</link>
      <pubDate>Mon, 09 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/trail-report-catskill-escarpment-loop-5711/</guid>
      <description>&lt;p&gt;On Saturday, Michelle, &lt;a href=&#34;http://zachseward.com/&#34;&gt;Zach&lt;/a&gt;, &lt;a href=&#34;https://twitter.com/adrjeffries&#34;&gt;Adrianne&lt;/a&gt;, Adrianne&amp;rsquo;s friend Tim, and I drove out of the city to go for a hike (originally &lt;a href=&#34;http://www.nynjtc.org/hike/schunemunk-mountain-dark-hollow-jessup-trails&#34;&gt;Schunemunk Mountain&lt;/a&gt; but ultimately &lt;a href=&#34;http://www.nynjtc.org/hike/catskill-escarpment-trail&#34;&gt;Catskill Escarpment Loop&lt;/a&gt;). It ended up quite the adventure.&lt;/p&gt;&#xA;&lt;p&gt;First, we lost 40 minutes when the New Jersey vortex mixed up my knowledge of north vs. south. The former is the direction we wanted to go, the latter is the direction we went.&lt;/p&gt;&#xA;&lt;p&gt;After we turned ourselves around, we drove two and a half hours and overshot our &lt;a href=&#34;http://www.nynjtc.org/hike/schunemunk-mountain-dark-hollow-jessup-trails&#34;&gt;original trailhead&lt;/a&gt; by 50 miles. Yes, that&amp;rsquo;s correct: we landed an entire hour past where we wanted to be. This is uncommon of my navigation skills, but I&amp;rsquo;ll attribute it to both my and my navigator&amp;rsquo;s lack of sleep.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Saturday, Michelle, <a href="http://zachseward.com/">Zach</a>, <a href="https://twitter.com/adrjeffries">Adrianne</a>, Adrianne&rsquo;s friend Tim, and I drove out of the city to go for a hike (originally <a href="http://www.nynjtc.org/hike/schunemunk-mountain-dark-hollow-jessup-trails">Schunemunk Mountain</a> but ultimately <a href="http://www.nynjtc.org/hike/catskill-escarpment-trail">Catskill Escarpment Loop</a>). It ended up quite the adventure.</p>
<p>First, we lost 40 minutes when the New Jersey vortex mixed up my knowledge of north vs. south. The former is the direction we wanted to go, the latter is the direction we went.</p>
<p>After we turned ourselves around, we drove two and a half hours and overshot our <a href="http://www.nynjtc.org/hike/schunemunk-mountain-dark-hollow-jessup-trails">original trailhead</a> by 50 miles. Yes, that&rsquo;s correct: we landed an entire hour past where we wanted to be. This is uncommon of my navigation skills, but I&rsquo;ll attribute it to both my and my navigator&rsquo;s lack of sleep.</p>
<p>Oh yeah: it poured the entire drive too, and Zach was the only one to remember his rain jacket.</p>
<p>Thanks to the <a href="http://nynjtc.org/">NY-NJ Trail Conference website</a>, we searched based on our new location and found a <a href="http://www.nynjtc.org/hike/catskill-escarpment-trail">great trailhead</a> ten miles away. The skies cleared in a perfect circle over the mountain.</p>
<p>The hike itself meandered through the woods until it hit a series of wonderful overlooks. Likely my favorite thing about the NE&rsquo;s outdoors are the majestic deciduous trees. In the late afternoon sunlight, ribbons of color graced forests running from the valley up the opposite hillside. It was a short experience for the time we drove, but a great escape from the city.</p>
<p>One more story. Three minutes prior to parking at the trailhead, the empty light went on. Based on my past experience, I knew I could get another 30 to 40 miles on the tank, and it wouldn&rsquo;t be too big of a deal to find a gas station on the way back to fill up. After the hike, Michelle asked to stop at a country store nearby for &ldquo;old-fashioned&rdquo; ice cream. We do, and unfortunately they&rsquo;re not stocking it yet. Back to New York City we go.</p>
<p>The car won&rsquo;t start.</p>
<p>Not only that, the starter won&rsquo;t turn over. There are two possibilities I can think of. One, we&rsquo;re so close to being out of gas that the car has a fancy electronic kill switch to keep you from running the battery down (unlikely but possible). Two, there&rsquo;s some other random, unknown problem with the car and we&rsquo;re completely out of luck. Given the prior adventures of the day, I suspected the latter.</p>
<p>As it turned out, a half hour later, after calling Zipcar&rsquo;s excellent customer service, reorienting the car and trying to start it repeatedly, and pulling the shop owner and his friend in the mix, it was user error. The electronic access pad you use with your Zipcard can enable <em>and</em> disable the car&rsquo;s ignition. When I showed Tim how you access the car after leaving the country story, I inadvertently disabled the car. Zipcars don&rsquo;t start when they&rsquo;re disabled, and they do start when they&rsquo;re enabled. Simply scanning my Zipcard again solved the problem. Oh, technology.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Emerald relaunches on WordPress</title>
      <link>https://danielbachhuber.com/daily-emerald-relaunches-on-wordpress/</link>
      <pubDate>Mon, 02 May 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/daily-emerald-relaunches-on-wordpress/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://dailyemerald.com/&#34;&gt;&lt;img src=&#34;images/20110502dailyemeraldmast1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;145&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mad props to &lt;a href=&#34;http://www.ivarvong.com/&#34;&gt;Ivar Vong&lt;/a&gt; and the rest of his team who finally pulled it off. &lt;a href=&#34;http://www.dailyemerald.com/2011/04/26/switching-from-collegepublisher-to-wordpress/&#34;&gt;They did the switch to &amp;ldquo;web-first&amp;rdquo; too&lt;/a&gt;. It&amp;rsquo;s been a &lt;a href=&#34;http://danielbachhuber.com/2008/08/09/one-case-against-college-publisher/&#34;&gt;long time in the making&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://dailyemerald.com/"><img src="images/20110502dailyemeraldmast1.jpg" alt=""  width="600"
	height="145"  /></a></p>
<p>Mad props to <a href="http://www.ivarvong.com/">Ivar Vong</a> and the rest of his team who finally pulled it off. <a href="http://www.dailyemerald.com/2011/04/26/switching-from-collegepublisher-to-wordpress/">They did the switch to &ldquo;web-first&rdquo; too</a>. It&rsquo;s been a <a href="http://danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">long time in the making</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BCNI Philly: Advanced WordPress development</title>
      <link>https://danielbachhuber.com/bcni-philly-advanced-wordpress-development/</link>
      <pubDate>Sat, 30 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bcni-philly-advanced-wordpress-development/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://andrewnacin.com/&#34;&gt;Andrew Nacin&lt;/a&gt; and &lt;a href=&#34;http://twitter.com/lavallee&#34;&gt;Marc Lavallee&lt;/a&gt; led a 2 pm session on advanced WordPress development. It was mostly a free-form conversation about the use of WordPress in newsrooms.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://andrewnacin.com/">Andrew Nacin</a> and <a href="http://twitter.com/lavallee">Marc Lavallee</a> led a 2 pm session on advanced WordPress development. It was mostly a free-form conversation about the use of WordPress in newsrooms.</p>
<p>Will Mitchell says the biggest thing he has to grapple at the Washington City Paper with is custom metadata. For instance, stories often have multiple authors who need to be attributed in different ways. They want to persist this data both to keep it structurally sound and for presentation purposes. WordPress is restrictive currently because it doesn&rsquo;t handle data outside the schema out of the box. Also for the things WordPress doesn&rsquo;t work well for, he needs to establish the best way to interface an external application with WordPress.</p>
<p><a href="http://wordpress.org/extend/plugins/json-api/">JSON API</a> is an awesome plugin for getting data in and out of WordPress. Makes it much easier to use WordPress as parts of larger contexts. The plugin was originally written at the Museum of Modern Art for a blog served with Ruby on Rails. They made a decision to use RoR&rsquo;s templating system for the frontend and WordPress&rsquo; admin for the backend.</p>
<p>Sweet: learned it&rsquo;s already possible to associate custom taxonomies with users and other non-post objects. You just need to build the admin interfaces.</p>
<p>Will Davis talked about how he&rsquo;s customizing WordPress for the Bangor Daily News, particularly the admin.</p>
<p>Question: What&rsquo;s the state of the art as it comes to search?</p>
<p>Lavallee says NPR spent a fair bit of time thinking about it for the Argo Project. They came to the conclusion they didn&rsquo;t need to worry about it until the traffic was there. They still haven&rsquo;t done anything to modify WordPress&rsquo; core search.</p>
<p>I mentioned <a href="http://indextank.com/">IndexTank</a> as a search-as-a-service option. Mitchell wants &ldquo;SearchPress&rdquo;, or a search utility that&rsquo;s easy to install as WordPress. Google Custom Search doesn&rsquo;t work for me for a couple reasons: it drops pages randomly from the index and doesn&rsquo;t offer faceting. Also, it&rsquo;s not possible to tweak the relevancy algorithms.</p>
<p><a href="https://github.com/danielbachhuber/Unfiltered-HTML">Unfiltered HTML</a> is a WordPress MU plugin I wrote to disable the KSEs filter. It allows users to include potentially unsafe Javascript and iframes. <a href="http://wordpress.org/extend/plugins/embedly/">Embed.ly</a> is also pretty damn cool. Embedding rich media from 160+ sources is as easy as copy and pasting a link to the resource, like this one:</p>
<p><a href="http://www.slideshare.net/andrewnacin/best-practices-in-plugin-development-wordcamp-seattle">http://www.slideshare.net/andrewnacin/best-practices-in-plugin-development-wordcamp-seattle</a></p>]]></content:encoded>
    </item>
    <item>
      <title>BCNI Philly: Creating thriving communities where your readers are happy</title>
      <link>https://danielbachhuber.com/bcni-philly-creating-thriving-communities-where-your-readers-are-happy/</link>
      <pubDate>Sat, 30 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bcni-philly-creating-thriving-communities-where-your-readers-are-happy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://andrewspittle.net/&#34;&gt;Andrew Spittle&lt;/a&gt; and &lt;a href=&#34;http://andrewnacin.com/&#34;&gt;Andrew Nacin&lt;/a&gt; led a 1 pm session on lessons to be learned from developing software. Both worked on their college newspapers. Spittle now works for WordPress.com, a service offered by Automattic, and Nacin works on WordPress.org, an open-source software project. Two different types of communities involved: centralized and decentralized.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://andrewspittle.net/">Andrew Spittle</a> and <a href="http://andrewnacin.com/">Andrew Nacin</a> led a 1 pm session on lessons to be learned from developing software. Both worked on their college newspapers. Spittle now works for WordPress.com, a service offered by Automattic, and Nacin works on WordPress.org, an open-source software project. Two different types of communities involved: centralized and decentralized.</p>
<p>WordPress.com offers 24/7 support via email to anyone who signs up for a blog. Automattic views customer support as essential to building a community. Happiness leads directly to using the product more.</p>
<p>Few ways of getting feedback from your community:</p>
<ul>
<li>focus group</li>
<li>usability testing</li>
<li>going to events to hear what people are thinking</li>
</ul>
<p>Nacin: &ldquo;The vocal minority is a bad thing in many cases.&rdquo; You shouldn&rsquo;t allow them to guide the course of the community.</p>
<p>Google recently launched a feature in search that supports recipe metadata from publishers. WordPress.com saw an uptick in support tickets from food bloggers requesting the feature to be added.</p>
<p>If you&rsquo;re building a community, you need to think about the needs of each facet. Designing for a monolithic majority leads to poor results.</p>
<p>&ldquo;If I was a fresh reader to The New York Times and wanted to start following stories on X topic, where would I start?&rdquo; asks Spittle. WordPress.com has an email address anyone can email to and receive a response. Nacin argues against email as a way collecting feedback because it&rsquo;s unstructured and most news organizations don&rsquo;t have the support staff to respond quickly.</p>
<p>Setting expectations with your community if you want to build a relationship with them is very important, explains Spittle. If you offer an email address anyone can send to, the expectation is that the community member will receive a response.</p>
<p>According to Nacin, &ldquo;if you want a thriving community, it comes down to engagement. If you aren&rsquo;t willing, don&rsquo;t bother.&rdquo;</p>
<p>Blogsmith, a blogging tool used internally by Aol, has a terrible commenting system. Engadget, controversially internally, switched to <a href="http://disqus.com/">Disqus</a> and saw the quality of engagement go up significantly.</p>
<p>Pivoting to a conversation about user experience lessons we can take from software development and apply to news websites. Nacin reflexively types in nytimes.com every time he opens a new tab. Ideally, this is the attitude of every reader. You want to be the homepage.</p>
<p>Question: How can news organizations shift from publishing information to inform, to publishing information to be used?</p>
<p>Nacin: &ldquo;Readers should be more than visitors.&rdquo; We need to think of more compelling reasons for them to stick around. Facebook centers the user experience around the user. Personalized recommendations increase relevancy. What if the headlines on nytimes.com were determined based on your past reading history?</p>
<p>Lastly, when you&rsquo;re tracking data, you should define what &ldquo;success&rdquo; is beforehand. It&rsquo;s much easier to figure out when you&rsquo;ve hit it.</p>]]></content:encoded>
    </item>
    <item>
      <title>BCNI Philly: GitHub for news</title>
      <link>https://danielbachhuber.com/bcni-philly-github-for-news/</link>
      <pubDate>Sat, 30 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bcni-philly-github-for-news/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://greglinch.com/&#34;&gt;Greg Linch&lt;/a&gt; led a 3 pm session in room 4 on applying GitHub (and Git) to news. Andrew Spittle and I collaborated on live Google Doc notes. &lt;a href=&#34;http://www.greglinch.com/2010/07/quick-thoughts-on-journalism-and-version-control.html&#34;&gt;Here’s Greg’s previous blog post on the topic&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://greglinch.com/">Greg Linch</a> led a 3 pm session in room 4 on applying GitHub (and Git) to news. Andrew Spittle and I collaborated on live Google Doc notes. <a href="http://www.greglinch.com/2010/07/quick-thoughts-on-journalism-and-version-control.html">Here’s Greg’s previous blog post on the topic</a>.</p>
<p><a href="http://github.com/">GitHub</a> is a social coding site. You can host your code in a repository, fork others’ code, merge others’ code back into yours, and get social. GitHub has one of the best interfaces for accessing various facets of a code project.</p>
<p>Version control is similar to Wikipedia in that you can see all of the changes that have been made. Seeing revision history in Wikipedia makes the text, and people contributing text, more trustworthy.</p>
<p>“Version control is your safety blanket.” If your screw something up, you can easily revert back to a previous version and recover the content.</p>
<p>Greg presented a few ideas for Git in a news setting. It would be tied into your CMS, have a  simple interface, and not necessarily rely upon code knowledge to use. This opens it up to non-coders as contributors.</p>
<p><a href="http://bitbucketlabs.net/flashbake/">Flashbake</a> is “source control for ordinary people.” From Cory Doctorow&rsquo;s <a href="http://boingboing.net/2009/02/13/flashbake-free-versi.html">announcement post</a>:</p>
<blockquote>
<p>This is a set of Python scripts that check your hot files for changes every 15 minutes, and checks in any changed files to a local git repository. Git is a free &ldquo;source control&rdquo; program used by programmers to track changes to source-code, but it works equally well on any text file. If you write in a text-editor like I do, then Flashbake can keep track of your changes for you as you go.</p>
<p>I was prompted to do this after discussions with several digital archivists who complained that, prior to the computerized era, writers produced a series complete drafts on the way to publications, complete with erasures, annotations, and so on. These are archival gold, since they illuminate the creative process in a way that often reveals the hidden stories behind the books we care about. By contrast, many writers produce only a single (or a few) digital files that are modified right up to publication time, without any real systematic records of the interim states between the first bit of composition and the final draft.</p></blockquote>
<p>Copyright and ownership over data becomes a concern when introducing ideas like forking and merging stories. Whose story is it? How do certain changes reflect back upon the organization that created the story?</p>
<p>“<a href="http://dashes.com/anil/2010/09/forking-is-a-feature.html">Forking is a Feature</a>” (Anil Dash):</p>
<blockquote>
<p>There are several related technical concepts that can answer to the name &ldquo;fork&rdquo;, but the one I reference here is the dramatic moment when a software project undergoes a schism on ideological or technical grounds. Instead of merely taking their ball and going home, those who forked were taking a copy of your ball and going to a new playground. And while splitting a community could obviously cause an open source community&rsquo;s momentum to grind to a halt, even the mere threat of a fork could cause significant problems, by revealing conflicting goals or desires or motivations within a previously-united community.</p></blockquote>
<p>Starting with the “talk to me like I’m stupid” approach lets the building blocks be put in place so that the story can be expanded going forward. Different branches and layers of a story can then be overlaid to provide additional context.</p>
<p>Episodic updates to a story can be left as separate branches or merged back into the trunk to tell a more complete story.</p>
<p>On a technical note, Git is much nicer than Subversion because it has a much better system for managing contributions. Submitting a pull request is easier than creating a patch file and having to email it somewhere, upload it to Trac, etc.</p>
<p>Question from Zach Seward: What type of story works best for this concept?</p>
<p>Albert Sun thinks breaking news might be a good candidate for this approach, as there’s often conflicting information, quick corrections, etc. When the story is changing on a regular basis, readers want to see what has changed and why.</p>
<p>Via <a href="https://twitter.com/greglinch/status/12346843736309760">Greg</a>, <a href="http://marginalia.publiclaboratory.org/">Marginalia</a> is a tool for visualizing historical information about a Wikipedia article. It also seems to be an <a href="http://www.geof.net/code/annotation/">open source, Javascript-based web annotation system</a>.</p>
<p>There is <a href="http://movingtofreedom.org/2010/07/30/wordpress-plugin-post-revision-and-diff-viewer/">a WordPress plugin</a> for publicly displaying the revision history of a post. Scott Rosenberg supported its development and <a href="http://movingtofreedom.org/2010/07/30/wordpress-plugin-post-revision-and-diff-viewer/">wrote about it last August</a>.</p>
<p>Andrew Nacin brings up the concept of licensing. The big problem is media companies are largely protective of and restrictive with their content. They want to maintain full ownership over it. Users contributing changes back to the original document is different than a user contributing back to WordPress because the licenses are completely opposite.</p>]]></content:encoded>
    </item>
    <item>
      <title>Presentation: WordPress as a learning management system for #NYEdTech</title>
      <link>https://danielbachhuber.com/presentation-wordpress-as-a-learning-management-system-for-nyedtech/</link>
      <pubDate>Wed, 27 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/presentation-wordpress-as-a-learning-management-system-for-nyedtech/</guid>
      <description>&lt;p&gt;These images are slides from a short (10 minutes) presentation I gave at &lt;a href=&#34;http://www.meetup.com/NYEdTech/events/16296872/&#34;&gt;this evening&amp;rsquo;s #NYEdTech meetup&lt;/a&gt;. Our conversation revolved around WordPress as a learning management system, with supporting appearances by &lt;a href=&#34;http://moodle.org/&#34;&gt;Moodle&lt;/a&gt; and Blackboard. In the interest of capturing more information on what I talked about, I&amp;rsquo;ll expand on the slide notes below.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>These images are slides from a short (10 minutes) presentation I gave at <a href="http://www.meetup.com/NYEdTech/events/16296872/">this evening&rsquo;s #NYEdTech meetup</a>. Our conversation revolved around WordPress as a learning management system, with supporting appearances by <a href="http://moodle.org/">Moodle</a> and Blackboard. In the interest of capturing more information on what I talked about, I&rsquo;ll expand on the slide notes below.</p>
<p>Overall, I had a few significant takeaways from this evening. A key distinction between WordPress and other &ldquo;traditional&rdquo; learning management systems is that the former promotes a very &ldquo;constructivist&rdquo; educational approach and the latter are strong on generating learning metrics, whether or not professors use them.</p>
<p>Also, WordPress needs a more flexible privacy framework for authors. There are <a href="http://codex.wordpress.org/Roles_and_Capabilities">roles and capabilities</a> when it comes to the publishing workflow, but a piece is either published or password-protected at the end of it. As a plugin, it would be useful for students to be able to control whether a piece is public to themselves, between themselves and a few users, between themselves and a specified group, or open to anyone on the web.</p>
<p><a href="https://twitter.com/danielbachhuber/status/63030163096608768">Lastly</a>: &ldquo;Students use Blackboard and Moodle, then graduate, and never use them again.&rdquo; WordPress has applications in the real world.</p>
<h3 id="cuny-j-school-in-a-nutshell">CUNY J-School in a nutshell</h3>
<ul>
<li><strong><a href="http://codex.wordpress.org/Create_A_Network">WordPress Multisite 3.1</a></strong> - Install WordPress once, install your themes and plugins once, and create as many subsites as you need. Our naming schema is *.journalism.cuny.edu and for courses we&rsquo;re starting to include the year in the URL. Thanks to a <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">domain mapping plugin</a>, publications and students can use their own personal domains on their J-School website.</li>
<li><strong>258 student, project, class, and publication sites</strong> - Considering the Class of 2011 is only 90 people, and the school is having its 5th anniversary this year, I&rsquo;m quite happy with this number. The <a href="http://interactive2.journalism.cuny.edu/">Interactive 2 website for this spring</a> is a good example of what we&rsquo;ve done with course websites.</li>
<li><strong>481 users</strong> - Students, faculty, staff and the occasional community member.</li>
<li><strong>134 themes available for anyone to use, 16 custom designs</strong> - Most of these are from <a href="http://graphpaperpress.com/">Graph Paper Press</a> and <a href="http://woothemes.com/">WooThemes</a> which offer affordable licenses on relatively good, GPL&rsquo;d themes. The custom development work we do is <a href="https://github.com/cunyjschool">available for remixing on Github</a>.</li>
<li><strong>76 plugins</strong> - One of these days, I&rsquo;ll add a view to the tech website to show all of our currently installed plugins. Until then, I published a <a href="http://danielbachhuber.com/2011/04/13/plugins-for-publishers-april-2011-edition/" title="Plugins for publishers, April 2011 edition">list of plugins for publishers</a> that has a number of them.</li>
<li><strong>2 GB production Rackspace Cloud server, 1 GB development</strong> - According to our <a href="http://www.danielbachhuber.com/screenshots/cpu-year-20110426-230403.jpg">CPU</a> and <a href="http://www.danielbachhuber.com/screenshots/memory-year-20110426-230341.jpg">memory</a> usage, this is a pretty good fit for us. With bandwidth, our total costs are around $160/month.</li>
<li><strong>Nginx/PHP5-FPM + MySQL</strong> - After battling with Apache for six months, we <a href="http://danielbachhuber.com/2011/01/29/status-17/">moved to Nginx/PHP5-FPM at the end of January</a>. Overall, I&rsquo;ve been much happier with it as it seems to be much more efficient. If you go with Ubuntu 10.10 and PHP 5.3.3, it&rsquo;s as easy as Apache to set up.</li>
<li><strong>~ 200k monthly impressions</strong> - Roughly calculated with <a href="http://www.quantcast.com/p-53PxTiQfhh3_k">Quantcast</a>. Still looking for a better cross-network analytics tool.</li>
</ul>
<h3 id="current-uses-of-wordpress">Current uses of WordPress</h3>
<ul>
<li><strong>Class discussion</strong></li>
<li><strong>Students publishing assignments</strong></li>
<li><strong>Portfolio websites</strong> - For examples, check out <a href="http://alissaambrose.com/">Alissa Ambrose</a>, <a href="http://mattdraper.net/">Matt Draper</a>, <a href="http://felipecabrera.net/">Felipe Cabrera</a>, <a href="http://zacharykussin.com/">Zach Kussin</a>, <a href="http://ianchant.com/">Ian Chant</a>, <a href="http://patrickwallmultimedia.com/">Patrick Wall</a>, or <a href="http://meganizen.com/">Megan Izen</a>.</li>
<li><strong>Running a news publication</strong> - The <a href="http://nycitynewsservice.com/">NY City News Service</a> is the publication for the entire school. There are a <a href="http://nycitynewsservice.com/special-projects/">number of award-winning student productions</a> as well.</li>
<li><strong>J-School marketing and information</strong></li>
<li><strong>Documentation and technical resources</strong> - Our <a href="http://tech.journalism.cuny.edu/">tech website</a> hopes to be a compendium of knowledge and structured information.</li>
</ul>
<h3 id="problems-we-want-to-solve-with-wordpress">Problems we want to solve with WordPress</h3>
<ul>
<li><strong>Assignment scheduling with structured capture</strong> - Cross-subject collaboration on assignment calendars currently happens through a combination of emails and meetings. This spews problems like a fountain. Ideally, we&rsquo;d like to capture <em>all</em> assignments within WordPress in a structured way, possibly as a custom post type on each course website. We&rsquo;d then surface the information so students always have up to date information on their assignments, professors could create new assignments for their students while being respectful of the existing ones, and administrators could look through all of this data to see what intellectual resources need to be created, etc.</li>
<li><strong>Tracking student knowledge/experience against topics</strong></li>
<li><strong>Pro-active student support</strong></li>
<li><strong>Equipment management and conflict handling</strong> - Building off the equipment requirements field in assignment scheduling, we&rsquo;d map demand to supply to see when the pinch points are going to be on, say, the Canon 60Ds. Students could also see current and scheduled availability.</li>
<li><strong>Better search to make evergreen archives valuable</strong> - WordPress&rsquo; search is abysmal. Faceting against content types, tags, people, publication dates, etc., in conjunction with a tuned relevance algorithm, would do wondrous things.</li>
<li><strong>Event management (promotion and possibly RSVPs)</strong> - The J-School has an <a href="http://www.journalism.cuny.edu/events/">events calendar</a> based on a custom post type, but we&rsquo;d love to build signage off the data for monitors around the school as well as allow users to RSVP for events.</li>
</ul>
<p><img src="images/presentation_nyedtech_meetup_4_26_111.jpg" alt="presentation_nyedtech_meetup_4_26_111.jpg"  width="1667"
	height="1250"  />
<img src="images/presentation_nyedtech_meetup_4_26_11_21.jpg" alt="presentation_nyedtech_meetup_4_26_11_21.jpg"  width="1667"
	height="1250"  />
<img src="images/presentation_nyedtech_meetup_4_26_11_31.jpg" alt="presentation_nyedtech_meetup_4_26_11_31.jpg"  width="1667"
	height="1250"  />
<img src="images/presentation_nyedtech_meetup_4_26_11_41.jpg" alt="presentation_nyedtech_meetup_4_26_11_41.jpg"  width="1667"
	height="1250"  />
<img src="images/presentation_nyedtech_meetup_4_26_11_51.jpg" alt="presentation_nyedtech_meetup_4_26_11_51.jpg"  width="1667"
	height="1250"  /></p>]]></content:encoded>
    </item>
    <item>
      <title>Class: Blogging Best Practices, 4/25/11</title>
      <link>https://danielbachhuber.com/class-blogging-best-practices-42511/</link>
      <pubDate>Tue, 26 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/class-blogging-best-practices-42511/</guid>
      <description>&lt;p&gt;Last night was the second of three &lt;a href=&#34;http://bbp2011.danielbachhuber.com/&#34;&gt;Blogging Best Practices&lt;/a&gt; classes I&amp;rsquo;m teaching for the J-School. &lt;a href=&#34;http://danielbachhuber.com/2011/04/15/class-blogging-best-practices-41111/&#34;&gt;You can read my recap of the first class as a primer&lt;/a&gt;. Eight of the nine registered students showed up, and one of the Entrepreneurial Journalism students joined us. Overall, I&amp;rsquo;d give execution a &amp;ldquo;good.&amp;rdquo; We covered a fair bit of material but, as survey responses attest, the students are ready to move from theoretical to practical. We also ran out of time in a serious way. Recapping thoughts on the session, then class notes at the end.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night was the second of three <a href="http://bbp2011.danielbachhuber.com/">Blogging Best Practices</a> classes I&rsquo;m teaching for the J-School. <a href="http://danielbachhuber.com/2011/04/15/class-blogging-best-practices-41111/">You can read my recap of the first class as a primer</a>. Eight of the nine registered students showed up, and one of the Entrepreneurial Journalism students joined us. Overall, I&rsquo;d give execution a &ldquo;good.&rdquo; We covered a fair bit of material but, as survey responses attest, the students are ready to move from theoretical to practical. We also ran out of time in a serious way. Recapping thoughts on the session, then class notes at the end.</p>
<p>Our readings conversation went well, people were mostly engaged, but it went for a lot longer than I planned. Assigned readings can easily diverge into related topics.</p>
<p>After, when we covered WordPress and other publishing tools, the class progressed into more lecture than conversation. Conversation means the students are generally more engaged whereas lecture means we cover more of the material I think they need to know. Some people took the time to log in to their websites prior to the class while others didn&rsquo;t take the time at all. There&rsquo;s an intriguing tension between how much reading I can assign out of class and what students expect to learn within class. What&rsquo;s the most effective use of physical space?</p>
<p>Covered most of the WordPress admin, but missed activating widgets and configuring settings. Didn&rsquo;t cover the different types of blogging at all, or the best practices listed at the end of the class notes. That may be a blog post this week.</p>
<p>Things students found useful:</p>
<ul>
<li>&ldquo;I found it very useful to go into WordPress and that our account was already set up so we could play around with it and follow Daniel.&rdquo;</li>
<li>&ldquo;Deconstructing HTML, CSS and other jargon that might seem off- putting to non-techies like me.&rdquo;</li>
<li>&ldquo;Blog updating best practices, such as that on average, it&rsquo;s a good idea, initially, to post three, 700 word posts per week.&rdquo;</li>
<li>&ldquo;The walk through on WordPress plus the conceptual explanation of HTML and CSS&rdquo;</li>
<li>&ldquo;Learned about several new blogs and web tools of interest, and some new tricks in the WordPress backend.&rdquo;</li>
</ul>
<p>What students want covered next time:</p>
<ul>
<li>&ldquo;Would prefer longer classes so topics can be more fleshed out and not so rushed, especially less on theory and more hands-on, in- depth, especially with the tech aspects of using WordPress.&rdquo;</li>
<li>&ldquo;After blogging for a month first, how to find and negotiate with a graphic designer to create a header.&rdquo;</li>
<li>&ldquo;Developing WordPress skills&rdquo;</li>
<li>&ldquo;Might be good to do an exercise(s) in blog-building&hellip; I am preoccupied about getting started&hellip; I seem to be running in place and not getting anywhere. Not sure how to get my idea or concept off the ground. It can be overwhelming and a bit scary. Hands on would be terrific and quell my concerns.&rdquo;</li>
<li>&ldquo;Maybe we could spend some more time on the site if we have time? And possibly go over Google Analytics&rdquo;</li>
</ul>
<p><strong>One point I pushed:</strong> blogging is publishing on the web. We heavily detoured into bloggers vs. journalists, and I wanted to emphasis that the debate is only relevant for a certain subset of people. Blogging is publishing on the web, and there are billions of people doing it in almost as many styles.</p>
<p><strong>Another point I pushed:</strong> Start with free. There are plenty of places to experiment with publishing on the web, and you should get a sense of those spaces before you make significant financial investments. You first investment, a few months after you&rsquo;ve been publishing, should be your personal domain ($10-$15/year).</p>
<p>Strong call for an assignment between now and next class in lieu of more theoretical readings. I&rsquo;m thinking one or two things:</p>
<ul>
<li>Write a blog post about a given topic</li>
<li>Write a blog post about an imaginary website you&rsquo;re going to create and identify all of the things you need to consider</li>
<li>Make changes to your website and write a blog post about the changes you made and why you made them</li>
</ul>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2011/04/20110425class-bloggingbestpractices1.pdf">Class notes are also in PDF form</a>.</p>
<h3 id="readings-10-minutes">Readings (10 minutes)</h3>
<p><a href="http://ryansholin.com/2009/06/29/five-keys-to-authenticity/">Five Keys to Authenticity</a> (Ryan Sholin)</p>
<p><strong>Be Human:</strong> <strong>Be Honest:</strong> Credibility is crucial and will help you compete in a crowded space <strong>Be Aware:</strong> Expertise in a niche will set you apart; be ahead of the curve, don’t be late to the online party in terms of joining the conversation. Offer a unique insight, and part of that is paying attention to what others are saying and identify where missing gaps are (and try to fill them). A negotiation between publishing quickly and getting your fact straight. (Do you have the bandwith and stamina, or publish less frequent but well-thought-out posts). Do what you do best and link to the rest (Jeff Jarvis). Focus on your original analysis, reporting etc. <strong>Be Everywhere:</strong> Try an RSS feed (really simple syndication) to stay on top of latest news in your beat. RSS is a protocol for syndicating content across the WEB, an XML-based protocol (much like newspapers use to submit to newswires). More B2C where consumers can subscribe to info from publishes. Also try Google Reader, which allows you to subscribe to RSS feeds from as many sites as you want. Google reader will manage and index all the latest news for you, so you don’t have visit each source. You curate your sources of info. <strong>Show Your Work:</strong></p>
<p><a href="http://argoproject.org/blog/2010/08/the-art-of-the-link-roundup/">The art of the link roundup</a> (Matt Thompson)</p>
<p>Examples:</p>
<ul>
<li><a href="http://fort-greene.thelocal.nytimes.com/2011/04/25/the-day-a-fundraiser-and-good-pizza/">http://fort-greene.thelocal.nytimes.com/2011/04/25/the-day-a-fundraiser-and-good-pizza/</a></li>
<li><a href="http://www.pharmalot.com/2010/08/pharmalot-pharmalittle-good-morning-284/">http://www.pharmalot.com/2010/08/pharmalot-pharmalittle-good-morning-284/</a></li>
<li><a href="http://www.niemanlab.org/2011/04/links-on-twitter-a-new-head-for-mits-media-lab-a-kickstarter-magazine-a-tale-of-two-timeses/">http://www.niemanlab.org/2011/04/links-on-twitter-a-new-head-for-mits-media-lab-a-kickstarter-magazine-a-tale-of-two-timeses/</a></li>
<li><a href="http://www.niemanlab.org/2011/04/popular-on-twitter-news-me-stage-1-measuring-accuracy-in-journalism-and-the-effects-of-amazons-server-problem/">http://www.niemanlab.org/2011/04/popular-on-twitter-news-me-stage-1-measuring-accuracy-in-journalism-and-the-effects-of-amazons-server-problem/</a></li>
</ul>
<p><a href="http://archive.pressthink.org/2006/06/27/ppl_frmr.html">The People Formerly Known as the Audience</a> (Jay Rosen)</p>
<p>Recommendation: <a href="http://pressthink.org/2011/03/the-psychology-of-bloggers-vs-journalists-my-talk-at-south-by-southwest/">http://pressthink.org/2011/03/the-psychology-of-bloggers-vs-journalists-my-talk-at-south-by-southwest/</a></p>
<h3 id="term-review-10-minutes">Term review (10 minutes)</h3>
<p>RSS</p>
<ul>
<li>Stands for: Really Simple Syndication</li>
<li>Definition: a family of <a href="http://en.wikipedia.org/wiki/Web_feed">web feed</a> formats used to publish frequently updated works—such as <a href="http://en.wikipedia.org/wiki/Blog">blog</a> entries, news headlines, audio, and video—in a standardized format.</li>
<li>Tools: <a href="http://google.com/reader/">Google Reader</a>, <a href="http://www.instapaper.com/">Instapaper</a>. You can do an rss feed from search.twitter.com, and set up RSS feed from that search. (copy link location, go to google reader, and subscribe)</li>
</ul>
<p>HTML</p>
<ul>
<li>Stands for:  Hyper Text Mark-up Language</li>
<li>Definition:  A mark-up language with its origins in print; allows you to mark up content and give structure to content on the Web. The real world metaphor, if a building was content, with HTML or CSS, all the materials would be a pile sans structure or form.</li>
</ul>
<p>CSS</p>
<ul>
<li>Stands for: Cascading Style Sheet(s)</li>
<li>Definition:  site’s stylebook or design element</li>
</ul>
<p>CMS</p>
<ul>
<li>Stands for: content management system</li>
<li>Definition: your data is stored in a different place</li>
</ul>
<p>PHP programming language</p>
<p>Question: When starting out, how often should you update your blog ? Answer (DB): On average, shoot for 700 words three times a week. Plan to spend about two hours on each entry. If your goal is to ultimately attract advertisers, then more content = more traffic = more advertising.</p>
<h3 id="blogging-platforms-wordpress-and-other-tools-10-minutes">Blogging platforms: WordPress and other tools (10 minutes)</h3>
<p>Advantages to WordPress</p>
<ul>
<li>Open source - Run the software on your own server. 10% of sites are on WP (NYT blogs are wordpress; neiman lab; jschool; hacks &amp; hackers; chris <a href="http://dixon.org/">dixon.org</a> etc)</li>
<li>User friendly</li>
<li>Strong community: many people contribute themes and plug-ins (Themes allow you to change the styling, changing a theme is as easy as clicking a button.</li>
<li>Personalization with themes (design of your blog) - another
<ul>
<li>see <a href="http://wordpress.org/extend/themes">wordpress.org/extend/themes</a></li>
<li><a href="http://www.woothemes.com/themes/free/">http://www.woothemes.com/themes/free/</a></li>
</ul>
</li>
<li>One investment you may make in month 3 or 4 is a premium theme, such as Woo Themes (although they offer FREE themes, you can also buy a membership, and have access to all Woo Themes’ premium websites.) Elegant Themes is another good source of premium themes. (CR)</li>
<li>Regularly updated with new features</li>
<li>Extend functionality with plugins</li>
</ul>
<p><strong>Question:</strong> What is a masthead? <strong>Answer (DB):</strong> Your blog’s “header.” Masthead is more of a print term. The digital version is called a “header.”</p>
<p>If you want a blog video, use a service like Vimeo or Youtube. Vimeo has a free version, but the pro version ($60 a year) is better. DB prefers Vimeo to Youtube.</p>
<p>Wysiwyg = What you see is what you get.</p>
<p>Disadvantages to WordPress</p>
<ul>
<li>If you’re self-hosting, you’re responsible for making sure your site is up. With great power comes great responsibility.</li>
<li>Amount of design flexibility often depends on the theme.</li>
</ul>
<p>What you should think about when you’re looking at tools</p>
<ul>
<li>Custom domain (e.g. danielbachhuber.com)</li>
<li>Ease of use</li>
<li>Writing interface</li>
<li>Data portability</li>
<li>Publishing from mobile if you need</li>
<li>Extensibility</li>
<li>Support</li>
<li>Performance/reliability</li>
</ul>
<p>WordPress hosts to consider</p>
<ul>
<li><a href="http://wordpress.com/">wordpress.com</a></li>
<li><a href="http://page.ly/">Page.ly</a></li>
<li><a href="http://webfaction.com/">WebFaction</a></li>
</ul>
<p>Other tools you might consider</p>
<ul>
<li>Tumblr</li>
<li>Posterous</li>
<li>Movable Type</li>
</ul>
<h3 id="orientation-to-wordpress-core-concepts-and-the-admin-40-minutes">Orientation to WordPress core concepts and the admin (40 minutes)</h3>
<h4 id="creating-a-post-or-a-page">Creating a post or a page</h4>
<p>Why you should double-check your slug: <a href="http://www.niemanlab.org/2011/04/how-url-spoofing-can-put-libelous-words-into-news-orgs-mouths/">http://www.niemanlab.org/2011/04/how-url-spoofing-can-put-libelous-words-into-news-orgs-mouths/</a></p>
<h4 id="themes">Themes</h4>
<p><a href="http://wordpress.org/extend/themes/">WordPress.org themes</a> <a href="http://www.woothemes.com/themes/free/">WooThemes free themes</a></p>
<h4 id="plugins">Plugins</h4>
<p><a href="http://danielbachhuber.com/2011/04/13/plugins-for-publishers-april-2011-edition/">Plugins for Publishers, April 2011 edition</a></p>
<p>Users</p>
<p>Settings</p>
<h3 id="types-of-blogging-40-minutes">Types of blogging (40 minutes)</h3>
<p>Personal</p>
<ul>
<li>Why:
<ul>
<li>Personal, permanent space on the internet</li>
<li>Share content with friends and family</li>
<li>Influence others within your industry</li>
</ul>
</li>
<li>Examples:
<ul>
<li><a href="http://cdixon.org/">Chris Dixon</a> -</li>
<li><a href="http://scripting.com/">Dave Winer</a> -</li>
<li><a href="http://andrewspittle.net/">Andrew Spittle</a></li>
</ul>
</li>
<li>Characteristics:</li>
</ul>
<p>One-person publication</p>
<ul>
<li>Why:</li>
<li>Examples:
<ul>
<li><a href="http://daringfireball.net/">Daring Fireball</a> -</li>
<li><a href="http://kottke.org/">Kottke.org</a> -</li>
</ul>
</li>
<li>Characteristics:</li>
</ul>
<p>Multi-person “new media” publication</p>
<ul>
<li>Why:</li>
<li>Examples:
<ul>
<li><a href="http://gawker.com/">Gawker</a> -</li>
<li><a href="http://techcrunch.com/">TechCrunch</a> -</li>
<li><a href="http://www.theawl.com/">The Awl</a> -</li>
</ul>
</li>
<li>Characteristics:</li>
</ul>
<p>Multi-person “old media” publication</p>
<ul>
<li>Why:</li>
<li>Examples:
<ul>
<li><a href="http://www.economist.com/blogs/babbage">Babbage</a> (The Economist)</li>
<li><a href="http://lens.blogs.nytimes.com/">Lens</a> (The New York Times)</li>
</ul>
</li>
<li>Characteristics:</li>
</ul>
<p>Corporate blogs</p>
<ul>
<li>Why:</li>
<li>Examples:
<ul>
<li><a href="http://www.mint.com/blog/">Mint.com</a> - good example of a company blog; they produce original content to drive traffic, not just promotional (promotional content is only about 10 percent of what they publish. Build trust to convince readers to try your product.</li>
<li><a href="http://37signals.com/svn/">Signal vs. Noise</a> by 37signals -</li>
</ul>
</li>
<li>Characteristics:</li>
<li>Question for next week: In Corporate blogs, can we address characteristics for fields that are not so “corporate” such as fashion blog for an e-commerce site?</li>
</ul>
<p>Team blogs</p>
<ul>
<li>Why:</li>
<li>Examples:</li>
<li>Characteristics:</li>
</ul>
<h3 id="legal-copyright-and-community-best-practices-10-minutes">Legal, copyright and community best practices (10 minutes)</h3>
<p>Daniel’s best practices</p>
<ol>
<li>Link as you would want to be linked</li>
<li>Be nice</li>
<li>Use formatting properly</li>
<li>Do use the standard font from your website</li>
<li>Don’t copy and paste from Microsoft Word without using the special tool</li>
</ol>
<p>From <a href="http://interactive2.journalism.cuny.edu/syllabus-smock/">Interactive 2’s syllabus</a>:</p>
<p>Photo policy: Do not “lift” or “borrow” images from other web sites for use on your web site or blog without credit or “courtesy of” text. Permission must be provided by creator of the content for any image to be used, unless it is being used for “fair use,” purposes such as to comment on the image or because the image itself is part of the news you are reporting. Since such permission is often difficult to obtain, especially on deadline, and “fair use” difficulty to define, we strongly recommend that instead you use only those images you have created yourself, or which you have obtained via the AP Photo Bank, or other photo service for which the school has obtained licensing, or which are explicitly labelled as “creative commons” and available for your use. IMPORTANT: This matters, not just as a plagiarism issue, but as a legal copyright issue that could create problems for you in the school or beyond, in the workplace. Apply the old journalism adage: “If in doubt, leave it out!”</p>
<p><a href="http://lauraleewalker.com/2010/11/01/top-15-blogging-best-practices-2/">Top 15 Blogging Best Practices</a> (Laura Lee Walker) 1. Use a catchy title. Make the title unique, consider using questions and lists. 2. Use interesting visuals. Include an image or video in your blog. This will get people’s attention and help them better understand the content of your blog. 3. Include links. Links add depth and credibility to your articles and allow you to show a little ‘link love’. 4. Use bullets, italics, and bold font. This makes for an easier read. Using bold font allows the reader to quickly scan your post. 5. Let your personality come through. This is what makes your blog unique. 7. Reference your articles. If you use other people’s work, include a reference or link to their article. 10. Be bold. This might take the form of being outrageous or controversial. 12. Respond to comments as soon as possible. Treat your reader like a friend. If your friend calls you and leaves a message, do you wait days to respond? 13. Make your blog post easy to share. This may include adding widgets such as Tweet, Reddit, Delicious, Stumble Upon, etc. 14. Post frequently. This helps keep your blog fresh and entices search engines to index you more often.</p>
<p><a href="http://tech.journalism.cuny.edu/where-can-i-find-free-images/">Finding free images to use</a> (Tech@CUNYJ)</p>
<h3 id="topics-for-next-week">Topics for next week</h3>
<p>How to install themes from woothemes to wordpress?</p>
<p>Maybe go through google analytics</p>
<p>Where to put metatags and descriptions for SEO and alt text for photos?</p>
<p>In Corporate blogs, can we address characteristics for fields that are not so “corporate” such as fashion blog for an e-commerce site?</p>
<p>Please post a couple educational tools on the web for developing the basics of HTML</p>
<p>Also, please post, if you know any, a link or two that walks you through wordpress, i.e. an easy-to-use manual or instructions</p>]]></content:encoded>
    </item>
    <item>
      <title>Workshop: Website hack session, 4/20/11</title>
      <link>https://danielbachhuber.com/workshop-website-hack-session-42011/</link>
      <pubDate>Thu, 21 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/workshop-website-hack-session-42011/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s the middle of spring break, so only one student showed up at my office hours/workshop this evening. We started around 4:40 pm and ended an hour later. Specifically, we:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Reviewed how to change directories in the terminal and update her theme from the main Git repository.&lt;/li&gt;&#xA;&lt;li&gt;Increased the number of images appearing on the homepage of her website. This also involved the Git workflow of committing her changes and pushing them to the origin repository.&lt;/li&gt;&#xA;&lt;li&gt;Hid a couple of elements using CSS. She has a good grasp of how to do basic CSS.&lt;/li&gt;&#xA;&lt;li&gt;Enabled the &amp;ldquo;ShareThis&amp;rdquo; plugin on single posts with the Twitter and Facebook buttons.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The project site is functionally complete. She wants to update the photo content before promoting it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s the middle of spring break, so only one student showed up at my office hours/workshop this evening. We started around 4:40 pm and ended an hour later. Specifically, we:</p>
<ul>
<li>Reviewed how to change directories in the terminal and update her theme from the main Git repository.</li>
<li>Increased the number of images appearing on the homepage of her website. This also involved the Git workflow of committing her changes and pushing them to the origin repository.</li>
<li>Hid a couple of elements using CSS. She has a good grasp of how to do basic CSS.</li>
<li>Enabled the &ldquo;ShareThis&rdquo; plugin on single posts with the Twitter and Facebook buttons.</li>
</ul>
<p>The project site is functionally complete. She wants to update the photo content before promoting it.</p>
<p>Her next big project is to convert the portfolio website mockups she&rsquo;s done into a WordPress theme. I told her to read through the <a href="http://codex.wordpress.org/Templates">WordPress.org documentation</a> as much as she can, and try to outline all of the files she might need. Content first, then markup, then polishing it with CSS. I think I&rsquo;ll put together a workshop next week on building or modifying WordPress themes and promote it heavily.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hardly Strictly Young roundtable: alternative Knight Commission recommendations</title>
      <link>https://danielbachhuber.com/hardly-strictly-young-roundtable-alternative-knight-commission-recommendations/</link>
      <pubDate>Wed, 20 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hardly-strictly-young-roundtable-alternative-knight-commission-recommendations/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://christopherwink.com/2011/04/20/hardly-strictly-young-roundtable-alternative-knight-commission-recommendations/&#34;&gt;Hardly Strictly Young roundtable: alternative Knight Commission recommendations&lt;/a&gt;. Quick wrap-up of what we accomplished from the Wink.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://christopherwink.com/2011/04/20/hardly-strictly-young-roundtable-alternative-knight-commission-recommendations/">Hardly Strictly Young roundtable: alternative Knight Commission recommendations</a>. Quick wrap-up of what we accomplished from the Wink.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Commentary from Lauren Rabaino on our preliminary Knight News Challenge survey results</title>
      <link>https://danielbachhuber.com/commentary-from-lauren-rabaino-on-our-preliminary-knight-news-challenge-survey-results/</link>
      <pubDate>Mon, 18 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/commentary-from-lauren-rabaino-on-our-preliminary-knight-news-challenge-survey-results/</guid>
      <description>&lt;p&gt;&lt;em&gt;The following is guest commentary from &lt;a href=&#34;http://www.laurenmichell.com/&#34;&gt;Lauren Rabaino&lt;/a&gt;, one of the collaborators who helped bring our &lt;a href=&#34;http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/&#34;&gt;Knight News Challenge survey&lt;/a&gt; together.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Knight Foundation has an important role to play encouraging innovation and experimentation within the news industry — because let&amp;rsquo;s face it, not many people in news media have that kind of money to throw around these days (KNC has granted about $22 million over the past four years). Knight has a responsibility to the projects they’re funding, the communities that rely on those projects, and the journalism community as a whole to see that their money is put to good use.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>The following is guest commentary from <a href="http://www.laurenmichell.com/">Lauren Rabaino</a>, one of the collaborators who helped bring our <a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/">Knight News Challenge survey</a> together.</em></p>
<p>The Knight Foundation has an important role to play encouraging innovation and experimentation within the news industry — because let&rsquo;s face it, not many people in news media have that kind of money to throw around these days (KNC has granted about $22 million over the past four years). Knight has a responsibility to the projects they’re funding, the communities that rely on those projects, and the journalism community as a whole to see that their money is put to good use.</p>
<p>What I’ve gleaned from breaking down the numbers, reading the various survey responses and generally observing KNC practices over the past few years is this:</p>
<ul>
<li>Knight appears to “play favorites,” awarding money to people who have applied multiple times or to people they have previously known and met in person. One survey respondent even commented that <a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/#p%5BIyhIyp%5D,h%5BIyhIyp%5D">only the projects that would sound good in a NYT article are selected</a>.</li>
<li>After projects are funded, adios! No communication with Knight commences, which shows an incredible lack of accountability and makes it easier for projects to fall by the wayside.</li>
<li>There are inefficiencies in the processes related to applying for and obtaining money from Knight.</li>
</ul>
<p>We can take a hint from one project, TileMapping, that according to their survey response is having “a great experience so far!” This project was already in the process of being actively built before the grant money was attained. TileMapping used the funds for a second iteration of their project, so they had a clearer scope of what they were trying to accomplish and what resources were required to do it.</p>
<p>So many of the respondents who haven’t had such a good time as TileMapping said they changed course because they realized that they:</p>
<ol>
<li>Just didn’t have the technical capacity</li>
<li>Vastly underestimated the amount of time it would take to build something</li>
<li>Couldn’t get the industry connections or user base to pull off what they desired.</li>
</ol>
<p>I think many of these problems can be tackled by the solutions Daniel poses, that I need not repeat (shorting funding cycles, milestone-based funding, smaller amounts of money). Related back to TileMapping, projects need to have a clearer plan of execution and sustainability, beyond simple speculation. <strong>The Knight News Challenge should be an investment in the future of news, not a gamble.</strong></p>
<p>And while, yes, some projects will most certainly fail, they shouldn’t fail quietly and unacknowledged. There should be clear transparency, enforced through Knight, that requires grantees to explain why projects failed and how future projects can learn from those failures — because what’s the point of experimentation if there are no clear takeaways? Otherwise, it’s just lost time, money and effort. And that’s not how you shape the future of news.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Commentary from Max Linsky on our preliminary Knight News Challenge survey results</title>
      <link>https://danielbachhuber.com/commentary-from-max-linsky-on-our-preliminary-knight-news-challenge-survey-results/</link>
      <pubDate>Mon, 18 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/commentary-from-max-linsky-on-our-preliminary-knight-news-challenge-survey-results/</guid>
      <description>&lt;p&gt;&lt;em&gt;The following is guest commentary from &lt;a href=&#34;http://twitter.com/maxlinsky&#34;&gt;Max Linsky&lt;/a&gt;, one of the collaborators who helped bring our &lt;a href=&#34;http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/&#34;&gt;Knight News Challenge survey&lt;/a&gt; together.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;OK, so we can all agree that Knight is ready to take an evolutionary step, right? It&amp;rsquo;s time for the thing to hold itself, and its winners, a little more accountable.&lt;/p&gt;&#xA;&lt;p&gt;Not every project is going to be a success. But reading through the responses, it&amp;rsquo;s not clear to me that there&amp;rsquo;s a working definition of what Knight Challenge success is. And couching everything as an &amp;ldquo;experiment&amp;rdquo; — both the projects and the Challenge itself  allows that lack of accountability to continue. Call something an experiment and the stakes are removed — it&amp;rsquo;s a success just for being conducted.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>The following is guest commentary from <a href="http://twitter.com/maxlinsky">Max Linsky</a>, one of the collaborators who helped bring our <a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/">Knight News Challenge survey</a> together.</em></p>
<p>OK, so we can all agree that Knight is ready to take an evolutionary step, right? It&rsquo;s time for the thing to hold itself, and its winners, a little more accountable.</p>
<p>Not every project is going to be a success. But reading through the responses, it&rsquo;s not clear to me that there&rsquo;s a working definition of what Knight Challenge success is. And couching everything as an &ldquo;experiment&rdquo; — both the projects and the Challenge itself  allows that lack of accountability to continue. Call something an experiment and the stakes are removed — it&rsquo;s a success just for being conducted.</p>
<p>So how do you increase accountability? Incubators like YC and TechStars, which have a leg up because they fund for-profit endeavors with a clear-cut barometer for success, offer a model that Knight could adapt. Some chief differences:</p>
<ul>
<li>The incubators give away far less money.</li>
<li>They offer a fixed amount, which lets ideas be judged more easily against each other and discourages pie-in-the-sky endeavors. With only $18k, your project needs to be simple and executable.</li>
<li>The incubators focus as much on the founders as on the idea — if you don&rsquo;t have the skills and passion to make your project a success, you&rsquo;re likely not getting funded.</li>
<li>Post-selection, the incubators offer far more hands-on support.</li>
<li>That hands-on support often leads to the initial idea evolving and improving.</li>
</ul>
<p>The incubators have this in common with Knight: they&rsquo;re making a bet. The question is how hard you work to improve your odds. And doing that work is tough if you haven’t defined what a win really looks like.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Commentary from Will Mitchell on our preliminary Knight News Challenge survey results</title>
      <link>https://danielbachhuber.com/commentary-from-will-mitchell-on-our-preliminary-knight-news-challenge-survey-results/</link>
      <pubDate>Mon, 18 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/commentary-from-will-mitchell-on-our-preliminary-knight-news-challenge-survey-results/</guid>
      <description>&lt;p&gt;&lt;em&gt;The following is guest commentary from &lt;a href=&#34;http://twitter.com/wamitchell&#34;&gt;Will Mitchell&lt;/a&gt;, one of the collaborators who helped bring our &lt;a href=&#34;http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/&#34;&gt;Knight News Challenge survey&lt;/a&gt; together.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reading through the surveys, it really seems like a lot of the grantees &amp;ldquo;scaled back&amp;rdquo; from building software to simply using existing tools or just community organizing. This &lt;a href=&#34;http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/#p%5BTtcTtc%5D,h%5BTtcTtc%5D&#34;&gt;response&lt;/a&gt; was representative:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The technological capacity of the organizations&amp;hellip; whom we were encouraging to use our tech was lacking and therefore hindered adoption of [it].&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>The following is guest commentary from <a href="http://twitter.com/wamitchell">Will Mitchell</a>, one of the collaborators who helped bring our <a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/">Knight News Challenge survey</a> together.</em></p>
<p>Reading through the surveys, it really seems like a lot of the grantees &ldquo;scaled back&rdquo; from building software to simply using existing tools or just community organizing. This <a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/#p%5BTtcTtc%5D,h%5BTtcTtc%5D">response</a> was representative:</p>
<blockquote>
<p>The technological capacity of the organizations&hellip; whom we were encouraging to use our tech was lacking and therefore hindered adoption of [it].</p></blockquote>
<p>This is a good example of the kind of thing that needs to be worked out prior to applying, or vetted during the application. Sure, no matter how much vetting you do, some projects are going to fail, but the rubric for success can&rsquo;t be &ldquo;throw them at the wall and see what sticks.&rdquo;</p>
<p>I think in the future incarnation of this deal, whatever it is, people need to be more accountable to what they&rsquo;ve proposed to achieve — not the scaled back &ldquo;oh shit, this is hard, what can we do with existing tools instead&rdquo; end product. To me, the word &ldquo;innovation&rdquo; connotes a certain focus on new technology. There should be at least one component of the proposal that is a new tool and will be built by the end of the proposal, or else there had better be a <em>really</em> brilliant reason for a proposal that just introduces existing tools into some organization or community.</p>
<p>There&rsquo;s a ton of emphasis in the application on what you want to achieve and how it will impact a community, but not very much on how, specifically, you&rsquo;re going to achieve it, and who&rsquo;s on board to get it done. Compare with Y Combinator where they really make you sweat about the team and the technology, and demonstrate what you&rsquo;ve already built.</p>
<p>The other thing that is more and more disconcerting to me is the &ldquo;Knight News Challenge is an experiment&rdquo; vibe that I get from a lot of the responses. Making it a grand experiment kind of screws up the incentive to stick to your plans, because failure to launch is justified, in retrospect, as an interesting outcome of the experiment. There seems to be a little bit of broken window syndrome (or whatever you would call it) going on. The less accountability people see for the other grantees, the less pressure they may feel to achieve their original goals. This critique isn’t point at any individual: doing this stuff is hard, and scaling back near the deadline often makes sense. But perhaps it makes a little too much sense in the context of the current KNC. Scale the project back during the application phase, so that the grant matches what can realistically be achieved.</p>
<p>I think it would be worthwhile to look at the responses (and concrete results) from “News Games” and “Playing the News.” Two projects about games, both granted around $250k.</p>
<p>One thing that stood out was the outliers in the number of KNC apps submitted. The Ideas Factory submitted 11. MobileActive submitted 48 other applications? Not, say, 4-8? Sup with that?</p>
<p>It seems weird to me that that it’s so hard to find this kind of information <a href="http://newschallenge.org/">News Challenge website</a>. If we’re serious about developing story forms and information repositories that go beyond narrative journalism and hub-and-spoke or blog navigation, we should see some of that in the contest itself.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Preliminary results from our informal Knight News Challenge survey</title>
      <link>https://danielbachhuber.com/preliminary-knight-news-challenge-survey-results/</link>
      <pubDate>Sun, 17 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/preliminary-knight-news-challenge-survey-results/</guid>
      <description>&lt;p&gt;[caption id=&amp;ldquo;attachment_127676&amp;rdquo; align=&amp;ldquo;alignnone&amp;rdquo; width=&amp;ldquo;600&amp;rdquo;]&lt;a href=&#34;http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/knc-data-infographic/&#34;&gt;&lt;img src=&#34;images/knc-data-infographic1.png&#34; alt=&#34;&#34;  width=&#34;825&#34;&#xA;&#x9;height=&#34;2400&#34;  /&gt;&lt;/a&gt; Infographic by Lauren Rabaino, updated April 18th[/caption]&lt;/p&gt;&#xA;&lt;p&gt;In preparation for a &lt;a href=&#34;http://www.rjionline.org/events/stories/hardly-strictly-young/&#34;&gt;roundtable discussion this weekend about the Knight Foundation&amp;rsquo;s commission on the information needs of communities&lt;/a&gt;, a few of us &lt;a href=&#34;http://danielbachhuber.com/2011/04/11/background-information-on-our-survey-of-news-challenge-projects/&#34;&gt;decided to survey&lt;/a&gt; past News Challenge grantees. A big thanks to &lt;a href=&#34;http://www.chrisamico.com/blog/&#34;&gt;Chris Amico&lt;/a&gt;, &lt;a href=&#34;https://twitter.com/wamitchell&#34;&gt;Will Mitchell&lt;/a&gt;, &lt;a href=&#34;https://twitter.com/maxlinsky&#34;&gt;Max Linsky&lt;/a&gt;, and &lt;a href=&#34;http://laurenmichell.com&#34;&gt;Lauren Rabaino&lt;/a&gt; for helping out with various parts. We wanted to pull together data like how many of the projects are still active, whether the grantees started their projects before receiving funds, and whether the amount they received was sufficient to achieve their objectives. On a program-wide scale, we wanted to know the percentage breakdown of content vs. education vs. software projects, the average lifespan of a project, and what type of institutions typically received funding. Some of this we were successful in collecting; some, not so much. All of our data is &lt;a href=&#34;https://spreadsheets.google.com/ccc?key=0AoxaS298lkZCdEx0eFpPVm1TbkpqMWFnalVMM0xKMWc&amp;amp;hl=en&#34;&gt;available as a Google Spreadsheet&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>[caption id=&ldquo;attachment_127676&rdquo; align=&ldquo;alignnone&rdquo; width=&ldquo;600&rdquo;]<a href="http://danielbachhuber.com/2011/04/17/preliminary-knight-news-challenge-survey-results/knc-data-infographic/"><img src="images/knc-data-infographic1.png" alt=""  width="825"
	height="2400"  /></a> Infographic by Lauren Rabaino, updated April 18th[/caption]</p>
<p>In preparation for a <a href="http://www.rjionline.org/events/stories/hardly-strictly-young/">roundtable discussion this weekend about the Knight Foundation&rsquo;s commission on the information needs of communities</a>, a few of us <a href="http://danielbachhuber.com/2011/04/11/background-information-on-our-survey-of-news-challenge-projects/">decided to survey</a> past News Challenge grantees. A big thanks to <a href="http://www.chrisamico.com/blog/">Chris Amico</a>, <a href="https://twitter.com/wamitchell">Will Mitchell</a>, <a href="https://twitter.com/maxlinsky">Max Linsky</a>, and <a href="http://laurenmichell.com">Lauren Rabaino</a> for helping out with various parts. We wanted to pull together data like how many of the projects are still active, whether the grantees started their projects before receiving funds, and whether the amount they received was sufficient to achieve their objectives. On a program-wide scale, we wanted to know the percentage breakdown of content vs. education vs. software projects, the average lifespan of a project, and what type of institutions typically received funding. Some of this we were successful in collecting; some, not so much. All of our data is <a href="https://spreadsheets.google.com/ccc?key=0AoxaS298lkZCdEx0eFpPVm1TbkpqMWFnalVMM0xKMWc&amp;hl=en">available as a Google Spreadsheet</a>.</p>
<p>Since 2007, the Knight Foundation has awarded about $21.9 million to a total of 63 projects (40 of which responded to our survey). The largest, at $5 million, went to <a href="http://www.media.mit.edu/">MIT&rsquo;s Media Lab</a>. The smallest, at $10,000, went to Joe Boydston&rsquo;s <a href="http://apps.joeboydston.com/cms_utility/">CMS Upload Utility</a>.</p>
<p>Of the 40 respondents:</p>
<ul>
<li>31 (77.5%) are still actively working on their projects</li>
<li>19 (47.5%) started their projects before applying to the News Challenge</li>
<li>14 (35.0%) said they received sufficient funding, 8 (20.0%) said they didn&rsquo;t receive enough money to achieve their goals, and 12 (30.0%) didn&rsquo;t report because they are still working on their projects</li>
</ul>
<p>According to our classification system, of all 63 projects:</p>
<ul>
<li>14 (22.2%, $5,214,000) were non-profit, 15 (23.8%, $8,790,400) were schools, and 29 (46.0%, $7,267,100) were for-profits</li>
<li>14 (22.2%, $9,820,500) were startup projects, 22 (34.9%, $7,692,400) expanded an existing project, and 27 (42.9%, $4,431,600) were side projects</li>
<li>27 (42.9%, $5,073,400) focused on content production, 10 (15.9%, $7,606,000) focused on education, and 28 (44.4%, $9,265,100) built software</li>
</ul>
<p>The following are a collection of responses we received to the survey&rsquo;s open-ended questions.</p>
<h3 id="1-how-were-you-successful-with-your-project">1. How were you successful with your project?</h3>
<p>“Readers played the games and, we think, gained an increased understanding of these issues and enjoyed themselves doing it. The games remain on our site and continue to attract traffic and interest.”</p>
<p>“Overall, I considered the project success. We designed a new newsroom for The Chronicle, the student paper at Duke University, designed to leverage a long-term view of where media is heading. Beyond that, the goal of the project was also to identify broader lessons that other news organizations could apply.”</p>
<p>“Our code is also open source and has been used by several other projects (goJournalism.ca, YouCommNews.com and others). While these projects have not been wildly successful it has shown that there is a real interest in this model. Other projects like SpotUs.it, YouCapital.It, Emphas.is and others show that there has been a cultural change inviting more crowdfunding projects.”</p>
<p>“At this point we&rsquo;ve completed the initial integration of PRX Story Exchange with Spot.us via APIs and collaborative coding - which is one of the principal goals of the project. We are just now rolling out the first pilot instance of Story Exchange with Louisville Public Media, and then plan to offer it more broadly in partnership with local public radio stations and producers.”</p>
<p>“Yes, in the sense that we used a suite of free, simple tools to build a site and a forum for online community. No, in the sense that the hoped-for community never coalesced around the tools we&rsquo;d created.”</p>
<p>“We&rsquo;ve continued the project well beyond the duration of Knight&rsquo;s support, seeking other foundation funding and donations from individuals to allow us to support innovative new media efforts in different corners of the developing world.”</p>
<p>“Several stations are now using and contributing to the tools.”</p>
<p>“We got the concept, in it&rsquo;s most basic form, built! And we did it with some money to spare.”</p>
<p>“Very modest goals were achieved.”</p>
<h3 id="2-what-challenges-did-you-face-with-your-project">2. What challenges did you face with your project?</h3>
<p>“The biggest challenge has been finding people with computer programming skills/backgrounds who are interested in studying journalism.”</p>
<p>“We were discouraged [by the Knight Foundation] from changing our focus from print to digital content while receiving grant funds. As a result, we had to wait until the end of our grant to do what our customers were asking us to do (allow them to publish to eReaders, the Kindle, mobile phones and tablet computers).”</p>
<p>“Time: If I thought the project would take X amount of time, it actually took about 100x.”</p>
<p>“Biggest failure to date is that we simply haven&rsquo;t succeeded in sparking any sustained, large-scale public involvement/contribution. Exploring why that is and what we can do to change it is where we&rsquo;re at right now.”</p>
<p>“A media partnership was difficult to forge due to the financial problems facing news companies.”</p>
<p>“Building partnerships with newspapers and publishers has been tough.”</p>
<p>“Learning curve [&hellip;] While I am grateful for the initial grant - one thing I&rsquo;ve found is that the more funds you have, the more you need. Learning to keep your scope under control is tough. No amount of funds is enough to do everything you want. Just ask ProPublica.”</p>
<p>“The students did a terrific job coming up with the [project] concept in a four month time frame, but then the turmoil within the newspaper industry slowed considerably the progress of the [project] launch and contributed to its short duration.”</p>
<p>“The technological capacity of the organizations in Kenya whom we were encouraging to use our tech was lacking and therefore hindered adoption of [our project].”</p>
<p>“Not having programming background has been a real challenge. Not being able to devote two full-time brains to the business and product development had a definite impact.”</p>
<p>“Software built ‘for journalism,’ I&rsquo;ve found, is rarely as efficient, timely, or useful as software built ‘for users.’”</p>
<p>“Changing content, not enough staff, exploding field.”</p>
<p>“We failed to invest in evaluation, documentation, and communications. We are dealing with a community that is slow to adopt change, and we lacked the resources to encourage them.”</p>
<p>“Insular community in small geographic locale meant focus on controversial topic was conversational non-starter online.”</p>
<h3 id="3-what-advice-would-you-give-to-a-younger-you-starting-on-the-same-project">3. What advice would you give to a younger you starting on the same project?</h3>
<p>“Be willing to go a bit bigger.”</p>
<p>“Building partnerships with people in other countries is a really tough process. Track record matters - someone with an innovative idea is worth talking to, but it&rsquo;s worth seeing whether that person has ever managed a project previously, gotten other efforts off the ground.”</p>
<p>“Don&rsquo;t hire a tech firm. Interview people for CTO slots, give them an equity stake and name them publicly as a part of the project. Send them out to speak publicly on behalf of the project. Get their skin in the game.”</p>
<p>“If you haven&rsquo;t met a few of the Knight judges in person prior to applying, you don&rsquo;t stand a chance of winning. The Knight challenge is a great marketing tool for the Knight Foundation and the newspaper industry. If your project isn&rsquo;t going to sound awesome in a NYTimes article about this year&rsquo;s winners, it won&rsquo;t be picked.”</p>
<p>“Have a clear understanding between editorial and technical staff about what the project should do and the technical limitations, and try to address these in a project design phase before the actual implementation process.”</p>
<p>“Release code frequently. While this isn&rsquo;t something we necessarily learned in this project, it has been hugely helpful getting our code out there, getting eyes on it, and seeing how people use and react to it - while we&rsquo;re still actively developing it.”</p>
<p>“Better understand the application process and what reviewers are looking for.”</p>
<p>“Go for a sustainable business idea rather than a grant-gaining idea.”</p>
<p>“Ask for less money up front; insist on the ability to change, morph and pivot like any other business; and create a product that people will pay for in some manner up front versus building something that may or may not attract advertising or investment. If you can create a sustainable and growing business right up front through ‘bootstrapping,’ you don&rsquo;t need as much funding and you may not need any funding at all.”</p>
<p>“Insist on more support (mentorship, networking, guidance, collaboration) from the Knight Foundation. Many of us felt that some projects were Knight favorites and received exceptional attention. Looking back, I think that I would be more insistent on getting that support for my project.”</p>
<p>“Mobile phone technology is moving faster than you think. Don&rsquo;t write code for yesterday&rsquo;s platforms, even if they were the big thing when you started. Voice is in rapid decline, data is king, don&rsquo;t be fooled that apps are the end game, see what is coming in your context a year or two down the line.”</p>
<p>“If your goal is to kick-start a project, give serious thought to the next step in funding. Partial funding can be worse than no funding. [&hellip;] Reach out to KNC staff often. They may not engage with you. [&hellip;] Use KNC connections wisely. In my case, who you know is more important that the quality of your code/idea.”</p>
<p>“Don&rsquo;t be illiterate. When this project started, I really couldn&rsquo;t code. I could not read the code I was paying for, or assess its quality. Since then, I&rsquo;ve taken night school courses. My objective is not to become a coder but to become the World&rsquo;s Worst Programmer — I want to be able to read the code I pay others to write, and I want to be able to fix bugs and add small features to my site without anyone&rsquo;s assistance or permission.”</p>
<h3 id="4-how-did-you-modify-the-scope-of-your-project-over-time-if-at-all">4. How did you modify the scope of your project over time (if at all)?</h3>
<p>“There are lots of feature ideas we had in the beginning that never came to fruition - we cut them out in order to get something up and out the door [&hellip;] There are lots of features twe&rsquo;ve built since that I hadn&rsquo;t dreamed up when we first launched.”</p>
<p>“We expanded, both in terms of focus and in terms of diversifying our funding. Basically, KNC allowed us to undertake an experiment, and based on the success of that experiment, we made [the project] a permanent part of our newsroom and have scaled it up.”</p>
<h3 id="5-in-your-opinion-what-are-the-ways-in-which-the-knight-news-challenge-has-been-successful">5. In your opinion, what are the ways in which the Knight News Challenge has been successful?</h3>
<p>“The Challenge has gotten all kinds of submissions. In a very strange way that is a form of success. They have convinced hundreds (thousands) of people to think about innovative ideas. It has been a cultural win for the journalism community. Before the Knight News Challenge - I don&rsquo;t think there was an institution that really championed experimentation.”</p>
<p>“Knight built a high reputation of the contest right from the start - attracting top players and persons to the project (Sir Tim Berners-Lee etc.) and jury members, too. [&hellip;] KNC victory opens doors.”</p>
<p>“The News Challenge attracted technical talent into future-of-news efforts, and got people who, like me, had never applied for a grant or even considered applying for one before.”</p>
<p>“I love the Challenge&rsquo;s openness to experiment and its willingness to take risks. These are precisely the traits that professional journalism has bred out of its practitioners over the last half-century. We need them and the Challenge has, I think, done a great deal to reinject them into the news bloodstream.”</p>
<p>“Bringing attention to the idea of innovation in news.”</p>
<p>“Great forum to share ideas, meet people, and a unique funding model for edgy ideas that would never get funding elsewhere (certainly true for Africa). A real commitment to journalism, democracy and development that comes through and inspires.”</p>
<p>“The KNC has resulted in some wonderful innovation in media efforts. We benefitted by being introduced to new partners and new ideas. We were able to hire development staff we never could&rsquo;ve afforded otherwise.”</p>
<h3 id="6-in-your-opinion-what-are-the-ways-does-the-knight-news-challenge-need-to-be-improved">6. In your opinion, what are the ways does the Knight News Challenge need to be improved?</h3>
<p>“Systems needed to be put in place to evaluate the open-source code generated through the News Challenge and identify ways to make it more widely deployed.”</p>
<p>“Capture more systematically the lessons of the challenge winners, and find additional ways to share the results of the projects.”</p>
<p>“Tracking the history of grants and providing the public with some metrics on their success would be a pleasant thing. I&rsquo;m confident [the Knight Foundation does] this internally.”</p>
<p>“Shorten the application and decision process.”</p>
<p>“It would have been nice to get the $ right away instead of waiting for 4 months to get started.”</p>
<p>“Thus far, I think KNC has fallen a bit short in turning the various grantees into a community that works together and supports each other&rsquo;s work. Perhaps that&rsquo;s an unrealistic goal, but it seems like the field would benefit from regular collaboration and engagement between grant recipients.”</p>
<p>“Perhaps introducing grantees to other funders in a way to help sustain projects long-term would be useful.”</p>
<p>“Alone, the News Challenge is just a collection of projects. Taken together with all the people who applied for the News Challenge, you have the makings of a movement. To my knowledge, no effort has been made to keep the people who applied but were not funded together with those who were as an ongoing future-of-news community. A program like the News Challenge has to be careful, otherwise they risk encouraging a few dozen teams and discouraging thousands of others.”</p>
<p>“Knight needs to help News Challenge ideas turn into sustainable institutions.”</p>
<p>“Collaboration needs to be funded. We work in our own project silos. There was never enough attention given to drive collaboration between projects. The annual conference was not sufficient for group learning opportunities. Many of us suffered similar pains in isolation.”</p>
<p>“The News Challenge can improve its logistical support for journalism initiatives that lack professsional business expertise. If we want to support ‘informed, engaged communities’ then we need to recognize that most grassroots, community initiatives won&rsquo;t be lead by people with conventional ‘corporate’ skills. Every effort should be made to support information operators who have never used a spreadsheet and those who have no idea what an elevator pitch or an executive summary is. It needs to demystify the process and eliminate barriers to entry. Red tape should be viewed as an existential enemy.”</p>
<p>“At times we would have appreciated more feedback and help from people at the Foundation. I was also a big fan of the listserve of recipients that functioned in the early days of the challenge and would like to see that renewed. IdeaLab does not offer the same kind of sharing and informal give and take the listserve did.”</p>
<p>“Though vagueness is useful on Knight&rsquo;s side, better guidance on an annual basis as to what the News Challenge is truly committed to funding would be helpful for applicants. Some of the questions on the grant application form is confusing. The word limit is a great improvement over the characters limit!”</p>
<p>“The selection process my year was somewhat chaotic, and communication with me as an applicant was confusing &ndash; I almost didn&rsquo;t get my grant because of a miscommunication between the Challenge leaders and me that led to one real misfire of a phone interview. (Happy ending, not complaining, but it was definitely a process breakdown.) [&hellip;] After the selection process, I&rsquo;ve been surprised at the low level of communication with Knight &ndash; close to nil. I&rsquo;m at a relatively advanced stage of my career and happy to dig my own trench; I don&rsquo;t feel I&rsquo;ve been hurt by this lack of communication. But if I were younger/less experienced I think it might be disappointing.”</p>
<p>“For each project awarded, include funding for evaluation and recommend someone to do the evaluation work as it takes away from the project focus for the grantee to start doing research and eval.”</p>
<p>“Recoup the innovation lost in projects not selected. Can we help non-winners with their project, outside of cash funding?”</p>]]></content:encoded>
    </item>
    <item>
      <title>Class: Blogging Best Practices, 4/11/11</title>
      <link>https://danielbachhuber.com/class-blogging-best-practices-41111/</link>
      <pubDate>Fri, 15 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/class-blogging-best-practices-41111/</guid>
      <description>&lt;p&gt;Better way late than never on this one, I suppose. Monday night was the first of three editions for Blogging Best Practices. All nine students showed up. It went &lt;em&gt;surprisingly&lt;/em&gt; well, especially considering I had only a &lt;a href=&#34;http://danielbachhuber.com/2011/04/08/what-should-i-teach-for-blogging-best-practices/&#34;&gt;nebulous idea of what I wanted to teach on Friday&lt;/a&gt; and 45 minutes to prepare the actual lesson before class. I suspect it illustrates the importance of knowing your material. Monday&amp;rsquo;s busyness continued through the week, but I&amp;rsquo;d like to nail down a few thoughts while they&amp;rsquo;re still lukewarm in my memory. The class notes are at the end of the post.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Better way late than never on this one, I suppose. Monday night was the first of three editions for Blogging Best Practices. All nine students showed up. It went <em>surprisingly</em> well, especially considering I had only a <a href="http://danielbachhuber.com/2011/04/08/what-should-i-teach-for-blogging-best-practices/">nebulous idea of what I wanted to teach on Friday</a> and 45 minutes to prepare the actual lesson before class. I suspect it illustrates the importance of knowing your material. Monday&rsquo;s busyness continued through the week, but I&rsquo;d like to nail down a few thoughts while they&rsquo;re still lukewarm in my memory. The class notes are at the end of the post.</p>
<p>First, it&rsquo;s a diverse class in many measurements. As a practicing playwright, one student wants to start a theatre and movie review blog. I had to help her log into the computer. Another is working for a startup and needs to develop a product marketing strategy that involves producing high-quality, relevant content. The best way to address this diversity is to make the class as dynamic as possible. Leverage the strengths of each student, and make their curiosities everyone&rsquo;s curiosities. We did this by making the period highly conversational and using a collaborative Google Doc as a reference point.</p>
<p>One post-class survey:</p>
<blockquote>
<p>I liked the open approach, the attendees have several interesting questions and the fact that we all have different backgrounds and level of knowledge makes it better.</p></blockquote>
<p>Another post-class survey:</p>
<blockquote>
<p>I found it useful using shared google doc and the prepared questions and notes that were were able all link to. I also found it useful that we had open discussions with Daniel and was very helpful that he gave us examples of sites.</p></blockquote>
<p>To improve the approach for next time, I think I should prepare more links and examples for the Google Doc. If a student gets bored of what we&rsquo;re talking about because they already know it, I&rsquo;d much rather have them learn onward than switch their brains completely off topic.</p>
<p>We have a <a href="http://bbp2011.danielbachhuber.com/">class website</a> for the time between physical classes. My hope is they take to posting questions there and answering one another. I&rsquo;ve also <a href="http://bbp2011.danielbachhuber.com/2011/04/15/getting-started-with-wordpress/">created individual websites for each person</a> to practice publishing for the duration of the course.</p>
<p>The challenging thing for me at this point: satisfaction with a course could but doesn&rsquo;t necessarily correlate with the quality of the course. I wish I knew how to test for and evolve the latter.</p>
<h3 id="introductions-12-minutes">Introductions (12 minutes)</h3>
<p><strong>Blogging Best Practices, the course</strong></p>
<ul>
<li>Three Monday nights: April 11th, 25th and May 2nd</li>
<li>6:30 pm to 8:30 pm in room 440</li>
<li>Largely free-form, ask questions whenever you have them</li>
<li>Fan of collaborative notes on a Google Doc; please add to them</li>
<li>Course website: <a href="http://bbp2011.danielbachhuber.com/">http://bbp2011.danielbachhuber.com/</a></li>
</ul>
<p><strong>Who I am</strong></p>
<ul>
<li>Daniel Bachhuber</li>
<li>digital media manager at the CUNY</li>
<li>Blogging since 2007; variety of content</li>
<li>danielbachhuber.com</li>
<li><a href="mailto:d@danielbachhuber.com">d@danielbachhuber.com</a></li>
</ul>
<p><strong>Who are you? (Name, Where you work, and favorite web tool)</strong></p>
<ul>
<li>Erika Suban, freelance writer for Italian magazines, social media tools</li>
<li>Christopher Boland, Associate Editor, ONE magazine/Catholic Near East Welfare Association</li>
<li>Christina Ruggieri, Marketing Consultant / Blogger, WordPress.org</li>
<li>Emily Theil, iboutiques.com marketing PR, blogger, google, twitter, facebook</li>
<li>Chantal McLaughlin, EVP/Editorial Director, iboutiques.com, Google Alerts/Google Docs/Google Images/Tweetdeck</li>
<li>Evelin Maciel Brisolla, journalist, TV Câmara (Congress&rsquo; TV in Brasil); social media and google</li>
<li>Nancy Blazquez, formerly of Bloomberg News (Radio Producer/Reporter)&hellip; No favorite web tool that I can think of.</li>
</ul>
<h3 id="reading-discussion-20-minutes">Reading discussion (20 minutes)</h3>
<p><a href="http://snarkmarket.com/2010/4890">Stock and Flow</a></p>
<p>Stock is content, similar to money in the bank; content that is relevant right now, this minute, as well as 3 months from now (ie. good stuff with longevity). Flow is more in the moment, fleeting news updates perhaps with less substance. Flow is the latest rumor about Twitter, or lessoriginal. Stock is like a commodity. It has less of a news peg and if it does it’s only because it’s some sort of deep analysis.</p>
<p>Check out blog by John Gruber; Daring Fireball, is very “flow”; he has anywhere between 2 and 8 posts a day that are short pieces. The title actually links to the original article and the star icon links to the post. He’ll pull a quote from the piece that he’s linking to. He’ll also for example, see his piece on Bloomberg iPad App; brief nugget of analysis, kind of snarky. Short updates that are reactionary, talking about corporate announcements for example. He also has long pieces too that tend to be picked up by other people. His beat is Apple and technology beat, a premier blogger around Apple news. He uses The Deck ad network.</p>
<p><a href="http://daringfireball.net/2011/03/pricing_should_be_simple">http://daringfireball.net/2011/03/pricing_should_be_simple</a></p>
<p><a href="http://philip.greenspun.com/writing/changed-by-web-and-weblog">How the Web and Weblog have changed Writing</a></p>
<p>There are no rules: you can write as long as you want.</p>
<p>Why we link: #J361 presentation on curation</p>
<p>Importance of transparency and authenticity on the Web. Be the authoritative source for whatever your beat is.</p>
<p>Examples: Google, The Drudge Report.</p>
<h3 id="what-is-blogging-30-minutes">What is blogging? (30 minutes)</h3>
<p><strong>Blogging is:</strong></p>
<ul>
<li>publishing on the web</li>
<li>timestamps displaying certain date and time of publication</li>
<li>has many different forms including short, Twitter-like status updates an John Gruber-esque posts as we’ve seen where he pulls choice graph from a piece he’s linking to, and blogging is also really long blog posts. Check out Felix Salmon, a blogger for Reuters who does really long analysis pieces.</li>
<li>blogging is conversational</li>
<li>blogging is interactive and can be different mediums (audio; video; photos). Check out Big Picture blog. Creative commons. website. allows for you to copyright your work/photos easily and legally</li>
<li>The Web is built on good will so you should contribute to that.</li>
<li><a href="http://www.niemanlab.org/">http://www.niemanlab.org/</a></li>
</ul>
<p><strong>How is blogging different than X?</strong></p>
<p>Terms you might’ve heard</p>
<ul>
<li>Post:</li>
<li>Tags and categories: keywords to enhance searchability and to organize your content; a type of taxonomy (defines a collection of terms.) A way to organize your content and make it easier for others to find that content.</li>
<li>SEO: Search Engine Optimization
<ul>
<li><a href="http://powazek.com/posts/2090">http://powazek.com/posts/2090</a></li>
<li><a href="http://www.poynter.org/how-tos/digital-strategies/123396/how-to-improve-website-rankings-advice-from-google-and-bing-at-sxsw/">http://www.poynter.org/how-tos/digital-strategies/123396/how-to-improve-website-rankings-advice-from-google-and-bing-at-sxsw/</a></li>
</ul>
</li>
<li>Blogger:</li>
<li>CMS:</li>
<li>HTML/CSS:</li>
<li>WordPress:</li>
<li>Structured Data (see Yelp entry on Etsy labs with multiple pieces of data so it’s more of a reference tool)</li>
</ul>
<p><strong>@todo</strong> Cover this section next time: Types of blogging</p>
<p><strong>Important things to consider when starting a blog</strong></p>
<ul>
<li>Who your audience is; identify what needs you want to be serving; figure out who your competitors are (branding)</li>
<li>Who’s your audience? (Average age? Sex? Income? How to find out - The Pew Research Center.)</li>
<li>How often you publish</li>
<li>Find a niche (the market you are going after)</li>
<li>Take small steps</li>
<li>Copyright Laws (licensing photos, trademark issues, etc. How to stipulate whether or not others can use content from your site: <a href="https://www.creativecommons.org">www.creativecommons.org</a>- allows you to choose types of use of your work - whether others can use for free, or they have to pay for a license)</li>
</ul>
<h3 id="between-now-and-next-class">Between now and next class</h3>
<ul>
<li>Daniel: Send three links to read tomorrow and at the beginning of next week</li>
<li>Daniel: Create test websites for everyone in the class</li>
<li>Daniel: Prepare WordPress reference material</li>
</ul>
<h3 id="topics-for-next-class">Topics for next class</h3>
<ul>
<li>More review of terms</li>
<li>What you should consider when you’re setting up WordPress</li>
<li>Legal considerations for bloggers</li>
<li>Overview of genres of the most common types of blog posts</li>
<li>Cover the types of blogging mentioned in first class agenda that wasn’t covered</li>
<li>Overview of “protocol” or etiquette of the blogosphere in terms of Blog Rolls, seeking and pitching guest bloggers/blog posts</li>
<li>Which tool is better to post video?</li>
</ul>
<h3 id="topic-for-last-class">Topic for last class</h3>
<p>Basic HTML</p>]]></content:encoded>
    </item>
    <item>
      <title>Workshop: Website hack session, 4/14/11</title>
      <link>https://danielbachhuber.com/workshop-website-hack-session-41411/</link>
      <pubDate>Fri, 15 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/workshop-website-hack-session-41411/</guid>
      <description>&lt;p&gt;To accommodate &lt;a href=&#34;http://entrepreneurial.2011.journalism.cuny.edu/&#34;&gt;Entrepreneurial Journalism&lt;/a&gt; students, I moved my office hours to Thursday this week. It was &lt;a href=&#34;http://www.journalism.cuny.edu/events/website-hack-session-041411/&#34;&gt;scheduled for 5 pm&lt;/a&gt;, but no one showed up until 5:30 pm. This was a problem, as there was a rush at the end when I had to leave at 6:30 pm. Overall, three students showed up of the five expected.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>To accommodate <a href="http://entrepreneurial.2011.journalism.cuny.edu/">Entrepreneurial Journalism</a> students, I moved my office hours to Thursday this week. It was <a href="http://www.journalism.cuny.edu/events/website-hack-session-041411/">scheduled for 5 pm</a>, but no one showed up until 5:30 pm. This was a problem, as there was a rush at the end when I had to leave at 6:30 pm. Overall, three students showed up of the five expected.</p>
<p>It might be more effective to have slots for students to sign up for if I can find an easy tool for this. Also, the <a href="http://danielbachhuber.com/2011/04/11/idea-more-effective-office-hours/">whiteboard idea</a> was a dud. I get the sense they only want answers from the instructor (or someone who appears knowledgeable) instead of each other. Making those connections in meat space realtime seems awkward. Next week, I&rsquo;ll require students to take the pre-workshop survey to save their spot and make connections proactively if I see overlap.</p>
<p>One of the Entrepreneurial Journalism students came by with a whole series of questions about blogging during my office hours this evening. We talked for a few minutes, but I thought they&rsquo;d be better answered by existing documentation and possibly attending the Blogging Best Practices course. Here are the questions:</p>
<ul>
<li>How do you increase engagement?</li>
<li>How to create great traffic on the blog? - tips &amp; tricks</li>
<li>How much blogging is too much (overblogging)?</li>
<li>How much information is too much on one blog?</li>
<li>What do people typically want to read in a blog?</li>
<li>What types of blog designs bring readers in?</li>
<li>Why do people like certain blogs vs. others?</li>
<li>How to create and maintain a loyal blog fanbase as you grow without &ldquo;selling out&rdquo; from your original base?</li>
<li>How to engage readers into blogs?</li>
<li>How to increase participation (ie blog comments, repost, share)</li>
<li>Blogging etiquette when using other people&rsquo;s content</li>
<li>Your top 3 personal preferred blogging sites</li>
</ul>
<p>Another student came by my office hours this evening with more work to be done on her WordPress theme. She has someone else helping her now too, so she&rsquo;s made progress since <a href="http://danielbachhuber.com/2011/03/30/workshop-website-hack-session-33011/#p%5BOotLww%5D">last time we met</a>. Tonight, we registered a custom navigation menu for her header. We also tried to port CSS from her Posterous website to her WordPress one with limited success. Posterous&rsquo; lack of support for custom taxonomies is why she&rsquo;s making the switch.</p>
<p>The last student stopped by my office hours this evening for the last 10 minutes. She&rsquo;s looking for the proper WordPress theme to use for her publication. She has detailed wireframes that will be hard to match exactly without paying for customization, but we found a theme likely close enough to launch with. I opened the door for her to ask the web team for feedback on the themes she&rsquo;s looking at.</p>]]></content:encoded>
    </item>
    <item>
      <title>An email newsletter for The Local Fort Greene-Clinton Hill</title>
      <link>https://danielbachhuber.com/an-email-newsletter-for-the-local-fort-greene-clinton-hill/</link>
      <pubDate>Thu, 14 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/an-email-newsletter-for-the-local-fort-greene-clinton-hill/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://fort-greene.thelocal.nytimes.com/&#34;&gt;&lt;img src=&#34;images/fgchemailnewsletter1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;153&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;ve just launched an email newsletter for &lt;a href=&#34;http://fort-greene.thelocal.nytimes.com/&#34;&gt;The Local Fort Greene-Clinton Hill&lt;/a&gt;. I hope to report on how it&amp;rsquo;s going as time goes on; we think it will be a useful tool for deepening engagement with the community.&lt;/p&gt;&#xA;&lt;p&gt;The setup is a combination of &lt;a href=&#34;http://wufoo.com/&#34;&gt;Wufoo&lt;/a&gt; and &lt;a href=&#34;http://www.mailchimp.com/&#34;&gt;MailChimp&lt;/a&gt;. The call to action in the C-column opens a &lt;a href=&#34;https://cunyjschool.wufoo.com/forms/sign-up-for-the-locals-daily-email-newsletter/&#34;&gt;signup form&lt;/a&gt; in a pop-up asking for full name and email address. When the user submits this first form, they receive a confirmation email thanking them for signing up and asking them to take a &lt;a href=&#34;https://cunyjschool.wufoo.com/forms/the-local-reader-survey/&#34;&gt;short reader survey&lt;/a&gt;. This survey asks for:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://fort-greene.thelocal.nytimes.com/"><img src="images/fgchemailnewsletter1.jpg" alt=""  width="600"
	height="153"  /></a></p>
<p>We&rsquo;ve just launched an email newsletter for <a href="http://fort-greene.thelocal.nytimes.com/">The Local Fort Greene-Clinton Hill</a>. I hope to report on how it&rsquo;s going as time goes on; we think it will be a useful tool for deepening engagement with the community.</p>
<p>The setup is a combination of <a href="http://wufoo.com/">Wufoo</a> and <a href="http://www.mailchimp.com/">MailChimp</a>. The call to action in the C-column opens a <a href="https://cunyjschool.wufoo.com/forms/sign-up-for-the-locals-daily-email-newsletter/">signup form</a> in a pop-up asking for full name and email address. When the user submits this first form, they receive a confirmation email thanking them for signing up and asking them to take a <a href="https://cunyjschool.wufoo.com/forms/the-local-reader-survey/">short reader survey</a>. This survey asks for:</p>
<ul>
<li>What type of coverage they&rsquo;re interested in or would like to help produce</li>
<li>What they want to see more of from The Local</li>
<li>Their address</li>
</ul>
<p>The idea is to go <a href="http://www.publicinsightnetwork.org/">Public Insight Network</a>-style and build up a database of The Local&rsquo;s readership. Right now, this data is just stored in Wufoo but we&rsquo;ll eventually set up another <a href="http://highrisehq.com/">Highrise</a> account for the reporters to use.</p>
<p>Of course, all of this can be A/B tested, generates trackable data, etc. Let the experiments begin.</p>
<p>Every morning, the headlines are sent out at 7 am.</p>
<p><img src="images/headlines-from-the-local-fort-greene-clinton-hill-for-04_14_2011-e28094-archive1.jpg" alt=""  width="600"
	height="300"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Plugins for publishers, April 2011 edition</title>
      <link>https://danielbachhuber.com/plugins-for-publishers-april-2011-edition/</link>
      <pubDate>Wed, 13 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/plugins-for-publishers-april-2011-edition/</guid>
      <description>&lt;p&gt;The following are WordPress plugins I find myself using and recommending regularly. In the interest of making this available to everyone, here&amp;rsquo;s the full list:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/safecss/&#34;&gt;WordPress.com Custom CSS&lt;/a&gt; – Use your own CSS to tweak your website without modifying your theme’s files. Includes a revision history so you can always backtrack to prior versions. This is a feature WordPress.com charges $14.97/year for and has saved the J-School significant pain.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/co-authors-plus/&#34;&gt;Co-Authors Plus&lt;/a&gt; – Assign multiple bylines to an article. You&amp;rsquo;ll need to edit your theme templates too for the multiple bylines to appear.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/w3-total-cache/&#34;&gt;W3 Total Cache&lt;/a&gt; – Speed up the load time of your website with caching. Caching takes a generated page of your website and stores it statically for future use.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/after-the-deadline/&#34;&gt;After the Deadline&lt;/a&gt; – Spelling, style, and grammar checker powered by artificial intelligence. Catches misused words, passive voice, and cliches.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/edit-flow/&#34;&gt;Edit Flow&lt;/a&gt; - Move your editorial workflow into WordPress with custom post statuses, editorial comments, and calendar and story budget views.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/post-author-box/&#34;&gt;Post Author Box&lt;/a&gt; – Add an informational box about the author to the beginning or ending of every post (or any other post type). Can also be used to add the byline if your theme doesn&amp;rsquo;t support bylines.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/google-calendar-events/&#34;&gt;Google Calendar Events&lt;/a&gt; – Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget. It&amp;rsquo;s the Google Calendar widget you always wanted.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/audio-player/&#34;&gt;Audio Player&lt;/a&gt; - Embed MP3 files in your content with a simple shortcode.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/json-api/&#34;&gt;JSON API&lt;/a&gt; – For the programmatically-inclined, access all of your content through a JSON API. Useful for pulling content into your website with jQuery.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/twitter-tools/&#34;&gt;Twitter Tools&lt;/a&gt; – Automatically publish your articles to Twitter, and pull in your most recent tweets into a widget area.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/subscribe-to-comments/&#34;&gt;Subscribe to Comments&lt;/a&gt; – Allow commenters to subscribe to email notifications on threads they’ve commented on. Increase repeat visitors and engagement.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/wp-emphasis/&#34;&gt;Emphasis&lt;/a&gt; – Paragraph- and sentence-level linking and highlighting. &lt;a href=&#34;http://open.blogs.nytimes.com/2011/01/11/emphasis-update-and-source/&#34;&gt;Originally developed&lt;/a&gt; for nytimes.com, Michael Donohoe open-sourced the code and Ben Balter made it into a WordPress plugin. Every website should have emphasis.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/restrict-multisite-plugins/&#34;&gt;Restrict Multisite Plugins&lt;/a&gt; - For those running multisite instances, allow your users to activate only a limited number of approved plugins. Interface is very similar to WordPress&amp;rsquo; network theme management.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Also, as a part of the documentation we&amp;rsquo;re continually preparing for the J-School, here are the &lt;a href=&#34;http://tech.journalism.cuny.edu/request-wordpress-plugin/&#34;&gt;criteria I follow for adding new plugins&lt;/a&gt;:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The following are WordPress plugins I find myself using and recommending regularly. In the interest of making this available to everyone, here&rsquo;s the full list:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/safecss/">WordPress.com Custom CSS</a> – Use your own CSS to tweak your website without modifying your theme’s files. Includes a revision history so you can always backtrack to prior versions. This is a feature WordPress.com charges $14.97/year for and has saved the J-School significant pain.</li>
<li><a href="http://wordpress.org/extend/plugins/co-authors-plus/">Co-Authors Plus</a> – Assign multiple bylines to an article. You&rsquo;ll need to edit your theme templates too for the multiple bylines to appear.</li>
<li><a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> – Speed up the load time of your website with caching. Caching takes a generated page of your website and stores it statically for future use.</li>
<li><a href="http://wordpress.org/extend/plugins/after-the-deadline/">After the Deadline</a> – Spelling, style, and grammar checker powered by artificial intelligence. Catches misused words, passive voice, and cliches.</li>
<li><a href="http://wordpress.org/extend/plugins/edit-flow/">Edit Flow</a> - Move your editorial workflow into WordPress with custom post statuses, editorial comments, and calendar and story budget views.</li>
<li><a href="http://wordpress.org/extend/plugins/post-author-box/">Post Author Box</a> – Add an informational box about the author to the beginning or ending of every post (or any other post type). Can also be used to add the byline if your theme doesn&rsquo;t support bylines.</li>
<li><a href="http://wordpress.org/extend/plugins/google-calendar-events/">Google Calendar Events</a> – Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget. It&rsquo;s the Google Calendar widget you always wanted.</li>
<li><a href="http://wordpress.org/extend/plugins/audio-player/">Audio Player</a> - Embed MP3 files in your content with a simple shortcode.</li>
<li><a href="http://wordpress.org/extend/plugins/json-api/">JSON API</a> – For the programmatically-inclined, access all of your content through a JSON API. Useful for pulling content into your website with jQuery.</li>
<li><a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a> – Automatically publish your articles to Twitter, and pull in your most recent tweets into a widget area.</li>
<li><a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">Subscribe to Comments</a> – Allow commenters to subscribe to email notifications on threads they’ve commented on. Increase repeat visitors and engagement.</li>
<li><a href="http://wordpress.org/extend/plugins/wp-emphasis/">Emphasis</a> – Paragraph- and sentence-level linking and highlighting. <a href="http://open.blogs.nytimes.com/2011/01/11/emphasis-update-and-source/">Originally developed</a> for nytimes.com, Michael Donohoe open-sourced the code and Ben Balter made it into a WordPress plugin. Every website should have emphasis.</li>
<li><a href="http://wordpress.org/extend/plugins/restrict-multisite-plugins/">Restrict Multisite Plugins</a> - For those running multisite instances, allow your users to activate only a limited number of approved plugins. Interface is very similar to WordPress&rsquo; network theme management.</li>
</ul>
<p>Also, as a part of the documentation we&rsquo;re continually preparing for the J-School, here are the <a href="http://tech.journalism.cuny.edu/request-wordpress-plugin/">criteria I follow for adding new plugins</a>:</p>
<ul>
<li><strong>GPL-compatible</strong> – We can only install plugins on our server that are <a href="http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses">compatible</a> with the <a href="http://www.gnu.org/licenses/licenses.html">GNU General Public License</a>. This ensures we have the legal right to modify the plugin if it breaks, and make it available to all members of our community. <a href="http://codex.wordpress.org/Theme_Review#Licensing">All WordPress.org plugins should be compatible</a>. The license must be packaged with the plugin. Unfortunately, <a href="http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses">Creative Commons licenses are not GPL-compatible</a>.</li>
<li><strong>Regularly updated and well-rated</strong> – The plugin has been updated in the last 6 months or so by its author. WordPress adds new features regularly, so it’s necessary the developer keep the plugin compatible with the latest version. Active users can also indicate whether the most recent version of the plugin is compatible with the most recent version of WordPress. You can find this information on the right hand of the plugin’s profile page.</li>
<li><strong>Performs well</strong> – A couple of ways you can see whether it’s a good plugin are googling the name of the plugin to see if there’s any negative feedback, or looking in the support forums. If there are a lot of site comments or discussion threads complaining about problems with the plugin, it’s usually a bad sign.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Background information on our survey of Knight News Challenge projects</title>
      <link>https://danielbachhuber.com/background-information-on-our-survey-of-news-challenge-projects/</link>
      <pubDate>Tue, 12 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/background-information-on-our-survey-of-news-challenge-projects/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re reading this post because I, &lt;a href=&#34;http://www.chrisamico.com/blog/&#34;&gt;Chris Amico&lt;/a&gt;, or one of two other collaborators emailed you this link, congratulations! You&amp;rsquo;re one of the 64 projects funded since 2007 through the Knight Foundation&amp;rsquo;s &lt;a href=&#34;http://newschallenge.org.&#34;&gt;News Challenge&lt;/a&gt; contest. These projects have been granted $21.9 million dollars over the last four years, and we&amp;rsquo;re curious to hear how they ended up.&lt;/p&gt;&#xA;&lt;p&gt;A bit of background. Next weekend, David Cohn of &lt;a href=&#34;http://spot.us/&#34;&gt;Spot.us&lt;/a&gt; (not one of the trouble-makers) is bringing a couple dozen of us together for &lt;a href=&#34;http://www.rjionline.org/events/stories/hardly-strictly-young/index.php&#34;&gt;Hardly Strictly Young&lt;/a&gt;. It&amp;rsquo;s at the Reynolds Journalism Institute, sponsored by the Knight Foundation, and will be my first trip to Missouri. &lt;a href=&#34;http://www.rjionline.org/events/stories/hardly-strictly-young/agenda.php&#34;&gt;Over two full days&lt;/a&gt;, we&amp;rsquo;ll discuss facets of the Knight Foundation&amp;rsquo;s commission on the information needs of communities. Part of this, or at least what those of us running the survey think, is to help the Knight Foundation learn from the first four years of the News Challenge. It is arguably the most significant effort from news industry actors to inspire innovation within said industry. In other words, it&amp;rsquo;s been our only hope.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re reading this post because I, <a href="http://www.chrisamico.com/blog/">Chris Amico</a>, or one of two other collaborators emailed you this link, congratulations! You&rsquo;re one of the 64 projects funded since 2007 through the Knight Foundation&rsquo;s <a href="http://newschallenge.org.">News Challenge</a> contest. These projects have been granted $21.9 million dollars over the last four years, and we&rsquo;re curious to hear how they ended up.</p>
<p>A bit of background. Next weekend, David Cohn of <a href="http://spot.us/">Spot.us</a> (not one of the trouble-makers) is bringing a couple dozen of us together for <a href="http://www.rjionline.org/events/stories/hardly-strictly-young/index.php">Hardly Strictly Young</a>. It&rsquo;s at the Reynolds Journalism Institute, sponsored by the Knight Foundation, and will be my first trip to Missouri. <a href="http://www.rjionline.org/events/stories/hardly-strictly-young/agenda.php">Over two full days</a>, we&rsquo;ll discuss facets of the Knight Foundation&rsquo;s commission on the information needs of communities. Part of this, or at least what those of us running the survey think, is to help the Knight Foundation learn from the first four years of the News Challenge. It is arguably the most significant effort from news industry actors to inspire innovation within said industry. In other words, it&rsquo;s been our only hope.</p>
<p>Unfortunately, there&rsquo;s not much data for us to work with. Yet. The Knight Foundation has all of the <a href="http://newschallenge.org/winners">winners listed on the News Challenge</a> website, along with their project descriptions and amount granted, but very little information on outcomes. This is where you fit into our crowdsourced reporting project.</p>
<p>We have two sections on our survey form. The first asks for quantitative information on your project, and is intentionally required for you to submit the form. We want to know whether your project is still active, how much of you grant you actually spent, and whether you achieved your stated objectives. These responses will go on the big ol&rsquo; spreadsheet of data we&rsquo;ll eventually release. The second (optional and/or anonymous) section asks for a qualitative perspective on your project, including how it was successful, what challenges you faced, and what you thought of your experience with the News Challenge. These questions are intentionally broad. If you decide to respond anonymously, we won&rsquo;t publish the remarks with your name (if we choose to publish them).</p>
<p>This data is quite important. Thank you in advance for taking at least a few minutes to respond. To make things fun, we&rsquo;ll be <a href="https://spreadsheets.google.com/ccc?key=0AoxaS298lkZCdEx0eFpPVm1TbkpqMWFnalVMM0xKMWc&amp;hl=en">updating a public list of who has and hasn&rsquo;t yet responded</a>. So encourage your friends who haven&rsquo;t yet replied to do so. I&rsquo;d like to <a href="http://www.wnyc.org/blowthewhistle/">thank On The Media for the creative idea</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: More effective office hours</title>
      <link>https://danielbachhuber.com/idea-more-effective-office-hours/</link>
      <pubDate>Tue, 12 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-more-effective-office-hours/</guid>
      <description>&lt;p&gt;On &lt;a href=&#34;http://www.journalism.cuny.edu/events/website-hack-session-041411/&#34;&gt;Thursday&lt;/a&gt;, I want to try this out: students teaching one another. When everyone shows up, I&amp;rsquo;ll have them list the things they need to cover on the whiteboard. If I think one student can help with another student&amp;rsquo;s question, I&amp;rsquo;ll ask them to work with that other student. We&amp;rsquo;ll see how well it works.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On <a href="http://www.journalism.cuny.edu/events/website-hack-session-041411/">Thursday</a>, I want to try this out: students teaching one another. When everyone shows up, I&rsquo;ll have them list the things they need to cover on the whiteboard. If I think one student can help with another student&rsquo;s question, I&rsquo;ll ask them to work with that other student. We&rsquo;ll see how well it works.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What should I teach for Blogging Best Practices?</title>
      <link>https://danielbachhuber.com/what-should-i-teach-for-blogging-best-practices/</link>
      <pubDate>Fri, 08 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-should-i-teach-for-blogging-best-practices/</guid>
      <description>&lt;p&gt;For the next three of four Monday evenings, I&amp;rsquo;m teaching &lt;a href=&#34;http://www.baruched.com/shop/catalog.aspx?id=3971&#34;&gt;Blogging Best Practices&lt;/a&gt; as a part of the continuing education series produced by the J-School and Baruch College. The total class time is six hours. Here&amp;rsquo;s its description:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Anyone can create a blog, but what does it mean to blog well? This course will teach you how to set up and design your blog, how to get traffic, how to handle conversations, and how to make money.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For the next three of four Monday evenings, I&rsquo;m teaching <a href="http://www.baruched.com/shop/catalog.aspx?id=3971">Blogging Best Practices</a> as a part of the continuing education series produced by the J-School and Baruch College. The total class time is six hours. Here&rsquo;s its description:</p>
<blockquote>
<p>Anyone can create a blog, but what does it mean to blog well? This course will teach you how to set up and design your blog, how to get traffic, how to handle conversations, and how to make money.</p></blockquote>
<p>Useful, right? The short of it: I have <a href="https://docs.google.com/document/d/14UKJF2J1Re0ESwsBflK1-R8u7vtKxoqD6LloOLl3nbs/edit?hl=en&amp;authkey=CPXC_PgP">plenty of fodder</a> for what I can teach, everything from the <a href="http://danielbachhuber.com/2009/10/08/why-we-link-j361-presentation-on-curation/">ethic of the link</a> to basic HTML/CSS for formatting, but what I <em>should</em> teach is the more important question.</p>
<p>What&rsquo;s one thing about blogging you&rsquo;ve learned and can teach? Or, what&rsquo;s one thing you still want to learn? Topics, teaching strategies and exercise ideas greatly appreciated.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Visualizing coverage overlap</title>
      <link>https://danielbachhuber.com/idea-visualizing-coverage-overlap/</link>
      <pubDate>Thu, 07 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-visualizing-coverage-overlap/</guid>
      <description>&lt;p&gt;The challenge: Handling story pitches from dozens of contributors, and understanding where those pitches overlap with each other and existing coverage. If you could &lt;a href=&#34;http://danielbachhuber.com/2010/05/09/questions-currently-of-interest/#p%5BWitWit%5D,h%5BWitWit%5D&#34;&gt;map information&lt;/a&gt;, you could build an interface for editors to see this in terms of spacial distance.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The challenge: Handling story pitches from dozens of contributors, and understanding where those pitches overlap with each other and existing coverage. If you could <a href="http://danielbachhuber.com/2010/05/09/questions-currently-of-interest/#p%5BWitWit%5D,h%5BWitWit%5D">map information</a>, you could build an interface for editors to see this in terms of spacial distance.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hardly Strictly Young, April 17th to 19th</title>
      <link>https://danielbachhuber.com/hardly-strictly-young-april-17th-to-19th/</link>
      <pubDate>Wed, 06 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hardly-strictly-young-april-17th-to-19th/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.rjionline.org/events/stories/hardly-strictly-young/&#34;&gt;Hardly Strictly Young, April 17th to 19th&lt;/a&gt;. Following the lead of &lt;a href=&#34;http://ryansholin.com/2011/04/05/hardly-strictly-the-oldest-person-in-the-room/&#34;&gt;Ryan&lt;/a&gt; and &lt;a href=&#34;http://www.laurenmichell.com/2011/04/hardly-strictly-young/&#34;&gt;Lauren&lt;/a&gt;, I three am honored and extremely excited to be included on the VIP guest &lt;a href=&#34;http://www.rjionline.org/events/stories/hardly-strictly-young/bios.php&#34;&gt;attendee list&lt;/a&gt; for Hardly Strictly Young, a journo-rager roundtable conversation at the &lt;a href=&#34;http://www.rjionline.org/&#34;&gt;Reynolds Journalism Institute&lt;/a&gt; in a few weeks. There we&amp;rsquo;ll discuss the &lt;a href=&#34;http://www.knightcomm.org/read-the-report-and-comment/&#34;&gt;Knight Commission&amp;rsquo;s report&lt;/a&gt; on meeting community information needs and discuss &amp;ldquo;alternative recommendations.&amp;rdquo; I&amp;rsquo;m personally stoked for the opportunity to hang out with amazing people. Maybe we&amp;rsquo;ll even hear &lt;a href=&#34;http://danielbachhuber.com/2010/11/28/what-ever-happened-to-the-populous-project/&#34;&gt;what happened to the Populous Project&lt;/a&gt;?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.rjionline.org/events/stories/hardly-strictly-young/">Hardly Strictly Young, April 17th to 19th</a>. Following the lead of <a href="http://ryansholin.com/2011/04/05/hardly-strictly-the-oldest-person-in-the-room/">Ryan</a> and <a href="http://www.laurenmichell.com/2011/04/hardly-strictly-young/">Lauren</a>, I three am honored and extremely excited to be included on the VIP guest <a href="http://www.rjionline.org/events/stories/hardly-strictly-young/bios.php">attendee list</a> for Hardly Strictly Young, a journo-rager roundtable conversation at the <a href="http://www.rjionline.org/">Reynolds Journalism Institute</a> in a few weeks. There we&rsquo;ll discuss the <a href="http://www.knightcomm.org/read-the-report-and-comment/">Knight Commission&rsquo;s report</a> on meeting community information needs and discuss &ldquo;alternative recommendations.&rdquo; I&rsquo;m personally stoked for the opportunity to hang out with amazing people. Maybe we&rsquo;ll even hear <a href="http://danielbachhuber.com/2010/11/28/what-ever-happened-to-the-populous-project/">what happened to the Populous Project</a>?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Scrobbling my information consumption</title>
      <link>https://danielbachhuber.com/idea-scrobbling-my-information-consumption/</link>
      <pubDate>Sun, 03 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-scrobbling-my-information-consumption/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a hypothetical tool I&amp;rsquo;d love to see someone build. The point of access is a bookmarklet you can click on any article page. When you activate it, you receive an overlay of information about the article like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How much of the content is rewritten press release based on &lt;a href=&#34;http://churnalism.com/&#34;&gt;Churnalism&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;How much of the information within the article you’ve already read (and highlight what’s new)&lt;/li&gt;&#xA;&lt;li&gt;What your Twitter and Facebook friends have said about the article&lt;/li&gt;&#xA;&lt;li&gt;Whether or not the link has been submitted to Reddit, Digg, HN, delicious, and the comment threads associated with each&lt;/li&gt;&#xA;&lt;li&gt;Links to related coverage&lt;/li&gt;&#xA;&lt;li&gt;# of links within the article&lt;/li&gt;&#xA;&lt;li&gt;# of words in the article&lt;/li&gt;&#xA;&lt;li&gt;Sources cited in the article (&lt;a href=&#34;http://fivethirtyeight.blogs.nytimes.com/2011/03/24/a-note-to-our-readers-on-the-times-pay-model-and-the-economics-of-reporting/&#34;&gt;see Nate Silver’s post about NYT citations&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Display information, like the font-size and line-height (&lt;a href=&#34;http://www.yelvington.com/content/itsy-bitsy-teensy-weensy-type&#34;&gt;see Steve Yelvington’s post about font size across publications&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And so on. It&amp;rsquo;s your rich heads-up display to the information you&amp;rsquo;re consuming.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Here&rsquo;s a hypothetical tool I&rsquo;d love to see someone build. The point of access is a bookmarklet you can click on any article page. When you activate it, you receive an overlay of information about the article like:</p>
<ul>
<li>How much of the content is rewritten press release based on <a href="http://churnalism.com/">Churnalism</a></li>
<li>How much of the information within the article you’ve already read (and highlight what’s new)</li>
<li>What your Twitter and Facebook friends have said about the article</li>
<li>Whether or not the link has been submitted to Reddit, Digg, HN, delicious, and the comment threads associated with each</li>
<li>Links to related coverage</li>
<li># of links within the article</li>
<li># of words in the article</li>
<li>Sources cited in the article (<a href="http://fivethirtyeight.blogs.nytimes.com/2011/03/24/a-note-to-our-readers-on-the-times-pay-model-and-the-economics-of-reporting/">see Nate Silver’s post about NYT citations</a>)</li>
<li>Display information, like the font-size and line-height (<a href="http://www.yelvington.com/content/itsy-bitsy-teensy-weensy-type">see Steve Yelvington’s post about font size across publications</a>)</li>
</ul>
<p>And so on. It&rsquo;s your rich heads-up display to the information you&rsquo;re consuming.</p>
<p>The service is dual-purpose too. Every article you scrobble is logged, and you can track data points like:</p>
<ul>
<li>Most common publications you read</li>
<li>Most popular authors you read</li>
<li>Which topics you read</li>
<li># of articles you read every month</li>
<li># of words you ready every month</li>
</ul>
<p>On the web application, you could set a &ldquo;budget&rdquo; for your information consumption, see areas where you&rsquo;re lacking and where you&rsquo;re excelling, and view recommendations for getting up to speed on a subject.</p>
<p>Importantly, the tool shouldn&rsquo;t be tied to any publication. The New York Times, for instance, could start doing part of this based on passive behavior of logged-in visitors, but it&rsquo;s probably a narrow scope of the person&rsquo;s entire consumption.</p>
<p>Bookmarklets are much more user-friendly than browser extensions, and I think services like Instapaper are popularizing them beyond the technorati.</p>
]]></content:encoded>
    </item>
    <item>
      <title>NYT&#39;s Stephen Farrell on Libya and working as a foreign correspondent</title>
      <link>https://danielbachhuber.com/nyts-stephen-farrell-on-libya-and-being-a-foreign-correspondent/</link>
      <pubDate>Fri, 01 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/nyts-stephen-farrell-on-libya-and-being-a-foreign-correspondent/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/21776202?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;From earlier today at the J-School. Stephen Farrell was one of &lt;a href=&#34;http://www.nytimes.com/2011/03/23/world/africa/23times.html&#34;&gt;four New York Times reporters taken&#xA;captive in Libya&lt;/a&gt; and released only a&#xA;few days ago. Before being welcomed back to the newsroom, he stopped by and talked a bit about his&#xA;experience in front of a packed house. Money quote: working in a war zone is &amp;ldquo;big boy’s game, big&#xA;boy’s rules.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/21776202?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>From earlier today at the J-School. Stephen Farrell was one of <a href="http://www.nytimes.com/2011/03/23/world/africa/23times.html">four New York Times reporters taken
captive in Libya</a> and released only a
few days ago. Before being welcomed back to the newsroom, he stopped by and talked a bit about his
experience in front of a packed house. Money quote: working in a war zone is &ldquo;big boy’s game, big
boy’s rules.&rdquo;</p>
<p><img src="images/20110331-nytfarrell_db-390-version-21.jpg" alt="20110331-nytfarrell_db-390-version-21.jpg"  width="1000"
	height="669"  />
<img src="images/20110331-nytfarrell_db-433-version-21.jpg" alt="20110331-nytfarrell_db-433-version-21.jpg"  width="1000"
	height="669"  />
<img src="images/20110331-nytfarrell_db-446-version-21.jpg" alt="20110331-nytfarrell_db-446-version-21.jpg"  width="1000"
	height="669"  />
<img src="images/20110331-nytfarrell_db-470-version-21.jpg" alt="20110331-nytfarrell_db-470-version-21.jpg"  width="1000"
	height="669"  />
<img src="images/20110331-nytfarrell_db-496-version-21.jpg" alt="20110331-nytfarrell_db-496-version-21.jpg"  width="1000"
	height="669"  />
<img src="images/20110331-nytfarrell_db-516-version-21.jpg" alt="20110331-nytfarrell_db-516-version-21.jpg"  width="1000"
	height="669"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>I&#39;m back on Facebook and Twitter</title>
      <link>https://danielbachhuber.com/im-back-on-facebook-and-twitter/</link>
      <pubDate>Thu, 31 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/im-back-on-facebook-and-twitter/</guid>
      <description>&lt;p&gt;Yes, you can call me a &lt;a href=&#34;http://danielbachhuber.com/2010/10/25/liberation/&#34;&gt;hypocrite&lt;/a&gt;. Yes, I&amp;rsquo;m still a firm believer in portable data and identity. Pragmatism won out over idealism.&lt;/p&gt;&#xA;&lt;p&gt;One, an increasing number of sites now use Facebook and/or Twitter exclusively for their user authentication. In this context, having a corporate-controlled ID is unfortunately better than having no ID. Two, at work I&amp;rsquo;ve had to ask other people to do tasks I should be doing and I&amp;rsquo;m done feeling weird about that.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yes, you can call me a <a href="http://danielbachhuber.com/2010/10/25/liberation/">hypocrite</a>. Yes, I&rsquo;m still a firm believer in portable data and identity. Pragmatism won out over idealism.</p>
<p>One, an increasing number of sites now use Facebook and/or Twitter exclusively for their user authentication. In this context, having a corporate-controlled ID is unfortunately better than having no ID. Two, at work I&rsquo;ve had to ask other people to do tasks I should be doing and I&rsquo;m done feeling weird about that.</p>
<p>This little ol&rsquo; weblog is still my preferred publishing residence and that won&rsquo;t change anytime soon.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Workshop: Website hack session, 3/30/11</title>
      <link>https://danielbachhuber.com/workshop-website-hack-session-33011/</link>
      <pubDate>Thu, 31 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/workshop-website-hack-session-33011/</guid>
      <description>&lt;p&gt;Only three people showed up, so it ended up being more like office hours than anything else. It was a productive use of my time, although I need to solve the problem of one teacher to N studens with individual needs. I wish students were more receptive to the idea of teaching one another and wonder whether a digital tool would more effectively route those connections. There was definitely a usable gradient of skill sets.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Only three people showed up, so it ended up being more like office hours than anything else. It was a productive use of my time, although I need to solve the problem of one teacher to N studens with individual needs. I wish students were more receptive to the idea of teaching one another and wonder whether a digital tool would more effectively route those connections. There was definitely a usable gradient of skill sets.</p>
<p>One of the Entrepreneurial Journalism students is moving her project site from Tumblr to WordPress to take advantage of custom taxonomies. I showed her the PHP to register one. She followed my lead by copy and pasting to register the other two. No errors at all, though that would&rsquo;ve been a good teachable moment. We also talked about <a href="http://codex.wordpress.org/Template_Tags">template tags</a>. She correctly surmised she needs to replace the existing category and tag snippets on her single.php file with the new custom taxonomy snippets. Lastly, we walked through adding a tag cloud to the sidebar and changing it to use one of the custom taxonomies.</p>
<p><strong>Question:</strong> How many times does a person need to review a topic in order to fully grok it?</p>
<p>Another student is in child theme territory for her photo side project. We&rsquo;re modifying the <a href="http://graphpaperpress.com/themes/fullscreen/">Fullscreen</a> theme from Graph Paper Press to handle (hopefully) thousands of images on the homepage. Tonight we covered child theme structure, WP_DEBUG, and the HTML, CSS and modifying PHP function arguments of displaying the homepage. We&rsquo;re just getting started and she wants to have it live by the beginning of New York spring break. Effective project management should be a required course for everyone at the school.</p>
<p>The last student had a few minor questions. These included how to remove an extra menu item that had shown up, modifying the padding and margin of div&rsquo;s using CSS, and modifying the width of subnav items using CSS. Two more required courses: troubleshooting and accurately stating the nature of your problem.</p>
<p>Again, overall, it was a pretty productive time. I think I&rsquo;ll continue hosting these on a weekly basis as long as students continue to show up.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Alternate census</title>
      <link>https://danielbachhuber.com/idea-alternate-census/</link>
      <pubDate>Tue, 29 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-alternate-census/</guid>
      <description>&lt;p&gt;In tandem to the regular census, do an alternate census of the inanimate objects that make up the human environment. This might include numbers like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cell phone and landline subscribers&lt;/li&gt;&#xA;&lt;li&gt;Grocery stores per neighborhood&lt;/li&gt;&#xA;&lt;li&gt;Schools and hospitals, and their capacity&lt;/li&gt;&#xA;&lt;li&gt;Restaurants per neighborhood&lt;/li&gt;&#xA;&lt;li&gt;Average wait time for metro or bus&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Obviously the open question is how you&amp;rsquo;d collect this data. I suspect some already exists and some we&amp;rsquo;d have to get creative about. The thought came while &lt;a href=&#34;http://twitter.com/cunyjschool/status/52735747303809025&#34;&gt;discussing a Craft 2 census project this morning&lt;/a&gt;. To me, this alternate data set is the missing (and more actionable) other half.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In tandem to the regular census, do an alternate census of the inanimate objects that make up the human environment. This might include numbers like:</p>
<ul>
<li>Cell phone and landline subscribers</li>
<li>Grocery stores per neighborhood</li>
<li>Schools and hospitals, and their capacity</li>
<li>Restaurants per neighborhood</li>
<li>Average wait time for metro or bus</li>
</ul>
<p>Obviously the open question is how you&rsquo;d collect this data. I suspect some already exists and some we&rsquo;d have to get creative about. The thought came while <a href="http://twitter.com/cunyjschool/status/52735747303809025">discussing a Craft 2 census project this morning</a>. To me, this alternate data set is the missing (and more actionable) other half.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Register your WordPress site with a hub</title>
      <link>https://danielbachhuber.com/idea-register-your-wordpress-site-with-a-hub/</link>
      <pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-register-your-wordpress-site-with-a-hub/</guid>
      <description>&lt;p&gt;When you activate the WordPress.com Stats plugin on a self-hosted install, it asks you whether you want to register the site with WordPress.com as well. This makes it show up in the admin bar that appears across the entire network.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/wordpress-com-e28094-your-blogging-home1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;290&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have an identity on the J-School network that&amp;rsquo;s much more relevant than my WordPress.com identity. I should be able to register my website with the J-School&amp;rsquo;s multisite instance in a similar fashion, and have my identity within the J-School network reference my self-hosted data (posts, status updates, photos, links and so on).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>When you activate the WordPress.com Stats plugin on a self-hosted install, it asks you whether you want to register the site with WordPress.com as well. This makes it show up in the admin bar that appears across the entire network.</p>
<p><img src="images/wordpress-com-e28094-your-blogging-home1.jpg" alt=""  width="600"
	height="290"  /></p>
<p>I have an identity on the J-School network that&rsquo;s much more relevant than my WordPress.com identity. I should be able to register my website with the J-School&rsquo;s multisite instance in a similar fashion, and have my identity within the J-School network reference my self-hosted data (posts, status updates, photos, links and so on).</p>
<p>This would be neat.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: Tracking support costs</title>
      <link>https://danielbachhuber.com/idea-tracking-support-costs/</link>
      <pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-tracking-support-costs/</guid>
      <description>&lt;p&gt;It would be sweet to have capability within a support ticketing tool or CRM to track the &amp;ldquo;cost&amp;rdquo; of a given client or topic. When the agent logs a transaction, they&amp;rsquo;d record their perceived cost to the transaction. The system would capture this information against client, topic, and type of support. A type of support might be &amp;ldquo;one-on-one&amp;rdquo; or &amp;ldquo;workshop.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Obviously the former is a lot less efficient way of supporting. If the system logged this information, it would be much easier to see when we&amp;rsquo;re &amp;ldquo;in the red&amp;rdquo; for one-on-one support, and that we should host a workshop for a given topic.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It would be sweet to have capability within a support ticketing tool or CRM to track the &ldquo;cost&rdquo; of a given client or topic. When the agent logs a transaction, they&rsquo;d record their perceived cost to the transaction. The system would capture this information against client, topic, and type of support. A type of support might be &ldquo;one-on-one&rdquo; or &ldquo;workshop.&rdquo;</p>
<p>Obviously the former is a lot less efficient way of supporting. If the system logged this information, it would be much easier to see when we&rsquo;re &ldquo;in the red&rdquo; for one-on-one support, and that we should host a workshop for a given topic.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Workshop: Working with HTML/CSS, 3/23/11</title>
      <link>https://danielbachhuber.com/workshop-working-with-htmlcss-32311/</link>
      <pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/workshop-working-with-htmlcss-32311/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2011/03/24/workshop-working-with-htmlcss-32311/photo-10/&#34;&gt;&lt;img src=&#34;images/photo1.jpg&#34; alt=&#34;&#34;  width=&#34;1296&#34;&#xA;&#x9;height=&#34;968&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last night between 5:30 and 7, we did another HTML/CSS workshop at the J-School. Twelve people showed up, which was much better than the six or so we expected. The participants were mostly from &lt;a href=&#34;http://interactive2.journalism.cuny.edu/&#34;&gt;Interactive 2&lt;/a&gt; although there were a few from other programs who had never touched CSS. Overall, I think the workshop went quite well even though I don&amp;rsquo;t feel we hit our stated goals and deviated a lot from the written agenda. I&amp;rsquo;ll review the process and the session notes are at the bottom.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://danielbachhuber.com/2011/03/24/workshop-working-with-htmlcss-32311/photo-10/"><img src="images/photo1.jpg" alt=""  width="1296"
	height="968"  /></a></p>
<p>Last night between 5:30 and 7, we did another HTML/CSS workshop at the J-School. Twelve people showed up, which was much better than the six or so we expected. The participants were mostly from <a href="http://interactive2.journalism.cuny.edu/">Interactive 2</a> although there were a few from other programs who had never touched CSS. Overall, I think the workshop went quite well even though I don&rsquo;t feel we hit our stated goals and deviated a lot from the written agenda. I&rsquo;ll review the process and the session notes are at the bottom.</p>
<p>We started planning the workshop a few weeks ago, before I went off on vacation. Originally it was scheduled for March 16th, but was moved back after we realized it conflicted with the Interactive 2 Flash assignment. The 23rd was less than ideal because it&rsquo;s right in the middle of midterms. As such, the showing was quite good.</p>
<p>Rosaleen put together the agenda, scheduled the room, and created the pre- and post-workshop surveys. I thought all of this came together well, and the exercises she established seemed useful. We only started on one during the workshop however.</p>
<p>The most significant issue was that the conceptual and practical review of HTML and CSS took a lot longer than I expected. All of the Interactive 2 students have had an introduction to this by now, but most were unable to explain back to me what they learned. I ended up spending 40 minutes on this review, at the end of which I felt most understood what they needed.</p>
<p>After the review, we started on the first example. It tangented into how to use Firebug, find attributes, and apply those changes with the Edit CSS functionality. This took 20 minutes or so.</p>
<p>We finished the workshop with Q&amp;A with some of their sites.</p>
<p>Quality of note taking on the Google Doc was as expected during the review, but really dropped off afterwards.</p>
<p>To retain the concepts they&rsquo;ve learned, I really think they need practical experience as soon as possible.  The suggestion I gave them was to do a custom design for their resume page so that it stands alone from the rest of their website. Using CSS specific to the resume page, they can have the rest of the website continue to look as it does but have a completely custom design for their resume. We could sponsor a design competition to see how far they take it.</p>
<p>Lastly, I wish I&rsquo;ve had each student list off their three actionable takeaways at the very end to see whether we had achieved the stated goal. This would be useful data to capture and reference at a later date.</p>
<p>Including this blog post, the tech team spent about four hours planning and executing the workshop. Our next step is most likely to hold an open work session next Wednesday evening</p>
<h2 id="notes">Notes</h2>
<h3 id="introduction-5-minutes">Introduction (5 minutes)</h3>
<p><strong>Photo of the attendees</strong></p>
<p><strong>Announcement:</strong></p>
<ul>
<li>You should write all over the Google Doc. It will help you in the future when you’re trying to remember what we covered</li>
</ul>
<p><strong>Questions:</strong></p>
<ul>
<li>How many people know what HTML or CSS?</li>
<li>How many people have used Firebug?
<ul>
<li>4 or 5 have not</li>
</ul>
</li>
<li>How many people have used the Edit CSS plugin?</li>
<li>How many people have written an h3 before?</li>
<li>How many people have changed the color of links or written other CSS?</li>
</ul>
<p><strong>Announcement:</strong></p>
<ul>
<li>If you’ve never used Firebug or the Edit CSS plugin before, you should sit next to someone who has.</li>
</ul>
<p><strong>Goals:</strong></p>
<ul>
<li>Everyone should have three actionable takeaways from this workshop. If you aren’t there at the end, you should ask questions in the Q&amp;A</li>
</ul>
<h3 id="how-to-htmlcss-and-firebug-review-10-minutes">How to: HTML/CSS and Firebug Review (10 minutes)</h3>
<p><strong>What are HTML/CSS?</strong></p>
<ul>
<li>HTML
<ul>
<li>Stands for: hypertext markup language</li>
<li>Definition: structure to the page</li>
<li>Examples:
<ul>
<li><a> (hyperlink)</li>
<li>
<h1> <h2> (headline 1 - headline 6: largest to smallest in font)
</li>
<li><i> (italics) or <b> (bold) &mdash;&mdash;&gt; OLD SCHOOL</li>
<li><em> (emphasis) + <strong> (bold/strong) &ndash; New School</li>
<li>unordered list - for navigation w/ bullets (use CSS to remove the bullets)</li>
</ul>
</li>
<li>Attributes: href, class, id</li>
</ul>
</li>
<li>CSS
<ul>
<li>Stands for: cascading style sheets</li>
<li>Definition: Style and design of the website</li>
<li>Examples:
<ul>
<li>Rules</li>
<li>Properties:
<ul>
<li>padding (moving around) ex -&gt; padding: 2px 7px;</li>
<li>text align (justified, center, etc.) ex -&gt; text-align: center</li>
<li>font weight: ex -&gt; font-weight: normal</li>
<li>letter-spacing (1.1px, 2px, -0.5px)</li>
<li>text-decoration: underline</li>
<li>display: none (to hide a CSS rule)</li>
</ul>
</li>
<li>Value</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>Install &amp; Open Firebug</strong></p>
<p><strong>How to search for HTML elements on a page with Firebug</strong></p>
<ul>
<li>“id” vs. “class”, and how those are represented in CSS</li>
</ul>
<p><strong>How to add changes to your site with Custom CSS WordPress plugin</strong></p>
<h3 id="htmlcss-exercises-20-minutes">HTML/CSS Exercises (20 minutes)</h3>
<p><a href="http://testing.journalism.cuny.edu/">http://testing.journalism.cuny.edu/</a> LINKS</p>
<ul>
<li>Identify the CSS properties for links on this page</li>
<li>Change the links color to GREEN</li>
<li>Remove/Add an UNDERLINE to the links on this page</li>
<li>Make links BOLD</li>
<li>Change the HOVER state color to YELLOW</li>
</ul>
<p>HEADLINES</p>
<ul>
<li>Identify the CSS properties for the posts headlines</li>
<li>Make all the letters on the post/page headline UPPERCASE</li>
<li>Increase the FONT SIZE of the post/page headline</li>
<li>Change the FONT FAMILY of the post/page headline to “Garamond, serif”</li>
</ul>
<p>TEXT (paragraph)</p>
<ul>
<li>Identify the CSS properties for the post text</li>
<li>Increase the LINE HEIGHT by 5 pixels</li>
</ul>
<p>BACKGROUND</p>
<ul>
<li>Identify the CSS properties for the BODY’s background</li>
<li>Change background COLOR to the same background color as the J-School’s site</li>
</ul>
<p>IMAGES</p>
<ul>
<li>Identify the CSS properties for the posts’ images</li>
<li>Style the images as those in <a href="http://gigaom.com/">http://gigaom.com/</a></li>
</ul>
<p>CREATE TEXT BOX INSIDE A POST</p>
<ul>
<li>Log into a website and create a new post (add text using <a href="http://www.lipsum.com/feed/html">http://www.lipsum.com/feed/html</a>)</li>
<li>Working on the HTML editor add a box with a 3-item unordered list</li>
<li>Assign a class to the box</li>
<li>Style the box</li>
<li>Add 1 pixel BORDER in #cccccc</li>
<li>Change background of the box to #f2f1f1</li>
<li>Add 5-pixel PADDING and 10-pixel MARGIN on the LEFT, TOP &amp; BOTTOM</li>
<li>Make the BULLETS of the list items SQUARES</li>
<li>FLOAT the entire box to the RIGHT</li>
</ul>
<h3 id="break-5-minutes">BREAK (5 minutes)</h3>
<h3 id="making-css-changes-to-your-site-30-minutes">Making CSS changes to YOUR site (30 minutes)</h3>
<p><strong>Cesar Bustamante:</strong> How to use CSS</p>
<p><strong>Patrick Clark:</strong> “resizing elements in my wordpress frame”</p>
<p><strong>Kevin Sheehan:</strong> How to make a portfolio website better</p>
<p><strong>Vincent Trivett:</strong> “how to find the classes and id&rsquo;s for stuff that we constructed out of wordpress themes so we can tweak the style in css, customizing the theme a little more”</p>
<p><strong>Kirsti Itameri:</strong> “how to customize wordpress themes/create your own theme</p>
<h3 id="qa-10-minutes">Q&amp;A (10 minutes)</h3>]]></content:encoded>
    </item>
    <item>
      <title>Tip: Auto-submit Wufoo forms to Highrise and MailChimp</title>
      <link>https://danielbachhuber.com/tip-auto-submit-wufoo-forms-to-highrise-and-mailchimp/</link>
      <pubDate>Wed, 23 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tip-auto-submit-wufoo-forms-to-highrise-and-mailchimp/</guid>
      <description>&lt;p&gt;Why I didn&amp;rsquo;t think of this before, I don&amp;rsquo;t know. &lt;a href=&#34;http://wufoo.com/&#34;&gt;Wufoo&lt;/a&gt; is a web application for building forms that also &lt;a href=&#34;http://wufoo.com/integrations/&#34;&gt;integrates with a variety of other services&lt;/a&gt;. We&amp;rsquo;ve been using it as our lead generation tool on the &lt;a href=&#34;http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/&#34;&gt;Entrepreneurial Journalism landing page&lt;/a&gt; and automagically submitting entries to &lt;a href=&#34;http://highrisehq.com/&#34;&gt;Highrise&lt;/a&gt;. &lt;a href=&#34;http://www.mailchimp.com/&#34;&gt;MailChimp&lt;/a&gt; is a neat email service we&amp;rsquo;re starting to use more and more (for &lt;a href=&#34;http://twitter.com/cunyjschool/status/50262080246398976&#34;&gt;content like the Entrepreneurial Journalism newsletter&lt;/a&gt;). It offers the ability to import and update contacts from Highrise.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Why I didn&rsquo;t think of this before, I don&rsquo;t know. <a href="http://wufoo.com/">Wufoo</a> is a web application for building forms that also <a href="http://wufoo.com/integrations/">integrates with a variety of other services</a>. We&rsquo;ve been using it as our lead generation tool on the <a href="http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/">Entrepreneurial Journalism landing page</a> and automagically submitting entries to <a href="http://highrisehq.com/">Highrise</a>. <a href="http://www.mailchimp.com/">MailChimp</a> is a neat email service we&rsquo;re starting to use more and more (for <a href="http://twitter.com/cunyjschool/status/50262080246398976">content like the Entrepreneurial Journalism newsletter</a>). It offers the ability to import and update contacts from Highrise.</p>
<p>This was our previous workflow. Now, I&rsquo;ve set up Wufoo to auto-update Highrise and our MailChimp email lists every time a form is submitted. Woo-hoo for loosely joined pieces!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Class: Entrepreneurial Journalism Technology Immersion, 3/21/11</title>
      <link>https://danielbachhuber.com/class-entrepreneurial-journalism-technology-immersion-32111/</link>
      <pubDate>Tue, 22 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/class-entrepreneurial-journalism-technology-immersion-32111/</guid>
      <description>&lt;p&gt;From 6 to 7 pm this evening, I joined Selcen Onsan&amp;rsquo;s Tech Immersion class as a guest speaker. Tech Immersion is one of the &lt;a href=&#34;http://entrepreneurial.2011.journalism.cuny.edu/&#34;&gt;five Entrepreneurial Journalism courses&lt;/a&gt; this spring. I want to write down a few thoughts on the session as a way of starting to iterate (and hopefully improve) my teaching methods. The notes we collaboratively generated on a Google Doc are at the bottom.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From 6 to 7 pm this evening, I joined Selcen Onsan&rsquo;s Tech Immersion class as a guest speaker. Tech Immersion is one of the <a href="http://entrepreneurial.2011.journalism.cuny.edu/">five Entrepreneurial Journalism courses</a> this spring. I want to write down a few thoughts on the session as a way of starting to iterate (and hopefully improve) my teaching methods. The notes we collaboratively generated on a Google Doc are at the bottom.</p>
<p>We spent the first 30 minutes or so discussing the distinction between scripting language, markup language, and otherwise, and common examples of each. They had prior, very basic introduction to HTML, CSS and PHP, but only a few people even attempted to explain to me what each was. On the subject of HTML, I stressed that it&rsquo;s a <em>markup</em> language, not a programming or scripting language, that gives structure to content. My working metaphor is that, if the J-School building were a web page, without HTML or CSS all of the building materials would be in a pile of rubble. HTML gives the building structure and CSS gives the walls color, the rooms spacing, and other objects other stylistic elements. I&rsquo;m finding it really useful to have visual metaphors people can relate to for communicating technical subjects.</p>
<p>On the subject of Javascript, I emphasized the fact it&rsquo;s different from other scripting languages in that it executes client-side. This allows for a more rich, interactive web application experience because the user can experience dynamic elements on the page without refreshing. I also showed them GitHub&rsquo;s implementation of push state and <a href="http://www.isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs">why Gawker&rsquo;s new URLs are the suck</a>. For PHP, I pitched simplicity in getting going and for Python, performance.</p>
<p>After we talked about languages, we spent the rest of the time on APIs, what they are, and why they&rsquo;re important. I think this was more over their head. One metaphor I used, gross as it was, is that an API is the equivalent of emailing someone with a request for data, and then having that person reply to you with an Excel Spreadsheet. For the other person to understand your request, there has to be an established protocol for making it. Similarly, for you to understand the other person&rsquo;s data, it has to be returned in a standard format. Abstraction and standards. We reviewed a few different popular websites with APIs, including <a href="http://apiwiki.twitter.com/w/page/22554648/FrontPage">Twitter</a> and <a href="http://developer.nytimes.com/docs">The Times</a>. I also showed them how the J-School website uses the Vimeo API to load a channel of videos onto the homepage.</p>
<p>Preparation for the session was difficult for two reasons. First, I had little knowledge of what they had already covered in the course. Access to prior notes and a syllabus would&rsquo;ve helped this. Second, there was/is a wide range of knowledge in the room. Some already knew everything I had to cover while others didn&rsquo;t know anything, nor did they have a frame of reference for understanding. I think involving the people who already know things in the teaching process could make them more engaged in the class. Additionally, I could structure the lesson in such a manner that it had both higher- and lower-level takeaways.</p>
<p>It would nice to compile a few reference links on each topic.</p>
<p>Lastly, on next and all sessions I lead, I should take a picture of the participants.</p>
<h3 id="notes">Notes</h3>
<p><strong>HTML vs. CSS vs. Javascript vs. PHP vs. Python vs. Etc.</strong></p>
<ul>
<li>HTML (Hypertext Markup Language) - gives structure to content on a page (not scripting) &ndash; Example: the basic framework of the building</li>
<li>CSS (Cascading Style Sheets) - sets the design, the style book, the way the elements are displayed  Example: positioning of the rooms, color of the doors and walls</li>
<li>Javascript - Scripting, action, making things happen, animation, follows commands (code that allows you to manipulate objects) - executes entirely within the browser</li>
<li>PHP - Server-side scripting language. A lot easier to get your website up and running. Allows you to deploy code on a server, and have that code running right away.</li>
<li>Python - Server-side programming language. Higher performance. Framework like Django. Also requires more setup. Less room for experimentation.</li>
</ul>
<p>HTML 5: Allows you to change URL without reloading the page. (dynamic refreshing)</p>
<h3 id="terms-and-concepts-you-should-be-aware-of">Terms and concepts you should be aware of</h3>
<p><strong>APIs (Application Programming Interfaces)</strong></p>
<ul>
<li>Definition: a protocol that allows you to get data out of and push data back into a website. Allows two separate applications to connect with each other and share information.</li>
<li>There is an established protocol of how the data is structured. When you made a request, you expect the response to come back in a certain format.</li>
<li>Examples: <a href="http://apiwiki.twitter.com/w/page/22554648/FrontPage">Twitter</a>, <a href="http://developer.nytimes.com/docs">New York Times</a>, Hunch (personal interest graph), Facebook, Wordpress (XMLRPC)</li>
<li>Most APIs are read/write.</li>
<li>Popular with applications that deal with highly structured data.</li>
<li><a href="http://stdout.be/2010/04/22/we-are-in-the-information-business/">We’re in the information business</a> - Stijn Debrouwere (How structured data relates to the news industry)</li>
<li><a href="http://vimeo.com/11529540">Web 3.0</a> - Kate Ray (where the semantic web is at)</li>
</ul>
<p><a href="http://hackshackers.com/resources/hackshackers-survival-glossary/">http://hackshackers.com/resources/hackshackers-survival-glossary/</a></p>
<p><strong>Javascript, AJAX and jQuery</strong></p>
<ul>
<li><a href="http://jquery.com/">jQuery</a> - Tremendously popular Javascript library. Libraries abstract away the difficult part of making your Javascript work cross-browser and cross-platform.</li>
</ul>
<p><strong>Performance &amp; monitoring</strong></p>
<ul>
<li>Backend - How quickly the server returns a response to the request. The number of sites running on the server (if you&rsquo;re on shared hosting) and plugins you have installed can affect this.</li>
<li>Frontend - How quickly the page renders in the browser for the end user. The physical size of your web page, number of images and media files, Flash, and Javascript can all affect this.</li>
<li>Tools:
<ul>
<li><a href="http://pingdom.com/">Pingdom</a> - Checks whether your website is up or down. Can monitor for a certain string on the response</li>
<li><a href="http://newrelic.com/">New Relic</a> - Server-side application monitoring.</li>
<li><a href="http://browsermob.com/">BrowserMob</a> - Test real browser load time from a variety of locations.</li>
</ul>
</li>
</ul>
<p><strong>Version control</strong></p>
<ul>
<li>Definition:</li>
<li><a href="http://git-scm.com/">Git</a> - Distributed version control developed by Linus Torvald for the Linux project. A little more complex, but much better in many aspects. GitHub is a popular website for hosting Git repositories</li>
<li><a href="http://subversion.tigris.org/">Subversion</a> - Everyone checks out of a single master repository. WordPress.org uses this.</li>
</ul>
<p>Redundant backup</p>]]></content:encoded>
    </item>
    <item>
      <title>David and Daniel ride through Borneo</title>
      <link>https://danielbachhuber.com/david-and-daniel-ride-through-borneo/</link>
      <pubDate>Sat, 12 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/david-and-daniel-ride-through-borneo/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=ZRHrHH9gy2A&#34;&gt;http://www.youtube.com/watch?v=ZRHrHH9gy2A&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Yessir. Good choice of beats too. Curiously absent is the EPIC RAINFALL footage.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=ZRHrHH9gy2A">http://www.youtube.com/watch?v=ZRHrHH9gy2A</a></p>
<p>Yessir. Good choice of beats too. Curiously absent is the EPIC RAINFALL footage.</p>
]]></content:encoded>
    </item>
    <item>
      <title>300 km to Mount Kinabalu</title>
      <link>https://danielbachhuber.com/300-km-to-mount-kinabalu/</link>
      <pubDate>Thu, 10 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/300-km-to-mount-kinabalu/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/daviddanielbike1.jpg&#34; alt=&#34;&#34;  width=&#34;1152&#34;&#xA;&#x9;height=&#34;850&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Well, not actually, but I&amp;rsquo;ll get to that in a moment.&lt;/p&gt;&#xA;&lt;p&gt;Game plan A for today was to fly to Mulu from Kota Kinabalu (KK) and see the caves in &lt;a href=&#34;http://en.wikipedia.org/wiki/Gunung_Mulu_National_Park&#34;&gt;Gunung Mulu National Park&lt;/a&gt;. It would&amp;rsquo;ve been epic. But it didn&amp;rsquo;t happen. While I was waiting a half hour on Tuesday afternoon for Air Asia to accept payment the MASWings flight from KK disappeared. Out of luck.&lt;/p&gt;&#xA;&lt;p&gt;Game plan B for today was to climb &lt;a href=&#34;http://en.wikipedia.org/wiki/Mount_Kinabalu&#34;&gt;Mount Kinabalu&lt;/a&gt;. Weighing in at 4,095 meters, the mountain is a massive slab of granite. No snow, just a massive two-day slog. We wanted to do it in one. Complication: everyone said we weren&amp;rsquo;t allowed to do it in one day. Second complication: the two-day, guided, finish on Friday morning and rush to the airport climb costs 950 Malaysian ringgit, or around $300 USD, per person. After we finally bit that bullet, I went to eight different money exchanges to see if they&amp;rsquo;d let me refill my wallet via VISA cash advance (&lt;em&gt;background: I learned earlier this week I can&amp;rsquo;t use my &lt;a href=&#34;http://www.onpointcu.com/&#34;&gt;OnPoint&lt;/a&gt; ATM card with any Malaysian&lt;/em&gt; &lt;em&gt;ATMs&lt;/em&gt;). Unfortunately, the one money exchange I found, in the &lt;em&gt;capital&lt;/em&gt; of Sabah, only accepts plastic with a chip, which mine is not. Out of luck round two.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/daviddanielbike1.jpg" alt=""  width="1152"
	height="850"  /></p>
<p>Well, not actually, but I&rsquo;ll get to that in a moment.</p>
<p>Game plan A for today was to fly to Mulu from Kota Kinabalu (KK) and see the caves in <a href="http://en.wikipedia.org/wiki/Gunung_Mulu_National_Park">Gunung Mulu National Park</a>. It would&rsquo;ve been epic. But it didn&rsquo;t happen. While I was waiting a half hour on Tuesday afternoon for Air Asia to accept payment the MASWings flight from KK disappeared. Out of luck.</p>
<p>Game plan B for today was to climb <a href="http://en.wikipedia.org/wiki/Mount_Kinabalu">Mount Kinabalu</a>. Weighing in at 4,095 meters, the mountain is a massive slab of granite. No snow, just a massive two-day slog. We wanted to do it in one. Complication: everyone said we weren&rsquo;t allowed to do it in one day. Second complication: the two-day, guided, finish on Friday morning and rush to the airport climb costs 950 Malaysian ringgit, or around $300 USD, per person. After we finally bit that bullet, I went to eight different money exchanges to see if they&rsquo;d let me refill my wallet via VISA cash advance (<em>background: I learned earlier this week I can&rsquo;t use my <a href="http://www.onpointcu.com/">OnPoint</a> ATM card with any Malaysian</em> <em>ATMs</em>). Unfortunately, the one money exchange I found, in the <em>capital</em> of Sabah, only accepts plastic with a chip, which mine is not. Out of luck round two.</p>
<p>Alternate game plan K for today was to rent 150cc Kawasaki dirt bikes, and ride from KK to Tuaran to Mount Kinabalu to Ranau to <a href="http://en.wikipedia.org/wiki/Poring">Poring Hot Springs</a> to Tambunan to  Panampang and then back to KK. It was epic, mostly because it started pouring while soaking in Poring and rained almost the entire way back. For 45 minutes or so we were actually in a cloud, visibility was all of twenty feet. Started the trip around 7:30 am, ate breakfast, hit Mount Kinabalu around 11 am, left the hot springs at 2 pm, and returned around 5:30 pm. 300 km of riding over just about seven hours. Personal records for David and I.</p>
<p>KK to Hong Kong tomorrow, overnight there, and then Hong Kong to Seoul to New York City on Saturday. Back to another alternate reality.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dive log: Sipadan Island, March 7th</title>
      <link>https://danielbachhuber.com/dive-log-sipadan-island-march-7th/</link>
      <pubDate>Mon, 07 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dive-log-sipadan-island-march-7th/</guid>
      <description>&lt;p&gt;Dive day number six, the last one. Beautiful, gorgeous, wonderfully sunny day on Sipadan Island. Almost finished &lt;a href=&#34;http://www.amazon.com/Star-Fraction-Ken-MacLeod/dp/0765301563&#34;&gt;The Star Fraction&lt;/a&gt; on the way there and back. Shot with the shop&amp;rsquo;s underwater camera for the whole day. &lt;a href=&#34;http://danielbachhuber.com/2011/03/07/dive-log-sipadan-island-march-7th/p1120442/&#34;&gt;Saw a hammerhead shark&lt;/a&gt; on dive number one, but it quickly swam away. Brought singapore chicken fried rice for lunch which was such a good idea. Dove nitrox on the last dive, first time ever.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/p11204261.jpg&#34; alt=&#34;David and Becca listening to Sublime&#34;  width=&#34;1000&#34;&#xA;&#x9;height=&#34;780&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dive day number six, the last one. Beautiful, gorgeous, wonderfully sunny day on Sipadan Island. Almost finished <a href="http://www.amazon.com/Star-Fraction-Ken-MacLeod/dp/0765301563">The Star Fraction</a> on the way there and back. Shot with the shop&rsquo;s underwater camera for the whole day. <a href="http://danielbachhuber.com/2011/03/07/dive-log-sipadan-island-march-7th/p1120442/">Saw a hammerhead shark</a> on dive number one, but it quickly swam away. Brought singapore chicken fried rice for lunch which was such a good idea. Dove nitrox on the last dive, first time ever.</p>
<p><img src="images/p11204261.jpg" alt="David and Becca listening to Sublime"  width="1000"
	height="780"  /></p>
<p><img src="images/p11204371.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11204391.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11204421.jpg" alt=""  width="1000"
	height="685"  /></p>
<p><img src="images/p11204461.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11204571.jpg" alt=""  width="695"
	height="1000"  /></p>
<p><img src="images/p11204581.jpg" alt=""  width="781"
	height="1000"  /></p>
<p><img src="images/p11204651.jpg" alt=""  width="1000"
	height="720"  /></p>
<p><img src="images/p11204721.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11204761.jpg" alt=""  width="1000"
	height="705"  /></p>
<p><img src="images/p11204801.jpg" alt=""  width="1000"
	height="706"  /></p>
<p><img src="images/p11204871.jpg" alt=""  width="1000"
	height="702"  /></p>
<p><img src="images/p11204931.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11204951.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11204971.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11205041.jpg" alt=""  width="1000"
	height="689"  /></p>
<p><img src="images/p11205111.jpg" alt=""  width="1000"
	height="720"  /></p>
<p><img src="images/p11205221.jpg" alt=""  width="1000"
	height="745"  /></p>
<p><img src="images/p11205311.jpg" alt=""  width="1000"
	height="678"  /></p>
<p><img src="images/p11205331.jpg" alt=""  width="1000"
	height="689"  /></p>
<p><img src="images/p11205391.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11205451.jpg" alt=""  width="1000"
	height="753"  /></p>
<p><img src="images/p11205551.jpg" alt=""  width="1000"
	height="684"  /></p>
<p><img src="images/p11205691.jpg" alt=""  width="1000"
	height="690"  /></p>
<p><img src="images/p11205711.jpg" alt=""  width="1000"
	height="645"  /></p>
<p><img src="images/p11205821.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11205901.jpg" alt=""  width="1000"
	height="722"  /></p>
<p><img src="images/p11205971.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11205991.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11206041.jpg" alt=""  width="770"
	height="1000"  /></p>
<p><img src="images/p11206141.jpg" alt=""  width="662"
	height="1000"  /></p>
<p><img src="images/p11206291.jpg" alt=""  width="687"
	height="1000"  /></p>
<p><img src="images/p11206321.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11206421.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11206501.jpg" alt=""  width="1000"
	height="723"  /></p>
<p><img src="images/p11206591.jpg" alt=""  width="1000"
	height="752"  /></p>
<p><img src="images/p11206681.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11206761.jpg" alt=""  width="1000"
	height="728"  /></p>
<p><img src="images/p11206801.jpg" alt=""  width="1000"
	height="750"  /></p>
<h3 id="dive-1-south-point">Dive #1: South Point</h3>
<p><strong>Max depth:</strong> 31 meters<br>
<strong>Bottom time:</strong> 40 minutes</p>
<h3 id="dive-2-barracuda-point">Dive #2: Barracuda Point</h3>
<p><strong>Max depth:</strong> 24 meters<br>
<strong>Bottom time:</strong> 46 minutes</p>
<h3 id="dive-3-hanging-garden">Dive #3: Hanging Garden</h3>
<p><strong>Max depth:</strong> 19 meters<br>
<strong>Bottom time:</strong> 48 minutes</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dive log: Mantabuan Island, March 6th</title>
      <link>https://danielbachhuber.com/dive-log-mantabuan-island-march-6th/</link>
      <pubDate>Sun, 06 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dive-log-mantabuan-island-march-6th/</guid>
      <description>&lt;p&gt;Dive day number five. Run in the pouring rain beforehand, which lightened up eventually, and turned to sun by the end of the second dive. Three fun dives all around 18 meters. Had fun chatting about development, aid, and skiing Vail with a UN relief worker named Becca who&amp;rsquo;s currently staged in the oil-rich Abyei region of Sudan (&lt;a href=&#34;http://www.sudantribune.com/Scores-flee-Abyei-violence-as,38195&#34;&gt;although possibly not much longer&lt;/a&gt;). She counts cattle, people and guns. Lightly burned both of my arms on the boat back to Semporna.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dive day number five. Run in the pouring rain beforehand, which lightened up eventually, and turned to sun by the end of the second dive. Three fun dives all around 18 meters. Had fun chatting about development, aid, and skiing Vail with a UN relief worker named Becca who&rsquo;s currently staged in the oil-rich Abyei region of Sudan (<a href="http://www.sudantribune.com/Scores-flee-Abyei-violence-as,38195">although possibly not much longer</a>). She counts cattle, people and guns. Lightly burned both of my arms on the boat back to Semporna.</p>
<h3 id="dive-1-black-corral-garden">Dive #1: Black Corral Garden</h3>
<p><strong>Max depth:</strong> 18 meters <strong>Bottom time:</strong> 44 minutes <strong>Notes:</strong> fun dive; saw turtles, a ringed pipefish, scorpionfish, nudibranches, anemone fish, batfish, and a giant clam.</p>
<h3 id="dive-2-aquarium">Dive #2: Aquarium</h3>
<p><strong>Max depth:</strong> 19 meters <strong>Bottom time:</strong> 43 minutes <strong>Notes:</strong> fun dive; saw one octopus, zebra morey, and coral shrimp.</p>
<h3 id="dive-3-coral-garden">Dive #3: Coral Garden</h3>
<p><strong>Max depth:</strong> 19 meters <strong>Bottom time:</strong> 41 minutes <strong>Notes:</strong> fun dive; saw turtles, batfish, blue spotted sting ray, and a peppermint sea star.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on TKE initiation at Whitman</title>
      <link>https://danielbachhuber.com/thoughts-on-tke-initiation-at-whitman/</link>
      <pubDate>Sat, 05 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-tke-initiation-at-whitman/</guid>
      <description>&lt;p&gt;On Wednesday, January 31st, 2007 at 5:30 pm, initiation began for the &lt;a href=&#34;http://www.whitman.edu/tau_kappa_epsilon/&#34;&gt;Alpha Theta chapter of Tau Kappa Epsilon&lt;/a&gt;. From what I can remember, I and a couple of friends were rounded up from Reid and taken to the house. There, according to the notes I prepared for an article I almost published in April 2007, we were told to line up in rows and columns. Rotten or foul-smelling food was flung at us. A porn film on repeat set the ambiance. One of the active members of the house dressed as a screaming baby and bounced around to break up our order while we were yelled directions to keep in line. This is how it began.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Wednesday, January 31st, 2007 at 5:30 pm, initiation began for the <a href="http://www.whitman.edu/tau_kappa_epsilon/">Alpha Theta chapter of Tau Kappa Epsilon</a>. From what I can remember, I and a couple of friends were rounded up from Reid and taken to the house. There, according to the notes I prepared for an article I almost published in April 2007, we were told to line up in rows and columns. Rotten or foul-smelling food was flung at us. A porn film on repeat set the ambiance. One of the active members of the house dressed as a screaming baby and bounced around to break up our order while we were yelled directions to keep in line. This is how it began.</p>
<p>Right now, I&rsquo;m <a href="http://danielbachhuber.com/tag/borneo11+diving/">diving</a> with my friend David in Sabah, Borneo. On Thursday, the Whitman Pioneer, student newspaper at Whitman College, <a href="http://whitmanpioneer.com/news/2011/03/03/allegations-of-hazing-leveled-against-tke-initiation-practices/">published an article regarding allegations brought forth by Dan Hart about TKE initiation the prior year</a>. I was quoted several times. The quotes are from a recorded Skype/phone interview I did with Pio Editor-in-Chief, Molly Smith, Wednesday morning in my current timezone. On a tip from a current TKE member, Molly contacted me on February 28th to learn about my experiences with TKE initiation four years ago. I feel what didn&rsquo;t make it into the article is now worth publishing.</p>
<p>According to this year&rsquo;s <a href="http://www.whitman.edu/content/academic_resources/handbooks/student_handbook">Whitman Student Handbook</a> (I don&rsquo;t have a copy of 2006-2007&rsquo;s), hazing is &ldquo;any activity of a physical or psychological nature that is degrading or humiliating to another person.&rdquo; Whether you like it or not, this is our working definition. The handbook also has a short list of behaviors and activities Whitman College considers to be hazing. I experienced these:</p>
<ul>
<li>Excessive fatigue resulting from sleep deprivation, physical activities, or exercise.</li>
<li>Assignment of activities that would be illegal or unlawful, or might be morally offensive to new members.</li>
<li>Verbal abuse, including “line-ups” and berating of individuals.</li>
<li>Forced or required clean-up work or labor created for new members.</li>
<li>Forced or required nudity or lewd behavior.</li>
</ul>
<p>For me, the pivotal moment was Friday evening, February 2nd, 2007, a little while after opting out of what I have in my notes as a &ldquo;cult-like ritual.&rdquo; Of the couple dozen rules pledges were subject to, one was the requirement they address active members of the house by whichever name they had given themselves for the hour. One of the actives named himself &ldquo;Mr. God&rdquo; at dinner, approached me, and demanded I address him by his name. I refused.</p>
<p>My friends wouldn&rsquo;t consider me all that religious. I was raised and confirmed Catholic, but think myself more agnostic than anything else. Spirituality, and everyone finding their own for themselves, is more important to me than religion. I am, however, quite against people abusing religion to create and reinforce oppressive power structures.</p>
<p>The active scolded me for not addressing him as &ldquo;Mr. God&rdquo; and demanded again. I refused again. At this point, he must&rsquo;ve realized he overstepped his bounds, and I was refusing for some other reason than to be defiant. All of the pledges were quickly ushered out of the TKE dining room. Actives went upstairs to, I assume, discuss what just happened. This incident was my defining moment. I made the difficult decision to leave initiation (and left a couple of hours later after debriefing with the hegemons).</p>
<p>As a freshman, leaving initiation was synonymous with leaving my Whitman community. All of the strong friendships I developed over the previous four months were in some way affiliated with the Greek system. Out of almost 30 people in Jewett&rsquo;s 2-West, I believe only two didn&rsquo;t pledge to a fraternity. By leaving initiation, I single-handedly created a chasm between me and my closest friends, put my entire social life in the lurch, and demolished the start of my foundation for a successful four years at Whitman College.</p>
<p>Case in point: Sam Chasan, my freshman roommate and one of my best friends at the time, <a href="http://whitmanpioneer.com/news/2011/03/03/allegations-of-hazing-leveled-against-tke-initiation-practices/#comments">said this in support of the initiation process</a>:</p>
<blockquote>
<p>I say strong because initiation requires intense commitment by the active members. To those who wish to simplify, and view as negative the initiation practices of TKE, are doing a disservice to themselves. Take a second to look at the men you denigrate: they are your PEERS!! They are your WHITMAN classmates, teammates, group and club mates, ASWC representatives, and so on. Intelligent men. Compassionate men. They are men of character. Initiation is a carefully organized and executed series of events, orchestrated as it is to draw out intense emotions not often seen in our monotonous daily lives. It is unfortunate that those who walk out on initiation believe those emotions are categorically wrong.</p></blockquote>
<p>On a long run along the Mazatlan waterfront during spring break that year, I listened to an <a href="http://www.democracynow.org/2007/3/30/understanding_how_good_people_turn_evil">Amy Goodman interview with Philip Zimbardo on Democracy Now!</a> Philip Zimbardo is professor emeritus of psychology at Stanford and famously known for the <a href="http://en.wikipedia.org/wiki/Stanford_prison_experiment">Stanford Prison Experiment</a>. Read through both links fully. The experiment randomly assigned 24 normal, middle-class, psychologically sound males into a mock prison environment, 12 as prisoners and 12 as prison guards. Their goal was to role-play the situation for two weeks. Zimbardo stopped the experiment after only six days because it had degraded to the point where prison guards were torturing prisoners. Only one person, an outsider, questioned the experiment&rsquo;s morality, and this questioning brought its end. Everyone else had fully adopted their roles.</p>
<p>Zimbardo argues the Stanford Prison Experiment shows two things. First, situation is a powerful motivator. It can turn normally decent human being into characters they&rsquo;re not, either positive or negative. As I listened to the interview, I drew a strong connection between why the prison guards acted as they did and why active members in the TKE house acted as they did. It wasn&rsquo;t so much that they were inherently bad people; rather, the situation they were in had a strong influence on what they perceived to be normal behavior. The power of the situation.</p>
<p>Second, <a href="http://en.wikipedia.org/wiki/Cognitive_dissonance">cognitive dissonance</a> is an important concept for describing how these normally decent human beings can internally justify doing things they wouldn&rsquo;t normally do, or that even go against their beliefs. <a href="http://www.sciencefriday.com/pages/2007/Jul/hour2_072007.html">Here&rsquo;s a good Science Friday podcast on the subject</a>. In the case of the Stanford Prison Experiment, it helps explain why the prison guards thought it alright to psychologically and physically torture inmates. And in the case of the 2007 TKE initiation, cognitive dissonance helps explain why pledges rationalized accepting the hazing as they did.</p>
<p>After understanding the situation in this new light, I was set on writing a piece for the Pio. I worked as the Photo Editor during my time at Whitman and Sophie Johnson, the editor at the time, said she would run it if I would write it. Obviously, it wasn&rsquo;t published. I showed an early draft to one of the last people I felt I could talk to. She initiated Delta Gamma that year, said she would side with the TKE house because of the Greek system&rsquo;s importance to her social life, and recommended I talk to Barbara Maxwell, Associate Dean of Students. Growing even more disenchanted with the Whitman experience, I did this instead. She convened a meeting with the intrafraternity council and I aired my grievances. From that, I don&rsquo;t know what happened. If Dan Hart, whom I&rsquo;ve never met, only recently came forth with similar allegations from a later year, I suspect not much changed.</p>
<p>Do the ends justify the means as Greek members say they do? I don&rsquo;t know, I didn&rsquo;t experience the ends. I do believe the means I experienced aren&rsquo;t justifiable in any context. I also believe the <em>activities</em> of TKE&rsquo;s initiation process, not necessarily its emotions as Sam mentions, are and have been in clear violation of Whitman&rsquo;s policy towards hazing, as well as the moral standards of all those involved. A healthy dose of transparency, accountability, and courage will be required for genuine change.</p>
<p>A note: this is my personal weblog. I publish comments with a first and last name, verifiable email address, and whose substance tries earnestly to forward the conversation. Everything else will be marked as spam. Thank you.</p>]]></content:encoded>
    </item>
    <item>
      <title>Dive log: Sipadan Island, March 4th</title>
      <link>https://danielbachhuber.com/dive-log-sipadan-island-march-4th/</link>
      <pubDate>Fri, 04 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dive-log-sipadan-island-march-4th/</guid>
      <description>&lt;p&gt;Dive day number four. Gloriously weatherful day. Hour-long boat ride out to Sipadan Island, three pretty deep dives, and then a nice rest on the way back. Noodles for lunch. Rented the shop&amp;rsquo;s underwater camera; took it out for two of the dives and David used it on the third. Emphasis on an awesome day. Tops of my feet are rightfully burned.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/p11107731.jpg&#34; alt=&#34;&#34;  width=&#34;1000&#34;&#xA;&#x9;height=&#34;750&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/p11107751.jpg&#34; alt=&#34;&#34;  width=&#34;1000&#34;&#xA;&#x9;height=&#34;750&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/p11107791.jpg&#34; alt=&#34;&#34;  width=&#34;1000&#34;&#xA;&#x9;height=&#34;750&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/p11107861.jpg&#34; alt=&#34;&#34;  width=&#34;1000&#34;&#xA;&#x9;height=&#34;750&#34;  /&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dive day number four. Gloriously weatherful day. Hour-long boat ride out to Sipadan Island, three pretty deep dives, and then a nice rest on the way back. Noodles for lunch. Rented the shop&rsquo;s underwater camera; took it out for two of the dives and David used it on the third. Emphasis on an awesome day. Tops of my feet are rightfully burned.</p>
<p><img src="images/p11107731.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11107751.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11107791.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11107861.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11107881.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11108001.jpg" alt=""  width="745"
	height="1000"  /></p>
<p><img src="images/p11108021.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11108061.jpg" alt=""  width="1000"
	height="700"  /></p>
<p><img src="images/p11108141.jpg" alt=""  width="673"
	height="1000"  /></p>
<p><img src="images/p11108361.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11108421.jpg" alt=""  width="1000"
	height="614"  /></p>
<p><img src="images/p11108511.jpg" alt=""  width="791"
	height="1000"  /></p>
<p><img src="images/p11108561.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11108911.jpg" alt=""  width="1000"
	height="560"  /></p>
<p><img src="images/p11108951.jpg" alt=""  width="1000"
	height="767"  /></p>
<p><img src="images/p11108991.jpg" alt=""  width="1000"
	height="487"  /></p>
<p><img src="images/p11109011.jpg" alt=""  width="1000"
	height="683"  /></p>
<p><img src="images/p11109061.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109101.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109151.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109211.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11109251.jpg" alt=""  width="722"
	height="1000"  /></p>
<p><img src="images/p11109281.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109351.jpg" alt=""  width="750"
	height="1000"  /></p>
<p><img src="images/p11109441.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109531.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109541.jpg" alt=""  width="825"
	height="1000"  /></p>
<p><img src="images/p11109571.jpg" alt=""  width="1000"
	height="754"  /></p>
<p><img src="images/p11109601.jpg" alt=""  width="758"
	height="1000"  /></p>
<p><img src="images/p11109791.jpg" alt=""  width="806"
	height="1000"  /></p>
<p><img src="images/p11109861.jpg" alt=""  width="1000"
	height="713"  /></p>
<p><img src="images/p11109921.jpg" alt=""  width="1000"
	height="750"  /></p>
<p><img src="images/p11109971.jpg" alt=""  width="1000"
	height="750"  /></p>
<h3 id="dive-1-barracuda-point">Dive #1: Barracuda Point</h3>
<p><strong>Max depth:</strong> 31 meters<br>
<strong>Bottom time:</strong> 46 minutes<br>
<strong>Notes:</strong> Dove with the camera; saw wridley&rsquo;s turtle, white-tip and black-tip shark, sea fan, and a <a href="http://danielbachhuber.com/2011/03/04/dive-log-sipadan-island-march-4th/p1110910/">massive school of barracuda</a>.</p>
<h3 id="dive-2-south-point">Dive #2: South Point</h3>
<p><strong>Max depth:</strong> 26 meters<br>
<strong>Bottom time:</strong> 45 minutes<br>
<strong>Notes:</strong> Dove with the camera; saw lion fish, trumpet fish, turtles, white-tip and black-tip sharks, and a <a href="http://danielbachhuber.com/2011/03/04/dive-log-sipadan-island-march-4th/p1110910/">ghost pipe fish</a>.</p>
<h3 id="dive-3-turtle-cave">Dive #3: Turtle Cave</h3>
<p><strong>Max depth:</strong> 20 meters<br>
<strong>Bottom time:</strong> 45 minutes<br>
<strong>Notes:</strong> David dove with the camera; entered turtle cave for five minutes; saw turtles, white-tip and black-tip sharks, crocodile fish, and yellow tail barracuda.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dive log: Si Amil Island and Singamata, March 3rd</title>
      <link>https://danielbachhuber.com/dive-log-si-amil-island-and-singamata-march-3rd/</link>
      <pubDate>Thu, 03 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dive-log-si-amil-island-and-singamata-march-3rd/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/gopr07951-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/gopr07991-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/gopr08071-1024x768.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;768&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dive day number three. Frigid cold. Sun needs to return to SE Asia asap to battle off the rain. Also, first day of four dives. Pretty wiped out. Planned to photograph with David&amp;rsquo;s &lt;a href=&#34;http://gopro.com/&#34;&gt;GoPro&lt;/a&gt; but it wouldn&amp;rsquo;t start up as soon as I was underwater on the first dive.&lt;/p&gt;&#xA;&lt;h3 id=&#34;dive-1-pygmy-corner&#34;&gt;Dive #1: Pygmy Corner&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Max depth:&lt;/strong&gt; 29.3 meters&lt;br&gt;&#xA;&lt;strong&gt;Bottom time:&lt;/strong&gt; 49 minutes&lt;br&gt;&#xA;&lt;strong&gt;Notes:&lt;/strong&gt; fun dive; saw peacock mantis shrimp, nudibranches, 2 crocodile fish, and banded coral shrimp&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/gopr07951-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><img src="images/gopr07991-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p><img src="images/gopr08071-1024x768.jpg" alt=""  width="1024"
	height="768"  /></p>
<p>Dive day number three. Frigid cold. Sun needs to return to SE Asia asap to battle off the rain. Also, first day of four dives. Pretty wiped out. Planned to photograph with David&rsquo;s <a href="http://gopro.com/">GoPro</a> but it wouldn&rsquo;t start up as soon as I was underwater on the first dive.</p>
<h3 id="dive-1-pygmy-corner">Dive #1: Pygmy Corner</h3>
<p><strong>Max depth:</strong> 29.3 meters<br>
<strong>Bottom time:</strong> 49 minutes<br>
<strong>Notes:</strong> fun dive; saw peacock mantis shrimp, nudibranches, 2 crocodile fish, and banded coral shrimp</p>
<h3 id="dive-2-east-point">Dive #2: East Point</h3>
<p><strong>Max depth:</strong> 18 meters<br>
<strong>Bottom time:</strong> 47 minutes<br>
<strong>Notes:</strong> fun dive; saw a turtle resting on the bottom, murray eels, and nudibranches</p>
<h3 id="dive-3-lobster-rock">Dive #3: Lobster Rock</h3>
<p><strong>Max depth:</strong> 14.6 meters<br>
<strong>Bottom time:</strong> 45 minutes<br>
<strong>Notes:</strong> Navigation dive for PADI Advanced Open Water; 30 meter distance swim (40 kick cycles) return via natural reference; compass 180 degree reciprocal; compass square course; saw morey eel poking out of a hole while waiting for compass and dozens of chocolate chip sea stars</p>
<h3 id="dive-4-singamata">Dive #4: Singamata</h3>
<p><strong>Max depth:</strong> 13.3 meters<br>
<strong>Bottom time:</strong> 41 minutes<br>
<strong>Notes:</strong> Night dive!!! for PADI Advanced Open Water; practiced close buddy teams; turned off touches while kneeling on bottom to see florescent plankton; compass 180 degree reciprocal navigation; saw squid, lots of crab, shrimp, farm of sea urchins, and a long sea cucumber</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dive log: Sibuan Island, March 2nd</title>
      <link>https://danielbachhuber.com/dive-log-sibuan-island-march-2nd/</link>
      <pubDate>Wed, 02 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/dive-log-sibuan-island-march-2nd/</guid>
      <description>&lt;p&gt;Three dives today with Sipidan Scuba. Weather wasn&amp;rsquo;t that great, overcast with showers, but there were a few sun breaks. First deep dive ever along the wall was wicked awesome. Definitely want to get into deep diving.&lt;/p&gt;&#xA;&lt;h3 id=&#34;dive-1-discovery-wall&#34;&gt;Dive #1: Discovery Wall&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Max depth:&lt;/strong&gt; 29 meters &lt;strong&gt;Bottom time:&lt;/strong&gt; 43 minutes &lt;strong&gt;Notes:&lt;/strong&gt; Deep dive for PADI Advanced Open Water; color chart comparison at depth; compared readout from depth gauges; saw 4 lion fish, turtle, 2 nudibranches, shrimp, damsel fish and trigger fish.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Three dives today with Sipidan Scuba. Weather wasn&rsquo;t that great, overcast with showers, but there were a few sun breaks. First deep dive ever along the wall was wicked awesome. Definitely want to get into deep diving.</p>
<h3 id="dive-1-discovery-wall">Dive #1: Discovery Wall</h3>
<p><strong>Max depth:</strong> 29 meters <strong>Bottom time:</strong> 43 minutes <strong>Notes:</strong> Deep dive for PADI Advanced Open Water; color chart comparison at depth; compared readout from depth gauges; saw 4 lion fish, turtle, 2 nudibranches, shrimp, damsel fish and trigger fish.</p>
<h3 id="dive-2-east-beach">Dive #2: East Beach</h3>
<p><strong>Max depth:</strong> 19.8 meters <strong>Bottom time:</strong> 50 minutes <strong>Notes:</strong> Fish identification dive for PADI Advanced Open Water; Saw fish from 6 groups: trigger fish, bat fish, goat fish, butterfly fish, damsel fish, and angel fish; didn&rsquo;t kick the coral (environmental awareness); also saw tiger cowrie shell, varicose wart slugs, and lots of yellowback fusilier.</p>
<h3 id="dive-3-frogfish-corner">Dive #3: Frogfish Corner</h3>
<p><strong>Max depth:</strong> 14.3 meters <strong>Bottom time:</strong> 56 minutes <strong>Notes:</strong> Peak Performance Buoyancy dive for PADI Advanced Open Water; buoyancy check at the top; slow decent and neutral buoyant circle around a pile of wood; vertical hover, horizontal face-down hover, horizontal face-up hover; efficient, long, slow kicks practice; saw sand, rubbish, massive sea cucumber, and damsel fish.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The case of the mysterious external services</title>
      <link>https://danielbachhuber.com/the-case-of-the-mysterious-external-services/</link>
      <pubDate>Fri, 25 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-case-of-the-mysterious-external-services/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2011/02/new-relic-average-response-time1.jpg&#34;&gt;&lt;img src=&#34;images/new-relic-average-response-time1.jpg&#34; alt=&#34;&#34;  width=&#34;860&#34;&#xA;&#x9;height=&#34;323&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;There&amp;rsquo;s something wrong with this picture. And it has to do with &amp;ldquo;All External.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re using a few different tools at the J-School to monitor performance and uptime of our webserver. &lt;a href=&#34;http://munin-monitoring.org/&#34;&gt;Munin&lt;/a&gt; is one, &lt;a href=&#34;http://www.pingdom.com/&#34;&gt;Pingdom&lt;/a&gt; is another, a bash script running on cron is a third, and the fancy &lt;a href=&#34;http://newrelic.com/&#34;&gt;New Relic&lt;/a&gt; is the last. Two weeks ago, just as I&amp;rsquo;m &lt;a href=&#34;http://danielbachhuber.com/2011/02/11/time-to-ski-tahoe/&#34;&gt;leaving NYC to ski on the west coast&lt;/a&gt;, the bash script, which downloads the homepage of two sites every two minutes and greps the response, starts sending email notifications of response failures.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://danielbachhuber.com/wp-content/uploads/2011/02/new-relic-average-response-time1.jpg"><img src="images/new-relic-average-response-time1.jpg" alt=""  width="860"
	height="323"  /></a></p>
<p>There&rsquo;s something wrong with this picture. And it has to do with &ldquo;All External.&rdquo;</p>
<p>We&rsquo;re using a few different tools at the J-School to monitor performance and uptime of our webserver. <a href="http://munin-monitoring.org/">Munin</a> is one, <a href="http://www.pingdom.com/">Pingdom</a> is another, a bash script running on cron is a third, and the fancy <a href="http://newrelic.com/">New Relic</a> is the last. Two weeks ago, just as I&rsquo;m <a href="http://danielbachhuber.com/2011/02/11/time-to-ski-tahoe/">leaving NYC to ski on the west coast</a>, the bash script, which downloads the homepage of two sites every two minutes and greps the response, starts sending email notifications of response failures.</p>
<p>These notifications begin arriving at the rate of a dozen plus per hour, way above the threshold of normal operations. Pingdom was quiet, so I assumed it was a performance issue and the server hadn&rsquo;t gone down. With how the bash script is currently configured, it uses <a href="http://curl.haxx.se/">cURL</a> to download the homepage and then searches the HTML response for a specific string of text. cURL&rsquo;s request timeout is set to 20 seconds. If the string isn&rsquo;t found, it will email web ops with an error notification and the response received. All of our notification emails included pretty blank text files as attachments.</p>
<p>The situation: I&rsquo;m on vacation for the weekend, traveling and skiing, and our network of 250+ websites is regularly experiencing 20 second or more page load times. In the time I can allocate early morning, in the evening, and <a href="http://danielbachhuber.com/2011/02/13/status-24/">driving to Santa Clara</a>, I frantically try to re-enable Nginx FastCGI caching. I figure if I can get static caching in place, at least the majority of the requests will be quick and I can solve the application performance problems when I return. No dice. I try and try and try and all my cache log showed was &ldquo;MISS&rdquo;.</p>
<p><a href="http://newrelic.com/">New Relic</a> is a tool I had installed on the server a few weeks prior. It allows you to see inside web applications in realtime, giving metrics like average response time, <a href="http://www.apdex.org/">Apdex score</a>, and requests per minute. New Relic is also quite pricey but, as of yesterday, <a href="http://blog.newrelic.com/2011/02/24/free-newrelic-on-the_rackspace_cloud/">Rackspace Cloud customers can use the Bronze version free of charge</a>. On its average response time chart, the tool breaks the time into PHP, database, and &ldquo;All External.&rdquo; Our PHP and database responses were quite normal, but whatever was going on with &ldquo;All External&rdquo; was taking our excellent sub-400 millisecond response times to the moon.</p>
<p>Tuesday evening, thanks to a fresh pair of eyes from <a href="http://www.journalism.cuny.edu/members/min-su/">my colleague Min Su</a>, we figured it out. On the previous Friday afternoon, a student who will remain nameless added one of WordPress&rsquo; standard RSS widgets to their personal homepage to display their latest posts. Instead of entering the RSS feed into the settings, they entered the URL of their homepage.</p>
<p>Now, this site doesn&rsquo;t yet receive a lot of traffic, but it is indexed by the ol&rsquo; Goog. Every time the homepage was requested that weekend, the RSS widget would request the homepage again. And so on and so on. New Relic reports these as requests to external services. The response time grew as the infinite spiral went deeper. It&rsquo;s worth noting Nginx handled this traffic in the most performant manner as possible; unfortunately, it doesn&rsquo;t help all that much when your web application launches a <a href="http://en.wikipedia.org/wiki/Denial-of-service_attack">denial-of-service attack</a> on itself.</p>]]></content:encoded>
    </item>
    <item>
      <title>Two weeks on twenty liters</title>
      <link>https://danielbachhuber.com/two-weeks-on-twenty-liters/</link>
      <pubDate>Fri, 25 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-weeks-on-twenty-liters/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/photo11.jpg&#34; alt=&#34;&#34;  width=&#34;1296&#34;&#xA;&#x9;height=&#34;968&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tonight at 12:50 am, I&amp;rsquo;ll be leaving NYC for Seoul, then Hong Kong, then Kota Kinabalu, then Tawau, and finally arriving in Semporna mid-afternoon on Monday. For two weeks, I intend to dive and explore Borneo with my old roommate, &lt;a href=&#34;http://davidsjf.wordpress.com/&#34;&gt;David&lt;/a&gt; (don&amp;rsquo;t worry mom, he&amp;rsquo;s working on his divemaster certification as we speak). In the pursuit of minimalism, I&amp;rsquo;ve managed to fit everything I need in to my 20 liter Black Diamond pack. Except for my book to read and the guide book. Hmm.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/photo11.jpg" alt=""  width="1296"
	height="968"  /></p>
<p>Tonight at 12:50 am, I&rsquo;ll be leaving NYC for Seoul, then Hong Kong, then Kota Kinabalu, then Tawau, and finally arriving in Semporna mid-afternoon on Monday. For two weeks, I intend to dive and explore Borneo with my old roommate, <a href="http://davidsjf.wordpress.com/">David</a> (don&rsquo;t worry mom, he&rsquo;s working on his divemaster certification as we speak). In the pursuit of minimalism, I&rsquo;ve managed to fit everything I need in to my 20 liter Black Diamond pack. Except for my book to read and the guide book. Hmm.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Splash page for the Tow-Knight Center for Entrepreneurial Journalism</title>
      <link>https://danielbachhuber.com/splash-page-for-the-tow-knight-center-for-entrepreneurial-journalism/</link>
      <pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/splash-page-for-the-tow-knight-center-for-entrepreneurial-journalism/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://towknightcenter.com/&#34;&gt;&lt;img src=&#34;images/20110223towknightcenter1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;841&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Quick splash page I put together for the &lt;a href=&#34;http://towknightcenter.com/&#34;&gt;Tow-Knight Center for Entrepreneurial Journalism&lt;/a&gt; in preparation for the &lt;a href=&#34;http://www.journalism.cuny.edu/events/launch-of-the-tow-knight-center-for-entrepreneurial-journalism/&#34;&gt;launch reception&lt;/a&gt; on March 9th. &lt;a href=&#34;https://github.com/cunyjschool/Tow-Knight-Center&#34;&gt;Code is available on GitHub&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://towknightcenter.com/"><img src="images/20110223towknightcenter1.jpg" alt=""  width="600"
	height="841"  /></a></p>
<p>Quick splash page I put together for the <a href="http://towknightcenter.com/">Tow-Knight Center for Entrepreneurial Journalism</a> in preparation for the <a href="http://www.journalism.cuny.edu/events/launch-of-the-tow-knight-center-for-entrepreneurial-journalism/">launch reception</a> on March 9th. <a href="https://github.com/cunyjschool/Tow-Knight-Center">Code is available on GitHub</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>I&#39;ll be speaking about WordPress at CMA NYC in March</title>
      <link>https://danielbachhuber.com/ill-be-speaking-about-wordpress-at-cma-nyc-in-march/</link>
      <pubDate>Sun, 20 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ill-be-speaking-about-wordpress-at-cma-nyc-in-march/</guid>
      <description>&lt;p&gt;Following &lt;a href=&#34;http://www.laurenmichell.com/2011/02/ill-be-speaking-at-acp-hollywood-in-march/&#34;&gt;Lauren&amp;rsquo;s lead&lt;/a&gt;, I&amp;rsquo;ll be speaking at the &lt;a href=&#34;http://nyc.collegemedia.org/&#34;&gt;Spring College Media Convention&lt;/a&gt; on Sunday morning, March 13th (the conference runs March 12th through 15th) at the Marriott Marquis in Times Square. The organizers have asked me to lead two sessions:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;WordPress hack attack&lt;/strong&gt; &lt;em&gt;(Sunday, 9-9:50 a.m., New Media Central 1)&lt;/em&gt; - The basic WordPress website is pretty stripped down, but plug-ins and themes can perk up its appearance, simplify your workflow, and streamline your mobile delivery. The former director of CoPress will show you some of the best add-ons, teach you some nifty design tricks, and tell you how to keep your site running at peak efficiency.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Making WordPress work for you&lt;/strong&gt; &lt;em&gt;(Sunday, 10-10:50 a.m., New Media Central 1)&lt;/em&gt; - Considered making the switch to WordPress? The former director of CoPress offers tips on how to make an open-source content management system work for your organization. Learn the pleasures and pitfalls of migrating from another CMS and why WordPress is a good solution for college newspapers.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;My goal is to make each primers on core concepts, include usable takeaways, and offer lots of links for later digestion. In the first, I intend to cover topics like backups, version control, development sandboxes, and performance, a few different tools, and several of my favorite plugins. &lt;a href=&#34;https://docs.google.com/document/pub?id=1KfWNgeZn124wsM94s7ZjOKVjEmkjfLq1xZthM38rbAU&#34;&gt;See my notes in progress on a Google Doc&lt;/a&gt;. In the second, I&amp;rsquo;d like to give a complete overview of migrating to WordPress, including how to migrate your archives, what to look for in a web host, and where you can train your staff, and then have a healthy Q&amp;amp;A session at the end. &lt;a href=&#34;https://docs.google.com/document/pub?id=12jtYbujHIhiP14VaFBRgMPmSK-WeNtHK6WvAINOQuMk&#34;&gt;These notes are also in progress in a Google Doc&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Following <a href="http://www.laurenmichell.com/2011/02/ill-be-speaking-at-acp-hollywood-in-march/">Lauren&rsquo;s lead</a>, I&rsquo;ll be speaking at the <a href="http://nyc.collegemedia.org/">Spring College Media Convention</a> on Sunday morning, March 13th (the conference runs March 12th through 15th) at the Marriott Marquis in Times Square. The organizers have asked me to lead two sessions:</p>
<ul>
<li><strong>WordPress hack attack</strong> <em>(Sunday, 9-9:50 a.m., New Media Central 1)</em> - The basic WordPress website is pretty stripped down, but plug-ins and themes can perk up its appearance, simplify your workflow, and streamline your mobile delivery. The former director of CoPress will show you some of the best add-ons, teach you some nifty design tricks, and tell you how to keep your site running at peak efficiency.</li>
<li><strong>Making WordPress work for you</strong> <em>(Sunday, 10-10:50 a.m., New Media Central 1)</em> - Considered making the switch to WordPress? The former director of CoPress offers tips on how to make an open-source content management system work for your organization. Learn the pleasures and pitfalls of migrating from another CMS and why WordPress is a good solution for college newspapers.</li>
</ul>
<p>My goal is to make each primers on core concepts, include usable takeaways, and offer lots of links for later digestion. In the first, I intend to cover topics like backups, version control, development sandboxes, and performance, a few different tools, and several of my favorite plugins. <a href="https://docs.google.com/document/pub?id=1KfWNgeZn124wsM94s7ZjOKVjEmkjfLq1xZthM38rbAU">See my notes in progress on a Google Doc</a>. In the second, I&rsquo;d like to give a complete overview of migrating to WordPress, including how to migrate your archives, what to look for in a web host, and where you can train your staff, and then have a healthy Q&amp;A session at the end. <a href="https://docs.google.com/document/pub?id=12jtYbujHIhiP14VaFBRgMPmSK-WeNtHK6WvAINOQuMk">These notes are also in progress in a Google Doc</a>.</p>
<p>If you have any concepts, tricks, or wisdom you think I need to cover, please let me know. I&rsquo;d be happy to credit you in the presentation. I also intend to publish my full notes for reference prior to the sessions.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journalism should be reproducible</title>
      <link>https://danielbachhuber.com/journalism-should-be-reproducible/</link>
      <pubDate>Thu, 17 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/journalism-should-be-reproducible/</guid>
      <description>&lt;p&gt;The idea came a month ago: &amp;ldquo;&lt;a href=&#34;http://danielbachhuber.com/2011/01/16/status-13/&#34;&gt;journalism should be reproducible&lt;/a&gt;.&amp;rdquo; After a &lt;a href=&#34;http://blog.milesskorpen.com/2011/02/15/the-business-of-data/&#34;&gt;conversation with Miles&lt;/a&gt; this weekend, I&amp;rsquo;d like to explore this further.&lt;/p&gt;&#xA;&lt;p&gt;First point: Let&amp;rsquo;s approach journalism as the science for civic participation. Give journalism the goal to help us improve our standards of living, create a more just society, and so on. Make the goals measurable in various ways, and we can track our progress towards them.&lt;/p&gt;&#xA;&lt;p&gt;Science, &lt;a href=&#34;http://en.wikipedia.org/wiki/Science&#34;&gt;according to Wikipedia&lt;/a&gt;, &amp;ldquo;builds and organizes knowledge in the form of testable explanations and predictions about the world.&amp;rdquo; A report in a scientific journal has an abstract, methodology, presentation of the data, discussion and conclusion. News articles typically have the first and last. They&amp;rsquo;re missing two critical pieces: presentation of the data and the methodology used to collect the data. Reproducibility is a vital aspect of the scientific method (&lt;a href=&#34;http://www.newyorker.com/reporting/2010/12/13/101213fa_fact_lehrer&#34;&gt;related: Jonah Lehrer has a fascinating article on this topic in the New Yorker&lt;/a&gt;).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The idea came a month ago: &ldquo;<a href="http://danielbachhuber.com/2011/01/16/status-13/">journalism should be reproducible</a>.&rdquo; After a <a href="http://blog.milesskorpen.com/2011/02/15/the-business-of-data/">conversation with Miles</a> this weekend, I&rsquo;d like to explore this further.</p>
<p>First point: Let&rsquo;s approach journalism as the science for civic participation. Give journalism the goal to help us improve our standards of living, create a more just society, and so on. Make the goals measurable in various ways, and we can track our progress towards them.</p>
<p>Science, <a href="http://en.wikipedia.org/wiki/Science">according to Wikipedia</a>, &ldquo;builds and organizes knowledge in the form of testable explanations and predictions about the world.&rdquo; A report in a scientific journal has an abstract, methodology, presentation of the data, discussion and conclusion. News articles typically have the first and last. They&rsquo;re missing two critical pieces: presentation of the data and the methodology used to collect the data. Reproducibility is a vital aspect of the scientific method (<a href="http://www.newyorker.com/reporting/2010/12/13/101213fa_fact_lehrer">related: Jonah Lehrer has a fascinating article on this topic in the New Yorker</a>).</p>
<p>Journalism has no equivalent. As a profession in existential doldrums, we say we bring truth to power while, at the same time, <a href="http://www.salon.com/news/opinion/glenn_greenwald/2011/02/14/journalism/index.html">questioning ethics when Anderson Cooper calls out the lies of the state</a>. This is broken. Jay Rosen likes to say &ldquo;here&rsquo;s where I&rsquo;m coming from.&rdquo; It wants to include &ldquo;here&rsquo;s my conclusion, and here&rsquo;s the data and methodology to back it up.&rdquo;</p>
<p>For <a href="http://carnivalofjournalism.com/2011/02/08/were-back-at-it-carnival-of-journalism-jcarn/">this month&rsquo;s Carnival of Journalism</a>, David Cohn asks: considering your unique position, what can be done to increase the number of news sources? Last month, I did a time-consuming <a href="http://danielbachhuber.com/2011/01/20/universities-as-hubs-of-journalistic-activity/">content analysis of the two Locals</a>. I think the question afforded it. This month&rsquo;s question makes a false assumption: improving journalism requires a growth of news sources. Look at Google News right now:</p>
<p><a href="http://danielbachhuber.com/2011/02/17/journalism-should-be-reproducible/20110217googlenews/"><img src="images/20110217googlenews1.jpg" alt=""  width="600"
	height="480"  /></a></p>
<p>We have a metric ton of news sources producing a metric ton of content. 2,535 stories about the Bahrain story, 1,002 stories about Iran, and 392 stories about Ben Ali&rsquo;s grave condition. I&rsquo;d be willing to bet there are a countable number of facts contained within all of those stories, and the actual collection of those facts took less than 5% of the total resources used.</p>
<p>Everyone can publish, but the question remains whether what they&rsquo;re publishing is useful. Instead of increasing the number of news sources, we should focus on producing durable data and the equivalent tools for remixing it. Data can be the average wait time at the restaurant I&rsquo;m eating at this evening, or the <a href="http://danielbachhuber.com/2010/07/17/data-driven-life/">cost and freshness of produce at the various bodegas in my neighborhood</a>. Or, if I&rsquo;m searching for office space, whether the building I&rsquo;m looking at actually recycles like they say they do. Functional databases make up two-thirds of the Texas Tribune&rsquo;s traffic. When information is managed at the data level, it can more be easily reused in different contexts with different tools (long form Instapaper article vs. app with location-based push notifications). Expose the original data and methodology used to achieve the conclusion, and journalism can be reproducible.</p>]]></content:encoded>
    </item>
    <item>
      <title>Key departures suggest 4 factors critical to the future of programming and journalism</title>
      <link>https://danielbachhuber.com/key-departures-suggest-4-factors-critical-to-the-future-of-programming-and-journalism/</link>
      <pubDate>Thu, 17 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/key-departures-suggest-4-factors-critical-to-the-future-of-programming-and-journalism/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.poynter.org/latest-news/top-stories/119853/key-departures-point-to-4-factors-critical-to-the-future-of-programming-and-journalism/&#34;&gt;Key departures suggest 4 factors critical to the future of programming and journalism&lt;/a&gt;. Both Matt Waite and Jeremy Bowers are out at the St. Petersburg Times. Factors influencing data journalism at larger news organizations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;News apps challenge longstanding perceptions of who owns technology within a media company.&lt;/li&gt;&#xA;&lt;li&gt;Regardless of who is placed in what department, developers and journalists must be able to collaborate so they can create new tools.&lt;/li&gt;&#xA;&lt;li&gt;News organizations will have to emphasize project management and product development if they hope to compete with digitally-native information companies.&lt;/li&gt;&#xA;&lt;li&gt;News organizations must truly support risk-taking in order to see its rewards.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Excellent state of the field analysis. All challenges to solve.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.poynter.org/latest-news/top-stories/119853/key-departures-point-to-4-factors-critical-to-the-future-of-programming-and-journalism/">Key departures suggest 4 factors critical to the future of programming and journalism</a>. Both Matt Waite and Jeremy Bowers are out at the St. Petersburg Times. Factors influencing data journalism at larger news organizations:</p>
<ul>
<li>News apps challenge longstanding perceptions of who owns technology within a media company.</li>
<li>Regardless of who is placed in what department, developers and journalists must be able to collaborate so they can create new tools.</li>
<li>News organizations will have to emphasize project management and product development if they hope to compete with digitally-native information companies.</li>
<li>News organizations must truly support risk-taking in order to see its rewards.</li>
</ul>
<p>Excellent state of the field analysis. All challenges to solve.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ski report: Tahoe, January 2011</title>
      <link>https://danielbachhuber.com/ski-report-tahoe-january-2011/</link>
      <pubDate>Wed, 16 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ski-report-tahoe-january-2011/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-8/&#34;&gt;&lt;img src=&#34;images/photo2.jpg&#34; alt=&#34;&#34;  width=&#34;1296&#34;&#xA;&#x9;height=&#34;968&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Crashed at &lt;a href=&#34;http://www.sunnysidetahoe.com/&#34;&gt;Sunnyside Lodge&lt;/a&gt; this past weekend and skiied two days at &lt;a href=&#34;http://www.squaw.com/&#34;&gt;Squaw Mountain&lt;/a&gt; with &lt;a href=&#34;http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-2-3/&#34;&gt;Miles&lt;/a&gt;. No fresh snow but the &lt;a href=&#34;http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-3-3/&#34;&gt;weather couldn&amp;rsquo;t be beat&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Saturday: 28,500 feet of vertical from 31 runs over 7 hours. &lt;a href=&#34;http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-1-5/&#34;&gt;Beer and chili fries for lunch&lt;/a&gt;. Grilling with &lt;a href=&#34;http://www.burtherman.com/&#34;&gt;Burt Herman&lt;/a&gt; and his friends in South Lake.&lt;/p&gt;&#xA;&lt;p&gt;Sunday: 22,800 feet of vertical from 24 runs over 5.5 hours. Long drive back to San Francisco. Homemade pizza dinner with Hilary Titus and her roommates.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-8/"><img src="images/photo2.jpg" alt=""  width="1296"
	height="968"  /></a></p>
<p>Crashed at <a href="http://www.sunnysidetahoe.com/">Sunnyside Lodge</a> this past weekend and skiied two days at <a href="http://www.squaw.com/">Squaw Mountain</a> with <a href="http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-2-3/">Miles</a>. No fresh snow but the <a href="http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-3-3/">weather couldn&rsquo;t be beat</a>.</p>
<p>Saturday: 28,500 feet of vertical from 31 runs over 7 hours. <a href="http://danielbachhuber.com/2011/02/15/ski-report-tahoe-january-2011/photo-1-5/">Beer and chili fries for lunch</a>. Grilling with <a href="http://www.burtherman.com/">Burt Herman</a> and his friends in South Lake.</p>
<p>Sunday: 22,800 feet of vertical from 24 runs over 5.5 hours. Long drive back to San Francisco. Homemade pizza dinner with Hilary Titus and her roommates.</p>
<p>Monday: early morning flight back to NYC just in time to take the lady out dancing for Valentines.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Best collection of code for your functions.php file</title>
      <link>https://danielbachhuber.com/best-collection-of-code-for-your-functions-php-file/</link>
      <pubDate>Fri, 11 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/best-collection-of-code-for-your-functions-php-file/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.stackexchange.com/questions/1567/best-collection-of-code-for-your-functions-php-file&#34;&gt;Best collection of code for your functions.php file&lt;/a&gt;. Useful collection of tips. I like the idea of disabling the upgrade nag for non-super admins.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://wordpress.stackexchange.com/questions/1567/best-collection-of-code-for-your-functions-php-file">Best collection of code for your functions.php file</a>. Useful collection of tips. I like the idea of disabling the upgrade nag for non-super admins.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Time to ski Tahoe</title>
      <link>https://danielbachhuber.com/time-to-ski-tahoe/</link>
      <pubDate>Fri, 11 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/time-to-ski-tahoe/</guid>
      <description>&lt;p&gt;Flying to San Francisco this evening to meet up with &lt;a href=&#34;http://milesskorpen.com&#34;&gt;Miles&lt;/a&gt; and ski Tahoe for the first time. I have my Black Diamond Kilowatts with me. Depending on the snow quality, I may ski them one day and demo a new pair of alpine boots the next. No more nerve damage on the big toes for me.&lt;/p&gt;&#xA;&lt;p&gt;Ski or die man!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Flying to San Francisco this evening to meet up with <a href="http://milesskorpen.com">Miles</a> and ski Tahoe for the first time. I have my Black Diamond Kilowatts with me. Depending on the snow quality, I may ski them one day and demo a new pair of alpine boots the next. No more nerve damage on the big toes for me.</p>
<p>Ski or die man!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: web analytics across multiple domains and subdomains</title>
      <link>https://danielbachhuber.com/idea-web-analytics-across-multiple-domains-and-subdomains/</link>
      <pubDate>Tue, 08 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-web-analytics-across-multiple-domains-and-subdomains/</guid>
      <description>&lt;p&gt;Track basic engagement metrics (pageviews, visitors, etc.) across N domains and subdomains without having to register each site with the anaytics tool. We have a &lt;a href=&#34;http://www.quantcast.com/journalism.cuny.edu&#34;&gt;Quantcast account&lt;/a&gt; but it&amp;rsquo;s really not sufficient.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Track basic engagement metrics (pageviews, visitors, etc.) across N domains and subdomains without having to register each site with the anaytics tool. We have a <a href="http://www.quantcast.com/journalism.cuny.edu">Quantcast account</a> but it&rsquo;s really not sufficient.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New kit: MacBook Air</title>
      <link>https://danielbachhuber.com/new-kit-macbook-air/</link>
      <pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-kit-macbook-air/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/macbookair1.jpg&#34; alt=&#34;&#34;  width=&#34;1296&#34;&#xA;&#x9;height=&#34;968&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;After much deliberation: 11&amp;quot; screen, 128 GB flash drive, 2 GB memory. Initial observations: it&amp;rsquo;s so light and applications load in half of a heartbeat. Here&amp;rsquo;s hoping for an epic battery life.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/macbookair1.jpg" alt=""  width="1296"
	height="968"  /></p>
<p>After much deliberation: 11&quot; screen, 128 GB flash drive, 2 GB memory. Initial observations: it&rsquo;s so light and applications load in half of a heartbeat. Here&rsquo;s hoping for an epic battery life.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Today&#39;s happy fun project: profiling FastCGI memory consumption</title>
      <link>https://danielbachhuber.com/todays-happy-fun-project-fastcgi-memory-consumption/</link>
      <pubDate>Tue, 01 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/todays-happy-fun-project-fastcgi-memory-consumption/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20110201munin-jacobian_memory1.png&#34; alt=&#34;&#34;  width=&#34;497&#34;&#xA;&#x9;height=&#34;424&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;On Saturday night, well, Sunday morning between the hours of 12 am and 3:30 am, I switched our production web server from Nginx/Apache to Nginx/FastCGI/PHP-FPM. My original reasoning for the project was an understanding the latter combination could perform at a higher level. Unfortunately, it doesn&amp;rsquo;t appear to do so out of the box.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20110201munin-jacobian_memory1.png" alt=""  width="497"
	height="424"  /></p>
<p>On Saturday night, well, Sunday morning between the hours of 12 am and 3:30 am, I switched our production web server from Nginx/Apache to Nginx/FastCGI/PHP-FPM. My original reasoning for the project was an understanding the latter combination could perform at a higher level. Unfortunately, it doesn&rsquo;t appear to do so out of the box.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three education problems to solve: reusable syllabi, mapping demand, and adaptive teaching</title>
      <link>https://danielbachhuber.com/three-education-problems-to-solve-reusable-syllabi-mapping-demand-and-adaptive-teaching/</link>
      <pubDate>Fri, 28 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-education-problems-to-solve-reusable-syllabi-mapping-demand-and-adaptive-teaching/</guid>
      <description>&lt;p&gt;Working on a &lt;a href=&#34;https://docs.google.com/document/d/1Ndl-jiRrBf6fq7hBa504h7C63g6iLj3RBjKqziO_fws/edit?hl=en&#34;&gt;class outline&lt;/a&gt; for intro to setting up your website, how WordPress works, and very basic HTML CSS. In this process, I&amp;rsquo;ve identified three educational problems needing to be solved.&lt;/p&gt;&#xA;&lt;p&gt;First, capturing class content. There are a discreet number of facts to presented in this subject area. Along with that, there are examples to be given, exercises to be done, and questions to be raised. Inventing this from scratch each time, or only having access to your prior syllabi, seems completely antiquated. It would be wonderful to be able to use historical data on how others have taught to improve your own approach. If it was a structured database you could access, even more the better. This doesn&amp;rsquo;t solve the disconnect between teaching and self-directed learning, but it could optimize the quality of teaching.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Working on a <a href="https://docs.google.com/document/d/1Ndl-jiRrBf6fq7hBa504h7C63g6iLj3RBjKqziO_fws/edit?hl=en">class outline</a> for intro to setting up your website, how WordPress works, and very basic HTML CSS. In this process, I&rsquo;ve identified three educational problems needing to be solved.</p>
<p>First, capturing class content. There are a discreet number of facts to presented in this subject area. Along with that, there are examples to be given, exercises to be done, and questions to be raised. Inventing this from scratch each time, or only having access to your prior syllabi, seems completely antiquated. It would be wonderful to be able to use historical data on how others have taught to improve your own approach. If it was a structured database you could access, even more the better. This doesn&rsquo;t solve the disconnect between teaching and self-directed learning, but it could optimize the quality of teaching.</p>
<p>Second, identifying where students are at and where they want to go. The latter presupposes students <em>know</em> where they want to go, but I suspect most have some idea. Again, both of these points of data currently aren&rsquo;t captured in any sort of meaningful way. This causes the instructor to prepare course material based on what they perceive necessary, instead of the more effective approach of tying it closely to demand.</p>
<p>Lastly, adapting teaching approaches. For the class this afternoon, there are going to be some number of students who took the <a href="http://danielbachhuber.com/tag/january-academy-2011/">January Academy WordPress workshop(s)</a> and some number who haven&rsquo;t. There are going to be some number of students who have websites set up and are ready to take them to the next level, and there are going to be some number of students who haven&rsquo;t. The problem is less when class size is 12 to 15, but becomes exponentially worse when you add more students. There must be a way to scale the experience of one-on-one teaching.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Researching better search functionality for the CUNY J-School network</title>
      <link>https://danielbachhuber.com/researching-better-search-functionality-for-the-cuny-j-school-network/</link>
      <pubDate>Mon, 24 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/researching-better-search-functionality-for-the-cuny-j-school-network/</guid>
      <description>&lt;p&gt;Search is currently the dominant information retrieval paradigm, and WordPress&amp;rsquo; internal search functionality is one step removed from atrocious. With that in mind, I&amp;rsquo;d like to significantly improve how search works on the J-School&amp;rsquo;s WordPress network. These are the notes I&amp;rsquo;m putting together as a part of my planning process.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;a href=&#34;http://www.journalism.cuny.edu/?s=daniel&#34;&gt;search for my name&lt;/a&gt; currently looks something like this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2011/01/example-search-query11.jpg&#34;&gt;&lt;img src=&#34;images/examplesearch_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;390&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ideally, the search functionality should support these requirements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Query across all of the content objects associated with the J-School&amp;rsquo;s primary website. These objects include posts, pages, events, blogs, databases, members, groups, and (coming soon) job opportunities. Eventually it would be nice to search attachments as well.&lt;/li&gt;&#xA;&lt;li&gt;Expand a query to include content from any of the 216 and counting websites within the network. Filter results to a specific site, or by author, publication date, categories, or tags.&lt;/li&gt;&#xA;&lt;li&gt;Highlight results based on matched keywords. If possible, show the sections of text matching the query.&lt;/li&gt;&#xA;&lt;li&gt;Log queries and (optionally) provide analytics on search trends.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As far as I can tell, the options on the table are &lt;a href=&#34;http://sphinxsearch.com/&#34;&gt;Sphinx&lt;/a&gt;, &lt;a href=&#34;http://lucene.apache.org/solr/&#34;&gt;Solr&lt;/a&gt;, and search as a service from &lt;a href=&#34;http://indextank.com/&#34;&gt;IndexTank&lt;/a&gt;. Sphinx appears the lowest-hanging fruit; Solr takes a couple of weeks to set up and configure, and IndexTank costs money for anything over 500 queries/day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Search is currently the dominant information retrieval paradigm, and WordPress&rsquo; internal search functionality is one step removed from atrocious. With that in mind, I&rsquo;d like to significantly improve how search works on the J-School&rsquo;s WordPress network. These are the notes I&rsquo;m putting together as a part of my planning process.</p>
<p>A <a href="http://www.journalism.cuny.edu/?s=daniel">search for my name</a> currently looks something like this:</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2011/01/example-search-query11.jpg"><img src="images/examplesearch_h6001.jpg" alt=""  width="600"
	height="390"  /></a></p>
<p>Ideally, the search functionality should support these requirements:</p>
<ul>
<li>Query across all of the content objects associated with the J-School&rsquo;s primary website. These objects include posts, pages, events, blogs, databases, members, groups, and (coming soon) job opportunities. Eventually it would be nice to search attachments as well.</li>
<li>Expand a query to include content from any of the 216 and counting websites within the network. Filter results to a specific site, or by author, publication date, categories, or tags.</li>
<li>Highlight results based on matched keywords. If possible, show the sections of text matching the query.</li>
<li>Log queries and (optionally) provide analytics on search trends.</li>
</ul>
<p>As far as I can tell, the options on the table are <a href="http://sphinxsearch.com/">Sphinx</a>, <a href="http://lucene.apache.org/solr/">Solr</a>, and search as a service from <a href="http://indextank.com/">IndexTank</a>. Sphinx appears the lowest-hanging fruit; Solr takes a couple of weeks to set up and configure, and IndexTank costs money for anything over 500 queries/day.</p>
<p>For Sphinx, there&rsquo;s a <a href="http://wordpress.org/extend/plugins/wordpress-sphinx-plugin/">WordPress plugin</a> making it easier to integrate the two. The author has <a href="http://www.ivinco.com/software/wordpress-sphinx-search-plugin/">reasonably detailed documentation</a> for installing Sphinx via the admin, if you chose to do that.</p>
<p>Another sys admin has written a <a href="http://vocecommunications.com/blog/2010/07/extending-wordpress-search-with-sphinx-part-i/">three</a> <a href="http://vocecommunications.com/blog/2010/07/extending-wordpress-search-with-sphinx-part-ii/">part</a> <a href="http://vocecommunications.com/blog/2010/09/extending-wordpress-search-with-sphinx-part-iii/">series</a> on extending WordPress search with Sphinx.</p>
<p>Extending search sources to custom fields is apparently <a href="http://www.braindonor.net/coding-blog/custom-field-searching-wordpress-using-sphinx/199/">as simple as adding to the select query</a>.</p>
<p>The best way to <a href="http://stackoverflow.com/questions/3301145/configuring-sphinx-to-index-a-dynamic-set-of-tables">dynamically add new blogs to the index</a> for WordPress multisite is by <a href="http://codex.wordpress.org/User:Nunomorgadinho#Multi-Site_Support">editing the .conf file</a>, although I&rsquo;ll need to develop a way to add a unique index for every piece of content.</p>
<p>I intend to get Sphinx working on the development environment first, document the steps it took, then implement on production.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Status</title>
      <link>https://danielbachhuber.com/status-14/</link>
      <pubDate>Fri, 21 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/status-14/</guid>
      <description>&lt;p&gt;Overnight flight on Virgin Atlantic to London to hang out with &lt;a href=&#34;http://maxcutler.com&#34;&gt;Max&lt;/a&gt;, &lt;a href=&#34;http://stdout.be&#34;&gt;Stijn&lt;/a&gt;, and Roman for the weekend and talk &lt;a href=&#34;http://camayak.com&#34;&gt;Camayak&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Overnight flight on Virgin Atlantic to London to hang out with <a href="http://maxcutler.com">Max</a>, <a href="http://stdout.be">Stijn</a>, and Roman for the weekend and talk <a href="http://camayak.com">Camayak</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Universities as hubs of journalistic activity</title>
      <link>https://danielbachhuber.com/universities-as-hubs-of-journalistic-activity/</link>
      <pubDate>Thu, 20 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/universities-as-hubs-of-journalistic-activity/</guid>
      <description>&lt;p&gt;In the first Carnival of Journalism of the new year, &lt;a href=&#34;http://carnivalofjournalism.com/2010/10/22/hello-world/&#34;&gt;David Cohn asks&lt;/a&gt;: How do we increase the role of higher education as hubs of journalistic activity?&lt;/p&gt;&#xA;&lt;p&gt;First, the why. Educational institutions often have long-standing ties to a local community, both in terms of physical location as well as relationships. In New York City, there are families with multiple generations who have attended CUNY. Educational institutions are also in a unique position where they have access to continually fresh human capital. These are the strategic advantages.&lt;/p&gt;&#xA;&lt;p&gt;As to the how, there are dozens of projects we could embark on. For instance, we could team with computer science students build a tool that &lt;a href=&#34;http://danielbachhuber.com/2010/05/09/questions-currently-of-interest/#h%5BWitWit%5D&#34;&gt;maps a community&amp;rsquo;s information needs&lt;/a&gt;. Or we could offer low-cost multimedia reporting courses to active community members in hopes they will take the initiative to cover their own neighborhoods. Or we could reorient the entire institution to be a working newsroom and task hundreds of students as boots-on-the-ground reporters.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the first Carnival of Journalism of the new year, <a href="http://carnivalofjournalism.com/2010/10/22/hello-world/">David Cohn asks</a>: How do we increase the role of higher education as hubs of journalistic activity?</p>
<p>First, the why. Educational institutions often have long-standing ties to a local community, both in terms of physical location as well as relationships. In New York City, there are families with multiple generations who have attended CUNY. Educational institutions are also in a unique position where they have access to continually fresh human capital. These are the strategic advantages.</p>
<p>As to the how, there are dozens of projects we could embark on. For instance, we could team with computer science students build a tool that <a href="http://danielbachhuber.com/2010/05/09/questions-currently-of-interest/#h%5BWitWit%5D">maps a community&rsquo;s information needs</a>. Or we could offer low-cost multimedia reporting courses to active community members in hopes they will take the initiative to cover their own neighborhoods. Or we could reorient the entire institution to be a working newsroom and task hundreds of students as boots-on-the-ground reporters.</p>
<p>Before going off the deep-end, it&rsquo;s critically important to ground big ideas in today&rsquo;s reality. Educational institutions are cautious publishers because of libel possibility. Workshops require space and security staff to check people in. More often than not, their technology departments are optimized for providing IT support, not innovating with content management systems. Once you have this valuable context, it&rsquo;s more straight-forward how you can make legitimate change. We can hack technology and we can hack systems.</p>
<p>How you frame the problem also determines the success of your solution. In my mind, &ldquo;hubs of journalistic activity&rdquo; provide a space for communities to: access accurate and impartial information, learn about topics affecting their civic well-being, and make <em>enlightened</em> decisions. These topics range from transportation to education to environment to governance. For many institutions of higher education, the local community is where they can have the most significant impact.</p>
<h3 id="the-locals-east-village-and-fort-greene-clinton-hill">The Locals: East Village and Fort Greene-Clinton Hill</h3>
<p>Let&rsquo;s use data and interviews to paint a picture of university-sponsored hyperlocal journalism as it currently exists in New York City. As examples, look at <a href="http://eastvillage.thelocal.nytimes.com/">The Local East Village</a> (LEV) and <a href="http://fort-greene.thelocal.nytimes.com/">The Local Fort Greene-Clinton Hill</a> (FGCH) during November 2010. The LEV is an operation run out of NYU, has content contributed to it by roughly 35 students from an elective class called &ldquo;The Hyperlocal Newsroom,&rdquo; and is edited full-time by <a href="http://journalism.nyu.edu/faculty/richard-jones/">Rich Jones</a>. Kim Davis was the community editor in November. The FGCH website has been a CUNY Graduate School of Journalism project <a href="http://www.journalism.cuny.edu/2010/01/08/cuny-j-school-to-take-over-nytimes-coms-the-local-community-web-site/">since January 2010</a> and is managed by two adjunct faculty, <a href="http://www.annaliesegriffin.com/">Annaliese Griffin</a> and <a href="http://www.indraniclips.com/">Indrani Sen</a>. Two smaller classes participated in creating content for the website.</p>
<p>Both publications held weekly budget meetings last November to discuss story ideas generated from emails from the community, press releases, watching other local news operations, and general brainstorming. When not in the same physical space, communicating the editorial workflow included email, Google Chat, text and phone. Breaking news generally received a same-day turnaround while other pieces like features and multimedia had a longer production cycle.</p>
<p>Just by the numbers, the LEV, in its 3rd month of operation, published 100 posts from 48 authors totaling 46,289 words. Rich Jones feels this is &ldquo;roughly 70 to 80 percent&rdquo; of the story ideas they generated. 33 posts were from 19 community contributors and their posts were 369 words on average.</p>
<p>While trying to cover everything, Rich explains the &ldquo;challenge for students is working around their class schedules for story assignments and filing stories&rdquo; and the &ldquo;challenge regarding the community is helping them become accustomed to professional-level standards that some – through not fault of their own – are largely unfamiliar with.&rdquo; He also says &ldquo;feature stories are most likely to be picked up by contributors. The most difficult stories appear to be hard news pieces (fires, crime, etc.) which involve multiple sources and contacting the authorities such as police and fire officials.&rdquo;</p>
<p>The most discussed LEV stories based on comments were &ldquo;<a href="http://eastvillage.thelocal.nytimes.com/2010/11/10/examining-m15-bus-line-changes/">Examining M15 Bus Line Changes</a>&rdquo;, and <a href="http://eastvillage.thelocal.nytimes.com/2010/11/02/locals-john-penley/">a profile of John Penley</a>, both which received 5 comments. On average, posts had 0.8 comments a piece. The Local East Village had a grand total of 80 unique commenters.</p>
<p>To compare, in November 2010, FGCH published 105 posts from 46 authors totaling 46,945 words. Annaliese Griffin thinks this to be &ldquo;maybe 75 percent&rdquo; of the story ideas they generated, but explains it &ldquo;always feels like there’s so much more we’re not covering.&rdquo; 36 posts were from 23 community contributors and their posts were, surprisingly, 610 words on average.</p>
<p>When asked about the successes and challenges of working with students and community contributors, Annaliese explains:</p>
<blockquote>
<p>Scheduling is the big problem with students. They have to balance Local assignments with stories for three other classes. You can’t just say, &ldquo;This event is happening today, you have to cover it.&rdquo; It’s always a negotiation, which ties your hands as an editor. The successes have been many, though. Seeing students gain story sense and understand not only what needs to be covered, but how best to cover a community has been great. Also, we worked on several crowdsourcing projects that were fun and innovative. <a href="http://fort-greene.thelocal.nytimes.com/2010/12/16/the-day-favorite-stories-from-the-semester/">Here’s a post outlining my favorite student work from last semester</a>. With community contributors we’ve found that straight news, especially crime and anything dealing with city agencies is a challenge. Reporting is hard work that takes skill that needs to be developed over years, not afternoons. We’ve gotten great features and opinion pieces from community contributors, and our schools coverage is about half reported by students, half community contributors and concerned parents. It’s a nice mix.</p></blockquote>
<p>She adds &ldquo;schools, arts, and local going-ons&rdquo; are good fodder for community contributions, and that they want The Local to be the communication platform for micro concerns like &ldquo;cracked sidewalks, trash pick up, noise complaints, [and] great art programs in schools.&rdquo;</p>
<p>The most discussed stories based on comments were &ldquo;<a href="http://fort-greene.thelocal.nytimes.com/2010/11/12/imho-dont-leave-district-13-stay-and-help/">IMHO: Don&rsquo;t Leave District 13, Stay and Help</a>&rdquo; (71 comments), &ldquo;<a href="http://fort-greene.thelocal.nytimes.com/2010/11/29/opinion-lets-work-together-parents/">Opinion: Let&rsquo;s Work Together, Parents</a>&rdquo; (45 comments), and &ldquo;<a href="http://fort-greene.thelocal.nytimes.com/2010/11/05/moes-bar-to-close-in-february/">Moe&rsquo;s Bar to Close in February</a>&rdquo; (32 comments). On average, posts had 4.5 comments a piece. The Fort Greene-Clinton Hill website had a grand total of 303 unique commenters.</p>
<p>On the technology side, both sites are on the NY Times&rsquo; blog network and running WordPress 2.9.2. Images and photo galleries are managed by Flickr.</p>
<h3 id="grand-ideas-and-incremental-improvement">Grand ideas and incremental improvement</h3>
<p>Innovation is possible, it just takes hard work, persistence, and meta-innovation.</p>
<p>For example, <a href="http://editflow.org/">Edit Flow</a> and <a href="http://openassignment.org">Assignment Desk</a> are a couple of projects I&rsquo;ve been helping develop for the last year. They work together. Edit Flow manages your editorial workflow inside of WordPress with custom workflow statuses, editorial commenting only accessible in the admin, and a story budget to view all upcoming content. Assignment Desk allows community members to pitch story ideas, vote and volunteer for them, and then lets the editor assign volunteers to different roles in a story. Both are open source WordPress plugins anyone can install.</p>
<p>Jay, Erik, Matt, and I have been trying to get these plugins deployed on the NY Times servers since <a href="http://pressthink.org/2010/09/the-virtual-assignment-desk-and-the-launch-of-the-local-east-village/">the launch of The Local East Village</a>. The project has the hallmarks of collaborative innovation. Jay, Erik, and Matt are at NYU and I&rsquo;m at CUNY. Both of The Locals would benefit, and other news organizations can adopt future improvements we make based on feedback from Rich, Annaliese, and Indrani. Unfortunately, for a variety of reasons, the plugins still aren&rsquo;t installed (although I have my fingers crossed it will be any week now).</p>
<p>Tremendous raw potential exists at educational institutions. I&rsquo;d personally love to evolve Assignment Desk so that it&rsquo;s the tool to go to when you need to find someone to cover a story. It could build suggestions based on comment quality, past post topics, or what you&rsquo;ve filled out in your bio, and integrate with Google Chat and Foursquare to determine your prospect&rsquo;s availability. The technology can be solved with hard work. We need more people who are persistent and can find new ways to make large elephants dance.</p>
<h3 id="methodology">Methodology</h3>
<p>For those interested, my <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism">code and data is posted on GitHub</a>. You can get a sense of how the stats collection progressed (and also how my post evolved) from the <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism/commits">commit log</a>.</p>
<p>Once I established the most effective way, collecting the data was actually quite simple. WordPress usually has a URL structure that supports filtering posts by date. Then, for any given URL, you can access an RSS feed for all of the posts on that date by appending &ldquo;/feed/&rdquo;.</p>
<p>The <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism/blob/master/download_and_parse_ftg_content.php">script I wrote</a> generated day URLs for the entire month (e.g. <a href="http://eastvillage.thelocal.nytimes.com/2010/11/28/">http://eastvillage.thelocal.nytimes.com/2010/11/28/</a>), downloaded the RSS feed, and parsed out the permalink and post ID for each post. <a href="http://magpierss.sourceforge.net/">MagpieRSS</a> is a simple PHP-based RSS parser for the job.</p>
<p>Using the permalinks identified from the RSS feed, I used another tool called <a href="http://simplehtmldom.sourceforge.net/">PHP Simple HTML DOM Parser</a> to download the entire HTML page for the post, and then parse out the data points I needed, including author, author type, body content, post category and tags. Once I had the data, I saved it to the database.</p>
<p>If the site you&rsquo;re scraping gives you full body content in the feed, you can probably skip the second step.</p>
<p>The only downside to accessing the original permalinks by RSS is that WordPress offers 10 items per feed by default, and doesn&rsquo;t support pagination. Most admins don&rsquo;t change this. If there were more than 10 posts published in a day, you&rsquo;d miss data. Similarly, if there are more than 10 comments, you only get the first 10. Because of this, my data set only has 10 of N comments for several of the FGCH posts.</p>
<p>There are a few things I&rsquo;d like to have tabulated if I had more time (I&rsquo;ve already spent 20+ hours on this project). First, I&rsquo;d go through each post and map it to a narrow set of topical categories. These categories would be the types of information needed by the given community (e.g. entertainment, governance, education, etc. ). Second, it would be amazing pull out all of the links in the body content, sort them by internal vs. external, and use that information to determine which other publications were most commonly linked to. Lastly, and this might even be a standalone WordPress plugin, I&rsquo;d love to generate a network diagram of which tags were used on which posts, and use that to draw relationships.</p>]]></content:encoded>
    </item>
    <item>
      <title>Tuesday night distraction: Versioned Data Carnival of Journalism</title>
      <link>https://danielbachhuber.com/tuesday-night-distraction-data-carnival-of-journalism/</link>
      <pubDate>Wed, 19 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tuesday-night-distraction-data-carnival-of-journalism/</guid>
      <description>&lt;p&gt;A few days back, &lt;a href=&#34;http://danielbachhuber.com/2011/01/15/status-12/&#34;&gt;Saturday to be exact&lt;/a&gt;, the crazy notion I should spend dozens of hours doing content analysis on The Locals came to my mind. For my Carnival of Journalism blog post, I want to paint a clear picture of what university-sponsored hyperlocal journalism is like today. This can then be a foundation for any bushy-eyed speculation I might do about the future.&lt;/p&gt;&#xA;&lt;p&gt;Sunday evening, I &lt;a href=&#34;https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism&#34;&gt;created a Github repository&lt;/a&gt; for two reasons: to see how my code is evolving and to track step by step how I&amp;rsquo;m putting this data together. After all, &lt;a href=&#34;http://danielbachhuber.com/2011/01/16/status-13/&#34;&gt;journalism must be reproducible&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few days back, <a href="http://danielbachhuber.com/2011/01/15/status-12/">Saturday to be exact</a>, the crazy notion I should spend dozens of hours doing content analysis on The Locals came to my mind. For my Carnival of Journalism blog post, I want to paint a clear picture of what university-sponsored hyperlocal journalism is like today. This can then be a foundation for any bushy-eyed speculation I might do about the future.</p>
<p>Sunday evening, I <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism">created a Github repository</a> for two reasons: to see how my code is evolving and to track step by step how I&rsquo;m putting this data together. After all, <a href="http://danielbachhuber.com/2011/01/16/status-13/">journalism must be reproducible</a>.</p>
<p>Now that it&rsquo;s closer to deadline, I want to open the floor. What data points would you like to see established about The Locals? As of right now, I know that the LEV (<a href="http://eastvillage.thelocal.nytimes.com/">Local East Village</a>) produced 100 blog posts in November 2010 from 29 authors and 19 community contributors. The FGCH (Fort Greene-Clinton Hill) produced 105 blog posts in November 2010 from 23 authors and 23 community contributors. The rest of the questions I&rsquo;ve established are in <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism/blob/master/research.txt">my research notes</a>.</p>
<p>P.S. Another part of the experiment is to see how well Git works as a <a href="https://github.com/danielbachhuber/LEV-and-FGCH-Content-Analysis-for-January-2011-Carnival-of-Journalism/commits/master/post.txt">versioned authoring tool</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Software I use, January 2011 edition</title>
      <link>https://danielbachhuber.com/software-i-use-january-2011-edition/</link>
      <pubDate>Fri, 14 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/software-i-use-january-2011-edition/</guid>
      <description>&lt;p&gt;CUNY provided me with a new Mac Pro, &lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2011/01/about-this-mac1.jpg&#34;&gt;check out these specs baby&lt;/a&gt;, so I thought it might be neat to document what it takes to set it up from scratch.&lt;/p&gt;&#xA;&lt;p&gt;For the last six months, I&amp;rsquo;ve been working regularly on four different Macs. At home, I have a MacBook and an iMac, and at work I&amp;rsquo;ve had a MacBook Pro and an iMac. To keep the system environment similar, I&amp;rsquo;m a reluctant user of &lt;a href=&#34;http://me.com/&#34;&gt;MobileMe&lt;/a&gt;. It has its downsides, but it&amp;rsquo;s really the simplest way to sync everything from my contacts to the icons in my dock. For some applications, I&amp;rsquo;ve noticed it will even sync your license. Authenticating the machine against MobileMe is the first step I take.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.google.com/chrome/&#34;&gt;Google Chrome&lt;/a&gt; is my browser of choice. I trust &lt;a href=&#34;http://www.xmarks.com/&#34;&gt;Xmarks&lt;/a&gt; to keep my small selection of bookmarks in sync across browsers and across machines. My homepage is &amp;ldquo;about:blank.&amp;rdquo; Once I have my browser set up, I download &lt;a href=&#34;https://www.dropbox.com/&#34;&gt;Dropbox&lt;/a&gt; so I can start restoring my files and other application-specific preferences. As of today, my Dropbox is at 41.1%, or 21.2GB. It&amp;rsquo;s good to install Dropbox early so it can start pulling data down. Dropbox also installs &lt;a href=&#34;http://growl.info/&#34;&gt;Growl&lt;/a&gt;, a system notifications utility, which is nice because I use it for other applications.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>CUNY provided me with a new Mac Pro, <a href="https://danielbachhuber.com/wp-content/uploads/2011/01/about-this-mac1.jpg">check out these specs baby</a>, so I thought it might be neat to document what it takes to set it up from scratch.</p>
<p>For the last six months, I&rsquo;ve been working regularly on four different Macs. At home, I have a MacBook and an iMac, and at work I&rsquo;ve had a MacBook Pro and an iMac. To keep the system environment similar, I&rsquo;m a reluctant user of <a href="http://me.com/">MobileMe</a>. It has its downsides, but it&rsquo;s really the simplest way to sync everything from my contacts to the icons in my dock. For some applications, I&rsquo;ve noticed it will even sync your license. Authenticating the machine against MobileMe is the first step I take.</p>
<p><a href="http://www.google.com/chrome/">Google Chrome</a> is my browser of choice. I trust <a href="http://www.xmarks.com/">Xmarks</a> to keep my small selection of bookmarks in sync across browsers and across machines. My homepage is &ldquo;about:blank.&rdquo; Once I have my browser set up, I download <a href="https://www.dropbox.com/">Dropbox</a> so I can start restoring my files and other application-specific preferences. As of today, my Dropbox is at 41.1%, or 21.2GB. It&rsquo;s good to install Dropbox early so it can start pulling data down. Dropbox also installs <a href="http://growl.info/">Growl</a>, a system notifications utility, which is nice because I use it for other applications.</p>
<p>For development, I use a combination of <a href="http://macromates.com/">TextMate</a>, <a href="http://code.google.com/p/git-osx-installer/">Git</a>, <a href="http://code.google.com/p/git-osx-installer/">MAMP</a>, <a href="http://www.sequelpro.com/">Sequel Pro</a>, <a href="http://getfirebug.com/">Firebug</a>, the default Mac OS X terminal, and <a href="http://cyberduck.ch/">Cyberduck</a>. TextMate is a nice text editor with useful features for writing PHP, Python, Javascript, or HTML/CSS. I&rsquo;m certainly not a power user through. Git is my new version control software of choice, and I generally use it in conjunction with <a href="https://github.com/">GitHub</a>. For instance, the J-School has <a href="https://github.com/cunyjschool">all of our code in public repositories</a> with multiple collaborators. MAMP takes the fuss out of running a web server on your local machine. Sequel Pro is an <em>amazing</em>, repeat <em>amazing</em>, tool for futzing with databases. Most hosting comes with phpMyAdmin. Forget that: Sequel Pro blows it out of the water. Firebug is the defacto standard for working with CSS because you can see all of your potential changes live in the browser. Lastly, Cyberduck is my go-to SFTP client. Its nicest feature for is the ability to open a file on a remote server in TextMate.</p>
<p>A while back, I made the switch from Gmail&rsquo;s web client to Apple Mail. I love me some Gmail but Firefox kept freezing up and I&rsquo;d lose my email window amongst all of my tabs. For most purposes, Apple Mail and IMAP works just fine. Contacts work out of the Address Book and you have an automatic backup copy of your correspondence. To mimic one-click archiving, I&rsquo;ve installed a program called <a href="http://www.indev.ca/MailActOn.html">Mail Act-On</a>.</p>
<p><a href="http://www.skype.com/">Skype</a> and <a href="http://adium.im/">Adium</a> are my chat clients. Nothing too fancy there.</p>
<p>For reading and writing, I use <a href="http://reederapp.com/">Reeder</a> and <a href="http://www.red-sweater.com/marsedit/">MarsEdit</a>, respectively. Reeder is a gorgeous RSS reader that uses the reading list you already have in Google Reader. MarsEdit isn&rsquo;t the greatest blogging tool in the world but it works with WordPress and gets the job done.</p>
<p>Last but most important: <a href="http://www.alfredapp.com/">Alfred</a>, <a href="http://mizage.com/divvy/">Divvy</a>, <a href="http://agilewebsolutions.com/onepassword">1Password</a>, and <a href="http://skitch.com/">Skitch</a> define my productivity. Alfred, an application quick launcher, makes launching any application, or finding a contact, a few keystrokes away. Alfred is also significantly faster than Quicksilver. Divvy is neat tool for resizing windows with a keystroke. I find it most handy when I start spawning too many terminal windows. 1Password handily generates a unique password anytime I&rsquo;m signing up for a new account, stores them in a secure database synced via Dropbox, and lets me use the password when I need it thanks to minimal browser extensions. <a href="http://skitch.com/">Skitch</a> is absolutely what you need to communicate visually. Capture any part of your screen with a keystroke, easily annotate the image using the pop-up window, and upload the image to Skitch, Flickr, or your own server for sharing.</p>
<p>Fifty minutes later, I&rsquo;m back in business.</p>]]></content:encoded>
    </item>
    <item>
      <title>Idea: Meeting times for every course page</title>
      <link>https://danielbachhuber.com/idea-meeting-times-for-every-course-page/</link>
      <pubDate>Tue, 11 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-meeting-times-for-every-course-page/</guid>
      <description>&lt;p&gt;In WordPress as a learning management system, every course would have a dedicated page with meeting times in the form of a calendar you could subscribe to. You could click through on an individual class period to see the topics to be covered that day (or guest lecturer, etc.)&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In WordPress as a learning management system, every course would have a dedicated page with meeting times in the form of a calendar you could subscribe to. You could click through on an individual class period to see the topics to be covered that day (or guest lecturer, etc.)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Equity research from the CoPress-era</title>
      <link>https://danielbachhuber.com/equity-research-from-the-copress-era/</link>
      <pubDate>Wed, 05 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/equity-research-from-the-copress-era/</guid>
      <description>&lt;p&gt;For a friend, these are links I pulled together when researching CoPress&amp;rsquo; equity split Fall 2009.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://blog.weatherby.net/2008/10/startup-equity-distribution.html&#34;&gt;Startup Equity Distribution&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Notice that I used the word allocation above. Allocated means not vested. In my mind all founders stock should have either a milestone or time based (or some mixture of the two) vesting schedule. If you want to know why find someone to tell you a story about a cofounder who walked away from the company and is still holding a 25% ownership stake. Trust me. It creates problems. Personally I prefer 25% one year cliff vesting with 6.25% quarterly vesting thereafter combined with individual milestones.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For a friend, these are links I pulled together when researching CoPress&rsquo; equity split Fall 2009.</p>
<p><strong><a href="http://blog.weatherby.net/2008/10/startup-equity-distribution.html">Startup Equity Distribution</a></strong></p>
<blockquote>
<p>Notice that I used the word allocation above. Allocated means not vested. In my mind all founders stock should have either a milestone or time based (or some mixture of the two) vesting schedule. If you want to know why find someone to tell you a story about a cofounder who walked away from the company and is still holding a 25% ownership stake. Trust me. It creates problems. Personally I prefer 25% one year cliff vesting with 6.25% quarterly vesting thereafter combined with individual milestones.</p></blockquote>
<p>It&rsquo;s all about K.I.S.S. Lance argues against equal equity distribution and for dividing it based on contributions of time and expertise. One approach is to determine the valuation of the company, and then use a function of proposed wages and time contributed to divide up ownership.</p>
<p><strong><a href="http://answers.onstartups.com/questions/350/equity-distribution-amongst-startup-co-founders">Equity distribution amongst startup co-founders?</a></strong></p>
<blockquote>
<p>Technically, equity distribution is proportional to the &ldquo;value contribution&rdquo; by each stake holder. In general, tangible contributions (investment, land, resources) are considered much more important than intangible contributions like experience/expertise.</p></blockquote>
<p>The options seem to be 50/50 or distribution as a function of contributed value. People answering the question lean more towards the latter and offer some suggestions as to how to do it best.</p>
<p><strong><a href="http://www.usmansheikh.com/finance/equity-splits">Calculating Partnership Equity Splits</a></strong></p>
<p>Potential formula for equity distribution: break down money to be invested, time to be invested, and experience of partner into percentages, and then determine percentage contributions of each partner. This breakdown then determines overall split of shares.</p>
<p><strong><a href="http://answers.onstartups.com/questions/57/how-do-i-survive-when-starting-a-business-without-a-paycheck">How do I survive when starting a business without a paycheck?</a></strong></p>
<p>There are very creative ways to live cheaply if you&rsquo;re dedicated. The best response in my opinion is to live out of your car and buy a gym membership for exercise and showering.</p>
<p><strong><a href="http://founderresearch.blogspot.com/2006/11/equity-split-results-part-1-when-do.html">Equity-Split Results, Part 1: When Do Teams Split Equally?</a></strong></p>
<p>Interesting chart comparing different situations. An equal split is more likely amongst smaller teams coming from similar backgrounds that divide equity at the start of the project or company.</p>
<p><strong><a href="http://cdixon.org/2009/08/23/dividing-equity-between-founders/">Dividing equity between founders</a></strong></p>
<blockquote>
<p>One thing I’ve also noticed is people tend to overvalue past contributions (coming up with the idea, spending time developing it, building a prototype, etc) and undervalue future contributions. Remember that an equity grant is typically for the next 4 years of work (hence 4 years of vesting). Imagine yourself 2 years from now after working day and night, and ask yourself in that situation if the split still seems fair. Another consideration is if one founder has had greater career success and will therefore significantly improve the odds of getting financed at an attractive valuation. One way to figure out how much this is worth is to estimate how much having that founder increases your valuation at the next financing and then, say, split the difference. So if having her means you can raise $2M by giving away 30% of your company instead of 40% of your company, let that founder have an extra 5%.</p></blockquote>
<p>Variables to potentially consider include: past and future contributions, career success, and who had the big ideas (and whether those ideas have any technology or intellectual property associated with them).</p>
]]></content:encoded>
    </item>
    <item>
      <title>#idea: Sentiment analysis on support threads</title>
      <link>https://danielbachhuber.com/idea-sentiment-analysis-on-support-threads/</link>
      <pubDate>Thu, 23 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-sentiment-analysis-on-support-threads/</guid>
      <description>&lt;p&gt;At CUNY, I&amp;rsquo;ve been bcc&amp;rsquo;ing support requests into Highrise for a while now. As much as possible, I try to keep the tone positive and professional. When a user is coming to you with a support request, it&amp;rsquo;s most likely a frustrating bug, issue, or problem they&amp;rsquo;ve hit with no obvious resolution. Inadvertently responding in a snarky or condescending matter usually doesn&amp;rsquo;t help the situation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://afterthedeadline.com/&#34;&gt;After the Deadline&lt;/a&gt; is a service providing super-intelligent spell-, style-, and grammar-checking. It would be sweet to see a similar service offer real-time sentiment analysis on your support responses.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>At CUNY, I&rsquo;ve been bcc&rsquo;ing support requests into Highrise for a while now. As much as possible, I try to keep the tone positive and professional. When a user is coming to you with a support request, it&rsquo;s most likely a frustrating bug, issue, or problem they&rsquo;ve hit with no obvious resolution. Inadvertently responding in a snarky or condescending matter usually doesn&rsquo;t help the situation.</p>
<p><a href="http://afterthedeadline.com/">After the Deadline</a> is a service providing super-intelligent spell-, style-, and grammar-checking. It would be sweet to see a similar service offer real-time sentiment analysis on your support responses.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Entrepreneurial Journalism landing page redesign</title>
      <link>https://danielbachhuber.com/entrepreneurial-journalism-landing-page-redesign/</link>
      <pubDate>Thu, 23 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/entrepreneurial-journalism-landing-page-redesign/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/&#34;&gt;&lt;img src=&#34;images/20101222ejredesign_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;336&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Redesigned the landing page for the &lt;a href=&#34;http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/&#34;&gt;Entrepreneurial Journalism program at CUNY&lt;/a&gt; on Monday afternoon. Previously, it was a straight page with about 2,000 words of text. My goal was to convey much of the same information in a much more concise and approachable manner. We&amp;rsquo;re also starting to think about different calls to action we need to include on the page with the flows associated with each.&lt;/p&gt;&#xA;&lt;p&gt;Overall, I&amp;rsquo;m happy with it&amp;rsquo;s functional utility. The program courses will eventually link to landing pages for each, and the blue links will help add more balance to the page.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/"><img src="images/20101222ejredesign_h6001.jpg" alt=""  width="600"
	height="336"  /></a></p>
<p>Redesigned the landing page for the <a href="http://www.journalism.cuny.edu/academics/entrepreneurial-journalism/">Entrepreneurial Journalism program at CUNY</a> on Monday afternoon. Previously, it was a straight page with about 2,000 words of text. My goal was to convey much of the same information in a much more concise and approachable manner. We&rsquo;re also starting to think about different calls to action we need to include on the page with the flows associated with each.</p>
<p>Overall, I&rsquo;m happy with it&rsquo;s functional utility. The program courses will eventually link to landing pages for each, and the blue links will help add more balance to the page.</p>
<p>For archival purposes, I&rsquo;ve also taken a <a href="https://danielbachhuber.com/wp-content/uploads/2010/12/20101222ejresign1.jpg">screengrab of the entire page</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Where I&#39;ve been: NYC, PDX, and EUG</title>
      <link>https://danielbachhuber.com/where-ive-been-nyc-pdx-and-eug/</link>
      <pubDate>Thu, 23 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/where-ive-been-nyc-pdx-and-eug/</guid>
      <description>&lt;p&gt;Heatmap visualization of where I&amp;rsquo;ve been in three cities I most commonly visit, based on 1030 check-ins on &lt;a href=&#34;http://foursquare.com/user/81179&#34;&gt;Foursquare&lt;/a&gt; and a neat tool called &lt;a href=&#34;http://www.wheredoyougo.net/&#34;&gt;Where Do You Go&lt;/a&gt; found &lt;a href=&#34;http://blogs.wsj.com/digits/2010/12/22/everything-the-internet-knows-about-me-because-i-asked-it-to/&#34;&gt;via Zach Seward&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;new-york&#34;&gt;New York&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/20101222where-newyork1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;599&#34;  /&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;portland&#34;&gt;Portland&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/20101222where-portland1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;eugene&#34;&gt;Eugene&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/20101222where-eugene1.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;600&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pretty neat. The hotspots in each city are most commonly where I live and work. Unlike Zach, I check-in copiously, even at private residences, as a way of logging where I&amp;rsquo;ve been. The most unexpected insight from building these heatmaps is the sheer distance between Portland-area check-ins. It makes sense, but also is surprising compared to the other two cities.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Heatmap visualization of where I&rsquo;ve been in three cities I most commonly visit, based on 1030 check-ins on <a href="http://foursquare.com/user/81179">Foursquare</a> and a neat tool called <a href="http://www.wheredoyougo.net/">Where Do You Go</a> found <a href="http://blogs.wsj.com/digits/2010/12/22/everything-the-internet-knows-about-me-because-i-asked-it-to/">via Zach Seward</a>.</p>
<h3 id="new-york">New York</h3>
<p><img src="images/20101222where-newyork1.jpg" alt=""  width="600"
	height="599"  /></p>
<h3 id="portland">Portland</h3>
<p><img src="images/20101222where-portland1.jpg" alt=""  width="600"
	height="600"  /></p>
<h3 id="eugene">Eugene</h3>
<p><img src="images/20101222where-eugene1.jpg" alt=""  width="600"
	height="600"  /></p>
<p>Pretty neat. The hotspots in each city are most commonly where I live and work. Unlike Zach, I check-in copiously, even at private residences, as a way of logging where I&rsquo;ve been. The most unexpected insight from building these heatmaps is the sheer distance between Portland-area check-ins. It makes sense, but also is surprising compared to the other two cities.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#idea for Edit Flow: HTML email notifications with commits since last update</title>
      <link>https://danielbachhuber.com/idea-for-edit-flow-html-email-notifications-with-commits-since-last-update/</link>
      <pubDate>Thu, 16 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-for-edit-flow-html-email-notifications-with-commits-since-last-update/</guid>
      <description>&lt;p&gt;When you get email notifications of status changes, it would be wicked to see a visualization of the text that has been changed since the last status change (&lt;a href=&#34;http://www.danielbachhuber.com/screenshots/Commit_70acfa8a24f521d9444b65d40ec161aec42ba8cf_to_danielbachhuber_s_Edit-Flow_-_GitHub-20101215-221210.jpg&#34;&gt;a la&lt;/a&gt;). It&amp;rsquo;d be an easier way to understand how a story is progressing, and a more effective way to scale the number of stories you&amp;rsquo;re tracking.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>When you get email notifications of status changes, it would be wicked to see a visualization of the text that has been changed since the last status change (<a href="http://www.danielbachhuber.com/screenshots/Commit_70acfa8a24f521d9444b65d40ec161aec42ba8cf_to_danielbachhuber_s_Edit-Flow_-_GitHub-20101215-221210.jpg">a la</a>). It&rsquo;d be an easier way to understand how a story is progressing, and a more effective way to scale the number of stories you&rsquo;re tracking.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What I read, December 2010</title>
      <link>https://danielbachhuber.com/what-i-read-december-2010/</link>
      <pubDate>Fri, 10 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-i-read-december-2010/</guid>
      <description>&lt;p&gt;On Kommons, Andrew Spittle asked what I&amp;rsquo;m reading now that I&amp;rsquo;m no longer on Twitter or Facebook. For now, I mostly consume content with &lt;a href=&#34;http://reederapp.com/&#34;&gt;Reeder&lt;/a&gt; (on the iPhone and desktop, and synced with Google Reader), &lt;a href=&#34;http://www.instapaper.com/&#34;&gt;Instapaper&lt;/a&gt;, or as podcasts. My Economist print subscription lapsed about a month ago but I&amp;rsquo;m thinking about picking it up again.&lt;/p&gt;&#xA;&lt;p&gt;There&amp;rsquo;s a balance to my RSS consumption. I subscribe to sites like &lt;a href=&#34;http://techmeme.com/&#34;&gt;Techmeme&lt;/a&gt; and &lt;a href=&#34;http://mediagazer.com/&#34;&gt;Mediagazer&lt;/a&gt; to keep tabs on the zeitgeist. &lt;a href=&#34;http://niemanlab.org/&#34;&gt;Nieman Lab&lt;/a&gt; and &lt;a href=&#34;http://www.poynter.org/category/latest-news/romenesko/&#34;&gt;Romenesko&lt;/a&gt; are requirements to keep up with the industry. When they publish, &lt;a href=&#34;http://www.ethanzuckerman.com/blog/&#34;&gt;Ethan Zuckerman&lt;/a&gt;, &lt;a href=&#34;http://jonathanstray.com/&#34;&gt;Jonathan Stray&lt;/a&gt;, &lt;a href=&#34;http://www.paulgraham.com/&#34;&gt;Paul Graham&lt;/a&gt;, &lt;a href=&#34;http://blog.futurestreetconsulting.com/&#34;&gt;Mark Pesce&lt;/a&gt;, and &lt;a href=&#34;http://stdout.be/en/&#34;&gt;Stijn Debrouwere&lt;/a&gt; always offer unexpected insight. I also subscribe to a dozen or so people&amp;rsquo;s personal Twitter accounts, partly because they share good links and partly to keep up with what my friends are up to.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Kommons, Andrew Spittle asked what I&rsquo;m reading now that I&rsquo;m no longer on Twitter or Facebook. For now, I mostly consume content with <a href="http://reederapp.com/">Reeder</a> (on the iPhone and desktop, and synced with Google Reader), <a href="http://www.instapaper.com/">Instapaper</a>, or as podcasts. My Economist print subscription lapsed about a month ago but I&rsquo;m thinking about picking it up again.</p>
<p>There&rsquo;s a balance to my RSS consumption. I subscribe to sites like <a href="http://techmeme.com/">Techmeme</a> and <a href="http://mediagazer.com/">Mediagazer</a> to keep tabs on the zeitgeist. <a href="http://niemanlab.org/">Nieman Lab</a> and <a href="http://www.poynter.org/category/latest-news/romenesko/">Romenesko</a> are requirements to keep up with the industry. When they publish, <a href="http://www.ethanzuckerman.com/blog/">Ethan Zuckerman</a>, <a href="http://jonathanstray.com/">Jonathan Stray</a>, <a href="http://www.paulgraham.com/">Paul Graham</a>, <a href="http://blog.futurestreetconsulting.com/">Mark Pesce</a>, and <a href="http://stdout.be/en/">Stijn Debrouwere</a> always offer unexpected insight. I also subscribe to a dozen or so people&rsquo;s personal Twitter accounts, partly because they share good links and partly to keep up with what my friends are up to.</p>
<p>My Instapaper is mostly fed by longer items I come across by RSS, the Instapaper homepage, or <a href="http://givemesomethingtoread.com/">Give Me Something to Read</a>.</p>
<p>As far as podcasts go, there&rsquo;s another dozen or so I listen to on a regular basis. These include <a href="http://www.cbc.ca/spark/">Spark from CBC Radio</a>, <a href="http://www.bbc.co.uk/podcasts/series/digitalp">BBC Digital Planet</a>, <a href="http://ecorner.stanford.edu/podcasts.html">Stanford&rsquo;s Entrepreneurial Thought Leaders</a>, a few from <a href="http://fora.tv/">FORA.tv</a>, <a href="http://itc.conversationsnetwork.org/">IT Conversations</a>, <a href="http://www.npr.org/blogs/money/">NPR&rsquo;s Planet Money</a>, <a href="http://www.onthemedia.org/">WNYC&rsquo;s On The Media</a>, <a href="http://www.bbc.co.uk/podcasts/series/worldbiz">Peter Day&rsquo;s World of Business</a>, <a href="http://rebootnews.com/">Rebooting the News</a>, <a href="http://www.longnow.org/seminars/">Seminars about Long-Term Thinking</a>, and <a href="http://twit.tv/twit">This Week in Tech</a>. Podcasts are likely my favorite form of media. They&rsquo;re good fodder for daydreaming during long runs or workouts.</p>
<p>If you&rsquo;d like, you can also <a href="http://danielbachhuber.files.wordpress.com/backups/20101210-googlereadersubs.xml">download my whole OPML file</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>News Foo</title>
      <link>https://danielbachhuber.com/news-foo/</link>
      <pubDate>Fri, 03 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/news-foo/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m headed to Phoenix today for News Foo. News Foo is a derivative of O&amp;rsquo;Reilly&amp;rsquo;s &lt;a href=&#34;http://en.wikipedia.org/wiki/Foo_Camp&#34;&gt;Foo Camp&lt;/a&gt;, an annual gathering of innovators that was also the proto-BarCamp. If you don&amp;rsquo;t hear from me all weekend, it&amp;rsquo;s because my mind has exploded from epic conversations.&lt;/p&gt;&#xA;&lt;p&gt;Also, I arrive at 4:56 pm local time on Delta 2799 if anyone wants to share a cab with Cody and I. He gets in a little earlier.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m headed to Phoenix today for News Foo. News Foo is a derivative of O&rsquo;Reilly&rsquo;s <a href="http://en.wikipedia.org/wiki/Foo_Camp">Foo Camp</a>, an annual gathering of innovators that was also the proto-BarCamp. If you don&rsquo;t hear from me all weekend, it&rsquo;s because my mind has exploded from epic conversations.</p>
<p>Also, I arrive at 4:56 pm local time on Delta 2799 if anyone wants to share a cab with Cody and I. He gets in a little earlier.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Edit Flow presentation for Hacks/Hackers NYC meetup</title>
      <link>https://danielbachhuber.com/edit-flow-presentation-for-hackshackers-nyc-meetup/</link>
      <pubDate>Wed, 01 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/edit-flow-presentation-for-hackshackers-nyc-meetup/</guid>
      <description>&lt;p&gt;In an hour, I&amp;rsquo;ll be presenting &lt;a href=&#34;http://editflow.org/&#34;&gt;Edit Flow&lt;/a&gt; for &lt;a href=&#34;http://meetupnyc.hackshackers.com/calendar/15400309/&#34;&gt;tonight&amp;rsquo;s Hacks/Hackers Demo Night at New Work City&lt;/a&gt;. Edit Flow is a &lt;a href=&#34;http://wordpress.org/extend/plugins/edit-flow/&#34;&gt;WordPress plugin&lt;/a&gt; to supercharge your editorial workflow within WordPress. All too often a news organization uses a combination of email, Microsoft Word documents, and whiteboards scattered around the office to keep track of who is working on what. Edit Flow focuses on putting all of those interactions in one place everyone can access from everywhere, WordPress the CMS, and structuring those interactions for increased efficiency. With Edit Flow, news organizations do more with less.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In an hour, I&rsquo;ll be presenting <a href="http://editflow.org/">Edit Flow</a> for <a href="http://meetupnyc.hackshackers.com/calendar/15400309/">tonight&rsquo;s Hacks/Hackers Demo Night at New Work City</a>. Edit Flow is a <a href="http://wordpress.org/extend/plugins/edit-flow/">WordPress plugin</a> to supercharge your editorial workflow within WordPress. All too often a news organization uses a combination of email, Microsoft Word documents, and whiteboards scattered around the office to keep track of who is working on what. Edit Flow focuses on putting all of those interactions in one place everyone can access from everywhere, WordPress the CMS, and structuring those interactions for increased efficiency. With Edit Flow, news organizations do more with less.</p>
<p>Thanks to <a href="http://digitalize.ca/">Mo Jangda</a>, <a href="http://www.scottbressler.com/blog/">Scott Bressler</a>, and <a href="http://andrewspittle.net/">Andrew Spittle</a> for contributing their time and expertise to this project.</p>
<p>For a video introduction to the most recent release, <a href="http://vimeo.com/16680344">check out Andrew&rsquo;s awesome screencast</a>.</p>
<p>If you take the time to give Edit Flow a spin, <a href="http://www.editflow.org/2010/10/20/edit-flow-survey/">we&rsquo;d love to hear what you think of it</a>. You can also drop us a note at <a href="mailto:hello@editflow.org">hello@editflow.org</a></p>
<p><img src="images/presentation_edit_flow-001.jpg" alt="presentation_edit_flow-001.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-002.jpg" alt="presentation_edit_flow-002.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-003.jpg" alt="presentation_edit_flow-003.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-004.jpg" alt="presentation_edit_flow-004.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-005.jpg" alt="presentation_edit_flow-005.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-006.jpg" alt="presentation_edit_flow-006.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-007.jpg" alt="presentation_edit_flow-007.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-008.jpg" alt="presentation_edit_flow-008.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-009.jpg" alt="presentation_edit_flow-009.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-010.jpg" alt="presentation_edit_flow-010.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-011.jpg" alt="presentation_edit_flow-011.jpg"  width="800"
	height="600"  />
<img src="images/presentation_edit_flow-012.jpg" alt="presentation_edit_flow-012.jpg"  width="800"
	height="600"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Solving peanut brittle WinerLinks, part one</title>
      <link>https://danielbachhuber.com/solving-peanut-brittle-winerlinks-part-one/</link>
      <pubDate>Tue, 30 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/solving-peanut-brittle-winerlinks-part-one/</guid>
      <description>&lt;p&gt;With the way the WordPress plugin works right now, WinerLinks are added every time a post is rendered. There&amp;rsquo;s a bit of script to parse for &amp;lsquo;p&amp;rsquo; tags, and it will add the hash at the end of the graf and the anchor at the beginning. This works fine if you edit before you publish but a lot of people continue to edit a piece after it&amp;rsquo;s been pushed live. If you add or subtract a graf, a variable number of your WinerLinks will point to new locations. Oops.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>With the way the WordPress plugin works right now, WinerLinks are added every time a post is rendered. There&rsquo;s a bit of script to parse for &lsquo;p&rsquo; tags, and it will add the hash at the end of the graf and the anchor at the beginning. This works fine if you edit before you publish but a lot of people continue to edit a piece after it&rsquo;s been pushed live. If you add or subtract a graf, a variable number of your WinerLinks will point to new locations. Oops.</p>
<p>Permalinks should be permanent. If they aren&rsquo;t, you&rsquo;re sinning against the web. The challenge with paragraph-by-paragraph permalinks in WordPress is that content is stored at the <em>post</em> level, not the paragraph level. There&rsquo;s no such thing as a unique ID for each paragraph. Yet.</p>
<p>When the post is first published, we could parse the content for the paragraphs. We&rsquo;d then stick each paragraph in a custom field with its canonical ID. As the post is loaded, we&rsquo;d check each graf to find its corresponding custom field value and build the WinerLink from its canonical ID.</p>
<p>This approach would make it more possible to persist permalinks as the post is updated. When the author saves updates to the post, we&rsquo;d parse all of the paragraphs again. For the ones that matched existing custom field values with 90 or 95% similarity, we&rsquo;d just update the existing value with new paragraph data. New paragraphs would have new unique IDs generated for them.</p>
<p>We&rsquo;d be backwards compatible with existing WinerLinks with a bit of Javascript on the front-end. All of the paragraphs have a specific class and we&rsquo;d just match relative link to the order of paragraphs on the post.</p>
<p>The more obvious open question is what sort of performance cost this processing on the fly will take and whether there&rsquo;s any hope of caching it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Proxy caching WordPress with Nginx</title>
      <link>https://danielbachhuber.com/proxy-caching-wordpress-with-nginx/</link>
      <pubDate>Mon, 29 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/proxy-caching-wordpress-with-nginx/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://nginx.org/&#34;&gt;Nginx&lt;/a&gt; is a lightweight web server/load balancer/reverse proxy designed to drive blazingly fast websites. It has low resource requirements compared to Apache, the defacto standard for PHP-based applications, and can handle an order of magnitude more requests per second.&lt;/p&gt;&#xA;&lt;p&gt;With WordPress, Nginx is often used in a few different ways: to serve static media assets, to &lt;a href=&#34;http://elasticdog.com/2008/02/howto-install-wordpress-on-nginx/&#34;&gt;execute PHP for WordPress&lt;/a&gt;, or to &lt;a href=&#34;http://blogs.law.harvard.edu/djcp/2010/01/nginx-as-a-front-end-proxy-cache-for-wordpress/&#34;&gt;reverse cache Apache responses&lt;/a&gt;. You&amp;rsquo;ll want to install Nginx, put it in front of Apache, and then choose one option or go for all three. Mike Green has &lt;a href=&#34;http://www.myatus.co.uk/2010/06/28/a-simplified-nginx-apache-combo-with-wordpress-support/&#34;&gt;comprehensive documentation&lt;/a&gt; to cover the first and third scenarios. It&amp;rsquo;s more or less what I did at the J-School.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://nginx.org/">Nginx</a> is a lightweight web server/load balancer/reverse proxy designed to drive blazingly fast websites. It has low resource requirements compared to Apache, the defacto standard for PHP-based applications, and can handle an order of magnitude more requests per second.</p>
<p>With WordPress, Nginx is often used in a few different ways: to serve static media assets, to <a href="http://elasticdog.com/2008/02/howto-install-wordpress-on-nginx/">execute PHP for WordPress</a>, or to <a href="http://blogs.law.harvard.edu/djcp/2010/01/nginx-as-a-front-end-proxy-cache-for-wordpress/">reverse cache Apache responses</a>. You&rsquo;ll want to install Nginx, put it in front of Apache, and then choose one option or go for all three. Mike Green has <a href="http://www.myatus.co.uk/2010/06/28/a-simplified-nginx-apache-combo-with-wordpress-support/">comprehensive documentation</a> to cover the first and third scenarios. It&rsquo;s more or less what I did at the J-School.</p>
<p>Epic foo is using Nginx as a reverse proxy cache. &ldquo;Reverse proxy cache&rdquo; means Nginx will generate a static cache of everything Apache responds with, and then serve this cache as long as you&rsquo;d like. For us, this means homepage response time has dropped from an average of 1.5 seconds to around 25 milliseconds. On pages without a lot of secondary images and Javascript (e.g. not the homepage), load times are now wicked fast.</p>
<p>It&rsquo;s worthwhile to note we&rsquo;re only serving cache to non-authenticated users. Students and faculty expect our website to behave like an application, and to have changes they make appear immediately. This is less of an issue for other visitors. Caching also gives us protection against bursts of unexpected traffic.</p>
<p>Proxy caching was deceptively simple to implement. I spent around 15 work hours in September trying to get it to work, gave up until November, and then solved the problem in 15 minutes with a stroke of brilliance. Originally, I followed the <a href="http://wordpress.org/extend/plugins/nginx-proxy-cache-integrator/installation/">configuration settings specified in Dan Collis-Puro&rsquo;s awesome WordPress plugin</a> and it took our setup to 80% completion. I then learned the most important thing is to tell Nginx to log cache hits; this makes it far easier to determine whether caching is working or not. The second most important thing is to turn <code>proxy_redirect off</code>. I still don&rsquo;t fully understand what the declaration does, but it was the crucial missing piece. Seeing dozens of &ldquo;HIT&quot;s scroll by never felt so good.</p>
<p>Check out our commented <a href="http://danielbachhuber.files.wordpress.com/2010/11/nginx.txt">master Nginx configuration file</a> [txt] and the <a href="http://danielbachhuber.files.wordpress.com/2010/11/journalism.cuny_.edu_.txt">configuration file specific to journalism.cuny.edu</a> [txt].</p>
]]></content:encoded>
    </item>
    <item>
      <title>#idea: Posts in a series</title>
      <link>https://danielbachhuber.com/idea-posts-in-a-series/</link>
      <pubDate>Sun, 28 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-posts-in-a-series/</guid>
      <description>&lt;p&gt;Publishing could benefit from a structured way to indicate one piece&amp;rsquo;s relationship to another.&lt;/p&gt;&#xA;&lt;p&gt;The first type of relationship could be a series. The relationship type would be managed with custom taxonomies.&lt;/p&gt;&#xA;&lt;p&gt;When writing a post, the author would indicate the posts&amp;rsquo; relationships to other posts in a post metabox. After publishing, an infobox would automagically appear on the public-facing view for all of the related posts.&lt;/p&gt;&#xA;&lt;p&gt;One question is whether the relationship would be defined by the series of posts, or whether you&amp;rsquo;d want to have a separate, customizable relationship object so you could personalize the infobox.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Publishing could benefit from a structured way to indicate one piece&rsquo;s relationship to another.</p>
<p>The first type of relationship could be a series. The relationship type would be managed with custom taxonomies.</p>
<p>When writing a post, the author would indicate the posts&rsquo; relationships to other posts in a post metabox. After publishing, an infobox would automagically appear on the public-facing view for all of the related posts.</p>
<p>One question is whether the relationship would be defined by the series of posts, or whether you&rsquo;d want to have a separate, customizable relationship object so you could personalize the infobox.</p>
<p>With this type of low-overhead but valuable functionality, you&rsquo;d win a whole lot of context for the first-time reader.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What ever happened to the Populous Project?</title>
      <link>https://danielbachhuber.com/what-ever-happened-to-the-populous-project/</link>
      <pubDate>Sun, 28 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-ever-happened-to-the-populous-project/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://www.populousproject.com/&#34;&gt;Populous Project&lt;/a&gt; is (was?) an open source, student news content management system which &lt;a href=&#34;http://newschallenge.org/winner/2008/community-news-network&#34;&gt;received $275,000 from the Knight Foundation&amp;rsquo;s 2008 News Challenge&lt;/a&gt;. It was supposed to be the panacea for college media, solve all of our &lt;a href=&#34;http://danielbachhuber.com/2008/08/09/one-case-against-college-publisher/&#34;&gt;College Publisher woes&lt;/a&gt;, and offered everything but the kitchen sink. CoPress talked to Anthony and Dharmishta a &lt;a href=&#34;http://inside.copress.org/tag/populous-project/&#34;&gt;few times in October 2008&lt;/a&gt;, was promised an alpha to play with later that fall, but the project shortly dropped completely off the radar.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The <a href="http://www.populousproject.com/">Populous Project</a> is (was?) an open source, student news content management system which <a href="http://newschallenge.org/winner/2008/community-news-network">received $275,000 from the Knight Foundation&rsquo;s 2008 News Challenge</a>. It was supposed to be the panacea for college media, solve all of our <a href="http://danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">College Publisher woes</a>, and offered everything but the kitchen sink. CoPress talked to Anthony and Dharmishta a <a href="http://inside.copress.org/tag/populous-project/">few times in October 2008</a>, was promised an alpha to play with later that fall, but the project shortly dropped completely off the radar.</p>
<p>What ever happened to the Populous Project, and the Knight Foundation&rsquo;s smooth $275,000?</p>
<p>Why this is an important story to be told: The Knight Foundation espouses &ldquo;<a href="http://www.knightfdn.org/about_knight/">informed and engaged communities [that] lead to transformational change</a>&rdquo; except, apparently, when it&rsquo;s inconvenient. A significant portion of college media is locked to a <a href="http://www.collegepublisher.com/">proprietary publishing platform</a> that takes most, if not all, of their online advertising revenue. In order to build financially viable businesses online, these publications need to take control of their technology. Stories like the Populous Project don&rsquo;t inspire the trust required for organizations to collaborate on their technology and benefit from the effects of a network of innovation.</p>
<p>Leave specific questions you want answered in the comments.</p>
]]></content:encoded>
    </item>
    <item>
      <title>USPS&#39; smart change of address application</title>
      <link>https://danielbachhuber.com/usps-smart-change-of-address-application/</link>
      <pubDate>Wed, 24 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/usps-smart-change-of-address-application/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://danielbachhuber.com/2010/11/24/usps-smart-change-of-address-application/uspsmoverinfo_full/&#34;&gt;&lt;img src=&#34;images/uspsmoverinfo_full1.jpg&#34; alt=&#34;&#34;  width=&#34;736&#34;&#xA;&#x9;height=&#34;808&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Postal Service&amp;rsquo;s &lt;a href=&#34;https://moversguide.usps.com/&#34;&gt;change of address web application&lt;/a&gt; has one of the nicest, most intuitive user experiences I&amp;rsquo;ve come across in years. In particular, check out the appropriate use of font size and color, clear language, progress breadcrumbs across the top, and the live-updating summary in the right rail that follows you as you scroll down the page. It was uncommonly pleasurable to use.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://danielbachhuber.com/2010/11/24/usps-smart-change-of-address-application/uspsmoverinfo_full/"><img src="images/uspsmoverinfo_full1.jpg" alt=""  width="736"
	height="808"  /></a></p>
<p>The Postal Service&rsquo;s <a href="https://moversguide.usps.com/">change of address web application</a> has one of the nicest, most intuitive user experiences I&rsquo;ve come across in years. In particular, check out the appropriate use of font size and color, clear language, progress breadcrumbs across the top, and the live-updating summary in the right rail that follows you as you scroll down the page. It was uncommonly pleasurable to use.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Challenges in quitting Twitter and Facebook</title>
      <link>https://danielbachhuber.com/challenges-in-quitting-twitter-and-facebook/</link>
      <pubDate>Tue, 23 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/challenges-in-quitting-twitter-and-facebook/</guid>
      <description>&lt;p&gt;On Kommons, Tal asks:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You recently quit both Twitter and Facebook. As someone who works in Internet and media, what challenges have you faced? Will you come back?&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Quitting Twitter has been a mixed bag. The most significant challenge is not being able to influence the news innovation zeitgeist as directly or as visibly. This isn&amp;rsquo;t to say I was all that influential to begin with; rather Twitter has better mechanisms for understanding how what you&amp;rsquo;re mindthinking resonates with others. Retweets or click-throughs indicate whether you&amp;rsquo;re on point, @replies show whether people want to engage in conversation on a given subject, and who&amp;rsquo;s following you is a sign of your reputation within that community. It isn&amp;rsquo;t quite the same publishing on a personal website where the subscription mechanism is RSS, interactivity is limited to longer-form commenting and trackbacks, and there&amp;rsquo;s no way of presenting who reads you.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Kommons, Tal asks:</p>
<blockquote>
<p>You recently quit both Twitter and Facebook. As someone who works in Internet and media, what challenges have you faced? Will you come back?</p></blockquote>
<p>Quitting Twitter has been a mixed bag. The most significant challenge is not being able to influence the news innovation zeitgeist as directly or as visibly. This isn&rsquo;t to say I was all that influential to begin with; rather Twitter has better mechanisms for understanding how what you&rsquo;re mindthinking resonates with others. Retweets or click-throughs indicate whether you&rsquo;re on point, @replies show whether people want to engage in conversation on a given subject, and who&rsquo;s following you is a sign of your reputation within that community. It isn&rsquo;t quite the same publishing on a personal website where the subscription mechanism is RSS, interactivity is limited to longer-form commenting and trackbacks, and there&rsquo;s no way of presenting who reads you.</p>
<p>I suppose the second most difficult challenge is tracking conversations. There were 100 or so people whom I&rsquo;d pay the most attention. The real-time nature of the platform, coupled with people being logged in all the time, creates a space like a large ballroom where you can go ask someone a question at any time. I can still hear snippets of conversation by subscribing to a limited number of people by RSS, or paying more attention to <a href="http://www.niemanlab.org/2010/11/popular-on-twitter-medills-name-change-the-future-of-data-journalism-the-touchy-tumblr">roundups like Nieman Lab&rsquo;s</a>, but the experience is only 50% as engaging as it used to be.</p>
<p>On the flip side, there are two things I&rsquo;ve been fortunate to escape: the increasingly loud echo chamber any time a bit of news breaks is artfully manufactured and the circular, inward obsession with &ldquo;social media&rdquo; on &ldquo;social media&rdquo;.</p>
<p>Quitting Facebook was easy, except for a <a href="http://danielbachhuber.com/2010/10/25/liberation/#comment-512">bit of hate from the girlfriend</a>. The only use I&rsquo;ve been missing people for is looking people up; that Facebook is a structured people database is quite nice. There should be an open equivalent based on microformatted websites.</p>
<p>The honest truth is the first few weeks weren&rsquo;t tough at all; not spending all my time on (mostly) Twitter and (less so) Facebook meant I&rsquo;ve had a lot more time to work on new releases for side projects, read long-form, and hang out with my girlfriend. The last week or so has been difficult, I feel disconnected from the hive mind, but I won&rsquo;t be back until there&rsquo;s an open, interoperable protocol for real-time publishing I can run on my own server. It&rsquo;s pretty awesome to be able to look up and reference your content from a few years back.</p>
<p>The river must flow. You can build a dam but the water will find an alternate path.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Idea: WordPress plugin to export to a given format</title>
      <link>https://danielbachhuber.com/idea-wordpress-plugin-to-export-to-a-given-format/</link>
      <pubDate>Wed, 17 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-wordpress-plugin-to-export-to-a-given-format/</guid>
      <description>&lt;p&gt;For those in the publishing world: if you could have a WordPress plugin that allowed you to export a post to any given format, what formats would those be? Furthermore, how would the data be structured for each format (e.g. RTF vs. Microsoft Word vs. PDF vs. NITF)? I&amp;rsquo;m thinking this might be a poor man&amp;rsquo;s way to InDesign integration for &lt;a href=&#34;http://editflow.org/&#34;&gt;Edit Flow&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For those in the publishing world: if you could have a WordPress plugin that allowed you to export a post to any given format, what formats would those be? Furthermore, how would the data be structured for each format (e.g. RTF vs. Microsoft Word vs. PDF vs. NITF)? I&rsquo;m thinking this might be a poor man&rsquo;s way to InDesign integration for <a href="http://editflow.org/">Edit Flow</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Serfing the web</title>
      <link>https://danielbachhuber.com/serfing-the-web/</link>
      <pubDate>Sat, 13 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/serfing-the-web/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.economist.com/node/17461435?story_id=17461435&amp;amp;CFID=153281815&amp;amp;CFTOKEN=45826349&#34;&gt;The Economist&lt;/a&gt;, Nov. 11, 2010:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Both Google and Facebook are run like absolute monarchies in which hundreds of millions of users (digital serfs, some might say) have created identities. Rather like mercantilist countries in the offline realm, both companies operate policies to protect this asset.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.unionsquareventures.com/2010/06/web-services-as-governments.php&#34;&gt;Brad Burnham at Union Square Ventures&lt;/a&gt;, Jun. 10, 2010:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Facebook is a government. Facebook&amp;rsquo;s users are citizens, and Facebook&amp;rsquo;s applications developers are the private companies that drive much of the economy. Apple. Twitter, Myspace, Craigslist, Foursquare, Tumblr and every other large network of engaged users (including some services of Google) plays a similar role. We have always tacitly acknowledged this. We talk about these networks as communities, communities have governments.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.economist.com/node/17461435?story_id=17461435&amp;CFID=153281815&amp;CFTOKEN=45826349">The Economist</a>, Nov. 11, 2010:</p>
<blockquote>
<p>Both Google and Facebook are run like absolute monarchies in which hundreds of millions of users (digital serfs, some might say) have created identities. Rather like mercantilist countries in the offline realm, both companies operate policies to protect this asset.</p></blockquote>
<p><a href="http://www.unionsquareventures.com/2010/06/web-services-as-governments.php">Brad Burnham at Union Square Ventures</a>, Jun. 10, 2010:</p>
<blockquote>
<p>Facebook is a government. Facebook&rsquo;s users are citizens, and Facebook&rsquo;s applications developers are the private companies that drive much of the economy. Apple. Twitter, Myspace, Craigslist, Foursquare, Tumblr and every other large network of engaged users (including some services of Google) plays a similar role. We have always tacitly acknowledged this. We talk about these networks as communities, communities have governments.</p></blockquote>
<p><a href="http://www.roughtype.com/archives/2006/12/sharecropping_t.php">David Carr</a>, Dec. 19, 2006:</p>
<blockquote>
<p>What&rsquo;s being concentrated, in other words, is not content but the economic value of content. MySpace, Facebook, and many other businesses have realized that they can give away the tools of production but maintain ownership over the resulting products. One of the fundamental economic characteristics of Web 2.0 is the distribution of production into the hands of the many and the concentration of the economic rewards into the hands of the few. It&rsquo;s a sharecropping system, but the sharecroppers are generally happy because their interest lies in self-expression or socializing, not in making money, and, besides, the economic value of each of their individual contributions is trivial. It&rsquo;s only by aggregating those contributions on a massive scale - on a web scale - that the business becomes lucrative. To put it a different way, the sharecroppers operate happily in an attention economy while their overseers operate happily in a cash economy. In this view, the attention economy does not operate separately from the cash economy; it&rsquo;s simply a means of creating cheap inputs for the cash economy.</p></blockquote>
<p>We need a people&rsquo;s revolution.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on Twitter (as it applies to education)</title>
      <link>https://danielbachhuber.com/thoughts-on-twitter-as-it-applies-to-education/</link>
      <pubDate>Sat, 13 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-twitter-as-it-applies-to-education/</guid>
      <description>&lt;p&gt;Susie Bartel, a University of Oregon journalism student in Feature Writing 1, is writing an article about instructors using Twitter as a part of their curriculum. She requested I offer my opinion on Twitter as it applies to education. The questions are hers via email; I thought I&amp;rsquo;d respond on my blog so she could link to it as primary source material (even paragraph by paragraph thanks to &lt;a href=&#34;http://wordpress.org/extend/plugins/winerlinks/&#34;&gt;WinerLinks&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Susie: When did you start using Twitter? Was it for personal, professional, or educational purposes?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m almost positive I joined Twitter in April 2007, although I don&amp;rsquo;t think I started using it regularly until that summer. Since episode 1, I&amp;rsquo;ve been a regular listener of Leo Laporte&amp;rsquo;s This Week in Tech. I believe I heard Twitter mentioned first in &lt;a href=&#34;http://twit.tv/twit/91&#34;&gt;this episode&lt;/a&gt;, and signed up shortly after.&lt;/p&gt;&#xA;&lt;p&gt;In 2007, all use of Twitter was experimental. There was no distinction between personal, professional, or educational. It was a new tool, and people had to invent how to use it. Since the beginning, &lt;a href=&#34;http://danielbachhuber.com/2010/10/25/liberation/&#34;&gt;up until about three weeks ago&lt;/a&gt;, I used Twitter as a mix of all three. I posted images from awesome vacation sights, scored a two-year gig at &lt;a href=&#34;http://publish2.com/&#34;&gt;Publish2&lt;/a&gt; by tweeting &amp;ldquo;I want to live in startup land&amp;rdquo;, and tapped the knowledge of &lt;a href=&#34;http://maxcutler.com/&#34;&gt;people&lt;/a&gt; &lt;a href=&#34;http://andrewnacin.com/&#34;&gt;smarter&lt;/a&gt; &lt;a href=&#34;http://teleogistic.net/&#34;&gt;than&lt;/a&gt; I by tweeting questions I&amp;rsquo;ve run into.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Susie: Have you always been open to using Twitter?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Yes, until three weeks ago.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Susie Bartel, a University of Oregon journalism student in Feature Writing 1, is writing an article about instructors using Twitter as a part of their curriculum. She requested I offer my opinion on Twitter as it applies to education. The questions are hers via email; I thought I&rsquo;d respond on my blog so she could link to it as primary source material (even paragraph by paragraph thanks to <a href="http://wordpress.org/extend/plugins/winerlinks/">WinerLinks</a>).</p>
<p><strong>Susie: When did you start using Twitter? Was it for personal, professional, or educational purposes?</strong></p>
<p>I&rsquo;m almost positive I joined Twitter in April 2007, although I don&rsquo;t think I started using it regularly until that summer. Since episode 1, I&rsquo;ve been a regular listener of Leo Laporte&rsquo;s This Week in Tech. I believe I heard Twitter mentioned first in <a href="http://twit.tv/twit/91">this episode</a>, and signed up shortly after.</p>
<p>In 2007, all use of Twitter was experimental. There was no distinction between personal, professional, or educational. It was a new tool, and people had to invent how to use it. Since the beginning, <a href="http://danielbachhuber.com/2010/10/25/liberation/">up until about three weeks ago</a>, I used Twitter as a mix of all three. I posted images from awesome vacation sights, scored a two-year gig at <a href="http://publish2.com/">Publish2</a> by tweeting &ldquo;I want to live in startup land&rdquo;, and tapped the knowledge of <a href="http://maxcutler.com/">people</a> <a href="http://andrewnacin.com/">smarter</a> <a href="http://teleogistic.net/">than</a> I by tweeting questions I&rsquo;ve run into.</p>
<p><strong>Susie: Have you always been open to using Twitter?</strong></p>
<p>Yes, until three weeks ago.</p>
<p>Twitter is/has been an amazing communications platform. When I started, the advantages to Twitter over other platforms were three-fold: forced brevity, serendipity from asynchronous relationships, and real-time updates.</p>
<p>Tweets are limited to 140 characters. Because of this design constraint, the cultural focus became pithiness. Pithy updates about what you&rsquo;re working on, pithy reports from the conferences you&rsquo;re attending, and pithy descriptions of (along with the link to) the brilliant article you just read.</p>
<p>Furthermore, you can subscribe to this pithy information stream from anyone on the platform. Most of the time, the thought-leaders of whatever context you&rsquo;re passionate about aren&rsquo;t in your same geographic vicinity. People like @<a href="http://twitter.com/jeffjarvis">jeffjarvis</a>, @<a href="http://twitter.com/cshirky">cshirky</a>, @<a href="http://twitter.com/zephoria">zephoria</a>, and @<a href="http://twitter.com/timoreilly">timoreilly</a>. You can&rsquo;t just drop in the room to hear them lecture, or invite to coffee. On Twitter, however, you can and you can.</p>
<p>Lastly, you can do all of this in real-time. Publishing becomes almost conversational. For a couple of years, I even had every tweet sent to my phone as text messages.</p>
<p>Unfortunately, there are downsides to Twitter that, <a href="http://danielbachhuber.com/2010/10/25/liberation/">three weeks ago</a>, overran the positives. I haven&rsquo;t established my thoughts well-enough to go into too much detail, but I will say a couple of things.</p>
<p>I tired of not having full access to my data. <a href="http://dev.twitter.com/pages/every_developer">You&rsquo;re only permitted to access your last 3,200 tweets</a>. Search is a terribly mangled mess, and only goes back seven days. Think about it this way: Want to find your notes from the conference a year ago, or your updates from your vacation to India two years ago? Good luck, it&rsquo;s technically impossible. There&rsquo;s no way to export your data either.</p>
<p>I also am increasingly wary of letting a corporation control my namespace and identity without being guaranteed specific rights. Like nearly every other service on the web, <a href="http://twitter.com/tos">Twitter&rsquo;s Terms of Service</a> has a clause explaining they can delete you at a moment&rsquo;s notice:</p>
<blockquote>
<p>Twitter may stop (permanently or temporarily) providing the Services (or any features within the Services) to you or to users generally and may not be able to provide you with prior notice. We also retain the right to create limits on use and storage at our sole discretion at any time without prior notice to you.</p></blockquote>
<p>If Twitter is your primary method of communicating, <a href="http://www.zephoria.org/thoughts/archives/2010/05/15/facebook-is-a-utility-utilities-get-regulated.html">as for many Facebook is becoming</a>, then you absolutely must have the right to a portable identity.</p>
<p>We urgently need an <a href="http://al3x.net/2010/09/15/last-thing-about-twitter.html">open Twitter protocol that co-exists with Twitter.com</a>. Part of that <a href="http://danielbachhuber.com/2010/02/04/theory-its-the-reader-not-the-publishing-tool/">needs to include a decentralized reading interface</a> so that reading is closely coupled with publishing. I&rsquo;d prefer spend my free time and attention working on that, rather than &ldquo;<a href="http://danielbachhuber.com/2010/11/12/serfing-the-web/">serfing the web.</a>&rdquo;</p>
<p><strong>Susie: Have you taken any classes where the instructor used Twitter as a teaching tool? If so, what class and in what ways was it used?</strong></p>
<p>No, I haven&rsquo;t taken any classes where the instructor used Twitter as a teaching tool.</p>
<p>For fall 2009, I signed up for a number of entry-level geography courses. In one of the classes, the professor made it clear laptops could only be used for taking notes. If caught using it for anything else, the infraction would be grounds for a &ldquo;F&rdquo; in the course and forfeit of course credit. If you used your cell phone for texting, you&rsquo;d lose an immediate letter grade. <a href="https://danielbachhuber.com/wp-content/uploads/2010/11/209-geography-of-the-middle-east1.pdf">Proof is in a PDF of the syllabus</a>.</p>
<p>On the second day of the new term, I flew down to San Francisco for the Online News Association&rsquo;s annual conference. There I had the fortune to meet people like <a href="http://www.aronpilhofer.com/">Aron Pilhofer</a> of <em>The New York Times</em> and <a href="http://hackerjournalist.net/">Brian Boyer</a> of the <em>Chicago Tribune</em>. <a href="http://journalists.org/news/31016/publish2-my-ballard-and-gotham-gazette-recognized-with-inaugural-online-journalism-awards.htm">Publish2 won a big ol&rsquo; award on Saturday night</a>. It was an extraordinary time that reinvigorated my enthusiasm for helping reinvent the news industry.</p>
<p>I can&rsquo;t say the same about classes whose structure fundamentally cripples new opportunities presented by technology. Think about it: <a href="http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2274">the web is potentially more disruptive</a> than the <a href="http://en.wikipedia.org/wiki/Johannes_Gutenberg#Legacy">Gutenberg printing press</a>. It&rsquo;s in the process of flattening the music, movie, and <a href="http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/">news</a> industries, and will change <a href="http://danielbachhuber.com/2009/05/14/parallels-between-schools-and-newspapers/">education</a>, government, and healthcare in the future. In most traditional classes, not only do you <em>not</em> have the chance to experiment with the web, but you&rsquo;re actively discouraged from doing so. This is broken.</p>
<p>The Monday following ONA, I informed the registrar of my intent to withdraw from my classes.</p>
<p><strong>Susie: What do you think are the benefits of using Twitter in the classroom? Do you think there are any negative aspects (i.e. distraction)?</strong></p>
<p>See my response to the second and last question for the benefits. Regarding whether Twitter is a distraction or not, separate the tool from the instructor and the course. If students are bored in class, they will find a means to engage their mind. Before technology X, it was passing notes, reading a book, or skipping class altogether.</p>
<p><strong>Susie: Do you think more instructors should use Twitter as a tool?</strong></p>
<p>Yes, <a href="http://chronicle.com/article/The-Trouble-With-Twitter/47443/">especially this one</a>. If not to teach (there&rsquo;s only one @<a href="http://twitter.com/jayrosen_nyu">jayrosen_nyu</a>), then at least to have a working understanding of the platform, its strengths, and its limitations.</p>
<p><strong>Susie: How do you think instructors should use Twitter?</strong></p>
<p>Let&rsquo;s take a step back and frame your question in a broader context. It really should be &ldquo;How do you think instructors should use technology?&rdquo; When you get down to the nitty-gritty, Twitter really isn&rsquo;t all that different from Tumblr, WordPress or YouTube. It&rsquo;s a text-based real-time communication platforms limited to 140 characters that empowers its users to reach a global audience.</p>
<p>Without asking this broader question, you&rsquo;ll end up trying to &ldquo;meet the future by doing what [you] did in the past&rdquo;, as Sir Ken Robinson artfully explains:</p>
<p><a href="http://www.youtube.com/watch?v=zDZFcDGpL4U">http://www.youtube.com/watch?v=zDZFcDGpL4U</a></p>
<p>The current system of education was designed for an industrial age. You spend tens of thousands on a four-year degree because you <em>used</em> to learn things that would last most of your career. Throwing new technology at these old systems won&rsquo;t fix anything; in many cases, it will only exacerbate the issue.</p>
<p>Think about technology holistically because it enables you to <em>do</em> in fundamentally new ways. Use Twitter as your real-time notepad, then archive those thoughts on a blog post. When you&rsquo;re working on a piece, publish all of your source material along with intermediate revisions so the curious reader can explore how your thoughts developed.</p>
<p>Broadening the question opens <a href="http://danielbachhuber.com/tag/ideas+education/">plenty of possibilities</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>New plugin: Video Embed Widget</title>
      <link>https://danielbachhuber.com/new-plugin-video-embed-widget/</link>
      <pubDate>Fri, 12 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-plugin-video-embed-widget/</guid>
      <description>&lt;p&gt;Likely the most SEO-optimized plugin I&amp;rsquo;ve written yet (&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2010/11/wordpress-e280ba-video-embed-widget-c2ab-wordpress-plugins-11.png&#34;&gt;156 downloads&lt;/a&gt; in 12 hours with no promotion), &lt;a href=&#34;http://wordpress.org/extend/plugins/video-embed-widget/&#34;&gt;Video Embed Widget&lt;/a&gt; makes it easy to embed videos in your WordPress sidebar only knowing just the URL. Specify the maximum height and width, hit save, and you&amp;rsquo;re live. Not only that, the widget generates embed codes using the &lt;a href=&#34;http://api.embed.ly/&#34;&gt;Embed.ly API&lt;/a&gt; which supports 151 service providers and counting. You can embed Flickr photos, XKCD comics,  and videos from the White House, all in the same sidebar.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Likely the most SEO-optimized plugin I&rsquo;ve written yet (<a href="https://danielbachhuber.com/wp-content/uploads/2010/11/wordpress-e280ba-video-embed-widget-c2ab-wordpress-plugins-11.png">156 downloads</a> in 12 hours with no promotion), <a href="http://wordpress.org/extend/plugins/video-embed-widget/">Video Embed Widget</a> makes it easy to embed videos in your WordPress sidebar only knowing just the URL. Specify the maximum height and width, hit save, and you&rsquo;re live. Not only that, the widget generates embed codes using the <a href="http://api.embed.ly/">Embed.ly API</a> which supports 151 service providers and counting. You can embed Flickr photos, XKCD comics,  and videos from the White House, all in the same sidebar.</p>
<p><a href="http://wordpress.org/extend/plugins/video-embed-widget/">Download Video Embed Widget at WordPress.org</a>, <a href="http://wordpress.org/tags/video-embed-widget?forum_id=10">leave questions or ideas in the forum</a>, or <a href="https://github.com/danielbachhuber/Video-Embed-Widget">fork it on GitHub</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Election 2010: Issues and Impact</title>
      <link>https://danielbachhuber.com/election-2010-issues-and-impact/</link>
      <pubDate>Wed, 10 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/election-2010-issues-and-impact/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://nycitynewsservice.com/special-projects/election-2010/&#34;&gt;&lt;img src=&#34;images/election2010_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;320&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;For Election 2010, we built an &lt;a href=&#34;http://nycitynewsservice.com/special-projects/election-2010/&#34;&gt;interactive mosaic&lt;/a&gt; that tries to emphasize the wide diversity of perspectives NYCity News Service reporters captured before and after. Vistors can filter these faces by relevant metadata, and click on a face to access a short video or audio interview with the person.&lt;/p&gt;&#xA;&lt;p&gt;The entire product was done with HTML/CSS/Javascript (jQuery) in about an afternoon. Each mug wrapper has classes with values for each metadata field. Presentation is driven by &lt;a href=&#34;https://github.com/cunyjschool/NY-City-News-Service/blob/1.0.4/js/election2010.js#L26&#34;&gt;adding further classes based on those values&lt;/a&gt;. Originally, I was going to pull from an API and refresh the entire view but what I ended up with proved to be a better solution.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://nycitynewsservice.com/special-projects/election-2010/"><img src="images/election2010_h6001.jpg" alt=""  width="600"
	height="320"  /></a></p>
<p>For Election 2010, we built an <a href="http://nycitynewsservice.com/special-projects/election-2010/">interactive mosaic</a> that tries to emphasize the wide diversity of perspectives NYCity News Service reporters captured before and after. Vistors can filter these faces by relevant metadata, and click on a face to access a short video or audio interview with the person.</p>
<p>The entire product was done with HTML/CSS/Javascript (jQuery) in about an afternoon. Each mug wrapper has classes with values for each metadata field. Presentation is driven by <a href="https://github.com/cunyjschool/NY-City-News-Service/blob/1.0.4/js/election2010.js#L26">adding further classes based on those values</a>. Originally, I was going to pull from an API and refresh the entire view but what I ended up with proved to be a better solution.</p>
<p>In the future, I think it&rsquo;d be more interesting to filter based on issue instead of demographic. Also, I didn&rsquo;t think about this at the start, but there is a performance loss on page load when every single piece is a video interview as the browser queues all of the hidden Vimeo players.</p>
<p><strong>Later:</strong> Michelle and I took a look at the project this evening and I think it&rsquo;s the first time I&rsquo;ve seen it truly from the user&rsquo;s perspective. Most notably: video embed performance sucks and needs fixing. It would also be useful to have the filter values sorted alphabetically (and numerically). Clicking on a new filter should close the active video player. Clicking on a new mug that&rsquo;s at the bottom of the page should scroll the user back up to the overlay. Lastly, when activating filters, the informational overlays should only appear on mugs that match the filter.</p>
]]></content:encoded>
    </item>
    <item>
      <title>An evening with Ken Auletta</title>
      <link>https://danielbachhuber.com/an-evening-with-ken-auletta/</link>
      <pubDate>Fri, 05 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/an-evening-with-ken-auletta/</guid>
      <description>&lt;p&gt;Ken Auletta, whom the &lt;em&gt;Columbia Journalism Review&lt;/em&gt; has ranked as the nation&amp;rsquo;s premier media critic, &lt;a href=&#34;http://www.journalism.cuny.edu/events/the-new-york-press-club-presents-an-evening-with-ken-auletta/&#34;&gt;spoke at the CUNY Graduate School of Journalism last night about Google, the rise of technology companies, and the current state of newspapers&lt;/a&gt;. While I don&amp;rsquo;t necessarily agree with everything Ken said, he offered useful insights into the personalities behind the big tech giants, including Eric Schmidt, Steve Jobs, and Bill Gates, and how their perspectives on the world shape their decisions.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ken Auletta, whom the <em>Columbia Journalism Review</em> has ranked as the nation&rsquo;s premier media critic, <a href="http://www.journalism.cuny.edu/events/the-new-york-press-club-presents-an-evening-with-ken-auletta/">spoke at the CUNY Graduate School of Journalism last night about Google, the rise of technology companies, and the current state of newspapers</a>. While I don&rsquo;t necessarily agree with everything Ken said, he offered useful insights into the personalities behind the big tech giants, including Eric Schmidt, Steve Jobs, and Bill Gates, and how their perspectives on the world shape their decisions.</p>
<p>Near the end, I ask Ken how he would measure whether journalism is dying or blossoming to which he replied, &ldquo;it&rsquo;s subjective.&rdquo; This, in my mind, is a solvable problem.</p>
<p>[audio:http://danielbachhuber.files.wordpress.com/audio/20101104-kenauletta-audio.mp3]</p>
<p><img src="images/20101104-kenauletta_db-19-version-21.jpg" alt="20101104-kenauletta_db-19-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/20101104-kenauletta_db-31-version-21.jpg" alt="20101104-kenauletta_db-31-version-21.jpg"  width="683"
	height="1024"  />
<img src="images/20101104-kenauletta_db-62-version-21.jpg" alt="20101104-kenauletta_db-62-version-21.jpg"  width="1024"
	height="682"  />
<img src="images/20101104-kenauletta_db-79-version-21.jpg" alt="20101104-kenauletta_db-79-version-21.jpg"  width="1024"
	height="683"  />
<img src="images/20101104-kenauletta_db-106-version-21.jpg" alt="20101104-kenauletta_db-106-version-21.jpg"  width="1024"
	height="683"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Edit Flow around the nation</title>
      <link>https://danielbachhuber.com/edit-flow-around-the-nation/</link>
      <pubDate>Mon, 01 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/edit-flow-around-the-nation/</guid>
      <description>&lt;p&gt;Over the last week, the &lt;em&gt;Mountain Democrat&lt;/em&gt;, California&amp;rsquo;s oldest newspaper, &lt;a href=&#34;http://www.joeboydston.com/blog/rebooting-californias-oldest-newspaper/&#34;&gt;relaunched on WordPress using Edit Flow at the core of their editorial workflow&lt;/a&gt;. Especially notable is that they&amp;rsquo;re using WordPress as both a print and web CMS and, I imagine, have reconciled the differences between the two. Props to Joe Boydston and the entire crew involved.&lt;/p&gt;&#xA;&lt;p&gt;At WordCamp Philly, Andrew Spittle gave a &lt;a href=&#34;http://andrewspittle.net/2010/10/30/wcphilly-slides/&#34;&gt;killer presentation&lt;/a&gt; on Edit Flow, its myriad of uses, and a hint of features in the upcoming v0.6. He also mentioned Edit Flow received a &lt;a href=&#34;http://weblogtoolscollection.com/archives/2010/10/31/wordpress-plugin-releases-for-1031/&#34;&gt;bit of press in Weblog Tools Collection&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Over the last week, the <em>Mountain Democrat</em>, California&rsquo;s oldest newspaper, <a href="http://www.joeboydston.com/blog/rebooting-californias-oldest-newspaper/">relaunched on WordPress using Edit Flow at the core of their editorial workflow</a>. Especially notable is that they&rsquo;re using WordPress as both a print and web CMS and, I imagine, have reconciled the differences between the two. Props to Joe Boydston and the entire crew involved.</p>
<p>At WordCamp Philly, Andrew Spittle gave a <a href="http://andrewspittle.net/2010/10/30/wcphilly-slides/">killer presentation</a> on Edit Flow, its myriad of uses, and a hint of features in the upcoming v0.6. He also mentioned Edit Flow received a <a href="http://weblogtoolscollection.com/archives/2010/10/31/wordpress-plugin-releases-for-1031/">bit of press in Weblog Tools Collection</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Marc Lavallee and Max Cutler</title>
      <link>https://danielbachhuber.com/marc-lavallee-and-max-cutler/</link>
      <pubDate>Sun, 31 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/marc-lavallee-and-max-cutler/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/photo-11.jpg&#34; alt=&#34;Marc Lavallee and Max Cutler&#34;  width=&#34;2400&#34;&#xA;&#x9;height=&#34;1793&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Marc Lavallee and Max Cutler earlier today identifying different sources of news organization data. As a part of the Hacks/Hackers post-ONA hackathon at NPR, we rekindled NewsAnalyzr. The core idea is to build a flexible tool for analyzing the news and those who make it. A necessary foundational element is a structured database of news organizations with pertinent metadata like URL, print circulation numbers, or number of employees. Once you have this, you can, say, easily create an API to give you the title of a news organization based on URL or scrape the homepages all top 200 newspapers on a 15 minute interval during election night.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/photo-11.jpg" alt="Marc Lavallee and Max Cutler"  width="2400"
	height="1793"  /></p>
<p>Marc Lavallee and Max Cutler earlier today identifying different sources of news organization data. As a part of the Hacks/Hackers post-ONA hackathon at NPR, we rekindled NewsAnalyzr. The core idea is to build a flexible tool for analyzing the news and those who make it. A necessary foundational element is a structured database of news organizations with pertinent metadata like URL, print circulation numbers, or number of employees. Once you have this, you can, say, easily create an API to give you the title of a news organization based on URL or scrape the homepages all top 200 newspapers on a 15 minute interval during election night.</p>
<p>You should <a href="http://github.com/newsanalyzr/News-Analyzr">follow our progress on GitHub</a> and I&rsquo;ll write a more detailed post we have something useful to show of the project.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#ONA10: Rebooting the News</title>
      <link>https://danielbachhuber.com/ona10-rebooting-the-news/</link>
      <pubDate>Sat, 30 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ona10-rebooting-the-news/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://rebootnews.com/2010/10/30/rebooting-the-news-70-special-live-edition-at-online-news-association/&#34;&gt;Rebooting the News with Dave Winer and Jay Rosen, live at #ONA10&lt;/a&gt;. They&amp;rsquo;re reviewing the master narratives for the rebooted system of news. I&amp;rsquo;d like to highlight the key points.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Every node in the network is a news node.&amp;rdquo; The easiest way to see this is in the Twitter network, where every user is a potential source of news.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.scripting.com/stories/2009/05/15/sourcesGoDirect.html&#34;&gt;Sources go direct&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Freedom of the press belongs to those who own one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://rebootnews.com/2010/10/30/rebooting-the-news-70-special-live-edition-at-online-news-association/">Rebooting the News with Dave Winer and Jay Rosen, live at #ONA10</a>. They&rsquo;re reviewing the master narratives for the rebooted system of news. I&rsquo;d like to highlight the key points.</p>
<p>&ldquo;Every node in the network is a news node.&rdquo; The easiest way to see this is in the Twitter network, where every user is a potential source of news.</p>
<p><a href="http://www.scripting.com/stories/2009/05/15/sourcesGoDirect.html">Sources go direct</a>.</p>
<p>Freedom of the press belongs to those who own one.</p>
<p>&ldquo;It&rsquo;s easier trust &lsquo;here&rsquo;s where I&rsquo;m coming&rsquo; from than the &lsquo;view from nowhere&rsquo;.&rdquo; A reason for this is that people have access to a lot more news, as well as background information on that news. Journalists traditionally believe that the &ldquo;mask of objectivity&rdquo; is what allows people to trust them. Now, users can see the shallowness of the approach.</p>
<p>It&rsquo;s dangerous for the news industry to rely on the tech industry for the next generation of publishing tools. Journalists cover tech icons as if they were messiahs. This creates a situation where news organizations passively absorb direction from the voice of God. There is a wish and hope the iPad will deliver a magic solution for newspapers.</p>
<p><a href="http://pressthink.org/2010/03/news-without-the-narrative-needed-to-make-sense-of-the-news-what-i-will-say-at-south-by-southwest/#p2">The news system was built to deliver a stream of updates about what is new today</a>. It&rsquo;s been weak on context, or the background information you need to understand the story. A major design challenge in the rebooted system of news is how you can deliver both at the same time.</p>
<p><strong>Question: How would you reboot mid-term election coverage?</strong></p>
<p>Rosen: You&rsquo;d develop a citizen&rsquo;s agenda for coverage by polling the citizenry for what they want politicians to talk about. Then, in political debates, you&rsquo;d look at whether the candidates are actually discuss those issues.</p>
<p><strong>Question: Where should transparency be shown in news coverage?</strong></p>
<p>Rosen: The easiest way would be to just link the byline to a background page on the reporter. It should have a listing of relevant topics and your perspective on them. Instead of saying &ldquo;here&rsquo;s the view from nowhere,&rdquo; you&rsquo;d say &ldquo;here&rsquo;s all of the information I had to write this piece.&rdquo;</p>
<p>Winer: It&rsquo;s not always about transparency, either. It&rsquo;s about being clear about where you&rsquo;re coming from. A blind man approaching the back of an elephant is going to have a completely different perspective than a blind man approaching the front of the elephant.</p>
<p><strong>Question: Where should news organizations go if they can&rsquo;t rely on technology companies for the future?</strong></p>
<p>Winer: We&rsquo;re really, really, really early in the news system of the future. Twitter is a large company now, but it doesn&rsquo;t have a guaranteed position. For instance, updates on Twitter are limited to 140 characters. Is this the ideal length for a news item? Probably not; there&rsquo;s room for innovation. Do it yourself.</p>
<p><strong>Question: What is open source, can it be applied to the news industry and, if so, in what ways?</strong></p>
<p>Winer: They&rsquo;ve actually giving some things away but others aren&rsquo;t free. Licenses for software use to run hundreds of thousands of dollars. Now, certain things are given away but other things are charged for. &ldquo;Who cares how you pay the bills?&rdquo; The news industry insists to make money in a very particular way. Anything else is sacreligious. It&rsquo;s this inflexibility that&rsquo;s breaking the business.</p>
<p>Rosen: The motivations of people who contribute to open source projects are usually &ldquo;if we all contribute, then we can all benefit and others can benefit too.&rdquo; Just think about what we could do if we applied this to news.</p>
<p>Winer: Others choose to go open source to wipe out their competitors. The analog in the news industry is &ldquo;open the doors&rdquo; and let everyone contribute. Otherwise, they&rsquo;ll fork you. Whomever embraces this model, and does it well, will win.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Train to #ONA10</title>
      <link>https://danielbachhuber.com/train-to-ona10/</link>
      <pubDate>Wed, 27 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/train-to-ona10/</guid>
      <description>&lt;p&gt;Taking the train down to DC this afternoon for the 2010 Online News Association Conference.&lt;/p&gt;&#xA;&lt;p&gt;Last year was my first industry event and a pleasant surprise; I had the fortune to talk at length with a number of awesome people I had only conversed with online, and &lt;a href=&#34;http://conference.journalists.org/2009conference/2009/10/04/publish2-my-ballard-and-gotham-gazette-win-inaugural-ojas/&#34;&gt;Publish2 won a big ol&amp;rsquo; award&lt;/a&gt; at the Saturday banquet. This year, unfortunately, I wasn&amp;rsquo;t able to get a general session pass. Not to be discouraged, I&amp;rsquo;m still headed down to take tomorrow&amp;rsquo;s audio short course, pimp CUNY J-School&amp;rsquo;s new entrepreneurial journalism program (link TK), crash as many parties as I can, and &lt;a href=&#34;http://hackshackersona.eventbrite.com&#34;&gt;hack it cool on Sunday.&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Taking the train down to DC this afternoon for the 2010 Online News Association Conference.</p>
<p>Last year was my first industry event and a pleasant surprise; I had the fortune to talk at length with a number of awesome people I had only conversed with online, and <a href="http://conference.journalists.org/2009conference/2009/10/04/publish2-my-ballard-and-gotham-gazette-win-inaugural-ojas/">Publish2 won a big ol&rsquo; award</a> at the Saturday banquet. This year, unfortunately, I wasn&rsquo;t able to get a general session pass. Not to be discouraged, I&rsquo;m still headed down to take tomorrow&rsquo;s audio short course, pimp CUNY J-School&rsquo;s new entrepreneurial journalism program (link TK), crash as many parties as I can, and <a href="http://hackshackersona.eventbrite.com">hack it cool on Sunday.</a></p>
<p>Hit me via text (971) 998-5407 or <a href="mailto:danielbachhuber@gmail.com">email</a> if you want to hear the pitch or hang out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WinerLinks v0.2 released</title>
      <link>https://danielbachhuber.com/winerlinks-v0-2-released/</link>
      <pubDate>Wed, 27 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/winerlinks-v0-2-released/</guid>
      <description>&lt;p&gt;Inspired by the paragraph-level permalinks on Jay Rosen&amp;rsquo;s new &lt;a href=&#34;http://pressthink.org/&#34;&gt;Pressthink&lt;/a&gt;, I quickly whipped up a plugin last Thursday night to bring this functionality to WordPress. The name? &lt;a href=&#34;http://wordpress.org/extend/plugins/winerlinks&#34;&gt;WinerLinks&lt;/a&gt;, an homage to Dave Winer who is a &lt;a href=&#34;http://scripting.com/stories/2010/10/21/newBloggingTechniques.html&#34;&gt;rather prolific proto-user&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;WinerLinks gives you paragraph-level permalinks on your posts or pages. v0.2, released just a moment ago, adds WinerLinks to your RSS feed too, as well as a magical showy-hidey mode if you only want the links to appear on hover.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Inspired by the paragraph-level permalinks on Jay Rosen&rsquo;s new <a href="http://pressthink.org/">Pressthink</a>, I quickly whipped up a plugin last Thursday night to bring this functionality to WordPress. The name? <a href="http://wordpress.org/extend/plugins/winerlinks">WinerLinks</a>, an homage to Dave Winer who is a <a href="http://scripting.com/stories/2010/10/21/newBloggingTechniques.html">rather prolific proto-user</a>.</p>
<p>WinerLinks gives you paragraph-level permalinks on your posts or pages. v0.2, released just a moment ago, adds WinerLinks to your RSS feed too, as well as a magical showy-hidey mode if you only want the links to appear on hover.</p>
<p><a href="http://wordpress.org/extend/plugins/winerlinks">Download it at WordPress.org</a>, <a href="http://wordpress.org/tags/winerlinks">leave feature requests or bugs in the forum</a>, and <a href="http://github.com/danielbachhuber/WinerLinks">fork the project on GitHub</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Liberation</title>
      <link>https://danielbachhuber.com/liberation/</link>
      <pubDate>Tue, 26 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/liberation/</guid>
      <description>&lt;p&gt;Deleted my Twitter account. Made it to 8,234 tweets, 401 following, 2,056 followers, and 209 lists (for what that&amp;rsquo;s worth) over three years. I&amp;rsquo;ve deleted my Facebook account as well. Open systems need more of my attention, and it&amp;rsquo;s time to vote with my feet.&lt;/p&gt;&#xA;&lt;p&gt;Interestingly, the language for deleting your Twitter account has changed to &amp;ldquo;deactivating.&amp;rdquo; When you deactivate your account, your data isn&amp;rsquo;t deleted, and your email address and username are tied up, but it&amp;rsquo;s impossible to restore.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Deleted my Twitter account. Made it to 8,234 tweets, 401 following, 2,056 followers, and 209 lists (for what that&rsquo;s worth) over three years. I&rsquo;ve deleted my Facebook account as well. Open systems need more of my attention, and it&rsquo;s time to vote with my feet.</p>
<p>Interestingly, the language for deleting your Twitter account has changed to &ldquo;deactivating.&rdquo; When you deactivate your account, your data isn&rsquo;t deleted, and your email address and username are tied up, but it&rsquo;s impossible to restore.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thoughts on hackathons</title>
      <link>https://danielbachhuber.com/thoughts-on-hackathons/</link>
      <pubDate>Mon, 25 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/thoughts-on-hackathons/</guid>
      <description>&lt;p&gt;Hackathons need focused, realistic scopes supported by sufficient technical talent.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve attended a few in the shorter number of years I&amp;rsquo;ve been coding, including Gonzo Camp in Seattle and the &lt;a href=&#34;http://hackshackers.com/2010/10/03/opensourceathonprojects/&#34;&gt;more recent Hacks/Hackers opensourceathon&lt;/a&gt;. Each had a low to moderate level of success, from my perspective, mostly because peoples&amp;rsquo; expectations weren&amp;rsquo;t met. For some, the expectation was to deliver a mostly functional piece of code. Others didn&amp;rsquo;t have any expectations. In addition, another problem is that a certain group of attendees run into the challenge of wanting to contribute but not knowing how to do so.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Hackathons need focused, realistic scopes supported by sufficient technical talent.</p>
<p>I&rsquo;ve attended a few in the shorter number of years I&rsquo;ve been coding, including Gonzo Camp in Seattle and the <a href="http://hackshackers.com/2010/10/03/opensourceathonprojects/">more recent Hacks/Hackers opensourceathon</a>. Each had a low to moderate level of success, from my perspective, mostly because peoples&rsquo; expectations weren&rsquo;t met. For some, the expectation was to deliver a mostly functional piece of code. Others didn&rsquo;t have any expectations. In addition, another problem is that a certain group of attendees run into the challenge of wanting to contribute but not knowing how to do so.</p>
<p>These problems can be mitigated by better preparation.</p>
<p>Specifically, I think a hackathon should have the following established in advance of the event:</p>
<ul>
<li>Accurate listing of who is attending and what their skill set is.</li>
<li>Mechanism for identifying, expanding and voting upon project ideas. Bonus points if people can express interest in contributing to a project and volunteer for a role.</li>
<li>A mission for the hackathon, which helps to articulate expectations of what will be accomplished in the time allotted.</li>
</ul>
<p>Dave Winer <a href="http://scripting.com/stories/2010/10/08/ideasForAnAcademicHackatho.html#p2576">wrote a post recently where he implicitly defines a few sample goals</a>:</p>
<blockquote>
<p>In 24 hours I wouldn&rsquo;t try for a breakthrough. But it is possible to focus for a few hours on a problem and come up with alternate approaches. Or to rework something that fell by the wayside in the past because of scaling issues perhaps. Or some piece of the puzzle was missing last time it was attempted, where a solution now exists.</p></blockquote>
<p>The <a href="http://hackshackersona.eventbrite.com/">description for the Hacks/Hackers Hackathon at ONA10</a> details the <em>what</em> of doing but never the <em>why</em> of doing. <a href="http://meetupnyc.hackshackers.com/calendar/14969218/">Same for the Great Urban Hack</a>. It&rsquo;s difficult to know whether an event is a success if you never set expectations for it.</p>
<p>Sure, it&rsquo;s possible to do this type of preparation the day of. If you can put these pieces in place before the event, it means they don&rsquo;t have to happen at the event. The event can then be focused on the most valuable use of in-person time: working on the project.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcnyc: Digital Signage</title>
      <link>https://danielbachhuber.com/wcnyc-digital-signage/</link>
      <pubDate>Sat, 16 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcnyc-digital-signage/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/macaulaywalloffame1.jpg&#34; alt=&#34;&#34;  width=&#34;545&#34;&#xA;&#x9;height=&#34;720&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Macaulay&amp;rsquo;s Wall of Fame digital signage, powered by WordPress, jQuery, &lt;a href=&#34;http://www.barbariangroup.com/software/plainview&#34;&gt;Plainview&lt;/a&gt;, and an off-the-shelf wall monitor. Wicked cool solution. &lt;a href=&#34;http://macaulay.cuny.edu/community/wall-of-fame/&#34;&gt;View the live version&lt;/a&gt;, but zoom out so you can see it in full.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/macaulaywalloffame1.jpg" alt=""  width="545"
	height="720"  /></p>
<p>Macaulay&rsquo;s Wall of Fame digital signage, powered by WordPress, jQuery, <a href="http://www.barbariangroup.com/software/plainview">Plainview</a>, and an off-the-shelf wall monitor. Wicked cool solution. <a href="http://macaulay.cuny.edu/community/wall-of-fame/">View the live version</a>, but zoom out so you can see it in full.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcnyc: Performance &amp; Optimization</title>
      <link>https://danielbachhuber.com/wcnyc-performance-optimization/</link>
      <pubDate>Sat, 16 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcnyc-performance-optimization/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://sivel.net&#34;&gt;Matt Martz&lt;/a&gt; (@&lt;a href=&#34;http://twitter.com/sivel&#34;&gt;sivel&lt;/a&gt;) and &lt;a href=&#34;http://tsunamiorigami.com/&#34;&gt;Scott Taylor&lt;/a&gt; led one of the first sessions on WordPress performance and optimization.&lt;/p&gt;&#xA;&lt;h3 id=&#34;high-performance-is-not-high-availability&#34;&gt;&amp;ldquo;High performance is not high availability.&amp;rdquo;&lt;/h3&gt;&#xA;&lt;p&gt;Matt manages five personal servers, including one load balancer, two web servers, and two database servers. The Nginx load balancer is a 512 MB slice from Slicehost, web servers are Nginx with FastCGI and 1 GB a piece, and the MySQL database servers are 512 MB. &lt;a href=&#34;http://codex.wordpress.org/HyperDB&#34;&gt;HyperDB&lt;/a&gt; is a &lt;a href=&#34;http://wordpress.org/extend/plugins/hyperdb/&#34;&gt;WordPress plugin&lt;/a&gt; which allows you to partition out your database. Matt has it configured such that reads are done from all of his databases, while writes are only to the master database.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://sivel.net">Matt Martz</a> (@<a href="http://twitter.com/sivel">sivel</a>) and <a href="http://tsunamiorigami.com/">Scott Taylor</a> led one of the first sessions on WordPress performance and optimization.</p>
<h3 id="high-performance-is-not-high-availability">&ldquo;High performance is not high availability.&rdquo;</h3>
<p>Matt manages five personal servers, including one load balancer, two web servers, and two database servers. The Nginx load balancer is a 512 MB slice from Slicehost, web servers are Nginx with FastCGI and 1 GB a piece, and the MySQL database servers are 512 MB. <a href="http://codex.wordpress.org/HyperDB">HyperDB</a> is a <a href="http://wordpress.org/extend/plugins/hyperdb/">WordPress plugin</a> which allows you to partition out your database. Matt has it configured such that reads are done from all of his databases, while writes are only to the master database.</p>
<p>Caching is done with Memcached, PHP APC caching, and <a href="http://wordpress.org/extend/plugins/batcache/">Batcache</a>. WordPress.com is Memcached, HyperDB and Batcached. LoadImpact.com allows you to load test your site with between 10 and 50 concurrent users and will give you the page load times based on the number of users. Matt&rsquo;s load times start at about 1.75 seconds and actually go down over time because caching kicks in.</p>
<p><a href="http://www.gluster.org/">GlusterFS</a> is a system utility to replicate data across all of your production web servers. Upload an image to one, copy to every. GlusterFS is nice because it works on both physical and virtual machines. Matt has the WordPress directory, PHP directory, and Nginx configuration syncing across his web servers.</p>
<p>In total, he easily handles 4 million pageviews/month across all of the machines.</p>
<h3 id="if-it-appears-slow-its-often-because-of-the-front-end">&ldquo;If it appears slow, it&rsquo;s often because of the front-end.&rdquo;</h3>
<p>Scott Taylor discussed front-end optimization.</p>
<p>First, ensure the HTML code you write is semantically correct. The TwentyTen theme packaged with WordPress is a good example to follow. Overrides follow the rule of IDs first, then classes, then elements.</p>
<p>Combine scripts from different plugins to just one script to improve load times.</p>
<p><a href="http://developer.yahoo.com/yslow/">YSlow</a> and <a href="http://code.google.com/speed/page-speed/">Google Page Speed</a> are good tools for front-end development. YSlow will tell you to make less HTTP requests, add expires heads, use Gzip (same thing as deflate), reduce the number of DOM elements, specify absolute image dimensions and a favicon, and cache AJAX requests.</p>
<p>Recommended resources from Scott include: <a href="http://about.digg.com/blog/rasmus-lerdorf-php-performance">Rasmus Lerdorf at Digg</a>, <a href="http://www.google.com/search?sourceid=chrome&amp;ie=UTF-8&amp;q=steve+souders">anything from Steve Souders</a>, and writing from <a href="http://www.crockford.com/">Douglas Crockford</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New WordPress plugin: Post Author Box</title>
      <link>https://danielbachhuber.com/new-wordpress-plugin-post-author-box/</link>
      <pubDate>Sat, 16 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-wordpress-plugin-post-author-box/</guid>
      <description>&lt;p&gt;At the J-School, a supreme goal of mine is no theme modifications. When students and faculty are creating new websites, they&amp;rsquo;ll often want to make minor changes to how a given theme presents content. These modifications can make managing the entire network of sites exponentially more complex. To solve both needs, the goal then becomes to enable as much customization as possible through the admin. Here&amp;rsquo;s another tool for the toolbox: &lt;a href=&#34;http://wordpress.org/extend/plugins/post-author-box&#34;&gt;Post Author Box&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>At the J-School, a supreme goal of mine is no theme modifications. When students and faculty are creating new websites, they&rsquo;ll often want to make minor changes to how a given theme presents content. These modifications can make managing the entire network of sites exponentially more complex. To solve both needs, the goal then becomes to enable as much customization as possible through the admin. Here&rsquo;s another tool for the toolbox: <a href="http://wordpress.org/extend/plugins/post-author-box">Post Author Box</a>.</p>
<p>Post Author Box is an extremely powerful way to add author information to the top or bottom of a post or page. You can use the following tokens with basic HTML to determine what data is displayed:</p>
<p><code>- %display_name% - %author_link% - %author_posts_link% - %first_name% - %last_name% - %description% - %email% - %avatar% - %jabber% - %aim% - %post_date%</code></p>
<p>Once you&rsquo;ve done this, the Post Author Box is wrapped in a special class you can style it away to your heart&rsquo;s content with another plugin like <a href="http://wordpress.org/extend/plugins/safecss/">WordPress.com Custom CSS</a>.</p>
<p><a href="http://wordpress.org/extend/plugins/post-author-box/">Download Post Author Box at WordPress.org</a>, <a href="http://wordpress.org/tags/post-author-box?forum_id=10">leave questions or ideas in the forum</a>, or <a href="http://github.com/danielbachhuber/">fork it on GitHub</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Open source journalism vs. crowdsourcing</title>
      <link>https://danielbachhuber.com/open-source-journalism-vs-crowdsourcing/</link>
      <pubDate>Fri, 01 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-journalism-vs-crowdsourcing/</guid>
      <description>&lt;p&gt;Where is crowdsourcing at in 2010? How is crowdsourcing different from open source journalism, and which is appropriate for what types of stories? This is listing of links to try and illustrate the differences and similarities between crowdsourcing and open source journalism. How you structure a project with many participants will have a significant impact on the end results.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.salon.com/technology/log/1999/10/08/geek_journalism/&#34;&gt;Open-source journalism&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The Jane&amp;rsquo;s incident takes Slashdot&amp;rsquo;s evolution one major step forward. Slashdot readers are now actively shaping media coverage of the topics near and dear to their geeky little hearts. They are helping journalists get the story right, which is a far cry from exerting censorship. Just as open source programmers would critique a beta release of software filled with bugs, the Slashdot readers panned the first release of Jane&amp;rsquo;s journalistic offering &amp;ndash; and the upgrade, apparently, will be quick to follow.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Where is crowdsourcing at in 2010? How is crowdsourcing different from open source journalism, and which is appropriate for what types of stories? This is listing of links to try and illustrate the differences and similarities between crowdsourcing and open source journalism. How you structure a project with many participants will have a significant impact on the end results.</p>
<p><strong><a href="http://www.salon.com/technology/log/1999/10/08/geek_journalism/">Open-source journalism</a></strong></p>
<blockquote>
<p>The Jane&rsquo;s incident takes Slashdot&rsquo;s evolution one major step forward. Slashdot readers are now actively shaping media coverage of the topics near and dear to their geeky little hearts. They are helping journalists get the story right, which is a far cry from exerting censorship. Just as open source programmers would critique a beta release of software filled with bugs, the Slashdot readers panned the first release of Jane&rsquo;s journalistic offering &ndash; and the upgrade, apparently, will be quick to follow.</p></blockquote>
<p>The original article.</p>
<p><strong><a href="http://opensource.com/business/10/4/why-open-source-way-trumps-crowdsourcing-way">Why the open source way trumps the crowdsourcing way</a></strong> In essence, open source projects have <em>many</em> contributors and <em>many</em> beneficiaries while crowdsourcing projects have <em>many</em> contributors and <em>few</em> beneficiaries. Open source is advantageous because &ldquo;everyone who contributes also benefits.&rdquo; When crowdsourcing is a competition, there are limited beneficiaries and the effort of everyone else can be wasted.</p>
<p><strong><a href="http://archive.pressthink.org/2007/10/09/what_i_learned.html">What I Learned from Assignment Zero</a></strong> Jay Rosen debriefs on Assignment Zero, a distributed trend project in partnership with Wired.com, with the goal of tracking &ldquo;the spread of peer production and wisdom-of-the-crowd efforts across the social landscape, including the practice of crowdsourcing.&rdquo; They learned they needed to: understand and articulate the different styles of labor, grok contributors&rsquo; motivations, and plan for unexpected levels of participation. Also <a href="http://powazek.com/posts/622">see Derek Powazek&rsquo;s review</a>.</p>
<p><strong><a href="http://www.niemanlab.org/2009/06/four-crowdsourcing-lessons-from-the-guardians-spectacular-expenses-scandal-experiment/">Four crowdsourcing lessons from the Guardian’s (spectacular) expenses-scandal experiment</a></strong> The Guardian&rsquo;s MP expenses project was put together in a week, and employed more than 20,000 volunteers to review 170,000 documents in the first 80 hours. Participation was quite strong at the very beginning, in line with the publicity, and then tapered off.</p>
<p>Projects to check out include: WNYC&rsquo;s &ldquo;<a href="http://www.wnyc.org/shows/bl/gouge_map_milk_07.html">Are You Being Gouged?</a>&rdquo;, The Guardian&rsquo;s &ldquo;<a href="expenses.guardian.co.uk">Investigate your MP&rsquo;s expenses</a>&rdquo;, The New York Times&rsquo; &ldquo;<a href="http://www.nytimes.com/interactive/2010/05/03/blogs/a-moment-in-time.html">Moment in Time</a>&rdquo;, and <a href="http://www.seeclickfix.com/">SeeClickFix</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How to properly use Git with WordPress.org Subversion</title>
      <link>https://danielbachhuber.com/how-to-properly-use-git-with-wordpress-org-subversion/</link>
      <pubDate>Wed, 29 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-to-properly-use-git-with-wordpress-org-subversion/</guid>
      <description>&lt;p&gt;&lt;em&gt;Find this post on the Google or someone&amp;rsquo;s shared link? I&amp;rsquo;ve discovered an &lt;a href=&#34;http://danielbachhuber.com/2012/09/30/git-in-my-subversion/&#34;&gt;even more magical way to work with Git and Subversion&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Having Git properly interface with Subversion is a mysterious black art. If you&amp;rsquo;re into the Harry Potter stuff, then this post is for you.&lt;/p&gt;&#xA;&lt;p&gt;First, I must give credit where credit is due. Boone Gorges has a nice writeup detailing &lt;a href=&#34;http://teleogistic.net/2010/09/using-github-with-wordpress-org-plugin-svn/&#34;&gt;how he uses GitHub with WordPress.org Subversion&lt;/a&gt;. Unfortunately, it only tempted me. What really set me on the right track was a &lt;a href=&#34;http://www.die-welt.net/2010/09/using-plugins-svn-wordpress-org-with-git/&#34;&gt;short piece by Evgeni Golov&lt;/a&gt;, which had everything but one crucial piece: &lt;a href=&#34;http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html&#34;&gt;checkout&lt;/a&gt; instead of merge.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>Find this post on the Google or someone&rsquo;s shared link? I&rsquo;ve discovered an <a href="http://danielbachhuber.com/2012/09/30/git-in-my-subversion/">even more magical way to work with Git and Subversion</a></em></p>
<p>Having Git properly interface with Subversion is a mysterious black art. If you&rsquo;re into the Harry Potter stuff, then this post is for you.</p>
<p>First, I must give credit where credit is due. Boone Gorges has a nice writeup detailing <a href="http://teleogistic.net/2010/09/using-github-with-wordpress-org-plugin-svn/">how he uses GitHub with WordPress.org Subversion</a>. Unfortunately, it only tempted me. What really set me on the right track was a <a href="http://www.die-welt.net/2010/09/using-plugins-svn-wordpress-org-with-git/">short piece by Evgeni Golov</a>, which had everything but one crucial piece: <a href="http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html">checkout</a> instead of merge.</p>
<p>Using checkout instead of merge is likely the most critical piece to this puzzle. <a href="http://openassignment.org/2010/09/14/assignment-desk-0-6-1-released/">What Erik and I found the first time when using merge</a> is that Git treats both versions of the code as equal and tries to find the middle ground between them. Instead, we want to update all of the files in the Subversion repository with their most recent counterparts from GitHub. Checkout gives us exactly this power.</p>
<p>Because I was working on this Monday night with the <a href="http://openassignment.org/">Assignment Desk</a>, I&rsquo;ll go step by step with those links as an example. This tutorial assumes you&rsquo;re doing all of your development with Git, and need to occasionally push to Subversion with releases.</p>
<p>First, clone your WordPress.org Subversion into your local Git repository:</p>
<p><code>git svn clone -s -r274218 https://svn.wp-plugins.org/assignment-desk</code></p>
<p>Notice two important flags: <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html#options"><code>-s</code> and <code>-r</code></a>. The &rsquo;s&rsquo; flag tells Git the code you&rsquo;re importing follows the normal Subversion folder structure, or /trunk/, /tags/, and /branches/. The &lsquo;r&rsquo; flag tells Git to import <em>after</em> the specified revision number; when pulling from a large Subversion repository like WordPress.org, this can save you days of time. You can find the ID for your first commit in your revision log (<a href="http://plugins.trac.wordpress.org/log/assignment-desk">Assignment Desk example</a>).</p>
<p>Change into your newly-created directory and pull in your Subversion history (could take a bit of time):</p>
<p><code>git svn fetch</code></p>
<p>Once all commits have downloaded, add your working GitHub repository as a branch to your local Git repository:</p>
<p><code>git remote add -f github git@github.com:studio20nyu/Assignment-Desk.git</code></p>
<p>What&rsquo;s next is the magic part. We&rsquo;re going to checkout the code from the &lsquo;github&rsquo; branch to the &lsquo;master&rsquo; branch (our Subversion checkout), instead of merging the two:</p>
<p><code>git checkout github/master *</code></p>
<p>If you use &lsquo;<code>git status</code>&rsquo; at this stage, you&rsquo;ll notice all of the files you&rsquo;ve changed since your last release have nice little M&rsquo;s next to them. If you had merged, there would be a nasty mess of conflicts you&rsquo;d have to resolve.</p>
<p>Add all of the files you want to save in the next commit:</p>
<p><code>git add *</code></p>
<p>And make your commit:</p>
<p><code>git commit -m &quot;Updated from GitHub&quot;</code></p>
<p><em>Aside: at this point, I tried to push back to WordPress.org and received an error of &ldquo;Merge conflict during commit: File or directory &lsquo;assignment_desk.php&rsquo; is out of date; try updating: resource out of date; try updating at /usr/local/git/libexec/git-core/git-svn line 572,&rdquo; also known as nonsensical gibberish. Thankfully, the Google pointed me to <a href="http://stackoverflow.com/questions/629048/git-svn-dcommit-error-restart-the-commit">this Stack Overflow thread</a>.</em></p>
<p>Before you celebrate, you must practice one last piece of magical foo: <a href="http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html">rebasing</a>. For reasons we don&rsquo;t fully understand, rebase holds the key to resyncing your Git commit history with Subversion. Make it happen:</p>
<p><code>git svn rebase</code></p>
<p>Push all of your changes back to the original WordPress.org repository:</p>
<p><code>git svn dcommit</code></p>
<p>Congratulations! You&rsquo;ve tamed the beast and progress to the next level.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Back on WebFaction</title>
      <link>https://danielbachhuber.com/back-on-webfaction/</link>
      <pubDate>Mon, 27 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/back-on-webfaction/</guid>
      <description>&lt;p&gt;After &lt;a href=&#34;http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/&#34;&gt;just a few months&lt;/a&gt; of administering my own &lt;a href=&#34;http://www.slicehost.com/&#34;&gt;Slicehost&lt;/a&gt; machine, I decided yesterday to move all of the personal sites I manage back to &lt;a href=&#34;http://www.webfaction.com/&#34;&gt;WebFaction&lt;/a&gt;. For personal stuff, I decided I need to focus more on publishing and less on figuring out why my memory usage is so high. Or, in the case of yesterday, why there were approximately 124,000 more rows in the posts table than there should be. Culprit: &lt;a href=&#34;http://wordpress.org/extend/plugins/core-control/&#34;&gt;Core Control plugin for WordPress&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After <a href="http://danielbachhuber.com/2010/05/18/now-served-with-slicehost/">just a few months</a> of administering my own <a href="http://www.slicehost.com/">Slicehost</a> machine, I decided yesterday to move all of the personal sites I manage back to <a href="http://www.webfaction.com/">WebFaction</a>. For personal stuff, I decided I need to focus more on publishing and less on figuring out why my memory usage is so high. Or, in the case of yesterday, why there were approximately 124,000 more rows in the posts table than there should be. Culprit: <a href="http://wordpress.org/extend/plugins/core-control/">Core Control plugin for WordPress</a>.</p>
<p>WebFaction is also significantly cheaper than Slicehost. Their basic plan starts at $9.50/month; I&rsquo;ve been paying $32.50 for a 384 MB slice I hardly used.</p>
<p>For now, I look forward to having a super fast publishing platform where I can focus on the words and images instead of the technology.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How&#39;s your geography?</title>
      <link>https://danielbachhuber.com/hows-your-geography/</link>
      <pubDate>Fri, 24 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hows-your-geography/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/5021566216_4c3c1f0035_o-768x1024.jpg&#34; alt=&#34;&#34;  width=&#34;768&#34;&#xA;&#x9;height=&#34;1024&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been &lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/tags/advertisements/&#34;&gt;producing CUNY creatives&lt;/a&gt; for a month or so now, but this one is my favorite yet. It&amp;rsquo;s the right combination of design and message.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/5021566216_4c3c1f0035_o-768x1024.jpg" alt=""  width="768"
	height="1024"  /></p>
<p>I&rsquo;ve been <a href="http://www.flickr.com/photos/danielbachhuber/tags/advertisements/">producing CUNY creatives</a> for a month or so now, but this one is my favorite yet. It&rsquo;s the right combination of design and message.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Disabling HTML/kses filtering in WordPress Multisite</title>
      <link>https://danielbachhuber.com/disabling-htmlkses-filtering-in-wordpress-multisite/</link>
      <pubDate>Thu, 09 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/disabling-htmlkses-filtering-in-wordpress-multisite/</guid>
      <description>&lt;p&gt;Last week, I learned the hard way that WordPress Multisite secretly strips out embedded videos and other HTML objects. With a single WordPress instance, you can easily import WordPress eXtended RSS files containing YouTube videos, iframes, etc. Then, when creating or editing a post, it&amp;rsquo;s simple to drop embed code in the body text, hit publish, and move on with your life. In WordPress Multisite, much of this HTML is stripped out by default.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last week, I learned the hard way that WordPress Multisite secretly strips out embedded videos and other HTML objects. With a single WordPress instance, you can easily import WordPress eXtended RSS files containing YouTube videos, iframes, etc. Then, when creating or editing a post, it&rsquo;s simple to drop embed code in the body text, hit publish, and move on with your life. In WordPress Multisite, much of this HTML is stripped out by default.</p>
<p>If you aren&rsquo;t migrating content into your new WordPress Multisite instance, a common fix to this problem is a plugin called <a href="http://wordpress.org/extend/plugins/unfiltered-mu/">Unfiltered MU</a>. Unfortunately, it wasn&rsquo;t a solution for me. It doesn&rsquo;t work reliably, takes a roundabout approach to the problem by temporarily adding user permissions, and limits the fix to administrators and editors.</p>
<p>Because the J-School network is a controlled environment, I&rsquo;m fine with giving authors and contributors the ability to embed videos. I put together a quick plugin called <a href="http://github.com/danielbachhuber/Unfiltered-HTML">Unfiltered HTML</a> which disables the kses filters when activated and declared mission accomplished.</p>
<p>Whoops, not entirely. Thanks to <a href="http://www.andrewnacin.com/">Andrew Nacin</a>, last night I discovered that <a href="http://core.trac.wordpress.org/browser/tags/3.0.1/wp-admin/admin.php#L197">there&rsquo;s actually a hard-coded call to the kses filter</a> when importing into Multisite. This means <em>all of your glorious embedded videos will be stripped out</em> unless you comment out that line. Andrew <a href="http://core.trac.wordpress.org/changeset/15600">committed a fix</a>, though, which adds a method for disabling the filter.</p>
<p>Today&rsquo;s project? Going through all of the content I imported into a couple dozen sites and manually adding the missing embeds by hand.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Serendipity blows my mind</title>
      <link>https://danielbachhuber.com/serendipity-blows-my-mind/</link>
      <pubDate>Sat, 21 Aug 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/serendipity-blows-my-mind/</guid>
      <description>&lt;p&gt;Purchased too many chairs at IKEA last month. Chairs sit in living room for three weeks before finally listing on Craigslist. Portlander purchases chairs with her roommate earlier this week.&lt;/p&gt;&#xA;&lt;p&gt;Few days go by.&lt;/p&gt;&#xA;&lt;p&gt;Long-time climbing friend from high school contacts me out of the blue today via SMS. Haven&amp;rsquo;t talked to him in four years or more. Knows I&amp;rsquo;m living in Brooklyn. He&amp;rsquo;s living in Brooklyn too. Tells me story of how one of his friends purchased chairs on Craigslist. Is asked whether, off chance, he knows Daniel Bachhuber.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Purchased too many chairs at IKEA last month. Chairs sit in living room for three weeks before finally listing on Craigslist. Portlander purchases chairs with her roommate earlier this week.</p>
<p>Few days go by.</p>
<p>Long-time climbing friend from high school contacts me out of the blue today via SMS. Haven&rsquo;t talked to him in four years or more. Knows I&rsquo;m living in Brooklyn. He&rsquo;s living in Brooklyn too. Tells me story of how one of his friends purchased chairs on Craigslist. Is asked whether, off chance, he knows Daniel Bachhuber.</p>
<p>Boom, small world.</p>
<p>Head upstairs into my apartment.</p>
<p>Another friend txts and asks whether I want to get roommate birthday pizza in West Village and then hit the bars. Feeling social again. Take subway back into the city. Arrive at Numero 28 before others and request a table for five. &ldquo;Oh no, six,&rdquo; my friend clarifies, &ldquo;one other dude is going to join.&rdquo;</p>
<p>Wait at the table 10 minutes.</p>
<p>Boom, up walks long-time climbing friend. &ldquo;Oh, no way. Do you know Tyler?&rdquo;</p>
<p>Even smaller world.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Leveraging blogs, wikis and other collaborative tools in the classroom</title>
      <link>https://danielbachhuber.com/leveraging-blogs-wikis-and-other-collaborative-tools-in-the-classroom/</link>
      <pubDate>Mon, 02 Aug 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/leveraging-blogs-wikis-and-other-collaborative-tools-in-the-classroom/</guid>
      <description>&lt;p&gt;In preparation for the upcoming semester at CUNY, we&amp;rsquo;re putting together a guide to popular web collaboration tools and identifying ways they might be used in the classroom.&lt;/p&gt;&#xA;&lt;p&gt;In house, we&amp;rsquo;ll offer blogs for student and classroom use from a WordPress 3.0 multisite instance. On the main website, we&amp;rsquo;ll have a customized version of &lt;a href=&#34;http://buddypress.org/&#34;&gt;BuddyPress&lt;/a&gt; with groups, profiles, status updates, and activity streams to start, and courses, assignments, etc. later on. We also have a pretty extensive &lt;a href=&#34;http://wiki.journalism.cuny.edu/&#34;&gt;PBwiki site&lt;/a&gt;, and might possibly offer a hosted version of &lt;a href=&#34;http://code.google.com/p/etherpad/&#34;&gt;Etherpad&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In preparation for the upcoming semester at CUNY, we&rsquo;re putting together a guide to popular web collaboration tools and identifying ways they might be used in the classroom.</p>
<p>In house, we&rsquo;ll offer blogs for student and classroom use from a WordPress 3.0 multisite instance. On the main website, we&rsquo;ll have a customized version of <a href="http://buddypress.org/">BuddyPress</a> with groups, profiles, status updates, and activity streams to start, and courses, assignments, etc. later on. We also have a pretty extensive <a href="http://wiki.journalism.cuny.edu/">PBwiki site</a>, and might possibly offer a hosted version of <a href="http://code.google.com/p/etherpad/">Etherpad</a>.</p>
<p>The guide will offer a concise introduction to these tools, as there&rsquo;s no use in reinventing the wheel. What I think is more important, though, is offering ideas of how the tools might be used and examples of related experiments at other universities.</p>
<p>For instance, students might use Etherpad to collaboratively take notes and share links during a class, and then publish those notes to the class blog at the end so that everyone has access to them for studying. Once published, those notes could be automatically pulled into the wiki page acting as the living course syllabus.</p>
<p>Other ideas that came to mind this morning:</p>
<ul>
<li>Students can write an introductory post at the beginning of the course detailing their background and what they hoped to learn in the coming semester. The class could use all of these to collaboratively develop the syllabus while also identifying the strengths and weaknesses of each human asset.</li>
<li>Professor could post requirements for upcoming assignments and students can ask questions about it. The questions get answered once publicly, instead of a dozen times by email, and are stored in association with the assignment.</li>
<li>Professors can use the blog to pull in learning materials from other sources and spark conversation on top of the content. Instead of duplicating efforts, they should focus on what they do best.</li>
<li>Students can use the blog as an open research notebook, or for updates on a story in progress, and people both within the school and outside of the school can give feedback or offer suggestions.</li>
</ul>
<p>Being able to point to examples, however, will be the secret sauce.</p>
<p>Howard Rheingold has a <a href="http://socialmediaclassroom.com/vircom08/">wiki for his Comm 182/183 classes</a> that includes <a href="http://socialmediaclassroom.com/vircom08/wiki/assignments-expectations-and-grading">learning expectations</a>, <a href="http://socialmediaclassroom.com/vircom08/wiki/assignments-expectations-and-grading">information on assignments</a>, <a href="http://socialmediaclassroom.com/vircom08/wiki/class-sessions">pages for each class session</a>, and group project pages (behind an authentication wall).</p>
<p>Suzi Steffen&rsquo;s J361 class <a href="http://reporting1blog.wordpress.com/">uses a WordPress.com blog</a> for <a href="http://reporting1blog.wordpress.com/2010/07/30/enterprise-story-extra-details/">posting assignment requirements</a>, <a href="http://reporting1blog.wordpress.com/2010/07/26/profile-idea/">posting story ideas</a>, <a href="http://reporting1blog.wordpress.com/2010/07/26/profile-story-the-trials-and-tribulations-of-a-journalism-student/">posting updates on stories in progress</a> (<a href="http://reporting1blog.wordpress.com/2010/07/26/twitter-stalking-for-a-profile/">especially valuable: things learned along the way</a>), <a href="http://reporting1blog.wordpress.com/2010/08/01/local-cinematographer-livin-the-dream/">posting completed assignments</a>, and <a href="http://reporting1blog.wordpress.com/2010/07/25/media-analysis-julian-assange-profile-wikileaks-founder-an-uncompromising-rebel/">media analysis</a>. They also use <a href="http://search.twitter.com/search?q=%23J361">Twitter as a light-weight backchannel</a> for the class:</p>
<p><a href="http://danielbachhuber.files.wordpress.com/2010/08/J361-Twitter-Search.jpg"><img src="images/j361-twitter-search1.jpg" alt=""  width="822"
	height="695"  /></a></p>
<p>Related to this, Clay Shirky held a public brainstorming session at the beginning of the year on <a href="http://scratchwiki.shirky.com/wiki/College_from_scratch">designing college from scratch</a> that <a href="http://www.danielbachhuber.com/2010/01/03/college-from-scratch/">generated several useful suggestions</a> and is worth reading through for inspiration.</p>
<p>What ideas and examples are we missing?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Back on Flickr</title>
      <link>https://danielbachhuber.com/back-on-flickr/</link>
      <pubDate>Tue, 27 Jul 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/back-on-flickr/</guid>
      <description>&lt;p&gt;Photos are awesome. I&amp;rsquo;ve been meaning to set up a dedicated photoblog for quite a while now so that I could help contribute to the wider pool of imagery on the web. It was going to be a WordPress install with a super minimalist theme, functionality to pull out EXIF and other photo metadata, and &lt;a href=&#34;http://status.danielbachhuber.com/notice/468&#34;&gt;even use a custom plugin for posting from Tweetie using the TwitPic API&lt;/a&gt;. Media assets would be portable throughout the web with oEmbed. All of my data would be structured, on my server, and completely under my control.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Photos are awesome. I&rsquo;ve been meaning to set up a dedicated photoblog for quite a while now so that I could help contribute to the wider pool of imagery on the web. It was going to be a WordPress install with a super minimalist theme, functionality to pull out EXIF and other photo metadata, and <a href="http://status.danielbachhuber.com/notice/468">even use a custom plugin for posting from Tweetie using the TwitPic API</a>. Media assets would be portable throughout the web with oEmbed. All of my data would be structured, on my server, and completely under my control.</p>
<p>Alas, this is a project yet to be completed. The long-awaited iPhone 4 arrived a couple of weeks ago, and I wanted a functional solution right away. Thankfully, <a href="http://laughingmeme.org/2010/05/18/minimal-competence-data-access-data-ownership-and-sharecropping/">Flickr holds the same libertarian data portability views as I do</a>. They also have a slick iPhone application where I can add metadata to my heart&rsquo;s content.</p>
<p>Feel free to <a href="http://www.flickr.com/photos/danielbachhuber/">track my world in pictures</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Data driven life</title>
      <link>https://danielbachhuber.com/data-driven-life/</link>
      <pubDate>Sat, 17 Jul 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/data-driven-life/</guid>
      <description>&lt;p&gt;An idea for the now: web application that OCR&amp;rsquo;s my grocery receipts to track my dietary habits over time while at the same time building a realtime database of food prices across the city. A bit like the &lt;a href=&#34;http://www.wnyc.org/shows/bl/gouge_map_beer_07.html&#34;&gt;Brian Lehrer project&lt;/a&gt;, but on a grander scale.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>An idea for the now: web application that OCR&rsquo;s my grocery receipts to track my dietary habits over time while at the same time building a realtime database of food prices across the city. A bit like the <a href="http://www.wnyc.org/shows/bl/gouge_map_beer_07.html">Brian Lehrer project</a>, but on a grander scale.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Edit Flow v0.5, now with a slick editorial calendar</title>
      <link>https://danielbachhuber.com/edit-flow-v0-5-now-with-a-slick-editorial-calendar/</link>
      <pubDate>Thu, 08 Jul 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/edit-flow-v0-5-now-with-a-slick-editorial-calendar/</guid>
      <description>&lt;p&gt;After a bit of a hiatus, we finally tagged the 0.5 release of Edit Flow this past weekend. &lt;a href=&#34;http://www.editflow.org/2010/07/02/introducing-the-editflow-calendar/&#34;&gt;The most significant new feature is a slick editorial calendar&lt;/a&gt; designed by &lt;a href=&#34;http://www.andrewspittle.net/&#34;&gt;Andrew Spittle&lt;/a&gt;, implemented by &lt;a href=&#34;http://www.joeboydston.com/&#34;&gt;Joe Boydston&lt;/a&gt;, and nitpicked by me. Functionally, it allows you to view all content, regardless of status, in a week view, and then filter that content by custom status or whether it&amp;rsquo;s &amp;ldquo;related&amp;rdquo; to you. In the near future, we&amp;rsquo;ll be adding the ability to filter by categories, tags, and then additional editorial metadata. &lt;a href=&#34;http://wordpress.org/extend/plugins/edit-flow/&#34;&gt;Download the most recent version&lt;/a&gt; and hit us back with any bugs, feedback, or ideas.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After a bit of a hiatus, we finally tagged the 0.5 release of Edit Flow this past weekend. <a href="http://www.editflow.org/2010/07/02/introducing-the-editflow-calendar/">The most significant new feature is a slick editorial calendar</a> designed by <a href="http://www.andrewspittle.net/">Andrew Spittle</a>, implemented by <a href="http://www.joeboydston.com/">Joe Boydston</a>, and nitpicked by me. Functionally, it allows you to view all content, regardless of status, in a week view, and then filter that content by custom status or whether it&rsquo;s &ldquo;related&rdquo; to you. In the near future, we&rsquo;ll be adding the ability to filter by categories, tags, and then additional editorial metadata. <a href="http://wordpress.org/extend/plugins/edit-flow/">Download the most recent version</a> and hit us back with any bugs, feedback, or ideas.</p>
<p>Even more exciting is that, with the <a href="http://twitter.com/danielbachhuber/status/17866741302">new gig I started yesterday</a>, I&rsquo;ll be able to eat my own dog food and have a laboratory to play in to boot.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Manzanita</title>
      <link>https://danielbachhuber.com/manzanita/</link>
      <pubDate>Sat, 26 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/manzanita/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/cobi-jones1.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;684&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/madeline1.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/neahkanie-mountain1.jpg&#34; alt=&#34;&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;683&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It feels wonderful to have my camera out again.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/cobi-jones1.jpg" alt=""  width="1024"
	height="684"  /></p>
<p><img src="images/madeline1.jpg" alt=""  width="1024"
	height="683"  /></p>
<p><img src="images/neahkanie-mountain1.jpg" alt=""  width="1024"
	height="683"  /></p>
<p>It feels wonderful to have my camera out again.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Virtual rummage sale</title>
      <link>https://danielbachhuber.com/virtual-rummage-sale/</link>
      <pubDate>Sun, 13 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/virtual-rummage-sale/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m moving to Brooklyn at the end of the month, more on that later, and need to unload the bulky household items I&amp;rsquo;ve accumulated over the past few years. These include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://eugene.craigslist.org/ele/1788903400.html&#34;&gt;TEAC stereo, 125 watt KLH subwoofer, two bookshelf speakers, and four floor speakers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://eugene.craigslist.org/fuo/1788910147.html&#34;&gt;Matching dresser and night stand&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://eugene.craigslist.org/fuo/1788833575.html&#34;&gt;IKEA standing desk and chair&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://eugene.craigslist.org/fuo/1788865654.html&#34;&gt;IKEA futon mattress&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you know of anyone looking for home furniture in very good condition, I&amp;rsquo;d be willing to make a deal.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m moving to Brooklyn at the end of the month, more on that later, and need to unload the bulky household items I&rsquo;ve accumulated over the past few years. These include:</p>
<ul>
<li><a href="http://eugene.craigslist.org/ele/1788903400.html">TEAC stereo, 125 watt KLH subwoofer, two bookshelf speakers, and four floor speakers</a></li>
<li><a href="http://eugene.craigslist.org/fuo/1788910147.html">Matching dresser and night stand</a></li>
<li><a href="http://eugene.craigslist.org/fuo/1788833575.html">IKEA standing desk and chair</a></li>
<li><a href="http://eugene.craigslist.org/fuo/1788865654.html">IKEA futon mattress</a></li>
</ul>
<p>If you know of anyone looking for home furniture in very good condition, I&rsquo;d be willing to make a deal.</p>
<p>One thing I&rsquo;ve observed: the market is absolutely flooded with second-hand furniture right now. I imagine this happens every June. I also know that it was nearly impossible to find the things I needed when I moved down here last August or September. This smells like a market opportunity to me.</p>
<p>The idea that came to mind immediately was a centralized solution: the enterprising entrepreneur would rent an empty house or storage unit, pick up all of the furniture on the market at depressed prices, store it for a couple of months, and then resell when the demand picks up again. I&rsquo;d imagine that most items listed on Craigslist or on display at garage sales in June are discounted at least 50%, if not more. The biggest issue with this model, although, is that there are serious costs associated with moving the furniture twice, first to storage and then to the buyer&rsquo;s home, that might well cancel out any margins.</p>
<p>There&rsquo;s got to be a cleverer solution.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Timelines</title>
      <link>https://danielbachhuber.com/timelines/</link>
      <pubDate>Thu, 27 May 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/timelines/</guid>
      <description>&lt;p&gt;Or time charts or whathaveyou. Three methods of visualizing activity on a given topic over time.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://news.google.com/archivesearch?pz=1&amp;amp;cf=all&amp;amp;ned=us&amp;amp;hl=en&amp;amp;q=apple&amp;amp;cf=all&#34;&gt;Google News search result for &amp;ldquo;Apple&amp;rdquo;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://news.google.com/archivesearch?pz=1&amp;amp;cf=all&amp;amp;ned=us&amp;amp;hl=en&amp;amp;q=apple&amp;amp;cf=all&#34;&gt;&lt;img src=&#34;images/20100525apple_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;300&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.propublica.org/nola&#34;&gt;New Orleans police action after Katrina&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.propublica.org/nola&#34;&gt;&lt;img src=&#34;images/20100525propublica_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;300&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://github.com/ushahidi&#34;&gt;Ushahidi&amp;rsquo;s Github profile&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://github.com/ushahidi&#34;&gt;&lt;img src=&#34;images/20100525github_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;300&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;What are the best methods for visualizing information over time, and how do you measure its effectiveness in telling a more complete story to the reader? To what degree should these tools be used for navigation versus presentation?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Or time charts or whathaveyou. Three methods of visualizing activity on a given topic over time.</p>
<p><a href="http://news.google.com/archivesearch?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=apple&amp;cf=all">Google News search result for &ldquo;Apple&rdquo;</a></p>
<p><a href="http://news.google.com/archivesearch?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=apple&amp;cf=all"><img src="images/20100525apple_h6001.jpg" alt=""  width="600"
	height="300"  /></a></p>
<p><a href="http://www.propublica.org/nola">New Orleans police action after Katrina</a></p>
<p><a href="http://www.propublica.org/nola"><img src="images/20100525propublica_h6001.jpg" alt=""  width="600"
	height="300"  /></a></p>
<p><a href="http://github.com/ushahidi">Ushahidi&rsquo;s Github profile</a></p>
<p><a href="http://github.com/ushahidi"><img src="images/20100525github_h6001.jpg" alt=""  width="600"
	height="300"  /></a></p>
<p>What are the best methods for visualizing information over time, and how do you measure its effectiveness in telling a more complete story to the reader? To what degree should these tools be used for navigation versus presentation?</p>
]]></content:encoded>
    </item>
    <item>
      <title>P2X</title>
      <link>https://danielbachhuber.com/p2x/</link>
      <pubDate>Tue, 25 May 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/p2x/</guid>
      <description>&lt;p&gt;At TechCrunch Disrupt earlier today, Scott Karp &lt;a href=&#34;http://techcrunch.com/2010/05/24/publish2-disrupt/&#34;&gt;announced Publish2 News Exchange&lt;/a&gt;, a product we hope will be an elegant way for news organizations to collaborate. Specifically, &lt;a href=&#34;http://blog.publish2.com/2010/05/24/publish2-news-exchange-the-next-evolution-of-the-newswire/&#34;&gt;P2X offers scalable content-sharing networks for newspapers&lt;/a&gt;, and affords online-only publications the opportunity to have their content syndicated in print. This, in conjunction with a redesigned link journalism system and the seeds of a tool to maximize the production of high-quality journalism, makes the news industry &lt;a href=&#34;http://blog.publish2.com/2010/05/24/the-new-associated-press-for-the-21st-century/&#34;&gt;full of significant opportunities if you know were to look&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>At TechCrunch Disrupt earlier today, Scott Karp <a href="http://techcrunch.com/2010/05/24/publish2-disrupt/">announced Publish2 News Exchange</a>, a product we hope will be an elegant way for news organizations to collaborate. Specifically, <a href="http://blog.publish2.com/2010/05/24/publish2-news-exchange-the-next-evolution-of-the-newswire/">P2X offers scalable content-sharing networks for newspapers</a>, and affords online-only publications the opportunity to have their content syndicated in print. This, in conjunction with a redesigned link journalism system and the seeds of a tool to maximize the production of high-quality journalism, makes the news industry <a href="http://blog.publish2.com/2010/05/24/the-new-associated-press-for-the-21st-century/">full of significant opportunities if you know were to look</a>.</p>
<p>We&rsquo;re rolling out Publish2 News Exchange to existing Publish2 users this week and, as always, <a href="http://beta.publish2.com/register/journalist">journalists can register for free accounts</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>College Publisher to WordPress conversion script is now open source</title>
      <link>https://danielbachhuber.com/college-publisher-to-wordpress-conversion-script-is-now-open-source/</link>
      <pubDate>Fri, 21 May 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/college-publisher-to-wordpress-conversion-script-is-now-open-source/</guid>
      <description>&lt;p&gt;Alternate title for this post: Let the exodus continue. The Python conversion script CoPress used to migrate over 50 student publications to the glorious free and open source WordPress is now itself licensed under GPL version 2. It&amp;rsquo;s optimized for College Publisher 4 and College Publisher 5 databases, but will also work with most any database you can turn into a flat CSV file. You can &lt;a href=&#34;http://github.com/danielbachhuber/CoPress-Convert&#34;&gt;fork it on Github&lt;/a&gt; or &lt;a href=&#34;http://www.danielbachhuber.com/downloads/scripts/copressconvert.1.0.zip&#34;&gt;download the brand new 1.0 release&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Alternate title for this post: Let the exodus continue. The Python conversion script CoPress used to migrate over 50 student publications to the glorious free and open source WordPress is now itself licensed under GPL version 2. It&rsquo;s optimized for College Publisher 4 and College Publisher 5 databases, but will also work with most any database you can turn into a flat CSV file. You can <a href="http://github.com/danielbachhuber/CoPress-Convert">fork it on Github</a> or <a href="http://www.danielbachhuber.com/downloads/scripts/copressconvert.1.0.zip">download the brand new 1.0 release</a>.</p>
<p>Right off the bat, I&rsquo;d like to say that the most awesome bit about the conversion script is its ease of use. Granted, you do have to run it on the command line and it does often throw mythical, unintelligible errors if your data is screwy, but it&rsquo;s about 100 to 1,000 times easier than what <a href="http://seanblanda.com/blog/college-media/the-new-temple-newscom-from-college-publisher-to-wordpress/">Sean Blanda</a> or <a href="http://www.greglinch.com/2008/09/how-we-did-it-moving-the-miami-hurricane-from-college-publisher-to-wordpress.html">Brian Schlansky</a> had to go through. Furthermore, it spits out WordPress eXtended RSS files that WordPress imports natively. Depending on the size of your archives, you could even do the entire migration in less than a half hour.</p>
<p>There are <a href="http://github.com/danielbachhuber/CoPress-Convert/blob/master/README">detailed instructions in the README</a> I encourage you to read thoroughly but, in screenshots, here&rsquo;s how you&rsquo;d migrate your site.</p>
<p><img src="images/dbconversionstep0_h6001.jpg" alt=""  width="600"
	height="289"  /></p>
<p>Backup your database using <a href="http://sequelpro.com/">Sequel Pro</a>. This is a <em>critically important</em> step, as you&rsquo;ll definitely want a clean version to revert to if the import goes awry.</p>
<p><img src="images/dbconversionstep1_h6001.jpg" alt=""  width="600"
	height="290"  /></p>
<p>Place the conversion script and your archives in a folder you can access from the command line. Both College Publisher 4 and College Publisher 5 migrants should receive an articles file that will need to be renamed &ldquo;stories.csv.&rdquo; Publications migrating from the former will have all of their image references stored in a file that will need to be renamed &ldquo;media.csv.&rdquo; Navigate to that directory from your terminal prompt and run &ldquo;<code>python CoPress-Convert.py</code>.&rdquo;</p>
<p><img src="images/dbconversionstep2_h6001.jpg" alt=""  width="600"
	height="265"  /></p>
<p>Once the script is running, you&rsquo;ll be asked a series of questions to configure the conversion process. Most options are self-explanatory, and all are explained fully in the README file packaged with the script. The most important thing I&rsquo;d like to note in this post is that, unless you have less than 500 authors in your archives, I&rsquo;d highly, highly recommend importing your authors as custom fields instead of users. WordPress is <em>not</em> optimized to add a large number of new users through its import process. We learned this the hard way migrating <a href="http://www.cm-life.com/">CM Life</a>&rsquo;s database last summer.</p>
<p><img src="images/dbconversionstep3_h6001.jpg" alt=""  width="600"
	height="425"  /></p>
<p>When the script is done, you&rsquo;ll have a series of WordPress eXtended RSS files you can easily upload into WordPress.</p>
<p>Mad props go to <a href="http://milesskorpen.com/">Miles Skorpen</a> for the long hours he spent on the conversion script, and to <a href="http://albertsun.info/">Albert Sun</a>, <a href="http://wpdavis.com/">Will Davis</a>, and <a href="http://www.maxcutler.com/">Max Cutler</a> for their later contributions.</p>
<p>Feel free to send along any suggestions for improvement, bugs, fixes or general comments. I intend to maintain it for the indefinite future, it&rsquo;s good Python practice when everything else I&rsquo;m working on is PHP, but code contributions are always welcome. There is a short list of upgrades under consideration in the top of the script.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Now served with Slicehost</title>
      <link>https://danielbachhuber.com/now-served-with-slicehost/</link>
      <pubDate>Wed, 19 May 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/now-served-with-slicehost/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re reading this, then my website is now being served from 100% tasty &lt;a href=&#34;http://www.slicehost.com/&#34;&gt;Slicehost&lt;/a&gt; goodness.&lt;/p&gt;&#xA;&lt;p&gt;For the past year, I&amp;rsquo;ve been using the most basic WebFaction plan for a few of my personal sites as well as several projects. WebFaction is known for its one-click installers, which make it super simple to get an instance of WordPress, Django, Trac/SVN, and a &lt;a href=&#34;http://www.webfaction.com/why-webfaction/&#34;&gt;number of other web applications&lt;/a&gt; running in a matter of minutes. The downside and upside is that it&amp;rsquo;s managed hosting, however. WebFaction served my prior needs well but, &lt;a href=&#34;http://status.danielbachhuber.com/notice/2&#34;&gt;about a month ago&lt;/a&gt;, I decided to make the switch to Slicehost to offer two opportunities: continuing practice with server administration and greater control over the entire stack when I need it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you&rsquo;re reading this, then my website is now being served from 100% tasty <a href="http://www.slicehost.com/">Slicehost</a> goodness.</p>
<p>For the past year, I&rsquo;ve been using the most basic WebFaction plan for a few of my personal sites as well as several projects. WebFaction is known for its one-click installers, which make it super simple to get an instance of WordPress, Django, Trac/SVN, and a <a href="http://www.webfaction.com/why-webfaction/">number of other web applications</a> running in a matter of minutes. The downside and upside is that it&rsquo;s managed hosting, however. WebFaction served my prior needs well but, <a href="http://status.danielbachhuber.com/notice/2">about a month ago</a>, I decided to make the switch to Slicehost to offer two opportunities: continuing practice with server administration and greater control over the entire stack when I need it.</p>
<p>Another awesome advantage to Slicehost is that <a href="http://articles.slicehost.com/">their documentation is absolutely superb</a>. I started out with a vanilla Ubuntu Karmic Koala instance, ran through all of the basic configuration and necessities, and installed Nginx in front of Apache in less than an hour. It&rsquo;s not the first time I&rsquo;ve set one up, but whomever writes their articles would make landing a space shuttle a walk in the park. The biggest hassle, and this is why it&rsquo;s taken me a month to finish up, is just ensuring each site migration goes smoothly. Now that this is complete, though, I can go back to building out my website as my personal hub and, eventually, personal data repository.</p>
<p>If you&rsquo;d like to purchase a sturdy yet flexible virtual private server, <a href="https://manage.slicehost.com/customers/new?referrer=8a6a192ffbd03012a293a90fb2f2aace">tell Slicehost I sent you</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Questions currently of interest</title>
      <link>https://danielbachhuber.com/questions-currently-of-interest/</link>
      <pubDate>Sun, 09 May 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/questions-currently-of-interest/</guid>
      <description>&lt;p&gt;What follows are a few of the questions that have been consuming a significant amount my brain cycles recently. This may or may not be a departure from what I might normally post, but I&amp;rsquo;d like to start using my web presence as a personal data store as much as a place to publish opinionated pieces about this, that, or the other.&lt;/p&gt;&#xA;&lt;p&gt;Two more notes. First, on the subject of journalism, it&amp;rsquo;d be &lt;a href=&#34;http://status.danielbachhuber.com/notice/169&#34;&gt;fascinating to see&lt;/a&gt; beat reporters regularly post their current questions of interest. This may even be a sellable asset. In addition to benefiting from the information they produce, I as a reader could also learn tremendously from their research process.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>What follows are a few of the questions that have been consuming a significant amount my brain cycles recently. This may or may not be a departure from what I might normally post, but I&rsquo;d like to start using my web presence as a personal data store as much as a place to publish opinionated pieces about this, that, or the other.</p>
<p>Two more notes. First, on the subject of journalism, it&rsquo;d be <a href="http://status.danielbachhuber.com/notice/169">fascinating to see</a> beat reporters regularly post their current questions of interest. This may even be a sellable asset. In addition to benefiting from the information they produce, I as a reader could also learn tremendously from their research process.</p>
<p>Second, I literally can not wait until I have a <a href="http://status.danielbachhuber.com/notice/200">tool that allows me to manage my learning process</a>. Specifically, I&rsquo;d love to be able to articulate questions that inspire movement towards knowledge, map my answers when I find them, and then computationally mine the activity data for insights.</p>
<h3 id="questions">Questions</h3>
<p>How many hours a day are wasted trying to solve a problem that has either already been solved or just needs existing data to generate a solution? Which industries spend the greatest amount of time solving information problems, and what would be the economic gains if you could provide the &ldquo;just-in-time&rdquo; data needed to solve the problems? What tools do you need to actively monitor and provide for these information needs?</p>
<p>How does the nature of work change when the efficiencies of technology rule an increasing number of jobs obsolete? How is the nature of local business and commerce shifting because of the web and supply chain efficiencies?</p>
<p>What percentage of students have to take out loans for tuition, and how has that number changed over the years? How has the payback period changed in total and by course of study? Does higher education make more or less economic sense? <a href="http://twitter.com/wmhartnett/status/13326124689">This data repository may hold answers</a>.</p>
<p>What is the breakdown of information provided by a traditional newspaper (how much and of what topics)? What other local information providers overlap with this information, and how much of it is unique to the newspaper? What are the overall information needs of the community, and how do you surface and visualize this?</p>
<p>What percentage of vehicles drive down I-5 with solely a single occupant? How could you incentivize these drivers to self-report their &ldquo;flight plans&rdquo;? What systems have attempted to solve this, and what have been their successes and failures?</p>
<p>In what ways can you produce, structure and save a lot of personal data in such a fashion that it can become useful in the aggregate? How do you bake this into your workflow so that it isn&rsquo;t extra work? What bits of data would be useful on a personal level, a community level, and/or a societal level? Related: <a href="http://blogs.wnyc.org/radiolab/2010/05/05/vanishing-words/">absolutely fascinating RadioLab episode</a> explores how the mining of Agatha Christie&rsquo;s written works led to a surprising insight.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BCNI Philly: APM&#39;s Public Insight Network</title>
      <link>https://danielbachhuber.com/bcni-philly-apms-public-insight-network/</link>
      <pubDate>Sat, 24 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bcni-philly-apms-public-insight-network/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.runningdesign.com/&#34;&gt;Drew Geraets&lt;/a&gt; led a session this morning on American Public Media&amp;rsquo;s &lt;a href=&#34;http://minnesota.publicradio.org/publicinsightjournalism/&#34;&gt;Public Insight Network&lt;/a&gt;, an initiative and tool to bring their audience deeper into the reporting process. &lt;a href=&#34;http://www.knightfoundation.org/news/press_room/knight_press_releases/detail.dot?id=339658&#34;&gt;Funded by the Knight Foundation&lt;/a&gt;, they&amp;rsquo;re currently doing a complete rebuild of their &lt;a href=&#34;http://en.wikipedia.org/wiki/Customer_relationship_management&#34;&gt;CRM&lt;/a&gt; for journalism to produce a fully open source project and expand usage beyond the 12 existing media partners.&lt;/p&gt;&#xA;&lt;p&gt;Specifically, by doing the rebuild, they want to: share more insights, offer better tools for sharing, enable sources to update their profile within the system, offer sources more granular privacy controls, instantly publish insights, create credibility systems for sources, offer a better user experience, and integrate with existing sites.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.runningdesign.com/">Drew Geraets</a> led a session this morning on American Public Media&rsquo;s <a href="http://minnesota.publicradio.org/publicinsightjournalism/">Public Insight Network</a>, an initiative and tool to bring their audience deeper into the reporting process. <a href="http://www.knightfoundation.org/news/press_room/knight_press_releases/detail.dot?id=339658">Funded by the Knight Foundation</a>, they&rsquo;re currently doing a complete rebuild of their <a href="http://en.wikipedia.org/wiki/Customer_relationship_management">CRM</a> for journalism to produce a fully open source project and expand usage beyond the 12 existing media partners.</p>
<p>Specifically, by doing the rebuild, they want to: share more insights, offer better tools for sharing, enable sources to update their profile within the system, offer sources more granular privacy controls, instantly publish insights, create credibility systems for sources, offer a better user experience, and integrate with existing sites.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2010/04/20100424insightnetwork-dashboard1.jpg"><img src="images/20100424insightnetwork-dashboard_h6001.jpg" alt=""  width="600"
	height="374"  /></a></p>
<p>The prototype dashboard for the reporter-facing Audience Insight Repository is project-based and focused on collaboration.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2010/04/20100424insightnetwork-sourcelist1.jpg"><img src="images/20100424insightnetwork-sourcelist_h6001.jpg" alt=""  width="600"
	height="395"  /></a></p>
<p>Journalists can search through a huge database of sources based on demographic metadata.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2010/04/20100424insightnetwork-source1.jpg"><img src="images/20100424insightnetwork-source_h6001.jpg" alt=""  width="600"
	height="389"  /></a></p>
<p>Once they&rsquo;ve found a worthwhile lead, the journalist can click through and get contact information, background on the source, and a record of prior interactions.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2010/04/20100424mypin-loggedin1.jpg"><img src="images/20100424mypin-loggedin_h6001.jpg" alt=""  width="600"
	height="380"  /></a></p>
<p>The project also has plans for a user-facing site tentatively called MyPIN where they&rsquo;d be able to engage more fully with the news organization&rsquo;s reporting process or update their profile information.</p>
<p>There&rsquo;s a certain amount of friction, however, in requiring sources to manually update their profiles every time a bit of their personal data changes. As the system exists now, American Public Media requires readers to submit full contact information every time they fill out a form. If the contact information on the form is different than what is in the database, then that discrepancy is flagged and an analyst has to manually address that conflict. In the future, in addition to enabling users to update their profiles on their own, it might also be worthwhile to explore integrating with LinkedIn, Facebook or Twitter. With LinkedIn or Facebook, the user could update their resume, contact information, etc. and have it automatically pulled into the Public Insight Network. By integrating Twitter, for example, journalists could easily find sources for a given story by having search localized to updates from users within the network.</p>
<p>We also discussed user privacy, which getting correct is of <a href="http://status.danielbachhuber.com/notice/93">significant interest to American Public Media</a>. More importantly, what control users have over their privacy and how to make policy changes without surprising or alienating them. An idea I suggested is that, rather than presenting just a list of options for the user to choose from, they should instead try a <a href="http://hunch.com/">Hunch</a>-style approach. With this, they&rsquo;d be presented a series of questions detailing scenarios about their data and how it might be used. The decisions the user made responding to each scenario could then guide their privacy options. At some point, American Public Media would like to start sharing source information amongst all of their media partners using the software, but it will be critical for them to execute that move right the first time.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BCNI Philly: Peer News, emerging news hybrid in Hawaii</title>
      <link>https://danielbachhuber.com/bcni-philly-peer-news-emerging-news-hybrid-in-hawaii/</link>
      <pubDate>Sat, 24 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/bcni-philly-peer-news-emerging-news-hybrid-in-hawaii/</guid>
      <description>&lt;p&gt;&amp;ldquo;What is the atomic unit of journalism?&amp;rdquo; Howard Weaver asks as he discusses the pre-launch philosophies of &lt;a href=&#34;http://www.peernews.com/&#34;&gt;Peer News&lt;/a&gt;. This is an important question because the news startup doesn&amp;rsquo;t want to brand itself as a news site. Doing so will lock your community into thinking about you with a particular paradigm. Instead, Peer News wants to offer a range of services to its audience.&lt;/p&gt;&#xA;&lt;p&gt;Started by Pierre Omidyar, this news startup in Honolulu will be an online-only, subscription-only approach to covering political news. Online-only means no legacy costs or issues and, at this time, they have no plans for taking advertising. In addition, one of the insights Pierre made while thinking about this is that local civic government news is an elite niche with a capacity for &amp;ldquo;hyper-efficiency.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&ldquo;What is the atomic unit of journalism?&rdquo; Howard Weaver asks as he discusses the pre-launch philosophies of <a href="http://www.peernews.com/">Peer News</a>. This is an important question because the news startup doesn&rsquo;t want to brand itself as a news site. Doing so will lock your community into thinking about you with a particular paradigm. Instead, Peer News wants to offer a range of services to its audience.</p>
<p>Started by Pierre Omidyar, this news startup in Honolulu will be an online-only, subscription-only approach to covering political news. Online-only means no legacy costs or issues and, at this time, they have no plans for taking advertising. In addition, one of the insights Pierre made while thinking about this is that local civic government news is an elite niche with a capacity for &ldquo;hyper-efficiency.&rdquo;</p>
<p>If you&rsquo;re starting a subscription model, Howard asks, <a href="http://editor.blogspot.com/2010/02/why-is-facebook-beer-worth-more-than.html">why is this going to be worth more than a free beer on Facebook</a>? [<a href="http://twitter.com/howardweaver/status/12778545993">edit</a>] For this operation, the compelling argument is the opportunity for a close relationship with a skilled journalist in a valuable local niche. By becoming a member of the site, the user has equal opportunity to posting their opinion and joining the discussion.</p>
<p>Peer News be charging $20/month because that&rsquo;s what <a href="http://www.honoluluadvertiser.com/">the competition</a> charges for home delivery. There are five reporters, two web developers, an assistant editor, and <a href="http://blog.peernews.com/2010/01/21/john-temple-joins-peer-news-as-editor/">an editor</a>. By having the technology capacity internal, they hope to be able to innovate with how they package and deliver information. For instance, they hope to emulate Google Living Stories to provide contextual, canonical pages for ongoing stories and issues.</p>
<p>One question from the audience: how do you reconcile the fact that, by charging a subscription fee, you&rsquo;re excluding some percentage of the population from access to information and democratic debate? There was also a spirited debate, albeit lacking much data, about paywalls and whether this would work well at a local level. Howard argues, however, that <a href="http://twitter.com/jkristufek/status/12771888984">they&rsquo;re selling the experience and not the goods</a>.</p>
<p>Two reasons they think this news startup can work. First, the entire operation requires a lot less financial resources than running a print newspaper. Peer News provide high-quality journalism and break even with operating revenues of a couple million dollars a year. Second, they&rsquo;ve identified a local niche whose information is high value to a certain part of the community.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Measuring journalism</title>
      <link>https://danielbachhuber.com/measuring-journalism/</link>
      <pubDate>Fri, 23 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/measuring-journalism/</guid>
      <description>&lt;p&gt;Steven Johnson, with &amp;ldquo;&lt;a href=&#34;http://www.stevenberlinjohnson.com/2010/04/the-glass-box-and-the-commonplace-book.html&#34;&gt;The Glass Box and The Commonplace Book&lt;/a&gt;&amp;rdquo; (emphasis mine):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;But they have underestimated the textual productivity of organizations that are incentivized to connect, not protect, their words. A single piece of information designed to flow through the entire ecosystem of news will create more value than a piece of information sealed up in a glass box. And ProPublica, of course, is just the tip of the iceberg. There are thousands of organizations – some of the focused on journalism, some of the government-based, some of them new creatures indigenous to the web – that create information that can be freely recombined into private commonplace books or Pulitzer-prize winning investigative journalism. A journalist today can get the idea for an investigation from a document on Wikileaks, get background information from Wikipedia, download government statistics or transcripts from open.gov or the Sunlight Foundation. &lt;strong&gt;You cannot measure the health of journalism simply by looking at the number of editors and reporters on the payroll of newspapers.&lt;/strong&gt; There are undoubtedly going to be fewer of them. The question is whether that loss is going to be offset by the tremendous increase in textual productivity we get from a connected web. Presuming, of course, that we don’t replace that web with glass boxes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Steven Johnson, with &ldquo;<a href="http://www.stevenberlinjohnson.com/2010/04/the-glass-box-and-the-commonplace-book.html">The Glass Box and The Commonplace Book</a>&rdquo; (emphasis mine):</p>
<blockquote>
<p>But they have underestimated the textual productivity of organizations that are incentivized to connect, not protect, their words. A single piece of information designed to flow through the entire ecosystem of news will create more value than a piece of information sealed up in a glass box. And ProPublica, of course, is just the tip of the iceberg. There are thousands of organizations – some of the focused on journalism, some of the government-based, some of them new creatures indigenous to the web – that create information that can be freely recombined into private commonplace books or Pulitzer-prize winning investigative journalism. A journalist today can get the idea for an investigation from a document on Wikileaks, get background information from Wikipedia, download government statistics or transcripts from open.gov or the Sunlight Foundation. <strong>You cannot measure the health of journalism simply by looking at the number of editors and reporters on the payroll of newspapers.</strong> There are undoubtedly going to be fewer of them. The question is whether that loss is going to be offset by the tremendous increase in textual productivity we get from a connected web. Presuming, of course, that we don’t replace that web with glass boxes.</p></blockquote>
<p>Whoa, wait a second&hellip; how <em>do</em> we measure the health of journalism then? If we were to develop this system, would we be able to <a href="http://status.danielbachhuber.com/notice/81">track information density of text content</a> or <a href="http://status.danielbachhuber.com/notice/83">derive the quality of the information produced</a>? Could we then mash this against topical and location metadata to see how well particular communities are being served?</p>
<p>This is <a href="http://bcniphilly.uservoice.com/forums/38141-general/suggestions/446964-quantifying-the-atomic-unit-of-journalism">one</a> of the things I&rsquo;d like to discuss at tomorrow&rsquo;s <a href="http://bcniphilly.com/">BarCamp NewsInnovation</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A canonical reading list for the future of news</title>
      <link>https://danielbachhuber.com/a-canonical-reading-list-for-the-future-of-news/</link>
      <pubDate>Fri, 09 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/a-canonical-reading-list-for-the-future-of-news/</guid>
      <description>&lt;p&gt;Earlier today, I received a request to put together a synthesis of the future of news discussion thus far. As such, I spent an hour or so going through &lt;a href=&#34;http://www.publish2.com/journalists/daniel-bachhuber/links/journalism&#34;&gt;my 600+ journalism links&lt;/a&gt; and now present the definitive, canonical reading list, a collection of both popular posts and hidden gems from the last 18 months or so that I&amp;rsquo;ve been paying attention to the industry.&lt;/p&gt;&#xA;&lt;h3 id=&#34;explaining-the-past&#34;&gt;Explaining the past&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.beachwoodreporter.com/column/the_monday_papers_142.php&#34;&gt;The [Monday] Papers&lt;/a&gt;&lt;/strong&gt; An epic laundry list of everything that needs to be said about the newspaper industry.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Earlier today, I received a request to put together a synthesis of the future of news discussion thus far. As such, I spent an hour or so going through <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/journalism">my 600+ journalism links</a> and now present the definitive, canonical reading list, a collection of both popular posts and hidden gems from the last 18 months or so that I&rsquo;ve been paying attention to the industry.</p>
<h3 id="explaining-the-past">Explaining the past</h3>
<p><strong><a href="http://www.beachwoodreporter.com/column/the_monday_papers_142.php">The [Monday] Papers</a></strong> An epic laundry list of everything that needs to be said about the newspaper industry.</p>
<p><strong><a href="http://codybrown.name/2009/10/25/a-public-can-talk-to-itself-why-the-future-of-news-is-actually-pretty-clear/">A Public Can Talk To Itself: Why The Future of News is Actually Pretty Clear</a></strong></p>
<blockquote>
<p>Perhaps the biggest challenge in media criticism this year has been making discussions on ‘Future of News’ more than a debate between New and Old Media. Just because a news organization established itself and started publishing recently doesn’t mean that the way they are publishing is any different than in the past. Many of the biggest news organizations to spring up in the last few years that are largely considered to be ‘new media’ — The Huffington Post, Gawker, Politico, Tech Crunch — are fundamentally similar to the NYT. That is to say, they are trustee media, they stake a claim on a certain beat and a handful of editors ultimately control everything that is published.</p></blockquote>
<p><strong><a href="http://www.danielbachhuber.com/2009/06/04/open-memo-on-how-to-right-a-sinking-ship/">Open memo on how to right a sinking ship</a></strong> A synthesis of all the advice I would give newspapers struggling to reinvent themselves: experiment with business models, improve your relationship with your community, and invest in your technology.</p>
<p><strong><a href="http://korrvalues.com/2010/01/30/objectivity-isnt-truthful-its-pathological/">Objectivity isn’t truthful — it’s pathological</a></strong></p>
<blockquote>
<p>When the good-intentioned pursuit of truth leads the truth-seekers to lie (to themselves, to readers; by inclusion or omission) rather than break their code, there’s probably something wrong with the code.</p></blockquote>
<p><strong><a href="http://philip.greenspun.com/writing/changed-by-web-and-weblog">How the Web and the Weblog have changed Writing</a></strong> Superb essay on the web and writing formats.</p>
<h3 id="seeds-for-the-future">Seeds for the future</h3>
<p><strong><a href="http://www.holovaty.com/writing/fundamental-change/">A fundamental way newspaper sites need to change</a></strong> Holovaty&rsquo;s testimony for structured data.</p>
<p><strong><a href="http://xark.typepad.com/my_weblog/2009/05/the-lack-of-vision-thing-well-heres-a-vision-for-you.html">The &ldquo;Lack of Vision&rdquo; thing? Well, here&rsquo;s a hopeful vision for you</a></strong></p>
<blockquote>
<p>This isn&rsquo;t copyright advice: What I&rsquo;m really saying is we have to begin learning how to add value to the information we collect, and then put that information into a thoughtful structure to retain and expand that value.</p></blockquote>
<p>Idea for the future of journalism: newspapers as providers of structured information for any given community. The scarcity is having that data in the aggregate.</p>
<p><strong><a href="http://daringfireball.net/2010/03/attention_is_the_real_resource">Attention Is the Real Resource</a></strong> Gruber prices advertisements in his full RSS feed at a premium because his readers are more engaged than one-off webpage visits.</p>
<p><strong><a href="http://rebootnews.com/2010/01/20/a-breakthrough-for-the-times-possibly/">A breakthrough for the Times? Possibly.</a></strong> Content producers would bid to have their articles, images, videos, etc. appear next to related NY Times articles. Smart, intriguing subsidization idea.</p>
<p><strong><a href="http://mediactive.com/2009/09/12/eleven-things-id-do-if-i-ran-a-news-organization/">Eleven Things I’d Do If I Ran a News Organization</a></strong> Numbers two and three would be my top choices. Transparency by default, and leverage that to build intelligent conversation.</p>
<p><strong><a href="http://emediavitals.com/blog/16/my-advice-new-york-times-copy-foursquare">My advice to the New York Times? Copy Foursquare.</a></strong> All of these ideas are smart. Specifically, Sean offers clever ways to use reader engagement with a website to build a profile of their interests and areas of expertise.</p>
<p><strong><a href="http://freepizza.cc/2009/03/14/10-ideas-i-want-to-try-at-the-newspaper-where-i-work/">10 Ideas I Want to Try at the Newspaper Where I Work</a></strong> I dig the ideas Will has for community relationship management, as well as using data and APIs well.</p>
<p><strong><a href="http://jayrosen.tumblr.com/post/281058818/this-is-a-mock-up-for-a-news-site-that-i-think">This is a mock-up for a news site that I think should exist</a></strong> Users go to the site with journalistic questions they want answered, &ldquo;Why is corn still subsidized?&rdquo; as an example, and journalists answer them. Smart, but execution is the hardest part.</p>
<p>Most of all, however, I think <a href="http://twitter.com/Chanders/status/11709858174">this tweet depicts the entire horizon</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sunset, Mazatlan</title>
      <link>https://danielbachhuber.com/sunset-mazatlan/</link>
      <pubDate>Sun, 28 Mar 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sunset-mazatlan/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/l_1600_1200_c53200d3-d45f-4bc7-8ca8-9cee488b37a11.jpeg&#34; alt=&#34;l_1600_1200_C53200D3-D45F-4BC7-8CA8-9CEE488B37A1.jpeg&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;480&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;A few days on the beach was exactly what I needed to finish up decompressing. In addition to a few long, hot, and dehydrating runs, I had the chance to get a bit of reading in. The best part is that it has significantly renewed my interests in science and engineering.&lt;/p&gt;&#xA;&lt;p&gt;Steward Brand on the fear of genetic engineering and genetically modified organisms, from &lt;em&gt;Whole Earth Discipline&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What &amp;ldquo;nature&amp;rdquo; are we talking about, exactly? You &lt;em&gt;can&amp;rsquo;t&lt;/em&gt; do anything against nature, if your idea of nature includes physics, chemistry, and mechanics. Abominations can be imagined but cannot be performed. Anything you can do you can only do because nature allows it. Nuclear fission is so natural it occurs geogically. Horizontal gene flow is so natural it is the norm among microbes. Apparently what people mean when they say &amp;ldquo;against Nature&amp;rdquo; is &amp;ldquo;against my understanding of Darwinian inheritance and traditional breedline agriculture.&amp;rdquo; Or maybe it&amp;rsquo;s not so cosmic, and what people mean by &amp;ldquo;against Nature&amp;rdquo; is &amp;ldquo;something I&amp;rsquo;m not used to yet.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/l_1600_1200_c53200d3-d45f-4bc7-8ca8-9cee488b37a11.jpeg" alt="l_1600_1200_C53200D3-D45F-4BC7-8CA8-9CEE488B37A1.jpeg"  width="640"
	height="480"  /></p>
<p>A few days on the beach was exactly what I needed to finish up decompressing. In addition to a few long, hot, and dehydrating runs, I had the chance to get a bit of reading in. The best part is that it has significantly renewed my interests in science and engineering.</p>
<p>Steward Brand on the fear of genetic engineering and genetically modified organisms, from <em>Whole Earth Discipline</em>:</p>
<blockquote>
<p>What &ldquo;nature&rdquo; are we talking about, exactly? You <em>can&rsquo;t</em> do anything against nature, if your idea of nature includes physics, chemistry, and mechanics. Abominations can be imagined but cannot be performed. Anything you can do you can only do because nature allows it. Nuclear fission is so natural it occurs geogically. Horizontal gene flow is so natural it is the norm among microbes. Apparently what people mean when they say &ldquo;against Nature&rdquo; is &ldquo;against my understanding of Darwinian inheritance and traditional breedline agriculture.&rdquo; Or maybe it&rsquo;s not so cosmic, and what people mean by &ldquo;against Nature&rdquo; is &ldquo;something I&rsquo;m not used to yet.&rdquo;</p></blockquote>
<p>We&rsquo;ve always been engineering our agriculture, and microbes swap genes continuously. If we permit, encourage and respect engineered pharmaceuticals on the open market, why not nutritionally improved food?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Computing education</title>
      <link>https://danielbachhuber.com/computing-education/</link>
      <pubDate>Sat, 27 Mar 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/computing-education/</guid>
      <description>&lt;p&gt;The idea: an application that tracks how many words I&amp;rsquo;m reading a day, the semantic meaning of those words, and the quality and originality of the information I&amp;rsquo;m absorbing.&lt;/p&gt;&#xA;&lt;p&gt;Combined with a points system for quantifying my activity, I&amp;rsquo;d be able to track progress on my personal education. In a two-fold manner, this tool would inform me of the topics I&amp;rsquo;m consuming a lot of while at the same time alerting me to what I&amp;rsquo;m lacking.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The idea: an application that tracks how many words I&rsquo;m reading a day, the semantic meaning of those words, and the quality and originality of the information I&rsquo;m absorbing.</p>
<p>Combined with a points system for quantifying my activity, I&rsquo;d be able to track progress on my personal education. In a two-fold manner, this tool would inform me of the topics I&rsquo;m consuming a lot of while at the same time alerting me to what I&rsquo;m lacking.</p>
<p>On the same note, the application could track the intellectual material I produce during the day and, using the judgement of my peers, use it as the basis of a metric that illustrates how I absorbed my readings. If it were to look at how I referenced prior readings and writings, it&rsquo;d be able to assess my retention of a given subject over time.</p>
<p>This might be similar in some ways to <a href="http://emediavitals.com/blog/16/my-advice-new-york-times-copy-foursquare">Sean Blanda&rsquo;s abstraction of Foursquare for the New York Times</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Pervez Musharraf: Pakistan, Afghanistan, and global security</title>
      <link>https://danielbachhuber.com/pervez-musharraf-pakistan-afghanistan-and-global-security/</link>
      <pubDate>Tue, 16 Mar 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/pervez-musharraf-pakistan-afghanistan-and-global-security/</guid>
      <description>&lt;p&gt;Historical context, or &lt;a href=&#34;http://www.newsless.org/2010/03/the-case-for-context-my-opening-statement-for-sxsw/&#34;&gt;systemic knowledge&lt;/a&gt;, is critical to the pursuit of understanding any complex issue. The long term, thirty year prespective provided by Pervez Musharraf this evening opened my eyes to what could be the causes of more recent events. As we were requested to silence our cell phones, and specifically not to tweet, at the beginning of my lecture, I took sporadic notes on the back of my hand.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;All Taliban are Pashtuns, but not all Pashtuns are Taliban.&amp;rdquo; Musharraf argues that the resurgence of Taliban activity since 2003 is because the coalition forces have not included the Pashtuns in the political process. &lt;a href=&#34;https://www.cia.gov/library/publications/the-world-factbook/fields/2075.html?countryName=Afghanistan&amp;amp;countryCode=af&amp;amp;regionCode=sas&amp;amp;#af&#34;&gt;The Pashtuns comprise over 40% of the Afghani population&lt;/a&gt;. Not being involved in the political process means that they&amp;rsquo;ve been driven to the city and hills; to effectively rebuild the &lt;a href=&#34;http://en.wikipedia.org/wiki/Afghanistan#Republic_of_Afghanistan&#34;&gt;prior national covenant&lt;/a&gt;, the Pashtuns must also be engaged in the political process.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Historical context, or <a href="http://www.newsless.org/2010/03/the-case-for-context-my-opening-statement-for-sxsw/">systemic knowledge</a>, is critical to the pursuit of understanding any complex issue. The long term, thirty year prespective provided by Pervez Musharraf this evening opened my eyes to what could be the causes of more recent events. As we were requested to silence our cell phones, and specifically not to tweet, at the beginning of my lecture, I took sporadic notes on the back of my hand.</p>
<p>&ldquo;All Taliban are Pashtuns, but not all Pashtuns are Taliban.&rdquo; Musharraf argues that the resurgence of Taliban activity since 2003 is because the coalition forces have not included the Pashtuns in the political process. <a href="https://www.cia.gov/library/publications/the-world-factbook/fields/2075.html?countryName=Afghanistan&amp;countryCode=af&amp;regionCode=sas&amp;#af">The Pashtuns comprise over 40% of the Afghani population</a>. Not being involved in the political process means that they&rsquo;ve been driven to the city and hills; to effectively rebuild the <a href="http://en.wikipedia.org/wiki/Afghanistan#Republic_of_Afghanistan">prior national covenant</a>, the Pashtuns must also be engaged in the political process.</p>
<p>On why Pakistan has nuclear arms: 80% of India&rsquo;s military force is reportedly oriented towards the country. Pakistan has an &ldquo;existential threat&rdquo; to its existence.</p>
<p>On relations with Afghanistan: &ldquo;They have always been bad.&rdquo;</p>
<p>Why hasn&rsquo;t Osama Bin Laden been captured? &ldquo;I think he&rsquo;s smarter than us [&hellip;] Operations are going well, let&rsquo;s see if we can get him.&rdquo;</p>
<p>On the practice of stoning women to death, and what a recent act might do: &ldquo;If you think by enacting laws you can change mindsets, that doesn&rsquo;t happen. Not in developing countries.&rdquo; It is not in all of Pakistan that people stone their neighbors, just in the backward wilds of some areas. Musharraf argues that misunderstandings forwarded by the media make this more of an issue than it is.</p>
<p>What kept surfacing in my mind was this: how does minimum viable democracy change from country to country and context to context? I feel that, all to often, we unfairly judge a country&rsquo;s politics in comparison to our own standards of success and failure. Musharraf notes that when he came to power at the end of 1999, <a href="http://en.wikipedia.org/wiki/Pervez_Musharraf#Military_coup_d.27.C3.A9tat">through a non-violent coup</a>, the country was considered a failed state and that by 2006 the World Bank was praising the country for its <a href="http://en.wikipedia.org/wiki/Pervez_Musharraf#Economy">economic progress</a>.</p>
<p>The recording of the lecture, if made available, will be recommended.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three months later</title>
      <link>https://danielbachhuber.com/three-months-later/</link>
      <pubDate>Tue, 02 Mar 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-months-later/</guid>
      <description>&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/l_1600_1200_7d67513e-e641-413e-8c9b-5fa37d7a434d1.jpeg&#34; alt=&#34;l_1600_1200_7D67513E-E641-413E-8C9B-5FA37D7A434D.jpeg&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;480&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It took way too long, but I finally had my sweet Kilowatts mounted with &lt;a href=&#34;http://www.g3onyx.com/&#34;&gt;G3 Onyx AT bindings&lt;/a&gt;. The setup is complete with a pair of Dynafit ZZero boots with heat-molded liners which, if you&amp;rsquo;ve never experienced, I would highly recommend trying at least once in your life. I can&amp;rsquo;t wait to see how they ski. With &lt;a href=&#34;http://www.copress.org/2010/02/16/copress-is-closing-down-operations/&#34;&gt;CoPress closing down&lt;/a&gt;, more on that shortly, my goal is to make it happen more than the once a month I&amp;rsquo;ve been averaging.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p> </p>
<p><img src="images/l_1600_1200_7d67513e-e641-413e-8c9b-5fa37d7a434d1.jpeg" alt="l_1600_1200_7D67513E-E641-413E-8C9B-5FA37D7A434D.jpeg"  width="640"
	height="480"  /></p>
<p>It took way too long, but I finally had my sweet Kilowatts mounted with <a href="http://www.g3onyx.com/">G3 Onyx AT bindings</a>. The setup is complete with a pair of Dynafit ZZero boots with heat-molded liners which, if you&rsquo;ve never experienced, I would highly recommend trying at least once in your life. I can&rsquo;t wait to see how they ski. With <a href="http://www.copress.org/2010/02/16/copress-is-closing-down-operations/">CoPress closing down</a>, more on that shortly, my goal is to make it happen more than the once a month I&rsquo;ve been averaging.</p>
<p>A quick memo for the future: I&rsquo;ve been able to sneak by the Amtrak baggage czar with a single pair of skis multiple times, but if they catch you with two pairs of skis <em>and</em> boots, they&rsquo;re probably going to make you check them. Considering I wasn&rsquo;t schlepping a ski bag, I have my fingers crossed that they don&rsquo;t get mangled.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Lengthy blueprint for reinventing higher education</title>
      <link>https://danielbachhuber.com/lengthy-blueprint-for-reinventing-higher-education/</link>
      <pubDate>Tue, 09 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/lengthy-blueprint-for-reinventing-higher-education/</guid>
      <description>&lt;p&gt;A lengthy piece in EDUCAUSE Review has many of the same memes that have been floating around, but &lt;a href=&#34;http://www.educause.edu/EDUCAUSE+Review/EDUCAUSEReviewMagazineVolume45/Innovatingthe21stCenturyUniver/195370&#34;&gt;breaks the reinvention idea this time into two core concepts&lt;/a&gt;: collaborative learning and collaborative knowledge production.&lt;/p&gt;&#xA;&lt;p&gt;Collaborative learning redefines the information presentation model from that of broadcast, or one-way transmission from transmitter to receiver, to that of many to many. As discussed in the article, it defines how the culture of education process flattens and shifts. Given proper access to intellectual resources, also known as a wireless connection to the internet, students can assist in the role of teaching. More often than not, there are students who pick up any given material quicker than the others. With the established pedagogy, there is no advantage to being a quicker learner; with collaborative learning, being the quicker learner means that other opportunities arise to take a more active role in the teaching process and practice leadership skills. The responsibility of the professor is to be a curator, or act as a master guide to the learning process.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A lengthy piece in EDUCAUSE Review has many of the same memes that have been floating around, but <a href="http://www.educause.edu/EDUCAUSE+Review/EDUCAUSEReviewMagazineVolume45/Innovatingthe21stCenturyUniver/195370">breaks the reinvention idea this time into two core concepts</a>: collaborative learning and collaborative knowledge production.</p>
<p>Collaborative learning redefines the information presentation model from that of broadcast, or one-way transmission from transmitter to receiver, to that of many to many. As discussed in the article, it defines how the culture of education process flattens and shifts. Given proper access to intellectual resources, also known as a wireless connection to the internet, students can assist in the role of teaching. More often than not, there are students who pick up any given material quicker than the others. With the established pedagogy, there is no advantage to being a quicker learner; with collaborative learning, being the quicker learner means that other opportunities arise to take a more active role in the teaching process and practice leadership skills. The responsibility of the professor is to be a curator, or act as a master guide to the learning process.</p>
<p>Collaborative learning also implies learning through practical application of knowledge, as opposed to simply being a static vassal to be filled. Choice quote:</p>
<blockquote>
<p>As Seymour Papert, one of the world&rsquo;s foremost experts on how technology can provide new ways to learn, put it: &ldquo;The scandal of education is that every time you teach something, you deprive a [student] of the pleasure and benefit of discovery.&rdquo; Students need to integrate new information with the information they already have — to &ldquo;construct&rdquo; new knowledge structures and meaning.</p></blockquote>
<p>Collaborative knowledge production, however, articulates how the dynamics of the web can alter the traditional content production role of the university. Instead of an emphasis on scarcity, it would instead focus on <em>abundance</em> and <em>universal access</em>, and it describes how this might affect intellectual content from course material to academic research. To achieve this goal, however, you need effective tools for distributed collaboration:</p>
<blockquote>
<p>What higher education desperately needs is a social network — a Facebook for faculty. But it shouldn&rsquo;t be a standalone application; it should be integral to the Global Network for Higher Learning. One such project, part of the Portuguese education system, is creating an online community of teachers across the country. The system will use collaborative methods for creating, managing, sharing, and deploying curricula and for tracking the results via a sophisticated learning management system. There are many benefits, including much greater collaboration among teachers and a more consistent measurement of students&rsquo; progress.</p></blockquote>
<p>The real world gives professors collaboration opportunities in their department and with whom they meet, but just think of the potential serendipities a <a href="http://blog.vark.com/?p=352">people-indexer like Aardvark could produce</a>.</p>
<p>Most importantly, however, is that all of these ideas are business opportunities, and innovations the efficiencies of the market will be able to capitalize upon a lot quicker than those invested in the ivory towers.</p>
<p>Thanks to <a href="http://twitter.com/suzisteffen">Suzi Steffen</a> for sharing this with me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Theory: It&#39;s the reader, not the publishing tool</title>
      <link>https://danielbachhuber.com/theory-its-the-reader-not-the-publishing-tool/</link>
      <pubDate>Thu, 04 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/theory-its-the-reader-not-the-publishing-tool/</guid>
      <description>&lt;p&gt;Plug one: There&amp;rsquo;s a report &lt;a href=&#34;http://www.poynter.org/column.asp?id=45&amp;amp;aid=177248&#34;&gt;making its way around the internet&lt;/a&gt; that says the youth are spending less time blogging. Specifically, &amp;ldquo;28% of the two groups studied — teens 12 to 17 and young adults 18 to 29 — actively blogged.&amp;rdquo; For 2009, this percentage has dropped off to only 14% of teens and 15% of young adults. The author attributes this drop to a rise in the use of Facebook.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Plug one: There&rsquo;s a report <a href="http://www.poynter.org/column.asp?id=45&amp;aid=177248">making its way around the internet</a> that says the youth are spending less time blogging. Specifically, &ldquo;28% of the two groups studied — teens 12 to 17 and young adults 18 to 29 — actively blogged.&rdquo; For 2009, this percentage has dropped off to only 14% of teens and 15% of young adults. The author attributes this drop to a rise in the use of Facebook.</p>
<p>Plug two: Marshall Kirkpatrick floated a related idea the other day that <a href="http://www.readwriteweb.com/archives/facebook_aims_to_succeed_where_google_reader_faile.php">Facebook is now the world&rsquo;s leading news reader</a>. There are at least a few reasons: Facebook has the largest, most active user base on the planet, Facebook gives you control over who has access to your content which leads to a greater willingness to share, and Facebook wraps the whole creation/consumption experience into a nice, easy to use interface.</p>
<p>That last point is the most critical, in my opinion. As average Joe, it&rsquo;s much, much easier to publish with Facebook (or Twitter) because there is tremendous attention paid to the experience of how content is consumed on a regular basis. Both Facebook and Twitter have dedicated dashboards for your subscriptions where you get visual reinforcement that other people are coming across your content. With my blog, I have a home page which my dad or mom might read occasionally, and X number of faceless RSS subscribers who may or may not &ldquo;Mark All As Read&rdquo; on a daily basis. Figuring out how to use Google Reader to read other blogs almost requires the scientific method, which could be a good thing if you consider yourself a geek but is almost certainly a bad thing if you&rsquo;re a Normal just wanting to read the national news and your friends&rsquo; writing.</p>
<p>Moral of the story: Always take studies with a grain of salt. I suspect The Youth are publishing more than ever, but it&rsquo;s coming in the form of Facebooking and Tumblring instead of maintaining a blog because the proprietary tools, unfortunately, have better readers right now than the open source ones.</p>
<p>Related to this, I&rsquo;m hoping to take <a href="http://ryansholin.com/2010/01/06/about-that-resolution/">Ryan Sholin&rsquo;s lead</a> and write more on my original home space. It&rsquo;s a muscle I think I need to exercise. I&rsquo;m also going to take Gruber&rsquo;s lead and turn off comments because I get way too many comment notifications like, &ldquo;Hi, cool blog, just curious what spam system you use for cleaning up comments because I am getting so many spammers on my blog.&rdquo;</p>
<p>?!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Using Google Apps with StatusNet for email notifications</title>
      <link>https://danielbachhuber.com/using-google-apps-with-statusnet-for-email-notifications/</link>
      <pubDate>Fri, 08 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/using-google-apps-with-statusnet-for-email-notifications/</guid>
      <description>&lt;p&gt;For the sake of saving an hour of guessing, here are the proper settings for using Google Apps, or Gmail, with &lt;a href=&#34;http://status.net/&#34;&gt;StatusNet&lt;/a&gt;, formally known as Laconica:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;$config[&#39;mail&#39;][&#39;backend&#39;] = &#39;smtp&#39;; $config[&#39;mail&#39;][&#39;params&#39;] = array( &#39;host&#39; =&amp;gt; &#39;smtp.gmail.com&#39;, &#39;port&#39; =&amp;gt; 587, &#39;auth&#39; =&amp;gt; true, &#39;username&#39; =&amp;gt; &#39;username@domain.com&#39;, &#39;password&#39; =&amp;gt; &#39;your_secret_password&#39; );&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Adding these settings to your config.php file will allow your StatusNet instance to send email notifications over SMTP when your web host doesn&amp;rsquo;t support sending mail from the server (ahem, WebFaction). The trick is to use the proper port, 587 instead of 25, and to enable authentication.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For the sake of saving an hour of guessing, here are the proper settings for using Google Apps, or Gmail, with <a href="http://status.net/">StatusNet</a>, formally known as Laconica:</p>
<p><code>$config['mail']['backend'] = 'smtp'; $config['mail']['params'] = array( 'host' =&gt; 'smtp.gmail.com', 'port' =&gt; 587, 'auth' =&gt; true, 'username' =&gt; 'username@domain.com', 'password' =&gt; 'your_secret_password' );</code></p>
<p>Adding these settings to your config.php file will allow your StatusNet instance to send email notifications over SMTP when your web host doesn&rsquo;t support sending mail from the server (ahem, WebFaction). The trick is to use the proper port, 587 instead of 25, and to enable authentication.</p>
<p>I&rsquo;m still <a href="http://twitter.com/danielbachhuber/status/7529771457">trying to configure Google Apps as the XMPP provider for StatusNet</a> too; I&rsquo;ll put together another post if I can figure that out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>College from scratch</title>
      <link>https://danielbachhuber.com/college-from-scratch/</link>
      <pubDate>Mon, 04 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/college-from-scratch/</guid>
      <description>&lt;p&gt;Clay Shirky &lt;a href=&#34;http://twitter.com/cshirky/status/7351824679&#34;&gt;hosted an impromptu discussion section this evening&lt;/a&gt; on redesigning higher education. He&amp;rsquo;s put together a &lt;a href=&#34;http://scratchwiki.shirky.com/wiki/College_from_scratch&#34;&gt;wiki page of the best responses&lt;/a&gt;, but I feel like I need to record a few too for posterity. The question was simple: If you were going to create a college from scratch, what would you do?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://twitter.com/AFG85/status/7352045813&#34;&gt;AFG85&lt;/a&gt;: &lt;a href=&#34;http://www.twitter.com/cshirky&#34; title=&#34;Click here to view this profile on Twitter!&#34;&gt;@cshirky&lt;/a&gt; Classes would create wikis for specific topics and students would be graded on the quality of their contributions.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Clay Shirky <a href="http://twitter.com/cshirky/status/7351824679">hosted an impromptu discussion section this evening</a> on redesigning higher education. He&rsquo;s put together a <a href="http://scratchwiki.shirky.com/wiki/College_from_scratch">wiki page of the best responses</a>, but I feel like I need to record a few too for posterity. The question was simple: If you were going to create a college from scratch, what would you do?</p>
<p><a href="http://twitter.com/AFG85/status/7352045813">AFG85</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> Classes would create wikis for specific topics and students would be graded on the quality of their contributions.</p>
<p><a href="http://twitter.com/AFG85/statuses/7352062917">AFG85</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> And the same wikis would be used year after year, so new students would have to add to the contributions of last year&rsquo;s students.</p>
<p><a href="http://twitter.com/digiphile/status/7352818094">digiphile</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> Fund multidisciplinary labs for applied innovation &amp; incubation. And learn from the example of PCU &amp; &ldquo;Accepted&rdquo; <a href="http://j.mp/4LHTkG" title="Click here to view this link!">http://j.mp/4LHTkG</a></p>
<p><a href="http://twitter.com/sewsueme/status/7353245631">sewsueme</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> instead of having a college counselor you would have a concierge/ curator who would help you make sense of your education journey</p>
<p><a href="http://twitter.com/sewsueme/statuses/7352430297">sewsueme</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> as <a href="http://www.twitter.com/ccoletta" title="Click here to view this profile on Twitter!">@ccoletta</a> &amp; I were debating earlier in the evening: there would need to be a new accred system. Employer or performance based?</p>
<p><a href="http://twitter.com/sewsueme/status/7352853040">sewsueme</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> learners cld collect &ldquo;credits&rdquo; (learnings) from anyplace&ndash;Apple store, a uni course, an apprenticeship as long as they cld prove</p>
<p><a href="http://twitter.com/sewsueme/statuses/7353209457">sewsueme</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> there might be some new course creation but aggregation from multiple places wld be important</p>
<p><a href="http://twitter.com/ricetopher/statuses/7353764965">ricetopher</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> Why build anything? College as aggregator, filter set, facilitator of networked learning better model in an age of ubiquitous info.</p>
<p><a href="http://twitter.com/AFG85/status/7352584515">AFG85</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> for professors, have a small full time staff supplemented with practitioners from different fields teaching for one semester</p>
<p><a href="http://twitter.com/AFG85/status/7352339685">AFG85</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> for students, go YCombinator style&ndash;systematic applications, then one weekend of ten minute interviews.</p>
<p><a href="http://twitter.com/ekstasis/statuses/7355510941">ekstasis</a>: <a href="http://www.twitter.com/cshirky" title="Click here to view this profile on Twitter!">@cshirky</a> single biggest failure of education is the focus on grades as a proxy for learning. they don&rsquo;t always track. <a href="http://search.twitter.com/search?q=%23CollegeFromScratch" title="Click here to search for this tag on Twitter!">#CollegeFromScratch</a></p>
<p>I still think that <a href="http://twitter.com/danielbachhuber/status/7352695731">accreditation is going to be the toughest nut to crack</a>. All of the other pieces, distributed collaboration, access to learning materials, etc., are falling into place thanks to the disruptive tendencies of the web. People are learning, by golly, but the record of their learnings is all over the map. For any of these zany ideas for new universities to fly, the students will need to have an equally new method for articulating their accomplishments. Right now, this legitimacy comes from the accreditation board.</p>
<p>If you can convince employers that your new mechanism for accreditation is more accurate and effective than the standard college degree then, well, I think you might have a new college worth starting from scratch.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Quick look at Managing News</title>
      <link>https://danielbachhuber.com/quick-look-at-managing-news/</link>
      <pubDate>Sat, 02 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/quick-look-at-managing-news/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://managingnews.com/&#34;&gt;Managing News&lt;/a&gt; is a &amp;ldquo;robust news and data aggregation engine with pluggable visualization and workflow tools.&amp;rdquo; Mo Jangda set up an instance on his server that I finally had the chance to check out. My initial impression was that, like the website, the development team put a tremendous amount of effort into polishing the user interface. It&amp;rsquo;s a super shiny way to aggregate RSS feeds.&lt;/p&gt;&#xA;&lt;p&gt;There are nuggets I was able to suss out, however. If you&amp;rsquo;ve indexed your feeds, there are search capabilities that will also give you the frequency of any given term. The mapping functionality is also very slick. You can get all of the recent stories on a map, or stories limited to a specific term. It&amp;rsquo;s misleading to have the initial view of the map be the entire world, though, because the most useful view to an end user will be whatever region they&amp;rsquo;re interested in.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://managingnews.com/">Managing News</a> is a &ldquo;robust news and data aggregation engine with pluggable visualization and workflow tools.&rdquo; Mo Jangda set up an instance on his server that I finally had the chance to check out. My initial impression was that, like the website, the development team put a tremendous amount of effort into polishing the user interface. It&rsquo;s a super shiny way to aggregate RSS feeds.</p>
<p>There are nuggets I was able to suss out, however. If you&rsquo;ve indexed your feeds, there are search capabilities that will also give you the frequency of any given term. The mapping functionality is also very slick. You can get all of the recent stories on a map, or stories limited to a specific term. It&rsquo;s misleading to have the initial view of the map be the entire world, though, because the most useful view to an end user will be whatever region they&rsquo;re interested in.</p>
<p>This brings me to my biggest observation: a tool like this would be most useful for managing feeds of <em>raw data</em>, not feeds of news articles. News articles are products where the data has already been through the rock tumbler. Where Managing News wants to be headed, I think, is towards building a tool that allows you to map and visualize all manners of data.</p>
<p>The difficulty then is both building the visualization tools and finding, or even brainstorming, properly geo-coded RSS feeds of the data you&rsquo;re interested in.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two words, lightly sketched</title>
      <link>https://danielbachhuber.com/two-words-lightly-sketched/</link>
      <pubDate>Fri, 25 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-words-lightly-sketched/</guid>
      <description>&lt;p&gt;There are a couple of concepts bouncing around in my mind, rough draft, that need definition.&lt;/p&gt;&#xA;&lt;p&gt;One: when everyone you follow on Twitter shares the same link over and over again. There should be a version of the word for when it&amp;rsquo;s a dumb post I&amp;rsquo;d rather never had read, and another version for when it&amp;rsquo;s a smart post I&amp;rsquo;d like to share too but don&amp;rsquo;t want to join the crowd of oversharers.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There are a couple of concepts bouncing around in my mind, rough draft, that need definition.</p>
<p>One: when everyone you follow on Twitter shares the same link over and over again. There should be a version of the word for when it&rsquo;s a dumb post I&rsquo;d rather never had read, and another version for when it&rsquo;s a smart post I&rsquo;d like to share too but don&rsquo;t want to join the crowd of oversharers.</p>
<p>Two: the act of subconciously comparing your writing with that of the best authors on the web. The difference between paper and pixels is that your production, your mind babies, are public by default. Knowledge of this, from my perspective, drives a much stronger awareness of how other people interpret your communication skills. Offered just in paper form, <a href="http://www.andrewspittle.net/2009/12/16/one-case-for-creating-a-web-only-thesis/">pieces of Andrew Spittle&rsquo;s senior thesis</a> would gather a readership of his professors, close friends and family. On the web, <a href="http://twitter.com/jeffjarvis/status/6749356267">his potential readership grows exponentially</a> and is far more likely to gather critique and feedback. I believe it&rsquo;s this underlying awareness that drives more people to write more things that are worthwhile.</p>
<p>This is a new frontier. We need to actively create the words that best articulate the web&rsquo;s nuances.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Considering again the path of the river</title>
      <link>https://danielbachhuber.com/considering-again-the-path-of-the-river/</link>
      <pubDate>Sun, 20 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/considering-again-the-path-of-the-river/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20091219fever_h6001.jpg&#34; alt=&#34;&#34;  width=&#34;600&#34;&#xA;&#x9;height=&#34;350&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;After a couple month trial, I&amp;rsquo;ve decided to move back to Google Reader from Shaun Inman&amp;rsquo;s &lt;a href=&#34;http://feedafever.com/&#34;&gt;Fever&lt;/a&gt;. Originally, I made the migration on the allure of several shiny gems: a gorgeous interface, code that I could host on my own server, a refresh rate I could dictate with cron, and an innovative approach to filtering the signal from the noise. With each feed you add, either as Kindling you read on a regular basis or Sparks to feed the fever, the links count towards &amp;ldquo;what&amp;rsquo;s hot&amp;rdquo;, a visualization of the most popular stories for any given time period based on the information flow you&amp;rsquo;ve curated.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20091219fever_h6001.jpg" alt=""  width="600"
	height="350"  /></p>
<p>After a couple month trial, I&rsquo;ve decided to move back to Google Reader from Shaun Inman&rsquo;s <a href="http://feedafever.com/">Fever</a>. Originally, I made the migration on the allure of several shiny gems: a gorgeous interface, code that I could host on my own server, a refresh rate I could dictate with cron, and an innovative approach to filtering the signal from the noise. With each feed you add, either as Kindling you read on a regular basis or Sparks to feed the fever, the links count towards &ldquo;what&rsquo;s hot&rdquo;, a visualization of the most popular stories for any given time period based on the information flow you&rsquo;ve curated.</p>
<p>The deal breaker, however, <a href="http://twitter.com/danielbachhuber/status/6841661709">is the mobile interface</a>. In terms of reading experience the two RSS readers are comparable but sharing from Fever is a multi-step pain. Google Reader is at most a two-step process: open the item in a new Mobile Safari tab and hit the Tweetie bookmarklet. Because Fever is a standalone web application on the iPhone, I have to copy the link, close the application, open Tweetie, and then paste the link. I do a significant percentage of reading on the go, so it&rsquo;s back to Google Reader.</p>
<p>It&rsquo;s also a golden opportunity to again rethink how I structure my information flow. The art of how people organize their RSS readers is fascinating and writing about it offers tremendous learning potential; consider this a nudge to reflect and articulate how you&rsquo;re managing your information flow.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2009/12/20091219googlereadertags1.jpg">My approach is to organize feeds by both priority and topic</a>. I originally started with three priorities, A, B and C, and slimmed that down to A and B when I moved to Fever. If it&rsquo;s a relatively low traffic feed with content I&rsquo;m very interested in, then I&rsquo;ll drop it in the &ldquo;A-List&rdquo; bucket. Publications that fit in this category include <a href="http://daringfireball.net/">Daring Fireball</a>, <a href="http://www.niemanlab.org/">Nieman Journalism Lab</a>, <a href="http://publishing2.com/">Publishing 2.0</a>, <a href="http://snarkmarket.com/">Snarkmarket</a>, and <a href="http://www.openthefuture.com/">Open the Future</a>. The &ldquo;B-List&rdquo; bucket acts as a second tier of importance and includes sites like <a href="http://www.ethanzuckerman.com/blog/">&hellip; My Heart&rsquo;s in Accra</a>, <a href="http://www.stoweboyd.com/message/">/Message</a>, and <a href="http://oregonmediacentral.com/">Oregon Media Central</a>. Feeds I&rsquo;d like to read/skim on the days I have the time to, or that I don&rsquo;t mind marking all as read, fit into different topical buckets including Business &amp; Economics, Education, International Development, Media &amp; Journalism, and Technology.</p>
<p>This functions, but I&rsquo;m ready for something new with a couple of goals in mind. First, I&rsquo;d like to add more feeds to my stream. In the move from Google Reader to Fever, I culled my subscription list down to 262. This metric says &ldquo;amateur web worker.&rdquo; So, secondly, in the process of adding more feeds to my stream I need an approach that adds more nuance to my prioritization system. The filtering offered by Fever was this in parts, however I don&rsquo;t believe I had the breadth of data to make it a useful daily tool. Whether using Google Reader&rsquo;s system of folders can actually scale remains to be seen, but I shall experiment. And continue searching for other peoples&rsquo; approaches to structuring their information flow.</p>
<p><strong>Later:</strong> There&rsquo;s an additional piece to this puzzle. I&rsquo;m obsessive compulsive about getting my RSS reader to zero nearly every day. This I am proud of. What it means to my method of parsing information is that I ideally want to weight everything in such a manner that I maximize the my efforts in relation to amount of time I have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ushahidi&#39;s Swift River</title>
      <link>https://danielbachhuber.com/ushahidis-swift-river/</link>
      <pubDate>Tue, 15 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ushahidis-swift-river/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://blog.ushahidi.com/index.php/2009/12/14/jon-gosier-joins-the-swift-river-initiative/&#34;&gt;announcement of Jon Gosier&amp;rsquo;s addition to the Ushahidi Swift River project&lt;/a&gt; led to a bit of &lt;a href=&#34;http://charman-anderson.com/2009/12/15/ushahidi-and-swift-river-crowdsourcing-innovations-from-africa/&#34;&gt;very interesting speculation from Suw Anderson&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I’m curious to see if there is a reputation system built into it. As they say, this works based on the participation of experts and non-experts. How do you gauge the expertise of a sweeper? And I don’t mean to imply as a journalist that I think that journalists are ‘experts’ by default. For instance, I know a lot about US politics but consider myself a novice when it comes to British politics.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The <a href="http://blog.ushahidi.com/index.php/2009/12/14/jon-gosier-joins-the-swift-river-initiative/">announcement of Jon Gosier&rsquo;s addition to the Ushahidi Swift River project</a> led to a bit of <a href="http://charman-anderson.com/2009/12/15/ushahidi-and-swift-river-crowdsourcing-innovations-from-africa/">very interesting speculation from Suw Anderson</a>:</p>
<blockquote>
<p>I’m curious to see if there is a reputation system built into it. As they say, this works based on the participation of experts and non-experts. How do you gauge the expertise of a sweeper? And I don’t mean to imply as a journalist that I think that journalists are ‘experts’ by default. For instance, I know a lot about US politics but consider myself a novice when it comes to British politics.</p></blockquote>
<p>To take a step back, <a href="http://swiftapp.org/">Swift River</a> is a project to &ldquo;crowdsource the filter&rdquo; for real-time crisis reporting. <a href="http://www.ushahidi.com/">Ushahidi</a> provides a platform for aggregating the information around a crisis but, when a crisis situation explodes metaphorically or literally, the information coming in can quickly overwhelm the people trying to make sense of it. Swift River will enable an observer to create a new instance for a given situation, add RSS feeds from various sources including news publications and Twitter, and then additional users will be able to come in as &ldquo;sweepers&rdquo; to curate those incoming bits of information and float the most important to the top.</p>
<p>In the comments, <a href="http://charman-anderson.com/2009/12/15/ushahidi-and-swift-river-crowdsourcing-innovations-from-africa/#comment-3798">Jon mentions</a> that the three &ldquo;most critical aspects are the trust algorithm (veracity), predictive tagging and filtering out redundancies and inaccuracies.&rdquo; The first, in my opinion, will be the most challenging, and hopefully most rewarding, piece of the riddle. They&rsquo;ll be able to scale their ability to float accurate information if they focus on identifying the trustworthy <em>people</em> instead of the trustworthy information.</p>
<p>A couple of weeks ago on Twitter, I observed that <a href="http://twitter.com/danielbachhuber/status/6129694294">the crowd is the least important part of crowdsourcing</a>. More often than not, you could care less about the opinion of the crowd on a whole. What you really want is an authoritative answer, or field report, from the most knowledgeable person in that crowd.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two pieces, loosely joined</title>
      <link>https://danielbachhuber.com/two-pieces-loosely-joined/</link>
      <pubDate>Sun, 13 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/two-pieces-loosely-joined/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/explainthisredux_h5001.jpg&#34; alt=&#34;explainthis.org&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;200&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Part one. Late last night, Jay Rosen published a &lt;a href=&#34;http://jayrosen.tumblr.com/post/281058818/this-is-a-mock-up-for-a-news-site-that-i-think&#34;&gt;small peek at an idea for a new type of news site&lt;/a&gt;. ExplainThis.org would be a platform to connect users with questions to journalists with research and communication skills. Jay&amp;rsquo;s perspective on this idea has a few notable features: users would be able to coalesce around questions by voting up the ones they have in common, the questions would be more complex that what could be answered through a simple search, and the answers would require &amp;ldquo;real journalism&amp;rdquo; to be marked off as complete. It&amp;rsquo;s also distinguished from Cody Brown&amp;rsquo;s next big idea in that it would limit the answering participation to &amp;ldquo;journalists&amp;rdquo;, although it&amp;rsquo;s not clear how Jay would define this term, and that the questions would focus more on issues of national interest.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/explainthisredux_h5001.jpg" alt="explainthis.org"  width="500"
	height="200"  /></p>
<p>Part one. Late last night, Jay Rosen published a <a href="http://jayrosen.tumblr.com/post/281058818/this-is-a-mock-up-for-a-news-site-that-i-think">small peek at an idea for a new type of news site</a>. ExplainThis.org would be a platform to connect users with questions to journalists with research and communication skills. Jay&rsquo;s perspective on this idea has a few notable features: users would be able to coalesce around questions by voting up the ones they have in common, the questions would be more complex that what could be answered through a simple search, and the answers would require &ldquo;real journalism&rdquo; to be marked off as complete. It&rsquo;s also distinguished from Cody Brown&rsquo;s next big idea in that it would limit the answering participation to &ldquo;journalists&rdquo;, although it&rsquo;s not clear how Jay would define this term, and that the questions would focus more on issues of national interest.</p>
<p>Part two. Through a <a href="http://www.antipope.org/charlie/blog-static/2009/12/what_are_the_long-term_consequ.html">post by Charlie Stross</a>, I learned from The Observer today that <a href="http://www.guardian.co.uk/global/2009/dec/13/drug-money-banks-saved-un-cfief-claims">drug money is actually what saved banks in the liquidity crisis</a>, according to the head of the UN Office on Drugs and Crime:</p>
<blockquote>
<p>Speaking from his office in Vienna, [Antonio Maria] Costa said evidence that illegal money was being absorbed into the financial system was first drawn to his attention by intelligence agencies and prosecutors around 18 months ago. &ldquo;In many instances, the money from drugs was the only liquid investment capital. In the second half of 2008, liquidity was the banking system&rsquo;s main problem and hence liquid capital became an important factor,&rdquo; he said.</p>
<p>Some of the evidence put before his office indicated that gang money was used to save some banks from collapse when lending seized up, he said.</p></blockquote>
<p>British bankers want to see the evidence he has to back up those claims and, as a reader, I was left completely perplexed and boggled as to whether this is a significant story or not.</p>
<p>These two parts don&rsquo;t need to be mutually exclusive. The starting point could be zero, &ldquo;What questions do you have?&rdquo; in Jay&rsquo;s case, but the starting point can also be further along the continuum of discovering the truth for a particular topic. Adding the ability for the user to ask follow-up questions, with the expectation that the journalist will continue researching the most important of them, would be a powerful approach for more quickly getting at what the community needs to know. Pragmatically, this functionality could mimic work NewsMixer has already done: one type of user comment is a question. In the context of the drug money story, I&rsquo;d like to ask what the implications are if the facts are true.</p>
<p>The story shouldn&rsquo;t attempt to be a definitive account of what happened, but rather an entry point for deeper learning.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New skis!</title>
      <link>https://danielbachhuber.com/new-skis/</link>
      <pubDate>Fri, 11 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-skis/</guid>
      <description>&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/l_1600_1200_7724d5eb-2818-4ba2-af92-a33f995ed6231.jpeg&#34; alt=&#34;l_1600_1200_7724D5EB-2818-4BA2-AF92-A33F995ED623.jpeg&#34;  width=&#34;640&#34;&#xA;&#x9;height=&#34;480&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last season&amp;rsquo;s Black Diamond Kilowatts, purchased on the recommendation of my friend Riley Peck. They&amp;rsquo;ll soon be outfitted with a new set of AT bindings. I haven&amp;rsquo;t skiied for almost two years, I sold off all my skis in preparation for a trip to India, and am quite stoked for the upcoming months of mayhem.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p> </p>
<p><img src="images/l_1600_1200_7724d5eb-2818-4ba2-af92-a33f995ed6231.jpeg" alt="l_1600_1200_7724D5EB-2818-4BA2-AF92-A33F995ED623.jpeg"  width="640"
	height="480"  /></p>
<p>Last season&rsquo;s Black Diamond Kilowatts, purchased on the recommendation of my friend Riley Peck. They&rsquo;ll soon be outfitted with a new set of AT bindings. I haven&rsquo;t skiied for almost two years, I sold off all my skis in preparation for a trip to India, and am quite stoked for the upcoming months of mayhem.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The importance of Google&#39;s Living Stories</title>
      <link>https://danielbachhuber.com/the-importance-of-googles-living-stories/</link>
      <pubDate>Tue, 08 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-importance-of-googles-living-stories/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20091208livingstories_h5001.jpg&#34; alt=&#34;Google&amp;rsquo;s Living Story for Afghanistan&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;330&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Google, in collaboration with The New York Times and The Washington Post, dropped a bombshell today in the battle for the future of news: &lt;a href=&#34;http://livingstories.googlelabs.com/&#34;&gt;Living Stories&lt;/a&gt;. The new project is described as &amp;ldquo;an experiment in presenting news, one designed specifically for the online environment,&amp;rdquo; and there are currently pages for eight different topics, including &lt;a href=&#34;http://livingstories.googlelabs.com/lsps/climatechange&#34;&gt;the climate change negotiations&lt;/a&gt;, &lt;a href=&#34;http://livingstories.googlelabs.com/lsps/afghanistan&#34;&gt;the war in Afghanistan&lt;/a&gt;, and &lt;a href=&#34;http://livingstories.googlelabs.com/lsps/healthcare&#34;&gt;the healthcare debate&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There are four reasons why Living Stories are a Very Important Thing:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20091208livingstories_h5001.jpg" alt="Google&rsquo;s Living Story for Afghanistan"  width="500"
	height="330"  /></p>
<p>Google, in collaboration with The New York Times and The Washington Post, dropped a bombshell today in the battle for the future of news: <a href="http://livingstories.googlelabs.com/">Living Stories</a>. The new project is described as &ldquo;an experiment in presenting news, one designed specifically for the online environment,&rdquo; and there are currently pages for eight different topics, including <a href="http://livingstories.googlelabs.com/lsps/climatechange">the climate change negotiations</a>, <a href="http://livingstories.googlelabs.com/lsps/afghanistan">the war in Afghanistan</a>, and <a href="http://livingstories.googlelabs.com/lsps/healthcare">the healthcare debate</a>.</p>
<p>There are four reasons why Living Stories are a Very Important Thing:</p>
<p><strong>Topics are introduced with context.</strong> Each has an approachable, up-to-date summary at the top of the page that acts as a primer for the issue. The primer includes links, too; if the reader wants to learn more about a specific event presented in the summary, it&rsquo;s just a click away. Let&rsquo;s compare: <a href="http://topics.nytimes.com/top/news/science/topics/globalwarming/index.html">The New York Times topic page for global warming</a> and <a href="http://livingstories.googlelabs.com/lsps/climatechange">Google&rsquo;s Living Story for climate change</a>. In my opinion, Google&rsquo;s information hierarchy wins.</p>
<p><strong>Time is heavily leveraged for perspective.</strong> The clickable timeline with milestone headlines underneath the initial topic summary is a powerful method for understanding how the &ldquo;living story&rdquo; has unfolded to date. Stories are also presented in reverse-chronological order, making it easier to dive back into history for deeper understanding.</p>
<p><strong>Filtering by the abstract components that make up an ongoing story is absolutely brilliant.</strong> For the <a href="http://livingstories.googlelabs.com/lsps/afghanistan">Afghanistan page</a>, this means &ldquo;All coverage&rdquo; can be filtered down to &ldquo;The Global Response,&rdquo; &ldquo;Casualties,&rdquo; and &ldquo;The Afghan Elections,&rdquo; among others.</p>
<p><strong>&ldquo;No updates since last visit.&rdquo;</strong> The future of news is personalized. More importantly, personalized in the sense that <em>the news knows what&rsquo;s news to me</em>.</p>
<p>A critical ethos of contextual journalism is to <em>drive understanding</em>. The goal should be to present a topic in such a way that the new information starts where the reader is at, and then lends the opportunity for the reader to learn as much as they have time for. The nut to crack is how you scale this method of presenting information across all of the topics a news organization may cover. That riddle involves what the information architecture looks like, how you incorporate production into the editorial workflow, and how you ensure the pages stay consistent and up-to-date.</p>
<p>In the <a href="http://www.nytimes.com/2009/12/09/technology/companies/09google.html">Times article about the announcement</a>, Josh Cohen of Google News said &ldquo;if [Living Stories] worked well, Google would make the software available free to publishers to embed in their sites, much as those publishers can now use Google Maps and YouTube functions on their sites.&rdquo; From the business perspective, it&rsquo;s again unfortunate that Google is the one seriously innovating with the intersection of technology and journalism. Derek Willis notes that <a href="http://twitter.com/derekwillis/status/6472461021">Living Stories was built &ldquo;in collaboration with news organizations&rdquo; using their APIs</a>. Google Search was built in collaboration with content producers and their XML sitemaps.</p>
<p><a href="http://publishing2.com/2009/09/16/content-doesnt-matter-without-the-package/">Content doesn&rsquo;t matter without the package.</a> The package is how you make the money, and Google looks like it&rsquo;s doing serious experimentation with one key component of a rebooted system of news: context.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Another case for the news wiki</title>
      <link>https://danielbachhuber.com/another-case-for-the-news-wiki/</link>
      <pubDate>Wed, 18 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/another-case-for-the-news-wiki/</guid>
      <description>&lt;p&gt;From &lt;a href=&#34;http://www.poynter.org/column.asp?id=101&amp;amp;aid=173537&#34;&gt;Steve Myers&amp;rsquo; interview with Jimmy Wales&lt;/a&gt;, published yesterday:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;People do often come to Wikipedia when major news is breaking. This is not our primary intention, but of course it happens. The reason that it happens is that the traditional news organizations are not doing a good job of filling people in on background information. People come to us because we do a better job at meeting their informational needs.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Jason Fry adds further analysis today in a &lt;a href=&#34;http://reinventingthenewsroom.wordpress.com/2009/11/16/this-is-broken-from-game-stories-to-well-everything/&#34;&gt;piece about rethinking sports reporting&lt;/a&gt;:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From <a href="http://www.poynter.org/column.asp?id=101&amp;aid=173537">Steve Myers&rsquo; interview with Jimmy Wales</a>, published yesterday:</p>
<blockquote>
<p>People do often come to Wikipedia when major news is breaking. This is not our primary intention, but of course it happens. The reason that it happens is that the traditional news organizations are not doing a good job of filling people in on background information. People come to us because we do a better job at meeting their informational needs.</p></blockquote>
<p>Jason Fry adds further analysis today in a <a href="http://reinventingthenewsroom.wordpress.com/2009/11/16/this-is-broken-from-game-stories-to-well-everything/">piece about rethinking sports reporting</a>:</p>
<blockquote>
<p>It’s a quietly devastating indictment of journalism. And Wales is absolutely right, for reasons <a href="http://www.nieman.harvard.edu/reportsitem.aspx?id=101886">explored very capably</a> a couple of months back by Matt Thompson. Arrive at the latest newspaper story about, say, the health-care debate and you’ll be told what’s new at the top, then given various snippets of background that you’re supposed to use to orient yourself. Which is serviceable if you’ve been following the story (though in that case you’ll know the background and stop reading), but if you’re new you’ll be utterly lost — you’ll need, to quote Thompson, “a decoder ring, attainable only through years of reading news stories and looking for patterns”. On Wikipedia, breaking news gets put into context — and not in some upside-down format that tells you the very latest development that may or may not affect the larger narrative before it gives you the basics of that narrative so you can understand what that news means.</p></blockquote>
<p>Along these lines, Wikipedia was the <a href="http://www.danielbachhuber.com/2009/04/26/swineflu-and-the-news-ecology/">third place I looked for information after hearing about the swine flu outbreak last April</a>; the first blog post I read and stories provided by the New York Times iPhone application proved inadequate.</p>
<p>How should a news wiki be executed? I have my ideas but the only real way to find out is to <em>experiment</em>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How J schools can encourage innovation</title>
      <link>https://danielbachhuber.com/how-j-schools-can-encourage-innovation/</link>
      <pubDate>Tue, 17 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-j-schools-can-encourage-innovation/</guid>
      <description>&lt;p&gt;&amp;hellip; is a solid topic for the &lt;a href=&#34;http://www.poynter.org/content/content_view.asp?id=171881&#34;&gt;Poytner Chat being held this Thursday at 10 am Pacific, 1 pm Eastern&lt;/a&gt;. A few months back, &lt;a href=&#34;http://www.copress.org/2009/08/19/a-case-for-innovation-in-college-newsrooms/&#34;&gt;CoPress published a video called &amp;ldquo;A Case for Innovation&amp;rdquo;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;      &lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/6172232?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;In it, we identify the historical context for the issues that a number of print publications are having today, and lay the groundwork for why innovation is critical for the transmogrification and survival of these organizations. Innovation, in our world, is about experimenting and taking risks. It&amp;rsquo;s &amp;ldquo;trying what&amp;rsquo;s radically new&amp;rdquo; with the hope that some ideas will be good learning experiences while others will be tremendous successes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&hellip; is a solid topic for the <a href="http://www.poynter.org/content/content_view.asp?id=171881">Poytner Chat being held this Thursday at 10 am Pacific, 1 pm Eastern</a>. A few months back, <a href="http://www.copress.org/2009/08/19/a-case-for-innovation-in-college-newsrooms/">CoPress published a video called &ldquo;A Case for Innovation&rdquo;</a>:</p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/6172232?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>In it, we identify the historical context for the issues that a number of print publications are having today, and lay the groundwork for why innovation is critical for the transmogrification and survival of these organizations. Innovation, in our world, is about experimenting and taking risks. It&rsquo;s &ldquo;trying what&rsquo;s radically new&rdquo; with the hope that some ideas will be good learning experiences while others will be tremendous successes.</p>
<p>It&rsquo;s critically important that journalism schools experiment as well, and I look forward to a productive conversation about approaches they can take to create an environment that fosters innovation.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Covering Science and Technology: So you want to be a tech writer?</title>
      <link>https://danielbachhuber.com/covering-science-and-technology-so-you-want-to-be-a-tech-writer/</link>
      <pubDate>Sat, 24 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/covering-science-and-technology-so-you-want-to-be-a-tech-writer/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.david-wolman.com/&#34;&gt;David Wolman&lt;/a&gt; and &lt;a href=&#34;http://marshallk.com/&#34;&gt;Marshall Kirkpatrick&lt;/a&gt; (@&lt;a href=&#34;http://twitter.com/marshallk&#34;&gt;marshallk&lt;/a&gt;) led the conversation for the last panel this afternoon.&lt;/p&gt;&#xA;&lt;p&gt;Informational interviews are a key part of finding stories, David says. He consumes a lot of coffee, talks with people about what they&amp;rsquo;re working on, and then &lt;a href=&#34;http://twitter.com/SuziSteffen/status/5133186842&#34;&gt;also asks about what else they&amp;rsquo;re working on&lt;/a&gt;. That secondary information can lead to interesting pieces down the road.&lt;/p&gt;&#xA;&lt;p&gt;Marshall has a detailed workflow for tracking down stories in the tech sector. He&amp;rsquo;s been working for &lt;a href=&#34;http://www.readwriteweb.com/&#34;&gt;ReadWriteWeb&lt;/a&gt; for the last year and a half, and is responsible for two to three posts a day. Most of the time, stories are &amp;ldquo;interrupt-driven&amp;rdquo; or dependent on the news of the day. The whole staff logs into a single &lt;a href=&#34;http://feedafever.com/&#34;&gt;Fever&lt;/a&gt; account to share RSS reading responsibilities.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.david-wolman.com/">David Wolman</a> and <a href="http://marshallk.com/">Marshall Kirkpatrick</a> (@<a href="http://twitter.com/marshallk">marshallk</a>) led the conversation for the last panel this afternoon.</p>
<p>Informational interviews are a key part of finding stories, David says. He consumes a lot of coffee, talks with people about what they&rsquo;re working on, and then <a href="http://twitter.com/SuziSteffen/status/5133186842">also asks about what else they&rsquo;re working on</a>. That secondary information can lead to interesting pieces down the road.</p>
<p>Marshall has a detailed workflow for tracking down stories in the tech sector. He&rsquo;s been working for <a href="http://www.readwriteweb.com/">ReadWriteWeb</a> for the last year and a half, and is responsible for two to three posts a day. Most of the time, stories are &ldquo;interrupt-driven&rdquo; or dependent on the news of the day. The whole staff logs into a single <a href="http://feedafever.com/">Fever</a> account to share RSS reading responsibilities.</p>
<p>One source of feeds is pretty ingenious. A research assistant dug up people who first linked popular web services such as Twitter, Facebook, etc. on Delicious. He did so for a number of startups over the last couple of years and put all of that information on a spreadsheet. Based on this aggregate information, he was able to identify 15 or so people who regularly link upcoming web services before anyone else. Subscribing to these Delicious accounts has multiple stories a week about hot new startups.</p>
<p>Most of the ReadWriteWeb writers use <a href="http://www.tweetdeck.com/">Tweetdeck</a> for Twitter. Marshall has the <a href="http://twitter.com/marshallk/following">4,000+ people he&rsquo;s following</a> organized into different categories, including NY Times, analysts, augmented reality, etc. The team has a <a href="http://twitter.com/andrewspittle/status/5133645221">Skype chat they keep open 24 hours for coordinating on stories</a>. They use hashtags within the conversation to enable people to find information of a specific type (i.e. which stories need editing with #edit).</p>
<p>For tracking reactions to pieces he&rsquo;s written, Marshall searches for conversations based on a specific URL with <a href="http://friendfeed.com/">Friendfeed</a>, <a href="http://digg.com/search?s=readwriteweb.com">based on the ReadWriteWeb domain in Digg</a>, and <a href="http://favstar.fm/users/marshallk/recent">recently favorited tweets</a>.</p>
<p>Libby Tucker <a href="http://twitter.com/SuziSteffen/status/5133843768">notes that the differences between David and Marshall&rsquo;s reporting styles</a>. David flies to Urbana, Illinois to interview a scientist, whereas Marshall notes that <a href="http://twitter.com/danielbachhuber/status/5133852150">if he has to put his pants on, it&rsquo;s a big day</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Future of News roundtable, Eugene-style</title>
      <link>https://danielbachhuber.com/future-of-news-roundtable-eugene-style/</link>
      <pubDate>Sat, 24 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/future-of-news-roundtable-eugene-style/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/20091024futureofnewspanel_h5001.jpg&#34; alt=&#34;Future of News panel at SPJ&amp;rsquo;s Building a Better Journalist&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;276&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;The lunch session at &lt;a href=&#34;http://spjoregon.org/training/building-a-better-journalist-oct-24-2009/&#34;&gt;SPJ&amp;rsquo;s Building a Better Journalist conference&lt;/a&gt; today was YAPOTFON, or Yet Another Panel On The Future Of News. Conversation was facilitated by President-elect Hagit Limor (@&lt;a href=&#34;http://twitter.com/hlimor&#34;&gt;hlimor&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;DJ Wilson is the President and General Manager of the KGW Media Group in Portland. &amp;ldquo;More than ever, people are consuming media.&amp;rdquo; Part of it is the 24/7, anytime, anywhere demand from consumers. KGW is a content business that works to meet that demand.&lt;/p&gt;&#xA;&lt;p&gt;Rita Hibbard (@&lt;a href=&#34;http://twitter.com/RTHibbard&#34;&gt;rthibbard&lt;/a&gt;) is the executive director and editor of &lt;a href=&#34;http://invw.org/&#34;&gt;InvestigateWest&lt;/a&gt;, a reporting non-profit in Seattle started by ex-Seattle Post-Intelligencer staffers. The bad news is the sheer number of journalists that have been laid off; the &lt;a href=&#34;http://twitter.com/SuziSteffen/status/5129982374&#34;&gt;number of credentialed reporters in Olympia, Washington has gone from 25 to 6&lt;/a&gt;. [Ed note 10/25: This may also be &lt;a href=&#34;http://www.danielbachhuber.com/2009/10/24/future-of-news-roundtable-eugene-style/comment-page-1/#comment-580&#34;&gt;due to waning interest in covering government&lt;/a&gt;] &amp;ldquo;Readers and news consumers are starting to wake up to what&amp;rsquo;s being lost out there.&amp;rdquo; We&amp;rsquo;re not replacing the investigative troops, but figuring out new ways to get the job done. InvestigateWest is brand new; incorporated in May, website launched in July, and first story will be out next month. It&amp;rsquo;s a piece on the misuse of public lands. They generate original, high-level investigative content. The business model is to syndicate it to as many media partners as possible, not build up their website. The first grant InvestigateWest received was from the &lt;a href=&#34;http://www.bullitt.org/&#34;&gt;Bullitt Foundation&lt;/a&gt;, which hasn&amp;rsquo;t traditionally funded journalism.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Collaboration is a big part of this new media ecosystem.&amp;rdquo; InvestigateWest is working with a number of media partners in ways that would not have happened five or ten years ago. &amp;ldquo;The era of one dominant media source in a community is over.&amp;rdquo; News will now be an ecosystem of many parts.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/20091024futureofnewspanel_h5001.jpg" alt="Future of News panel at SPJ&rsquo;s Building a Better Journalist"  width="500"
	height="276"  /></p>
<p>The lunch session at <a href="http://spjoregon.org/training/building-a-better-journalist-oct-24-2009/">SPJ&rsquo;s Building a Better Journalist conference</a> today was YAPOTFON, or Yet Another Panel On The Future Of News. Conversation was facilitated by President-elect Hagit Limor (@<a href="http://twitter.com/hlimor">hlimor</a>).</p>
<p>DJ Wilson is the President and General Manager of the KGW Media Group in Portland. &ldquo;More than ever, people are consuming media.&rdquo; Part of it is the 24/7, anytime, anywhere demand from consumers. KGW is a content business that works to meet that demand.</p>
<p>Rita Hibbard (@<a href="http://twitter.com/RTHibbard">rthibbard</a>) is the executive director and editor of <a href="http://invw.org/">InvestigateWest</a>, a reporting non-profit in Seattle started by ex-Seattle Post-Intelligencer staffers. The bad news is the sheer number of journalists that have been laid off; the <a href="http://twitter.com/SuziSteffen/status/5129982374">number of credentialed reporters in Olympia, Washington has gone from 25 to 6</a>. [Ed note 10/25: This may also be <a href="http://www.danielbachhuber.com/2009/10/24/future-of-news-roundtable-eugene-style/comment-page-1/#comment-580">due to waning interest in covering government</a>] &ldquo;Readers and news consumers are starting to wake up to what&rsquo;s being lost out there.&rdquo; We&rsquo;re not replacing the investigative troops, but figuring out new ways to get the job done. InvestigateWest is brand new; incorporated in May, website launched in July, and first story will be out next month. It&rsquo;s a piece on the misuse of public lands. They generate original, high-level investigative content. The business model is to syndicate it to as many media partners as possible, not build up their website. The first grant InvestigateWest received was from the <a href="http://www.bullitt.org/">Bullitt Foundation</a>, which hasn&rsquo;t traditionally funded journalism.</p>
<p>&ldquo;Collaboration is a big part of this new media ecosystem.&rdquo; InvestigateWest is working with a number of media partners in ways that would not have happened five or ten years ago. &ldquo;The era of one dominant media source in a community is over.&rdquo; News will now be an ecosystem of many parts.</p>
<p>Steve Woodward (@<a href="http://twitter.com/nozzlsteve">nozzlsteve</a>) is CEO and a co-founder of <a href="http://nozzlmedia.com/">Nozzl Media</a>. Nozzl Media is a startup that builds tools for news organizations to provide real-time, personalized streams of information to their audience.</p>
<p>&ldquo;A lot of people in newspapers thought the internet was a fad and wouldn&rsquo;t go away. When it persisted, they didn&rsquo;t understand why it persisted because they didn&rsquo;t use it.&rdquo; It&rsquo;s important, Steve argues, to learn from the past. Newspapers have moved online, but they aren&rsquo;t learning new tricks. Display advertising online is forecasted to peak this year and then decline. Newspapers need to think seriously about video ads, search ads, and other formats for helping businesses get their message out.</p>
<p><a href="http://twitter.com/SuziSteffen/status/5130278747">85% of all potential advertisers in any given market are never contacted by ads salesmen</a>. Most are just going after the same 15% over and over again.</p>
<p>&ldquo;Be the competition,&rdquo; Steve argues. Sales staff should act as an ad network now. Sell ads for your competitors too, to allow the client diversify the platforms, and take a cut of that.</p>
<p>Abraham Hyatt (@<a href="http://twitter.com/abrahamhyatt">abrahamhyatt</a>) is the founder of <a href="http://journopdx.com/">Digital Journalism Portland</a>, an award-winning journalist, and currently working on a year-long research project looking at innovation on mainstream media websites.</p>
<p>Abraham hates the phrase &ldquo;the death of newspapers.&rdquo; <a href="http://twitter.com/johnatthebar/status/5130406136">It&rsquo;s a crutch, he says, that polarizes thinking</a> and limits the realm of possibilities. The really interesting examples of innovation are the super-local shops. The one or two person news organizations that are experimenting and have a willingness to fail. &ldquo;It&rsquo;s the little guys that are weaving together a tapestry of innovative ideas.&rdquo; They&rsquo;re the ones that are going to shape the future of news.</p>
<p>DJ says that technology is driving the core of what they do. On a business side, they&rsquo;re balancing revenues with expenses and using technology to keep up. Abraham mentions that small groups are the ones that are nimble enough to try experiments and DJ says there are multiple groups within KGW doing this. She also <a href="http://twitter.com/johnatthebar/status/5130595959">believes that there will always be money in producing content</a>; it&rsquo;s a matter of figuring out how to deliver it on all of the platforms.</p>
<p>What are media sites doing well? Abraham has been pleasantly surprised by the number of organizations that are making money on mobile. They aren&rsquo;t making money on their content, rather <a href="http://twitter.com/johnatthebar/status/5130863096">they&rsquo;re building different consumer applications</a>. DJ says that KGW is doing a lot to optimize their video delivery on their website. They&rsquo;re also generating revenue by working with many businesses to offer coupons, and then taking a cut from any sales generated. Steve hasn&rsquo;t seen much innovation from newspaper websites. &ldquo;They have a lot to learn from tech companies.&rdquo; The Palm Pilot was very successful in the 1990&rsquo;s because they spent a tremendous amount of time measuring shirt pockets. This is called &ldquo;form factor&rdquo; and is really important. Newspaper companies don&rsquo;t think about form factor. &ldquo;No one under the age of 40 likes broadsheets, they like tabs&hellip; Why aren&rsquo;t there special coffee shop versions of the paper that are more tailored to the experience?&rdquo; Newspapers, Steve argues, need to invest in significantly refining user experience, both on the web and in print. They redesign at a drop of the hat but nothing ever changes significantly.</p>]]></content:encoded>
    </item>
    <item>
      <title>Why we link: #J361 presentation on curation</title>
      <link>https://danielbachhuber.com/why-we-link-j361-presentation-on-curation/</link>
      <pubDate>Fri, 09 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/why-we-link-j361-presentation-on-curation/</guid>
      <description>&lt;p&gt;The link, or the ability to create a web of relationships between content, facts, and ideas, has fundamentally changed journalism. What follows is a recommended set of reading, I stand on the shoulders of giants, for those in Suzi Steffen&amp;rsquo;s Reporting 1 class I had the fortune to talk with this afternoon. I&amp;rsquo;ll try to add perspective when I can, but I&amp;rsquo;ve got to rush off shortly.&lt;/p&gt;&#xA;&lt;p&gt;Jay Rosen, who you should &lt;a href=&#34;http://twitter.com/jayrosen_nyu&#34;&gt;follow on Twitter&lt;/a&gt; if you don&amp;rsquo;t already, lays an excellent foundation:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=RIMB9Kx18hw&#34;&gt;http://www.youtube.com/watch?v=RIMB9Kx18hw&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ryan Sholin &lt;a href=&#34;http://beatblogging.org/2009/06/11/why-we-link-a-brief-rundown-of-the-reasons-your-news-organization-needs-to-tie-the-web-together/&#34;&gt;breaks down the argument for linking into five parts&lt;/a&gt;. Basically, journalists should be responsible citizens of the web. They have responsibility to their readers to provide as much information as they can bring together, responsibility to build bridges between the different parts of their online community, and responsibility to point readers in the direction of the right information when the journalists don&amp;rsquo;t immediately have the answer.&lt;/p&gt;&#xA;&lt;p&gt;One point I touched on and want to reiterate is &lt;strong&gt;linking is a process of showing your work&lt;/strong&gt;. This is fundamentally a Good Thing. Both &lt;a href=&#34;http://twitter.com/spsullivan/status/4717108014&#34;&gt;Sean Sullivan&lt;/a&gt; and &lt;a href=&#34;http://paulbalcerak.com/2009/08/26/does-too-much-linking-exist-also-the-3-reasons-i-link/&#34;&gt;Paul Balcerak&lt;/a&gt; agree. In the age of newspapers, buggies, and clapboard houses, the reader was forced to make the assumption that the publication fact-checked and caught all of their errors. Hyperlinking text inherently means that the reader can then go and check out what you&amp;rsquo;re linking to. If you&amp;rsquo;re writing a piece with facts you want to substantiate, you can link to the source of every one of those facts. In fact, I agree that it&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;http://twitter.com/asteris/statuses/2022209801&#34;&gt;suspect for journos not to link whenever possible&lt;/a&gt;.&amp;rdquo; Making the reporting process transparent builds trust between the publication and the reader, and trust builds brand.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The link, or the ability to create a web of relationships between content, facts, and ideas, has fundamentally changed journalism. What follows is a recommended set of reading, I stand on the shoulders of giants, for those in Suzi Steffen&rsquo;s Reporting 1 class I had the fortune to talk with this afternoon. I&rsquo;ll try to add perspective when I can, but I&rsquo;ve got to rush off shortly.</p>
<p>Jay Rosen, who you should <a href="http://twitter.com/jayrosen_nyu">follow on Twitter</a> if you don&rsquo;t already, lays an excellent foundation:</p>
<p><a href="http://www.youtube.com/watch?v=RIMB9Kx18hw">http://www.youtube.com/watch?v=RIMB9Kx18hw</a></p>
<p>Ryan Sholin <a href="http://beatblogging.org/2009/06/11/why-we-link-a-brief-rundown-of-the-reasons-your-news-organization-needs-to-tie-the-web-together/">breaks down the argument for linking into five parts</a>. Basically, journalists should be responsible citizens of the web. They have responsibility to their readers to provide as much information as they can bring together, responsibility to build bridges between the different parts of their online community, and responsibility to point readers in the direction of the right information when the journalists don&rsquo;t immediately have the answer.</p>
<p>One point I touched on and want to reiterate is <strong>linking is a process of showing your work</strong>. This is fundamentally a Good Thing. Both <a href="http://twitter.com/spsullivan/status/4717108014">Sean Sullivan</a> and <a href="http://paulbalcerak.com/2009/08/26/does-too-much-linking-exist-also-the-3-reasons-i-link/">Paul Balcerak</a> agree. In the age of newspapers, buggies, and clapboard houses, the reader was forced to make the assumption that the publication fact-checked and caught all of their errors. Hyperlinking text inherently means that the reader can then go and check out what you&rsquo;re linking to. If you&rsquo;re writing a piece with facts you want to substantiate, you can link to the source of every one of those facts. In fact, I agree that it&rsquo;s &ldquo;<a href="http://twitter.com/asteris/statuses/2022209801">suspect for journos not to link whenever possible</a>.&rdquo; Making the reporting process transparent builds trust between the publication and the reader, and trust builds brand.</p>
<p>Unfortunately, there are still a number of traditionally print publications that haven&rsquo;t caught wind of this. A few days back, NYU Local, the upstart publication at NYU, <a href="http://nyulocal.com/on-campus/2009/10/06/an-open-letter-to-wsn/">accused the Washington Square News of pilfering their posts without attribution</a>. They found five examples of where NYU Local originally reported the story, only to have Washington Square News rewrite the story and pass it off as their own. If you read through the comments, you&rsquo;ll notice these examples aren&rsquo;t necessarily where NYU Local had the scoop, but that shouldn&rsquo;t get in the way of a critical point Lily is making:</p>
<blockquote>
<p>Over the weekend, your former editor and current contributing writer Sergio Hernandez posted about “<a href="http://cerealcommas.com/blog/?p=490">The Embittered Feud Between NYU’s Junior Journalists</a>” on his personal blog. The post itself was worth reading, but part of Sergio’s response to the onslaught of NYU Local contributor comments was even more interesting and on-point. We complained about your shoddy linking and he dismissed it, saying that we are completely different beasts, and that your online presence is a mere formality. Because your primary medium is print, perhaps for you the web essentially serves as another vehicle to display that print content. Sergio was right in some ways: your paper and our blog are completely different beasts, but the fact remains that your website and NYU Local are not. When you translate content to the web, you need to adjust it to coincide with online ethics. And one basic tenet of those ethics is linking. As young, informed internet users, we assume you know all of this already, so why haven’t you acted on it?</p>
<p>I suppose this is more an argument of “shoulds” than realities. Because, in reality, it is all too easy for you to say that WSN behaves like a traditional newspaper, free of links, and leave it at that. The thing is, you spent the summer re-vamping your website (for the second time in less than two years). Why bother making your site more attractive if you couldn’t care less about advancing the level of your online content?</p></blockquote>
<p>Not only that, but the &ldquo;ethic of the link&rdquo; is actually a <em>more</em> powerful tool, method, and ethos for journalism than anything that came before.</p>
<p>It&rsquo;s a big, wild internets out there with many examples to illustrate my point. I&rsquo;d like to share a few:</p>
<ul>
<li><a href="http://www.themoneymeltdown.com/">The Money Meltdown</a> - Matt Thompson&rsquo;s response to the beginning of the global economic crisis offers original curation to provide context and background to one of the largest stories of our lifetime. His <a href="http://www.newsless.org/">blog about the future of context in news</a> is also a recommended read.</li>
<li><a href="http://www.sacbee.com/links/story/2204365.html">UC walkout: Headlines, tweets and links</a> - Nate Miller and Laurel Rosenhall also approach telling a story through a mixture of context and real-time curating.</li>
<li><a href="http://bits.blogs.nytimes.com/">&ldquo;What We&rsquo;re Reading&rdquo; on The New York Times Bits Blog</a> - Journalists do a significant amount of reading as a part of the reporting process. A Publish2 widget in the right sidebar allows them to leverage that work and provide value to their readers.</li>
</ul>
<p>Ultimately, linking provides tremendous value to your readers because it allows you to highlight the most authoritative voices in a story. At <a href="http://www.publish2.com/">Publish2</a>, we build the tools, including <a href="http://wordpress.org/extend/plugins/publish2/">the one I used to add links in this post</a>, to make this happen.</p>]]></content:encoded>
    </item>
    <item>
      <title>BarCamp Redefining J School</title>
      <link>https://danielbachhuber.com/barcamp-redefining-j-school/</link>
      <pubDate>Thu, 01 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/barcamp-redefining-j-school/</guid>
      <description>&lt;p&gt;A few co-conspirators and I want to hold a BarCamp on Sunday, October 25th, the day after the &lt;a href=&#34;http://jcomm.uoregon.edu/event/society-of-professional-journalists-spj-conference/&#34;&gt;SPJ regional conference at the University of Oregon&lt;/a&gt;. For those who have never attended one, a BarCamp is an &amp;ldquo;&lt;a href=&#34;http://barcamp.org/&#34;&gt;ad-hoc gathering born from the desire for people to share and learn in an open environment&lt;/a&gt;.&amp;rdquo; In short, if you think you have something to teach you can throw it in to the mix. If you&amp;rsquo;re there to learn, then you have a whole number of knowledgeable people as teachers for a variety of topics.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few co-conspirators and I want to hold a BarCamp on Sunday, October 25th, the day after the <a href="http://jcomm.uoregon.edu/event/society-of-professional-journalists-spj-conference/">SPJ regional conference at the University of Oregon</a>. For those who have never attended one, a BarCamp is an &ldquo;<a href="http://barcamp.org/">ad-hoc gathering born from the desire for people to share and learn in an open environment</a>.&rdquo; In short, if you think you have something to teach you can throw it in to the mix. If you&rsquo;re there to learn, then you have a whole number of knowledgeable people as teachers for a variety of topics.</p>
<p>The topic for this BarCamp? Redefining J school. The news industry is going through epic change that most J schools are ill-equipped for. It&rsquo;s time for a new style of learning. We brainstormed several possible sessions:</p>
<ul>
<li>What courses should you take to supplement your journalism career? What are good minors to a journalism degree?</li>
<li>What do students want from professors? How can students take initiative and enhance classes?</li>
<li>Crowdsourcing, and leveraging the knowledge of the community to put together a story</li>
<li>Where&rsquo;s the line between PR and journalism?</li>
<li>Digital basics (blogging, Twitter, Google Alerts, etc.) and how those tools can be used</li>
<li>How to get paid internships (i.e. kickstarting your career while still in college)</li>
<li>Where&rsquo;s the line between work and life when building your personal brand online?</li>
</ul>
<p>Granted, I&rsquo;ve done a <a href="http://www.danielbachhuber.com/2009/08/02/fundamentally-rebooting-j-school/">lot of punditry in the last year</a> talking about <a href="http://www.danielbachhuber.com/2009/02/16/save-the-old-or-start-new/">how J school is obsolete and needs to be completely reinvented</a>. It&rsquo;s time to translate grand ideas into action.</p>
<p>We&rsquo;re planning to meet at 6:00 pm PT in the EMU Fishbowl, next Tuesday the 6th. <a href="http://groups.google.com/group/redefiningjschool">Join our Google Group</a> to stay in touch, or leave a note in the comments.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#wcpdx: Speed Up WordPress</title>
      <link>https://danielbachhuber.com/wcpdx-speed-up-wordpress/</link>
      <pubDate>Sat, 19 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wcpdx-speed-up-wordpress/</guid>
      <description>&lt;p&gt;First session at &lt;a href=&#34;http://www.wordcampportland.org/&#34;&gt;WordCamp Portland&lt;/a&gt; this morning was &amp;ldquo;&lt;a href=&#34;http://www.slideshare.net/grigs/speed-up-wordpress-wordcamp-pdx-2009&#34;&gt;Speed Up WordPress&lt;/a&gt;&amp;rdquo; with Jason Grigs of &lt;a href=&#34;http://www.cloudfour.com/&#34;&gt;Cloud Four&lt;/a&gt;. He jokingly argues that &amp;ldquo;we&amp;rsquo;ve remade the internet in our image and the image is obese.&amp;rdquo; Since 2003, web page size has tripled, number of objects has doubled, and we can partially blame it on WordPress. On the developer&amp;rsquo;s side, the expectation is that everyone is going to be on a fast connection, with broadband at home or at work.&lt;/p&gt;&#xA;&lt;p&gt;Page load time, however, determines whether people will stay on your site and do what you want them to do. Speed and performance affect can change perceived quality and credibility of the website. &amp;ldquo;You can have a great brand and your site is really slow and people will think you&amp;rsquo;re crap online.&amp;rdquo; It&amp;rsquo;s critically important that your application maintains the user&amp;rsquo;s flow and focus. Amazon says they lose $1 million for every extra second in their shopping cart experience. There&amp;rsquo;s also an environmental impact for slow site. The number of data centers in the last four years has doubled, and has an energy consumption equivalent to five 1,000 megawatt power plants or the entire state of Mississippi.&lt;/p&gt;&#xA;&lt;p&gt;In short, build a site that is optimized and doesn&amp;rsquo;t use more resources than it needs to. Be proactive about it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>First session at <a href="http://www.wordcampportland.org/">WordCamp Portland</a> this morning was &ldquo;<a href="http://www.slideshare.net/grigs/speed-up-wordpress-wordcamp-pdx-2009">Speed Up WordPress</a>&rdquo; with Jason Grigs of <a href="http://www.cloudfour.com/">Cloud Four</a>. He jokingly argues that &ldquo;we&rsquo;ve remade the internet in our image and the image is obese.&rdquo; Since 2003, web page size has tripled, number of objects has doubled, and we can partially blame it on WordPress. On the developer&rsquo;s side, the expectation is that everyone is going to be on a fast connection, with broadband at home or at work.</p>
<p>Page load time, however, determines whether people will stay on your site and do what you want them to do. Speed and performance affect can change perceived quality and credibility of the website. &ldquo;You can have a great brand and your site is really slow and people will think you&rsquo;re crap online.&rdquo; It&rsquo;s critically important that your application maintains the user&rsquo;s flow and focus. Amazon says they lose $1 million for every extra second in their shopping cart experience. There&rsquo;s also an environmental impact for slow site. The number of data centers in the last four years has doubled, and has an energy consumption equivalent to five 1,000 megawatt power plants or the entire state of Mississippi.</p>
<p>In short, build a site that is optimized and doesn&rsquo;t use more resources than it needs to. Be proactive about it.</p>
<p>There are a few steps you can take to get started in optimizing your site. <a href="http://getfirebug.com/">Firebug</a> for Firefox, <a href="http://developer.yahoo.com/yslow/">YSlow</a> (a Firebug plugin), and <a href="http://code.google.com/speed/page-speed/">Google Page Speed</a> are tools to help you in your efforts. First, ask the question: Are you site load issues related to server performance or client performance? You can use Firebug to test how long it takes to download the HTML from the server. If it takes several seconds, then it&rsquo;s most likely a server issues. Otherwise, it&rsquo;s a client-side performance issue.</p>
<p>If it&rsquo;s a server issue, <a href="http://wordpress.org/extend/plugins/sqlmon/">SQL Monitor</a> is a WordPress plugin that will look at how many SQL queries your site is making on each page request. When turned on, it will print all of the queries at the bottom of the page. During the demo, <a href="http://www.cloudfour.com/">Cloud Four</a> had 49 where <a href="http://siliconflorist.com/">Silicon Florist</a> had over 1,000. This will cause a slow response time from the server.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>, when installed and activated, will show you at the bottom of the page whether it&rsquo;s working or not. Many people install WP Super Cache, activate it, and expect that it will automatically make their sites faster. Sometimes it&rsquo;s not as simple and doesn&rsquo;t get configured properly.</p>
<p>Most of the time with site performance, however, it&rsquo;s not the server. Yahoo found that, across a number of sites, only 5% of the performance was related to downloading HTML. When you&rsquo;re doing performance work, you should make sure to do a benchmark test at the very beginning. Use that as a foundation for the work that you&rsquo;re going to be doing.</p>
<p><strong>First rule of improving WordPress performance:</strong> GZIP everything like your life depends on it. Case study showed 80% reduction in file size. Most servers will let you do this with an addition to your htaccess file:</p>
<p><code>&lt;IfModule mod_deflate.c&gt; AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript application/x-httpd-php application/rss+xml application/atom_xml &lt;/IfModule&gt;</code></p>
<p><strong>Second rule:</strong> Tell browsers to cache everything possible. Even if the file has been stored locally, the browser will still make a request for a new file. Yahoo solves this problem by naming files with the date they were created, and then telling the browser to never expire that file. Something like &ldquo;logo.png&rdquo; becomes &ldquo;logo-20090919.png&rdquo;. If you need to update the image, then it&rsquo;s just a matter of uploading a new image with an updated file name. Not doing this will lead to massive HTTP requests on every page the user loads (which is bad). This can also be done through an htaccess change:</p>
<p><code>&lt;IfModule mod_expires.c&gt; ExpiresActive on ExpiresByType image/gif &quot;access plus 1 month&quot; ExpiresByType image/jpeg &quot;access plus 1 month&quot; ExpiresByType image/png &quot;access plus 1 month&quot; ExpiresByType text/css &quot;access plus 1 month&quot; ExpiresByType application/javascript &quot;access plus 1 month&quot; ExpiresByType application/x-javascript &quot;access plus 1 month&quot; ExpiresByType application/x-icon &quot;access plus 1 year&quot; &lt;/IfModule&gt;</code></p>
<p><strong>Third rule:</strong> Reduce the number of files on each page load. Combine all of the CSS or Javascript into as few as files as possible. WordPress creates this problem because of the number of plugins you can install. Each one wants to add its own CSS and Javascript. There are ways that you can combine them into one request.</p>
<p><strong>Fourth rule:</strong> Make sure your images are of the correct size and format. For instance, with the WordCamp Portland logo, the PNG version was 4 kb and JPG version was 24 kb. The JPG image was uploaded to the site originally. Also, make sure images have been resized to what they will be displayed as. Don&rsquo;t load a larger image than you need to.</p>
<p><strong>Bonus rule:</strong> Use CSS sprites for your images and graphics. There&rsquo;s a website called <a href="http://spriteme.org/">SpriteMe</a> that will find all of the images on the site, suggest which can be made into a sprite, create the sprite for you, and even generate the new CSS for you to place in your stylesheet. Site optimization for the lazy folk.</p>]]></content:encoded>
    </item>
    <item>
      <title>Syncing contacts, Spanning Sync, and trust</title>
      <link>https://danielbachhuber.com/syncing-contacts-spanning-sync-and-trust/</link>
      <pubDate>Tue, 15 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/syncing-contacts-spanning-sync-and-trust/</guid>
      <description>&lt;p&gt;My second attempt gets a B-.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m a big fan of services that can &lt;em&gt;reliably&lt;/em&gt; keep my data in sync across multiple computers. &lt;a href=&#34;http://www.getdropbox.com/&#34;&gt;Dropbox&lt;/a&gt; is likely my all-time favorite, and allows me to &lt;em&gt;effortlessly&lt;/em&gt; sync 50 GB of documents, code, and media between my laptop and my desktop (ahem, .Mac). CoPress has a folder we&amp;rsquo;ve shared amongst the entire team for making accessible meeting notes, documentation, legal information, etc. &lt;a href=&#34;http://www.evernote.com/&#34;&gt;Evernote&lt;/a&gt;, even with a mediocre user interface, enables me to quickly have access to my notes across any device. My notes are organized in the way of the GTD and I can easily search or filter by tag to get what I need.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My second attempt gets a B-.</p>
<p>I&rsquo;m a big fan of services that can <em>reliably</em> keep my data in sync across multiple computers. <a href="http://www.getdropbox.com/">Dropbox</a> is likely my all-time favorite, and allows me to <em>effortlessly</em> sync 50 GB of documents, code, and media between my laptop and my desktop (ahem, .Mac). CoPress has a folder we&rsquo;ve shared amongst the entire team for making accessible meeting notes, documentation, legal information, etc. <a href="http://www.evernote.com/">Evernote</a>, even with a mediocre user interface, enables me to quickly have access to my notes across any device. My notes are organized in the way of the GTD and I can easily search or filter by tag to get what I need.</p>
<p>Trust, however, is a very critical component of any relationship with a cloud or syncing service, and transparency is one method for achieving it. Dropbox is a pro in this regard; every account has at least 30 days of version history for anything that&rsquo;s being synced.</p>
<p><a href="http://twitter.com/danielbachhuber/status/3982968179">Early yesterday</a>, I made the move to Adium and decided that I finally wanted my Address Book accessible across multiple computers. <a href="http://spanningsync.com/">Spanning Sync</a> was the most obvious choice, as I&rsquo;ve been using it to bring my calendar from iCal to Google Calendar and then to another iCal for several months now with no serious complaints. It&rsquo;s blind trust in the service, though. Spanning Sync has a sync log, but the only way to revert to prior versions is to make your own backups and brute force it. The same thing applies to Address Book information which, in my situation, isn&rsquo;t all that great of a solution.</p>
<p>I did as clean of a sync process as I could think of to get it right the first time. The Address Book on my MacBook has the gold master of my contacts, so I backed up and did a one-way sync to Google (overwriting all of my contact data) and then a one-way sync down to my desktop.</p>
<p>The result? I have 794 contacts on my MacBook, 743 contacts in Gmail, and 742 contacts on my iMac. It almost worked. Kinda.</p>
<p>Spanning Sync presents two significant issues for me that also affect the amount of trust I have in relationships with cloud syncing services in general. First and foremost, the numbers don&rsquo;t add up. Not all of my contacts were synced properly, while some were entirely deleted along the way, and I have no way of figuring this out until I unsuccessfully try to find a person&rsquo;s contact information. Of the 10 or so numbers marked as &ldquo;favorites&rdquo; on my phone, 4 lost their corresponding address cards. For the convenience of having contacts synced across computers, I&rsquo;m willing to deal with this to some degree. Secondly, version history needs to be more robust than a log file. Every cloud service should keep a changelog of a week or more where the user can go back and revert an object to a prior state.</p>
<p>Intuitively addressing these issues in any web product means a greater amount of trust in the relationship.</p>
]]></content:encoded>
    </item>
    <item>
      <title>New workstation unboxing</title>
      <link>https://danielbachhuber.com/new-workstation-unboxing/</link>
      <pubDate>Thu, 13 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-workstation-unboxing/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/dsc1264_h5001.jpg&#34; alt=&#34;The workstation&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;300&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Not actually an unboxing because I ended up putting it together late last night. I&amp;rsquo;ve been long coveting a workstation that I can either stand or sit at. A couple of folks at Grist had them, and Drew Bernard at ONE/Northwest has one he hijacked from a drafting table such that it goes up and down. I was envious all last summer.&lt;/p&gt;&#xA;&lt;p&gt;Yesterday, I finally convinced my mom to make an Ikea run with me. Originally, I was looking at either the Galant or Fredrik. The &lt;a href=&#34;http://brightkite.com/objects/3c73066887b111de9cc2003048c0801e&#34;&gt;Galant is a table that can be raised as high as 35 inches&lt;/a&gt;. This isn&amp;rsquo;t enough to stand at, but conceivably you could stack something on top of it that would act as the workstation. Most attractively, it has a very wide surface area to work with.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/dsc1264_h5001.jpg" alt="The workstation"  width="500"
	height="300"  /></p>
<p>Not actually an unboxing because I ended up putting it together late last night. I&rsquo;ve been long coveting a workstation that I can either stand or sit at. A couple of folks at Grist had them, and Drew Bernard at ONE/Northwest has one he hijacked from a drafting table such that it goes up and down. I was envious all last summer.</p>
<p>Yesterday, I finally convinced my mom to make an Ikea run with me. Originally, I was looking at either the Galant or Fredrik. The <a href="http://brightkite.com/objects/3c73066887b111de9cc2003048c0801e">Galant is a table that can be raised as high as 35 inches</a>. This isn&rsquo;t enough to stand at, but conceivably you could stack something on top of it that would act as the workstation. Most attractively, it has a very wide surface area to work with.</p>
<p><img src="images/dsc1259_h5001.jpg" alt="Ample workspace"  width="500"
	height="335"  /></p>
<p> </p>
<p>The <a href="http://brightkite.com/objects/8ae4046487b111de850e003048c0801e">Fredrik is designed specifically to be a computer workstation</a>. It has multiple shelves that you can manually adjust the position of such that it can work as a standing desk or a sitting desk. The downside was that it seemed really utilitarian and &ldquo;office furniture&rdquo;-like to me. I wasn&rsquo;t absolutely set on either.</p>
<p>In the 11th hour of the decision-making, <a href="http://twitter.com/AndrewJesaitis/status/3278618521">Andrew Jesaitis suggested I look at IKEA&rsquo;s bar tables</a>. It was there I came across the <a href="http://www.ikea.com/us/en/catalog/products/50108215">Leksvik</a>, and I&rsquo;ve been rocking it all morning. It offers the same large surface space I wanted out of the Galant while also being tall enough that I can perfectly stand and work. There&rsquo;s even a matching stool I can use when I need to sit.</p>
<p><img src="images/dsc1253_h5001.jpg" alt="DSC1253_h500"  width="500"
	height="400"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>What aren&#39;t we going to build?</title>
      <link>https://danielbachhuber.com/what-arent-we-going-to-build/</link>
      <pubDate>Sat, 08 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-arent-we-going-to-build/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://twitter.com/maxcutler/status/3180872549&#34;&gt;maxcutler&lt;/a&gt;: 3 journo devs and 6 hours to work. Please give us project ideas! Tomorrow with &lt;a href=&#34;http://www.twitter.com/danielbachhuber&#34; title=&#34;Click here to view this profile on Twitter!&#34;&gt;@danielbachhuber&lt;/a&gt; and &lt;a href=&#34;http://www.twitter.com/davidestes&#34; title=&#34;Click here to view this profile on Twitter!&#34;&gt;@davidestes&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The question isn&amp;rsquo;t what &lt;em&gt;are&lt;/em&gt; we going to build, but really what &lt;em&gt;aren&amp;rsquo;t&lt;/em&gt; we going to build?&lt;/p&gt;&#xA;&lt;h3 id=&#34;open-assignment-desk&#34;&gt;Open Assignment Desk&lt;/h3&gt;&#xA;&lt;p&gt;The Open Assignment Desk (formerly known as the Virtual Assignment Desk) is a tool for leveraging openness in the story creation process. Hat tip to Jay Rosen and Dave Winer for talking about the left side of the same idea in &lt;a href=&#34;http://www.scripting.com/stories/2009/06/08/rebootingTheNewsPodcast12.html&#34;&gt;episode #12&lt;/a&gt; and &lt;a href=&#34;http://rebootnews.com/2009/07/27/00024.html&#34;&gt;episode #18&lt;/a&gt; of Rebooting the News.&lt;/p&gt;&#xA;&lt;p&gt;It brings the funk in stages.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://twitter.com/maxcutler/status/3180872549">maxcutler</a>: 3 journo devs and 6 hours to work. Please give us project ideas! Tomorrow with <a href="http://www.twitter.com/danielbachhuber" title="Click here to view this profile on Twitter!">@danielbachhuber</a> and <a href="http://www.twitter.com/davidestes" title="Click here to view this profile on Twitter!">@davidestes</a></p>
<p>The question isn&rsquo;t what <em>are</em> we going to build, but really what <em>aren&rsquo;t</em> we going to build?</p>
<h3 id="open-assignment-desk">Open Assignment Desk</h3>
<p>The Open Assignment Desk (formerly known as the Virtual Assignment Desk) is a tool for leveraging openness in the story creation process. Hat tip to Jay Rosen and Dave Winer for talking about the left side of the same idea in <a href="http://www.scripting.com/stories/2009/06/08/rebootingTheNewsPodcast12.html">episode #12</a> and <a href="http://rebootnews.com/2009/07/27/00024.html">episode #18</a> of Rebooting the News.</p>
<p>It brings the funk in stages.</p>
<p>The first is to fulfill the needs of the newsroom in regards to managing story workflow. Stories can start as pitches, get approved and become drafts, and, once completed, go through the editing process to become published pieces. The Open Assignment Desk fills things in by tracking all of the meta data associated with this process, including when the story is due, whether there will be associated photography, the location of the story, etc. Each newsroom would be able to fine-tune their workflow as well. If the publication was going for speed, then their editing process might just be one stage. If the newsroom was more concerned about the accuracy of their content, then they might have a three stage editing process. This idea isn&rsquo;t really that unique; Max has a <a href="http://groups.google.com/group/courantnews/browse_thread/thread/890dc88b05c45e7b">product he&rsquo;s working on for the Courant News CMS called Nando</a>, and CoPress has a <a href="http://www.copress.org/wiki/Edit_Flow_Project">currently stalled project called Edit Flow</a> that will soon be back on its feet.</p>
<p>Once the newsroom has adopted the tool, then you roll out stage two: the ability to make this editorial flow public. The newsroom has granular control over which parts of the editorial process are transparent. If they decide to be open about the decisions within the newsroom, the news organization can build engagement with their community and, ideally, the community develops a greater sense of ownership of its journalism as process.</p>
<p>The third act is to allow the community to contribute to the reporting flow in a meaningful way. There are two specific things I&rsquo;m considering at this point:</p>
<ol>
<li>The editorial process is exposed in such a fashion that, at any point along the way, the community can contribute content they think is relevant and useful. &ldquo;At that concert last night?&rdquo; the news organization asks. &ldquo;We&rsquo;re working on a story about it and would love to feature the best of the photos.&rdquo; The community can also submit notes and opinions on the story in progress much like commenting on the final product. The comments they add when the story is in progress can be used (and linked to) as sources for the story.</li>
<li>The community is able to pitch story assignments. If they see something they don&rsquo;t think is being covered, they can pitch it as a story and start on the reporting process by identifying the questions that need to be asked, attaching images, and so on. One positive side effect of this functionality would be the ability to dump &ldquo;all&rdquo; of the stories that the community thinks need to be covered and then deduce the percentage that the news organization is actually covering. The abstraction of this is the ability to identify all of the information the community thinks it needs, and then use that as the foundation for the reporting process.</li>
</ol>
<h3 id="news-community-relationship-management-ncrm">News Community Relationship Management (nCRM)</h3>
<p>News CRM acts as an open, participatory rolodex. The goal is to capture common knowledge about sources based both on what the journalists of a news organization know, as data generated by how the source interacts with the news organization.</p>
<p>The best way to describe this is by doing a mental fly-through. When a journalist is interviewing someone the system has never seen before, they create a new profile in the system. The profile contains fields for contact information, location, occupation, etc. and a free form wiki text area for notes about the person. The journalist doing the interview can also create an association between their text notes, audio file from the interview, and other content within the CMS to the source profile. By doing this, journalists who need to pull information about the source in the future will have access to the sum of news organization&rsquo;s knowledge.</p>
<p>Assuming the source interacted digitally with the news organization on a regular basis, the CRM application would also be responsible for extending their profile by tracking those interactions. For instance, in step one the journalist would record any or all email addresses regularly used by the source. If the source comments on an article where they are quoted, then the comment could be flagged as a clarification in relationship to their profile. If the source comments on another article, then the tags of that article would be applied to the source profile as topics of interest. Based on how the community reacts to the comment, by voting it either up or down, the source&rsquo;s authority on the topic would change dynamically.</p>
<p>The goal with this tool is really to structure information about a news organization&rsquo;s community such that when the reporter needs to do interviews on, say, <a href="http://www.danielbachhuber.com/tag/water/">water</a>, they have an entire database of the &ldquo;right&rdquo; people to seek out.</p>]]></content:encoded>
    </item>
    <item>
      <title>Backdoors in the interwebs</title>
      <link>https://danielbachhuber.com/backdoors-in-the-interwebs/</link>
      <pubDate>Mon, 03 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/backdoors-in-the-interwebs/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2009/08/duckwebflaw_h12001.jpg&#34;&gt;&lt;img src=&#34;images/duckwebflaw_h5001.jpg&#34; alt=&#34;Flaw in DuckWeb was caused by lax security practices&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;155&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;On Tuesday, July 21 around 11 pm Pacific, I &lt;a href=&#34;http://twitter.com/danielbachhuber/status/2773496641&#34;&gt;stumbled across a serious information security flaw in DuckWeb&lt;/a&gt;, the University of Oregon&amp;rsquo;s student information portal. For some of the work I&amp;rsquo;ve been doing with &lt;a href=&#34;http://www.publish2.com/&#34;&gt;Publish2&lt;/a&gt;, I&amp;rsquo;ve been paying close attention to the composition and beauty of URLs. When printing out my degree audit for a &lt;a href=&#34;http://twitter.com/danielbachhuber/status/2781414242&#34;&gt;trip down to Eugene the next day&lt;/a&gt;, I realised that the print version of the degree audit had a unique string of digits at the end of the URL. Curious, I changed the last two, refreshed, and ended up with someone else&amp;rsquo;s degree audit.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://danielbachhuber.com/wp-content/uploads/2009/08/duckwebflaw_h12001.jpg"><img src="images/duckwebflaw_h5001.jpg" alt="Flaw in DuckWeb was caused by lax security practices"  width="500"
	height="155"  /></a></p>
<p>On Tuesday, July 21 around 11 pm Pacific, I <a href="http://twitter.com/danielbachhuber/status/2773496641">stumbled across a serious information security flaw in DuckWeb</a>, the University of Oregon&rsquo;s student information portal. For some of the work I&rsquo;ve been doing with <a href="http://www.publish2.com/">Publish2</a>, I&rsquo;ve been paying close attention to the composition and beauty of URLs. When printing out my degree audit for a <a href="http://twitter.com/danielbachhuber/status/2781414242">trip down to Eugene the next day</a>, I realised that the print version of the degree audit had a unique string of digits at the end of the URL. Curious, I changed the last two, refreshed, and ended up with someone else&rsquo;s degree audit.</p>
<p>Now, I believe this is what security experts might call a &ldquo;really stupid programming error.&rdquo; Better yet, I found out that I could log out of DuckWeb and, with the URL I had copied and pasted into a text file, still access the print view of my degree audit.</p>
<p>According to an <a href="http://www.dailyemerald.com/news/security-lapse-makes-gpas-visible-1.236115">article published today in the Daily Emerald</a>:</p>
<blockquote>
<p>The glitch originated in the system the University uses to upload degree audits. All degree audits for which information has changed on a given day are uploaded simultaneously that night and assigned what [University registrar Sue] Eveland said is a randomly-generated nine-digit number called a batch number. That number is at the end of the URL for the printer-friendly version of the audit and it is the one Bachhuber used to access the degree audits.</p>
<p>Eveland said only the first audit uploaded on a given night was accessible through the glitch. She also said the University removes the data tied to the batch numbers every 30 days, which she said means that only “15 to 20” audits would have been available to those who knew about the glitch at any given time during a 30-day period.</p></blockquote>
<p>To correct the facts stated in the article, I originally emailed both the <a href="https://danielbachhuber.com/wp-content/uploads/2009/08/20090721duckweb_registrar1.pdf">Registrar&rsquo;s office</a> and <a href="https://danielbachhuber.com/wp-content/uploads/2009/08/20090721duckweb_ithelp1.pdf">University IT Help</a> late Tuesday night. I didn&rsquo;t expect a prompt response during the summer, and was pleasantly surprised at how quickly they both responded to my email and acted on the flaw (by first disabling the print functionality and then later adding a patch). One of the people I corresponded with credited the screencast I originally made of the exploit as &ldquo;very valuable in [their] initial testing.&rdquo; Additionally, I did not look at the degree audits of three other students.</p>
<p>If I were doing the reporting on the story, I would also vet the claims of the University in regards to the number of student records you could access with the exploit. Only allowing &ldquo;15 to 20&rdquo; student records to be publicly accessible to anyone is still in <a href="http://en.wikipedia.org/wiki/Family_Educational_Rights_and_Privacy_Act">violation of FERPA</a> and, depending on how the system works, the exploit could have allowed access to different student records at different periods of time. I&rsquo;m pretty sure that I&rsquo;ve been able to print my degree audit the entire time I&rsquo;ve been at the University of Oregon.</p>]]></content:encoded>
    </item>
    <item>
      <title>Fundamentally rebooting J school</title>
      <link>https://danielbachhuber.com/fundamentally-rebooting-j-school/</link>
      <pubDate>Mon, 03 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/fundamentally-rebooting-j-school/</guid>
      <description>&lt;p&gt;Journalism education needs much more of a fundamental reboot than just adding courses to teach &amp;ldquo;social media,&amp;rdquo; and the world has room for one more podcast full of pundits to guide the transformation. We give you:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;This Week in Rebooting the Ecosystem for Reinventing J school&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Writer&amp;rsquo;s note (because there ain&amp;rsquo;t no editor): In all seriousness, the three of us love, like serious humanly love, &lt;a href=&#34;http://twit.tv/twit&#34;&gt;This Week in Tech&lt;/a&gt;, &lt;a href=&#34;http://rebootnews.com/&#34;&gt;Rebooting the News&lt;/a&gt;, and all people, podcasts, and/or cities we tease at in this episode. It&amp;rsquo;s only out of love that we jest. We have better technical difficulties too.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;To frame the solutions to the problem, we begin by establishing some of the ways in which J school is a broken model for the 21st century. In most other fields, &lt;a href=&#34;http://byjoeybaker.com/&#34;&gt;Joey Baker&lt;/a&gt; points out, academia is the research space. If that&amp;rsquo;s not the case, then it&amp;rsquo;s the military. The news industry is the only one where the industry leads and academia is behind.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.greglinch.com/&#34;&gt;Greg Linch&lt;/a&gt; points out another issue in that J schools, as institutions, are &lt;em&gt;really&lt;/em&gt; slow to change. They have a critical inability to adapt quickly. This is a bigger issue in the 21st century because some of the tools journalists need to know how to use are &lt;a href=&#34;http://www.youtube.com/watch?v=cL9Wu2kWwSY&#34; title=&#34;Obligatory link to &#39;Did you know&#39;?&#34;&gt;changing at an exponential rate&lt;/a&gt;. As both Joey Baker and I point out, many of the tools taught in a four year undergraduate program are obsolete or nearing such a stage by graduation. J schools aren&amp;rsquo;t going to get back ahead by teaching &amp;ldquo;social media.&amp;rdquo; The problem isn&amp;rsquo;t with &lt;em&gt;what&lt;/em&gt; they&amp;rsquo;re teaching, but rather &lt;em&gt;how&lt;/em&gt; they&amp;rsquo;re teaching it. Another fundamental that needs to change.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Journalism education needs much more of a fundamental reboot than just adding courses to teach &ldquo;social media,&rdquo; and the world has room for one more podcast full of pundits to guide the transformation. We give you:</p>
<p><strong>This Week in Rebooting the Ecosystem for Reinventing J school</strong></p>
<p><em>Writer&rsquo;s note (because there ain&rsquo;t no editor): In all seriousness, the three of us love, like serious humanly love, <a href="http://twit.tv/twit">This Week in Tech</a>, <a href="http://rebootnews.com/">Rebooting the News</a>, and all people, podcasts, and/or cities we tease at in this episode. It&rsquo;s only out of love that we jest. We have better technical difficulties too.</em></p>
<p>To frame the solutions to the problem, we begin by establishing some of the ways in which J school is a broken model for the 21st century. In most other fields, <a href="http://byjoeybaker.com/">Joey Baker</a> points out, academia is the research space. If that&rsquo;s not the case, then it&rsquo;s the military. The news industry is the only one where the industry leads and academia is behind.</p>
<p><a href="http://www.greglinch.com/">Greg Linch</a> points out another issue in that J schools, as institutions, are <em>really</em> slow to change. They have a critical inability to adapt quickly. This is a bigger issue in the 21st century because some of the tools journalists need to know how to use are <a href="http://www.youtube.com/watch?v=cL9Wu2kWwSY" title="Obligatory link to 'Did you know'?">changing at an exponential rate</a>. As both Joey Baker and I point out, many of the tools taught in a four year undergraduate program are obsolete or nearing such a stage by graduation. J schools aren&rsquo;t going to get back ahead by teaching &ldquo;social media.&rdquo; The problem isn&rsquo;t with <em>what</em> they&rsquo;re teaching, but rather <em>how</em> they&rsquo;re teaching it. Another fundamental that needs to change.</p>
<p>A third issue is that the core curriculum is one size fits all. The <a href="http://www.youtube.com/watch?v=dGCJ46vyR9o" title="Obligatory link to Michael Wesch">class structure and material of 200-level courses is generally designed for the perceived average of 200 hundred students</a>. As such, it doesn&rsquo;t match any of them well and at least some of them are in the extreme ends of the bell curve where the class is completely worthless.</p>
<p>The grading system is broken because there&rsquo;s no system of rewards for those who try experiments and learn from their failures. The list goes on.</p>
<p>It&rsquo;s not the end of the world for journalism schools, the university system, or newspapers. There are just fundamental ways in which each need to change.</p>
<p>On a related note, I thought of two more parallels between <a href="http://www.danielbachhuber.com/2009/02/03/parallels-between-journalism-and-education/">J school and newspapers</a> in the past 24 hours. One: <a href="http://twitter.com/danielbachhuber/status/3082039886">all of the university lectures around the world are pretty much rewrites of the same thing</a>. Two: students have very little say in the content of what they get from the professor.</p>
<p>The solutions aren&rsquo;t unique and won&rsquo;t be easy to implement, but <a href="http://www.danielbachhuber.com/2009/02/16/save-the-old-or-start-new/">all of the ideas</a> <a href="http://www.danielbachhuber.com/2009/02/16/save-the-old-or-start-new/">we discussed</a> would make us excited to be back in school (bootcamps, barcamps, testing out of classes, and <a href="http://www.danielbachhuber.com/2008/11/26/peripheral-education/">experiential education</a> ftw).</p>
<p>Our picks of the week are:</p>
<ul>
<li><a href="http://www.tynt.com/tracer/home">Tynt Tracer</a>, from Joey - If you turn off the annoying &ldquo;feature&rdquo; where it adds a link to the end of the bit of text you&rsquo;ve copied, then it&rsquo;s a tool that offers really cool analytics on what people are copy and pasting from your website including word clouds and all that jazz.</li>
<li><a href="http://www.kaltura.org/project/kalturaCE">Kaltura Community Edition</a>, from Greg - open source video server you can host yourself.</li>
<li><a href="http://skitch.com/">Skitch</a>, from Daniel - Wickedly simple and fast way to <a href="http://img.skitch.com/20090803-81wsgkhnb1mu95rrsd9pesy6t3.jpg">communicate visually</a> (Mac only).</li>
</ul>
<p>Enjoy the podcast. It&rsquo;s worth skipping the first nine minutes and then listening to the rest all of the way through. Greg has a brilliant point that we actually had to create an addendum for at the end.</p>
<p><strong>Later:</strong> In my rush to get this post out, I missed two really great sets of ideas from earlier this year: &ldquo;<a href="http://www.tamark.ca/students/2009/03/06/remaking-journalism-education-some-thoughts/">Remaking Journalism Education: Some Thoughts</a>&rdquo; from March and &ldquo;<a href="http://www.collegejourn.com/2009/02/bring-a-professor-chat-wrapup.html">Bring-a-Professor chat wrap-up</a>&rdquo; at CollegeJourn in February. Absorb those as well.</p>
<p>[audio:http://danielbachhuber.files.wordpress.com/audio/db20090802reinventjschool.mp3]</p>]]></content:encoded>
    </item>
    <item>
      <title>News entrepreneurship session at Digital Journalism Camp</title>
      <link>https://danielbachhuber.com/news-entrepreneurship-session-at-digital-journalism-camp/</link>
      <pubDate>Sat, 01 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/news-entrepreneurship-session-at-digital-journalism-camp/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_051911.jpg&#34; alt=&#34;Steve Woodward and Carolynn Duncan of the Portland Ten&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;375&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Arrived a few minutes late to &lt;a href=&#34;http://journopdx.wordpress.com/&#34;&gt;Digital Journalism Camp&lt;/a&gt;, organized by &lt;a href=&#34;http://abrahamhyatt.com/&#34;&gt;Abraham Hyatt&lt;/a&gt;, and these are my notes from the first session about news entrepreneurship in Portland. Steve Woodward and Carolyn Duncan, of the &lt;a href=&#34;http://www.portlandten.com/&#34;&gt;Portland Ten&lt;/a&gt;, led the session.&lt;/p&gt;&#xA;&lt;p&gt;Steve Woodward of &lt;a href=&#34;http://nozzlmedia.com/&#34;&gt;Nozzl Media&lt;/a&gt; argues that the drop in newspaper revenue is a metrics problem. Newspapers need to work more with metrics and be able to prove their value such that they can reengage their advertisers. The tools for metrics in print are much less than the tools for metrics online.&lt;/p&gt;&#xA;&lt;p&gt;Discussion about Perez Hilton. Carolyn Duncan asks &amp;ldquo;who the hell was this guy three years ago?&amp;rdquo; Chuckles from the audience as someone asks &amp;ldquo;who the hell is this guy now?&amp;rdquo; The same guy asking that question follows up with &amp;ldquo;if you want to be in this business, trust is the word. If you don&amp;rsquo;t have trust, you&amp;rsquo;re not going to make a dollar.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://twitter.com/PeteForsyth&#34;&gt;Pete Forsyth&lt;/a&gt; on trust and citing sources on Wikipedia: &amp;ldquo;you want to have a clear, transparent editorial process.&amp;rdquo; The producer of the content has to adhere to a published set of standards that others can audit.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_051911.jpg" alt="Steve Woodward and Carolynn Duncan of the Portland Ten"  width="500"
	height="375"  /></p>
<p>Arrived a few minutes late to <a href="http://journopdx.wordpress.com/">Digital Journalism Camp</a>, organized by <a href="http://abrahamhyatt.com/">Abraham Hyatt</a>, and these are my notes from the first session about news entrepreneurship in Portland. Steve Woodward and Carolyn Duncan, of the <a href="http://www.portlandten.com/">Portland Ten</a>, led the session.</p>
<p>Steve Woodward of <a href="http://nozzlmedia.com/">Nozzl Media</a> argues that the drop in newspaper revenue is a metrics problem. Newspapers need to work more with metrics and be able to prove their value such that they can reengage their advertisers. The tools for metrics in print are much less than the tools for metrics online.</p>
<p>Discussion about Perez Hilton. Carolyn Duncan asks &ldquo;who the hell was this guy three years ago?&rdquo; Chuckles from the audience as someone asks &ldquo;who the hell is this guy now?&rdquo; The same guy asking that question follows up with &ldquo;if you want to be in this business, trust is the word. If you don&rsquo;t have trust, you&rsquo;re not going to make a dollar.&rdquo;</p>
<p><a href="http://twitter.com/PeteForsyth">Pete Forsyth</a> on trust and citing sources on Wikipedia: &ldquo;you want to have a clear, transparent editorial process.&rdquo; The producer of the content has to adhere to a published set of standards that others can audit.</p>
<p>From <a href="http://twitter.com/aweiss">Aaron Weiss</a>, &ldquo;TMZ adheres to a different set of ethics than CNN because it pays sources for information&rdquo;. Reaction to that is that &ldquo;it&rsquo;s a mistake to think that all bloggers don&rsquo;t follow a editorial process.&rdquo; There&rsquo;s a layer of news gathering right now that&rsquo;s figuring itself out.</p>
<p>Nozzl Media is at the state of figuring out what the users want by asking them directly, instead of having conversations with other journalists about what the users might want (which is what is happening in this session). 100% of respondents didn&rsquo;t want advertisements but did want to learn about deals offered by different businesses.</p>
<p>Kristin Wolff: &ldquo;It&rsquo;s an exchange. There&rsquo;s an important element to this exchange and that is disclosure.&rdquo; Transparency is the new objectivity. Bloggers offer this objectivity and are more open about who their advertisers are and how they are paid. The advertisements with the Sunday newspaper are just dumped into the recycling.</p>
<p>Steve Woodward argues that the local advertisers who don&rsquo;t normally advertise in the newspaper (because it costs too much) are much more savvy about Google AdWords, etc.</p>
<p>Aaron Weiss asks why isn&rsquo;t anyone at the bigger news websites in the Portland area trying to figure out the technology to sell more targeted ads? Carolyn Duncan argues that it&rsquo;s because it&rsquo;s not anyone on the business side&rsquo;s core competency.</p>
<p><a href="http://kenkeiter.com/">Ken Keiter</a> says that it&rsquo;s important to remember that large companies like KGW bring in outside companies to figure out the new advertising technologies. They don&rsquo;t have the technical competency in-house to do the innovation that&rsquo;s necessary to do more targeted advertising, invent new revenue streams, etc.</p>
<p>Question from the audience: what are the solutions you guys are thinking of? Some discussion about innovation at the Oregonian. Steve Woodward points out that this is one of the only rooms at The Oregonian with whiteboards in the newsroom. The Oregonian needs to invite more creative people into the building because &ldquo;the business model has blown up like an IED.&rdquo;</p>]]></content:encoded>
    </item>
    <item>
      <title>Ethos behind Link Assist</title>
      <link>https://danielbachhuber.com/ethos-behind-link-assist/</link>
      <pubDate>Thu, 16 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ethos-behind-link-assist/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.org/extend/plugins/publish2/&#34;&gt;&lt;img src=&#34;images/wpannouncement2_h5001.jpg&#34; alt=&#34;Announcing a Publish2 plugin for WordPress&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;150&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;On Tuesday, I was quite pleased to &lt;a href=&#34;http://blog.publish2.com/2009/07/14/publish2-wordpress-plugin-do-more-with-your-links/&#34;&gt;announce the first formal release&lt;/a&gt; of the &lt;a href=&#34;http://wordpress.org/extend/plugins/publish2/&#34;&gt;Publish2 WordPress plugin&lt;/a&gt;. With the 1.1 version, journalists on Publish2 can easily add their link journalism to the sidebar of their blog, add a reading list &lt;a href=&#34;http://www.danielbachhuber.com/reading/&#34;&gt;much like I have on my own website&lt;/a&gt;, or have simple, intuitive access to their curated links at the point when they&amp;rsquo;re most likely to need them the most: when writing a story.&lt;/p&gt;&#xA;&lt;p&gt;Ok, enough with the public relations speak. That last bit is what I&amp;rsquo;m really excited about. We&amp;rsquo;re calling it Link Assist, and I&amp;rsquo;m itching to write about some of the the philosophy driving it.&lt;/p&gt;&#xA;&lt;p&gt;I digress to set the scene. Link Assist is a widget-y bit of functionality that lives in the sidebar of your edit post page within WordPress (where you&amp;rsquo;d actually write a post). Getting it set up is a simple process of dropping your link journalism URL (&lt;a href=&#34;http://www.publish2.com/journalists/daniel-bachhuber/links/&#34;&gt;this is mine&lt;/a&gt;) into &amp;ldquo;Your Profile&amp;rdquo; under &amp;ldquo;Users&amp;rdquo; and hitting the checkbox for Link Assist. Once you&amp;rsquo;ve done this, Link Assist will load automatically and in the background every time you set up to write a new post.&lt;/p&gt;&#xA;&lt;p&gt;This is where the magic happens.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/publish2/"><img src="images/wpannouncement2_h5001.jpg" alt="Announcing a Publish2 plugin for WordPress"  width="500"
	height="150"  /></a></p>
<p>On Tuesday, I was quite pleased to <a href="http://blog.publish2.com/2009/07/14/publish2-wordpress-plugin-do-more-with-your-links/">announce the first formal release</a> of the <a href="http://wordpress.org/extend/plugins/publish2/">Publish2 WordPress plugin</a>. With the 1.1 version, journalists on Publish2 can easily add their link journalism to the sidebar of their blog, add a reading list <a href="http://www.danielbachhuber.com/reading/">much like I have on my own website</a>, or have simple, intuitive access to their curated links at the point when they&rsquo;re most likely to need them the most: when writing a story.</p>
<p>Ok, enough with the public relations speak. That last bit is what I&rsquo;m really excited about. We&rsquo;re calling it Link Assist, and I&rsquo;m itching to write about some of the the philosophy driving it.</p>
<p>I digress to set the scene. Link Assist is a widget-y bit of functionality that lives in the sidebar of your edit post page within WordPress (where you&rsquo;d actually write a post). Getting it set up is a simple process of dropping your link journalism URL (<a href="http://www.publish2.com/journalists/daniel-bachhuber/links/">this is mine</a>) into &ldquo;Your Profile&rdquo; under &ldquo;Users&rdquo; and hitting the checkbox for Link Assist. Once you&rsquo;ve done this, Link Assist will load automatically and in the background every time you set up to write a new post.</p>
<p>This is where the magic happens.</p>
<p>Link Assist is all about making your own curated web more useful. When saving a link to Publish2 with comments and tags, you&rsquo;re making an implicit judgement that the link holds value. The immediate return on your effort is that you share the link with your readers, either via Twitter, <a href="http://bits.blogs.nytimes.com/2009/07/16/new-feature-on-bits-what-were-reading/">&ldquo;What We&rsquo;re Reading&rdquo; embedded on your publication&rsquo;s website</a>, etc. What you&rsquo;re doing when you&rsquo;re curating the web, however, is also creating a <em>repository of information whose value is in relationship to you</em>. The comments and tags you assign to a link define this relationship. Link Assist is another step in making that very repository much more accessible. When you have that thought of &ldquo;Oh, I remember reading such and such which would make a good link to the graf I&rsquo;m writing at the moment,&rdquo; the link you&rsquo;re thinking of should be at your metaphorical fingertips, instead of lost in one of the 50 tabs you have open.</p>
<p><a href="https://danielbachhuber.com/wp-content/uploads/2009/07/linkassist_v3001.jpg"><img src="images/linkassistfilter_h2001.jpg" alt="Filter by tags with Link Assist"  width="200"
	height="141"  /></a></p>
<p>With this first release, there two distinct navigational features to make this happen. The first is that clicking on the tags associated with every link will then filter your links by that tag. Personally, I have a deliberate approach to tagging my links. My strategy is intended to both serve as information descriptive to the reader and give them a broad sense of what the link is about, but also to serve as a navigational tool for me when I need to find that link again.</p>
<p>As an example, I often tag links with the <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/videos">type of</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/podcasts">link</a>, the <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/portland">location the link is relevant to</a>, and/or <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/journalism">broad</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/technology/">yet</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/international-development">descriptive</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/ideas/">keywords</a> for what the link is about. I&rsquo;m also a big fan of <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/knight-news-challenge/">using</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/WordPress/">proper</a> <a href="http://www.publish2.com/journalists/daniel-bachhuber/links/Oregon-Daily-Emerald/">nouns</a>. It isn&rsquo;t an exact science, but I try and mimic my tagging taxonomy across platforms (Publish2, WordPress, Gmail, etc.).</p>
<p>Ultimately, the work building this mental framework for how all of my links fit together pays large dividends. When presented with the right tools, I have a whole set of breadcrumbs I can follow to find the link I&rsquo;m thinking of. Link Assist takes advantage of this to make navigation, or getting at what you need to find, much more <em>intuitive</em>.</p>
<p>Link Assist also includes a second unique, experimental approach to navigation — as long as you&rsquo;re not on IE 6. You can use the entire right and left side columns as buttons, as well as arrows at the top, to go back and forth through your links.</p>
<p>There are a number of services out in the interwebs that will automatically populate your posts with links, images, and videos. Link Assist is geared towards those who have a prejudice against a machine and algorithm adding dubious value that is then passed off as their own. It&rsquo;s the human touch that adds the most value.</p>
<p>Link Assist meets you where you need it and offers a powerful way to better curate the web.</p>]]></content:encoded>
    </item>
    <item>
      <title>Campus directories done right</title>
      <link>https://danielbachhuber.com/campus-directories-done-right/</link>
      <pubDate>Mon, 13 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/campus-directories-done-right/</guid>
      <description>&lt;p&gt;Not to throw too many tomatoes, but the Daily Emerald made a very &amp;ldquo;newspaper&amp;rdquo; mistake today with their website. I&amp;rsquo;d like start a discussion about &amp;ldquo;the better way to do it.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Case in point: The Daily Emerald, I believe as a part of their magazine edition for IntroDUCKtion, created a campus directory. The directory includes dozens upon dozens of email addresses, URLs, and phone numbers for student organizations and sports at the University of Oregon. In the print magazine, which I don&amp;rsquo;t have access to because I&amp;rsquo;m in Portland, I&amp;rsquo;m sure this list of contact information is beautifully presented in an approachable, useful format. Unfortunately, this same list made its way into the website as a &lt;a href=&#34;http://media.www.dailyemerald.com/media/storage/paper859/news/2009/07/09/Magazine/Campus.Directory-3751295.shtml&#34;&gt;long, ugly, flat text file&lt;/a&gt;:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Not to throw too many tomatoes, but the Daily Emerald made a very &ldquo;newspaper&rdquo; mistake today with their website. I&rsquo;d like start a discussion about &ldquo;the better way to do it.&rdquo;</p>
<p>Case in point: The Daily Emerald, I believe as a part of their magazine edition for IntroDUCKtion, created a campus directory. The directory includes dozens upon dozens of email addresses, URLs, and phone numbers for student organizations and sports at the University of Oregon. In the print magazine, which I don&rsquo;t have access to because I&rsquo;m in Portland, I&rsquo;m sure this list of contact information is beautifully presented in an approachable, useful format. Unfortunately, this same list made its way into the website as a <a href="http://media.www.dailyemerald.com/media/storage/paper859/news/2009/07/09/Magazine/Campus.Directory-3751295.shtml">long, ugly, flat text file</a>:</p>
<p><a href="http://media.www.dailyemerald.com/media/storage/paper859/news/2009/07/09/Magazine/Campus.Directory-3751295.shtml"><img src="images/20090713odecampusdirectory1.jpg" alt="Daily Emerald Campus Directory - July 13, 2009"  width="500"
	height="270"  /></a></p>
<p>In my humble opinion, there&rsquo;s a <em>lot</em> of room for improvement.</p>
<p>What if, instead, we approached this directory as the database that it really should be? This web-native directory would have profiles for every student organization much like students can have profiles on Facebook. I&rsquo;d be able to search for organizations based on the name, the location on campus, people currently involved, the mission of the organization, tags, etc. If I found a organization I was interested in, I&rsquo;d click through to their profile. The profile would then give me access to all of the contact information I might need in addition to the most recent or popular articles, images, videos, updates from the campus&rsquo; microblog, etc. There&rsquo;d be a small wiki section for the organization or sport where I could read up on its history and know that the information I was getting was true because it had been curated by the beat reporter.</p>
<p>I see at least two advantages to this approach, in addition to making all of the information much more accessible (versus the flat text file). One, you&rsquo;d only have to build this once. Two, you&rsquo;d save the reporter or designer a lot of time having to search for the most up to date contact information because they could just pull the information from the database as they&rsquo;re creating the print product.</p>
<p>Think of role of the student news organization less as a <em>newspaper</em> and more as a <em>platform</em> for impartial, accurate community information to be shared.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Learning from the now</title>
      <link>https://danielbachhuber.com/learning-from-the-now/</link>
      <pubDate>Sun, 05 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/learning-from-the-now/</guid>
      <description>&lt;p&gt;This afternoon held in store for me a fast, engaging conversation with &lt;a href=&#34;http://andrewjesaitis.com/&#34;&gt;Andrew Jesaitis&lt;/a&gt;, a former business manager and colleague at the &lt;a href=&#34;http://www.whitmanpioneer.com/&#34;&gt;Whitman Pioneer&lt;/a&gt;, who I hear might be getting back into the journalism and media industry. He&amp;rsquo;s worked for Goldman Sachs since graduating, but will be starting an internship with &lt;a href=&#34;http://www.theskijournal.com/&#34;&gt;The Ski Journal&lt;/a&gt; in the next couple of months.&lt;/p&gt;&#xA;&lt;p&gt;I did my best to explain my understanding of how the business is changing, the forces driving the change, and what trends are solidifying for the future. Newspapers and journalism are under the influence of longer-term change because of more ubiquitous ICT, but the current cacophony of crisis is largely due to the biggest recession in half of a century and over-leveraged debt. A lot of the discussion has been centered around the lack of leadership in redefining newspaper business models, but I think Michael Nielsen deserves merit for saying that &lt;a href=&#34;http://michaelnielsen.org/blog/?p=629&#34;&gt;newspapers might also be failing because their institutional structures are too optimized for an old paradigm&lt;/a&gt;. They are too good at what they used to do, and the jump into experimental and uncertain territory is nigh impossible.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This afternoon held in store for me a fast, engaging conversation with <a href="http://andrewjesaitis.com/">Andrew Jesaitis</a>, a former business manager and colleague at the <a href="http://www.whitmanpioneer.com/">Whitman Pioneer</a>, who I hear might be getting back into the journalism and media industry. He&rsquo;s worked for Goldman Sachs since graduating, but will be starting an internship with <a href="http://www.theskijournal.com/">The Ski Journal</a> in the next couple of months.</p>
<p>I did my best to explain my understanding of how the business is changing, the forces driving the change, and what trends are solidifying for the future. Newspapers and journalism are under the influence of longer-term change because of more ubiquitous ICT, but the current cacophony of crisis is largely due to the biggest recession in half of a century and over-leveraged debt. A lot of the discussion has been centered around the lack of leadership in redefining newspaper business models, but I think Michael Nielsen deserves merit for saying that <a href="http://michaelnielsen.org/blog/?p=629">newspapers might also be failing because their institutional structures are too optimized for an old paradigm</a>. They are too good at what they used to do, and the jump into experimental and uncertain territory is nigh impossible.</p>
<p>That was Nielsen&rsquo;s most visible takeaway. More obscured, although equally important in my opinion, is his opinion the successful companies of today, Google, Apple, etc., have a foundation of &ldquo;technological innovation, and most key decision-makers [are] people with deep technological expertise.&rdquo;:</p>
<blockquote>
<p>If you doubt this, look at where the profits are migrating in other media industries. In music, they’re migrating to organizations like Apple. In books, they’re migrating to organizations like Amazon, with the Kindle. In many other areas of media, they’re migrating to Google: Google is becoming the world’s largest media company. They <a href="http://battellemedia.com/archives/002641.php">don’t describe themselves that way</a> (see also <a href="http://battellemedia.com/archives/004334.php">here</a>), but the media industry’s profits are certainly moving to Google. All these organizations are run by people with deep technical expertise.</p></blockquote>
<p>This is one of the paradigms we&rsquo;re trying to instill in student newspapers at <a href="http://www.copress.org/">CoPress</a>. It&rsquo;s no longer acceptable to outsource your CMS to a <a href="http://collegemedianetwork.com/">third-party company who doesn&rsquo;t care about innovation</a>; technological innovation has to be at the core of your business. Granted, CoPress does offer competing hosting and support with <a href="http://www.wordpress.org/">WordPress</a>, an open source publishing platform, but our ultimate goal is hold the hand of student newspapers as we help them develop their internal capacity to create.</p>
<p>Let&rsquo;s take a 10,000 foot view at this, however. In my opinion, there&rsquo;s a deeper technological shift happening that eventually will affect all industry and every facet of society. The <a href="http://www.danielbachhuber.com/2008/11/29/internet-as-a-utility/">internet is becoming a utility, much like electricity</a>, and those who don&rsquo;t have the utility at the core of this business operations will seem as backwards as businesses today that don&rsquo;t use electricity. Simplistically, the <a href="http://www.danielbachhuber.com/tag/internet-as-disruption/">disruption the internet is causing</a> first hit the music industry, then the movie industry, and now the newspaper industry. I assume that it will also affect at least healthcare, politics, and education, industries that Andrew observed &ldquo;have deeply entrenched positions of power.&rdquo; I also assume that those with power don&rsquo;t generally enjoy giving it up, instead preferring to try and manipulate public policy with the likes of <a href="http://www.guardian.co.uk/music/2008/nov/04/french-filesharing-legislation">France&rsquo;s &ldquo;three strikes&rdquo; legislation</a> and <a href="http://blog.cagle.com/2009/06/28/finally-a-real-plan-to-save-newspapers/">Connie Schultz&rsquo;s attempt to make copyright even more restrictive and ban linking on the web in certain situations</a>. Lastly, I assume that this type of reactive behavior is beneficial to the monopolists only and damages general society on a whole.</p>
<p>Given these assumptions, what general lessons can we learn from the music, movie and newspaper industries such that our society is less seriously disrupted when healthcare, politics, and education face the same type of deep transformational change? Keep in mind, too, that these are industries which will likely also shed thousands of jobs as they go through at least structural, and maybe even technological, unemployment. This is history in realtime.</p>]]></content:encoded>
    </item>
    <item>
      <title>Display as navigation</title>
      <link>https://danielbachhuber.com/display-as-navigation/</link>
      <pubDate>Sat, 04 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/display-as-navigation/</guid>
      <description>&lt;p&gt;Doing some inspiration harvesting this afternoon, I discovered that The Spokesman Review has really slick topical pages. I&amp;rsquo;m impressed with the incorporation of a navigation element into the display of the text. The image above is from the &lt;a href=&#34;http://www.spokesman.com/tags/environment/&#34;&gt;tag page for &amp;ldquo;environment&amp;rdquo;&lt;/a&gt;; the tag itself, however, is within an input box that the reader can manipulate. Deleting the word and then typing a new one generates a live-updating menu of all the available tags with that text. In my opinion, this design approach makes more of the page useful to and malleable by the reader. Being able to filter results by content type is also a progressive feature, although I think it would be more useful if the default were &amp;ldquo;All content.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Doing some inspiration harvesting this afternoon, I discovered that The Spokesman Review has really slick topical pages. I&rsquo;m impressed with the incorporation of a navigation element into the display of the text. The image above is from the <a href="http://www.spokesman.com/tags/environment/">tag page for &ldquo;environment&rdquo;</a>; the tag itself, however, is within an input box that the reader can manipulate. Deleting the word and then typing a new one generates a live-updating menu of all the available tags with that text. In my opinion, this design approach makes more of the page useful to and malleable by the reader. Being able to filter results by content type is also a progressive feature, although I think it would be more useful if the default were &ldquo;All content.&rdquo;</p>
<p>When navigation functionality like this becomes a part of the design, a website can become exponentially more useful to the reader.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Tualatin now has a library ghetto</title>
      <link>https://danielbachhuber.com/tualatin-now-has-a-library-ghetto/</link>
      <pubDate>Sat, 20 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/tualatin-now-has-a-library-ghetto/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2009/06/librarychanges1.jpg&#34;&gt;&lt;img src=&#34;images/librarychanges_h5001.jpg&#34; alt=&#34;Changes to public library access&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;174&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I now live in the library ghetto. This means that, &lt;strong&gt;because of where I live within the City of Tualatin&lt;/strong&gt;, I can reserve or check out books &lt;em&gt;only&lt;/em&gt; from the Tualatin Public Library, and not any of the 13 other libraries that are a part of &lt;a href=&#34;http://www.wilinet.wccls.lib.or.us/&#34;&gt;Washington County Cooperative Library Services&lt;/a&gt;. Thankfully, my &lt;a href=&#34;http://tualatintimes.com/&#34;&gt;local newspaper&lt;/a&gt; is all over it. Oh wait, they only publish once a week on the same day that &lt;a href=&#34;https://danielbachhuber.com/wp-content/uploads/2009/06/librarychanges1.jpg&#34;&gt;the letter&lt;/a&gt; came out.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://danielbachhuber.com/wp-content/uploads/2009/06/librarychanges1.jpg"><img src="images/librarychanges_h5001.jpg" alt="Changes to public library access"  width="500"
	height="174"  /></a></p>
<p>I now live in the library ghetto. This means that, <strong>because of where I live within the City of Tualatin</strong>, I can reserve or check out books <em>only</em> from the Tualatin Public Library, and not any of the 13 other libraries that are a part of <a href="http://www.wilinet.wccls.lib.or.us/">Washington County Cooperative Library Services</a>. Thankfully, my <a href="http://tualatintimes.com/">local newspaper</a> is all over it. Oh wait, they only publish once a week on the same day that <a href="https://danielbachhuber.com/wp-content/uploads/2009/06/librarychanges1.jpg">the letter</a> came out.</p>
<p><strong>Later:</strong> I&rsquo;ve started <a href="http://wiki.danielbachhuber.com/New_Tualatin_Public_Library_fee_for_Clackamas_County_residents">generating a list of questions I think it would be useful to have answered</a>. Weigh in with your own by using the tip form.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Public Media Collaborative != Portland Media Lab</title>
      <link>https://danielbachhuber.com/public-media-collaborative-portland-media-lab/</link>
      <pubDate>Mon, 15 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/public-media-collaborative-portland-media-lab/</guid>
      <description>&lt;p&gt;Both, however, are highly complementary projects to increase media fluency that will be able to build off each other in many ways.&lt;/p&gt;&#xA;&lt;p&gt;On Friday afternoon, I had the chance to connect with &lt;a href=&#34;http://susanmernit.com/&#34;&gt;Susan Mernit&lt;/a&gt; of Many Hats, Inc. for the very first time and Cornelius Swart of the &lt;a href=&#34;http://www.portlandsentinel.com/&#34;&gt;Portland Sentinel&lt;/a&gt; and &lt;a href=&#34;http://www.portlandmedialab.com/&#34;&gt;Portland Media Lab&lt;/a&gt;. I&amp;rsquo;ve been invited to work with Cornelius on the Portland Media Lab; our very first meeting is tomorrow, Monday the 15th, and I thought it would be worthwhile to talk with Susan about what they&amp;rsquo;ve learned in the several months the &lt;a href=&#34;http://publicmediacollaborative.pbworks.com/&#34;&gt;Public Media Collaborative&lt;/a&gt; has been developing in the San Francisco Bay Area.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Both, however, are highly complementary projects to increase media fluency that will be able to build off each other in many ways.</p>
<p>On Friday afternoon, I had the chance to connect with <a href="http://susanmernit.com/">Susan Mernit</a> of Many Hats, Inc. for the very first time and Cornelius Swart of the <a href="http://www.portlandsentinel.com/">Portland Sentinel</a> and <a href="http://www.portlandmedialab.com/">Portland Media Lab</a>. I&rsquo;ve been invited to work with Cornelius on the Portland Media Lab; our very first meeting is tomorrow, Monday the 15th, and I thought it would be worthwhile to talk with Susan about what they&rsquo;ve learned in the several months the <a href="http://publicmediacollaborative.pbworks.com/">Public Media Collaborative</a> has been developing in the San Francisco Bay Area.</p>
<p>The goal of the Public Media Collaborative is to <a href="http://publicmediacollaborative.pbworks.com/Mission-and-goals">educate local communities, non-profits, and grassroots movements on how to use a lot of the social media and publishing tools that are now available to empower people and build democracy</a>. In Susan&rsquo;s opinion, this is a bit different than the <a href="http://portlandmedialab.com/about/">mission of the Portland Media Lab</a>, but both Cornelius and I agree that tools training is at least a half of what we&rsquo;d like the media incubator to be.</p>
<p>Our conversation with Susan about both projects is the first thirty minutes or so of the audio. We cover the origins of the Public Media Collaborative, what type of training it has accomplished thus far, and Susan&rsquo;s community news startup of the very new future, Oakland Local. After she leaves, Cornelius and I talk a bit about <a href="http://wiki.danielbachhuber.com/Ideas_for_the_Portland_Media_Lab">ideas for the Portland Media Lab</a> and <a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html">what the future of journalism might hold in general</a>.</p>
<p>As a note, I started editing the first fifteen minutes of audio before I realised how much I want to be a production engineer. If you find any major kerfuffles, let me know and I&rsquo;ll update the production value.</p>
<p>[audio:http://danielbachhuber.files.wordpress.com/audio/db20090612swartandmernit.mp3]</p>
]]></content:encoded>
    </item>
    <item>
      <title>Newsroom as a cafe</title>
      <link>https://danielbachhuber.com/newsroom-as-a-cafe/</link>
      <pubDate>Fri, 12 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/newsroom-as-a-cafe/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/img_0394_h5001.jpg&#34; alt=&#34;Pied Cow, Newsroom as a cafe&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;301&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;David Cohn pegs a &lt;a href=&#34;http://www.digidave.org/2009/02/journalism-business-idea-the-newsroom-cafe.html&#34;&gt;newsroom as a cafe where people can hang out and, through food and drink purchase, provide an alternate source of revenue for reporting&lt;/a&gt;. Twenty percent of every coffee you bought might go to reporting in your local community, or something like that. For Steve Outing, the newsroom as a cafe is a &lt;a href=&#34;http://steveouting.com/2008/02/29/why-news-companies-should-go-into-the-internet-cafe-business/&#34;&gt;place for your people to connect so that you can have greater access to your community&lt;/a&gt;. Both of these are pieces of a bigger picture that&amp;rsquo;s been stewing in me for a couple of months; dessert and beer at the Pied Cow on Belmont last night provided a photograph to illustrate my idea.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s not &lt;em&gt;just&lt;/em&gt; about using a different industry to add to reporting revenue, but rather repositioning the news organization as the information hub for the community. The newsroom as a cafe should be an &lt;a href=&#34;http://en.wikipedia.org/wiki/Salon_(gathering)&#34;&gt;18th century salon&lt;/a&gt;, or space for the leading discussions of the day to take place, ferment, and spawn action.&lt;/p&gt;&#xA;&lt;p&gt;Mark this idea as incomplete until I can start working on it. At the moment, I think it would include:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/img_0394_h5001.jpg" alt="Pied Cow, Newsroom as a cafe"  width="500"
	height="301"  /></p>
<p>David Cohn pegs a <a href="http://www.digidave.org/2009/02/journalism-business-idea-the-newsroom-cafe.html">newsroom as a cafe where people can hang out and, through food and drink purchase, provide an alternate source of revenue for reporting</a>. Twenty percent of every coffee you bought might go to reporting in your local community, or something like that. For Steve Outing, the newsroom as a cafe is a <a href="http://steveouting.com/2008/02/29/why-news-companies-should-go-into-the-internet-cafe-business/">place for your people to connect so that you can have greater access to your community</a>. Both of these are pieces of a bigger picture that&rsquo;s been stewing in me for a couple of months; dessert and beer at the Pied Cow on Belmont last night provided a photograph to illustrate my idea.</p>
<p>It&rsquo;s not <em>just</em> about using a different industry to add to reporting revenue, but rather repositioning the news organization as the information hub for the community. The newsroom as a cafe should be an <a href="http://en.wikipedia.org/wiki/Salon_(gathering)">18th century salon</a>, or space for the leading discussions of the day to take place, ferment, and spawn action.</p>
<p>Mark this idea as incomplete until I can start working on it. At the moment, I think it would include:</p>
<p><strong>Realtime data streams about the community on the walls.</strong> Twitter, Flickr, and every other service that expresses data against geography in some regard. The reporting work done by the news organization and stringers would come in realtime as well; see the reporting as it happens. You could build an app that visualized the trending topics of the aggregate of those services.</p>
<p><strong>Editorial meetings that are open to the public.</strong> Highly-engaged members of the community can come in and participate in the process to decide what gets reported on each week. All of the possibilities are generated beforehand with a kickass web app where authenticated people help identify all of the things that need to be reported on in the community (i.e. information that needs to be generated).</p>
<p><strong>Workshops for community youth on hacking new tools to mash up regional data.</strong> Part of the attendance requirement would be that they then have to give a presentation back to the community on how they did it.</p>
<p><strong>Equipment rental.</strong> Members can check out audio recorders or digital SLRs to cover the local city council meeting.</p>
<p><strong>Chai, but not the spiced kind.</strong> Just straight up black tea, milk, and sugar.</p>]]></content:encoded>
    </item>
    <item>
      <title>Coral reefs for local information</title>
      <link>https://danielbachhuber.com/coral-reefs-for-local-information/</link>
      <pubDate>Tue, 09 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/coral-reefs-for-local-information/</guid>
      <description>&lt;p&gt;Every so often, I have one of those runs where I listen to a super inspirational podcast and come back with more ideas than I have the time to write them down. Tonight was one of those nights.&lt;/p&gt;&#xA;&lt;p&gt;Dave Winer and Jay Rosen in the &lt;a href=&#34;http://www.scripting.com/stories/2009/06/08/rebootingTheNewsPodcast12.html&#34;&gt;12th edition of Rebooting the News&lt;/a&gt; explore a concept Dave refers to as a &amp;ldquo;coral reef&amp;rdquo; for local information. The importance of a coral reef in the sea is that it is a habitat for many other species to prosper. His argument for starting &lt;a href=&#34;http://www.inberkeley.com/&#34;&gt;In Berkeley&lt;/a&gt;, what he thinks is the first local blog for Berkley, is that it might provide a coral reef for a lot of tremendous local data to grow from. Given the right formats for information storage, it can become a repository for community knowledge that everyone within the community can both contribute to and benefit from. What got me thinking, though, was what these formats might be.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Every so often, I have one of those runs where I listen to a super inspirational podcast and come back with more ideas than I have the time to write them down. Tonight was one of those nights.</p>
<p>Dave Winer and Jay Rosen in the <a href="http://www.scripting.com/stories/2009/06/08/rebootingTheNewsPodcast12.html">12th edition of Rebooting the News</a> explore a concept Dave refers to as a &ldquo;coral reef&rdquo; for local information. The importance of a coral reef in the sea is that it is a habitat for many other species to prosper. His argument for starting <a href="http://www.inberkeley.com/">In Berkeley</a>, what he thinks is the first local blog for Berkley, is that it might provide a coral reef for a lot of tremendous local data to grow from. Given the right formats for information storage, it can become a repository for community knowledge that everyone within the community can both contribute to and benefit from. What got me thinking, though, was what these formats might be.</p>
<p>The obvious one is the article slash blog post. There really isn&rsquo;t any distinction. The blog post is the big bucket in which you can drop any sort of community data. The unfortunate thing about the generic blog post, however, is that <strong>the data you put in the post generally isn&rsquo;t structured in such a way that the aggregate of the posts offer value too</strong>. If I report on a crime, lost dog, or house for sale with a given location, a given time, and other common values, the information is presented to me as readable, but not enhanced.</p>
<p>A local blog as a coral reef, or many different types of data sets for information to hangout around, would offer a vibrant, growing, and evolving habitat for a community&rsquo;s collective knowledge. For instance, an article about rent prices going up, something I used to be concerned about as a student, would be closely related to a database of community-contributed rent rates. This information would be a part of a larger, community-created housing data set that included rating of landlords, whether utilities were included or not, etc. The rental rates mashed with location, however, could generate a interactive heat map that offers timeless value.</p>
<p>I think the key point I&rsquo;d like to make, however, is that the <strong>data shouldn&rsquo;t get lost within its framework</strong>. In a blog post, there&rsquo;s much information that, if presented in a hybrid structured/readable format, could be be useful as an aggregate as well. Projects like <a href="http://www.opencalais.com/">OpenCalais</a> do this by taking a brute force approach to deriving data and relationships from unstructured, block text. Posts could be published as <em>semi-structured</em> information however, in a manner I&rsquo;ll write about when the idea is better fleshed out.</p>
<p>Building off this coral reef concept, Dave and Jay started talking about the <a href="http://fort-greene.blogs.nytimes.com/about-the-virtual-assignment-desk/">virtual assignment desk</a> for the NY Times hyperlocal blogging experiments. It&rsquo;s a blog post and an email address right now, nothing better than what could&rsquo;ve been done, had newspapers been this forward-thinking, with GeoCities in the 90&rsquo;s.</p>
<p>We&rsquo;ve started a <a href="http://downloads.copress.org/network/editflowproject/Spec_Edit_Flow_Project_CoPress.pdf">project called Edit Flow</a> [PDF because the wiki is currently down] under the <a href="http://www.copress.org/">CoPress</a> umbrella that might create a nice intersection between the coral reef of information and distributed assignment desk. The goal the project is to enhance the editorial workflow capabilities of <a href="http://wordpress.org/">WordPress</a> in five stages: custom post statuses, meta data for posts, workflows and user groups, a pitch system, and then windows for visualizing the aggregate of the information. Each stage provides a nice foundation for the next. The pitch system is how you&rsquo;d enter all of the information, or assignments, into the system, and it would be just as easy to build a public interface to that data as it would a private one. In fact, easier because you&rsquo;d be free of the WordPress admin. It&rsquo;s a coral reef because it&rsquo;s a whole bunch of editorial hooks you can hang information from, and it&rsquo;s an assignment desk because, well, that&rsquo;s exactly what we intend to build.</p>]]></content:encoded>
    </item>
    <item>
      <title>Open memo on how to right a sinking ship</title>
      <link>https://danielbachhuber.com/open-memo-on-how-to-right-a-sinking-ship/</link>
      <pubDate>Fri, 05 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-memo-on-how-to-right-a-sinking-ship/</guid>
      <description>&lt;p&gt;&lt;strong&gt;The future of journalism is a bright one.&lt;/strong&gt; It&amp;rsquo;s time to take the incredible opportunity that the internet presents for improving the entire process of news and capitalize on it. When the internet is the default platform of choice, however, the barrier to invent and reinvent drops to the floor. This is why newspaper companies &lt;a href=&#34;http://scobleizer.com/2009/04/19/the-newspaper-industry-just-gave-away-another-free-meal-er-twitter-do-they-have-any-left/&#34;&gt;should&amp;rsquo;ve applied more resources to innovating ten years ago&lt;/a&gt; and will need to work double-time now to remain relevant. Many won&amp;rsquo;t make it. It strikes me as ironic that, in an age where many people working online complain about &amp;ldquo;filter failure&amp;rdquo;, or having access to too much information, we can have a parallel conversation about the supposed &amp;ldquo;death of journalism.&amp;rdquo; While many newspaper companies are in various stages of financial viability, I&amp;rsquo;d like to offer four required mindsets for creating the future of journalism.&lt;/p&gt;&#xA;&lt;p&gt;Note: this memo is open in the sense than anyone can read it, but also in the sense that you damn well better steal these ideas.&lt;/p&gt;&#xA;&lt;h3 id=&#34;value-experimentation-with-new-business-models&#34;&gt;Value experimentation with new business models&lt;/h3&gt;&#xA;&lt;p&gt;As Ryan Sholin says, the &lt;a href=&#34;http://ryansholin.com/2008/07/24/the-business-model-is-still-the-elephant-in-the-room/&#34;&gt;business model is the elephant in the room&lt;/a&gt;. Let&amp;rsquo;s take this one step further: &lt;strong&gt;the value proposition is the elephant in the room&lt;/strong&gt;. A basic rule of economics is that if you create something of value, you can monetize it. To paraphrase Douglas Rushkoff, money doesn&amp;rsquo;t make good journalism, good journalism makes money. Let&amp;rsquo;s take a look at the past. In the era of the print product, it was acceptable for a reporter to rewrite an article off the wire because their audience generally had access to that content in one place: the paper. In the era of an increasingly ubiquitous internet, these duplication efforts can actually diminish a news brand. Link to it instead of rewriting it. Add value first.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>The future of journalism is a bright one.</strong> It&rsquo;s time to take the incredible opportunity that the internet presents for improving the entire process of news and capitalize on it. When the internet is the default platform of choice, however, the barrier to invent and reinvent drops to the floor. This is why newspaper companies <a href="http://scobleizer.com/2009/04/19/the-newspaper-industry-just-gave-away-another-free-meal-er-twitter-do-they-have-any-left/">should&rsquo;ve applied more resources to innovating ten years ago</a> and will need to work double-time now to remain relevant. Many won&rsquo;t make it. It strikes me as ironic that, in an age where many people working online complain about &ldquo;filter failure&rdquo;, or having access to too much information, we can have a parallel conversation about the supposed &ldquo;death of journalism.&rdquo; While many newspaper companies are in various stages of financial viability, I&rsquo;d like to offer four required mindsets for creating the future of journalism.</p>
<p>Note: this memo is open in the sense than anyone can read it, but also in the sense that you damn well better steal these ideas.</p>
<h3 id="value-experimentation-with-new-business-models">Value experimentation with new business models</h3>
<p>As Ryan Sholin says, the <a href="http://ryansholin.com/2008/07/24/the-business-model-is-still-the-elephant-in-the-room/">business model is the elephant in the room</a>. Let&rsquo;s take this one step further: <strong>the value proposition is the elephant in the room</strong>. A basic rule of economics is that if you create something of value, you can monetize it. To paraphrase Douglas Rushkoff, money doesn&rsquo;t make good journalism, good journalism makes money. Let&rsquo;s take a look at the past. In the era of the print product, it was acceptable for a reporter to rewrite an article off the wire because their audience generally had access to that content in one place: the paper. In the era of an increasingly ubiquitous internet, these duplication efforts can actually diminish a news brand. Link to it instead of rewriting it. Add value first.</p>
<p>Once you&rsquo;ve started eliminating redundancies in your product, understand that there is a forward direction for news organization business models and there is a backwards direction. <strong>Forwards is experimentation, uncertainty, and hard work.</strong> Backwards is trying to impose old business models into a new marketplace. Forwards is creating legitimate value for communities that both the community and the news organization understand. Backwards is <a href="http://www.wrni.org/blog/ian-donnis/newport-paper-restrict-online-content-subscribers">attempting to devalue the internet in favor of the physical print product</a>. Forwards is educating your clients of web advertising&rsquo;s inherent advantages. Backwards is not letting your clients buy an online ad unless they buy a print ad. Forwards is <a href="http://www.buzzmachine.com/2009/05/07/newbiznews-hyperlocal/">increasing your quantitative data about all different segments of your market</a>, and selling your services against that information. Backwards is trying to justify the value of &ldquo;one size fits all.&rdquo;</p>
<h3 id="redesign-the-newsroom-for-the-digital-age">Redesign the newsroom for the digital age</h3>
<p>We&rsquo;re entering the age of quicker and quicker innovation. To remain competitive, most traditional newspapers will have to completely redesign their newsrooms. The past was hierarchy and bureaucracy whereas the future is flat and distributed. I&rsquo;ve heard stories where content to be published on the website has to be emailed to one or two Online Editors for placement. In 2009, that&rsquo;s called a bottleneck. Instead, the editing and publishing process should be a frictionless digital flow. The newsroom should be space in which bottlenecks aren&rsquo;t tolerated and where efficiencies can happen organically.</p>
<p><strong>Nimble can be incremental.</strong> In addition to flattening the architecture of the newsroom, get your staff to expect constant change and have them be on the lookout for new trends and ideas. Encourage them to experiment, and have them report on successes and challenges with a blog dedicated to the changing newsroom. Critically discuss those ideas during regular meetings. Do not be the news organization that forces its employees to talk about innovation off company time. Do be the organization that invites local thought-leaders from different sectors to come in and give presentations during lunch to introduce new ways of thinking. <a href="http://www.youtube.com/atgoogletalks">Talks@Google</a> offers a good example of this approach. Within the reporting process, have reporters save links to supporting documents, articles, and content, and publish those links as such when the story goes online. Make information curation on the web a part of their workflow to lower the friction in adopting this approach.</p>
<p>In my opinion, the Cedar Rapids Gazette appears to be an organization that is taking the right approach. I still haven&rsquo;t had the change to read the entirety of <a href="http://stevebuttry.wordpress.com/2009/04/27/a-blueprint-for-the-complete-community-connection/">Steve Buttry&rsquo;s epic Complete Community Connection</a> and am wary of plans to create local portal websites, but I believe they understand the need to be nimble and platform independent.</p>
<h3 id="change-your-audiences-into-communities-your-product-into-a-process">Change your audiences into communities, your product into a process</h3>
<p>Embrace your community, they are core to what you do. Flatten your organization and make it a hub for innovation, creativity, and intelligent conversation.</p>
<p>Pragmatically, this can take a number of different shapes. Online, social networking websites, with Twitter and Facebook being the most popular and relevant at the moment, allow your reporters and editors the opportunity to increase the breadth of conversations they have with their community. Translate that breadth into depth. Even if they don&rsquo;t have much of a following, <a href="http://beatblogging.org/2009/05/06/qa-one-reporters-journey-from-twitter-skeptic-to-twitter-believer/">reporters can use Twitter as an open, participatory notebook</a>. I&rsquo;ve personally found that I&rsquo;m much more attentive to an event if I&rsquo;m trying to synthesize the major points into 140 character summaries than if I&rsquo;m just trying to take notes freeform. Twitter can also be a tool for distributed critical thinking; pitch a fact to the crowd to get a sense of the different perspectives on the issue. Most Facebook users add information to their profiles that can make the service a granular, self-managing rolodex. On the news organization&rsquo;s website, journalists should <a href="http://xark.typepad.com/my_weblog/2009/05/why-comments-suck-ideas-on-unsucking-them.html">engage in discussion on their articles and other articles within their beat</a>. <strong>Think of your newsroom as a cafe, or an 18th century salon where the important conversations of the day take place.</strong> Make components of your news brand, online and off, the central hub around which this discussion takes place.</p>
<p>Remember that the strength of your relationship with your community helps defines your value in any business model.</p>
<h3 id="hire-a-few-developers-and-go-open-source">Hire a few developers and go open source</h3>
<p>Your platform for content delivery, let it be the print product, your website, or mobile applications, is the engine for your business. News organizations need to treat all platforms with respect. Moreover, your web presence is as important as if not more than your print product now. It may not be the platform that receives the most readership at the moment, but most newspapers got themselves into the backward positions they&rsquo;re in now because they were being reactive. They need to be proactive on the web. <strong>News organizations should run, maintain, and develop their own websites in house.</strong></p>
<p>There are two ways to do this that go in hand. First, hire a few web developers to regularly develop against your website. Of the things going unmentioned in this &ldquo;newspapers are dying&rdquo; conversation, one is that newspapers have consistently shot themselves in the foot with is not applying enough talent, resources, or creativity to the web. Some are just now beginning. <strong>The staff required to build, maintain, and develop new features for your website is <em>as important if not more</em> than your production staff.</strong> Most newspapers don&rsquo;t act like this right now, and that&rsquo;s why they&rsquo;re newspapers and not legit news organizations. In fact, the local paper in my area, The Oregonian, created an entire second company under a different name for their online product. In addition to the technology and workflow problems, it has completely fragmented their brand. You need to hire developers, and those developers need to be included in the newsroom. This can be done incrementally, too. Hire a developer to set up blogs for your newsroom using the open source blogging platform <a href="http://www.wordpress.org/">WordPress</a>, or similar project and expand from there.</p>
<p>Second, go open source. The problem with proprietary vendor platforms is that they get to choose the core characteristics of how your web platform runs and operates. A print analogy: outsourcing your newspaper design to an independent company that doesn&rsquo;t really understand or care about delivering information to your community. Functionality is a product of design. All the vendor cares about is beating you over the head with their crappy content management system and stealing your money (or <a href="http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">advertising revenue in the case of college media</a>). Take control back. Furthermore, open source offers another distinct advantage: you now have access to hundreds, if not thousands, of innovative minds working to improve the software. Proprietary can&rsquo;t match the explosive innovation offered by open source.</p>
<p>And with that, best of luck. Let&rsquo;s get hacking.</p>]]></content:encoded>
    </item>
    <item>
      <title>New host and registrar</title>
      <link>https://danielbachhuber.com/new-host-and-registrar/</link>
      <pubDate>Thu, 04 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/new-host-and-registrar/</guid>
      <description>&lt;p&gt;After a few weeks and a couple hundred dollars, I&amp;rsquo;ve finally transferred all of my domains to &lt;a href=&#34;http://www.namecheap.com/&#34;&gt;Namecheap&lt;/a&gt; and web projects to &lt;a href=&#34;http://www.webfaction.com/&#34;&gt;Web Faction&lt;/a&gt;. Previously, I was with 1&amp;amp;1 but intermittently ran into frustrations, including a &lt;a href=&#34;http://www.danielbachhuber.com/2009/01/22/quick-feedburner-update/&#34;&gt;limitation on the length of a CNAME&lt;/a&gt; and not being able to add SPF records, that pushed me to switch. I&amp;rsquo;m already having a lot of fun; Web Faction is &lt;em&gt;wickedly&lt;/em&gt; quick (relatively, I suppose) and has &lt;a href=&#34;http://www.webfaction.com/why-webfaction/&#34;&gt;one click installers for a number of content management systems and frameworks&lt;/a&gt;. This means that I&amp;rsquo;ll get to hack together a &lt;a href=&#34;http://www.djangoproject.com/&#34;&gt;Django&lt;/a&gt;-powered blog in the near future without having to figure out how to configure Django on a server (although I suppose that would be the logical next step). Before a full transition to Django, because it&amp;rsquo;s going to take a lot of building to get to my desired feature set, I&amp;rsquo;m looking forward to experimenting with and integrating &lt;a href=&#34;http://laconi.ca/&#34;&gt;Laconi.ca&lt;/a&gt; and &lt;a href=&#34;http://www.mediawiki.org/&#34;&gt;MediaWiki&lt;/a&gt; into my personal web presence.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After a few weeks and a couple hundred dollars, I&rsquo;ve finally transferred all of my domains to <a href="http://www.namecheap.com/">Namecheap</a> and web projects to <a href="http://www.webfaction.com/">Web Faction</a>. Previously, I was with 1&amp;1 but intermittently ran into frustrations, including a <a href="http://www.danielbachhuber.com/2009/01/22/quick-feedburner-update/">limitation on the length of a CNAME</a> and not being able to add SPF records, that pushed me to switch. I&rsquo;m already having a lot of fun; Web Faction is <em>wickedly</em> quick (relatively, I suppose) and has <a href="http://www.webfaction.com/why-webfaction/">one click installers for a number of content management systems and frameworks</a>. This means that I&rsquo;ll get to hack together a <a href="http://www.djangoproject.com/">Django</a>-powered blog in the near future without having to figure out how to configure Django on a server (although I suppose that would be the logical next step). Before a full transition to Django, because it&rsquo;s going to take a lot of building to get to my desired feature set, I&rsquo;m looking forward to experimenting with and integrating <a href="http://laconi.ca/">Laconi.ca</a> and <a href="http://www.mediawiki.org/">MediaWiki</a> into my personal web presence.</p>
<p>If you&rsquo;re thinking about moving to Web Faction and are feeling generous, add &ldquo;?affiliate=dbachhuber&rdquo; to the end of the <a href="http://www.webfaction.com/signup?affiliate=dbachhuber">signup URL</a>. It&rsquo;s <em>guaranteed</em> to help a starving innovator out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Hacking textbooks</title>
      <link>https://danielbachhuber.com/hacking-textbooks/</link>
      <pubDate>Fri, 29 May 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/hacking-textbooks/</guid>
      <description>&lt;p&gt;A few of my favorite people to talk to are &lt;a href=&#34;http://www.shanelofgren.com/&#34;&gt;Shane Lofgen&lt;/a&gt;, &lt;a href=&#34;http://www.djstrouse.com/&#34;&gt;DJ Strouse&lt;/a&gt;, and &lt;a href=&#34;http://www.maxmarmer.com/&#34;&gt;Max Marmer&lt;/a&gt;. Shane I&amp;rsquo;ve known since eighth grade geometry, DJ was Shane&amp;rsquo;s roomate freshman year, and Max is a bright, just-graduated from high school Californian from the Twitter-sphere. All four of us are quite interested in reforming the university system from the technologically-backwards state it&amp;rsquo;s in to something that&amp;rsquo;s useful in an era of ubiquitous information. Today&amp;rsquo;s topic was reinventing the textbook.&lt;/p&gt;&#xA;&lt;p&gt;DJ has an idea for augmenting the traditional textbook or, as Max puts it, adding an &amp;ldquo;onion skin&amp;rdquo; on top of the text. Meta data and meta conversations to make studying a &lt;em&gt;collaborative&lt;/em&gt; exercise. If you think of the textbook as a platform from which learning can take place, then there are digital tools that can be built to make information flow happen more organically (think commenting, videos of professor explanations, quizzes, etc.).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few of my favorite people to talk to are <a href="http://www.shanelofgren.com/">Shane Lofgen</a>, <a href="http://www.djstrouse.com/">DJ Strouse</a>, and <a href="http://www.maxmarmer.com/">Max Marmer</a>. Shane I&rsquo;ve known since eighth grade geometry, DJ was Shane&rsquo;s roomate freshman year, and Max is a bright, just-graduated from high school Californian from the Twitter-sphere. All four of us are quite interested in reforming the university system from the technologically-backwards state it&rsquo;s in to something that&rsquo;s useful in an era of ubiquitous information. Today&rsquo;s topic was reinventing the textbook.</p>
<p>DJ has an idea for augmenting the traditional textbook or, as Max puts it, adding an &ldquo;onion skin&rdquo; on top of the text. Meta data and meta conversations to make studying a <em>collaborative</em> exercise. If you think of the textbook as a platform from which learning can take place, then there are digital tools that can be built to make information flow happen more organically (think commenting, videos of professor explanations, quizzes, etc.).</p>
<p>The physical, analog textbook has a specific information flow which offers design constraints. We started the conversation with the assumption the content was digital, and therefore flexible, but the hacking DJ would like to do would work under the consideration of augmenting the existing textbook. His solution would be a web service or application to co-exist with the physical book.</p>
<p>Many existing textbooks, or at least the ones in my experience, offer crappy websites with <em>supplemental</em> information. With DJ&rsquo;s idea, the service would offer an iPhone application that would <em>complement</em> the analog book. We talked about specific deliverables and the consensus was that a collaborative sticky note application could offer immediate value. I think a company like <a href="http://www.flatworldknowledge.com/">Flat World Knowledge</a> might even take the project under it&rsquo;s wing. Students would use their existing social graph to identify the people in their class and, when they launched the application, they would have access to existing notes left by their classmates or teacher as well as the ability to leave their own. These notes would be specific to the page, which the student could either &ldquo;flip&rdquo; to or have it automatically progress by specific reading page. The class doesn&rsquo;t just need to meet in the classroom.</p>
<p>We started the conversation, however, with a higher level discussion about the difference between analog and digital content, and opportunities that might present themselves five or ten years out. With a traditional textbook, there is what I&rsquo;m calling a &ldquo;flow of learning&rdquo; that is defined by the author. There are a certain number of chapters with a certain number of pages and, overall, it sets a foundation for the learning experience. When that content is digital, however, the &ldquo;flow of learning&rdquo; doesn&rsquo;t need to be defined (necessarily) by the author. They&rsquo;re just bits that could be defined by the teacher or aggregate voting by the previous class. If the content is malleable, then the textbook can change from student to student.</p>]]></content:encoded>
    </item>
    <item>
      <title>Parallels between schools and newspapers</title>
      <link>https://danielbachhuber.com/parallels-between-schools-and-newspapers/</link>
      <pubDate>Fri, 15 May 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/parallels-between-schools-and-newspapers/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s an excellent post on the Union Square Ventures blog about the &lt;a href=&#34;http://www.unionsquareventures.com/2009/05/hacking_education.html&#34;&gt;small Hacking Education conference they had a couple months back&lt;/a&gt;. One remark I&amp;rsquo;d like to highlight:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Fred [Wilson] is suggesting that the education industry may soon face the same challenges that currently confront the music industry and the newspaper industry. Like those industries, education can be peer produced, delivered as bits, and curated by a community. Like the music and newspaper industries, the cost structures embedded in the education industry&amp;rsquo;s current business models may be very difficult to support in the face of competition from hyper-efficient, web native businesses.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There&rsquo;s an excellent post on the Union Square Ventures blog about the <a href="http://www.unionsquareventures.com/2009/05/hacking_education.html">small Hacking Education conference they had a couple months back</a>. One remark I&rsquo;d like to highlight:</p>
<blockquote>
<p>Fred [Wilson] is suggesting that the education industry may soon face the same challenges that currently confront the music industry and the newspaper industry. Like those industries, education can be peer produced, delivered as bits, and curated by a community. Like the music and newspaper industries, the cost structures embedded in the education industry&rsquo;s current business models may be very difficult to support in the face of competition from hyper-efficient, web native businesses.</p></blockquote>
<p>As I&rsquo;m reading this, a parallel between newspapers and the university system came to mind. Newspapers, as institutions with a business model rooted in a specific project, started uploading their content onto websites in the 1990&rsquo;s without much concern as to how the Internet would fundamentally change their businesses. They treated their websites as side projects at the very most and minor annoyances most commonly. I think this is very much the case with universities. Progressive schools like MIT have started uploading their courseware, one critical component of their &ldquo;business model&rdquo;, to the web for anyone to download free of charge. At the moment, they still have natural monopolies on accreditation and physical space although part of me suspects that those too could change. Considering the newspaper industry <em>isn&rsquo;t</em> failing gracefully right now, I&rsquo;d like to think that there are lessons universities can learn from how newspapers dealt with the fundamentally transformative technology known as the Internet.</p>
<p>On a related note, David Wiley <a href="http://opencontent.org/blog/archives/881">argues that OpenCourseWare initiatives are going to have to find a sustainable business model by 2012 or many will fail</a>. To me this says that traditional educational structures that are attempting change will have to show signs of being able to successfully do so in the next few years, or else they will be destined to a downward spiral similar to many newspapers today. This timeframe seems a bit short to me, but I support the assumption.</p>
<p>Conversation from the entire day is up in <a href="http://www.viddler.com/explore/UnionSqVentures/videos/1/">four</a> <a href="http://www.viddler.com/explore/UnionSqVentures/videos/2/">parts</a> <a href="http://www.viddler.com/explore/UnionSqVentures/videos/3/">of</a> <a href="http://www.viddler.com/explore/UnionSqVentures/videos/4/">video</a> that I&rsquo;m planning on listening to the entire way through. As someone said in the first hour, the value of the degree is becoming less and less while the cost is becoming more and more. There is a lot of space for this issue to be fixed.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Framework for reinventing classifieds</title>
      <link>https://danielbachhuber.com/framework-for-reinventing-classifieds/</link>
      <pubDate>Mon, 11 May 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/framework-for-reinventing-classifieds/</guid>
      <description>&lt;p&gt;This is a framework for inventing a better &lt;a href=&#34;http://www.craigslist.org/&#34;&gt;Craigslist&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is highly unlikely that newspapers will reclaim the monopoly they had on classified advertising pre-internet. They controlled the platform before the internet, and were able to dictate what information used their print pages to gain readers and audience. Some newspapers have lost control of the platform completely and the ones that haven&amp;rsquo;t will follow suit. Newspapers won&amp;rsquo;t be able to reclaim the classified advertising space by using the old mental framework for thinking about classifieds, by pretending they might be able to own the platform and charge access to it. Instead, it&amp;rsquo;s imperative to take the approach of &lt;em&gt;hacking the platform&lt;/em&gt; and adding functionality, value, and convenience.&lt;/p&gt;&#xA;&lt;p&gt;Remember &lt;a href=&#34;http://www.friendster.com/&#34;&gt;Friendster&lt;/a&gt;? I don&amp;rsquo;t. I never had an account. It was upstaged by &lt;a href=&#34;http://www.myspace.com/&#34;&gt;MySpace&lt;/a&gt;, where I had an account for a few months before it became uncool to do so. MySpace was then upstaged by Facebook. Yes, I&amp;rsquo;ll concede that MySpace has a large userbase, but its value in the mindspace of the users is rapidly diminishing and there&amp;rsquo;s a &lt;a href=&#34;http://calacanis.com/2009/04/22/the-first-ten-things-the-new-ceo-of-myspace-should-do/&#34;&gt;big need for creativity&lt;/a&gt;. Fortunately for everyone involved, there&amp;rsquo;s a low barrier to disruption on the internet.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The real way local news organizations can upset Craigslist and build a better classifieds is simple: create a micro-currency.&lt;/strong&gt; In addition to &lt;a href=&#34;http://revenuetwopointzero.com/solutions/classified-solutions/classified-solutions/&#34;&gt;providing a more user-friendly interface and the ability to add better meta data&lt;/a&gt;, news organizations with a specific geographic community should establish a currency to &amp;ldquo;monetize&amp;rdquo; the local marketplace. As Douglas Rushkoff says, the web, and web 2.0 especially, is &lt;a href=&#34;http://blip.tv/file/1951387&#34;&gt;breaking existing institutions because it allows people to create value on the periphery again&lt;/a&gt;. Local news organizations are in a unique, and therefore advantageous, position to provide the platform with which to capture the value of local transactions.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This is a framework for inventing a better <a href="http://www.craigslist.org/">Craigslist</a>.</p>
<p>It is highly unlikely that newspapers will reclaim the monopoly they had on classified advertising pre-internet. They controlled the platform before the internet, and were able to dictate what information used their print pages to gain readers and audience. Some newspapers have lost control of the platform completely and the ones that haven&rsquo;t will follow suit. Newspapers won&rsquo;t be able to reclaim the classified advertising space by using the old mental framework for thinking about classifieds, by pretending they might be able to own the platform and charge access to it. Instead, it&rsquo;s imperative to take the approach of <em>hacking the platform</em> and adding functionality, value, and convenience.</p>
<p>Remember <a href="http://www.friendster.com/">Friendster</a>? I don&rsquo;t. I never had an account. It was upstaged by <a href="http://www.myspace.com/">MySpace</a>, where I had an account for a few months before it became uncool to do so. MySpace was then upstaged by Facebook. Yes, I&rsquo;ll concede that MySpace has a large userbase, but its value in the mindspace of the users is rapidly diminishing and there&rsquo;s a <a href="http://calacanis.com/2009/04/22/the-first-ten-things-the-new-ceo-of-myspace-should-do/">big need for creativity</a>. Fortunately for everyone involved, there&rsquo;s a low barrier to disruption on the internet.</p>
<p><strong>The real way local news organizations can upset Craigslist and build a better classifieds is simple: create a micro-currency.</strong> In addition to <a href="http://revenuetwopointzero.com/solutions/classified-solutions/classified-solutions/">providing a more user-friendly interface and the ability to add better meta data</a>, news organizations with a specific geographic community should establish a currency to &ldquo;monetize&rdquo; the local marketplace. As Douglas Rushkoff says, the web, and web 2.0 especially, is <a href="http://blip.tv/file/1951387">breaking existing institutions because it allows people to create value on the periphery again</a>. Local news organizations are in a unique, and therefore advantageous, position to provide the platform with which to capture the value of local transactions.</p>
<p>First, you must remember that what you&rsquo;re trying to is facilitate a <em>marketplace</em> for your meatspace community in the digital realm. <strong>Classifieds aren&rsquo;t just about selling stuff. They can also provide a platform for loaning material not currently in use.</strong> A micro-currency would be crucial for those minor exchanges that don&rsquo;t necessitate the use of a global currency. For instance, I&rsquo;ve got a paddle that I haven&rsquo;t used in the last six months because I sold my kayak just over a year ago to raise travel funds. I don&rsquo;t necessarily want to sell it because I intend to start kayaking again this summer but, in the interim, it&rsquo;s sitting in the corner of my room. With a well-designed and executed classifieds system, I could be loaning out the paddle. The classifieds system would facilitate the exchange by allowing me to publish that I have a paddle available to loan, my location, my trustworthiness, and other metrics to increase the likelihood of a successful loan. Adding a micro-currency to the exchange would allow both the loaner and loanee to capture the value, and then allow me to use it for something else (like my friend Ben&rsquo;s 70-200 f2.8 lens). Having a <em>local</em> currency backed by the <em>local</em> news organization, along with a better way to manage transactions digitally, would increase the likelihood of <em>local</em> economic activity taking place.</p>
<p>In order to make the platform trustworthy, the social graph would be a key factor as well. You&rsquo;d be able to review the exchanges in an open and honest manner, and only lend to trusted friends and friends-of-friends. The news organization would act as the moderator to make sure both parties were satisfied with the transactions. You&rsquo;d be able to buy into the local currency or do valuable work within the local marketplace that would earn you credit. For instance, volunteering a certain number of hours for a local non-profit or library, something that provides value almost exclusively for the local community, could give you currency to borrow items, gain access to exclusive events sponsored by the news organization, etc. A micro-currency powering a geographically-bound marketplace could also incentivize better crowdsourcing of local data, news, and information. The news organization could &ldquo;pay&rdquo; people to report the current milk prices from all of the local groceries, or <a href="http://mediactive.com/2009/05/08/using-distributed-media-and-people-to-ask-hard-questions/">ask specific questions of local politicians</a>.</p>
<p>&ldquo;Hyper-local&rdquo; is the future of the institutions that currently think of themselves as newspapers. Hyper-local isn&rsquo;t <em>just</em> content, however, and establishing a trusted currency to power a local marketplace is one critical idea for reinventing classifieds.</p>]]></content:encoded>
    </item>
    <item>
      <title>More ideas for &#34;unsucking&#34; commenting</title>
      <link>https://danielbachhuber.com/more-ideas-for-unsucking-commenting/</link>
      <pubDate>Fri, 08 May 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/more-ideas-for-unsucking-commenting/</guid>
      <description>&lt;p&gt;A post on Xark! today discusses &lt;a href=&#34;http://xark.typepad.com/my_weblog/2009/05/why-comments-suck-ideas-on-unsucking-them.html&#34;&gt;why newspaper website comments suck and what might be done to &amp;ldquo;unsuck&amp;rdquo; them&lt;/a&gt;. The synthesis of why they suck is that newspapers don&amp;rsquo;t allocate enough time or staff resources to participating in the conversation and, when they do, newspapers take the wrong approach to community management. In short, there is generally a lot of room for improvement.&lt;/p&gt;&#xA;&lt;p&gt;Upgrading newsroom culture is one part of it, I believe, but &lt;strong&gt;the right tools have to be in place first so that participants in this new culture shift doesn&amp;rsquo;t run into barriers of frustration.&lt;/strong&gt; I think strides can be made on both the frontend and backend of a news organization website. As a part of the user experience, comments shouldn&amp;rsquo;t require user registration but rather should be able to &amp;ldquo;sign in&amp;rdquo; with Facebook Connect or OpenID, or leave a comment with an email address to be verified once. If someone wants to add information to the discussion anonymously, I think that should be a submission form separate from the comment thread. The web is a global commons where news organizations should be facilitating intelligent conversations.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A post on Xark! today discusses <a href="http://xark.typepad.com/my_weblog/2009/05/why-comments-suck-ideas-on-unsucking-them.html">why newspaper website comments suck and what might be done to &ldquo;unsuck&rdquo; them</a>. The synthesis of why they suck is that newspapers don&rsquo;t allocate enough time or staff resources to participating in the conversation and, when they do, newspapers take the wrong approach to community management. In short, there is generally a lot of room for improvement.</p>
<p>Upgrading newsroom culture is one part of it, I believe, but <strong>the right tools have to be in place first so that participants in this new culture shift doesn&rsquo;t run into barriers of frustration.</strong> I think strides can be made on both the frontend and backend of a news organization website. As a part of the user experience, comments shouldn&rsquo;t require user registration but rather should be able to &ldquo;sign in&rdquo; with Facebook Connect or OpenID, or leave a comment with an email address to be verified once. If someone wants to add information to the discussion anonymously, I think that should be a submission form separate from the comment thread. The web is a global commons where news organizations should be facilitating intelligent conversations.</p>
<p><a href="http://newsmixer.us/">News Mixer</a> has taken radical steps in regards to how the format of the comment, or contribution more accurately, shapes conversation. &ldquo;Quips&rdquo; encourage commenters to keep conversation sweet and concise, and &ldquo;Questions&rdquo; and &ldquo;Answers&rdquo; help define the quality of the article. I think it would be valuable if the community also could build on top of the information presented in an article by clarifying with their own perspective or submitting links to related context. News Mixer offers the ability to respond with questions and answers to specific paragraphs within an article; it would be sweet if someone writing a blog post could link to unique grafs within an article too as a way of building a more specific map of conversation. I also appreciate how the New York Times has &ldquo;Editor&rsquo;s Picks&rdquo; which help distinguish signal from noise. Reporters and editors on a news website should be empowered to curate comments as a way of facilitating conversation.</p>
<p>Part of improving commenting will come from better tools on the administration side too. Comment moderation should be more granular, meaning that, instead of having an &ldquo;Online Editor&rdquo; who manages all conversations on the website, each reporter should be responsible for owning the full spectrum of discussion about their beat. WordPress, a publishing platform I&rsquo;m quite familiar with, only one email notification option. Instead, reporters should be the ones approving new comments. In addition, it would be sweet to have a commenting system that recorded and presented more information about the respondent, including the number of times they had already left a comment, the topics they most commonly leave comments on, and any profile or background information either from what they&rsquo;ve entered in the system or their Facebook Profile. Reporters and editors would be able to leave private notes about the commenters for future discussion moderation, and privately rate the perceived &ldquo;quality&rdquo; of the contribution. All of this information about the community&rsquo;s contributions would be stored in a CRM database to provide value to the reporting process too.</p>
<p>There&rsquo;s a lot of space for cool improvements in commenting systems. It&rsquo;s just about building it in iterations and then experimenting.</p>]]></content:encoded>
    </item>
    <item>
      <title>Interview with Cornelius Swart of the Portland Media Lab</title>
      <link>https://danielbachhuber.com/interview-with-cornelius-swart-of-the-portland-media-lab/</link>
      <pubDate>Sat, 02 May 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/interview-with-cornelius-swart-of-the-portland-media-lab/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/4446221?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Cornelius Swart, Publisher of the &lt;a href=&#34;http://www.portlandsentinel.com/&#34;&gt;Portland Sentinel&lt;/a&gt;, talks about the takeaways from this morning&amp;rsquo;s &lt;a href=&#34;http://2009.barcampportland.com/notes/oqe&#34;&gt;journalism&lt;/a&gt; &lt;a href=&#34;http://2009.barcampportland.com/notes/12l&#34;&gt;sessions&lt;/a&gt; at BarCamp Portland, introduces the ideas behind the &lt;a href=&#34;http://portlandmedialab.com/&#34;&gt;Portland Media Lab&lt;/a&gt;, and presents one reason why he&amp;rsquo;s optimistic for the future of news and journalism in Portland. Learning about the Portland Media Lab on Thursday personally made my day. The skeleton of what Cornelius is proposing seems very similar to the &lt;a href=&#34;http://jackiehai.com/2008/12/31/a-community-driven-news-model/&#34;&gt;type of community empowerment work Jackie Hai and Richard Caesar are doing with the Amherst Wire&lt;/a&gt;, and I can very easily see the Portland Media Lab becoming an incubator for the type of journalism Portland needs.&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/4446221?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Cornelius Swart, Publisher of the <a href="http://www.portlandsentinel.com/">Portland Sentinel</a>, talks about the takeaways from this morning&rsquo;s <a href="http://2009.barcampportland.com/notes/oqe">journalism</a> <a href="http://2009.barcampportland.com/notes/12l">sessions</a> at BarCamp Portland, introduces the ideas behind the <a href="http://portlandmedialab.com/">Portland Media Lab</a>, and presents one reason why he&rsquo;s optimistic for the future of news and journalism in Portland. Learning about the Portland Media Lab on Thursday personally made my day. The skeleton of what Cornelius is proposing seems very similar to the <a href="http://jackiehai.com/2008/12/31/a-community-driven-news-model/">type of community empowerment work Jackie Hai and Richard Caesar are doing with the Amherst Wire</a>, and I can very easily see the Portland Media Lab becoming an incubator for the type of journalism Portland needs.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Voting on the freshness of an article</title>
      <link>https://danielbachhuber.com/voting-on-the-freshness-of-an-article/</link>
      <pubDate>Wed, 29 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/voting-on-the-freshness-of-an-article/</guid>
      <description>&lt;p&gt;A &lt;a href=&#34;http://twitter.com/danielbachhuber/status/1652383506&#34;&gt;Twitter idea&lt;/a&gt; that I want to make sure gets archived somewhere so that I can build it later: it would be really cool if, as a reader and news consumer, I could &lt;strong&gt;indicate graf by graf on an article whether &amp;ldquo;I already knew that&amp;rdquo; information or &amp;ldquo;this is news to me.&amp;rdquo;&lt;/strong&gt; For someone reading a lot of the #swineflu coverage, it seems as though most of the articles are largely rehashed information that I&amp;rsquo;ve seen elsewhere. Empowering the user to give feedback as to whether they&amp;rsquo;ve heard the information before will allow the news organization to focus more on providing new and unique coverage.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A <a href="http://twitter.com/danielbachhuber/status/1652383506">Twitter idea</a> that I want to make sure gets archived somewhere so that I can build it later: it would be really cool if, as a reader and news consumer, I could <strong>indicate graf by graf on an article whether &ldquo;I already knew that&rdquo; information or &ldquo;this is news to me.&rdquo;</strong> For someone reading a lot of the #swineflu coverage, it seems as though most of the articles are largely rehashed information that I&rsquo;ve seen elsewhere. Empowering the user to give feedback as to whether they&rsquo;ve heard the information before will allow the news organization to focus more on providing new and unique coverage.</p>
<p>This data generated by ranking the freshness of information would immediately begin to build profiles of what the reader knows. If they&rsquo;re logged in, the news organization could put this information on what they&rsquo;re indicating they know and don&rsquo;t know in a database, start aggregating it, and then feed the reader related links and stories on similar topics. Related information, however, would now be <strong>determined by both topical metadata and a virtual profile of their knowledge base.</strong> On the front end, the data that the readership is contributing could go towards a rating of how &ldquo;fresh&rdquo; the article is. If the organization were really forward-thinking, the content of the article could then depend on this profile of how much the reader knew.</p>
<p>Voilà. Another new format for news.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#swineflu and the changing news ecology</title>
      <link>https://danielbachhuber.com/swineflu-and-the-news-ecology/</link>
      <pubDate>Mon, 27 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/swineflu-and-the-news-ecology/</guid>
      <description>&lt;p&gt;On Saturday, I spent the day discussing the evolution of the news at &lt;a href=&#34;http://bcniphilly.com/&#34;&gt;BarCamp NewsInnovation Philly&lt;/a&gt;. It was something I had planned on attending for over a month and, as such, I had a pretty good idea on Thursday and Friday of what I wanted to discuss. With the story of swine flu infections breaking all around us, though, I was certain we had something new that we had to talk about: the role of the news organization in an ecosystem with multiplying non-traditional means for information dissemination.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s the biggest story of the weekend, no doubt, but there&amp;rsquo;s a meta-discussion to be had too. I first caught wind of the story late Friday night while waiting for Sean Blanda to pick me up from PHL. Processing through Google Reader, I briefly skimmed Xark!&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;http://xark.typepad.com/my_weblog/2009/04/flu-dont-panic-but-pay-attention.html&#34;&gt;Flu: Don&amp;rsquo;t panic, but pay attention.&lt;/a&gt;&amp;rdquo; The honest truth, however, is that I didn&amp;rsquo;t pay attention and it didn&amp;rsquo;t stick. The next morning as we drove to Temple University for #bcniphilly I was skimming through Google Reader on my iPhone again. This time I came across a post from Vinay Gupta on &lt;a href=&#34;http://vinay.howtolivewiki.com/blog/personal/swine-flu-its-on-now-1426&#34;&gt;how you should take action if it becomes a pandemic flu&lt;/a&gt; (i.e. what steps you should take to be proactive). His perspective is what perked my interest to learn more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Saturday, I spent the day discussing the evolution of the news at <a href="http://bcniphilly.com/">BarCamp NewsInnovation Philly</a>. It was something I had planned on attending for over a month and, as such, I had a pretty good idea on Thursday and Friday of what I wanted to discuss. With the story of swine flu infections breaking all around us, though, I was certain we had something new that we had to talk about: the role of the news organization in an ecosystem with multiplying non-traditional means for information dissemination.</p>
<p>It&rsquo;s the biggest story of the weekend, no doubt, but there&rsquo;s a meta-discussion to be had too. I first caught wind of the story late Friday night while waiting for Sean Blanda to pick me up from PHL. Processing through Google Reader, I briefly skimmed Xark!&rsquo;s &ldquo;<a href="http://xark.typepad.com/my_weblog/2009/04/flu-dont-panic-but-pay-attention.html">Flu: Don&rsquo;t panic, but pay attention.</a>&rdquo; The honest truth, however, is that I didn&rsquo;t pay attention and it didn&rsquo;t stick. The next morning as we drove to Temple University for #bcniphilly I was skimming through Google Reader on my iPhone again. This time I came across a post from Vinay Gupta on <a href="http://vinay.howtolivewiki.com/blog/personal/swine-flu-its-on-now-1426">how you should take action if it becomes a pandemic flu</a> (i.e. what steps you should take to be proactive). His perspective is what perked my interest to learn more.</p>
<p>Although at the top of Vinay&rsquo;s post was a link to the Wikipedia article in progress, my first intuition was to &ldquo;confirm&rdquo; the facts and download the NY Times iPhone application. After three or four minutes, I was able to launch and see their coverage. The only story on the front page of the mobile app, however, was a <a href="http://www.nytimes.com/2009/04/25/nyregion/25sick.html">short article about the outbreak at a school in Queens, New York</a>. Not getting the context I wanted, I went to the Google Mobile app to see what search results it would give me. The top link was the <a href="http://en.wikipedia.org/wiki/Swine_flu">Wikipedia article in progress</a> which gave me the background to the previous three articles and posts.</p>
<p>Notice: <strong>only one of the four sources of information I accessed to learn more about a news event (i.e. &ldquo;pull journalism&rdquo;) was an established news media brand.</strong> I&rsquo;ll refrain from putting that phrase in metaphorical quotes. This fact, based on a self-observation of news consumption, led me to believe that one of the most important conversations we could have at BCNI Philly would be on the role of the traditional news organization in an ecosystem of news.</p>
<p>Based on a thought-provoking conversation with <a href="http://www.ryansholin.com/">Ryan Sholin</a>, <a href="http://ulken.com/">Eric Ulken</a>, and a few others, I&rsquo;d like to offer perspective. First, <strong>the formats for news need to evolve further</strong>. I mean, I went to Wikipedia because I <em>wasn&rsquo;t satisfied</em> with how the New York Times presented information to me. If they launched a <a href="http://www.copress.org/2009/02/18/whats-in-a-news-wiki/">true news wiki with similar or superior accessibility</a>, I think they could steal my attention back for one reason: the New York Time has a brand of accuracy and accountability that is backed by real people. Wikipedia has a brand of accuracy and accountability in my mindspace, but it&rsquo;s not visibly backed by public faces. Extra points to the Times if they can build a wiki where authoritative figures can suggest edits, and then there&rsquo;s some way to visualize which contributions came from reporters and which from scientists.</p>
<p>Two, <strong>be a curator</strong>. I started following @<a href="http://twitter.com/cdcemergency">CDCemergency</a> because <a href="http://twitter.com/timoreilly/status/1622557738">Tim O&rsquo;Reilly tweeted about it</a>, not because the New York Times did. In fact, I don&rsquo;t even follow the Times on Twitter because <a href="http://twitter.com/nytimes">their profile isn&rsquo;t any better than an RSS feed</a>. I decide who I follow on Twitter based on whether <em>they create value by curating the web</em>. If I were working at the Times now, I&rsquo;d create an account like @<a href="http://twitter.com/nytswineflu">nytswineflu</a>, which includes both brand and topic, and use it to publish new updates, tease both New York Times articles and others, and answer followers&rsquo; questions. Curation is journalism too.</p>
<p>On this topic of #swineflu, there&rsquo;s another conversation being had about <a href="http://neteffect.foreignpolicy.com/posts/2009/04/25/swine_flu_twitters_power_to_misinform">Twitter&rsquo;s power to misinform</a>:</p>
<blockquote>
<p>That aside, the “swine flu” Twitter-scare has once again proved the importance of context – and how badly most Twitter conversations are hurt by the lack of it. The problem with Twitter is that there is very little context you can fit into 140 characters, even less so if all you are doing is watching a stream of messages that mention “swine flu.” Now, the lack of context is probably not a problem in 99% of discussions happening on Twitter – or, at least, it&rsquo;s not a problem with devastating global consequences.</p></blockquote>
<p>To me, though, this underscores the need for media literacy and critical thinking skills. Lack of context can be countered by one simple thing: the link. The value of the news organization in this new news ecology is to be a part of the conversation, and provide an easily accessible repository for vetted information, let it be a tweet, an article, or a continuously revised wiki. Reclaim that brand.</p>]]></content:encoded>
    </item>
    <item>
      <title>It settles out?</title>
      <link>https://danielbachhuber.com/it-settles-out/</link>
      <pubDate>Fri, 24 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/it-settles-out/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/dbp2008040221itsettlesout-h5001.jpg&#34; alt=&#34;dbp2008040221itsettlesout-h500&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;330&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;In Rajasthan, two boys in the 8th standard fill their father&amp;rsquo;s cart with water from the village naadi, or pond. It takes around an hour and a half for them to complete this task daily, and provides just enough water for the eight family members, 10 to 15 goat, a cow, and a bullock. The quality of their water becomes less important when quantity is a concern.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been working frantically for just over a week on putting together a piece for &lt;a href=&#34;http://jcomm.uoregon.edu/flux09/&#34;&gt;this year&amp;rsquo;s edition of Flux Magazine&lt;/a&gt;, only to &lt;a href=&#34;http://twitter.com/danielbachhuber/status/1598641928&#34;&gt;learn at the last minute&lt;/a&gt; that my story was cut because I&amp;rsquo;m not an active student. If I have time next week, I&amp;rsquo;ll finish up what I was writing and publish it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img src="images/dbp2008040221itsettlesout-h5001.jpg" alt="dbp2008040221itsettlesout-h500"  width="500"
	height="330"  /></p>
<p>In Rajasthan, two boys in the 8th standard fill their father&rsquo;s cart with water from the village naadi, or pond. It takes around an hour and a half for them to complete this task daily, and provides just enough water for the eight family members, 10 to 15 goat, a cow, and a bullock. The quality of their water becomes less important when quantity is a concern.</p>
<p>I&rsquo;ve been working frantically for just over a week on putting together a piece for <a href="http://jcomm.uoregon.edu/flux09/">this year&rsquo;s edition of Flux Magazine</a>, only to <a href="http://twitter.com/danielbachhuber/status/1598641928">learn at the last minute</a> that my story was cut because I&rsquo;m not an active student. If I have time next week, I&rsquo;ll finish up what I was writing and publish it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ryan Knutson on J school and optimism</title>
      <link>https://danielbachhuber.com/ryan-knutson-on-j-school-and-optimism/</link>
      <pubDate>Thu, 23 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ryan-knutson-on-j-school-and-optimism/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://vimeo.com/4286094&#34;&gt;Ryan Knutson on J School and Optimism&lt;/a&gt; from &lt;a href=&#34;http://vimeo.com/danielbachhuber&#34;&gt;Daniel Bachhuber&lt;/a&gt; on &lt;a href=&#34;http://vimeo.com&#34;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I had the opportunity to get lunch today with &lt;a href=&#34;http://ryanknutson.blogspot.com/&#34;&gt;Ryan Knutson&lt;/a&gt; (@&lt;a href=&#34;http://twitter.com/UOknutson&#34;&gt;UOknutson&lt;/a&gt;), a former colleague at the &lt;a href=&#34;http://www.dailyemerald.com/&#34;&gt;Daily Emerald&lt;/a&gt; that I respect and consider a friend. He&amp;rsquo;s several weeks away from graduating with a double major at the University of Oregon&amp;rsquo;s &lt;a href=&#34;http://jcomm.uoregon.edu/&#34;&gt;School of Journalism and Communication&lt;/a&gt;. Given the current state of the newspaper industry, and thus the education industry that feeds it, I thought it might be interesting to ask him about his perspective on the situation, where his felt his J school was successful and where it needs to improve, and why he&amp;rsquo;s optimistic about the future of news.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://vimeo.com/4286094">Ryan Knutson on J School and Optimism</a> from <a href="http://vimeo.com/danielbachhuber">Daniel Bachhuber</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I had the opportunity to get lunch today with <a href="http://ryanknutson.blogspot.com/">Ryan Knutson</a> (@<a href="http://twitter.com/UOknutson">UOknutson</a>), a former colleague at the <a href="http://www.dailyemerald.com/">Daily Emerald</a> that I respect and consider a friend. He&rsquo;s several weeks away from graduating with a double major at the University of Oregon&rsquo;s <a href="http://jcomm.uoregon.edu/">School of Journalism and Communication</a>. Given the current state of the newspaper industry, and thus the education industry that feeds it, I thought it might be interesting to ask him about his perspective on the situation, where his felt his J school was successful and where it needs to improve, and why he&rsquo;s optimistic about the future of news.</p>
<p>When he discusses the journalism school, I think there&rsquo;s an important note to be made: most of the value in the education he obtained was from the skills he learned, not necessarily the academic side of journalism. As the tools and methods needed to do journalism change at a greater and greater pace, the four year approach of the university becomes an inappropriate and ineffective mechanism for delivering knowledge. I think this is a large root cause reason for why J schools are having such difficulty in trying to figure out what to teach. They have an idea of what will be applicable today, but not four years down the road. On the plus side, though, there will be more and more demand for weekend or short-term workshops to learn special skills such as Flash, database design, Final Cut Pro, and the basics of editing audio.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sesh ideas for BCNI Philly</title>
      <link>https://danielbachhuber.com/sesh-ideas-for-bcni-philly/</link>
      <pubDate>Thu, 23 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sesh-ideas-for-bcni-philly/</guid>
      <description>&lt;p&gt;Tomorrow morning will find me headed to Philadelphia for Saturday&amp;rsquo;s &lt;a href=&#34;http://bcniphilly.com/&#34;&gt;BarCamp NewsInnovation Philly&lt;/a&gt;. Needless to say, I&amp;rsquo;m super stoked for this opportunity. Not only will I be able to finally meet my boss, my &lt;a href=&#34;http://blog.publish2.com/2009/04/23/joining-publish2-ryan-sholin-greg-linch-and-howard-weaver/&#34;&gt;new colleagues&lt;/a&gt;, and the rest of the CoPress team I haven&amp;rsquo;t met, but I&amp;rsquo;ll get to spend an entire day, and probably much of the weekend, discussing the future of journalism with some of the smartest news folk in the country. If my flight doesn&amp;rsquo;t get laid over in Atlanta, I&amp;rsquo;d like to spend my time taking about at least a couple of different things:&lt;/p&gt;&#xA;&lt;h3 id=&#34;designing-a-news-startup-from-scratch-in-60-minutes&#34;&gt;Designing a News Startup From Scratch in 60 Minutes&lt;/h3&gt;&#xA;&lt;p&gt;The goal would be to rapidly prototype what a news organization of the future might look like by walking the hypothetical startup from concept to a year after launch and covering things such as:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Tomorrow morning will find me headed to Philadelphia for Saturday&rsquo;s <a href="http://bcniphilly.com/">BarCamp NewsInnovation Philly</a>. Needless to say, I&rsquo;m super stoked for this opportunity. Not only will I be able to finally meet my boss, my <a href="http://blog.publish2.com/2009/04/23/joining-publish2-ryan-sholin-greg-linch-and-howard-weaver/">new colleagues</a>, and the rest of the CoPress team I haven&rsquo;t met, but I&rsquo;ll get to spend an entire day, and probably much of the weekend, discussing the future of journalism with some of the smartest news folk in the country. If my flight doesn&rsquo;t get laid over in Atlanta, I&rsquo;d like to spend my time taking about at least a couple of different things:</p>
<h3 id="designing-a-news-startup-from-scratch-in-60-minutes">Designing a News Startup From Scratch in 60 Minutes</h3>
<p>The goal would be to rapidly prototype what a news organization of the future might look like by walking the hypothetical startup from concept to a year after launch and covering things such as:</p>
<ul>
<li>Identifying the community</li>
<li>Speculating on the ideal number and composition of staff</li>
<li>Brainstorming the technology behind the website, and what sort of functionality the news organization would offer</li>
<li>Proposing revenue models</li>
<li>Designing the newsroom (the balance between working virtually and in physical space)</li>
<li>Listing out all of the information your community might need, and the resources required to cover it (this could even be a session on its own)</li>
</ul>
<p>This would be a very proactive activity for those in newsrooms currently, and might even bootstrap a few projects from people in the room.</p>
<h3 id="j-school-in-2020">J School in 2020</h3>
<p>In regards to journalism education, much of the <a href="http://www.collegemediainnovation.org/blog/2009/04/20/how-would-you-reinvent-the-journalism-school/">discussion</a> has been focused on <a href="http://www.pbs.org/mediashift/2009/04/nyu-j-school-students-unsure-of-future-in-changing-industry111.html">whether or not J schools are adequately preparing their students for the reality of the newspaper industry</a> and, from this, how they might change their curriculum incrementally to address the needs of today. This isn&rsquo;t good enough. Instead of <a href="http://www.nytimes.com/2009/04/19/education/edlife/journ-t.html">playing catchup</a>, as the New York Time states the obvious, I think it would be far more powerful to apply the concept of <a href="http://en.wikipedia.org/wiki/Scenario_planning">scenario planning</a> to the future of journalism education, and the university system as well. The education industry should be learning from the newspaper industry.</p>
<p>From my view, there are three roles of the university in the 21st century. One, provide the basic foundation in any subject matter for a person to be able to then grow from. In journalism, this might be ethics, media, etc. I wouldn&rsquo;t teach any tools in these core classes, but the classes would be evening supplements to internships and work experience. Two, <a href="http://www.danielbachhuber.com/2009/04/19/teaching-how-to-learn/">teach how to learn</a>. In a world changing at an exponential pace, the ability to quickly understand and act upon information is paramount. The kicker to approaching this in the university setting? The subject material would be completely random and change from term to term. Three, be a sandbox. Be the place where people of any age can go to learn more about the world and their role within it. Let them experiment and play with reality, but let the university be the place where learners can experiment and fail gracefully. The university system almost does the first of these three at the moment. That&rsquo;s not good enough.</p>
<p>Discussion in this session would lead to actionable takeaways. If I were the Dean of a J school right now, these are several of the things I would consider doing:</p>
<ul>
<li>Start blogging more regularly about how the J school is changing and what your vision for it. As the leader of any organization, facilitating vision is critical. Blogging makes it open, two-way, and more approachable. Create different scenarios for journalism in 2020, and discuss how the J school will support that.</li>
<li>Launch a series of skills-based evening or weekend classes (i.e. Flash, editing audio, etc.) that are open to anyone. Make them free. Create demand for your product.</li>
<li>Make regular blogging (and maybe tweeting) a requirement of anyone in the journalism school. I&rsquo;m personally trying to blog more often because I know writing regularly will improve my abilities. Same concept applies. Have an online space that aggregates these blog posts by topic. Propose blog topics over the list serv, have students write on them, and then have a forum to continue the discussion in person.</li>
<li>Establish a startup seed fund. A lot of good journalists aren&rsquo;t going to be getting newspaper jobs after they graduate this year. They&rsquo;ll think a lot higher of the university if it funds innovation and competition.</li>
</ul>
<p>I&rsquo;m also planning on bringing audio and video recording equipment. Hopefully not a moment of this weekend will go uncaptured. Also, if anyone is down for a run around Philly on Sunday morning, ping me up.</p>]]></content:encoded>
    </item>
    <item>
      <title>Newspapers aren&#39;t the only monopolies</title>
      <link>https://danielbachhuber.com/newspapers-arent-the-only-monopolies/</link>
      <pubDate>Tue, 21 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/newspapers-arent-the-only-monopolies/</guid>
      <description>&lt;p&gt;Who else thinks &lt;a href=&#34;http://www.deseretnews.com/article/705298649/Universities-will-be-irrelevant-by-2020-Y-professor-says.html&#34;&gt;this&lt;/a&gt; sounds familiar?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;America&amp;rsquo;s colleges and universities, says Wiley, have been acting as if what they offer — access to educational materials, a venue for socializing, the awarding of a credential — can&amp;rsquo;t be obtained anywhere else. By and large, campus-based universities haven&amp;rsquo;t been innovative, he says, because they&amp;rsquo;ve been a monopoly.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;If you&amp;rsquo;d wanted to be really disruptive, you&amp;rsquo;d design the rapid accreditation system that offers more variable certification.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Who else thinks <a href="http://www.deseretnews.com/article/705298649/Universities-will-be-irrelevant-by-2020-Y-professor-says.html">this</a> sounds familiar?</p>
<blockquote>
<p>America&rsquo;s colleges and universities, says Wiley, have been acting as if what they offer — access to educational materials, a venue for socializing, the awarding of a credential — can&rsquo;t be obtained anywhere else. By and large, campus-based universities haven&rsquo;t been innovative, he says, because they&rsquo;ve been a monopoly.</p></blockquote>
<p>If you&rsquo;d wanted to be really disruptive, you&rsquo;d design the rapid accreditation system that offers more variable certification.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Take reputation systems one step further</title>
      <link>https://danielbachhuber.com/take-reputation-systems-one-step-further/</link>
      <pubDate>Tue, 21 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/take-reputation-systems-one-step-further/</guid>
      <description>&lt;p&gt;Mark Briggs wrote a post on Journalism 2.0 about &lt;a href=&#34;http://www.journalism20.com/blog/2009/04/20/good-model-for-comments/&#34;&gt;how a reputation system could be applied to comments&lt;/a&gt; on a newspaper&amp;rsquo;s website. It got my brain in a party. A reputation economy is something we&amp;rsquo;re taking very much into consideration as we develop some of the core ideas behind the Connection Engine, the platform CoPress will eventually build to power our community, and I think the concept has tremendous potential as a tool to evaluate the map of expertise within your community.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Mark Briggs wrote a post on Journalism 2.0 about <a href="http://www.journalism20.com/blog/2009/04/20/good-model-for-comments/">how a reputation system could be applied to comments</a> on a newspaper&rsquo;s website. It got my brain in a party. A reputation economy is something we&rsquo;re taking very much into consideration as we develop some of the core ideas behind the Connection Engine, the platform CoPress will eventually build to power our community, and I think the concept has tremendous potential as a tool to evaluate the map of expertise within your community.</p>
<p>In Mark&rsquo;s scenario (borrowed from <a href="http://stackoverflow.com/">Stack Overflow</a>), the reputation system would be used to identify the good comments from the cruft. If you post a good comment other people think adds to the conversation, then they might vote you up. You&rsquo;d earn reputation points from that transaction. If you were trolling to derail the conversation or intentionally trying to provoke, then the community could vote you down and you&rsquo;d lose reputation points. The author of the post, furthermore, could use his or her super reputation to bestow blessings upon really intelligent feedback. All of this information about the quality of content would be useful to the CMS and webmaster, and editor I suppose, in trying to determine what gets placement where.</p>
<p>The kicker is when you tie this reputation system into the database that&rsquo;s tracking people in your community. This is where things could get really interesting. By adding semantic information to the reputation system (i.e. recording the topic that the commenter is writing on and saving structured data about the nature of their response), you could build a super useful for finding the diamonds in the rough. For instance, if Marcus Doe (a fake name to protect his identity) commented often on articles about climate change and water access issues, and his fellow commenters rated his insights highly, then Marcus&rsquo; profile in the database would indicate that the crowd seems to think he makes fair arguments. The news organization would then invite Marcus to contribute a guest article. If the readers then found that contribution valuable, it would increase Marcus&rsquo; profile as a source of knowledge about climate change and water access within the community. This would only work with real, verifiable commenters, of course.</p>
<p>This reputation system would be the engine to empower the community to evaluate information and sources for merit.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BarCamp Portland and the future of news</title>
      <link>https://danielbachhuber.com/barcamp-portland-and-the-future-of-news/</link>
      <pubDate>Mon, 20 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/barcamp-portland-and-the-future-of-news/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s &lt;a href=&#34;http://www.anotherblogger.com/2009/04/19/journalism-and-media-lets-discuss-changes-at-barcampportland/&#34;&gt;talk on the town&lt;/a&gt; about adding a journalism session to &lt;a href=&#34;http://barcamp.org/BarCampPortland&#34;&gt;BarCamp Portland&lt;/a&gt;. This should be a time to brainstorm and collaborate on the future of news in the Portland-area, instead of just being a space for journalists and bloggers to come together and try and resolve their issues. Let&amp;rsquo;s have an idea-generating session on what the journalism needs of Portland are, how we&amp;rsquo;ll be able to fill those news from the grassroots if/when The Oregonian implodes because of their terrible CMS, and then, in turn, how we&amp;rsquo;ll be able to monetize that. This is something where perspectives from both camps, the journalists and the bloggers, would offer value to the conversation.&lt;/p&gt;&#xA;&lt;p&gt;To provide fodder for this discussion, listen to the &lt;a href=&#34;http://www.scripting.com/stories/2009/04/19/rebootingTheNewsPodcastFor.html&#34;&gt;most recent installment&lt;/a&gt; of Dave Winer and Jay Rosen&amp;rsquo;s Rebooting the News. One of the ideas that I think will &amp;ldquo;save journalism&amp;rdquo; is the digital assignment desk Jay starts talking about near the end. His part of the idea is this: a tool to map out all of the particulars that might need to be reported on in the coverage of any given issue. Once the editorial team has this laid out, they can then decide what resources they want to apply and where.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;d like to take this two steps further.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There&rsquo;s <a href="http://www.anotherblogger.com/2009/04/19/journalism-and-media-lets-discuss-changes-at-barcampportland/">talk on the town</a> about adding a journalism session to <a href="http://barcamp.org/BarCampPortland">BarCamp Portland</a>. This should be a time to brainstorm and collaborate on the future of news in the Portland-area, instead of just being a space for journalists and bloggers to come together and try and resolve their issues. Let&rsquo;s have an idea-generating session on what the journalism needs of Portland are, how we&rsquo;ll be able to fill those news from the grassroots if/when The Oregonian implodes because of their terrible CMS, and then, in turn, how we&rsquo;ll be able to monetize that. This is something where perspectives from both camps, the journalists and the bloggers, would offer value to the conversation.</p>
<p>To provide fodder for this discussion, listen to the <a href="http://www.scripting.com/stories/2009/04/19/rebootingTheNewsPodcastFor.html">most recent installment</a> of Dave Winer and Jay Rosen&rsquo;s Rebooting the News. One of the ideas that I think will &ldquo;save journalism&rdquo; is the digital assignment desk Jay starts talking about near the end. His part of the idea is this: a tool to map out all of the particulars that might need to be reported on in the coverage of any given issue. Once the editorial team has this laid out, they can then decide what resources they want to apply and where.</p>
<p>I&rsquo;d like to take this two steps further.</p>
<p>Let&rsquo;s both open this up, and allow the community to get involved. Opening this up would mean that all of the information in the database would be transparent, accessible, and machine-readable (by marking information up with meta data). There would be an API so that others could build applications on top of the digital news assignment database (or hack the information into a legacy CMS). A J student could build a visualization comparing the number hours spent covering sports versus <a href="http://www.oregoncommentator.com/2009/04/19/some-cheese-with-that-whine/">ASUO</a> as an independent study project. The list goes on.</p>
<p>The community should be involved with the journalism requirements of a city through two means: contributing to the database of things that need to be reported on, and taking on assignments as they fit their expertise. For instance, and I may have used this story before, my dad considers himself a photographer and enjoys capturing local high school sports games. He&rsquo;s not the only parent in this geographic community or in the community of the high school that would fit this bill. Using this digital news assignment system, my dad could indicate that he&rsquo;s wants to go to the game and make images. He&rsquo;d submit 10 of what he thinks are the best at the end of the night, and the professional photographer on staff at the news organization would select the top two or three to run with the blog post or paper article, while at the same time giving feedback to my dad on what he liked about the images and what needed to be improved. Visitor participation and voting on the website would tell the CRM side of the database that they liked my dad&rsquo;s work, thus making him more eligible to be the one covering the state playoffs.</p>
<p>If the community had access to what the news organization was planning to assign, they could give feedback and further suggestions. With <a href="http://spot.us/">Spot.us</a>, the community has power to decide what is reported on with their dollars. This community news assignment open platform thing, beautiful name I know, would empower members to suggest assignments, vote on them, and then brainstorm all of the different variables that needed to be reported on.</p>
<p>This just needs to be built, and I&rsquo;d much rather have the discussion at BarCamp Portland focused on how to experiment with ideas like these.</p>]]></content:encoded>
    </item>
    <item>
      <title>Teaching how to learn</title>
      <link>https://danielbachhuber.com/teaching-how-to-learn/</link>
      <pubDate>Mon, 20 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/teaching-how-to-learn/</guid>
      <description>&lt;p&gt;A not-so-random thought that came to me while watching &lt;a href=&#34;http://www.ted.com/index.php/talks/tim_ferriss_smash_fear_learn_anything.html&#34;&gt;this video from Tim Ferriss on how to learn anything&lt;/a&gt;: there&amp;rsquo;s got to be a better way to teach how to learn. One of the expressed goals of the university, especially small, liberal arts colleges, is to create &amp;ldquo;life long learners.&amp;rdquo; This seems somewhat ironic, as a common exclamation of relief from graduates is that they no longer have to take more classes. The brave new world we&amp;rsquo;re entering is going to require constant learners, and it&amp;rsquo;s unfortunate that the current system is taking away the passion required to be one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A not-so-random thought that came to me while watching <a href="http://www.ted.com/index.php/talks/tim_ferriss_smash_fear_learn_anything.html">this video from Tim Ferriss on how to learn anything</a>: there&rsquo;s got to be a better way to teach how to learn. One of the expressed goals of the university, especially small, liberal arts colleges, is to create &ldquo;life long learners.&rdquo; This seems somewhat ironic, as a common exclamation of relief from graduates is that they no longer have to take more classes. The brave new world we&rsquo;re entering is going to require constant learners, and it&rsquo;s unfortunate that the current system is taking away the passion required to be one.</p>
<p>Here&rsquo;s the idea in a graf: the core classes students would take focus exclusively on <em>how to learn</em>. Ferriss&rsquo; video spoke to me on the importance of this, if nothing else. Whether it&rsquo;s one class or series of three, the professor in this new university would educate on a completely random subject with the explicit understanding it wasn&rsquo;t about the material you were learning, but rather <em>how</em> you were learning it. The meat of the curriculum would be tips, styles, and strategies for being a successful independent and networked learner. Once this foundation was in place, it would just be a matter of putting the student on material for whichever subject they wanted to tackle. There&rsquo;s plenty of that on the web.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Using AP fees wisely</title>
      <link>https://danielbachhuber.com/using-ap-fees-wisely/</link>
      <pubDate>Fri, 17 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/using-ap-fees-wisely/</guid>
      <description>&lt;p&gt;A thought from a meeting yesterday with &lt;a href=&#34;http://twitter.com/johnlowe86&#34;&gt;John Lowe&lt;/a&gt; and an &lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/1491002351&#34;&gt;idea I had a week ago&lt;/a&gt;: what would happen if newspapers withdrew their subscriptions from the Associated Press, which cost too much and offer little value online when &lt;a href=&#34;http://www.buzzmachine.com/2009/04/14/the-newswire-of-the-future/&#34;&gt;you can link instead&lt;/a&gt;, and used all or part of those savings to start an incubator fund for local news startups?&lt;/p&gt;&#xA;&lt;p&gt;Such a fund would offer a extraordinary advantage over printing day-old national news that people can get instantly online.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A thought from a meeting yesterday with <a href="http://twitter.com/johnlowe86">John Lowe</a> and an <a href="http://twitter.com/danielbachhuber/statuses/1491002351">idea I had a week ago</a>: what would happen if newspapers withdrew their subscriptions from the Associated Press, which cost too much and offer little value online when <a href="http://www.buzzmachine.com/2009/04/14/the-newswire-of-the-future/">you can link instead</a>, and used all or part of those savings to start an incubator fund for local news startups?</p>
<p>Such a fund would offer a extraordinary advantage over printing day-old national news that people can get instantly online.</p>
<p>The innovation required for newspapers to reinvent themselves isn&rsquo;t generally coming from within. There are institutional and cultural reasons for this. For instance, a friend who took an early retirement from <em>The Oregonian</em> said that his group of friends who wanted to discuss how to change the newspaper had to do so off company time. They brainstormed ideas over pizza and beer that were rarely implemented once they got back into the office. Google has the <a href="http://www.google.com/support/jobs/bin/static.py?page=about.html&amp;about=eng">20% rule</a>. This is a significant difference in workplace, but a seed fund for news startups would promote the type of creativity and tenacity needed to survive in this new environment that corporate culture typically squashes.</p>
<p>Newspapers could benefit in a couple of ways. One, the contract with the startup might structured in such a way as to guarantee content to the newspaper&rsquo;s print product at mutually agreeable rates. Two, if the startup pulled something particularly innovative, the newspaper could just buy the company. This is what Google does because it knows that disruptive thinking has a lower barrier to implementation on the &rsquo;net.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Interview with Deo of Village Health Works</title>
      <link>https://danielbachhuber.com/interview-with-deo-of-village-health-works/</link>
      <pubDate>Fri, 10 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/interview-with-deo-of-village-health-works/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Video removed on the request of Village Health Works.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Isaac Holeman chats with &lt;a href=&#34;http://www.pih.org/inforesources/news/Burundi_Village_Health_Works.html&#34;&gt;Deo&lt;/a&gt;, the Executive Director of &lt;a href=&#34;http://www.villagehealthworks.org/&#34;&gt;Village Health Works&lt;/a&gt; in Burundi, about his clinic in Kigutu supported by Partners In Health, what the need is (&lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/1448305848&#34;&gt;Burundi is the poorest country in the world according to a 2006 World Bank report&lt;/a&gt;), and where he hopes to take the project in the future. If it isn&amp;rsquo;t conveyed in the interview, Deo has had a tremendously lucky life that he&amp;rsquo;s taken full advantage of. At the &lt;a href=&#34;http://uoglobalhealth.org/conference/&#34;&gt;conference Isaac and I attended last week&lt;/a&gt;, we were fortunate to hear Deo speak on two occasions, a panel on &amp;ldquo;How Poverty Enters the Body&amp;rdquo; and a Saturday keynote. The &lt;a href=&#34;http://www.pih.org/inforesources/news/Burundi_Village_Health_Works.html&#34;&gt;PIH bio on Deo&lt;/a&gt; is another good source of information on his experiences and current work.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>Video removed on the request of Village Health Works.</strong></p>
<p>Isaac Holeman chats with <a href="http://www.pih.org/inforesources/news/Burundi_Village_Health_Works.html">Deo</a>, the Executive Director of <a href="http://www.villagehealthworks.org/">Village Health Works</a> in Burundi, about his clinic in Kigutu supported by Partners In Health, what the need is (<a href="http://twitter.com/danielbachhuber/statuses/1448305848">Burundi is the poorest country in the world according to a 2006 World Bank report</a>), and where he hopes to take the project in the future. If it isn&rsquo;t conveyed in the interview, Deo has had a tremendously lucky life that he&rsquo;s taken full advantage of. At the <a href="http://uoglobalhealth.org/conference/">conference Isaac and I attended last week</a>, we were fortunate to hear Deo speak on two occasions, a panel on &ldquo;How Poverty Enters the Body&rdquo; and a Saturday keynote. The <a href="http://www.pih.org/inforesources/news/Burundi_Village_Health_Works.html">PIH bio on Deo</a> is another good source of information on his experiences and current work.</p>
<p>A couple of notes on from my end. First, apologies for the shakiness. I&rsquo;ve learned that, <a href="http://twitter.com/danielbachhuber/status/1454720749">for Flip interviews over 5 minutes, tripods are a must</a>. Second, I didn&rsquo;t realise at the time how distracting the background noise would be. We&rsquo;ll make sure to find a quiet place next time.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Presentation: Reinventing Direct Action</title>
      <link>https://danielbachhuber.com/presentation-reinventing-direct-action/</link>
      <pubDate>Sat, 04 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/presentation-reinventing-direct-action/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.slideshare.net/danielbachhuber/reinventing-direct-action-4-april-2009-1248886?type=presentation&#34; title=&#34;Reinventing Direct Action, 4 April 2009&#34;&gt;Reinventing Direct Action, 4 April 2009&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;View more &lt;a href=&#34;http://www.slideshare.net/&#34;&gt;presentations&lt;/a&gt; from &lt;a href=&#34;http://www.slideshare.net/danielbachhuber&#34;&gt;danielbachhuber&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m giving this presentation today as a part of a panel at a global health weekend my friend &lt;a href=&#34;http://alexgoodell.com/&#34;&gt;Alex Goodell&lt;/a&gt; spent a significant amount of time putting together. The conference is &amp;ldquo;&lt;a href=&#34;http://uoglobalhealth.org/conference/&#34;&gt;You Can&amp;rsquo;t Crush a Louse with Only One Thumb: Integrating Biomedical &amp;amp; Sociocultural Approaches to HIV/AIDS in Africa&lt;/a&gt;&amp;rdquo; and my panel focuses on student experiences in these issues.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.slideshare.net/danielbachhuber/reinventing-direct-action-4-april-2009-1248886?type=presentation" title="Reinventing Direct Action, 4 April 2009">Reinventing Direct Action, 4 April 2009</a></p>
<p>View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/danielbachhuber">danielbachhuber</a>.</p>
<p>I&rsquo;m giving this presentation today as a part of a panel at a global health weekend my friend <a href="http://alexgoodell.com/">Alex Goodell</a> spent a significant amount of time putting together. The conference is &ldquo;<a href="http://uoglobalhealth.org/conference/">You Can&rsquo;t Crush a Louse with Only One Thumb: Integrating Biomedical &amp; Sociocultural Approaches to HIV/AIDS in Africa</a>&rdquo; and my panel focuses on student experiences in these issues.</p>
<p>To make this interesting, I&rsquo;ll be arguing that both the university system and standard practices in international development are broken, and that, more importantly, there are ways to fix each which will create more desirable future. It&rsquo;s not about who should be to blame, but rather how the methods for each can be improved. One of these days, I&rsquo;ll start producing second version of my presentations that include more narrative text too (I&rsquo;m too much of a minimalist to include extensive text on my slides). Because the Oregon Direct Action project ended before implementation, I also hope to do a retrospect post on what worked and what didn&rsquo;t work in the effort.</p>
<p>Whitman Direct Action has been active recently, first posting an <a href="http://www.whitmandirectaction.org/2009/03/28/the-transnational-community-development-initiative/">update about their most recent project, The Transnational Community Development</a>, and then <a href="http://www.whitmandirectaction.org/2009/03/28/spring-break-trip-to-woodburnportland/">reporting on meetings with a couple of the NGOs they&rsquo;re supporting</a>.</p>
<p>I&rsquo;ve also uploaded a <a href="http://media.danielbachhuber.com/research/WDA2008-DevelopingWater.pdf">PDF of the report we produced last spring, titled &ldquo;Developing Water.</a>&rdquo; Through a series of surveys, focus groups, and interviews, we took a look at the socio-cultural constraints to clean water access in the Kolwan Valley. It isn&rsquo;t necessarily anything groundbreaking if you&rsquo;ve been working in the sector, but it does serve as a pretty legit primer to water access issues in India.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BOINC for journalism</title>
      <link>https://danielbachhuber.com/boinc-for-journalism/</link>
      <pubDate>Fri, 03 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/boinc-for-journalism/</guid>
      <description>&lt;p&gt;The University of Oregon School of Journalism and Communication brought Marty Baron, Editor of the Boston Globe, to Eugene today to give the 33rd Ruhl Lecture. My overall opinion is that, although it was fun to be physically present at one of these #thedeathofnewspapers presentations, he didn&amp;rsquo;t cover anything particularly new or groundbreaking. It began with a pretty backward-looking, pessimistic tone, and then continued into something that lead Bryan Murley to &lt;a href=&#34;http://twitter.com/CICM/status/1441797866&#34;&gt;ask whether it was an &amp;ldquo;informercial for The Globe.&lt;/a&gt;&amp;rdquo; In fact, I think the entire perspective of the audience could&amp;rsquo;ve been shifted if, instead of calling the lecture &amp;ldquo;The Incredible Shrinking Newsroom,&amp;rdquo; it were called &amp;ldquo;The Amazing Growth of the News Ecosystem.&amp;rdquo; We need more conversation about what the future can look like. But I digress.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The University of Oregon School of Journalism and Communication brought Marty Baron, Editor of the Boston Globe, to Eugene today to give the 33rd Ruhl Lecture. My overall opinion is that, although it was fun to be physically present at one of these #thedeathofnewspapers presentations, he didn&rsquo;t cover anything particularly new or groundbreaking. It began with a pretty backward-looking, pessimistic tone, and then continued into something that lead Bryan Murley to <a href="http://twitter.com/CICM/status/1441797866">ask whether it was an &ldquo;informercial for The Globe.</a>&rdquo; In fact, I think the entire perspective of the audience could&rsquo;ve been shifted if, instead of calling the lecture &ldquo;The Incredible Shrinking Newsroom,&rdquo; it were called &ldquo;The Amazing Growth of the News Ecosystem.&rdquo; We need more conversation about what the future can look like. But I digress.</p>
<p>One of the arguments he had as a lament for the death of newspaper journalism was reference to reporting done by the Miami Herald after the 2000 elections. According to Baron, The Herald <a href="http://twitter.com/Reporting1Devon/statuses/1441800590">did its own count of the Florida results</a> and that, in reference to restructuring in Chicago, <a href="http://twitter.com/SuziSteffen/status/1441814693">there&rsquo;s no way a newsroom of 26 could do similar work</a>.</p>
<p>If you get creative, I think there is. It&rsquo;s called <a href="http://boinc.berkeley.edu/">BOINC</a> and we could apply it to journalism. The Berkley project is a distributed computing platform where ordinary people volunteer computer time to process data from a number of scientific projects. The results are verified because some &ldquo;projects,&rdquo; as the data sets are called, are repeated across multiple machines. Journalism related to data verification can be massively distributed in this method; it&rsquo;s just a matter of experimenting with the correct means and tools of doing so. For more information on BOINC, Leo Laporte did a <a href="http://twit.tv/floss60">thorough interview for FLOSS Weekly</a> recently.</p>
<p>At the end of the lecture, Bryan Murley <a href="http://twitter.com/CICM/status/1441892566">prompted me to ask Baron what he&rsquo;s doing to restore credibility</a>, citing the <a href="http://www.stateofthenewsmedia.com/2009/narrative_overview_publicattitudes.php?cat=3&amp;media=1">2009 State of the News Media report</a>. I interpreted this as: &ldquo;What steps is The Boston Globe taking to restore credibility in itself as a news organization? What have been the successes and challenges of these steps?&rdquo;</p>
<p>Marty Baron, however, <a href="http://twitter.com/WhitneyMountain/status/1441914431">argued that The Globe hasn&rsquo;t suffered a loss of credibility</a>, and that he <a href="http://twitter.com/SuziSteffen/status/1441915488">doesn&rsquo;t like to use the term &ldquo;restored.&rdquo;</a> Instead, Baron says that <a href="http://twitter.com/SuziSteffen/statuses/1441919473">they have a &ldquo;long, very detailed&rdquo; ethics policy</a>, and that they make sure their reporting is &ldquo;<a href="http://twitter.com/SuziSteffen/statuses/1441919473">fair, honest, and accurate.</a>&rdquo;</p>
<p>He&rsquo;s missing the point, in my opinion. Credibility isn&rsquo;t what you think of yourself, but rather how your community thinks of its information relationship with you. His response dealt too much with &ldquo;<a href="http://twitter.com/danielbachhuber/status/1441927629">I, I, and We, We,</a>&rdquo; instead of exploring ways to increase the ownership Boston has in The Globe.</p>
<p>After the Q&amp;A session was over, I decided to follow up with him to see if he could clarify from the community perspective (there are also a couple of questions about The Globe&rsquo;s web presence):</p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/3981017?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>Again, though, he didn&rsquo;t answer the question I was asking. If I had thought of it, I would&rsquo;ve asked these questions as well:</p>
<ul>
<li>What is your definition of journalism?</li>
<li>How is journalism related to civic engagement, and how might the web be a better tool for increasing that engagement?</li>
</ul>
<p>Last, but not least, kudos to Suzi Steffen&rsquo;s Reporting 1 class for live-tweeting the entire thing. They did a thorough and excellent job (and their tweets were certainly useful to me for compiling my thoughts).</p>
<p><strong>Later:</strong> The <a href="http://jcomm.uoregon.edu/articles/full-text-audio-of-2009-ruhl-lecture/">full text and audio of the lecture are available online</a> on the J school website.</p>]]></content:encoded>
    </item>
    <item>
      <title>Broken Connection</title>
      <link>https://danielbachhuber.com/broken-connection/</link>
      <pubDate>Wed, 01 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/broken-connection/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3089172306/&#34; title=&#34;Broken Connection by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3089172306_e944037dac.jpg&#34; alt=&#34;Broken Connection&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;335&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;In Savurgaon, a small village in the Kolwan Valley, Maharashtra, India, a broken pipeline in March 2009 means no water for at least five days. The community shares its local government, the &lt;a href=&#34;http://en.wikipedia.org/wiki/Gram_panchayat&#34;&gt;Gram Panchayat&lt;/a&gt;, with two other villages, a unique situation to the area which ultimately means that issues aren&amp;rsquo;t often addressed as quickly as they should be. In the interim, many of the families are dependent on the generosity of a wealthier farmer with his own private bore well. When water does come again, though, the way the pots are ordered will signify who gets their fill first.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/3089172306/" title="Broken Connection by danielbachhuber, on Flickr"><img src="images/3089172306_e944037dac.jpg" alt="Broken Connection"  width="500"
	height="335"  /></a></p>
<p>In Savurgaon, a small village in the Kolwan Valley, Maharashtra, India, a broken pipeline in March 2009 means no water for at least five days. The community shares its local government, the <a href="http://en.wikipedia.org/wiki/Gram_panchayat">Gram Panchayat</a>, with two other villages, a unique situation to the area which ultimately means that issues aren&rsquo;t often addressed as quickly as they should be. In the interim, many of the families are dependent on the generosity of a wealthier farmer with his own private bore well. When water does come again, though, the way the pots are ordered will signify who gets their fill first.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Vetting advertisers</title>
      <link>https://danielbachhuber.com/vetting-advertisers/</link>
      <pubDate>Sat, 28 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/vetting-advertisers/</guid>
      <description>&lt;p&gt;Yesterday, I off-handedly had an idea that could be a business model for news organizations: &lt;a href=&#34;http://twitter.com/danielbachhuber/status/1396229910&#34;&gt;vetting advertisers&lt;/a&gt;. Under the assumption that an organization practicing journalism builds its credibility though truthfulness, transparency, and accuracy, there exists the possibility that they could then monetize that credibility by taking product claims through the ringer. Not selling out, per se, but rather by selling time and attention. Companies would pay you because they want to be associated with your authority; in order to get this authority, however, they&amp;rsquo;d have to surpass a set of open source criteria. We shouldn&amp;rsquo;t be taking the human touch out of advertising because then, every so often, you get something like this:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday, I off-handedly had an idea that could be a business model for news organizations: <a href="http://twitter.com/danielbachhuber/status/1396229910">vetting advertisers</a>. Under the assumption that an organization practicing journalism builds its credibility though truthfulness, transparency, and accuracy, there exists the possibility that they could then monetize that credibility by taking product claims through the ringer. Not selling out, per se, but rather by selling time and attention. Companies would pay you because they want to be associated with your authority; in order to get this authority, however, they&rsquo;d have to surpass a set of open source criteria. We shouldn&rsquo;t be taking the human touch out of advertising because then, every so often, you get something like this:</p>
<p><img src="images/google-reader-5021.jpg" alt="google-reader-502"  width="500"
	height="276"  /></p>
<p>at the bottom of an <a href="http://lighterfootstep.com/2009/03/aquafinas-new-eco-fina-bottle-greenwash-or-progress/">article about bottled water and greenwash advertising</a>. In my opinion, <em>Lighter Footstep</em> is now sending two contradictory messages: <a href="http://lighterfootstep.com/2008/05/five-reasons-not-to-drink-bottled-water/">bottled water is killing our environment</a>, and that I should pay a premium to have bottled water shipped from the South Pacific. This juxtaposition is broken because the misleading advertising has the opportunity to negate the value of the journalism.</p>
<p><strong>Later:</strong> Dave Winer speculates on a &ldquo;<a href="http://www.scripting.com/stories/2009/03/27/productIdeaDiggForAds.html">Digg for ads</a>&rdquo; which falls under this same idea of vetting advertisements (although crowdsourcing this time).</p>
]]></content:encoded>
    </item>
    <item>
      <title>News Innovation in Portland: Interview with Steve Woodward on journalism, InfoLiberator, and OpenMicroBlogging</title>
      <link>https://danielbachhuber.com/news-innovation-in-portland-interview-with-steve-woodward-on-journalism-infoliberator-and-openmicroblogging/</link>
      <pubDate>Thu, 26 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/news-innovation-in-portland-interview-with-steve-woodward-on-journalism-infoliberator-and-openmicroblogging/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://vimeo.com/3860772&#34;&gt;News Innovation in Portland: Interview with Steve Woodward&lt;/a&gt; from &lt;a href=&#34;http://vimeo.com/danielbachhuber&#34;&gt;Daniel Bachhuber&lt;/a&gt; on &lt;a href=&#34;http://vimeo.com&#34;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I sat down with Steve Woodward this evening (@&lt;a href=&#34;http://twitter.com/oregoniansteve&#34;&gt;oregoniansteve&lt;/a&gt; on Twitter) at Bailey&amp;rsquo;s Taproom in Portland to discuss a whole myriad of topics, including the supposed &amp;ldquo;death of journalism,&amp;rdquo; how and why the internet is disrupting other industries, and why now is a great time to be alive. In the interview I did at the end of our conversation, I ask him what he thinks journalism is and about the project he&amp;rsquo;s currently working on, a mashup between &lt;a href=&#34;http://www.infoliberator.com/&#34;&gt;InfoLiberator&lt;/a&gt; and &lt;a href=&#34;http://openmicroblogging.org/&#34;&gt;OpenMicroBlogging&lt;/a&gt;. Their goal is to build a &amp;ldquo;Costco for data,&amp;rdquo; aggregating local information from a number of sources and then feeding it to you based on keywords, location, and other meta criteria. Watch all of the way though for a &lt;a href=&#34;http://brightkite.com/objects/bfed25b619af11deb4e5003048c0801e&#34;&gt;coincidental appearance by a drunk&lt;/a&gt;, and how he too applies to the project Steve is working on. I&amp;rsquo;ll work for better audio next time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://vimeo.com/3860772">News Innovation in Portland: Interview with Steve Woodward</a> from <a href="http://vimeo.com/danielbachhuber">Daniel Bachhuber</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I sat down with Steve Woodward this evening (@<a href="http://twitter.com/oregoniansteve">oregoniansteve</a> on Twitter) at Bailey&rsquo;s Taproom in Portland to discuss a whole myriad of topics, including the supposed &ldquo;death of journalism,&rdquo; how and why the internet is disrupting other industries, and why now is a great time to be alive. In the interview I did at the end of our conversation, I ask him what he thinks journalism is and about the project he&rsquo;s currently working on, a mashup between <a href="http://www.infoliberator.com/">InfoLiberator</a> and <a href="http://openmicroblogging.org/">OpenMicroBlogging</a>. Their goal is to build a &ldquo;Costco for data,&rdquo; aggregating local information from a number of sources and then feeding it to you based on keywords, location, and other meta criteria. Watch all of the way though for a <a href="http://brightkite.com/objects/bfed25b619af11deb4e5003048c0801e">coincidental appearance by a drunk</a>, and how he too applies to the project Steve is working on. I&rsquo;ll work for better audio next time.</p>
<p>Of the many significant takeaways from the conversation, I&rsquo;d like to record one: we are so done with the &ldquo;newspapers are dying&rdquo; conversation.</p>
<p>This video is the first in what I hope to be a series of interviews, discussions, and arguments with various people I find interesting. I&rsquo;m posting them to <a href="http://vimeo.com/danielbachhuber">Vimeo</a> right now, but might be switching/cross-posting to <a href="http://danielbachhuber.blip.tv/">Blip.tv</a> if I can convince it to upload my content. Blip is pretty cool, in my opinion, because it offers an instant video podcast but Vimeo has better HD. It&rsquo;s definitely a first-world dilemma.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Silent killer</title>
      <link>https://danielbachhuber.com/silent-killer/</link>
      <pubDate>Wed, 25 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/silent-killer/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3142801676/&#34; title=&#34;Silent Killer by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3142801676_1a22b8d1cc.jpg&#34; alt=&#34;Silent Killer&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;358&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;A woman from Nanegaon in the Kolwan Valley west of Pune carries water home past the heavily-fertilized sugarcane fields near her community&amp;rsquo;s open well. Sugarcane requires copious amounts of water and heavy fertilization, most commonly with a nitrate-based urea. Although not fully understood, excess amounts of nitrates have been associated with &lt;a href=&#34;http://en.wikipedia.org/wiki/Methemoglobinemia&#34;&gt;methaemoglobinaemia&lt;/a&gt;, a potentially life-threatening condition of depleted blood-oxygen levels, especially serious in bottle-fed infants.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/3142801676/" title="Silent Killer by danielbachhuber, on Flickr"><img src="images/3142801676_1a22b8d1cc.jpg" alt="Silent Killer"  width="500"
	height="358"  /></a></p>
<p>A woman from Nanegaon in the Kolwan Valley west of Pune carries water home past the heavily-fertilized sugarcane fields near her community&rsquo;s open well. Sugarcane requires copious amounts of water and heavy fertilization, most commonly with a nitrate-based urea. Although not fully understood, excess amounts of nitrates have been associated with <a href="http://en.wikipedia.org/wiki/Methemoglobinemia">methaemoglobinaemia</a>, a potentially life-threatening condition of depleted blood-oxygen levels, especially serious in bottle-fed infants.</p>
<p>According to <a href="http://www.indiaenvironmentportal.org.in/node/6461">Mr. Shyam Divan</a>, a Senior Advocate for the Supreme Court of India, there are no legal frameworks in India with which to prosecute those releasing industrial contaminants (agro or otherwise) to a public water supply.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Appropriate mediums for appropriate conversations</title>
      <link>https://danielbachhuber.com/appropriate-mediums-for-appropriate-conversations/</link>
      <pubDate>Thu, 19 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/appropriate-mediums-for-appropriate-conversations/</guid>
      <description>&lt;p&gt;The administration of Whitman College, the school I went to for my freshman year, has &lt;a href=&#34;http://whitmanpioneer.com/ski-team-controversy/&#34;&gt;decided to cut funding to its Varsity Alpine and Nordic ski teams&lt;/a&gt;. The community is in uproar about this decision; if you aren&amp;rsquo;t on one of the teams, then you have a friend who is. &lt;a href=&#34;http://www.andrewspittle.net/&#34;&gt;Andrew Spittle&lt;/a&gt;, the Web Manager at the &lt;a href=&#34;http://www.whitmanpioneer.com/&#34;&gt;Whitman Pioneer&lt;/a&gt;, saw the controversy as an excellent time to experiment with their new website. In a &lt;a href=&#34;http://www.copress.org/2009/03/19/testing-twitter-on-the-whitman-campus/&#34;&gt;post published on the CoPress Blog today&lt;/a&gt;, he goes into detail about the different tools they used to get the word out (Twitter, list serv, Facebook, and banner ads), and reveals how effective each medium was for driving traffic to their stories.&lt;/p&gt;&#xA;&lt;p&gt;Twitter wasn&amp;rsquo;t effective at all, as it only sent less than 1% of their overall numbers. In the comments, I &lt;a href=&#34;http://www.copress.org/2009/03/19/testing-twitter-on-the-whitman-campus/comment-page-1/#comment-565&#34;&gt;mention that his assessment is almost there&lt;/a&gt;. Twitter is a really valuable tool, but that value only applies if you can reach your community on it. The Whitman campus isn&amp;rsquo;t there yet in terms of adoption, and might never be, but there is the possibility that it will become more effective for discussion in the near future. The Pioneer leading the charge, pardon the pun, by actively advertising discussion like this might be one way to increase the number of users, or that number might grow once the campus learns the value of Twitter via SMS for finding the best parties on Friday night. I wouldn&amp;rsquo;t discount entirely, it&amp;rsquo;s just a matter of engaging in conversation where your community is.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The administration of Whitman College, the school I went to for my freshman year, has <a href="http://whitmanpioneer.com/ski-team-controversy/">decided to cut funding to its Varsity Alpine and Nordic ski teams</a>. The community is in uproar about this decision; if you aren&rsquo;t on one of the teams, then you have a friend who is. <a href="http://www.andrewspittle.net/">Andrew Spittle</a>, the Web Manager at the <a href="http://www.whitmanpioneer.com/">Whitman Pioneer</a>, saw the controversy as an excellent time to experiment with their new website. In a <a href="http://www.copress.org/2009/03/19/testing-twitter-on-the-whitman-campus/">post published on the CoPress Blog today</a>, he goes into detail about the different tools they used to get the word out (Twitter, list serv, Facebook, and banner ads), and reveals how effective each medium was for driving traffic to their stories.</p>
<p>Twitter wasn&rsquo;t effective at all, as it only sent less than 1% of their overall numbers. In the comments, I <a href="http://www.copress.org/2009/03/19/testing-twitter-on-the-whitman-campus/comment-page-1/#comment-565">mention that his assessment is almost there</a>. Twitter is a really valuable tool, but that value only applies if you can reach your community on it. The Whitman campus isn&rsquo;t there yet in terms of adoption, and might never be, but there is the possibility that it will become more effective for discussion in the near future. The Pioneer leading the charge, pardon the pun, by actively advertising discussion like this might be one way to increase the number of users, or that number might grow once the campus learns the value of Twitter via SMS for finding the best parties on Friday night. I wouldn&rsquo;t discount entirely, it&rsquo;s just a matter of engaging in conversation where your community is.</p>
<p>At Whitman, the email list servs and Facebook are the best method of reaching the rest of the student body. Andrew&rsquo;s emails drove 10% of the traffic, and Facebook organically drove 2%. Considering the amount of time most college students spend on Facebook, there is a lot of room for growth in this medium. Facebook <a href="http://blog.facebook.com/blog.php?post=57822962130">recently released an update to their Pages application</a>, giving brands and organizations a presence that looks and works more like a normal Facebook profile. One critical component to this announcement is the fact that updates you post to your Page will now show up in the News Feed of your Fans. This wasn&rsquo;t possible before, and it now lends an excellent opportunity for your content to spread &ldquo;virally.&rdquo; I, for instance, watched a video from the NY Times about the recession the other day simply because the News Feed is how it came to my attention.</p>
<p>When they land on the site, I also think there is room for improvement on how the discussion is fostered by using a forum and a wiki. As I mentioned in my comment, blog posts are a great way to synthesize and distribute content. I wouldn&rsquo;t necessarily try to have <em>all</em> of the conversation in the comments, however. For a controversial topic like this, II might post several of the broad questions raised in the administration’s decision to cut funding to the team with the intent of having them either write or video record a response. This would offer a venue for people to weigh in with that they think the answer should be. The daily blog posts would then be useful for synthesizing the discussion had in the forum, as well as bringing in the additional facts and context your reporters are finding. A wiki dedicated specifically to this topic, much like the <a href="http://www.copress.org/2009/02/18/whats-in-a-news-wiki/">topical wiki I&rsquo;ve described before,</a> could provide the background information necessary to bring people up to speed, including how many people are on the ski team, what percentage of the overall athletic budget the administration is talking about, and how this decision fits into the greater scheme of things.</p>
<p>With these critiques being said, I think the Pioneer team did a stellar job breaking out of a <em>weekly print</em> mindset and adopting web tools to enhance conversation.</p>]]></content:encoded>
    </item>
    <item>
      <title>Waste to the river</title>
      <link>https://danielbachhuber.com/waste-to-the-river/</link>
      <pubDate>Tue, 17 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/waste-to-the-river/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3088633058/&#34; title=&#34;Waste to the river by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3088633058_b995fe54ea.jpg&#34; alt=&#34;Waste to the river&#34;  width=&#34;499&#34;&#xA;&#x9;height=&#34;344&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Just below the Dapka Ghat in Kanpur, a &amp;ldquo;nhala&amp;rdquo; or drainage ditch, pours raw sewage into the Ganges River. The pollution is 80% domestic and 20% industrial. Waste treatment should have been addressed by the &lt;a href=&#34;http://en.wikipedia.org/wiki/Ganga_Action_Plan&#34;&gt;Ganga Action Plan of 1985&lt;/a&gt; but, like many of India&amp;rsquo;s environmental programs, it didn&amp;rsquo;t bear fruit because of the size of the issue and complexity of the political action required to solve it. In the meantime, the number of leather factories has jumped from 175 to over 400, substantially increasing the amount of waste disposed in the river.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/3088633058/" title="Waste to the river by danielbachhuber, on Flickr"><img src="images/3088633058_b995fe54ea.jpg" alt="Waste to the river"  width="499"
	height="344"  /></a></p>
<p>Just below the Dapka Ghat in Kanpur, a &ldquo;nhala&rdquo; or drainage ditch, pours raw sewage into the Ganges River. The pollution is 80% domestic and 20% industrial. Waste treatment should have been addressed by the <a href="http://en.wikipedia.org/wiki/Ganga_Action_Plan">Ganga Action Plan of 1985</a> but, like many of India&rsquo;s environmental programs, it didn&rsquo;t bear fruit because of the size of the issue and complexity of the political action required to solve it. In the meantime, the number of leather factories has jumped from 175 to over 400, substantially increasing the amount of waste disposed in the river.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Reframing the conversation</title>
      <link>https://danielbachhuber.com/reframing-the-conversation/</link>
      <pubDate>Mon, 16 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/reframing-the-conversation/</guid>
      <description>&lt;p&gt;There were two excellent posts published this weekend on the future of the news industry. They emphasize long-term scenario vision, and technological empowerment. The first, Clay Shirky&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/&#34;&gt;Newspapers and Thinking the Unthinkable&lt;/a&gt;&amp;rdquo;, I caught from a Twitter link sharing storm Friday evening. Although there were a number of money quotes, his perspective on disruptive technology as revolution stuck with me (emphasis mine):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;That is what real revolutions are like. The old stuff gets broken faster than the new stuff is put in its place.&lt;/strong&gt; The importance of any given experiment isn’t apparent at the moment it appears; big changes stall, small changes spread. Even the revolutionaries can’t predict what will happen. Agreements on all sides that core institutions must be protected are rendered meaningless by the very people doing the agreeing. (Luther and the Church both insisted, for years, that whatever else happened, no one was talking about a schism.) Ancient social bargains, once disrupted, can neither be mended nor quickly replaced, since any such bargain takes decades to solidify.&lt;/p&gt;&#xA;&lt;p&gt;And so it is today. &lt;strong&gt;When someone demands to know how we are going to replace newspapers, they are really demanding to be told that we are not living through a revolution.&lt;/strong&gt; They are demanding to be told that old systems won’t break before new systems are in place. They are demanding to be told that ancient social bargains aren’t in peril, that core institutions will be spared, that new methods of spreading information will improve previous practice rather than upending it. They are demanding to be lied to.&lt;/p&gt;&#xA;&lt;p&gt;There are fewer and fewer people who can convincingly tell such a lie.&lt;/p&gt;&lt;/blockquote&gt;</description>
      <content:encoded><![CDATA[<p>There were two excellent posts published this weekend on the future of the news industry. They emphasize long-term scenario vision, and technological empowerment. The first, Clay Shirky&rsquo;s &ldquo;<a href="http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/">Newspapers and Thinking the Unthinkable</a>&rdquo;, I caught from a Twitter link sharing storm Friday evening. Although there were a number of money quotes, his perspective on disruptive technology as revolution stuck with me (emphasis mine):</p>
<blockquote>
<p><strong>That is what real revolutions are like. The old stuff gets broken faster than the new stuff is put in its place.</strong> The importance of any given experiment isn’t apparent at the moment it appears; big changes stall, small changes spread. Even the revolutionaries can’t predict what will happen. Agreements on all sides that core institutions must be protected are rendered meaningless by the very people doing the agreeing. (Luther and the Church both insisted, for years, that whatever else happened, no one was talking about a schism.) Ancient social bargains, once disrupted, can neither be mended nor quickly replaced, since any such bargain takes decades to solidify.</p>
<p>And so it is today. <strong>When someone demands to know how we are going to replace newspapers, they are really demanding to be told that we are not living through a revolution.</strong> They are demanding to be told that old systems won’t break before new systems are in place. They are demanding to be told that ancient social bargains aren’t in peril, that core institutions will be spared, that new methods of spreading information will improve previous practice rather than upending it. They are demanding to be lied to.</p>
<p>There are fewer and fewer people who can convincingly tell such a lie.</p></blockquote>
<p>He describes the situation well, and I&rsquo;m ready to move on from the discussion of whether the newspaper is obsolete or not. In most markets it is, in some it isn&rsquo;t, and a large majority of the conversation on the web (news organizations included) is based more on opinion than actual data.</p>
<p>The trend in news production and distribution, handily covered in Steven B. Johnson&rsquo;s &ldquo;<a href="http://www.stevenberlinjohnson.com/2009/03/the-following-is-a-speech-i-gave-yesterday-at-the-south-by-southwest-interactive-festival-in-austiniif-you-happened-to-being.html">Old Growth Media and The Future of News</a>,&rdquo; is towards the web:</p>
<blockquote>
<p>I think it’s much more instructive to anticipate the future of investigative journalism by looking at the past of technology journalism. When ecologists go into the field to research natural ecosystems, they seek out the old-growth forests, the places where nature has had the longest amount of time to evolve and diversify and interconnect. They don’t study the Brazilian rain forest by looking at a field that was clear cut two years ago.</p>
<p>That’s why the ecosystem of technology news is so crucial. It is the old-growth forest of the web. It is the sub-genre of news that has had the longest time to evolve. The Web doesn’t have some kind intrinsic aptitude for covering technology better than other fields. It just has an intrinsic tendency to cover technology <em>first</em>, because the first people that used the web were far more interested in technology than they were in, say, school board meetings or the NFL. But that has changed, and is continuing to change. The transformation from the desert of Macworld to the rich diversity of today’s tech coverage is happening in all areas of news.</p></blockquote>
<p>One characteristic of the traction both of these posts have gathered is that they put poignant <em>context</em> to the entire &ldquo;newspapers are dying&rdquo; conversation. They take a long now view that is refreshing, to say the least.</p>
<p>For adaptation and survival, <strong>it is also critical newspapers reframe the conversation about their futures.</strong> This comes from the <em>language</em> one uses in discussion. For instance, if you talk about the &ldquo;newspaper industry,&rdquo; then of course newspapers are dying. They are a terribly outdated form of information distribution. If we&rsquo;re talking about &ldquo;news organizations,&rdquo; however, it&rsquo;s an entirely different conversation.</p>
<p>The same thing applies to journalism. News organizations need to start by asking &ldquo;<a href="http://www.danielbachhuber.com/2009/02/26/what-is-journalism/">what is journalism?</a>&rdquo; and then identify ways in which the technology can make their work relevant again. The terminology you use can define your perspective on an issue and influence how your approach its solution. Choose them wisely.</p>]]></content:encoded>
    </item>
    <item>
      <title>Cricket match</title>
      <link>https://danielbachhuber.com/cricket-match/</link>
      <pubDate>Thu, 12 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/cricket-match/</guid>
      <description>&lt;p&gt;Kids play cricket, India&amp;rsquo;s most popular sport, on the banks of the Ganges River in Kanpur. Although significantly polluted, it is still the life-source for those who live along the river.&lt;/p&gt;&#xA;&lt;p&gt;The Ganges, according to Rakesh Jaiswal of &lt;a href=&#34;http://ecofriends.org/&#34;&gt;Eco Friends&lt;/a&gt;, is forecast to &amp;ldquo;die&amp;rdquo; in 30 to 50 years, meaning all available water flow will be allocated to different agricultural and industrial uses. This analysis doesn&amp;rsquo;t factor in the potentially negative effects of climate change on water sources in the Himalaya.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Kids play cricket, India&rsquo;s most popular sport, on the banks of the Ganges River in Kanpur. Although significantly polluted, it is still the life-source for those who live along the river.</p>
<p>The Ganges, according to Rakesh Jaiswal of <a href="http://ecofriends.org/">Eco Friends</a>, is forecast to &ldquo;die&rdquo; in 30 to 50 years, meaning all available water flow will be allocated to different agricultural and industrial uses. This analysis doesn&rsquo;t factor in the potentially negative effects of climate change on water sources in the Himalaya.</p>
<p>This is the first in a series of images titled &ldquo;<a href="http://consiliencejournal.readux.org/2009/02/india-water-and-sustainable-development/">India, Water, and Sustainable Development</a>&rdquo; that was first published in <em>Consilience: The Journal of Sustainable Development</em> in Spring 2008. Over the next few weeks, I&rsquo;ll be highlighting the best of these photos.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Emerald on strike, and the evolution of the newspaper</title>
      <link>https://danielbachhuber.com/daily-emerald-on-strike-and-the-evolution-of-the-newspaper/</link>
      <pubDate>Thu, 05 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/daily-emerald-on-strike-and-the-evolution-of-the-newspaper/</guid>
      <description>&lt;p&gt;Around 8:30 this morning, Kai Davis (or @&lt;a href=&#34;http://twitter.com/ninjakai&#34;&gt;ninjakai&lt;/a&gt;) twittered &lt;a href=&#34;http://twitter.com/ninjakai/status/1279091076&#34;&gt;something about the Oregon Daily Emerald being on strike&lt;/a&gt;. The initial image in my mind was one of people picketing in the street, and I couldn&amp;rsquo;t honestly guess as to what they would be striking about.&lt;/p&gt;&#xA;&lt;p&gt;Then I read &lt;a href=&#34;http://media.www.dailyemerald.com/media/storage/paper859/news/2009/03/04/News/Emerald.News.Staff.Strikes-3658778.shtml&#34;&gt;the editorial&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Around 8:30 this morning, Kai Davis (or @<a href="http://twitter.com/ninjakai">ninjakai</a>) twittered <a href="http://twitter.com/ninjakai/status/1279091076">something about the Oregon Daily Emerald being on strike</a>. The initial image in my mind was one of people picketing in the street, and I couldn&rsquo;t honestly guess as to what they would be striking about.</p>
<p>Then I read <a href="http://media.www.dailyemerald.com/media/storage/paper859/news/2009/03/04/News/Emerald.News.Staff.Strikes-3658778.shtml">the editorial</a>.</p>
<p>The argument is that people in the newsroom are concerned about the manner in which a new Publisher, Steve Smith, has been chosen for the paper. According to the article, the &ldquo;editors felt that the Emerald cannot afford the salary Smith proposed, [&hellip;] were extremely concerned that allowing Smith to work as an adjunct instructor at the journalism school while serving as publisher was an obvious conflict of interest, for multiple reasons, [and] were also concerned that Smith would be at the Emerald for only one year and if things didn&rsquo;t go how he planned, if the Emerald actually ended up losing money, he would not be held accountable.&rdquo;</p>
<p><a href="http://www.stillanewspaperman.com/2009/03/04/this-fight-will-go-on-without-me/#comment-695">Ryan Knutson&rsquo;s comment on Steve&rsquo;s initial post</a>, though, really says it the best (emphasis mine):</p>
<blockquote>
<p>And while I disagree with some of the fumbling steps taken by the board, I would only expect a strike of the staff to occur if the board tried to appoint J-School dean Tim Gleason, Dave Frohnmayer or any other administrator or permanent faculty member, but not a champion of integrity in journalism and ODE alumnus like Steve Smith. <strong>To assume Steve, who has worked in the newspaper business for decades, would suddenly drop all respect for the ethics of watchdog journalism and prevent the Emerald from criticizing the UO just because he might also teach journalism students in the classroom is naive.</strong></p>
<p>[&hellip;]</p>
<p>When I was on the board during fall term of this year, I pushed strongly to try and involve Steve into our operations, knowing that his <strong>experience and his integrity would be a tremendous asset to the Emerald as it tries to find itself in these changing times.</strong></p></blockquote>
<p>In short, the Daily Emerald reached out to Steve because they thought he would be the right person to turn the news organization around. The discussion shouldn&rsquo;t be about the editorial integrity of the student newsroom, but rather how the Emerald is going to completely reinvent itself. I had the opportunity to sit in on a Society of Professional Journalists session with Steve this past fall, and also had several conversations with Ryan about the paper and the future of news. I believe Steve&rsquo;s <a href="http://www.stillanewspaperman.com/2009/03/04/this-fight-will-go-on-without-me/#comment-709">own explanation of the situation</a>, instead of the sensationalism that this has grown to be (it has now been covered in the <a href="http://blogs.eugeneweekly.com/node/1013">Eugene Weekly</a>, the <a href="http://www.oregonlive.com/news/index.ssf/2009/03/uo_student_newspaper_goes_on_s.html">Oregonian</a>, the <a href="http://chronicle.com/news/article/6070/student-newspaper-staff-goes-on-strike-at-u-of-oregon">Chronicle of Higher Education</a>, <a href="http://collegemediamatters.com/2009/03/04/oregon-student-newspaper-on-strike-protesting-publisher-position/">College Media Matters</a>, and other publications).</p>
<p>Granted, I fully sympathize with the newsroom staff and their concerns that their voices weren&rsquo;t being heard. I had to try and <a href="http://www.danielbachhuber.com/2008/11/07/why-im-leaving/">fight through the same institutional inertia this fall</a>.</p>
<p>This is a critical juncture for the Daily Emerald, however, both as a newspaper and a news organization. The real dilemma isn&rsquo;t the potential conflict of interest between the Publisher and editorial content of the paper, but rather how to bring the organization from the red into the black. In fact, there was argument made that the Publisher could indirectly control the voice of the paper by dictating how many pages were to be printed. To my knowledge, you <em>just</em> don&rsquo;t have this problem if you have a website (or Twitter, or a blog, or anything digital for that matter). With declining revenues from print, what they really need is strong leadership to right the ship and figure out how to effectively &ldquo;innovate&rdquo; and monetize online.</p>
<p>I&rsquo;m not entirely sure that the organization has the capacity to pull an IBM. Only time will tell.</p>]]></content:encoded>
    </item>
    <item>
      <title>Wikis to (re)build the news</title>
      <link>https://danielbachhuber.com/wikis-to-rebuild-the-news/</link>
      <pubDate>Fri, 27 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wikis-to-rebuild-the-news/</guid>
      <description>&lt;p&gt;It seems to be all of the rage these days (the first one I came across was &lt;a href=&#34;http://letsbuyanewspaper.pbwiki.com/&#34;&gt;created by Andrew Dunn&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Alexis Madrigal and Sarah Rich have started a &lt;a href=&#34;http://postchronicle.wetpaint.com/&#34;&gt;wiki to design the next San Francisco Post-Chronicle&lt;/a&gt;, after hearing news that the Hearst Company could be &lt;a href=&#34;http://newsosaur.blogspot.com/2009/02/sf-chron-cost-cut-target-equals-47-of.html&#34;&gt;shutting down the newspaper within weeks&lt;/a&gt;. With a potentially serious gap opening in Bay Area news production, they&amp;rsquo;ve begun brainstorming ways in which to bring the newspaper up to speed with the 21st century. The planning is broken into three arenas, two of which I have time to cover before my own flight to SF:&lt;/p&gt;&#xA;&lt;h3 id=&#34;distribution-model&#34;&gt;&lt;a href=&#34;http://postchronicle.wetpaint.com/page/Distribution+Model&#34;&gt;Distribution Model&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s go digital. It&amp;rsquo;s all about the internet, especially in early adopter central (i.e. San Francisco). Reporting should be web first, and the print edition could be cut to once a week. Publish a news magazine-style edition on Fridays and make it a compilation of the best content from all around town. I&amp;rsquo;d bet there&amp;rsquo;s a number of blogs that would like to see print readers for a cut of the revenue.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It seems to be all of the rage these days (the first one I came across was <a href="http://letsbuyanewspaper.pbwiki.com/">created by Andrew Dunn</a>).</p>
<p>Alexis Madrigal and Sarah Rich have started a <a href="http://postchronicle.wetpaint.com/">wiki to design the next San Francisco Post-Chronicle</a>, after hearing news that the Hearst Company could be <a href="http://newsosaur.blogspot.com/2009/02/sf-chron-cost-cut-target-equals-47-of.html">shutting down the newspaper within weeks</a>. With a potentially serious gap opening in Bay Area news production, they&rsquo;ve begun brainstorming ways in which to bring the newspaper up to speed with the 21st century. The planning is broken into three arenas, two of which I have time to cover before my own flight to SF:</p>
<h3 id="distribution-model"><a href="http://postchronicle.wetpaint.com/page/Distribution+Model">Distribution Model</a></h3>
<p>Let&rsquo;s go digital. It&rsquo;s all about the internet, especially in early adopter central (i.e. San Francisco). Reporting should be web first, and the print edition could be cut to once a week. Publish a news magazine-style edition on Fridays and make it a compilation of the best content from all around town. I&rsquo;d bet there&rsquo;s a number of blogs that would like to see print readers for a cut of the revenue.</p>
<p>The focus needs to be on innovating with digital distribution and engagement, however. Alexis has ideas for an iPhone application, and there&rsquo;s even a <a href="http://postchronicle.wetpaint.com/thread/2465832/SF+News+iphone+app">discussion about what the application should do</a>. The critical point is that is has to be more than what Google Reader Mobile already offers me. I&rsquo;d like to be able to comment on stories, see what my friends are reading and think interesting, and be able to interact with <a href="http://www.copress.org/2009/02/03/bridging-the-print-digital-divide-with-qr-codes/">real world extensions of journalism</a>. If I&rsquo;m reading the weekly print edition, then I&rsquo;d enjoy being able to take my phone out and see how other people have reacted to the information. It should support <em>pull journalism</em> too, allowing me to look up the ecological impact of restaurant choices, etc.</p>
<p>Let the homepage mimic an aggregator site like iGoogle, Netvibes, or the Facebook Newsfeed. I&rsquo;d like it to take peripheral observations of what I&rsquo;ve read, commented on, or shared, so that it can tune distribution based on my interests. If the site could store what I&rsquo;ve read so I don&rsquo;t have to skip through parallel reporting on Venture Beat, ReadWriteWeb, and TechCrunch, then I would visit it every day. Innovate with the <a href="http://www.danielbachhuber.com/2009/02/26/what-is-journalism/">formats of journalism</a> too; start a <a href="http://www.copress.org/2009/02/18/whats-in-a-news-wiki/">topical wiki that aggregates and synthesizes information</a> on any given subject.  If you create an account on the site, or sign in via OpenID, allows users to roll their own RSS feed (a la <a href="http://pipes.yahoo.com/pipes/">Yahoo Pipes</a> but with a simpler interface) and customize it without resubscribing as time goes on.</p>
<h3 id="business-model"><a href="http://postchronicle.wetpaint.com/page/Business+Model">Business Model</a></h3>
<p>Another <a href="http://ryansholin.com/2008/07/24/the-business-model-is-still-the-elephant-in-the-room/">elephant in the room</a>, but there are plenty of areas to innovate because there are oh so many ideas. It&rsquo;s just a matter of making sure revenues exceed costs. </p>
<p>The &ldquo;freemium&rdquo; model has many legs, in my opinion. With a strong enough feature set, the iPhone application could easily be sold in the App Store. On the web side, users might also be able to buy their way out of advertising on the site. Content would be freely accessible (don&rsquo;t want to destroy your <a href="http://www.copress.org/2009/02/05/google-juice-your-blog/">Google Juice</a>) but there would be functionality that you would up sell.</p>
<p>One marketable skill of the journalist is the ability to synthesize information into varying degrees of presentable formats. News organizations should <em>need</em> to get into the business of selling this skill set as business consulting. If they&rsquo;re covering their beats well, they should have the best market research into that community. Sell that service to local startup businesses, etc.</p>
<p>Last thought: Advertising, as much as I hate it, still has room for a lot more innovation. Build highly valuable information tools like the ideas above to empower communities to make decisions, and there <em>will</em> be opportunities to monetize against them.</p>]]></content:encoded>
    </item>
    <item>
      <title>What is journalism?</title>
      <link>https://danielbachhuber.com/what-is-journalism/</link>
      <pubDate>Thu, 26 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/what-is-journalism/</guid>
      <description>&lt;p&gt;Dharmishta Rood &lt;a href=&#34;http://seesmic.com/threads/bInSML7Ie3&#34;&gt;started a thread on Seesmic&lt;/a&gt; for a class at Harvard on the 9th of March asking, &amp;ldquo;What is the future of news?&amp;rdquo; I don&amp;rsquo;t feel as though my two minute response conveys everything I&amp;rsquo;d like it to, and want to clarify a few of the ideas.&lt;/p&gt;&#xA;&lt;p&gt;The future of news isn&amp;rsquo;t newspapers. The newspaper is an inefficient, uneconomic, and environmentally-troubling method of moving data. In my opinion, Steve Rhodes laid out an &lt;a href=&#34;http://www.beachwoodreporter.com/column/the_monday_papers_142.php&#34;&gt;epic laundry list of everything that&amp;rsquo;s broken in the newspaper industry&lt;/a&gt; a few days ago. There isn&amp;rsquo;t any need to repeat that, thanks to the internet. The key takeaway is that, instead of trying to figure out how to financially support newspaper-style journalism on the web, we should be active in conversation about &lt;em&gt;what journalism is&lt;/em&gt;, and how the internet will enable us to do it better.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dharmishta Rood <a href="http://seesmic.com/threads/bInSML7Ie3">started a thread on Seesmic</a> for a class at Harvard on the 9th of March asking, &ldquo;What is the future of news?&rdquo; I don&rsquo;t feel as though my two minute response conveys everything I&rsquo;d like it to, and want to clarify a few of the ideas.</p>
<p>The future of news isn&rsquo;t newspapers. The newspaper is an inefficient, uneconomic, and environmentally-troubling method of moving data. In my opinion, Steve Rhodes laid out an <a href="http://www.beachwoodreporter.com/column/the_monday_papers_142.php">epic laundry list of everything that&rsquo;s broken in the newspaper industry</a> a few days ago. There isn&rsquo;t any need to repeat that, thanks to the internet. The key takeaway is that, instead of trying to figure out how to financially support newspaper-style journalism on the web, we should be active in conversation about <em>what journalism is</em>, and how the internet will enable us to do it better.</p>
<p>To me, journalism is the <strong>act of providing impartial, accurate information to empower a community to make decisions</strong>. I had &ldquo;independent&rdquo; in the definition earlier, but I don&rsquo;t believe that independence is entirely necessary if you partake in the art of full disclosure. The process of journalism need not be limited to newspapers, and the format need not be tied to an article measured in column inches. As Suzanne Yada <a href="http://twitter.com/suzanneyada/statuses/1107408590">rightfully noted just over a month ago</a>, &ldquo;Twitter isn&rsquo;t journalism, just like television isn&rsquo;t journalism, but you can find journalism ON Twitter and ON television.&rdquo; Our information needs have <a href="http://www.youtube.com/watch?v=jpEnFwiqdx8">changed from a hundred years ago</a>, and the internet lends news organizations greater ability to fulfill this responsibility.</p>
<p>Two premises for the near future (that you&rsquo;re welcome to dispute):</p>
<ul>
<li>Newspaper journalism operated in the era of information scarcity, where &ldquo;what is news&rdquo; was determined by the amount of space available in the delivery mechanism. Online journalism operates in the era of information as a commodity. This means that &ldquo;what is news&rdquo; is defined by the quality of information.</li>
<li>We&rsquo;re also now in an indefinite era of format fragmentation, meaning that journalism can be implemented in a myriad of different ways. This is another paradigm shift from the newspaper age, but not for the worse: the internet allows us to do more with information. The internet is ultimately a more powerful platform for journalism because users can be exposed to information automatically based on context and the depth of information they need.</li>
</ul>
<p>The &ldquo;Future of News&rdquo; is going to be a competition to see who can create the most innovative and engaging ways to deliver information which empowers communities to make decisions.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Discussion topics for NewsInnovation Portland</title>
      <link>https://danielbachhuber.com/discussion-topics-for-newsinnovation-portland/</link>
      <pubDate>Fri, 20 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/discussion-topics-for-newsinnovation-portland/</guid>
      <description>&lt;p&gt;In no particular order, these are the things I&amp;rsquo;m looking forward to discussing at &lt;a href=&#34;http://barcamp.org/NewsInnovation-Portland&#34;&gt;BarCamp NewsInnovation Portland&lt;/a&gt; tomorrow:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;What is journalism?&lt;/strong&gt; Every conversation starts with a foundation, or core premises, and I don&amp;rsquo;t believe we&amp;rsquo;ve gotten to that point yet in this &lt;a href=&#34;http://www.journalism-is-dead.com/&#34;&gt;shindig about newspapers dying&lt;/a&gt;. Considering it&amp;rsquo;s a fundamental paradigm shift we&amp;rsquo;re going though, I think it&amp;rsquo;s going to be important to start at square one and build up.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The model for the ideal digital news organization&lt;/strong&gt;. There&amp;rsquo;s a lot of &lt;a href=&#34;http://www.siliconvalleywatcher.com/mt/archives/2009/02/25_ideas_for_re.php&#34;&gt;ideas bouncing around&lt;/a&gt; as to how newsrooms should change, &lt;a href=&#34;http://burden.ca/blog/2009/02/20/paywall-madness-dec-2008-feb-2009&#34;&gt;what the business models are&lt;/a&gt;, and what their websites should look like. It would be really sweet to come up with a master list of all of these ideas (and then have someone experiment with them&amp;hellip;)&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In no particular order, these are the things I&rsquo;m looking forward to discussing at <a href="http://barcamp.org/NewsInnovation-Portland">BarCamp NewsInnovation Portland</a> tomorrow:</p>
<p><strong>What is journalism?</strong> Every conversation starts with a foundation, or core premises, and I don&rsquo;t believe we&rsquo;ve gotten to that point yet in this <a href="http://www.journalism-is-dead.com/">shindig about newspapers dying</a>. Considering it&rsquo;s a fundamental paradigm shift we&rsquo;re going though, I think it&rsquo;s going to be important to start at square one and build up.</p>
<p><strong>The model for the ideal digital news organization</strong>. There&rsquo;s a lot of <a href="http://www.siliconvalleywatcher.com/mt/archives/2009/02/25_ideas_for_re.php">ideas bouncing around</a> as to how newsrooms should change, <a href="http://burden.ca/blog/2009/02/20/paywall-madness-dec-2008-feb-2009">what the business models are</a>, and what their websites should look like. It would be really sweet to come up with a master list of all of these ideas (and then have someone experiment with them&hellip;)</p>
<p><strong>Transparency for building trust.</strong> The first group to take the concept of an &ldquo;<a href="http://www.danielbachhuber.com/tag/open-source-organization/">open source organization</a>&rdquo; and apply it to journalism wins five dollars. I&rsquo;d enjoy covering strategies and techniques (a la the <a href="http://blog.copress.org/">CoPress Team Blog</a>) for completely opening a news organization.</p>
<p>If you can&rsquo;t make it, we&rsquo;ll be <a href="http://www.mogulus.com/newsinnovation_portland">livestreaming</a> and <a href="http://www.coveritlive.com/index.php?option=com_altcaster&amp;task=siteviewaltcast&amp;altcast_code=092cc57b4f&amp;height=550&amp;width=470">liveblogging</a> the whole day long. It will be epic.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Save the old or start new?</title>
      <link>https://danielbachhuber.com/save-the-old-or-start-new/</link>
      <pubDate>Mon, 16 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/save-the-old-or-start-new/</guid>
      <description>&lt;p&gt;For the discussion about &lt;a href=&#34;http://www.collegemediainnovation.org/blog/2009/02/16/professors-catch-up-or-were-all-left-behind/&#34;&gt;journalism education with the #collegejourn folks&lt;/a&gt;, I&amp;rsquo;d like to add a few thoughts to the fire.&lt;/p&gt;&#xA;&lt;p&gt;First, the assumption is incorrect. There&amp;rsquo;s no way professors are going to be able to &amp;ldquo;catch up,&amp;rdquo; but this isn&amp;rsquo;t necessarily a bad thing. It&amp;rsquo;s just another characteristic of the indicative paradigm shift that&amp;rsquo;s happening right now. We&amp;rsquo;ve got to move from a &amp;ldquo;one-to-many&amp;rdquo; style of top-down education to a &amp;ldquo;many-to-many&amp;rdquo; style of networked education. What we&amp;rsquo;re doing right now, having a lateral conversation that is independent of geography, is just one example of this transition happening organically. If anything, it&amp;rsquo;s going to be &lt;em&gt;us&lt;/em&gt; (i.e. the students) getting professors caught up. In doing so, however, the question will be raised of what exactly the role of journalism professors is. I don&amp;rsquo;t necessarily have an answer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>For the discussion about <a href="http://www.collegemediainnovation.org/blog/2009/02/16/professors-catch-up-or-were-all-left-behind/">journalism education with the #collegejourn folks</a>, I&rsquo;d like to add a few thoughts to the fire.</p>
<p>First, the assumption is incorrect. There&rsquo;s no way professors are going to be able to &ldquo;catch up,&rdquo; but this isn&rsquo;t necessarily a bad thing. It&rsquo;s just another characteristic of the indicative paradigm shift that&rsquo;s happening right now. We&rsquo;ve got to move from a &ldquo;one-to-many&rdquo; style of top-down education to a &ldquo;many-to-many&rdquo; style of networked education. What we&rsquo;re doing right now, having a lateral conversation that is independent of geography, is just one example of this transition happening organically. If anything, it&rsquo;s going to be <em>us</em> (i.e. the students) getting professors caught up. In doing so, however, the question will be raised of what exactly the role of journalism professors is. I don&rsquo;t necessarily have an answer.</p>
<p>Journalism schools, furthermore, need to become <em>catalysts</em> for innovation. &ldquo;Innovation&rdquo; is becoming a buzzword these days, but there has been less discussion on what is needed to inspire it. I&rsquo;m of the opinion, though, that schools are excellent ground for experimentation. Students should be afforded the opportunity and encouraged to test new things out because the school can be an environment where it doesn&rsquo;t hurt to fail, pick up the pieces, and try again.</p>
<p>It&rsquo;s critical to drop multiple choice testing. Standardized tests and rote memorization are one of the worst excuses for learning, and do even less in an era of rapid technological transformation. One of my classes this fall was J204 Visual Communications. In my opinion, 90% of the tests we took were based on how well you could memorize the book. I did quite well but honestly couldn&rsquo;t tell you what I learned four months later. Grading is subjective, and should instead be based on an interpretation of merit.</p>
<p>Furthermore, there need to be multiple tracks of learning. Classes now are held for the lowest common denominator, but the gradient of skill aptitude is increasing. There needs to be better rapid certification for &ldquo;self-learners,&rdquo; and the class needs to be better structured such that those who learn at a quicker pace are incentivized to teach their fellow students.</p>
<p>What if class was an unconference? What if, at the beginning of every semester, the students came together and collaborated on their syllabus for the next semester? Instead of the professor teaching what he or she thinks the students <em>should</em> learn, the educational process needs to be driven by what students want to learn and, more importantly, by the questions they want to answer. Education through <em>creation</em> instead of education through systemization.</p>
<p>I challenge any school to be this radical. It might even motivate me to re-enroll.</p>
]]></content:encoded>
    </item>
    <item>
      <title>More disruption, courtesy the Internet</title>
      <link>https://danielbachhuber.com/more-disruption-courtesy-the-internet/</link>
      <pubDate>Mon, 09 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/more-disruption-courtesy-the-internet/</guid>
      <description>&lt;p&gt;Via &lt;a href=&#34;http://joeybaker.tumblr.com/post/76659368/ofcom-website-global-citizens-and-consumers-in&#34;&gt;Joey Baker&lt;/a&gt; (and an earlier link I didn&amp;rsquo;t save), Professor Douglas Rushkoff on the &amp;ldquo;&lt;a href=&#34;http://www.ofcom.org.uk/event/videos/445536/&#34;&gt;transformative nature of the internet&lt;/a&gt;&amp;rdquo;:&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m not entirely sure how to collect my thoughts on this, but the presentation struck me as profound. Most importantly, it&amp;rsquo;s heartening to know that there are other crazies out there working their minds through the &lt;a href=&#34;http://djstrouse.com/a-new-currency/&#34;&gt;same observations&lt;/a&gt; of a &lt;a href=&#34;http://www.danielbachhuber.com/2008/10/26/internet-as-a-disruptive-force/&#34;&gt;fundamental change&lt;/a&gt; taking place. There&amp;rsquo;s tremendous room for intellectual growth, largely because it&amp;rsquo;s such uncharted territory. A couple memorable quotes from the presentation:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Via <a href="http://joeybaker.tumblr.com/post/76659368/ofcom-website-global-citizens-and-consumers-in">Joey Baker</a> (and an earlier link I didn&rsquo;t save), Professor Douglas Rushkoff on the &ldquo;<a href="http://www.ofcom.org.uk/event/videos/445536/">transformative nature of the internet</a>&rdquo;:</p>
<p>I&rsquo;m not entirely sure how to collect my thoughts on this, but the presentation struck me as profound. Most importantly, it&rsquo;s heartening to know that there are other crazies out there working their minds through the <a href="http://djstrouse.com/a-new-currency/">same observations</a> of a <a href="http://www.danielbachhuber.com/2008/10/26/internet-as-a-disruptive-force/">fundamental change</a> taking place. There&rsquo;s tremendous room for intellectual growth, largely because it&rsquo;s such uncharted territory. A couple memorable quotes from the presentation:</p>
<p>Talking about crises in the banking sector, Rushkoff says, &ldquo;decentralizing technologies fundamentally undermine the corporate-capital structure.&rdquo; The traditional corporate-capital structure, to my understanding, mandates that the wealth of a corporation is dependent on the scarcity of its product.</p>
<p>He goes on to explain that &ldquo;&lsquo;digital economy&rsquo; is in itself an oxymoron [&hellip;] Things digital are best understood as an ecology, not as an economy. Economies are based in [&hellip;] rational actors, maximizing their value, through the acquisition and distribution of scarce resources, whereas on the internet what we have are irrational people having fun engaging in sharing what feels, at least to them, like limitless resources.&rdquo; In short, the foundation of the <em>economy</em> is taking a 180, thanks to the internet.</p>
<p>The takeaway, as I realized in a conversation over lunch, is that it&rsquo;s an amazing time to be alive because, depending on which side of the bed you work up on, there is so much potential for high impact creativity and innovation.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Open source reporting on projects</title>
      <link>https://danielbachhuber.com/open-source-reporting-on-projects/</link>
      <pubDate>Sun, 08 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-reporting-on-projects/</guid>
      <description>&lt;p&gt;Last Wednesday, I had the opportunity to travel again with &lt;a href=&#34;http://greenempowerment.org/&#34;&gt;Green Empowerment&lt;/a&gt; and check out the water project in progress in the community of Suro Antivo. Through a combination of municipal and foundation funds, the small collection of houses is finally going to receive safe and reliable water access to their households. To date, most families have to get their water from &lt;a href=&#34;http://en.wikipedia.org/wiki/Improved_water_source&#34;&gt;unimproved sources&lt;/a&gt;. There are two tanks being built, and one being refurbished, which will supply water to each house through a gravity-fed system:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/3239376255_04265d3da3_b.jpg&#34; alt=&#34;Under Construction&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;685&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/3240317224_0e705b99bd_b.jpg&#34; alt=&#34;Old and new&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;685&#34;  /&gt;&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last Wednesday, I had the opportunity to travel again with <a href="http://greenempowerment.org/">Green Empowerment</a> and check out the water project in progress in the community of Suro Antivo. Through a combination of municipal and foundation funds, the small collection of houses is finally going to receive safe and reliable water access to their households. To date, most families have to get their water from <a href="http://en.wikipedia.org/wiki/Improved_water_source">unimproved sources</a>. There are two tanks being built, and one being refurbished, which will supply water to each house through a gravity-fed system:</p>
<p><img src="images/3239376255_04265d3da3_b.jpg" alt="Under Construction"  width="1024"
	height="685"  /></p>
<p><img src="images/3240317224_0e705b99bd_b.jpg" alt="Old and new"  width="1024"
	height="685"  /></p>
<p> </p>
<p> </p>
<p>The kicker at the moment is that the lady who owns the land for one of the tanks (most immediately above) now doesn&rsquo;t want water being taken off her land for the community&rsquo;s use. Her husband signed an agreement 14 years ago supposedly, but the widow was reportedly never aware of the contract. A bit of the disagreement:</p>

      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/3093377?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>My reason for being in Cajamarca this month is to solidify <a href="http://www.oregondirectaction.org/">Oregon Direct Action</a>&rsquo;s (ODA) project for the month of July. ODA is a student organization I started last May with <a href="http://shanelofgren.com/">Shane Lofgren</a> and a few others. It&rsquo;s based off of my experiences with <a href="http://www.whitmandirectaction.org/">Whitman Direct Action</a> and concepts around an <a href="http://www.danielbachhuber.com/tag/open-source-organization/">open source organization</a>. Our goal is to bridge the gaps between <a href="http://www.danielbachhuber.com/tag/education/">education</a> and <a href="http://www.danielbachhuber.com/tag/international-development/">international development</a>, and use 12 months of effort from ambitious undergraduates to help solve some of the world&rsquo;s most basic issues. In my opinion, though, it shouldn&rsquo;t require a month of groundwork to figure out how we can contribute to efforts in San Pablo.</p>
<p>On Thursday, I had the chance to <a href="http://akvo.blip.tv/#1749902">speak for an hour with Mark and Vinay</a> of an innovative organization called <a href="http://www.akvo.org/">Akvo</a>. It&rsquo;s goal is to open and simplify the reporting around water and sanitation projects and, in the process, improve the capacity of development organizations to achieve their goals. <strong>In my opinion, open source means transparency but it also means, and more importantly, open collaboration.</strong> By actively publishing what you&rsquo;re working on, both the successes and challenges, you&rsquo;re lending the opportunity for others to take part of the project too.</p>
<p>The first thing to address, however, is the paradigm shift from closed to open. In many sectors, it&rsquo;s a scary thought to go from only publishing information through a communications manager (or some sort of filter) to making as much data available as possible. My opinion is, and I&rsquo;ll get to this more in a later piece, that transparency is actually a competitive advantage, and that the first organizations to be as transparent as possible will gain an edge. Funders will become addicted to the wealth of information they have to make their decisions, and organizations that open up an order of magnitude more information for the funder to manipulate will be more desirable. <strong>Openness builds trust.</strong> The way that Akvo is going to be able to &ldquo;sell&rdquo; this, however, is by being able to attach some sort of economic benefit to their really simple, open reporting, both in the ability of the organization to generate more funding and also the value in open collaboration with peers, &ldquo;pro-ams&rdquo;, and other interested parties.</p>
<p>It&rsquo;s also my opinion that Akvo needs to be able to sell their service in terms of being explicit about problem(s) they solve. This could be a 30 second video or two paragraphs, but I wasn&rsquo;t able to find anything satisfactory on the website.</p>
<p>The second issue in opening up information, and making project data transparent, is determining the best format and means for doing so. I would start iterative reporting with the tool that comes most naturally: mobile (SMS, images, and video). Once you have a stream of information coming from a project, then you&rsquo;ve got to figure out the context filters. When we started thinking about this at ODA, we broke down our data into four tiers: team, partners, community, and world. Of course, all of the information would be open and accessible, but there would be different delivery mechanisms (email, RSS, etc.) for ensuring you only received the information you needed.</p>
<p>It would be wonderful if Akvo could be the open database for <em>synthesizing</em> project information; and as a part of the workflow and processes, structure the project information such that it&rsquo;s in a digestible, relevant format. It would be a project wiki that has: background information on the area (size of the community, primary livelihoods, average income, etc.), where the project currently stands (most recent updates via a blog and wiki), relevant budget and financial documents, podcast stream of reports from the field, and images and video which are geographically connected to the project. The important thing is that this database would be built on open standards. It should be the engine that connects you with the information you need, based on your context.</p>
<p>The advantages to open in reporting are many. Most significant to my situation is the ability for potential collaborators to contribute to development work. I still consider myself a student, I&rsquo;m only 21, but I would like to break tradition and continue to learn in higher impact settings through <a href="http://www.danielbachhuber.com/tag/experiential-education/">experiential education</a>. Just think of all of the essays that get printed and then go into the trash. Instead, that productive capacity should be put towards the really big problems we have in the world. If we could lower barriers for students to get involved with projects like Green Empowerment&rsquo;s and others, the consequences could be tremendous. I think open sourcing development organizations one step in the right direction.</p>]]></content:encoded>
    </item>
    <item>
      <title>Idea for News Mixer: Unique URLs for anything</title>
      <link>https://danielbachhuber.com/idea-for-news-mixer-unique-urls-for-anything/</link>
      <pubDate>Tue, 03 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/idea-for-news-mixer-unique-urls-for-anything/</guid>
      <description>&lt;p&gt;From an email conversation earlier today, I think it would be sweet if &lt;a href=&#34;http://newsmixer.us/&#34;&gt;News Mixer&lt;/a&gt;, a &lt;a href=&#34;http://www.pbs.org/idealab/2009/02/news-mixer-options-launch-a-site-use-the-code-or-be-inspired033.html&#34;&gt;Knight-funded open source commenting project built on Django&lt;/a&gt;, had the ability to generate a unique, static URL for any bit of content in the content management system. I really like the things that News Mixer is doing to take commenting forward because, all too often with the &amp;ldquo;normal&amp;rdquo; types of threads, the diamonds are lost in the rough (especially when the comments number in the hundreds and thousands). News Mixer is experimenting with the radical changes necessary for comments to be useful again. Being able to generate a unique URL to a paragraph or sentence would allow the community to respond on their own blogs in direct response (and make trackbacks more granular).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From an email conversation earlier today, I think it would be sweet if <a href="http://newsmixer.us/">News Mixer</a>, a <a href="http://www.pbs.org/idealab/2009/02/news-mixer-options-launch-a-site-use-the-code-or-be-inspired033.html">Knight-funded open source commenting project built on Django</a>, had the ability to generate a unique, static URL for any bit of content in the content management system. I really like the things that News Mixer is doing to take commenting forward because, all too often with the &ldquo;normal&rdquo; types of threads, the diamonds are lost in the rough (especially when the comments number in the hundreds and thousands). News Mixer is experimenting with the radical changes necessary for comments to be useful again. Being able to generate a unique URL to a paragraph or sentence would allow the community to respond on their own blogs in direct response (and make trackbacks more granular).</p>
<p>On another note, I believe we interviewed Rich Gordon for tomorrow&rsquo;s edition of <a href="http://www.copress.org/category/blog/this-week-in-copress/">This Week in CoPress</a>. I was <a href="http://blog.oregondirectaction.org/2009/02/01/first-field-visit-to-suro-antivo/">out in the field doing research</a>, but am definitely looking forward to hearing about his future plans for the project.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Parallels between journalism and education</title>
      <link>https://danielbachhuber.com/parallels-between-journalism-and-education/</link>
      <pubDate>Tue, 03 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/parallels-between-journalism-and-education/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve got an email thread going with John Lowe of the Detroit Free Press, and it&amp;rsquo;s conversations like these that &lt;a href=&#34;http://twitter.com/danielbachhuber/status/1173681000&#34;&gt;make me wish&lt;/a&gt; there was a better tool for having transparent, but directed conversations. The discussion topic is education, specifically the current university system, and I think there&amp;rsquo;s a pretty interesting parallel to the journalism industry.&lt;/p&gt;&#xA;&lt;p&gt;John asks, &amp;ldquo;Is there still room for a professor to teach wisdom?&amp;rdquo;, to which I reply (emphasis added):&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve got an email thread going with John Lowe of the Detroit Free Press, and it&rsquo;s conversations like these that <a href="http://twitter.com/danielbachhuber/status/1173681000">make me wish</a> there was a better tool for having transparent, but directed conversations. The discussion topic is education, specifically the current university system, and I think there&rsquo;s a pretty interesting parallel to the journalism industry.</p>
<p>John asks, &ldquo;Is there still room for a professor to teach wisdom?&rdquo;, to which I reply (emphasis added):</p>
<blockquote>
<p>I think professors can teach wisdom, but so can students. The current model, to take a journalism analogy, is broadcast, whereas the technology is quickly allowing many to many communication (or education). There&rsquo;s still room for professional news organizations (or traditional universities), but they are now facing the crunch to evolve in order to maintain their relevance. <strong>The one thing that the universities still hold as a competitive, monopolistic advantage is certification</strong>, in my opinion. A substantial alternative, a system for rapidly certifying you in certain areas if you already hold the knowledge or can pick it up at a greater rate, will be a huge disruptor.</p>
<p>I don&rsquo;t think the &ldquo;current college system&rdquo; will remain relevant. Instead of thinking about textbooks and lectures, which in some arenas are becoming obsolete faster than they can be printed (i.e. journalism, where the &ldquo;Web&rdquo; was discussed in only one part of one chapter of my J201 textbook), I think universities need to be thinking a lot further forward.</p>
<p>This [many to many communications technology] presents a huge flaw in the &ldquo;top-down&rdquo; model, too. For universities to function as it stands, the professors must &ldquo;learn&rdquo; the material before the students do, hold a monopoly on that information, and then present that information. The problem is that the information they need to teach will be changing at an increasingly greater rate. That&rsquo;s why the evolutionary, &ldquo;network-based&rdquo; model is appropriate.</p></blockquote>
<p>I&rsquo;d like to continue that evolutionary learning, where knowledge grows from the ground up, is likely the only way that universities (or any other education system) can &ldquo;keep up with the times&rdquo; and not <a href="http://twitter.com/jiconoclast/status/1019030441">teach 5 year old material</a>. The real issue is that we&rsquo;re amidst a fundamental paradigm shift on top of accelerating change, and that most institutions that have <em>dealt</em> information in the past aren&rsquo;t adequately forward-thinking to survive the transition.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Free strategic advice for the @dailyemerald</title>
      <link>https://danielbachhuber.com/free-strategic-advice-for-the-dailyemerald/</link>
      <pubDate>Sun, 01 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/free-strategic-advice-for-the-dailyemerald/</guid>
      <description>&lt;p&gt;Last night, I realized we&amp;rsquo;ve started &lt;a href=&#34;http://www.oregoncommentator.com/2009/01/30/can-the-ol-dirty-be-read/#comments&#34;&gt;bitching about the Daily Emerald in the peanut gallery&lt;/a&gt; without offering any positive advice for change. I&amp;rsquo;d like to offer my thoughts on how to turn the struggling newspaper into a successful digital news enterprise.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Step one:&lt;/strong&gt; hold a transparent weekend (or weeklong) jam session to develop a strategic plan. Invite as many intelligent stakeholders as you can to a retreat, and put together a website for that retreat with the agenda, list of everyone involved, and goals. It might also be useful to have a open community forum in the week preceding to hear strengths and weaknesses from the perspective of the audience, or launch a website where the community and submit and vote on ideas for the news organization. When retreat happens, however, make it &lt;em&gt;open&lt;/em&gt; and &lt;em&gt;participatory&lt;/em&gt;. Make sure everyone at the retreat is documenting the discussion on Twitter, and livestream as much of the discussion as you can. Have a designated &amp;ldquo;community manager&amp;rdquo; for the retreat who looks for suggestions from watchers and brings those to the meeting. Tap the intelligence of the digital crowd, especially because you&amp;rsquo;ll be able to bring even more smart brains from afar.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I realized we&rsquo;ve started <a href="http://www.oregoncommentator.com/2009/01/30/can-the-ol-dirty-be-read/#comments">bitching about the Daily Emerald in the peanut gallery</a> without offering any positive advice for change. I&rsquo;d like to offer my thoughts on how to turn the struggling newspaper into a successful digital news enterprise.</p>
<p><strong>Step one:</strong> hold a transparent weekend (or weeklong) jam session to develop a strategic plan. Invite as many intelligent stakeholders as you can to a retreat, and put together a website for that retreat with the agenda, list of everyone involved, and goals. It might also be useful to have a open community forum in the week preceding to hear strengths and weaknesses from the perspective of the audience, or launch a website where the community and submit and vote on ideas for the news organization. When retreat happens, however, make it <em>open</em> and <em>participatory</em>. Make sure everyone at the retreat is documenting the discussion on Twitter, and livestream as much of the discussion as you can. Have a designated &ldquo;community manager&rdquo; for the retreat who looks for suggestions from watchers and brings those to the meeting. Tap the intelligence of the digital crowd, especially because you&rsquo;ll be able to bring even more smart brains from afar.</p>
<p><strong>Step two:</strong> campaign over summer 2009 amongst the Daily Emerald alums to raise the funds necessary to implement the strategic plan. Shop the plan out to them to get their feedback and insights, and use CRM (or <a href="http://en.wikipedia.org/wiki/Customer_relationship_management">customer relationship management</a>) software to track these interactions. When I left, they were using a FileMaker database system and analog mail. I would ditch this system immediately, and my first investment would be software like <a href="http://www.salesforce.com/">Salesforce.com</a> (which a news organization could also use to sell advertising more effectively). Using the new CRM, it would be wise to fundraise amongst the alums who want to see their old newspaper experiment with this platform called the internet. Including them in the process, by sending them the strategic plan and a link to the website with an archive of all the video, will make them more invested in the process (if they like what you&rsquo;re doing at least).</p>
<p><strong>Step three:</strong> implement the strategic plan starting in Fall 2009. If I were the publisher of the <a href="http://www.dailyemerald.com/">Daily Emerald</a>, these three are of many things I would attempt to drastically right the direction of the news organization:</p>
<ul>
<li>Quit the College Publisher habit. Being on a <a href="http://new.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">locked, proprietary content management system</a> is probably the worst foundation you could have for a digital news organization. Focus heavily on recruiting a few developers out of the computer science program, and build a basic website on <a href="http://www.djangoproject.com/">Django</a> that you can grow from. If you ask nicely, the <a href="http://daily.swarthmore.edu/">Daily Gazette at Swarthmore</a> or <a href="http://dailyuw.com/">Daily UW</a> might be willing to lend enough code to get you started.</li>
<li>Move to once a week in print. I know that this would be very, very difficult, especially because the <a href="http://www.oregoncommentator.com/2009/01/30/can-the-ol-dirty-be-read/#comment-104299">bulk of revenue comes from the print product</a>, but it needs to happen nevertheless. Necessity is the mother of invention. Do it, and publish daily online.</li>
<li>Empower your community. Break down the ivory tower, and <a href="http://jackiehai.com/2008/12/31/a-community-driven-news-model/">hold workshops to teach interested community members how to report on the issues</a> they&rsquo;re passionate about. I am quite certain that club sports at the University of Oregon don&rsquo;t get the coverage they deserves, and there are probably at least several people who could tweet at games and submit high quality images for a photo gallery.</li>
</ul>
<p>Right now at the Daily Emerald, though, they&rsquo;re going about it the <a href="http://www.buzzmachine.com/2008/11/11/the-last-thing-newspapers-need/">API emergency meeting</a> way, and this is just one of the many reasons I think <a href="http://www.journalism.co.uk/young-journalists/?p=431">startups make more sense in this climate</a>. I mean, look at all of the effort it&rsquo;s going to take to turn this ship around, let alone reinvent it.</p>
<p>There&rsquo;s also been discussion that student news will be largely unaffected by the <a href="http://letsbuyanewspaper.com/">tornado ripping through regional newspapers right now</a>. Even if that is the case, I would like to propose an analogy: if you&rsquo;re driving towards the cliff of irrelevance, your direction is what is most important. It doesn&rsquo;t matter that your car&rsquo;s engine hasn&rsquo;t seized up yet.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Organizing NewsInnovation PDX</title>
      <link>https://danielbachhuber.com/organizing-newsinnovation-pdx/</link>
      <pubDate>Sat, 31 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/organizing-newsinnovation-pdx/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://barcamp.org/newsinnovation&#34;&gt;BarCamp NewsInnovation&lt;/a&gt; is a series of &amp;ldquo;&lt;a href=&#34;http://en.wikipedia.org/wiki/Unconference&#34;&gt;unconferences&lt;/a&gt;&amp;rdquo; happening around the nation with the goal of bringing together &amp;ldquo;energetic, tech-savvy, open-minded individuals who embrace the chaos in the media industry because the ability to do really cool things still exist. We also need find those people outside of our industry who love to consume news and information and are great thinkers and innovators.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;On the 21st of February, 2009, we&amp;rsquo;re &lt;a href=&#34;http://barcamp.org/NewsInnovation-Portland&#34;&gt;bringing a regional edition&lt;/a&gt; to Portland. The &lt;a href=&#34;http://www.dailyvanguard.com/&#34;&gt;Daily Vanguard&lt;/a&gt; has generously provided space at Portland State, but we&amp;rsquo;ve still got a lot of planning to do between now and then. If you&amp;rsquo;ll be in the area and are interested in helping out, please &lt;a href=&#34;http://barcamp.org/NewsInnovation-Portland&#34;&gt;leave your name on the wiki&lt;/a&gt; and &lt;a href=&#34;http://groups.google.com/group/newsinnovationpdx&#34;&gt;sign up for the Google Group&lt;/a&gt;. Personally, I&amp;rsquo;ll be satisfied if I get to spend a day jamming with like-minded entrepreneurs on these ideas:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://barcamp.org/newsinnovation">BarCamp NewsInnovation</a> is a series of &ldquo;<a href="http://en.wikipedia.org/wiki/Unconference">unconferences</a>&rdquo; happening around the nation with the goal of bringing together &ldquo;energetic, tech-savvy, open-minded individuals who embrace the chaos in the media industry because the ability to do really cool things still exist. We also need find those people outside of our industry who love to consume news and information and are great thinkers and innovators.&rdquo;</p>
<p>On the 21st of February, 2009, we&rsquo;re <a href="http://barcamp.org/NewsInnovation-Portland">bringing a regional edition</a> to Portland. The <a href="http://www.dailyvanguard.com/">Daily Vanguard</a> has generously provided space at Portland State, but we&rsquo;ve still got a lot of planning to do between now and then. If you&rsquo;ll be in the area and are interested in helping out, please <a href="http://barcamp.org/NewsInnovation-Portland">leave your name on the wiki</a> and <a href="http://groups.google.com/group/newsinnovationpdx">sign up for the Google Group</a>. Personally, I&rsquo;ll be satisfied if I get to spend a day jamming with like-minded entrepreneurs on these ideas:</p>
<ul>
<li>What are the core competencies of a news organization online?</li>
<li>What is journalism in 10 years? How does journalism evolve with technology?</li>
<li>What would a local news startup look like?</li>
</ul>
<p>Being back in the States on the 21st also means I&rsquo;m ending my work in Peru prematurely, but CoPress has really taken off and I&rsquo;m stoked to get back and be able to take it to the next level.</p>
]]></content:encoded>
    </item>
    <item>
      <title>On the ground MobilizeMRS Research</title>
      <link>https://danielbachhuber.com/on-the-ground-mobilizemrs-research/</link>
      <pubDate>Sat, 24 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/on-the-ground-mobilizemrs-research/</guid>
      <description>&lt;p&gt;Thursday morning, Wayne, Karen, and I went down to the clinic in Arequipa to discuss &lt;a href=&#34;http://openmrs.org&#34;&gt;OpenMRS&lt;/a&gt;, &lt;a href=&#34;http://www.frontlinesms.com/&#34;&gt;FrontlineSMS&lt;/a&gt;, and &lt;a href=&#34;http://mobilizemrs.org&#34;&gt;MobilizeMRS&lt;/a&gt; with Lilia, the director of the clinic, and Maris, the assistant director of the clinic. There were a few goals to the meeting: understand the rudimentary electronic medical records system (EMR or MRS) in place now, assess the pros and cons of that system vs. OpenMRS, and discuss the possibility of running a clinic efficiency experiment with FrontlineSMS. We got through the first two agenda items pretty well but, being on Peruvian time, didn&amp;rsquo;t make it very far into the third.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Thursday morning, Wayne, Karen, and I went down to the clinic in Arequipa to discuss <a href="http://openmrs.org">OpenMRS</a>, <a href="http://www.frontlinesms.com/">FrontlineSMS</a>, and <a href="http://mobilizemrs.org">MobilizeMRS</a> with Lilia, the director of the clinic, and Maris, the assistant director of the clinic. There were a few goals to the meeting: understand the rudimentary electronic medical records system (EMR or MRS) in place now, assess the pros and cons of that system vs. OpenMRS, and discuss the possibility of running a clinic efficiency experiment with FrontlineSMS. We got through the first two agenda items pretty well but, being on Peruvian time, didn&rsquo;t make it very far into the third.</p>
<p>Brain and note taking dump ahead.</p>
<p>The clinic has an EMR at the moment which is very limited. It was developed by a local programmer they still have good relations with and, every time they want expanded functionality, they just ask he (or she) to build it. Furthermore, the clinic staff has been talking over the last year about different ways to expand the tools. At the moment, it captures data about the patient, vital signs, and has a free text area for diagnoses. Continuing development on this software will require significant money, of course, which is why OpenMRS is probably a better long term option. Writing software for a pretty common use case doesn&rsquo;t make much sense when there are customizable open source options available. Thanks to a relatively fast internet connection today, I was able to upload a HD walkthrough of their current EMR:</p>
<p><a href="http://vimeo.com/">Tour of the clinic&rsquo;s custom EMR</a> from <a href="http://vimeo.com/danielbachhuber">Daniel Bachhuber</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>One fairly significant problem we faced Thursday morning, however, was trying to convince the clinic staff of the merits of OpenMRS without a full featured <a href="http://openmrs.org/wiki/Demo">online demo</a> or <a href="http://twitter.com/danielbachhuber/status/1140614718">video tutorials</a>. I personally haven&rsquo;t experimented with the software very much, nor do I know all of the useful components of a medical records system, so I couldn&rsquo;t necessarily sell the software with my salesmanship.</p>
<p>Wayne, being proactive, took the conversation from step zero so that Lilia and Maris would be able to help assess the merits and demerits of their current system:</p>
<p><a href="http://vimeo.com/">Basic needs of a Medical Records System</a> from <a href="http://vimeo.com/danielbachhuber">Daniel Bachhuber</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>According to the doctor, the basic needs of a medical records system are three-fold:</p>
<ol>
<li>Documentation - an EMR should have the ability to take notes and capture information on labs, Rx, Dx imaging, etc. Most importantly, this information should be <em>searchable</em>.</li>
<li>Networking -  an EMR should lend accessible communication, both internally (within the clinic) and externally.</li>
<li>Decision support - an EMR should be intelligent, and assist the clinic staff in identifying high-risk patients, etc.</li>
</ol>
<p>Once we had these criteria established, we started talking about the pros and cons of using their current system.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3218922018/" title="Pros and cons of the current system by danielbachhuber, on Flickr"><img src="images/3218922018_6103520882.jpg" alt="Pros and cons of the current system"  width="500"
	height="335"  /></a></p>
<p>The pros of their system are:</p>
<ul>
<li>Easy implementation - the software is already installed on the computer and they know how to use it.</li>
<li>Design specific to clinic - they can choose how they want the software to operate because they direct the development of it.</li>
<li>Know[n] commodity - they know what they&rsquo;re dealing with.</li>
<li>Personal sw. provider - the developer is local and can come to the clinic to provide support, etc.</li>
<li>Economically speaking + impact - Cheap for what it does.</li>
</ul>
<p>The cons of their system are:</p>
<ul>
<li>Design specific - the design of the software is tied very much to the needs of their clinic today, and not five years in the future.</li>
<li>Expandability - uncertain as to how difficult it is to extend the system.</li>
<li>$ for upgrades - have to pay to have the developer build every single upgrade. Also, only the developer knows how to build or maintain the system.</li>
<li>Don&rsquo;t really know &ldquo;OpenMRS&rdquo; - don&rsquo;t have the proper education materials to illustrate the power and flexibility of OpenMRS.</li>
</ul>
<p>The unfortunate thing is that their current system doesn&rsquo;t match up to the needs of an EMR very well. As it stands, it&rsquo;s not much more than a data storage tool. They use it to house basic information about the patient, symptoms, and diagnosis, but it isn&rsquo;t very useful as a tool to <em>manipulate</em> the information. On top of that, the networking support (connecting computers in the reception with those in the doctor&rsquo;s rooms and farmacia), has yet to be built and decision support is cost ineffective.</p>
<p>The clinic is interested in OpenMRS, however. On Monday or Tuesday, Wayne will be showing Lilia and Maris a demonstration of the EMR he uses back in the States. This will ideally convince them of the practicality of having a robust EMR. We&rsquo;d also like to get them to a clinic in Peru that has a working demo of OpenMRS soon. If this proves feasible, then we might be able to send the programmer they have to an implementer&rsquo;s training with PIH.</p>
<p>A thought on bringing the programmer into the fold: this might actually be an economic enterprise for him or her. My thinking is that there are a number of clinics in Arequipa still using paper records, so if the clinic HBI works with becomes a local model for using OpenMRS, then that might get the other clinics interested in medical records and incentivize the developer to get to know OpenMRS better.</p>
<p>In the interim, though, the clinic will still put a bit more money into the system they already have.</p>
<p>On the note of SMS, we discussed the possibility of how mobile might be useful to increase clinic efficiency:</p>
<p><a href="http://vimeo.com/">Day seven, Arequipa</a> from <a href="http://vimeo.com/danielbachhuber">Daniel Bachhuber</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>The idea wasn&rsquo;t very well received, though, because the assumption is that the demographic that the clinic serves most likely will not have cell phones, and the clinic staff couldn&rsquo;t really understand how the technology could be useful. Anecdotally, however, a doctor said the penetration of mobiles in this market is near or over 90%, a statistic which doesn&rsquo;t seem too unrealistic to me. Furthermore, I think that mobiles could play a significant role in improving the efficiency of the clinic.</p>
<p>We&rsquo;ve got an experiment cooking too. Building upon the pediatric idea <a href="http://www.danielbachhuber.com/2009/01/17/first-stage-of-mobilizemrs-research/">briefly outlined in my previous post</a>, we&rsquo;d like to have a control group, an experimental group which receives a reminder for their appointment, and another experiment where the group receives a unique code for a discount on their appointment. In preparation, the clinic will start collecting cellphone numbers at registration. Ideally, this experiment will be later this spring or early in the summer.</p>
<p>One last thought on efficiency: we&rsquo;d also like to run a two week experiment (probably in February) where patients receive a time-stamp upon checking in to the clinic, and another one when the doctor takes them for their appointment. I think mobile could a tremendous impact on the clinic&rsquo;s ability to efficiently deliver healthcare (the concept of being on-time for appointments is nearly zero), but baseline numbers will be really important to calculate impact.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Another year, another grant application</title>
      <link>https://danielbachhuber.com/another-year-another-grant-application/</link>
      <pubDate>Thu, 22 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/another-year-another-grant-application/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.copress.org/&#34;&gt;CoPress&lt;/a&gt;, an initiative on its way to becoming a non-profit organization, has &lt;a href=&#34;http://changemakers.net/en-us/node/17306&#34;&gt;submitted another grant application&lt;/a&gt;. We&amp;rsquo;re building a better technical eco-system for student news organizations, which means that we&amp;rsquo;re creating the tools and means for the techie kids at student newspapers to share ideas, collaborate on code, and generally work together to develop really legit websites. To do this, though, will require a bit of effort (which we&amp;rsquo;re already been putting forth) and a bit of money (which we as students don&amp;rsquo;t have much of).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.copress.org/">CoPress</a>, an initiative on its way to becoming a non-profit organization, has <a href="http://changemakers.net/en-us/node/17306">submitted another grant application</a>. We&rsquo;re building a better technical eco-system for student news organizations, which means that we&rsquo;re creating the tools and means for the techie kids at student newspapers to share ideas, collaborate on code, and generally work together to develop really legit websites. To do this, though, will require a bit of effort (which we&rsquo;re already been putting forth) and a bit of money (which we as students don&rsquo;t have much of).</p>
<p>Ashoka&rsquo;s Changemakers has a pretty cool competition called &ldquo;<a href="http://changemakers.net/en-us/competition/powerofus">The Power of Us: Re-imagine Media</a>&rdquo; that might help us out. The winner(s) will receive $50,000 towards their project. If you <a href="http://changemakers.net/en-us/node/17306">vote for us</a>, which we very much hope you do, it might just be CoPress.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Greg Linch on CoPress</title>
      <link>https://danielbachhuber.com/greg-linch-on-copress/</link>
      <pubDate>Thu, 22 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/greg-linch-on-copress/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.greglinch.com/&#34;&gt;Greg Linch&lt;/a&gt; was &lt;a href=&#34;http://newsinnovation.com/2009/01/22/coeds-create-copress-innovation-from-the-ground-up/&#34;&gt;interviewed by David Cohn&lt;/a&gt; in the past week about &lt;a href=&#34;http://www.copress.org/&#34;&gt;CoPress&lt;/a&gt; which is way, way cool:&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;As the project has been a very, uh, &lt;em&gt;organic&lt;/em&gt; process, I thought I might clarify on a few points Greg made.&lt;/p&gt;&#xA;&lt;p&gt;First off, it is of my humble opinion that open source content management systems are philosophically better than proprietary. The key component to this argument is that you, as the developer or end user, are allowed to edit the source code with a platform such as &lt;a href=&#34;http://drupal.org/&#34;&gt;Drupal&lt;/a&gt;, &lt;a href=&#34;http://www.wordpress.org&#34;&gt;Wordpress&lt;/a&gt;, or &lt;a href=&#34;http://www.djangoproject.com/&#34;&gt;Django&lt;/a&gt;, whereas with a proprietary system like College Publisher you are limited to their ideas and their development cycle. News organizations not only need to be online, but they need to be able to &lt;em&gt;innovate&lt;/em&gt; online. On top of that, in choosing an open source CMS we&amp;rsquo;re actually hoping student news organizations will take the initiative and start experimenting with how &amp;ldquo;news&amp;rdquo; or  &amp;ldquo;journalism&amp;rdquo; is delivered. We&amp;rsquo;re different at the core because of this.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.greglinch.com/">Greg Linch</a> was <a href="http://newsinnovation.com/2009/01/22/coeds-create-copress-innovation-from-the-ground-up/">interviewed by David Cohn</a> in the past week about <a href="http://www.copress.org/">CoPress</a> which is way, way cool:</p>
<p> </p>
<p>As the project has been a very, uh, <em>organic</em> process, I thought I might clarify on a few points Greg made.</p>
<p>First off, it is of my humble opinion that open source content management systems are philosophically better than proprietary. The key component to this argument is that you, as the developer or end user, are allowed to edit the source code with a platform such as <a href="http://drupal.org/">Drupal</a>, <a href="http://www.wordpress.org">Wordpress</a>, or <a href="http://www.djangoproject.com/">Django</a>, whereas with a proprietary system like College Publisher you are limited to their ideas and their development cycle. News organizations not only need to be online, but they need to be able to <em>innovate</em> online. On top of that, in choosing an open source CMS we&rsquo;re actually hoping student news organizations will take the initiative and start experimenting with how &ldquo;news&rdquo; or  &ldquo;journalism&rdquo; is delivered. We&rsquo;re different at the core because of this.</p>
<p>This conversation is especially timely, too. I&rsquo;m in the process of drafting documents to define what the specific vision of CoPress will be for the next couple of years. Really, we&rsquo;re a lot more than hosting. <a href="http://www.copress.org/hosting/">CoPress Hosting</a> is an attempt to get student news organizations to be on the same platform so that they <em>can</em> collaborate. The core of what CoPress stands for is the <em>network of collaboration</em>, and we&rsquo;ll be experimenting with the best tools to make this possible. In the video, Greg mentions a <a href="http://groups.google.com/group/copress/browse_thread/thread/4b0644fef4e2a6ae">conversation that arose organically in our Google Group</a>. We want to create a platform, something I&rsquo;m calling a social intelligence tool, that allows those types of conversations to happen more often and to create more value. The short goal is this: the tool will connect you with the person most likely to be able to answer your question (whether it&rsquo;s troubleshooting a faulty plugin or install Apache). To my knowledge, this has never been done. We&rsquo;re a pretty ambitious bunch, though, and I figure we&rsquo;ll give it a shot.</p>
<p>Greg also discusses the long-haul for the team. Personally, I never expected the project to get this big (it was originally going to be a 20% project at the Daily Emerald), so we&rsquo;ve largely been making this up as we go along. We&rsquo;re currently in the process of establishing six month, more formal positions, and my hope is that, if we start generating some sort of revenue stream, the core team will all be part-time positions. This is a bit different than what Greg said, but my logic is that I don&rsquo;t think any of us (no offense to the team) is really qualified to do what we want to do. Part of it will be a learning experience, which will be valuable on its own, and part of it will be work, which it would be nice to be reimbursed for. </p>
<p>On the plus side, we&rsquo;ll be using the full genius of <a href="http://byjoeybaker.com/">Joey Baker</a> to put together a business plan and identify methods for long-term financial sustainability.</p>
]]></content:encoded>
    </item>
    <item>
      <title>First stage of MobilizeMRS research</title>
      <link>https://danielbachhuber.com/first-stage-of-mobilizemrs-research/</link>
      <pubDate>Sun, 18 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/first-stage-of-mobilizemrs-research/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Day one in Arequipa:&lt;/strong&gt; asking as many questions as I possibly could about how &lt;a href=&#34;http://www.hbint.org&#34;&gt;Health Bridges International&lt;/a&gt;&amp;rsquo;s partner clinic in Alta Cayma operates. This research will serve two purposes: extensive background for how &lt;a href=&#34;http://mobilizemrs.org/&#34;&gt;MobilizeMRS&lt;/a&gt; might be useful, as well as assessing resources for intra-clinic collaboration. &lt;/p&gt;&#xA;&lt;p&gt;A little background. The catchment area for the clinic in Alta Cayma includes 30,000 to 35,000 people. From this population, the clinic saw 22,000 visits in the past year, with between 15,000 and 17,000 unique patients. Recorded number of visits to the clinic is increasing at a rate of 4,000/year. The clinic is pretty well resourced, according to Wayne of HBI, with a team of physicians (rotating 5, not all full time), dentists (2), nurses (9, not all full time), pharmacy (4), management (2), and two specialists, a psychologist and opthamologist. Essential medications are provided through a Catholic charity program and they can get most others through donations. Where the clinic lacks is primarily in specialization, health education, and patient care advocates.&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>Day one in Arequipa:</strong> asking as many questions as I possibly could about how <a href="http://www.hbint.org">Health Bridges International</a>&rsquo;s partner clinic in Alta Cayma operates. This research will serve two purposes: extensive background for how <a href="http://mobilizemrs.org/">MobilizeMRS</a> might be useful, as well as assessing resources for intra-clinic collaboration. </p>
<p>A little background. The catchment area for the clinic in Alta Cayma includes 30,000 to 35,000 people. From this population, the clinic saw 22,000 visits in the past year, with between 15,000 and 17,000 unique patients. Recorded number of visits to the clinic is increasing at a rate of 4,000/year. The clinic is pretty well resourced, according to Wayne of HBI, with a team of physicians (rotating 5, not all full time), dentists (2), nurses (9, not all full time), pharmacy (4), management (2), and two specialists, a psychologist and opthamologist. Essential medications are provided through a Catholic charity program and they can get most others through donations. Where the clinic lacks is primarily in specialization, health education, and patient care advocates.</p>
<p> </p>
<p>These needs tie into the intra-clinic collaboration. On Monday and Tuesday, Health Bridges International and <a href="http://www.mmint.org/">Medical Ministry International</a> will be holding a conference in downtown Arequipa to bring together as many players in private, public-sector health care as possible and hold a discussion on how to improve the efficacy of healthcare delivery by cooperation. According to Wayne, there is no central record keeping of healthcare in Arequipa. There are, however, four-ish different methods of delivery:</p>
<ul>
<li>MINSA: through the Ministry of Health, and this is the primary source for most Peruvians</li>
<li>Es Salud: if you work in the formal sector and get taxes withdrawn from your pay, then you are eligible</li>
<li>Military and police hospitals</li>
<li>private clinics (including for-profit and non-profit) - ballpark of around 500 to 700 of varying sizes in Arequipa</li>
</ul>
<p>About 50 or so of these private clinics, along with government officials, have been invited to the conference at the beginning of the week. At the end of the first day, we&rsquo;ll pass out a <a href="http://docs.google.com/Doc?id=ddc3b57j_185ddjzc9sf">survey</a> [Google Doc] asking questions to try and establish both the <em>type</em> of information to be shared and best medium to <em>share</em> the information through.</p>
<p>In any regard, this little project was the first reason I was destined to come to Arequipa. The second is a project <a href="http://isaacholeman.org">Isaac Holeman</a> and I are working on called <a href="http://mobilizemrs.org/">MobilizeMRS</a>. The concept is to bridge the gap between SMS (short message service, or text messages) and MRS (medical records system). The first step in the process, or in Peru at least, was going to be to introduce the clinic to <a href="http://www.frontlinesms.com/">FrontlineSMS</a> and see if we could find an experiment to use it on. If they don&rsquo;t already have one, getting the clinic on an electronic medical records system is a bit more difficult of a process.</p>
<p><strong>Most immediate issue:</strong> this clinic implements primary care, unlike most of the use cases I&rsquo;ve found for FrontlineSMS thus far.</p>
<p>This means that instead of focusing treatment on HIV/AIDS and Tuberculosis, they deal with &ldquo;Western diseases,&rdquo; or  obesity, diabetes, etc. This also means that the only &ldquo;<a href="http://www.pih.org/issues/delivery.html">community health worker</a>&rdquo; they have is Maria, who is more of a social worker than anything else. It&rsquo;s not a huge hang-up, but has made the questions I came down here with (i.e. how many community health workers are there in the network, how far do they travel, etc.) mostly obsolete, and means we&rsquo;ll have to experiment with how SMS might be useful.</p>
<p>We have an idea, however.</p>
<p>Peruvian patients are notoriously tardy. It&rsquo;s just not really a cultural expectation to be &ldquo;on time.&rdquo; In a clinical setting, this means you have to run at less than optimal efficiency, because you really don&rsquo;t know for sure who is going to show up when. You also don&rsquo;t know when you&rsquo;re using your resources to their fullest potential.</p>
<p>The idea is to change this by incentivizing &ldquo;on time&rdquo; behavior. We&rsquo;re considering doing a trial run with pediatric patients because the clinic needs to do follow-up appointments with about 150 kids. To experiment with this, we could assign 50 kids to three different morning sessions. Session one is the control, meaning we would just tell the parents that they should bring in their children between hour X and hour Y on Tuesday morning. For session two on Wednesday morning, we would send a blast text message out to the parents on one of the days preceding that they could get 50% the consultation fee (which is 3 soles, or about a dollar), if they showed up within an hour of hour X. They would each have a unique confirmation code to reveal in order to get the discount. Session three might have the opportunity to receive priority treatment if they showed up promptly. In short, I think the plan is to create an experiment like this and see what the ROI of improved communication with patients might be.</p>
<p>An important note about establishing ROI: it&rsquo;s really, really important to have baseline numbers. This is particularly hard to do in the Alta Cayma clinic, as I imagine in many clinics, because so much data is left untracked. On top of that, all of the records right now are paper, which makes tabulation a pain. There are a few simple data points I&rsquo;d like to start tracking as soon as possible: average length of time spent in line to see the doctor, number of patients that leave before seeing a doctor, and number of patients per hour by the day. These should be as easy as marking the time the patient was checked in and was seen by a doctor on their chart.</p>
<p>A couple of final questions about using FrontlineSMS:</p>
<ul>
<li>Has FrontlineSMS been implemented in other primary care settings?</li>
<li>What are some ways FrontlineSMS can be applicable to primary care?</li>
</ul>
<p>OpenMRS is going to be a whole other beast, I think. I&rsquo;m heartened to learn that they&rsquo;ve already been thinking about electronic medical records significantly, though, and plan on including me in a few hour meeting on Thursday to discuss potential options and ideas.</p>]]></content:encoded>
    </item>
    <item>
      <title>Striations of the city</title>
      <link>https://danielbachhuber.com/striations-of-the-city/</link>
      <pubDate>Sun, 18 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/striations-of-the-city/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3205441728/&#34; title=&#34;Down the street by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3205441728_fd78af6b70.jpg&#34; alt=&#34;Down the street&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;344&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;A view of the main street running down Alta Cayma. As the city grows, it expands outwards, and the distance from the center is a decent ruler for measuring socio-economic status. The houses, businesses, and infrastructure closer to the hub are significantly nicer than those in the periphery. Conversely, a view up the street running out of town (from a few blocks higher):&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/3205441728/" title="Down the street by danielbachhuber, on Flickr"><img src="images/3205441728_fd78af6b70.jpg" alt="Down the street"  width="500"
	height="344"  /></a></p>
<p>A view of the main street running down Alta Cayma. As the city grows, it expands outwards, and the distance from the center is a decent ruler for measuring socio-economic status. The houses, businesses, and infrastructure closer to the hub are significantly nicer than those in the periphery. Conversely, a view up the street running out of town (from a few blocks higher):</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3205466134/" title="Up the street by danielbachhuber, on Flickr"><img src="images/3205466134_d9c57e5bef.jpg" alt="Up the street"  width="500"
	height="345"  /></a></p>
<p>Rural poor come to the city looking for new livelihoods, and the easiest place to start is on the outskirts of town.</p>
<p>Also, a <a href="http://vimeo.com/2864685">wee little video of the same area</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>My winter term</title>
      <link>https://danielbachhuber.com/my-winter-term/</link>
      <pubDate>Thu, 15 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/my-winter-term/</guid>
      <description>&lt;p&gt;In about a half hour, I&amp;rsquo;m headed on Continental Flight 308 to Houston, hopefully ending up in Lima at some point tonight. The plan as it stands now is to spend two months in Peru enjoying the summer and working on a few different projects.&lt;/p&gt;&#xA;&lt;p&gt;The first destination is &lt;a href=&#34;http://en.wikipedia.org/wiki/Arequipa&#34;&gt;Arequipa&lt;/a&gt;, in southern Peru, to do research for &lt;a href=&#34;http://www.hbint.org/&#34;&gt;Health Bridges International (HBI)&lt;/a&gt; on how the clinics serving the Alto Cayma catchment area can better coordinate efforts, share resources, and work together. The specialty I hope to bring is identifying ways in which communications technology (like a Google Group, Wordpress blog, or SMS) can enhance collaboration. Wayne and I worked on a questionnaire a while back that will be implemented at a healthcare providers conference on Monday and Tuesday. Here are some of the questions we&amp;rsquo;ll be asking:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In about a half hour, I&rsquo;m headed on Continental Flight 308 to Houston, hopefully ending up in Lima at some point tonight. The plan as it stands now is to spend two months in Peru enjoying the summer and working on a few different projects.</p>
<p>The first destination is <a href="http://en.wikipedia.org/wiki/Arequipa">Arequipa</a>, in southern Peru, to do research for <a href="http://www.hbint.org/">Health Bridges International (HBI)</a> on how the clinics serving the Alto Cayma catchment area can better coordinate efforts, share resources, and work together. The specialty I hope to bring is identifying ways in which communications technology (like a Google Group, Wordpress blog, or SMS) can enhance collaboration. Wayne and I worked on a questionnaire a while back that will be implemented at a healthcare providers conference on Monday and Tuesday. Here are some of the questions we&rsquo;ll be asking:</p>
<ul>
<li>What types of resources are you commonly lacking?</li>
<li>Do you have internet access?</li>
<li>Do check email regularly? How often?</li>
<li>Are you interested in collaborating with other local clinics/ organizations?</li>
<li>Would you be interested in sharing specialty consultations?</li>
<li>Would you be interested in sharing supplies or resources?</li>
</ul>
<p>We&rsquo;ll be trying to keep it short, but I&rsquo;d enjoy any and all feedback on the questions we&rsquo;re asking, as well as ideas on how to connect clinics with limited resources.</p>
<p>Along with doing research for HBI, I&rsquo;ll be doing interviews to gather information for <a href="http://www.mobilizemrs.org/">MobilizeMRS</a>, a project with <a href="http://www.isaacholeman.org/">Isaac Holeman</a> and (hopefully) Lewis &amp; Clark Direct Action. These interviews, which will probably be video too, will try to deduce:</p>
<ul>
<li>A solid use case for FrontlineSMS in the HBI clinic in Arequipa</li>
<li>What different stakeholders think the project can do</li>
<li>The organization of the community health workers network</li>
<li># of trips made per day by community health workers + doctors, average distance of each trip, and how they travel</li>
<li>Access to electricity</li>
</ul>
<p>Thanks to <a href="http://mobilesinmalawi.blogspot.com/">Josh Nesbit</a> for feedback on the scope of this research.</p>
<p>At the end of January, I&rsquo;ll be headed to Cajamarca to work on Oregon Direct Action&rsquo;s <a href="http://www.oregondirectaction.org/sanpablo/">water project in San Pablo, Peru</a>.</p>
<p>More soon, I promise. Final boarding time now. If you&rsquo;re going to down there at the same time, <a href="http://www.danielbachhuber.com/contact/">hit me up</a>. I think I&rsquo;d like to do a few weekend trips to get away from work. And an FYI for those of you that follow me on Twitter: I hope to tweet as I&rsquo;m traveling around. Twitter no longer delivers international SMS, however, so the conversation might seem a bit one-sided at times. My apologies in advance.</p>
<p>Onward!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sadhana Clean Water Project presentation to PCC</title>
      <link>https://danielbachhuber.com/sadhana-clean-water-project-presentation-to-pcc/</link>
      <pubDate>Wed, 14 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/sadhana-clean-water-project-presentation-to-pcc/</guid>
      <description>&lt;p&gt;At about 0800 hours tomorrow morning, or today based on your timezone, I&amp;rsquo;ll be giving a presentation to the Asian Studies Program at Portland Community College, Rock Creek Campus.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.slideshare.net/danielbachhuber/20090114-pcc-rock-creek-presentation-presentation?type=powerpoint&#34; title=&#34;20090114   Pcc Rock Creek Presentation&#34;&gt;20090114 Pcc Rock Creek Presentation&lt;/a&gt; &lt;/p&gt;&#xA;&lt;p&gt;View SlideShare &lt;a href=&#34;http://www.slideshare.net/danielbachhuber/20090114-pcc-rock-creek-presentation-presentation?type=powerpoint&#34; title=&#34;View 20090114   Pcc Rock Creek Presentation on SlideShare&#34;&gt;presentation&lt;/a&gt; or &lt;a href=&#34;http://www.slideshare.net/upload?type=powerpoint&#34;&gt;Upload&lt;/a&gt; your own.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s a longer, more in-depth version of the one I &lt;a href=&#34;http://www.danielbachhuber.com/2008/11/22/india08-presentation-to-iit-alumni/&#34;&gt;gave in November&lt;/a&gt;, which means I get to expand a bit on the times I slept on train station platforms and when I got ringworm. We&amp;rsquo;ve finally finished the report associated with the &lt;a href=&#34;http://www.whitmandirectaction.org/cleanwater/studygroup/&#34;&gt;Appropriate Technology Study Group&lt;/a&gt;, too, and I&amp;rsquo;m excited to go over some of the findings.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>At about 0800 hours tomorrow morning, or today based on your timezone, I&rsquo;ll be giving a presentation to the Asian Studies Program at Portland Community College, Rock Creek Campus.</p>
<p><a href="http://www.slideshare.net/danielbachhuber/20090114-pcc-rock-creek-presentation-presentation?type=powerpoint" title="20090114   Pcc Rock Creek Presentation">20090114 Pcc Rock Creek Presentation</a> </p>
<p>View SlideShare <a href="http://www.slideshare.net/danielbachhuber/20090114-pcc-rock-creek-presentation-presentation?type=powerpoint" title="View 20090114   Pcc Rock Creek Presentation on SlideShare">presentation</a> or <a href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own.</p>
<p>It&rsquo;s a longer, more in-depth version of the one I <a href="http://www.danielbachhuber.com/2008/11/22/india08-presentation-to-iit-alumni/">gave in November</a>, which means I get to expand a bit on the times I slept on train station platforms and when I got ringworm. We&rsquo;ve finally finished the report associated with the <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/">Appropriate Technology Study Group</a>, too, and I&rsquo;m excited to go over some of the findings.</p>
<p>Sidenote: SlideShare doesn&rsquo;t seem to think Helvetica Neue Light is a legitimate font and instead replaces it with some medieval looking thing. This is especially fun to discover by trial and error at midnight when you have to wake up early the next morning. Yes, I know that the lettering is too big on the first slide.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Provide links to context, please</title>
      <link>https://danielbachhuber.com/provide-links-to-context-please/</link>
      <pubDate>Tue, 06 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/provide-links-to-context-please/</guid>
      <description>&lt;p&gt;In an article &lt;a href=&#34;http://media.www.dailyemerald.com/media/storage/paper859/news/2009/01/05/News/Proposal.Would.Add.Justices.To.Court-3581731.shtml&#34;&gt;published today&lt;/a&gt;, the Daily Emerald reveals that Sam Dotters-Katz has proposed changes to the ASUO Constitution (which I would link to but it&amp;rsquo;s apparently not available online):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Dotters-Katz and Papailiou&amp;rsquo;s proposal would add two justices to the existing five-member court and require it to submit rules changes to the Senate for approval. It would also re-establish the Elections Board as an independent entity to avoid conflicts of interest that Papailiou said were endemic under previous administrations.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In an article <a href="http://media.www.dailyemerald.com/media/storage/paper859/news/2009/01/05/News/Proposal.Would.Add.Justices.To.Court-3581731.shtml">published today</a>, the Daily Emerald reveals that Sam Dotters-Katz has proposed changes to the ASUO Constitution (which I would link to but it&rsquo;s apparently not available online):</p>
<blockquote>
<p>Dotters-Katz and Papailiou&rsquo;s proposal would add two justices to the existing five-member court and require it to submit rules changes to the Senate for approval. It would also re-establish the Elections Board as an independent entity to avoid conflicts of interest that Papailiou said were endemic under previous administrations.</p></blockquote>
<p>There&rsquo;s something wrong with this picture. I&rsquo;m not talking about the proposed changes, rather it&rsquo;s in the way that the information is presented. Reporting in the &ldquo;traditional&rdquo; news brief format, the reader (me) is left more confused than informed. There is almost <em>zero</em> context associated with the article, and I haven&rsquo;t the faintest idea what the information presented actually means.</p>
<p>Such is the old paradigm. Newspapers are dead; long live newspapers. I&rsquo;m of the opinion however that the new paradigm, the one that <a href="http://savethemedia.com/2009/01/01/my-hopes-for-journalists-in-the-future/">everyone&rsquo;s afraid of</a>, is actually <em>improving</em> journalism. Go figure.</p>
<p>For instance, if the Daily Emerald had the innovation, talent, and tools, I would have been presented an array of options to expand my knowledge about Dotters-Katz, how the ASUO runs, and why he proposes a change to the Constitution. There would likely be a list of previous posts on this issue, a small topical wiki in the sidebar synthesizing the pulse of ASUO, and curation of student blogosphere reactions to the announcement (like this one and <a href="http://www.oregoncommentator.com/2009/01/05/asuo-constitutional-amendments-grievance-update/">one from the Oregon Commentator</a>), among other forms of information.</p>
<p>Instead, the readers get nothing better than a press release and I have to use Google, <a href="http://www.buzzmachine.com/2007/05/30/shooting-red-herring-in-a-barrel/">coincidentally</a>, to educate myself further. Google is taking the place of the news organization largely because the newspapers are flailing. Get with the times, please, and use the infinitely useful and flexible platform the internet gives you to empower your community with information.</p>
<p>Oh wait, the Daily Emerald runs College Publisher. <a href="http://www.copress.org/hosting/">Make sure your CMS is open source</a>, and then innovate.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Education needs a reboot too</title>
      <link>https://danielbachhuber.com/education-needs-a-reboot-too/</link>
      <pubDate>Fri, 26 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/education-needs-a-reboot-too/</guid>
      <description>&lt;p&gt;The internet makes the world a smaller place and a stronger community. For this, I am thankful.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve started an interesting conversation with &lt;a href=&#34;http://maxmarmer.com/&#34;&gt;Max Marmer&lt;/a&gt; about higher education, ways in which it is currently unsatisfactory, and what can be done to fix it. Here&amp;rsquo;s his idea:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://maxmarmer.com/force-for-the-future/&#34;&gt;Force For the Future&lt;/a&gt; is an action oriented youth network that uses the tools of foresight to augment its impact. One of our main goals is to accelerate the impact of young people by connecting them with like-minded peers, and seasoned professionals interested in mentoring the next generation. And aims to provide a tangible, action-oriented form of learning that most high schools, as of yet, do not.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The internet makes the world a smaller place and a stronger community. For this, I am thankful.</p>
<p>I&rsquo;ve started an interesting conversation with <a href="http://maxmarmer.com/">Max Marmer</a> about higher education, ways in which it is currently unsatisfactory, and what can be done to fix it. Here&rsquo;s his idea:</p>
<blockquote>
<p><a href="http://maxmarmer.com/force-for-the-future/">Force For the Future</a> is an action oriented youth network that uses the tools of foresight to augment its impact. One of our main goals is to accelerate the impact of young people by connecting them with like-minded peers, and seasoned professionals interested in mentoring the next generation. And aims to provide a tangible, action-oriented form of learning that most high schools, as of yet, do not.</p>
<p>Many young people are struck by an unbridled enthusiasm to “change the world”. The problem is this momentary enthusiasm is rarely converted into any kind of action. Very few actually to get to a stage where they are making a difference. Force For the Future aims to lower the barrier to entry by creating a support network comprised of mentors and organizations.</p></blockquote>
<p>He argues that there are three primary reasons he&rsquo;s forwarding the project: too many students love learning and hate school, there is very little correlation between success in school and success in life, and that students need to be more entrepreneurial with their knowledge.</p>
<p>I think he&rsquo;s preaching to the choir.</p>
<p>The tenets are pretty well established: open, networked, and transparent. Now it&rsquo;s time to start experimenting. Shane, <a href="http://www.djstrouse.com/">DJ</a>, and I have an idea for a social tool to enhance networked learning. The goal is to connect knowledge seekers to connect with knowledge holders, and build an economy which measures the capital of knowledge transferred. We should start doing this in small trial runs, and then scale up. Roughly, the tool would use profiles so that the seekers could search out the holders. For instance, if I wanted to learn how to install Wordpress, I could search and find a person who held that knowledge. It would allow me to find a time and location to meet with that person. To quantify the knowledge transfer, there would be a karma system to quantify the value of information transfer and allow both parties to exchange capital. Additionally, the tool would allow groups to coalesce for longer periods of project-based, experiential learning like the <a href="http://www.whitmandirectaction.org/cleanwater/">Sadhana Clean Water Project</a> and ODA&rsquo;s <a href="http://www.oregondirectaction.org/sanpablo/">water project in San Pablo, Peru</a>.</p>
<p>My favorite of all of this thus far? Max mentioned that he keeps his iPod regularly stocked with <a href="http://www.ted.com/">TEDTalks</a>. Back when I was in high school, dialup at home forced me to download the two regular podcasts I could find, Adam Curry&rsquo;s <a href="http://dailysourcecode.com/">Daily Source Code</a> and <a href="http://onthemedia.org/">On The Media</a>, at school. That was less than five years ago. Just think about what type of information transfer devices and bandwidth will allow five years from now. There&rsquo;s huge potential, and <a href="http://blog.futurestreetconsulting.com/?p=118">others agree</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Mobilizing Mobile Records makes It to round two</title>
      <link>https://danielbachhuber.com/mobilizing-mobile-records-makes-it-to-round-two/</link>
      <pubDate>Mon, 15 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/mobilizing-mobile-records-makes-it-to-round-two/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.amysampleward.org/&#34;&gt;Amy Sample Ward&lt;/a&gt; just alerted me that &amp;ldquo;&lt;a href=&#34;http://www.netsquared.org/projects/mobilizing-medical-records-resource-poor-settings&#34;&gt;Mobilizing Mobile Records in Resource Poor Settings&lt;/a&gt;&amp;rdquo;, a project Isaac and I pitched for the NetSquared/USAID Development 2.0 Challenge, has made it into the &lt;a href=&#34;http://www.netsquared.org/blog/amysampleward/usaid-challenge-featured-15-projects-announced&#34;&gt;top 15&lt;/a&gt;! &lt;/p&gt;&#xA;&lt;p&gt;Wow. So sweet. I&amp;rsquo;m not entirely sure what the next steps are, but this is a huge stride forward for bridging the gap between SMS and OpenMRS and empowering healthcare providers.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.amysampleward.org/">Amy Sample Ward</a> just alerted me that &ldquo;<a href="http://www.netsquared.org/projects/mobilizing-medical-records-resource-poor-settings">Mobilizing Mobile Records in Resource Poor Settings</a>&rdquo;, a project Isaac and I pitched for the NetSquared/USAID Development 2.0 Challenge, has made it into the <a href="http://www.netsquared.org/blog/amysampleward/usaid-challenge-featured-15-projects-announced">top 15</a>! </p>
<p>Wow. So sweet. I&rsquo;m not entirely sure what the next steps are, but this is a huge stride forward for bridging the gap between SMS and OpenMRS and empowering healthcare providers.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Planes, trains, and the Bolt Bus</title>
      <link>https://danielbachhuber.com/planes-trains-and-the-bolt-bus/</link>
      <pubDate>Mon, 15 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/planes-trains-and-the-bolt-bus/</guid>
      <description>&lt;p&gt;Just as soon as I finish my oatmeal, I&amp;rsquo;m off for an epic trek across these United States for the &lt;a href=&#34;http://www.copress.org/2008/12/were-throwing-a-party/&#34;&gt;first ever CoPress meetup in Philly&lt;/a&gt;. We&amp;rsquo;ll be talking student newspapers, strategy, the internet, and our favorite type of pie at this time of year. If you&amp;rsquo;re around town, you&amp;rsquo;re more than welcome to join us for a &lt;a href=&#34;http://www.facebook.com/event.php?eid=43762272562&#34;&gt;fun lunch party on Wednesday&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Just as soon as I finish my oatmeal, I&rsquo;m off for an epic trek across these United States for the <a href="http://www.copress.org/2008/12/were-throwing-a-party/">first ever CoPress meetup in Philly</a>. We&rsquo;ll be talking student newspapers, strategy, the internet, and our favorite type of pie at this time of year. If you&rsquo;re around town, you&rsquo;re more than welcome to join us for a <a href="http://www.facebook.com/event.php?eid=43762272562">fun lunch party on Wednesday</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Mobilizing Mobile Records in Resource Poor Settings</title>
      <link>https://danielbachhuber.com/mobilizing-mobile-records-in-resource-poor-settings/</link>
      <pubDate>Thu, 11 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/mobilizing-mobile-records-in-resource-poor-settings/</guid>
      <description>&lt;p&gt;The cool thing about grants is that they will often fund the neat idea you have. The not-so-cool thing is that they generally take a lot of work and luck to be accepted.&lt;/p&gt;&#xA;&lt;p&gt;My good friend &lt;a href=&#34;http://isaacholeman.org/&#34;&gt;Isaac Holeman&lt;/a&gt; and I &lt;a href=&#34;http://www.netsquared.org/projects/mobilizing-medical-records-resource-poor-settings&#34;&gt;entered an application&lt;/a&gt; on Friday to &lt;a href=&#34;http://www.netsquared.org/usaid&#34;&gt;NetSquared/USAID&amp;rsquo;s Development 2.0 challenge&lt;/a&gt;. They&amp;rsquo;re looking to give $10,000 dollars to a project using mobile technology (like SMS or phone-based applications) that &amp;ldquo;[maximize] development impact in areas such as health, banking, education, agricultural trade, or other pressing development issues.&amp;rdquo; We think we&amp;rsquo;ve got just the idea.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The cool thing about grants is that they will often fund the neat idea you have. The not-so-cool thing is that they generally take a lot of work and luck to be accepted.</p>
<p>My good friend <a href="http://isaacholeman.org/">Isaac Holeman</a> and I <a href="http://www.netsquared.org/projects/mobilizing-medical-records-resource-poor-settings">entered an application</a> on Friday to <a href="http://www.netsquared.org/usaid">NetSquared/USAID&rsquo;s Development 2.0 challenge</a>. They&rsquo;re looking to give $10,000 dollars to a project using mobile technology (like SMS or phone-based applications) that &ldquo;[maximize] development impact in areas such as health, banking, education, agricultural trade, or other pressing development issues.&rdquo; We think we&rsquo;ve got just the idea.</p>
<p>We&rsquo;d like to put together a bridge between mobile phones, potentially <a href="http://www.frontlinesms.com/">FrontlineSMS</a>, and <a href="http://openmrs.org/">OpenMRS</a>, a super neat medical records system that is beginning to gain a lot of traction in Africa because of Paul Farmer&rsquo;s <a href="http://pih.org/">Partners In Health</a>. Specifically, this would allow community health workers in the field to access and interact with the medical records database. This would, for instance, allow them to instantly query the last time a tuberculosis patient had reported taking their treatment medicine. Isaac and I are also very interested in sorting together an OpenMRS module that would &ldquo;watch&rdquo; the data going in and out of the database. If a bit of data passed through tagged with, say, &ldquo;#emergency&rdquo;, it would go to whomever the on-call doctor was. This type of functionality, as far as we can tell, doesn&rsquo;t already exist. We think it would be sweet if it did.</p>
<p>Now, most of this project is in the <em>very</em> preliminary stages. With your help, though, and funding from NetSquared/USAID, we can take it to the next step. Here&rsquo;s the details:</p>
<ul>
<li>Voting started on Monday and will run until Friday at 5:00 pm Pacific.</li>
<li>To vote on our application, you must first <a href="https://www.netsquared.org/user/register">register</a>.</li>
<li>Once you&rsquo;ve registered, you then have one (1) ballot with up to five (5) votes. You have to vote at least three (3) times.</li>
</ul>
<p>Our application is called &ldquo;<a href="http://www.netsquared.org/projects/mobilizing-medical-records-resource-poor-settings">Mobilizing Medical Records In Resource Poor Settings</a>&rdquo;. We would be very much obliged if you took the time to vote for us and, if you do and leave a comment on this blog post, I&rsquo;ll send you a personal thank you.</p>
<p>Also, if you don&rsquo;t know who else to vote for, there were a few other projects which caught my eye:</p>
<ul>
<li><a href="http://www.netsquared.org/projects/providing-business-opportunities-information-farmers-and-producers-sms">Providing Business Opportunities Information To Farmers And Producers Via SMS</a></li>
<li><a href="http://www.netsquared.org/projects/question-box">QuestionBox - Democratizing Information and News for the Illiterate, Poor and Unconnected</a></li>
<li><a href="http://www.netsquared.org/projects/building-and-managing-sustainable-supply-chain-portable-appropriate-technology">Building A Sustainable Supply Chain For Portable Appropriate Technology</a></li>
</ul>
<p>Most importantly, I think these types of projects show that mobile connectivity has tremendous potential to empower positive change. We think our project can do the same for healthcare. Thanks for the support!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Disruption as opportunity</title>
      <link>https://danielbachhuber.com/disruption-as-opportunity/</link>
      <pubDate>Tue, 09 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/disruption-as-opportunity/</guid>
      <description>&lt;p&gt;Quoting &lt;a href=&#34;http://www.shirky.com/writings/information_price.html&#34;&gt;Clay Shirky&lt;/a&gt; (via &lt;a href=&#34;http://www.boingboing.net/2008/12/08/the-newspaper-indust.html&#34;&gt;Boing Boing&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The price of information has not only gone into free fall in the last few years, it is still in free fall now, it will continue to fall long before it hits bottom, and when it does whole categories of currently lucrative businesses will be either transfigured unrecognizably or completely wiped out, and there is nothing anyone can do about it.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;What other industries &amp;ldquo;sell&amp;rdquo; information by supply and demand? Where else are there going to be opportunities for the innovators to step in?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Quoting <a href="http://www.shirky.com/writings/information_price.html">Clay Shirky</a> (via <a href="http://www.boingboing.net/2008/12/08/the-newspaper-indust.html">Boing Boing</a>):</p>
<blockquote>
<p>The price of information has not only gone into free fall in the last few years, it is still in free fall now, it will continue to fall long before it hits bottom, and when it does whole categories of currently lucrative businesses will be either transfigured unrecognizably or completely wiped out, and there is nothing anyone can do about it.</p></blockquote>
<p>What other industries &ldquo;sell&rdquo; information by supply and demand? Where else are there going to be opportunities for the innovators to step in?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Condom Fashion Show</title>
      <link>https://danielbachhuber.com/condom-fashion-show/</link>
      <pubDate>Mon, 08 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/condom-fashion-show/</guid>
      <description>&lt;p&gt;As a part of World AIDS Day/Week, a few student organizations put on a Condom Fashion Show last Friday:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3087571062/&#34; title=&#34;The Greek by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3087571062_a193c5c481.jpg&#34; alt=&#34;The Greek&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;353&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3087544885/&#34; title=&#34;Bzzz by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3087544885_7dc5cfa8c6.jpg&#34; alt=&#34;Bzzz&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;335&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3088386281/&#34; title=&#34;Summer dress by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3088386281_73b3e362cd.jpg&#34; alt=&#34;Summer dress&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;374&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dave Martinez, Photo Editor at the Daily Emerald, posted &lt;a href=&#34;http://blogs.dailyemerald.com/photo/2008/12/07/latex-fashion/&#34;&gt;nice images on Up Close&lt;/a&gt;, and Isaac Viel &lt;a href=&#34;http://www.flickr.com/photos/sircoupe/sets/72157610823702274/&#34;&gt;uploaded a number to Flickr&lt;/a&gt;. Next time, we&amp;rsquo;re going to aggregate and visualize.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As a part of World AIDS Day/Week, a few student organizations put on a Condom Fashion Show last Friday:</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3087571062/" title="The Greek by danielbachhuber, on Flickr"><img src="images/3087571062_a193c5c481.jpg" alt="The Greek"  width="500"
	height="353"  /></a></p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3087544885/" title="Bzzz by danielbachhuber, on Flickr"><img src="images/3087544885_7dc5cfa8c6.jpg" alt="Bzzz"  width="500"
	height="335"  /></a></p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3088386281/" title="Summer dress by danielbachhuber, on Flickr"><img src="images/3088386281_73b3e362cd.jpg" alt="Summer dress"  width="500"
	height="374"  /></a></p>
<p>Dave Martinez, Photo Editor at the Daily Emerald, posted <a href="http://blogs.dailyemerald.com/photo/2008/12/07/latex-fashion/">nice images on Up Close</a>, and Isaac Viel <a href="http://www.flickr.com/photos/sircoupe/sets/72157610823702274/">uploaded a number to Flickr</a>. Next time, we&rsquo;re going to aggregate and visualize.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Collaborative education</title>
      <link>https://danielbachhuber.com/collaborative-education/</link>
      <pubDate>Sun, 07 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/collaborative-education/</guid>
      <description>&lt;p&gt;Via &lt;a href=&#34;http://snarkmarket.com/blog/snarkives/learnin/antiteaching/&#34;&gt;Snarkmarket&lt;/a&gt; and &lt;a href=&#34;http://www.digidave.org/&#34;&gt;Digidave&lt;/a&gt;, &lt;a href=&#34;http://www.ksu.edu/sasw/anthro/wesch.htm&#34;&gt;Michael Wesch&lt;/a&gt; talks about harnessing the collective intelligence of the classroom:&lt;/p&gt;&#xA;&lt;p&gt;Huge, huge thoughts here. It&amp;rsquo;s worth watching the entire 10 minute interview. First, he flips conventional wisdom on its head, arguing that large class sizes actually allow him to teach better. More nodes to the network means greater capacity of the network to achieve specific objectives. Michael also hints as using the classroom as a platform for the students to do what they&amp;rsquo;re best at, instead of a one-way broadcast medium.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Via <a href="http://snarkmarket.com/blog/snarkives/learnin/antiteaching/">Snarkmarket</a> and <a href="http://www.digidave.org/">Digidave</a>, <a href="http://www.ksu.edu/sasw/anthro/wesch.htm">Michael Wesch</a> talks about harnessing the collective intelligence of the classroom:</p>
<p>Huge, huge thoughts here. It&rsquo;s worth watching the entire 10 minute interview. First, he flips conventional wisdom on its head, arguing that large class sizes actually allow him to teach better. More nodes to the network means greater capacity of the network to achieve specific objectives. Michael also hints as using the classroom as a platform for the students to do what they&rsquo;re best at, instead of a one-way broadcast medium.</p>
<p>I think he misses one critical point, however: the collaborative environment doesn&rsquo;t need to happen in geographical proximity. Michael&rsquo;s assumption rests on the competitive advantage traditionally held by universities; that you need all of the students in one place to learn from each other, and that&rsquo;s where the university can make their profit. On the contrary, I would argue that, due to the increasing capabilities of the &rsquo;net to bridge physical distance, the community critical to collaborative education can exist digitally in the network.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Why I&#39;m the future of journalism</title>
      <link>https://danielbachhuber.com/why-im-the-future-of-journalism/</link>
      <pubDate>Fri, 05 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/why-im-the-future-of-journalism/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s because I make lofty claims, duh.&lt;/p&gt;&#xA;&lt;p&gt;Actually, I have three reasons I &lt;a href=&#34;http://www.publish2.com/contest/entry.php?id=16&#34;&gt;outlined earlier today for Publish2&amp;rsquo;s December contest&lt;/a&gt;. They originally were born of an &lt;a href=&#34;http://qik.com/video/652203&#34;&gt;ad-hoc Qik livestream&lt;/a&gt;, but I felt I didn&amp;rsquo;t communicate myself as well as I had hoped. It drove me to explain myself further. I think there are three important components to the future of journalism:&lt;/p&gt;&#xA;&lt;p&gt;First: innovation. Those who come before me were fortunate or unfortunate (depending on how you look at it) in that they were stuck with limited tools with which to be a journalist. Today, we&amp;rsquo;ve got a growing arsenal of technology to tell the important stories with, let it be livestreaming on Qik, microblogging with Twitter, or practicing link journalism with Facebook. Contrary to the popular paradigm that we&amp;rsquo;ll settle on one format, this is just the beginning of tool fragmentation. By playing and experimenting with the tools, I position myself to take advantage of what they offer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s because I make lofty claims, duh.</p>
<p>Actually, I have three reasons I <a href="http://www.publish2.com/contest/entry.php?id=16">outlined earlier today for Publish2&rsquo;s December contest</a>. They originally were born of an <a href="http://qik.com/video/652203">ad-hoc Qik livestream</a>, but I felt I didn&rsquo;t communicate myself as well as I had hoped. It drove me to explain myself further. I think there are three important components to the future of journalism:</p>
<p>First: innovation. Those who come before me were fortunate or unfortunate (depending on how you look at it) in that they were stuck with limited tools with which to be a journalist. Today, we&rsquo;ve got a growing arsenal of technology to tell the important stories with, let it be livestreaming on Qik, microblogging with Twitter, or practicing link journalism with Facebook. Contrary to the popular paradigm that we&rsquo;ll settle on one format, this is just the beginning of tool fragmentation. By playing and experimenting with the tools, I position myself to take advantage of what they offer.</p>
<p>Second: the untold stories. Using a combination of emerging tools and traditional formats, my goal is to cover the under reported, most troubling issues we face as a globally connected society. Examples include water access exploitation in India, deforestation and the climate in Haiti, and homelessness in the big cities of Latin America. Being a journalist of the future means using the tools to expand your capacity to tell the word&rsquo;s most important stories.</p>
<p>Third: collaboration. I began this fall as the Online Editor for the Oregon Daily Emerald wanting to push the publication to innovate with technology. Given the limited resources at hand, I realised that the only way I could achieve anything significant would be to work collaboratively with my peers across the nation. From that vision, <a href="http://www.copress.org/">CoPress</a> was formed. Contributing to the network is an increasingly successful method of innovation.</p>
<p>As much as I&rsquo;m a <a href="http://www.danielbachhuber.com/tag/futurism/">futurist</a>, I still think the core philosophies of journalism still play a significant role in how information is distributed across the net. The two continuing discussions will be what format news will take, let it be 140 characters, wiki article, or blog post, and how to monetize the abstract value it provides.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Internet as a utility</title>
      <link>https://danielbachhuber.com/internet-as-a-utility/</link>
      <pubDate>Sat, 29 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/internet-as-a-utility/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a thought: the internet is a utility much like electricity.&lt;/p&gt;&#xA;&lt;p&gt;It offers a service, information, just like electricity provides energy. We talk about the internet quite a bunch now because it is a new service, a novelty. As it becomes more pervasive in society, and thus deeper engrained in what we do, we will talk about it less so. It is fundamentally changing how we operate; because of this, I believe the electricity parallel is an apt one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Here&rsquo;s a thought: the internet is a utility much like electricity.</p>
<p>It offers a service, information, just like electricity provides energy. We talk about the internet quite a bunch now because it is a new service, a novelty. As it becomes more pervasive in society, and thus deeper engrained in what we do, we will talk about it less so. It is fundamentally changing how we operate; because of this, I believe the electricity parallel is an apt one.</p>
<p>Those companies who understand how to put the internet at the core of what they do will prosper, while those who do not will likely not fair well. It is very rarely this days I come across a business that does not use electricity.</p>
<p>Just a thought.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Peripheral education</title>
      <link>https://danielbachhuber.com/peripheral-education/</link>
      <pubDate>Thu, 27 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/peripheral-education/</guid>
      <description>&lt;p&gt;There are two points I&amp;rsquo;d like to argue about education as it stands today. For one, the traditional university system is fundamentally incompatible with the information transformation we&amp;rsquo;re now swimming in. This redesign will have to happen in the next decade, or else major pipes are going to break just like they&amp;rsquo;ve broke with the music industry and how they&amp;rsquo;re now breaking with newspapers. Number two, a type of non-traditional learning has arisen which I find particularly valuable: peripheral education. Many of these ideas around these two points have been floating in my mind for the last six months, but recent events have made me more inclined to write them down. The first was a darn astounding Twitter conversation last Saturday night about J school educations, &lt;a href=&#34;http://docs.google.com/View?docid=dfff6rq5_119gm4kwxdf&#34;&gt;captured nearly in full&lt;/a&gt; by @&lt;a href=&#34;http://twitter.com/greglinch&#34;&gt;greglinch&lt;/a&gt;, and the second was a recent post from Jeff Jarvis about &lt;a href=&#34;http://www.buzzmachine.com/2008/11/25/hacked-u/&#34;&gt;hacked, organic education&lt;/a&gt;. As he argues, we&amp;rsquo;re moving from an analog world to a networked, digital one. The analog industries who do not make a hasty, well-executed evolution will be unsuccessful in the digital realm.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There are two points I&rsquo;d like to argue about education as it stands today. For one, the traditional university system is fundamentally incompatible with the information transformation we&rsquo;re now swimming in. This redesign will have to happen in the next decade, or else major pipes are going to break just like they&rsquo;ve broke with the music industry and how they&rsquo;re now breaking with newspapers. Number two, a type of non-traditional learning has arisen which I find particularly valuable: peripheral education. Many of these ideas around these two points have been floating in my mind for the last six months, but recent events have made me more inclined to write them down. The first was a darn astounding Twitter conversation last Saturday night about J school educations, <a href="http://docs.google.com/View?docid=dfff6rq5_119gm4kwxdf">captured nearly in full</a> by @<a href="http://twitter.com/greglinch">greglinch</a>, and the second was a recent post from Jeff Jarvis about <a href="http://www.buzzmachine.com/2008/11/25/hacked-u/">hacked, organic education</a>. As he argues, we&rsquo;re moving from an analog world to a networked, digital one. The analog industries who do not make a hasty, well-executed evolution will be unsuccessful in the digital realm.</p>
<p>Let me begin with my first point: the traditional university system, just like <a href="http://www.10000words.net/2008/11/6-newspaper-sections-rendered-obsolete.html">newspapers</a> and General Motors, is obsolete, ineffective, and outdated. It is a monopolistic institution designed for the 19th and 20th centuries, eras when information was a scarcity. In the networked world, access to information is ubiquitous. Of the five classes my friend DJ has at USC this fall term, he only goes to two lectures. One because he doesn&rsquo;t have the textbook, and the other because it&rsquo;s the only class he values. My other friend Shane feels most classes are just regurgitated from the textbooks, which I tend to agree with. Another friend, an honors student, is kept so busy that he doesn&rsquo;t have enough time to do his homework. In the end, he copies it from <a href="http://cramster.com/">cramster.com</a>. Personally, I have to take school one term at a time because the things I&rsquo;m learning in class are so far removed from the education I hold valuable outside of the university. Case in point: this term I am taking Physics 201 for my Environmental Sciences major. Unfortunately, most of the information covered in the course I already learned in my junior year of high school IB Physics. More than any other course I&rsquo;ve taken, this one is just for the grade.</p>
<p>To work with the key issues, one needs to understand <em>what</em> the core strengths of universities are and <em>how</em> these traditional strengths are eroding. The <em>why</em> is ubiquitous access to the network. According to Jarvis, universities serve four functions: teaching, testing, research, and socializing. Teaching is imparting knowledge upon students, generally a one-way flow. Testing is ensuring the students memorize the information well enough to pass the final exam. Academic research is still a monopoly universities can hold, but does little to add to their business model. A parallel could be journalism to newspapers. Journalism is crucial service newspapers have provided in the past, but hasn&rsquo;t been what pays the salaries of the reporters. Socializing is synonymous to both networking and group learning. Three of these four roles, in my opinion, are almost lost to the network already. Testing, the fourth, will be lost to the network as soon as a suitable <a href="http://www.pbs.org/cringely/pulpit/2008/pulpit_20080321_004574.html">ISO-esque certification for education</a> is established.</p>
<p>It is not as though education is becoming any less important, however. Part two of my argument is that one type of learning, what I call &ldquo;peripheral education&rdquo;, is becoming increasingly valuable. There are three types of education relevant now: technical, experiential, and peripheral.</p>
<p>Technical education is the knowledge you learn to fulfill a specific role or position. Let&rsquo;s talk metaphors. If I wanted to be a mechanic, learning the different car parts, how they work together, and what to fix when they didn&rsquo;t work together would be my technical education. If I were a developer, this education is technical knowledge to prove my skill in Python, databases, etc. For journalists, technical education is learning the tools of the trade. When Pat Thornton went through J school, <a href="http://twitter.com/jiconoclast/status/1019033731">the tool was Quark</a>. In my case, <a href="http://twitter.com/jiconoclast/status/1019030441">the tool is InDesign</a>. These tools don&rsquo;t need to be imparted in class, however. Greg Linch <a href="http://twitter.com/greglinch/status/1019034728">taught himself InDesign in high school</a>, and I&rsquo;d like to say I&rsquo;ve taught myself 99% of what I need to know based on previous experience with Photoshop (which I learned on my own in high school). With exponential change in the tools, it is more efficient to teach technical education via tools like <a href="http://lynda.com/">Lynda</a> than in the classroom environment. It is simple economics of scale.</p>
<p>Experiential education is learning through the hands-on application of knowledge. Whitman Direct Action, and our <a href="http://www.whitmandirectaction.org/cleanwater/">Sadhana Clean Water Project</a> of last spring, is one approach. Students give themselves specific goals, and learn on their feet how to achieve those objectives. In our case, it was compiling a book on water development issues in India, hosting a conference in Mumbai, and researching the socio-political constraints to clean water access. This type of education serves two purposes: the students learn leadership, planning, and implementation skills through the process, and the project results in valuable contributions towards whatever issues it is trying to address. Institutions need to make the transition from squandering student creativity and brainpower, to applying those characteristics to solving some of the world&rsquo;s most pressing issues. Taking this to journalism, many newspapers and news organizations are shutting down their bureaus as cost-cutting measures. If universities were innovative, they would launch foreign bureaus staffed by J school students to steal that market back. To date, I haven&rsquo;t ever heard this happening.</p>
<p>Peripheral education is <em>learning</em> through continuous <em>exposure</em> to the increasing quantity of quality <em>information</em>. It is the hidden pearl of networked education, the process culling information you push yourself to absorb, letting it change the way you think, and then understanding the connections between the information. In an increasingly digital world, understanding how information works <em>together</em> is critical. One key part of this philosophy is that the information you absorb at any given point isn&rsquo;t necessarily related to what you are working on at that given moment. Instead, peripheral education is about exposure to a wide variety of information types. Podcasts are one enabling tool of peripheral education. <a href="http://www.bbc.co.uk/radio4/history/inourtime/">In Our Time</a>, <a href="http://www.ted.com/">TED Talks</a>, and <a href="http://sic.conversationsnetwork.org/">Social Innovation Conversations</a> are all information sources I consider as valuable, if not more, than classes in the traditional university system.</p>
<p>In addition to the types, the tools for education changing too. Blog posts are the new social essays. The traditional format, obviously, is to write an essay, submit it to the professor, have the teacher&rsquo;s aide grade the work, and then recycle the paper. The essay served a single, cradle-to-grave purpose. Blogging, however, is the art of cultivating conversation. When I write a post, I can be quite certain to get organic feedback on both the content of what I write, and the format it takes, by more than one person. Twitter is the new class discussion. Saturday night&rsquo;s conversation about the future of J schools was far more enriching than most any other class I&rsquo;ve had this term. Twitter offers somewhat organized, niche conversation about a wide range of topics. In the &ldquo;traditional&rdquo; classroom setting this is almost unmanageable, but on Twitter it can happen organically. I think having this type of valuable, enriching, and constructive conversation via Twitter, and not in the classroom, only strengthens the argument that real education can easily happen outside of the university system. Furthermore, I completely disagree with <a href="http://twitter.com/kev097/status/1019017671"></a><a href="http://twitter.com/kev097/status/1019017671">Kevin</a> on podcasts. Podcasts, audio and otherwise, are the new lectures. It&rsquo;s about sourcing your information correctly, just like picking the right university or the right professor.</p>
<p>Schooling has traditionally been a top-down approach. We are quickly moving to a networked paradigm. For universities to survive the changes, they need to transition to an approach which fosters creative action. To take a newspaper parallel, this is early 2001. The internet has been around for several years, but doesn&rsquo;t pose a serious threat to their core business. Yet. What happens to the paid teaching positions, though, when the students can <a href="http://www.ted.com/index.php/talks/sugata_mitra_shows_how_kids_teach_themselves.html">educate one another</a>?</p>
<p><strong>Correction:</strong> I inappropriately attributed the Twitter conversation transcription to @gmarkham when it was really @greglinch. My sincere apologies for the error.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Podcasts for the ride home</title>
      <link>https://danielbachhuber.com/podcasts-for-the-ride-home/</link>
      <pubDate>Tue, 25 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/podcasts-for-the-ride-home/</guid>
      <description>&lt;p&gt;In the interest of sharing my favorite podcasts of the previous year with my friend Shane, I thought I might open the recommendations to all. While on the drive home to turkey day, these are three &amp;ldquo;world changing&amp;rdquo; conversations you should consider listening to:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://itc.conversationsnetwork.org/shows/detail3836.html&#34;&gt;Howard Bloom on &amp;ldquo;The Global Brain&amp;rdquo; - IT Conversations&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Howard talks with Jon Udell about collective consciousness and self-organizing species, and why the mass collaboration we think is emerging right now isn&amp;rsquo;t really all that unique. Shane, &lt;a href=&#34;http://www.djstrouse.com/&#34;&gt;DJ&lt;/a&gt;, and I did discuss the episode on a &lt;a href=&#34;http://www.fertileambition.com/&#34;&gt;Fertile Ambition&lt;/a&gt; call a month or so ago, but we ran into a headlock about the multi-tasking theory Howard presents.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the interest of sharing my favorite podcasts of the previous year with my friend Shane, I thought I might open the recommendations to all. While on the drive home to turkey day, these are three &ldquo;world changing&rdquo; conversations you should consider listening to:</p>
<p><a href="http://itc.conversationsnetwork.org/shows/detail3836.html">Howard Bloom on &ldquo;The Global Brain&rdquo; - IT Conversations</a></p>
<p>Howard talks with Jon Udell about collective consciousness and self-organizing species, and why the mass collaboration we think is emerging right now isn&rsquo;t really all that unique. Shane, <a href="http://www.djstrouse.com/">DJ</a>, and I did discuss the episode on a <a href="http://www.fertileambition.com/">Fertile Ambition</a> call a month or so ago, but we ran into a headlock about the multi-tasking theory Howard presents.</p>
<p><a href="http://www.npr.org/templates/story/story.php?storyId=17095866">&ldquo;Is Aid to Africa Doing More Harm Than Good?&rdquo; - Intelligence Squared U.S.</a></p>
<p>Brilliant arguments both for and against, and listening to the entire debate lends a better understanding of what the difficulties are in helping to bring basic needs to Africa.</p>
<p><a href="https://longnow.org/seminars/02008/aug/08/daemon-bot-mediated-reality/">Daniel Suarez on bot-mediated reality - Long Now Foundation/ FORA.tv</a></p>
<p>So thought-provoking I&rsquo;ve listened to it twice. The first time put me in a trance for part of a train ride back down from Seattle. In short, the premise is this: we&rsquo;re creating untold numbers of automated bots, or <a href="http://en.wikipedia.org/wiki/Weak_AI">narrow artificial intelligence</a>, on the web for specific purposes. When left unchecked, as many are, these bots have the potential to cause very messy situations which could have negative real world implications. One of the author&rsquo;s proposals is to build a second, secure network of only verifiably human entities.</p>
]]></content:encoded>
    </item>
    <item>
      <title>#india08 presentation to IIT alumni</title>
      <link>https://danielbachhuber.com/india08-presentation-to-iit-alumni/</link>
      <pubDate>Sun, 23 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/india08-presentation-to-iit-alumni/</guid>
      <description>&lt;p&gt;This afternoon, after about 4 months of postponing, I finally gave a promised presentation on the &lt;a href=&#34;http://www.whitmandirectaction.org/cleanwater/&#34;&gt;Sadhana Clean Water Project&lt;/a&gt; and my &lt;a href=&#34;http://www.danielbachhuber.com/india08/&#34;&gt;journey through India this spring&lt;/a&gt;. The lucky audience was Portland-area IIT alumni; it was my return favor for the wonderful advice I received before the trip from a Mr. Harbans Lal, an environmental engineer, neighbor, and now close friend. &lt;/p&gt;&#xA;&lt;p&gt;Slides, as always, are far more rich with the stories and explanation. In any regard, it&amp;rsquo;s been fun to flip back through the memories. On top of that, I figured out this morning how to go through my &lt;a href=&#34;http://search.twitter.com/search?max_id=802885681&amp;amp;page=6&amp;amp;q=+from%3Adanielbachhuber+until%3A2008-05-03&#34;&gt;tweets from the trip&lt;/a&gt; and find my &lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/797445444&#34;&gt;favorite&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This afternoon, after about 4 months of postponing, I finally gave a promised presentation on the <a href="http://www.whitmandirectaction.org/cleanwater/">Sadhana Clean Water Project</a> and my <a href="http://www.danielbachhuber.com/india08/">journey through India this spring</a>. The lucky audience was Portland-area IIT alumni; it was my return favor for the wonderful advice I received before the trip from a Mr. Harbans Lal, an environmental engineer, neighbor, and now close friend. </p>
<p>Slides, as always, are far more rich with the stories and explanation. In any regard, it&rsquo;s been fun to flip back through the memories. On top of that, I figured out this morning how to go through my <a href="http://search.twitter.com/search?max_id=802885681&amp;page=6&amp;q=+from%3Adanielbachhuber+until%3A2008-05-03">tweets from the trip</a> and find my <a href="http://twitter.com/danielbachhuber/statuses/797445444">favorite</a>.</p>
<p><img src="images/20081122-iit-alumni-presentation-1227387526809043-8-001.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-001.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-002.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-002.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-003.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-003.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-004.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-004.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-005.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-005.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-006.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-006.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-007.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-007.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-008.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-008.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-009.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-009.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-010.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-010.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-011.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-011.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-012.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-012.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-013.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-013.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-014.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-014.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-015.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-015.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-016.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-016.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-017.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-017.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-018.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-018.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-019.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-019.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-020.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-020.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-021.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-021.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-022.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-022.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-023.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-023.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-024.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-024.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-025.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-025.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-026.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-026.jpg"  width="1024"
	height="768"  />
<img src="images/20081122-iit-alumni-presentation-1227387526809043-8-027.jpg" alt="20081122-iit-alumni-presentation-1227387526809043-8-027.jpg"  width="1024"
	height="768"  /></p>
]]></content:encoded>
    </item>
    <item>
      <title>Open source organization, Uganda-style</title>
      <link>https://danielbachhuber.com/open-source-organization-uganda-style/</link>
      <pubDate>Thu, 20 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/open-source-organization-uganda-style/</guid>
      <description>&lt;p&gt;As it turns out, I don&amp;rsquo;t believe I&amp;rsquo;m the only person in the world to have conceived the concept of an &lt;a href=&#34;http://www.danielbachhuber.com/tag/open-source-organization/&#34;&gt;open source organization&lt;/a&gt;. Earlier this week, my friend &lt;a href=&#34;http://www.isaacholeman.org/&#34;&gt;Isaac Holeman&lt;/a&gt; pointed me to an &lt;a href=&#34;http://www.guardian.co.uk/society/katineblog/2008/nov/07/one-year-on&#34;&gt;article&lt;/a&gt; on the Guardian about a &lt;a href=&#34;http://www.guardian.co.uk/katine&#34;&gt;development project in Katine, Uganda&lt;/a&gt; the paper is trying to open up to the world. By open, they mean having significant media coverage of the entire project, including finances and the decision making process. The &lt;a href=&#34;http://www.guardian.co.uk/katine/projectgoals&#34;&gt;project goals&lt;/a&gt; include water, health, education, livelihood, and governance. &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As it turns out, I don&rsquo;t believe I&rsquo;m the only person in the world to have conceived the concept of an <a href="http://www.danielbachhuber.com/tag/open-source-organization/">open source organization</a>. Earlier this week, my friend <a href="http://www.isaacholeman.org/">Isaac Holeman</a> pointed me to an <a href="http://www.guardian.co.uk/society/katineblog/2008/nov/07/one-year-on">article</a> on the Guardian about a <a href="http://www.guardian.co.uk/katine">development project in Katine, Uganda</a> the paper is trying to open up to the world. By open, they mean having significant media coverage of the entire project, including finances and the decision making process. The <a href="http://www.guardian.co.uk/katine/projectgoals">project goals</a> include water, health, education, livelihood, and governance. </p>
<p>My quick analysis is two words: too big. While I commend the transparency, I think most observers are interested in getting involved with the project beyond simply donating. Those running the project, or at least the component of the project involved with getting information online, should view themselves as community managers, and not just information providers. The transparency underlying the project creates amazing potential for the project website to be a platform for collaboration. There&rsquo;s still a lot of work that can be done.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A short story of Creative Commons</title>
      <link>https://danielbachhuber.com/a-short-story-of-creative-commons/</link>
      <pubDate>Fri, 14 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/a-short-story-of-creative-commons/</guid>
      <description>&lt;p&gt;Last January, I was invited to photograph Focus the Nation Live! at Chiles Center. After the event, I &lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/sets/72157603829146548/&#34;&gt;posted the images on Flickr&lt;/a&gt;, with the assumption that they would be valuable to someone at sometime in the future.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2233708071/&#34; title=&#34;Student panelists by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2233708071_4328fe17c4.jpg&#34; alt=&#34;Student panelists&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;300&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;They were, as it turns out. In the most recent issue, E/The Environmental Magazine uses the image above in an article titled, &amp;ldquo;&lt;a href=&#34;http://www.emagazine.com/view/?4410&#34;&gt;Activism: Environmental Education&lt;/a&gt;.&amp;rdquo; Quite sweet to have at least one be used, and I now have another clip for my portfolio.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last January, I was invited to photograph Focus the Nation Live! at Chiles Center. After the event, I <a href="http://www.flickr.com/photos/danielbachhuber/sets/72157603829146548/">posted the images on Flickr</a>, with the assumption that they would be valuable to someone at sometime in the future.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2233708071/" title="Student panelists by danielbachhuber, on Flickr"><img src="images/2233708071_4328fe17c4.jpg" alt="Student panelists"  width="500"
	height="300"  /></a></p>
<p>They were, as it turns out. In the most recent issue, E/The Environmental Magazine uses the image above in an article titled, &ldquo;<a href="http://www.emagazine.com/view/?4410">Activism: Environmental Education</a>.&rdquo; Quite sweet to have at least one be used, and I now have another clip for my portfolio.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Built from scratch</title>
      <link>https://danielbachhuber.com/built-from-scratch/</link>
      <pubDate>Wed, 12 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/built-from-scratch/</guid>
      <description>&lt;p&gt;If you wanted to build a completely digital student news organization from scratch, how would you do it?&lt;/p&gt;&#xA;&lt;p&gt;Which beats would you cover right off the bat? Would you cover club sports and campus sustainability, or the common news the student newspaper already covers?&lt;/p&gt;&#xA;&lt;p&gt;What form would your content take? Would you focus on text, images, audio, or video? For video, would you put together technically high quality multimedia pieces, or stream via Qik? How can you balance quality and quantity?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you wanted to build a completely digital student news organization from scratch, how would you do it?</p>
<p>Which beats would you cover right off the bat? Would you cover club sports and campus sustainability, or the common news the student newspaper already covers?</p>
<p>What form would your content take? Would you focus on text, images, audio, or video? For video, would you put together technically high quality multimedia pieces, or stream via Qik? How can you balance quality and quantity?</p>
<p>How quickly would you try to scale? What benchmarks do you have for your organization at one month, three months, and six months? What would you do to advertise and get the community involved?</p>
<p>What would the business side look like? Where would your funding come from? Would you sell advertising and/or have premium features? How much would you pay your staff?</p>
<p>How would your platform compliment the stories you&rsquo;re trying to tell? Would you start off simple with Wordpress, or launch with something Django-based? What type of features would you want in your site to increase engagement with your product? Would you offer RSS, email newsletters, or content through social media?</p>
<p>Most importantly, what type of people do you look for to help you build your vision?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Out on the porch</title>
      <link>https://danielbachhuber.com/out-on-the-porch/</link>
      <pubDate>Wed, 12 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/out-on-the-porch/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3024626210/&#34; title=&#34;Roll one by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3024626210_a332d763f6.jpg&#34; alt=&#34;Roll one&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;326&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3024638642/&#34; title=&#34;Draw one by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3024638642_e73175f5d0.jpg&#34; alt=&#34;Draw one&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;339&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/3023820055/&#34; title=&#34;Leave one by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/3023820055_d60cd09a40.jpg&#34; alt=&#34;Leave one&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;345&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fun evening shooting with &lt;a href=&#34;http://www.flickr.com/photos/theglasseyezone/&#34;&gt;Kathrine&lt;/a&gt; instead of the studying I should be doing.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/3024626210/" title="Roll one by danielbachhuber, on Flickr"><img src="images/3024626210_a332d763f6.jpg" alt="Roll one"  width="500"
	height="326"  /></a></p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3024638642/" title="Draw one by danielbachhuber, on Flickr"><img src="images/3024638642_e73175f5d0.jpg" alt="Draw one"  width="500"
	height="339"  /></a></p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/3023820055/" title="Leave one by danielbachhuber, on Flickr"><img src="images/3023820055_d60cd09a40.jpg" alt="Leave one"  width="500"
	height="345"  /></a></p>
<p>Fun evening shooting with <a href="http://www.flickr.com/photos/theglasseyezone/">Kathrine</a> instead of the studying I should be doing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Why I&#39;m leaving</title>
      <link>https://danielbachhuber.com/why-im-leaving/</link>
      <pubDate>Fri, 07 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/why-im-leaving/</guid>
      <description>&lt;p&gt;As of yesterday evening, I am no longer an employee of the &lt;a href=&#34;http://www.dailyemerald.com/&#34;&gt;Oregon Daily Emerald&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;My decision comes after two months of frustration trying to get the Daily Emerald off of College Publisher. College Publisher, for those who are unaware, is a &lt;a href=&#34;http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/&#34;&gt;proprietary, locked, and nearly obsolete content management system (CMS)&lt;/a&gt;. In my opinion, the &lt;em&gt;first&lt;/em&gt; step student newspapers must take to survive in this &amp;ldquo;digital era&amp;rdquo; is to invest significantly in adopting an open source platform for their web presence. Open source allows a student newspaper to truly evolve into a student news organization. It offers the ability for you to have the final say in how, where, and why you publish your content. In proprietary systems, you leave this technological innovation up to the company to whom you&amp;rsquo;ve contracted out the work.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As of yesterday evening, I am no longer an employee of the <a href="http://www.dailyemerald.com/">Oregon Daily Emerald</a>.</p>
<p>My decision comes after two months of frustration trying to get the Daily Emerald off of College Publisher. College Publisher, for those who are unaware, is a <a href="http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">proprietary, locked, and nearly obsolete content management system (CMS)</a>. In my opinion, the <em>first</em> step student newspapers must take to survive in this &ldquo;digital era&rdquo; is to invest significantly in adopting an open source platform for their web presence. Open source allows a student newspaper to truly evolve into a student news organization. It offers the ability for you to have the final say in how, where, and why you publish your content. In proprietary systems, you leave this technological innovation up to the company to whom you&rsquo;ve contracted out the work.</p>
<p>A metaphor for the people who have grown up with print: open source means your newspaper design and layout can be just whatever the heck you want them to be. Proprietary code means that you only have a certain number of colors, fonts, and article lengths to work with. Your sections always stay in the same location, and you can only adjust the placement of the stories to the smallest degree. All of those innovative front page newspaper designs from last Wednesday? Those wouldn&rsquo;t be possible with proprietary code.</p>
<p>At the Daily Emerald, however, I was told we must first hire a publisher before we can consider any changes to our CMS. On top of that, we have a contract with College Publisher for at least the next six months (although we receive very little money from the deal so I&rsquo;m not exactly sure what the Daily Emerald would lose by breaking the contract). Furthermore, the board meetings are closed. This means that I, the guy with Google Doc upon Google Doc of ideas, have to be <em>invited</em> to participate in the decision making process. To me, this sounds completely illogical. Instead, I have to pester the already overworked EIC with the things I&rsquo;d like to do, and then have those suggestions go up the &ldquo;chain of command.&rdquo; It&rsquo;s not a functional system for the real change which needs to happen.</p>
<p>Although I completely understand how busy the Daily Emerald newsroom is in producing a daily paper, it is busy work distracting the organization from what really needs to be built: a strategic vision for what student news is in the coming years. If I were in charge, I&rsquo;d call an emergency board weekend retreat that anyone with expertise would be invited to. Student newspapers, just like the traditional media giants, need to completely rethink themselves because, by not innovating on the web, they&rsquo;re is making themselves <em>completely</em> vulnerable to one potentially huge problem:</p>
<p>Competition from the people who get it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Three threats for student newspapers</title>
      <link>https://danielbachhuber.com/three-threats-for-student-newspapers/</link>
      <pubDate>Tue, 04 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/three-threats-for-student-newspapers/</guid>
      <description>&lt;p&gt;Sometimes it&amp;rsquo;s difficult being the web guy at a student newspaper. Although you&amp;rsquo;re absolutely certain &amp;ldquo;online&amp;rdquo; is going to play a significant role in the future of your organization, you&amp;rsquo;re not able to articulate the urgency of your position well enough to make the decision making wheels turn. It&amp;rsquo;s frustrating, to say the least. From the thinking and idea stealing I&amp;rsquo;ve done in the past week, I think there are at least three threats facing student newspapers who don&amp;rsquo;t reinvent themselves as multi-medium &lt;em&gt;digital&lt;/em&gt; news organizations:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Sometimes it&rsquo;s difficult being the web guy at a student newspaper. Although you&rsquo;re absolutely certain &ldquo;online&rdquo; is going to play a significant role in the future of your organization, you&rsquo;re not able to articulate the urgency of your position well enough to make the decision making wheels turn. It&rsquo;s frustrating, to say the least. From the thinking and idea stealing I&rsquo;ve done in the past week, I think there are at least three threats facing student newspapers who don&rsquo;t reinvent themselves as multi-medium <em>digital</em> news organizations:</p>
<p><strong>Threat one:</strong> Monetary. Advertising revenue dries up on the print side, print costs go up, and your online product isn&rsquo;t compelling enough to generate the same type of revenue. That, or your online product is College Publisher and you can&rsquo;t even boost the advertising revenue if you wanted to. One counter argument is that student newspapers could just go to student government to up their funding, a &ldquo;bailout&rdquo; of sorts, but I don&rsquo;t think that could ever be a long term solution.</p>
<p><strong>Threat two:</strong> Staff disappearance. Students no longer want to work at their student newspaper because <a href="http://www.mathewingram.com/work/2008/10/31/media-okay-so-is-it-time-to-panic-yet/">their industry of choice has a bleak future</a>. Jessica DaSilva is <a href="http://www.jessicadasilva.com/2008/10/30/how-the-state-of-the-industry-is-affecting-my-college-newspaper/">already facing this challenge</a> at the Independent Florida Alligator and, as I <a href="http://www.jessicadasilva.com/2008/10/30/how-the-state-of-the-industry-is-affecting-my-college-newspaper/#comment-1118">commented</a>, this could be the greatest short term threat, especially if your paper isn&rsquo;t perceived as all that digitally progressive.</p>
<p><strong>Threat three:</strong> Dearth of talent. Publishing and monetizing news online is quite different than print, and requires a skill set that potentially isn&rsquo;t represented by current staff. The further a newspaper gets behind, the more it will have to invest when it does decide to make the gigantic leap in the future. This financing to buy talent might have to come out of its investments or from a significant fundraising drive.</p>
<p>At the moment, this is threat identification and analysis. I don&rsquo;t have exact solutions to any of these issues right now. My hope, though, is that by studying and mapping out the specifics of each threat we can develop strategic plans to make the transition and keep campus journalism alive.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Student news as process</title>
      <link>https://danielbachhuber.com/student-news-as-process/</link>
      <pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/student-news-as-process/</guid>
      <description>&lt;p&gt;Will Sullivan &lt;a href=&#34;http://www.journerdism.com/2008/10/17/free-practical-tips-to-bring-change-to-your-news-organization/&#34;&gt;asks&lt;/a&gt;, &amp;ldquo;What are small, incremental steps one can make to fuel change in their media organization?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Why, adopt the technologies that are changing the media organization, of course.&lt;/p&gt;&#xA;&lt;p&gt;Disclaimer: I&amp;rsquo;m no formal contributor to this October&amp;rsquo;s &lt;a href=&#34;http://www.carnivalofjournalism.com/&#34;&gt;Carnival of Journalism&lt;/a&gt; but, y&amp;rsquo;arr matey, I be boarding the ship anyway. &lt;/p&gt;&#xA;&lt;p&gt;Online publishing mediums are in flux and will continue to be as time progresses. This is a truth. At the moment, you&amp;rsquo;ve got RSS, a website, Twitter, blogs, etc. to deal with, all of which have distinct cultural assumptions as to content form. Were all of these distribution mechanisms around five years ago? For the most part, no. What mediums will be added in the next five? It&amp;rsquo;ll be interesting to see.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Will Sullivan <a href="http://www.journerdism.com/2008/10/17/free-practical-tips-to-bring-change-to-your-news-organization/">asks</a>, &ldquo;What are small, incremental steps one can make to fuel change in their media organization?&rdquo;</p>
<p>Why, adopt the technologies that are changing the media organization, of course.</p>
<p>Disclaimer: I&rsquo;m no formal contributor to this October&rsquo;s <a href="http://www.carnivalofjournalism.com/">Carnival of Journalism</a> but, y&rsquo;arr matey, I be boarding the ship anyway. </p>
<p>Online publishing mediums are in flux and will continue to be as time progresses. This is a truth. At the moment, you&rsquo;ve got RSS, a website, Twitter, blogs, etc. to deal with, all of which have distinct cultural assumptions as to content form. Were all of these distribution mechanisms around five years ago? For the most part, no. What mediums will be added in the next five? It&rsquo;ll be interesting to see.</p>
<p>There won&rsquo;t be a stable &ldquo;e-newspaper&rdquo; product which parallels its predecessor, the print product. To my understanding, this is largely due to inherent qualities of the internet as a technology. It&rsquo;s more of a paradigm shift than anything else. Journalism now has to contend with ever evolving distribution mediums. Websites, the mobile web, SMS, and the Kindle are all, ironically, examples of nearly the same thing, but not the same thing. There are different cultural expectations for content delivery depending on the type of device.</p>
<p>In any regard, while going through Jeff Jarvis&rsquo;s &ldquo;New business models for news&rdquo; <a href="http://www.slideshare.net/jeffjarvis/new-business-models-for-news-presentation?type=powerpoint">slides</a>, a few small to medium-size content/distribution projects relevant to the student media arena came to me. First, student news organizations should be compiling community blog round-ups. Synthesize the local discussions. There are surely at least a few students blogging on campus about various popular topics of the day. The recent political debates come to mind at the moment. News stories without links are <em>static</em>, but think of what would happen if you started quoting student blogs and encouraging participation. Bam, community. Furthermore, this organizing power increases if you do two things: have an email address where your audience can send in leads or links, and read regularly as many campus blogs as you can. </p>
<p>Second, Twitter-source coverage of hot topics, especially <a href="http://search.twitter.com/search?q=&amp;ands=&amp;phrase=&amp;ors=obama+mccain&amp;nots=&amp;tag=&amp;lang=all&amp;from=&amp;to=&amp;ref=&amp;near=Eugene%2C+Oregon&amp;within=15&amp;units=mi&amp;since=&amp;until=&amp;rpp=15">politics</a>. Obviously it shouldn&rsquo;t be all of your converge, especially because Twitter only covers a certain demographic, but Twitter is certainly an interesting source of content. In Eugene, the Weekly Enema has <a href="http://www.facebook.com/photo.php?pid=30690980&amp;l=3ee16&amp;id=48102189">almost scooped</a> the Daily Emerald on this one.</p>
<p>Lastly, build up your email newsletter product. Include a big image or two at the top, summaries of the leading stories, and a list of the most popular blog posts. Craft the newsletter just like you craft the paper, and get people to sign up for it. For some odd reason, I&rsquo;ve heard more about this recently than our website (might it be that people haven&rsquo;t discovered the wonders of RSS?). Tying your email edition to a <a href="http://delicious.com/danielbachhuber/crm">CRM product</a> and use the wealth of click data to create tailored, personalized emails.</p>
<p>The business model, of course, is the <a href="http://ryansholin.com/2008/07/24/the-business-model-is-still-the-elephant-in-the-room/">elephant in the room</a>. There are plenty of innovative minds working on this issue, however, and, with money to be made, I&rsquo;m not too worried. Monetize as you evolve in tune with the changing formats.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Blog Action Day 08: The cost of water</title>
      <link>https://danielbachhuber.com/blog-action-day-08-the-cost-of-water/</link>
      <pubDate>Thu, 16 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/blog-action-day-08-the-cost-of-water/</guid>
      <description>&lt;p&gt;In Mumbai, India, the poorest of the poor pay disproportionately more for their water.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2946027186/&#34; title=&#34;Delivery by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2946027186_09ddc1fe69.jpg&#34; alt=&#34;Delivery&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;341&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Men and boys from the non-institutionalized slums of Mumbai (the ones on the periphery of the city without public taps) wake at 4 AM every morning to buy water from those who do have formal connections.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2943181263/&#34; title=&#34;Super quality by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2943181263_bcf891bc43.jpg&#34; alt=&#34;Super quality&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;333&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The cost of water is two rupees per 35 L jerry can when the lines start at 5 AM, but jumps up to around six rupees per can when the water from the city stops flowing. Most families need between eight and ten cans per day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In Mumbai, India, the poorest of the poor pay disproportionately more for their water.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2946027186/" title="Delivery by danielbachhuber, on Flickr"><img src="images/2946027186_09ddc1fe69.jpg" alt="Delivery"  width="500"
	height="341"  /></a></p>
<p>Men and boys from the non-institutionalized slums of Mumbai (the ones on the periphery of the city without public taps) wake at 4 AM every morning to buy water from those who do have formal connections.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2943181263/" title="Super quality by danielbachhuber, on Flickr"><img src="images/2943181263_bcf891bc43.jpg" alt="Super quality"  width="500"
	height="333"  /></a></p>
<p>The cost of water is two rupees per 35 L jerry can when the lines start at 5 AM, but jumps up to around six rupees per can when the water from the city stops flowing. Most families need between eight and ten cans per day.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2945213765/" title="Filling up by danielbachhuber, on Flickr"><img src="images/2945213765_96873ab1f3.jpg" alt="Filling up"  width="499"
	height="356"  /></a></p>
<p>In short, those who have to buy their water each morning can spend up to 900 rupees per month. The deed holders (i.e. those who own land and have a house) have pipes from the Bombay Municipal Corporation (BMC) at a cost of only 125 rupees per month.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2945198227/" title="Breakfast by danielbachhuber, on Flickr"><img src="images/2945198227_0ae3027bfa.jpg" alt="Breakfast"  width="500"
	height="336"  /></a></p>
<p>Unfortunately, this appalling situation is in equilibrium, as house owners can make upwards of 3,000 rupees per <em>day</em> selling water to those who have to spend a significant amount of their income to get the bare minimum.</p>
<p>To make matters worse, the BMC would like to privatize water in the future, arguing they &ldquo;lose too much money in the business.&rdquo;</p>
<p>Here, in the slums next to Govandi and Mankhuted, &ldquo;Do you get the water?&rdquo; is asked each morning in place of &ldquo;Hello&rdquo; or &ldquo;How are you?&rdquo;</p>
<p><a href="http://blogactionday.org"><img src="images/7cb938dbd0d108bf4fe0bbe176ae15f8799a1707.jpg" alt=""  /></a><em>Images and text</em> <a href="http://www.danielbachhuber.com/cc/"><em>released under Creative Commons</em></a> <em>for</em> <a href="http://blogactionday.org/"><em>Blog Action Day 08: Poverty</em></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>The Daily Emerald has its blogs back</title>
      <link>https://danielbachhuber.com/the-daily-emerald-has-its-blogs-back/</link>
      <pubDate>Wed, 15 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-daily-emerald-has-its-blogs-back/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blogs.dailyemerald.com/&#34;&gt;&lt;img src=&#34;images/odeblogs-gamma.jpg&#34; alt=&#34;&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Daily Emerald is working hard on moving its web presence forward. Largely, it&amp;rsquo;s me setting up the technology and implementing design, but the rest of the newsroom understands imperative to innovate quickly and start transitioning to a better digital product. The result of about five hours hacking a WordPress template yesterday is &lt;a href=&#34;http://blogs.dailyemerald.com/&#34;&gt;ODE Blogs&lt;/a&gt;, an aggregator for the current four Daily Emerald blogs launched at the moment: &lt;a href=&#34;http://blogs.dailyemerald.com/sports/&#34;&gt;Press Pass from the sports desk&lt;/a&gt;, &lt;a href=&#34;http://blogs.dailyemerald.com/pulse/&#34;&gt;Pizazz from Pulse&lt;/a&gt;, &lt;a href=&#34;http://blogs.dailyemerald.com/opinion/&#34;&gt;Our Words from Opinion&lt;/a&gt;, and &lt;a href=&#34;http://blogs.dailyemerald.com/opinion/&#34;&gt;Up Close from the photo team&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://blogs.dailyemerald.com/"><img src="images/odeblogs-gamma.jpg" alt=""  /></a></p>
<p>The Daily Emerald is working hard on moving its web presence forward. Largely, it&rsquo;s me setting up the technology and implementing design, but the rest of the newsroom understands imperative to innovate quickly and start transitioning to a better digital product. The result of about five hours hacking a WordPress template yesterday is <a href="http://blogs.dailyemerald.com/">ODE Blogs</a>, an aggregator for the current four Daily Emerald blogs launched at the moment: <a href="http://blogs.dailyemerald.com/sports/">Press Pass from the sports desk</a>, <a href="http://blogs.dailyemerald.com/pulse/">Pizazz from Pulse</a>, <a href="http://blogs.dailyemerald.com/opinion/">Our Words from Opinion</a>, and <a href="http://blogs.dailyemerald.com/opinion/">Up Close from the photo team</a>.</p>
<p>As always, open source technology is at the heart of these cool updates. We&rsquo;re using separate instances of <a href="http://www.wordpress.org/">WordPress</a> for each blog, which makes user administration a lot easier and the ability to sandbox the layouts. The aggregator serving as the blog landing page is a semi-custom WordPress theme with a slightly hacked <a href="http://wordpress.org/extend/plugins/simplepie-plugin-for-wordpress/">SimplePie plugin</a> that allows us to merge the RSS feeds and order them by publish date (hat tip to <a href="http://jennvargas.com/">Jenn Vargas</a> for that lead).</p>
<p>This design isn&rsquo;t stay static, though. What you see now will change in the coming weeks as we work to unify the user experience of the paper, the WordPress blogs, and (keep your fingers crossed) the main College Publisher 4 site. Our hope is to have visual cues across all products which make navigation common, intuitive, and simple.</p>
]]></content:encoded>
    </item>
    <item>
      <title>It&#39;s hard to be hip-hop</title>
      <link>https://danielbachhuber.com/its-hard-to-be-hip-hop/</link>
      <pubDate>Fri, 10 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/its-hard-to-be-hip-hop/</guid>
      <description>&lt;div&#xA;          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;        &lt;iframe&#xA;          src=&#34;https://player.vimeo.com/video/1928201?dnt=0&#34;&#xA;            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;&#xA;        &lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;&#xA;&lt;p&gt;My very first multimedia piece for the &lt;a href=&#34;http://www.dailyemerald.com/&#34;&gt;Oregon Daily Emerald&lt;/a&gt; (and audio slideshow ever).&lt;/p&gt;</description>
      <content:encoded><![CDATA[
      <div
          style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
        <iframe
          src="https://player.vimeo.com/video/1928201?dnt=0"
            style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen">
        </iframe>
      </div>

<p>My very first multimedia piece for the <a href="http://www.dailyemerald.com/">Oregon Daily Emerald</a> (and audio slideshow ever).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Up Close, the ODE Photo blog</title>
      <link>https://danielbachhuber.com/up-close-the-ode-photo-blog/</link>
      <pubDate>Tue, 07 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/up-close-the-ode-photo-blog/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m proud to announce the Oregon Daily Emerald now has one more online property: &lt;a href=&#34;http://blogs.dailyemerald.com/photo/&#34;&gt;Up Close, the Photo blog&lt;/a&gt;. To the tune of Boston.com&amp;rsquo;s &lt;a href=&#34;http://www.boston.com/bigpicture/&#34;&gt;The Big Picture&lt;/a&gt; and the Seattle Times&amp;rsquo; &lt;a href=&#34;http://blog.seattletimes.nwsource.com/bestseatinthehouse/&#34;&gt;Best Seat in the House&lt;/a&gt;, we&amp;rsquo;ll be expanding upon the number of images traditionally available in print and on our website by publishing the good ones that don&amp;rsquo;t make the cut (including the &lt;a href=&#34;http://blogs.dailyemerald.com/photo/2008/09/29/the-lone-goal/&#34;&gt;foul which granted Oregon a game-winning penalty kick last week&lt;/a&gt;).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m proud to announce the Oregon Daily Emerald now has one more online property: <a href="http://blogs.dailyemerald.com/photo/">Up Close, the Photo blog</a>. To the tune of Boston.com&rsquo;s <a href="http://www.boston.com/bigpicture/">The Big Picture</a> and the Seattle Times&rsquo; <a href="http://blog.seattletimes.nwsource.com/bestseatinthehouse/">Best Seat in the House</a>, we&rsquo;ll be expanding upon the number of images traditionally available in print and on our website by publishing the good ones that don&rsquo;t make the cut (including the <a href="http://blogs.dailyemerald.com/photo/2008/09/29/the-lone-goal/">foul which granted Oregon a game-winning penalty kick last week</a>).</p>
<p>Personally, I think this makes a lot of sense. Daily Emerald photographers, including myself, shoot hundreds of images each week. Many of the good ones don&rsquo;t make it to print, as we obviously have limited space to run content. Having a team photo blog, however, will be an excellent forum for all of us to showcase our work, as well as highlight some of the challenges we face making excellent images. As a kicker, the images will be a full, gorgeous 900 pixels wide.</p>
<p>Furthermore, this is the first of many upgrades I hope we&rsquo;ll be making this fall. Everyone in the newsroom is already in love with <a href="http://www.google.com/a/">Google Apps</a>, and I hope the other digital upgrades I&rsquo;ve got in mind are just as well received (although I got the classic, &ldquo;Twitter is <em>so</em> stupid,&rdquo; comment a few days back).</p>
]]></content:encoded>
    </item>
    <item>
      <title>Gauging the state of the ecosystem</title>
      <link>https://danielbachhuber.com/gauging-the-state-of-the-ecosystem/</link>
      <pubDate>Tue, 30 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/gauging-the-state-of-the-ecosystem/</guid>
      <description>&lt;p&gt;Just a gentle reminder that the first ever CoPress survey is &lt;a href=&#34;http://www.copress.org/surveys/september08/&#34;&gt;online and looking for respondents&lt;/a&gt;. We want input preferably from the online editors at student news organizations, although others are welcome to contribute if the online editor has not been hired yet.&lt;/p&gt;&#xA;&lt;p&gt;This first survey is to gauge the current state of the ecosystem. We want to know how what CMS you&amp;rsquo;re running, how many developers you have, and what languages they know, among other things. The survey will be open until 5 PM PST on 10 October. After we&amp;rsquo;ve spent time creating bar graphs and geo-mashups, we&amp;rsquo;ll release our first report. It should answer questions such as, &amp;ldquo;What is the average satisfaction with College Publisher 4 versus Drupal?&amp;rdquo; As far as we can tell, this hasn&amp;rsquo;t ever been done in our sector.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Just a gentle reminder that the first ever CoPress survey is <a href="http://www.copress.org/surveys/september08/">online and looking for respondents</a>. We want input preferably from the online editors at student news organizations, although others are welcome to contribute if the online editor has not been hired yet.</p>
<p>This first survey is to gauge the current state of the ecosystem. We want to know how what CMS you&rsquo;re running, how many developers you have, and what languages they know, among other things. The survey will be open until 5 PM PST on 10 October. After we&rsquo;ve spent time creating bar graphs and geo-mashups, we&rsquo;ll release our first report. It should answer questions such as, &ldquo;What is the average satisfaction with College Publisher 4 versus Drupal?&rdquo; As far as we can tell, this hasn&rsquo;t ever been done in our sector.</p>
<p>Along with the release of the report, we&rsquo;ll be announcing our second CoPress survey. Our intent with this follow up survey will be to have a better understanding of what people want from a digital distribution platform. We truly value your input.</p>
<p>Also, props to Bryan Murley of <a href="http://www.collegemediainnovation.org/blog/">Innovation in College Media</a> for pointing out that it is not, in fact, September 2009. Not to be too stuck in the future, we&rsquo;ve updated the survey title and links accordingly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing CoPress</title>
      <link>https://danielbachhuber.com/introducing-copress/</link>
      <pubDate>Fri, 12 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/introducing-copress/</guid>
      <description>&lt;p&gt;One of the rather positive outcomes of &lt;a href=&#34;http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/&#34;&gt;my case against College Publisher&lt;/a&gt; from a few weeks back has been the formation of a diverse group of people around a new project to provide an alternative: &lt;a href=&#34;http://www.copress.org/&#34;&gt;CoPress&lt;/a&gt;. A product of the sudden realization that many online editors across the country have many of the same opinions I do, CoPress is an initiative to build a technical eco-system of student newspapers working together and supporting each other on a common, open source content management system. Until this point, it has been largely the case that, when building and maintaining digital platforms, student newspapers have found only success on their own, with their own developers, creativity, and fortitude.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of the rather positive outcomes of <a href="http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">my case against College Publisher</a> from a few weeks back has been the formation of a diverse group of people around a new project to provide an alternative: <a href="http://www.copress.org/">CoPress</a>. A product of the sudden realization that many online editors across the country have many of the same opinions I do, CoPress is an initiative to build a technical eco-system of student newspapers working together and supporting each other on a common, open source content management system. Until this point, it has been largely the case that, when building and maintaining digital platforms, student newspapers have found only success on their own, with their own developers, creativity, and fortitude.</p>
<p>We hope to change things up. </p>
<p>Together we have strength. I think I can speak for everyone involved when I say that the collective vision of CoPress emphasizes the community, and how the community can work in harmony. Innovative, standards-compliant software is one immediate issue we&rsquo;re trying to solve, but it isn&rsquo;t the only one. Brian Murley, of the <a href="http://www.collegemediainnovation.org/">Center for Innovation in College Media</a>, forwards that hosting is also an issue. From that discussion, we&rsquo;ve also learned that supporting a piece of software with the technical expertise to keep it updated is critical. These problems will have to be addressed in order for any student newspaper to survive. It&rsquo;s more powerful to work together than individually. We&rsquo;re not profit driven, although the consortium will need to be financially sustainable. We&rsquo;re driven by a genuine interest to work together because, when we do, we can create beautiful ways for student newspapers to flourish in the digital age. </p>
<p>In the interest of radical collaborative openness, we&rsquo;re doing as many things as transparently as possible. The motivation for this comes from a concept I call an &ldquo;<a href="http://www.danielbachhuber.com/2007/10/09/components-of-an-open-source-organization-part-one/">open source organization</a>,&rdquo; although I&rsquo;m well aware &ldquo;open source&rdquo; has become a buzzword for many recent projects. It started with <a href="http://www.whitmandirectaction.org/">Whitman Direct Action</a>, I&rsquo;m evolving it with <a href="http://www.oregondirectaction.org/">Oregon Direct Action</a>, and I think is applicable here, too. The idea is simple: put all of the data about what you&rsquo;re doing online, and structure the data such that your audience, let it be the team, the partners, or the community, can follow along to the degree they would like to participate. Clay Shirky says we have a lot of cognitive surplus floating around. It&rsquo;s time we put it to use.</p>
<p>Our conference calls are <a href="http://wiki.copress.org/meetings">recorded and available as a MP3 download</a>, with near future plans to create a podcast that will make listening in even easier. We synthesize research and coordinate efforts on <a href="http://wiki.copress.org/">our wiki</a>. Information is also expressed with <a href="http://twitter.com/copress">Twitter</a>, <a href="http://delicious.com/copress">delicious</a>, and <a href="http://flickr.com/photos/copress/">Flickr</a>. We <a href="http://groups.google.com/group/copress">connect via a Google Group</a> and, if you don&rsquo;t find a piece of information you need, you&rsquo;re <a href="http://www.copress.org/contact/">more than welcome to contact CoPress</a>.</p>
<p>At the moment, we&rsquo;re working on a few things. First, we&rsquo;re beginning to research the software options we&rsquo;re most interested in: <a href="http://www.wordpress.org/">Wordpress</a>, <a href="http://drupal.org/">Drupal</a>, and the <a href="http://populousproject.com/">Populous Project</a> (built on <a href="http://www.djangoproject.com/">Django</a>). CoPress would love to support the Populous Project, another student project, and eagerly awaits their alpha release in the coming weeks. Wordpress and Drupal, however, have deployability and hackability characteristics that will be hard to match. Second, we&rsquo;re <a href="http://www.copress.org/signup/">compiling the names of online editors, webmasters, and internet geeks</a> at student newspapers around the country who might have interest in what CoPress will have to offer. From this, our hope is to do a series of surveys gauging the technical expertise in today&rsquo;s newsroom. We want to make sure as best we can that we&rsquo;re serving the needs of everyone, not just ourselves. Last but not least, we&rsquo;re continually evolving our web presence as a tool to help better achieve our aims.</p>
<p>And this is just the beginning. Thanks to <a href="http://www.adamhemphill.com/">Adam Hemphill</a>, <a href="http://www.greglinch.com/">Greg Linch</a>, <a href="http://twitter.com/kev097">Kevin Koehler</a>, <a href="http://byjoeybaker.com/">Joey Baker</a>, <a href="http://bryanmurley.com/">Bryan Murley</a>, <a href="http://jaredsilfies.com/">Jared Silfies</a>, <a href="http://albertgate.blogspot.com/">Albert Sun</a>, <a href="http://populousproject.com/about/us/">the Populous Team</a>, and anyone I&rsquo;ve missed. I look forward to working closely with you and others in the coming months to make all of these ideas and more our collective reality.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Baby on board</title>
      <link>https://danielbachhuber.com/baby-on-board/</link>
      <pubDate>Wed, 20 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/baby-on-board/</guid>
      <description>&lt;p&gt;An interesting comparison, I think, of two &amp;ldquo;developing&amp;rdquo; countries. Peru:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2779491605/&#34; title=&#34;Baby on board, Peru by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2779491605_cea1c2014d.jpg&#34; alt=&#34;Baby on board, Peru&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;332&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;and India:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2780391456/&#34; title=&#34;Baby on board, India by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2780391456_8a020b78f5.jpg&#34; alt=&#34;Baby on board, India&#34;  width=&#34;499&#34;&#xA;&#x9;height=&#34;331&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>An interesting comparison, I think, of two &ldquo;developing&rdquo; countries. Peru:</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2779491605/" title="Baby on board, Peru by danielbachhuber, on Flickr"><img src="images/2779491605_cea1c2014d.jpg" alt="Baby on board, Peru"  width="500"
	height="332"  /></a></p>
<p>and India:</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2780391456/" title="Baby on board, India by danielbachhuber, on Flickr"><img src="images/2780391456_8a020b78f5.jpg" alt="Baby on board, India"  width="499"
	height="331"  /></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Liberties</title>
      <link>https://danielbachhuber.com/liberties/</link>
      <pubDate>Thu, 14 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/liberties/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2750354076/&#34; title=&#34;Liberties by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2750354076_1f41348756.jpg&#34; alt=&#34;Liberties&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;335&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;5. In case the guest does not sleep during late hours and remains out of the room during the day times his activities should be kept under watch. In the night-time there is a possibility of making explosive device after collecting necessary equipment/articles during the daytime.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Found in Paharganj, Dehli.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/danielbachhuber/2750354076/" title="Liberties by danielbachhuber, on Flickr"><img src="images/2750354076_1f41348756.jpg" alt="Liberties"  width="500"
	height="335"  /></a></p>
<p>&ldquo;5. In case the guest does not sleep during late hours and remains out of the room during the day times his activities should be kept under watch. In the night-time there is a possibility of making explosive device after collecting necessary equipment/articles during the daytime.&rdquo;</p>
<p>Found in Paharganj, Dehli.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The plot thickens</title>
      <link>https://danielbachhuber.com/the-plot-thickens/</link>
      <pubDate>Wed, 13 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-plot-thickens/</guid>
      <description>&lt;p&gt;On my &lt;a href=&#34;http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/&#34;&gt;argument against College Publisher&lt;/a&gt;, and for an open source coalition of student newspapers, Brad Arendt of &lt;a href=&#34;http://www.arbiteronline.com/&#34;&gt;The Arbiter&lt;/a&gt; presents several good points about the &lt;a href=&#34;http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/#comment-124&#34;&gt;advantages of using College Publisher&lt;/a&gt;.  Considering the time he took writing a well-detailed comment, I thought I would clarify on a several things I think he missed.&lt;/p&gt;&#xA;&lt;p&gt;First, I think student newspapers should &lt;strong&gt;actively work on developing 1 or 2 alternatives to CP&lt;/strong&gt;. This may not mean collaboratively building a CMS from scratch, rather it&amp;rsquo;s more likely to be facilitating a developer ecosystem specific to our needs around common platforms. For anyone familiar with Wordpress, which I&amp;rsquo;ve helped implement for the &lt;a href=&#34;http://www.whitmanpioneer.com/&#34;&gt;Whitman Pioneer&lt;/a&gt; and most recently, &lt;a href=&#34;http://www.oregondirectaction.org/&#34;&gt;Oregon Direct Action&lt;/a&gt; (which is a work in progress), it&amp;rsquo;s strength is an abundance of plugins and themes you can add to your install. A developer ecosystem is important for continued innovation and, as far as I can tell, CP doesn&amp;rsquo;t have one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On my <a href="http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/">argument against College Publisher</a>, and for an open source coalition of student newspapers, Brad Arendt of <a href="http://www.arbiteronline.com/">The Arbiter</a> presents several good points about the <a href="http://www.danielbachhuber.com/2008/08/09/one-case-against-college-publisher/#comment-124">advantages of using College Publisher</a>.  Considering the time he took writing a well-detailed comment, I thought I would clarify on a several things I think he missed.</p>
<p>First, I think student newspapers should <strong>actively work on developing 1 or 2 alternatives to CP</strong>. This may not mean collaboratively building a CMS from scratch, rather it&rsquo;s more likely to be facilitating a developer ecosystem specific to our needs around common platforms. For anyone familiar with Wordpress, which I&rsquo;ve helped implement for the <a href="http://www.whitmanpioneer.com/">Whitman Pioneer</a> and most recently, <a href="http://www.oregondirectaction.org/">Oregon Direct Action</a> (which is a work in progress), it&rsquo;s strength is an abundance of plugins and themes you can add to your install. A developer ecosystem is important for continued innovation and, as far as I can tell, CP doesn&rsquo;t have one.</p>
<p>Cost is certainly an issue. Both CP and Wordpress, Django, or Drupal are &ldquo;free,&rdquo; but the critical difference is that CP comes working out of the box for student newspapers and the others require a developer. One stated goal is to have an open source alternative that can be quickly up and running with full functionality. If the paper has resources to develop their platform beyond point, they would be able to do so with the support of other developers across the country. This platform would also be available to local papers, although that is not the intended market. Furthermore, I do see a business model in this, in a very Ubuntu and Wordpress-esque fashion.</p>
<p>Quoting Brad,</p>
<blockquote>
<p>There are some rather innovative and creative things which the CP4.0 system <em>does</em> offer. I would not say it limits creativity, rather it is the students you have on staff who know what to do with the tools that limits your creativity more than CP4.0. The Daily Pennsylvanian has done some very creative stuff in the LAMP environment, which is open source. The Daily Tar Heel has also figured out an interesting work around for blogs, granted done via WordPress but the 4.0 system and the students figured out how to “fit” it in.</p></blockquote>
<p>Personally, I think arguing that College Publisher allows for innovation is completely erroneous. LAMP, which means Linux, Apache, MySQL, and PHP, is an open source stack and doesn&rsquo;t stand for anything specific. I don&rsquo;t mean to discount your example, I&rsquo;m just not sure how you mean to imply CP is innovative by allowing hacking outside the platform. Furthermore, any server environment should allow working with and around the software running on it. Allowing Wordpress to be installed as a blogging platform is not a sellable strength of College Publisher</p>
<p>Brian also mentions that CP does provide backups of your site for the scenario in which it disappears.  Unfortunately, these, I imagine, are only backups of your data, not the content management system your data is living in. If your site were to go down, you would have to install and develop an alternative CMS, as well as port your database, before you have a live site.  You shouldn&rsquo;t have to completely rebuild your website if College Publisher disappears.  When the web presence becomes the only presence, having your site suddenly not exist would have very real consequences.</p>
]]></content:encoded>
    </item>
    <item>
      <title>One case against College Publisher</title>
      <link>https://danielbachhuber.com/one-case-against-college-publisher/</link>
      <pubDate>Sun, 10 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/one-case-against-college-publisher/</guid>
      <description>&lt;p&gt;When you control the platform, you also control the content and innovation associated with it.&lt;/p&gt;&#xA;&lt;p&gt;In the school news industry, &lt;a href=&#34;http://collegepublisher.com/&#34;&gt;College Publisher&lt;/a&gt;, now branded as the College Media Network, desperately needs a competitor. Owned by MTV, a &lt;a href=&#34;http://en.wikipedia.org/wiki/MTV&#34;&gt;subsidiary of Viacom&lt;/a&gt;, College Publisher provides a content management system now used by &amp;ldquo;550 going on 600&amp;rdquo; student newspapers across the country. It offers under-staffed and under-funded newsrooms an easy way to get their content online at a price that can&amp;rsquo;t be beat.  &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>When you control the platform, you also control the content and innovation associated with it.</p>
<p>In the school news industry, <a href="http://collegepublisher.com/">College Publisher</a>, now branded as the College Media Network, desperately needs a competitor. Owned by MTV, a <a href="http://en.wikipedia.org/wiki/MTV">subsidiary of Viacom</a>, College Publisher provides a content management system now used by &ldquo;550 going on 600&rdquo; student newspapers across the country. It offers under-staffed and under-funded newsrooms an easy way to get their content online at a price that can&rsquo;t be beat.  </p>
<p>Why is Viacom interested in managing the online platforms for as many college newspapers as possible? To deliver advertising, of course. As a part of the contract for a cheap, if not free, way to get your stories and images online, College Publisher reserves the top placements on your site for their own use. This allows an even bigger media giant (Viacom) to directly make money off a school newspaper&rsquo;s content, either by selling advertising slots to big corporations like T-Mobile and Bank of America or by running advertisements for their other properties. Student newspapers are especially valuable to Viacom because they largely produce for its key demographic: the college student. Most, too, are held captive to this partnership because there isn&rsquo;t the motivation, manpower, or vision for more innovative options.</p>
<p>Should any independent student newspaper want in a part of this? No.</p>
<p>College Publisher, unfortunately, is not the innovation aspiring journalists and reporters should depend on in this changing media environment. Claiming RateMyProfessors.com and a CMN Facebook app are &ldquo;<a href="http://collegepublisher.com/content-delivery.html">national media outlets</a>&rdquo; is not creativity. Rather than outsourcing the heavy-lifting to College Publisher, student newspapers need to allocate resources internally to running and developing their own platform. This can seem somewhat paradoxical, adding to your staff when you&rsquo;re losing more and more revenue, but it is a necessity for survival. The future isn&rsquo;t <a href="http://www.thenation.com/doc/20080804/alterman">all that bleak</a>, we&rsquo;re just in a time of transition.</p>
<p>At <em>Publishing 2.0</em>, Scott Karp argues that <a href="http://publishing2.com/2008/07/20/what-the-newspaper-industry-could-learn-about-do-or-die-innovation-from-general-motors/">newspapers need to take a hint from General Motors and learn how to innovate</a>. Most newspapers have had roughly the same business model since the 1950&rsquo;s which they&rsquo;re now largely attempting to reapply to the internet. It&rsquo;s not the same medium, though. Advertising and classifieds were king in past years, but the playing field is now open to the most ambitious entrepreneurs. Maybe a model like <a href="http://spot.us/">Spot.us</a> will succeed, maybe it won&rsquo;t. Without trying new things, there&rsquo;s no way to find out.</p>
<p>Part of the innovation that has to happen, I would like to add, is how you manage, display, and distribute your content online. For student newspapers, the solution isn&rsquo;t College Publisher. It&rsquo;s too restrictive, poorly developed, and proprietary, locking innovative students to a platform that limits creativity. Page load times are atrocious because of far too much Javascript, and if they go out of business, your website goes down. The answer, instead, is open source.</p>
<p>One component of a strategy for student newspapers to move forward is a consortium dedicated to collaboratively building an open source content management system which best fits everyone&rsquo;s needs. We need a robust, free to use platform that thrives under many of the same values which the open source movement holds dear. The growth of such a community around the publishing software used by student newspapers would be of tremendous value to everyone, especially because most papers aren&rsquo;t in competing markets. Collaborative innovation is a win-win for these types of organizations, a fact I think few have realized.</p>
<p>As the start for a transition I hope to begin with the Oregon Daily Emerald in the winter, I&rsquo;m taking steps forward. At this point, my work involves researching mature platforms already in the ecosystem, such as <a href="http://wordpress.org/">WordPress</a>, <a href="http://drupal.org/">Drupal</a>, and <a href="http://www.djangoproject.com/">Django</a>, contacting people at what I think are progressive school newspapers, and working to identify the crucial features for any online newsroom (like managing media assets and placing advertisements). While I recognize there are already many content management systems on the market, my paradoxical goal is for a platform as easy to use and install as WordPress, which also offers advanced management features. Software that any student newspaper can install, but also be able to develop further if they have the resources to do so.</p>
<p>I&rsquo;m passionate about making this happen. Let&rsquo;s do it.</p>
<p>Ironically, the <a href="http://blog.collegepublisher.com/">College Media Network blog</a> runs Wordpress. They obviously aren&rsquo;t drinking their own Kool-Aid.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Cove Palisades</title>
      <link>https://danielbachhuber.com/cove-palisades/</link>
      <pubDate>Fri, 08 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/cove-palisades/</guid>
      <description>&lt;p&gt;Every year, with this being the fourth, I try to get away for at least a weekend and join my friends at Cove Palisades State Park. Spearheaded by the Lofgren family, it&amp;rsquo;s a grand time of wakeboarding, beach, and sun. At dinner Saturday night, I finally pulled myself together enough to make a few images (largely at the urging of everyone else).&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2737907614_9f210fb0a9_b.jpg&#34; alt=&#34;Unshaven&#34;  width=&#34;1024&#34;&#xA;&#x9;height=&#34;685&#34;  /&gt;&lt;/p&gt;&#xA;&lt;figcaption&gt;&#xA;&lt;p&gt;Colin&amp;rsquo;s stubble is the new look, kind of like sagging pants.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Every year, with this being the fourth, I try to get away for at least a weekend and join my friends at Cove Palisades State Park. Spearheaded by the Lofgren family, it&rsquo;s a grand time of wakeboarding, beach, and sun. At dinner Saturday night, I finally pulled myself together enough to make a few images (largely at the urging of everyone else).</p>
<figure>
<p><img src="images/2737907614_9f210fb0a9_b.jpg" alt="Unshaven"  width="1024"
	height="685"  /></p>
<figcaption>
<p>Colin&rsquo;s stubble is the new look, kind of like sagging pants.</p>
</figcaption>
</figure>
<p>Collin Sherwood Elwyn is one of those friends I&rsquo;ve had since at least middle school, if not elementary school.  I think we played both soccer and basketball together at one point, but it&rsquo;s fuzzy trying to think back that far.</p>
<figure>
<p><img src="images/2737051519_4fd71edf77_b.jpg" alt="The Kitchen"  width="1024"
	height="685"  /></p>
<figcaption>
<p>Colin&rsquo;s stubble is the new look, kind of like sagging pants.</p>
</figcaption>
</figure>
<p>For dinner that night, we had pizza from the grill, perfected after many years of trial and error.  I can remember back to the good ol&rsquo; days when we tried to cook it over the fire and ended up making calzones.  The secret, as it stands, is to coat the dough in olive oil to prevent burning.  Just reminisce of all of the dinners we had, though, before we figured that out.</p>
<figure>
<p><img src="images/2737772754_9a1254f5cb_b.jpg" alt="Pizza"  width="1024"
	height="685"  /></p>
<figcaption>
<p>Forrest takes a bite out of some pretty stellar pizza cooked, of course, on a Weber bar-b-que.</p>
</figcaption>
</figure>
<p>I think Forrest would agree with me in that it was quite tasty.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Glimpses of a subcontinent</title>
      <link>https://danielbachhuber.com/glimpses-of-a-subcontinent/</link>
      <pubDate>Sun, 27 Jul 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/glimpses-of-a-subcontinent/</guid>
      <description>&lt;p&gt;Two months after the fact, I&amp;rsquo;ve started processing images from &lt;a href=&#34;http://www.danielbachhuber.com/india08/&#34;&gt;my journey around the Indian subcontinent&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2659667509/&#34; title=&#34;Festivities by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2659667509_61a11429bf.jpg&#34; alt=&#34;Festivities&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;333&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;No particular rhyme or reason to what I&amp;rsquo;m putting up at the moment, just whatever catches my eye.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/danielbachhuber/2660121264/&#34; title=&#34;Debate by danielbachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2660121264_6dbc8a897d.jpg&#34; alt=&#34;Debate&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;335&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I think, when I&amp;rsquo;ve worked through the body of a few thousand images, I&amp;rsquo;ll compose more of a narrative to weave the story together. Until then, enjoy the visual tour.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Two months after the fact, I&rsquo;ve started processing images from <a href="http://www.danielbachhuber.com/india08/">my journey around the Indian subcontinent</a>.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2659667509/" title="Festivities by danielbachhuber, on Flickr"><img src="images/2659667509_61a11429bf.jpg" alt="Festivities"  width="500"
	height="333"  /></a></p>
<p>No particular rhyme or reason to what I&rsquo;m putting up at the moment, just whatever catches my eye.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2660121264/" title="Debate by danielbachhuber, on Flickr"><img src="images/2660121264_6dbc8a897d.jpg" alt="Debate"  width="500"
	height="335"  /></a></p>
<p>I think, when I&rsquo;ve worked through the body of a few thousand images, I&rsquo;ll compose more of a narrative to weave the story together. Until then, enjoy the visual tour.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2705922264/" title="Curiosity by danielbachhuber, on Flickr"><img src="images/2705922264_88b50ee428.jpg" alt="Curiosity"  width="500"
	height="311"  /></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Ideas for a UO Sustainability Conference in October?</title>
      <link>https://danielbachhuber.com/ideas-for-a-uo-sustainability-conference-in-october/</link>
      <pubDate>Fri, 27 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/ideas-for-a-uo-sustainability-conference-in-october/</guid>
      <description>&lt;p&gt;Steve Mital, Sustainability Director for the University of Oregon, recently sent a call for ideas to help guide a Sustainability Conference tentatively planned for the 23rd and 24th of October, 2008.  It is being organized by Sustainability Directors at Portland State University, Oregon State University, and the University of Oregon, and the second day will reportedly be &amp;ldquo;entirely devoted to students and sustainability.&amp;rdquo;  My suggestions for the conference, &lt;a href=&#34;http://www.oregondirectaction.org/2008/06/27/some-ideas-for-the-sustainability-conference-in-october/&#34;&gt;written in full on the Oregon Direct Action blog&lt;/a&gt;, revolve around these ideas:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Steve Mital, Sustainability Director for the University of Oregon, recently sent a call for ideas to help guide a Sustainability Conference tentatively planned for the 23rd and 24th of October, 2008.  It is being organized by Sustainability Directors at Portland State University, Oregon State University, and the University of Oregon, and the second day will reportedly be &ldquo;entirely devoted to students and sustainability.&rdquo;  My suggestions for the conference, <a href="http://www.oregondirectaction.org/2008/06/27/some-ideas-for-the-sustainability-conference-in-october/">written in full on the Oregon Direct Action blog</a>, revolve around these ideas:</p>
<ul>
<li>Planning this conference digitally and in the public eye so that students can be a part of the entire process</li>
<li>Adding an international component to help bridge the local-international sustainability gap</li>
<li>Networking with local sustainability non-profits</li>
<li>Drafting a set of sustainability guidelines for campus community to voluntarily adopt (i.e. minimizing paper use, using Tupperware instead of styrofoam, etc.)</li>
</ul>
<p>They are looking for ideas on &ldquo;workshops, themes, keynote speakers, etc.&rdquo; until July 3rd.  Let&rsquo;s make this conference worth attending!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Shooting in the mirror: India</title>
      <link>https://danielbachhuber.com/shooting-in-the-mirror-india/</link>
      <pubDate>Fri, 13 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/shooting-in-the-mirror-india/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://farm4.static.flickr.com/3109/2575145667_a20b53d296.jpg&#34; title=&#34;Shooting in the mirror by Daniel Bachhuber, on Flickr&#34;&gt;&lt;img src=&#34;images/2575145667_a20b53d296.jpg&#34; alt=&#34;Shooting in the mirror&#34;  width=&#34;500&#34;&#xA;&#x9;height=&#34;335&#34;  /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I left for India young, naive, and partially unprepared for the extraordinary series of events I was about to experience.  My bag wasn&amp;rsquo;t packed until &lt;a href=&#34;http://www.danielbachhuber.com/2008/02/04/last-minute/&#34;&gt;late the night before&lt;/a&gt; I left, and it didn&amp;rsquo;t hit me that I was spending three &lt;em&gt;months&lt;/em&gt; photographing in a completely foreign country until two weeks in to the journey.  By not thinking too much about it, and being entirely focused on what I was trying achieve, I think it was better this way.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://farm4.static.flickr.com/3109/2575145667_a20b53d296.jpg" title="Shooting in the mirror by Daniel Bachhuber, on Flickr"><img src="images/2575145667_a20b53d296.jpg" alt="Shooting in the mirror"  width="500"
	height="335"  /></a></p>
<p>I left for India young, naive, and partially unprepared for the extraordinary series of events I was about to experience.  My bag wasn&rsquo;t packed until <a href="http://www.danielbachhuber.com/2008/02/04/last-minute/">late the night before</a> I left, and it didn&rsquo;t hit me that I was spending three <em>months</em> photographing in a completely foreign country until two weeks in to the journey.  By not thinking too much about it, and being entirely focused on what I was trying achieve, I think it was better this way.</p>
<p>Nike has the motto, &ldquo;Just do it.&rdquo;  Cliche, yes, but it is one which wholly encompasses every lesson I learned while traveling to capture a story on the cultural, social, and religious constraints to clean water access in India.  Always do what you&rsquo;re most in fear of.  Feel uncomfortable shooting in the crowds of Magh Mela, the largest annual Hindu gathering on the banks of the Ganges? Just do it.  Uneasy about experiencing poverty in the worst slums of south East Asia?  Just do it.  Worried about the security situation in Kashmir, the disputed territory between India and Pakistan?  Just do it.  The first situation I wimped out on, a hundred thousand people in one stretch of river sounds like a lot of bodies, but it&rsquo;s been at the back of my mind ever since.</p>
<p>Of course, any advice I make should be taken with a grain of salt.  Pushing boundaries just isn&rsquo;t for some people.  For all the others, though, keep doing it.</p>
<p>Being a networking madman also has its advantages in putting together a story.  If you see an opportunity to shoot something you hadn&rsquo;t thought of before, take it.  Don&rsquo;t hesitate.  It&rsquo;s difficult to do in an alien environment, especially when you would like everything to be normal, planned out, and calm, but certainly worth the effort.  Furthermore, tying journalism with development also will score you a number of connections, particularly in India.  The people behind the non-governmental organizations (NGOs) are generally more than happy to talk to you about the issues they are combating.  The government, not so much.</p>
<p>With all of that being said, there are a number of things I&rsquo;ll be making happen next time. </p>
<p>For one, rethinking my adoption of technology.  Oddly enough, the trip journey was partially intended to give me a 90 day hiatus from being digitally connected at all hours of the day.   I made a decision to leave my MP3 player at home, which lasted until two weeks from the end when I broke down and <a href="http://twitter.com/danielbachhuber/statuses/794401390">bought a Chinese knockoff</a>, as well as to take time off Twitter, a micro-blogging service.</p>
<p>Next time, I&rsquo;m <a href="http://twitter.com/danielbachhuber">twittering</a> the whole trip.</p>
<p>Not only is it a cool way to report interesting things you come across <a href="http://twitter.com/danielbachhuber/statuses/781332949">hour</a> <a href="http://twitter.com/danielbachhuber/statuses/786155638">by</a> <a href="http://twitter.com/danielbachhuber/statuses/791695768">hour</a>, but also a cheap way to keep in contact with friends and family.  The price of telecommunications is dropping quickly; to send an SMS cost Rs. 3.75 (around 10 cents) and receiving messages is free.  These astounding developments allowed me to even publish my experiences as I was in <a href="http://twitter.com/danielbachhuber/statuses/783391715">the middle of the Thar Desert</a>, an arid expanse of land on the Pakistani border.</p>
<p>My goal was to go light and cheap.  Pack my backpack with only the things I really need, and then just take half of that.  Next time probably won&rsquo;t be so light or cheap.  Even though I had to sell two pairs of skis <em>and</em> my kayak to afford this one, I would sell even more to bring a few more items:</p>
<p><strong>An audio recor****der.</strong>  India is <em>rich</em> with sound.  For the same reasons I brought earplugs, I need a device to archive the myriad of noise happening at all hours of the day.  Every train station has a unique announcement tone unforgetable to any traveler who has spent a lengthy period of time in one, whether waiting for an afternoon city commuter or spending the night curled up on a freezing platform.  Bus rides also offer the cacaphony, let it be a screech of tires as <a href="http://twitter.com/danielbachhuber/statuses/797406550">the vehicle races along a narrow, cliffside road</a> or the horn which a driver can commonly lean upon for minutes at a time.  It never ends.  For this story, however, the sound of water is the most valuable component I missed.  Each region has its own footprint, the tap empties in the pot to a different rhythm, the bucket clangs against the dug well to its special beat, and the conversations surrounding these activities are in their own local language.  Sure, photography is rich as a visual medium, but audio definitely helps to complete the circle.</p>
<p>I could also have taken better interviews with a recorder by taping them instead of frantically trying to take notes.</p>
<p><strong>A GPS.</strong>  Also known as a global positioning system, such a device has the ability to track where you&rsquo;ve been and when you were there.  Of course, I can always do this manually by dropping images on the map, as I do with <a href="http://www.flickr.com/photos/danielbachhuber/map/">many of my Flickr photos</a>, but automating the process would be a huge timesaver, as well as lowering the barrier to entry.  Geo is the next big thing, and geo-aware news even more so.  Tagging my images geographically would not only provide an interesting way to keep track of them, but also allow any story I create to be geographically interactive.</p>
<p><strong>More memory.</strong>  Duh.  Sixteen gigabytes is enough to shoot for just few days tops.  Stretch that over a month, and the photographer is struck with an inability to make images.  I&rsquo;d like to call it photographer&rsquo;s block.  When you have to edit on the fly, or at least while driving between locations, it makes you think twice about whether you&rsquo;d like to shoot 20 or 60 frames on a particular scene.  Furthermore, processing as you go doesn&rsquo;t give much perspective on the set.  Often when I&rsquo;m in the States, I&rsquo;ll go back to my images at a later point only to find I like best a photo I was close to deleting earlier.  Considering I only kept a tenth of what I shot between February and March, I can only hope I didn&rsquo;t kill too many Pulitzer winners.  This problem of a memory shortage can easily be remedied in these ways: bringing more cards, bringing a laptop, or a combination of both.  Unfortunately, these two solutions require funding.  Students are often short of funding.  My solution: sell more of the junk you don&rsquo;t really need.  Some call it minimalism; I like to call it keeping to my roots.</p>
<p>Quite possibly the strongest, most poignant lesson I learned was that, to last three months in a country, I need a constructive project to do.  Building upon that, it is also wise to approach a country with multiple story ideas in hand.  With the way my planning worked out, I was done shooting what I had outlined for the water story by the second week of April, leaving me with nearly three weeks free.  I can&rsquo;t stand the &ldquo;tourist thing&rdquo; for more than a few days.  As a result, I came up with a cockeyed notion to photograph people under occupation in Kashmir and Ladakh, with the intent of comparing and contrasting the two regions.  In Kashmir, there are reportedly 1.2 lakh (million) security forces for between 10 and 12 million people.  On nearly every street corner, there are bunkers with intimidating soldiers, intimidating machine guns, and intimidating barbed wire.  Needless to say, it has an effect on the local population.</p>
<p>Research beforehand might&rsquo;ve helped me refine the second story enough to realise Ladakh is still covered in snowed at the time I wanted to hitchhike there by truck. For all of the regions I missed though because of access, Ladakh, the Kinnaur Valley, Pakistan, Tibet, and Bhutan, there&rsquo;s always next year, right?</p>
<p>Onward and forward.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Adhoc transportation</title>
      <link>https://danielbachhuber.com/adhoc-transportation/</link>
      <pubDate>Fri, 30 May 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/adhoc-transportation/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Here&amp;rsquo;s the problem&lt;/strong&gt;: I, like many people I know, drive too many places all alone in my car.  One person in a three ton metal vehicle that could easily transport five.  To move all of that mass around, with such unused, waste internal space, is an inefficient use of energy.&lt;/p&gt;&#xA;&lt;p&gt;Money is made by identifying and capitalizing on inefficiency.  Inefficiency in the market, inefficiency in a business, and inefficiency in moving humans to where they want to go.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>Here&rsquo;s the problem</strong>: I, like many people I know, drive too many places all alone in my car.  One person in a three ton metal vehicle that could easily transport five.  To move all of that mass around, with such unused, waste internal space, is an inefficient use of energy.</p>
<p>Money is made by identifying and capitalizing on inefficiency.  Inefficiency in the market, inefficiency in a business, and inefficiency in moving humans to where they want to go.</p>
<p><strong>Here&rsquo;s one solution</strong>: ad-hoc transportation.  Capitalizing on the triple convergence between location-aware devices (iPhone 2 on June 9th, anyone?), social networking (Facebook, Twitter, et al), and an absurd number of nearly empty cars on the road (suburban America), the goal should be to connect people with people who are pointed in the same destination.</p>
<p>We&rsquo;ll call it Me Drive We for the time being.  It&rsquo;s the most creative, available domain I could find in 30 seconds of searching.</p>
<p>Say, for instance, I have a &lsquo;99 Subaru Outback Legacy, Forest Green, and want to go out to Hood River for the day to photograph a <a href="http://www.gorgefreestylefrenzy.com/">windsurfing competition</a>.  To get directions and a forecasted drive time on the day of the event, I&rsquo;d most likely use my GPS-enabled device to search up the destination.  After I&rsquo;ve decided on a route, Me Drive We could give me a wee little pop-up asking if I would like to publish my trip to the public.  Me Drive We would then send me a text message with the names and numbers of people either in my area or along the way who are interested in making a similar trip.  Or it could send my contact information to them, it doesn&rsquo;t matter how the connection is made so long as it is made and made <em>effortlessly</em>.</p>
<p>It shouldn&rsquo;t need to be limited to one platform, either.  If I had rock-solid information on what the wind conditions were going to be the week before (and we&rsquo;re speaking a lot of hypotheticals here), I would be able to use a website to report where I&rsquo;m going and when.  The value in having at least one mobile tentacle, however, is that I&rsquo;ve never seen something like this done, and I read a <em>lot</em> of tech news, and you can make it brain-dead simple with one device: the cellphone.</p>
<p>Apple&rsquo;s new iPhone is highly likely to be released in the next month with these features:</p>
<ul>
<li>3G high-speed internet</li>
<li>An official SDK (Software Development Kit) with first-round applications</li>
<li>GPS</li>
</ul>
<p>It&rsquo;s always going to know where I am, and I might just want it to also know where I&rsquo;m going.</p>
<p>Wait, what if I don&rsquo;t want to drive or ride with complete strangers who might axe me to steal my wallet?</p>
<p>This is where the social networking should poke its head.  Leveraging a social graph already created with Facebook or, heaven forbid, MySpace, I could choose to ride or drive with <em>people I already know</em> who have shared where they want to go too.  The service (ideally) would only reveal my location and travel plans to the circle of friends I&rsquo;ve already identified.  If someone I didn&rsquo;t know wanted to get a ride with me, I could again capitalize on the social graph to see if we know anyone in common.  </p>
<p>If I ended up riding with some I didn&rsquo;t know, Me Drive We could even give me suggestions for ice-breakers, based on data culled from other social networks.  For instance, 90 percent of the music I listen to is scrobbled to Last.fm, and leads to <a href="http://www.last.fm/user/danielbachhuber/charts/">very interesting charts</a>.  This week, my top artist seems to be <a href="http://gangstagrass.com/">Gangstagrass</a>, who released a stellar hip-hop/bluegrass album I would highly recommend downloading if you haven&rsquo;t already.  Me Drive We could take this information, or knowledge of the <a href="http://www.goodreads.com/review/list/532128?shelf=read">recent books I&rsquo;ve enjoyed from Good Reads</a>, and give me and my passenger quality cultural artifacts to discuss. </p>
<p>The most obvious constraints are usability and critical mass.  By riding on the shoulders of two giants moving through the forest at the moment, Facebook, or Facebonk as I call it affectionately, and Apple&rsquo;s iPhone, I think Me Drive We could easily overcome them.  Integration with existing devices and sites would super necessary for successful adoption.</p>
<p>You build it for us lonely drivers and I will use it.  It&rsquo;s time to be more efficient with our energy.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Chai man</title>
      <link>https://danielbachhuber.com/chai-man/</link>
      <pubDate>Wed, 23 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/chai-man/</guid>
      <description>&lt;p&gt;These past few weeks have been ones of reflection. Having photographed the regions I initially outlined for my project, I&amp;rsquo;ve been bumming around, trying to find another story to pick up, reading Isaac Asimov&amp;rsquo;s &amp;ldquo;Foundation&amp;rdquo; series, and thinking.&lt;/p&gt;&#xA;&lt;p&gt;Moving some too. After Rajasthan, I continued north to Amritsar, &lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/785653188&#34;&gt;holing up for two days with a fever&lt;/a&gt;, visiting the Golden Temple, and then, finally, &lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/786286343&#34;&gt;trucking on to Jammu&lt;/a&gt;. I recuperated further and then took an amazing Jeep ride to Srinigar, the capital of Kashmir.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>These past few weeks have been ones of reflection. Having photographed the regions I initially outlined for my project, I&rsquo;ve been bumming around, trying to find another story to pick up, reading Isaac Asimov&rsquo;s &ldquo;Foundation&rdquo; series, and thinking.</p>
<p>Moving some too. After Rajasthan, I continued north to Amritsar, <a href="http://twitter.com/danielbachhuber/statuses/785653188">holing up for two days with a fever</a>, visiting the Golden Temple, and then, finally, <a href="http://twitter.com/danielbachhuber/statuses/786286343">trucking on to Jammu</a>. I recuperated further and then took an amazing Jeep ride to Srinigar, the capital of Kashmir.</p>
<p>There I tried to launch another story comparing Kashmir and Ladakh, and how occupation in the 21st century by the Indian security forces affects the people&rsquo;s daily lives. Snow in the pass killed the idea so, after a week based in a houseboat, I <a href="http://twitter.com/danielbachhuber/statuses/791423511">journeyed</a> <a href="http://twitter.com/danielbachhuber/statuses/791425824">on</a> <a href="http://twitter.com/danielbachhuber/statuses/791501608">to</a> <a href="http://twitter.com/danielbachhuber/statuses/791695768">McLeod Ganj</a>, location of the Tibetan government-in-exile.</p>
<p>Many stories, of course, and many experiences to share. One, from a few days back, had me drop everything to write it in my journal.</p>
<p>***</p>
<p>On the bank of the sacred Dal Lake, there is an chai and omlette stand. Well&hellip; not quite on the bank but on a road leading off the main and so close I can justify calling it the banks. I drop down to the basin after hiking some kilometers from McLeod Ganj. Having had no lunch, I spot the modest carton of eggs casually on the small sill and amble over.</p>
<p>&ldquo;Omlette?,&rdquo; I ask. &ldquo;Yes,&rdquo; he says, pointing to the eggs and a loaf of cheap white bread. &ldquo;Two piece egg, two piece toast. How much?&rdquo; &ldquo;10 rupees.&rdquo;</p>
<p>Wow, a steal I think, and readily agree to the deal.</p>
<p>As he cooks, I become lost in my thoughts, hastily scribbling down ideas which came to me during my walk. One page filled, I move on to the next. I am in lala land often, daydreaming about this and that, and what I might do in the near future. Impervious to the outside world, and distracted by a vivid desire to create concepts. Many people are, I believe, but I won&rsquo;t personally draw judgement as to whether it is good or bad. It just is.</p>
<p>Yesterday, I met a man named Klaus at my &ldquo;Tibetan cooking course.&rdquo; An astrologer from Denmark, he seemed quite normal with his feet on the ground. For me, he became a person of interest, someone who occupied a number of brain cycles, because he had just finished a ten day mediation course. Conducted in complete silence. No talking, no conversation, just listening to your thoughts for hours on end. If you ask me, it sounds like a gnarly way to discover yourself. I would go insane after day two. And yet, shortly after our exchange about his experience, he pulls out a cell phone to see if he has any messages from family back home. The same addiction I left the States with. I think we only <em>try</em> to escape it, and can never succeed.</p>
<p>The omlette is ready. The chai man brings it out to me, I&rsquo;m sitting on a simple wood bench, the type which would break if your weight is too much, and I&rsquo;m struck by how generous of a portion it is. On a simple white plastic plate, the kind from my childhood, the omlette takes up so much space that the two small, square pieces of toast have to be piled on top. I cut the egg into two pieces, divy up my toast, and dig in. The meal is delish.</p>
<p>Watching me from his quilted stoop inside the telephone-sized stall, he asks, &ldquo;Israeli?&rdquo;</p>
<p>I&rsquo;ve been getting more and more of this recently. It might be my stubble of a beard, but I can&rsquo;t be sure.</p>
<p>&ldquo;No, United States,&rdquo; I reply. The chai man looks at me confused, obviously not understanding. &ldquo;Amerika,&rdquo; I add, emphasizing the &ldquo;k&rdquo; which seems to me the trick at the beginning of anyconversation.</p>
<p>&ldquo;Oh, America.&rdquo;</p>
<p>A couple of moment later, he asks another question. &ldquo;Chai?&rdquo;</p>
<p>It&rsquo;s been my goal for the last few weeks to cut back to one cup a day. If I drink too much, I only sleep five or six hours each night and wake up at four AM. With my mind racing about where I&rsquo;m going to go, what I&rsquo;m going to photograph, and which emails I&rsquo;m going to send, it&rsquo;s nearly impossible to get back to sleep. Plus, it&rsquo;s bad news for whomever has to be the recipient of those emails.</p>
<p>But heck, I&rsquo;ve fallen in love with this guy&rsquo;s stand so I think why not. &ldquo;Yes, one cup,&rdquo; I say, and see him move his pan off one single burner to make way for the pot.</p>
<p>The man&rsquo;s business is the quintessential Indian chai/omlette/samosa shack. I can&rsquo;t put it any better than that, as the beauty of the moment struck me like a lorry. It&rsquo;s painted bright yellow, similar to an STD point, and the side is emblazoned with &ldquo;Lay&rsquo;s Potato Chips.&rdquo; There is a sill in the front at chest height with forty or so eggs, that loaf of bread with flies buzzing around it, several samosas in a pan, and a small bottle of red-ish, ketchup-y sauce for whatever you&rsquo;d like to put it on. Sure, the stands come in many shapes and sizes on the sub-continent, with different types of foods, drinks, plates, and cups, but at this moment I notice it in its entirety. To me, the stand is a profound statement of my travels. This is India, and this man sells omlettes and chai for a living.</p>
<p>As he&rsquo;s heating the chai, I suddenly want to capture the process. I whip my camera out of the bag, spilling another set of notes in the process. As I peer through the viewfinder, though, I see I&rsquo;ve been inspired at the end of his work. He pours the drink through a strainer to my cup. The chai is ready.</p>
<p>Near the end of my caffeine and sugar elixir, I talk with a man from Delhi. We cover the basics, and then I rattle off the whole list of places I&rsquo;ve seen this trip. The businessman appears disinterested this development of the conversation, but the chai man speaks up. &ldquo;Chamba?&rdquo;</p>
<p>I repeat the question back at him, not understanding its nature.</p>
<p>Then I do realise and ask, &ldquo;Chamba Valley?&rdquo; &ldquo;Yes,&rdquo; he replies. &ldquo;No, not his trip. From Jammu to McLeod Ganj.&rdquo; &ldquo;Oh&hellip;&rdquo;</p>
<p>I finally understand why he asked. &ldquo;Are you from Chamba Valley?&rdquo;</p>
<p>Whatever connection we made when I first arrived at his humble stand is magnified, enhanced. He gives me a &ldquo;yes&rdquo; with a broad smile and proceeds to show me a picture, worn and weathered, of him on the bank of Dal Lake. He is standing in front of a sign, and looks quite proud in a blue and red vest.</p>
<p>&ldquo;Dal Lake,&rdquo; he points, indicating something in the picture. I obviously don&rsquo;t understand why he&rsquo;s mentioning this. Again he says, &ldquo;Dal Lake. In Hindi.&rdquo;</p>
<p>I look closer and can see he&rsquo;s pointing at script on the sign. Ah, that makes sense. It says &ldquo;Dal Lake&rdquo; in Hindi.</p>
<p>Putting the photograph down, he rolls up his sleeve to show me something else: a tattoo on his forearm. I glance at the body art and the side of his stand he points to as well. Both say &ldquo;Krishan Chana.&rdquo;</p>
<p>Ah, his name. That make sense too. &ldquo;I&rsquo;m Daniel,&rdquo; I forward while holding out my hand.</p>
<p>He has one last tattoo to show me, the holy Om on the back of his hand. I don&rsquo;t recognize it at first, but then I do. I pull out my Om, the one Kip brought back two years ago, from under my shirt and show it to him. &ldquo;Shiva,&rdquo; he says, pointing at my neck.</p>
<p>&ldquo;Yup.&rdquo;</p>
<p>And that&rsquo;s the magic. That&rsquo;s who he is, or a part, and that&rsquo;s who I am. Or a part. Our conversation is limited because of language, but we&rsquo;re both eager to learn about one another. India, although rapidly &ldquo;modernizing,&rdquo; is still about people. It affects me, irrovorcably I hope, every day I&rsquo;m in this country.</p>
<p>Having finished my chai, I pay the six rupees and wander on.</p>
<p><a href="http://www.flickr.com/photos/danielbachhuber/2723659616/" title="Chai man by danielbachhuber, on Flickr"><img src="images/2723659616_6bcd95c2af.jpg" alt="Chai man"  width="500"
	height="335"  /></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>How do you define your reality?</title>
      <link>https://danielbachhuber.com/how-do-you-define-your-reality/</link>
      <pubDate>Wed, 23 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/how-do-you-define-your-reality/</guid>
      <description>&lt;p&gt;This came to me, as many ideas do, at 5 o&amp;rsquo;clock in the morning:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://lifehacker.com/380176/google-earth-integrates-street-view&#34;&gt;Google Earth now has Street View&lt;/a&gt;. To many, it comes as no surprise; Google has many web properties which will work quite well in unison once they are integrated. With the addition of Street View, though, the company is well on its way to creating a static, visual representation of the physical Earth. Furthermore, as technology progresses, a human&amp;rsquo;s ability to interact with this digital &amp;ldquo;environment&amp;rdquo; will be greatly enhanced. At an intersection in the near future, the boundary between the &amp;ldquo;analog&amp;rdquo; and &amp;ldquo;digital&amp;rdquo; worlds will be seemless. A person will be able to transition from one to another, with no conscious observation of the technology in between.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This came to me, as many ideas do, at 5 o&rsquo;clock in the morning:</p>
<p><a href="http://lifehacker.com/380176/google-earth-integrates-street-view">Google Earth now has Street View</a>. To many, it comes as no surprise; Google has many web properties which will work quite well in unison once they are integrated. With the addition of Street View, though, the company is well on its way to creating a static, visual representation of the physical Earth. Furthermore, as technology progresses, a human&rsquo;s ability to interact with this digital &ldquo;environment&rdquo; will be greatly enhanced. At an intersection in the near future, the boundary between the &ldquo;analog&rdquo; and &ldquo;digital&rdquo; worlds will be seemless. A person will be able to transition from one to another, with no conscious observation of the technology in between.</p>
<p>To quote my friend Shane out of context, the seeds for this future are already sown. Barring a complete collapse of civilization, it will happen and it will happen soon. Communication is taking the same route too, coincidentally enough.</p>
<p>One big question, however, is this: how do you make the &ldquo;digital&rdquo; representation of the &ldquo;analog&rdquo; environment dynamic and <em>live</em>? Is it a matter of everyone having embedded video sensors and GPS receivers which broadcast realtime to a connected web? Will the future be in nano clusters, swarms of technology which capture the environment for us? Or will there even be a need or desire move around in an &ldquo;analog&rdquo; world if we can manipulate far more in its &ldquo;digital&rdquo; counterpart?</p>
<p>Now take one step back. Who else in the blogosphere has already &ldquo;created&rdquo; these worlds, this idea? When will I be able to be aware, to be conscious of that knowledge without having to <a href="http://www.google.com/">search</a>?</p>
<p>AI is soon.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Book club</title>
      <link>https://danielbachhuber.com/book-club/</link>
      <pubDate>Mon, 07 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/book-club/</guid>
      <description>&lt;p&gt;Having no iPod this journey, I&amp;rsquo;ve relied on a number of books to provoke my thoughts and imagination while stuck in various places, a &lt;a href=&#34;http://twitter.com/danielbachhuber/statuses/781497215&#34;&gt;gnarly dust storm&lt;/a&gt; most recently. These are a few I would &lt;em&gt;highly&lt;/em&gt; recommend:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.natcap.org/&#34;&gt;&lt;em&gt;Natural Capitalism&lt;/em&gt;&lt;/a&gt; by Paul Hawken, L. Hunter Lovins, and Amory Lovins [&lt;a href=&#34;http://www.amazon.com/Natural-Capitalism-Creating-Industrial-Revolution/dp/0316353000&#34;&gt;Amazon&lt;/a&gt; | &lt;a href=&#34;http://books.google.co.in/books?hl=en&amp;amp;id=47bSS5RhvgcC&amp;amp;dq=natural+capitalism&amp;amp;printsec=frontcover&amp;amp;source=web&amp;amp;ots=Hy3RgKh4DB&amp;amp;sig=h-PdHq9bgxP-90GIAOMEiye7Tys&#34;&gt;Google Books&lt;/a&gt;] - A testament, and blueprint, for how we should &lt;em&gt;really&lt;/em&gt; be living: in harmony with our ecology. Otherwise, as the book points out, the life support systems of our planet, our ship through the desolate space, are going to cease functioning as we need them to. It holds an optimistic view of the future, though, and argues that by recognizing &amp;ldquo;&lt;a href=&#34;http://en.wikipedia.org/wiki/Natural_capital&#34;&gt;natural capital&lt;/a&gt;&amp;rdquo; as limited and valuable, we can actually solve most of the issues humanity faces, climate change and social justice for instance, and live better at that. Personally, it has made me wonder why we don&amp;rsquo;t have hypercars and closed-loop domestic waste systems already. I&amp;rsquo;ve got a few projects for home in mind when I return, although I&amp;rsquo;m going to need to buy another copy because Anat has mine in either Pune or Israel.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Water: The Fate of Our Most Precious Resource&lt;/em&gt; by Marc de Villiers [&lt;a href=&#34;http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F%2Fwww.amazon.com%2FWater-Fate-Most-Precious-Resource%2Fdp%2F0618127445&amp;amp;ei=0tX5R-TRFIHy7AOskpDmAw&amp;amp;usg=AFQjCNGX7984Nv6CPZ027fX7XN6bczDgNA&amp;amp;sig2=GUuH6U26Hm-QZ2rZBloc3w&#34;&gt;Amazon&lt;/a&gt; | &lt;a href=&#34;http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fbooks.google.co.in%2Fbooks%3Fhl%3Den%26id%3DAYgEFsz0tCQC%26dq%3Dwater%2Bfate%2Bmost%2Bprecious%2Bresource%26printsec%3Dfrontcover%26source%3Dweb%26ots%3DpKJ-43MT4s%26sig%3Dy4z_ys1sKsCve6ZTC6lC0ysRpnY&amp;amp;ei=0tX5R-TRFIHy7AOskpDmAw&amp;amp;usg=AFQjCNG_2W_TQQHtgUeLjBaJenqSnLW19g&amp;amp;sig2=OrKc_YlsKl0lEFEKBn_gww&#34;&gt;Google Books&lt;/a&gt;] - As I&amp;rsquo;ve discovered and rediscovered this entire trip, water access issues aren&amp;rsquo;t publicised to the degree they need to be. Or at all really. Being from the Pacific Northwest and all, I&amp;rsquo;ve always assumed water flows naturally from the tap everywhere and always. That&amp;rsquo;s not always the case. Although it starts off slow, the book is definitely worth finishing. For instance, one of the many interesting theses is that the conflict between Israel, Lebanon, and Jordan is territorial largely due to water access. All three nations face water scarcity, and control of supply is integral to national security. As with so much development coverage though, India is nearly completely missed.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;An Ordinary Person&amp;rsquo;s Guide to Empire&lt;/em&gt; by Arundhati Roy [&lt;a href=&#34;http://www.amazon.com/Ordinary-Persons-Guide-Empire/dp/0896087271&#34;&gt;Amazon&lt;/a&gt; | &lt;a href=&#34;http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=4&amp;amp;url=http%3A%2F%2Fbooks.rediff.com%2Fbookshop%2Fbkproductdisplay.jsp%3Fprrfnbr%3D60067270%26pvrfnbr%3D80996948%26multiple%3Dtrue%26frompg%3D&amp;amp;ei=r9n5R6C-JJDw7AOU4ODdAw&amp;amp;usg=AFQjCNEYl6N9nwb8WzPQYJqZreA8szaRWA&amp;amp;sig2=swbZx8Kqt6QyK0aWsi2X9g&#34;&gt;Rediff Books&lt;/a&gt;] - In a vein similar to John Perkins&amp;rsquo; &lt;em&gt;Confessions of An Economic Hitman&lt;/em&gt;, Roy lambasts the United States, IMF, World Bank, Bechtel, and team for being authoritative, oppressive, and imperialist the world o&amp;rsquo;er. She argues that Empire, by causing social injustice and benefiting few, is weak. Her essays offer interesting perspective into how India fits into the picture.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Manoranjan! (&amp;ldquo;Enjoy&amp;rdquo; for those non-Hindi speakers like myself&amp;hellip;)&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Having no iPod this journey, I&rsquo;ve relied on a number of books to provoke my thoughts and imagination while stuck in various places, a <a href="http://twitter.com/danielbachhuber/statuses/781497215">gnarly dust storm</a> most recently. These are a few I would <em>highly</em> recommend:</p>
<ul>
<li><a href="http://www.natcap.org/"><em>Natural Capitalism</em></a> by Paul Hawken, L. Hunter Lovins, and Amory Lovins [<a href="http://www.amazon.com/Natural-Capitalism-Creating-Industrial-Revolution/dp/0316353000">Amazon</a> | <a href="http://books.google.co.in/books?hl=en&amp;id=47bSS5RhvgcC&amp;dq=natural+capitalism&amp;printsec=frontcover&amp;source=web&amp;ots=Hy3RgKh4DB&amp;sig=h-PdHq9bgxP-90GIAOMEiye7Tys">Google Books</a>] - A testament, and blueprint, for how we should <em>really</em> be living: in harmony with our ecology. Otherwise, as the book points out, the life support systems of our planet, our ship through the desolate space, are going to cease functioning as we need them to. It holds an optimistic view of the future, though, and argues that by recognizing &ldquo;<a href="http://en.wikipedia.org/wiki/Natural_capital">natural capital</a>&rdquo; as limited and valuable, we can actually solve most of the issues humanity faces, climate change and social justice for instance, and live better at that. Personally, it has made me wonder why we don&rsquo;t have hypercars and closed-loop domestic waste systems already. I&rsquo;ve got a few projects for home in mind when I return, although I&rsquo;m going to need to buy another copy because Anat has mine in either Pune or Israel.</li>
<li><em>Water: The Fate of Our Most Precious Resource</em> by Marc de Villiers [<a href="http://www.google.co.in/url?sa=t&amp;ct=res&amp;cd=2&amp;url=http%3A%2F%2Fwww.amazon.com%2FWater-Fate-Most-Precious-Resource%2Fdp%2F0618127445&amp;ei=0tX5R-TRFIHy7AOskpDmAw&amp;usg=AFQjCNGX7984Nv6CPZ027fX7XN6bczDgNA&amp;sig2=GUuH6U26Hm-QZ2rZBloc3w">Amazon</a> | <a href="http://www.google.co.in/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fbooks.google.co.in%2Fbooks%3Fhl%3Den%26id%3DAYgEFsz0tCQC%26dq%3Dwater%2Bfate%2Bmost%2Bprecious%2Bresource%26printsec%3Dfrontcover%26source%3Dweb%26ots%3DpKJ-43MT4s%26sig%3Dy4z_ys1sKsCve6ZTC6lC0ysRpnY&amp;ei=0tX5R-TRFIHy7AOskpDmAw&amp;usg=AFQjCNG_2W_TQQHtgUeLjBaJenqSnLW19g&amp;sig2=OrKc_YlsKl0lEFEKBn_gww">Google Books</a>] - As I&rsquo;ve discovered and rediscovered this entire trip, water access issues aren&rsquo;t publicised to the degree they need to be. Or at all really. Being from the Pacific Northwest and all, I&rsquo;ve always assumed water flows naturally from the tap everywhere and always. That&rsquo;s not always the case. Although it starts off slow, the book is definitely worth finishing. For instance, one of the many interesting theses is that the conflict between Israel, Lebanon, and Jordan is territorial largely due to water access. All three nations face water scarcity, and control of supply is integral to national security. As with so much development coverage though, India is nearly completely missed.</li>
<li><em>An Ordinary Person&rsquo;s Guide to Empire</em> by Arundhati Roy [<a href="http://www.amazon.com/Ordinary-Persons-Guide-Empire/dp/0896087271">Amazon</a> | <a href="http://www.google.co.in/url?sa=t&amp;ct=res&amp;cd=4&amp;url=http%3A%2F%2Fbooks.rediff.com%2Fbookshop%2Fbkproductdisplay.jsp%3Fprrfnbr%3D60067270%26pvrfnbr%3D80996948%26multiple%3Dtrue%26frompg%3D&amp;ei=r9n5R6C-JJDw7AOU4ODdAw&amp;usg=AFQjCNEYl6N9nwb8WzPQYJqZreA8szaRWA&amp;sig2=swbZx8Kqt6QyK0aWsi2X9g">Rediff Books</a>] - In a vein similar to John Perkins&rsquo; <em>Confessions of An Economic Hitman</em>, Roy lambasts the United States, IMF, World Bank, Bechtel, and team for being authoritative, oppressive, and imperialist the world o&rsquo;er. She argues that Empire, by causing social injustice and benefiting few, is weak. Her essays offer interesting perspective into how India fits into the picture.</li>
</ul>
<p>Manoranjan! (&ldquo;Enjoy&rdquo; for those non-Hindi speakers like myself&hellip;)</p>
]]></content:encoded>
    </item>
    <item>
      <title>India at the core, abridged</title>
      <link>https://danielbachhuber.com/india-at-the-core-abridged/</link>
      <pubDate>Wed, 26 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/india-at-the-core-abridged/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a long, short time since I wrote last. At the point where your life intersects completely with you work, it is quite difficult to take a moment and reflect on what you&amp;rsquo;ve accomplished. The writing in my personal journal has suffered too; only ten entries dot the pages from the last few weeks. 98.3% begin with how tired or worn out I was at the time of writing. This recount/ fictionalised drama will require a lot of thinking hard and looking back. As I have done some pretty &amp;ldquo;damn ballin&amp;rsquo;&amp;rdquo; things, as Joey would put it, maybe the narrative can be spun interesting enough.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s been a long, short time since I wrote last. At the point where your life intersects completely with you work, it is quite difficult to take a moment and reflect on what you&rsquo;ve accomplished. The writing in my personal journal has suffered too; only ten entries dot the pages from the last few weeks. 98.3% begin with how tired or worn out I was at the time of writing. This recount/ fictionalised drama will require a lot of thinking hard and looking back. As I have done some pretty &ldquo;damn ballin&rsquo;&rdquo; things, as Joey would put it, maybe the narrative can be spun interesting enough.</p>
<p>To begin where I left off.</p>
<p>Traveling from Kodaikanal back to Pune for the <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/">Appropriate Technology Study Group</a> (ATSG) ended up requiring two overnight bus rides, instead of a 28 hour train, because of the wonders of online rail booking. The first one I took dropped me on my head in Bangalore, where I was fortunate enough to spend only an hour and a half navigating the city for an 11 o&rsquo;clock meeting with Vijay of <a href="http://www.arghyam.org/">Arghyam</a>. His organization runs the <a href="http://www.indiawaterportal.org/">India Water Portal</a>, a project I am excited to see develop. After an hour long conversation about some of the technical aspects of our project, Daniel the masquerading altruist stuck again, first crashing <a href="http://www.indiawaterportal.org/blog/">their blog</a> and then setting up <a href="http://www.indiawaterportal.org/blog/index.php/subscribe/">syndicated subscription</a>, RSS or email, via Feedburner. Productive afternoon for a tourist, eh?</p>
<p>A <em>significant</em> chocolate fudge chunk of the past weeks has been dedicated to achieving some sort of success with this study group. I partially documented this along the way in an <a href="http://www.whitmandirectaction.org/2008/03/06/we-whistle-while-we-work-do-da-do-do-do-do-dooooooo/">update for the team</a> and <a href="http://www.danielbachhuber.com/2008/03/23/atsg-technical-update/">one for my faculty sponsor</a>. It would be an understatement to say the project has been huge and there might not have been enough time planned for it; many times I would work seven to midnight one day and then do it again the next. For all of the effort involved, however, I&rsquo;m immensely glad I did it. If the opportunity arises, I would surely go right back to the Kolwan Valley [<a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=105604412617449587375.000447a9c14b2ead91eed&amp;t=p&amp;z=12">Google Maps</a>] and continue ours and everyone&rsquo;s work in improving the region. The guiding research question has evolved since the beginning of the project but remains essentially the same: what are some of the socio-political constraints to clean water access in the Kolwan Valley? Following general conclusions from the <a href="http://hdr.undp.org/en/reports/global/hdr2006/">2006 UNDP Human Development Report</a>, the water crisis around the world is not an issue of physical availability, but rather of &ldquo;power, poverty, and inequality.&rdquo; Our hope for the report is to document enough of these challenges for the next organization working on water access to achieve greater success.</p>
<p>My first week in the valley, but without the rest of the WDA team, started an hour after I arrived at <a href="http://www.muwci.net/">Mahindra United World College of India</a> with a quick drive back down the hill to <a href="http://www.sadhana-village.org/">Sadhana Village</a>. It was time to debrief on the surveys and start thinking about how short time planned for research should pan out. I journeyed with two MUWCI (mew-key) students, Maya and Samir, and was fortunate to hear first-hand what they and others had gained from implementing the questionnaires. It, and other anecdotal information, began my crash course on the specifics of what we were working with. Hard data was also important for understanding what the study group needed to get out of the focus groups; Sunday consisted largely of sifting through 40+ surveys to gather some insight.</p>
<p>This specific project, and, well, any in a foreign country, requires an extraordinary deal of spontaneous optimism and naive steadfastness. There is only so much you can prepare for at home. The mold we created for the focus groups has to be broken completely and then quickly recast to different shapes. As it turns out, it is not quite as easy to go willy-nilly through a valley and have whomever you want participate in a discussion whenever you please. Especially in India. At one point, I was even dreaming of buses for transportation to a central location, microphones and speakers for communication to large crowds, and cater meals. Oh the ambition! If that&rsquo;s how it actually ended up, I&rsquo;m quite sure I would&rsquo;ve had a mental breakdown. The trove of information we collected in the focus groups that did come together, including ones with scheduled caste (SC) women, village elders, and school children, is proving valuable enough.</p>
<p>When I did have time free, I was very fortunate to be able to spend it with some of the kindest people on Earth who just happen to live in a slice of Heaven. On a couple of nights, I was treated to Nandita&rsquo;s wonderful home cooking. As the head of the Triveni office at MUWCI, the study group would not be where it is today without her generous assistance; without her food, I&rsquo;m not sure I could&rsquo;ve survived the week of caf fare. Anat, one of the student leaders of Community Development, was the best possible host and completely set me up when I arrived. Her company, as well as from a number of other students, was a welcome relief to countless hours of organizing, planning, and mind-numbing data entry. I must also give a shout out to Ben who has given me the inspiration for what I am considering doing near the end of my little foray into to this wee-tiny country. Hopefully an engaging photo essay will come out of that.</p>
<p><em>Now is where I really have to reconstruct from memory. There is a 10 day gap in my journal because of project overdrive. It&rsquo;s unfortunate WDA didn&rsquo;t get much of a spring break in terms of relaxation</em></p>
<p>On Monday, 11 March, Jessie, Yukta, and Raechelle, our faculty sponsor for the project, arrived in the afternoon looking frazzled. A couple hours later, we went down to visit Mr. Deshpande and Medhathai at Sadhana Village to give them a brief introduction to the valley and go over the plan for the week ahead. A large part of the days following consisted of surveying the villages for the specifics of each regarding water systems and availability, Tim and Joey arriving, testing the water of 15 points in 11 villages for basic indicators of quality, Yukta and Joey leaving to go work on the conference, conducting even more focus groups and interviews, and synthesizing the information for a presentation of preliminary results on Sunday. It may not seem like much condensed into one sentence, but the schedule kept us well-occupied. In some ways, though, this is where I wish we had more time. Every <em>single</em> day gathering data was a lesson in just how many complexities there are in the valley and with any social issue. We may be able to write in generalizations for the report, but the goal of understanding the dynamics of each village completely before implementing a water access project should be the goal of any organization following up.</p>
<p>I will be the first to admit there are times I can be a workaholic. The lines from Bob Marley&rsquo;s &ldquo;Catch a Fire&rdquo; resonate in my head when I think about this statement of truth. Thankfully, Tim, Jessie, and company are better grounded in reality. The lulls while they were in India included frequent dips in the MUWCI pool and walks around the Biodiversity Preserve. On a side note, I rediscovered the sheer brilliance, literally, of putting a flashlight in a cell phone when Yukta and I became stuck in Paud after dinner one night and had to walk 6 to 7 km back in the dark. Over the weekend, or rather Friday and Sunday night because Saturday was spent preparing our presentation, we did us some cultural tourism to Pune to see what Bollywood (dancing) was like. As you may be able to see on the runaway YouTube hit titled &ldquo;<a href="http://www.youtube.com/watch?v=_uYkBfNhizM">El Ostrich meets the Robot</a>,&rdquo; I am not a dancer and Tim could be a rising star.</p>
<p>Only after eight short, long days in the field were we then in Mumbai for the <a href="http://www.whitmandirectaction.org/cleanwater/conference/">Safe and Sustainable Water Conference</a>. Which went alright, in my opinion. There were a lot of good things which happened, but still many I wish had; my reflection essay will likely be tens of pages long. To keep it short this time, we had an all-star cast but a significant part of the &ldquo;confirmed&rdquo; audience didn&rsquo;t show. Even some of those who had been granted travel scholarships didn&rsquo;t make it. A learning experience, for sure.</p>
<p>Since the WDA team left last Thursday, I&rsquo;ve been off and on by myself. Part of the time, I&rsquo;ve slept at the Salvation Army Red Shield Guest House, which offers dorm rooms at Rs. 150/night, and have had the opportunity to meet some really cool people including Ravi, a philosophy teacher in the UK, Francis, a &ldquo;dude I would not think is a web designer&rdquo; from Australia, and Jana, a German girl working on her Masters thesis on soil conservation in Gujarat. Conversations with them have helped ward off missing the WDA crew and yearnings for home. Last Friday, I was fortunate to go to see an exhibit titled &ldquo;The Photograph: Painted, Posed, and of the Moment&rdquo; organized by <a href="http://www.indiaphotonow.com/">India Photo Now</a> at the NGMA in Colaba. It showcased work from the likes of <a href="http://www.henricartierbresson.org/index_en.htm">Henri Cartier-Bresson</a>, <a href="http://www.pablobartholomew.com/">Pablo Bartholomew</a>, and the <a href="http://www.magnumphotos.com/">Magnum Photos</a> group. Can I say super inspiring? I was especially struck by an image from <a href="http://www.magnumphotos.com/Archive/C.aspx?VP=XSpecific_MAG.PhotographerDetail_VPage&amp;pid=2K7O3R13L4PM&amp;nm=Raghu%20Rai">Raghu Rai</a>, an Indian national who is doing amazing work of his country. His image of a ship worker against the Calcutta harbor is absolutely stunning when viewed large. While in Mumbai, I also snagged a connection with <a href="http://www.apnalaya.org/">Apnalaya</a> to get a better understanding of the water access issues in the slums. Tuesday morning found me up at 445 so I could make it to the suburbs, not in the American sense, to get some images.</p>
<p>For meals, I&rsquo;ve stuck largely with paneer makhani and naan, and then resorting to dal fry and chapaati at a local stand when I only feel like paying Rs. 25. Mumbai is a really expensive city; I will be quite glad when I am able to branch out.</p>
<p>With that, I embark on stage two: the north.</p>
]]></content:encoded>
    </item>
    <item>
      <title>ATSG technical update</title>
      <link>https://danielbachhuber.com/atsg-technical-update/</link>
      <pubDate>Sun, 23 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/atsg-technical-update/</guid>
      <description>&lt;p&gt;One aspect of Whitman Direct Action&amp;rsquo;s (WDA) 2007-2008 &lt;a href=&#34;http://www.whitmandirectaction.org/cleanwater/&#34;&gt;Sadhana Clean Water Project&lt;/a&gt; is the &lt;a href=&#34;http://www.whitmandirectaction.org/cleanwater/studygroup/&#34;&gt;Appropriate Technology Study Group&lt;/a&gt;, looking at the socio-political constraints to clean water access in the Kolwan Valley of southern India. Traditionally, WDA has been an implementing organization, generally working with an in-country, non-governmental organization (NGO) to bring a piece of technology to a community or region. In early conversations with one of our collaborating partners, &lt;a href=&#34;http://www.sadhana-village.org/&#34;&gt;Sadhana Village&lt;/a&gt;, we determined it would be more poignant to rather work to understand why water access projects aren&amp;rsquo;t adopted to the degree hoped, and establish some of the challenges they face.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One aspect of Whitman Direct Action&rsquo;s (WDA) 2007-2008 <a href="http://www.whitmandirectaction.org/cleanwater/">Sadhana Clean Water Project</a> is the <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/">Appropriate Technology Study Group</a>, looking at the socio-political constraints to clean water access in the Kolwan Valley of southern India. Traditionally, WDA has been an implementing organization, generally working with an in-country, non-governmental organization (NGO) to bring a piece of technology to a community or region. In early conversations with one of our collaborating partners, <a href="http://www.sadhana-village.org/">Sadhana Village</a>, we determined it would be more poignant to rather work to understand why water access projects aren&rsquo;t adopted to the degree hoped, and establish some of the challenges they face.</p>
<p>The Kolwan Valley [<a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=105604412617449587375.000447a9c14b2ead91eed&amp;t=p&amp;z=12">Google Maps</a>], where we conducted our research, is an area an hour drive from Pune. It is comprised of 17 villages, or 19 if you count the larger Paud [<a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=paud,+maharashtra,+india&amp;ie=UTF8&amp;ll=18.520632,73.602777&amp;spn=0.022869,0.047035&amp;t=p&amp;z=15&amp;iwloc=addr">Google Maps</a>] and Kolwan [<a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=kolvan,+maharashtra,+india&amp;ie=UTF8&amp;t=p&amp;z=15&amp;iwloc=addr">Google Maps</a>]. The large majority of households earn their income through subsistence farming, with wheat and sugarcane being the primary crops, and everyone else through a small variety of other means. At this point in time, there is almost zero industry in the valley. This could soon change because of the proximity to a rapidly expanding urban center (Pune). Village size is generally between 70 and 400 households, which are then commonly split into between two and five &ldquo;wadis&rdquo; or pockets including the village proper. Composition of the wadis is, for the most part, determined by socio-economic background; for instance, in many of the villages we worked in, there was a &ldquo;harijan vasti&rdquo; scheduled caste (SC) families. Governance is done on a local level by the Gram Panchayat, a &ldquo;democratically&rdquo; elected body responsible for the basic issues of each village, and on a wider scale by the Gram Sevaks and regional Indian government. The structure of these villages, and of the valley, is as such to provide characteristics unique to the area and threaded throughout India.</p>
<p>Data collection done on the ground by participants in the study group consisted first of surveys coordinated by two partners, <a href="http://www.muwci.net/">Mahindra United World College of India</a> and <a href="http://www.gomukh.org/">Gomukh Environmental Trust</a>, and implemented by high-school students of both MUWCI and the valley. Over two hundred responses from nearly all of the villages were collected. A second, preplanned component of the research was a series of focus groups and/or discussions with different types of groups from the valley, including scheduled caste women, school children, and the Block Development Officer (BDO), an official responsible for the government-sponsored water management projects. With one of our goals being to collect information on the same topics related to water availability, water quality, water quantity, and sanitation from different stakeholders, we found it was also wise to interview some member of the Gram Panchayat to get an &ldquo;official&rdquo; view of those aspects in each village. This detailed information on where certain wadis get their water, how much they get, and so on proved to be crucial in determining which water sources, or points of distribution, we should test.</p>
<p>Our guiding focus for the <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/addendum/">Water Quality and Quantity Addendum</a> was originally to determine whether the water in the valley is generally safe to drink or not without further treatment, as well as to collect the supplementary data to establish a need for better water management. One reason for this is to partially substantiate the report produced by the study group; it will be important when we pen the paper to prove there are both socio-political constraints in the region <em>and</em> that the valley has a water problem to begin with. Although much of this type of information should be available from the Indian government, we decided, with more explanation later, to go ahead and do independent testing of the basic indicators of water quality:</p>
<ul>
<li>pH</li>
<li>Temperature (C)</li>
<li>Fecal coliform</li>
<li>Turbidity (NTU)</li>
<li>Dissolved oxygen (mg/L)</li>
<li>Total nitrate and nitrite (mg/L)</li>
<li>Biochemical Oxygen Demand (mg/L)</li>
<li>Chloride (mg/L)</li>
</ul>
<p>The tests were done through a variety of means. Dissolved Oxygen, pH, and temperature were all done in the field, as well as total nitrate, nitrite, and chlorine when the <a href="http://www.lifewater.org/">Lifewater</a> kits showed up, and we took samples for the rest. On returning to the lab, the water for fecal coliform tests was placed on a culture of McConkey&rsquo;s Agar for 24 to 48 hours. They were then assessed for growth of lactose and peptone-producing colonies, indicative of E. Coli, Salmonella, and other bacteria potentially harmful to human health. The pros and cons of each testing method will be documented in the full report.</p>
<p>As with working in any foreign country, there were, and still are, many challenges to getting the necessary hard data required for such a report. A significant amount of time, anywhere between one and four hours per village depending on how many cups of chai forced upon the team, was required to do a Village Water Source Worksheet [<a href="http://docs.google.com/Doc?id=dtw3r68_120fkjgsjgc">HTML</a>], the first step towards understanding where we should test. Another timesink was that each one of these worksheets required at least one and sometimes two or three translators. This can easily magnify the amount of time needed as a question must first bounce from person to person and then the answer back the same path. One justification for why these questions have been necessary is that reliable information from the government is notoriously difficult to get, in both time consumed and accuracy. For many complex reasons, very basic data on water quality, quantity, and access sometimes either does not exist or is falsified. On top of that, there is an <em>extraordinary</em> bureaucracy to work through in order to obtain stats. The first person you talk to will pass you on to the next, and so on and so forth.</p>
<p>Regardless of these difficulties, we were still able to test 15 points in 11 villages assessed.</p>
<p>By testing for basic indicators of water quality, and surveying for hard data about the water sources in each village, we will be able to establish far more than just whether the water is generally safe to drink or not without further treatment. For instance, determining whether there is a presence of fecal coliform in the water can validate the accuracy of statements on both how often the water is treated and tested. If the man in charge of treating the water says he puts TCL in every day, but there is bacterial growth in the sample taken, there we will be able to document that there is a disconnect somewhere along the line. Furthermore, if the water source is being tested regularly, and there are indicators that the water is unsuitable for human drinking, then there should be action by the local and regional government to correct the problem. A presence of bacterial growth in the water could indicate some breakdown in the societal mechanisms required to provide safe drinking water. It is in ways like these that the hard data we&rsquo;ve collected on the ground is proving to be a valuable asset.</p>
<p>With all of that being said, a fair bit of work still needs to be done. The <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/data/">collection of raw data</a> from the Appropriate Technology Study Group is only just now being synthesized for analysis; through this project, we&rsquo;ve been able to come to the overall conclusion that data collection is a time-consuming process. If it is at all possible, we would like to obtain the official water quality data from the government to see how it compares to our information, as well as use it to describe the long-term trends of the valley. It&rsquo;s accuracy, of course, would have to be taken with a grain of salt. We made a request for this information to the BDO a couple of weeks back, and promised we could get it, but it has yet to come. It will also be important to continue tracking down the appropriate climate and water availability information to be able to compare how much water villagers perceive there to be compared to how much there actually is in each season, in addition to being used to depict the characteristics of the valley. Furthermore, it could be interesting to get hard data on how much water is being used for what, including what quantity is diverted away from the valley for use in Pune. The other data required to support certain arguments in the report will likely arise as we continue to figure out which specific dynamics in the Kolwan Valley inhibit access to clean and reliable drinking water.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Spot the giraffe</title>
      <link>https://danielbachhuber.com/spot-the-giraffe/</link>
      <pubDate>Wed, 27 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/spot-the-giraffe/</guid>
      <description>&lt;p&gt;From my experiences thus far, the most crucial supplies a traveler must carry are good earplugs and a cheap bike lock. India is a cacophony of horns, whistles, clangs, and shouts. These sounds have a kinetic quality which drives them perpetually throughout the day, regardless of hour or location. Earplugs allow an intelligent human being to tone the racket down a notch and catch a few hours of sleep periodically. A chain provides the unquestioning service of sanity, assuring the traveler his gear won&amp;rsquo;t grow feet and walk off into the night, let he be in the dormitory, riding the train or bus, lying on a platform, or huddled on the street corner.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From my experiences thus far, the most crucial supplies a traveler must carry are good earplugs and a cheap bike lock. India is a cacophony of horns, whistles, clangs, and shouts. These sounds have a kinetic quality which drives them perpetually throughout the day, regardless of hour or location. Earplugs allow an intelligent human being to tone the racket down a notch and catch a few hours of sleep periodically. A chain provides the unquestioning service of sanity, assuring the traveler his gear won&rsquo;t grow feet and walk off into the night, let he be in the dormitory, riding the train or bus, lying on a platform, or huddled on the street corner.</p>
<p>Kolkata is a huge, boisterous city with a Communist government in place for the past few decades. I noticed this only in a few subtle ways: the utilitarian design of the metro and university, signs proclaiming &ldquo;A state of West Bengal Enterprise&rdquo; on nearly every business, and the general antiquity of the city buses. While there is a fair bit of old stuff in this far off land, these buses had wood paneling. It took me straight back to the British Colonial period, ten or so years after I was born. If it hadn&rsquo;t been so packed, I would&rsquo;ve half expected the ticket taker to whip out a china set for afternoon tea, only to have the pot and cups break 15 seconds later. That&rsquo;s how often there is an accident in the city. Actually, surprisingly, I haven&rsquo;t seen a crash yet.</p>
<p>Thursday the 14th, aka Valentine&rsquo;s Day and what already seems like eons ago, scored me the brilliant opportunity to travel with the executive leadership team of <a href="http://www.waterforpeople.org/">Water for People</a> to West Bengal&rsquo;s Nadia district. The point of their visit was to see some of the arsenic filters the organization has helped fund and install over the past five years, and the reason for my tagging along was to see if I can capture the cultural, social, and religious barriers to making sure people are drinking safe water. As with any shoot, there are images you hope to make and others you just accidentally happen across like an old man in the Thomas Crapper out back. Including my discussions with a former World Bank-er and other members of the team, I think I compiled enough to count that region a success.</p>
<p>Much of India&rsquo;s public automotive transportation is also based on millions and millions of autorickshaws and taxis. In probably my most notable Bengali event, the Ambassador I hired just past dusk on Friday the 15th was dealt a fatal blow as we crossed the VIP Bridge. On the way to interview a Dr. Gupta of the <a href="http://www.becs.ac.in/">BECS</a>, a section of grated road right before the toll both tore the poor machine to shreds. I heard a metallic &ldquo;clink&rdquo; during 30 seconds of intense vibrations we confirmed not much later was a mission critical component of the car. Although I did feel a bit sorry for leaving the driver, he only received Rs 100 for making me walk the last 3 KM to my destination.</p>
<p>A tall beer certainly makes journal entries quite a bit more interesting to write. And read, looking back on that night. After sitting in the Victoria Memorial Gardens late Saturday afternoon, waiting to photograph the building at sunset and trying to explain to every visiting Indian IT student why I&rsquo;m not with my girlfriend making snooky under a tree like everyone else, I took the advice of the Lonely Planet and took my supper on Park Street. For those who are not familiar with the area, this is a length of road where everything is a bit more expensive. Especially the meals. At the beginning of the entry, I write:</p>
<blockquote>
<p>If I am to blow all of my money in the first month and a half, I might as well blow it in style. The meal hopefully won&rsquo;t be any more than Rs 250.</p></blockquote>
<p>and I finish it with:</p>
<blockquote>
<p>Fuck, Rs 289. Man&hellip;</p></blockquote>
<p>To take this in context, I spent one and a quarter what I was spending on my hotel room that night. Comparatively, it is as if I were traveling in the states with the budget for a $100 hotel room and then decided to go spend $200 on myself for dinner. Money doesn&rsquo;t grow on trees, but I&rsquo;ll bet it makes it more of an adventure near the end of a trip if you pretend it does.</p>
<p>Kolkata seems to be a mecca for the 25 year-old in search of his or her place in the world. It was my first time coming across so many travel bums in one square block. First, while wandering after returning from the Water for People excursion and apparently looking lost, I ran into Katie, a graphic designer and <a href="http://flickr.com/photos/katiesworld/">photographer</a> who works until she has enough money to set off. You can imagine my relief in being able to have a conversation of more than three sentences. At the restaurant she recommended, which coincidentally costs alot and is called the &ldquo;Blue Sky Cafe,&rdquo; I sat across from a dude who was definitely hardcore and definitely <em>not</em> 25. Names must be meaningless if you&rsquo;re 18 months into a six year trip; he didn&rsquo;t ask for mine and I did not ask for his. Early into the conversation I learned he was on an overland trek from England to Tokyo, a journey I hope to take when I become crazy enough. One or two more years of school should do it. I asked him if he had read <em>Danziger&rsquo;s Travels</em> to which he replied, &ldquo;oh yeah, he&rsquo;s an amateur.&rdquo; For those unfamiliar with the story, Nick Danziger is a dude who did the same trip for 17 months in the 1980&rsquo;s lying and stealing his way into countries, including Soviet-occupied Afghanistan. I wasn&rsquo;t about to argue with him. The coolest guy I met, however, was a German photojournalism student named Andy. Not much for tourism, he is in India putting together a story on four Muslim girl boxers. Boxers as in the fighters, not the underwear. When I asked him how he managed to come up with such a subject, he said, &ldquo;YouTube.&rdquo; The wonders of modern technology!</p>
<p>Flexibility is obviously a required trait for those who want to avoid a mental breakdown. My stay in the smoggy city lasted two days longer than I had hoped because of an unintended consequence of India Railway&rsquo;s decision to launch <a href="http://www.irctc.co.in/">online booking</a>. Nearly every single train, and I do mean 99.83%, are wait-listed for at least five days. This single fact is likely killing the boutique tourism of backpackers who don&rsquo;t know where they want to be in the next week. There&rsquo;s more than one of us, mind you, and it is a realistic impossibility to book your ticket to an unknown destination. After spending my last night in the Salvation Army Guest House dormitory building structure because I would be beaten, robbed, and raped if I slept in Howrah Station instead, I was off to Hyderabad.</p>
<p>Traveling by train for a single stretch of over 24 hours is an experience required of every visitor to this country. It gives you exposure to the myriad diseases and disfigurements beggars seem to have, is the only method of transportation in the world you can hear &ldquo;chai, coffee; coffee chai&rdquo; from a sing-song voice every 3.2 minutes, and lets you meet the type of people you wouldn&rsquo;t normally sleep across from on a SpiceJet flight. Furthermore, going by second-class sleeper will be the only opportunity most will have to experience sheer and utter boredom. At least twice the type you thought you felt as a young child. India Rail should even mark up the absurdly cheap tickets and bill it as an amusement park ride. They could call it &ldquo;Journey to Mars&rdquo; but in small print mention the ride replicates what it would be like to get there using 1960&rsquo;s technology. Like the lunar lander with hella tiny rockets. The &ldquo;flight&rdquo; would take absolutely <em>forever</em>, and when you have to go wee or throw out your leftover food it gets ejected into &ldquo;space.&rdquo;</p>
<p>On a somewhat related note, the India Railways company is the <a href="http://en.wikipedia.org/wiki/Indian_Railways">largest, non-military employer</a> in the world. It transports over five <em>billion</em> passengers annually. If an organization such as <a href="http://www.whitmandirectaction.org">Whitman Direct Action</a> or, uh, UO Direct Action were to negotiate a recycling program with the head office, I think it would have the impact of single-handily ending pollution in all of Southeast Asia.</p>
<p>The 10 or so hours I spent in Hyderabad can be summarised by a single compound word: food-hospitality. It is the way of the true people. An extraordinary amount of treats, fried things, and fresh fruit was pushed my way as I sat on the floor of the Tajuddin house after delivering Kip&rsquo;s mom&rsquo;s package. After politely accepting a third and forth plate, my gut busted all over the floor. Not really. I had to keep eating. The gut-busting happened after I stood up.</p>
<p>As another word of advice from the open spigot known as my mouth, don&rsquo;t <em>ever</em> buy a waitlisted takal fare from a booking office 1000 KM from your point of departure. They may appear to know what they are talking about but, if you hear those words, just say &ldquo;no&rdquo; and back slowly through the door. To leave Hyderabad, I had to cancel my train ticket and pay almost double for an A/C Semi-Sleeper bus where, in typical Indian fashion, they sell as many tickets as possible. I woke up at one point during the overnight ride to a TV show I really didn&rsquo;t want to listen to. Hindi slap-stick comedy makes you want to punch the overhead speaker out. I now see why only the newest buses are in good condition.</p>
<p>The reason for my detour to the Kolwan Valley was to assess how the team at <a href="http://www.muwci.net/">MUWCI</a> was doing with implementing our mutual survey. A summary of several lengthier updates I wrote to the rest of the team, including a <a href="http://www.whitmandirectaction.org/2008/02/20/the-report-numero-dos/">description of the difficulties MUWCI is having</a>, is as follows:</p>
<ul>
<li>We are a in a bit over our heads</li>
</ul>
<p>The next few weeks will definitely be the most interesting of the project.</p>
<p>When I made it back to Pune Junction this past Thursday, my mind was a flutter with revelations of the deepest ocean trench. As a disclaimer, &ldquo;<a href="http://en.wikipedia.org/wiki/Kurt_Vonnegut">every truth I write is a complete and utter lie</a>.&rdquo; This is what I came up with:</p>
<blockquote>
<p>Life is not intrinsically &ldquo;good&rdquo; or &ldquo;bad.&rdquo; Events that happen in life are not &ldquo;good&rdquo; or &ldquo;bad.&rdquo; One&rsquo;s opinions of the events depend exclusively on how one assigns value to an event. If, for instance, one were not to get a part in a school play, that person may establish a negative relationship to the event. To the other person receiving the part, the event would be seen as &ldquo;good.&rdquo; As such, in that simple proof, the event itself solely exists. It is, and has no intrinsic value.</p>
<p>Understanding the relationship between a person and an event is a key to enlightenment. Acting upon this understanding is one step towards achieving enlightenment. The trick is to separate one&rsquo;s self from any emotion attached to an event and then recognize the opportunities stemming from an event like thin threads of light.</p>
<p>All events have these opportunities to take advantage of. Whether a person&rsquo;s relationship to an event is positive or negative, there are always opportunities to move forward and progress. Again, the key is to look past the emotional relationship to the event, look through the cloud, and see where it will take you next.</p>
<p>Many times, the phrase &ldquo;Nothing is Impossible&rdquo; is said. In thinking about this, I believe the common reaction is one of inadequacy. Other people can do &ldquo;great&rdquo; things but it impossible to do &ldquo;great&rdquo; things yourself. The truth of the matter is that it is impossible do other people&rsquo;s &ldquo;great&rdquo; things. You do not live their life flow, as they do not live yours. What should be said instead is &ldquo;Dream. And do.&rdquo; This phrase recognizes the unique values of each person, and their ability to do a multitude of &ldquo;great,&rdquo; impossible things, while emphasizing the need to look past their emotional attachment to the past. We must see, imagine, and dream the opportunities for progress.</p></blockquote>
<p>Ironically enough, I woke up the next morning in my upper berth with a bitchin&rsquo; headache and gnarly fever. <em>Natural Capitalism</em> only ceded 55 pages of its sweet, recycled post-consumer content to me. Ye basta!</p>
<p>The area surrounding Kodaikanal at this time of year brings me to memories of the high Pacific Northwest during late May or early June. Under a stunning blue sky, the dark forests and meandering trails call my name in a way only the purest siren can. The air is often crisp and always clear; taking a gorgeous image is generally only a matter of pointing your lens. A chance encounter with Jeannette of Human Resources in front of the <a href="http://www.kis.in/">Kodaikanal International School</a> on Saturday morning provided the opportunity to go on a stellar six hour hike to the highest point in the Palni Hills, a peak I can&rsquo;t recall the name of, with her and a few friends. Along the way, the trail flirts with the edge of the mountain which drops thousands of feet down to the plains. Hot air rising from below offers priceless views of clouds forming in an endless dance. When we arrived at the top, we could see for miles and miles and miles and miles. Or kilometers, rather.</p>
<p>This past week has brought a wide range of experiences. While crossing the Bendy soccer field Sunday, I was nearly destroyed by a pack of wild dogs. My life was spared by five seconds of stupor and then an adrenaline-fueled sprint to the gate. For dinner that night, I was invited to the Shelton Cottage, the current residence of Tim and Katie Waring. Tim is a PhD student looking at, among other things, the traditional organizations which monitor fair distribution of irrigation water. Over left-over pizza and a delicious rhubarb dessert, we had an <em>extraordinary</em> conversation on topics ranging from Ghandi&rsquo;s legacy to India, cultural as a method of evolution, and the SDK for the iPhone. They were, by far, the best dinner company I have had yet in the country. Monday and Tuesday were dedicated solely to producing as many images as I could for the KIS Development office. The current count tops out around 867 frames of French, Hindi, art, drama, and the &ldquo;dish,&rdquo; or dispensary. My mind has become numb to photographing. And writing, for that matter. This is the update that never ends.</p>
<p>One last thing. Today I escaped from campus for several hours to visit one of Tim&rsquo;s small villages to photograph. It was dope. Dinner at the Royal Tibetan reminded me of good times with the Beckwiths.</p>
<p>Tomorrow I plan on running a double loop around the lake which will hopefully make my legs sore enough for the next few days of travel. Back to the Kolwan Valley and <a href="http://www.whitmandirectaction.org/cleanwater/studygroup/">Appropriate Technology Study Group</a>!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Splashdown</title>
      <link>https://danielbachhuber.com/splashdown/</link>
      <pubDate>Wed, 13 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/splashdown/</guid>
      <description>&lt;p&gt;From my experiences, there are generally two ways to visit a foreign country. The first, and more accepted method of tourism, is to transition cultures gradually, testing the waters, wading in the shallow end, and then going for a nice swim in the deep. Such a method lets the traveler choose his own adventure, per se, and quickly evacuate if so needed. A second, less common method way is to, metaphorically, dive right in with a graceful arc. From a cliff even, if desireable.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From my experiences, there are generally two ways to visit a foreign country. The first, and more accepted method of tourism, is to transition cultures gradually, testing the waters, wading in the shallow end, and then going for a nice swim in the deep. Such a method lets the traveler choose his own adventure, per se, and quickly evacuate if so needed. A second, less common method way is to, metaphorically, dive right in with a graceful arc. From a cliff even, if desireable.</p>
<p>Whether by accident or purpose, or accidently on purpose, I managed to do the latter. And, ironically enough, the waters I&rsquo;ve seen so far are <em>certainly</em> not suitable for swimming.</p>
<p>On the wonderfully short Chicago to Delhi flight, I had the surprising chance to sit next to Steve Barg of the <a href="http://www.iisd.org/">International Institute of Sustainable Development</a>. The organization is a non-profit think tank based in Winnepeg with work all over the world. Not one to miss a genuine opportunity, I hounded him with questions for at least two of the fourteen hour flight. One current project he mentioned is establishing &ldquo;<a href="http://www.iisd.org/climate/vulnerability/policy.asp">adaptive policy design</a>&rdquo; which, paraphrasing crudely, is teaching governments that the strategies they outline this year won&rsquo;t necessarily hold true for the next ten; officials had better be flexible if they don&rsquo;t want to be ousted.</p>
<p>Under this philosophy, Steve&rsquo;s organization is, for instance, researching how best to manage farmers facing &ldquo;double exposure,&rdquo; or those under pressure from both international trade policy and climate change. In India, the situation will only become more dire in the near future for at least two reasons: &ldquo;global weirding&rdquo; is causing rainfall to become less and less predictable, and farmers unsustainably exploit groundwater because both the water and power for their electric pumps is completely free. Sparing the boring details, it made my flight over quite a bit more interesting.</p>
<p>For many people, the first indicator they are in this foreign country might be the semi-permanent &ldquo;Under Construction&rdquo; signs at the airport, the seedy looking men waiting outside the customs gate to offer &ldquo;free taxi to cheap hotel&rdquo; or the, uh, <em>organic</em> smells as they step out into the night. For me, it was just how many people jumped to their feet to queue for the door seconds after the landing gear touched the runway, and how the flight attendant had to verbally abuse them over the loudspeaker to get them sitting back down. Very different introductions than getting lei&rsquo;d at the door in Hawaii.</p>
<p>From Delhi, I journeyed by early morning train to Kanpur, site of nothing less than one of the most polluted stretches of Ganga. Upon arriving, I made my first traveler mistake by paying the three-wheeler driver <em>before</em> I confirmed I was at the correct place. Pack on back, my penance included walking four miles in the heat and asking over 30 people for the right direction.</p>
<p>The effort was worth it, however, as I spent the better part of 8 through 10 February with the two person staff of <a href="http://ecofriends.org/">Eco Friends</a>, a NGO working to restore the physical health of the river. To give a sense of it&rsquo;s currently deplorable condition, less than a quarter of all Kanpur&rsquo;s waste water is treated before it is released. The rest, 80 percent domestic and 20 percent industrial, drains directly into the water both above and below the intake station for the city water supply. Furthermore, the waste which does get treated often is handled improperly before used for irrigation. Toxins from the 300 plus tanneries cause serious health problems for both people and animals in the farming villages scattered around the area. Topping all of this off is the fact the river is diverted <em>above</em> the town for sugar cane irrigation, which reduces its flow nearly to a standstill. Through the knowing help of a quiet, soft-spoken Rakesh Jaiswal and his assistant whom I would be sure to misspell the name of, I was able to capture much of this with my lens.</p>
<p>Last Saturday, in the calm before an eight hour bus ride from the Hindu equivalent of Hades, I rose early to attend a boat rally organized by both Eco Friends and IIT Kanpur. We launched above the town at the diversion barrage to spend some time floating down the river and documenting its wounds for a report to be submitted to the local government. Being the only American, of course, also made me the honored guest, and I was invited to speak in front of the camera about the issue. I apologise in advance to my countrymen for any embarassment I&rsquo;ve caused our great nation.</p>
<p>As per Rakesh&rsquo;s request, Allahabad became the next point of destination for my chautauqua. Proving himself one of the kindest men I have ever met, he extended an invitation to attend a conference on the state of groundwater pollution in Uttar Pradesh which included all of my meals and, because <em>every</em> single place in town was booked, a room at the nicest hotel.</p>
<p>This most certainly was the high point of my luck.</p>
<p>In a journal entry I wrote the following evening titled &ldquo;Things that have sucked in the past 24 hours,&rdquo; I explored some of the ways the trip began to roll fast down a very tall hill:</p>
<blockquote>
<ul>
<li>Not being able to get a hotel room on the second night because of Magh Mela</li>
<li>Not being able to photograph Magh Mela, the primary point of my excursion, because I did not have anyone to go with and wasn&rsquo;t about to get assaulted going alone</li>
<li>Not being able to get a hotel room</li>
<li>Getting accosted by a man from Andra Pradesh who wanted me to raise money for their supposed organization in the States and send it back. He and his partner in crime cornered me in a hotel room after saying they would go to Magh Mela with me. It reminded me of my mom&rsquo;s stories of Amway</li>
<li>Being homesick and wondering just what the hell I am doing in this country</li>
<li>Thinking about [redacted] and how much I miss her company</li>
<li>Wondering why the hell I started thinking about [redacted] so much</li>
<li>Wondering just where the hell I am going next, and whether there will be a bed to sleep there</li>
<li>Finding it ironic that, so far, the only other Americans I&rsquo;ve met have been a nutso Canadian and an Indian national</li>
<li>Learning it is impossible to book a ticket for <em>any</em> future travel at Allahabad Junction</li>
<li>Having the lights go off and on every five minutes and wondering how sketchy this place really is</li>
<li>Learning the wall I&rsquo;ve been leaning against for the past half hour gives off some sort of chalky, white powder I hope isn&rsquo;t dried pee</li>
</ul></blockquote>
<p>Had I waited until three the next morning to write the entry, I might also have included having to sleep on the station platform in twenty-something degree weather with no blanket. Thank something high above for the foresight to pack long underwear!</p>
<p>By taping together scraps of old paper and using some ingenious calligraphy, I finally scored a general class ticket to Varanasi. My two days and one night were spent primarily walking up and down the ghats, wide steps leading to the Ganga for bathing, and appreciating the ancient beauty of the scene. For the morning I was there, I booked a Rs 150 boat ride at dawn to photograph around, oh, 70 tourist boats and exactly three bathers. Monday had been some huge festival which starts with a &ldquo;B&rdquo; and has a &ldquo;P&rdquo; somewhere along the way, and apparently all the pilgrims got their washing done earlier.</p>
<p>The boat tour was followed by my traditional &ldquo;crazy white guy&rdquo; run at a famous location. In a fashion similar to my expedition down from Machu Picchu, I dodged people, animals, sacred ceremonies and cremations alike for quality exercise. I can safely say I am the first person I&rsquo;ve seen out jogging for fun and not from the police. The path itself was consistent with only <em>occasional</em> stairs, so I would definitely recommend it to anyone interested. It might be in my future to compile a <em>Top Runs of the World</em> in the near future.</p>
<p>Yesterday afternoon passed like an old jalopy I have never ridden in, jerking forward at times and dying completely at others. Not being able to interview someone at the Samkat Mochan Foundation because I spent an hour and a half trying to figure out which ghat the research lab was at really put a bolt in my gears, and I didn&rsquo;t get the crowded bathing scene at the river I wanted. In an attempt to live up to the &ldquo;Tourist&rdquo; label on my visa, I went to visit the Golden Temple nearer the middle of the city. No dice. The surrounding area was crawling with soldiers armed to the teeth, and they weren&rsquo;t allowing mobile phones or cameras; I had both which I wasn&rsquo;t about to lose to a shop owner.</p>
<p>Now in Kolkata, I plan to spend a few days on my project and visiting the most famous landmarks. I&rsquo;m optimistic I&rsquo;ve made the right connections for some stellar imagery.</p>
<p>One last piece of advice: having the holy <em>Lonely Planet</em> out in public makes even the most gnarly looking traveler a magnet for an entire university of touts.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Last minute</title>
      <link>https://danielbachhuber.com/last-minute/</link>
      <pubDate>Tue, 05 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/last-minute/</guid>
      <description>&lt;p&gt;I think I am taking way too many supplies. When your pack has more deodorant than socks, and more paper than shirts, you know something might be quite wrong.&lt;/p&gt;&#xA;&lt;p&gt;This will be more of a stream of thought than a well-thought, insightful post, so my apologies in advance. Sometimes this happens when you leave everything for the &lt;em&gt;very&lt;/em&gt; last possible moment. In all honesty, I should be finishing packing my bag right now; it&amp;rsquo;s only half full and I&amp;rsquo;ve got my things strewn all across the living room. GPS, shirts, socks, books and other things I&amp;rsquo;m not sure I should bring lie in little piles like raked leaves in the fall. My plan of attack, and I know it&amp;rsquo;s going to lead to this, will be to just dump armfuls of gear into the pack and sort it out later.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I think I am taking way too many supplies. When your pack has more deodorant than socks, and more paper than shirts, you know something might be quite wrong.</p>
<p>This will be more of a stream of thought than a well-thought, insightful post, so my apologies in advance. Sometimes this happens when you leave everything for the <em>very</em> last possible moment. In all honesty, I should be finishing packing my bag right now; it&rsquo;s only half full and I&rsquo;ve got my things strewn all across the living room. GPS, shirts, socks, books and other things I&rsquo;m not sure I should bring lie in little piles like raked leaves in the fall. My plan of attack, and I know it&rsquo;s going to lead to this, will be to just dump armfuls of gear into the pack and sort it out later.</p>
<p>I hope that works!</p>
<p>It makes me wonder what I&rsquo;ve been doing in the past couple of weeks to be so amazingly prepared. On a similar note, I&rsquo;m not quite sure how much money I have. My bank account is hovering around two thousand American dollars but, with our economy where it is <em>and</em> my credit card payment having not gone through yet, I&rsquo;m probably going to have a bit less than that. The last lens I bought is definitely going to set me back around twelve hundred.</p>
<p>Oh, and my travel plans are absolutely absurd too. After what I imagine isn&rsquo;t going to be the best 28 hour flight in the world, I&rsquo;ve got six hours to catch a night train to Kanpur, Uttar Pradesh and then be in the shape to interview and photograph the next day. This type of, let&rsquo;s say, well-structured planning just might be going on the entire trip. I do plan to see parts of the entire country during my short three month travel period. The map of India looks so small, and might be giving me the delusion I can make the full loop.</p>
<p>All of that negativity aside, I&rsquo;m stoked! Here goes nothing!</p>
]]></content:encoded>
    </item>
    <item>
      <title>First results</title>
      <link>https://danielbachhuber.com/first-results/</link>
      <pubDate>Thu, 17 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/first-results/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m a finalist! The UO Outdoor Program has a &lt;a href=&#34;http://outdoorprogram.uoregon.edu/index.php?page=media&amp;amp;section=contest&#34;&gt;photography contest&lt;/a&gt; every year for which I managed to get my act together and submit a few entries. Although I&amp;rsquo;m pretty sure I sent in four, three of the photos made it into the top picks of their respective categories:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/2103602423/&#34;&gt;Thanksgiving in Bend&lt;/a&gt; in &lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/sets/72157603713658822/&#34;&gt;Action/Adventure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/2104402546/&#34;&gt;Illumination Rock&lt;/a&gt; in &lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/sets/72157603718107909/&#34;&gt;Landscapes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/2104391380/&#34;&gt;Surfers at Sunset&lt;/a&gt; in &lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/sets/72157603713798298/&#34;&gt;People in the Outdoors&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And I didn&amp;rsquo;t really notice this until today, but UO OP has &lt;a href=&#34;http://www.flickr.com/photos/outdoorprogram/&#34;&gt;uploaded all of the entries&lt;/a&gt; to Flickr. It&amp;rsquo;s very neat to see what I&amp;rsquo;ve been competing against. On top of that, I&amp;rsquo;m super honored to have been selected amongst some really good entries.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m a finalist! The UO Outdoor Program has a <a href="http://outdoorprogram.uoregon.edu/index.php?page=media&amp;section=contest">photography contest</a> every year for which I managed to get my act together and submit a few entries. Although I&rsquo;m pretty sure I sent in four, three of the photos made it into the top picks of their respective categories:</p>
<ul>
<li><a href="http://www.flickr.com/photos/outdoorprogram/2103602423/">Thanksgiving in Bend</a> in <a href="http://www.flickr.com/photos/outdoorprogram/sets/72157603713658822/">Action/Adventure</a></li>
<li><a href="http://www.flickr.com/photos/outdoorprogram/2104402546/">Illumination Rock</a> in <a href="http://www.flickr.com/photos/outdoorprogram/sets/72157603718107909/">Landscapes</a></li>
<li><a href="http://www.flickr.com/photos/outdoorprogram/2104391380/">Surfers at Sunset</a> in <a href="http://www.flickr.com/photos/outdoorprogram/sets/72157603713798298/">People in the Outdoors</a></li>
</ul>
<p>And I didn&rsquo;t really notice this until today, but UO OP has <a href="http://www.flickr.com/photos/outdoorprogram/">uploaded all of the entries</a> to Flickr. It&rsquo;s very neat to see what I&rsquo;ve been competing against. On top of that, I&rsquo;m super honored to have been selected amongst some really good entries.</p>
<p>The winners will be unveiled at 1730 in the EMU Aperture Gallery on 29 January 2008. Might have to skip out on night skiing for this.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Mr. Bachhuber goes to mumbai</title>
      <link>https://danielbachhuber.com/mr-bachhuber-goes-to-mumbai/</link>
      <pubDate>Tue, 08 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/mr-bachhuber-goes-to-mumbai/</guid>
      <description>&lt;p&gt;On 5 February, less than a month from today, I will be heading back to the great land of India for nearly ninety days. If I manage to survive the aggressive monkeys and crazy elephants, it will be the longest trip I have ever been on. Why are you going to India for such a lengthy time, one might ask? Well, Curious George, there are a couple key answers to this question.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On 5 February, less than a month from today, I will be heading back to the great land of India for nearly ninety days. If I manage to survive the aggressive monkeys and crazy elephants, it will be the longest trip I have ever been on. Why are you going to India for such a lengthy time, one might ask? Well, Curious George, there are a couple key answers to this question.</p>
<p>One is that, thanks to some voodoo magic and an absurd number of classes last fall, I have enough credits for junior status. Although people are quick to point out that such a situation won&rsquo;t necessarily make me graduate any faster, something or other about my major, I think it&rsquo;s justification enough to take the winter and spring terms off. Worst case scenario is that I have to take summer school.</p>
<p>Secondly is that, and this is the primary reason mind you, using frequent flier miles doesn&rsquo;t guarantee you <em>specific</em> travel dates. In fact, the airlines don&rsquo;t even really let you pick your vacation when you&rsquo;re using a free ticket to get to a foreign country. Upon the surprise of learning the earliest day I could return to the States was <em>May 3rd</em>, I thought, &ldquo;err&hellip; I&rsquo;ll take it?&rdquo;</p>
<p>My parents aren&rsquo;t exactly ecstatic about that decision, but you&rsquo;ve got to take the opportunities as they come!</p>
<p>The itinerary for this trip, at this point, is a <em>rough</em> draft. I know for sure I will be working in some capacity on Whitman Direct Action&rsquo;s <a href="http://www.whitmandirectaction.org/cleanwater/">Sadhana Clean Water Project</a> for the first month and a half. The conference will put me in Mumbai on and around 19 March 2008. Other than that, I have two specific goals. My first hope is to parallel the WDA project with a one of my own. Involving photography. And a critical eye. Ideas in my mind I have, but I need to get them together pretty soon so I can get spec letters out. My second wish is to see Northern India, the entire half I missed during my first trip. Potential stops include Rajahstan, the Taj, and Dharmasala.</p>
<p>My itinerary as it unfolds (which may be not the best choice of words) will be <a href="http://docs.google.com/Doc?id=ddc3b57j_14hrjnq3">published for everyone to see</a>. And most important, I&rsquo;ll be blogging every step of the way!</p>
<p>Some logical, if not brilliant, advice I&rsquo;ve gotten so far:</p>
<ul>
<li>Keep your camera in sight at all times</li>
<li>Baby shampoo can be used as toothpaste <em>and</em> shampoo</li>
<li>Put dental floss in your sewing kit, it&rsquo;s the most indestructible thread out there</li>
<li>Keep a copy of your passport in your webmail</li>
</ul>
<p>From the way it looks so far, India 2008 is going to be one epic journey.</p>
<p><strong>Update</strong>: You can now keep updated on these adventures (or lack there of) by using my <a href="http://www.danielbachhuber.com/subscribe/">subscribe page</a> or joining the <a href="http://www.facebook.com/group.php?gid=6715442611">Facebook Group</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>An abandoned lighthouse?</title>
      <link>https://danielbachhuber.com/an-abandoned-lighthouse/</link>
      <pubDate>Tue, 04 Dec 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/an-abandoned-lighthouse/</guid>
      <description>&lt;p&gt;At the &lt;a href=&#34;http://www.ad-tech.com/ny/&#34;&gt;ad:tech&lt;/a&gt; conference this year in New York City, the most widely anticipated news came from a company less than three years old. This is hardly a surprise to those who follow the tech industry; &lt;a href=&#34;http://www.facebook.com/&#34;&gt;Facebook&lt;/a&gt;, currently valued at over 15 billion dollars, is the hottest thing since Google or MySpace. It has been on the radar along with Apple’s iPhone as &lt;a href=&#34;http://www.techcrunch.com/2007/08/15/facebook-iphone-ultrahype/&#34;&gt;one of the biggest stories&lt;/a&gt; of the year. Accordingly, the first announcement of how the social network is going to monetize its service, a problem plaguing every Web 2.0 startup, set the blogosphere aflame. Facebook’s name for its new ad marketing platform: Beacon.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>At the <a href="http://www.ad-tech.com/ny/">ad:tech</a> conference this year in New York City, the most widely anticipated news came from a company less than three years old. This is hardly a surprise to those who follow the tech industry; <a href="http://www.facebook.com/">Facebook</a>, currently valued at over 15 billion dollars, is the hottest thing since Google or MySpace. It has been on the radar along with Apple’s iPhone as <a href="http://www.techcrunch.com/2007/08/15/facebook-iphone-ultrahype/">one of the biggest stories</a> of the year. Accordingly, the first announcement of how the social network is going to monetize its service, a problem plaguing every Web 2.0 startup, set the blogosphere aflame. Facebook’s name for its new ad marketing platform: Beacon.</p>
<h3 id="the-origin">The origin</h3>
<p>Targeted advertising isn&rsquo;t anything new. It’s only natural a business would want to pitch its product to the audience most likely to buy it. Time spent on a consumer who isn’t going to be a buyer is simply a wasted effort. Selling the merits of a men&rsquo;s cologne to pre-teen girls isn&rsquo;t effective just like pitching hearing aids to twenty-somethings with perfect hearing is a waste.  It pays to focus advertising as directly as possible; in financial terms, it minimizes the dollars spent selling to each consumer while maximizing the company’s overall profits.</p>
<p>In 1932, Young and Rubicam became the first firm to advertise based on statistics. Twenty years later, the A.C. Nielsen Market Research Company, realizing the extraordinary potential of television to reach a mass audience, began tracking which prime-time shows were being watched in what <em>types</em> of households. As technology progressed, so did the sophistication of the ability to track viewers and their habits; by the 1970’s, tracking services could report many more details about audiences including race, gender, age, and educational background. Personalized advertising started crawling on its hands and feet.</p>
<p>Jump forward another twenty years to the commercial advent of the Internet. Its digital nature allows for <em>inherently</em> easier tracking. While transferring data back and forth, the web requires unique electronic addresses to ensure the bits requested make it to the correct recipient. This characteristic also means a digital “paper trail” is left in every transaction. Capitalizing on this technology, web metrics have advanced to a point where a nearly infinite amount of consumer information can be aggregated and analyzed. The current difficulty, if it can be summarized, lies in determining <em>which</em> information is most important and how it should be interpreted.</p>
<p>Problems to some are opportunities to others. One burgeoning market is online advertising, with has had <a href="http://blog.wired.com/business/2007/10/internet-advert.html">over 150% growth in revenues</a> since 2000. Success in this arena is defined by the businesses who achieve the highest <a href="http://en.wikipedia.org/wiki/Conversion_rate">conversion rates</a>; it’s what has made Google the <a href="http://www.techcrunch.com/2007/11/01/imperium-googles-march-towards-becoming-amercias-biggest-company/">5th largest company in the United States</a> in less than a decade.</p>
<p>There are now a few common ways of using consumer metrics to target advertisements online.  One method, borrowed from the print media, is selling advertising space based on the perceived reader demographics of a website. <a href="http://www.grist.org/">Grist</a>, an environmental news nonprofit, and <a href="http://www.economist.com/">The Economist</a>, a business and political analysis publication, both do this for placements on their websites. Making the deals in-house, albeit a significant amount of work, does have some added benefits. The most significant include being able to target to a specific demographic and using richer media (e.g. images and video) in advertisements. Google&rsquo;s <a href="http://www.google.com/adsense/">AdSense</a>, on the other hand, is an example of a newer, content-based approach to delivering advertisements.  Known abstractly as &ldquo;<a href="http://en.wikipedia.org/wiki/Contextual_advertising">contextual advertising</a>,” it optimizes ad placement by analyzing the content of the website and listing the only most relevant promotions. Doing this by looking at topics, keywords, and phrases pretty well guarantees that the text-based advertisement will be on line with the focus of the site. Yet, at the same time, those ads lose efficacy when readers learn how to ignore them.</p>
<p>So begins the cat and mouse game.</p>
<p>Facebook, by capitalizing on the <a href="http://www.google.com/search?q=social%2520graph">social graph</a> between its users, is making advertising “social.” Originally exclusive to college students, this social network hasn’t been without its controversial business decisions. One such event, the launch of a tool called the “<a href="http://blog.facebook.com/blog.php?post=2207967130">News Feed</a>” which is designed to aggregate friends’ activities on the site, caused users to go <a href="http://www.time.com/time/nation/article/0,8599,1532225,00.html">up in virtual arms</a> about privacy concerns. A mass exodus was only averted after the founder, Mark Zuckerberg, published an <a href="http://blog.facebook.com/blog.php?post=2208562130">open letter</a> promising to alleviate those worries. He might have to do this again.</p>
<p>Unlike Google’s AdSense, which advertises based off contextual data, Facebook now has two advertising platforms which exploits the social data its users provide: <a href="http://www.facebook.com/business/?socialads">Social Ads</a> and <a href="http://www..facebook.com/business/?beacon">Beacon</a>. Social Ads places advertisements for sponsored businesses and products in the sidebar and previously controversial News Feed. These placements are targeted based on information from a user’s profile; for instance, having “photography” listed as interest in the personal section will incur a higher than normal number of ads for photo contests or camera equipment. The other system, Beacon, works by through a hybridization of “viral marketing.” When a user buys a product on an affiliated site, the information gets sent back to Facebook and is placed in the News Feed of another user. The idea, or at least in theory, is that the advertisers gain traction through a “forced word-of-mouth.” Facebook hopes to make this possible with their platform, although users haven’t been so happy about it.</p>
<p>Personalization is in the future of advertising. AdSense, Beacon and others are only the forerunners in a continual evolution of marketing <em>directly</em> to a consumer. Take, for instance, a product such as Google Maps. In the past year, Google has introduced sponsored, location-based results when a user types in a query like, “<a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=pizza+portland+oregon&amp;ie=UTF8&amp;z=12&amp;om=1">pizza portland oregon</a>.” With the launch of Google’s Android Mobile OS in the next year, Google Maps will be available on a number more handheld devices. Add a GPS-enabled wireless device into the mix and the user will no longer have to type in the “portland oregon.” Google will know, thanks to technology. Thanks to technology, advertising too will become more targeted in every way; based on location through GPS, based on past purchases with online retailers, and based the personal interests listed on social profiles.</p>
<p>Or at least that’s the current trend of thinking.</p>
<h3 id="some-implications">Some implications</h3>
<p>Privacy. A world where information about an individual’s actions flow freely to businesses leave little maneuvering room for a personal life. Transparency should be a two-way street. Consumers need to critically assess how much privacy they are willing to give up, and to whom they want to give it to. In the case of Beacon, the platform has become so disputed that is has attracted the attention of <a href="http://www.moveon.org/">MoveOn.org</a>, a civic action organization normally focused on politics. As part of a multi-pronged approach, the nonprofit created a Facebook Group titled, “<a href="http://www.facebook.com/group.php?gid=5930262681">Petition: Facebook, stop invading my privacy!</a>” and draws upon members to be activists. Their intent is to call upon the company for a public response to an issue which has created headlines such as, “<a href="http://valleywag.com/tech/your-privacy-is-an-illusion/does-facebook-hate-christmas-327664.php">Does Facebook Hate Christmas?</a>,” “<a href="http://gigaom.com/2007/11/06/facebook-beacon-privacy-issues/">Is Facebook a Privacy Nightmare?</a>” and “<a href="http://bits.blogs.nytimes.com/2007/11/08/are-facebooks-social-ads-illegal/">Are Facebook’s Social Ads Illegal?</a>” With enough voices, and media publicity, the tactic is sure to be successful; Facebook, unless interested in committing financial suicide, has no interest in causing the entire <em>core</em> of its business model to migrate to another social network. What the long-term loss, or gain, to user privacy is, however, has yet to be decided.</p>
<p>Integrity. The effect advertising has on content is also a very important question. In a world where it is becoming the <em>easier</em> choice to monetize a business with paid advertising, one must ask what sort of effect such as decision has on independence. Take journalism, for instance. Although this model is not yet entirely true of major papers, many blogs write journalistically, are supported by advertisers, and have become primary sources for niche news. Without an established and <em>transparent</em> code of ethics, it is impossible to guess at the editorial integrity of a website. Some naive audiences assume their authority, but <em>every</em> reader must be a critical reader and look at the policies behind their business practices. Grist and The Economist, for instance, have advertising policy links on top of clearly defined ads. Some sites running Google AdSense, conversely, embed their advertisements in the content of the page or in faux navigation bars. An uneducated visitor, subsequently, does not know the different between what is real and what is advertisement. For the integrity of journalism, and of all media, there needs to be a clear line between independent content and advertising.</p>
<p>In an economy increasingly dependent on universal participation, it doesn’t pay to exploit user data. Using those same crowds to deduce such a decision, however, is a smart choice to make.</p>
<p><em>Written for the final paper in J 201 Mass Media and Society. Also available to download in <a href="/downloads/documents/20071203-J201-FinalPaper.pdf">PDF</a></em></p>
]]></content:encoded>
    </item>
    <item>
      <title>The infamous dev site</title>
      <link>https://danielbachhuber.com/the-infamous-dev-site/</link>
      <pubDate>Wed, 28 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/the-infamous-dev-site/</guid>
      <description>&lt;p&gt;One of the coolest things about &lt;a href=&#34;http://www.wordpress.org/&#34;&gt;WordPress&lt;/a&gt; is the ability to create &lt;a href=&#34;http://codex.wordpress.org/Using_Themes/&#34;&gt;themes&lt;/a&gt;. It makes the seemingly simple blogging software into a (somewhat) full fledged content management system; so much so that when I start a project for a new website I ask, &amp;ldquo;why not use WordPress?&amp;rdquo; Publishing new content in the form of posts or pages is so easy, it&amp;rsquo;s nearly pain-free!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of the coolest things about <a href="http://www.wordpress.org/">WordPress</a> is the ability to create <a href="http://codex.wordpress.org/Using_Themes/">themes</a>. It makes the seemingly simple blogging software into a (somewhat) full fledged content management system; so much so that when I start a project for a new website I ask, &ldquo;why not use WordPress?&rdquo; Publishing new content in the form of posts or pages is so easy, it&rsquo;s nearly pain-free!</p>
<p>The ease of use associated with WP also makes launching new designs very addicting. I&rsquo;m currently working on three:</p>
<ul>
<li><strong>dub</strong> - A new, minimalist theme for my personal website. It&rsquo;s going to take a bit of hackery, but I&rsquo;m planning on building both a blog <em>and</em> a photography portfolio into this, among other things.</li>
<li><strong>OSO</strong> - Short for open-source organization, OSO is a theme dedicated to presenting small, student-run organizations as professionally as possible. This theme is being built to address the demands of <a href="http://www.whitmandirectaction.org/">Whitman Direct Action</a>, while at the same time attempting to be as modular and simple as possible to allow adaptation and redeployment with little modification. It&rsquo;s first and subsequent releases will be licensed under Creative Commons.</li>
<li><strong>dental</strong> - WordPress goes medical. It&rsquo;s at its infancy right now at a <a href="http://preview.milwaukiefamilydental.com/">dev site</a>, but I will be making significant progress on it over the week (or at least I should, as I&rsquo;m getting paid to work on it!). WP&rsquo;s ease of use should allow Milwaukie Family Dental to update content without having to deal with any messy and static HTML.</li>
</ul>
<p>In <a href="http://preview.danielbachhuber.com/">my dev set-up</a> right now, I&rsquo;m working on the OSO theme listed above. It should be ready for a version 0.1 release any day now. Shout out to <a href="http://www.grist.org/">Grist</a> for introducing me to the concept of a dev environment (and not trying to build a theme on a live website, haha).</p>]]></content:encoded>
    </item>
    <item>
      <title>Brilliant feature o&#39; the day: Skype&#39;s Call-Forwarding</title>
      <link>https://danielbachhuber.com/brilliant-feature-o-the-day-skypes-call-forwarding/</link>
      <pubDate>Sun, 21 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/brilliant-feature-o-the-day-skypes-call-forwarding/</guid>
      <description>&lt;p&gt;Why? Because now someone &lt;em&gt;anywhere&lt;/em&gt; in the world can call my cellphone for trés cheap. If I don&amp;rsquo;t pick up, they&amp;rsquo;re forwarded to &lt;em&gt;my cellphone&amp;rsquo;s&lt;/em&gt; voicemail.&lt;/p&gt;&#xA;&lt;p&gt;This, my friend, is feature of sheer brilliance. I love you &lt;a href=&#34;http://www.skype.com/&#34;&gt;Skype&lt;/a&gt;!&lt;/p&gt;&#xA;&lt;p&gt;To enable this functionality, you&amp;rsquo;ve got to have the absurdly cheap &lt;a href=&#34;http://www.skype.com/products/skypeout/&#34;&gt;Skype Out&lt;/a&gt;. Once you&amp;rsquo;ve signed up:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open Skype&lt;/li&gt;&#xA;&lt;li&gt;Go to &amp;ldquo;File -&amp;gt; Preferences&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Click on the &amp;ldquo;Calls&amp;rdquo; tab&lt;/li&gt;&#xA;&lt;li&gt;Activate the &amp;ldquo;Call Forwarding&amp;rdquo; box and enter your phone number with country code&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;It&amp;rsquo;s that simple! As an added bonus, when you&amp;rsquo;re not around a computer, it looks like you&amp;rsquo;re online anyway; you don&amp;rsquo;t have to be signed into Skype for someone half the way around the world to talk to you!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Why? Because now someone <em>anywhere</em> in the world can call my cellphone for trés cheap. If I don&rsquo;t pick up, they&rsquo;re forwarded to <em>my cellphone&rsquo;s</em> voicemail.</p>
<p>This, my friend, is feature of sheer brilliance. I love you <a href="http://www.skype.com/">Skype</a>!</p>
<p>To enable this functionality, you&rsquo;ve got to have the absurdly cheap <a href="http://www.skype.com/products/skypeout/">Skype Out</a>. Once you&rsquo;ve signed up:</p>
<ol>
<li>Open Skype</li>
<li>Go to &ldquo;File -&gt; Preferences&rdquo;</li>
<li>Click on the &ldquo;Calls&rdquo; tab</li>
<li>Activate the &ldquo;Call Forwarding&rdquo; box and enter your phone number with country code</li>
</ol>
<p>It&rsquo;s that simple! As an added bonus, when you&rsquo;re not around a computer, it looks like you&rsquo;re online anyway; you don&rsquo;t have to be signed into Skype for someone half the way around the world to talk to you!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Components of an open-source organization: Part one</title>
      <link>https://danielbachhuber.com/components-of-an-open-source-organization-part-one/</link>
      <pubDate>Tue, 09 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/components-of-an-open-source-organization-part-one/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the first in what I hope to be a series of articles on applying the concept of &amp;ldquo;&lt;a href=&#34;http://en.wikipedia.org/wiki/Open_source&#34;&gt;open-source&lt;/a&gt;&amp;rdquo; to a non-profit organization.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;A month or so ago, I was hit with the notion that the open-source movement might be applicable to systems beyond software. What I quickly realised, much like when I &amp;ldquo;invented&amp;rdquo; the word guesstimate, is that someone had probably already thought of this idea. Undaunted, I began to brainstorm on how I might apply it to an organization I&amp;rsquo;m working with called &lt;a href=&#34;http://www.whitmandirectaction.org&#34;&gt;Whitman Direct Action&lt;/a&gt;, primarily because I feel the concept behind the organization itself is revolutionary and could prove to be a useful model for other colleges and universities to build upon.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>This is the first in what I hope to be a series of articles on applying the concept of &ldquo;<a href="http://en.wikipedia.org/wiki/Open_source">open-source</a>&rdquo; to a non-profit organization.</em></p>
<p>A month or so ago, I was hit with the notion that the open-source movement might be applicable to systems beyond software. What I quickly realised, much like when I &ldquo;invented&rdquo; the word guesstimate, is that someone had probably already thought of this idea. Undaunted, I began to brainstorm on how I might apply it to an organization I&rsquo;m working with called <a href="http://www.whitmandirectaction.org">Whitman Direct Action</a>, primarily because I feel the concept behind the organization itself is revolutionary and could prove to be a useful model for other colleges and universities to build upon.</p>
<p>For those who are not well-versed in open-source&rsquo;s history, the philosophy could be argued to have gone pop culture with <a href="http://en.wikipedia.org/wiki/Linux">Linux</a>, a free-to-use and distribute operating system licensed under the <a href="http://en.wikipedia.org/wiki/GNU_General_Public_License">GNU Public License</a>. The idea of free software had existed long before Linus Torvald started working on his operating system but, from my uneducated viewpoint, that&rsquo;s when it began to go mainstream. At present, Linux has become the dominant operating system for many of the internet&rsquo;s web servers, and a popular distro called <a href="http://www.ubuntu.com/">Ubuntu</a> is <em>rapidly</em> gaining popularity as a free and open alternative to Microsoft&rsquo;s proprietary Windows operating system. Unless the trend changes, and again from my viewpoint, open-source architecture will continue moving broadening its marketshare because of the speed at which intellectual property now moves across the internet, as well as the apparent mutual advantages to people who collaborate on open-source projects.</p>
<p>This change in scenery is also apparent with the rapid rise of <a href="http://www.wikipedia.org/">Wikipedia</a>, a system that encourages adapting and building upon intellectual material. Wikipedia, for those who have been living under a rock for the past few years, is &ldquo;the free dictionary&rdquo; where anyone can edit and improve upon its articles. It relies on the collective intelligence of the masses, something normally believed to be inferior to a professional editor. However, a <a href="http://www.wired.com/culture/lifestyle/news/2005/12/69844">recent study</a> found the <em>Encyclopaedia Britannica</em> had just a <em>small percentage</em> less errors per article than the seven year-old Wikipedia. Considering Wikipedia now has <a href="http://en.wikipedia.org/wiki/Wikipedia">8.29 million articles in 253 languages</a> compared to the <em>Britannica&rsquo;s</em> <a href="http://en.wikipedia.org/wiki/Encyclop%C3%A6dia_Britannica">29 print volumes</a>, it&rsquo;s no stretch to say the writing is on the wall.</p>
<p>Open-source is a tricky concept to explain to people who have little to no experience with programming. For those beginners, the term &ldquo;source&rdquo; refers to the structure of commands which lie behind any digitally created object and &ldquo;open&rdquo; implies that the code is free to use and distribute. Take, for instance, the construction of an automobile. Most cars and trucks have, among other things, an engine, a drivetrain, and a way to control the vehicle, sometimes called the wheel, gas pedal, and brake. Those systems are parallel conceptually to code in the digital world because they are the means to an end. They determine the overall output of the product. When you apply open-source to a car or truck, this means that the parts, or information to create the parts, is to be freely used and distributed. If person B wants to improve upon person A&rsquo;s automobile, they would be free to copy and adapt person A&rsquo;s orginal designs. Of course, persons C and A could then have access to the adaptations as well. In fact, a system like the one illustrated is beginning to take place in China. Don Tapscott and Anthony Williams&rsquo; <em>Wikinomics: How Mass Collaboration Changes Everything</em> documents how businessmen in China have opted to open-source the designs of their motorcycles to cut down on the costs associated with developing intellectual property. Working together is now becoming a <em>very</em> smart business decision.</p>
<p>In another example, this piece of writing is being published by the open-source blogging software <a href="http://www.wordpress.org/">WordPress</a>, and some of its research has been done on Wikipedia. The list goes on.</p>
<p>Jumping the fence from open-sourcing intellectual property such as code and blueprints to the functional structure of an organization has only recently become possible; thanks for the ability to do this goes to the spreading ubiquity of the internet, and the brilliant tools some companies are building on top of it. An open-source organization is one which seeks to become <em>completely</em> transparent to the public, meaning that any or all of its processes are easily visible and adaptable.</p>
<p>With Whitman Direct Action, or at least initially, we hope to:</p>
<ul>
<li>Podcast all and any of our staff meetings or phone calls</li>
<li>Transform the departamental update emails into blog posts, and encourage interstaff discussion in the form of comments</li>
<li>Make our financial strategies and budget freely available online</li>
<li>License applicable content through <a href="http://www.creativecommons.org/">Creative Commons</a></li>
<li>Actively seek feedback from the community on any aspect of our organization, and make that conversation open to anyone</li>
</ul>
<p>The driving philosophy, of course, is to make our organization &ldquo;open-source&rdquo; in the same sense of any software code: free to use, distribute, or modify.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Mint: Great idea, but obviously not a finished product</title>
      <link>https://danielbachhuber.com/mint-great-idea-but-obviously-not-a-finished-product/</link>
      <pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/mint-great-idea-but-obviously-not-a-finished-product/</guid>
      <description>&lt;p&gt;I received an email earlier today from my friend DJ Strouse regarding what I felt about &lt;a href=&#34;http://www.mint.com/&#34;&gt;Mint&lt;/a&gt;, a newly launched personal finance organizer, and I thought: why not blog it?&lt;/p&gt;&#xA;&lt;p&gt;Overall, it&amp;rsquo;s a wonderful idea for a niche whose surface has yet to be even scratched. Personal finance is an area I feel I&amp;rsquo;m extremely disorganized in and Mint does an excellent job of presenting, in web 2.0 fashion, my income and spending trends. I especially like the ability to receive alerts if I&amp;rsquo;m spending too much, or one of my accounts gets too low. Set-up correctly, this has the potential to be a very valuable tool in itself and could possibly make personal finance a brain-dead task.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I received an email earlier today from my friend DJ Strouse regarding what I felt about <a href="http://www.mint.com/">Mint</a>, a newly launched personal finance organizer, and I thought: why not blog it?</p>
<p>Overall, it&rsquo;s a wonderful idea for a niche whose surface has yet to be even scratched. Personal finance is an area I feel I&rsquo;m extremely disorganized in and Mint does an excellent job of presenting, in web 2.0 fashion, my income and spending trends. I especially like the ability to receive alerts if I&rsquo;m spending too much, or one of my accounts gets too low. Set-up correctly, this has the potential to be a very valuable tool in itself and could possibly make personal finance a brain-dead task.</p>
<p>The ability to track purposes with both categories and tags follows along with the web 2.0 vein, and shows that the company is forward thinking in its organizational philosophies. The user-interface for changing categories, however, could be drastically improved. If a purchase from a company is miscategorized, the user has to select all of the purchases on the list one by one in order to do a batch update. The smarter way to do this would be along the lines of gMail&rsquo;s &ldquo;filter&rdquo; feature. I want the ability to apply my setting to previous purchases, not just future ones!</p>
<p>Presenting ways to save with sponsored companies is a brilliant, and often under-utilized, business model. It is smart and sustainable primarily because, ideally, both the consumer and the company win. Although I&rsquo;m somewhat wary of switching credit cards when I don&rsquo;t want to, I&rsquo;m pretty sure Citigroup&rsquo;s claim that they can save me $560 is a valid one.</p>
<p>Furthermore, the web-app appears to be (or at least according to my uneducated audit) very secure. From their <a href="http://mint.com/safe.html">security policy</a>:</p>
<blockquote>
<ul>
<li>We require only a valid email address for login registration for the service. Notice that our signup page never asks for your name, address, or SSN.</li>
<li>Your personal information is never sold to third parties. You will not end up on someone else’s email list.</li>
<li>You can delete your account at any time.</li>
</ul></blockquote>
<p>and:</p>
<blockquote>
<ul>
<li>All data storage is encrypted. Not only are our hard-drives encrypted, our servers are in a secure facility protected by biometrics palm scanners and 24/7 security guards.</li>
<li>We hack our own site. Mint runs thousands of tests on its own software to ensure security. We scan our ports, test for SQL injection, and protect against cross-site scripting. We also update and patch our software all the time.</li>
</ul></blockquote>
<p>With all of that being said though, it doesn&rsquo;t work at all with my financial information. I got the service to recognize my credit card account, but the account shows up twice and I can&rsquo;t figure out how to stop it from doing that. Duplicate charges are no fun weeding out. On top of that, Mint isn&rsquo;t even able to access my bank account and presents all sorts of crazy errors.</p>
<p>Mint, the recently-public personal finance manager, is a wonderful idea conceptually, but it will probably be a couple of months before I can recommend anyone dedicating the time to making it actually work.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WDA revision 1 is now live</title>
      <link>https://danielbachhuber.com/wda-revision-1-is-now-live/</link>
      <pubDate>Wed, 22 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/wda-revision-1-is-now-live/</guid>
      <description>&lt;p&gt;A site that I coded by hand last Saturday is now up and running at &lt;a href=&#34;http://www.whitmandirectaction.org/&#34;&gt;www.whitmandirectaction.org&lt;/a&gt;; check it out and let me know what you think!&lt;/p&gt;&#xA;&lt;p&gt;It was a pain and a half to create, undergoing at least 3 complete re-writes, because I went at it not knowing what I wanted to create (nor did I have a color scheme). Every site I looked at for inspiration added more ideas to the mix, the CSS would then break, and I would have to do it all over again. Note to self: have a sketched understanding of what you want to build before you go about building it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A site that I coded by hand last Saturday is now up and running at <a href="http://www.whitmandirectaction.org/">www.whitmandirectaction.org</a>; check it out and let me know what you think!</p>
<p>It was a pain and a half to create, undergoing at least 3 complete re-writes, because I went at it not knowing what I wanted to create (nor did I have a color scheme). Every site I looked at for inspiration added more ideas to the mix, the CSS would then break, and I would have to do it all over again. Note to self: have a sketched understanding of what you want to build before you go about building it.</p>
<p>The idea for a broad blue banner came from the startpage for <a href="http://www.google.com/analytics/">Google Analytics</a> and I modeled the concept of a clean FAQ off of <a href="http://www.parakey.com/">Parakey&rsquo;s</a> splashpage. Those FAQs, at least at this point, are in need of a complete re-write because I was completely bombed out at the end of the Saturday. If you have any questions about wDA, or want to learn more about my idea of an open-source organization, feel free to <a href="http://www.danielbachhuber.com/contact/">contact me</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Yo yo yo, I have a site</title>
      <link>https://danielbachhuber.com/yo-yo-yo-i-have-a-site/</link>
      <pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://danielbachhuber.com/yo-yo-yo-i-have-a-site/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s danielbachhuber.com and will be powered off of Wordpress. Developments will be made to it when I have time to do so check back often!  This includes photos, blog posts, and side projects. In the meantime, though, why don&amp;rsquo;t you check out the &lt;a href=&#34;http://www.whitmanpioneer.com&#34;&gt;Whitman Pioneer&lt;/a&gt;? It&amp;rsquo;s a project I&amp;rsquo;m working on actively, and I would love any feedback you can give me!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s danielbachhuber.com and will be powered off of Wordpress. Developments will be made to it when I have time to do so check back often!  This includes photos, blog posts, and side projects. In the meantime, though, why don&rsquo;t you check out the <a href="http://www.whitmanpioneer.com">Whitman Pioneer</a>? It&rsquo;s a project I&rsquo;m working on actively, and I would love any feedback you can give me!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
