<?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>code.openark.org &#187; Planet</title>
	<atom:link href="http://code.openark.org/blog/tag/planet/feed" rel="self" type="application/rss+xml" />
	<link>http://code.openark.org/blog</link>
	<description>Blog by Shlomi Noach</description>
	<lastBuildDate>Wed, 01 Feb 2012 08:19:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Tales of the trade #5: How to author a super successful MySQL blog</title>
		<link>http://code.openark.org/blog/mysql/tales-of-the-trade-4-how-to-author-a-super-successful-mysql-blog</link>
		<comments>http://code.openark.org/blog/mysql/tales-of-the-trade-4-how-to-author-a-super-successful-mysql-blog#comments</comments>
		<pubDate>Wed, 18 May 2011 08:00:14 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=3605</guid>
		<description><![CDATA[Check out the following tutorial that teaches you how to become a popular MySQL blog author: Complete strip: tales-of-the-trade-make-your-mysql-blog-popular-full.png]]></description>
			<content:encoded><![CDATA[<p>Check out the following tutorial that teaches you how to become a popular MySQL blog author:</p>
<p><a href="http://code.openark.org/blog/wp-content/uploads/2011/05/How-to-author-a-super-successful-MySQL-blog-strip_1-strip_1.png"><img class="alignnone size-full wp-image-3645" title="How-to-author-a-super-successful-MySQL-blog-strip_1" src="http://code.openark.org/blog/wp-content/uploads/2011/05/strip_1.png" alt="How-to-author-a-super-successful-MySQL-blog-strip_1" width="800" height="1103" /></a></p>
<p><!-- This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. This comment hopefully makes aggregating readers skip the rest of the images in this post. --><br />
<a href="http://code.openark.org/blog/wp-content/uploads/2011/05/How-to-author-a-super-successful-MySQL-blog-strip_1-strip_2.png"><img class="alignnone size-full wp-image-3646" title="How-to-author-a-super-successful-MySQL-blog-strip_1-strip_2" src="http://code.openark.org/blog/wp-content/uploads/2011/05/strip_2.png" alt="How-to-author-a-super-successful-MySQL-blog-strip_1-strip_2" width="800" height="1061" /></a><a href="http://code.openark.org/blog/wp-content/uploads/2011/05/How-to-author-a-super-successful-MySQL-blog-strip_1-strip_3.png"><img class="alignnone size-full wp-image-3647" title="How-to-author-a-super-successful-MySQL-blog-strip_1-strip_3" src="http://code.openark.org/blog/wp-content/uploads/2011/05/strip_3.png" alt="How-to-author-a-super-successful-MySQL-blog-strip_1-strip_3" width="800" height="1005" /></a></p>
<p>Complete strip: <a href="http://code.openark.org/blog/wp-content/uploads/2011/05/tales-of-the-trade-make-your-mysql-blog-popular-full.png">tales-of-the-trade-make-your-mysql-blog-popular-full.png</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/tales-of-the-trade-4-how-to-author-a-super-successful-mysql-blog/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Impressions from MySQL conf 2011, part IV</title>
		<link>http://code.openark.org/blog/mysql/impressions-from-mysql-conf-2011-part-iv</link>
		<comments>http://code.openark.org/blog/mysql/impressions-from-mysql-conf-2011-part-iv#comments</comments>
		<pubDate>Tue, 19 Apr 2011 12:08:40 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=3474</guid>
		<description><![CDATA[This post concludes my impressions from some of the talks I’ve been to. Thursday OQGRAPH: Dealing with Graphs and Hierarchies in Plain SQL / Antony Curtis (Blizzard Entertainment) I opened this day's sessions with a smile. Antony Curtis and Arjen Lentz have authored the OQGraph storage engine a while back. I had every intention to [...]]]></description>
			<content:encoded><![CDATA[<p>This post concludes my impressions from some of the talks I’ve been to.</p>
<h4>Thursday</h4>
<ul>
<li><a href="http://en.oreilly.com/mysql2011/public/schedule/detail/17189">OQGRAPH: Dealing with Graphs and Hierarchies in Plain SQL</a> / <em>Antony Curtis (Blizzard Entertainment)</em></li>
</ul>
<p>I opened this day's sessions with a smile.</p>
<p>Antony Curtis and Arjen Lentz have authored the OQGraph storage engine a while back. I had every intention to try it out, but never got round to it. Which is why I was happy to find this session in the conference. OQGraph is a specialized engine, and comes to solve hierarchal or otherwise graph-related queries, such as: <em>"who are the descendants of a given node"</em>, <em>"find a route from a to b"</em>, etc. MySQL does not support the <strong>RECURSIVE</strong> syntax as Oracle does, and does not provide out-of-the-box solution for that.</p>
<p>The syntax is just excellent: you just write something like <strong>SELECT * FROM my_graph WHERE from_node = 'empusa fasciata' AND to_node = 'homo sapiens'</strong> to find a route. Otherwise just use <strong>WHERE from_node = 'Heathrow Central'</strong> to find all outgoing links. So this is just plain old SQL, no new syntax involved.</p>
<p>I rounded corners. It is also possible (and required) to specify an algorithm. Do you want Djekstra? BFS? You specify it in the query. The result of a route query is a rowset, where each row is a step in the route, along with its sequence within the route. So you can do your <strong>ORDER BY</strong>, <strong>LIMIT</strong> etc. I find that syntax-wise, <em>OQGraph</em> is very intuitive!<span id="more-3474"></span></p>
<p>Implementation-wise, there are two versions: <strong>2</strong> (stable) and <strong>3</strong> (testing), which are very different. In version <strong>2</strong> you must create and populate an OQGraph table. You must populate it with <em>from-to;weight</em> values. The entire table is stored in memory a-la MEMORY engine. In version <strong>3</strong> the OQGraph is not directly populated. Instead, you use the <strong>CONNECTION</strong> table property to identify a real table where the data resides, along with the names of the relevant columns. So your data can reside within your normal InnoDB table, and your queries will follow your normal isolation-level rules.</p>
<p>Graph search implementation is done via the <em>boost()</em> library. This means that information must be loaded in memory. Tests show that up to a million or a few million edges are as much as <em>OQGraph</em> can take. So right now it may not fit your requirements is you need larger datasets.</p>
<p>Antony seemed like he was enjoying every minute of writing OQGraph, was very aware of current limitations, and offered great ideas on improvement. The version <strong>3</strong> design is a huge improvement over version <strong>2</strong>, and I can't wait to see how it evolves!</p>
<ul>
<li><a href="http://en.oreilly.com/mysql2011/public/schedule/detail/17524">Error Detection and Correction with MySQL Replication</a> / <em>Daniel Peek (Facebook)</em></li>
</ul>
<p>An interesting view into Facebook's attempt to locate &amp; define data drifts within MySQL replication. Apparently, Facebook guys realized there were some inconsistencies between masters and slaves. They embarked on a mission to find out what exactly was inconsistent, and why.</p>
<p>Daniel Peek described their method of detecting changes. In similar manner to Maatkit's <em>mk-table-checksum</em>, they use hash codes over chunks of rows. To be more specific: in order to detect the differences (if any) between master &amp; slaves on a given table, they iterate said table in chunks, such that first line of any chunk overlaps with last line of previous chunk. This is easily done when there's unique key, less so when there isn't. They copy rows to a utility table a chunk at a time (e.g. <strong>1,000</strong> rows at a time), and take checksum. Their script then compared checksum on master &amp; slaves. If it equals, they conclude (at very high probability) that tested chunk is identical. Otherwise they take action to detect the exact row that is changed.</p>
<p>When the two chunks do not have the same number of rows, then there's at the very least a missing or extra row in either master or slave. Otherwise, there's a change in column's data. Apparently, nearly all data drifts are changes in column data, not missing or extra rows.</p>
<p>To make a long story short, they realized most of their data drift related to TIMESTAMPs. After realizing some timezone settings were incorrect, they were still left with <strong>0.00056%</strong> (if my memory serves me right) worth of data drift. How often do they do this test? <em>Once</em>, is the reply. What is the meaning of <strong>0.00056%</strong>? <em>We don't know</em>, is the answer.</p>
<p>And, although we are left with unanswered questions: <em>Why does that happen? How can we detect such changes in reasonable time? What should we do once we realize there is a drift? Whom shall we trust?</em> We have gone to length to recognize a way to detect such drifts.</p>
<ul>
<li><a href="http://en.oreilly.com/mysql2011/public/schedule/detail/17146">Summary Tables, Aggregate Tables and Materialized Views Using Flexviews</a> / <em>Justin Swanhart (Percona)</em></li>
</ul>
<p>The conference had to end with a bang. In the last three years (hopefully with some sleep), Justin Swanhart has been working on what seems to me like an utterly (positively) crazy project: Flexviews: a materialized views solution for MySQL.</p>
<p>MySQL's native views are immaterialized. There is no data in them. When you access the view, you directly query the tables beneath. Justin's code allows you to create a materialized view (implemented as an actual MySQL table), which can utilize almost any type of SELECT you would want to use. It can only SELECT tables (including other materialized views).</p>
<p>How does this work? You don't directly create your materialized view. You get a set of stored routines with which you create the view. Each provides with a simple step in the creation of the view (e.g. JOIN to this table, return this column, etc.). You don't have to worry too much about this, since Justin provides with a PHP script which translates a SQL query to the required invocation sequence of said routines.</p>
<p>OK, view is created. What then? <em>Flexviews</em> reads binary logs (must be in ROW binlog format), and decides whether logged action manipulates tables used by any materialized table. If so, it logs that action into a special log table.</p>
<p>What have we got so far? SQL parser which generates sequence of stored routines; sequence of stored routines which creates a table, while storing structure; Binlog reader, capable of recognizing relevant events, associating them with relevant materialized views; and, most importantly, some brains which can figure out <em>just how</em> said event affects data. Think about it: say our query did some aggregation, with COUNT(*) or SUM(column). To be able to update the aggregated result based on the fact a few rows have been added/deleted/updated sounds to me like very hard work.</p>
<p>Flexviews do not get updated immediately, but rather on demand. It's all in the logs, it's just a matter of when to apply the logs. We had a very nice &amp; simple demonstration of this.</p>
<p>I don't mean to be too superlative, but this was a very impressive session, and myself, as well as other people, all had an occasional <em>"wow"</em> slip during and concluding this talk.</p>
<h4>Throughout the week</h4>
<ul>
<li>Planet MySQL</li>
</ul>
<p>During conference, <a href="http://planet.mysql.com/">Planet MySQL</a> was swamped with various announcements. Little were technical    announcements, like "X.X has been released", and most were purely    marketing announcements. This is to be expected; everyone wants to make a    living. I think it is quite all right that for <strong>4</strong> days a year, the    planet is mostly marketing stuff. I personally mostly ignore the planet    during these days.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/impressions-from-mysql-conf-2011-part-iv/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tales of the Trade #4: new home for the MySQL dolphins</title>
		<link>http://code.openark.org/blog/mysql/tales-of-the-trade-4-new-home-for-the-mysql-dolphins</link>
		<comments>http://code.openark.org/blog/mysql/tales-of-the-trade-4-new-home-for-the-mysql-dolphins#comments</comments>
		<pubDate>Mon, 05 Jul 2010 12:18:55 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=2655</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.openark.org/blog/wp-content/uploads/2010/07/tales-of-the-trade-new-home-for-dolphins.png"><img class="alignnone size-full wp-image-2654" title="tales-of-the-trade-new-home-for-dolphins" src="http://code.openark.org/blog/wp-content/uploads/2010/07/tales-of-the-trade-new-home-for-dolphins.png" alt="" width="640" height="2235" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/tales-of-the-trade-4-new-home-for-the-mysql-dolphins/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tales of the Trade #2: The Oracle-Sun deal</title>
		<link>http://code.openark.org/blog/mysql/tales-of-the-trade-2-the-oracle-sun-deal</link>
		<comments>http://code.openark.org/blog/mysql/tales-of-the-trade-2-the-oracle-sun-deal#comments</comments>
		<pubDate>Sun, 03 Jan 2010 12:31:23 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=1848</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1855" title="tales-of-the-trade-orace-sun-deal" src="http://code.openark.org/blog/wp-content/uploads/2010/01/tales-of-the-trade-orace-sun-deal2.png" alt="" width="700" height="691" /></p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/tales-of-the-trade-2-the-oracle-sun-deal/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>On free and open blog posts: this post is free</title>
		<link>http://code.openark.org/blog/mysql/on-free-and-open-blog-posts-this-post-is-free</link>
		<comments>http://code.openark.org/blog/mysql/on-free-and-open-blog-posts-this-post-is-free#comments</comments>
		<pubDate>Wed, 21 Oct 2009 06:46:58 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=1225</guid>
		<description><![CDATA[I'd like to criticize and stress some opinions on free and open blog posts, including such appearing on planet MySQL. Some rants follow; skip if you're only after technical stuff 1. On free reading This post is completely free. You don't need to pay or register to read it, not will you require to pass [...]]]></description>
			<content:encoded><![CDATA[<p>I'd like to criticize and stress some opinions on free and open blog posts, including such appearing on planet MySQL.</p>
<h4>Some rants follow; skip if you're only after technical stuff</h4>
<h3>1. On free reading</h3>
<p>This post is completely free. You don't need to pay or register to read it, not will you require to pass personal details to comment.</p>
<p>If you happen to see this post on some website, which only provides you with 1st couple of sentences, then asks you to login in order to view the complete text -- <em>you should know you need no registration to read this</em>.</p>
<p><span id="more-1225"></span>Apparently some websites do human aggregation of articles. This in itself is just fine: it is a service. But I don't like the way they work: they publicly publish the headlines and snippets of aggregated articles, but upon clicking the title, you're asked to login. There is no reference to the original post; nor to the website where the post has been published; nor to the author.</p>
<p>I've noticed some of my articles get this treatment. I have no idea if website owners then make money by use of ad-words or whatever. I don't mind aggregating my posts - on the contrary: I'm glad they're being circulated. But:</p>
<p><em>If you're going to require login to read my posts:</em></p>
<ul>
<li>Either provide additional link to original posting, thereby giving free access</li>
<li>Or only let your clients know about this post if they're already logged in; then too: respect the author by providing credit.</li>
</ul>
<p>I don't like the bait, where you publicly publish the title, then ask for login for the content. It makes the random reader confused, thinking the article is some super-secret-paying-gold-members-only stuff.</p>
<p>It is not so. My posts are free for all to read, with great respect to the open source community and model, who made these posts possible in the first place.</p>
<h3>2. On Planet MySQL non-open aggregation</h3>
<p>I would sincerely appreciate it if <a href="http://planet.mysql.com/">Planet MySQL</a> would only aggregate non-registration-required feeds. It feels very odd when I click a planet feed and then asked to fill in some details. In my opinion planet posts should be completely in the open.</p>
<p>These posts are published by companies pushing commercial products. Rest assured this does not do good service to those companies: instead of openly telling me about their products (which is just fine, as long as it is related to general content the planet is all about), they lose me by asking for login. I encourage these companies to remove this requirement.</p>
<h3>3. On Planet MySQL participating blogs, commenting closed, or closed for members</h3>
<p>I  encourage blogs aggregated in planet MySQL to allow for as open platform for commenting as possible. I think there are many common ways to allow for user comments: some use Google accounts, some OpenID, other yet only require an email address, and some just ask for CAPTCHA. These are all fine!</p>
<p>Most will alow you to <em>choose</em> from the most popular platforms. I wish to encourage websites participating in Planet to allow for this choice. If you're using the "blog-a-dog-a-mob" platform, please do not require that I be a member of this desolate platform; allow me to use my popular platform's account to comment.</p>
<p>That is, there's nothing wrong with such websites, it's their right to be like that! (and perhaps their platform will not allow anything else). But then - I would rather not see them aggregated within planet MySQL. I already have accounts at MySQL, Google, WordPress, others. These are general-purpose accounts. I wouldn't want to create a website-specific account just for sake of commenting.</p>
<p>And commenting is important. If someone publishes an article, aggregated on planet MySQL, that someone <em>expects</em> the community to read through the article. But if he/she does not allow for <em>free and open feedback</em>, what's the point?</p>
<p><strong>With respect to anyone who is doing hard work to build, maintain and promote the Planet.</strong></p>
<p>[UPDATE: I've had a chat with one of the Planet's maintainers, who promised to check up on those websites closed by registration. Thank you!]<strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/on-free-and-open-blog-posts-this-post-is-free/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&quot;Vote for me...&quot; how to embed in WordPress</title>
		<link>http://code.openark.org/blog/mysql/vote-for-me-how-to-embed-in-wordpress</link>
		<comments>http://code.openark.org/blog/mysql/vote-for-me-how-to-embed-in-wordpress#comments</comments>
		<pubDate>Tue, 11 Aug 2009 04:55:14 +0000</pubDate>
		<dc:creator>shlomi</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://code.openark.org/blog/?p=1165</guid>
		<description><![CDATA[[Clarification: I'm not actually asking you to vote for me , the title just follows a previous post] Diego Medina has published a JavaScript code that can be embedded in your blog posts, and which allows for voting on Planet MySQL from within your blog. Shared below is how to set this up for WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>[<strong>Clarification</strong>: <em>I'm not actually asking you to vote for me <img src='http://code.openark.org/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , the title just follows a previous post</em>]</p>
<p>Diego Medina has <a href="http://fmpwizard.blogspot.com/2009/08/vote-for-me-widget-for-your-blog.html?showComment=1249965433072#c6520785617042085252">published</a> a JavaScript code that can be embedded in your blog posts, and which allows for voting on Planet MySQL from within your blog.</p>
<p>Shared below is how to set this up for WordPress users. This is <em>not</em> a WordPress plugin, mind you. You'll need to manually edit the WordPress template files (can be done from the <strong>Dashboard</strong>-&gt;<strong>Appearance</strong>-&gt;<strong>Editor</strong>-&gt;<strong>Single post</strong>).</p>
<p>The page you're likely to edit is <strong>single.php</strong>, but depending on your template this can change. The explanation below assumes a single post page. This can also be worked out for your blog's home page, which lists several entries.</p>
<p>Since there is no point in presenting the Planet MySQL voting widget for entries which do not relate to MySQL, the code verifies that the post is in the <strong>'MySQL'</strong> category. You need to change this if your categorization differs. Mind that the category's name is case sensitive.<span id="more-1165"></span></p>
<blockquote>
<pre>&lt;?php if ( in_category( 'MySQL' )) { ?&gt;
        &lt;script language="JavaScript"&gt;&lt;!--
        var planet = "http://planet.mysql.com/entry/vote/?apivote=1&amp;";
        var lk=encodeURIComponent(document.location);
        var thumb_up="&lt;img src=\"http://planet.mysql.com/images/thumbs_up_blue.jpg\" border=\"0\" /&gt;";
        var thumb_down="&lt;img src=\"http://planet.mysql.com/images/thumbs_down_blue.jpg\" border=\"0\" /&gt;";
        document.write('Vote on the &lt;br /&gt;&lt;a href=\"http://planet.mysql.com/\" &gt;Planet MySQL&lt;/a&gt;&lt;br /&gt;');
        document.write('&lt;a title=\"Vote me Up on the Planet MySQL\" href=\"' + planet + 'vote=1&amp;url=' + lk  +  '\"&gt;' + thumb_up + '&lt;/a&gt;');
        document.write('&amp;nbsp;');
        document.write('&lt;a title=\"Vote me Down on the Planet MySQL\" href=\"' + planet + 'vote=-1&amp;url=' + lk  +  '\"&gt;' + thumb_down + '&lt;/a&gt;');
        // --&gt;&lt;/script&gt;
&lt;?php } ?&gt;</pre>
</blockquote>
<p>The <strong>in_category( 'MySQL' )</strong> function determines if the current post is relevant. You may also choose to show the widget based on tags, in which case you'll need to use <strong>get_the_tags()</strong>, and verify your MySQL tag is in the resulting array.</p>
<p>I chose to embed this just before the comments area.</p>
<p>Good luck</p>
]]></content:encoded>
			<wfw:commentRss>http://code.openark.org/blog/mysql/vote-for-me-how-to-embed-in-wordpress/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

