<?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>MaisonBisson.com &#187; development</title>
	<atom:link href="http://maisonbisson.com/blog/post/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://maisonbisson.com</link>
	<description>A bunch of stuff I would have emailed you about.</description>
	<lastBuildDate>Sat, 14 Nov 2009 20:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The WordPress Way</title>
		<link>http://maisonbisson.com/blog/post/14138/the-wordpress-way/</link>
		<comments>http://maisonbisson.com/blog/post/14138/the-wordpress-way/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:42:18 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=14138</guid>
		<description><![CDATA[
Plugin Development
Will Norris&#8216; talk at WordCamp PDX introduces WordPress coding standards, common functions, and constants to would be plugin developers (and smacks those who&#8217;ve already done it wrong). Also notable: functions, classes, variables, and constants in the WordPress trunk.
Custom Installations
Just as WordPress has a number of hooks and filters that plugins can use to modify [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-14138"><!-- &nbsp; --></abbr>
<h3 id="14138_plugin-development_1">Plugin Development</h3>
<p><a href="http://willnorris.com/">Will Norris</a>&#8216; talk at <a href="http://www.wordcampportland.org/">WordCamp PDX</a> introduces <a title="Will Norris: How NOT to Build a WordPress Plugin « WordPress.tv" href="http://wordpress.tv/2009/09/20/will-norris-building-plugins-portland09/">WordPress coding standards, common functions, and constants</a> to would be plugin developers (and smacks those who&#8217;ve already done it wrong). Also notable: <a title="PHP Cross Reference (PHPXref) of: WordPress Trunk - Provided by Yoast" href="http://xref.yoast.com/trunk/nav.html?_functions/index.html">functions</a>, <a title="PHP Cross Reference (PHPXref) of: WordPress Trunk - Provided by Yoast" href="http://xref.yoast.com/trunk/nav.html?_classes/index.html">classes</a>, <a title="PHP Cross Reference (PHPXref) of: WordPress Trunk - Provided by Yoast" href="http://xref.yoast.com/trunk/nav.html?_variables/index.html">variables</a>, and <a title="PHP Cross Reference (PHPXref) of: WordPress Trunk - Provided by Yoast" href="http://xref.yoast.com/trunk/nav.html?_constants/index.html">constants</a> in the WordPress trunk.</p>
<h3 id="14138_custom-installations_1">Custom Installations</h3>
<p>Just as WordPress has a number of hooks and filters that plugins can use to modify and extend behavior, it also has <a title="Automating WordPress customizations – the install.php way « WordPress Bits" href="http://wpbits.wordpress.com/2007/08/10/automating-wordpress-customizations-the-installphp-way/">a cool way to customize the installation process</a>.</p>
<h3 id="14138_extending-the-wysiwy_1">Extending The WYSIWYG Editor</h3>
<p><a title="TinyMCE - Home" href="http://tinymce.moxiecode.com/">TinyMCE</a>, the WYSIWYG editor in WordPress has a rich API to allow adding buttons and stuff, but <a href="http://tinymce.moxiecode.com/documentation.php">the docs are hard to get into</a>. We can get a jump on that by looking at how it&#8217;s implemented in other WP plugins.  <a title="/vipers-video-quicktags/trunk/resources/tinymce3/editor_plugin.js – WordPress Plugin Repository" href="http://plugins.trac.wordpress.org/browser/vipers-video-quicktags/trunk/resources/tinymce3/editor_plugin.js">This code creates the buttons</a>, while the function that <a title="/vipers-video-quicktags/trunk/vipers-video-quicktags.php – WordPress Plugin Repository" href="http://plugins.trac.wordpress.org/browser/vipers-video-quicktags/trunk/vipers-video-quicktags.php#L658">responds to the button click and does the work</a> is defined within the plugin. The <a title="/tags/2.8.4/wp-includes/js/tinymce/plugins – WordPress Trac" href="http://core.trac.wordpress.org/browser/tags/2.8.4/wp-includes/js/tinymce/plugins">TinyMCE plugins in core</a> are also informative.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/14138/the-wordpress-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.6 Plugin and wp-config.php Path Changes</title>
		<link>http://maisonbisson.com/blog/post/12172/wordpress-26-plugin-and-wp-configphp-path-changes/</link>
		<comments>http://maisonbisson.com/blog/post/12172/wordpress-26-plugin-and-wp-configphp-path-changes/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 14:29:11 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[paths]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress 2.6]]></category>
		<category><![CDATA[wp-content]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12172</guid>
		<description><![CDATA[
Ozh&#8217;s tutorial explains the details, but the short story is that we&#8217;ll soon get WP_CONTENT_URL and WP_CONTENT_DIR constants. And this is more than just convenience, 2.6 allows site admins to put those directories anywhere they want, so the constants will be the only reliable way of finding that info.
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12172"><!-- &nbsp; --></abbr>
<p><a href="http://planetozh.com/blog/2008/07/what-plugin-coders-must-know-about-wordpress-26/" title="What Plugin Coders Must Know About WordPress 2.6 « planetOzh">Ozh&#8217;s tutorial explains the details</a>, but the short story is that we&#8217;ll soon get <code>WP_CONTENT_URL</code> and <code>WP_CONTENT_DIR</code> constants. And this is more than just convenience, 2.6 allows site admins to put those directories anywhere they want, so the constants will be the only reliable way of finding that info.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12172/wordpress-26-plugin-and-wp-configphp-path-changes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bSuite 4 beta 2</title>
		<link>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/</link>
		<comments>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:19:40 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite bstat]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12149</guid>
		<description><![CDATA[
I announced the bSuite 4 public beta not long ago, now I&#8217;ve just posted a new version to SVN that addresses some of the bugs and fleshes out some of the features. I have yet to update the bSuite page, but here&#8217;s a preview of what&#8217;s new or changed:

Additional stats reports
WP2.5-style tag input tools on [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12149"><!-- &nbsp; --></abbr>
<p>I announced the <a href="http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta" title="» bSuite 4 Public Beta">bSuite 4 public beta</a> not long ago, now I&#8217;ve just posted a <a href="http://svn.wp-plugins.org/bsuite/tags/4beta2/">new version to SVN</a> that addresses some of the bugs and fleshes out some of the features. I have yet to update the <a href="http://maisonbisson.com/blog/bsuite" title="» bSuite 4">bSuite page</a>, but here&#8217;s a preview of what&#8217;s new or changed:</p>
<ul>
<li>Additional stats reports</li>
<li>WP2.5-style tag input tools on the Page edit screen*</li>
<li>WP2.5-style category selector on the Page edit screen*</li>
<li>WP2.5-style excerpt input on the Page edit screen*</li>
<li>For multi-author sites: ability to grant edit permissions by role for each page (with a configurable default)</li>
<li>An “include” shortcode that makes it easy to show content from one post or page on another.</li>
</ul>
<p>About the new shortcode, use it like this:<br />
<code>[inclu</code><code>de post_id=“1234” url=“a url to a post or page in your blog” field=“post_excerpt”]</code></p>
<p>One of <code>post_id</code> or <code>url</code> is required; <code>field</code> is optional and defaults to <code>post_excerpt</code> first, then to <code>post_content</code> if there is no excerpt.</p>
<p>*Why would you want to input tags, set categories, or add an excerpt to a Page? They help readers find and explore our content. What&#8217;s so wrong with that?</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bSuite 4 Public Beta</title>
		<link>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/</link>
		<comments>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 22:00:00 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite bstat]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12142</guid>
		<description><![CDATA[
I&#8217;ve had a lot of features on the table for bSuite for a while, but this recently discovered comment from John Pratt (whose Smorgasboard.net is a lot of fun), kicked me into gear to actually get working on it again. The result is bSuite 4, which is probably what bSuite 3 should have been all [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12142"><!-- &nbsp; --></abbr>
<p>I&#8217;ve had a lot of features on the table for bSuite for a while, but this <a href="http://wordpress.org/support/topic/143666#post-659957">recently discovered comment</a> from John Pratt (whose <a href="http://www.smorgasbord.net/">Smorgasboard.net</a> is a lot of fun), kicked me into gear to actually get working on it again. The result is <a href="http://maisonbisson.com/blog/bsuite/">bSuite 4</a>, which is probably what bSuite 3 should have been all along.</p>
<p><a href="http://www.flickr.com/photos/maisonbisson/2513646929/" title="bSuite4 vs. caching by misterbisson, on Flickr"><img src="http://farm3.static.flickr.com/2382/2513646929_0a0053b3a7_m.jpg" width="229" height="240" alt="bSuite4 vs. caching" style="float: right; border: 1px solid light-gray; margin: 0 0 6px 6px;" /></a>The big news is that I&#8217;ve finally revamped stats tracking to work with caching mechanisms like WP Cache, <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>, Varnish, or whatever else. I&#8217;ve also got the search word highlighting working again, and that&#8217;s cache-friendly too. Yay for javascript, I say.</p>
<p>And in addition to making the stats cache-friendly, I&#8217;ve made them a little smarter, faster, and more useful. bSuite now tracks sessions, and reports both the number of page loads and the number of visitors to your site. To improve performance, stats are first recorded to a small table for incoming hits, then periodically processed (“migrated”) into the tables used to report stats. This reduces contention and improves write speeds for incoming stats hits.</p>
<p>The stats report now gets graphs for both the previous 24 hours and 30 days of activity. And because unlike external stats solutions, bSuite is integrated into your site, it can also report on your most popular tags and categories based on traffic.</p>
<p>I&#8217;ve also implemented a large number of improvements, bug fixes from the previous versions. Big thanks go to <a href="http://borkweb.com/">Matthew Batchelder</a> (who helped with the javascript code), <a href="http://taisteal.atomiclemur.com/">Jon Link</a> (who both pointed out a lot of bugs in bSuite 3 and helped answer questions in the forums), <a href="http://nosheep.net/">Zach Tirrell</a> (who helped develop migration strategy ages ago), and to everybody who&#8217;s posted a comment or review related to bSuite.</p>
<p>This is beta software, and some things definitely don&#8217;t work. The stats are working solidly, the other features appear free of catastrophic bugs, and I&#8217;ve had it running (in various stages of development) here at MaisonBisson for a month now. Still, read <a href="http://maisonbisson.com/blog/bsuite#12138_license-warranty_1">the warranty</a> (there is none) and don&#8217;t blame me if Boba Fett jumps out of your server after installing it.</p>
<p>Get the details at the <a href="http://maisonbisson.com/blog/bsuite/">bSuite page</a>, download bSuite <a href="http://wordpress.org/extend/plugins/bsuite/download/">4beta1 here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WordPress 2.1 + WPopac</title>
		<link>http://maisonbisson.com/blog/post/11522/wordpress-21-wpopac/</link>
		<comments>http://maisonbisson.com/blog/post/11522/wordpress-21-wpopac/#comments</comments>
		<pubDate>Tue, 12 Dec 2006 14:58:24 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[WordPress 2.1]]></category>
		<category><![CDATA[wpopac]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11522/</guid>
		<description><![CDATA[
I&#8217;ve been following WP2.1 development, but Aaron Brazell&#8217;s post in the development blog wrapped up a lot of questions all at once.
The short story is that 2.1 is going to bring some really good changes that will allow more flexibility and better optimization of WPopac. Of the four changes Brazell names, the last two, the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11522"><!-- &nbsp; --></abbr>
<p>I&#8217;ve been following WP2.1 development, but <a href="http://wordpress.org/development/2006/12/naughty-or-nice/">Aaron Brazell&#8217;s post in the development blog</a> wrapped up a lot of questions all at once.</p>
<p>The short story is that 2.1 is going to bring some really good changes that will allow more flexibility and better optimization of WPopac. Of the four changes Brazell names, the last two, the addition of the <code>post_type</code> column and a change in usage of the <code>post_status</code> column, are where the money is.</p>
<p>I&#8217;m awaiting the final release of 2.1 before building the necessary changes into WPopac, but the benefits will be worth it.</p>
<p><tags>WordPress 2.1, WPopac, optimization, development</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11522/wordpress-21-wpopac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things I Need To Incorporate Into Various Projects</title>
		<link>http://maisonbisson.com/blog/post/11437/things-i-need-to-incorporate-into-various-projects/</link>
		<comments>http://maisonbisson.com/blog/post/11437/things-i-need-to-incorporate-into-various-projects/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 00:57:07 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pspell]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11437/</guid>
		<description><![CDATA[

memcached, a “highly effective caching daemon, &#8230;designed to decrease database load in dynamic web applications,” and the related PHP functions 
pspell PHP functions related to  aspell and this pspell overview from Zend 
http_build_query, duh? 
current connected mysql threads * unix load average = system busy; reduce operations when $system_busy > $x 

development, memcached, mysql, [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11437"><!-- &nbsp; --></abbr>
<ul>
<li><a href="http://danga.com/memcached/" title="memcached: a distributed memory object caching system">memcached</a>, a “highly effective caching daemon, &#8230;designed to decrease database load in dynamic web applications,” and the related <a href="http://us3.php.net/memcache" title="PHP: Memcache Functions - Manual">PHP functions</a> </li>
<li><a href="http://us2.php.net/manual/en/ref.pspell.php" title="PHP: Pspell Functions - Manual">pspell PHP functions</a> related to  <a href="http://aspell.net/" title="GNU Aspell">aspell</a> and this <a href="http://www.zend.com/zend/spotlight/spellchecking.php" title="Zend Technologies - Code Gallery Spotlight - Spell checking in PHP">pspell overview from Zend</a> </li>
<li><a href="http://us2.php.net/manual/en/function.http-build-query.php" title="PHP: http_build_query - Manual">http_build_query</a>, duh? </li>
<li>current <a href="http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html">connected mysql threads</a> * <a href="http://php.net/manual/en/function.sys-getloadavg.php">unix load average</a> = system busy; reduce operations when $system_busy > $x </li>
</ul>
<p><tags>development, memcached, mysql, php, pspell</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11437/things-i-need-to-incorporate-into-various-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Q: Why Do Some Things Suck?</title>
		<link>http://maisonbisson.com/blog/post/11291/q-why-do-some-things-suck/</link>
		<comments>http://maisonbisson.com/blog/post/11291/q-why-do-some-things-suck/#comments</comments>
		<pubDate>Thu, 04 May 2006 20:54:48 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[bad answers]]></category>
		<category><![CDATA[compare]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[crap]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[future libraries]]></category>
		<category><![CDATA[lib20]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[library 2.0]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[suck]]></category>
		<category><![CDATA[sucks]]></category>
		<category><![CDATA[sucky]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11291/</guid>
		<description><![CDATA[
A: Because we compare them to the wrong things. 
I&#8217;m in training today for a piece of software used in libraries. It&#8217;s the second of three days of training and things aren&#8217;t going well. Some stuff doesn&#8217;t work, some things don&#8217;t work the first (second, third&#8230;ninth) time, and other things just don&#8217;t make sense. At [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11291"><!-- &nbsp; --></abbr>
<p><strong>A: Because we compare them to the wrong things. </strong></p>
<p>I&#8217;m in training today for a piece of software used in libraries. It&#8217;s the second of three days of training and things aren&#8217;t going well. Some stuff doesn&#8217;t work, some things don&#8217;t work the first (second, third&#8230;ninth) time, and other things just don&#8217;t make sense. At lunch, one of the other participants mentioned to the trainer that some of the activities in the software seemed to have too many steps, too many places to go wrong, too many turns between beginning and end.</p>
<p>The answer began by explaining that the most analogous activity would be the acquisition of books for the collection. Adding a book to the collection requires first identifying the book, reading the reviews, choosing to purchase, identifying a vendor and cost, identifying funding, ordering, receiving, cataloging&#8230;</p>
<p>The list went on, perhaps with too much detail, but it landed on the following: “there are at least 12 steps to just putting a book on the shelf. When you think about it like that, our software is easy.”</p>
<p>I bit my tongue at that moment, but I&#8217;ve been grinding my teeth about it since.</p>
<p>Here&#8217;s what&#8217;s eating me: You can compare one unlikable thing to any other unlikable thing and come out ahead, but what about “real-world” comparisons?</p>
<p>Paul Graham explains in his “<a href="http://www.paulgraham.com/startuplessons.html">Hardest Lessons For Startups To Learn</a>” essay that developers often compare themselves to the wrong things, misunderstanding who their competition is:</p>
<blockquote><p>A lot of startups worry “what if Google builds something like us?”</p>
<p>What you should fear, as a startup, is not the established players, but other startups you don&#8217;t know exist yet. They&#8217;re way more dangerous than Google because, like you, they&#8217;re cornered animals.</p>
<p>Looking just at existing competitors can give you a false sense of security. <strong>You should compete against what someone else <em>could</em> be doing</strong>, not just what you can see people doing. A corollary is that you shouldn&#8217;t relax just because you have no visible competitors yet. No matter what your idea, there&#8217;s someone else out there working on the same thing. (emphasis added)</p></blockquote>
<p>Graham is talking to startups, but switch some words around and you&#8217;ll get my message: if you compare yourself to something that sucks, you&#8217;ll only be able to say you&#8217;re more or less sucky.</p>
<p>A better comparison for this product would have been against <a href="http://www.flickr.com/">flickr</a>, where activities that are closely analogous to those in the software we&#8217;re being trained on often require only one step. And taking Graham&#8217;s advice, the best way to approach it would be constantly ask &#8220;can we do this better?&#8221; &#8220;Could a competitor we don&#8217;t yet know about do this better?&#8221;</p>
<p>(Aside: social software is that which gets spammed, <a href="http://many.corante.com/archives/2005/02/16/social_software_stuff_that_gets_you_laid.php">that which gets you laid</a>, and that which you&#8217;ll need no training on.) </p>
<p>Please, stand with me now and repeat: </p>
<blockquote><p>When something sucks I will say so. When vendors spout crap I will call them on it. My staff deserve good tools, my users need good tools, and I can&#8217;t afford to buy stuff that sucks.</p></blockquote>
<p>Together, we&#8217;ll fix the world one product at a time.</p>
<p><tags>bad answers, compare, comparison, competition, crap, developers, development, failure, future libraries, lib20, libraries, library 2.0, software, startups, suck, sucks, sucky, training, vendors</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11291/q-why-do-some-things-suck/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>