<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>
Follow @dianakimball
Hi! I’m Diana Kimball. I like reading and writing so, so much.
These days, I’m a student at Harvard Business School and a 2012-2013 Berkman Fellow.
Starting ROFLCon with friends remains one of my happiest experiences. My latest project is 24-Hour Bookclub, an occasional reading flashmob.
Here’s the story…
Photo by Akira Hakuta.


  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-3089329-4']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</description><title>Diana Kimball</title><generator>Tumblr (3.0; @dianakimball)</generator><link>http://blog.dianakimball.com/</link><item><title>thejogging:

Straightened Out ‘@’ Symbol, 2013
Digital...</title><description>&lt;img src="http://25.media.tumblr.com/0be2d399eea1af766886a833459a1af7/tumblr_mmktd2VgUK1qzcdbeo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://thejogging.tumblr.com/post/50105452224/straightened-out-symbol-2013-digital-image"&gt;thejogging&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Straightened Out ‘@’ Symbol, 2013&lt;/p&gt;
&lt;p&gt;Digital image&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jjjpearson.tumblr.com/" title="http://jjjpearson.tumblr.com/"&gt;✍&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The long tail was there all along.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/50321925391</link><guid>http://blog.dianakimball.com/post/50321925391</guid><pubDate>Mon, 13 May 2013 00:44:36 -0400</pubDate></item><item><title>What Happens Next</title><description>&lt;p&gt;&lt;em&gt;Every now and then, I write a &lt;a href="http://expertnovice.com"&gt;letter about what I&amp;#8217;ve learned lately&lt;/a&gt;. Today&amp;#8217;s letter was a little different.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;Over the past year, people have often wondered out loud: what will you do next? What happens after you graduate? For a while now, I&amp;#8217;ve had a hunch. But now that it&amp;#8217;s official, I wanted to share the news with all of you.&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s happening next is this: I&amp;#8217;m moving to Berlin to work at &lt;a href="http://soundcloud.com"&gt;SoundCloud&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;!!!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The most amazing part? &lt;a href="http://twitter.com/sferik"&gt;Erik&lt;/a&gt; is, too. After two years of long distance, we&amp;#8217;re reuniting on the other side of the world. I&amp;#8217;ll be joining SoundCloud as a Community Manager focused on scaling up their community engagement efforts; Erik will be joining as a Developer Evangelist. I am pretty much over the moon.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been on the lookout for a way to work with &lt;a href="http://david-noel.com/"&gt;David Noël&lt;/a&gt; ever since our first conversation. The day we met, I &lt;a href="https://twitter.com/dianakimball/statuses/45379976832368640"&gt;tweeted in awe&lt;/a&gt;: &amp;#8220;Too energized to sleep after dinner &amp;amp; ideas with &lt;a href="http://twitter.com/david"&gt;@David&lt;/a&gt;, thanks to &lt;a href="http://twitter.com/eqx1979"&gt;@eqx1979&lt;/a&gt;&amp;#8217;s introduction. Future history, left turns &amp;amp; leading by example.&amp;#8221; Over the next two years, we talked all the time; every conversation blew my mind. But SoundCloud was still in Berlin, and the rest of my life was still in San Francisco, and neither city would budge. The impasse was undeniable, but so was the draw.&lt;/p&gt;
&lt;p&gt;The first turning point came when David invited me to Berlin last November to meet with the rest of the team—just to see. What I wasn&amp;#8217;t prepared for was that &lt;em&gt;every&lt;/em&gt; conversation would leave me in awe. Back in my teal and orange hotel room after a day of those conversations, I remember telling Erik in disbelief: &lt;em&gt;I think I need to work here&lt;/em&gt;. I returned to Boston exhilarated, but perplexed. I stayed that way for weeks.&lt;/p&gt;
&lt;p&gt;The second turning point came in December. Erik and I were on FaceTime, just catching up on each other&amp;#8217;s lives, when suddenly he brought up an idea: &lt;em&gt;what if I worked at SoundCloud, too?&lt;/em&gt; My eyes went wide as the idea sank in; I tried my hardest not to explode with excitement. &lt;em&gt;That would be AMAZING&lt;/em&gt;. The next time David and I talked, I mentioned the idea and he broke out one of the biggest smiles I&amp;#8217;ve ever seen.&lt;/p&gt;
&lt;p&gt;The rest is history…except for what happens next.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/fa10c3955831563d7a9413cf0214da57/tumblr_inline_mmfwfeFt1t1qz4rgp.png"/&gt;&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/49865988352</link><guid>http://blog.dianakimball.com/post/49865988352</guid><pubDate>Tue, 07 May 2013 13:56:00 -0400</pubDate></item><item><title>Where is this from? The song tingled like déjà vu. I hunted...</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F61804602&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;em&gt;Where is this from? &lt;/em&gt;The song tingled like déjà vu. I hunted through my memory, grasped at keywords for clues. And found it: &lt;a href="http://vimeo.com/10087691#t=38"&gt;this scene&lt;/a&gt; and what it’s like to be fourteen.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/48308314882</link><guid>http://blog.dianakimball.com/post/48308314882</guid><pubDate>Thu, 18 Apr 2013 18:29:44 -0400</pubDate></item><item><title>elleluna:

Keep moving, she said. And I did.

Floored by...</title><description>&lt;img src="http://24.media.tumblr.com/7dd8b01eb68d497ebf4d1c574fee172b/tumblr_mlde767DVv1r37y5qo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://www.elleluna.com/post/48152333010/keep-moving-she-said-and-i-did"&gt;elleluna&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Keep moving, she said. And I did.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Floored by Elle’s art, always.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/48156550343</link><guid>http://blog.dianakimball.com/post/48156550343</guid><pubDate>Tue, 16 Apr 2013 19:45:38 -0400</pubDate></item><item><title>I got absolutely lost in Lorde’s music this weekend,...</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F68269180&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I got absolutely lost in &lt;a href="https://twitter.com/lordemusic"&gt;Lorde&lt;/a&gt;’s music this weekend, thanks to &lt;a href="http://david-noel.com/"&gt;David&lt;/a&gt;’s &lt;a href="http://david-noel.com/post/46673769302/lorde-royals-discovered-lorde-late-last-night"&gt;strong&lt;/a&gt; &lt;a href="https://twitter.com/David/status/317717954508771328"&gt;recommendations&lt;/a&gt;. Tracked down &lt;a href="http://www.katherineisawesome.com/2013/01/24/people-i-met-and-liked-lorde/"&gt;this interview&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;So tell me, you go by Lorde. How did that come about?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I just made it up really. I really like the way it looks, the way it sounds. I like the way it’s kind of feminine, but it’s a Lord—it’s a male position of power you know? The e softens it too, it’s a combination of things. I mean, I like to read a lot. I’m really into how words look and sound, so that was important to me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Can’t wait to hear more from Ella. Extraordinary.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/46766533668</link><guid>http://blog.dianakimball.com/post/46766533668</guid><pubDate>Sun, 31 Mar 2013 12:29:46 -0400</pubDate></item><item><title>A Day of Dev Bootcamp</title><description>&lt;p&gt;I was supposed to spend yesterday in an airplane, hurtling from San Francisco back to Boston. Instead, I ended up in a fifteenth-floor conference room in Chicago with 30 aspiring web developers, getting them excited about coding.&lt;/p&gt;
&lt;p&gt;What? How? &lt;span&gt;Rewind:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s April 2011, and &lt;a href="http://20bits.com/"&gt;Jesse Farmer&lt;/a&gt; and I meet for breakfast at &lt;a href="http://www.stacksrestaurant.com/"&gt;Stacks&lt;/a&gt; in San Francisco. We&amp;#8217;ve reached a critical mass of friends in common, and so we decide to connect two more dots. Our conversation ranges from Chicago to Tumblr to fashion, but the part that sticks with me is the moment when Jesse asks: &amp;#8220;but &lt;em&gt;how&lt;/em&gt; do we get more women into coding?&amp;#8221;&lt;/p&gt;
&lt;p&gt;May 2012, and an email from &lt;a href="https://twitter.com/davehoover"&gt;Dave Hoover&lt;/a&gt; shows up in my inbox. We have a lot in common, not least our shared interest in &lt;a href="http://mentoring.is"&gt;mentoring&lt;/a&gt; and &lt;a href="https://s3.amazonaws.com/apprentice.us/Apprenticeship-Programs.pdf"&gt;apprenticeship&lt;/a&gt;. It takes a while for us to hop on Skype, but once we do, it&amp;#8217;s evident that our wavelengths are even closer than we thought. We resolve to stay in touch.&lt;/p&gt;
&lt;p&gt;January 2013 finds me sending out &lt;a href="http://us2.campaign-archive1.com/?u=6e68655fdd14dc50ab1a18e83&amp;amp;id=2e333bfa13&amp;amp;e=4482e2e4e5"&gt;my latest letter about what I&amp;#8217;ve learned lately&lt;/a&gt;. In the letter, I write:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&amp;#8217;ve heard from a handful of people that &lt;a href="http://blog.dianakimball.com/tagged/coding"&gt;my posts about programming&lt;/a&gt; have inspired them to give it a shot, or to get back in the saddle. And &lt;em&gt;yes yes yes&lt;/em&gt;&lt;span&gt;, that&amp;#8217;s half the reason I&amp;#8217;m doing this at all! I want more people to know what it feels like to make it to the edge. But the writing has gone about as far as it&amp;#8217;s going to go on its own. If this work is to travel further and mean more, I need help. Will you tell people it exists?&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The letter lands in Dave&amp;#8217;s inbox; he&amp;#8217;s been reading along. I receive a note from him in return: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you ever find yourself in Chicago, I hope you&amp;#8217;ll come spend some time with us at Dev Bootcamp. We push people to the edge every day and try to instill in them the ability to remain comfortable with confusion.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#8220;Dev Bootcamp&amp;#8221; rings a bell, and loudly: Jesse is &lt;a href="http://devbootcamp.com/learn-more/"&gt;one of its founders&lt;/a&gt;! Dev Bootcamp is a 9-week intensive intro to web development, and Dave is starting up the Chicago campus. Two more dots, connected in a surprising way.&lt;/p&gt;
&lt;p&gt;Two weeks after Dave&amp;#8217;s note about the letter, another note shows up. He&amp;#8217;s wondering, too: how do we get more women into coding? Not just in, but &lt;em&gt;into&lt;/em&gt;. &lt;span&gt;We set up a Skype call for the afternoon of Wednesday, February 13.&lt;/span&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;On the call, I learn that Dave&amp;#8217;s made significant progress: he and &lt;a href="https://twitter.com/elliottgarms"&gt;Elliott Garms&lt;/a&gt; and &lt;a href="https://twitter.com/antiheroine"&gt;Jen Meyers&lt;/a&gt; have organized a &lt;a href="http://devbootcampchicago.eventbrite.com/"&gt;day-long introduction&lt;/a&gt; to the Dev Bootcamp way. Through &lt;a href="http://devbootcamp.com/2013/02/06/learning-how-to-attract-women-to-web-development/"&gt;careful planning&lt;/a&gt; and the efforts of a supportive developer community, over 50% of those who&amp;#8217;ve signed up for the workshop are women. But there&amp;#8217;s still the question of how to make the most of the momentum, and how to keep it going.&lt;/p&gt;
&lt;p&gt;This is something I think about all the time, so we dig into brainstorming. I float the idea of bringing in speakers who will tell their stories. &amp;#8220;If I were to give a talk, it would be about how it took forever for coding to click for me…but once it did, I was hooked for good.&amp;#8221;&lt;em&gt;&lt;br/&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8220;Wait. Do you want to give a talk?&amp;#8221;&lt;/p&gt;
&lt;p&gt;&amp;#8220;Wait. Yes!&amp;#8221;&lt;/p&gt;
&lt;p&gt;&amp;#8220;Are you free this Monday?&amp;#8221; Monday is the day of the event.&lt;/p&gt;
&lt;p&gt;We both laugh. The absurdity of the proposition is self-evident. It&amp;#8217;s too soon! Unless…&lt;/p&gt;
&lt;p&gt;&amp;#8220;Actually, &lt;em&gt;maybe&lt;/em&gt;. I&amp;#8217;m supposed to be in an airplane all day. But if you can get me from San Francisco to Chicago on Sunday and from Chicago to Boston on Monday…I&amp;#8217;m there.&amp;#8221;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s getting real. We start looking up flights. &amp;#8220;Could you stay and mentor the students all day?&amp;#8221; I&amp;#8217;d love nothing more. Okay! Lunch talk plus mentoring. &amp;#8220;I have to run to a meeting,&amp;#8221; I say, &amp;#8220;but let me know what you think. I want to make this happen.&amp;#8221;&lt;/p&gt;
&lt;p&gt;By 9pm, the flights are booked. This is really happening.&lt;/p&gt;
&lt;p&gt;Yesterday, it happened.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/dianakimball/status/303695310180466691"&gt;&lt;img alt="image" src="http://media.tumblr.com/e755149badb7c5b3f857bf6e5ec1ea4f/tumblr_inline_mihzx6bnVo1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/dianakimball/status/303696769726939137"&gt;&lt;img alt="image" src="http://media.tumblr.com/9793fdbde989b8e006e8dc2e5c1999dd/tumblr_inline_mihzzgzIlb1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://instagram.com/p/V4fBkmvB3W/"&gt;&lt;img alt="image" src="http://media.tumblr.com/5c438474eb7f559ecae1000948aaa51f/tumblr_inline_mihzuiUoqf1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/kathleenrmeil/status/303568919212457985"&gt;&lt;img alt="image" src="http://media.tumblr.com/0279ce7d305334ece3b6e264f8bd6998/tumblr_inline_mihzodAAiA1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/pleiadeez/status/303715042774372352"&gt;&lt;img alt="image" src="http://media.tumblr.com/3fb120ef0f01c03d312bfc10ed948ab1/tumblr_inline_mihzrsaKMD1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/ohminimarie/status/303927566052495360"&gt;&lt;img alt="image" src="http://media.tumblr.com/9162b55e71ef83113c680ae2291df623/tumblr_inline_mihzkrHNmq1qz4rgp.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This one&amp;#8217;s for you, Marie:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/4d713450b5eafd025926bc7444b8bd20/tumblr_inline_mii01k7rqa1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;How do we get more women into coding? This is the answer that took me to Chicago yesterday: by telling our stories, and by seizing every opportunity to share what we&amp;#8217;ve learned. &lt;/p&gt;
&lt;p&gt;Thank you, Dev Bootcamp. And thank you to Dave, Jesse, Jen, and Elliott for building the momentum that made yesterday possible.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/43539970724</link><guid>http://blog.dianakimball.com/post/43539970724</guid><pubDate>Tue, 19 Feb 2013 22:39:00 -0500</pubDate><category>coding</category></item><item><title>Books I've Read Lately</title><description>&lt;p&gt;Since yesterday morning, I&amp;#8217;ve been trying to make headway on a new edition of &lt;a href="http://www.expertnovice.com"&gt;the open letter I write every now and then about what I&amp;#8217;ve learned lately&lt;/a&gt;. In the beginning, I had five sections outlined: on finishing, coding, noticing, reading, and listening. I started working on the reading section because it seemed straightforward enough; just list all the books you&amp;#8217;ve read since the end of August, right? Then add a bit of commentary where warranted.&lt;/p&gt;
&lt;p&gt;Nope. Took forever. List seemed never-ending. Got urge to delete entirely. Then realized: maybe this belongs on my blog instead! Relief told me it was the right thing to do.&lt;/p&gt;
&lt;p&gt;So: here are all the books I&amp;#8217;ve read since August, filed by reason for reading. I hope that in this stack you&amp;#8217;ll find something to love.&lt;/p&gt;
&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;First off: I took a class last semester called &lt;em&gt;The Moral Leader, &lt;/em&gt;wherein we examined the ethics of leadership through the lens of narrative. On the reading list:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/American-Ground-Unbuilding-Center-ebook/dp/B000Y2I74K/" target="_blank"&gt;&lt;strong&gt;American Ground&lt;/strong&gt;: Unbuilding the World Trade Center&lt;/a&gt;&lt;/em&gt;, by William Langewiesche. I was a fourteen-year-old in Michigan when the Twin Towers came down. I felt the horror filtered through screens. What I didn&amp;#8217;t see, didn&amp;#8217;t even think about, was what it would take to get the ground back: how many tons of steel would have to be moved, how many careers were at stake. More than any other book I&amp;#8217;ve read, this one helped me understand the scale of cities, the ubiquity of ambition, the transcendence of stubbornness. It&amp;#8217;s a heavy read, but it&amp;#8217;s worth it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.amazon.com/Things-Fall-Apart-African-ebook/dp/B004478AS4/" target="_blank"&gt;&lt;em&gt;Things Fall Apart&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;, by Chinua Achebe. I think I read this in high school, but it felt new to me. I don&amp;#8217;t think I&amp;#8217;d recommend it as a stand-alone read, but I got a lot out of the classroom discussion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/The-Remains-Vintage-International-ebook/dp/B003VPWX6K/" target="_blank"&gt;The Remains of the Day&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;, by Kazuo Ishiguro. I remember reading this one as a teenager, too, but I appreciated it far more this time around. I&amp;#8217;m moved by Ishiguro&amp;#8217;s quiet, precise take on introspection.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/This-Child-Will-Great-ebook/dp/B0024CF0JI/" target="_blank"&gt;&lt;em&gt;&lt;strong&gt;This Child Will Be Great&lt;/strong&gt;: Memoir of a Remarkable Life by Africa&amp;#8217;s First Woman President&lt;/em&gt;&lt;/a&gt;, by Ellen Johnson Sirleaf (selections). We paired this with the documentary about Sirleaf and the rest of Liberia&amp;#8217;s women in power at the time: &lt;a href="http://www.youtube.com/watch?v=7_sPNLFGz2g" target="_blank"&gt;&lt;em&gt;Iron Ladies of Liberia &lt;/em&gt;&lt;/a&gt;(link goes to YouTube, where you can watch it in six parts). Sirleaf is complicated, but she impressed me deeply.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="http://www.amazon.com/Personal-History-ebook/dp/B004FYZ3P4/" target="_blank"&gt;Personal History&lt;/a&gt;&lt;/strong&gt;, &lt;/em&gt;by Katharine Graham (selections). Another book I read as a teenager; another book I&amp;#8217;m glad to have returned to. I like how no-nonsense Graham is. In parts, the book reminded me of Joan Didion&amp;#8217;s &lt;em&gt;&lt;a href="http://www.amazon.com/Blue-Nights-ebook/dp/B004J4XA8M/" target="_blank"&gt;Blue Nights&lt;/a&gt; &lt;/em&gt;in that both narrate their wealth and influence matter-of-factly, with a willingness to disclose the interior struggles they still faced.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;For my final paper in &lt;em&gt;The Moral Leader&lt;/em&gt;, on &amp;#8220;disappointing role models&amp;#8221;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.amazon.com/Prime-Miss-Jean-Brodie-ebook/dp/B007ELLDFO/" target="_blank"&gt;&lt;em&gt;The Prime of Miss Jean Brodie&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;, by Muriel Spark. I didn&amp;#8217;t end up writing about this novel, but I did enjoy reading it. Brodie&amp;#8217;s desire to keep a stable of acolytes is so fierce, so unbecoming; exactly the kind of portrait a non-fiction profile would have trouble getting away with.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/LAST-SAMURAI-Helen-Witt/dp/B0014JOL1A/" target="_blank"&gt;The Last Samurai&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;, by Helen DeWitt. I wrote ten too many pages about this book because I couldn&amp;#8217;t stop. Ludo goes on a quest to find a father figure worth looking up to, but it&amp;#8217;s the opposite of sappy. It&amp;#8217;s actually pretty upsetting, but by the end I felt a kind of epiphany. I gave my mom a copy for Christmas and she finished it recently, too; she told me she&amp;#8217;d never met a protagonist quite like Ludo, and I think she&amp;#8217;s exactly right about that. &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;For &lt;a href="http://24hourbookclub.com/" target="_blank"&gt;24-Hour Bookclub&lt;/a&gt;, one of the best things I did in 2012:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Mr-Penumbras-24-Hour-Bookstore-ebook/dp/B008FPOIT6/" target="_blank"&gt;Mr. Penumbra&amp;#8217;s 24-Hour Bookstore&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;, by &lt;a href="http://twitter.com/robinsloan" target="_blank"&gt;Robin Sloan&lt;/a&gt;. &lt;em&gt;&lt;a href="http://blog.dianakimball.com/post/33176450911" target="_blank"&gt;SO GOOD&lt;/a&gt;&lt;/em&gt;. Go read it!&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Both-Flesh-Not-Essays-ebook/dp/B0078XGSJY/" target="_blank"&gt;&lt;strong&gt;Both Flesh and Not&lt;/strong&gt;: Essays&lt;/a&gt;&lt;/em&gt;, by David Foster Wallace. &lt;a href="http://blog.dianakimball.com/post/39984770117" target="_blank"&gt;Revived my love of language&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Following recommendations from people I&amp;#8217;ve never met in person:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Its-Always-Personal-Navigating-ebook/dp/B004IK8PZ0/" target="_blank"&gt;&lt;em&gt;&lt;strong&gt;It&amp;#8217;s Always Personal&lt;/strong&gt;: Emotion in the Workplace&lt;/em&gt;&lt;/a&gt;, by Anne Kreamer. I bought this back in July, 2011—back before business school even started! First seen on &lt;a href="http://en.wikipedia.org/wiki/Charlie_Rose" target="_blank"&gt;Charlie Rose&lt;/a&gt;, who definitely qualifies as someone I&amp;#8217;ve never met. (Even though back in San Francisco, Erik and I spent an hour in his televised presence almost every night.) About 40% of this book is vital, and the other 60% is old hat. If you can stomach skimming, I think it&amp;#8217;s worth it. All the boring sections rehashing Csíkszentmihályi&amp;#8217;s &lt;a href="http://en.wikipedia.org/wiki/Flow_(psychology)" target="_blank"&gt;flow&lt;/a&gt; were redeemed by the recap of research showing that &lt;a href="http://online.wsj.com/article/SB10001424052748703922804576300903183512350.html?mod=googlenews_wsj" target="_blank"&gt;women&amp;#8217;s tear ducts are narrower than mens&lt;/a&gt;&amp;#8217; (and therefore quicker to spill over). That&amp;#8217;s so basic that I feel I almost should have guessed it, but no: without that knowledge, rogue tears still felt…well…personal. &lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Mindstorms-Children-Computers-Powerful-Ideas/dp/0465046746/" target="_blank"&gt;&lt;strong&gt;Mindstorms&lt;/strong&gt;: Children, Computers, and Powerful Ideas&lt;/a&gt;&lt;/em&gt;, by Seymour Papert. Recommended by &lt;a href="https://twitter.com/worrydream" target="_blank"&gt;Bret Victor&lt;/a&gt; in an essay of his that I loved: &amp;#8220;&lt;a href="http://worrydream.com/LearnableProgramming/" target="_blank"&gt;Learnable Programming&lt;/a&gt;.&amp;#8221; I&amp;#8217;ve never met Bret, but I hope to someday. This book blew my mind, and I&amp;#8217;ve since bought copies for &lt;a href="http://twitter.com/sferik"&gt;Erik&lt;/a&gt; and &lt;a href="http://blog.supplysideliberal.com" target="_blank"&gt;my dad&lt;/a&gt;. It goes way beyond computer science. If you care about learning in any way, shape, or form, you need to read this book.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;On recommendations from friends:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Money-Real-Quick-Guardian-ebook/dp/B007FPP7NI/" target="_blank"&gt;&lt;em&gt;&lt;strong&gt;Money, Real Quick&lt;/strong&gt;: The story of M-PESA&lt;/em&gt;&lt;/a&gt;, by Tonny Omwansa and Nicholas Sullivan. I picked this up after reading &lt;a href="http://www.christinacacioppo.com/blog/blog/2012/10/14/notes-on-m-pesa/" target="_blank"&gt;a&lt;/a&gt;&lt;a href="http://www.christinacacioppo.com/blog/blog/2012/10/14/notes-on-m-pesa/" target="_blank"&gt; fascinating blog post&lt;/a&gt; by &lt;a href="https://twitter.com/christinacaci" target="_blank"&gt;Christina Cacioppo&lt;/a&gt;. How does money move in societies where bank accounts are rare? Phone-based transfers are only half the story: the real secret is M-PESA&amp;#8217;s vast network of cash agents. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Living-Contradictions-Joanne-Michaels/dp/B0087STVA2/" target="_blank"&gt;&lt;em&gt;&lt;strong&gt;Living Contradictions&lt;/strong&gt;: The Women of the Baby Boom Come of Age&lt;/em&gt;&lt;/a&gt;, by Joanne Michaels. Erik&amp;#8217;s mom wrote this book; it was published by Simon &amp;amp; Schuster in 1982, and she gave me a copy last year. I finally made time to read it this fall, and loved it. My main epiphany was that &lt;em&gt;being a woman in the U.S. has been weird for a while now.&lt;/em&gt; Some of the problems and ambiguities I face are new, but many more have been simmering for upwards of 30 years. (Maybe longer?) It&amp;#8217;s hard to find a copy of the book now—the link above goes to Amazon, which is perpetually running low on used copies—but if you&amp;#8217;d like to read this, let me know and I&amp;#8217;ll see what I can do.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Close-Machine-Technophilia-Discontents-ebook/dp/B007FU83DY/" target="_blank"&gt;&lt;strong&gt;Close to the Machine&lt;/strong&gt;: Technophilia and its Discontents&lt;/a&gt;, &lt;/em&gt;by Ellen Ullman. First recommended in an &lt;a href="http://www.robinsloan.com/summer-reading/and-programming/" target="_blank"&gt;ingenious review by Robin Sloan&lt;/a&gt;, later reinforced when the SF branch of &lt;a href="http://twitter.com/techbookclub" target="_blank"&gt;techbookclub&lt;/a&gt; selected the book as its January read. (Which had not a little to do with Robin&amp;#8217;s original recommendation…cause and effect go round and round.) Same deal as with &lt;em&gt;Living Contradictions:&lt;/em&gt; this memoir of living life through technology helped me realize how much of my daily experience has roots that reach back for decades. I wrote up some thoughts on this book in &lt;a href="https://medium.com/close-to-the-machine/8c2d491886fa"&gt;my first post on Medium&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/When-We-Were-Orphans-ebook/dp/B000FC1KZW/" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;When We Were Orphans&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, by Kazuo Ishiguro. &lt;a href="https://twitter.com/perrychen" target="_blank"&gt;Perry&lt;/a&gt; recommended this after I finished reading &lt;em&gt;The Remains of the Day &lt;/em&gt;for the second time. I think &lt;em&gt;Remains of the Day&lt;/em&gt; was better, but I was glad to be able to spend more time traveling along the trains of thought that Ishiguro illuminates so well.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/The-Million-Stuffed-Shark-ebook/dp/B0077QZ208/" target="_blank"&gt;&lt;strong&gt;The $12 Million Stuffed Shark&lt;/strong&gt;: The Curious Economics of Contemporary Art&lt;/a&gt;, &lt;/em&gt;by Don Thompson. Recommended separately by &lt;a href="http://twitter.com/noupside" target="_blank"&gt;Renee&lt;/a&gt; and &lt;a href="https://twitter.com/msjchun" target="_blank"&gt;Jane&lt;/a&gt;. I found it absolutely riveting. I&amp;#8217;ve seen people protest that it doesn&amp;#8217;t go much further than saying &amp;#8220;people are willing to pay irrational amount of money for status,&amp;#8221; but the &lt;em&gt;details&lt;/em&gt; of that irrationality are weird beyond words. If you&amp;#8217;ve ever wondered what &lt;a href="http://en.wikipedia.org/wiki/Damien_Hirst" target="_blank"&gt;Damien Hirst&lt;/a&gt; is all about (and why &lt;a href="http://www.guardian.co.uk/artanddesign/2013/jan/06/damien-hirst-larry-gagosian-art" target="_blank"&gt;his recent split with Larry Gagosian&lt;/a&gt; is of note), this is the book for you.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Ghetto-Center-World-Chungking-ebook/dp/B006MR2EQS/"&gt;&lt;strong&gt;Ghetto at the Center of the World&lt;/strong&gt;: Chungking Mansions, Hong Kong&lt;/a&gt;, &lt;/em&gt;by Gordon Mathews. Recommended by &lt;a href="https://twitter.com/ohjia" target="_blank"&gt;Jia&lt;/a&gt;. A gripping profile of a gritty yet supremely effective site of economic transformation. I only just started &lt;a href="http://www.amazon.com/Behind-Beautiful-Forevers-undercity-ebook/dp/B004J4X7JO/" target="_blank"&gt;&lt;em&gt;Behind the Beautiful Forevers&lt;/em&gt;&lt;/a&gt;, so I can&amp;#8217;t draw a thorough comparison, but I predict that if you enjoyed &lt;em&gt;Behind the Beautiful Forevers&lt;/em&gt;, this will be an excellent complement. Especially great because it gets into &lt;em&gt;regulatory arbitrage!&lt;/em&gt; (Hong Kong is looser about visas than most developed countries are, and everything else flows from that.)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/Tenth-of-December-Stories-ebook/dp/B008LMB4C2/" target="_blank"&gt;&lt;strong&gt;Tenth of December&lt;/strong&gt;: Stories&lt;/a&gt;, &lt;/em&gt;by George Saunders. Recommended by &lt;a href="http://meaghano.com/" target="_blank"&gt;Meaghan&lt;/a&gt;. I&amp;#8217;ve never read Saunders before, and so his voice startled me. He writes the way people talk and think, but &lt;em&gt;artfully &lt;/em&gt;and always with an element of surprise. I started this before I went to sleep a few nights ago, and finished it the next morning.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;In other reading news: I recently completed the &lt;a href="http://blog.dianakimball.com/tagged/mysterious-book"&gt;mysterious book cycle&lt;/a&gt;, and I love reading &lt;a href="https://uncommon.cc/"&gt;dispatches from Uncommon&lt;/a&gt; every Tuesday more than words can say.&lt;/p&gt;
&lt;p&gt;I think that&amp;#8217;s the end.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/41621366606</link><guid>http://blog.dianakimball.com/post/41621366606</guid><pubDate>Sun, 27 Jan 2013 12:47:00 -0500</pubDate><category>reading</category></item><item><title>glitchnews:

Andy Murray serves to Roger Federer during their...</title><description>&lt;img src="http://25.media.tumblr.com/9a498c5fb0973995a5aa1ec801914d5d/tumblr_mh7hdijQDw1qcqot4o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://glitchnews.tumblr.com/post/41477256164/andy-murray-serves-to-roger-federer-during-their"&gt;glitchnews&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Andy Murray serves to Roger Federer during their men’s singles semi-final match at the Australian Open.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At the center, the colors are smudged like paint. &lt;span&gt;I could look at this all day long.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;The Federer mention brings to mind &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;em&gt;&lt;a href="http://blog.dianakimball.com/post/39984770117"&gt;Both Flesh and Not&lt;/a&gt;…&lt;/em&gt;&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/41520582269</link><guid>http://blog.dianakimball.com/post/41520582269</guid><pubDate>Sat, 26 Jan 2013 09:18:09 -0500</pubDate></item><item><title>On Acronyms</title><description>&lt;p&gt;&lt;em&gt;I wrote the following paragraphs in a text file on February 17, 2010, and then threw them into the attic of an external hard drive. I dimly remember believing that they needed a lot of editing. A few years removed, I can accept that just a little editing will do.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;Some time ago, I read a passage about scientific writing—I wish I could find it, I’ve looked everywhere—that had this to say about acronyms: in many domains, especially technical ones, words have &lt;em&gt;very&lt;/em&gt;&lt;span&gt; specific meanings, and using a word just left of the right one could be misleading or even disastrous. But the words are long, and hyphenated, and to use them every sentence would be tiring. So you use it once, and then you use an acronym thereafter, and that’s how paragraphs come to be filled with symbols.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This might not be news to you, but it was certainly news to me! And something of a revelation, because: I’ve observed that the deeper I go into technology, the more I resist using technical words in public places. Especially to describe experiences.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s a reason that company and technical cultures thrive on acronyms and coined words; shared language helps you know who’s in and who’s out. Traversing all the opaque acronyms is a rite of passage and then a tool for survival, in local configurations. In diffuse groups (devoted to programming languages, for instance), the acronyms &lt;em&gt;also &lt;/em&gt;serve as in-group signifiers, but also serve another purpose altogether: a one-of-a-kind cluster of letters that can be typed together looks like a word as far as a search engine is concerned, and if you invent a new word you own the global namespace in a very powerful way. Synonyms are hard to search for, and so are universal experiences phrased in different ways. Names of &lt;em&gt;categories&lt;/em&gt; are easier, and so are names of brands. And so, it seems, are acronyms. Words form the structure and the substance of information, and if you own the acronym you’ve unlocked the path to information produced by an in-group. (But they’re context-specific; acronyms don’t actually &lt;em&gt;belong &lt;/em&gt;to you, and so sometimes there’s unintentional overlap, which is almost better for the exclusionary: you must not only recognize these all-capital words, but recognize that their letters stand for something different and that the meaning is never guaranteed, depending on domain.)&lt;/p&gt;
&lt;p&gt;There’s more at play here, though. Sentences littered with long words repeated are tiresome, but sentences littered with capital letters are alienating. They presume prior knowledge in a way that can seem smug or clueless. And, further: if you’re writing sentences whose nouns have no synonyms, even if the themes are universal, your readers will balk and feel excluded. Even large vocabulary words, as long as they’re rendered in lowercase, can be skimmed and skipped and understood in context. They might gesture to something general. Acronyms, however, almost always point to something specific, and so if you miss the point the meaning is entirely lost.&lt;/p&gt;
&lt;p&gt;All of this is to say: in order to address universal themes, I’ve found it helps to use words that have synonyms.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/41519860426</link><guid>http://blog.dianakimball.com/post/41519860426</guid><pubDate>Sat, 26 Jan 2013 09:02:17 -0500</pubDate></item><item><title>Worksheet, 1997. (Plundering the archives tonight.)</title><description>&lt;img src="http://24.media.tumblr.com/dd79a00d9d4695b1de07843c021582c3/tumblr_mh5sf1I2oM1qz99eto1_r1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Worksheet, 1997. (Plundering the archives tonight.)&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/41406498692</link><guid>http://blog.dianakimball.com/post/41406498692</guid><pubDate>Thu, 24 Jan 2013 21:04:00 -0500</pubDate></item><item><title>Asleep (The Smiths Cover) – Stars
I read The Perks of Being a...</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F76172871&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Asleep (The Smiths Cover) – Stars&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I read &lt;em&gt;&lt;a href="http://www.amazon.com/Perks-Being-Wallflower-Stephen-Chbosky/dp/1451696191"&gt;The Perks of Being a Wallflower&lt;/a&gt;&lt;/em&gt; at thirteen or fourteen or fifteen, and that’s how I learned about The Smiths. The next chance I got, I opened Napster over my family’s dial-up connection and searched for the song in question—“Asleep.” (I know I had to be thirteen or fourteen or fifteen because the book came out in 1999, and, &lt;a href="http://en.wikipedia.org/wiki/Napster"&gt;according to Wikipedia&lt;/a&gt;, Napster was only active beween June 1999 and July 2001.) &lt;/p&gt;
&lt;p&gt;My search returned a lone file by an artist cryptically listed as “Benjamin B.” I downloaded the track (slowly!), listened to it, and listened to it again; almost every mix CD I made for the next few years included that song as its final track. But somehow, I persisted in believing that it was really The Smiths. Maybe I thought the metadata was messed up; maybe I thought one of the band’s members was named Benjamin B. I don’t really know what I thought, but I do know I was very surprised when I heard the studio version for the first time. For me, “Asleep” had always been a quiet, intimate track; when I eventually heard &lt;a href="http://rd.io/x/QED2K1D7lQ"&gt;the original&lt;/a&gt; by The Smiths, it struck me as too spacious.&lt;/p&gt;
&lt;p&gt;When this cover by Stars came on at the end of &lt;a&gt;their new EP&lt;/a&gt; last night, these memories flooded me. I was listening after dark, and it was quiet.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/41363093477</link><guid>http://blog.dianakimball.com/post/41363093477</guid><pubDate>Thu, 24 Jan 2013 10:51:00 -0500</pubDate></item><item><title>Building SoundScout</title><description>&lt;p&gt;Between November and December 2012, I built &lt;a href="http://www.soundscout.co"&gt;SoundScout&lt;/a&gt; as a way to discover up-and-coming musicians on &lt;a href="http://www.soundcloud.com"&gt;SoundCloud&lt;/a&gt;. What started as a simple command-line script rapidly evolved into a &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; app running on &lt;a href="http://www.sinatrarb.com"&gt;Sinatra&lt;/a&gt;, powered by &lt;a href="https://github.com/anilv/rdio_api"&gt;two&lt;/a&gt; &lt;a href="https://github.com/soundcloud/soundcloud-ruby"&gt;gems&lt;/a&gt;, deployed to &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt;, fueled by &lt;a href="https://github.com/mperham/sidekiq/i"&gt;Sidekiq&lt;/a&gt; workers managed by a &lt;a href="http://redis.io/"&gt;Redis&lt;/a&gt; instance. Building SoundScout was one of the most challenging projects I&amp;#8217;ve ever undertaken, and one of the most satisfying by far.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/14f76729014a1fd306bece612d6aa832/tumblr_inline_mgmsiw5npd1qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;It all &lt;a href="http://blog.dianakimball.com/post/35043474885"&gt;started&lt;/a&gt; when I realized I wanted to find more people to follow on &lt;a href="http://soundcloud.com"&gt;SoundCloud&lt;/a&gt;. My first impulse was to scroll through artists in my &lt;a href="http://rdio.com"&gt;Rdio&lt;/a&gt; collection and then search for each name on SoundCloud in turn, but after a few minutes of rapid tapping, a &lt;a href="http://blog.dianakimball.com/post/35043474885"&gt;realization kicked in&lt;/a&gt;: &lt;em&gt;A computer could do this! &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A quick skim of &lt;a href="http://developer.rdio.com/"&gt;Rdio&amp;#8217;s API documentation&lt;/a&gt; confirmed my hope that I&amp;#8217;d be able to get the info I needed through their API. Meanwhile, past experience with the &lt;a href="http://developers.soundcloud.com/"&gt;SoundCloud API&lt;/a&gt; reassured me that it would be smooth sailing on that end. Before long, it occurred to me: this had the potential to be a great final project for &lt;a href="http://www.cs50.net"&gt;CS50&lt;/a&gt;, Harvard&amp;#8217;s introductory computer science course (and one of my favorite classes last semester). A conversation with &lt;a href="http://www.twitter.com/sferik"&gt;Erik&lt;/a&gt; convinced me that I could actually go beyond finding the SoundCloud accounts of my favorite Rdio artists—that the higher good would be to identify &lt;em&gt;new&lt;/em&gt; artists to check out based the revealed preferences embedded in my Rdio data. And so, &lt;a href="http://blog.dianakimball.com/post/35043474885"&gt;it was decided&lt;/a&gt;. With that decision, the next month of my life was more or less spoken for.&lt;/p&gt;
&lt;p&gt;This is the story of that month, what I learned along the way, and where I ended up.&lt;/p&gt;
&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;In the beginning, the basic workflow I had in mind went like this:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Authorize a user&amp;#8217;s SoundCloud and Rdio accounts in order to access personalized data.&lt;/li&gt;
&lt;li&gt;Grab a list of the user&amp;#8217;s most-listened-to Rdio artists. (Relying on Rdio for the initial dataset provided the additional advantage of data &amp;#8220;cleanliness&amp;#8221;; artist names would be spelled correctly and the list of names would arrive free of duplicates.)&lt;/li&gt;
&lt;li&gt;Iterate through the whole list of Rdio artist names; use each artist&amp;#8217;s name to seed a separate search on SoundCloud.&lt;/li&gt;
&lt;li&gt;Probe into the superset of SoundCloud results using SoundCloud&amp;#8217;s API; grab relevant info such as number of tracks, number of followers, recency of the latest upload, etc.&lt;/li&gt;
&lt;li&gt;Run a custom algorithm against that data to select the &amp;#8220;best&amp;#8221; of the SoundCloud results for any given Rdio artist.&lt;/li&gt;
&lt;li&gt;Return a permalink to the top few artists&amp;#8217; pages on SoundCloud.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Spreadsheets are my secret weapon, so my first version of the app returned results as a &lt;a href="http://en.wikipedia.org/wiki/Comma-separated_values"&gt;CSV&lt;/a&gt;. They looked something like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/4f3584f2f3b512dbf87810d868be24b2/tumblr_inline_mghuazh2MH1qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;By opening the CSV in Excel and turning it into a sortable table, I was able to experiment with sorting by most followers to least followers (and vice versa) and the recency of track uploads. I clicked a few of the permalinks that came out on top to see if the method had any merit. The only problem was that every time I clicked through, I got lost listening to tracks and clicking around on SoundCloud some more. I eventually concluded that this was the opposite of a problem: my plan was working.&lt;/p&gt;
&lt;p&gt;Clicking around some more, I noticed that many of the artists&amp;#8217; profiles sported extensive bios. Further examination revealed that many of these bios listed the allegedly &amp;#8220;matching&amp;#8221; Rdio artist name within the text itself. Artists on SoundCloud were using the text of their bio to list influences, inspirations, and bands they&amp;#8217;d opened for in the past. This was a totally emergent behavior (as far as I could tell), but also impressively reliable: I couldn&amp;#8217;t find many cases where the pattern didn&amp;#8217;t hold.&lt;/p&gt;
&lt;p&gt;The current version of SoundCloud&amp;#8217;s search API casts a wide net, but I&amp;#8217;d stumbled across a great way to filter the results. Given a search results superset seeded by a particular Rdio artist&amp;#8217;s name, I could boil it down to just the results that included the seeding artist&amp;#8217;s name in the text of the bio. In Ruby (my programming language of choice), I could accomplish that filtration with the following code:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/4b2d6bb06a9bdd9392ac08e59258ac7a/tumblr_inline_mgoylhb2pN1qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;With that breakthrough, I had my primary mechanism working, and the results were already starting to look promising. The next step was to graduate from a CSV to a real database.&lt;/p&gt;
&lt;p&gt;Rather than go the familiar &lt;a href="http://rubyonrails.org/"&gt;Rails&lt;/a&gt;/&lt;a href="http://guides.rubyonrails.org/active_record_querying.html"&gt;ActiveRecord&lt;/a&gt; route, I followed a a path known to me from past projects: I quickly settled on &lt;a href="http://sinatrarb.com"&gt;Sinatra&lt;/a&gt; as my web framework and &lt;a href="http://datamapper.org/"&gt;DataMapper&lt;/a&gt; as my &lt;a href="http://en.wikipedia.org/wiki/Object-relational_mapping"&gt;ORM&lt;/a&gt;—an object-relational map, a kind of interface to the underlying database. Rather than inserting my results into a CSV line by line, I could create reusable database entries and connections between those entries. This meant that I could store an Rdio artist&amp;#8217;s name in one table, associate that artist with a user of my project stored in another table, and then link both to the info for multiple SoundCloud artists stored in a third table.&lt;/p&gt;
&lt;p&gt;Rather than crown one &amp;#8220;most promising&amp;#8221; SoundCloud pick for any given Rdio artist right off the bat, I decided to stash all the members of the &lt;code&gt;subset&lt;/code&gt; and their attendant API-derived properties in my local database. Objects in a database can be sifted and sorted in much the same way that rows in a spreadsheet can. Storing info for a large number of results in my local database would let me grab a rich dataset and then use all of its properties as fodder for the development of my algorithm.&lt;/p&gt;
&lt;p&gt;Writing the algorithm was the most interesting part of building SoundScout. In boiling down the whole universe of artists to just a handful worthy of displaying to the user, I had to think about what qualities I valued and what metrics had the potential to signal the presence of those qualities. For instance, I decided early on that I wanted to highlight &amp;#8220;up-and-coming&amp;#8221; artists. To me, this meant artists without &lt;em&gt;too many&lt;/em&gt; followers on SoundCloud. But how many is &amp;#8220;too many&amp;#8221;? Did an arbitrary cutoff make sense, or would I need to determine the cutoff for each user in the context of the rest of the artists in their pool of candidates? I also wanted to showcase artists who would be fun and rewarding to follow—those whose actions on SoundCloud communicated that every listener mattered. And follower count and platform engagement were just two of the properties I examined. I took seven main factors into account, awarded points for each one, and summed all those points into an overall score. Here&amp;#8217;s the full list of factors:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span&gt;&lt;/span&gt;&lt;strong&gt;Follower Count Suitability:&lt;/strong&gt;&lt;/strong&gt; I awarded points such that the max number went to artists with 2,000 followers; the slope then descended linearly on both sides such that artists with 0 followers and 4,000 followers would each receive zero points for this measure. In a future iteration, I would probably revise this to take into account the context of the user&amp;#8217;s candidate pool. I could order the candidates from least followers to most followers and then award the max number of points at the &amp;#8220;happy medium,&amp;#8221; or midpoint.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Upload Recency:&lt;/strong&gt; I wanted to reward artists who were in the middle of an active posting streak, and so intended for the points to shake out so as to favor ultra-recency. Once I applied this measure to my own personal candidate pool, though, I realized that favoring ultra-recent posters unnecessarily and somewhat arbitrarily narrowed the field. I revised the criterion to focus on artists who had posted in the last 10 weeks, or 2.5 months. I could have tweaked that particular cutoff, but the idea was to favor artists for whom SoundCloud engagement was currently top-of-mind—perhaps they were in the middle of releasing and promoting a new album, perhaps they were in the studio and sharing behind-the-scenes work. I&amp;#8217;d like to make this metric more useful, perhaps again by tweaking the dials according to the characteristics of a particular candidate pool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Join Recency:&lt;/strong&gt; Another &amp;#8220;freshness&amp;#8221; metric; I thought it would be nice to shower artists new to the platform with attention, so I rewarded artists whose first upload took place within the past year or sol.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Upload Frequency:&lt;/strong&gt; I was looking for artists who uploaded, ideally, an average of once per week. To determine this, I just subtracted the date of the least recent track upload from the date of the most recent track upload to get the span of days over which the artist had been uploading, then divided the number of tracks into that span. Unfortunately, this was a very crude metric; to really figure out upload frequency, I should have sought some metric that referred to the distribution or the average gap of time between uploads. Instead, my version of &amp;#8220;upload frequency&amp;#8221; really just asked: if they&amp;#8217;ve been actively uploading over a span of a lot of weeks, do they at least have a consummate number of tracks to show for it?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Platform Engagement:&lt;/strong&gt; The goal here was to enable reciprocity; I wanted to reward artists who were using SoundCloud to the fullest, experimenting with its features, and supporting other sound creators. This measure had two components: number of fellow SoundClouders followed by the user, and number of favorites doled out. I awarded the max number of points available at 500 fellow users followed and 25 likes given. Those cutoffs were arbitrary, but I took them to be sufficient proof of engagement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Venn:&lt;/strong&gt; This was a measure of how much &amp;#8220;overlap&amp;#8221; a SoundCloud artist&amp;#8217;s bio text had with a SoundScout user&amp;#8217;s list of favorite Rdio artists. A SoundCloud user who cited Metric, Arcade Fire, and M83 as influences would receive a Venn score of 3 against my collection of favorite Rdio artists, since all of those artists are on my list. Any artist inspired by all three would be an artist I&amp;#8217;d be very likely to want to check out. Heavily favoring artists with a &amp;#8220;Venn&amp;#8221; of at least 2 also had the advantage of suppressing anomalies created when an Rdio artist&amp;#8217;s name was also a common word. &amp;#8220;Metric&amp;#8221; is a good example of that, actually; if &amp;#8220;Metric&amp;#8221; were the lone word matched in a SoundCloud artist&amp;#8217;s bio text, it could easily be them proclaiming their love of the metric system. But when at least two artist names were present in the bio text, I found that they were typically being cited as I expected—that is, as artistic influences. Another criterion followed from this one, then: &lt;strong&gt;Confirmation&lt;/strong&gt;, which just meant that the artist&amp;#8217;s bio cited at least two relevant Rdio favorites. Any Venn number of 2 or greater would lead to a Confirmation value of 2, which I used as a multiplier on the final score.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Has Avatar&lt;/strong&gt;: I took the presence of an avatar (a picture uploaded to represent the artist on their profile) as a positive signal: for artists without many followers, it provided one way to demonstrate commitment to and engagement with the platform. Also: without an avatar, the track-streaming widgets I planned to display on my results page wouldn&amp;#8217;t look right. So this was a practical necessity, too. I allotted &amp;#8220;Has Avatar&amp;#8221; a value of 0 (for no avatar) or 1 (avatar present), intending to use it as a multiplier in the final evaluation.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;My ultimate scoring equation looked like this:&lt;/p&gt;
&lt;div&gt;&lt;img src="http://media.tumblr.com/8e7ad497ac39c50178105ff4d228bd42/tumblr_inline_mgp06cxf1x1qz94r5.png"/&gt;&lt;/div&gt;
&lt;p&gt;But before I could test out the algorithm, I had to fetch data to feed to it. And fetching the data turned out to be a very, very long process at first.&lt;/p&gt;
&lt;p&gt;Fetching Rdio favorites wasn&amp;#8217;t so bad; I just had to issue a single API call and then stash all the resulting artists in my database, row by row. (It actually wasn&amp;#8217;t &lt;em&gt;quite&lt;/em&gt; that simple, but only because I&amp;#8217;d missed a crucial feature of the Rdio API—more on that later. Anyway, calling out to Rdio was the fast part.) But fetching SoundCloud results took much longer, much longer. Let&amp;#8217;s say my call to the Rdio API gave me 100 artist names. To run 100 individual searches seeded by that name, I&amp;#8217;d need to make 100 separate calls to the SoundCloud API. Each of those calls could return up to 200 results; I&amp;#8217;d need to insert all of the datapoints for each result into my database of prospects and create appropriate connections with all the other databases, too. Furthermore, to get some of the data I wanted, I&amp;#8217;d need to make an additional per-artist call to that artist&amp;#8217;s page of tracks, to figure out things like number of tracks and upload recency. Basically, each Rdio artist name was the tip of an iceberg that involved inserting hundreds of database rows and making multiple SoundCloud API calls, all of which took time…and all of which I was performing in serial.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s right: serial. At first, I only had one SoundCloud API client running. If that client was running a search, it wasn&amp;#8217;t grabbing an artist&amp;#8217;s tracks; furthermore, whenever the app reached the point in the loop where it inserted a bunch of rows into the database, my one SoundCloud API client would sit idle. As a result, running the script against the 600+ artists in my Rdio collection took days—yes, days. I knew that couldn&amp;#8217;t be right, but I didn&amp;#8217;t know how to fix it. So I waited.&lt;/p&gt;
&lt;p&gt;Waiting wasn&amp;#8217;t too bad. I had other classes to attend to, so I spent the better part of a week mostly just babysitting the script when I woke up in the morning and before I went to sleep at night, making sure that it didn&amp;#8217;t get hung up on errors and checking in on its progress. Finally, I had my dataset. I ran my algorithm draft and mostly rejoiced: the results were &lt;em&gt;interesting&lt;/em&gt;. I felt vindicated, and motivated to continue. But in order to move forward, I&amp;#8217;d need to learn a thing a two.&lt;/p&gt;
&lt;p&gt;What I needed was to learn how to run &lt;em&gt;background jobs&lt;/em&gt;. That phrase had actually kicked around in my head and over text message conversations as I&amp;#8217;d watched the script continue its slooooow progress over multiple days. I&amp;#8217;d heard of &amp;#8220;background jobs&amp;#8221; before, and I had a feeling they were the solution, but I didn&amp;#8217;t know the &amp;#8220;right&amp;#8221; way to implement them in the context of Ruby. Some Google searching suggested that &lt;a href="https://github.com/defunkt/resque"&gt;Resque&lt;/a&gt; was pretty popular, but when I told &lt;a href="http://twitter.com/sferik"&gt;Erik&lt;/a&gt; about my plan, he suggested I check out &lt;a href="https://github.com/mperham/sidekiq/"&gt;Sidekiq&lt;/a&gt;. Resque is great, and has some strong Google juice because it&amp;#8217;s been around for a while. But Sidekiq is an up-and-coming complement/alternative (sort of like the musicians I was seeking to highlight!); as further evidence, Erik showed me the &lt;a href="https://www.ruby-toolbox.com/categories/Background_Jobs"&gt;&amp;#8220;Background Jobs&amp;#8221; page on Ruby Toolbox&lt;/a&gt;, which made it clear that Sidekiq is on the rise. As an added plus, Sidekiq&amp;#8217;s &amp;#8220;Examples&amp;#8221; folder included a &lt;a href="https://github.com/mperham/sidekiq/blob/master/examples/sinkiq.rb"&gt;Sinatra example&lt;/a&gt; that looked like it would help me get everything set up right. I was sold.&lt;/p&gt;
&lt;p&gt;It took me about half a day to get the hang of Sidekiq, but once it finally clicked, my coding world turned inside out. &lt;strong&gt;What had taken days now took minutes. &lt;/strong&gt;Instead of making API calls wait patiently in line, Sidekiq allowed me to spin up as many as 20 simultaneous API clients, each of which could go run searches and retrieve data independently. Since my app was all about casting a wide net, stashing the detailed results locally, and then running a one-time algorithm on the results, it presented an ideal use case for background jobs…and Sidekiq was the perfect companion.&lt;/p&gt;
&lt;p&gt;I felt like I was getting close. There was still a lot to do—design a front end, deploy to Heroku, refine the algorithm, hunt down bugs—but the core of the app was working, and I felt like the hard part was behind me. Normally, this is the point in a narrative where I&amp;#8217;d say &amp;#8220;little did I know how wrong I was&amp;#8221;…but fortunately, and to my huge relief, I was mostly right. Designing front ends and deploying to Heroku and equation-tweaking and bug-hunting aren&amp;#8217;t exactly easy, but they were all at least paths I&amp;#8217;d been down in the past. Background jobs had been the big unknown, but tackling them had provided the biggest payoff. In the case of SoundScout, I learned to run background jobs mostly out of necessity; the app just wasn&amp;#8217;t viable without them. But I think the same logic applies even in less-dire situations: great unknowns can yield incredible surprises. I&amp;#8217;ll try to remember that the next time familiarity beckons.&lt;/p&gt;
&lt;p&gt;The clock was still ticking. For the purposes of CS50, the app was due at noon on a Sunday. The night before, I skipped sleep entirely—knocking out the front end, deployment, and algorithm refinements one by one. As the final half-hour ran down, I captured some screencast footage in a hurry; part of the assignment was to create a short video showcasing your app. I found a &lt;a href="http://soundcloud.com/method/cleopatra"&gt;Creative Commons-licensed track by a band called Method&lt;/a&gt; to use as the soundtrack, rushed to edit the video in iMovie, and &lt;a href="http://www.youtube.com/watch?v=hpC5KIoScRo"&gt;uploaded it to YouTube&lt;/a&gt; in the nick of time.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/00c06035479d32fd30aaf416ff36bb95/tumblr_inline_mgolg0ogV71qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;Time ran out. The assignment was over. But I wasn&amp;#8217;t done. I wanted to see if SoundScout would work for people besides me. So I tweeted out an oblique invitation to try out the app I&amp;#8217;d been working on, and got a few responses. I sent those people a link to the site, refreshed my database connection to watch their SoundCloud and Rdio authorizations appear, and then the Sidekiq workers were off to the races.&lt;/p&gt;
&lt;p&gt;It was thrilling to see people really using a thing I really built. It was also maddening to see assumptions break down in practice. In one case, the entire app got derailed because a certain artist name derived from Rdio exceeded the default max string length set by DataMapper. (Fixing that was as simple as setting a new, higher maximum manually…but hunting down the bug in the first place took forever!) And extremes on the spectrum presented their own problems; searches seeded with just two Rdio artists led to thin, almost unusable results; a candidate pool derived from an Rdio list of 1000+ artists took so long to sift on the fly that a page load timed out. (The solution there was to cache results in a separate table as part of the initial search process.) But the most interesting realization hit slowly, and arrived as a result of a back-and-forth with my friend &lt;a href="http://twitter.com/hoverbird"&gt;Patrick&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Throughout this recap, I&amp;#8217;ve been using &amp;#8220;members of a user&amp;#8217;s Rdio collection&amp;#8221; and &amp;#8220;Rdio favorites&amp;#8221; interchangeably. But they&amp;#8217;re not actually interchangeable at all, and their incompatibility was a major source of frustration throughout the development process. What I &lt;em&gt;wanted&lt;/em&gt; was a shortlist of each user&amp;#8217;s most-listened-to or otherwise most-beloved Rdio artists; what I settled for, after a too-cursory initial read of the documentation, was artists whose albums belonged to the user&amp;#8217;s Rdio &lt;em&gt;collection&lt;/em&gt;. Rdio collections can be gigantic, as demonstrated by the 1000+ artists case. But without the ability to surface the most important artists in any given collection, I opted to prefer a wide net over an arbitrarily exclusive one.&lt;/p&gt;
&lt;p&gt;After trying the app for himself, Patrick asked how I was determining which Rdio artists to focus on. I explained my reasoning, and he said something like: &amp;#8220;Weird. Seems like most-listened-to artists is something the Rdio API should have.&amp;#8221; To prove my point, I loaded up &lt;a href="http://developer.rdio.com/docs/read/rest/Methods"&gt;Rdio&amp;#8217;s API documentation&lt;/a&gt; to confirm the URL before sharing it with him. But as I scrolled up and down the page, my heart sank and exploded: &lt;em&gt;it was there all along&lt;/em&gt;. Rdio has a concept of &amp;#8220;Heavy Rotation&amp;#8221;—the most-listened-to artists and albums in a network. Turns out, they expose &lt;em&gt;per-user&lt;/em&gt; Heavy Rotation through the API as well—complete with a &lt;code&gt;hits&lt;/code&gt; count representing relative importance in a user&amp;#8217;s collection.&lt;/p&gt;
&lt;p&gt;I took a screenshot of my conversation with Patrick as the realization dawned on me in real-time:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/d2884e7fe2d657491f21af4010ef6122/tumblr_inline_mgmw9cma8Q1qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;Moral of the story: don&amp;#8217;t give up so easily! The tool you wish existed probably already does. Keep looking, keep asking, keep trying. I hope I&amp;#8217;ll never resign myself to apparent limitations so quickly again.&lt;/p&gt;
&lt;p&gt;As it was, the late-breaking epiphany led to a madcap rewrite on zero sleep…which, all things considered, turned out to be pretty fun. I think part of me didn&amp;#8217;t want it to be over, and my &amp;#8220;how could I have missed this?!&amp;#8221; moment kept the adrenaline going.&lt;/p&gt;
&lt;p&gt;A month later, I still miss that adrenaline sometimes. I miss the terror of the unknown getting toppled by the thrill of discovery, over and over again. But I&amp;#8217;ve got a new project in mind; a new unknown I&amp;#8217;m ready to face. I&amp;#8217;ll find my way down the rabbit hole again.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;With thanks to two great Pauls: Paul Bowden, my CS50&amp;#160;TF, and &lt;a href="http://twitter.com/paulosman"&gt;Paul Osman&lt;/a&gt;, SoundCloud&amp;#8217;s incredibly helpful API Evangelist. (Go check out his new &lt;a href="http://www.codecademy.com/tracks/soundcloud"&gt;SoundCloud API lesson on Codecademy&lt;/a&gt;!) The longest hug goes to &lt;a href="http://twitter.com/sferik"&gt;Erik&lt;/a&gt;, for everything.&lt;/em&gt;&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/40616279320</link><guid>http://blog.dianakimball.com/post/40616279320</guid><pubDate>Tue, 15 Jan 2013 14:29:00 -0500</pubDate><category>coding</category><category>cs50</category></item><item><title>Art and Convenience: Reflections on The Cultural Cold War</title><description>&lt;p&gt;&lt;em&gt;Cultural freedom did not come cheap. [Between 1952 and 1969], the CIA was to pump tens of millions of dollars into the Congress for Cultural Freedom and related projects. With this kind of commitment, the CIA was in effect acting as America&amp;#8217;s Ministry of Culture.&lt;/em&gt; – Frances Stonor Saunders&lt;/p&gt;
&lt;p&gt;In July 2012, I &lt;a href="http://blog.dianakimball.com/post/27262132657"&gt;wrote&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;p&gt;Did you know the 1950s CIA patronized Abstract Expressionism indirectly? Neither did I! But according to [Lewis] Hyde, the whole story is detailed in a book titled &lt;em&gt;&lt;a href="http://www.amazon.com/The-Cultural-Cold-War-Letters/dp/1565846648/ref=wl_it_dp_o_pC_S_nC?ie=UTF8&amp;amp;colid=1LL8V5T1KA0H&amp;amp;coliid=I18TQA9GA0YIKS"&gt;The Cultural Cold War: The CIA and the World of Arts and Letters&lt;/a&gt;&lt;/em&gt;&lt;span&gt;, by Frances Stonor Saunders. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;I need to read this book.&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks to a &lt;a href="https://twitter.com/DaveStroup/status/224536183076691968"&gt;mysterious sender&lt;/a&gt;, the book appeared on my desk a week later. I started reading it right away, finished a few months later, and let it sink in for a few months more. &lt;em&gt;The Cultural Cold War&lt;/em&gt; is a dense, difficult, painstakingly-researched book, and it blew my mind.&lt;/p&gt;
&lt;p&gt;Because the book was so dense and difficult—Biblical in its litanies of names, dizzying in its quick cuts between poorly-illuminated scenes—I can&amp;#8217;t recommend it without reservation. To get a flavor of the weirdness, I&amp;#8217;d suggest this (much) shorter news piece by the book&amp;#8217;s author, instead: &amp;#8220;&lt;a href="http://www.independent.co.uk/news/world/modern-art-was-cia-weapon-1578808.html"&gt;Modern art was CIA &amp;#8216;weapon&amp;#8217;&lt;/a&gt;&amp;#8221;. But if you&amp;#8217;re looking to thoroughly upend your understanding of art, prestige, and the role of government, and you&amp;#8217;re tireless in your search for truth, this is the book for you.&lt;/p&gt;
&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;At the outset of the Cold War, a sliver of the US elite identified the appeal of Communism to European intellectuals as a risk. They perceived high culture as a serious front in the struggle—one to be defended and surveilled. To fuel these efforts, they turned to counterpart funds.&lt;/p&gt;
&lt;p&gt;Under the &lt;a href="http://en.wikipedia.org/wiki/Marshall_Plan"&gt;Marshall Plan&lt;/a&gt;, governments receiving U.S. funds were required to deposit a matching amount; 5% of that amount &amp;#8220;became, upon deposit, the property of the US government.&amp;#8221; (p. 105) As a result, &amp;#8220;a secret fund of roughly $200 million a year [was] made available as a war chest for the CIA.&amp;#8221; (p. 106) They called it &amp;#8220;candy,&amp;#8221; because it came unburdened by the threat of outrage from US taxpayers. It was free money, and the CIA spent a lot of it on art.&lt;/p&gt;
&lt;p class="p1"&gt;&lt;em&gt;[The Congress for Cultural Freedom] was not to be a centre for agitation, but a beachhead in western Europe from which the advance of Communist ideas could be halted. It was to engage in a widespread and cohesive campaign of peer pressure to persuade intellectuals to dissociate themselves from Communist fronts or fellow travelling organizations. It was to encourage the intelligentsia to develop theories and arguments which were directed not at a mass audience, but at that small elite of pressure groups and statesmen who in turn determined government policy. (p. 98-9)&lt;/em&gt;&lt;/p&gt;
&lt;p class="p1"&gt;The spending was entirely indirect; of course the CIA couldn&amp;#8217;t be seen funding grants and symposia, even though that&amp;#8217;s exactly what they were doing. They funneled the money through believable benefactors such as Julius &amp;#8220;Junkie&amp;#8221; Fleischmann, whose &amp;#8220;personal wealth and varied artistic patronage made him an ideally plausible angel for the CIA&amp;#8217;s sponsorship of the Congress for Cultural Freedom.&amp;#8221; &lt;a href="http://en.wikipedia.org/wiki/Thomas_Braden"&gt;Tom Braden&lt;/a&gt;, an official in the CIA, &amp;#8220;later described Junkie as one of the many &amp;#8216;rich people who wanted to be of service to the government. They got a certain amount of self-esteem out of it. They were made to feel they were big shots because they were let in on this secret expedition to battle the Communists.&amp;#8221; (p. 126) Covert action agent William Colby described the mechanism further:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;p&gt;We generally reached out to find Americans who would consent to take the money into their accounts and then use it to contribute in various ways…If you went to any American institution, company, anything else, and said &amp;#8220;Will you help your country by passing this money?&amp;#8221; they&amp;#8217;d salute and say &amp;#8220;Absolutely, I&amp;#8217;d be delighted. It&amp;#8217;s easy to pass money around the world to the desired end objective. It might not be one bulk payment but various small payments going in the right direction. (p. 133)&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;Serving one&amp;#8217;s country in secret, gaining more of the prestige afforded by philanthropy in public; what could be better? Fleischmann, in particular—&amp;#8221;a multi-millionaire famed for his stinginess&amp;#8221;—had a ball &amp;#8220;dishing up CIA money an taking all the credit for it.&amp;#8221; (p. 119) Case officer Lee Williams unpacked the motivations of these &amp;#8220;quiet channels&amp;#8221; further: &amp;#8220;There sas a commonality of purpose that seemed to us to dissolve any major concern about the morality of what we were doing.&amp;#8221; (p. 134)&lt;/p&gt;
&lt;p&gt;The biggest obstacle standing in the way of success? &lt;a href="http://en.wikipedia.org/wiki/Joseph_McCarthy"&gt;Joseph McCarthy&lt;/a&gt;. While the CIA was vigorously promoting the tenets and exemplars of American free expression abroad, McCarthy&amp;#8217;s campaigns began to undermine that freedom at home.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The Soviets—and indeed much of Europe—were saying that America was a cultural desert, and the behavior of US Congressmen seemed to confirm that. Eager to show the world that here was an art commensurate with America&amp;#8217;s greatness and freedom, high-level strategists found they couldn&amp;#8217;t publicly support it because of domestic opposition. So what did they do? They turned to the CIA. And a struggle began to assert the merits of Abstract Expressionism against attempts to smear it. (p. 257)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As for the artists—of course they sometimes wondered where all the money was coming from. But it was in their interests to not question the money &lt;em&gt;too&lt;/em&gt; closely. Why shouldn&amp;#8217;t the Fleischmanns of the world devote their fortunes to art? Here, I found Donald Jameson&amp;#8217;s remarks so striking that I&amp;#8217;ll include them in their entirety and add a few points of emphasis:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I think that almost everybody in a position of significant in the Congress [for Cultural Freedom] was aware that somehow or other the money came from some place, and if you looked around there was ultimately only one logical choice. And they made that decision. &lt;strong&gt;The main concern for most scholars and writers really is how you get paid for doing what you want to do. I think that, by and large, they would take money from whatever source they could get it&lt;/strong&gt;. And so it was that the Congress and other similar organizations—both East and West—were looked upon as sort of large teats from which anybody could take a swig if they needed it and then go off and do their thing. That is one of the main reasons, really I think, for the success of the Congress: it made it &lt;strong&gt;possible to be a sensitive intellectual and eat&lt;/strong&gt;. And the only other people who did that really were the communists. &lt;/em&gt;(p. 345)&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it, isn&amp;#8217;t it? We all want it to be possible to be a sensitive intellectual and eat. I want that. Most of my friends want that. Who wouldn&amp;#8217;t? For almost two decades, the prestige and credibility afforded by art were valuable to the CIA; priceless, almost. In the scheme of things, funding art was small potatoes. The CIA could afford to spend a few million dollars for the chance to change important people&amp;#8217;s minds.&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;When I mentioned this book to a friend, he replied: &amp;#8220;oh, art historians hate it.&amp;#8221; I don&amp;#8217;t know how widespread that sentiment is, but I buy into its basic premise. That the entire art apparatus of the United States could be swayed by &amp;#8220;candy&amp;#8221; (a sliver of a sliver of the money that went into the Cold War) and patriotism calls into question the entire endeavor. In fifty years, what patrons of today (governmental or not) will we come to understand as puppeteers of prestige? &lt;/p&gt;
&lt;p&gt;Saunders deals with this question head-on. In fact, her book is motivated in part by a desire to show that CIA motives really &lt;em&gt;did&lt;/em&gt; make a difference in what art was produced; that even if &amp;#8220;quiet channels&amp;#8221; weren&amp;#8217;t instructing artists, they built enough preferences into the whole machinery of magazines, grants, and publishing that their favored perspective was sure to win out. In the introduction, she writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;The defense mounted by custodians of the period—which rests on the claim that the CIA&amp;#8217;s substantial financial investment came with no strings attached—has yet to be seriously challenged…But official documents relating to the cultural Cold War systematically undermine this myth of altruism. (p. 4)&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;And later in the book, she quotes &lt;a href="http://en.wikipedia.org/wiki/Jason_Epstein"&gt;Jason Epstein&lt;/a&gt; as saying:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;It was not a matter of buying off and subverting individual writers and scholars, but of setting up an arbitrary and factitious system of values by which academic personnel were advanced, magazine editors appointed, and scholars subsidized and published, not necessarily on their merits—though those were sometimes considerable—but because of their allegiance. (p. 323)&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;Saunders attempts to reconcile art as independent and art as a kept field by explaining:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;It is hard to sustain the argument that the Abstract Expressionists merely &amp;#8216;happened to be painting &lt;em&gt;in&lt;/em&gt; the Cold War and not &lt;em&gt;for&lt;/em&gt; the Cold War&amp;#8217;. Their own statements and, in some cases, political allegiances, undermine claims of ideological disengagement. But it is also the case that the work of the Abstract Expressionists cannot be reduced to the political history in which it is situated. Abstract Expressionism, like jazz, was—is—a creative phenomenon existing independently and even, yes, triumphantly, apart from the political use which was made of it. (p. 277)&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;But I&amp;#8217;m still left with a wary feeling: how much are creators driven by convenience? Constraints aren&amp;#8217;t always bad, but shadowy ones worry me. If you knew that a rubric existed and you could see its outlines by the actions of emergent winners, wouldn&amp;#8217;t you be tempted to lean into the skeleton as it surfaced?&lt;/p&gt;
&lt;p&gt;What I really want is a movie version of &lt;em&gt;The Cultural Cold War&lt;/em&gt;—something riveting and troubling that we can all see and talk about. As it stands, the message is locked away in 427 difficult pages that even I would be hard-pressed to read again. Yet perhaps the chief of the CIA&amp;#8217;s Covert Action Staff, quoted by Saunders on page 245, was onto something: &amp;#8220;one single book can significantly change the reader&amp;#8217;s attitude and action to an extent unmatched by the impact of any other single medium.&amp;#8221; &lt;/p&gt;
&lt;p&gt;If &lt;em&gt;The Cultural Cold War &lt;/em&gt;were a movie, I would file it away in my mind as fiction. In reality, it&amp;#8217;s all too true.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post concludes the &lt;a href="http://blog.dianakimball.com/tagged/mysterious-book"&gt;Mysterious Book cycle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/40024546390</link><guid>http://blog.dianakimball.com/post/40024546390</guid><pubDate>Tue, 08 Jan 2013 13:33:00 -0500</pubDate><category>mysterious book</category><category>reading</category></item><item><title>Sunday, January 6, 2013 marked the second meeting of 24-Hour...</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F73933950&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Sunday, January 6, 2013 marked the second meeting of &lt;a href="http://www.24hourbookclub.com"&gt;24-Hour Bookclub&lt;/a&gt;—a reading flashmob anyone can join.&lt;/p&gt;
&lt;p&gt;After spending the whole day reading &lt;em&gt;&lt;a href="http://www.amazon.com/Both-Flesh-Not-Essays-ebook/dp/B0078XGSJY"&gt;Both Flesh and Not&lt;/a&gt; &lt;/em&gt;(the new collection of essays by David Foster Wallace), I set my trusty reading device down and recorded the track above, alternately rambling and rejoicing over the experience.&lt;/p&gt;
&lt;p&gt;So much happened, and for one day it all hung together. But the links are fading away already, so I wanted to make sure to collect them all in one place before the reality we inhabited for a single day disappears completely!&lt;/p&gt;
&lt;p&gt;First and foremost: &lt;a href="http://storify.com/dianakimball/24hourbookclub-reads-both-flesh-and-not"&gt;&lt;strong&gt;all tweets&lt;/strong&gt; (over 200!) from all readers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://branch.com/g/24hourbookclub"&gt;&lt;strong&gt;In-depth conversations&lt;/strong&gt; about each essay on Branch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://readmill.com/books/both-flesh-and-not-essays"&gt;&lt;strong&gt;Highlights and notes&lt;/strong&gt; on Readmill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(And don’t miss &lt;a href="http://blog.readmill.com/post/39746352278/24-hour-bookclub-readmill-come-join"&gt;the nice blog post Readmill wrote about 24-Hour Bookclub&lt;/a&gt;!)&lt;/p&gt;
&lt;p&gt;I’m so happy that this happened, and can’t wait to see it happen again.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/39984770117</link><guid>http://blog.dianakimball.com/post/39984770117</guid><pubDate>Mon, 07 Jan 2013 22:30:00 -0500</pubDate><category>24hourbookclub</category><category>reading</category></item><item><title>24-Hour Bookclub Tips</title><description>&lt;p&gt;In just a few short hours, the latest edition of &lt;a href="http://www.24hourbookclub.com"&gt;24-Hour Bookclub&lt;/a&gt;—a reading flashmob you can join!—will begin. We&amp;#8217;ll be reading &lt;em&gt;&lt;a href="http://www.amazon.com/Both-Flesh-Not-Essays-ebook/dp/B0078XGSJY"&gt;Both Flesh and Not&lt;/a&gt;&lt;/em&gt;, the new collection of non-fiction essays by David Foster Wallace. If this time is anything like &lt;a href="http://blog.dianakimball.com/post/33176450911"&gt;last time&lt;/a&gt;, I&amp;#8217;m going to be delirious with happiness by the end of the day. I&amp;#8217;m already kind of delirious with excitement.&lt;/p&gt;
&lt;p&gt;Since a ton of readers are joining us for the first time, I thought I&amp;#8217;d jot down a few examples of ways people have seized the day and new ideas we&amp;#8217;re trying out this time. These are all things that people came up with spontaneously, though, so my number-one piece of advice is: experiment! If it seems like a good idea, try it. We&amp;#8217;re all making this up as we go along, and that&amp;#8217;s what makes it so fun.&lt;/p&gt;
&lt;p&gt;You could…&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://instagram.com/p/QcR2g7GZ9I/"&gt;Take a picture&lt;/a&gt; as you start reading.&lt;/strong&gt; Capture the book (or the device you&amp;#8217;re reading it on) in your natural surroundings. And if you received a membership card in the mail…might we suggest using it as a bookmark?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://twitter.com/_aitor/status/254561965878427648"&gt;Pull quotes&lt;/a&gt; that catch your attention and post them to Twitter.&lt;/strong&gt; Make sure to add the hashtag #24hourbookclub to all your tweets so that we can find them!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Throw an in-person reading party with friends. &lt;/strong&gt;&lt;a href="https://twitter.com/couch/status/254656493188706305"&gt;Last time&lt;/a&gt;, people in San Francisco got together to read &lt;em&gt;Mr. Penumbra&amp;#8217;s 24-Hour Bookstore&lt;/em&gt; in Dolores Park with bagels. &lt;a href="https://twitter.com/kristinapp/status/286852920757063680"&gt;This time&lt;/a&gt;, people are gathering in Brooklyn to read together and eat coffee cake. That&amp;#8217;s so cool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Write more than 140 characters &lt;a href="http://branch.com/g/24hourbookclub"&gt;on Branch&lt;/a&gt;!&lt;/strong&gt; Thanks to &lt;a href="http://twitter.com/libbybrittain"&gt;Libby&lt;/a&gt; and &lt;a href="https://twitter.com/joshm"&gt;Josh&lt;/a&gt; at Branch, we&amp;#8217;re all set up with &lt;a href="http://branch.com/g/24hourbookclub"&gt;a shiny new Branch group for 24-Hour Bookclub&lt;/a&gt;. Click &amp;#8220;ask to join&amp;#8221; and we&amp;#8217;ll let you right in once it&amp;#8217;s Sunday morning where you are. We&amp;#8217;ve set up separate branches for each essay in the collection. Once you finish reading &amp;#8220;The (As it Were) Seminal Importance of Terminator 2,&amp;#8221; for instance, you can hop on over to the associated branch and see what other people have to say, as well as adding your own thoughts. Branch and Twitter are complementary; Branch emanates quiet purpose and lively civility, where Twitter is all chaos and bright light. I&amp;#8217;m excited to see them coexist!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Highlight in &lt;a href="http://readmill.com"&gt;Readmill&lt;/a&gt; as you go along.&lt;/strong&gt; I did this for &lt;a href="http://blog.dianakimball.com/post/26734283713/theinformation"&gt;my original solo book-in-a-day experiment&lt;/a&gt; and I can&amp;#8217;t wait to do it again for &lt;em&gt;Both Flesh and Not&lt;/em&gt;. When &lt;a href="https://twitter.com/matthewcbostock"&gt;Matthew&lt;/a&gt; from Readmill interviewed me and &lt;a href="http://twitter.com/maxtemkin"&gt;Max&lt;/a&gt; over email, I &lt;a href="http://blog.readmill.com/post/39746352278/24-hour-bookclub-readmill-come-join"&gt;realized&lt;/a&gt; that &amp;#8220;calm and exhilaration are two sides of the same coin: books were made for immersion, and no experience is more immersive than Readmill.&amp;#8221; If you&amp;#8217;d like, you can follow my real-time highlights and notes &lt;a href="http://readmill.com/dianakimball"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Share your thoughts out loud with &lt;a href="http://soundcloud.com"&gt;SoundCloud&lt;/a&gt;. &lt;/strong&gt;I love the image of a time-shifted in-person bookclub…all of us sitting around a kitchen table, talking once we have things to say. SoundCloud&amp;#8217;s &lt;a href="https://soundcloud.com/mobile"&gt;mobile apps&lt;/a&gt; are great for recording audio on the fly—I use their iOS app pretty much every day.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Or…just quietly read, and know that you&amp;#8217;re in good company.&lt;/strong&gt; I love playing with new tools, and I love that so many 24-Hour Bookclub readers do, too. But books are our first love, and if solitude feels truest to you, then that&amp;#8217;s what you should do. This can be whatever we want it to be, and if all you need is the license to throw yourself into a book for a day…well, dear reader, we will give that to you in a heartbeat.&lt;/p&gt;
&lt;p&gt;I hope to see you in the morning! Thank you for being a part of this.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/39797887746</link><guid>http://blog.dianakimball.com/post/39797887746</guid><pubDate>Sat, 05 Jan 2013 21:31:00 -0500</pubDate><category>24hourbookclub</category><category>reading</category></item><item><title>“Weapons,” by Dad Rocks!
The whole album is so good....</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F23822219&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;“Weapons,” by Dad Rocks!&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://soundcloud.com/dad-rocks/sets/mount-modern"&gt;whole album&lt;/a&gt; is so good. Teenage me would have been head over heels, and twentysomething me is, too. I was suspicious of the band name when I saw it in SoundCloud’s &lt;a href="https://soundcloud.com/david/sets/community-team-favs-2012"&gt;Community Team Favs 2012 set&lt;/a&gt; (will this be like Yo Gabba Gabba crossed with Wilco?), but the music won me over quickly. This track features Charles Spearin of Broken Social Scene on cornet.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/39193736915</link><guid>http://blog.dianakimball.com/post/39193736915</guid><pubDate>Sun, 30 Dec 2012 00:46:00 -0500</pubDate></item><item><title>"My voice—with its grain, with its accents, with its imprecise diction, its tonalities, rhythms,..."</title><description>“My voice—with its grain, with its accents, with its imprecise diction, its tonalities, rhythms, pauses and vacillations—is witness to a presence even when I’m not there; it brings me close to people and doesn’t negate my transformative capacity because its presence is dynamic, alive and trembling even when seemingly still.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://en.m.wikipedia.org/wiki/Wu_Ming#section_2"&gt;Wu Ming&lt;/a&gt;, via &lt;a href="http://jchun.tumblr.com/"&gt;Jane&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I love this about sound.&lt;/p&gt;&lt;/em&gt;</description><link>http://blog.dianakimball.com/post/39165629835</link><guid>http://blog.dianakimball.com/post/39165629835</guid><pubDate>Sat, 29 Dec 2012 18:45:07 -0500</pubDate></item><item><title>I’m playing with Medium.</title><description>&lt;img src="http://25.media.tumblr.com/607677c1fe4d297b2ce6a66039bd7441/tumblr_mft8g35mmj1qz99eto1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I’m &lt;a href="https://medium.com/close-to-the-machine/8c2d491886fa"&gt;playing with Medium&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/39151662249</link><guid>http://blog.dianakimball.com/post/39151662249</guid><pubDate>Sat, 29 Dec 2012 15:48:00 -0500</pubDate><category>coding</category></item><item><title>Code Log 12.4.2012</title><description>&lt;p&gt;&lt;em&gt;Notes on &lt;a href="http://blog.dianakimball.com/post/31316813869/writing-code"&gt;what it’s like to write code&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I woke up this morning and pulled my open laptop onto the mountainous comforter piled over my knees. Eyes blinking against the sunlight, I squinted at the Terminal window on my screen. Before email, before Twitter, before breakfast, before anything: the most pressing, exciting thing in my world at 7-something this morning was the status of the script I&amp;#8217;d set running overnight…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;…Noooooooo. &lt;/em&gt;I&amp;#8217;d forgotten to turn off Energy Saver. The script had stopped when the laptop went to sleep, which is to say, right about when &lt;em&gt;I&lt;/em&gt; went to sleep, which is to say, it hadn&amp;#8217;t run overnight at all.&lt;/p&gt;
&lt;p&gt;The goal had been to grab a ton of data from &lt;a href="http://soundcloud.com"&gt;SoundCloud&lt;/a&gt; using their &lt;a href="http://developers.soundcloud.com/docs/api/reference"&gt;API&lt;/a&gt;, so that I could fill my database with useful test data against which to tune my algorithm. I&amp;#8217;ve been working nonstop on &lt;a href="http://blog.dianakimball.com/post/35043474885"&gt;this app idea&lt;/a&gt; I laid out exactly one month ago. It&amp;#8217;s nominally my final project for &lt;a href="http://cs50.net"&gt;CS50&lt;/a&gt;—due this Sunday!—but it&amp;#8217;s become much more than that, as I always hoped it would.&lt;/p&gt;
&lt;p&gt;Over Thanksgiving, I spent late nights coding at my grandma&amp;#8217;s house in Wyoming, precariously connected to the internet over tethered cellular data. I generated piles of CSVs as I experimented with different properties that might indicate promising SoundCloud musicians inspired by artists a user follows on Rdio. My working title for the project was &amp;#8220;Riser.&amp;#8221; Since all my early files remained in the RIser folder, you can see the accumulated detritus of experimentation:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/tumblr_mehutahWel1qz94r5.png"/&gt;&lt;/p&gt;
&lt;p&gt;(Terminal sporting &lt;a href="https://github.com/sferik/dotfiles"&gt;Erik&amp;#8217;s dotfiles&lt;/a&gt;. They&amp;#8217;re indispensable!)&lt;/p&gt;
&lt;p&gt;As you can see, the folder was a mess. I&amp;#8217;m philosophically okay with messiness (especially in the beginning of any new project), but I&amp;#8217;ll admit that I added a needless layer of messiness by not using version control from the beginning.&lt;/p&gt;
&lt;p&gt;Conceptual discomfort with version control was not the problem. I love using &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; and &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt;; &lt;a href="https://github.com/dianakimball"&gt;my GitHub profile&lt;/a&gt; shows 18 public repos—mostly forks of other projects—and I have 5 private ones (mostly original material) besides. The two main sticking points were subtler:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;To work with the Rdio and SoundCloud APIs, I needed to hand off some personal information through my app. In the beginning, I was just storing that info willy-nilly through the code. I eventually moved it to a credentials file (credentials.yml), but still had a nagging worry; I didn&amp;#8217;t want to risk uploading a credentials file to GitHub.&lt;/li&gt;
&lt;li&gt;I &lt;em&gt;especially&lt;/em&gt; didn&amp;#8217;t want to &amp;#8220;risk it&amp;#8221; because I semi-remembered that I&amp;#8217;d hit my limit of private repos on GitHub&amp;#8217;s micro plan. (&lt;a href="https://github.com/edu"&gt;Free&lt;/a&gt; to students.)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;In truth, I probably could have figured out what to do. My eventual solution was to delete one of my private repos (which was actually just an empty app, so it was good to get that cleaned up anyway) and to add credentials.yml to my &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html"&gt;gitignore&lt;/a&gt; file so that Git would, well, ignore it when deciding what to track and send to GitHub. A quick conversation with Erik was all it took to get me over the hump and into using version control (in a new folder bearing the project&amp;#8217;s final, still-top-secret name) at last. But what&amp;#8217;s funny is that I&amp;#8217;d actually handled each of those situations once or twice before; they weren&amp;#8217;t completely alien to me. Rather, the hurdles felt &lt;em&gt;just unfamiliar enough&lt;/em&gt; that I held on to some resistance below the level of conscious awareness. Minute to minute, the sensation was: I just want to keep making my app better! But now I&amp;#8217;m kind of disappointed not to have the full history of my progress preserved eternally on GitHub. &lt;/p&gt;
&lt;p&gt;Next time will be better.&lt;/p&gt;
&lt;p&gt;And the script that went to sleep? Well, that had a happy ending. After turning off Energy Saver with a flourish of righteous indignation, I spent some more morning minutes squinting at my screen (eyes slowly opening), improving the script, messing with my database, until it seemed like it was in better working condition. I set it running and then stepped outside to go get oatmeal from the cafeteria.&lt;/p&gt;
&lt;p&gt;It was my first trip outside in…oh, &lt;a href="http://twitter.com/dianakimball/status/275433058038067201"&gt;about 36 hours&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m hopelessly hooked.&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/37175768261</link><guid>http://blog.dianakimball.com/post/37175768261</guid><pubDate>Tue, 04 Dec 2012 02:19:00 -0500</pubDate><category>coding</category><category>cs50</category><category>codelog</category></item><item><title>Code Log 11.4.2012</title><description>&lt;p&gt;&lt;em&gt;Notes on &lt;a href="http://blog.dianakimball.com/post/31316813869/writing-code"&gt;what it’s like to write code&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today, I raced back into Ruby&amp;#8217;s arms.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s hard to believe, but the end of the semester is drawing near, and so &lt;a href="http://cs50.net"&gt;CS50&lt;/a&gt; (the intro to computer science course I&amp;#8217;m taking at Harvard) is winding down, too. Well, &amp;#8220;winding down&amp;#8221; would probably be an overstatement; there&amp;#8217;s a lot of work left to do! But lectures have finally broken free of the thicket of &lt;a href="http://en.wikipedia.org/wiki/C_(programming_language)"&gt;C&lt;/a&gt;, and &lt;a href="http://cdn.cs50.net/2012/fall/psets/7/pset7.pdf"&gt;this week&amp;#8217;s problem set&lt;/a&gt; will be our last. After that, there&amp;#8217;s just one more quiz and the final project.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The final project. &lt;/em&gt;The &lt;a href="http://cdn.cs50.net/2012/fall/projects/project.pdf"&gt;specification&lt;/a&gt; explains: &amp;#8220;All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact campus, or that you change the world. Strive to create something that outlives this course.&amp;#8221; I&amp;#8217;ve built apps before, but something feels different about the prospect of this one. It might be my &lt;a href="http://blog.dianakimball.com/post/32263101298"&gt;great love for the course&lt;/a&gt;; it might be the element of communal experience; it might be that CS50 itself feels like a rite of passage. It might be that in the past, apps I&amp;#8217;ve built have always felt hacked together—hanging by a thread. This one might, too, but I&amp;#8217;ll understand the threads so much better. I&amp;#8217;ll see how they come together.&lt;/p&gt;
&lt;p&gt;For a long time, I&amp;#8217;ve imagined that I&amp;#8217;d build my final project for iOS. The promise of being able to experience something I built &lt;em&gt;on my phone &lt;/em&gt;just seemed impossibly cool. But after spending some time with Apple&amp;#8217;s &lt;a href="https://developer.apple.com/devcenter/ios/index.action"&gt;iOS documentation&lt;/a&gt; this weekend, my heart fell. In spite of my newfound (relative) comfort with C—a close relative of &lt;a href="http://en.wikipedia.org/wiki/Objective-C"&gt;Objective-C&lt;/a&gt;, the language iOS apps are written in—the tutorials still felt insurmountable. This could be for a lot of reasons, but I have a feeling that &lt;a href="https://developer.apple.com/xcode/"&gt;Xcode&lt;/a&gt;&amp;#8217;s cryptic interface contributed mightily.&lt;/p&gt;
&lt;p&gt;So I backed up. I remembered &lt;a href="http://rubymotion.com"&gt;RubyMotion&lt;/a&gt;, a &amp;#8220;toolchain&amp;#8221; that lets you write iOS apps in Ruby that then compile to Objective-C. Also, if the screenshots are to be believed, it lets you circumvent Xcode. Hallelujah! Seems great. The only problem is that it costs money. I visited their website for the dozenth time, and this time noticed that they were willing to discuss student discounts for those who wrote in. I wrote in. I still hope to hear back; I&amp;#8217;d love to try it out. But in the meantime, my mind started spinning on alternatives.&lt;/p&gt;
&lt;p&gt;The idea for the alternative I&amp;#8217;m running with arrived unbidden, as most good ideas do. This is how it came about:&lt;/p&gt;
&lt;p&gt;This coming Thursday, I&amp;#8217;m traveling to Berlin—for the first time!—to visit friends at &lt;a href="http://soundcloud.com"&gt;SoundCloud&lt;/a&gt;. I&amp;#8217;m so, so excited for this trip. One reason: I&amp;#8217;ve been recording daily, private audio messages to &lt;a href="http://twitter.com/sferik"&gt;Erik&lt;/a&gt; using SoundCloud&amp;#8217;s iPhone app &lt;a href="http://blog.dianakimball.com/post/12522381680"&gt;for the past year&lt;/a&gt; (now up to 321 tracks totaling over 75 hours), so SoundCloud means a lot to me; this will be like a pilgrimage to the mothership. Another reason: I&amp;#8217;ve never been to Germany, and haven&amp;#8217;t been to Europe at all in almost eight years. Also: I&amp;#8217;ll get to hang out with &lt;a href="http://david-noel.com"&gt;David&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;So over the weekend, looking forward to the trip, I decided it was high time to follow more people on SoundCloud. My primary one-to-one use case means that I haven&amp;#8217;t played around with many of the site&amp;#8217;s social features, and I wanted to take those for a whirl by filling out my network a bit. The only question: how?&lt;/p&gt;
&lt;p&gt;I was running errands while mulling this over, so I pulled up the SoundCloud app on my phone and decided to just start searching for the names of bands and musicians I like. But—well—that didn&amp;#8217;t seem very thorough. So I opened up &lt;a href="http://rdio.com"&gt;Rdio&lt;/a&gt; (my primary music app) and started scrolling through the artists in my &amp;#8220;collection&amp;#8221;—a list of albums stored in my account, originally built off of my iTunes library (which is itself now in deep storage on an external hard drive…Rdio and sites like &lt;a href="http://hypem.com"&gt;HypeMachine&lt;/a&gt; and SoundCloud serve all of my day-to-day music needs, and SSD storage space is precious). It&amp;#8217;s a long list; my iTunes library was huge, holding almost a decade&amp;#8217;s worth of accumulated tracks. When I saw an artist that rang a bell as a solid favorite, I&amp;#8217;d toggle over to the SoundCloud app on my phone and search for that artist&amp;#8217;s name. But the hit rate was disappointingly low, and I soon grew frustrated with the workflow. This seemed like the kind of repetitive work a computer could be doing…&lt;/p&gt;
&lt;p&gt;A computer could do this!&lt;/p&gt;
&lt;p&gt;And that means I could &lt;em&gt;make&lt;/em&gt; a computer do it.&lt;/p&gt;
&lt;p&gt;The idea started to shudder to life in my mind. What if…matching?…Rdio…SoundCloud…APIs?…this must already already exist?…shouldn&amp;#8217;t it be built in to SoundCloud?…but…well…it sounds &lt;em&gt;fun&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;My mind careened onto other topics, then veered back, then kept careening. Later that evening, back in front of my computer, I decided to give iOS development one more shot. I got stuck on some Xcode setting and felt totally defeated. Eventually, I went to sleep.&lt;/p&gt;
&lt;p&gt;Today, Erik and I got to talk in real-time for the first time in a while; he was at &lt;a href="http://rubyconf.org/"&gt;RubyConf&lt;/a&gt; in Colorado for the second half of the week, and we typically rely on time-shifted methods (like my SoundCloud audio messages) during the workweek anyway. We talked about all kinds of things (including the lightning talk he gave on the &lt;a href="https://github.com/sferik/t"&gt;T gem&lt;/a&gt;, his open-source command-line power tool for Twitter), but eventually ended up at the question of my final project. &lt;/p&gt;
&lt;p&gt;I presented the options. Option 1: I attempt an iOS app, but I somehow have to figure out all of iOS development in two weekends, since I&amp;#8217;ll be traveling for most of the rest of November and the CS50 fair (where we exhibit our apps) is on December 10. Or, Option 2: I explore this Rdio/SoundCloud idea in Ruby (a familiar language) and focus on making the interface cool. But…that didn&amp;#8217;t feel like quite enough. I&amp;#8217;ve mashed APIs together before; for a project last spring, I at one point had &lt;a href="https://stripe.com/"&gt;Stripe&lt;/a&gt;, &lt;a href="http://www.twilio.com/"&gt;Twilio&lt;/a&gt;, and &lt;a href="https://github.com/amro/gibbon"&gt;MailChimp&lt;/a&gt; all hooked up at once. So where was the challenge befitting a semester of hardcore computer science?&lt;/p&gt;
&lt;p&gt;Erik&amp;#8217;s suggestion: focus on the algorithm. What if instead of straight matching—&amp;#8221;you listen to this artist on Rdio, here&amp;#8217;s that same artist on SoundCloud&amp;#8221;—the app used Rdio artists-in-collection as &lt;a href="http://en.wikipedia.org/wiki/Revealed_preference"&gt;revealed preference&lt;/a&gt; inputs to a suggestion algorithm for new, up-and-coming artists to follow on SoundCloud?&lt;/p&gt;
&lt;p&gt;Now &lt;em&gt;that&lt;/em&gt; was interesting. I could feel myself getting more excited. I&amp;#8217;ve never tried to write a real algorithm, though I&amp;#8217;ve gotten close in my work with databases. When I interface directly with databases, it&amp;#8217;s usually about pulling all the fields I think might be useful, exporting to a spreadsheet, then messing around in Excel til the data starts to make sense. The prospect of writing an algorithm tugged at those same detective instincts, but went beyond. Rather than figuring out how to make sense of the data in one particular configuration, I&amp;#8217;d be trying to figure out how to make sense of the data across all users and all cases, and to present the results of that sense-making in a usable form. When I mess with data in Excel, I&amp;#8217;m the intended audience; by putting data through an algorithm, it expands the possible audience to—well, &lt;em&gt;anyone&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So, that&amp;#8217;s the going idea. That&amp;#8217;s what I&amp;#8217;ll be working toward. But this is one of my favorite things about coding: glimpsing the end goal let me see all the hurdles standing in the way—stretching out to the horizon—and gave me the energy to start jumping them, one by one.&lt;/p&gt;
&lt;p&gt;Obstacle #1: I wasn&amp;#8217;t actually sure what Rdio&amp;#8217;s API looked like. I&amp;#8217;ve used SoundCloud&amp;#8217;s API for projects in the past (here&amp;#8217;s &lt;a href="http://blog.dianakimball.com/post/12522381680"&gt;one example&lt;/a&gt;), so I felt pretty confident that I&amp;#8217;d be able to get what I needed from that side. But Rdio&amp;#8217;s API was a total mystery. And, weirdly, I haven&amp;#8217;t seen many people tap it for projects. That could just be a sample error (I only follow so many people on Twitter, so I only hear about so many hackathon projects), or it could be that Rdio just doesn&amp;#8217;t have a big presence at hackathons, or it could be a lot of other things. But that relative void made me wary, so I decided to investigate Rdio&amp;#8217;s API first, to make sure it had what I needed.&lt;/p&gt;
&lt;p&gt;I found &lt;a href="http://developer.rdio.com/"&gt;Rdio&amp;#8217;s developer page&lt;/a&gt; just by searching for &amp;#8220;rdio api,&amp;#8221; and quickly realized that I would need to apply for an API key. I was a bit worried that a human would need to review my application, so I resigned myself to a couple-day wait. But fortunately, the process was automated; my application was approved instantly. I browsed the &lt;a href="http://developer.rdio.com/docs"&gt;documentation&lt;/a&gt; just enough to reassure myself that the API was, indeed, quite extensive. And then it was time to rush off to lunch.&lt;/p&gt;
&lt;p&gt;When I came back from lunch, I hit obstacle #2: finding the right Ruby gem.&lt;/p&gt;
&lt;p&gt;The hazard—and joy—of programming in the &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt; era is that for any given API, there might be &lt;em&gt;lots&lt;/em&gt; of ways to access it in your language of choice. Companies will often release an official &amp;#8220;wrapper&amp;#8221; for their API that makes it nicer to interact with their data through Python, or Java, or—my favorite—Ruby. But that wrapper (called a &amp;#8220;gem&amp;#8221; in the context of Ruby) may or may not be the &lt;em&gt;nicest&lt;/em&gt; one: some kind soul out there in the world might have taken it upon themselves to make an even better one. There&amp;#8217;s really no way to know until you start looking. And, unfortunately, the company&amp;#8217;s documentation will not always give you the answer you seek.&lt;/p&gt;
&lt;p&gt;In the case of Rdio&amp;#8217;s API, I started out on the straight and narrow. Well, I &lt;em&gt;thought&lt;/em&gt; it was the straight and narrow. I typed `gem install rdio` at the command line, kind of expecting &lt;a href="http://rubygems.org/gems/rdio"&gt;that&lt;/a&gt; to be the canonical one. Simplest name, most canonical; makes sense. Sadly, as I soon discovered, the gem hadn&amp;#8217;t been updated in a while…and didn&amp;#8217;t behave exactly as I expected. It might actually be fine, but I veered away before answering that definitively, because a closer look at Rdio&amp;#8217;s documentation told me that what I &lt;em&gt;really&lt;/em&gt; wanted was &lt;a href="https://github.com/rdio/rdio-simple"&gt;Rdio-Simple&lt;/a&gt;, a family of wrappers developed by Rdio itself and hosted on GitHub.&lt;/p&gt;
&lt;p&gt;Except…did I really want it? The syntax seemed kind of horrible—not Ruby-like at all—and I was having trouble getting it to do what I wanted. Again: maybe it&amp;#8217;s fine. I didn&amp;#8217;t push it far enough to know for sure. What I do know is that I got frustrated and went on a last-ditch quest to find something better. To do that, I went straight to the source: GitHub.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; explains itself as a place for &amp;#8220;social coding,&amp;#8221; and it meets that definition, certainly. But it can also act like magical toolbox: every time you go there, the available tools have gotten better and shinier in your sleep. I say &amp;#8220;act like&amp;#8221; because in reality, it&amp;#8217;s not magic at all: it&amp;#8217;s a result of the efforts of hundreds of software developers, working out in the open, giving their creations back to the community. What makes GitHub so great is that those creations are made instantly usable and instantly discoverable—&lt;em&gt;so&lt;/em&gt; instantly that as soon as you find the tool that does what you need, you can&amp;#8217;t imagine how you ever lived without it.&lt;/p&gt;
&lt;p&gt;So, I went to GitHub and typed into the search box: &amp;#8220;rdio&amp;#8221;. Rdio&amp;#8217;s official rdio-simple repository did show up first. But a few lines down, something caught my eye: a different gem by &lt;a href="https://github.com/anilv"&gt;AnilV&lt;/a&gt;, titled &amp;#8220;&lt;a href="https://github.com/anilv/rdio_api"&gt;rdio_api&lt;/a&gt;&amp;#8221;. I went to the gem&amp;#8217;s page, skimmed the README, and noted that its author cited the &lt;a href="https://github.com/sferik/twitter"&gt;Twitter gem&lt;/a&gt; as inspiration. Erik&amp;#8217;s one of the Twitter gem&amp;#8217;s primary maintainers, and so I&amp;#8217;ve seen first-hand all of the care that&amp;#8217;s gone in to designing it well. This seemed like a good sign. I installed the gem and revised the few shreds of code I&amp;#8217;d written up to that point, trying to use the gem the way I thought it should work. I ran the program and…it didn&amp;#8217;t break! The gem worked the way I wanted it to! I didn&amp;#8217;t have to bend to its will, or bend it to mine; it already fit my will like a glove. &lt;/p&gt;
&lt;p&gt;That&amp;#8217;s one of the nice things about open-source: sometimes it&amp;#8217;s not about what version is better or worse, but about which one matches your built intuition. The rdio_api gem matched mine, and so I ran with it.&lt;/p&gt;
&lt;p&gt;I figured out how to get artist names from Rdio; then figured out how to input those names as search terms to SoundCloud; then figured out that if I ranked the results from SoundCloud by number of followers, I got a reasonable approximation of the &amp;#8220;most legit&amp;#8221; account matching any given artist&amp;#8217;s name. I started printing those results to the command line, but then realized that scrolling up and down through Terminal would be a pain; printing the results to a CSV (which I could then open in Excel) would be way more usable. So I got that working, and then watched with glee as my spreadsheet filled up with permalinks to artists&amp;#8217; pages. I hit a few snags—I periodically got &lt;a href="http://www.checkupdown.com/status/E503.html"&gt;503 error codes&lt;/a&gt; from SoundCloud, and discovered that SoundCloud couldn&amp;#8217;t seem to handle colons as search input. (My iTunes library was voluminous enough that it included a couple of artists with this issue, including the mysteriously-named &lt;a href="http://en.wikipedia.org/wiki/P:ano"&gt;P:ano&lt;/a&gt;.) But overall: it worked. It worked! The basic idea worked.&lt;/p&gt;
&lt;p&gt;With the data in a handful of spreadsheets, I started exploring—clicking permalinks that seemed promising and, on a meta level, trying to develop some intuition for what datapoints I was privileging when deeming permalinks as &amp;#8220;promising,&amp;#8221; so that I could build that into a future algorithm. I ended up following about 45 new accounts (&lt;a href="https://soundcloud.com/dianakimball/following"&gt;you can see all of them here&lt;/a&gt;), very few of which I would discovered without this exercise. A few highlights:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://soundcloud.com/olafur-arnalds"&gt;Olafur Arnalds&lt;/a&gt; makes serene, dreamlike music. At least one of the tracks appears to be a true improvisation—not just a polished, finished track. I always like it better when artists show their work.&lt;/li&gt;
&lt;li&gt;The way I was sorting showed me that &lt;a href="https://soundcloud.com/vagrantrecords"&gt;Vagrant Records&lt;/a&gt; is actually home to &lt;em&gt;several&lt;/em&gt; artists I love, including Edward Sharpe and The Magnetic Zeros and School of Seven Bells. Since Vagrant lists those artists in its profile, SoundCloud search picked up on the connection and returned Vagrant&amp;#8217;s account as a result. And now I&amp;#8217;m following them, which means I&amp;#8217;ll get to trust their taste further.&lt;/li&gt;
&lt;li&gt;It seems improbable that this &lt;a href="https://soundcloud.com/owen-pallett"&gt;Owen Pallet&lt;/a&gt; account is legit, but I loved hearing the &lt;a href="https://soundcloud.com/owen-pallett"&gt;demo version of &amp;#8220;Tryst with Mephistopheles&amp;#8221;&lt;/a&gt;—a song I listened to every morning, for a span of months, when I lived in San Francisco.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://soundcloud.com/lykkeli"&gt;Lykke Li&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Now that I&amp;#8217;ve cleared many of the hurdles, I can&amp;#8217;t wait to start building out the app itself—tweaking the algorithm, generalizing the code to work for more users than just me (probably by enabling authentication), figuring out how to present it all. But underneath that anticipation, there&amp;#8217;s also ecstatic satisfaction. There&amp;#8217;s nothing quite like bringing an idea to life in an afternoon, and I never get that feeling more reliably and more acutely than when I&amp;#8217;m working with code.&lt;/p&gt;
&lt;p&gt;And I&amp;#8217;d say that the prediction/wish I made &lt;a href="http://blog.dianakimball.com/post/34302230140"&gt;last week&lt;/a&gt; is holding truer than I imagined: &amp;#8220;I don’t think I knew how good I had it with Ruby…but I also never knew what it was capable of (or what &lt;em&gt;I&lt;/em&gt; was capable of). So that’s the bet I’m making: two months of alternately infuriating and satisfying hand-to-hand combat with C followed by a lifetime of harmonious cooperation with Ruby and whatever comes next.&amp;#8221; Ruby is awesome. It&amp;#8217;s so good to have it back. I&amp;#8217;ll never take it for granted again.&lt;/p&gt;
&lt;p&gt;What else? So many things!&lt;/p&gt;
&lt;p&gt;While debugging with Erik today, we took a detour into talking about &lt;a href="http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)"&gt;SOLID&lt;/a&gt; principles of object-oriented design—specifically, the &lt;a href="http://en.wikipedia.org/wiki/Liskov_substitution_principle"&gt;Liskov Substitution Principle&lt;/a&gt;, which states that “objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program” I actually had a bug that related to that principle, so it proved a good learning moment. In the process, I learned about &lt;a href="http://en.wikipedia.org/wiki/Barbara_Liskov"&gt;Barbara Liskov&lt;/a&gt;—a computer science pioneer, now at MIT. New goal: meet Barbara Liskov before I leave Boston/Cambridge!&lt;/p&gt;
&lt;p&gt;Exploring SoundCloud, I ran across &lt;a href="https://soundcloud.com/ghostly/ultraista-smalltalk-four-tet"&gt;this Four Tet remix of Ultraísta&amp;#8217;s &amp;#8220;Smalltalk,&amp;#8221;&lt;/a&gt; (warning: it&amp;#8217;s great), which reminded me of &lt;a href="https://twitter.com/dianakimball/status/252867506006536192"&gt;this Twitter exchange&lt;/a&gt; with &lt;a href="http://twitter.com/hoverbird"&gt;Patrick&lt;/a&gt; and &lt;a href="http://twitter.com/buzz"&gt;Buzz&lt;/a&gt;, wherein Buzz noted that &amp;#8220;Objective-C actually shares one of the same ancestor[s] as Ruby (Smalltalk),&amp;#8221; and Patrick recommended &lt;a href="http://www.squeak.org/"&gt;Squeak&lt;/a&gt; as a way to play with Smalltalk today. Still need to dig in to all the links they suggested, but that thread is one of the many that feels more woven into my life lately.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m still making progress through Seymour Papert&amp;#8217;s &lt;em&gt;&lt;a href="http://books.google.com/books?id=HhIEAgUfGHwC&amp;amp;printsec=frontcover&amp;amp;source=gbs_ge_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q&amp;amp;f=false"&gt;Mindstorms&lt;/a&gt;&lt;/em&gt;, which I picked up from the library after taking heed of &lt;a href="http://twitter.com/worrydream"&gt;Bret Victor&lt;/a&gt;&amp;#8217;s strong recommendation in &lt;a href="http://worrydream.com/LearnableProgramming/"&gt;his post on &amp;#8220;Learnable Programming.&amp;#8221;&lt;/a&gt; The book is sort of about &lt;a href="http://en.wikipedia.org/wiki/Logo_(programming_language)"&gt;LOGO&lt;/a&gt; (the programming language with the turtle), but mostly about learning. A few passages I&amp;#8217;ve loved recently:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;div&gt;Of all ideas I have introduced to children, recursion stands out as the one idea that is particularly able to evoke an excited response. I think this is partly because the idea of going on forever touches on every child&amp;#8217;s fantasies…&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;div&gt;…what is important when we give children a theorem to use is not that they should memorize it. What matters most is that by growing up with a few very powerful theorems one comes to appreciate how certain ideas can be used as tools to think with over a lifetime. One learns to enjoy and to respect the power of powerful ideas. One learns that the most powerful idea of all is the idea of powerful ideas.&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;An important component in the history of knowledge is the development of techniques that increase the potency of &amp;#8220;words and diagrams.&amp;#8221; What is true historically is also true for the individual: An important part of becoming a good learner is learning how to push out the frontier of what we can express with words.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;And, finally, there was this: an artifact of today&amp;#8217;s remote pair programming date with Erik, the moment where I excavated all the way to the bottom of an object&amp;#8217;s ancestry.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/tumblr_md03z9ojUe1qz94r5.png"/&gt;&lt;/p&gt;</description><link>http://blog.dianakimball.com/post/35043474885</link><guid>http://blog.dianakimball.com/post/35043474885</guid><pubDate>Mon, 05 Nov 2012 01:15:00 -0500</pubDate><category>coding</category><category>cs50</category><category>codelog</category></item></channel></rss>
