<?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 @randymelder</title>
	<atom:link href="http://randymelder.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://randymelder.com</link>
	<description>random randy ramblings</description>
	<lastBuildDate>Thu, 26 Apr 2012 22:11:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>Comment on How I setup MySQL Multi Master Replication by Phil Chen</title>
		<link>http://randymelder.com/2012/04/26/how-i-setup-mysql-multi-master-replication/#comment-12801</link>
		<dc:creator>Phil Chen</dc:creator>
		<pubDate>Thu, 26 Apr 2012 22:11:41 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5411#comment-12801</guid>
		<description>nice write up</description>
		<content:encoded><![CDATA[<p>nice write up</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by Randy</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12491</link>
		<dc:creator>Randy</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12491</guid>
		<description>Thank you, thank you, David and Bradley. 
Also, fyi, Bradley is the author of:
&quot;Writing and Querying MapReduce Views in CouchDB&quot;
http://shop.oreilly.com/product/0636920018247.do</description>
		<content:encoded><![CDATA[<p>Thank you, thank you, David and Bradley.<br />
Also, fyi, Bradley is the author of:<br />
&#8220;Writing and Querying MapReduce Views in CouchDB&#8221;<br />
<a href="http://shop.oreilly.com/product/0636920018247.do" rel="nofollow">http://shop.oreilly.com/product/0636920018247.do</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by Bradley Holt</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12481</link>
		<dc:creator>Bradley Holt</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:16:29 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12481</guid>
		<description>You&#039;re welcome! I also noticed that you&#039;re emitting a 1 as the value. You could leave the value out altogether (thus effectively emitting null) and use the _count built-in reduce function instead. If you keep the reduce as a sum, you should probably replace your JavaScript reduce function with the built-in _sum reduce function as the built-in reduce functions are much faster (they are written in CouchDB&#039;s native Erlang).</description>
		<content:encoded><![CDATA[<p>You&#8217;re welcome! I also noticed that you&#8217;re emitting a 1 as the value. You could leave the value out altogether (thus effectively emitting null) and use the _count built-in reduce function instead. If you keep the reduce as a sum, you should probably replace your JavaScript reduce function with the built-in _sum reduce function as the built-in reduce functions are much faster (they are written in CouchDB&#8217;s native Erlang).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by David Zuelke</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12471</link>
		<dc:creator>David Zuelke</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:12:28 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12471</guid>
		<description>And Brad is right, a [YYYY,MM,DD] tuple as a key will be equally fast for querying, but should save quite a bit on index space while at the same time giving you more flexibility. You should even be able to fetch all Decembers using startkey=[NULL,12]&amp;endkey=[{},12] or something like that (not sure if that works, you&#039;ll have to try).</description>
		<content:encoded><![CDATA[<p>And Brad is right, a [YYYY,MM,DD] tuple as a key will be equally fast for querying, but should save quite a bit on index space while at the same time giving you more flexibility. You should even be able to fetch all Decembers using startkey=[NULL,12]&amp;endkey=[{},12] or something like that (not sure if that works, you&#8217;ll have to try).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by David Zuelke</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12461</link>
		<dc:creator>David Zuelke</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:10:21 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12461</guid>
		<description>You should also use the internal reduce functions for summing up (_sum) or, as is possible in your case since all you&#039;re emitting is &quot;1&quot;s, counting (_count). Those are much faster than JS code. More info: http://wiki.apache.org/couchdb/Built-In_Reduce_Functions</description>
		<content:encoded><![CDATA[<p>You should also use the internal reduce functions for summing up (_sum) or, as is possible in your case since all you&#8217;re emitting is &#8220;1&#8243;s, counting (_count). Those are much faster than JS code. More info: <a href="http://wiki.apache.org/couchdb/Built-In_Reduce_Functions" rel="nofollow">http://wiki.apache.org/couchdb/Built-In_Reduce_Functions</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by Randy</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12451</link>
		<dc:creator>Randy</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:08:32 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12451</guid>
		<description>Thanks, Bradley! I&#039;ll follow this up with a post using your suggested compound keys.</description>
		<content:encoded><![CDATA[<p>Thanks, Bradley! I&#8217;ll follow this up with a post using your suggested compound keys.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NoSQL Pattern for Event Aggregation using CouchDB by Bradley Holt</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comment-12441</link>
		<dc:creator>Bradley Holt</dc:creator>
		<pubDate>Tue, 15 Nov 2011 15:58:23 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=5011#comment-12441</guid>
		<description>Nice post! If you turned your keys into compound keys (e.g. [2011,10,25]) then you could do group level queries. For example, you could get sum by year; sum by year and month; or sum be year, month, and day (what you have now).</description>
		<content:encoded><![CDATA[<p>Nice post! If you turned your keys into compound keys (e.g. [2011,10,25]) then you could do group level queries. For example, you could get sum by year; sum by year and month; or sum be year, month, and day (what you have now).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on plotto the office lottery pool iphone app by Randy</title>
		<link>http://randymelder.com/2011/07/28/plotto-the-office-lottery-pool-iphone-app/#comment-12191</link>
		<dc:creator>Randy</dc:creator>
		<pubDate>Sat, 27 Aug 2011 13:30:16 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=4481#comment-12191</guid>
		<description>Dear Randy Melder,
The status for the following app has changed to Waiting For Review.
App Name: plotto
App Version Number: 1.1</description>
		<content:encoded><![CDATA[<p>Dear Randy Melder,<br />
The status for the following app has changed to Waiting For Review.<br />
App Name: plotto<br />
App Version Number: 1.1</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using MySQL Stored Procedures for User Authentication by Randy</title>
		<link>http://randymelder.com/2011/03/30/using-mysql-stored-procedures-for-user-authentication/#comment-11682</link>
		<dc:creator>Randy</dc:creator>
		<pubDate>Tue, 05 Apr 2011 15:27:15 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=3382#comment-11682</guid>
		<description>Very valid points, Asaph. If you look closely, you&#039;ll notice the RAND() function as part of the hash creation. One could use RAND() by itself, but your mileage may vary. 

Storing passwords as plain text is remedied in this scenario by wrapping the password in a &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html&quot; rel=&quot;nofollow&quot;&gt;MD5(), SHA1(), SHA2()&lt;/a&gt;, etc. or your own code inspired. You&#039;ll notice that the password field was set as a 32 character VARCHAR. This is really intended to store passwords as MD5 hashes. However, for this example, I didn&#039;t want to get hung up in an encryption &lt;a href=&quot;http://en.wiktionary.org/wiki/yak_shaving&quot; rel=&quot;nofollow&quot;&gt;&quot;yack-shave&quot;&lt;/a&gt; to mask the intent of using a ACID layer API to remove expiring tokens at a policy level.

I&#039;ll add to the requirements at the top of this document so the intent is more clear. Thanks!</description>
		<content:encoded><![CDATA[<p>Very valid points, Asaph. If you look closely, you&#8217;ll notice the RAND() function as part of the hash creation. One could use RAND() by itself, but your mileage may vary. </p>
<p>Storing passwords as plain text is remedied in this scenario by wrapping the password in a <a href="http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html" rel="nofollow">MD5(), SHA1(), SHA2()</a>, etc. or your own code inspired. You&#8217;ll notice that the password field was set as a 32 character VARCHAR. This is really intended to store passwords as MD5 hashes. However, for this example, I didn&#8217;t want to get hung up in an encryption <a href="http://en.wiktionary.org/wiki/yak_shaving" rel="nofollow">&#8220;yack-shave&#8221;</a> to mask the intent of using a ACID layer API to remove expiring tokens at a policy level.</p>
<p>I&#8217;ll add to the requirements at the top of this document so the intent is more clear. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using MySQL Stored Procedures for User Authentication by Asaph</title>
		<link>http://randymelder.com/2011/03/30/using-mysql-stored-procedures-for-user-authentication/#comment-11662</link>
		<dc:creator>Asaph</dc:creator>
		<pubDate>Mon, 04 Apr 2011 20:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=3382#comment-11662</guid>
		<description>Randy,

I see some security issues with this code. You should not be using the password or username as components in the token generation. Tokens should be purely  random. Also, you should not be storing passwords in plain text at the database level. I recommend, at a minimum, attaching a random salt value (different for each user) and then using a strong hashing function such as sha256. Iterative hashing of the password would be even better.</description>
		<content:encoded><![CDATA[<p>Randy,</p>
<p>I see some security issues with this code. You should not be using the password or username as components in the token generation. Tokens should be purely  random. Also, you should not be storing passwords in plain text at the database level. I recommend, at a minimum, attaching a random salt value (different for each user) and then using a strong hashing function such as sha256. Iterative hashing of the password would be even better.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to install Sysbench on OS X by George Li</title>
		<link>http://randymelder.com/2010/09/24/how-to-install-sysbench-osx/#comment-11642</link>
		<dc:creator>George Li</dc:creator>
		<pubDate>Wed, 30 Mar 2011 23:47:08 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=1422#comment-11642</guid>
		<description>For me, the MySQL server/client is 64bit. 

I have to modify &quot;configure&quot; to add the -m64 to compile sysbench as 64bit. 

otherwise, I got the following error:

gcc -D_THREAD_SAFE  -g -O2      -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/local/mysql/lib -lmysqlclient_r   -lm 
ld: warning in /usr/local/mysql/lib/libmysqlclient_r.dylib, file is not of required architecture
Undefined symbols:
  &quot;_mysql_store_result&quot;, referenced from:
      _mysql_drv_describe in libsbmysql.a(libsbmysql_a-drv_mysql.o)
      _mysql_drv_store_results in libsbmysql.a(libsbmysql_a-drv_mysql.o)

gli-mn:sysbench-0.4.12 root# file /usr/local/mysql/lib/libmysqlclient_r.dylib
/usr/local/mysql/lib/libmysqlclient_r.dylib: Mach-O 64-bit dynamically linked shared library x86_64
gli-mn:sysbench-0.4.12 root#</description>
		<content:encoded><![CDATA[<p>For me, the MySQL server/client is 64bit. </p>
<p>I have to modify &#8220;configure&#8221; to add the -m64 to compile sysbench as 64bit. </p>
<p>otherwise, I got the following error:</p>
<p>gcc -D_THREAD_SAFE  -g -O2      -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/local/mysql/lib -lmysqlclient_r   -lm<br />
ld: warning in /usr/local/mysql/lib/libmysqlclient_r.dylib, file is not of required architecture<br />
Undefined symbols:<br />
  &#8220;_mysql_store_result&#8221;, referenced from:<br />
      _mysql_drv_describe in libsbmysql.a(libsbmysql_a-drv_mysql.o)<br />
      _mysql_drv_store_results in libsbmysql.a(libsbmysql_a-drv_mysql.o)</p>
<p>gli-mn:sysbench-0.4.12 root# file /usr/local/mysql/lib/libmysqlclient_r.dylib<br />
/usr/local/mysql/lib/libmysqlclient_r.dylib: Mach-O 64-bit dynamically linked shared library x86_64<br />
gli-mn:sysbench-0.4.12 root#</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a Date Dimension Stored Procedure by Randy Melder</title>
		<link>http://randymelder.com/2010/09/28/creating_a_date_dimension_procedure/#comment-7622</link>
		<dc:creator>Randy Melder</dc:creator>
		<pubDate>Wed, 29 Sep 2010 17:19:48 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=1702#comment-7622</guid>
		<description>It is buried in the article text, but yes, because the range of hours is arbitrary, it is up to the user to factor in leap years. 

Daylight savings doesn&#039;t really factor in, because the key won&#039;t change based on user timezone preference. That part will be application dependent to pick a date_key that fits the ETL job for the fact data creation.</description>
		<content:encoded><![CDATA[<p>It is buried in the article text, but yes, because the range of hours is arbitrary, it is up to the user to factor in leap years. </p>
<p>Daylight savings doesn&#8217;t really factor in, because the key won&#8217;t change based on user timezone preference. That part will be application dependent to pick a date_key that fits the ETL job for the fact data creation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a Date Dimension Stored Procedure by Asaph</title>
		<link>http://randymelder.com/2010/09/28/creating_a_date_dimension_procedure/#comment-7602</link>
		<dc:creator>Asaph</dc:creator>
		<pubDate>Wed, 29 Sep 2010 16:51:48 +0000</pubDate>
		<guid isPermaLink="false">http://randymelder.com/?p=1702#comment-7602</guid>
		<description>Did you take into account leap years? What about daylight savings time?</description>
		<content:encoded><![CDATA[<p>Did you take into account leap years? What about daylight savings time?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MySQL Partitioning and open_file_limit by randy melder</title>
		<link>http://randymelder.com/2010/03/11/mysql-partitioning-and-open_file_limit/#comment-5800</link>
		<dc:creator>randy melder</dc:creator>
		<pubDate>Thu, 13 May 2010 16:29:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.randymelder.com/?p=207#comment-5800</guid>
		<description>Another quick addition to this post: you should check your OS open file limits as well. In linux, do a:
&gt; ulimit -a # shows open file limit
To set this to accomodate:
&gt; ulimit -n 2500 # then restart mysqld</description>
		<content:encoded><![CDATA[<p>Another quick addition to this post: you should check your OS open file limits as well. In linux, do a:<br />
&gt; ulimit -a # shows open file limit<br />
To set this to accomodate:<br />
&gt; ulimit -n 2500 # then restart mysqld</p>
]]></content:encoded>
	</item>
</channel>
</rss>

