<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Michelle Minkoff</title>
	
	<link>http://michelleminkoff.com</link>
	<description>["passion", "learning", "journalism", "data", "technology"].join()</description>
	<lastBuildDate>Wed, 06 Feb 2013 22:03:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/michelleminkofffeed" /><feedburner:info uri="michelleminkofffeed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>michelleminkofffeed</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>My newest side project: I’m doing it “For Journalism”</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/aBWMkP9JDPI/</link>
		<comments>http://michelleminkoff.com/2013/02/06/my-newest-side-project-im-doing-it-for-journalism/#comments</comments>
		<pubDate>Wed, 06 Feb 2013 21:15:05 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=2033</guid>
		<description><![CDATA[The pipeline problem The Mission. Why I wake up every day. To do good work. I live in the intersection of data, journalism, technology and policy. Earlier this week, when deciding what to attack next, project-wise, I was given the following advice. &#8220;Pick something innovative, that will challenge your skillset and push this organization forward.&#8221; [...]]]></description>
				<content:encoded><![CDATA[<h3>The pipeline problem</h3>
<p>The Mission. Why I wake up every day. To do good work. I live in the intersection of data, journalism, technology and policy. Earlier this week, when deciding what to attack next, project-wise, I was given the following advice. &#8220;Pick something innovative, that will challenge your skillset and push this organization forward.&#8221; That is the job you want. Nothing is perfect, but I am living as close to my dream as one can.<span id="more-2033"></span></p>
<p>But I&#8217;ve worked for it. Terribly hard. I&#8217;ve given up&#8230;so much. For a while, I&#8217;ve ranted/complained/brainstormed about the  &#8221;news developer pipeline problem&#8221;. And whether it&#8217;s on the blog, to my colleagues, at 2am in a bar in St. Louis at NICAR, or during a squeezed-in dinner at the Tick Tock Diner in Hell&#8217;s Kitchen, the points remain the same.</p>
<p>Read my fingers: There. Is. No. Defined. Path. To. Learning. To. Be. A. Data. Journalist. Developer. It. Does. Not. Need. To. Be. This. Hard.</p>
<p>Read it again, and again. Learning development skills is doable with online tutorials. Journalism skills can be learned on the job. But there are a lot of pieces, and the way we do development for journalism is different than a more general programming mindset. You may need to run your own server. You may need to make custom charts. You may need to run data analysis.</p>
<p>In the past four years, I have received hundreds of requests about how to get the skills you need. Get a job, I&#8217;ll say. But if you don&#8217;t have the skills, how do you get a job? It&#8217;s a typical employment Catch-22, but times 1,000. So many moving pieces. So easy to self-doubt. So difficult to create the proper culture. So hard to execute on deadline.</p>
<p>Sure, read the tutorials. But they are not written for the journalists.</p>
<p>There has to be a better plan. For you, who wants to know more about how to apply computer science to our field. For you, the traditional reporter who wants to flesh out your stories. For you, the graphics department that wants to tell more localized stories. And yes, for the me of three years ago, who might have had to give up a bit less to get where she is today. For the news developer that could have been, but got off the track, because it was just too hard. Who do we develop a more-defined curriculum for?&#8230;For&#8230;Journalism.</p>
<h3>A possible solution</h3>
<p><a href="http://www.kickstarter.com/projects/gotoplanb/for-journalism">For Journalism.</a> That&#8217;s the name of this new project that I am delighted to become a part of. <a href="http://twitter.com/gotoplanb">Dave Stanton</a> is our leader. The idea is that we craft modules that use projects to teach code concepts. There will be nine of them, and my module would focus on &#8220;Charting and Visualization.&#8221; It&#8217;s not just about teaching you how to make a certain type of visualization, but concepts that you can apply to multiple projects. They will arm you with tools you need to understand concepts to make your own cool projects. Languages may change, but foundational building blocks will remain helpful.</p>
<p>Perhaps most importantly, we&#8217;ll try to give you some direction on how to &#8220;get the skillz&#8221;. I, for one, am looking forward to learning from the other instructors. Maybe Jeff Larson of ProPublica will help me finally get &#8220;Rails&#8221;. Maybe Jacqui Maher of the New York Times will help me be more of a powerhouse in terms of the systems it takes to run dev ops.</p>
<p>Ideally, we&#8217;ll spread this to universities as well. Lack of a solid data journalism curriculum with professors who can teach code AND give a journalistic mindset is a problem we face. Hopefully, this is a solid starting point. At least it&#8217;s an improvement on writing myriad blog posts on the issue.</p>
<p>We&#8217;re raising money to make these materials through Kickstarter. I&#8217;d certainly appreciate your consideration of either monetary donation, or sharing this project with your colleagues and friends. We want to help. We want to work on the news dev pipeline problem. We want to teach you, so you can join us. We want to do better at this problem&#8230;For Journalism.</p>
<p>Questions about the project? Get at me, or hit up <a href="http://twitter.com/forjournalism">@forjournalism</a> on Twitter.</p>
<p>Learn more about us on both our <a href="http://forjournalism.com/">official website</a> and our <a href="http://www.kickstarter.com/projects/gotoplanb/for-journalism">Kickstarter site</a>.</p>
<p>Then, as a community, maybe more of us can answer the call of an industry. Bring your passion, ambition and ideas. We&#8217;ll get you on the path to making those dreams a reality, for you, for me, for the industry &#8212; and most importantly, for the public we serve.</p>
<h3>Let&#8217;s work on finding our place</h3>
<p>That&#8217;s how we&#8217;ll move forward, when we find our footing in the journalism world. We must have the ideas of what we can change, the confidence that you can be The Awesome, and the skills to execute your vision. The first and second is squarely on you. But For Journalism, in its ideal form, will help you out on the third.</p>
<p>When that&#8217;s all in place, then one day, you too, may start your days humming this anthem, as I so often do, from Stephen Schwartz&#8217;s <em>Pippin</em>:</p>
<p><em>&#8220;So many men seem destined </em><br />
<em>To settle for something small</em><br />
<em>But I won&#8217;t rest until I know I&#8217;ll have it all</em><br />
<em>So don&#8217;t ask where I&#8217;m going</em><br />
<em>Just listen when I&#8217;m gone</em><br />
<em>And far away you&#8217;ll hear me singing</em><br />
<em>Softly to the dawn:</em></p>
<p><em>Rivers belong where they can ramble</em><br />
<em>Eagles belong where they can fly</em><br />
<em>I&#8217;ve got to be where my spirit can run free</em><br />
<em>Got to find my corner of the sky.&#8221;</em></p>

<div class="wp_rp_wrap  wp_rp_plain" id="wp_rp_first"><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >January 2, 2011 -- <a href="http://michelleminkoff.com/2011/01/02/be-the-la-times-next-data-app-producer-intern/" class="wp_rp_title">Be the LA Times&#8217; next &#8220;Data app producer intern&#8221;</a></li><li >July 11, 2010 -- <a href="http://michelleminkoff.com/2010/07/11/data-delver-andy-boyle-st-petersburg-times/" class="wp_rp_title">Data Delver: Andy Boyle, St. Petersburg Times</a></li><li >February 4, 2011 -- <a href="http://michelleminkoff.com/2011/02/04/news-apps-are-we-doing-it-right/" class="wp_rp_title">News apps: Are we doing it right?</a></li><li >March 26, 2011 -- <a href="http://michelleminkoff.com/2011/03/26/my-quickly-formed-vision-for-a-journ-prog-curriculum/" class="wp_rp_title">My (quickly formed) vision for a journ-prog curriculum</a></li><li >March 29, 2011 -- <a href="http://michelleminkoff.com/2011/03/29/gantt-rant-advice-on-agile-project-management/" class="wp_rp_title">Gantt rant: Advice on agile project management</a></li><li >February 27, 2012 -- <a href="http://michelleminkoff.com/2012/02/27/ap-and-nicar-theyre-both-my-home/" class="wp_rp_title">AP and NICAR &#8212; they&#8217;re both my home</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/aBWMkP9JDPI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2013/02/06/my-newest-side-project-im-doing-it-for-journalism/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2013/02/06/my-newest-side-project-im-doing-it-for-journalism/</feedburner:origLink></item>
		<item>
		<title>Learning how to…sort a JavaScript/JSON object with Underscore</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/lVibG4DocIg/</link>
		<comments>http://michelleminkoff.com/2012/11/21/learning-how-to-sort-a-javascriptjson-object-with-underscore/#comments</comments>
		<pubDate>Wed, 21 Nov 2012 20:49:58 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=2021</guid>
		<description><![CDATA[I received an interesting question from Greg Papuga the other day, on a long ago post for creating a dynamic table off of a Google spreadsheet (wow, that code is messy. eek.) When receiving the spreadsheet data as JSON, Greg wonders if he can sort this incoming JSON by date. That is, dates were entered in [...]]]></description>
				<content:encoded><![CDATA[<p>I received an interesting question from Greg Papuga the other day, on a long ago post for <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/">creating a dynamic table off of a Google spreadsheet</a> (wow, that code is messy. eek.) When receiving the spreadsheet data as JSON, Greg wonders if he can sort this incoming JSON by date. That is, dates were entered in the spreadsheet in a random order, but it would make more sense to apply a sort for how it&#8217;s actually displayed in his web page.<span id="more-2021"></span></p>
<p>And of course you can! This is a fun trick I end up using quite a lot, and have been meaning to write up.</p>
<p>First of all, I can&#8217;t remember if I previously mentioned a wonderful JavaScript library called <a href="http://underscorejs.org/">Underscore</a>, which you should get well acquainted with. Lots of little utilities that you wish existed in JS, but you know, don&#8217;t. We like it enough that it&#8217;s automatically imported into all of our AP Interactive projects.</p>
<p>Now, Underscore has a smart little method called sortBy. Pure JavaScript sort is designed to be used on a list. ['banana', 'apple', 'grape'] &#8211;&gt; ['apple', 'banana', 'grape'] or [4,1,3] &#8211;&gt; [1,3,4]</p>
<p>But when we receive a JavaScript object, such as the JSON returned from Google spreadsheets, we receive a more complex object, like: [{fruit: 'banana'}, {fruit: 'apple'}] etc. So we need a way to sort, but tell the computer which key (or label) of each object we want to sort by.</p>
<p>First, you need to import the Underscore library. <a href="http://underscorejs.org/underscore-min.js">Download the code</a>, place it in the same folder as the rest of your webapp, refer to it in the head of your HTML like so:</p>
<p>&lt;script src=&#8221;underscore.js&#8221;&gt;&lt;/script&gt;</p>
<p>ensuring the actual filename is &#8220;underscore.js&#8221;</p>
<p>Then&#8230;</p>
<p>let&#8217;s assume the json looks like this:  var fruitJSON = [{fruit: 'banana'}, {fruit: 'apple'}]</p>
<p>in the first line of the function referencing your json, type:</p>
<p>fruitJSON = _.sortBy(fruitJSON, function(item){return item.fruit})</p>
<p>Any references to JSON after that line will be to the sorted version of JSON.</p>
<p>Let&#8217;s parse out what that line of code means.</p>
<p>First, we assign this function call to the variable of json, so it overwrites our current data. You could also save to a new variable, to maintain both unsorted and sorted data.</p>
<p>We pass two arguments to _.sortBy. The first is the data that we want to sort. The second is a function.</p>
<p>That inner function takes one argument, which is each object (or &#8220;row) in your data. We call it &#8220;item&#8221;.</p>
<p>Then, in that function, we return a result that we will sort by. Here, we access the fruit member (or &#8220;column&#8221;) of a given row, which is the attribute we want to sort by. There will be a similar date member in your Google spreadsheet, if you created such a column.</p>
<p>Hopefully, that clears things up for Greg, and anyone else seeking to understand this fundamental and powerful data manipulation technique. Not just related to spreadsheets, but a general strategy for manipulating data structures.</p>
<p>And make friends with the Underscore library. You won&#8217;t regret it.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >November 22, 2010 -- <a href="http://michelleminkoff.com/2010/11/22/using-google-spreadsheets-as-your-database/" class="wp_rp_title">Using Google spreadsheets as your database</a></li><li >March 29, 2010 -- <a href="http://michelleminkoff.com/2010/03/29/using-javascript-for-interactive-google-charts/" class="wp_rp_title">Using Javascript for interactive Google charts</a></li><li >February 1, 2011 -- <a href="http://michelleminkoff.com/2011/02/01/making-the-structured-usable-transform-json-into-a-csv/" class="wp_rp_title">Making the structured usable: Transform JSON into a CSV</a></li><li >October 30, 2011 -- <a href="http://michelleminkoff.com/2011/10/30/answering-some-faqs-about-fusion-tables/" class="wp_rp_title">Answering some FAQs about Fusion Tables</a></li><li >August 21, 2011 -- <a href="http://michelleminkoff.com/2011/08/21/how-to-combine-multiple-fusion-tables-into-one-map/" class="wp_rp_title">How to combine multiple Fusion Tables into one map</a></li><li >May 16, 2012 -- <a href="http://michelleminkoff.com/2012/05/16/on-launching-big-projects-and-gaining-confidence/" class="wp_rp_title">On launching BIG projects &#8212; and gaining confidence</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/lVibG4DocIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/11/21/learning-how-to-sort-a-javascriptjson-object-with-underscore/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/11/21/learning-how-to-sort-a-javascriptjson-object-with-underscore/</feedburner:origLink></item>
		<item>
		<title>Election 2012: What I learned making an auto-updating results map</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/A1A-0WZ_JG8/</link>
		<comments>http://michelleminkoff.com/2012/11/12/election-2012-what-i-learned-making-an-auto-updating-results-map/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 05:20:03 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=2017</guid>
		<description><![CDATA[&#8220;I had a dream, in time gone by&#8230;&#8221; of playing with the &#8220;big kids&#8221; on Election Night. I thought it&#8217;d be fun to pass that time in Washington, DC itself. I thought making an auto-updating results map would be THE thing that proved I was a &#8220;real&#8221; programmer. When I wrote a post announcing my [...]]]></description>
				<content:encoded><![CDATA[<p>&#8220;I had a dream, in time gone by&#8230;&#8221; of playing with the &#8220;big kids&#8221; on Election Night. I thought it&#8217;d be fun to pass that time in Washington, DC itself. I thought making an auto-updating results map would be THE thing that proved I was a &#8220;real&#8221; programmer. When I wrote a post announcing my move to the AP more than a year ago, I was excited for AP DC on Election Night.</p>
<p><a href="http://www.c-span.org/Election/Map/">Done!</a></p>
<p><span id="more-2017"></span>And I have fulfilled that part of the dream, as of this week. Before I go any further, I was primarily responsible for the actual Google Map component of the AP embeddable results presentation. But please know, it would be nothing, and I would have gotten nowhere, without my collaborators in NY: Nathan Griffiths and Seth Rasmussen, and my ever-present mentor and friend Troy Thibodeaux in New Orleans.</p>
<p>We enlisted the design chops of Roque Ruiz, and a marathon effort on generating shapefiles was executed with great skill by Phil Holm. And while I was, um, otherwise occupied, for multiple months, my DC co-conspirator Kevin Vineys held down the fort, and answered all my content questions about special cases. I&#8217;m truly fortunate to have him in my corner &#8212; literally.</p>
<p>And of course, my greatest coding rock of all at AP these days is Troy Thibodeaux. Physically, he may be in New Orleans, but he&#8217;s always in my head, and makes me better every day. Everyone needs a Troy in their corner (or a Jonathan or a Derek or a Ben or a Nathan or a Seth &#8212; oh, I&#8217;ve been lucky to work with some amazing minds and pure hearts.)</p>
<p>Now that we&#8217;ve gotten through the names, here are some things I want to document about the map, because it makes my heart swell with geeky joy and learnings.</p>
<ul>
<li>Spreading the good work. I adore working for AP because our stuff doesn&#8217;t just go to one place, but many. Our map was visible on <a href="http://election2012.npr.org/results-map.html">NPR</a>, <a href="http://seattletimes.com/flatpages/nationworld/ap-election-graphics-2012.html">the Seattle Times</a>, <a href="http://www.c-span.org/Election/Map/">CSPAN</a>, <a href="http://www.detroitnews.com/article/99999999/SPECIAL01/121101001">the Detroit News</a>, dozens of TV station websites and countless others. CSPAN even made a video clip showing how it works and calling it &#8220;a godsend for election results geeks&#8221;. Really lived my dream of bringing the interactive journalism to many places.</li>
<li>Spreading the work internationally. We also had the map embedded in international clients, and translated the map&#8217;s contents into Spanish, Portugese and Chinese. Kudos to Nathan and Seth on that compelling feature! Huge gain for us!</li>
<li>Cross-platform, responsive projects. As with most of the work we do, this needed to work on tablets just as well as desktops, and even have an appropriate view on phones. And whatever size a customer embeds the map, we should adjust our display accordingly. And if customer embeds it so that it can respond to the size of the user&#8217;s browser, as NPR did, so much the better. We work hard on responsive, but it&#8217;s for an additional reason than its more traditional definition. There are lots of different ways our content can be embedded by customers. When it comes to sharing projects, I think this is another level of responsive design that often isn&#8217;t carefully considered enough.</li>
<li>Building a complex project. Smart people have given me the advice that to level up, I need to build more advanced projects. Some of the map templating work I&#8217;ve worked on and discussed has approached this level, but failed to go this far.</li>
<li>Coding fast and meeting requirements. Much of my work is making things I see in my head, and then taking advice to make it better. If I need to push something a day or three, it&#8217;s discussable. Not so here. Certain things HAD to be done. The deadline could not be pushed. And we did finish it.</li>
<li>When coding fast, my skills suffer. This was not the best code I ever wrote. At all. That&#8217;s okay. My best code is when I take time to refactor. Constantly fixing and adding features means I didn&#8217;t use those best practices. Yet, smart people tell me the best practices will make it easier to adjust code when you&#8217;re in a rush. I wish I had adhered to them more.</li>
<li>Get nonjudgmental smart people in your corner. Just, a thousand thank yous to Troy who kept getting contacted with a sleep-deprived, not-at-my-best version of myself, ranting, whining, complaining, giving him messes of code asking &#8220;Now what?&#8221; I care so much, but it can make me hyper-emotional. Troy helped me work toward logical solutions, even making sure I was learning important lessons, despite of, or maybe because of, the deadlines. Tricks and tips he imparted are making my next project better. I am so grateful to have access to minds like that every day. Oh, and when I thank Troy, he replies, &#8220;I&#8217;ve got your back, you&#8217;ve got mine.&#8221; Grin. Collaborate to serve the mission. Rocking it.</li>
<li>Never underestimate how hard it is to get geographic shapefiles to load. Also, if you do an election map during a redistricting year, stay on top of your House congressional districts.</li>
<li>We colored our polygons as they were &#8220;leaning&#8221; toward a candidate &#8212; when any votes were in, with a light color, then a darker color was received for when AP calls a state. One argument is that the leaning color is confusing, and can be misleading, esp. when few votes are in, or votes are only in from certain counties. The other side is that a map that&#8217;s all gray until states start to get called isn&#8217;t compelling in an interactive way. I would argue that the light color is visualizing what is already in the tooltip if you click on a shape, this is just giving you insight into the story behind the click. More detail behind more clicks.But it&#8217;s an interesting issue to consider.</li>
<li>Adrenaline. I&#8217;ve never built an app so tied to real-time data before. I was a theater minor in college, and I recognized the feeling Tuesday night as right before a show opening. The butterflies in the stomach, the fear something will go wrong, the knowledge that at this point, it&#8217;s too late. And the sheer thrill of watching your show, or app, just&#8230;fly. Beautiful.</li>
</ul>
<p>Around 12:30 am, I left AP DC. On my way home, I stopped by the White House. It just so happened Romney was conceding at the same time. The emotion around me was palpable, for a very different reason. And it hit me, I live and work in the center of the action. I did it. I will do more. But some sort of test came and went on that night. And I couldn&#8217;t be prouder of my organization and my colleagues and the community at large. I am no longer a student. I am one of you, in an undeniable way.</p>
<p>So, two days later, when our bureau chief goes around the table at the morning meeting asking each group how things went during the election, she comes to us. &#8220;Interactive? Everything went okay with the map?&#8221; &#8220;Yes!&#8221; I say, a bit too excitedly, perhaps. And I grin widely. But not for long, because now we&#8217;re moving on. I dare not rest on any laurels. We&#8217;ve got thousands more stories to tell, millions more interactive journalism experiments to run, billions more things to learn. And I couldn&#8217;t be more elated to keep pushing toward the future.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >October 30, 2011 -- <a href="http://michelleminkoff.com/2011/10/30/answering-some-faqs-about-fusion-tables/" class="wp_rp_title">Answering some FAQs about Fusion Tables</a></li><li >August 21, 2011 -- <a href="http://michelleminkoff.com/2011/08/21/how-to-make-a-non-flash-intensity-map-in-fusion-tables/" class="wp_rp_title">How to make a non-Flash intensity map in Fusion Tables</a></li><li >July 29, 2011 -- <a href="http://michelleminkoff.com/2011/07/29/the-associated-press-next-stop-on-the-journey/" class="wp_rp_title">The Associated Press: Next stop on the journey</a></li><li >November 8, 2010 -- <a href="http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/" class="wp_rp_title">Tools to help bring data to your journalism</a></li><li >March 29, 2010 -- <a href="http://michelleminkoff.com/2010/03/29/using-javascript-for-interactive-google-charts/" class="wp_rp_title">Using Javascript for interactive Google charts</a></li><li >November 21, 2012 -- <a href="http://michelleminkoff.com/2012/11/21/learning-how-to-sort-a-javascriptjson-object-with-underscore/" class="wp_rp_title">Learning how to&#8230;sort a JavaScript/JSON object with Underscore</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/A1A-0WZ_JG8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/11/12/election-2012-what-i-learned-making-an-auto-updating-results-map/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/11/12/election-2012-what-i-learned-making-an-auto-updating-results-map/</feedburner:origLink></item>
		<item>
		<title>Making the ONA conference MY ONA conference</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/dvLXc7Yfsb0/</link>
		<comments>http://michelleminkoff.com/2012/09/28/making-the-ona-conference-my-ona-conference/#comments</comments>
		<pubDate>Fri, 28 Sep 2012 16:15:00 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=2000</guid>
		<description><![CDATA[Greetings from Chicago, where I&#8217;m hanging out for a bit after a whirlwind few days at the Online News Association conference in San Francisco! I had a fantastic time re-connecting with many of my friends and colleagues across the United States and the world. It was great to see so many of you. In a [...]]]></description>
				<content:encoded><![CDATA[<p>Greetings from Chicago, where I&#8217;m hanging out for a bit after a whirlwind few days at the Online News Association conference in San Francisco! I had a fantastic time re-connecting with many of my friends and colleagues across the United States and the world. It was great to see so many of you.</p>
<p>In a typical conference wrap-up post, I like to write about the great sessions I attended, and what the panelists had to say.  Just one problem. I DIDN&#8217;T ATTEND A SINGLE ONA PANEL AS AN ATTENDEE.</p>
<p><span id="more-2000"></span></p>
<h2>Hacking the typical panel structure</h2>
<p>Wait, what??? Did you just slip away and tour San Francisco? Maybe hit up Fisherman&#8217;s Wharf for the first time in a decade? No. Not quite.</p>
<p>I&#8217;ve been doing this journalism thing for three years now, and I don&#8217;t really love the status quo. Last year, at this conference, Chicago Tribune developer Heather Billings and I held a session on Django and programming in a hallway, on the floor. We tried to pitch it as an official unconference, and lost by a slim margin. I still maintain it was one of my best ONA experiences. I learned about what the struggles were in the community. I felt like we really helped and encouraged some folks, on a much smaller scale than a larger session. I proposed two official unconferences this year, and was prepared to hold them both in the hallway. (One was voted in, and held in a room, and one wasn&#8217;t, and we held it anyway.)</p>
<p>A few days before the conference, I learned there would be a new section called &#8220;The Midway&#8221;, a large space with booths for awesome projects (including AP&#8217;s Overview Project, which I should write about sometime), and large sprawling tables. Dear ONA, this MADE my conference! Thank you! To me, the main awesomeness here was &#8212; chairs in which to hold off-agenda sessions! No more sitting on the floor!</p>
<p>I&#8217;ve always said the strength of our community is the community. Panels are successful  because of good people. When all those people are in one space, that is one of the greatest things about the conference. I love the official reasons for these get-togethers, but sometimes you get what you want, you must take what you want.</p>
<p>So, a new type of conference began for me. I would run into someone who wanted to know about how to brainstorm data stories, I&#8217;d pick a time, tweet it, and gather some quick examples. One of my official unconfs wasn&#8217;t picked and I did the same thing. Some people couldn&#8217;t make the time, I reran the session. When I wasn&#8217;t running sessions in the midway, I would MEAN to head to a panel, but get caught in a side conversation. It literally NEVER ENDED.</p>
<h2>Accessing panels after the fact</h2>
<p>My friend Greg Linch streamed most of the sessions anyway, and I&#8217;ve been watching them now. While they&#8217;re meaningful, I feel I got twice as much out of the conference. I feel a little distanced from the main sessions, but am okay with that. I wish I had attended Jen LaFleur&#8217;s data session, the slides for which are unbelievably awesome, but that&#8217;s just Jen being great.  Also, I truly enjoyed soaking up Dave Wright&#8217;s design presentation. But I am content accessing this content via video.</p>
<p>My point here, I guess, is that in journalism school &#8212; we&#8217;re told to do things one way, and I didn&#8217;t really listen. There is a default way to do things, and a way to push the envelope. USC professor <a href="http://www.niemanlab.org/2012/09/robert-hernandez-reboot-journalism-school-take-control-of-your-education-instead/">Robert Hernandez will recommend you take control of your education</a>. No one tells you that you must go to panels when you are at a conference, but we all do. Why not bust that system open?</p>
<p>A number of people come up to me and ask if they should learn programming, if they are doing it the right way. I&#8217;m trying to help all of you, but as with so much, you know what&#8217;s even better than asking if you can do something? Just doing it.</p>
<h2>Key learnings, even if vague</h2>
<p>So, with this experience, what did I learn?</p>
<p>-Talking in small groups can be more effective than larger panels.</p>
<p>-A lot of us are struggling to figure out how to do this work.</p>
<p>-Often, we are given large datasets, but figuring out what the story is can be hard.</p>
<p>-We can and should do better at combining data and narrative.</p>
<p>-Heard amazing examples of how others combined data and narrative</p>
<p>&#8211;How to embrace crowdsourcing when it&#8217;s useful, and how not to do it for a buzzword&#8217;s sake (also brainstorming how to apply such principles across our system at AP)</p>
<p>-Using D3 with IE can be hard, and I learned about ten ways NOT to do it</p>
<p>-Small impromptu group sessions can attract a certain skillset. Explaining JavaScript libraries, but being able to say &#8220;Then I used jQuery to grab the window&#8217;s width&#8221; or &#8220;The fourth parameter passed to the function&#8221; and having a group of people nod with understanding, enables us to move forward faster. Harder to do that with a more general audience, although I love that, too.</p>
<h2>Balancing hacking and embracing the system</h2>
<p>Don&#8217;t get me wrong, I love ONA. But I think our organization has a great struggle. The field of digital journalism is so incredibly broad right now. And I, even at my age, have fallen into a specialized niche. Not all the sessions can serve my needs at any time. I would love to see more mainstream coverage of various aspects of data and programming at the conference. And not just in unconference sessions, or as a separate paid pre-workshop. We are no supplementary sidecar!! So, while I try to help along, and yearn for, a new day, in the meantime there are two options. I could wait, or I could grab the opportunity by its head and take it on NOW. I chose the latter.</p>
<p>Next year, I want to find a happy medium &#8212; I do want to make it to some panels that I&#8217;m not speaking on, but will feel free to skip to have important convos/learnings/teachable moments. I&#8217;m still learning how to manage so much, including my conference attendance.</p>
<h2>Conferences are really about education</h2>
<p>The primary point of the mission is to pay it forward. AP&#8217;s Social Media Editor Eric Carvin stopped me in a hallway and commented, &#8220;You&#8217;re really in your element &#8212; you love to educate!&#8221; But, of course. I learn a bunch of stuff during the year, and ONA and NICAR are my opportunities to learn and share with you. That&#8217;s what journalism is to me, a way to share knowledge with our readers and users, as we produce content, and with others, as we determine HOW to produce that content.</p>
<p>People of the Internets: Know this. Just because something is where it is, doesn&#8217;t mean you can&#8217;t make a difference now. In conferences or in your organizations. Because, to quote Apple&#8217;s Think Different slogan, which hangs in my bedroom in my DC apartment:</p>
<p>&#8220;Here’s to the crazy ones. The rebels. The troublemakers. The ones who see things differently. While some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.&#8221;</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >September 28, 2011 -- <a href="http://michelleminkoff.com/2011/09/28/journonerd-crisis-where-am-i-and-where-am-i-going-ona-wrapup/" class="wp_rp_title">Journonerd Crisis: Where am I, and where am I going? (ONA Wrapup)</a></li><li >February 28, 2011 -- <a href="http://michelleminkoff.com/2011/02/28/why-i-really-love-nicar-and-the-new-york-times/" class="wp_rp_title">Why I really love NICAR (and the New York Times)</a></li><li >March 26, 2011 -- <a href="http://michelleminkoff.com/2011/03/26/my-quickly-formed-vision-for-a-journ-prog-curriculum/" class="wp_rp_title">My (quickly formed) vision for a journ-prog curriculum</a></li><li >September 20, 2012 -- <a href="http://michelleminkoff.com/2012/09/20/finding-your-intellectual-home/" class="wp_rp_title">Finding your &#8220;intellectual home&#8221;</a></li><li >November 23, 2010 -- <a href="http://michelleminkoff.com/2010/11/23/join-the-data-convo-at-pbs-newsnav/" class="wp_rp_title">Join the data convo at PBS NewsNav</a></li><li >February 17, 2011 -- <a href="http://michelleminkoff.com/2011/02/17/an-inside-look-at-life-at-pbs-news/" class="wp_rp_title">An inside look at life at PBS News</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/dvLXc7Yfsb0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/09/28/making-the-ona-conference-my-ona-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/09/28/making-the-ona-conference-my-ona-conference/</feedburner:origLink></item>
		<item>
		<title>Finding your “intellectual home”</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/QPz4WoYAX7g/</link>
		<comments>http://michelleminkoff.com/2012/09/20/finding-your-intellectual-home/#comments</comments>
		<pubDate>Thu, 20 Sep 2012 21:20:27 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1986</guid>
		<description><![CDATA[Greetings! This post is coming to you just off of a panel I gave with Dan Victor during the Career Summit portion of the Online News Association&#8217;s conference in 2012. I&#8217;m writing this beforehand, so not sure what I actually rambled about, but I have notes, and I thought I&#8217;d write a short piece on [...]]]></description>
				<content:encoded><![CDATA[<p>Greetings! This post is coming to you just off of a panel I gave with Dan Victor during the Career Summit portion of the Online News Association&#8217;s conference in 2012. I&#8217;m writing this beforehand, so not sure what I actually rambled about, but I have notes, and I thought I&#8217;d write a short piece on what I mean to say, because it won&#8217;t be what I actually say.</p>
<p>Being asked to be on a panel because I&#8217;ve moved around a lot, that&#8217;s yet another thing I never thought would happen to me. My name&#8217;s Michelle, I wear a blue hat to conferences, and I&#8217;m fiercely loyal. In high school, I was never the sports fan, but I&#8217;d be one of the loudest cheerers at the pep rallys (I always thought the real cool team was the Scholastic Bowl team I was a part of, but I don&#8217;t think that&#8217;s who most people were cheering for.) And when I discovered journalism, I just hoped someone would give me an editorial job doing something, and I&#8217;d be grateful to them, so grateful I&#8217;d never leave.</p>
<p>So, you see, I didn&#8217;t wake up one day and say, &#8220;This company I love, I&#8217;m going to smash it on the floor and find another one.&#8221; It&#8217;s not some sick love I have for job hunting (Receiving an offer is fun, the rest is nervewracking. My least favorite part is that horrible waiting-for-the-phone-to-ring period. Like a bad teen romance.)</p>
<p>But all I wanted was a place to learn and grow, to do the good work I love. Ira Glass says taste gets you into the business, but practice makes your work hit the level of the taste. Give me a place to make my work, slowly but surely, match my taste. All I wanted was a place with resources to which I could apply my fierce loyalty.</p>
<p>Well, the LA Times was an AMAZING experience, and the summer internship lasted six months in the end. But there was not a full-time job to be had, so I could not stay.</p>
<p>And PBS hired me to a site that never truly got off the ground, and it was no longer the right place for me.</p>
<p>Here&#8217;s the thing about when to move: Don&#8217;t move because everyone will congratulate you on Twitter, or you like the smell of new notebooks from the supply closet, or you like the bigger name. Move because you seek to grow, and you can&#8217;t make it work at your organization. Recognize that you have the right and responsibility to move if you need to, but you should try everything you can to avoid it.</p>
<p>In a conversation with The Associated Press&#8217; global interactive editor Paul Cheung, we discussed how a job is like a relationship, it needs to be a good match, AP needs to love me as much as I love it. Like a relationship, just because you live together doesn&#8217;t mean you die together, and you can get divorced. Have a good reason, though.</p>
<p>The more times you&#8217;re divorced, the more it can start to look like a pattern. Why should I think about marrying you when you&#8217;ve divorced five people by the age of 26? What precedent does that set?</p>
<p>So, to determine when something isn&#8217;t working, what does work? What do I long for?</p>
<p>I work in a technical area, and I have many technical mentors and colleagues, who are essential. Troy Thibodeaux has stepped up to the plate as mentor, friend, confidante, reassurer and code reviewer in a significant way. Thanks! Many others, though. Sometimes, I talk about them on this blog. Or just look at some AP Interactives, and you&#8217;ll see their work. Interactives is my department.</p>
<p>But DC is where I live, where I go every day. I work with both the DC editorial staff and the Interactive department. And the environment in DC is a big part of what makes me feel&#8230;satisfied. So, I&#8217;d like to talk about that.</p>
<p>I like to learn, and while I love so many of my interactive colleagues around the globe, it&#8217;s Kevin Vineys, a true DC content expert, who has to/gets to deal with me every day, so we have a special bond. He also knows the newsroom backward and forward. Sometimes I can help him with tech, sometimes he helps me. He&#8217;s my conscience: &#8220;Did you want to do that?&#8221; or &#8220;That&#8217;s a good idea&#8221; or &#8220;What about this?&#8221; It&#8217;s a true partnership.</p>
<p>The reporters and editors I partner with have been working in Washington content for a while, with great experience. But they don&#8217;t hold it over me. They&#8217;re open to my ideas, and happy to answer my questions about what I don&#8217;t know. They don&#8217;t look down on me, but we operate as partners. When I get the courage to speak up, I&#8217;m rewarded by having every eye in the meeting focused on me with an intensity the likes of which I had never seen. My vision and knowledge matters. C.S. Lewis calls this the &#8220;inner circle&#8221;, where one is acknowledged on the merits of his or her work. That&#8217;s what I was searching for.</p>
<p>I&#8217;ve had a hard time putting this (what I&#8217;m searching for) into words. So, now it&#8217;s time to tell you about one other person who makes the DC bureau a great place for me.</p>
<p>Sally Buzbee, our bureau chief at the AP in Washington, DC &#8212; is the editorial leadership you want in your corner. I felt it from the second I walked in for the interview.</p>
<p>If you want to learn more about what I consider to be an ideal editorial role model, read <a href="http://www.ajr.org/Article.asp?id=4976">this profile</a> of her in the American Journalism Review. Serious respect.</p>
<p>She knows the newsroom backward and forward. She&#8217;s no stranger to new experiences having worked for the AP in multiple roles, on multiple continents. The phrase &#8220;when I was in Cairo&#8221; is dropped as cooly as &#8220;I had a turkey sandwich for lunch.&#8221; And she is all about the work and the content, and respects me for where I am in my journey. She makes me the best me I can be, at this point in my career.</p>
<p>She understands the importance of digital and interactive, and gives me the advice and knowledge I need and crave. She makes me believe my ideas could become reality.</p>
<p>This is the crux of it: When it comes to my crazy 26-year-old newsroom vision, and I start to talk about it, Buzbee will say, &#8220;We share this vision. The difference is, you have the technical skills to make it happen.&#8221; Well, I&#8217;m working on it.</p>
<p>So, what am I looking for? What did I want from my job searches? Well, to borrow a Buzbee phrase, my &#8220;intellectual home.&#8221; Let your brain sink into that phrase for a moment. Where you learn more about your craft, in multiple facets every day. A place you&#8217;re comfortabe enough to speak your mind, but not comfortable enough to stagnate.</p>
<p>Put another way, an ideal environment is&#8230;well, I&#8217;ll let Buzbee describe it again. What sort of environment does this news leader, who I work so closely with, seek to foster? Do we understand each other?</p>
<p>&#8220;Nothing gives me more satisfaction &#8212;  and downright thrill &#8212; than working with talented people who care passionately about the work they do. It’s the one critical thing that gives a place energy and purpose,&#8221; wrote Buzbee in an email to me.</p>
<p>Darn straight.</p>
<p>So, what was I searching for, even though I never knew it? That.</p>
<p>Maybe that&#8217;s helpful to you, maybe it&#8217;s not, but it&#8217;s all I know right now, and I thought I&#8217;d share.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >September 28, 2011 -- <a href="http://michelleminkoff.com/2011/09/28/journonerd-crisis-where-am-i-and-where-am-i-going-ona-wrapup/" class="wp_rp_title">Journonerd Crisis: Where am I, and where am I going? (ONA Wrapup)</a></li><li >February 28, 2011 -- <a href="http://michelleminkoff.com/2011/02/28/why-i-really-love-nicar-and-the-new-york-times/" class="wp_rp_title">Why I really love NICAR (and the New York Times)</a></li><li >September 28, 2012 -- <a href="http://michelleminkoff.com/2012/09/28/making-the-ona-conference-my-ona-conference/" class="wp_rp_title">Making the ONA conference MY ONA conference</a></li><li >February 27, 2012 -- <a href="http://michelleminkoff.com/2012/02/27/ap-and-nicar-theyre-both-my-home/" class="wp_rp_title">AP and NICAR &#8212; they&#8217;re both my home</a></li><li >March 26, 2011 -- <a href="http://michelleminkoff.com/2011/03/26/my-quickly-formed-vision-for-a-journ-prog-curriculum/" class="wp_rp_title">My (quickly formed) vision for a journ-prog curriculum</a></li><li >December 25, 2011 -- <a href="http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/" class="wp_rp_title">Hacking till it works is no longer enough</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/QPz4WoYAX7g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/09/20/finding-your-intellectual-home/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/09/20/finding-your-intellectual-home/</feedburner:origLink></item>
		<item>
		<title>Passing another milestone…</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/ecJUHjnbbOg/</link>
		<comments>http://michelleminkoff.com/2012/08/22/passing-another-milestone/#comments</comments>
		<pubDate>Wed, 22 Aug 2012 14:01:52 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1970</guid>
		<description><![CDATA[Today is August 22, 2012. On August 22, 2011, I stepped into an AP building as an employee for the first time. This day marks one year with The Associated Press, all the more important because I&#8217;ve never stayed at any professional organization a whole year. I&#8217;m early enough in my career here that I&#8217;m [...]]]></description>
				<content:encoded><![CDATA[<p>Today is August 22, 2012. On August 22, 2011, I stepped into an AP building as an employee for the first time. This day marks one year with The Associated Press, all the more important because I&#8217;ve never stayed at any professional organization a whole year. I&#8217;m early enough in my career here that I&#8217;m still counting months, late enough that I understand how to deploy basic resources to try to make my journalistic dreams a reality.<span id="more-1970"></span></p>
<p>I&#8217;m just elated, and hope that everyone can find a good match like this, where they don&#8217;t just go to work for a paycheck, but because their mission aligns with their organization.</p>
<p>In a cover letter I wrote more than a year ago, I said of the AP, &#8220;I’m ecstatic at the opportunity to contribute to this work and continue to push it ever forward.&#8221; That&#8217;s a sentence that&#8217;s as true today as it was back then.</p>
<p>Thankful for support from colleagues and leadership around the globe on the technical, design and editorial sides. They respect me for my knowledge and caliber of my work, but understand that there&#8217;s much I don&#8217;t know yet, and am still navigating. I&#8217;m learning a lot (especially for a year!), we&#8217;re making progress and I never dreamed I&#8217;d have this much of an opportunity so soon.</p>
<p>Time to get back to it! Here&#8217;s to Year Two!</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >August 28, 2011 -- <a href="http://michelleminkoff.com/2011/08/28/thoughts-on-starting-a-new-adventure/" class="wp_rp_title">Thoughts on starting a new adventure</a></li><li >July 30, 2011 -- <a href="http://michelleminkoff.com/2011/07/30/what-is-it-like-looking-for-a-programmer-journalist-job/" class="wp_rp_title">What&#8217;s it like looking for a programmer-journalist job?</a></li><li >December 25, 2011 -- <a href="http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/" class="wp_rp_title">Hacking till it works is no longer enough</a></li><li >September 3, 2011 -- <a href="http://michelleminkoff.com/2011/09/03/this-work-i-do-its-difficult-and-thats-okay/" class="wp_rp_title">This work I do, it&#8217;s difficult, and that&#8217;s okay</a></li><li >July 29, 2011 -- <a href="http://michelleminkoff.com/2011/07/29/the-associated-press-next-stop-on-the-journey/" class="wp_rp_title">The Associated Press: Next stop on the journey</a></li><li >October 3, 2011 -- <a href="http://michelleminkoff.com/2011/10/03/conferences-how-can-we-help-more-people-feel-dumb/" class="wp_rp_title">Conferences: How can we help more people feel dumb?</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/ecJUHjnbbOg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/08/22/passing-another-milestone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/08/22/passing-another-milestone/</feedburner:origLink></item>
		<item>
		<title>“Is there a Strunk &amp; White for code?”</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/hvN69ZbE4O0/</link>
		<comments>http://michelleminkoff.com/2012/08/20/is-there-a-strunk-white-for-code/#comments</comments>
		<pubDate>Mon, 20 Aug 2012 14:20:51 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1944</guid>
		<description><![CDATA[In my last post, Lisa Williams asks in the comments: &#8220;So is there a Strunk and White for code? I&#8217;m teaching myself, and I know things like my indentation and the like must be all screwed up, but I haven&#8217;t really found any reference that would help me out. Do the conventions vary widely from [...]]]></description>
				<content:encoded><![CDATA[<p>In my last post, <a href="http://michelleminkoff.com/2012/08/19/learning-to-love-namespacing-advancing-code-organization/#comment-623803994">Lisa Williams asks in the comments</a>:</p>
<blockquote><p>&#8220;So is there a Strunk and White for code? I&#8217;m teaching myself, and I know things like my indentation and the like must be all screwed up, but I haven&#8217;t really found any reference that would help me out. Do the conventions vary widely from language to language?&#8221;</p></blockquote>
<p>The answer, or what I&#8217;ve gleaned from my study so far, isn&#8217;t simple, so I&#8217;m extending this into a blog post.<span id="more-1944"></span></p>
<p>It seems to me that basic principles remain the same, but how you make them happen is what differs.</p>
<p>Put another way, when we write, we organize our thoughts in sentences, which get grouped into paragraphs. Paragraphs are placed in order, to hopefully form some type of narrative. But if I write a news story in French, it differs from English in that it uses different words and characters. The order of words in sentences even changes: &#8220;le chat bleu&#8221; as opposed to &#8220;the blue cat&#8221;. But the principle of sentences, paragraphs and logical flow still apply. And to further push this metaphor, Strunk &amp; White doesn&#8217;t go into detail about how to structure paragraphs, but rather what you put in the paragraphs. Same with the majority of coding references I see.</p>
<p>But for what it&#8217;s worth, I&#8217;m trying to learn the language of JavaScript, for example, as well as how &#8220;paragraphs&#8221; work in code. Attacking both at once is even more confusing, not to mention the fact that the last time I learned the elementary basics of structuring a document, I started in kindergarten.</p>
<p>Mentors of mine have suggested the books <a href="http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672">Refactoring: Improving the Design of Existing Code</a> and <a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670">Code Complete</a> (Amazon links informational only, not meant as telling you to buy it). But frankly, I find them to be quite difficult to wrap my head around, at my current skill level. When I reread five times, I get it. They&#8217;re worthwhile, but require careful study.</p>
<p>Since an object {} should contain everything, there are things called JavaScript object patterns, and I imagine similar things for other languages. I&#8217;ve tried many links on this, and a favorite is the virtual &#8220;book&#8221; <a href="http://addyosmani.com/resources/essentialjsdesignpatterns/book/">Learning JavaScript Design Patterns</a>.</p>
<p>But before we get to all that, there are some simpler lessons I&#8217;ve taken away, that have helped me &#8220;get&#8221; it more than the rest of the resources, at least for where I am right now in my coding journey.</p>
<ul>
<li>Outline what you will do first, in pseudocode, that is use English to describe what you will tell the computer to do. Write it like an outline, with sections and subsections.</li>
<li>Convert that into functions. Functions call other functions; you should be able to describe every function in a topic sentence. Right now, I like to write that topic sentence at the start of my functions.</li>
<li>Order functions following a logical path from specific to general. The inner functions a larger function uses goes directly above it, then we move to the next set of inner functions to larger functions. A giant call to initialize the whole thing goes at the bottom.</li>
<li>Write a bunch of comments to remind yourself what&#8217;s happening. Reading just the comments, from bottom to top, should read with some sort of narrrative or logical structure.</li>
</ul>
<p>Lisa also asked about indenting, and I struggle with that too. Again, I think of it like an outline I used to make in school. If something is a part of something else (a function, an HTML element), it goes in a level. This makes it easier to see when you&#8217;ve forgotten to close something with a stray } or ). I don&#8217;t know that there&#8217;s any great resource on that other than practice, and copy editing yourself.</p>
<p>Of course, for me, the healthy fear of having my code reviewed keeps me honest. If I don&#8217;t indent correctly, I&#8217;ll hear about it. It&#8217;s important to have people who can review your stuff, whether inside or outside your organization.</p>
<p>But it&#8217;s still a lot of self teaching. In the end, it&#8217;s up to me. A quote from a reviewer when I felt guilty for messy code: &#8220;Don&#8217;t apologize to me. I&#8217;m just looking at it once. You&#8217;re the one who has to live with it.&#8221; Truth.</p>
<p>If anyone out there wants another set of eyes on their stuff, I&#8217;m always happy to take a look &#8212; I could use the practice. If I don&#8217;t know the answer, I&#8217;ll ask someone smarter.</p>
<p>Hope that helps, Lisa. That&#8217;s as much as I know now, but I&#8217;ll post more when I figure more out.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >February 28, 2011 -- <a href="http://michelleminkoff.com/2011/02/28/why-i-really-love-nicar-and-the-new-york-times/" class="wp_rp_title">Why I really love NICAR (and the New York Times)</a></li><li >September 28, 2011 -- <a href="http://michelleminkoff.com/2011/09/28/journonerd-crisis-where-am-i-and-where-am-i-going-ona-wrapup/" class="wp_rp_title">Journonerd Crisis: Where am I, and where am I going? (ONA Wrapup)</a></li><li >December 25, 2011 -- <a href="http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/" class="wp_rp_title">Hacking till it works is no longer enough</a></li><li >December 1, 2010 -- <a href="http://michelleminkoff.com/2010/12/01/programming-does-not-replace-the-story-no-no-no/" class="wp_rp_title">&#8220;I do not believe programming replaces the story&#8221; No, no, no!!!</a></li><li >January 18, 2010 -- <a href="http://michelleminkoff.com/2010/01/18/bigdata/" class="wp_rp_title">Collaborating with computers to parse &#8220;big data&#8221;</a></li><li >August 28, 2011 -- <a href="http://michelleminkoff.com/2011/08/28/thoughts-on-starting-a-new-adventure/" class="wp_rp_title">Thoughts on starting a new adventure</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/hvN69ZbE4O0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/08/20/is-there-a-strunk-white-for-code/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/08/20/is-there-a-strunk-white-for-code/</feedburner:origLink></item>
		<item>
		<title>Learning to love…namespacing (advancing code organization)</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/igBtFQ-RJMw/</link>
		<comments>http://michelleminkoff.com/2012/08/19/learning-to-love-namespacing-advancing-code-organization/#comments</comments>
		<pubDate>Sun, 19 Aug 2012 21:41:00 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[daily_learnings]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1914</guid>
		<description><![CDATA[Before I can settle down to work, I feel the need to clean my apartment. All the dirty dishes go in the dishdrain. The blanket goes behind the couch. Miscellaneous dust is vacuumed. The physical space represents how cluttered my brain feels, so I like to start with it being organized. What I&#8217;m trying to [...]]]></description>
				<content:encoded><![CDATA[<p>Before I can settle down to work, I feel the need to clean my apartment. All the dirty dishes go in the dishdrain. The blanket goes behind the couch. Miscellaneous dust is vacuumed. The physical space represents how cluttered my brain feels, so I like to start with it being organized. </p>
<p>What I&#8217;m trying to improve on, is that currently I go through this cleanup every Saturday morning. I&#8217;d prefer to just&#8230;keep it organized to begin with.<span id="more-1914"></span></p>
<p>So is it with code for me right now. I just rush through, trying to keep information organized into separate pieces, called functions. Then, the day before I meet with one of my &#8220;code-reviewers&#8221; at my organization, I say, &#8220;Oh, no!&#8221; and quickly reorganize everything, and fix all my indentation. &#8220;Look, it&#8217;s organized!&#8221; I say. </p>
<p>But recently, one of my mentors suggested pair-programming, a concept where we work together on the code and I realized my fake organization would be found out for what it is. I need to rectify that&#8230;NOW.</p>
<p>So, one of my new favorite tools for staying organized as I go, as I work on Big Projects, is called a &#8220;namespace.&#8221; &nbsp;Jonathan Stray introduced this concept, but I don&#8217;t think I got it until Troy Thibodeaux re-explained. Not a comment on either of them, just that multiple explanations is helpful.</p>
<p>Side note: Having access to Jonathan, Troy (another expert coder, who actually used to work in AP DC, and is one of the smartest, most helpful and calmest people I&#8217;ve ever met over the phone, he&#8217;s at AP New Orleans) plus several others, from a coding perspective, within my organization, is an amazing opportunity. I feel myself learning even faster, and I just regret not looping Troy into my study sooner. &nbsp;</p>
<p>Just feel pressured that if their combined force can&#8217;t get me where I want to go, I have very big problems. Can&#8217;t decide if I&#8217;m totally giddy with that kind of knowledge, or totally afraid. &nbsp;I&#8217;ll go with giddy.</p>
<p>Anyway, the idea, if I&#8217;m explaining this right, is that you attach all of the blocks of code to execute, or functions, to a giant variable (the namespace), which is attached to the window, which represents the actual webpage, and is always available to your JavaScript. &nbsp;</p>
<p>You also attach information you need to pass among the functions to that variable. Then, all the functions can access the information, and you don&#8217;t have to shove it around inside () as arguments. </p>
<p>Another great feature is you store all of the functions, but by wrapping code in functions, you have greater control over when your code is run, or executed. You&#8217;ll see in the example below, I create two functions, but only run them, by adding () after a function name, in the initialize function.</p>
<p>An added bonus is if you inspect this giant object in the Web Developer console, you will see all of your functions and pieces of information as you dig into the object.</p>
<p>I like this strategy a lot, and am trying to approach my projects this way from the start. &nbsp;I will leave you with an example of short namespaced code.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">window.<span style="color: #660066;">myAwesomeMap</span><span style="color: #339933;">;</span>
&nbsp;
myAwesomeMap.<span style="color: #660066;">getColor</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   myAwesomeMap.<span style="color: #660066;">color</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'tomato'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
myAwesomeMap.<span style="color: #660066;">colorAlabama</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#alabama'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> myAwesomeMap.<span style="color: #660066;">color</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
myAwesomeMap.<span style="color: #660066;">initialize</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   myAwesomeMap.<span style="color: #660066;">getColor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   myAwesomeMap.<span style="color: #660066;">colorAlabama</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
myAwesomeMap.<span style="color: #660066;">initialize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>


<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >August 9, 2012 -- <a href="http://michelleminkoff.com/2012/08/09/learning-to-love-grep-let-the-computer-search-text-for-you/" class="wp_rp_title">Learning to love&#8230;grep (let the computer search text for you)</a></li><li >December 28, 2011 -- <a href="http://michelleminkoff.com/2011/12/28/adventures-in-rebooting-my-coding-practice/" class="wp_rp_title">Adventures in rebooting my coding practice</a></li><li >November 8, 2010 -- <a href="http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/" class="wp_rp_title">Tools to help bring data to your journalism</a></li><li >December 25, 2011 -- <a href="http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/" class="wp_rp_title">Hacking till it works is no longer enough</a></li><li >October 30, 2011 -- <a href="http://michelleminkoff.com/2011/10/30/answering-some-faqs-about-fusion-tables/" class="wp_rp_title">Answering some FAQs about Fusion Tables</a></li><li >February 5, 2012 -- <a href="http://michelleminkoff.com/2012/02/05/changing-definitions-of-what-it-means-to-be-mentored/" class="wp_rp_title">Changing definitions of what it means to be mentored</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/igBtFQ-RJMw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/08/19/learning-to-love-namespacing-advancing-code-organization/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/08/19/learning-to-love-namespacing-advancing-code-organization/</feedburner:origLink></item>
		<item>
		<title>Learning about teaching at Code With Me</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/8JWfzEZXTOQ/</link>
		<comments>http://michelleminkoff.com/2012/08/19/learning-about-teaching-at-code-with-me/#comments</comments>
		<pubDate>Sun, 19 Aug 2012 19:09:45 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1893</guid>
		<description><![CDATA[&#8220;How do I get started doing the kind of work you do? It just seems so&#8230;hard.&#8221; I hear this comment more than I&#8217;d like, and I always find my answers dissatisfactory. &#8220;Look things up on the Internet. Find good work, and email the creators.&#8221; Or they sound obnoxious as soon as I say them: &#8220;Get [...]]]></description>
				<content:encoded><![CDATA[<p>&#8220;How do I get started doing the kind of work you do? It just seems so&#8230;hard.&#8221; I hear this comment more than I&#8217;d like, and I always find my answers dissatisfactory. &#8220;Look things up on the Internet. Find good work, and email the creators.&#8221;</p>
<p>Or they sound obnoxious as soon as I say them: &#8220;Get an intership out of grad school at the Los Angeles Times.&#8221; Or &#8220;Bug the professor of your computer-assisted reporting class in school.&#8221; Or &#8220;Bug the hell out of people at the Associated Press.&#8221;</p>
<p>I TRY to help everyone, &#8217;cause everyone helps me, but, as I have recently learned about many things, I can&#8217;t do it all.<span id="more-1893"></span></p>
<h2>What is Code With Me?</h2>
<p>But what if there was a structured setting for two days, where I joined with lovely compatriots who also do this kind of thing for a living, and we each take two students and teach them enough coding knowhow to make a thing?</p>
<p>Because once you&#8217;ve made a thing, and know how to make a thing, you have tools to make more things. And before you know it, it&#8217;s three years later, and for nearly a year (my AP anniversary is Wednesday, Aug. 22, 2012), you&#8217;re making things at a building in downtown DC, and sitting in a daily editorial meeting at the Washington bureau at the Associated Press, asking yourself, &#8220;Wait, what just happened?&#8221; If I say I got addicted, that&#8217;s an understandment.</p>
<p>That&#8217;s all a long way of saying that an organized setting for teaching was needed to get the path started for more of us, and the project I just described &#8212; called <a href="http://codewithmedc.com/">CodeWithMe</a> &#8212; was invisioned by friends <a href="https://twitter.com/sisiwei">Sisi Wei</a>, of the Washington Post, and <a href="https://twitter.com/giratikanon">Tom Giratikanon</a>, of the New York Times. Two of the nicest and smartest pay-it-forwarders you could hope for.  For two days, I merely held a candle.</p>
<h2>What did we do?</h2>
<p>I don&#8217;t want to go into much detail about the exercises we gave students, or how it went. That&#8217;s both so it has similar impact in the future, and to create a safe space for the students &#8212; it should be a learning environment where you feel totally comfortable, without fear of being featured on michelleminkoff.com, or anywhere else.</p>
<p>But I&#8217;ll say this: Sisi or Tom would explain concepts, the &#8220;mentors&#8221;, as we were called, helped students complete exercises, all leading up to mentors helping students complete an interactive project. Many students created interactive timelines, I think there was some mapping, etc. The idea was to use HTML for the structure, CSS for the appearance, and JS for the interactivity.</p>
<p>I heard someone say, &#8220;It&#8217;s not a mystery anymore, I was able to do it!&#8221;  But of course. The hardest part is getting started, and I&#8217;d like to believe we helped with that.</p>
<h2>What did we learn about teaching?</h2>
<p>I&#8217;ve picked up a lot in the past year, and this is the first time in a while I was able to try explaining things, and I learned some lessons. Notes:</p>
<ul>
<li>To quote The Zen of Python, &#8220;Explicit is better than implicit.&#8221; Without getting too geeky here, to tell jQuery to run code only when the page is ready, you can wrap your code inside a &#8220;document.ready&#8221; function, or just the word function. I used the latter strategy, since I&#8217;m used to it at work. But it made a confusing topic more confusing.</li>
<li>HTML and CSS are approachable when explained slowly, but when you switch to JavaScript and jQuery, now it gets serious.  You just switched from markup to programming. You need to slow down more to account for this.</li>
<li>Introducing jQuery as a part of JavaScript from the get-go was a good idea. And with all that jQuery can do, and how closely it&#8217;s tied to CSS, it made more sense than pure JavaScript would have. I wouldn&#8217;t have guessed that would be true, I would have thought that would be introducing too many things at once.</li>
<li>Don&#8217;t just lecture, use exercises to test people&#8217;s knowledge.</li>
<li>Let people pursue their own projects, and help them do what they are interested in.</li>
<li>Articulating knowledge is hard.</li>
<li>Don&#8217;t underestimate the importance of being specific in your CSS. This is a work lesson, too.  If you change the color of all the &lt;p&gt; elements, you may accidentally change something you don&#8217;t meant to change. When you can use a class or id to limit what elements are being changed, you should do so.</li>
<li>Always ask people if they understand, and re-explain. Re-explanations aren&#8217;t the fault of mentor/mentee, it&#8217;s just what must be done.</li>
<li>Don&#8217;t be afraid to show off projects from work and explain how fundamental concepts apply to more complex work. For example, I used an interactive map to explain hover, and a recent interactive on social security (which I have a half-written post about) that features radio buttons to show the difference between setting an element to inline vs. block (if you use the latter, nothing can go next to that element, so labels drop to the next line.)</li>
<li>Leave some stuff out, don&#8217;t throw everything in there at once. At the same time, if you&#8217;re asked about something, answer it. This last part is like my parents&#8217; philosophy of not using baby talk with me, but &#8220;real&#8221; sentences, from a very young age. If you&#8217;re going to learn good practices, start early.</li>
<li>I&#8217;m having to relearn indentation now, so I was a stickler for a div&#8217;s contents being more indented than the div itself. And it WAS easier to see when something is missing. This is the fault of AP mentors, and I couldn&#8217;t be more delighted.</li>
<li>Most importantly, I gained a real appreciation for how much I learned in the past year. I was explaining things I couldn&#8217;t have explained a year ago, and cemented my own knowledge. Can&#8217;t wait to get back to it on Monday, I&#8217;m even MORE invigorated than usual.</li>
</ul>
<h2>Sounds fun. How can I get in on the awesomeness?</h2>
<p>When you hear of future Code With Me workshops, if it happens to be in your area, please volunteer as a mentor if you know about making the Internet. And if you don&#8217;t, I think this is one of the best ways to get started that exists. You&#8217;ll have fun, learn a lot and join a special community.</p>
<p>Note: You don&#8217;t have to make interactive graphics all the time, like some of us do. These skills can help you do this work occasionally, or collaborate more effectively with others. I certainly don&#8217;t mean to pressure people, or discount other fields of journalism. But as someone who traffics in information, I feel like more knowledge is always a good thing &#8212; for one reason or another.</p>
<p>We need you, we want to help you and we want to work together to serve the world with the best information we can.  Whether mentor or student, we&#8217;ll both learn something and pay it forward during the workshop days, and far into the future. It&#8217;s essential. We journocoders can&#8217;t wait for you to join us, so please do.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >September 16, 2010 -- <a href="http://michelleminkoff.com/2010/09/16/journ-curriculas-transition-isnt-unique/" class="wp_rp_title">Journ curricula&#8217;s need for transition isn&#8217;t unique</a></li><li >December 25, 2011 -- <a href="http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/" class="wp_rp_title">Hacking till it works is no longer enough</a></li><li >March 18, 2010 -- <a href="http://michelleminkoff.com/2010/03/18/my-next-move-la-times/" class="wp_rp_title">My next move: LA Times!</a></li><li >March 25, 2010 -- <a href="http://michelleminkoff.com/2010/03/25/self-teaching-data-and-programming-skills/" class="wp_rp_title">Self-teaching data and programming skills</a></li><li >February 1, 2010 -- <a href="http://michelleminkoff.com/2010/02/01/relating-zip-codes-and-geography-using-processing/" class="wp_rp_title">Relating zip codes and geography using Processing</a></li><li >September 3, 2011 -- <a href="http://michelleminkoff.com/2011/09/03/this-work-i-do-its-difficult-and-thats-okay/" class="wp_rp_title">This work I do, it&#8217;s difficult, and that&#8217;s okay</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/8JWfzEZXTOQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/08/19/learning-about-teaching-at-code-with-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/08/19/learning-about-teaching-at-code-with-me/</feedburner:origLink></item>
		<item>
		<title>Learning to love…grep (let the computer search text for you)</title>
		<link>http://feedproxy.google.com/~r/michelleminkofffeed/~3/YokXnoyiSGQ/</link>
		<comments>http://michelleminkoff.com/2012/08/09/learning-to-love-grep-let-the-computer-search-text-for-you/#comments</comments>
		<pubDate>Thu, 09 Aug 2012 21:54:18 +0000</pubDate>
		<dc:creator>Michelle Minkoff</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[daily_learnings]]></category>

		<guid isPermaLink="false">http://michelleminkoff.com/?p=1683</guid>
		<description><![CDATA[I&#8217;ve gotten into the habit of posting daily learnings on Twitter, but some things require a more in-depth reminder. I also haven&#8217;t done as much paying as forward as I&#8217;d like (but I&#8217;m having a TON of fun! &#160;and dealing with health problems! &#160;but mostly fun!) I&#8217;d like to try to start posting more helpful [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve gotten into the habit of posting daily learnings on Twitter, but some things require a more in-depth reminder. I also haven&#8217;t done as much paying as forward as I&#8217;d like (but I&#8217;m having a TON of fun! &nbsp;and dealing with health problems! &nbsp;but mostly fun!)</p>
<p>I&#8217;d like to try to start posting more helpful tips here, partially as a notebook for myself, and partially to help others with similar issues.</p>
<p>Today&#8217;s problem: I needed to search for a few lines of text, which could be contained in any one of nine files with 100,000 lines each. Opening all of the files took a very long time on my computer, not to mention executing a search.<span id="more-1683"></span></p>
<p>Enter the &#8220;grep&#8221; command in Terminal, that allows you to quickly search files using the power of the computer.</p>
<p>Type:</p>
<p><code>grep -r -P '^sometext/t' /path/to/a/folder/with/files/to/search</code></p>
<p>What does that mean?</p>
<p>The -r tells the command to search recursively. Don&#8217;t just search the folder I specify in my path, search all files and folders contained within that top folder.</p>
<p>-P tells us to use Perl-type regular expressions, allowing us to use /t to signify a tab in the actual string we are searching for. This is useful for data files that use tabs to delimite, or separate, different columns. This is often used in very heavy data files, too heavy to save in an Excel format.</p>
<p>After a space, I type the string of text I want to search for. Using Perl-type regular expressions, ^ signifies the start of a line, sometext is literally&#8230;some text, and /t, as mentioned earlier, represents a tab.</p>
<p>After another space, I specify the path to the directory, or folder, that contains the files I wish to search.</p>
<p>And the computer prints out the lines I&#8217;m looking for, telling me which specific file in the folder they are in.</p>
<p>BONUS: I neglected to do this, but smart people tell me I can save these lines of text to my own data file by appending > path/to/some/file.txt at the end of the command.  > sends the content of the command somewhere, the path says where to send it.</p>
<p>That&#8217;s nice, but why do I care?</p>
<p>This gets back to my interests in text analysis. Give me a speech, and I can bring up all the times a politician said a certain word, without doing it by hand. Valuable skill to learn, especially for the type of work we do in DC. And helps me make better use of my time. Isn&#8217;t having more time, and outsourcing repetitive tasks to the computer, something we can all benefit from?</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related posts you might enjoy:</h3><ul class="related_post wp_rp" style="visibility: visible"><li >August 19, 2012 -- <a href="http://michelleminkoff.com/2012/08/19/learning-to-love-namespacing-advancing-code-organization/" class="wp_rp_title">Learning to love&#8230;namespacing (advancing code organization)</a></li><li >February 1, 2011 -- <a href="http://michelleminkoff.com/2011/02/01/making-the-structured-usable-transform-json-into-a-csv/" class="wp_rp_title">Making the structured usable: Transform JSON into a CSV</a></li><li >November 8, 2010 -- <a href="http://michelleminkoff.com/2010/11/08/tools-to-help-bring-data-to-your-journalism/" class="wp_rp_title">Tools to help bring data to your journalism</a></li><li >January 16, 2012 -- <a href="http://michelleminkoff.com/2012/01/16/pilgramage-to-ny-headquarters/" class="wp_rp_title">A pilgramage to NY headquarters</a></li><li >October 3, 2011 -- <a href="http://michelleminkoff.com/2011/10/03/conferences-how-can-we-help-more-people-feel-dumb/" class="wp_rp_title">Conferences: How can we help more people feel dumb?</a></li><li >March 29, 2011 -- <a href="http://michelleminkoff.com/2011/03/29/gantt-rant-advice-on-agile-project-management/" class="wp_rp_title">Gantt rant: Advice on agile project management</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<img src="http://feeds.feedburner.com/~r/michelleminkofffeed/~4/YokXnoyiSGQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michelleminkoff.com/2012/08/09/learning-to-love-grep-let-the-computer-search-text-for-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michelleminkoff.com/2012/08/09/learning-to-love-grep-let-the-computer-search-text-for-you/</feedburner:origLink></item>
	</channel>
</rss>
