<?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>./cmsimike &#187; windows</title>
	<atom:link href="http://www.cmsimike.com/blog/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cmsimike.com/blog</link>
	<description>thoughts from a computer scientist</description>
	<lastBuildDate>Sun, 08 Jan 2012 22:20:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux, Runtime.getRuntime().exec(&#8230;) and quotes</title>
		<link>http://www.cmsimike.com/blog/2010/11/15/linux-runtime-getruntime-exec-and-quotes/</link>
		<comments>http://www.cmsimike.com/blog/2010/11/15/linux-runtime-getruntime-exec-and-quotes/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 01:31:29 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.cmsimike.com/blog/?p=240</guid>
		<description><![CDATA[
String command = &#34;java -jar \&#34;/path/to/some/jar/foo.jar\&#34;&#34;;

Here is an interesting problem I ran into while doing some work: why is Runtime.getRuntime().exec(command) reporting that it couldn&#8217;t access a jar file I was directly trying to invoke in code on Linux but worked no problem on Windows? The generated command was identical on Windows and Linux and copying [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> command <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;java -jar <span style="color: #000099; font-weight: bold;">\&quot;</span>/path/to/some/jar/foo.jar<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Here is an interesting problem I ran into while doing some work: why is Runtime.getRuntime().exec(command) reporting that it couldn&#8217;t access a jar file I was directly trying to invoke in code on Linux but worked no problem on Windows? The generated command was identical on Windows and Linux and copying the command and running it in a terminal executed as it should. WHY  DO YOU HATE ME JAVA AND LINUX?</p>
<p>Turns out that it was really only Java hating on me. After playing around with the command, I finally figured out that removing the quotes around the jar path fixed it:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> command <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;java -jar /path/to/some/jar/foo.jar&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>worked but</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> command <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;java -jar <span style="color: #000099; font-weight: bold;">\&quot;</span>/path/to/some/jar/foo.jar<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>didn&#8217;t.</p>
<p>So what is going on?<br />
<span id="more-240"></span>Unfortunately I don&#8217;t know why, but in Linux (at least Ubuntu), the quotes are taken as part of the name. Take this example:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">    <span style="color: #003399;">Process</span> p <span style="color: #339933;">=</span> <span style="color: #003399;">Runtime</span>.<span style="color: #006633;">getRuntime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>ls<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003399;">BufferedReader</span> br <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>p.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>br.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>tries to actually execute the file named &#8220;ls&#8221; not ls. From the terminal, you can actually type out &#8220;ls&#8221; and ls will be executed as you&#8217;d expect:</p>
<pre>Exception in thread "main" java.io.IOException: Cannot run program ""ls"": java.io.IOException: error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
	at java.lang.Runtime.exec(Runtime.java:593)
	at java.lang.Runtime.exec(Runtime.java:431)
	at java.lang.Runtime.exec(Runtime.java:328)
	at RuntimeTest.main(RuntimeTest.java:9)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.(UNIXProcess.java:148)
	at java.lang.ProcessImpl.start(ProcessImpl.java:65)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
	... 4 more</pre>
<p>Definitely something to keep in mind if you are developing software and the environments are varied. OS X and Linux behave the same way in this regard. Windows is different.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmsimike.com/blog/2010/11/15/linux-runtime-getruntime-exec-and-quotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This is not an Upgrade&#8230; GOOD NIGHT</title>
		<link>http://www.cmsimike.com/blog/2008/09/05/this-is-not-an-upgrade-good-night/</link>
		<comments>http://www.cmsimike.com/blog/2008/09/05/this-is-not-an-upgrade-good-night/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 22:46:54 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[mini9]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.cmsimike.com/blog/?p=42</guid>
		<description><![CDATA[I&#8217;ve been looking into picking up a new Dell Latitude Mini 9 now that it is released (Dell if you&#8217;re reading this and want to send me a FREE, fully upgraded Ubuntu model, I&#8217;ll happily review it for you!) and came across this image from Dell&#8217;s website (click for the full size version):

&#8220;Upgrading&#8221; from Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking into picking up a new <a title="Dell Mini 9" href="http://www.dell.com/mini" target="_blank">Dell Latitude Mini 9</a> now that it is released (Dell if you&#8217;re reading this and want to send me a FREE, fully upgraded Ubuntu model, I&#8217;ll happily review it for you!) and came across this image from <a title="Dell" href="http://www.dell.com" target="_blank">Dell&#8217;s website</a> (click for the full size version):</p>
<p><a title="Click for full size" href="http://www.cmsimike.com/blog/wp-content/uploads/2008/09/errupgrade.png" target="_blank"><img class="aligncenter size-full wp-image-43" title="errupgrade" src="http://www.cmsimike.com/blog/wp-content/uploads/2008/09/errupgrade.png" alt="Really?" width="499" height="341" /></a></p>
<p>&#8220;Upgrading&#8221; from Ubuntu to Windows XP? That is not what I&#8217;d call an upgrade. This puts Ubuntu in a really bad light if read by people who don&#8217;t know better. This sort of false advertising and misleading the public with opinion rather than fact is pretty bad in this case. I&#8217;ll meet you half way on this and won&#8217;t say that Ubuntu is an upgrade from Windows (since my personal opinion doesn&#8217;t matter here). It&#8217;d be more honest if you suggested that Windows is an alternative to Ubuntu, rather than an upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmsimike.com/blog/2008/09/05/this-is-not-an-upgrade-good-night/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving a Family to Ubuntu &#8211; Part 2</title>
		<link>http://www.cmsimike.com/blog/2008/05/05/moving-a-family-to-ubuntu-part-2/</link>
		<comments>http://www.cmsimike.com/blog/2008/05/05/moving-a-family-to-ubuntu-part-2/#comments</comments>
		<pubDate>Mon, 05 May 2008 18:10:45 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[switch to linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.cmsimike.com/blog/?p=31</guid>
		<description><![CDATA[This is part 2 of my quest to convert my family&#8217;s PC from Windows to Ubuntu. If you missed the first part, please read it here. I thought that converting my family to an Ubuntu-based PC would be pretty painful, and to be honest, I thought I was going to have to reformat and install [...]]]></description>
			<content:encoded><![CDATA[<p>This is part 2 of my quest to convert my family&#8217;s PC from Windows to Ubuntu. If you missed the first part, please read it <a title="Moving a Famile to Ubuntu - Part 1" href="http://www.cmsimike.com/blog/2008/04/23/moving-a-family-to-ubuntu-part-1/" target="_blank">here</a>. I thought that converting my family to an Ubuntu-based PC would be pretty painful, and to be honest, I thought I was going to have to reformat and install Windows. Luckily, so far it has not been the case.</p>
<p><span id="more-31"></span></p>
<h5>The Install</h5>
<p>So I finally sat down with my family&#8217;s computer and began the install of Ubuntu 8.04. Needless to say, the install was very painless. The laptop is a Acer Aspire 5000. Nothing too fancy. Once all was said and done, the computer rebooted without a hitch.</p>
<h5>The Hitch</h5>
<p>Once the installation was done, I began my test of the system to see what works and what needs more work. Everything looked good, other than the wireless adapter. According to <a title="man lspci" href="http://linux.die.net/man/8/lspci" target="_blank">lspci</a>, the wireless adapter is a Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02). It <em>seemed</em> like it was working, but it would not display any wireless networks around. Going into the Restricted Drivers Manager, I saw that was a firmware/driver for it. So I downloaded that, installed it and restarted. Through some more futzing around with the wireless network menu, I got nothing. I decided to click the &#8220;wireless disable&#8221; button on the machine (tangent: these wireless disable buttons on laptops are totally worthless). All the time I thought the wireless adapter was on since the orange light was on (this meant it was active in windows). Apparently that was not the case in Ubuntu. Luckily enough everything worked smoothly after that. I don&#8217;t feel that this network card is well supported under Linux (at least, Ubuntu). It seems to cut in and out sometimes.</p>
<h5>The Configuration</h5>
<p>Using the list that my little cousin made for me, I made a quick pass one by one trying to set everything up the best I could. Went to YouTube.com and installed the Adobe Flash Player for Linux (thankfully this works well). Went to Miniclip.com however noticed that Shockwave Flash games didn&#8217;t work. After some quick googling around, I didn&#8217;t find any real answer in dealing with this, so this is one thing he will have to live without. Using Totem, I had to install the codex that are required to play WMVs and ASFs since his school requires children watch these science videos that are on a CD which are in these formats. Thought about installing gtkpod, but decided against it since I just wanted to get the computer up and running for schoolwork first and foremost.</p>
<p>Next I hit up the Skype website for a Linux version of it&#8217;s VoIP client. Thankfully there was a <a title="Skype Linux Installation packages" href="http://www.skype.com/download/skype/linux/choose/">Debian software install package</a> ready to be downloaded, however it was dependent on three other packages available in the default repositories. Even if you try to install Skype without the dependencies installed, you will get a clear message telling you exactly which packages you need. God I love apt.</p>
<p>Once I was satisfied that I installed everything that would be required, I installed openssh-server on the laptop. This was done so that when I get the VPN host set up on my router, I could then ssh into their machine and try to solve any problem remotely before having to drive over.</p>
<h5>The Education</h5>
<p>Now trying to teach a 10 year old with no concept of anything dealing with a computer or his father why certain applications will no longer will run with Ubuntu installed is a long, hard fought battle. But I thought I got the concept into their brain (spoiler: no I didn&#8217;t).</p>
<p>So I sat with my little cousin and gave him the tour. No more Start button on the bottom left,  the upper left icon has all the applications no. MSN Messenger was replace with Pidgin. Skype is still Skype. Microsoft Word is replaced by OpenOffice.org Writer. Windows Media Player is replace with Totem. I tried to explain why some games will no longer work. Also I told him not to worry about his iPod for now, we would deal with it later. So I sat him down with his new install and I went off to eat. I asked him to play around with it to try to see if he is missing anything.</p>
<p>Now onto the father. All he really wanted was PartyPoker. A quick glance at their site revealed that there is no Linux client. Sad. However! There seems to be a browser-based client for it. So I got this set up for him and quickly gave him an overview about it (from what little I used it). Both father and son looked pleased so I decided to quit for the night.</p>
<h5>The Problems</h5>
<p>A few days after leaving my family to their new computer, I got the first phone call with a problem. The wireless connection died and wouldn&#8217;t come back up. (Side note: it is always hard to diagnose problems with other people&#8217;s computers. They say they did nothing, when in actuality they did something, intentionally or not) Either way it wasn&#8217;t working. I had to drive over to their house only to figure out that all I had to do is press that wireless button. Why? I don&#8217;t know. But there really REALLY should be a way to bypass that thing. Do I have enough evidence to blame Ubuntu and the way it handles wireless? Nope, thankfully.</p>
<p>Another problem that came up is that the father didn&#8217;t want to use the in-browser version of PartyPoker to play, citing missing sounds and such. I GUESS I understand, so I tried installing Wine from the repositories and installing PartyPoker that way, however the game was, more or less, unplayable. For now I put him back on the in browser version. If it becomes a huge problem, I have decided that I will be installing Windows in a VirtualBox just for PartyPoker. An extreme waste of resources, I know. But what are you going to do?</p>
<p>Two nights ago, I was informed that while booting up the computer, the boot up process dropped itself into a root shell and said the fsck failed to run. The message was to try to run fsck manually. Well trying to talk to my little cousin over the phone to run it didn&#8217;t work. By the time I got the computer into my position, the problem seemed to have gone away. I have absolutely NO idea how this could have happened. It seems like something Ubuntu could do a little better. [Update on this: turns out the hard drive was screwed up. So I can't really blame Ubuntu for this. No matter what operating system a user has installed, broken hardware will ultimately lead to headaches for a novice.]</p>
<h5>The Remainder</h5>
<p>At this point, the only thing really left is setting up the VPN server locally, then setting up the VPN client on my family&#8217;s computer. I&#8217;ve set up gtkpod and tried it out with my little cousin, and it seems to work well. It is a simple drag and drop interface, however in the quick 5 minutes of use, I found no easy way to import a cd. I guess I will have to use an external program to rip a CD into mp3s, then have my cousin drag and drop the files into his iPod.</p>
<h5>The Conclusion</h5>
<p>Has Ubuntu made it to the point that it can start replacing Windows as a desktop operating system? As an operating system, it comes pretty well stocked. The base install of Ubuntu gives any regular user enough tools to do everything they need to do. Email? Boom! Evolution. Web browsing? Boom! Firefox. Word processing? BOOM! OpenOffice.org Writer. IM client? BOOM!!!! Pidgin. There is just such a wealth of applications ready for consumption, that an average user would rarely need to install anything else. The problem is the same problem for anything that is new, and that is the user is basically thrown into the deep end of the pool without warning where even the most simple tasks become pretty daunting, not because it is difficult to accomplish, but it could be as simple as the naming of the applications are different. Along the same lines of my experiment with my family, <a title="The Great Ubuntu-Girlfriend Experiment" href="http://contentconsumer.wordpress.com/2008/04/27/is-ubuntu-useable-enough-for-my-girlfriend/" target="_blank">The Great Ubuntu-Girlfriend Experiment</a> was conducted and much of the same results/problems followed. However, I do believe that with anything in life, jumping into something will always take time. Yes it would be nice to have a primer when you log into an account for the first time. Yes it would be nice to have an option for a tutorial on switching from Windows to Ubuntu. But the most important lesson for any new Ubuntu user to learn is that there is a wealth of information available on the internet. Someone should redo the Great Ubuntu-xxxx (where xxxx is any user who only uses windows) Experiment and give the option of using Google to look for answers. Although knowledge of one operating system rarely transcends from one to another, the concepts should be simple enough to carry on such that you know can generally can do what you want, it is just a matter of finding out what applications replaces what.</p>
<p>The only thing really missing is support from companies. Start open sourcing your applications, or at least release Linux clients. With Windows users making the switch to an Ubuntu desktop, it makes no sense that there is no Linux version of your application (I&#8217;m looking at you, PartyPoker). And no, the web-based Client is not enough. Simple things like sound don&#8217;t seem to work. Kudos, however, deserve to go to <a title="Open Screen Project" href="http://www.adobe.com/openscreenproject/" target="_blank">Adobe for open sourcing some of their products</a>.</p>
<h5>The Conclusion (From the Family View)</h5>
<p>After about a week of using the Ubuntu, the only problems my family has run into is with proprietary software/codecs missing with no Linux replacement available. For instance some WMVs/ASFs play the video but not the sound, or don&#8217;t play at all, even after installing the Codec package Totem recommended. Also there is also the problem of PartyPoker not having a native Linux installer and the application failing miserably with Wine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmsimike.com/blog/2008/05/05/moving-a-family-to-ubuntu-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moving a Family to Ubuntu &#8211; Part 1</title>
		<link>http://www.cmsimike.com/blog/2008/04/23/moving-a-family-to-ubuntu-part-1/</link>
		<comments>http://www.cmsimike.com/blog/2008/04/23/moving-a-family-to-ubuntu-part-1/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 02:24:04 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[switch to linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.xekm.com/blog/?p=30</guid>
		<description><![CDATA[The Back Story
Since I am the token computer scientist of my family, of course everyone comes to me for all their computer problems, which most of the time is due to spyware/malware. It happens. I get it, despite my best efforts it happens. I tell them to use Firefox, someone slips up and uses Internet [...]]]></description>
			<content:encoded><![CDATA[<h5>The Back Story</h5>
<p>Since I am the token computer scientist of my family, of course everyone comes to me for all their computer problems, which most of the time is due to spyware/malware. It happens. I get it, despite my best efforts it happens. I tell them to use Firefox, someone slips up and uses Internet Explorer the one day they go to a bad site. Even if they use Firefox, someone downloads something and runs it there-by borking (technical term) their system. Files get deleted, changed, what have you. Things just go wrong. Yes it is ultimately the user&#8217;s fault, however I do believe the operating system takes some of the blame for allowing things like this to be done in the first place. Well it has come to that time again for format another laptop and reinstall everything. Fine. I don&#8217;t mind it at all. They are family. However I am not going to just reinstall Windows again. It is time for an experiment. This time I am going to install <a title="Ubuntu 8.04 Hardy Heron" href="http://www.ubuntu.com/" target="_blank">Ubuntu 8.04</a>.</p>
<p><span id="more-28"></span></p>
<p>Here&#8217;s the experiment: take a family that has been using a Windows-based computer for about two years and no real affinity for how things are done and throw them into the world of safe computing with Ubuntu. Can it work? Has Ubuntu finally gotten to a point of maturity where anyone can start using it comfortably? Drivers won&#8217;t be an issue other than the first initial install since nothing will be upgraded on the laptop. And here&#8217;s to hoping that Ubuntu picks everything up from the get-go. The only important thing is the wireless adapter which Ubuntu 7.10 (on a live cd) picked up. The video card is some on board trashy one so that really is a non-issue.</p>
<h5>The Preparation</h5>
<p>I asked my little cousin to write down a list of things he and his father do on the computer. His father doesn&#8217;t do anything more than check his web-based email, and play PartyPoker (both can be done within the browser), so that is taken care of. However my cousin, being (of this writing) 10 years old, is the more technical one in his family and by that, I mean uses the computer the most and can figure out what to do when I tell him things over the phone. He plays his flash-based games, and thankfully there is a decent Flash plug-in, school work which Open Office can take care of and load up his Ipod which I guess (but I&#8217;ve never used) <a title="gtkpod" href="http://www.gtkpod.org/" target="_blank">gtkpod</a> takes care of.  I have yet to check the list myself, but I don&#8217;t foresee it being a huge problem. If worse comes to worse, <a title="Wine" href="http://www.winehq.org/" target="_blank">Wine</a> is at a fairly mature level and will suffice. But lets not jump the gun yet.</p>
<p>The list will be what I base my install and configuration on. I hope to get everything set up on Thursday (2008-04-24) night since that is the release day of Ubuntu 8.04 with LTS. Then give it back this weekend and spend a few hours helping everyone get accustomed to the new operating system. If all goes well, I shouldn&#8217;t need to touch their computer again for at least 3 years. But we&#8217;ll see.</p>
<p>One thing I would love set up is a VPN solution so that if need be, I can ssh into the computer over the vpn. Unless their internet goes down, I should never really need to leave my house to solve their problems. I have <a title="OpenWRT - Wireless Freedom" href="http://openwrt.org/" target="_blank">OpenWRT</a> installed on my Linksys WRT54GL so it would be nice to be able to take leverage that of that and the vpn to accomplish this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmsimike.com/blog/2008/04/23/moving-a-family-to-ubuntu-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

