<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Eric's Thoughts</title><link>http://ericholscher.com</link><description>Surfing in Kansas</description><copyright>2013, Eric Holscher</copyright><lastBuildDate>Thu, 04 Apr 2013 19:00:00 -0000</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/EricsThoughts" /><feedburner:info uri="ericsthoughts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Prepping for the Pacific Crest Trail</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/5RclSEdznfQ/preping-pct.html</link><description>&lt;div class=section id=prepping-for-the-pacific-crest-trail&gt;
&lt;h1&gt;Prepping for the Pacific Crest Trail&lt;a class=headerlink href=http://ericholscher.com/blog/2013/apr/4/preping-pct.html#prepping-for-the-pacific-crest-trail title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;My time in Portland in winding down, and the trail is approaching in my minds eye. I leave on the 14th of April, and 6 in the morning. Setting out on a jet-plane to San Diego. I will spend the night on the 14th and be transported to the trailhead at sunrise the following day.&lt;/p&gt;
&lt;div class=section id=prep&gt;
&lt;h2&gt;Prep&lt;a class=headerlink href=http://ericholscher.com/blog/2013/apr/4/preping-pct.html#prep title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I have been attempting to walk 10 miles a day, and gain 1000 feet of elevation. I have been using a Fitbit to keep objective data about my day, and I’ve been doing pretty well in this department. My longest hike was a 20 mile hike that went from Terwilliger Blvd in Southwest Portland, along the west hills, into Forest Park. That day exhausted me, but it was good to see my body could do 20 miles in a day, seeing that’s what I need to average to complete my journey.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=gear&gt;
&lt;h2&gt;Gear&lt;a class=headerlink href=http://ericholscher.com/blog/2013/apr/4/preping-pct.html#gear title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I have my gear pretty much dialed in. My &lt;a class="reference external" href="http://postholer.com/journal/viewGearlist.php?sid=8e4a8a7092365242b81959e2570b2e25&amp;amp;event_id=1504"&gt;gear list&lt;/a&gt; is available on Postholer, and is mostly up to date. I’m pretty happy with all of my gear selections, having done a couple of test hikes overnight.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=online-presence&gt;
&lt;h2&gt;Online Presence&lt;a class=headerlink href=http://ericholscher.com/blog/2013/apr/4/preping-pct.html#online-presence title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I have been gathering my online assets together, and consolidating. I have moved my blog from a Django app into a Sphinx repo hosted on Read the Docs. That will make it much easier to update, and I don’t have to worry about database backups or anything. It’s all based out of a git repo, and hosted on Read the Docs, which is highly available.&lt;/p&gt;
&lt;p&gt;This means I only have 1 personal server left, and that is running my IRC bouncer. I will likely keep this around just for fun, but I will likely knock down the buffer size on my bouncer so that it doesn’t overwhelm my phone when I log on in the woods. I’ll want to be able to chat with people and keep logs of the channels I’m in, but I don’t need all the scrollback after a week of walking.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=mental-prep&gt;
&lt;h2&gt;Mental Prep&lt;a class=headerlink href=http://ericholscher.com/blog/2013/apr/4/preping-pct.html#mental-prep title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The big part of the journey currently is just getting my head into a good state. The concept of hiking the PCT is becoming very real, and it’s scary and exciting as hell. I know it will be an amazing experience, but it’s quite the physical feat. It’s also something different; something I have never done anything like before. It’s that nervous feeling that you get when you are pushing your limits.&lt;/p&gt;
&lt;p&gt;I am trying to step back from the emotions I’m experiencing to appreciate the experience of it. Much like watching a movie, I need to appreciate the fear and apprehension that I’m experiencing as an artifact of doing something important and necessary. There is common wisdom that goes along the lines of “The things that scare you the most are the most important to do,” and I’m trying to keep that mindset in the front of my mind.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/5RclSEdznfQ" height="1" width="1"/&gt;</description><pubDate>Thu, 04 Apr 2013 19:00:00 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2013/apr/4/preping-pct.html</guid><feedburner:origLink>http://ericholscher.com/blog/2013/apr/4/preping-pct.html</feedburner:origLink></item><item><title>Announcing Write the Docs</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/EoSDSQpOamY/announcing-write-docs.html</link><description>&lt;div class=section id=announcing-write-the-docs&gt;
&lt;h1&gt;Announcing Write the Docs&lt;a class=headerlink href=http://ericholscher.com/blog/2013/jan/28/announcing-write-docs.html#announcing-write-the-docs title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Documentation is one of the most important parts of a software
project. However, a lot of projects have little or no documentation
to help their (potential) users use the software. A few years ago
we started &lt;a class="reference external" href=https://readthedocs.org&gt;Read the Docs&lt;/a&gt; to help make
hosting documentation easier. Part of the reason was that if
hosting documentation was a solved problem, it would make people
more likely to write docs.&lt;/p&gt;
&lt;p&gt;However, there is still a large hole in the documentation world
around writing documentation. There are some resources about it,
but they are scattered around the internet in random places.
&lt;a class="reference external" href=http://conf.writethedocs.org&gt;Write the Docs&lt;/a&gt; is trying to solve
this problem by getting all of the people that care about
documentation in a room, to improve the art and science of
documentation.&lt;/p&gt;
&lt;p&gt;Write the Docs is two things. The first and more immediately
interesting is that it is a
&lt;a class="reference external" href=http://conf.writethedocs.org&gt;two day conference&lt;/a&gt; in Portland,
Oregon. Held on April 8-9,
&lt;strong&gt;it will bring the community that exists around documentation together.&lt;/strong&gt;
Through this event we will spread a lot of knowledge about how,
why, and when to write documentation.&lt;/p&gt;
&lt;p&gt;The second part of the project is a
&lt;a class="reference external" href=http://docs.writethedocs.org/en/latest/&gt;resource&lt;/a&gt; for people
who are writing documentation. It will solve the problems of
someone who has the question:
&lt;strong&gt;I want to write docs, but what do I write?!&lt;/strong&gt;. It will be a home
of best practices around documentation, and a lot more. We hope it
will serve as a growing resource of all things documentation. We
want to build the canonical source for people who have questions
about documentation, and to further the art of documentation in all
forms.&lt;/p&gt;
&lt;p&gt;Write the Docs will also
&lt;a class="reference external" href=http://docs.writethedocs.org/en/latest/about/community.html&gt;be a community&lt;/a&gt;
that you can become involed in. We are announcing a mailing list
that will serve as a place to ask questions, and bring together all
those who write the docs. In addition, the
&lt;a class="reference external" href=https://github.com/writethedocs/docs&gt;Write the Docs Sphinx repository&lt;/a&gt;
is open source, and accepting contributions to the information
there.&lt;/p&gt;
&lt;p&gt;All of the above is a work in progress. I hope you join me in
supporting and contributing these projects. I believe that they
will advance the state of the software community in many ways. The
&lt;a class="reference external" href=http://docs.writethedocs.org/en/latest/about/vision.html&gt;vision&lt;/a&gt;
for the project lays out some of the things that we want to
accomplish.&lt;/p&gt;
&lt;p&gt;Remember: Docs or it didn’t happen :)&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/EoSDSQpOamY" height="1" width="1"/&gt;</description><pubDate>Mon, 28 Jan 2013 09:05:26 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2013/jan/28/announcing-write-docs.html</guid><feedburner:origLink>http://ericholscher.com/blog/2013/jan/28/announcing-write-docs.html</feedburner:origLink></item><item><title>A Walk in the Woods</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/u-vLg_ExgtQ/walk-woods.html</link><description>&lt;div class=section id=a-walk-in-the-woods&gt;
&lt;h1&gt;A Walk in the Woods&lt;a class=headerlink href=http://ericholscher.com/blog/2013/jan/10/walk-woods.html#a-walk-in-the-woods title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’ve recently schemed some very large changes in my life, and I
have been trying to figure out how to blog about it. It all starts
with quitting my job at Urban Airship. I sent an email to the staff
announcing my departure, and I can’t think of a better way to
remember this moment in time than to include it in full in my blog.
So, here is the letter I wrote to everyone at work when I left the
company.&lt;/p&gt;
&lt;hr class=docutils&gt;
&lt;p&gt;All,&lt;/p&gt;
&lt;p&gt;It’s with great anticipation and mixed feelings that I announce the
end of my ride upon the Airship.&lt;/p&gt;
&lt;p&gt;For I am leaving to face a greater challenge and a personal life
goal. I will be attempting to walk 2650 miles from Mexico to Canada
along the Pacific Crest Trail starting in the spring. Doing a
thru-hike of the AT or the PCT has long been something I have
wanted to do, and I am in a place in my life where the
responsibilities I have are minimal, so it seems like a great time
to go walk in the woods for 5 months. The approximate timeline is
from April 15~September 30.&lt;/p&gt;
&lt;div class="figure align-center"&gt;
&lt;img alt="Pacific Crest Trail" src=http://i.imgur.com/rpU5z.jpg&gt;
&lt;p class=caption&gt;Pacific Crest Trail&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I will be starting training for the hike immediately, and that is
hard with a full time job. Luckily, I have been offered a contract
gig to work on my side project Read the Docs for as many hours as I
want until I leave. This is another life dream come true, the
ability to get paid to work on an Open Source project that I have
created.&lt;/p&gt;
&lt;p&gt;With this confluence of fortune, I leave the Airship for what
should be one of the most amazing years of my life.&lt;/p&gt;
&lt;p&gt;I would like to thank everyone who I have had the opportunity to
work with here at UA, because it has been the best job of my life.
Watching the company grow from 15 to over 100 people has been a
formative experience in my professional life. I can only hope that
I will get another chance to watch such an amazing group of people
build such a great company again.&lt;/p&gt;
&lt;p&gt;My last day will be Friday, Jan 18th. So, feel free to come accost
me while I’m still here and ask me questions, or call me crazy, or
give me hugs. I’ll also be kicking around in Portland until April,
so I should still be around for the PDX Python meetups and other
bits and pieces.&lt;/p&gt;
&lt;p&gt;My personal email address is &lt;a class="reference external" href=mailto:eric%40ericholscher.com&gt;eric&lt;span&gt;@&lt;/span&gt;ericholscher&lt;span&gt;.&lt;/span&gt;com&lt;/a&gt; if you want to
keep in touch. I will be blogging about my experience on my website
at &lt;a class="reference external" href=http://ericholscher.com&gt;http://ericholscher.com&lt;/a&gt;, if you want to follow along. There
isn’t anything there yet because this wasn’t public knowledge, but
I will start posting about it soon.&lt;/p&gt;
&lt;div class="figure align-center"&gt;
&lt;img alt="Cop High Five" src=http://i.imgur.com/IXspr.gif&gt;
&lt;p class=caption&gt;Cop High Five&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;“Live in each season as it passes; breathe the air, drink the
drink, taste the fruit, and resign yourself to the influence of the
earth.” ― Henry David Thoreau, Walden&lt;/p&gt;
&lt;p&gt;Cheers, Eric&lt;/p&gt;
&lt;p&gt;tl;dr:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;I’m leaving Urban Airship.&lt;/li&gt;
&lt;li&gt;I’m going to be hiking 2650 miles from Mexico to Canada on the
Pacfic Crest Trail starting on April 15, hopefully ending near the
end of September.&lt;/li&gt;
&lt;li&gt;I’ve gotten a contracting gig to work on Read the Docs (my open
source side project) for as many hours as I wish until then.&lt;/li&gt;
&lt;li&gt;How much I love you: lots&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;tl;dr gif:&lt;/p&gt;
&lt;div class="figure align-center"&gt;
&lt;img alt="Oregon Trail" src=http://i.imgur.com/eZGh9.gif&gt;
&lt;p class=caption&gt;Oregon Trail&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/u-vLg_ExgtQ" height="1" width="1"/&gt;</description><pubDate>Thu, 10 Jan 2013 19:08:43 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2013/jan/10/walk-woods.html</guid><feedburner:origLink>http://ericholscher.com/blog/2013/jan/10/walk-woods.html</feedburner:origLink></item><item><title>2012 Year in Review</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/sgRTJD_8lKM/2012-year-review.html</link><description>&lt;div class=section id=year-in-review&gt;
&lt;h1&gt;2012 Year in Review&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/31/2012-year-review.html#year-in-review title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Wow, what a year. 2012 was a great year in my book. I took 2012 off
from a lot of the professional development activies that have taken
up my adult life thus far, and really focused on personal
development. I think I did a great job with that, and I have a
pretty awesome list of things I accomplished this year. I think I
also started to get the full enjoyment out of Oregon this year, in
all its seasons.&lt;/p&gt;
&lt;div class=section id=physical-achievements&gt;
&lt;h2&gt;Physical achievements&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/31/2012-year-review.html#physical-achievements title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The biggest achievement of the year has to be the Petal Pedal I did
in June. That’s a
&lt;a class="reference external" href=http://petalpedal.com/2011/09/the-century/&gt;100 mile bike ride&lt;/a&gt;
through the Willamette Valley in Oregon. I trained for it through
most of the spring with rides that started out around 20 miles and
ended up in around 70-80 miles. Previously the longest bike ride I
had done was probably around 10 miles. The official ride also had
5000 ft of eleveation gain, which added another element of
difficultly. The ride was beautiful though, and went through a
bunch of flower fields and Silver Falls State Park.&lt;/p&gt;
&lt;p&gt;Earlier in 2012, I also started taking up skiing again. I went up
to &lt;a class="reference external" href=http://www.skibowl.com/winter/&gt;Ski Bowl&lt;/a&gt; for night skiing a
bunch. I went ahead and bought a season pass for Ski Bowl for the
2013 season.&lt;/p&gt;
&lt;p&gt;As summer came to Portland, I was outside pretty much all the time.
It was a most excellent summer weather-wise and I took full
advantage of it. I did a bunch of backpacking up on Mount Hood,
with a number of weekend trips to various places including Carin
Basin and Paradise Park. I also went car camping a bunch, including
at Rock Creek in the Santiam State Forest, and Trillium Lake on
Hood. I also stayed in a Yurt on the Oregon Coast for the first
time at Cape Lookout.&lt;/p&gt;
&lt;p&gt;The summer also included a couple fun road trips. I got down to see
Crater Lake, the only national park in Oregon. We camped there for
a night and drove around the rim. It is one of the most amazing
places I have ever been. It’s a crystal clear blue lake, but it’s
in the rim of an extinct volcanoe, at around 5000 ft elevation.
It’s a really amazing geological place and highly recommended.
After that, we drove up to Bend, and camped at Lava Lake, which is
also a beautiful place. We saw tons of ground squirrels and other
wildlife there. We also went through Bend and walked around, and
checked out Smith Rock. The trip concluded with a sunset walk up to
Mirror Lake on hood, and a race against the sun to get back to the
car.&lt;/p&gt;
&lt;p&gt;I made it back home for 2 of my good college friends getting
married (to each other) in DC and visited family in Virginia. I got
some surfing in down in Virginia Beach, which was great. It’s
something I miss about Oregon, because the water is so cold here.
Made it out to the Oregon Coast, but it’s mainly just good for
looking instead of swimming in.&lt;/p&gt;
&lt;p&gt;The summer also included some awesome hikes and other activities. I
went out to Hood River a couple times, and actually Wind Surfed and
Paddle Boarded for the first time. We also drove around the east
side of Hood to the Fruit Loop and gorged on cherries and other
delicious fruit. Speaking of fruit, I ate a ton of berries again
this year, with Oregon having some of the finest summer farmers
markets in all the land.&lt;/p&gt;
&lt;p&gt;Hiking was a big draw this year. I went on a number of hikes
including the PCT from Timberline Lodge all the way to Cairn Basin
on a couple different days. Eagle Creek, Angel’s Rest, Dog
Mountain, and a few more in the Columbia River Gorge. I hiked the
Wildwood trail through Forest Park a number of times, however I
didn’t thru-hike it’s 30 miles, will have to save that for next
year.&lt;/p&gt;
&lt;p&gt;As fall came around, things started to slow down. I still did a
bunch of hiking through the fall, and riding my bike. I started
rock climbing around this time to keep up the activity level, and
have been progressing nicely at indoor climbing at the Portland
Rock Gym. I can’t wait to test my skills outside, but I already
noticed my balance and confidence improving on the hikes I did in
the fall.&lt;/p&gt;
&lt;p&gt;As winter came into view, I escaped down to the Turks &amp;amp; Caicos
islands for Christmas. Where I did 7 dives, got my Advanced Open
Water cert, and did a bunch more snorkeling. It was great hanging
out with my family in the warmth, and spending time in the water.
When I got back, I went on my first snowshoeing adventure ever on
Hood. I really like snowshoeing, it’s basically just like hiking in
the snow, just it takes a lot more work!&lt;/p&gt;
&lt;p&gt;This year was also full of Ping Pong. We have a table at work, and
it’s rekindled my love of the game. I played some when I was a kid,
but we have gotten pretty good and serious at work, and it’s been a
pleasure upping my skills again.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=in-list-form&gt;
&lt;h2&gt;In list form&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/31/2012-year-review.html#in-list-form title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A list of firsts for the year:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;Rock Climbing&lt;/li&gt;
&lt;li&gt;Backpacking&lt;/li&gt;
&lt;li&gt;Wind Surfing&lt;/li&gt;
&lt;li&gt;Paddle Boarding&lt;/li&gt;
&lt;li&gt;Snow Shoeing&lt;/li&gt;
&lt;li&gt;Long Distance Biking&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Things that I love that I did more of this year:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;Ping Pong&lt;/li&gt;
&lt;li&gt;Hiking&lt;/li&gt;
&lt;li&gt;Camping&lt;/li&gt;
&lt;li&gt;Skiing&lt;/li&gt;
&lt;li&gt;Diving&lt;/li&gt;
&lt;li&gt;Snorkeling&lt;/li&gt;
&lt;li&gt;Biking&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Things I love that I didn’t do so much of:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;Surfing&lt;/li&gt;
&lt;li&gt;Traveling&lt;/li&gt;
&lt;li&gt;Soccer&lt;/li&gt;
&lt;li&gt;Frisbee&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;New things I want to try next year:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;Bike Camping&lt;/li&gt;
&lt;li&gt;Longer backpacking trips&lt;/li&gt;
&lt;li&gt;Climbing outside&lt;/li&gt;
&lt;li&gt;Climbing Mount Hood and/or St Helens&lt;/li&gt;
&lt;li&gt;Thru hiking Forest Park&lt;/li&gt;
&lt;li&gt;White Water Rafting&lt;/li&gt;
&lt;li&gt;Kayaking&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=section id=conclusion&gt;
&lt;h2&gt;Conclusion&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/31/2012-year-review.html#conclusion title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I’m sure I missed some stuff, but it was a year full of firsts, and
I think I have gotten the most out of Oregon that I could. I chose
to focus on my personal life this year instead of my professional
life, and I think it’s worked out for the best. I have had an
amazing year full of excellent activies outdoors.&lt;/p&gt;
&lt;p&gt;I also saw a bunch of music this year, and met a bunch of awesome
new people, and did a bunch of great things professionally, but I
think the points worth remembering will be the parts above.&lt;/p&gt;
&lt;p&gt;As a wise man once said: &lt;strong&gt;Work to Live, Don’t Live to work&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/sgRTJD_8lKM" height="1" width="1"/&gt;</description><pubDate>Mon, 31 Dec 2012 08:06:17 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2012/dec/31/2012-year-review.html</guid><feedburner:origLink>http://ericholscher.com/blog/2012/dec/31/2012-year-review.html</feedburner:origLink></item><item><title>Interesting projects on Read the Docs: Teaching</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/Bq9_gw7fN_8/interesting-projects-read-docs-teaching.html</link><description>&lt;div class=section id=interesting-projects-on-read-the-docs-teaching&gt;
&lt;h1&gt;Interesting projects on Read the Docs: Teaching&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#interesting-projects-on-read-the-docs-teaching title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As the maintainer of &lt;a class="reference external" href=http://readthedocs.org/&gt;Read the Docs&lt;/a&gt;, I
spend a lot of time looking through
&lt;a class="reference external" href=http://readthedocs.org/random&gt;random projects&lt;/a&gt;, and getting
inspired. People have been doing lots of interesting things with
the project, and I’d like to highlight some of them.&lt;/p&gt;
&lt;p&gt;This edition is focused on teaching. All of these projects are
trying to teach something, and doing it in different ways. Some are
community contributed guides that have many authors, where some are
a single person trying to distill their experience into something
valuable for others.&lt;/p&gt;
&lt;p&gt;The projects mentioned here will be featured on the homepage of
Read the Docs until I do another posting, where those new projects
will take their place.&lt;/p&gt;
&lt;div class=section id=little-books-of-r&gt;
&lt;h2&gt;Little books of R&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#little-books-of-r title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The
&lt;a class="reference external" href=https://little-books-of-r.readthedocs.org/en/latest/&gt;Little Books of R&lt;/a&gt;
were some of the first books that I was aware of on Read the Docs.
They are great little manuals on things that you can do with the
&lt;a class="reference external" href=http://www.r-project.org/&gt;R programming language&lt;/a&gt;, often used
for modeling and graphics.&lt;/p&gt;
&lt;p&gt;There are a few different books, including how to use R with:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;&lt;a class="reference external" href=http://a-little-book-of-r-for-biomedical-statistics.readthedocs.org/&gt;Biomedical Statistics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href=http://a-little-book-of-r-for-time-series.readthedocs.org/&gt;Time Series Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href=http://little-book-of-r-for-multivariate-analysis.readthedocs.org/&gt;Multivariate Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href=http://a-little-book-of-r-for-bioinformatics.readthedocs.org/&gt;Bioinformatics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These books are perfect examples of what publishing online
provides. Short and sweet, to a specific niche, and easily
available.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=ops-school&gt;
&lt;h2&gt;Ops School&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#ops-school title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href=https://readthedocs.org/projects/ops-school/&gt;Ops School&lt;/a&gt; is an
attempt at providing a cirriculum for someone interested in
learning Systems Administration.
&lt;strong&gt;It’s answering the question of “What do I need to know to get a junior sysadmin job” that many people have before starting into a career.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It takes a lot of knowledge that takes years to gather from
experience and attempts to distill it down into a form that is
easily referencable. As this project matures, it will provide a
valuable resource for a lot of information around the running of
systems.&lt;/p&gt;
&lt;p&gt;The project is still in development, and is
&lt;a class="reference external" href=https://ops-school.readthedocs.org/en/latest/introduction.html#how-to-contribute&gt;actively seeking contributors&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=the-hitchhikers-guide-to-python&gt;
&lt;h2&gt;The Hitchhiker’s Guide to Python&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#the-hitchhikers-guide-to-python title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The
&lt;a class="reference external" href=https://python-guide.readthedocs.org/en/latest/&gt;Hitchhiker’s Guide&lt;/a&gt;
is a great project from the Python community. It’s goal is to
provide knowledge on best practices on the daily usage of the
Python language.
&lt;strong&gt;It is trying to answer the question “What do I need to know that I don’t know I need to know.”&lt;/strong&gt;
Known more colloquially as &lt;em&gt;unknown unknown’s&lt;/em&gt;, this knowledge is
the hardest to gain. Having a guide from the community about the
things that you should probably know about is invaluable as a new,
or even experienced member of that community.&lt;/p&gt;
&lt;p&gt;This project is also in
&lt;a class="reference external" href=https://github.com/kennethreitz/python-guide&gt;active development&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=thoughts-on-restful-api-design&gt;
&lt;h2&gt;Thoughts on RESTful API Design&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#thoughts-on-restful-api-design title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href=https://restful-api-design.readthedocs.org/en/latest/&gt;These thoughts&lt;/a&gt;
are a great collection of experience from someone who has built
production REST APIs. If you are tasked with creating an API for a
web site, it’s a great read.
&lt;strong&gt;It provides a good framework for understanding how the API fits in with the rest of the application, as well as what makes a good API.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=conclusion&gt;
&lt;h2&gt;Conclusion&lt;a class=headerlink href=http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html#conclusion title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I love the idea of Read the Docs as a medium of teaching, as well
as just documenting software projects.
&lt;strong&gt;Please let me know of other interesting projects that you’ve found, and I can include them.&lt;/strong&gt;
Raising awareness of these great resources is valuable, and
hopefully it will reach more people who can learn from them.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/Bq9_gw7fN_8" height="1" width="1"/&gt;</description><pubDate>Sat, 01 Dec 2012 18:27:15 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html</guid><feedburner:origLink>http://ericholscher.com/blog/2012/dec/1/interesting-projects-read-docs-teaching.html</feedburner:origLink></item><item><title>Help fund Read the Docs</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/QiPKonj9cYY/help-fund-read-docs.html</link><description>&lt;div class=section id=help-fund-read-the-docs&gt;
&lt;h1&gt;Help fund Read the Docs&lt;a class=headerlink href=http://ericholscher.com/blog/2012/sep/20/help-fund-read-docs.html#help-fund-read-the-docs title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Currently &lt;a class="reference external" href=http://readthedocs.org&gt;Read the Docs&lt;/a&gt; is funded
mainly through Corporate sponsorship. The Django and Python
Software Foundations (non-profits), Mozilla, Lab305, Revsys, and
others have helped keep the site running. However, this requires
finding sponsors to help donate to the site every 6 months or so to
keep things running.&lt;/p&gt;
&lt;p&gt;I want to try out a new idea that is effectively a subscription to
the website. When people pay for something, they expect certain
things. A promise of support, uptime, and other work are basically
being transfered in the mind of the person providing payment. I
know some places try to explicitly denounce this transaction, but
it is still there.&lt;/p&gt;
&lt;p&gt;This is where &lt;a class="reference external" href=http://gittip.com/&gt;Gittip&lt;/a&gt; comes in. It has the
idea of funding a person to do work through anonymous donations.
The thinking behind this is that the person recieving the money now
has no sense of obligation to the person giving money. This allows
them to take the money and continue to work on Open Source without
feeling pressured to work on the things a specific person giving
them money cares about.&lt;/p&gt;
&lt;p&gt;I think this same idea can apply to software projects. Read the
Docs doesn’t cost a huge amount of money to run every month - it
costs a lot less than keeping a person alive and happy. So, I think
that the first success story for Gittip funding something could
easily be a project instead of a person. This funding model would
then allow Read the Docs to support itself over time - without
having to try and get support and investment again.&lt;/p&gt;
&lt;p&gt;Read the Docs currently costs about $300/mo to run. This includes 6
servers (2 web, LB, Build, Database, Util/Monitoring), over 350GB
of data transfered, over 100GB of repositories, and it serves over
3 million page views every month. We expect these costs to slowly
rise as we get more and more traffic, but that is the goal we are
currently aiming to hit. Head to the
&lt;a class="reference external" href=https://www.gittip.com/readthedocs/&gt;Read the Docs gittip page&lt;/a&gt;
if you want to help out.&lt;/p&gt;
&lt;p&gt;This is the beauty of Gittip - when 75 different people are giving
you $4 a month ($1 a week), one can stop giving and it doesn’t
totally destroy the funding. It allows other people to pick up the
slack, and to sustain a dependable revenue stream for the project.&lt;/p&gt;
&lt;p&gt;This is an experiment that I am going to try running to see if we
can get individual sponsorship for the project, instead of
depending on corporate sponsors for the sole source of support.
Once this is achieved, we will look at other ways to spend the
sponsorship we get from corporations, perhaps in more traditional
efforts to advance the code base.&lt;/p&gt;
&lt;p&gt;If this sounds interesting to you, head over to the
&lt;a class="reference external" href=https://www.gittip.com/readthedocs/&gt;Read the Docs gittip page&lt;/a&gt;,
and start donating to the project.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: Wow! We reached the goal of $75 in around 14 hours.
Thanks everyone who has donated to help keep the site running! It
looks like we might reach above our weekly goal. For now, that
money will just be left in an account to help pay for future growth
of the site. If we end up making way more than we need, we’ll find
something awesome to do with it (CDN?!).&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/QiPKonj9cYY" height="1" width="1"/&gt;</description><pubDate>Thu, 20 Sep 2012 12:04:59 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2012/sep/20/help-fund-read-docs.html</guid><feedburner:origLink>http://ericholscher.com/blog/2012/sep/20/help-fund-read-docs.html</feedburner:origLink></item><item><title>The festival that felt like a hug</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/6mNrVnhdFlQ/festival-felt-hug.html</link><description>&lt;div class=section id=the-festival-that-felt-like-a-hug&gt;
&lt;h1&gt;The festival that felt like a hug&lt;a class=headerlink href=http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html#the-festival-that-felt-like-a-hug title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A story about &lt;a class="reference external" href=http://xoxofest.com&gt;XOXO Festival&lt;/a&gt; in 3 acts. I
will start first with something that set the tone, then talk about
the importance to me, and then what I hope comes from it in the
future.&lt;/p&gt;
&lt;div class=section id=act-1-interjecting-awesome&gt;
&lt;h2&gt;Act 1: Interjecting awesome&lt;a class=headerlink href=http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html#act-1-interjecting-awesome title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One moment stood out to me in the swirl of ideas and amazing that
was XOXO. It was at the beginning of the conference, when the
organizers were on stage. They were talking about how they wanted
the conference to be experienced. The sentence that I think changed
the entire conference experience for me (paraphrased):&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;This should be a conference where you can go up to a group of
people you don’t know, and they will include you in their
conversation.&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;This seems like something very simple, but it set an important
social contract. Normally my introverted self will balk at the idea
of joining a group of unknown people. Especially at a conference
with so many people who I look up to and admire. However, this
idea, set forth by the organizers, dispelled this apprehension, and
instead I viewed it as my responsibility to interject.&lt;/p&gt;
&lt;p&gt;This was a fundamental change in how I experienced the conference.
I spend most of my time at conferences talking to people I’ve known
for years, rarely breaking into new groups. At XOXO, though, since
I knew only a few people beforehand and felt compelled to meet new
folks, I spent the entire conference striking up conversations with
complete strangers. This was a profoundly different and amazing
experience.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=act-2-bring-out-your-trolls&gt;
&lt;h2&gt;Act 2: Bring out your trolls&lt;a class=headerlink href=http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html#act-2-bring-out-your-trolls title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Consuming the world through twitter is not a way to be inspired.
Getting together in a room and seeing people who have changed their
world, and the world for others, is an amazing experience. It
allows you to perceive and appreciate people’s aspirations.&lt;/p&gt;
&lt;p&gt;I started XOXO in a funk that can only be explained as cynical. I
had heard of Kickstarter and the ilk, but never really invested or
taken the time to fully let the idea wash over me. As the talks
started, and I heard Kickstarter over and over, it at first felt
like a promotion and a buzz word. However, through the genuine
excitement and joy of bringing something new into the world, my
skepticism turned into inspiration.&lt;/p&gt;
&lt;p&gt;Greed being destructive was a theme behind the conference, and I
think this is the primary thing that won me over. People were
creating things because they wanted them to exist in the world, and
they had to do it. It wasn’t about making money, or getting famous,
but because they had a drive to change a part of life. This drove
the jealousy and skepticism from my heart, and started the search
for the thing in life that I was meant to change.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=act-3-radiating-change&gt;
&lt;h2&gt;Act 3: Radiating change&lt;a class=headerlink href=http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html#act-3-radiating-change title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I think that this conference was an amazing view into a world that
could exist. At a high level it was a distancing from the classical
tech world that is so focused on money. A place where we can be
open, share our ideas, successes, and failures. Somewhere that
people can actually introduce something into the world and have
support for it.&lt;/p&gt;
&lt;p&gt;During the talk on Kickstarter,
&lt;a class="reference external" href=http://www.kickstarter.com/pages/yancey&gt;Yancey&lt;/a&gt; mentioned that
Portland has been the most successful city on Kickstarter.
Something like $7.5M has been given to creators in the rose city.
On the technical side, we have a burgeoning, but not well formed
start up community. This means that we can form this community into
something that is different than has existed in other places.&lt;/p&gt;
&lt;p&gt;As Paul Graham once said,
&lt;a class="reference external" href=http://www.paulgraham.com/cities.html&gt;each city sends you a message&lt;/a&gt;.
I think that this conference was in some ways a call to action,
that a place like XOXO needs to exist in a more permanent manner. I
think that Portland has a chance of doing this going forward. I
can’t, and won’t, try to spell out how this could be done. I will
say that I can’t imagine another city that is better poised to do
it.&lt;/p&gt;
&lt;p&gt;I want Portland to be the place where you come, and think you can
change the world.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/6mNrVnhdFlQ" height="1" width="1"/&gt;</description><pubDate>Tue, 18 Sep 2012 13:29:38 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html</guid><feedburner:origLink>http://ericholscher.com/blog/2012/sep/18/festival-felt-hug.html</feedburner:origLink></item><item><title>Why Read the Docs matters</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/gsBhC2MdUUI/why-read-docs-matters.html</link><description>&lt;div class=section id=why-read-the-docs-matters&gt;
&lt;h1&gt;Why Read the Docs matters&lt;a class=headerlink href=http://ericholscher.com/blog/2012/jan/22/why-read-docs-matters.html#why-read-the-docs-matters title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Documenting projects is hard, hosting them shouldn’t be.
&lt;a class="reference external" href=http://readthedocs.org&gt;Read the Docs&lt;/a&gt; was created to make
hosting documentation simple. I think that we have solved this
problem well, but now we need to start thinking about the larger
picture.&lt;/p&gt;
&lt;p&gt;Along with hosting, Read the Docs was created with 2 other main
goals. One was to encourage people to write documentation, by
removing the barrier of entry of hosting. The other was to create a
central platform for people to find documentation. Having a shared
platform for all documentation allows for innovation at the
platform level, allowing work to be done once and benefit everyone.
Having run the site for over a year now, I think there is a third
thing that we should be striving for. That is to make the quality
of documentation better.&lt;/p&gt;
&lt;p&gt;I think that &lt;strong&gt;we can help a documentation culture flourish&lt;/strong&gt;
within the open source world.
&lt;a class="reference external" href=https://docs.djangoproject.com/en/1.3/&gt;Django&lt;/a&gt; is a shining
example of what a project with great documentation can do, and it
has a community that values docs more than the norm. I think we can
help
&lt;strong&gt;spread this culture throughout the Python world, and beyond&lt;/strong&gt;.
This has already started, and I want to think about how something
like RTD can help.&lt;/p&gt;
&lt;div class=section id=what-we-can-do-to-help&gt;
&lt;h2&gt;What we can do to help&lt;a class=headerlink href=http://ericholscher.com/blog/2012/jan/22/why-read-docs-matters.html#what-we-can-do-to-help title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I think that having a &lt;strong&gt;guide for writing useful documentation&lt;/strong&gt;
would be a great step towards helping people along the path of
documentation enlightenment. Jacob Kaplan-Moss has started down
this road with his
&lt;a class="reference external" href=http://jacobian.org/writing/great-documentation/&gt;blog series&lt;/a&gt;
and Pycon 2011 &lt;a class="reference external" href=http://blip.tv/file/4881071&gt;talk&lt;/a&gt; on this
subject. I think that we could start by collecting these into a
section of the site.&lt;/p&gt;
&lt;p&gt;We could build on top of that great start with simple guides for
how to get started with Sphinx, best practices for documentation,
and providing a general place to learn more about how to write good
documentation. Since we host a lot of documentation, we could point
to live examples of techniques, and provide helpers for people to
enable the techniques.&lt;/p&gt;
&lt;p&gt;I have started a
&lt;a class="reference external" href=http://restructuredtext-philosophy.readthedocs.org/en/latest/index.html&gt;reStructedText Philosophy&lt;/a&gt;
document that is meant to help people understand the ideas behind
how reST works, so that it isn’t as mystifying. This
&lt;a class="reference external" href=http://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html&gt;reST cheatsteet&lt;/a&gt;
also appears to have similar goals. These are a very basic start,
and I think some more along these lines would really help a lot of
people get over the barrier to starting and continuing to write
good documentation.&lt;/p&gt;
&lt;p&gt;I think that we could also help &lt;strong&gt;create contributors&lt;/strong&gt; to
projects, if we could find an easy way to provide patches to
documentation. If you could go to the project documentation, and
fix small typos, or help add a paragraph in the tutorial, it would
lower the bar to helping.&lt;/p&gt;
&lt;p&gt;However, it isn’t a wiki. These changes would be represented to the
project author as pull requests in their VCS, and they would still
be responsible for tending the garden. This gets rid of the “Just
Edit The Wiki” solution of documentation, and also helps new
contributors get started in an easier fashion.&lt;/p&gt;
&lt;p&gt;The Plone community has built a
&lt;a class="reference external" href=http://opensourcehacker.com/2012/01/08/readthedocs-org-github-edit-backlink-and-short-history-of-plone-documentation/&gt;proof of concept, linking to Github’s edit pages for the current document&lt;/a&gt;.
I think we can integrate this at the platform level, and make it
available to everyone.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=want-to-help&gt;
&lt;h2&gt;Want to help?&lt;a class=headerlink href=http://ericholscher.com/blog/2012/jan/22/why-read-docs-matters.html#want-to-help title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Read the Docs is
&lt;a class="reference external" href=https://github.com/rtfd/readthedocs.org&gt;open source&lt;/a&gt;. You can
help by writing docs for the site, writing code for the site, or
just writing documentation in general. People can also help just by
using the site, and reporting bugs. Telling us how to make the site
better helps everyone in the long run. Come join us on Freenode in
the #readthedocs channel as well.&lt;/p&gt;
&lt;p&gt;Another area that we’re hurting is in the design front. We have
been adding features over time, and the design of the site is
getting a bit strained. Having someone with a good sense of design
help re-think and re-architect some of the features and ideas that
we’ve been working on I think would help a lot.&lt;/p&gt;
&lt;p&gt;A lot of the RTD contributors will be at Pycon 2012, where we will
be having a sprint on the site. If you want to get started
contributing, that is a great place to come and get started.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/gsBhC2MdUUI" height="1" width="1"/&gt;</description><pubDate>Sun, 22 Jan 2012 14:08:01 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2012/jan/22/why-read-docs-matters.html</guid><feedburner:origLink>http://ericholscher.com/blog/2012/jan/22/why-read-docs-matters.html</feedburner:origLink></item><item><title>Read the Docs Update</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/JUlaNKvKzlg/read-docs-update.html</link><description>&lt;div class=section id=read-the-docs-update&gt;
&lt;h1&gt;Read the Docs Update&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#read-the-docs-update title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It’s been a while since I last talked about
&lt;a class="reference external" href=http://readthedocs.org&gt;Read the Docs&lt;/a&gt;, and there has been a lot
of activity. This is an update on the latest and greatest new
features.&lt;/p&gt;
&lt;div class=section id=psf-funding&gt;
&lt;h2&gt;PSF Funding&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#psf-funding title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The biggest news that has happened is that we have been given a
grant from the Python Software Foundation to help host the site.
Thanks PSF! They have
&lt;a class="reference external" href=http://pyfound.blogspot.com/2011/03/psf-funds-readthedocsorg.html&gt;blogged about it&lt;/a&gt;,
and I am grateful that they have given us support. With the funds
they have offered, we have been able to make Read the Docs a lot
faster, and more robust. I will outline some of the changes below.&lt;/p&gt;
&lt;p&gt;This also means we won’t be going away any time soon!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=new-theme&gt;
&lt;h2&gt;New Theme&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#new-theme title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have a fancy
&lt;a class="reference external" href=http://read-the-docs.readthedocs.org/en/latest/getting_started.html&gt;new theme&lt;/a&gt;
for documentation on Read the Docs! If you have the ‘default’ theme
for your project, it will show up on the build of your docs on the
site. I think it is pretty great, thanks to the designers who spent
their time making it awesome. A really great feature is that the
&lt;strong&gt;new theme is mobile ready&lt;/strong&gt;. Go ahead and view a project using it
on your phone, or make your browser smaller and you will see the
fanciness. Having a custom theme will give us a base to build lots
of other neat features on top of.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=better-architecture&gt;
&lt;h2&gt;Better architecture&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#better-architecture title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We had some connectivity trouble in between our servers a while
back, and this prompted me to make the site respond better to these
conditions. Every time you view documentation on a subdomain of
readthedocs.org, your request will never hit Django. So all of
these requests will work without a database. We have also added a
second application server with a load balance in front, which means
that one of the app servers could go away and your documentation
would still get served.&lt;/p&gt;
&lt;p&gt;That leaves our load balancer as the main single point of failure
at the moment. We’re using Varnish for the load balancer, and we’ve
implemented strong caching of data. Varnish will cache your docs
for up to a week, and it will be actively purged when you rebuild
your docs. This means that your docs will usually be served out of
memory, and without dependence on any other server but that one. We
have plans to elininate Varnish as a single POF, and then it would
only be our hosting provider that would be a single point of
failure (famous last words).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=intersphinx-support&gt;
&lt;h2&gt;Intersphinx support&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#intersphinx-support title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href=http://sphinx.readthedocs.org/en/latest/ext/intersphinx.html#sphinx.ext.intersphinx&gt;Intersphinx&lt;/a&gt;
is an awesome feature of Sphinx that allows you to reference remote
sphinx documentation easily.
&lt;a class="reference external" href=http://read-the-docs.readthedocs.org/en/latest/features.html#intersphinx-support&gt;RTD now supports it&lt;/a&gt;
for every project that we host.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=improved-rtfd-org&gt;
&lt;h2&gt;Improved rtfd.org&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#improved-rtfd-org title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I’ve always had big ideas for rtfd.org, since it can act as a
short-url for things. &lt;em&gt;projectname&lt;/em&gt;.rtfd.org has always redirects
to the projects docs, but now we have something a lot better.
Inspired by Jacob Kaplan-Moss and his work on django.me, we now
support human-edited deep-linking within documentation hosted on
RTD.&lt;/p&gt;
&lt;p&gt;Taking another page from Jacob’s book, we seeded the index of our
projects with their Intersphinx data, so a lot of references will
automatically work. This works best with API reference docs, but
anything people have put links to in their documentation should
have been picked up. A couple of examples:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;&lt;a class="reference external" href=http://pip.rtfd.org/git&gt;http://pip.rtfd.org/git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href=http://celery.rtfd.org/Task&gt;http://celery.rtfd.org/Task&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href=http://sqlalchemy.rtfd.org/relationship&gt;http://sqlalchemy.rtfd.org/relationship&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you go to a non-existent link on rtfd.org, you will be prompted
to enter a suggested URL. This will help build the data, and make
it more useful for everyone.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=rtd-command-line-utility&gt;
&lt;h2&gt;&lt;a class="reference external" href=https://github.com/ericholscher/rtd&gt;rtd&lt;/a&gt; command line utility&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#rtd-command-line-utility title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RTD has had an
&lt;a class="reference external" href=http://read-the-docs.readthedocs.org/en/latest/api.html&gt;API&lt;/a&gt;
for a while now, and with the addition of the support for rtfd.org,
I thought it would be neat to make it easier to access docs from
the command line. With a simple &lt;tt class="docutils literal"&gt;&lt;span class=pre&gt;pip&lt;/span&gt; &lt;span class=pre&gt;install&lt;/span&gt; &lt;span class=pre&gt;rtd&lt;/span&gt;&lt;/tt&gt;, you will get
an rtd utility that will open docs on RTD. It supports 2 arguments,
the first being a project name, and the second being a slug to
append for the rtfd.org functionality. So like the example above:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;pre&gt;-&amp;gt; rtd pip
Pip Installs Packages.
Opening browser to http://pip.rtfd.org/
-&amp;gt; rtd celery Task
Distributed task queue
Opening browser to http://celery.rtfd.org/Task&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;It hits the RTD API to see if the project is on the site, and only
opens your browser if it doesn’t exist. I hope that in the future
we’ll make it easy to upload a project from the shell, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=more-docs&gt;
&lt;h2&gt;More docs&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#more-docs title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Since we are a documentation site, we’ve always had documentation.
I’ve been adding more as time has gone on, and most of the features
I’ll be talking about today are
&lt;a class="reference external" href=http://read-the-docs.readthedocs.org/en/latest/features.html&gt;already documented&lt;/a&gt;.
I also broke the documentation up into sections for users of the
site, and developers on the codebase, so it should be easier to
find for everyone to find what they are looking for.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=conclusion&gt;
&lt;h2&gt;Conclusion&lt;a class=headerlink href=http://ericholscher.com/blog/2011/apr/11/read-docs-update.html#conclusion title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I think that RTD can be doing a lot more to help out the community
with regards to documentation. I’ll write another post about that
soon. But if you are interested in helping out with the effort, all
of the code is
&lt;a class="reference external" href=https://github.com/rtfd/readthedocs.org&gt;open source&lt;/a&gt; and we
love people to contribute. Feel free to jump in #readthedocs on
Freenode as well, if you have any questions or thoughts.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/JUlaNKvKzlg" height="1" width="1"/&gt;</description><pubDate>Mon, 11 Apr 2011 19:22:37 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2011/apr/11/read-docs-update.html</guid><feedburner:origLink>http://ericholscher.com/blog/2011/apr/11/read-docs-update.html</feedburner:origLink></item><item><title>Using Reviewboard with Git</title><link>http://feedproxy.google.com/~r/EricsThoughts/~3/hcNzj721tzk/using-reviewboard-git.html</link><description>&lt;div class=section id=using-reviewboard-with-git&gt;
&lt;h1&gt;Using Reviewboard with Git&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#using-reviewboard-with-git title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a class="reference external" href=http://www.reviewboard.org/&gt;Reviewboard&lt;/a&gt; is a great tool for
managing the process of Code Reviews. It has pretty good git
support, but it might not be obvious what the best way is to use
it. At work, I have a couple of different ways of pushing up code
for reviews, which I’ll talk about.&lt;/p&gt;
&lt;p&gt;This guide is assuming you are using your own bare repositories, on
the server hosting the Reviewboard instance. It’s mainly here so
that I can remember how to do this next time I need to. Also,
thanks to &lt;a class="reference external" href=http://traviscline.com/blog/&gt;Travis Cline&lt;/a&gt; for the
initial pointers for this post.&lt;/p&gt;
&lt;div class=section id=setting-up-reviewboard&gt;
&lt;h2&gt;Setting up Reviewboard&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#setting-up-reviewboard title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Once you have Reviewboard installed, you need to add a Repository
in the admin, which is located at
&lt;tt class="docutils literal"&gt;&lt;span class=pre&gt;/admin/db/scmtools/repository/&lt;/span&gt;&lt;/tt&gt;. The required fields have the
following values:&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;Name: The name of the project&lt;/li&gt;
&lt;li&gt;Hosting service: Custom&lt;/li&gt;
&lt;li&gt;Repository type: Git&lt;/li&gt;
&lt;li&gt;Path: The path to the local checkout of the git repository (ex.
/var/lib/git/name)&lt;/li&gt;
&lt;li&gt;Mirror Path: The &lt;strong&gt;Url&lt;/strong&gt; to the repository (ex.
&lt;a class="reference external" href=ssh://git@your.server.com/var/lib/git/name&gt;ssh://git@your.server.com/var/lib/git/name&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The
&lt;a class="reference external" href=http://www.reviewboard.org/docs/manual/dev/admin/management/repositories/#git&gt;Repository Documentation&lt;/a&gt;
has more about why you need this screwy configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=post-review&gt;
&lt;h2&gt;post Review&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#post-review title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before we get started, you’re going to want to get the
&lt;a class="reference external" href=http://www.reviewboard.org/docs/manual/dev/users/tools/post-review/&gt;post-review&lt;/a&gt;
tool that works along with Reviewboard. The easiest way to get it
is to &lt;tt class="docutils literal"&gt;&lt;span class=pre&gt;pip&lt;/span&gt; &lt;span class=pre&gt;install&lt;/span&gt; &lt;span class=pre&gt;RBTools&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=pointing-to-the-right-reviewboard-instance&gt;
&lt;h2&gt;Pointing to the right Reviewboard Instance&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#pointing-to-the-right-reviewboard-instance title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The easiest way to make sure your pointing at the right Reviewboard
instance is the &lt;em&gt;.reviewboardrc&lt;/em&gt; file in your home directory. You
only need to add one line to that file, which is:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;div class=highlight&gt;&lt;pre&gt;&lt;span class=n&gt;REVIEWBOARD_URL&lt;/span&gt; &lt;span class=o&gt;=&lt;/span&gt; &lt;span class=s&gt;"https://path.to.your.instance"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you are working with multiple instances that map to different
repos, you can set the Reviewboard instance for the specific repo
as well:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;pre&gt;git config reviewboard.url https://path.to.your.instance&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=section id=reviewing-a-branch&gt;
&lt;h2&gt;Reviewing a Branch&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#reviewing-a-branch title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Alright, now you are all setup to start posting reviews. The
easiest way to do that is to branch off of master, and start
committing. If you are following something similar to
&lt;a class="reference external" href=http://nvie.com/posts/a-successful-git-branching-model/&gt;this awesome branching model&lt;/a&gt;,
this should be your normal workflow. Once your branch is ready to
be merged back into your project, you want to get it reviewed. You
can send a review equivalent to “this branch diffed against master”
like so:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;div class=highlight&gt;&lt;pre&gt;&lt;span class=n&gt;post&lt;/span&gt;&lt;span class=o&gt;-&lt;/span&gt;&lt;span class=n&gt;review&lt;/span&gt; &lt;span class=o&gt;--&lt;/span&gt;&lt;span class=n&gt;guess&lt;/span&gt;&lt;span class=o&gt;-&lt;/span&gt;&lt;span class=n&gt;summary&lt;/span&gt; &lt;span class=o&gt;--&lt;/span&gt;&lt;span class=n&gt;guess&lt;/span&gt;&lt;span class=o&gt;-&lt;/span&gt;&lt;span class=n&gt;description&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=section id=reviewing-one-commit&gt;
&lt;h2&gt;Reviewing one commit&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#reviewing-one-commit title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another thing I find myself doing a lot is working on my master,
and only having one commit to review. In theory this should
probably be done on a bugfix branch, but such is life. There are
other good use cases for only reviewing the latest commit as well.
It’s done like so:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;pre&gt;post-review --guess-summary --guess-description --parent=HEAD^&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=section id=reviewing-arbitrary-number-of-commits&gt;
&lt;h2&gt;Reviewing arbitrary number of commits&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#reviewing-arbitrary-number-of-commits title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It’s also possible to review any number of previous commits. It
looks a lot like the previous command:&lt;/p&gt;
&lt;div class=highlight-python&gt;&lt;pre&gt;post-review -o --guess-summary --guess-description --parent=HEAD~4 #To review last 4 commits.&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;If you are familiar with git, you will understand that there is a
lot more that you can do with the –parent argument. I’ll leave the
possibilities up to your imagination.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=section id=other-useful-post-review-flags&gt;
&lt;h2&gt;Other useful post-review flags&lt;a class=headerlink href=http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html#other-useful-post-review-flags title="Permalink to this headline"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The are a couple of other useful post-review flags, that I use from
time to time.&lt;/p&gt;
&lt;ul class=simple&gt;
&lt;li&gt;-d This basically outputs all of the git commands that
post-review is using to generate the diffs. It’s a great way to
figure out what’s going wrong when it can’t find a diff.&lt;/li&gt;
&lt;li&gt;-o: This opens a web browser to the posted review once it’s
done. Great for easily making the review public.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope this makes it a little easier for you to set up a git
repository with reviewboard.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricsThoughts/~4/hcNzj721tzk" height="1" width="1"/&gt;</description><pubDate>Sun, 23 Jan 2011 21:25:40 -0000</pubDate><guid isPermaLink="false">http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html</guid><feedburner:origLink>http://ericholscher.com/blog/2011/jan/23/using-reviewboard-git.html</feedburner:origLink></item></channel></rss>
