<?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>@randymelder &#187; Randy</title>
	<atom:link href="http://randymelder.com/author/randy-melder/feed/" rel="self" type="application/rss+xml" />
	<link>http://randymelder.com</link>
	<description>random randy ramblings</description>
	<lastBuildDate>Thu, 26 Jan 2012 17:14:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>My Favorite Data Visualization Libraries and Frameworks</title>
		<link>http://randymelder.com/2012/01/26/my-favorite-data-visualization-libraries-and-frameworks/</link>
		<comments>http://randymelder.com/2012/01/26/my-favorite-data-visualization-libraries-and-frameworks/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 17:14:49 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5361</guid>
		<description><![CDATA[As a dba, programmer, business intelligence developer and all-things-data for my company, part of my job is to create useful info-graphics and dashboards for our management team. The numbers alone are fascinating, but when you present them graphically, the trends are easily and instantly understood. Here is a list of my fav tools: jqPlot jVectorMap [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2012/01/26/my-favorite-data-visualization-libraries-and-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparing MySQL table structures across hosts</title>
		<link>http://randymelder.com/2012/01/25/comparing-mysql-table-structures-across-hosts/</link>
		<comments>http://randymelder.com/2012/01/25/comparing-mysql-table-structures-across-hosts/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 21:47:19 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5241</guid>
		<description><![CDATA[Have you ever had to quickly scan table structures to see if they were the same on two separate hosts? Eyeballing this can be a total pain. I wrote a quickie Bash script to automate this. Please note, this is NOT a thorough test. Just a glimpse or cursory check. A deeper look will reveal [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2012/01/25/comparing-mysql-table-structures-across-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using screen in the Linux shell</title>
		<link>http://randymelder.com/2012/01/23/using-screen-in-the-linux-shell/</link>
		<comments>http://randymelder.com/2012/01/23/using-screen-in-the-linux-shell/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 17:35:24 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Linux, Unix, and Solaris]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5191</guid>
		<description><![CDATA[Have you ever been remotely connected to a host using SSH and thought to yourself: &#8220;self, I wish I had more than one window&#8230;&#8221; So naturally, you opened an additional SSH session. This is fine, but then you need to organize desktop windows when there&#8217;s a much simpler solution: Use the screen shell program. Screen [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2012/01/23/using-screen-in-the-linux-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripting MySQL replicated slave restarts</title>
		<link>http://randymelder.com/2011/12/09/scripting-mysql-replicated-slave-restarts/</link>
		<comments>http://randymelder.com/2011/12/09/scripting-mysql-replicated-slave-restarts/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 19:32:23 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Linux, Unix, and Solaris]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqladmin]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5131</guid>
		<description><![CDATA[The recent reboot requirements at Amazon AWS have brought up the topic of automated restarts of MySQL database servers. I&#8217;d like to offer a safe solution for scripting the procedure. Let&#8217;s pretend that we&#8217;ve already confirmed there&#8217;s no production traffic. Here are the basic commands: Stopping MySQL Server Stop replication mysqladmin -u root -p stop-slave [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/12/09/scripting-mysql-replicated-slave-restarts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CouchDB Connector Libraries</title>
		<link>http://randymelder.com/2011/11/24/couchdb-connector-libraries/</link>
		<comments>http://randymelder.com/2011/11/24/couchdb-connector-libraries/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 18:50:22 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[NoSQL Map Reduce]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5051</guid>
		<description><![CDATA[I wanted to get a project started with the objective to make CouchDB connector libraries for various languages. github.com/randymelder/CouchDBConnector Planning for at least PHP and Objective-c.]]></description>
		<wfw:commentRss>http://randymelder.com/2011/11/24/couchdb-connector-libraries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NoSQL Pattern for Event Aggregation using CouchDB</title>
		<link>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/</link>
		<comments>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 00:09:53 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[NoSQL Map Reduce]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[reduce]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=5011</guid>
		<description><![CDATA[I thought I&#8217;d contribute some food for thought to the NoSQL community about how I implemented CouchDB to provide a real-world solution. Problem: I needed to be able to aggregate event counts by different date ranges quickly, painlessly and reliably for massive amounts of activity. Solution: Utilizing CouchDB, I was able to setup master-master replication [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/11/11/nosql-pattern-for-event-aggregation-using-couchdb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Words to live by&#8230;</title>
		<link>http://randymelder.com/2011/10/06/words-to-live-by/</link>
		<comments>http://randymelder.com/2011/10/06/words-to-live-by/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 18:33:35 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4901</guid>
		<description><![CDATA[Fear is the enemy of ambition. Anger is the enemy of control. Panic is the enemy of focus. Action is the best friend of luck.]]></description>
		<wfw:commentRss>http://randymelder.com/2011/10/06/words-to-live-by/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>InnoDB lost file pointers to partitions</title>
		<link>http://randymelder.com/2011/09/29/innodb-lost-file-pointers-to-partitions/</link>
		<comments>http://randymelder.com/2011/09/29/innodb-lost-file-pointers-to-partitions/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 17:20:20 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4821</guid>
		<description><![CDATA[Recently I went through the exercise of setting up a new replicated slave host. I proceeded through my normal list of tasks to get the new host stood up. This time, something different happened. Replication crashed. Hard. Last_SQL_Error: Could not execute Update_rows event on table core_stats.plays_hourly; Can't find record in 'plays_hourly', Error_code: 1032; handler error [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/09/29/innodb-lost-file-pointers-to-partitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So mysql.com got hacked. What does that mean for me?</title>
		<link>http://randymelder.com/2011/09/28/so-mysql-com-got-hacked-what-does-that-mean-for-me/</link>
		<comments>http://randymelder.com/2011/09/28/so-mysql-com-got-hacked-what-does-that-mean-for-me/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 16:44:06 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4771</guid>
		<description><![CDATA[http://techie-buzz.com/tech-news/mysql-com-database-compromised-sql-injection.html http://www.pcworld.com/businesscenter/article/240609/mysqlcom_hacked_to_serve_malware.html There&#8217;s been so much drama recently about MySQL&#8217;s public web site getting hacked. It&#8217;s causing mis-directed hyperbole about the MySQL database. I&#8217;m sure vendors of closed source technologies love the bad press for MySQL, but as a user of production MySQL databases and database administrator specializing in MySQL technology, I&#8217;m hearing people ask [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/09/28/so-mysql-com-got-hacked-what-does-that-mean-for-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding binary and relay log disk space management for MySQL</title>
		<link>http://randymelder.com/2011/09/15/understanding-binary-and-relay-log-disk-space-management-for-mysql/</link>
		<comments>http://randymelder.com/2011/09/15/understanding-binary-and-relay-log-disk-space-management-for-mysql/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 22:17:37 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4601</guid>
		<description><![CDATA[D R A F T I&#8217;m writing this as an attempt to help non-database-administrators (nDBAs) understand how to triage disk space crises on MySQL hosts. Here&#8217;s the scenario: - One of your MySQL hosts is consuming disk space rapidly. You perform investigation at the operating system level and discover that the logs, not the data [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/09/15/understanding-binary-and-relay-log-disk-space-management-for-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database noob making changes and something goes wrong&#8230;</title>
		<link>http://randymelder.com/2011/08/27/database-noob-making-changes-and-something-goes-wrong/</link>
		<comments>http://randymelder.com/2011/08/27/database-noob-making-changes-and-something-goes-wrong/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 14:06:09 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[alter]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[noob]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4541</guid>
		<description><![CDATA[Recently, I answered a question on a forum site from a user who stated they were &#8220;database noobs&#8221;. They made a change and had a problem. Here&#8217;s the advice I gave: Performing an ALTER to change storage engines won&#8217;t make rows disappear. However, let me offer some advice since you said you&#8217;re &#8216;database noobs&#8217; in [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/08/27/database-noob-making-changes-and-something-goes-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>plotto the office lottery pool iphone app</title>
		<link>http://randymelder.com/2011/07/28/plotto-the-office-lottery-pool-iphone-app/</link>
		<comments>http://randymelder.com/2011/07/28/plotto-the-office-lottery-pool-iphone-app/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 04:46:08 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[C / C++ / Objective-C]]></category>
		<category><![CDATA[iOS iPhone iPad]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[plotto]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4481</guid>
		<description><![CDATA[Update: 2011-08-27 - Price change to $.95! yes, just Ninety-Five cents! Rock out America! - Version 1.1 coming soon! - Also, there&#8217;s been some curiosity about data persistence in the app, so let me clear this up. All app data is stored on the phone using a SQLite database. No data is stored remotely and [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/07/28/plotto-the-office-lottery-pool-iphone-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book Review: Programming iOS 4</title>
		<link>http://randymelder.com/2011/07/13/book_review_programming_ios_4/</link>
		<comments>http://randymelder.com/2011/07/13/book_review_programming_ios_4/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 22:55:19 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[C / C++ / Objective-C]]></category>
		<category><![CDATA[iOS iPhone iPad]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4391</guid>
		<description><![CDATA[&#8220;Programming iOS 4&#8243; by Matt Neuburg; O&#8217;Reilly Media Summary: Good book. Lots of background on Objective-C. Good for experienced programmers that are new to programming Objective-C and those needing review of the basics. Great for programmers new to iOS. I&#8217;ve just finished reading &#8220;Programming iOS 4&#8243; by Matt Neuburg. It&#8217;s a book about programming Objective-C [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/07/13/book_review_programming_ios_4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sunlightjs syntax highlighting is fun and awesome</title>
		<link>http://randymelder.com/2011/06/25/sunlightjs-syntax-highlighting-is-fun-and-awesome/</link>
		<comments>http://randymelder.com/2011/06/25/sunlightjs-syntax-highlighting-is-fun-and-awesome/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 13:47:15 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Wordpress Stuff]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4351</guid>
		<description><![CDATA[sunlightjs syntax highlighting is fun and awesome. Thanks, Tommy! http://sunlightjs.com/]]></description>
		<wfw:commentRss>http://randymelder.com/2011/06/25/sunlightjs-syntax-highlighting-is-fun-and-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My favority BASH one-liners</title>
		<link>http://randymelder.com/2011/06/25/my-favority-bash-one-liners/</link>
		<comments>http://randymelder.com/2011/06/25/my-favority-bash-one-liners/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 13:30:29 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Linux, Unix, and Solaris]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2742</guid>
		<description><![CDATA[Let me preface this post by saying, these are hacks. Neither the best or the only ways to achieve the desired results. But hey, if they work for me, they may work for you. Enjoy! ping -i 10 4.2.2.2 Send a ping request to an IP address once every 10 seconds. Why would I do [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/06/25/my-favority-bash-one-liners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Row Deletion MySQL Stored Procedure</title>
		<link>http://randymelder.com/2011/06/21/row-deletion-mysql-stored-procedure/</link>
		<comments>http://randymelder.com/2011/06/21/row-deletion-mysql-stored-procedure/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 17:22:10 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[stored]]></category>
		<category><![CDATA[stored procedure]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4271</guid>
		<description><![CDATA[Scenario: You&#8217;ve got a huge history table that&#8217;s getting too big to deal with. It&#8217;s grown out of your control and the application has an SLA of 100% uptime. What now? My solution: The answer is to archive rows off the system, then delete rows by primary key. DROP PROCEDURE IF EXISTS proc_delete_id_range_safe; DELIMITER $$ [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/06/21/row-deletion-mysql-stored-procedure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I won&#8217;t use HandlerSocket in Production&#8230;</title>
		<link>http://randymelder.com/2011/06/09/why-i-wont-use-handlersocket-in-production/</link>
		<comments>http://randymelder.com/2011/06/09/why-i-wont-use-handlersocket-in-production/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 21:58:06 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[handler]]></category>
		<category><![CDATA[handlersocket]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=4041</guid>
		<description><![CDATA[There is a ton of hype around HandlerSocket right now. It looks awesomely wonderfully fast, fun and useful&#8230; however, I suspect there&#8217;s another side to the story. These are my notions gleaned from my limited knowledge and experimentation: HandlerSocket has some great use cases, but from a DBA perspective, it is a dangerous toy. 1.) [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/06/09/why-i-wont-use-handlersocket-in-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Identifying InnoDB Foreign Key Constraints</title>
		<link>http://randymelder.com/2011/06/09/identifying-innodb-foreign-key-constraints/</link>
		<comments>http://randymelder.com/2011/06/09/identifying-innodb-foreign-key-constraints/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 16:40:10 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[foreign key]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=3981</guid>
		<description><![CDATA[When using InnoDB tables in MySQL, the option exists to apply foreign key constraints. Data modelers do this for various reasons, which I&#8217;m not going to explore here. What&#8217;s important is that these constraints are religion for DBAs (and client software) and have to be respected to maintain data integrity. Knowing the hierarchy of data [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/06/09/identifying-innodb-foreign-key-constraints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use BASH to extract MySQL ACL list</title>
		<link>http://randymelder.com/2011/04/25/use-bash-to-extract-mysql-acl-list/</link>
		<comments>http://randymelder.com/2011/04/25/use-bash-to-extract-mysql-acl-list/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 16:29:59 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Linux, Unix, and Solaris]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=3762</guid>
		<description><![CDATA[Need to quickly extract all the GRANT info for your database users? Here&#8217;s a one-liner: for i in $( mysql -u readuser -pReadPassword -h your.host -e "SELECT CONCAT(user,'@\'',host,'\'') AS ACL FROM mysql.user ORDER BY user" -s ); do mysql -u readuser -pReadPassword -h your.host -e "SHOW GRANTS FOR $i" -s ; done ; Here&#8217;s a [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/04/25/use-bash-to-extract-mysql-acl-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using MySQL Stored Procedures for User Authentication</title>
		<link>http://randymelder.com/2011/03/30/using-mysql-stored-procedures-for-user-authentication/</link>
		<comments>http://randymelder.com/2011/03/30/using-mysql-stored-procedures-for-user-authentication/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 00:17:07 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=3382</guid>
		<description><![CDATA[Scenario: You want to authenticate users into a private web site by accepting an e-mail address and a password. You don&#8217;t want to do a bunch of security on the front end however you do want to use a token on the client for various purposes. Also, you want the tokens to expire automatically and [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/03/30/using-mysql-stored-procedures-for-user-authentication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to use Bash to extract Qmail accounts for OpenSRS import</title>
		<link>http://randymelder.com/2011/03/22/how-to-use-bash-to-extract-qmail-accounts-for-opensrs-import/</link>
		<comments>http://randymelder.com/2011/03/22/how-to-use-bash-to-extract-qmail-accounts-for-opensrs-import/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 02:36:25 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Linux, Unix, and Solaris]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensrs]]></category>
		<category><![CDATA[qmail]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=3262</guid>
		<description><![CDATA[Since I happen to be going through the pain of a bulk migration from Qmail to OpenSRS, I figured I can&#8217;t be the only one. Here&#8217;s a Bash script I wrote to extract Qmail users accounts into a CSV file. Enjoy! #!/bin/bash # # # Simple Email Account Extractor for Qmail # - Extracts username/password [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/03/22/how-to-use-bash-to-extract-qmail-accounts-for-opensrs-import/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a MySQL Function to convert miles and kilometers</title>
		<link>http://randymelder.com/2011/03/10/creating-a-mysql-function-to-convert-miles-and-kilometers/</link>
		<comments>http://randymelder.com/2011/03/10/creating-a-mysql-function-to-convert-miles-and-kilometers/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 18:07:28 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[distance]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=3102</guid>
		<description><![CDATA[MySQL has the ability to create user defined functions that can be called just like the built-ins. There was a recent project that involved some distance calculations. As part of the performance testing, we experimented with moving the logic around to different parts of the application stack. Here&#8217;s a short example of two functions created [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/03/10/creating-a-mysql-function-to-convert-miles-and-kilometers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My wish list of O&#8217;Reilly titles</title>
		<link>http://randymelder.com/2011/02/18/my-wish-list-of-oreilly-titles/</link>
		<comments>http://randymelder.com/2011/02/18/my-wish-list-of-oreilly-titles/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 04:41:53 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2922</guid>
		<description><![CDATA[It&#8217;s shameless, I know&#8230; but these are some books I want to read: Ajax: The Definitive Guide Algorithms in a Nutshell AppleScript in a Nutshell bash Cookbook Building Cocoa Applications: A Step by Step Guide Cocoa in a Nutshell iOS 4 Programming Cookbook iPhone App Development: The Missing Manual iPhone Game Development JavaScript Cookbook JavaScript [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/02/18/my-wish-list-of-oreilly-titles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing MySQL data migrations Part 1</title>
		<link>http://randymelder.com/2011/01/10/testing-mysql-data-migrations-part-1/</link>
		<comments>http://randymelder.com/2011/01/10/testing-mysql-data-migrations-part-1/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 00:58:17 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2942</guid>
		<description><![CDATA[On occasion as database administrators we have to migrate data for various reasons. No matter the reason or the origin, we have to test the migration to see if the result is what we expect. The question is: How? In Part 1 of this series, I&#8217;m going to explore a simple &#8220;smoke test&#8221; of a [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/01/10/testing-mysql-data-migrations-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shocking your system into weight loss</title>
		<link>http://randymelder.com/2011/01/03/shocking-your-system-into-weight-loss/</link>
		<comments>http://randymelder.com/2011/01/03/shocking-your-system-into-weight-loss/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 21:52:08 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[diet]]></category>
		<category><![CDATA[weight loss]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2882</guid>
		<description><![CDATA[As I&#8217;ve aged after about 25 years old, I&#8217;ve noticed that my metabolism is incredibly slow and weight loss using conventional means, balanced diet and exercise, was impossible. I&#8217;ve had to resort to research and experiments to find what works for me. Some of the conclusions I&#8217;ve made have been echoed in other diet books [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2011/01/03/shocking-your-system-into-weight-loss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Group Lunch iPhone App</title>
		<link>http://randymelder.com/2010/12/06/group-lunch-iphone-app/</link>
		<comments>http://randymelder.com/2010/12/06/group-lunch-iphone-app/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 04:06:33 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[iOS iPhone iPad]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2462</guid>
		<description><![CDATA[UPDATE! What&#8217;s New in Version 1.2 - Bug fix: Removed iAd support because it was crashing older phones. - Also recompiled build for ios 4.0 device compatibility. What&#8217;s New in Version 1.1 - Changed behavior so when the user begins edting a text field, it clears. - Added spin logo to about page. - Fixed [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/12/06/group-lunch-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS project opportunities</title>
		<link>http://randymelder.com/2010/10/28/ios-mac-project-opportunities/</link>
		<comments>http://randymelder.com/2010/10/28/ios-mac-project-opportunities/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 15:42:19 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2342</guid>
		<description><![CDATA[Lately I&#8217;ve been mulling what to do next. I&#8217;ve got a Mac desktop app idea that would be really helpful to me. I&#8217;ve also got an iPhone app idea that I want to do. Then again, I really like money and there&#8217;s gigs out there I could get into. Nonetheless, I&#8217;m really wanting to stop [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/10/28/ios-mac-project-opportunities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Insert On Duplicate Update Madness</title>
		<link>http://randymelder.com/2010/10/27/mysql-insert-on-duplicate-update-madness/</link>
		<comments>http://randymelder.com/2010/10/27/mysql-insert-on-duplicate-update-madness/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 00:08:17 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[on duplicate key update]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=2202</guid>
		<description><![CDATA[you may need to perform an INSERT INTO SELECT FROM statement. Often when you do this, you'll run into duplicate key errors. To overcome this, you'll need to add ON DUPLICATE KEY UPDATE syntax to the end of your insert.]]></description>
		<wfw:commentRss>http://randymelder.com/2010/10/27/mysql-insert-on-duplicate-update-madness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Best Practice: Forget ALTER, use RENAME instead</title>
		<link>http://randymelder.com/2010/10/14/mysql-best-practice-forget-alter-use-rename/</link>
		<comments>http://randymelder.com/2010/10/14/mysql-best-practice-forget-alter-use-rename/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 16:18:27 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=1882</guid>
		<description><![CDATA[MySQL is notorious for a few bummer scenarios. One of them is when you have a table with a couple hundred thousand rows or more and an indexed column or two, and you&#8217;ve been asked to add a column to meet a data model requirement. You know this will cause an outage or at least [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/10/14/mysql-best-practice-forget-alter-use-rename/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Date Dimension Stored Procedure</title>
		<link>http://randymelder.com/2010/09/28/creating_a_date_dimension_procedure/</link>
		<comments>http://randymelder.com/2010/09/28/creating_a_date_dimension_procedure/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 23:33:03 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[data warehouse]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dimension]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=1702</guid>
		<description><![CDATA[Our data warehouse was getting pretty big. In fact, it was it was getting into the hundreds of gigabytes of fact data. We started looking for ways to save hard drive space. It became apparent that storing redundant varchars, datetimes, enums and other large column types was unnecessary and causing the scale constraints. Part of [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/09/28/creating_a_date_dimension_procedure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sysbench for MySQL Burn-In Testing</title>
		<link>http://randymelder.com/2010/09/25/sysbench-for-mysql-burn-in-testing/</link>
		<comments>http://randymelder.com/2010/09/25/sysbench-for-mysql-burn-in-testing/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 17:34:20 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sysbench]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=1602</guid>
		<description><![CDATA[The reason for my last post about getting Sysbench installed on OS X, was that I had a chore to burn-in four MySQL hosts. They are currently replicating which is normal behavior for this group. I wanted to add some stress testing. Here is the script I created for his purpose. You can modify the [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/09/25/sysbench-for-mysql-burn-in-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Sysbench on OS X</title>
		<link>http://randymelder.com/2010/09/24/how-to-install-sysbench-osx/</link>
		<comments>http://randymelder.com/2010/09/24/how-to-install-sysbench-osx/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 15:47:25 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[sysbench]]></category>

		<guid isPermaLink="false">http://randymelder.com/?p=1422</guid>
		<description><![CDATA[Before I start this post, I want to thank Alexey Kopytov for his assistance. Alexey, you&#8217;re a cool guy. Also, for reference sake, I&#8217;m running Mac OS X 10.6.4 and installed mysql-5.5.6-rc-osx10.6-x86.dmg Sysbench is a tool for MySQL DBAs to performance test or burn-in installations. I like to use it as a sanity check for [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/09/24/how-to-install-sysbench-osx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ANSI C++ MySQL Client Wrapper Class</title>
		<link>http://randymelder.com/2010/05/24/ansi-c-mysql-client-wrapper-class/</link>
		<comments>http://randymelder.com/2010/05/24/ansi-c-mysql-client-wrapper-class/#comments</comments>
		<pubDate>Mon, 24 May 2010 21:51:37 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[C / C++ / Objective-C]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[c c++ mysql oop]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=222</guid>
		<description><![CDATA[So as you can imagine by the title, I was recently tasked with working on a command line project for MySQL. I wanted to be able to reuse whatever I made, so that meant creating a down and dirty wrapper class for some of the MySQL C API functions. This is my start. Another requirement [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/05/24/ansi-c-mysql-client-wrapper-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CGI Hit Counter</title>
		<link>http://randymelder.com/2010/03/20/cgi-hit-counter/</link>
		<comments>http://randymelder.com/2010/03/20/cgi-hit-counter/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 21:38:27 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[C / C++ / Objective-C]]></category>
		<category><![CDATA[c plus plus]]></category>
		<category><![CDATA[c programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[cgi]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=211</guid>
		<description><![CDATA[C++ Hit Counter, 1.0. Non-Object Oriented. Pretty light weight. // // HitCounter // @author Randy Melder // @version 1.0 // #include &#60;iostream&#62; #include &#60;fstream&#62; using namespace std; // file name const char *filename = "/tmp/hits.bin"; // quantity of hits struct Hits { long unsigned num_hits; }; void readHitsFile(const char *file_name, Hits *hits); void writeHitsFile(const char [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/03/20/cgi-hit-counter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Partitioning and open_file_limit</title>
		<link>http://randymelder.com/2010/03/11/mysql-partitioning-and-open_file_limit/</link>
		<comments>http://randymelder.com/2010/03/11/mysql-partitioning-and-open_file_limit/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 22:42:08 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[partitioning]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=207</guid>
		<description><![CDATA[We ran into an interesting problem recently and wanted to share the research. MySQL partitioning is a great way to improve performance in some circumstances, but it has a behavior that&#8217;s not widely noted. That is specifically with the MyISAM storage engine. MySQL seems to open two (2) file pointers for each table or partition [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/03/11/mysql-partitioning-and-open_file_limit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backing up your MySQL databases</title>
		<link>http://randymelder.com/2010/02/01/backing-up-your-mysql-databases/</link>
		<comments>http://randymelder.com/2010/02/01/backing-up-your-mysql-databases/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 00:50:39 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Linux, Unix, and Solaris]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=184</guid>
		<description><![CDATA[MYSQLDUMP is a utility for outputting database contents into text files. This is nice, but has many configuration options. One, often missed detail is the specific permissions required to accomplish the job. I made a note on the mysql manual (bottom of page) to illustrate what I consider to be a best practice for automated [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/02/01/backing-up-your-mysql-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL memory usage stored procedure</title>
		<link>http://randymelder.com/2010/01/01/mysql_memory_usage_stored_procedure/</link>
		<comments>http://randymelder.com/2010/01/01/mysql_memory_usage_stored_procedure/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 15:37:40 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[stored procedure]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=172</guid>
		<description><![CDATA[Want to know a close approximation of how much RAM MySQL is consuming right now? There&#8217;s a simple formula posted at MySQL.com. Want to add a function to your MySQL database that will allow you to access this value without having to remember the formula? Answer: Create a Stored Procedure I&#8217;m assuming your using a [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2010/01/01/mysql_memory_usage_stored_procedure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Conference 2009</title>
		<link>http://randymelder.com/2009/04/20/mysql-conference-2009/</link>
		<comments>http://randymelder.com/2009/04/20/mysql-conference-2009/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:46:53 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/?p=85</guid>
		<description><![CDATA[A fast way to grow your skills The 7th annual MySQL Conference &#038; Expo, co-presented by Sun Microsystems, MySQL and O&#8217;Reilly Media. Happening April 20-23, 2009 in Santa Clara, CA, at the Santa Clara Convention Center and Hyatt Regency Santa Clara, brings over 2,000 open source and database enthusiasts together to harness the power of [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2009/04/20/mysql-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a replicated MySQL server</title>
		<link>http://randymelder.com/2008/06/27/setting-up-a-replicated-mysql-server/</link>
		<comments>http://randymelder.com/2008/06/27/setting-up-a-replicated-mysql-server/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 20:43:53 +0000</pubDate>
		<dc:creator>Randy</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.randymelder.com/index.php/technology/php-mysql/setting-up-a-replicated-mysql-server/</guid>
		<description><![CDATA[I&#8217;m pretty much taking notes here, so I put the link at the bottom of this post to the original article that I based this off of. Here are the steps to get replication setup. 1. SSH to [PRIMARY HOST], log into mysql as root and SET GLOBAL max_connections = 0; GRANT REPLICATION SLAVE, REPLICATION [...]]]></description>
		<wfw:commentRss>http://randymelder.com/2008/06/27/setting-up-a-replicated-mysql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

