<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    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/"
    >

<channel>
    <title>Webmonkey &#187; Programming</title>
    <atom:link href="http://www.webmonkey.com/category/programming/feed/" rel="self" type="application/rss+xml" />
    <link>http://www.webmonkey.com</link>
    <description>The Web Developer&#039;s Resource</description>
    <lastBuildDate>Fri, 05 Apr 2013 20:20:46 +0000</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.4.2</generator>
    
    <item>
        <title>GitHub Personalizes Gists for Easier Code Sharing</title>
        <link>http://www.webmonkey.com/2013/02/github-personalizes-gists-for-easier-code-sharing/</link>
        <comments>http://www.webmonkey.com/2013/02/github-personalizes-gists-for-easier-code-sharing/#comments</comments>
        <pubDate>Thu, 07 Feb 2013 15:10:42 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60846</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Github]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/notocat-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/notocat.jpg" alt="GitHub Personalizes Gists for Easier Code Sharing" /></div>Social coding website GitHub is personalizing its "Gists" feature -- little snippets of reusable code you'd like to share with others -- changing the URL to include your GitHub username, rather than just a random, anonymous number. ]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_60847" class="wp-caption alignleft" style="width: 310px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/02/notocat.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/notocat.jpg" alt="" title="notocat" width="300" height="300" class="size-full wp-image-60847" /></a><p class="wp-caption-text">This is not an Octocat. <em>Image: <a href="http://octodex.github.com/notocat/">GitHub</a></em>.</p></div>GitHub has <a href="https://github.com/blog/1406-namespaced-gists">personalized the code sharing site&#8217;s &#8220;Gists&#8221; feature</a>, changing the URL to include your GitHub username, rather than just a random, anonymous number. </p>
<p>The change means that you can easily get to a list of all your Gists by heading to <code>https://gist.github.com/&lt;username&gt;/</code>.</p>
<p>Gists, which started off as a simple way to dump and share snippets and short pieces of reusable code (something akin to the older Pastebin), were <a href="http://www.webmonkey.com/2012/12/github-update-makes-gists-more-powerful/">recently upgraded</a> to be full-fledged Git repos behind the scenes. That means Gists are automatically versioned, forkable and usable as Git repos, complete with diffs. </p>
<p>Now that Gists are considerably more than just Pastebin-style code snippets, it makes sense to offer users a quick and easy way to get to their Gists from anywhere thanks to a memorable URL.</p>
<p>The newly personalized Gists come with an automatic URL redirect. So if your Gist used to live at <a href="https://gist.github.com/4731290"><code>https://gist.github.com/4731290</code></a> it will now be redirected to <code>https://gist.github.com/luxagraf/4731290</code>. As some GitHub users <a href="https://news.ycombinator.com/item?id=5179624">point out on Hacker News</a>, there&#8217;s a flaw in GitHub&#8217;s system that means anyone can register a numeric username and cause a Gist to redirect to the wrong page. Hopefully GitHub will fix that in the near future..</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/github-personalizes-gists-for-easier-code-sharing/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Find the Droids You&#8217;re Looking for With GitHub&#8217;s Powerful New Search Tools</title>
        <link>http://www.webmonkey.com/2013/01/find-the-droids-youre-looking-for-with-githubs-powerful-new-search-tools/</link>
        <comments>http://www.webmonkey.com/2013/01/find-the-droids-youre-looking-for-with-githubs-powerful-new-search-tools/#comments</comments>
        <pubDate>Thu, 24 Jan 2013 17:00:02 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60665</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Github]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/01/octobiwan-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/01/octobiwan.jpg" alt="Find the Droids You&#8217;re Looking for With GitHub&#8217;s Powerful New Search Tools" /></div>Social coding giant GitHub has released a much-improved search engine, which further cements GitHub's place as the go-to source not just for publishing, but also discovering, code on the web.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_60667" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/01/octobiwan.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/01/octobiwan.jpg" alt="" title="octobiwan" width="580" height="300" class="size-full wp-image-60667" /></a><p class="wp-caption-text">GitHub&#8217;s Octobi Wan Catnobi. <em>Image: <a href="http://octodex.github.com/octobiwan/">GitHub</a></em></p></div>Open source is about building on the work of others and not having to reinvent the wheel. But if you can&#8217;t find the code you need then you&#8217;re stuck reinventing the wheel. Again. </p>
<p>To help you find exactly the wheels your project needs, code hosting giant GitHub has announced a new, much <a href="https://github.com/blog/1381-a-whole-new-code-search">more powerful search tool</a> that peers inside GitHub repositories and offers dozens of filters to help you discover the code you need. </p>
<p>The new search further cements GitHub&#8217;s place as the go-to source not just for publishing, but also discovering, code on the web.</p>
<p>While GitHub&#8217;s new search lacks the web-wide reach of more general code search engines like Google&#8217;s <a href="http://www.webmonkey.com/2007/07/google_code_search_casts_a_wider_net/">once-mighty Code Search</a> (now a <a href="https://code.google.com/codesearch">hollow shell of its former self</a>), it&#8217;s likely to return more useful results thanks to some nice extras like the ability to see recent activity and narrow results by the number of users, stars and forks. </p>
<p>GitHub&#8217;s <a href="https://github.com/search/advanced">advanced search page</a> now supports operators like @username to limit results to just your repositories (or another user&#8217;s repos), code from only one repository (repo:name) or even code from a particular path within a repo. You can also limit by file extension, repo size, number of forks, number of stars, number of followers, number of repos and user location.</p>
<p>While the advanced operators make a quick way to search, there&#8217;s no need to memorize them all. The new advanced search form allows you to craft your query using multiple fields, while it displays the shorthand version at the top the page so you learn as you go.</p>
<p>Under the hood GitHub&#8217;s new search is powered by an <a href="http://www.elasticsearch.org/">ElasticSearch</a> cluster which live-indexes your code as you push it to GitHub. The results you see will include any public repositories, as well as any private repositories that you have access to.</p>
<p>The GitHub blog also notes that, &#8220;to ensure better relevancy, we&#8217;re being conservative in what we add to the search index.&#8221; That means, for example, that forks will not be in search results (unless the fork has more stars than the parent repository). While that may mean you occasionally miss a bit of code, it goes a long way toward reducing a problem that plagues many other code search engines &#8212; the overwhelming amount of duplicate results. </p>
<p>GitHub&#8217;s more powerful search has turned up one unintended consequence &#8212; exposed data. It&#8217;s much easier to search for anything on the site, including, say, usernames and passwords. As it turns out many people seem to have everything from SSH keys to Gmail passwords stored in public GitHub repos. There&#8217;s a discussion about the issue over on <a href="https://news.ycombinator.com/item?id=5104243">Hacker News</a>. The ability to find things like exposed passwords isn&#8217;t new, but the new search tool does make it easier than ever. Let this be a reminder of something that&#8217;s hopefully obvious to Webmonkey readers &#8212; never store passwords or private keys on a public site. And if you find someone doing that, do the right thing and let them know.</p>
<p>For more details on everything that&#8217;s new in GitHub&#8217;s search page, head on over to the <a href="https://github.com/blog/1381-a-whole-new-code-search">GitHub blog</a>. </p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/01/find-the-droids-youre-looking-for-with-githubs-powerful-new-search-tools/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>GitHub Supercharges &#8216;Gists&#8217; for Quick and Easy Code Sharing</title>
        <link>http://www.webmonkey.com/2012/12/github-update-makes-gists-more-powerful/</link>
        <comments>http://www.webmonkey.com/2012/12/github-update-makes-gists-more-powerful/#comments</comments>
        <pubDate>Thu, 13 Dec 2012 16:52:02 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60374</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Web Services]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/12/cat_w.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/12/cat_w.jpg" alt="GitHub Supercharges &#8216;Gists&#8217; for Quick and Easy Code Sharing" /></div>Social coding giant GitHub keeps cranking out the new features, this time adding some powerful new tools to its "gists" feature -- a way to share snippets and short pieces of reusable code.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_58320" class="wp-caption alignleft" style="width: 270px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat.jpg" alt="" title="githuboctocat" width="260" height="260" class="size-full wp-image-58320" /></a><p class="wp-caption-text"><em>Image: <a href="https://github.com/github/media/blob/master/octocats/octocat.png">GitHub</a>.</em></p></div>
<p>Social coding giant GitHub continues to crank out the hits. The company recently made it easy to <a href="http://www.webmonkey.com/2012/12/github-brings-the-more-git-superpowers-to-the-web/">create new files through its web interface</a> and now GitHub has <a href="https://github.com/blog/1276-welcome-to-a-new-gist">launched a completely rewritten version of GitHub Gist</a>.</p>
<p><a href="https://gist.github.com/">Gists</a> are a way to dump and share snippets and short pieces of reusable code &#8212; too short to bother creating a full-fledged Git repository, but something you&#8217;d like to save and share nonetheless &#8212; covering roughly the same use case as something like the much older <a href="http://pastebin.com/">Pastebin</a>. Or at least that used to be the case. </p>
<p>The new gists are considerably more powerful. The rewrite actually turns gists into full Git repositories, so they are automatically versioned, forkable and usable as Git repos, complete with diffs. </p>
<p>Gists are also now <a href="https://gist.github.com/search">searchable</a> &#8212; complete with the ability to filter searches by language &#8212; and there&#8217;s a new <a href="https://gist.github.com/discover">Discover page</a> as well.</p>
<p>Like normal GitHub repos, gists now offer the <a href="http://ace.ajax.org/#nav=about">Ace code editor</a> with its syntax highlighting and automatic indenting. While the Ace editor is nice, my favorite way to create gists is through editor plugins like <a href="https://github.com/mattn/gist-vim">this one for Vim</a>, this one <a href="https://github.com/defunkt/gist.el">for Emacs</a> or this one for <a href="https://github.com/condemil/Gist">Sublime Text 2</a>.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/12/github-update-makes-gists-more-powerful/feed/</wfw:commentRss>
        <slash:comments>5</slash:comments>

        
    </item>
    
    <item>
        <title>Video: Parsing Horrible Things with Python</title>
        <link>http://www.webmonkey.com/2012/11/video-parsing-horrible-things-with-python/</link>
        <comments>http://www.webmonkey.com/2012/11/video-parsing-horrible-things-with-python/#comments</comments>
        <pubDate>Thu, 08 Nov 2012 21:26:15 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=59883</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[python]]></category>
        <description><![CDATA[The &#8220;horrible thing&#8221; in developer Erik Rose&#8217;s talk from this year&#8217;s PyCon is the Mediawiki syntax, but that&#8217;s just a jumping off point for one of the best overviews of data parsing that I&#8217;ve run across. If you&#8217;ve got a project that involves parsing, or are, like me, considering one, this talk is a must-watch. [...]]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><iframe width="580" height="435" src="https://www.youtube-nocookie.com/embed/tCUdeLIj4hE" frameborder="0" allowfullscreen></iframe></p>
<p>The &#8220;horrible thing&#8221; in developer Erik Rose&#8217;s <a href="https://www.youtube.com/watch?v=tCUdeLIj4hE">talk from this year&#8217;s PyCon</a> is the Mediawiki syntax, but that&#8217;s just a jumping off point for one of the best overviews of data parsing that I&#8217;ve run across. If you&#8217;ve got a project that involves parsing, or are, like me, considering one, this talk is a must-watch.</p>
<p>This is PyCon, so much of the talk focuses on parsing in Python, but there&#8217;s plenty of broader, dare I say, &#8220;parsing philosophy&#8221; that make it well worth a watch even if you don&#8217;t end up using the specific Python parsing libraries Rose mentions.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/11/video-parsing-horrible-things-with-python/feed/</wfw:commentRss>
        <slash:comments>2</slash:comments>

        
    </item>
    
    <item>
        <title>The Best Way to Comment Your Code</title>
        <link>http://www.webmonkey.com/2012/09/the-best-way-to-comment-your-code/</link>
        <comments>http://www.webmonkey.com/2012/09/the-best-way-to-comment-your-code/#comments</comments>
        <pubDate>Fri, 07 Sep 2012 17:53:25 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=58924</guid>
        		<category><![CDATA[Programming]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/09/Voynich_Manuscript-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/09/Voynich_Manuscript.jpg" alt="The Best Way to Comment Your Code" /></div>No programmer wants to turn simple code into a Dickens novel of comments, but all to often we end up producing code which, years later, reads like the Voynich Manuscript. The best commented code seeks the middle ground.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_58929" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/09/Voynich_Manuscript.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/09/Voynich_Manuscript.jpg" alt="" title="Voynich_Manuscript" width="580" height="296" class="size-full wp-image-58929" /></a><p class="wp-caption-text">The Voynich Manuscript was very poorly commented. <em>Image: <a href="http://commons.wikimedia.org/wiki/File:Voynich_Manuscript_%28170%29.jpg">Wikimedia</a></em></p></div>
<p>We&#8217;ve written before about the value of <a href="http://www.webmonkey.com/2010/08/write-your-readme-before-your-code/">writing your README before your code</a>, but what about when it comes to the actual code? Terse one-liners? Paragraph-long descriptions? How much is enough and when is it too much?</p>
<p>How to comment code is a perennial subject of debate for programmers, one that developer Zachary Voase recently <a href="http://blog.zacharyvoase.com/2012/09/07/comments/">jumped into</a>, arguing that one of the potential flaws with extensive comments (or any comments really) is that they never seem to get updated when the code changes. &#8220;We forget,&#8221; writes Voase, &#8220;overlooking a comment when changing the fundamental behavior of semantics of the code to which it relates.&#8221;</p>
<p>Voase thinks the solution is in our text editors, which typically &#8220;gray out&#8221; comments, fading then into the background so we can focus on the actual code. We ought to do the opposite, he believes: Make the comments jump out. Looking at the visual examples on Voase&#8217;s post makes the argument a bit more compelling. Good text editors have configurable color schemes so it shouldn&#8217;t be too hard to give this a try and see if it improves your comments and your code. </p>
<p>Another approach is to treat comments as a narrative. Dave Winer recently mentioned comments in passing, writing about <a href="http://scripting.com/stories/2012/09/03/agileProgrammingWmss.html">the benefits of using an outliner</a> to handle comments since it makes it easy to show and hide them: </p>
<blockquote>
<p>Another thing that works is the idea of code as a weblog. At the top of each part there&#8217;s a section where each change is explained. The important thing is that with elision (expand/collapse) comments don&#8217;t take up visual space so there&#8217;s no penalty for fully explaining the work. Without this ability there&#8217;s an impossible trade off between comments and the clarity of comment-free code. No manager wants to penalize developers for commenting their work. With this change, with outlining, that now works. </p>
</blockquote>
<p>Winer has an <a href="http://listings.opml.org/system/systemverbsbuiltins/op/render/viewoutline">example you can check out</a> if you&#8217;d like to see it in practice (and <a href="http://scripting.com/images/2012/09/03/codeAsWeblog.gif">a screenshot</a> of how it looks in the actual editor). Winer is also a proponent of what he calls <a href="http://scripting.com/stories/2009/08/09/narrateYourWork.html">Narrate Your Work</a>, publishing a running <a href="http://worknotes.scripting.com/">story of his work</a>.</p>
<p>Donald Knuth, author of the seminal book, <a href="http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming"><em>The Art of Computer Programming</em></a>, advocated a similar narrative approach with what he called <a href="http://www.literateprogramming.com/">Literate Programming</a>. Literate programming seeks to weave comments and docs out of a &#8220;literate&#8221; source.</p>
<p>Then there&#8217;s the opposite school of thought that says your code should always be so clear and so obvious as to never need comments. See <a href="developers.slashdot.org/story/12/09/07/1241254/comments-on-code-comments">Slashdot</a> for quite a few people advocating this approach, most of whom we suspect have never had to go back and read through their code again years after it was written.</p>
<p>The best way to comment your code is up to you, but whichever path your team decides to follow the best advice is to make sure you take the time to actually have a plan for comments. The most useless comments are haphazardly written, which also makes them unlikely to be updated when the code changes. There are as many approaches as there are programmers; just make sure you actually settle on one and stick with it. Down the road, when it&#8217;s time to update that older code you&#8217;ll thank yourself.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/09/the-best-way-to-comment-your-code/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>GitHub Changes Make It Easier to Track Your Favorite Projects</title>
        <link>http://www.webmonkey.com/2012/08/github-changes-make-it-easier-to-track-your-favorite-projects/</link>
        <comments>http://www.webmonkey.com/2012/08/github-changes-make-it-easier-to-track-your-favorite-projects/#comments</comments>
        <pubDate>Tue, 07 Aug 2012 16:10:22 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=58315</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Github]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat.jpg" alt="GitHub Changes Make It Easier to Track Your Favorite Projects" /></div>GitHub has added a new "stars" feature that makes it easier to keep track of cool projects without the barrage of updates you'd normally get when you "watch" a repository.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_58320" class="wp-caption alignleft" style="width: 270px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/08/githuboctocat.jpg" alt="" title="githuboctocat" width="260" height="260" class="size-full wp-image-58320" /></a><p class="wp-caption-text"><em>Image: <a href="https://github.com/github/media/blob/master/octocats/octocat.png">GitHub</a>.</em></p></div>
<p>Code sharing giant GitHub has rolled out some significant changes to the site&#8217;s notifications system, making it easier to keep track of interesting projects without being notified of every single change.</p>
<p>GitHub has always made it easy to &#8220;watch&#8221; a project, which means you&#8217;re notified whenever there are any updates. Now the company has added another level of watching, dubbed &#8220;stars,&#8221; to the mix. As GitHub&#8217;s Kyle Neath <a href="https://github.com/blog/1204-notifications">writes</a> on the company blog, &#8220;stars are a new way to keep track of repositories that you find interesting.&#8221;</p>
<p>When you star a project you can keep track of it, but you won&#8217;t be notified of every change. Think of starring a project on GitHub as a more casual way of watching, the equivalent of bookmarking it for later. To make it easier to do that, every repo now has a star button next to the familiar watch button.</p>
<p>The big difference between watching and starring a project comes down to notifications. If you are watching a repository, you will receive notifications for all discussions &#8212; project issues, pull requests, comments on commits and any other comments. If you&#8217;re not watching a repo you&#8217;ll just receive notification for the discussions you participate in.</p>
<p>The other main thing worth noting is that any repositories you were previously watching can now be found on your stars page. If you want to go back to watching them, you&#8217;ll need to change them over yourself. There&#8217;s also a new auto-watch feature; when you&#8217;re given push access to a repository GitHub automatically adds it to your watch list.</p>
<p>GitHub has a few other changes rolling out along with the new stars feature, including <a href="https://github.com/blog/1214-notification-email-improvements">improved notification e-mails</a>. Be sure to check out the GitHub blog for the full <a href="https://github.com/blog/1204-notifications">details on everything</a> that&#8217;s new.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/08/github-changes-make-it-easier-to-track-your-favorite-projects/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Write Better CSS With &#8216;Idiomatic CSS&#8217;</title>
        <link>http://www.webmonkey.com/2012/06/write-better-css-with-idiomatic-css/</link>
        <comments>http://www.webmonkey.com/2012/06/write-better-css-with-idiomatic-css/#comments</comments>
        <pubDate>Mon, 11 Jun 2012 15:49:20 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=57298</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programming]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/06/CSS_sheep-157x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/06/CSS_sheep.jpg" alt="Write Better CSS With &#8216;Idiomatic CSS&#8217;" /></div>Large projects with many programmers contributing can result in tangled code, but style guides like Idiomatic CSS offer a way out of the confusion.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_57299" class="wp-caption alignleft" style="width: 167px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/06/CSS_sheep.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/06/CSS_sheep.jpg" alt="" title="CSS_sheep" width="157" height="192" class="size-full wp-image-57299" /></a><p class="wp-caption-text">Wooly, the CSS Sheep <em>Image: <a href='http://www.w3.org/Style/Woolly/woolly-icon.svg'>W3C</a></em></p></div>If you&#8217;ve ever worked on a large programming project you know all about the joy of trying to read other people&#8217;s code. And of course that&#8217;s how everyone else feels about reading your code. That&#8217;s why formal programming style guides exist &#8212; to help bridge the gap between individual styles. </p>
<p>There is no right or wrong style of writing code, but there are styles that are easier to read and share with other people. Search the web and you&#8217;ll find  formal guides to writing readable JavaScript, Python, Ruby and countless other popular languages, but one language that doesn&#8217;t get as much attention is CSS. </p>
<p>Developer Nicolas Gallagher wants to change that. To do so Gallagher has put together <a href="https://github.com/necolas/idiomatic-css">Idiomatic CSS</a>, a style guide for how to format, organize and craft quality CSS that anyone can work with. Here are the general principles of the project:</p>
<blockquote>
<blockquote>
<p>&#8220;Part of being a good steward to a successful project is realizing that writing code for yourself is a Bad Idea™. If thousands of people are using your code, then write your code for maximum clarity, not your personal preference of how to get clever within the spec.&#8221; &mdash; Idan Gazit</p>
</blockquote>
<ul>
<li>All code in any code-base should look like a single person typed it, no matter how many people contributed.</li>
<li>Strictly enforce the agreed upon style.</li>
<li>If in doubt use existing, common patterns.</li>
</ul>
</blockquote>
<p>Idiomatic CSS follows in the footsteps of Rick Waldron&#8217;s <a href="https://github.com/rwldrn/idiomatic.js">Idiomatic JS</a>, which does the same thing for JavaScript. </p>
<p>If you&#8217;ve made the leap to a CSS preprocessor like <a href="http://sass-lang.com/">SASS</a> or <a href="http://lesscss.org/">LESS</a>, fear not, Idiomatic CSS has you covered as well. Preprocessor syntax varies and Idiomatic CSS offers examples in SCSS, but the more general rule, &#8220;your conventions should be extended to accommodate the particularities of any preprocessor in use,&#8221; apply to others as well.</p>
<p>Wrangling CSS on large projects can be a pain, but if you take the time to create a set of conventions and ensure that everyone sticks to them it becomes a much more manageable task. If you&#8217;ve got experience and insight to share, head on over to the <a href="https://github.com/necolas/idiomatic-css">Idiomatic CSS GitHub page</a> and contribute your knowledge.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/06/write-better-css-with-idiomatic-css/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Learn to Code by Watching Others Write It</title>
        <link>http://www.webmonkey.com/2012/05/learn-to-code-by-watching-others-write-it/</link>
        <comments>http://www.webmonkey.com/2012/05/learn-to-code-by-watching-others-write-it/#comments</comments>
        <pubDate>Thu, 31 May 2012 15:52:09 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=56955</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[tutorial]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/05/stopwatch-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/stopwatch.jpg" alt="Learn to Code by Watching Others Write It" /></div>Learning to code can be difficult, so sometimes it helps to watch someone else do it first. That's exactly what Code Player does -- show you the code as it’s written.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_56972" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/05/stopwatch.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/stopwatch.jpg" alt="" title="stopwatch" width="580" height="305" class="size-full wp-image-56972" /></a><p class="wp-caption-text">Stopwatch in CSS 3, no JavaScript necessary. <em>Image: Screenshot/Webmonkey</em></p></div>Five years ago the hotness in web development was showing what you could create without resorting to Flash. Now it seems the same is true of JavaScript. While we&#8217;ve nothing against JavaScript, the increasingly powerful tools in CSS 3 mean that JavaScript is no longer a necessity for building cool stuff on the web.</p>
<p>The latest JavaScript-free demo we&#8217;ve run across is this <a href="http://thecodeplayer.com/walkthrough/make-a-stopwatch-using-css3-without-images-or-javascript">very cool stopwatch demo</a> made using only CSS 3, no images or JavaScript necessary. Now before you dive into the code and get all <a href="https://twitter.com/KarlVanHoet">Karl Van Hœt</a> on us, yes, there is a script used to handle CSS prefixing, but the actual stopwatch doesn&#8217;t require it to work. </p>
<p>But what caught our eye even more than the JavaScript-free stopwatch demo is the tutorial that accompanies it. The tutorial &#8212; which is one part screencast and one part code dump &#8212; is part of <a href="http://thecodeplayer.com/">Code Player</a>, which helps you learn how to do things by showing you the code as it&#8217;s written. It&#8217;s an interesting tutorial method, one we haven&#8217;t seen before. </p>
<p>Watching code being written isn&#8217;t for everyone, especially beginners who might not be able to easily follow what&#8217;s happening, but it&#8217;s well suited to those that already understand the basics and just want to see how some particular function was written. It also provides an interesting look at how other developers work, which in turn might teach you a new trick or two. </p>
<p>The Code Player offers a variety of playback speeds depending on how fast you want to run through the tutorial, and there&#8217;s a timeline scrubber for pausing and rewinding any bits you miss. Our only complaint is that Code Player forces focus in the browser; when you try to click another tab or do something in the background Code Player steals focus back immediately.</p>
<p>If learning something new by watching someone else type sounds intriguing, head on over to the <a href="http://thecodeplayer.com/">Code Player</a> site. And don&#8217;t worry if the stopwatch demo has no appeal for you, there are plenty of other tutorials to choose from. </p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/05/learn-to-code-by-watching-others-write-it/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Learn to Code With Mozilla&#8217;s &#8216;Thimble&#8217; Editor</title>
        <link>http://www.webmonkey.com/2012/05/learn-to-code-with-mozillas-thimble-editor/</link>
        <comments>http://www.webmonkey.com/2012/05/learn-to-code-with-mozillas-thimble-editor/#comments</comments>
        <pubDate>Tue, 29 May 2012 21:58:12 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=56895</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[mozilla]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/05/thimble-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/thimble.jpg" alt="Learn to Code With Mozilla&#8217;s &#8216;Thimble&#8217; Editor" /></div>Catch a sneak peek of Mozilla Thimble, an easy-to-use online code editor. Just type some HTML in the left panel and you'll instantly see the results in the right panel. Thimble also has plenty of hints, tips and suggestions for those just getting started with the web's lingua franca.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_56896" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/05/thimble.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/thimble.jpg" alt="" title="thimble" width="580" height="324" class="size-full wp-image-56896" /></a><p class="wp-caption-text">Editing Webmonkey.com in Thimble. <em>Image: Screenshot/Webmonkey</em></p></div>
<p>Mozilla Thimble is a new web-based code editor, part of the company&#8217;s <a href="http://www.webmonkey.com/2012/05/mozilla-aims-to-build-a-better-web-with-webmakers-project/">recently unveiled &#8220;Webmakers&#8221; project</a>. Thimble is designed to give novice webmakers an easy-to-use online tool to quickly build and share webpages.</p>
<p>You can check out Thimble over at the new <a href="http://thimbletest.org/en-US/">Mozilla Thimble website</a>. Keep in mind that Mozilla hasn&#8217;t formally launched Thimble; the company is still testing, fixing bugs and iterating the app.</p>
<p>Thimble is slightly different than other online code editors you may have tried, putting the emphasis on teaching HTML to newcomers rather than catering to advanced users. Thimble offers side-by-side code editor and code output panels which help new users see immediate results. Type an <code>&lt;h1&gt;</code> and you&#8217;ll immediately see a headline. The instant feedback is not only helpful for spotting and fixing errors, but encouraging for those just starting out since you can see what you&#8217;ve created right away.</p>
<p>Thimble is very purposefully <em>not</em> aimed at veteran HTML junkies, but for those just learning how to write HTML &#8212; which is the focus of the Webmakers project &#8212; Thimble is one of the friendliest, easiest-to-use code editors we&#8217;ve seen.</p>
<p>Thimble can also load pre-made project templates to help users get started with some content that&#8217;s ready to build on. Currently the featured projects section of the Thimble homepage is still awaiting content, but among the coming projects is a tutorial on editing and creating your own Tumblr theme, as well as others from Mozilla&#8217;s various Webmaker partners.</p>
<p>To help new users get their Thimble-created projects on the web Mozilla has also bundled a publishing function directly into the editor. Once you&#8217;ve got your Thimble page looking the way you&#8217;d like it, just hit the &#8220;Publish&#8221; button and Thimble will output and host your page, offering up a URL to share with friends and another to edit your page if there&#8217;s something you need to change.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/05/learn-to-code-with-mozillas-thimble-editor/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Google Kicks Off Summer of Code 2012</title>
        <link>http://www.webmonkey.com/2012/05/google-kicks-off-summer-of-code-2012/</link>
        <comments>http://www.webmonkey.com/2012/05/google-kicks-off-summer-of-code-2012/#comments</comments>
        <pubDate>Tue, 22 May 2012 14:54:38 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=56746</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Google]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/05/summerofcode-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/summerofcode.jpg" alt="Google Kicks Off Summer of Code 2012" /></div>Google's annual Summer of Code project, an effort to get college students writing open source software during their summer vacations, is underway.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_56748" class="wp-caption alignleft" style="width: 330px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/05/summerofcode.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/summerofcode.jpg" alt="" title="summerofcode" width="320" height="214" class="size-full wp-image-56748" /></a><p class="wp-caption-text">Students: Step into your summer office. <em>Image: <a href='http://www.flickr.com/photos/-arpi/4323800353/'>Lost In The RP</a>/Flickr</em></p></div>Students, start your coding engines. Google&#8217;s annual <a href="http://www.google-melange.com/gsoc/homepage/google/gsoc2012">Summer of Code</a> program, which helps college students write open source software during their summer vacations, starts today. </p>
<p>Past participants have helped improve everything from popular web frameworks to browser add-ons and even operating systems. Summer of Code is also not a half bad way to get yourself on Google&#8217;s radar &#8212; the company looks at the results of the program to help it &#8220;identify potential recruits.&#8221;</p>
<p>Summer of Code has served as a launchpad for quite a few new open source software projects as well as helping to jumpstart work on existing favorites. This year&#8217;s roster includes some 1,208 students who will spend the next 12 weeks writing code for 180 different open source organizations.</p>
<p>With 208 proposed projects, there&#8217;s a pretty good chance that some Summer of Code improvements will be rolled into your favorite open source projects later this year. Among the things we&#8217;ll be keeping an eye on are <a href="http://www.metalinker.org/">Metalink&#8217;s</a> various efforts to <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/metalink">improve the download capabilities in Firefox and Chrome</a>. Eventually Metalink wants to bring error recovery/repair for large downloads to everything from Chrome to wget.</p>
<p>Other promising projects include several efforts to help <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/osm">improve OpenStreetMap</a>, the so-called &#8220;Wikipedia of maps,&#8221; as well as <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/codeforamerica">Code for America&#8217;s various projects</a>, some <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/git">new features for Git</a> and an ambitious plan to <a href="http://www.google-melange.com/gsoc/project/google/gsoc2012/lothiraldan/18002">bring Pylint into the modern world of Python 3</a>.</p>
<p>For more info on this year&#8217;s Summer of Code, head over to Google&#8217;s <a href="http://www.google-melange.com/gsoc/homepage/google/gsoc2012">Summer of Code website</a>, which has details on all the various projects and participants. You can also get updates from the <a href="https://plus.google.com/b/102168248469649733567/">Summer of Code page at Google+</a>.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/05/google-kicks-off-summer-of-code-2012/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    </channel>
</rss>