<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jeff Couturier</title>
	
	<link>http://jeffcouturier.com</link>
	<description>Graphic Designer, Web Developer, Cartoonist</description>
	<lastBuildDate>Fri, 05 Apr 2013 02:12:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JeffCouturier" /><feedburner:info uri="jeffcouturier" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Goodbye Roger Ebert</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/5K91DjcH9h8/</link>
		<comments>http://jeffcouturier.com/2013/04/goodbye-roger-ebert/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 02:11:41 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Micropost]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[Roger Ebert]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=2031</guid>
		<description><![CDATA[“‘Kindness’ covers all of my political beliefs, no need to spell them out. I believe that if, at the end, according to our abilities, we have done something to make others a little happier, and something to make ourselves a little happier, that is about the best we can do. To make others less happy [...]]]></description>
				<content:encoded><![CDATA[<p>“‘Kindness’ covers all of my political beliefs, no need to spell them out. I believe that if, at the end, according to our abilities, we have done something to make others a little happier, and something to make ourselves a little happier, that is about the best we can do. To make others less happy is a crime. To make ourselves unhapy is where all crime starts. We must try to contribute joy to the world. That is true no matter what our problems, our health, our circumstances. We must try. I didn’t always know this and am happy I lived long enough to find it out.” <em>- Roger Ebert</em></p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/5K91DjcH9h8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/04/goodbye-roger-ebert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/04/goodbye-roger-ebert/</feedburner:origLink></item>
		<item>
		<title>Cobra Commander</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/eLMQBb8Hu6I/</link>
		<comments>http://jeffcouturier.com/2013/03/cobra-commander/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 02:29:37 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Cobra]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[explosion]]></category>
		<category><![CDATA[GI Joe]]></category>
		<category><![CDATA[minigroup]]></category>
		<category><![CDATA[sketch]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=2025</guid>
		<description><![CDATA[This week&#8217;s sketch jam topic from my comic artists minigroup was G.I. Joe, so I drew Cobra Commander. I couldn&#8217;t decide between the hooded and helmeted versions, so I did both. You can see the rest of the entries here.]]></description>
				<content:encoded><![CDATA[<p>This week&#8217;s sketch jam topic from my comic artists minigroup was G.I. Joe, so I drew Cobra Commander. I couldn&#8217;t decide between the hooded and helmeted versions, so I did both. You can see the rest of the <a href="http://comiccreatorsminigroup.tumblr.com/">entries here</a>.</p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/03/CobraCommander-JMC-hood.png"><img class="alignnone size-full wp-image-2027" alt="CobraCommander-JMC-hood" src="http://jeffcouturier.com/wp-content/uploads/2013/03/CobraCommander-JMC-hood.png" width="600" /></a></p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/03/CobraCommander-JMC-helmet.png"><img class="alignnone size-full wp-image-2026" alt="CobraCommander-JMC-helmet" src="http://jeffcouturier.com/wp-content/uploads/2013/03/CobraCommander-JMC-helmet.png" width="600" /></a></p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/eLMQBb8Hu6I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/03/cobra-commander/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/03/cobra-commander/</feedburner:origLink></item>
		<item>
		<title>Dorothy and his “Tin Man”</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/uOEb2JqXWtM/</link>
		<comments>http://jeffcouturier.com/2013/03/dorothy-and-his-tin-man/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 03:22:46 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Batman]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[donut]]></category>
		<category><![CDATA[Dorothy]]></category>
		<category><![CDATA[Horde of Neurons]]></category>
		<category><![CDATA[minigroup]]></category>
		<category><![CDATA[sketch]]></category>
		<category><![CDATA[Tin Man]]></category>
		<category><![CDATA[Wizard of Oz]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=2015</guid>
		<description><![CDATA[In his Oz, Dorothy isn&#8217;t afraid of any stupid little flying monkeys. This is a sketch (done on quickly on my iPad) for my comic artists&#8217; minigroup. We&#8217;re doing weekly sketch-jams on the same topic, this week&#8217;s topic being The Wizard of Oz. Take a look at the other awesome entries here. As I drew [...]]]></description>
				<content:encoded><![CDATA[<p>In his Oz, Dorothy isn&#8217;t afraid of any stupid little flying monkeys.</p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/03/dorothy-and-his-tinman.png"><img class="alignnone size-full wp-image-2016" alt="dorothy-and-his-tinman" src="http://jeffcouturier.com/wp-content/uploads/2013/03/dorothy-and-his-tinman.png" width="520" height="390" /></a></p>
<p>This is a sketch (done on quickly on my iPad) for my comic artists&#8217; minigroup. We&#8217;re doing weekly sketch-jams on the same topic, this week&#8217;s topic being The Wizard of Oz. Take a look at the <a href="http://comiccreatorsminigroup.tumblr.com/">other awesome entries here</a>.</p>
<p>As I drew this, I wasn&#8217;t thinking about Proposition 8 being before the US Supreme Court today. But since it is,  it seems appropriate in hindsight to say this about Dorothy here: just try telling him he can&#8217;t marry whomever he wants.</p>
<p>Here is my sketch from last week&#8217;s minigroup sketch. The topic was Batman&#8230; Mine is purging Gotham of the donut menace.</p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/03/Batman-JeffCouturier.png"><img class="alignnone size-full wp-image-2020" alt="Batman-JeffCouturier" src="http://jeffcouturier.com/wp-content/uploads/2013/03/Batman-JeffCouturier.png" width="584" height="490" /></a></p>
<p>Also, I&#8217;ve made some <a href="http://hordeofneurons.com/">new comics over at Horde of Neurons</a> that haven&#8217;t been posted to this blog yet.</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/uOEb2JqXWtM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/03/dorothy-and-his-tin-man/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/03/dorothy-and-his-tin-man/</feedburner:origLink></item>
		<item>
		<title>Learning Ruby: First Impressions</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/9HI2ObBv_m0/</link>
		<comments>http://jeffcouturier.com/2013/03/learning-ruby-some-initial-thoughts/#comments</comments>
		<pubDate>Fri, 01 Mar 2013 14:26:17 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1994</guid>
		<description><![CDATA[I&#8217;ve been a LAMP guy for about 12 years. Before that I wrote Perl and ColdFusion. With the start of a new job I&#8217;ve been learning Ruby. I&#8217;m only about a week or so in, but here are my initial thoughts so far: The Bad - First, and maybe most importantly, the Ruby documentation sucks. Hard. [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been a <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a> guy for about 12 years. Before that I wrote <a href="http://en.wikipedia.org/wiki/Perl">Perl</a> and <a href="http://en.wikipedia.org/wiki/Coldfusion">ColdFusion</a>. With the start of a new job I&#8217;ve been learning Ruby. I&#8217;m only about a week or so in, but here are my initial thoughts so far:</p>
<h3>The Bad</h3>
<p>- First, and maybe most importantly, the Ruby documentation <strong>sucks</strong>. Hard. Compare the level of information and useful search features of <a href="http://php.net">PHP.net</a> to <a href="http://ruby-doc.org/">Ruby-Doc.org</a>. The former is highly detailed, easily searchable and very helpful. The latter is a little barren, and really shows the immaturity of Ruby as a production language in comparison to PHP.</p>
<p>- Ruby has this weird habit of renaming common conventions for no apparent reason. Where nearly every other programming language uses <em>NULL</em>, Ruby has to be special and use <em>nil</em> instead. This is pointless obfuscation.</p>
<p>- Where most other languages use <em>uppercase</em> and <em>lowercase</em> to refer to the obvious, Ruby uses <em>upcase</em> and <em>downcase</em>. Why? Who the fuck knows.</p>
<p>- The <em>puts()</em> method is poorly named too. It&#8217;s equivalent to <em>echo()</em> but isn&#8217;t called echo because that would be lame, I guess. I&#8217;ve tried to find logical reasons for these weird names and there are none. It really does just come down to Ruby having this strange egotistical need to be different. It&#8217;s apparently the hipster of programming languages, and I want to smack its ironic handlebar moustache right off of its douchey face.</p>
<p>- Constantly having to start and stop the Rails server via command line is irritating. I love my bash shell and am extremely comfortable there, but it seems like a waste of time to have to restart the server when making edits to my app.</p>
<p>- The Rails console is too cool for decent formatting. When asking for a dump of an object, instead of returning easily readable blocks of text with line breaks it just barfs out a hairball of unformatted text and expects you to dig through it with a comb to find what you&#8217;re after. This is profoundly stupid.</p>
<p>- Installation is a messy, convoluted process for both Ruby and Rails. I&#8217;m sure a large part of my feeling on this is a result of being new to Ruby and Rails, but the installation was riddled with dependency and compile errors on my OSX machine. I&#8217;m no stranger to command-line installations, GCC, make and so on&#8230;. but the fact that there is no simple install bundle is surprising. And no, Homebrew doesn&#8217;t count. Compare, once again, to PHP. In contrast to Ruby and Rails, PHP is ridiculously easy to install and configure even without using the excellent <a href="http://en.wikipedia.org/wiki/MAMP">MAMP</a> bundle.</p>
<h3>The Good</h3>
<p>- Ruby is clean. Really clean. I&#8217;m rather used to ending lines with a semicolon, not caring very much about whitespace (allowing me to cleanly format my code however I like), and prefixing variables with the easily recognizable <em>$</em>. Skimming Ruby code, at first, is a little more difficult because Ruby is so clean. Everything looks the same and it&#8217;s not as easy at a glance to differentiate between variables, classes, functions and so on. The more I use and learn it, the more that clean simplicity is growing on me.</p>
<h3>Overall? Meh.</h3>
<p>And that&#8217;s it. I don&#8217;t have any other good points yet. Many of the irritations I&#8217;m seeing are the result of Rails rather then Ruby itself so I&#8217;m reluctant to lump their faults together. We&#8217;ll see if that opinion changes as I learn more. I fully expect that I&#8217;m wrong about many of these things (and hope that I am), so please let me know if you feel differently. I <em>want</em> to like Ruby, but it&#8217;s not impressing me thus far.</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/9HI2ObBv_m0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/03/learning-ruby-some-initial-thoughts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/03/learning-ruby-some-initial-thoughts/</feedburner:origLink></item>
		<item>
		<title>Talk Like Jack Burton Day, 2013</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/mw2gQd5nuZ8/</link>
		<comments>http://jeffcouturier.com/2013/02/talk-like-jack-burton-day-2013/#comments</comments>
		<pubDate>Sun, 10 Feb 2013 06:55:52 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Big Trouble In Little China]]></category>
		<category><![CDATA[Chinese New Year]]></category>
		<category><![CDATA[Talk Like Jack Burton Day]]></category>
		<category><![CDATA[tljbd]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1982</guid>
		<description><![CDATA[Last year I around this time, I thought it would be fun to have a Talk Like Jack Burton Day. A friend of mine suggested it should fall on Chinese New Year, which I think was a brilliant idea. So here we are, a year later, it&#8217;s the Chinese New Year and now also the [...]]]></description>
				<content:encoded><![CDATA[<p>Last year I around this time, <a href="https://plus.google.com/u/0/s/%23tljbd" target="_blank">I thought it would be fun</a> to have a <strong>Talk Like <a href="http://en.wikipedia.org/wiki/Jack_Burton" target="_blank">Jack Burton</a> Day</strong>. A <a href="https://plus.google.com/116752363530337009167" target="_blank">friend</a> of mine suggested it should fall on Chinese New Year, which I think was a brilliant idea.</p>
<p>So here we are, a year later, it&#8217;s the Chinese New Year and now also the first annual Talk Like Jack Burton Day. Now go do what ol&#8217; Jack Burton would do, and run your mouth off all day long with witty Jack&#8217;isms. Tag &#8216;em with <strong>#TLJBD</strong> and feel free to share this post and the image below.</p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/02/TLJBD-2013.png"><img class="alignnone size-full wp-image-1983" alt="TLJBD-2013" src="http://jeffcouturier.com/wp-content/uploads/2013/02/TLJBD-2013.png" width="584" height="613" /></a></p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/mw2gQd5nuZ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/02/talk-like-jack-burton-day-2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/02/talk-like-jack-burton-day-2013/</feedburner:origLink></item>
		<item>
		<title>Automatically Convert Articles to Audio And Save to Dropbox</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/dP-NzNIRB8Y/</link>
		<comments>http://jeffcouturier.com/2013/01/automatically-convert-articles-to-audio-files-and-save-to-dropbox/#comments</comments>
		<pubDate>Tue, 01 Jan 2013 22:43:39 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[text-to-speech]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1964</guid>
		<description><![CDATA[Use your Mac's built-in text-to-speech engine to read articles to you, or save them as mp3 files.]]></description>
				<content:encoded><![CDATA[<p>I save a lot, and I mean a LOT, of articles to read later and I don’t always have the time to go back and read what I’ve saved. Last year I starting using a keyboard shortcut to instantly read any selected text to me. This works great for listening to articles or even emails while working at my computer. I just select text in any application, hit CTRL-CMD-R and my Mac reads the text to me.</p>
<p>This is especially useful for proofreading things I&#8217;ve written. Having text read aloud as I read along makes it much easier to spot where things sound weird, or where I&#8217;ve made spelling or grammatical errors.</p>
<h3>Speak Selected Text</h3>
<p>To have any selected text spoken to you, go to Speech in System Preferences. Make sure “Speak selected text…” is checked, and if you’d like you can change the keyboard shortcut as well.</p>
<p><a href="http://jeffcouturier.com/wp-content/uploads/2013/01/Screen-Shot-2013-01-01-at-4.08.38-PM.png"><img class="alignnone  wp-image-1966" alt="Screen Shot 2013-01-01 at 4.08.38 PM" src="http://jeffcouturier.com/wp-content/uploads/2013/01/Screen-Shot-2013-01-01-at-4.08.38-PM.png" width="400" height="285" /></a></p>
<h3>Save an Audio File to Dropbox</h3>
<p>Recently I thought it would be nice to take that a step further and be able to listen to those articles while doing other things. So I created an Automator action to take any article I paste into TextEdit, convert it to an mp3 (actually, m4a), title it and save it to my Dropbox folder. Then, I can use Dropbox on my phone or iPad to listen to those articles no matter where I am or what I’m doing. It’s great for commuting or even something as quick as doing the dishes.</p>
<p>You&#8217;ll need my Automator action: <a title="Download" href="http://cl.ly/3Y0m2t0c2c00" target="_blank">Article to MP3 with title</a>.</p>
<p>First, I’ve created a folder in Dropbox named “Articles to Audio”. You’ll want to open my file in Automator and set your own Dropbox (or other) folder location. If your Dropbox folder is in the default location (~/Dropbox) and you create a folder inside named &#8220;Articles to Audio&#8221; this should work as-is.</p>
<p>When I want to convert an article, I copy the content into a new TextEdit* window (no need to save it). Then I run the Automator action. It prompts me for a title, which is optional, and then converts the text to speech. It puts a datestamp in the filename and then saves it to my <em>Dropbox/Articles to Audio</em> folder. When it’s finished I get a nice Growl notification.</p>
<p><img class="alignnone size-full wp-image-1965" alt="Screen Shot 2013-01-01 at 4.18.22 PM" src="http://jeffcouturier.com/wp-content/uploads/2013/01/Screen-Shot-2013-01-01-at-4.18.22-PM.png" width="309" height="86" /></p>
<p>If you don&#8217;t want to be prompted for a title and have the files named as just &#8220;article&#8221; with a timestamp. download this version instead: <a title="Download" href="http://cl.ly/3S2A3H3f103Y" target="_blank">Article to MP3</a></p>
<p>I’m sure there are several ways this could be streamlined, but the current setup works well for me. Unfortunately this requires OSX although I’m sure it’s possible to do the same thing on Windows or Linux. Automator and Actionscript combined with OSX’s built in text-to-speech engine just make it really easy on a Mac.</p>
<p>Feel free to modify this and let me know how it works out for you. I’d be especially interested in any improvements you make.</p>
<p><em>*The Automator action looks specifically for a TextEdit window, so be sure to paste your article into that application. I&#8217;m sure other applications could be used instead, although it would require editing the Automator action.</em></p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/dP-NzNIRB8Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2013/01/automatically-convert-articles-to-audio-files-and-save-to-dropbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2013/01/automatically-convert-articles-to-audio-files-and-save-to-dropbox/</feedburner:origLink></item>
		<item>
		<title>The answer to gun violence is not more guns</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/CZAaL9YEMCM/</link>
		<comments>http://jeffcouturier.com/2012/12/the-answer-to-gun-violence-is-not-more-guns/#comments</comments>
		<pubDate>Fri, 21 Dec 2012 19:25:31 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[guns]]></category>
		<category><![CDATA[NRA]]></category>
		<category><![CDATA[violence]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1955</guid>
		<description><![CDATA[I had originally shared the following with only a few friends on Facebook. However, after the NRA&#8217;s stunningly tone-deaf and idiotic press conference today I feel the need to say it publicly. Humanity has already lived through countless eras where every person armed themselves with lethal weapons as a matter of necessity. The human race has worked [...]]]></description>
				<content:encoded><![CDATA[<p>I had originally shared the following with only a few friends on Facebook. However, after the NRA&#8217;s stunningly tone-deaf and <a href="http://online.wsj.com/article/SB10001424127887324461604578193364201364432.html">idiotic press conference today</a> I feel the need to say it publicly.</p>
<p>Humanity has already lived through countless eras where every person armed themselves with lethal weapons as a matter of necessity. The human race has worked very, very hard over millennia to change that. We have progressed to a point where personal weapons are no longer necessary, but seem to have forgotten the fear that came with living in a constant state of hyper self-defense. An enlightened and intelligent civilization, by definition, does not require its populace to be armed to the teeth and ready to kill at a moments notice. <strong>Arguing for more deadly weapons in people’s hands is directly arguing against the existence of that society. </strong>I&#8217;d rather see it all burn down rather than exist in a world where we&#8217;ve regressed to living in constant fear of each other.</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/CZAaL9YEMCM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2012/12/the-answer-to-gun-violence-is-not-more-guns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2012/12/the-answer-to-gun-violence-is-not-more-guns/</feedburner:origLink></item>
		<item>
		<title>New comics posted</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/FQttZcfE6X8/</link>
		<comments>http://jeffcouturier.com/2012/12/new-comics-posted/#comments</comments>
		<pubDate>Fri, 14 Dec 2012 01:07:02 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[Horde of Neurons]]></category>
		<category><![CDATA[Meager Panic]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1943</guid>
		<description><![CDATA[I&#8217;ve posted several new comics at Horde of Neurons. I&#8217;ve also put up a new episode of Meager Panic.]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve posted several new comics at <a href="http://hordeofneurons.com" target="_blank">Horde of Neurons</a>.</p>
<p><a href="http://hordeofneurons.com/2012/12/13/wizlayer/"><img class="alignnone  wp-image-1945" alt="Screen Shot 2012-12-13 at 6.53.20 PM" src="http://jeffcouturier.com/wp-content/uploads/2012/12/Screen-Shot-2012-12-13-at-6.53.20-PM.png" width="195" height="226" /></a></p>
<p>I&#8217;ve also put up a new episode of <a href="http://meagerpanic.com" target="_blank">Meager Panic</a>.</p>
<p><a href="http://meagerpanic.com/2012/12/freaks-part-1/"><img class="alignnone  wp-image-1946" alt="Screen Shot 2012-12-13 at 6.53.32 PM" src="http://jeffcouturier.com/wp-content/uploads/2012/12/Screen-Shot-2012-12-13-at-6.53.32-PM.png" width="190" height="221" /></a></p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/FQttZcfE6X8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2012/12/new-comics-posted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2012/12/new-comics-posted/</feedburner:origLink></item>
		<item>
		<title>Easily Prevent Hotlinking</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/kM6p82XUWXA/</link>
		<comments>http://jeffcouturier.com/2012/12/easily-prevent-hotlinking/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 18:50:24 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[hotlinking]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1901</guid>
		<description><![CDATA[This morning on Twitter I saw Andrew Gregoire (@IAmARG) tweet about seeing comic images &#8211; not just a link &#8211; displayed on http://webcomicbox.com with ads stripped. I could rant for a few paragraphs about what&#8217;s wrong with this, but I&#8217;ll sum it by saying: poaching content without permission is not cool. Webcomicbox hotlinks* to these comic [...]]]></description>
				<content:encoded><![CDATA[<p>This morning on Twitter I saw Andrew Gregoire (<a href="http://twitter.com/iamarg" target="_blank">@IAmARG</a>) <a href="https://twitter.com/IamArg/status/278545025397313536" target="_blank">tweet</a> about seeing comic images &#8211; not just a link &#8211; displayed on <em>http://webcomicbox.com</em> with ads stripped. I could rant for a few paragraphs about what&#8217;s wrong with this, but I&#8217;ll sum it by saying: <strong>poaching content without permission is not cool.</strong></p>
<p>Webcomicbox hotlinks* to these comic images. That means <a href="http://webcomicbox.com" target="_blank">Webcomicbox</a> loads images directly from the creators site to display inside Webcomicbox. Well now, we can get around that with a little fix.</p>
<p style="margin-left:2em"><strong>*UPDATE DEC 13, 2012:</strong> To his credit, Roman, the creator of Webcomic box listened to what many artists had to say. He very quickly changed how his site works and is no longer hotlinking. Now, he is only including Creative Commons licensed comics and is asking artists if they&#8217;d like to be included rather than forcing them to op-out. This is excellent, and if he continues on this path of listening to and respecting artists I wish him all the best.</p>
<p>Most of you webcomic folks are running WordPress. Even if you aren&#8217;t, you are most likely using a Linux server, which means you have something called an <strong>.htaccess</strong> file. It sits in the root directory of your site (root, as in /, not <em>wp-content/</em>) and it looks something like this:</p>
<p><pre><code># BEGIN WordPress
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;
# END WordPress</code></pre></p>
<p>Add these three additional lines to the bottom of your <strong>.htaccess</strong> file, just before <strong>&lt;/IfModule&gt;</strong> and no one will be able to directly link to your images.</p>
<p><pre><code>RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?YOURDOMAIN.com/.*$ [NC]
RewriteRule \.(gif|jpg|png|js|css)$ - [F]</code></pre></p>
<p>The final .htaccess file will look something like this:</p>
<p><pre><code># BEGIN WordPress
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# prevent hotlinking
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?YOURDOMAIN.com/.*$ [NC]
RewriteRule \.(gif|jpg|png|js|css)$ - [F]
&lt;/IfModule&gt;
# END WordPress</code></pre></p>
<p>If you want to go a step further, you can display an alternate image.</p>
<p><pre><code>RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?YOURDOMAIN.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ http://YOURDOMAIN.com/nope.gif [R,L]</code></pre></p>
<p>In this example, any attempt to hotlink to images on my site will replace the hotlinked image with this one:</p>
<p><img class="alignnone size-full wp-image-1902" title="nope" src="http://jeffcouturier.com/wp-content/uploads/2012/12/nope.gif" alt="" width="263" height="185" /></p>
<p>Be sure, of course, to have nope.gif on your server. If you&#8217;d like the PSD file I used, you can download it here (<a href="http://jeffcouturier.com/wp-content/uploads/2012/12/nope-animted-gif.zip">nope-animated-gif.zip 779kb</a>) and easily edit the bottom text.</p>
<p>If you need any help getting this set up on your server, <a href="http://jeffcouturier.com/contact-me/">let me know</a>. I&#8217;ll be happy to help.</p>
<p>Please drop a comment below if you&#8217;d like more a more detailed write-up on how this works, and/or if you have any questions about it.</p>
<p style="margin-left:2em"><strong>UPDATE:</strong> The creator of Webcomicbox has been <a href="https://plus.google.com/u/0/114515031610633545151/posts/4L1BWZm5NhT" target="_blank">commenting on my post on Google+</a>.</p>
<p style="margin-left:2em"><strong>UPDATE 2:</strong> A few things to note: this doesn&#8217;t prevent anyone from downloading, taking screenshots or other methods of saving your images. It prevents an external server from linking directly to images on your server, thus leeching your bandwidth, content and traffic.</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/kM6p82XUWXA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2012/12/easily-prevent-hotlinking/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2012/12/easily-prevent-hotlinking/</feedburner:origLink></item>
		<item>
		<title>Sublime Text + Emmet (Zen Coding)</title>
		<link>http://feedproxy.google.com/~r/JeffCouturier/~3/x0B8X96q0dI/</link>
		<comments>http://jeffcouturier.com/2012/12/sublime-text-emmet-zen-coding/#comments</comments>
		<pubDate>Tue, 04 Dec 2012 21:17:07 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Coda]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[Emmet]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Sublime Text]]></category>
		<category><![CDATA[Zen Coding]]></category>

		<guid isPermaLink="false">http://jeffcouturier.com/?p=1885</guid>
		<description><![CDATA[Earlier this year I wrote a review of Coda 2, an app that was once my favorite editor now updated into a bloated pile of frustration. The new version had such a negative impact on my workflow that I started seeking alternatives and came across Sublime Text. It took less than an hour of using it [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.sublimetext.com/"><img class="right alignnone  wp-image-1886" style="border: none; box-shadow: none; margin: 0 0 0 10px;" title="Sublime_Text_Logo" src="http://jeffcouturier.com/wp-content/uploads/2012/12/Sublime_Text_Logo.png" alt="" width="154" height="154" /></a>Earlier this year I wrote <a title="A review of Coda 2" href="http://jeffcouturier.com/2012/05/a-review-of-coda-2/">a review of Coda 2</a>, an app that was once my favorite editor now updated into a bloated pile of frustration. The new version had such a negative impact on my workflow that I started seeking alternatives and came across <a title="Sublime Text" href="http://www.sublimetext.com/" target="_blank">Sublime Text</a>. It took less than an hour of using it to know this was the editor for me &#8211; beautiful simplicity, speed, and surprisingly powerful features. Sublime Text on its own is excellent, but it shifts into overdrive once you start playing with the plugin architecture. Recently I added <a title="Emmet for Sublime Text" href="https://github.com/sergeche/emmet-sublime" target="_blank">Emmet</a> (previously known as Zen Coding) and can easily say that I&#8217;ve never had a faster, more powerful editor. Here&#8217;s a great, quick <a href="https://tutsplus.com/lesson/emmet/" target="_blank">video tour of how Emmet works</a>. If you haven&#8217;t, check them out. Unlike Coda, Sublime Text is cross-platform and you can try it (indefinitely) for free.</p>
<img src="http://feeds.feedburner.com/~r/JeffCouturier/~4/x0B8X96q0dI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffcouturier.com/2012/12/sublime-text-emmet-zen-coding/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://jeffcouturier.com/2012/12/sublime-text-emmet-zen-coding/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.612 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-22 05:59:25 -->
