<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/"
> <channel><title>Comments for Project 2061 Techlog</title> <atom:link href="http://techlog.p2061.org/comments/feed/" rel="self" type="application/rss+xml" /><link>http://techlog.p2061.org</link> <description>Blogging from Project 2061 technology group</description> <lastBuildDate>Fri, 27 May 2011 16:37:15 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Comment on WP redirects confuse IE by bsweeney</title><link>http://techlog.p2061.org/2011/05/27/wp-redirects-confuse-ie/comment-page-1/#comment-122</link> <dc:creator>bsweeney</dc:creator> <pubDate>Fri, 27 May 2011 16:37:15 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=491#comment-122</guid> <description>Note, this fix is not necessary for the current version of WordPress because the redirect issue has been addressed as of WordPress 3.1.</description> <content:encoded><![CDATA[<p>Note, this fix is not necessary for the current version of WordPress because the redirect issue has been addressed as of WordPress 3.1.</p> ]]></content:encoded> </item> <item><title>Comment on Keeping the OpenSUSE messages log tidy by bsweeney</title><link>http://techlog.p2061.org/2010/08/06/keeping-the-opensuse-messages-log-tidy/comment-page-1/#comment-115</link> <dc:creator>bsweeney</dc:creator> <pubDate>Mon, 09 May 2011 21:36:32 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=320#comment-115</guid> <description>I recently update to OpenSUSE 11.4, which includes an updated version of syslog-ng. Due to changes in the configuration options I had to modify the options string to read as follows:
options { long_hostnames(off); flush_lines(0); perm(0640); stats_freq(0); mark_freq(0); };</description> <content:encoded><![CDATA[<p>I recently update to OpenSUSE 11.4, which includes an updated version of syslog-ng. Due to changes in the configuration options I had to modify the options string to read as follows:</p><p>options { long_hostnames(off); flush_lines(0); perm(0640); stats_freq(0); mark_freq(0); };</p> ]]></content:encoded> </item> <item><title>Comment on AbleCommerce Tax Zone Modification by bsweeney</title><link>http://techlog.p2061.org/2010/07/23/ablecommerce-tax-zone-modification/comment-page-1/#comment-106</link> <dc:creator>bsweeney</dc:creator> <pubDate>Mon, 10 Jan 2011 21:14:48 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=321#comment-106</guid> <description>The 7.0.5 update to AbleCommerce adds an index to the zip code filter field to speed up queries. Unfortunately, the change we made to accommodate more zip codes in each zone means this field can&#039;t be used in an index for SQL Server. It&#039;s just too big. I&#039;ve commented out the relevant SQL statement from the update scripts.</description> <content:encoded><![CDATA[<p>The 7.0.5 update to AbleCommerce adds an index to the zip code filter field to speed up queries. Unfortunately, the change we made to accommodate more zip codes in each zone means this field can&#8217;t be used in an index for SQL Server. It&#8217;s just too big. I&#8217;ve commented out the relevant SQL statement from the update scripts.</p> ]]></content:encoded> </item> <item><title>Comment on suhosin to WordPress: go on a diet by Project 2061 Techlog &#187; suhosin to [internal web app]: you talk too much</title><link>http://techlog.p2061.org/2010/11/05/suhosin-to-wordpress-go-on-a-diet/comment-page-1/#comment-105</link> <dc:creator>Project 2061 Techlog &#187; suhosin to [internal web app]: you talk too much</dc:creator> <pubDate>Fri, 03 Dec 2010 16:13:14 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=352#comment-105</guid> <description>[...] up on my earlier post, I&#8217;ve had to make some further configuration adjustments to avoid suhosin-related [...]</description> <content:encoded><![CDATA[<p>[...] up on my earlier post, I&#8217;ve had to make some further configuration adjustments to avoid suhosin-related [...]</p> ]]></content:encoded> </item> <item><title>Comment on Expanding Search Terms for More Inclusive Results by BrianS</title><link>http://techlog.p2061.org/2008/05/14/expanding-search-terms-for-more-inclusive-results/comment-page-1/#comment-104</link> <dc:creator>BrianS</dc:creator> <pubDate>Tue, 09 Nov 2010 18:19:02 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/2008/05/14/expanding-search-terms-for-more-inclusive-results/#comment-104</guid> <description>I recently decided to implement a class-based stemmer instead of the PHP extension. There are two reasons for this:
1) Windows support of pecl extensions has been non-existent for quite some time.
2) YAST on SUSE 11 doesn&#039;t include support for pecl extensions.
The second of these isn&#039;t a major issue since it is fairly trivial to compile extensions for PHP on linux. Windows systems, however, are not quite so simple. So in order to maintain consistency in the PHP environment between servers I decided to switch to an English-language-only stemmer, the Porter Stemming Algorithm:
http://tartarus.org/~martin/PorterStemmer/
The main drawback is the lack of support for other languages. Fortunately we don&#039;t need that kind of support right now.</description> <content:encoded><![CDATA[<p>I recently decided to implement a class-based stemmer instead of the PHP extension. There are two reasons for this:</p><p>1) Windows support of pecl extensions has been non-existent for quite some time.<br
/> 2) YAST on SUSE 11 doesn&#8217;t include support for pecl extensions.</p><p>The second of these isn&#8217;t a major issue since it is fairly trivial to compile extensions for PHP on linux. Windows systems, however, are not quite so simple. So in order to maintain consistency in the PHP environment between servers I decided to switch to an English-language-only stemmer, the Porter Stemming Algorithm:<br
/> <a
href="http://tartarus.org/~martin/PorterStemmer/" >http://tartarus.org/~martin/PorterStemmer/</a></p><p>The main drawback is the lack of support for other languages. Fortunately we don&#8217;t need that kind of support right now.</p> ]]></content:encoded> </item> <item><title>Comment on Best Practices for Setting MySQL Server Runtime Parameters by BrianS</title><link>http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/comment-page-1/#comment-103</link> <dc:creator>BrianS</dc:creator> <pubDate>Wed, 24 Mar 2010 19:48:42 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/#comment-103</guid> <description>Note: myisam-recover doesn&#039;t appear to be a setting available though the MySQL Administrator.</description> <content:encoded><![CDATA[<p>Note: myisam-recover doesn&#8217;t appear to be a setting available though the MySQL Administrator.</p> ]]></content:encoded> </item> <item><title>Comment on The Mechanical Turk Knows All by BrianS</title><link>http://techlog.p2061.org/2008/11/21/the-mechanical-turk-knows-all/comment-page-1/#comment-102</link> <dc:creator>BrianS</dc:creator> <pubDate>Mon, 06 Jul 2009 14:57:58 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=91#comment-102</guid> <description>One other thing to keep in mind is that paying well attracts a lot of workers. We try to pay what would equate to a decent hourly wage. A good summary of how to get decent results from Mechanical Turk can be found here: http://www.smartsheet.com/blog/brent-frei/getting-good-smartsourcing-results-amazon-mechanical-turk-best-practices</description> <content:encoded><![CDATA[<p>One other thing to keep in mind is that paying well attracts a lot of workers. We try to pay what would equate to a decent hourly wage. A good summary of how to get decent results from Mechanical Turk can be found here: <a
href="http://www.smartsheet.com/blog/brent-frei/getting-good-smartsourcing-results-amazon-mechanical-turk-best-practices" >http://www.smartsheet.com/blog/brent-frei/getting-good-smartsourcing-results-amazon-mechanical-turk-best-practices</a></p> ]]></content:encoded> </item> <item><title>Comment on Authentication &amp; Authorization with Scaffolding by BrianS</title><link>http://techlog.p2061.org/2009/04/17/authentication-authorization-with-scaffolding/comment-page-1/#comment-101</link> <dc:creator>BrianS</dc:creator> <pubDate>Fri, 17 Apr 2009 18:47:22 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/?p=220#comment-101</guid> <description>If you&#039;re using a version of CakePHP prior to 1.2.1.8004 you&#039;ll also need the following instructions:
Set up your users controller so that it will hash passwords (this will not be done automatically like it would if you were not using scaffolding). Add the following callback method to your users controller:
&lt;pre lang=&quot;PHP&quot;&gt;function _beforeScaffold($action) {
if (($action == &#039;edit&#039; &#124;&#124; $action == &#039;add&#039;) &amp;&amp; isset($this-&gt;data)) {
$this-&gt;data[&#039;User&#039;][&#039;password&#039;] = AuthComponent::password($this-&gt;data[&#039;User&#039;][&#039;password&#039;]);
}
return TRUE;
}&lt;/pre&gt;
The above function is called every time a scaffolded action is executed. The password hashing will only be performed if the add or edit actions are &lt;code&gt;POST&lt;/code&gt;ed.</description> <content:encoded><![CDATA[<p>If you&#8217;re using a version of CakePHP prior to 1.2.1.8004 you&#8217;ll also need the following instructions:</p><p>Set up your users controller so that it will hash passwords (this will not be done automatically like it would if you were not using scaffolding). Add the following callback method to your users controller:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> _beforeScaffold<span style="color: #009900;">&#40;</span><span style="color: #000088;">$action</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$action</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'edit'</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$action</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'add'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'User'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'password'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AuthComponent<span style="color: #339933;">::</span><span style="color: #004000;">password</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'User'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'password'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>The above function is called every time a scaffolded action is executed. The password hashing will only be performed if the add or edit actions are <code>POST</code>ed.</p> ]]></content:encoded> </item> <item><title>Comment on Best Practices for Setting MySQL Server Runtime Parameters by BrianS</title><link>http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/comment-page-1/#comment-100</link> <dc:creator>BrianS</dc:creator> <pubDate>Mon, 23 Feb 2009 18:03:23 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/#comment-100</guid> <description>Update after 164 days uptime:
After today&#039;s update I won&#039;t be providing further review. I think, for the most part, the decisions I made regarding the server settings have worked out well. There are a few settings that can still be tweaked, but I don&#039;t think any further discussion is necessary at this point. I will, however, make any notes on any extraordinary changes in server performance. I will also report on the effects of any query optimizations.
The thread cache is still at a good level. Current stats say 20 maximum concurrent connections with 18 cached and 100% hit rate.
I think the table cache may actually be at an acceptable level. The number of opened tables is still rising (currently at 870), but not as quickly as it appeared in the last review. It may still be worthwhile to increase the cache slightly, but I&#039;m not as concerned as I was initially.
Temporary tables still appears to be problematic. The percentage of temporary tables written to disk continues to rise (now at around 17.5%). Some of this is likely due to lack of query optimization, meaning a code review needs to be performed. That will have to wait until I have a chance to outline best practices for code development. In the meantime I&#039;m going to raise the values of tmp_table_size/max_heap_table_size from 32M to 48M.
The query cache performance is doing a little better than in the previous update with a 7:1 hit-to-insert ratio. We&#039;re still seeing a large number of prunes (35K) and free blocks (908). Still, these numbers aren&#039;t increasing horribly. This is still likely a problem of leaving out some queries, plus we should set up a cron job to flush the cache on a regular basis in order to keep the number of free blocks low.
The key buffer is fully used, but the key_reads/key_read_requests is still at an acceptable level (.001). It might be prudent to increase the buffer size, but I&#039;ll wait until next review to see how the buffer is holding up.
The read handlers are still alarmingly high. But again, until we spend some time optimizing queries I don&#039;t expect to make any changes to these settings.</description> <content:encoded><![CDATA[<p>Update after 164 days uptime:</p><p>After today&#8217;s update I won&#8217;t be providing further review. I think, for the most part, the decisions I made regarding the server settings have worked out well. There are a few settings that can still be tweaked, but I don&#8217;t think any further discussion is necessary at this point. I will, however, make any notes on any extraordinary changes in server performance. I will also report on the effects of any query optimizations.</p><p>The thread cache is still at a good level. Current stats say 20 maximum concurrent connections with 18 cached and 100% hit rate.</p><p>I think the table cache may actually be at an acceptable level. The number of opened tables is still rising (currently at 870), but not as quickly as it appeared in the last review. It may still be worthwhile to increase the cache slightly, but I&#8217;m not as concerned as I was initially.</p><p>Temporary tables still appears to be problematic. The percentage of temporary tables written to disk continues to rise (now at around 17.5%). Some of this is likely due to lack of query optimization, meaning a code review needs to be performed. That will have to wait until I have a chance to outline best practices for code development. In the meantime I&#8217;m going to raise the values of tmp_table_size/max_heap_table_size from 32M to 48M.</p><p>The query cache performance is doing a little better than in the previous update with a 7:1 hit-to-insert ratio. We&#8217;re still seeing a large number of prunes (35K) and free blocks (908). Still, these numbers aren&#8217;t increasing horribly. This is still likely a problem of leaving out some queries, plus we should set up a cron job to flush the cache on a regular basis in order to keep the number of free blocks low.</p><p>The key buffer is fully used, but the key_reads/key_read_requests is still at an acceptable level (.001). It might be prudent to increase the buffer size, but I&#8217;ll wait until next review to see how the buffer is holding up.</p><p>The read handlers are still alarmingly high. But again, until we spend some time optimizing queries I don&#8217;t expect to make any changes to these settings.</p> ]]></content:encoded> </item> <item><title>Comment on Best Practices for Setting MySQL Server Runtime Parameters by BrianS</title><link>http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/comment-page-1/#comment-15</link> <dc:creator>BrianS</dc:creator> <pubDate>Tue, 14 Oct 2008 19:19:19 +0000</pubDate> <guid
isPermaLink="false">http://techlog.p2061.org/2008/05/07/optimizing-mysql-server-runtime-parameters/#comment-15</guid> <description>32-day report:
A lot of the numbers appear to be worse than I was expecting given the early update. However, I won&#039;t be making any changes until the three-month update; mainly because the import of the pilot test data may be having a detrimental affect on the number reported.
Cached threads is still pushing upward (currently at 20 created; 17 cached, 3 in use), but I&#039;m going to leave this at 25 for now. This is something that won&#039;t really hurt us if we go over, so I&#039;ll wait until we get closer to the setting.
Opened tables is still rising, despite a table cache of 256. Right now it&#039;s at 556. I think it may be worthwhile to increase the table cache, but we&#039;ll see how things look at the next review.
The number of temporary tables being written to disk is a little over 10% of the total number of temporary tables. This isn&#039;t as good as the numbers seen in the previous update so it&#039;s worth watching. If the numbers don&#039;t improve the value of tmp_table_size/max_head_table_size should be increased.
The query cache is not performing quite as well as in the previous update. It&#039;s at roughly a 4:1 hit-to-insert ratio (1,652k/427k). Plus, the value in lowmem_prunes is high (19K) and the number of free blocks is also high (368). I&#039;m going to flush the cache and see if the numbers improve. There&#039;s no need to increase the size of the cache, though, since it&#039;s not being fully used. These numbers may have more to do with caching of queries that would best be left out, which is something that can be controlled when issuing a query.
The key buffer still appears to be at an appropriate value. However, the number of blocks used is starting to push against the size of the buffer. This should probably be increased on the next update.
The sort buffer appears to be acceptable.
The read handlers are still fairly high, but queries have not yet been optimized so this is something that may see improvement without further changes to the server settings.</description> <content:encoded><![CDATA[<p>32-day report:<br
/> A lot of the numbers appear to be worse than I was expecting given the early update. However, I won&#8217;t be making any changes until the three-month update; mainly because the import of the pilot test data may be having a detrimental affect on the number reported.</p><p>Cached threads is still pushing upward (currently at 20 created; 17 cached, 3 in use), but I&#8217;m going to leave this at 25 for now. This is something that won&#8217;t really hurt us if we go over, so I&#8217;ll wait until we get closer to the setting.</p><p>Opened tables is still rising, despite a table cache of 256. Right now it&#8217;s at 556. I think it may be worthwhile to increase the table cache, but we&#8217;ll see how things look at the next review.</p><p>The number of temporary tables being written to disk is a little over 10% of the total number of temporary tables. This isn&#8217;t as good as the numbers seen in the previous update so it&#8217;s worth watching. If the numbers don&#8217;t improve the value of tmp_table_size/max_head_table_size should be increased.</p><p>The query cache is not performing quite as well as in the previous update. It&#8217;s at roughly a 4:1 hit-to-insert ratio (1,652k/427k). Plus, the value in lowmem_prunes is high (19K) and the number of free blocks is also high (368). I&#8217;m going to flush the cache and see if the numbers improve. There&#8217;s no need to increase the size of the cache, though, since it&#8217;s not being fully used. These numbers may have more to do with caching of queries that would best be left out, which is something that can be controlled when issuing a query.</p><p>The key buffer still appears to be at an appropriate value. However, the number of blocks used is starting to push against the size of the buffer. This should probably be increased on the next update.</p><p>The sort buffer appears to be acceptable.</p><p>The read handlers are still fairly high, but queries have not yet been optimized so this is something that may see improvement without further changes to the server settings.</p> ]]></content:encoded> </item> </channel> </rss>
