<?xml version="1.0" encoding="UTF-8"?>

<rss version='2.0' 
     xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
     xmlns:doap="http://usefulinc.com/ns/doap#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

    <channel>
        <!-- This XML Feed shows details for the page row 
             and everything recently tagged row -->
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/
          </creativeCommons:license>
        <title>row on SWiK</title>
        <doap:name>row</doap:name>
        <doap:description></doap:description>
        <description></description> 
	  <!-- see doap:description for full description -->
        <link>http://swik.net/row</link>
        <doap:homepage></doap:homepage>
        
        <pubDate></pubDate>
        <lastBuildDate></lastBuildDate>
            
        <item>
            <title>Row level security using Spring and Hibernate | mattfleming.com</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/Row+level+security+using+Spring+and+Hibernate+%7C+mattfleming.com/b7cl1</link>
            <description></description>
            
            <pubDate>Fri, 13 Jun 2008 04:15:51 -0700</pubDate>
        </item>
            
        <item>
            <title>Article on InnoDB Plugin</title>
            <link>http://swik.net/MySQL/Planet+MySQL/Article+on+InnoDB+Plugin/b4t0f</link>
            <description>&lt;p&gt;Last week I wrote an article on InnoDB plugin, which explains how to explore all the new features in the plugin along with comparing different row formats.&lt;/p&gt;
&lt;p&gt;The article is live now from here:&lt;br/&gt;
&lt;a title=&quot;http://www.innodb.com/wp/wp-content/uploads/2008/05/venu-anuganti-article-april-29-2008.html&quot; href=&quot;http://www.innodb.com/wp/wp-content/uploads/2008/05/venu-anuganti-article-april-29-2008.html&quot;&gt;http://www.innodb.com/wp/wp-content/uploads/2008/05/venu-anuganti-article-april-29-2008.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;http://www.oracle.com/corporate/pressroom/html/kjacobs.html&quot;&gt;Ken Jacobs&lt;/a&gt;, who took the initiative to post the article on the web site.&lt;/p&gt;</description>
            
            <pubDate>Sun, 04 May 2008 03:15:28 -0700</pubDate>
        </item>
            
        <item>
            <title>InnoDB plugin row format performance</title>
            <link>http://swik.net/MySQL/Planet+MySQL/InnoDB+plugin+row+format+performance/b4ndy</link>
            <description>&lt;p&gt;Here is a quick comparison of the new &lt;a href=&quot;http://www.innodb.com/innodb_plugin/&quot;&gt;InnoDB plugin&lt;/a&gt; performance between different &lt;a href=&quot;http://www.innodb.com/doc/innodb_plugin-1.0/innodb-compression.html#innodb-compression-enabling&quot;&gt;compression, row formats&lt;/a&gt; that is introduced recently.&lt;/p&gt;
&lt;p&gt;The table is a pretty simple one:&lt;/p&gt;
&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;TABLE&lt;/span&gt; `sbtest` (
  `id` &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;(10) unsigned &lt;span class=&quot;kwrd&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;NULL&lt;/span&gt;,
  `k` &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;(10) unsigned &lt;span class=&quot;kwrd&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;#8216;0&amp;#8242;&lt;/span&gt;,
  `c` &lt;span class=&quot;kwrd&quot;&gt;char&lt;/span&gt;(120) &lt;span class=&quot;kwrd&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;#8221;&lt;/span&gt;,
  `&lt;span class=&quot;kwrd&quot;&gt;pad&lt;/span&gt;` &lt;span class=&quot;kwrd&quot;&gt;char&lt;/span&gt;(60) &lt;span class=&quot;kwrd&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&amp;#8221;&lt;/span&gt;,
  &lt;span class=&quot;kwrd&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;KEY&lt;/span&gt; (`id`),
  &lt;span class=&quot;kwrd&quot;&gt;KEY&lt;/span&gt; `k` (`k`)
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;&lt;/pre&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;p&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &quot;Courier New&quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;p&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &quot;Courier New&quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;p&gt;The table is populated with 10M rows with average row length being 224 bytes. The tests are performed for Compact, Dynamic and Compressed (8K and 4K)&amp;#160; row formats using &lt;a href=&quot;http://www.mysql.com&quot; class=&quot;alinks_links&quot; title=&quot;MySQL Inc&quot; rel=&quot;external&quot;&gt;MySQL&lt;/a&gt;-5.1.24 with InnoDB plugin-1.0.0-5.1 on Dell PE2950&amp;#160; 1x Xeon quad core with 16G RAM, RAID-10 with &lt;strong&gt;RHEL-4 64-bit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Here are the four test scenarios:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No compression, ROW_FORMAT=Compact &lt;/li&gt;
&lt;li&gt;ROW_FORMAT=Compressed with KEY_BLOCK_SIZE=8 &lt;/li&gt;
&lt;li&gt;ROW_FORMAT=Compressed with KEY_BLOCK_SIZE=4 &lt;/li&gt;
&lt;li&gt;ROW_FORMAT=Dynamic &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All the above tests are repeated with &lt;em&gt;&lt;strong&gt;innodb_buffer_pool_size=6G&lt;/strong&gt;&lt;/em&gt; and &lt;strong&gt;512M&lt;/strong&gt; to make sure one fits everything in memory and another one overflows. The rest of the InnoDB settings are all default except that &lt;em&gt;&lt;strong&gt;innodb_thread_concurrency=32&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Here is the summary of the test results:&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-275&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Table Load:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Load time from a dump of SQL script having 10M rows (not batched)&lt;/p&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;388&quot; border=&quot;2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;93&quot;&gt;&lt;strong&gt;Compact&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;110&quot;&gt;&lt;strong&gt;Compressed (8K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;110&quot;&gt;&lt;strong&gt;Compressed (4K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;&lt;strong&gt;Dynamic&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;96&quot;&gt;28m 18s&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;112&quot;&gt;29m 46s&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;111&quot;&gt;36m 43s&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;74&quot;&gt;27m 55s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;File Sizes:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here is the size of the .ibd file after each data load&lt;/p&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;388&quot; border=&quot;2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;93&quot;&gt;&lt;strong&gt;Compact&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;110&quot;&gt;&lt;strong&gt;Compressed (8K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;110&quot;&gt;&lt;strong&gt;Compressed (4K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;&lt;strong&gt;Dynamic&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;96&quot;&gt;2.3G&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;112&quot;&gt;1.2G&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;111&quot;&gt;592M&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;74&quot;&gt;2.3G&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Data and Index Size from Table Status:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here is the Data and Index size in bytes from SHOW TABLE STATUS and you can see the original data size here rather than the compressed size&lt;/p&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;432&quot; border=&quot;2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;54&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;91&quot;&gt;&lt;strong&gt;Compact&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;101&quot;&gt;&lt;strong&gt;Compressed (8K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;105&quot;&gt;&lt;strong&gt;Compressed (4K)&lt;/strong&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;77&quot;&gt;&lt;strong&gt;Dynamic&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;56&quot;&gt;Data&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;91&quot;&gt;2247098368&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;101&quot;&gt;2247098368&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;104&quot;&gt;2249195520&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;81&quot;&gt;2247098368&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;56&quot;&gt;Index&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;91&quot;&gt;137019392&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;100&quot;&gt;137035776&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;103&quot;&gt;160301056&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;84&quot;&gt;137019392&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Compression Stats:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here is the compression stats after the table is populated from information_schema.InnoDB_cmp; and you notice that 4K takes more operations and time for both compression and un-compression&lt;/p&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;400&quot; border=&quot;2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Page_size&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Compress_ops&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Compress_ops_ok&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Compress_time&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Uncompress_ops&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;Uncompress_time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;8K&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;8192&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;446198&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;445598&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;73&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;300&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;4K&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;4096&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;1091421&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;1012917&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;463&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;38801&lt;/td&gt;
&lt;td valign=&quot;top&quot; width=&quot;57&quot;&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Performance:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here is the performance of various row formats with threads ranging from 1-512 for both 512M and 6G buffer pool size for both concurrent reads and writes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://venublog.com/images/InnoDBplugin1.0someperformancenotes_D6A/compress512m.gif&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;300&quot; alt=&quot;compress512m&quot; src=&quot;http://venublog.com/images/InnoDBplugin1.0someperformancenotes_D6A/compress512m_thumb.gif&quot; width=&quot;572&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://venublog.com/images/InnoDBplugin1.0someperformancenotes_D6A/compress6g.gif&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;335&quot; alt=&quot;compress6g&quot; src=&quot;http://venublog.com/images/InnoDBplugin1.0someperformancenotes_D6A/compress6g_thumb.gif&quot; width=&quot;579&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Observations:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Few key observations from the performance tests that I performed without looking to any of the sources, as I could be wrong, someone can correct me here. Its hard to draw from these input scenarios, but helps to estimate what is what.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The load time is almost same except that the 4K compression seems to take longer than the rest; and compression in general is hitting the INSERT/Load performance a little bit. &lt;/li&gt;
&lt;li&gt;Compact or Dynamic, there is no compression; so the data and index file sizes will be almost same &lt;/li&gt;
&lt;li&gt;The SHOW TABLE STATUS for compressed table will have its original Data_Length and Index_Length statistics rather than the compressed statistics (may be a bug or InnoDB needs to extend SHOW TABLE STATUS to show any compressed sizes or other means, right now only option is to view your files manually) &lt;/li&gt;
&lt;li&gt;8K compression reduced the .ibd file by nearly 50% (1.2G out of 2.3G) and 4K compression reduced the size by 1/4th (592M out of 2.3G); and it could vary based on table types and data. &lt;/li&gt;
&lt;li&gt;8K compression takes less ops and time for both compression and de-compression when compared to 4K (obvious) &lt;/li&gt;
&lt;li&gt;When there is enough Innodb buffer pool size to act data in memory, the compression is a bit overhead, but you will be saving space &lt;/li&gt;
&lt;li&gt;When there is a overflow from buffer pool (IO bound), compression seems to really help &lt;/li&gt;
&lt;li&gt;4K compression in general seems to be slower when compared with 8K or any other row_format.&lt;br/&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;p&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &quot;Courier New&quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;p&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &quot;Courier New&quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;p&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &quot;Courier New&quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
            
            <pubDate>Fri, 25 Apr 2008 06:20:09 -0700</pubDate>
        </item>
            
        <item>
            <title>Firefoxのブックマークツールバーを複数行に (Nizah blog)</title>
            <link>http://swik.net/Firefox/del.icio.us%2Ftag%2Ffirefox/Firefox%E3%81%AE%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%84%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC%E3%82%92%E8%A4%87%E6%95%B0%E8%A1%8C%E3%81%AB+%28Nizah+blog%29/bu19l</link>
            <description>Firefoxのブックマークツールバーを複数行に</description>
            
            <pubDate>Thu, 22 Nov 2007 22:30:14 -0800</pubDate>
        </item>
            
        <item>
            <title>Advanced CSS Tables II - Using Mootools Javascript For Alternate Row Colors | BluDice Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else</title>
            <link>http://swik.net/mootools/del.icio.us%2Ftag%2Fmootools/Advanced+CSS+Tables+II+-+Using+Mootools+Javascript+For+Alternate+Row+Colors+%7C+BluDice+Blog+%3A%3A+PHP%2C+MySQL%2C+CSS%2C+Javascript%2C+MooTools%2C+and+Everything+Else/bl4aj</link>
            <description></description>
            
            <pubDate>Thu, 06 Sep 2007 10:43:24 -0700</pubDate>
        </item>
            
        <item>
            <title>BluDice Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else</title>
            <link>http://swik.net/mootools/del.icio.us%2Ftag%2Fmootools/BluDice+Blog+%3A%3A+PHP%2C+MySQL%2C+CSS%2C+Javascript%2C+MooTools%2C+and+Everything+Else/biwcp</link>
            <description>As I discussed in Advanced CSS Tables - Using CSS3 For Alternate Row Colors, we will eventually be able to use the &amp;quot;:nth-child(argument)&amp;quot; pseudo-class in CSS3 to provide alternate row background colors. What do we use in the mean time? You can explici</description>
            
            <pubDate>Tue, 14 Aug 2007 05:27:06 -0700</pubDate>
        </item>
            
        <item>
            <title>Visual C# Databases: Data Records</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Visual+C%23+Databases%3A+Data+Records/3q93</link>
            <description>Ótimo site que ensina como criar um Banco de Dados usando XML.
Contémk teoria de DataSet.</description>
            
            <pubDate>Mon, 16 Apr 2007 10:48:49 -0700</pubDate>
        </item>
            
        <item>
            <title>Using Spring AOP to add row level security to Hibernate or any ORM really - TheArcMind.com</title>
            <link>http://swik.net/Acegi/del.icio.us+tag%2Facegi/Using+Spring+AOP+to+add+row+level+security+to+Hibernate+or+any+ORM+really+-+TheArcMind.com/3nvk</link>
            <description>I am working on a new Aspect that does row level security in conjunction with Hibernate filters. It seems initial goal but after attending some meetings it may not be the only goal. In general I need a somewhat generic way to handle row level security.</description>
            
            <pubDate>Sun, 15 Apr 2007 20:41:13 -0700</pubDate>
        </item>
            
        <item>
            <title>Selecting Columns and Rows in HTML Tables with Firefox | Acts of Volition</title>
            <link>http://swik.net/Firefox/del.icio.us%2Ftag%2Ffirefox/Selecting+Columns+and+Rows+in+HTML+Tables+with+Firefox+%7C+Acts+of+Volition/z83c</link>
            <description>You can select columns, rows, or blocks of cells in HTML tables in Firefox (or any Gecko-powered browser) by holding down “Control” and selecting with the mouse. Handy for copy+pasting data from tables in websites.</description>
            
            <pubDate>Fri, 09 Mar 2007 13:28:57 -0800</pubDate>
        </item>
            
        <item>
            <title>Straight from the Abyss » New in Hibernate 3: Criteria API enhancements</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/Straight+from+the+Abyss+%C2%BB+New+in+Hibernate+3%3A+Criteria+API+enhancements/p9jf</link>
            <description></description>
            
            <pubDate>Thu, 30 Nov 2006 03:35:14 -0800</pubDate>
        </item>
                </channel>
</rss>
