<?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>➚ FlashingCursor</title>
	<atom:link href="http://flashingcursor.com/feed" rel="self" type="application/rss+xml" />
	<link>http://flashingcursor.com</link>
	<description>Full Stack Developer and Nerd Herder</description>
	<lastBuildDate>Mon, 19 Nov 2012 21:37:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>FlashingCursor does Drupal??  (and CiviCRM)</title>
		<link>http://flashingcursor.com/drupal/flashingcursor-does-drupal-and-civicrm-977</link>
		<comments>http://flashingcursor.com/drupal/flashingcursor-does-drupal-and-civicrm-977#comments</comments>
		<pubDate>Mon, 16 Apr 2012 22:07:18 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[CiviCRM]]></category>
		<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=977</guid>
		<description><![CDATA[As most of my clients and partners know, FlashingCursor has always been about WordPress, but times &#8230; They are a changing. Don&#8217;t get me wrong, I still LOVE me some WordPress!!  The fact is, however, that my client base has become much more diverse and WordPress is not a one-size-fits-all solution.  Sure, I&#8217;ve been able [...]]]></description>
				<content:encoded><![CDATA[<p><img class="size-medium wp-image-978 alignright" title="drupal_logo-blue" src="http://flashingcursor.com/wp-content/uploads/2012/04/drupal_logo-blue-300x120.png" alt="" width="300" height="120" />As most of my clients and partners know, FlashingCursor has always been about WordPress, but times &#8230; They are a changing.</p>
<p>Don&#8217;t get me wrong, I still LOVE me some WordPress!!  The fact is, however, that my client base has become much more diverse and WordPress is not a one-size-fits-all solution.  Sure, I&#8217;ve been able to overcome most of the areas where WordPress falls short with some custom code, a bit of magic and a shoehorn, but as client needs evolve it&#8217;s become an ever-increasing struggle to make WP work for everyone.</p>
<p>Enter: Drupal.  Yes, a very dirty word in many WordPress circles, Drupal is very complex and often misunderstood content management system.  It&#8217;s focus is not blogs or basic sites, in fact I&#8217;d hate to run a small business or personal site on Drupal &#8212; it&#8217;s far too complex for that.  Instead, I&#8217;d suggest Drupal for larger, more complicated, multi-user sites, custom membership sites, or as a solid base for web applications.</p>
<p>So &#8211; to make it official:  FlashingCursor is now officially offering Drupal 7, front-end and back-end, implementation and customization.</p>
<p><img class="alignleft size-full wp-image-980" title="civicrm-logo_2" src="http://flashingcursor.com/wp-content/uploads/2012/04/civicrm-logo_2.png" alt="" width="278" height="114" />In addition to adding Drupal to our supported line-up, we&#8217;re now officially supporting CiviCRM &#8211; A web-based Contact Relationship Management (CRM) package that runs on the Drupal (and now WordPress) platforms.</p>
<p>Unlike most CRM packages which focus on managing commerce, CiviCRM focuses on the needs of non-profits; emphasizing communicating with individuals, community engagement, managing contributions, and administering memberships.</p>
<p>Interested in how FlashingCursor can help you with your Drupal or CiviCRM custom deveopment needs?  No problem &#8211; just <a href="http://flashingcursor.com/contact-me">contact me</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/drupal/flashingcursor-does-drupal-and-civicrm-977/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add caching to your plugin - The WordPress Transients API</title>
		<link>http://flashingcursor.com/wordpress/add-caching-to-your-plugin-969</link>
		<comments>http://flashingcursor.com/wordpress/add-caching-to-your-plugin-969#comments</comments>
		<pubDate>Sat, 28 Jan 2012 13:56:08 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=969</guid>
		<description><![CDATA[Sooner or later, we all write something that could make use of some caching.  I&#8217;ve seen several plugins store cache data using the options API &#8212; though this will work, it&#8217;s probably not the right place to do this.  Instead, you can easily use the WordPress transient API.  Unlike the options API, the Transients API [...]]]></description>
				<content:encoded><![CDATA[<p>Sooner or later, we all write something that could make use of some caching.  I&#8217;ve seen several plugins store cache data using the options API &#8212; though this will work, it&#8217;s probably not the right place to do this.  Instead, you can easily use the WordPress transient API.  Unlike the options API, the Transients API gives you the option of an expiration.  Perfect for caching a query that needs updating, but doesn&#8217;t need run every time your code runs.  Here&#8217;s how it works:</p>
<pre class="brush: php; title: ; notranslate">
function hwp_cached_query() {

	if ( false === ( $hwp_query_results = get_transient( 'hwp_query_results' ) ) ) {
		$hwp_query_results = new WP_Query( 'cat=5&amp;order=random&amp;tag=tech&amp;post_meta_key=thumbnail' );
		set_transient( 'hwp_query_results', $hwp_query_results, 60*60*24 );
	}

	while ( $hwp_query_results-&gt;have_posts() ) : $hwp_query_results-&gt;the_post();
		echo '
&lt;ul&gt;
	&lt;li&gt;'; the_title(); echo '&lt;/li&gt;
&lt;/ul&gt;
';
	endwhile;

	// Reset Post Data
	wp_reset_postdata();
</pre>
<p>Quick breakdown:</p>
<pre class="brush: php; title: ; notranslate">
	if ( false === ( $hwp_query_results = get_transient( 'hwp_query_results' ) ) ) {
</pre>
<p>Here we check to see if the transient entry exists.</p>
<pre class="brush: php; title: ; notranslate">
		$hwp_query_results = new WP_Query( 'cat=5&amp;order=random&amp;tag=tech&amp;post_meta_key=thumbnail' );
		set_transient( 'hwp_query_results', $hwp_query_results, 60*60*24 );
</pre>
<p>If our cached data doesn&#8217;t exist, we&#8217;ll run our query and cache it. In this case, we&#8217;re calling our cached entry &#8216;hwp_query_results&#8217;, using the $hwp_query_results variable, and setting the expiration for 24 hours.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/add-caching-to-your-plugin-969/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Change the &#8220;Enter Title Here&#8221; text in WordPress</title>
		<link>http://flashingcursor.com/wordpress/change-the-enter-title-here-text-in-wordpress-963</link>
		<comments>http://flashingcursor.com/wordpress/change-the-enter-title-here-text-in-wordpress-963#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:52:36 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=963</guid>
		<description><![CDATA[Though custom post types have a lot of label configuration options, the one glaring omission was the in-field &#8220;Enter Title Here&#8221; text that appears in the title field. Since the &#8220;title&#8221; area of a custom post type may not necessarily used for a &#8220;Title&#8221;, changing this will reduce confusion and make better sense from a [...]]]></description>
				<content:encoded><![CDATA[<p>Though custom post types have a lot of label configuration options, the one glaring omission was the in-field &#8220;Enter Title Here&#8221; text that appears in the title field. Since the &#8220;title&#8221; area of a custom post type may not necessarily used for a &#8220;Title&#8221;, changing this will reduce confusion and make better sense from a UX point-of-view. Well, guess what? There&#8217;s a filter for that!</p>
<pre class="brush: php; title: ; notranslate">
function hwp_enter_title_here( $title ){
	$screen = get_current_screen();

	if ( 'custom_post_type' == $screen-&gt;post_type ) {
		$title = 'Custom Post Type Title Text';
	}

	return $title;
}

add_filter( 'enter_title_here', 'hwp_enter_title_here' );</pre>
<p>Quick breakdown:</p>
<pre class="brush: php; title: ; notranslate">
	$screen = get_current_screen();
</pre>
<p>This gets our current admin screen attributes &#8212; we&#8217;ll use this to make sure we&#8217;re viewing our custom post type.</p>
<pre class="brush: php; title: ; notranslate">
	if ( 'custom_post_type' == $screen-&gt;post_type ) {
		$title = 'Custom Post Type Title Text';
	}
</pre>
<p>Here we check for our post type (replace &#8220;custom_post_type&#8221; with the name of your post type) and define the title text.</p>
<pre class="brush: php; title: ; notranslate">
	return $title;
</pre>
<p>Finally, our function returns the title field text to the filter.</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'enter_title_here', 'hwp_enter_title_here' );</pre>
<p>All we need to do is add our new function to the &#8216;enter_title_here&#8217; filter.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/change-the-enter-title-here-text-in-wordpress-963/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress &#8211; Doomed to a Life of Conflict?</title>
		<link>http://flashingcursor.com/wordpress/wordpress-doomed-to-a-life-of-conflict-910</link>
		<comments>http://flashingcursor.com/wordpress/wordpress-doomed-to-a-life-of-conflict-910#comments</comments>
		<pubDate>Mon, 16 Jan 2012 22:39:37 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=910</guid>
		<description><![CDATA[A couple of weeks ago a post by Kevinjohn Gallagher, about his agency dropping WordPress as their &#8220;go-to&#8221; CMS, inexplicably went viral and the normal rumble of conflict in the WordPress community suddenly erupted into a roar. Once again, as if on cue, two camps quickly formed and the shit slinging ensued. At first, I had a very hard time [...]]]></description>
				<content:encoded><![CDATA[<p>A couple of weeks ago a post by <a href="http://kevinjohngallagher.com/2012/01/wordpress-has-left-the-building/">Kevinjohn Gallagher</a>, about his agency dropping WordPress as their &#8220;go-to&#8221; CMS, inexplicably went viral and the normal rumble of conflict in the WordPress community suddenly erupted into a roar. Once again, as if on cue, two camps quickly formed and the shit slinging ensued.</p>
<p>At first, I had a very hard time understanding why such a fairly benign post spiraled into a civil war of words.  Truth is, I shouldn&#8217;t have had any trouble understanding at all.  It blew up for the same reason most conflicts do &#8212; the upper echelon has been ignoring the hoi polloi again.  Oh, and vice-versa.</p>
<p>We can get a better understanding why this the community blows up over and over if we look at a few key words and phrases that get tossed about in WordPress circles these days&#8230;</p>
<h3>Meritocracy</h3>
<p>Ah, yes, meritocracy&#8230; A term often used and abused by people like Matt Mullenweg, Jane Wells and others in the WordPress community to describe the hierarchy and management of the team.  I&#8217;ve posted a definition of the word so that we can be clear on its meaning.</p>
<blockquote><p>mer·i·toc·ra·cy  (mr-tkr-s)<br />
<em>n.</em><em>pl.</em><strong>mer·i·toc·ra·cies</strong><br />
<strong>1. </strong>A system in which advancement is based on individual ability or achievement.<br />
<strong>2. </strong><strong>a.  </strong>A group of leaders or officeholders selected on the basis of individual ability or achievement.  <strong>b. </strong>Leadership by such a group.</p>
<p>&#8211; The Dictionary</p></blockquote>
<p>Frankly, when I hear someone describe WordPress as a meritocracy, I can&#8217;t help but laugh a bit.  Ya see, I&#8217;ve spent a fair bit of time meeting developers over the last few years.  In fact, I&#8217;ve had the privilege of sitting down with a number of regular core contributors and even a couple of core committers.  Though I won&#8217;t name names, 9 out of 10 agree that, although ability and achievement do play a part in the &#8220;meritocracy&#8221;, it&#8217;s mostly a game of politics, ass kissing and playing favorites.  So, basically, if you&#8217;re not at least 99% on-board with the upper management, there is no place for you in the core WordPress group.</p>
<p>So, is WordPress really a meritocracy?  It&#8217;s pretty obvious from the outside looking in, and apparently from the inside looking in, that ability and intelligence are required but often trumped by favoritism and your ability to suppress any opinions you have that might not fall in line with the powers that be.</p>
<h3>The vocal minority</h3>
<p>Another term that&#8217;s been used quite a bit as of late.  The vocal minority is mentioned on the <a href="http://wordpress.org/about/philosophy/">WordPress Philosophy</a> page and as it&#8217;s presented there, it makes perfect sense:</p>
<blockquote><p>There&#8217;s a good rule of thumb within internet culture called the 1% rule. It states that &#8220;the number of people who create content on the internet represents approximately 1% (or less) of the people actually viewing that content&#8221;.</p></blockquote>
<p>In context, this is a great rule of thumb.  The statement is made regarding content creation and individuals on the web.  The problem is, it&#8217;s being used quite a bit to describe developers that use WordPress for their clients.  Once we alter the context of who the vocal minority is, it makes no sense at all.</p>
<p>Fact is that developers rarely speak for one person.  They each work with clients, typically dozens of them, and some have a client-base of thousands.  These developers probably have a wider and better perspective on how people want to use WordPress than many of those in the WordPress core group, so when a small handfull of developers start to rally around a feature that&#8217;s been removed, or disagree with a change that&#8217;s been made to the Admin UI, they&#8217;re more than likely not a vocal minority and probably speaking for more of the user community than those making decisions choose to perceive.</p>
<blockquote><p>&#8230;we look to engage more of those users who are not so vocal online. We do this by meeting and talking to users at WordCamps across the globe, this gives us a better balance of understanding&#8230;</p></blockquote>
<p>I&#8217;ve attended a few WordCamps and I&#8217;ve been to many WordPress centric meetups and events.  I don&#8217;t believe this statement to be true at all.  Perhaps I&#8217;m wrong, but every time I&#8217;ve had the opportunity to join in with a group of users and whichever core group members were there, the issues of the &#8220;vocal minority&#8221; are often the same issues that become central topics at WordCamps.  Every time I&#8217;ve gone out for drinks with fellow developers, their needs and wants seem to bare an uncanny resemblance to those that are dismissed as one-off needs of the &#8220;vocal minority&#8221;.</p>
<h3>Patches Welcome</h3>
<p>The ever more popular &#8220;Patches Welcome&#8221; response that core team members fling around is rarely realistic.</p>
<p>Often times a patch is outside the ability or comfort level of your average developer. Combine that with the fact that patches are often ignored or met with an angry us-vs-them mentality, the message of &#8220;patches welcome&#8221; is viewed more as a <em>fuck you</em> than an invitation to actually submit code.</p>
<h3>It&#8217;s &#8220;Us&#8221; vs. &#8220;Them&#8221;</h3>
<p>Not really something I&#8217;ve heard coming from the community &#8212; but it doesn&#8217;t surprise me when I hear it directed towards the community by highly regarded core contributors and committers.</p>
<p>Fact is that most of the community really appreciates what WordPress has done for them.  Whether a community member is a blogger just talkin&#8217; about life, a hobby enthusiast that shares their passion and makes a buck or two on the side,  a freelancer earning their living installing, customizing or building really big things on WordPress &#8211; they all love the fact that WordPress exists.</p>
<p>Most of them, however, don&#8217;t think their gratefulness should extend to the point of blindly agreeing with core when they feel poor decisions are made; this seems to be a sensitive issue for many in core.   Disagreement is often met with aggressive and sometimes downright abusive responses.  I can&#8217;t count the number of times I&#8217;ve heard the phrase &#8220;Vote with your feet&#8221;.</p>
<h3>Vote with your feet</h3>
<p>Well, I guess we can finish off where we started.</p>
<blockquote><p>If you don’t like the filter, vote with your feet or with a plugin. -<em>Matt Mullenweg</em></p></blockquote>
<p>&#8220;Vote with your feet&#8221; was a very popular phrase with WordPress A-Listers over the last couple years, but judging by the reaction to Kevinjohn and his vocal decision to ditch WordPress, I think what they meant to say is &#8220;Vote with your feet and please don&#8217;t say anything bad on your way out the door because we can&#8217;t deal with any sort of negative criticism&#8221;&#8230;  Not quite as catchy as &#8220;Vote with your feet&#8221;, eh?<em></em></p>
<p>Fact:  Kevinjohn is most definitely not the only one that&#8217;s making the tough decision to walk.  Slowly, but surely, agencies and freelancers are looking at alternatives for their clients.</p>
<h3>Doomed to a life of Conflict?</h3>
<p>So, do I really think WordPress is doomed to a life of conflict?  Frankly&#8230; Yes.</p>
<p>But I really hope I&#8217;m proven wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/wordpress-doomed-to-a-life-of-conflict-910/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>New Year, New Look. - We&#039;re now running Generate by StudioPress</title>
		<link>http://flashingcursor.com/wordpress/new-year-new-look-868</link>
		<comments>http://flashingcursor.com/wordpress/new-year-new-look-868#comments</comments>
		<pubDate>Sun, 01 Jan 2012 07:15:40 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=868</guid>
		<description><![CDATA[The past year has been AMAZING. Great new clients, fantastic new projects and a jam-packed schedule. As with all good things, the great stuff going on with clients and projects has caused one negative side-effect: This cobblers kid has been wearing the same worn out kicks for over a year. Well, in honor of the [...]]]></description>
				<content:encoded><![CDATA[<p>The past year has been AMAZING. Great new clients, fantastic new projects and a jam-packed schedule.</p>
<p>As with all good things, the great stuff going on with clients and projects has caused one negative side-effect:<br />
<em>This cobblers kid has been wearing the same worn out kicks for over a year</em>.</p>
<p>Well, in honor of the new year, we&#8217;ve remedied our neglect with a great new look based on <em><a title="Generate - StudioPress Genesis Child Theme" href="http://www.shareasale.com/r.cfm?b=353079&amp;u=413153&amp;m=28169&amp;urllink=&amp;afftrack=">Generate</a></em>, a righteous new <a href="http://www.shareasale.com/r.cfm?b=242709&amp;u=413153&amp;m=28169&amp;urllink=&amp;afftrack=">Genesis child theme</a> from StudioPress.  It&#8217;s clean, it&#8217;s simple and it&#8217;s responsive.</p>
<p>Stay tuned &#8212; more changes and some really big news are just around the corner!</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/new-year-new-look-868/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today: SOPA.  Back in 2004: The Induce Act</title>
		<link>http://flashingcursor.com/off-topic/today-sopa-back-in-2004-the-induce-act-849</link>
		<comments>http://flashingcursor.com/off-topic/today-sopa-back-in-2004-the-induce-act-849#comments</comments>
		<pubDate>Mon, 26 Dec 2011 17:46:24 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=849</guid>
		<description><![CDATA[Back in 2004, we had the &#8220;Induce Act&#8221; &#8230; This is a little something I wrote about it. The Induce Act &#8211; Why? Inducing Infringement of Copyrights Act of 2004 Ah, the good old days. Back when there were laws and most of us abided by them. Back when the court systems would translate our [...]]]></description>
				<content:encoded><![CDATA[<p>Back in 2004, we had the &#8220;Induce Act&#8221; &#8230; This is a little something I wrote about it.</p>
<blockquote><p>The Induce Act &#8211; Why?<br />
Inducing Infringement of Copyrights Act of 2004</p>
<p>Ah, the good old days. Back when there were laws and most of us abided by them. Back when the court systems would translate our laws and our constitution and then make rulings based on their translations.</p>
<p>Oh how I long for those days.</p>
<p>“But it’s still that way” is what many of my contemporaries say. “Our courts and our judges examine the laws, they examine the alleged crimes of the accused and then they pass judgment.”</p>
<p>Yes. I suppose at the core of our system, things still work the same. My problem, though, isn’t so much with our system as it is with those that keep changing the rules that the system relies on.</p>
<p>Now, before, you start telling me that times change and laws need to change as well, let me explain that I agree with you. There are new technologies rolling off the line every day, and in some cases these technologies need to be equipped with a decent set of rules to govern them. I don’t, however, think that each and every new technology needs its own set of laws when current laws cover any crime that could possibly committed with them.</p>
<p>Let’s take for instance the ‘Inducing Infringement of Copyrights Act of 2004’. This is a bill to amend chapter 5 of title 17, or the United States Code, relating to inducement of copyright infringement, and for other purposes.</p>
<p>Why? Why are we going to amend our Copyrights laws?</p>
<p>Has a new technology caused a loop-hole in the current laws? Has any new technology made Copyright Infringement any different? NO! The only thing new technology has done is to make it easier to break the law, but isn’t that what new technology does – makes things easier?</p>
<p>Lets take a closer look at the core of the proposed amendment.</p>
<p>`(g)(1) In this subsection, the term `intentionally induces&#8217; means intentionally aids, abets, induces, or procures, and intent may be shown by acts from which a reasonable person would find intent to induce infringement based upon all relevant information about such acts then reasonably available to the actor, including whether the activity relies on infringement for its commercial viability.</p>
<p>It seems like a very reasonable amendment, doesn’t it? Really seems like something that should already be a part of the law, right? Well – not exactly.</p>
<p>The words “commercial viability” is where my problem really starts. To the average joe, this seems to say that if your business intentionally aids a person in infringing on copyrights in order to remain commercially viable, you’re liable for aiding the infringement. But it’s much broader than that.</p>
<p>For instance &#8211; You develop a technology to assist in 100% legal activity, and then that same technology is adapted to do something illegal causing your company to make a profit and become commercially viable – at any point, now or in the future – You’re liable for what other people do with it.</p>
<p>This still seems like a rather reasonable amendment, right? Well, lets see what you think of a couple real-world examples:</p>
<p>A small internet service provider is struggling to keep itself in business. In order to keep its numbers in the black, it rolls out a technology that increases the bandwidth to its customers, and suddenly the orders start rolling in and they’re making a profit.</p>
<p>They know that there’s people out there using their service to trade files, and that some of this activity might infringe on someone’s copyright. They also know that the only reason they’ve attracted these people is because they’ve increased the bandwidth to their customers. The only way they can stop this activity is to stop providing this higher bandwidth service, but without it they’re not commercially viable. Are they liable?</p>
<p>Lets take this example to a more ridiculous level.</p>
<p>A pencil manufacturer sells pencils – they know that people can use these pencils to copy text that has a copyright. Because the commercial viability of this company is due to the ability of its pencils to write, and writing makes it possible to cause a copyright infringement, one has to assume that they would be in violation of the “Induce Act”.</p>
<p>Another example – this one hits very close to home.</p>
<p>GeekExtreme.com is commercially viable (snicker, almost) because we provide the community with reviews of new technology. Could we be held liable if we review an iPod? If we do a review of Microsoft’s Internet Explorer, could we be held liable if we describe the copy &amp; paste features?</p>
<p>We could be aiding our readers to choose, purchase and use a device or technology that we know has the ability to be used to infringe on a copyright. God forbid we do a review of a multi-function printer or a DVD burner.</p>
<p>I know all this sounds insane, and maybe a little bit extreme, but it’s all possible. A representative from the EFF states: ‘When the lawyers at EFF first sat down and asked &#8220;Whom could we sue under the Induce Act if we were an abusive copyright holder?&#8221; the answer was clear: pretty much everybody.’</p>
<p>If we allow our lawmakers to broaden the scope of laws because a group of record companies have decided something is cutting into their profit, we’re going about things the wrong way. Yes, these companies are entitled to make their money and someone should do something about the copyright infringement that is causing their losses.</p>
<p>Taking away the freedom of every American to create a product because they fear someone may figure out how to use it to break the law is as ridiculous as a pencil company being held liable because they know someone, somewhere in the world, is using their graphite to infringe on a copyright.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/off-topic/today-sopa-back-in-2004-the-induce-act-849/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Akismet For Free! It never stopped being free&#8230;</title>
		<link>http://flashingcursor.com/wordpress/akismet-for-free-it-never-stopped-being-free-829</link>
		<comments>http://flashingcursor.com/wordpress/akismet-for-free-it-never-stopped-being-free-829#comments</comments>
		<pubDate>Thu, 24 Mar 2011 00:44:15 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=829</guid>
		<description><![CDATA[Ok, so &#8212; in an obvious effort to generate some extra income for Akismet, they changed their signup screen and hidden the free account in plain sight. Can&#8217;t really blame them for wanting to produce some additional income from this awesome service, but I really hate the way they did it.  Instead of asking people [...]]]></description>
				<content:encoded><![CDATA[<p>Ok, so &#8212; in an obvious effort to generate some extra income for Akismet, they changed their signup screen and hidden the free account in plain sight.</p>
<p><img class="size-large wp-image-830 alignleft" title="akismet free api key" src="http://flashingcursor.com/wp-content/uploads/2011/03/akismet-free-api-key-630x436.png" alt="" width="630" height="436" /></p>
<p>Can&#8217;t really blame them for wanting to produce some additional income from this awesome service, but I really hate the way they did it.  Instead of asking people to pitch in by suggesting a donation, they used a little UI trick to hide the free signup &amp; donation form right under the 3 paying options.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/akismet-for-free-it-never-stopped-being-free-829/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Black Friday WordPress Theme Sale (EXTENDED!)</title>
		<link>http://flashingcursor.com/wordpress/black-friday-wordpress-theme-sale-790</link>
		<comments>http://flashingcursor.com/wordpress/black-friday-wordpress-theme-sale-790#comments</comments>
		<pubDate>Fri, 26 Nov 2010 05:07:35 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=790</guid>
		<description><![CDATA[It&#8217;s black Friday!  People are going a bit crazy over the deals &#8212; I just passed a BestBuy near my house around 8:00pm and there were people lined up along the side of the building, some of them even had tents setup. Almost looked like a party worth joining, if it wasn&#8217;t for the 30 [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s black Friday!  People are going a bit crazy over the deals &#8212; I just passed a BestBuy near my house around 8:00pm and there were people lined up along the side of the building, some of them even had tents setup. Almost looked like a party worth joining, if it wasn&#8217;t for the 30 degree weather. Instead, I decided to hold a little back Friday of my own, from the warmth and comfort of my couch!</p>
<p>So, in honor of Black Friday, I&#8217;ve reduced the price of my current <a href="http://wp4.us/studiopress">Genesis</a> <a title="Genesis WordPress Child Themes" href="http://www.themegarden.com/gil-rutkowski/endeavor/">child themes</a> to $19.95 each! No codes, no coupons &#8212; just buy. <a href="http://www.themegarden.com/gil-rutkowski/">Themes</a> are on sale now and will remain on sale &#8217;til Midnight on <del>Friday</del> Monday!</p>
<h2 class="mceTemp">Endeavor Genesis Child Theme</h2>
<div class="mceTemp"><a href="http://www.themegarden.com/gil-rutkowski/endeavor/"><img class="size-large wp-image-794 alignnone" title="Endeavor WordPress Child Theme for Genesis Framework" src="http://flashingcursor.com/wp-content/uploads/2010/11/Endeavor-WordPress-Child-Theme-for-Genesis-Framework-630x582.png" alt="" width="630" height="582" /></a></div>
<blockquote>
<div class="mceTemp"><a href="http://www.themegarden.com/gil-rutkowski/endeavor/">Endeavor</a> is our newest WordPress theme for the StudioPress Genesis theme framework.  A custom jQuery slider widget makes this one shine and brings the content you&#8217;d like hi-lighted to your visitors attention with a smooth slide-in effect. Check out the <a href="http://www.themegarden.com/gil-rutkowski/endeavor/">demo and buy at ThemeGarden</a>.</div>
</blockquote>
<h2 class="mceTemp">Photo-Genic Genesis Child Theme</h2>
<h2 class="mceTemp"><a href="http://www.themegarden.com/gil-rutkowski/photo-genic/"><img class="size-large wp-image-217 alignnone" title="Screenshot - Photo-Genic Home Page" src="http://flashingcursor.com/wp-content/uploads/2010/08/Screenshot-Photo-Genic-Home-Page-630x669.png" alt="" width="630" height="669" /></a></h2>
<blockquote>
<div class="mceTemp"><a href="http://www.themegarden.com/gil-rutkowski/photo-genic/">PhotoGenic</a> is a basic portfolio style child theme for Genesis.  Some simple, but effective jQuery bring the homepage and selected category pages to life.  Check out the <a href="http://www.themegarden.com/gil-rutkowski/photo-genic/">demo and buy at ThemeGarden</a>.</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/black-friday-wordpress-theme-sale-790/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intro to Post Formats in WordPress 3.1</title>
		<link>http://flashingcursor.com/wordpress/intro-to-post-formats-in-wordpress-3-1-739</link>
		<comments>http://flashingcursor.com/wordpress/intro-to-post-formats-in-wordpress-3-1-739#comments</comments>
		<pubDate>Mon, 08 Nov 2010 05:29:44 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=739</guid>
		<description><![CDATA[WordPress 3.1 will introduce a simple new feature called &#8220;Post Formats&#8221; that should make theme developers very, very happy people. Although the feature is simple, in the hands of a creative designer it allows for some pretty major styling options with a single line of code.  If a designer also happens to have some minimal [...]]]></description>
				<content:encoded><![CDATA[<p>WordPress 3.1 will introduce a simple new feature called &#8220;Post Formats&#8221; that should make theme developers very, very happy people. Although the feature is simple, in the hands of a creative designer it allows for some pretty major styling options with a single line of code.  If a designer also happens to have some minimal PHP savvy, it has some pretty tremendous creative potential.</p>
<p>Basically, Post Formats are just meta information and some front-end style additions to allow a theme author to customize individual posts both in &#8220;the Loop&#8221; and on single post pages.  Yes, it&#8217;s something that some theme authors have already been doing using categories or tags and some custom code &#8212; but this is easier and it also allows for some standardization and portability between themes which I think is the most important part.</p>
<p>At the time of this writing Post Formats is still in its early incarnation, so some things may change before the release of version 3.1.  That said, I think the feature is at a stage where we can start playing with it without much risk of major changes.</p>
<p><span style="font-size: 15px; font-weight: bold;">The basics:  Activating Post Formats</span></p>
<pre class="brush: php; title: ; notranslate">add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );</pre>
<p><img class="size-full wp-image-751 alignright" title="post formats meta box" src="http://flashingcursor.com/wp-content/uploads/2010/11/post-formats-meta-box.png" alt="Post Formats in Publish Meta Box" width="285" height="226" /></p>
<p>That&#8217;s it!  That single line of code is all that&#8217;s needed to activate Post Formats in your theme.</p>
<p>Once active, a few things will automatically happen.</p>
<p>On the back-end, users will now be presented with a <em>Format</em> option in the Publish meta box of the post editor screen.</p>
<p>On the front-end, a couple of things happen. The post_class() function that most themes use to will start adding &#8216;format-&#8217; classes to each post wrapper and the body_class() function will add &#8216;single-format-&#8217; to the page body class.</p>
<p>A quick example of how to make use of this new class would could be as simple as this:</p>
<pre class="brush: plain; title: ; notranslate">#content .format-default h2 {
   font-size: 32px;
   font-color: #333333;
}
#content .format-aside h2 {
   display: none;
}</pre>
<p>In this example, we&#8217;re not doing much more than changing the title formatting of two post formats, but as you can imagine, this could be applied to every element of each post.</p>
<p><strong>Supported Arguments</strong></p>
<p>Post formats has just one argument.  The supported post formats.  Because this feature is intended to be standardized and portable between themes, custom formats are not an option. Currently supported (per the codex):</p>
<ul>
<li>aside &#8211; Typically styled without a title. Similar to a Facebook status update.</li>
<li>chat &#8211; A chat transcript.</li>
<li>gallery &#8211; A gallery of images.</li>
<li>link &#8211; A link to another site.</li>
<li>image &#8211; A single image.</li>
<li>quote &#8211; A quotation.</li>
<li>status &#8211; A short status update, usually limited to 140 characters. Similar to a Twitter status update.</li>
<li>video &#8211; A single video.</li>
</ul>
<p>Enable support for each post format by adding it to the array in add_theme_support.</p>
<p><strong>Additional Functions:</strong></p>
<p>At the moment, the post formats feature only brings one new function to the table:</p>
<pre class="brush: php; title: ; notranslate">get_post_format( $post-&gt;ID )</pre>
<p>This returns the post format of the current post &#8211; very useful in a custom loop to take your customization&#8217;s further than you could with a pure CSS solution.</p>
<p><strong>More Info</strong></p>
<p>There&#8217;s already been a fair bit of discussion about why custom post formats aren&#8217;t being supported.  Frankly, the logic behind this is simple and solid:  the feature is designed to be portable and standardized.  Allowing for a custom option steps all over that logic &#8212; the instant &#8216;custom&#8217; becomes an option, standards and portability go out the window.  As much as I&#8217;d like to see every feature in WordPress as customizable as possible, this is one case where I think it&#8217;ll be more globally beneficial to keep options broad but standardized.</p>
<p>If you can think of post formats that are missing, get yourself over to this <a href="http://core.trac.wordpress.org/ticket/14746">trac ticket (#14746)</a> and make your case for inclusion.</p>
<p>UPDATE:  Or join in here: <a href="http://wpdevel.wordpress.com/2010/11/11/list-of-post-formats/">http://wpdevel.wordpress.com/2010/11/11/list-of-post-formats/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/wordpress/intro-to-post-formats-in-wordpress-3-1-739/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Install Google mod_pagespeed with DirectAdmin</title>
		<link>http://flashingcursor.com/apache/install-google-mod_pagespeed-with-directadmin-721</link>
		<comments>http://flashingcursor.com/apache/install-google-mod_pagespeed-with-directadmin-721#comments</comments>
		<pubDate>Sun, 07 Nov 2010 00:04:26 +0000</pubDate>
		<dc:creator>Gil Rutkowski</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://flashingcursor.com/?p=721</guid>
		<description><![CDATA[Earlier this week, Google released an open source Apache module to simplify the optimization of your content.  The module, mod_pagespeed, will do all sorts of magic like minify your JS/CSS and optimize images, and a handful of other optimizations that seem (from limited testing) to improve your servers performance considerably. Google has provided a couple [...]]]></description>
				<content:encoded><![CDATA[<p>Earlier this week, Google released an open source Apache module to simplify the optimization of your content.  The module, mod_pagespeed, will do all sorts of magic like minify your JS/CSS and optimize images, and a handful of other optimizations that seem (from limited testing) to improve your servers performance considerably.</p>
<p>Google has provided a couple of RPM&#8217;s to help with installation, unfortunately, if you&#8217;re running DirectAdmin on CentOS, they won&#8217;t work.  DirectAdmin runs a compiled Apache with some slightly different defaults and installing using YUM or RPM will fail dependency checks.</p>
<p>In this article, I&#8217;ll explain how to get around the dependency issues and adjust your configuration.  I have to warn you that this is NOT something I recommend you do on a regular basis unless you&#8217;re an experienced Linux Admin, in which case you probably won&#8217;t need this tutorial. Overriding RPM dependencies can have some adverse effects on your system.  In this case we know most DirectAdmin / CentOS systems share a very similar configuration, so it&#8217;s not much of a risk.</p>
<p><a href="http://code.google.com/speed/page-speed/download.html">Download</a> a copy of the CentOS RPM or wget it from your shell:</p>
<blockquote><p>wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm &lt;&#8211; 32bit<br />
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm &lt;&#8211; 64bit</p></blockquote>
<p>Since you&#8217;re running on a DirectAdmin server, trying to install using YUM or RPM will fail dependency checks since Apache is built from source.  We&#8217;ll have to force the installation and make a couple of changes to our systems configuration files:</p>
<blockquote><p>rpm -i &#8211;nodeps mod-pagespeed-beta_current_.rpm</p></blockquote>
<blockquote><p>vi <span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif; font-size: 13px;">/etc/httpd/conf/extra/httpd-includes.conf</span></span></p></blockquote>
<p>And add the following to the top of the file:</p>
<blockquote><p>#Google PageSpeed Module<br />
Include /etc/httpd/conf.d/pagespeed.conf</p></blockquote>
<p>Next you&#8217;ll need to edit your main httpd.conf file:</p>
<blockquote><p>vi /etc/httpd/conf/httpd.conf</p></blockquote>
<p>Find and remove the line:</p>
<blockquote><p>Include conf/extra/httpd-deflate.conf</p></blockquote>
<p>If you&#8217;d like to change the options for PageSpeed, it&#8217;s configuration file is located in <strong>/etc/httpd/conf.d/pagespeed.conf</strong></p>
<p>Once everything is set, we&#8217;ll need to restart Apache and test to see if the module loaded properly:</p>
<blockquote><p>service httpd restart</p></blockquote>
<p>and</p>
<blockquote><p>apachectl -t -D DUMP_MODULES | grep pagespeed</p></blockquote>
<p>If you get the following output, everything should be installed and functioning properly:</p>
<blockquote><p>Syntax OK<br />
pagespeed_module (shared)</p></blockquote>
<p>You should also check any .htaccess files you may use and remove any instances of <em>&#8216;setoutputfilter&#8217;</em> as this will probably override what mod_pagespeed is doing.</p>
<p>There you have it!  Load up a copy of FireFox with the PageSpeed installed and check out how your score has improved.  In my case, with all other caching disabled, I went from a score of 60 to an 82.  Not a bad improvement if you ask me!<span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: 'Times New Roman'; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif; font-size: 13px;"><br />
</span></span></p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 112px; width: 1px; height: 1px; overflow: hidden;"><span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif; font-size: 13px;"> </span></span></span></p>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" style="background-color: #e1e4f2; color: #000000; margin: 0px; padding: 6px; border-width: 1px; border-style: inset; width: 640px; height: 34px; text-align: left; overflow: auto;" dir="ltr">rpm -i --nodeps (the right version of mod_pagespeed).rpm</pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://flashingcursor.com/apache/install-google-mod_pagespeed-with-directadmin-721/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic

Served from: flashingcursor.com @ 2013-05-22 23:54:48 -->