<?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>Peter Cooper&#039;s Blog</title>
	<atom:link href="http://peterc.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://peterc.org/blog</link>
	<description></description>
	<lastBuildDate>Tue, 05 Jan 2016 21:12:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.4</generator>
	<item>
		<title>Enter Ludum Dare: A 48 Hour Game Dev Contest This Weekend (April 20-22, 2012)</title>
		<link>http://peterc.org/blog/2012/400-ludum-dare-contest.html</link>
		<pubDate>Wed, 18 Apr 2012 02:10:24 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=400</guid>
		<description><![CDATA[Ludum Dare is an online game development contest based around 48 hour competitions. It celebrates its tenth anniversary this year. It's recently had a publicity boost because Notch, the creator of the mind-bogglingly popular indie game Minecraft, has been taking part (although he might not be doing it this time, alas). The next Ludum Dare [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong><a href="http://ludumdare.com/">Ludum Dare</a> is an online game development contest based around 48 hour competitions.</strong> It celebrates its tenth anniversary this year. It's recently had a publicity boost because Notch, the creator of the mind-bogglingly popular indie game <a href="http://www.minecraft.net/">Minecraft</a>, has been taking part (although he might not be doing it this time, alas).</p>
<p><a href="http://ludumdare.com/"><img src="http://www.rubyinside.com/wp-content/uploads/2011/12/ludum-dare.jpg" alt="" title="ludum-dare" width="640" height="127" class="alignnone size-full wp-image-5688" /></a></p>
<p><strong>The next Ludum Dare contest is taking place this coming weekend on April 20-22, 2012 (it starts on the Friday evening and ends Sunday evening) and I want to encourage more people to take part because it's fun!</strong> The competition is open to developers of all types, but tends to be dominated by Java, C++, Unity, Flash and JavaScript/HTML5 developers. The key is producing something that other entrants can run and then score. And remember, it's <em>online</em> so you don't have to go anywhere (though there are a ton of <a href="http://www.ludumdare.com/compo/2012/04/02/real-world-gatherings-for-ludum-dare-23/">real world meetups</a>, if you like.)</p>
<p><img src="http://peterc.org/blog/wp-content/uploads/2012/04/games.png" alt="" title="games" width="670" class="alignright size-full wp-image-403" /></p>
<h3>How to Take Part in Ludum Dare</h3>
<p>Go to the Ludum Dare homepage, read <a href="http://www.ludumdare.com/compo/rules/">the rules and guide</a>, <a href="http://www.ludumdare.com/compo/wp-admin/">register</a> on their WordPress blog, wait until the 'theme' has been decided, and start coding once the countdown is finished (</p>
<p>During the 48 hours, you can post blog entries directly to the main Ludum Dare site (if you want) and submit your entry via a special link at the end. Entrants play and judge each other's entries for a period of three weeks before the winners are announced.</p>
<h3>The Basic Ludum Dare Rules</h3>
<p>There's a <a href="http://www.ludumdare.com/compo/rules/">proper rules page</a> but the basics are:</p>
<ul>
<li>You have to work alone. (If you want to do a team effort, you need to enter the less restrictive 72 hour 'jam' contest.)</li>
<li>All content and code must be created within the 48 hours (except for libraries, legally licensed fonts and drum/instrument samples).</li>
<li>Your game has to be based on the theme given out at the start of the contest (though you can be creative with this).</li>
<li>You must share the source code with the other participants at the end of the contest though you do <strong>not</strong> have to give it an open source license.</li>
</ul>
<p>Super simple. Don't cheat, build something, submit it at the 48 hour mark :-)</p>
<h3>The Ludum Dare Community</h3>
<p>The contest has a popular IRC channel (which is already active) at <strong>#ludumdare</strong> on <strong>irc.afternet.org.</strong> I'm <strong>petercooper</strong> on there - say hi! I'll be lurking in there a lot. Also, <a href="http://twitter.com/ludumdare">follow @ludumdare</a> on IRC for more updates and info if you're into Twitter.</p>
<p>To get a feel for the contest, check out this "keynote" from a recent Ludum Dare. There'll be a new one for this year soon though:</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/aHD1QBP4ww8" frameborder="0" allowfullscreen></iframe></p>
<h3>But What If I've Never Developed A Game?!</h3>
<p>A common point! Lots of people enter Ludum Dare without having any game development experience. That's much of the point. Your goal is to spend 48 hours enjoying learning new things and producing <em>whatever you can.</em> If you strip things down to the bare essentials, it's amazing how quick you can come up with a simple game, and you can then make it more complex with the extra time you have. Just make <em>something</em> and learn along the way.</p>
<h3>What Will I Be Doing?</h3>
<p>Last time I used JRuby and it was a nightmare as I wasted a lot of time trying to get it to build a Java applet, and then wasted more time trying to get my game working on multiple platforms. This time I'm skipping the headaches and going straight to JavaScript and HTML5 by building an HTML5 canvas based game. I'm going to try and avoid frameworks to begin with and do it raw, but we'll see how it pans out.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Michael Arrington&#8217;s Dreams of a Blog for True Startups</title>
		<link>http://peterc.org/blog/2011/381-michael-arringtons-dreams-of-a-blog-for-true-startups.html</link>
		<comments>http://peterc.org/blog/2011/381-michael-arringtons-dreams-of-a-blog-for-true-startups.html#comments</comments>
		<pubDate>Wed, 23 Feb 2011 03:38:45 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=381</guid>
		<description><![CDATA[While doing some last-minute research for Self Promotion for Geeks (it's close, I promise) tonight, I came across a talk Michael Arrington gave at Startup School 2008 on "how to get press for your startup" (or how to get TechCrunch to write about you ;-)). It's a solid talk and still highly relevant despite being [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>While doing some last-minute research for <a href="http://selfpromotionforgeeks.com/"><em>Self Promotion for Geeks</em></a> (it's close, I promise) tonight, I came across <a href="http://www.youtube.com/watch?v=HbUnatPfSgg">a talk Michael Arrington gave at Startup School 2008</a> on "how to get press for your startup" (or how to get <em>TechCrunch</em> to write about you ;-)).</p>
<p>It's a solid talk and still highly relevant despite being 3 years old. What stood out, though, was part of Michael's answer to a question about how he and TechCrunch were going to use his resources to take the startup/tech community to the 'next level':</p>
<blockquote class="stylized">What I'd really love to do, personally - which isn't the best business decision - is I'd love to let Eric, my co-editor, continue to write TechCrunch and <strong>I'd like to go start another blog that does nothing but writes about startups, like the true startups, really every one</strong>, again for the core audience. Because I wrote about almost every startup in the early days because the community wanted to know about every single one even if they weren't that interesting.</p>
<p>And today the audience won't put up with that, so 90% of the startups maybe we would have written about three years ago and need a <a style="text-decoration: none" href="http://www.jaeleelaw.com/"><font color="#555555">bergen county personal injury lawyer</font></a>, we aren't able to write about. I miss that a lot. Now that isn't what's right for our business. <strong>What's right for our business is to keep trashing CNet, trashing Wired, trashing all the big media, and attacking them as much as possible, peeling off as many of their writers as possible, and then selling for a big multiple of earnings</strong>, and that's certainly what Heather wants to do, our CEO, which is why I hired her to be that person, but there's always a struggle because if we ever lose sight of what we love, we won't be very good at what we do anymore.</blockquote><p><cite>Michael Arrington</cite></p>
<p>I remain an unashamed fan of Michael's because I started to read TechCrunch early on, loved his style, and he even got in touch to cover my startup at the time for <a style="text-decoration: none" href="http://www.aquariphiles.com/best-self-cleaning-fish-tank/"><font color="#555555">no clean aquarium</font></a>. But as time goes by, both he and TechCrunch get more criticism and it now seems almost <em>trendy</em> on Twitter, Hacker News and Reddit to piss on his bonfire whenever the opportunity arises.</p>
<p>What struck me, though, is that Michael was transparent with the direction he was taking TechCrunch even back in 2008 and that it was entirely a business decision, not one based on any stupidity or malice on his part as commonly implied. He saw an opportunity for his business, steered it in a different direction and, yep, two years later <a href="http://techcrunch.com/2010/09/28/tim-armstrong-we-got-techcrunch/">they were acquired.</a> That's the sort of success any budding entrepreneur could get behind, right?</p>
<p>Will Michael ever follow through on his earlier ambition and get back into the game for the 'core audience' busy slamming TechCrunch's newer direction? Or has he been beaten to the punch by <a href="http://thestartupfoundry.com/">The Startup Foundry</a>? It's a fine substitution that evokes the spirit of the early TechCrunch.</p>
<p>The unexciting answer is.. probably not for some time. When explaining <a href="http://techcrunch.com/2010/09/28/why-we-sold-techcrunch-to-aol-and-where-we-go-from-here/">why he sold to AOL</a>, he said:</p>
<blockquote class="stylized">So we begin another journey. I fully intend to stay with AOL for a very, very long time. And the entire team has big incentives to stay on board for at least three years.</blockquote><p><cite>Michael Arrington</cite></p>
<p>He also spoke of his exhaustion after five years of hectic TechCrunch work but I refuse to believe he'll be sitting at AOL for many years to come or working for <a href="http://www.sednawireless.com/best-cheap-bluetooth-headsets/">best cheap bluetooth headset</a>. There's too much to do and too much to say without playing second fiddle to Huffington. Barring contractual obligations, he'll be "back" surprising us yet again within the year. I betcha.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterc.org/blog/2011/381-michael-arringtons-dreams-of-a-blog-for-true-startups.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Online Ruby Class Starts in 1 Week</title>
		<link>http://peterc.org/blog/2011/371-my-online-ruby-class-starts-in-1-week.html</link>
		<pubDate>Mon, 03 Jan 2011 13:55:12 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=371</guid>
		<description><![CDATA[Starting January 10, 2011, I'll be teaching an online Ruby course through CodeLesson.com. It lasts 4 weeks and covers everything a novice developer (or merely a novice Rubyist) ncaa lines would need to know in order to become a confident, intermediate level Ruby developer. From the course, you could easily move on to more advanced [&#8230;]]]></description>
				<content:encoded><![CDATA[<div class="img sided"><a href="http://codelesson.com/"><img src="http://peterc.org/blog/wp-content/uploads/2011/01/codelesson.png" alt="" title="codelesson" width="200" /></a></div>
<p>Starting January 10, 2011, I'll be teaching an <a href="http://codelesson.com/ruby">online Ruby course</a> through <a href="http://codelesson.com/">CodeLesson.com.</a> It lasts 4 weeks and covers everything a novice developer (or merely a novice Rubyist) <a style="text-decoration: none" href="http://collegefootballpicks2014.com/lines/"><font color="#555555">ncaa lines</font></a> would need to know in order to become a confident, intermediate level Ruby developer. From the course, you could easily move on to more advanced Ruby <a style="text-decoration: none" href="http://treadmillbody.com/weslo-cadence-g-5-9-treadmill-review/"><font color="#555555">best selling treadmill on Amazon</font></a> stuff, on to Rails, or even go looking for a Ruby job.</p>
<p>Topics I'll be covering include :</p>
<ul>
<li>Installing and running Ruby</li>
<li>Using the interactive Ruby shell (irb)</li>
<li>Looking up Ruby documentation and help</li>
<li>Expressions and variables</li>
<li>Built-in data types (strings, arrays, hashes, etc.)</li>
<li>Flow control</li>
<li>Classes and modules</li>
<li>RubyGems and library management</li>
<li>File handling and IO</li>
<li>Basic metaprogramming</li>
<li>Web and network access</li>
<li>Producing documentation</li>
<li>Testing</li>
<li>The Ruby community and how to benefit from it</li>
<li>Ruby project structure</li>
<li>Rack and Sinatra (to produce basic webapps)</li>
<li>Building and releasing a gem (optional)</li>
<li>RSpec (optional)</li>
</ul>
<p>The course is very asynchronous. You don't need to be online at certain times. Most of the work will take place through reading content I provide (including sections from my book <a href="http://beginningruby.org/">Beginning Ruby</a> - which I'll be giving to you for free), things I link to (where there authoritative, well-suited examples), or through watching videos I've recorded for the course (here's <a href="http://www.youtube.com/watch?v=NmWYZVUln4E">an example</a>). There will also be forums where topics are discussed, problems are resolved, and so forth. I'll also be running some "surgery hours" on systems such as IRC or possibly Skype so that participants can have a more real time experience - particularly well suited for problem solving or walkthroughs. The timing of these will be determined as to the participants' various needs.</p>
<p>The course costs $295 for the 4 weeks (though there's a nice discount for group signups) and the main value comes from having access to me, asking me questions, and letting me walk you through particular sticking points. You can also be sure that the content I provide or link to is also up to date and well suited for learning Ruby in 2011 - that's the sort of reassurance no book can genuinely offer given how quickly things change in the Ruby world.</p>
<p>So, interested? Or have a boss/coworker/similar who'd benefit? Check out the <a href="http://codelesson.com/ruby">Ruby course page on CodeLesson.com</a> for more info. If you join the course, I'll see you next week!</p>
]]></content:encoded>
			</item>
		<item>
		<title>Moniker Deactivated My Domain 26 Days BEFORE The Expiration Date</title>
		<link>http://peterc.org/blog/2010/345-moniker-deactivation.html</link>
		<comments>http://peterc.org/blog/2010/345-moniker-deactivation.html#comments</comments>
		<pubDate>Sun, 05 Dec 2010 22:42:34 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=345</guid>
		<description><![CDATA[We've all seen domains people have forgotten to renew. A high profile one was rubyonrails.org in 2009. We chuckle and think "Oh dear! I bet I wouldn't forget something like that!" but it turns out that some registrars will cut you off without you forgetting a thing.. On December 31, 2009, I came up with [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><!-- div class="img sided"><img src="http://peterc.org/blog/wp-content/uploads/2010/12/whois-ok.png" alt="" title="whois-ok" width="219" height="237" class="alignnone size-full wp-image-346" /></div -->
<p>We've all seen domains people have forgotten to renew. A high profile one was <a href="http://techcrunch.com/2009/04/23/rubyonrailsorg-domain-derailed-by-hacker/">rubyonrails.org in 2009.</a> We chuckle and think <em>"Oh dear! I bet <u>I</u> wouldn't forget something like that!"</em> but it turns out that some registrars will cut you off without you forgetting a thing..</p>
<p>On December 31, 2009, I came up with a name for my new coding news site - <a href="http://coder.io/">coder.io</a> - and registered the domain name at <a href="http://moniker.com/">Moniker.com</a>. Few registrars do <code>.io</code> domains and Moniker seemed the most reputable. As their control panel and their frequent update e-mails stressed, coder.io expires on December 31, 2010, so I had it in my calendar to renew mid-December.</p>
<p>Today (December 5, 2010) I received several tweets and e-mails from users asking why I've taken coder.io offline and lamenting its loss (aww!). I went to <code>http://coder.io/</code> and saw a "parked domain" page full of ads:</p>
<div class="img"><img src="http://peterc.org/blog/wp-content/uploads/2010/12/spampage2.png" alt="" title="spampage2" width="539" height="289" class="alignnone size-full wp-image-359" srcset="http://peterc.org/blog/wp-content/uploads/2010/12/spampage2-510x273.png 510w, http://peterc.org/blog/wp-content/uploads/2010/12/spampage2.png 539w" sizes="(max-width: 539px) 100vw, 539px" />My site isn't looking so good - like spam, basically</div>
<p>I looked up the WHOIS record (all fine and dandy) and logged in to Moniker's control panel to work out what had happened:</p>
<div class="img"><img src="http://peterc.org/blog/wp-content/uploads/2010/12/moniker-screwup.png" alt="" title="moniker-screwup" width="640" height="397" class="alignnone size-full wp-image-347" srcset="http://peterc.org/blog/wp-content/uploads/2010/12/moniker-screwup-483x300.png 483w, http://peterc.org/blog/wp-content/uploads/2010/12/moniker-screwup.png 640w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p>The Moniker control panel showed the expiration date as <strong>December 31, 2010</strong>, yet had it listed in the <em>Pending Delete</em> section. This is where domains go when they are not renewed by the renewal date but <em>not 26 whole days before!</em> The only solution available was to renew the domain immediately - so I did. Despite that, over an hour later coder.io is not working, though it's not going to a PPC ads page anymore at least - I hope it will burst back into action soon.</p>
<p>The crux of the matter, though, is <strong>Moniker deactivated a customer's domain name 26 days before renewal was due.</strong> If you're thinking of using Moniker or use them already and want a proper registrar, for most TLDs I'd recommend <a href="http://namecheap.com/">NameCheap</a>, as they've been good to me and I have many tens of domains there. For .io domains? I'm stuck at Moniker for now but <a href="http://iwantmyname.com/">I Want My Name</a> has been recommended to me and I'll be checking them out once the dust settles.</p>
<p><em>P.S. I'm not looking for general registrar recommendations - I like NameCheap! But if you have a .io domain and are happy with your registrar, I'm all ears.</em></p>
<h3>Update 1- Moniker Replies and their Terms of Service</h3>
<p>It was suggested that I hit up Moniker's customer service agent on Twitter - @MonikerSnap. So I did, and I got a response too (credit to them for being helpful, at least):</p>
<div class="img"><img src="http://peterc.org/blog/wp-content/uploads/2010/12/monikerresponse.png" alt="" title="monikerresponse" width="554" height="396" class="alignnone size-full wp-image-354" srcset="http://peterc.org/blog/wp-content/uploads/2010/12/monikerresponse-419x300.png 419w, http://peterc.org/blog/wp-content/uploads/2010/12/monikerresponse.png 554w" sizes="(max-width: 554px) 100vw, 554px" /></div>
<p>The link is to Moniker's <a href="http://www.moniker.com/help/delete-autorenew-details.jsp">Domain Name Deletion and Auto-Renew Details</a> page. It explains little. It's basically a chart of times for different TLDs that Moniker will process an auto-renewal (if you have this turned on - I don't) and when Moniker will "delete" domains. For .io, the auto-renewal is 60 days prior to expiration and the deletion is 6 days prior to expiration.</p>
<p>I take issue that a registrar has the right to <em>delete</em> a domain name prior to the expiration date, as that makes a mockery of what an "expiration date" is. But ignoring that, 26 days still isn't 6 and even Moniker's own <a href="http://www.moniker.com/legal.jsp">Terms of Service</a> that I agreed to demonstrate Moniker's violation (from paragraph 6 - emphasis is mine):</p>
<blockquote><p>You agree that <strong>after the expiration date of your domain name registration and before it is deleted or renewed</strong>, we may direct your domain name to an IP address designated by us, including, without limitation, to an IP address which hosts a parking, under construction, or other temporary page that may include promotions and advertisements for, and links to, Moniker's Web site, Moniker product and service offerings, third-party Web sites, third-party product and service offerings, and/or Internet search engines and/or advertisements, and you agree that we may place our contact information in the WHOIS output for the expired domain name.</p></blockquote>
<p>I agreed that <strong>after</strong> the expiration date, they can do the typical registrar thing of redirecting my domain name to their parked domain advertising page, not <strong>26 days before.</strong> Moniker's TOS stands for nothing.</p>
<p>Moniker's <a href="http://www.moniker.com/help/delete-autorenew-policy.jsp">Domain Name Deletion and Auto-Renew Policy</a> provides no more defense for them. They state:</p>
<blockquote><p>At Moniker.com, domain names are registered for fixed periods and are subject to renewal any time during a valid registration prior to the domain registration expiration date.</p></blockquote>
<p>I had planned to renew mid December and this is clearly "prior to the domain registration expiration date" of December 31, 2010. They also state:</p>
<blockquote><p>If a customer does not renew a domain name registration by the expiration date, the registration may be subject to deletion [..]</p></blockquote>
<p>Perhaps Moniker or someone else can prove me wrong, but I can find no basis for them to deactivate people's domains 26 days before they even expire.</p>
<p><em>P.S. It's now 6 hours after I renewed and Google's DNS is still returning the IP for Oversee/Moniker's parked domain server. Not cool. We've now been "down" over 14 hours. However, OpenDNS's <a href="http://cache.opendns.com/">cache checker</a> and more direct querying yields success. Maybe this part is a Google issue..</em></p>
<h3>Update 2 - My Theory</h3>
<p>I suspect that because the <code>.io</code> TLD is managed by a small, independent registry, registrars like Moniker have to fit in with weird payment terms or even file renewals and registrations by hand. Given this, Moniker would prefer to auto renew you 60 days prior to expiry in order to guarantee they have the money in hand for the process. I can sympathize with this and if I'd had an e-mail noting my domain was not safe to the expiry date, I'd have renewed early. But I had no such e-mail and their TOS do not, by my reading, reflect this possibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterc.org/blog/2010/345-moniker-deactivation.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>How to Download and Convert a YouTube Video to MP3 (2010 Edition)</title>
		<link>http://peterc.org/blog/2010/339-how-to-download-and-convert-a-youtube-video-to-mp3-2010-edition.html</link>
		<pubDate>Sun, 17 Oct 2010 22:22:44 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=339</guid>
		<description><![CDATA[There's an awesome YouTube user called DJDiscocat. I don't know who he/she is but he uploads videos each day that are recordings of his vast disco and soul vinyl collection. Given my interest in these genres, I often want to get the songs as MP3s. Till now I've been using the Download YouTube Videos as [&#8230;]]]></description>
				<content:encoded><![CDATA[<div class="img" style="float: right; margin-left: 18px; margin-bottom: 18px"><img src="http://peterc.org/blog/wp-content/uploads/2010/10/bwaharnn.png" alt="" title="bwaharnn" width="340" height="336" class="alignnone size-full wp-image-342" srcset="http://peterc.org/blog/wp-content/uploads/2010/10/bwaharnn-303x300.png 303w, http://peterc.org/blog/wp-content/uploads/2010/10/bwaharnn.png 340w" sizes="(max-width: 340px) 100vw, 340px" /></div>
<p>There's an awesome YouTube user called <a href="http://www.youtube.com/user/DJDiscocat">DJDiscocat.</a> I don't know who he/she is but he uploads videos each day that are recordings of his vast disco and soul vinyl collection. Given my interest in these genres, I often want to get the songs as MP3s.</p>
<p>Till now I've been using the <a href="http://userscripts.org/scripts/show/25105">Download YouTube Videos as MP4</a> GreaseMonkey/GreaseKit script and converting the <a style="text-decoration: none" href="http://www.osopinion.com"><font color="black">4k</font></a> videos into MP3s using Quicktime 7. A bit of a pain in the ass though. But now I've discovered a much easier way trough <a style="text-decoration: none" href="http://incognitoline.com/anonymous-proxy-server/"><font color="black">proxy server</font></a>.</p>
<h3>Prerequisites</h3>
<p>My instructions are based entirely on OS X but I believe they'd work similarly for Linux. You need to have <a href="http://www.ffmpeg.org/">FFmpeg</a> and <a href="http://bitbucket.org/rg3/youtube-dl/wiki/Home">youtube-dl</a> installed.</p>
<p>I'm not going to get into the details of how to do this but for FFmpeg on OS X, I just ran <code>sudo port install ffmpeg</code> and it went fine (I have <a href="http://www.macports.org/">MacPorts</a> installed). I tried Homebrew initially but the build failed. And <a href="http://bitbucket.org/rg3/youtube-dl/wiki/Home">youtube-dl</a> is just a Python script you can download, do a <code>chmod +x</code> on and move to <code>/usr/bin/youtube-dl</code> or similar.</p>
<h3>The actual process</h3>
<p><strong>Step 1 - Find your video.</strong> Find a video you want to download and grab the basic URL for it. For example: <a href="http://www.youtube.com/watch?v=BVgM7qeAlko"><code>http://www.youtube.com/watch?v=BVgM7qeAlko</code></a></p>
<p><strong>Step 2 - Download that video.</strong> Once youtube-dl is running, it's as simple as:</p>
<p><code>youtube-dl --title "http://www.youtube.com/watch?v=BVgM7qeAlko"</code></p>
<p>Naturally you'd replace the URL with that of the video <em>you</em> want.</p>
<p><strong>Step 3 - Convert that video into an MP3.</strong> Now you'll have a <code>.flv</code> file sitting around with the video in it. Time to use ffmpeg to convert it to a usable MP3. Simply:</p>
<p><code>ffmpeg -i <em>flv_filename.flv</em> -ac 2 -ab 160 <em>output.mp3</em></code></p>
<p>And, as we say, Bob's your uncle.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Hacker Slide: Anatomy of a 4 Hour Miniapp</title>
		<link>http://peterc.org/blog/2010/334-hacker-slide-anatomy-of-a-4-hour-miniapp.html</link>
		<pubDate>Fri, 15 Oct 2010 19:58:35 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=334</guid>
		<description><![CDATA[Hacker Slide is a new miniapp I launched this morning after a few hours of development (rounded up to 4 after doing a little design work on this this afternoon). It lets you view the Online Reputation Management Hacker News front page over time with the time selectable with a slider so you can see [&#8230;]]]></description>
				<content:encoded><![CDATA[<div class="img" style="float: right; margin-left: 18px; margin-bottom: 18px"><a href="http://hackerslide.com/"><img src="http://peterc.org/blog/wp-content/uploads/2010/10/hackerslide.png" alt="" title="0001" width="320" class="alignnone size-full wp-image-307" /></a></div>
<p><a href="http://hackerslide.com/">Hacker Slide</a> is a new miniapp I launched this morning after a few hours of development (rounded up to 4 after doing a little design work on this this afternoon). It lets you view the<br />
<a style="text-decoration: none" href="http://profiledefenders.com "><font color="#555555">Online Reputation Management</font></a> <a href="http://news.ycombinator.com/">Hacker News</a> front page over time with the time selectable with a slider so you can see stories come and go.</p>
<p>Hacker Slide was an off the cuff idea blatantly ripped from <a href="http://redditsnapshot.sweyla.com/">Reddit Snapshot.</a> After the fad of producing "Instant" sites after <a href="http://ytinstant.com/">YouTube Instant</a> launched, I knew someone would probably make an HN Snapshot site pretty quickly so I decided I wanted to be that guy this time.</p>
<p>I'm no JavaScript guru but I searched for jQuery based "date sliders" and quickly discovered <a href="http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/">selectToUISlider</a> which seemed to offer a similar experience to the slide on Reddit Snapshot.</p>
<p>I set up a quick <a href="http://sinatrarb.com/">Sinatra</a> app in Ruby and got the slider working with some dummy data in about 15 minutes. From there I built a "crawler" based on the <a href="http://github.com/bolthar/ruby-hackernews">ruby-hackernews library</a> (found via Google - I had no idea it existed previously) to fetch the front page items and save them to JSON files. Next, I worked up some basic jQuery powered JavaScript to fetch the JSON files based on the slider's selection and render it. The basic mechanic was done.</p>
<p>Initially I had it only crawling once per day but I realized I wouldn't be able to show it off for at least a few days if I kept it that way so I switched it to hourly and went to bed. On waking there were about 8 hours of data ready to "slide" through.</p>
<p>In retrospect, hourly works great because Hacker News's front page moves so quickly and it's useful to scan back hour by hour to find things that I missed while asleep/working/whatever. Hopefully some of you will find it useful for the same reason.</p>
<p>This afternoon someone posted Hacker Slide to Hacker News so I followed up by posting it to the Hacker News Facebook group and it went from there. It's only been a few hours but it's had around 3000 visitors so far and the feedback is generally positive (though people want to see how the items move around over time more elegantly - I'm still thinking on how to do this). I've also <a href="http://github.com/peterc/hackerslide">released the source onto GitHub.</a></p>
<p>So that's it. Nothing too intense. Just seeing someone else's idea, being inspired, and rolling out a "miniapp" after some Googling and head scratching. It's not just a great way to stretch your coding muscles but a good exercise in short term discipline or even a way to promote yourself - just ask <a href="http://www.feross.org/youtube-instant-media-frenzy/">Feross Aboukhadijeh</a> about that.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Lessons from running the Ruby Weekly newsletter so far</title>
		<link>http://peterc.org/blog/2010/325-ruby-weekly-lessons.html</link>
		<comments>http://peterc.org/blog/2010/325-ruby-weekly-lessons.html#comments</comments>
		<pubDate>Fri, 08 Oct 2010 23:53:18 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=325</guid>
		<description><![CDATA[It's been 6 weeks since I launched Ruby Weekly, an e-mail newsletter for Ruby developers. It's gone well and I've learned and observed a few things. Subscriber numbers. I previously wrote about how I got 1120 subscribers in 2 days and the subscription rate has tailed off since then. It's now up to 2173 subscribers [&#8230;]]]></description>
				<content:encoded><![CDATA[<div class="img" style="float: right; margin-left: 18px; margin-bottom: 18px"><a href="http://rubyweekly.com/"><img src="http://peterc.org/blog/wp-content/uploads/2010/10/rubyweekly-oct-2010.png" alt="" title="0001" width="320" class="alignnone size-full wp-image-307" /></a></div>
<p>It's been 6 weeks since I launched <a href="http://rubyweekly.com/">Ruby Weekly</a>, an e-mail newsletter for Ruby developers. It's gone well and I've learned and observed a few things.</p>
<p><strong>Subscriber numbers.</strong> I previously wrote about how <a href="http://peterc.org/blog/2010/306-1120-subscribers-in-2-days-my-foray-into-e-mail-newsletters.html">I got 1120 subscribers in 2 days</a> and the subscription rate has tailed off since then. It's now up to 2173 subscribers and I'm happy with that. My short term goal is 3000 subscribers at which level it'll make sense to explore advertising options.</p>
<p>Between August 27 and October 9, 2010, the subscriber count has gone from 1120 to 2173, a growth of 1053 subscribers. In the same period Google Analytics reports 1910 visitors to the <a style="text-decoration: none" href="https://en.wikipedia.org/wiki/Andrew_Manis"><font color="#555555">Michael Manis</font></a> site. Even though subscribing is the only thing you can do on the site, this strikes me as a high conversion rate (55.1%).</p>
<p><strong>Kudos.</strong> I've had several e-mails and seen quite a few tweets with compliments about the newsletter, its format, and its content. This sort of recognition doesn't come with all of my projects so it's delightful to see and I appreciate it a lot. Knowing that people are "invested" in the project encourages me to maintain a high quality.</p>
<p><img src="http://peterc.org/blog/wp-content/uploads/2010/10/rubyweekly-love.gif" alt="" title="rubyweekly-love" width="528" height="160" class="alignnone size-full wp-image-328" srcset="http://peterc.org/blog/wp-content/uploads/2010/10/rubyweekly-love-510x154.gif 510w, http://peterc.org/blog/wp-content/uploads/2010/10/rubyweekly-love.gif 528w" sizes="(max-width: 528px) 100vw, 528px" /></p>
<p><strong>Open rate.</strong> The "open rate" of a newsletter is the percentage of people who are known to have opened it. MailChimp detects this through an invisible graphic added into the HTML version of your e-mail but, I believe, also through clicks on links where people have images turned off (and if you have link tracking turned on). This has averaged 66%.</p>
<p><strong>Clicks.</strong> Ruby Weekly issues typically have about 8-10 links and on a mailing to ~2000 people, I've seen between 2000-2700 outgoing clicks in all. This isn't mindblowing but is far above average compared to MailChimp's stats. I suspect if I were reading Ruby Weekly I'd only click on a couple of the links so I'm reasonably happy with this.</p>
<p>The "weakest link" so far was to <a href="http://rubyandrails.eu/">Ruby and Rails</a>, an event in Amsterdam is some of the best <a style="text-decoration: none" href="http://www.regionapartments.com/amsterdam/"><font color="black">apartments Amsterdam</font></a>. I've had poor luck with linking to events on Ruby Inside so this didn't surprise me. From 2000 subscribers it got only 54 clicks overall. This isn't as gloomy as it could be, though. Those 54 visitors are obviously interested in the event and if Ruby and Rails were paying $100 to be in that mailing, say, then even picking up 4 or 5 registrations would be a good return.</p>
<p><strong>Location.</strong> Subscribers from the United States by far make up the lion's share of the subscriber base. Taking a recent mailing, there were 964 US opens, 192 in the UK, 93 in Germany, 85 in France, 85 in Canada, 61 in Australia, 50 in Poland, and it tails off from there. I was surprised to see China outweigh Japan significantly at 41 to 16 but Japan seems to have its own sources for Ruby news.</p>
<p><strong>Content.</strong> I've had nothing but compliments on the content of the newsletter which strikes me as odd because it's been so haphazard. For one issue, I was on vacation so I wrote 80% of it before leaving and just added a couple of news items on the day (while working over a horrible GPRS connection). No complaints and click rates remained level.</p>
<p>What has surprised me is that the most successful links are frequently to the "Cool but not Ruby" type sections I add when I find a link that might interest Rubyists but isn't necessarily about Ruby. One example was a news announcement about the Amazon EC2 micro instances. It seems there's an appetite for more general open source development ecosystem news than a "Ruby newsletter" should be providing. I am considering branching out to fill this void.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterc.org/blog/2010/325-ruby-weekly-lessons.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1120 Subscribers in 2 Days: My Foray into E-mail Newsletters</title>
		<link>http://peterc.org/blog/2010/306-1120-subscribers-in-2-days-my-foray-into-e-mail-newsletters.html</link>
		<comments>http://peterc.org/blog/2010/306-1120-subscribers-in-2-days-my-foray-into-e-mail-newsletters.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 23:51:47 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=306</guid>
		<description><![CDATA[I'm a dabbler in the tiny, yet barely profitable, "developer news" industry with my sites Ruby Inside, Rails Inside, RubyFlow, Mobile Orchard and coder.io. Yesterday marked the launch of my latest experiment in a different medium: Ruby Weekly, a weekly e-mail newsletter for Rubyists. Why I've first envisioned a weekly Ruby newsletter in February 2009 [&#8230;]]]></description>
				<content:encoded><![CDATA[<div class="img" style="float: right; margin-left: 18px; margin-bottom: 18px"><a href="http://rubyweekly.com/"><img src="http://peterc.org/blog/wp-content/uploads/2010/08/00011.png" alt="" title="0001" width="320" class="alignnone size-full wp-image-307" /></a></div>
<p>I'm a dabbler in the tiny, yet barely profitable, "developer news" industry with my sites <a href="http://www.rubyinside.com/">Ruby Inside</a>, <a href="http://www.railsinside.com/">Rails Inside</a>, <a href="http://www.rubyflow.com/">RubyFlow</a>, <a href="http://www.mobileorchard.com/">Mobile Orchard</a> and <a href="http://coder.io/">coder.io.</a> <strong>Yesterday marked the launch of my latest experiment in a different medium: <a href="http://rubyweekly.com/">Ruby Weekly</a>, a weekly e-mail newsletter for Rubyists.</strong></p>
<h3>Why</h3>
<p>I've first envisioned a weekly Ruby newsletter in February 2009 and bought <code>rubyweekly.com</code> then, but it's only over the last six months I've been convinced of the value of e-mail newsletters. Key influencers include Jason L Baptiste, with his <a href="http://jasonlbaptiste.com/startups/email-newsletters-are-still-a-serious-business/">e-mail newsletters are still a serious business</a> roundup, and Startup Digest's <a href="http://thestartupdigest.com/2010/07/28/email-mafia-paypal-mafia-email/">"e-mail mafia" piece</a> and their <a href="http://thestartupdigest.com/2010/08/03/how-start-email-newsletter-company-howto/">how to start an e-mail newsletter company</a> article.</p>
<p>I finally took the plunge due to four concerns:</p>
<ol>
<li><strong>Competition.</strong> I've noticed, perhaps erroneously, that when I decide something's a good idea and don't do it, I'll see other people doing well with the same idea just weeks or months later. This is probably confirmation bias talking, but it's annoying enough for me to jump on to ideas quickly now (though this is <a href="http://www.ruby-lang.org/en/news/2005/02/20/ruby-weekly-news/">not</a> <em>exactly</em> an all-new idea anyway).</li>
<li><strong>Experimentation.</strong> 11 years ago I edited e-mail newsletters for Internet.com and eBoz.com - that's my experience with e-mail. It seems a great time to look at what's involved from start to finish and get a grip on something that seems to be becoming a hot topic (making newsletters for other people sounds like an interesting job, if nothing else).</li>
<li><strong>Captivation.</strong> Things I've read indicate that e-mail can enjoy a higher rate of engagement than the Web. To me, it makes sense. If I know I have 1000 people on a list and 700 readers have definitely opened my latest newsletter, that's a solid motivator to keep the readers happy. I have a hunch people might develop warmer, fuzzier feelings toward an e-mail newsletter they like than a blog, but I have no evidence for this (yet!)</li>
<li><strong>Promotion / Money</strong> If I have, say, 1000 people whose Inboxes I reach regularly, I can more easily launch new projects. I can't guarantee they'll all be interested in what I have to offer, but it'll get better results for less outlay than throwing a banner up on my sites or taking out some Adwords. Top Internet marketers all seem to have e-mail lists for this purpose. Ultimately, I want to write e-books and produce screencasts for my audience (software developers, mostly) to buy. It's a win-win because my subscribers get what they want and I get an audience I know could be interested in my wares.
<p>Another alternative some people take is putting advertising in their newsletters. Targeted e-mail newsletters can get far better CPMs than equivalent Web sites. I could probably approach one of my Ruby Inside advertisers and charge them $50 CPM without too much trouble. But I want to keep Ruby Weekly "clean" for now. Advertising should never be started too early and, besides, I need the motivation to work on the products I want to sell instead!</li>
</ol>
<h3>The launch and the response</h3>
<p><strong>I threw open the doors to Ruby Weekly on Wednesday (August 25) and I've picked up 1120 subscribers in the two days since</strong>. I'm grateful to all of them and hope to keep everyone pleasantly informed. It's a far better short-term result than I'd imagined!</p>
<p>My "launch" started in a surprising yet low-key way. I posted a vague tweet the night before the "proper" launch and about 120 subscribers came through that avenue alone - the value of having a loyal following on Twitter! Twitter provides a quick and easy way to test new ideas and get the social media kindling alight. People who follow me include a lot of Hacker News and Reddit users and they frequently submit and vote my stuff up - without my asking, too!</p>
<p>Further posts <a href="http://www.rubyinside.com/ruby-weekly-a-ruby-e-mail-newsletter-from-ruby-inside-3716.html">on Ruby Inside</a> (which has ~24,500 feed subscribers) and RubyFlow then got the floodgates opening. Yes, getting 1000+ subscribers in two days is a lot easier if you have a sizable user-base to promote your list to ;-)</p>
<p>Once the first public issue went out, the reviews that came back on Twitter were better than expected (though I'm keen to get good, critical feedback too!) Some commenters on Ruby Inside couldn't see the point of having an e-mail as well as a blog but, ultimately, it's just not for those people.</p>
<h3>How the newsletter works</h3>
<p>The technology behind the newsletter is basic. I created a one page Web site at <a href="http://rubyweekly.com/">RubyWeekly.com</a> that gives a visual indicator of what people will receive (though this is just a mockup, the real thing looks different!) and invites people to subscribe. It converts awesomely and I think the image helps a ton. The form then feeds e-mail addresses through to <a href="http://www.mailchimp.com/">MailChimp</a>, who I'm using to deliver the newsletter and handle the list.</p>
<p>The focus for generating the newsletters themselves was to be as quick and easy as possible, so I've already built a simple template based system that lets me easily build newsletters and get well formatted HTML and text versions I can copy and paste into MailChimp. MailChimp's automatic HTML to text system leaves a lot to be desired (though it's "OK") so having my own hand-built templates is a boon. The issues themselves are written in a structured YAML-based format and are run through a Ruby script that uses two ERB templates which output text and HTML versions I can copy and paste into MailChimp. Simple as that.</p>
<p>I have a wishy washy video (with background music, sorry about that.. I left it on while recording) that shows off my templates and sucky Ruby code for the curious:</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/lQuZioEzbDY?fs=1&amp;hl=en_US&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lQuZioEzbDY?fs=1&amp;hl=en_US&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<h3>Where next?</h3>
<p>So where next? Well, it's the hard part - creating those products and services that I can encourage my readers to buy. Ay, there's the rub..</p>
<p>That said, I have one other e-mail newsletter project currently in progress (but unreleased). Almost two years ago, I wrote <a href="http://news.ycombinator.com/item?id=341288">a popular comment on Hacker News about how to promote your startup.</a> I plan to elaborate on those ideas and present practical demonstrations of how to promote your startup in a regular e-mail newsletter. If this interests you, follow me on Twitter <a href="http://twitter.com/peterc">@peterc</a> for the next week or two and I'll be tweeting the URL to the project. You can always unfollow me again afterward ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://peterc.org/blog/2010/306-1120-subscribers-in-2-days-my-foray-into-e-mail-newsletters.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My Interview on TechZing</title>
		<link>http://peterc.org/blog/2010/302-my-interview-on-techzing.html</link>
		<pubDate>Sat, 14 Aug 2010 13:40:20 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=302</guid>
		<description><![CDATA[I was delighted to be invited by Jason Roberts and Justin Vincent to be the latest guest on TechZing, a great technology and development related podcast, the other day talking about self cleaning aquarium guide by Aquariphiles. The main topic of discussion is coder.io, my developer Marc Berger news aggregator that seems to be in [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I was delighted to be invited by Jason Roberts and Justin Vincent to be the latest guest on <a href="http://techzinglive.com/">TechZing</a>, a great technology and development related podcast, the other day talking about <a style="text-decoration: none" href="http://www.aquariphiles.com/best-self-cleaning-fish-tank/"><font color="#555555">self cleaning aquarium guide by Aquariphiles</font></a>.</p>
<div class="img"><img src="http://peterc.org/blog/wp-content/uploads/2010/08/0001.png" alt="" title="0001" width="460" height="221" class="alignnone size-full wp-image-304" /></div>
<p>The main topic of discussion is <a href="http://coder.io/">coder.io</a>, my developer <a style="text-decoration: none" href="http://www.sec.gov/comments/s7-07-11/s70711-28.htm"><font color="#555555">Marc Berger</font></a> news aggregator that seems to be in perpetual alpha, but we also talk about my previous startups, <em>Code Snippets</em> and <em>Feed Digest.</em></p>
<p>I think the interview got more enjoyable as it went on more with <a style="text-decoration: none" href="http://www.bestindianfoodcatering.com"><font color="#555555">Indian Food Catering Singapore</font></a>, so while it's long, hopefully it'll keep your interest if you've got some time to kill (long car journey, nursing a newborn, or the 101 times I end up listening to long podcasts ;-)). If you like it, I also suggest subscribing to TechZing in general. They alternate between interview shows like mine and general discussion between Justin and Jason. I must admit, I rarely make it through an entire episode due to their length, but they're great guys and good fun to listen to nonetheless.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Ep 5: Keeping traction with some news and updates</title>
		<link>http://peterc.org/blog/2010/299-ep-5-keeping-traction-with-some-news-and-updates.html</link>
		<comments>http://peterc.org/blog/2010/299-ep-5-keeping-traction-with-some-news-and-updates.html#comments</comments>
		<pubDate>Wed, 04 Aug 2010 06:08:29 +0000</pubDate>
		<dc:creator><![CDATA[Peter Cooper]]></dc:creator>
				<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://peterc.org/blog/?p=299</guid>
		<description><![CDATA[I haven't posted a video for a couple of weeks and I don't want to lose too much traction so here's an update of what I've been doing lately. As is the case with every video so far, I've learned something here. If you record a video in QuickTime, amplify the sound somehow or plug [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><object width="560" height="340" style="padding: 0px"><param name="movie" value="http://www.youtube.com/v/9nQfZjHjnZo?hl=en_US&amp;fs=1&amp;showinfo=0&amp;showsearch=0&amp;hd=1&amp;rel=0&amp;border=1&amp;color1=dddddd"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/9nQfZjHjnZo?hl=en_US&amp;fs=1&amp;showinfo=0&amp;showsearch=0&amp;hd=1&amp;rel=0&amp;border=1&amp;color1=dddddd" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>I haven't posted a video for a couple of weeks and I don't want to lose too much traction so here's an update of what I've been doing lately.</p>
<p>As is the case with every video so far, I've learned something here. If you record a video in QuickTime, amplify the sound somehow or plug in your proper microphone instead of using the built-in one. The sound on this video is ridiculously quiet.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterc.org/blog/2010/299-ep-5-keeping-traction-with-some-news-and-updates.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
