<?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>RKWare.com &#187; Computers</title>
	<atom:link href="http://rkware.com/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://rkware.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 05 Jan 2010 11:18:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Why Chrome OS is a big ball of awesome</title>
		<link>http://rkware.com/2009/11/why-chrome-os-is-a-big-ball-of-awesome/</link>
		<comments>http://rkware.com/2009/11/why-chrome-os-is-a-big-ball-of-awesome/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 21:29:25 +0000</pubDate>
		<dc:creator>RyanK</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[chrome os]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://rkware.com/?p=51</guid>
		<description><![CDATA[Since the announcement of ChromeOS 4 days ago, the Internet is buzzing with reactions. For example, TechCrunch has two recent articles, one positive and one negative. 
The negative story hammers Chrome for not supporting Android apps. This isn&#8217;t surprising given the rumblings that Google prefers web apps over android apps. its hard to say where [...]]]></description>
			<content:encoded><![CDATA[<p>Since the announcement of ChromeOS 4 days ago, the Internet is buzzing with reactions. For example, TechCrunch has two recent articles, <a href="http://www.crunchgear.com/2009/11/19/what-chromeos-means-for-netbooks-and-why-microsoft-needs-to-be-scared/">one positive</a> and <a href="http://www.techcrunch.com/2009/11/19/google-is-keeping-chrome-os-simple-maybe-too-simple/">one negative</a>. </p>
<p>The negative story <strong>hammers Chrome for not supporting Android apps</strong>. This isn&#8217;t surprising given the rumblings that <a href="http://mobilestance.com/2009/03/02/google-losing-focus-on-android-sdk-in-favor-of-mobile-web-apps’-offline-functionality-part-ii/">Google prefers web apps over android apps</a>. its hard to say where things will be in 3-5 years, but if WebKit does evolve to the point where it performs as well as native Android apps, then it makes sense to abandon Android apps, especially if Android doesn&#8217;t become the dominant platform. Assuming a split between the iPhone and Android (and perhaps WebOS or Windows Mobile, HA!) and a web app performs well on both (and supports all the native phone features), why bother writing apps for just one platform? If web apps can&#8217;t easily do what native apps can, Android functionality can always be added to Chrome OS at a later date, even by someone outside of Google, thanks to the wonders of Open Source. I can&#8217;t imagine it would be that hard to launch a Java Virtual Machine, with the Android Activity rendered to a panel in Chrome OS, I&#8217;m just not sure that it fits in with the goal of Chrome OS. And really, when are people going to stop freaking out about the stability or reliability of an Open Source project, just because anyone can change it or make their own derivative or find flaws in the program. (All of those are good things, btw.. given that proper controls are in place). <strong>Open Source is an advantage, not a liability.</strong></p>
<p>Also, a big limitation of mobile phones is its <strong>lack of any real processing power</strong>. Up until when I finally rooted my G1 a few months ago, I was under the impression that the web browsing was slow on my device due to latency or bandwidth on T-Mobile&#8217;s 3G network. That is until I tethered my laptop and was able to get 600KB/s download speeds and web pages rendered with images almost immediately, while 10-15 second page load times are common. I have to presume it&#8217;s WebKit rendering the HTML that is slow with limited processor and memory. So, there&#8217;s a fundamental difference between mobile devices and actual computers. Perhaps they will converge over time, but <strong>there will need to be some breakthroughs in power consumption</strong> of more powerful processors. </p>
<p>What&#8217;s interesting in the positive story is all of the negative comments by people who just don&#8217;t get it.  For even more fun, check out <a href="http://www.crunchgear.com/2009/07/08/why-we-need-to-chill-about-chromeos/">a negative post&#8217;s comments from July</a>. <strong>Chrome OS is about FAR more then just a web browser.</strong> First, <strong>Chrome OS moves everything to the Cloud</strong>, for better or worse. Assuming we trust Google to not lose or snoop our data, I don&#8217;t have a problem with this as it&#8217;s benefits are far outweighed. Imagine losing your laptop and being able to sign in to another ChromeOS device (replacement, friend&#8217;s laptop, coffee shop, etc.) and instantly have access to all of your data. Of course, this assumes that Google is going to provide potentially hundreds of GBs of storage for your videos, photos and music. Perhaps their strategy is going to be to leverage YouTube and Picasa Web Albums.</p>
<p>Also, people are panicked over Chrome OS being &#8220;just&#8221; a browser. First off, they are acknowledging that this isn&#8217;t going to be targeted at Power Users (ie, most of TechCrunch&#8217;s audience) but rather at the vast majority of &#8220;regular users&#8221;. Google stated that they have a LONG list of use cases that they want to implement. Many of those cases are already satisfied by existing web apps for things like emails or calendars. Its not hard to conceive Chrome OS recognizing USB devices and accessing photos or videos on a camera or phone, and music on a MP3 Player or phone&#8230; and syncing those with the laptop and conversely up into the cloud to the appropriate services.</p>
<p>I think many people would be <strong>amazed at what some web apps are capable of now</strong>. Photoshop is often pointed to as a necessary app that people need on their computers. Really? If you are a graphic designer, then sure&#8230; but Chrome OS isn&#8217;t directed towards you, at least not for advanced graphic work. I really doubt that many people use Photoshop for more then cropping, rotating, watermarking, or minor corrections like red eye or color levels. A quick web search turned up <a href="http://www.splashup.com/">several</a> <a href="http://www.pixlr.com/">web</a> <a href="http://www.picnik.com">apps</a> that are up to those tasks, and a year from now they may have even more functionality. </p>
<p>And, for all the <strong>concerns about requiring an active Internet connection</strong>, remember that HTML5 includes offline storage and even without HTML5, projects like Gears (among others) provide for offline access. <a href="http://gmailblog.blogspot.com/2009/01/new-in-labs-offline-gmail.html">Gmail has had offline access for about a year now</a>. Chrome OS devices will have plenty of storage to mirror your data that is in the cloud. There&#8217;s no reason that these web apps can&#8217;t be accessible as offline applications, syncing your data up to the cloud automatically when you next get an internet connection.</p>
<p>And finally, the biggest reason why I think Chrome OS is a big ball of awesome&#8230; It&#8217;s Linux. Yes, people railed on Google about it not really creating anything new. Its Chrome on Linux with some other glue. Saying that isn&#8217;t an OS is like saying that Ubuntu isn&#8217;t an OS since its based heavily on Debian. And, Chrome on Linux IS a new thing. Chrome started as a Windows App. That makes sense as there are MANY Windows users, so it is a brilliant move as it exposes those windows users to a superior browser and allows Google to work out its issues and add features. <strong>Its a great way for Google to get their foot in the metaphorical door.</strong> Some choices were made to make it easier to port to other platforms, like using <a href="http://code.google.com/p/skia/">Skia</a> rather then <a href="http://msdn.microsoft.com/en-us/library/ms536795(VS.85).aspx">GDI</a>. Clearly google planned on Chrome running on more then windows.</p>
<p>So, yeah.. the Chromium project has been making great progress and Chrome has been usable on Linux for some time now. Yes, it makes me a little bit happy to see this as an opportunity for someone to hand Microsoft some stiff competition (since Apple priced themselves out of that role). But, the REAL thing to be excited about it the fact that if Chrome OS is even mildly successful, it means that there may <strong>finally be a critical mass of Linux users.</strong> So, finally there will be a real reason for hardware manufacturers to provide Linux support. Support has been pretty good from the likes of Intel, Nvidia and ATI/AMD for graphics drivers. But things that are clearly lacking are low level things like power management, suspend/resume, some wifi-drivers, etc. Having Google working with hardware manufacturers means that the rest of the Linux community will benefit greatly. Hopefully, the days of buying a laptop and hoping that all your hardware will be well supported will soon be gone for good!</p>
<p>It will definitely be an interesting year or so! I, for one, will be eagerly awaiting to see how this all plays out.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Frkware.com%2F2009%2F11%2Fwhy-chrome-os-is-a-big-ball-of-awesome%2F&amp;linkname=Why%20Chrome%20OS%20is%20a%20big%20ball%20of%20awesome"><img src="http://rkware.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://rkware.com/2009/11/why-chrome-os-is-a-big-ball-of-awesome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One Laptop Per Child Disaster?</title>
		<link>http://rkware.com/2009/03/one-laptop-per-child-disaster/</link>
		<comments>http://rkware.com/2009/03/one-laptop-per-child-disaster/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 03:58:15 +0000</pubDate>
		<dc:creator>RyanK</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[OLPC]]></category>

		<guid isPermaLink="false">http://rkware.com/?p=17</guid>
		<description><![CDATA[I recently came across an interesting book,
The Future of the Internet&#8211;And How to Stop It. (Yes, you can buy the book from Amazon, but the entire book is under a CC liscense and is available for download at  the books website). It provides an interesting retrospective of how the Internet got to where it [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://rcm.amazon.com/e/cm?t=ryansblog05-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0300124872&#038;md=10FE9736YVPPT7A0FBG2&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="float:right;width:120px;height:240px;margin-left:10px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>I recently came across an interesting book,<br />
<a href="http://www.amazon.com/gp/product/0300124872?ie=UTF8&#038;tag=ryansblog05-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0300124872">The Future of the Internet&#8211;And How to Stop It</a><img src="http://www.assoc-amazon.com/e/ir?t=ryansblog05-20&#038;l=as2&#038;o=1&#038;a=0300124872" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. (Yes, you can buy the book from Amazon, but the entire book is under a CC liscense and is available for download at <a href="http://futureoftheinternet.org/download"> the books website</a>). It provides an interesting retrospective of how the Internet got to where it is, and what may happen to it in the future.</p>
<p>What&#8217;s really interesting is the point made in this <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2Freview%2FR3FGABHK9Y6FP2%3Fie%3DUTF8%26cdPage%3D1%26ref%255F%3Dcm%255Fcr%255Frev%255Fdetup%255Fredir%26newContentNum%3D5%26newContentID%3DMx2W9BTWYFDH88J&#038;tag=ryansblog05-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">really well written review</a><img src="https://www.assoc-amazon.com/e/ir?t=ryansblog05-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />:</p>
<blockquote><p>In passing, I love the brutal critique by Gene Spaford of the $100 laptop. He likens its projected impact&#8211;exposing millions to the bright side while not fixing their poverty, water, and disease&#8211;to subsidizing pet rats for every household just prior to the Black Death plague. My friend Lee Felsenstein is an equally virulent opponent of the $100 laptop, for different reasons. Me personally, I think the cell phone (but not the iPhone) is the only way to educate 5 billion people fast and with day to day relevance to their needs. </p></blockquote>
<p>Wow&#8230; I never really thought about it, but I think its completely accurate! <a href="http://en.wikipedia.org/wiki/One_Laptop_per_Child">The One Laptop Per Child</a> initiative has a noble goal of <a href="http://laptop.org/en/">providing inexpensive laptops to poor children</a> around the world as well as ensuring internet connectivity. I can&#8217;t argue with the educational aspects of the projects and it certainly would provide much more opportunity to many that the world has ignored for far too long.</p>
<p>However, its always been presumed that those opportunities are strictly positive. They may be overwhelmingly positive, but I&#8217;ve never considered the negative effects, nor the things it will have little to no effect on.</p>
<p>The Internet is <em><strong>NOT</strong></em> a safe place. This is obvious but most people forget this. Also, when most people think of the dangers of the internet, they think of either an <a href="http://en.wikipedia.org/wiki/Internet_stalking">Internet stalker</a> or <a href="http://en.wikipedia.org/wiki/Identity_theft">identity theft</a>, typically an unrealistic fear of intercepted e-commerce transactions. However, there are far more dangers that are often ignored both by those that are new to the internet (who typically aren&#8217;t aware of the dangers and are overly trusting) as well as by those that are quite experienced and are aware of at least some of the dangers (ie, they know what a <a href="http://en.wikipedia.org/wiki/Trojan_horse_(computing)">Trojan</a> is, and why they shouldn&#8217;t blindly run untrusted programs).</p>
<p>Whatever platform gets widely deployed will quickly endure a trial-by-fire in which it&#8217;s security is tested, for if there are any security holes which allow the laptop to be exploited to send spam or access their personal information, which is a time bomb waiting to happen. As much as I support open software, I&#8217;ll be the first to admit that it isn&#8217;t perfect and can be exploited. Microsoft certainly has a large target (and with saner software it might not be so easier to exploit), as will any other widely adopted software. As Zittrain says, &#8220;People rob banks because that&#8217;s where the money is&#8221;.</p>
<p>Does this mean that these projects should grind to a halt? Certainly not! However, I hope someone over there has thought long and hard about the security and privacy side of things. It isn&#8217;t listed in the Criticism section in OLPC&#8217;s Wikipedia page, but that either means it has been addressed sufficiently or it hasn&#8217;t yet occured to anyone to make any noise about it yet. </p>
<p>The other completly ignored aspect is how providing internet access won&#8217;t do a thing to help with other more important things. Sure, there&#8217;s a wealth of information available on the internet, and the education is valuable, but without clean water, medical supplies and political freedom to act on their new information, there really isn&#8217;t much one can do, other then realize just how bad they have it in comparison to the rest of the world.</p>
<p>Certainly some thing to think about.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Frkware.com%2F2009%2F03%2Fone-laptop-per-child-disaster%2F&amp;linkname=One%20Laptop%20Per%20Child%20Disaster%3F"><img src="http://rkware.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://rkware.com/2009/03/one-laptop-per-child-disaster/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yet another example of why Microsoft sucks!</title>
		<link>http://rkware.com/2009/02/yet-another-example-of-why-microsoft-sucks/</link>
		<comments>http://rkware.com/2009/02/yet-another-example-of-why-microsoft-sucks/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 22:03:35 +0000</pubDate>
		<dc:creator>RyanK</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://rkware.com/?p=8</guid>
		<description><![CDATA[Wow&#8230; I wasted many hours today due to Microsoft and general stupidity&#8230;
Here&#8217;s the situation.. we have a legacy Classic ASP site that we are moving to more scalable and stable environment&#8230; Since we want to have multiple web servers handling the load during peak hours (it runs just fine on one right now) and be [...]]]></description>
			<content:encoded><![CDATA[<p>Wow&#8230; I wasted many hours today due to Microsoft and general stupidity&#8230;</p>
<p>Here&#8217;s the situation.. we have a legacy Classic ASP site that we are moving to more scalable and stable environment&#8230; Since we want to have multiple web servers handling the load during peak hours (it runs just fine on one right now) and be able to perform new releases along with testing during off peak times while the website continues to run on one server. This also means that we can easily throw more webservers into the mix should that be necessary later.</p>
<p>The easy (and open-source and free) solution is to use Apache as a <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">reverse proxy</a>.  This also allows for some other neat tricks (<a href="http://www.modsecurity.org/">mod_security</a>, <a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">mod_deflate</a>) without having to deal with Windows and IIS configuration.. or make any code changes for that matter.</p>
<p>The problem comes in with how Classic ASP deals with cookies. Deep in the bowels of ASP, Microsoft was benevolent enough to add in HTML encoding of your cookie&#8217;s name and value. This actually isn&#8217;t a horrible thing as it prevents some poorly written code from creating an exploitable bug (<a href="http://en.wikipedia.org/wiki/HTTP_Header_Injection">HTTP Header injection</a>), but its a bit overzealous and there&#8217;s <strong>no</strong> way to alter its behavior. You&#8217;re simply stuck with it.</p>
<p>Of course, if you&#8217;re happily writing ASP code, it gets encoded and decoded for you so you never even know its going on.</p>
<p>ASP Code to set a cookie:</p>
<blockquote><p>Response.Cookies(&#8221;SERVERID&#8221;) = &#8220;balancer.www2&#8243;</p></blockquote>
<p style="text-align: left;">ASP Code to display that cookie:</p>
<blockquote style="text-align: left;">
<p style="text-align: left;">Response.Write &#8220;Cookie: &#8221; &amp; Request.Cookies(&#8221;SERVERID&#8221;)</p>
</blockquote>
<p style="text-align: left;">Outputs:</p>
<blockquote><p>SERVERID: balancer.www2</p></blockquote>
<p>The problem lies in what is actually being sent by IIS:</p>
<blockquote><p>Set-Cookie: SERVERID=balancer%2Ewww2; path=/</p></blockquote>
<p>%2E is simply an HTML Encoded period. I&#8217;ve never known a period within a string to cause a security issue&#8230; but it gets encoded anyway. Apache&#8217;s <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html">mod_proxy_balancer</a> looks at that cookie and expects to find a period within it, using the part after the period to determine which server that person should get sent back to.</p>
<p>I spent a large part of the day thinking the issue was an Apache configuration issue, as even with debug logging on, it wasn&#8217;t outputing anything. Once I looked through the code for mod_proxy_balancer, i saw that it ignores the cookie unless there&#8217;s a period in the string, and clearly there wasn&#8217;t one in my string.</p>
<p>After spending about 5 minutes trying to find a way to disable or change that behavior within ASP (there isn&#8217;t any as far as I can tell), I quickly found a solution within Apache!</p>
<p>Since Apache 2.2.4, the <a href="http://httpd.apache.org/docs/2.2/mod/mod_headers.html">mod_headers</a> module provides a method to edit a header using a regular expression. I was already using mod_headers to pass along some values through Apache (like the external IP address, or if the request was over HTTPS), so simply adding one line to the Apache configuration file fixed the issue:</p>
<blockquote><p>Header edit Set-Cookie balancer%2Ewww balancer.www</p></blockquote>
<p>Now, apache watches the response headers for when we are setting a cookie,  and if it contains &#8220;balancer%2Ewww&#8221; it gets rewritten as &#8220;balancer.www&#8221; and sure enough both Apache and IIS are perfectly happy with the cookie and everything is working well.</p>
<p>If I didn&#8217;t have access to the source code, it would have taken me weeks of trial and error to determine what the issue was or it would have been given up on for simply being incompatible. If apache wasn&#8217;t as flexible as it is, i would have been stuck writing a patch to mod_proxy_balancer and recompiling my own apache rather then relying on the distro&#8217;s packages for updates.</p>
<p>This is exactly where the closed source commercial software (Microsoft) and, to a much lessor-extent, the walled-garden open-source approach (like <a href="http://www.djangoproject.com/">Django</a>) run into issues. As long as you are only using that vendor&#8217;s software in the way that the vendor envisioned you would be using it, you&#8217;re just fine. Its also why standards are a good thing.</p>
<p>Yet another example of why <a href="http://compoundthinking.com/blog/">Mark Ramm</a> was right when he <a href="http://compoundthinking.com/blog/index.php/2009/02/04/wsgi-and-cooperation/">wrote</a> and <a href="http://www.youtube.com/watch?v=fipFKyW2FA4">talked</a> about WSGI being the right way to write tools that properly interact with one another. I&#8217;m really convinced now that the <a href="http://turbogears.com/">TurboGears</a>/<a href="http://pylonshq.com/">Pylons</a> approach is the proper way to build web applications.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Frkware.com%2F2009%2F02%2Fyet-another-example-of-why-microsoft-sucks%2F&amp;linkname=Yet%20another%20example%20of%20why%20Microsoft%20sucks%21"><img src="http://rkware.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://rkware.com/2009/02/yet-another-example-of-why-microsoft-sucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
