<?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>Coobird's Blog &#187; Computing</title>
	<atom:link href="http://blog.coobird.net/category/computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.coobird.net</link>
	<description>What's going on at coobird.net?</description>
	<lastBuildDate>Sat, 10 May 2008 12:35:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why the Modified BSD License?</title>
		<link>http://blog.coobird.net/2008/05/10/why-the-modified-bsd-license/</link>
		<comments>http://blog.coobird.net/2008/05/10/why-the-modified-bsd-license/#comments</comments>
		<pubDate>Sat, 10 May 2008 11:14:18 +0000</pubDate>
		<dc:creator>coobird</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://blog.coobird.net/?p=47</guid>
		<description><![CDATA[For the past few weeks, I&#8217;ve been releasing a few pieces of software such as Pitacalc, Coobird&#8217;s Blocks and now Cannons 2000 under the modified BSD license. More information on the license is available from Wikipedia and the Open Source Initiative. First of all, I chose to have my software released under an open source [...]]]></description>
			<content:encoded><![CDATA[<p>For the past few weeks, I&#8217;ve been releasing a few pieces of software such as <a title="Pitacalc project page" href="http://projects.coobird.net/pitacalc/">Pitacalc</a>, <a title="Coobird's Blocks" href="http://projects.coobird.net/Blocks/">Coobird&#8217;s Blocks</a> and now <a title="Cannons 2000 page" href="http://coobird.net/programs/cannons2k.html">Cannons 2000</a> under the modified BSD license. More information on the license is available from <a title="Wikipedia: BSD License" href="http://en.wikipedia.org/wiki/BSD_License">Wikipedia</a> and the <a title="Open Source Initiative: The BSD License" href="http://www.opensource.org/licenses/bsd-license.php">Open Source Initiative</a>.</p>
<p>First of all, I chose to have my software released under an open source license because I want my code to be available for others to use if desired and also to waive the liability from any damage which could occur. With the choice to open source the software, there are <a title="Wikipedia: Open source license" href="http://en.wikipedia.org/wiki/Open_source_license">many open source licenses</a> to choose from. Of all licenses, the most famous is probably the <a title="GNU General Public License" href="http://www.gnu.org/licenses/licenses.html#GPL">GNU General Public License</a>, or the GPL.</p>
<p>The GPL tries to keep the software free. However, this is puts restrictions to how the software and its source can be used. For example, if I release my software under GPL, people who want to incorporate my code into their software can do so without restrictions. However, if the person wants to release the software that uses my code, they must also distribute their code under the GPL. To me, this is a restriction that I am not particularly enthusiastic about. This leads to some debate <a title="Is copyleft viral?" href="http://en.wikipedia.org/wiki/Copyleft#Is_copyleft_.22viral.22.3F">whether or not the GPL can be considered viral</a>.</p>
<p>Don&#8217;t get me wrong, I don&#8217;t have a problem with GPL. In fact, I use many GPL&#8217;ed software like <a title="OpenOffice.org" href="http://www.openoffice.org">OpenOffice.org</a>, <a title="The GIMP" href="http://www.gimp.org">the GIMP</a>, <a title="VirtualDub" href="http://www.virtualdub.org">VirtualDub</a>, to name a few. However, I would like my code to be used without restriction of having to release the source under GPL. The requirement that GPL&#8217;ed code can only be used in a GPL&#8217;ed program seems a little bit restrictive, and that requirement seems to promote the proliferation of GPL-licensed software over the freedom of using the software itself. A non-copyleft license like the modified BSD license seems to be less restrictive in the sense that it allows the people that obtain the software to do what they want to do with the software. The &#8220;<a title="Types of copyleft and relation to other licenses" href="http://en.wikipedia.org/wiki/Copyleft#Types_of_copyleft_and_relation_to_other_licenses">Types of copyleft and relation to other licenses</a>&#8221; in the Copyleft article at Wikipedia sums up the issue of freedom:</p>
<blockquote><p>This debate hinges on complex issues such as the definition of freedom and whose freedoms are more important, or whether to maximize the freedom of all potential future recipients of a work (<em>freedom from</em> the creation of proprietary software). Non-copyleft free software licenses maximize the freedom of the initial recipient (<em>freedom to</em> create proprietary software).</p></blockquote>
<p>The GPL is concerned about having software free from being locked up in proprietary code, while the BSD license is more concerned about giving freedom to the person who obtains the software to do anything they want to do with it.</p>
<p>Although most the software I&#8217;ve released so far use the modified BSD license, it doesn&#8217;t preclude me from picking the GPL as the license of choice for a piece of software if I feel it&#8217;s better suited than using another license.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coobird.net/2008/05/10/why-the-modified-bsd-license/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealing with CSS Rendering of Internet Explorer 6</title>
		<link>http://blog.coobird.net/2008/01/21/dealing-with-css-rendering-of-internet-explorer-6/</link>
		<comments>http://blog.coobird.net/2008/01/21/dealing-with-css-rendering-of-internet-explorer-6/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 02:37:41 +0000</pubDate>
		<dc:creator>coobird</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://blog.coobird.net/2008/01/21/dealing-with-css-rendering-of-internet-explorer-6/</guid>
		<description><![CDATA[One big headache I&#8217;ve had for the past year with coobird.net was the font rendering on Internet Explorer 6 (IE6). Compared to other browsers, IE6 will render the fonts at a larger size that is defined by using Cascading Style Sheets (CSS). My browser of choice is Firefox, so I generally create content and view [...]]]></description>
			<content:encoded><![CDATA[<p>One big headache I&#8217;ve had for the past year with coobird.net was the font rendering on Internet Explorer 6 (IE6). Compared to other browsers, IE6 will render the fonts at a larger size that is defined by using Cascading Style Sheets (<a target="_blank" title="Wikipedia: Cascading Style Sheets" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">CSS</a>). My browser of choice is <a target="_blank" title="Mozilla Firefox" href="http://www.mozilla.org/firefox">Firefox</a>, so I generally create content and view them on Firefox. Unfortunately, IE6 implements CSS differently from other browsers, the end result is text that&#8217;s too big and borders that are too thick.</p>
<p>The following are some screenshots of coobird.net before changes were made to make the page rendering more consistent between IE6 and other browsers:<br />
<a title="coobird.net on Firefox" target="_blank" href="http://coobird.net/img/home-ff2.png"><img title="coobird.net on Firefox" alt="coobird.net on Firefox" src="http://coobird.net/img/home-ff2-small.jpg" /></a><br />
Firefox 2<br />
<a title="coobird.net on Opera 9" target="_blank" href="http://coobird.net/img/home-opera9.png"><img title="coobird.net on Opera" alt="coobird.net on Opera" src="http://coobird.net/img/home-opera9-small.jpg" /></a><br />
Opera 9<br />
<a title="coobird.net on Internet Explorer 6" target="_blank" href="http://coobird.net/img/home-ie6.png"><img title="coobird.net on Internet Explorer 6" alt="coobird.net on Internet Explorer 6" src="http://coobird.net/img/home-ie6-small.jpg" /></a><br />
Internet Explorer 6</p>
<p>Searching around for the CSS font rendering of Internet Explorer 6, there are quite a few people out there who are experiencing the same problem. One way to fix this problem is to use a different style sheet for Internet Explorer 6 using conditional comments. (<a title="Hack-free CSS for IE" href="http://virtuelvis.com/archives/2004/02/css-ie-only">Hack-free CSS for IE</a> was a good article on conditional comments.)</p>
<p>Currently, coobird.net implements the conditional comments technique mentioned above to use a separate style sheet that specifies different font sizes and border thicknesses for IE6. Finally coobird.net looks half-way decent on Internet Explorer 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coobird.net/2008/01/21/dealing-with-css-rendering-of-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I use OpenOffice.org</title>
		<link>http://blog.coobird.net/2007/05/20/why-i-use-openofficeorg/</link>
		<comments>http://blog.coobird.net/2007/05/20/why-i-use-openofficeorg/#comments</comments>
		<pubDate>Mon, 21 May 2007 05:48:51 +0000</pubDate>
		<dc:creator>coobird</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://blog.coobird.net/2007/05/20/why-i-use-openofficeorg/</guid>
		<description><![CDATA[I don&#8217;t have Microsoft Office installed on my computer. Almost every time I mention that to someone, I am greeted by a surprised look. &#8220;You don&#8217;t have Word? No Excel?&#8221; Yes, I have neither Word nor Excel installed on my computer. However, I do have OpenOffice.org. For the past few years, I&#8217;ve been using the [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t have Microsoft Office installed on my computer. Almost every time I mention that to someone, I am greeted by a surprised look. &#8220;You don&#8217;t have Word? No Excel?&#8221; Yes, I have neither Word nor Excel installed on my computer. However, I do have <a title="OpenOffice.org link" target="_blank" href="http://www.openoffice.org/">OpenOffice.org</a>.</p>
<p>For the past few years, I&#8217;ve been using the OpenOffice.org application suite on my PC. During my high school years, I recall using Microsoft Works, which was adequate for my school work. When I read about OpenOffice.org back around 2002, I went ahead and downloaded it and have been sticking to it ever since.</p>
<p>Why do I insist in using OpenOffice.org? First and foremost, <a title="Microsoft Office link" target="_blank" href="http://office.microsoft.com">Microsoft Office</a> costs money. This was the primary factor that lead me to choose OpenOffice.org over Microsoft Office. Being a college freshman without a job, I couldn&#8217;t afford to go spend hundreds of dollars on an application suite. I&#8217;m more than aware that I don&#8217;t need to look far to find a pirated copy of Office, like many people I know, but I would rather not go that route. Fast forward a few years, now I could afford to buy Office, but I would rather not spend it when I have an acceptable alternative like OpenOffice.org.</p>
<p>The main gripe I&#8217;ve had lately with Microsoft Office is its pricing. I&#8217;m aware that the Home and Student edition of Office is <a title="Newegg Office 2007 Home and Student link" target="_blank" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16832116135">available in the neighborhood of $150</a>, but that is still a little bit steep for a piece of software that I don&#8217;t really actually want. However, if Word and Excel were available for $30 a piece, I would probably be willing to shell out the cash to avoid dealing with the annoyances of incompatibilities in importing and exporting Office documents. (Those <a target="_blank" title="Wikipedia: Microsoft Word" href="http://en.wikipedia.org/wiki/Microsoft_Word#File_formats">incompatibilities</a> of course stem from the fact that Microsoft keeps its file formats a close secret, preventing interoperability with other applications. Don&#8217;t get me started on this one!)</p>
<p>OpenOffice.org has been my office application suite for the past few years. I&#8217;ve written countless reports on it and haven&#8217;t had much problem except for some lack of features in the spreadsheet application. The cost of Microsoft Office isn&#8217;t as a big issue as the past, but I&#8217;m not very willing to spend a large amount of money on a piece of software that I don&#8217;t actually want to use in the first place. That&#8217;s what keeps me an OpenOffice.org user.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coobird.net/2007/05/20/why-i-use-openofficeorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer .NET?</title>
		<link>http://blog.coobird.net/2006/12/26/internet-explorer-net/</link>
		<comments>http://blog.coobird.net/2006/12/26/internet-explorer-net/#comments</comments>
		<pubDate>Wed, 27 Dec 2006 02:14:40 +0000</pubDate>
		<dc:creator>coobird</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://blog.coobird.net/2006/12/26/internet-explorer-net/</guid>
		<description><![CDATA[Over the past few years, Microsoft&#8217;s Internet Explorer has had a series of security vulnerabilities that made users susceptible to, at worst, remote code executions, which could allows malicious programs to run on the user&#8217;s computer without user intervention. A buffer overflow is one of the ways to allow remote code executions to occur. In [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few years, Microsoft&#8217;s Internet Explorer has had a series of <a href="http://www.microsoft.com/technet/security/bulletin/ms06-013.mspx">security vulnerabilities</a> that made users susceptible to, at worst, remote code executions, which could allows malicious programs to run on the user&#8217;s computer without user intervention.</p>
<p>A <a href="http://en.wikipedia.org/wiki/Buffer_overflow">buffer overflow</a> is one of the ways to allow remote code executions to occur. In a nutshell, a buffer overflow occurs when program allocates some space in memory to store data, but the amount of data received is larger than the allocated memory, causing an &#8220;overflow&#8221; of data onto other parts of the memory, which may end up being a portion that the operating system has marked for executable data.</p>
<p>When programs are properly written, buffer overflows shouldn&#8217;t happen. The program should be validating the incoming data and only accept enough data that it won&#8217;t cause a buffer overflow. However, it&#8217;s easy to overlook security issues when the objective is to write a piece of software that runs and does its job.</p>
<p>Internet Explorer has has its <a href="http://www.google.com/search?hl=en&#038;q=buffer+overflow+%22internet+explorer%22&#038;btnG=Google+Search">share of buffer overflow</a> problems. It is a large piece of software that has been developed over a long period of time, small security problems are likely to exist all over the browser.</p>
<p>One way to eliminate a buffer overflow type error is to use a platform that doesn&#8217;t allow buffer overflows to occur. Microsoft&#8217;s <a title="Wikipedia: .NET Framework" href="http://en.wikipedia.org/wiki/.NET_Framework">.NET Framework</a> <a title="Common Language Runtime (Wikipedia)" href="http://en.wikipedia.org/wiki/Common_Language_Runtime">Common Language Runtime</a> (CLR) is one such platform. Like <a title="Wikipedia: Java" href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a> which uses <a title="Java Bytecode (Wikipedia)" href="http://en.wikipedia.org/wiki/Java_bytecode">bytecode</a> and a Java Virtual Machine to execute programs, the CLR runs as a virtual machine, which runs applications written and compiled for the .NET platform. The virtual machine performs checks on data that is being processed, and if it finds a problem, an <a title="Exception handling (Wikipedia)" href="http://en.wikipedia.org/wiki/Exception_handling">exception will be thrown</a> which in turn must be dealt with in some way.</p>
<p>Microsoft may want to consider start rewriting Internet Explorer with .NET. Running the browser on a virtual machine itself may already take a lot of the security risks that arise from exploits that use buffer overflows. There are of course other security issues that Internet Explorer have due to the features it support, such as <a title="ActiveX control (Wikipedia)" href="http://en.wikipedia.org/wiki/ActiveX_control">ActiveX controls</a> which can execute code directly on the user&#8217;s computer.</p>
<p>It may be interesting to note writing services in Windows with .NET and running it on the CLR was one of the original plans for Windows Vista, but eventually that was <a href="http://it.slashdot.org/article.pl?sid=06/03/16/0015253">tossed out</a> as it approached release.</p>
<p>Rewriting Internet Explorer may be a radical step to take, but considering that it is the browser with the top market share means that it should be taking the security of its software seriously. Writing Internet Explorer for the .NET Framework may be one way that Microsoft can be a responsible citizen and provide a product that is a little bit safer than it is today.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coobird.net/2006/12/26/internet-explorer-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Era of Excess Computing Power (Part 1)</title>
		<link>http://blog.coobird.net/2006/10/10/era-of-excess-computing-power-part-1/</link>
		<comments>http://blog.coobird.net/2006/10/10/era-of-excess-computing-power-part-1/#comments</comments>
		<pubDate>Tue, 10 Oct 2006 09:18:39 +0000</pubDate>
		<dc:creator>coobird</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://blog.coobird.net/2006/10/10/era-of-excess-computing-power-part-1/</guid>
		<description><![CDATA[Looking back to 2000, Intel and AMD were warring each other to reach the 1GHz mark, which at the time seemed to be the pinnacle of performance. When processors were still in the hundreds of MHz (yes, it&#8217;s amazing to think we&#8217;re talking about 1.8GHz, 3.6GHz processors today when 500MHz processors were common back then) [...]]]></description>
			<content:encoded><![CDATA[<p>Looking back to 2000, Intel and AMD were warring each other to reach the <a href="http://news.com.com/2100-1040-237615.html">1GHz mark</a>, which at the time seemed to be the pinnacle of performance. When processors were still in the hundreds of MHz (yes, it&#8217;s amazing to think we&#8217;re talking about 1.8GHz, 3.6GHz processors today when 500MHz processors were common back then) and 1000MHz seemed like a lot of computing power.</p>
<p>Fast forward six years, we are talking about <a href="http://www.intel.com/products/processor/core2duo/index.htm?iid=prod_desk_main+c2d">dual</a> <a href="http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_9485_13041,00.html">core</a> processors; a processor containing, in essence, two processors. Then in September, Intel <a href="http://arstechnica.com/news.ars/post/20060926-7840.html">announced a prototype 80-core processor</a>, which may be an indication of the trend for the evolution of microprocessors in the next few years. This speculation can be backed up by the efforts by both AMD and Intel to bring <a href="http://news.com.com/Intel+shows+off+its+quad+core/2100-1006_3-6038148.html">quad core</a> processors to the market.</p>
<p>This continual push for more computing power brings up an interesting point. It seems like we may start to actually get to a point where we may be having excess computing power to the point that software which would have been deemed &#8220;inefficient&#8221; or &#8220;wasteful&#8221; could become practical. While this may sound odd, it has some serious implications for future software design.</p>
<p>Part 2 will discuss running software on virtual machines to enhance security and portability.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coobird.net/2006/10/10/era-of-excess-computing-power-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

