<?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>Think API&#187; Systems</title>
	<atom:link href="http://thinkapi.com/blog/category/systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkapi.com/blog</link>
	<description>An interface to tech thoughts</description>
	<lastBuildDate>Mon, 10 May 2010 10:32:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to create your own UNIX clone Operating System</title>
		<link>http://thinkapi.com/blog/how-to-create-your-own-unix-clone-operating-system/</link>
		<comments>http://thinkapi.com/blog/how-to-create-your-own-unix-clone-operating-system/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 07:11:53 +0000</pubDate>
		<dc:creator>Sukumar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[kernel development]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[os dev]]></category>
		<category><![CDATA[os development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[unix clone]]></category>

		<guid isPermaLink="false">http://thinkapi.com/blog/?p=157</guid>
		<description><![CDATA[Working on operating systems can be a lot of fun while learning some of the most difficult concepts in programming. One needs to have a basic set of knowledge and skills such as Basics of programming: variables, references, data types, scope, pointers, error handling, iteration, core algorithms related to searching, sorting, and so on Basics [...]


Related posts:<ol><li><a href='http://thinkapi.com/blog/linus-torvalds-starts-blogging/' rel='bookmark' title='Permanent Link: Linus Torvalds starts blogging'>Linus Torvalds starts blogging</a> <small>Linus Torvalds best known for having initiated the development of...</small></li>
<li><a href='http://thinkapi.com/blog/pythonturtle-python-learning-environment-for-beginners-and-children/' rel='bookmark' title='Permanent Link: PythonTurtle &#8211; Python learning environment for beginners and children'>PythonTurtle &#8211; Python learning environment for beginners and children</a> <small>PythonTurtle is a fun and interesting way to learn python...</small></li>
<li><a href='http://thinkapi.com/blog/interview-of-distinguished-programmers/' rel='bookmark' title='Permanent Link: Interview of distinguished programmers'>Interview of distinguished programmers</a> <small>Jarosław Rzeszótko from Poland decided to interview distinguished programmers. Linus...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Working on operating systems can be a lot of fun while learning some of the most difficult concepts in programming. One needs to have a basic set of knowledge and skills such as</p>
<p><span id="more-157"></span></p>
<p><strong>Basics of programming:</strong> variables, references, data types, scope, pointers, error handling, iteration, core algorithms related to searching, sorting, and so on<br />
<strong>Basics of maths and statistics:</strong> hexadecimal, binary, boolean logic, probability and so on<br />
<strong>Assembly:</strong> Knowledge of a low level language is very essential and part of writing an OS<br />
<strong>Languages:</strong> While C, C++ are the most widely used, one can also go with <a href="http://common-lisp.net/project/movitz/movitz.html" target="_blank">java</a>, <a href="http://common-lisp.net/project/movitz/movitz.html" target="_blank">haskell</a>, <a href="http://common-lisp.net/project/movitz/movitz.html" target="_blank">lisp</a> etc.<br />
<strong>Linux / Unix:</strong> Experience on linux or UNIX based platforms is needed for using tools required for OS development<br />
<strong>Tools:</strong> Familiarity in working with compilers, assemblers, linkers and make utility</p>
<p>Getting started:<br />
<a href="http://aodfaq.wikispaces.com/" target="_blank">Alt OS Development FAQ</a><br />
<a href="http://wiki.osdev.org/Getting_Started" target="_blank">OS Dev getting started</a></p>
<p>Resources:<br />
<a href="http://www.jamesmolloy.co.uk/tutorial_html/index.html" target="_blank">JamesM&#8217;s kernel development tutorials</a><a href="http://wiki.osdev.org/" target="_blank"><br />
OS development wiki</a> and <a href="http://forum.osdev.org/" target="_blank">OS development forums</a><br />
<a href="http://www.osdever.net/tutorials.php?cat=0&amp;sort=1" target="_blank">Tutorials from osdever.net</a><strong><a class="uln" href="http://groups.google.co.uk/groups/dir?sel=usenet%3Dalt"></a><br />
</strong><a href="http://groups.google.co.uk/group/alt.os.development/topics" target="_blank">alt.os.development</a><strong><br />
</strong> <a href="http://www.intel.com/products/processor/manuals/index.htm" target="_blank">Intel<span class="regtitle">®</span> 64 and IA-32 Architectures Software Developer&#8217;s Manuals</a><br />
<a href="http://www.logix.cz/michal/doc/i386/" target="_blank">Intel 80386 Programmer&#8217;s Reference Manual</a><br />
<a href="http://www.nondot.org/sabre/os/articles" target="_blank">OSRC: The Operating System Resource Center</a><br />
<a href="http://www.informit.com/articles/article.aspx?p=26396" target="_blank">Implementing an Operating System &#8211; By Andrew S. Tanenbaum</a></p>


<p>Related posts:<ol><li><a href='http://thinkapi.com/blog/linus-torvalds-starts-blogging/' rel='bookmark' title='Permanent Link: Linus Torvalds starts blogging'>Linus Torvalds starts blogging</a> <small>Linus Torvalds best known for having initiated the development of...</small></li>
<li><a href='http://thinkapi.com/blog/pythonturtle-python-learning-environment-for-beginners-and-children/' rel='bookmark' title='Permanent Link: PythonTurtle &#8211; Python learning environment for beginners and children'>PythonTurtle &#8211; Python learning environment for beginners and children</a> <small>PythonTurtle is a fun and interesting way to learn python...</small></li>
<li><a href='http://thinkapi.com/blog/interview-of-distinguished-programmers/' rel='bookmark' title='Permanent Link: Interview of distinguished programmers'>Interview of distinguished programmers</a> <small>Jarosław Rzeszótko from Poland decided to interview distinguished programmers. Linus...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://thinkapi.com/blog/how-to-create-your-own-unix-clone-operating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to MySQL 5.1 GA? Better Wait</title>
		<link>http://thinkapi.com/blog/upgrading-to-mysql-51-ga-better-wait/</link>
		<comments>http://thinkapi.com/blog/upgrading-to-mysql-51-ga-better-wait/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 04:14:07 +0000</pubDate>
		<dc:creator>Sukumar</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[michael widenius]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[MySQL 5.1]]></category>
		<category><![CDATA[MySQL 5.1 GA]]></category>

		<guid isPermaLink="false">http://thinkapi.com/blog/?p=89</guid>
		<description><![CDATA[MySQL 5.1 General Availability has been released to the public. While many recommend using it and other don&#8217;t, Michael Widenius (Founder and original developer of MySQL) says it might not be worth it yet to upgrade your production databases. If WTF quotes like, We have changed the release model so that instead of focusing on [...]


Related posts:<ol><li><a href='http://thinkapi.com/blog/how-to-skip-mysql-replication-counter/' rel='bookmark' title='Permanent Link: How to skip MySQL replication counter'>How to skip MySQL replication counter</a> <small>There are such times when MySQL replication stops when you...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dev.mysql.com/downloads/">MySQL</a> 5.1 <a href="http://en.wikipedia.org/wiki/Beta_version#GA">General Availability</a> has been released to the public. While <a href="http://www.pythian.com/blogs/1168/why-you-want-to-switch-to-mysql-51">many recommend using it</a> and <a href="http://www.mysqlperformanceblog.com/2008/06/30/mysql-51-stability/">other don&#8217;t</a>, <a href="http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html">Michael Widenius (Founder and original developer of MySQL) says</a> it might not be worth it yet to upgrade your production databases.<br />
<span id="more-89"></span><br />
If WTF quotes like,</p>
<blockquote><p>
We have changed the release model so that instead of focusing on quality and features our release is now defined by timeliness and features. Quality is not regarded to be that important.
</p></blockquote>
<p>and</p>
<blockquote><p>
Zero critical bugs is impossible: Sure, zero bugs is desirable. And at times, we internally glorify MySQL’s past, with “production level alpha releases”. Those were the days, but those days also had less complex and less interwoven features, and fewer developers to manage.
</p></blockquote>
<p>I wonder where MySQL is headed.</p>
<p>So as Monty says, you are better off not upgrading to version 5.1 if you do not plan to use its new features, atleast not without testing it for a few weeks.</p>
<p>Links:<br />
<a href="http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html">Oops, we did it again (MySQL 5.1 released as GA with crashing bugs)</a><br />
<a href="http://www.pythian.com/blogs/1168/why-you-want-to-switch-to-mysql-51">Why You Want to Switch to MySQL 5.1</a><br />
<a href="http://www.mysqlperformanceblog.com/2008/06/30/mysql-51-stability/">MySQL 5.1 Stability</a></p>


<p>Related posts:<ol><li><a href='http://thinkapi.com/blog/how-to-skip-mysql-replication-counter/' rel='bookmark' title='Permanent Link: How to skip MySQL replication counter'>How to skip MySQL replication counter</a> <small>There are such times when MySQL replication stops when you...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://thinkapi.com/blog/upgrading-to-mysql-51-ga-better-wait/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to skip MySQL replication counter</title>
		<link>http://thinkapi.com/blog/how-to-skip-mysql-replication-counter/</link>
		<comments>http://thinkapi.com/blog/how-to-skip-mysql-replication-counter/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 17:47:59 +0000</pubDate>
		<dc:creator>Sukumar</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[auto increment]]></category>
		<category><![CDATA[data inconsistency]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://thinkapi.com/blog/?p=9</guid>
		<description><![CDATA[There are such times when MySQL replication stops when you run certain updates on the master and the slave fails. Like for example you may have run a create table or an alter table on the master and further inserts but these DDLs get skipped and the inserts into these non-existent tables cause the slave [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>There are such times when MySQL replication stops when you run certain updates on the master and the slave fails. Like for example you may have run a create table or an alter table on the master and further inserts but these DDLs get skipped and the inserts into these non-existent tables cause the slave to error out and stop.</p>
<p>A simple way out of this is to run the missing DDLs on the slave and push the counter by a step. This is not recommended as this might cause data inconsistency.<span id="more-9"></span></p>
<p>Use the below sql to skip the counter by 1.</p>
<pre class="brush: sql;">
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE;
</pre>
<p>Just remember to use the value 1 for any SQL statement that does not use AUTO_INCREMENT or LAST_INSERT_ID(), otherwise you will need to use the value 2. Statements that use AUTO_INCREMENT or LAST_INSERT_ID() take up 2 events in the binary log.</p>
<p>To skip lots of duplicate errors, you can set this in my.cnf</p>
<pre class="brush: sql;">
slave-skip-errors = 1062
</pre>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://thinkapi.com/blog/how-to-skip-mysql-replication-counter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
