<?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"
	>

<channel>
	<title>Ramblings</title>
	<atom:link href="http://www.flamingspork.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flamingspork.com/blog</link>
	<description>Ramblings which occasionally resemble reality. This is the blog of Stewart Smith (aka macplusg3)</description>
	<pubDate>Thu, 20 Nov 2008 16:39:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Scaling MySQL on a 256-way T5440 server using Solaris ZFS and Java 1.7</title>
		<link>http://www.flamingspork.com/blog/2008/11/21/scaling-mysql-on-a-256-way-t5440-server-using-solaris-zfs-and-java-17/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/21/scaling-mysql-on-a-256-way-t5440-server-using-solaris-zfs-and-java-17/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 16:39:48 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1260</guid>
		<description><![CDATA[Scaling MySQL on a 256-way T5440 server using Solaris ZFS and Java 1.7
*cough*
(and then wipe coffee off the computer)
of course the real aim should be to scale with one instance on the machine as scaling with multiple instances on the one machine isn&#8217;t scaling at all - it&#8217;s scale out, but with more problems (now [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.sun.com/mrbenchmark/entry/scaling_mysql_on_a_256">Scaling MySQL on a 256-way T5440 server using Solaris ZFS and Java 1.7</a></p>
<p>*cough*</p>
<p>(and then wipe coffee off the computer)</p>
<p>of course the real aim should be to scale with one instance on the machine as scaling with multiple instances on the one machine isn&#8217;t scaling at all - it&#8217;s scale out, but with more problems (now when one machine goes down, so do 1110202434 database instances).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/21/scaling-mysql-on-a-256-way-t5440-server-using-solaris-zfs-and-java-17/feed/</wfw:commentRss>
		</item>
		<item>
		<title>phrase from nearest book</title>
		<link>http://www.flamingspork.com/blog/2008/11/12/phrase-from-nearest-book/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/12/phrase-from-nearest-book/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 06:18:00 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1256</guid>
		<description><![CDATA[from elliot: phrase from nearest book 

Grab the nearest book.
Open it to page 56.
Find the fifth sentence.
Post the text of the sentence in your journal along with these instructions.
Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

My result:
&#8220;A lot of UN staff call themselves human rights experts but [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elliotmurphy.com/2008/11/11/phrase-from-nearest-book/">from elliot: phrase from nearest book </a></p>
<ul>
<li>Grab the nearest book.</li>
<li>Open it to page 56.</li>
<li>Find the fifth sentence.</li>
<li>Post the text of the sentence in your journal along with these instructions.</li>
<li>Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.</li>
</ul>
<p>My result:</p>
<p>&#8220;A lot of UN staff call themselves human rights experts but need a shoulder to cry on each time there&#8217;s a killing&#8221;</p>
<p>- Emergency Sex (and other desperate measures)<br />
Kenneth Cain, Heidi Postlewait and Andrew Thomson</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/12/phrase-from-nearest-book/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Technology predictions</title>
		<link>http://www.flamingspork.com/blog/2008/11/09/technology-predictions/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/09/technology-predictions/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 00:26:32 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[life, the universe and everything]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1242</guid>
		<description><![CDATA[In 2 years (ish):

the majority of consumer bought machines (which will be laptops) will have SSD and not rotational media
At the same time, servers with larger storage requirements will use disk as we once used tape.
At least one Linux distributoin will be shipping with btrfs as default
OpenSolaris will be looking interesting and not annoying to [...]]]></description>
			<content:encoded><![CDATA[<p>In 2 years (ish):</p>
<ul>
<li>the majority of consumer bought machines (which will be laptops) will have SSD and not rotational media</li>
<li>At the same time, servers with larger storage requirements will use disk as we once used tape.</li>
<li>At least one Linux distributoin will be shipping with btrfs as default</li>
<li>OpenSolaris will be looking interesting and not annoying to try out (a lot more &#8220;just work&#8221; and easy to get going).</li>
<li>Unless Sun puts ZFS under a GPL compatible license so it can make it into the Linux kernel, it will become nothing more than a Solaris oddity as other file systems will have caught up (and possibly surpassed).</li>
<li>There will be somebody developing a a MySQL compatible release based off Drizzle</li>
<li>Somebody will have ported Drizzle back to Microsoft Windows&#8230; possibly Microsoft.</li>
<li>X will still be used for graphics on Linux, although yet another project will start up to &#8220;replace X with something modern&#8221;, get a lot of press and then fail.</li>
</ul>
<p>In 5 years:</p>
<ul>
<li>Apple will single handedly control 1/3rd the mobile phone market</li>
<li>The other 2/3rds will be divided between Blackberry (small), Windows Mobile and Android.</li>
<li>Linux desktop market share will be much higher than Apple&#8217;s</li>
</ul>
<p>That&#8217;s all for now&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/09/technology-predictions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>libmallocfail</title>
		<link>http://www.flamingspork.com/blog/2008/11/08/libmallocfail/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/08/libmallocfail/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 22:50:36 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[drizzle]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1253</guid>
		<description><![CDATA[Bazaar branches of libmallocfail
Simple LD_PRELOAD library that will take parameters via environment variables and cause malloc() to occationally fail.
Aim was to use this to test bits of MySQL/Drizzle although since their libtool based stuf, the binary in tree is a libtool shell script, and I haven&#8217;t found a way to LD_PRELOAD only for mysqld and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://code.launchpad.net/libmallocfail">Bazaar branches of libmallocfail</a></p>
<p>Simple LD_PRELOAD library that will take parameters via environment variables and cause malloc() to occationally fail.</p>
<p>Aim was to use this to test bits of MySQL/Drizzle although since their libtool based stuf, the binary in tree is a libtool shell script, and I haven&#8217;t found a way to LD_PRELOAD only for mysqld and not the shell script and the other processes spawned by it.</p>
<p>I have found a bug in libc though :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/08/libmallocfail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Goodbye FRM (or at least the steps to it)</title>
		<link>http://www.flamingspork.com/blog/2008/11/06/goodbye-frm-or-at-least-the-steps-to-it/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/06/goodbye-frm-or-at-least-the-steps-to-it/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 03:56:51 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[drizzle]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1251</guid>
		<description><![CDATA[Since before MySQL was MySQL, there has been the .FRM file. Of course, what it really wanted to be was &#8220;.form&#8221; -  a file that stored how to display a form on your (green) CRT. Jan blogged earlier in the year on this still being there, even in MySQL 5.1 (albeit not in any useful [...]]]></description>
			<content:encoded><![CDATA[<p>Since before MySQL was MySQL, there has been the .FRM file. Of course, what it really wanted to be was &#8220;.form&#8221; -  a file that stored how to display a form on your (green) CRT. <a href="http://jan.kneschke.de/2008/8/2/mysql-internals-screens-or-frm-files">Jan blogged</a> earlier in the year on this still being there, even in MySQL 5.1 (albeit not in any useful form).</p>
<p>So why do we want it to die?</p>
<p>Well&#8230; it&#8217;s not exactly very useful anymore.</p>
<p>There are a few things it&#8217;s used for&#8230;.</p>
<p>If database/table.frm exists, the table exists (or, on Windows, you may also get database\table.frm). This is tested in a few bits in the code by a call to access(2).</p>
<p>Most engines have their own data dictionaries (Innodb, PBXT, NDB, Falcon). Keeping these in sync with the FRMs can be problematic at best. This is especially true with distributed engines such as NDB.</p>
<p>The current solution is that on the SQL node that is creating the table, we create the FRM file, gzip it, and store it in the cluster. Then, other nodes, if they go &#8220;err&#8230; no local frm&#8221; first call ha_create_table_from_engine() which NDB will go and see if the table exists in the cluster. If so, it copies the FRM from the cluster to local disk and then the SQL server continues on its way with the standard way of opening a table (through the FRM). If you do DDL through the NDB-API (and not via SQL) then well&#8230; you get to keep both pieces.</p>
<p>As for if you crash during a table rename (with any engine with its own data dictionary.. e.g. InnoDB)&#8230; you again get to keep both pieces. (There is a bit of discussion on this <a href="http://www.mysqlperformanceblog.com/2006/07/30/mysql-crash-recovery/">over here</a>)</p>
<p>Having FRM files also doesn&#8217;t especially lead to having multiple versions of table metadata co-existing in the server.</p>
<p>The fun part of reading a frm is open_binary_frm in table.cc. It reads in the frm into a TABLE_SHARE. If we only had some other way of filling out a TABLE_SHARE&#8230; one from the engine itself&#8230;</p>
<p>But what about any metadata that the engine data dictionary doesn&#8217;t have? For example, many server types may map to 1 engine type. An example of this is the GIS types in MySQL. For most engines, these just map to BLOBs. The engine itself has no knowledge about that, but we should fill out the table definition correctly&#8230;. so for this type of thing the engine may need to store some additional metadata. This is pretty easy for transactional engines: put it in a table! (although you then have your own problem about keeping this synchronised with any DDL). For engines that don&#8217;t have their own data dictionary, we can just provide a set of routines to store/read a frm type file (based on protobufs no doubt).</p>
<p>There also seems to be some entanglement with LOCK_open. Ahhh LOCK_open, the lock that nobody can possibly understand.</p>
<p>The tricky thing will be not rewriting every little bit from scratch all at once but rather go for the incremental bits&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/06/goodbye-frm-or-at-least-the-steps-to-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Perhaps you&#8217;re not all stupid&#8230;. although&#8230;</title>
		<link>http://www.flamingspork.com/blog/2008/11/06/perhaps-youre-not-all-stupid-although/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/06/perhaps-youre-not-all-stupid-although/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 01:28:18 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1249</guid>
		<description><![CDATA[As we (the rest of the world) heave a huge sigh of relief at the result of the US Presidential election it&#8217;s morning here and I&#8217;m happy that Obama is the president elect.
However, it looks like Proposition 8 will get up in California. EPIC FAIL. I hope the remaining ballots tip the result in the [...]]]></description>
			<content:encoded><![CDATA[<p>As we (the rest of the world) heave a huge sigh of relief at the result of the US Presidential election it&#8217;s morning here and I&#8217;m happy that Obama is the president elect.</p>
<p>However, it looks like <a href="http://en.wikipedia.org/wiki/California_Proposition_8_(2008)#Results">Proposition 8</a> will get up in California. EPIC FAIL. I hope the remaining ballots tip the result in the other direction, I really do.</p>
<p>I don&#8217;t see how the state (where state includes country and state&#8230; i.e. governments) has any right to legislate anything to do with human relationships.</p>
<p>What is marriage? Beyond the personal committment between consenting adults, it sets up a few things in case one party is incapacitated or dies. So why don&#8217;t we have a set of forms for this information?</p>
<p>In case I&#8217;m unable to make my own medical decisions, a list of people who (in order) I want to make them for me. If I&#8217;m not married, surely I still have a right to say who gets to make medical decisions for me.</p>
<p>On the &#8220;who gets my stuff when I die&#8221; front, a legal will pretty much covers that.</p>
<p>Some places seem to have tax benefits if you&#8217;re married&#8230; which to me is much like the government interfering in something that is none of its business. Surely being with a partner is its own reward, not something you do for tax incentives.</p>
<p>So you&#8217;re left with things like: shared property if relationship ends, right to adopt, access to fertility treatment etc</p>
<p>Shared property: How is this different from &#8220;two friends buy a house together, share it. they then fall out/decide to sell and there is dispute as one put more $$ into it&#8221;? It&#8217;s not, it&#8217;s just on a larger scale.</p>
<p>All I can say on who gets to reproduce is that it is surely a child is best raised by people who love them and can provide them with a safe, nurturing and positive environment.</p>
<p>Solution? Abolish Marriage.</p>
<p>Well&#8230; at least any legal definition thereof and everybody can live happily ever after.</p>
<p>Except that&#8217;s not what the issue is. It&#8217;s a debate between those who believe in personal freedom and right to live as you choose (on the proviso that it does not cause harm to others) and those who do not.</p>
<p>I have exactly zero time for those who think abortion should be illegal. When no child on this earth dies of hunger or easily preventative disease, I will then hear your argument. Odds are I will disagree with you, but until that day, you are just heartless.</p>
<p>But for the moment, we have until January 20th to see what more Bush/Cheney can do to make Americans constantly apologise for their country.</p>
<p>There is a great deal of hope for Obama, so I say this: don&#8217;t fuck up.</p>
<p>(Oh, and please don&#8217;t follow our new guys and try and erect a great internet firewall&#8230; because the club of countries that do that: Iran, Myanmar, North Korea, and Syria is one you really want to be part of).</p>
<p>I remain cautiously optimistic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/06/perhaps-youre-not-all-stupid-although/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use MySQL, get elected President of the United States</title>
		<link>http://www.flamingspork.com/blog/2008/11/05/use-mysql-get-elected-president-of-the-united-states/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/05/use-mysql-get-elected-president-of-the-united-states/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 09:07:30 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[life, the universe and everything]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1245</guid>
		<description><![CDATA[Jonathan puts it in slighty different words, and doesn&#8217;t gaurantee The White House to everybody.
I do wonder when we&#8217;ll get a Drizzle or NDB using president though&#8230;.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.sun.com/jonathan/entry/change_has_come_to_america">Jonathan</a> puts it in slighty different words, and doesn&#8217;t gaurantee The White House to everybody.</p>
<p>I do wonder when we&#8217;ll get a Drizzle or NDB using president though&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/05/use-mysql-get-elected-president-of-the-united-states/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Singing in the Rain</title>
		<link>http://www.flamingspork.com/blog/2008/11/05/singing-in-the-rain/</link>
		<comments>http://www.flamingspork.com/blog/2008/11/05/singing-in-the-rain/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 06:15:51 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[life, the universe and everything]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[sun]]></category>

		<category><![CDATA[work et al]]></category>

		<category><![CDATA[drizzle]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1235</guid>
		<description><![CDATA[The past 3 years, 11 months I have worked full time on NDB (MySQL Cluster). It&#8217;s been awesome. Love the product and people. In the time I&#8217;ve been on the Cluster team, we&#8217;ve gone from a small group that would easily fit in the (old old) Stockholm office to one that requires large rooms to [...]]]></description>
			<content:encoded><![CDATA[<p>The past 3 years, 11 months I have worked full time on NDB (MySQL Cluster). It&#8217;s been awesome. Love the product and people. In the time I&#8217;ve been on the Cluster team, we&#8217;ve gone from a small group that would easily fit in the (old old) Stockholm office to one that requires large rooms to house us all in. It&#8217;s also been all about smart people (you have to be to work on a distributed database).</p>
<p>With MySQL Cluster 6.4 we&#8217;re getting in a bunch of features that have been on the &#8220;wide adoption&#8221; wishlist. With each release of NDB we&#8217;ve gained a wedge of applications that can be used with it - and 6.4 is no exception.</p>
<p>One of the biggest things that&#8217;s been worked on is multithreaded data nodes. If you check out <a href="http://jonasoreland.blogspot.com/">Jonas</a>&#8216; recent posts on <a href="http://jonasoreland.blogspot.com/2008/11/500k-reads-per-second-on-1-datanode.html">500,000 reads/sec</a> and then a massive <a href="http://jonasoreland.blogspot.com/2008/11/700k-reads-per-second-on-1-datanode.html">700,000 reads/sec</a>.</p>
<p>We&#8217;ve also got a Microsoft Windows port coming up, which a number of people have asked for over the years. Mostly I think this is a &#8220;I want to try it out&#8221; thing and not a deployment thing. (can any sane person deploy a HA app on Win32?)</p>
<p>I&#8217;ve used &#8220;NDB$INFO&#8221; as the ultimate answer to any problem for a while now. It&#8217;s been the much-wanted monitoring interface. We have a lot of info inside NDB that currently isn&#8217;t easily user accessible (or only accessible through the magic DUMP interface or by gathering up many events in the cluster log). We have the start of NDB$INFO in 6.4 now and Martin will be continuing my work in making it truly awesome.</p>
<p>So go and grab the 6.4 tree and have a look - things are looking sweet.</p>
<p>What next for me?</p>
<p>Well&#8230; a while ago I started hacking on <a href="http://www.launchpad.net/drizzle">Drizzle</a>. Why? Well&#8230; I thought we could move the database server in a new direction and make it more modular, leaner, meaner query machine.</p>
<p>And now, I&#8217;m starting to work on it full time.</p>
<p>It&#8217;s exciting, and I&#8217;ll be blogging on the first TODO which is remove the FRM file and switch to a full discovery method shortly.</p>
<p><strong>UPDATE:</strong> Yes, I&#8217;m working full time on Drizzle for Sun Microsystems (in the CTO group). While not spending work time on NDB anymore, no doubt you&#8217;ll still see fun-time patches.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/11/05/singing-in-the-rain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft Calls Today Global Anti-Piracy Day</title>
		<link>http://www.flamingspork.com/blog/2008/10/22/microsoft-calls-today-global-anti-piracy-day/</link>
		<comments>http://www.flamingspork.com/blog/2008/10/22/microsoft-calls-today-global-anti-piracy-day/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 01:47:23 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1240</guid>
		<description><![CDATA[Slashdot &#124; Microsoft Calls Today Global Anti-Piracy Day
Happy with my software freedom thanks, news at 11.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://yro.slashdot.org/article.pl?sid=08/10/21/1422247&amp;from=rss">Slashdot | Microsoft Calls Today Global Anti-Piracy Day</a></p>
<p>Happy with my software freedom thanks, news at 11.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/10/22/microsoft-calls-today-global-anti-piracy-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>suspend works again!</title>
		<link>http://www.flamingspork.com/blog/2008/10/16/suspend-works-again/</link>
		<comments>http://www.flamingspork.com/blog/2008/10/16/suspend-works-again/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 01:28:14 +0000</pubDate>
		<dc:creator>MacPlusG3</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[8.10]]></category>

		<category><![CDATA[intrepid]]></category>

		<category><![CDATA[lenovo]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[x61]]></category>

		<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1238</guid>
		<description><![CDATA[yay - latest package updates for ubuntu made suspend and resume work again for me. yet to try some of the xrandr stuff to see if its fixed yet.
]]></description>
			<content:encoded><![CDATA[<p>yay - latest package updates for ubuntu made suspend and resume work again for me. yet to try some of the xrandr stuff to see if its fixed yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flamingspork.com/blog/2008/10/16/suspend-works-again/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
