<?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>Monarc Development Blog</title>
	<atom:link href="http://monarc.coreytabaka.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://monarc.coreytabaka.com</link>
	<description>How to write an OS in 1460.96 days</description>
	<lastBuildDate>Tue, 22 Jun 2010 07:59:55 +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>Still Here</title>
		<link>http://monarc.coreytabaka.com/?p=12</link>
		<comments>http://monarc.coreytabaka.com/?p=12#comments</comments>
		<pubDate>Tue, 22 Jun 2010 07:59:26 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=12</guid>
		<description><![CDATA[The short story is it has been a long year. I spent the last 13 months working on Linux for Palm, Inc. I&#8217;m still doing it, though at the end of the month Palm will no longer exist and will become part of HP. There are interesting things on the horizon, but that&#8217;s not what [...]]]></description>
			<content:encoded><![CDATA[<p>The short story is it has been a long year.</p>
<p>I spent the last 13 months working on Linux for Palm, Inc. I&#8217;m still doing it, though at the end of the month Palm will no longer exist and will become part of HP. There are interesting things on the horizon, but that&#8217;s not what this blog is about&#8230;</p>
<p>Despite the lack of activity here, the Monarc kernel is alive and well. I&#8217;ve been keeping things going, adding new features and fixing bugs. There kernel is developing quite nicely, especially in the areas of the VMM. But as if there aren&#8217;t enough things to do, I recently dusted off the source to my PowerPC emulator, which runs on the first version of this kernel, and tested it out for nostalgia.</p>
<p>Surprisingly it runs extremely well &#8230; in VMware. I used to use VMware to debug the system, but a guest OS was never usable when running in VMware; I imagine the self-modifying code of the instruction translator is a bear to keep up with. VMware Fusion 3.1 runs it like a champ, however; and it may be even more usable than it was running directly on hardware of a few years ago.</p>
<p>Naturally, after seeing the old project running so nicely, I had to start porting the emulator to the latest kernel. I&#8217;m making fast progress, but there is still much to do. One thing I&#8217;m happy about is getting rid of the user space drivers for disk and input. Having those drivers in user space was convenient when the kernel did not a driver framework, but things are different now and for the better.</p>
<p>Overall, progress is being made. I&#8217;ll try to keep up with the progress here a little better. There are some technical topics that I have in mind to cover also, which I think will be useful to others.</p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=12</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back in the swing of things</title>
		<link>http://monarc.coreytabaka.com/?p=9</link>
		<comments>http://monarc.coreytabaka.com/?p=9#comments</comments>
		<pubDate>Sat, 13 Sep 2008 02:28:59 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=9</guid>
		<description><![CDATA[Life and work has been unusually busy these last months. It seems like the more that gets done, the more there is to do. However, I&#8217;m pleased to report that I am finally getting back into full swing with Monarc development. Here&#8217;s a short breakdown of what&#8217;s happening: VM development is progressing still, but it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Life and work has been unusually busy these last months. It seems like the more that gets done, the more there is to do. However, I&#8217;m pleased to report that I am finally getting back into full swing with Monarc development.</p>
<p><span id="more-9"></span></p>
<p>Here&#8217;s a short breakdown of what&#8217;s happening:</p>
<ul>
<li>VM development is progressing still, but it&#8217;s not quite there yet. It&#8217;s doing good things and coming along nicely, however&#8211;and to be expected&#8211;there are complicated issues to resolve; and of course my perfectionist side won&#8217;t let me do a release until much more is satisfactory.</li>
<li>The ACPI subsystem is also developing well. Recently, I added support for tracking battery levels and charging/discharging states. It&#8217;s nifty, but not terribly exciting.</li>
<li>Filesystem support is nearly complete, except for the parts that interact with the VM subsystem heavily. This is going to stay in limbo until the VM stuff is stable.</li>
<li>The GUI system got some attention over the past few days. I am pleased to have a nicely functional window update model, framebuffer management, and the beginnings of the window manager / user application interface. There are also some neat goodies, like window decoration transparency and blur effects that are working quite well with no acceleration on the basic VESA framebuffer driver. Finally, I also dabbled in some accelerated window drawing using the VMware display driver.</li>
</ul>
<div>I&#8217;m not sure when the next release is going to be. I had several goals that are long passed now, and I think I&#8217;m going to stop trying to predict a time frame for a while. However, I am quite sure that the next release is going to be a huge improvement in functionality, maturity, and polish.</div>
<div></div>
<div><strong><span style="color: #ff9900;">- Corey</span></strong></div>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=9</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vacation&#8230; at last</title>
		<link>http://monarc.coreytabaka.com/?p=8</link>
		<comments>http://monarc.coreytabaka.com/?p=8#comments</comments>
		<pubDate>Tue, 24 Jun 2008 06:58:35 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=8</guid>
		<description><![CDATA[It&#8217;s finally here: a long awaited and much anticipated break from the &#8220;joy&#8221; of gainful employment. There is a lot to pack into this week; my birthday is already out of the way, leaving the lofty third anniversary and general family vacation time to compete with some focused Monarc dev time. I&#8217;m optimistic that I [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s finally here: a long awaited and much anticipated break from the &#8220;joy&#8221; of gainful employment. There is a lot to pack into this week; my birthday is already out of the way, leaving the lofty third anniversary and general family vacation time to compete with some focused Monarc dev time. I&#8217;m optimistic that I will be able to put in a good 20 hour stint, at least.</p>
<p><span style="color: #ff9900;"><strong>- Corey</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=8</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busy Lately</title>
		<link>http://monarc.coreytabaka.com/?p=7</link>
		<comments>http://monarc.coreytabaka.com/?p=7#comments</comments>
		<pubDate>Tue, 13 May 2008 15:56:28 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Busy]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=7</guid>
		<description><![CDATA[It&#8217;s good to have a job, especially one that pays well, in this recent economic climate. But it also leads to being busy and not having much time to put into developing Monarc. I&#8217;m still getting a few hours a week, but progress will be slow for a while. Hopefully I can take a little [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s good to have a job, especially one that pays well, in this recent economic climate. But it also leads to being busy and not having much time to put into developing Monarc. I&#8217;m still getting a few hours a week, but progress will be slow for a while. Hopefully I can take a little (needed) time off and get back into the swing of things.</p>
<p><span style="color: #ff9900;"><strong>- Corey</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=7</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>May you live in interesting times</title>
		<link>http://monarc.coreytabaka.com/?p=5</link>
		<comments>http://monarc.coreytabaka.com/?p=5#comments</comments>
		<pubDate>Fri, 25 Apr 2008 15:35:07 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=5</guid>
		<description><![CDATA[There is an old (ancient) Chinese saying, which I have sometimes heard described as a curse: May you live in interesting times. When I first heard this saying, it wasn&#8217;t at all clear to me why it was considered a curse. But lately, in the last five or so years, it has become increasingly clear. [...]]]></description>
			<content:encoded><![CDATA[<p>There is an old (ancient) Chinese saying, which I have sometimes heard described as a curse: May you live in interesting times. When I first heard this saying, it wasn&#8217;t at all clear to me why it was considered a curse. But lately, in the last five or so years, it has become increasingly clear. Living in interesting times leaves little time for the things that one might be trying to accomplish.</p>
<p><span id="more-5"></span></p>
<p>One example that pertains to my work on Monarc is my adventures in networking. A while back I wrote a NIC driver for one of the devices VMware supports, the PC Net Pro PCI. It seemed like a good exercise, and the spec was clear and easy to find. The basic driver was finished in a day or so of decently fun coding, but I didn&#8217;t have a network stack of any kind. After some fun with logging packets and picking apart of hex dumps to read the basic traffic I left the driver alone for a long time.</p>
<p>Lately I have been trying to finish up Monarc&#8217;s new VM(M) to get ready to start building a user space environment and get something more useful going on with the kernel. The only problem is that recently I stumbled upon various wikipedia entries on TCP/IP, UDP, and other network stack components. I have a pretty thorough grasp on networking concepts and applications, but I haven&#8217;t specifically implemented a network stack before. Seeing the entries sparked some rather inconvenient interest, and presently I find myself halfway into implementing a full network stack. I blame having a NIC driver on hand for this distraction.</p>
<p>Don&#8217;t misunderstand me, a network stack is certainly a fun and useful component to have. I planned to include one from the beginning of this project, in fact. The real trouble is that the VM(M) is getting less attention than I had hoped. This kind of thing seems to happen during the rough spots in a sub-system&#8217;s development, when the fun stuff is done and all the necessary but boring parts need to be finished. For this reason I feel that having interesting things to do can be bad sometimes; the things that really should get done, don&#8217;t. At its extreme, it really can be a curse.</p>
<p>Overall Monarc is making a lot of progress, which is in all ways a good thing. Hopefully this new VM(M) will be fully functional soon, and I can start to pull together a shell and some other user space parts. There are a lot of ideas and interesting things to talk about once I get there.</p>
<p>It may be fun living in interesting times, but I hope they won&#8217;t be too interesting for productivity&#8217;s sake.</p>
<p><strong><span style="color: #ffcc00;">- Corey</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=5</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Monarc, and Why?</title>
		<link>http://monarc.coreytabaka.com/?p=4</link>
		<comments>http://monarc.coreytabaka.com/?p=4#comments</comments>
		<pubDate>Fri, 18 Apr 2008 19:23:43 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Why]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=4</guid>
		<description><![CDATA[Monarc is a kernel and operating system that I have been developing for the past few years. It grew from an earlier project, the Monarc PowerPC emulator, which runs on top of an embedded kernel I wrote specifically for the task. I liked the name enough that I decided to hoist it over to my [...]]]></description>
			<content:encoded><![CDATA[<p>Monarc is a kernel and operating system that I have been developing for the past few years. It grew from an earlier project, the Monarc PowerPC emulator, which runs on top of an embedded kernel I wrote specifically for the task. I liked the name enough that I decided to hoist it over to my efforts in OS development, along with some of the original code.</p>
<p><span id="more-4"></span></p>
<p>Part of my motivation for starting this project is to push my own limits. I have been in professional software engineering for about eight years and have been writing code for over sixteen years. Most of my employment has been in mid-to-high level development and at this point it is rarely challenging or compelling. However, I have had opportunities to write low level software and that has remained the most interesting and challenging space for me.</p>
<p>Another part of my motivation is to produce a clean, efficient, yet flexible operating system, and to do it my way. The prevalent model in most open source operating systems is some variation of the UNIX model. While I don&#8217;t have anything against the model itself, I do feel that it is perhaps showing its age recently. A lot of good ideas can be seen in the old UNIX ways, but I don&#8217;t want to create yet another UNIX clone. Instead, I want to take a different road, designing according to the way I see computing now, and the way I expect it will go in the future. If my insights and assumptions are correct, and of course if my code is well written, then these goals should be achieved&#8211;we will see how it turns out.</p>
<p>But why not just contribute to an existing project? There are several well established and recognized operating systems available today and a good deal of less well known operating systems also. However, it seems to me that it is more interesting and rewarding to be involved in this kind of development from the early stages. Once a software project grows to a certain size, and especially when there are already well established leaders, it becomes hard to find parts to work on that don&#8217;t overly involve fixing other&#8217;s design flaws and bugs or filling in the &#8220;boring&#8221; parts. Of course all of that needs to be done; I just don&#8217;t want to spend most of my time there right now.</p>
<p>Overall, I just want to have fun. Maybe something useful will come of this project and maybe not. I am already having a wonderful time working on it, and that is worth the effort. But I also hope you will find something here that you like, whether it be useful, entertaining, or informative. Feel free to share your thoughts on this project and this blog, I appreciate the feedback.</p>
<p><strong><span style="color: #ff9900;">- Corey</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=4</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launch!</title>
		<link>http://monarc.coreytabaka.com/?p=3</link>
		<comments>http://monarc.coreytabaka.com/?p=3#comments</comments>
		<pubDate>Fri, 18 Apr 2008 15:47:02 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://monarc.coreytabaka.com/?p=3</guid>
		<description><![CDATA[Today is the launch of the Monarc Development Blog! Here I will record and discuss happenings and ideas as I continue to develop the project. It is my hope that these posts will be of some value to the OS Dev community, whether they be informative, interesting, provocative, or even humorous. Thanks for reading, - Corey]]></description>
			<content:encoded><![CDATA[<p>Today is the launch of the Monarc Development Blog! Here I will record and discuss happenings and ideas as I continue to develop the project. It is my hope that these posts will be of some value to the OS Dev community, whether they be informative, interesting, provocative, or even humorous.</p>
<p>Thanks for reading,</p>
<p><strong><span style="color: #ff9900;">- Corey</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://monarc.coreytabaka.com/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
