<?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>Alex on Linux&#187; Opinion</title>
	<atom:link href="http://www.alexonlinux.com/category/articles/opinion/feed" rel="self" type="application/rss+xml" />
	<link>http://www.alexonlinux.com</link>
	<description></description>
	<lastBuildDate>Sun, 05 Feb 2012 20:42:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Python for bash replacement</title>
		<link>http://www.alexonlinux.com/python-for-bash-replacement</link>
		<comments>http://www.alexonlinux.com/python-for-bash-replacement#comments</comments>
		<pubDate>Sun, 26 Dec 2010 16:25:37 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming Articles]]></category>
		<category><![CDATA[Short articles]]></category>
		<category><![CDATA[System Administrator Articles]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[ipython]]></category>
		<category><![CDATA[piping]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[redirections]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1847</guid>
		<description><![CDATA[When I started learning Python, I was looking for a programming language that would replace BASH, AWK and SED. I am a C/C++ programmer and as such I better invest my time into studying C and C++. Instead, every time I needed some complex script I opened up a book on BASH and refreshed my [...]
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/6-things-that-i-miss-in-bash' rel='bookmark' title='6 things that I miss in bash'>6 things that I miss in bash</a></li>
<li><a href='http://www.alexonlinux.com/pythons-optparse-for-human-beings' rel='bookmark' title='Python&#8217;s optparse for human beings'>Python&#8217;s optparse for human beings</a></li>
<li><a href='http://www.alexonlinux.com/my-next-programming-language' rel='bookmark' title='My next programming language'>My next programming language</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When I started learning Python, I was looking for a programming language that would replace BASH, AWK and SED. I am a C/C++ programmer and as such I better invest my time into studying C and C++. Instead, every time I needed some complex script I opened up a book on BASH and refreshed my knowledge. And since bumping into boundaries of what BASH can do is relatively easy, I always opened awk/sed book few minutes later.</p>
<p>Actually, this is quiet common. Once in a while I see my colleagues, just like myself, open up a book on BASH. The problem is that because we don&#8217;t actively program BASH, the knowledge and experience that we gain from this experience wear out over time. So next time we approach, so we have to repeatedly study BASH stuff over and over again. And again, this is not only BASH I am talking about, but also AWK and SED.</p>
<p>It is utterly broken state of affairs and I wish there was a solution. Unfortunately there is no solution yet. The good thing is that with some effort the solution may arise. I am talking about Python programming language.</p>
<p><span id="more-1847"></span></p>
<p>Needless to say that Python can do everything that BASH can do. However, it was never designed as shell environment and as such it is hardly convenient.</p>
<p>For instance, running external commands is easy. You should use subprocess module to run the command and there you go, you have both return value and the output. But this is miles away from convenience of simply typing the command and hitting enter.</p>
<p>Another issue is input/output redirections and piping. Regular shell does this with ease. Python obviously does this as well, but not without a hassle of importing the right module and creating the right object, etc.</p>
<p>On the other hand things are not that bad. For instance implementing command line should be somewhat easy in Python because it has native support for completion (which it uses in its own command line interface).</p>
<p>There is a project that makes few steps in the right direction. I am talking about IPython of course. Unfortunately, I doubt that IPython will ever be able to replace BASH. It was never their goal. Even though IPython developers implemented some features that make IPython command line a little down to earth, I am in doubt they will continue moving in this direction. Also, I must say that IPython evolves quiet slowly.</p>
<p>What do you think? Will Python ever be able to replace BASH?</p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/6-things-that-i-miss-in-bash' rel='bookmark' title='6 things that I miss in bash'>6 things that I miss in bash</a></li>
<li><a href='http://www.alexonlinux.com/pythons-optparse-for-human-beings' rel='bookmark' title='Python&#8217;s optparse for human beings'>Python&#8217;s optparse for human beings</a></li>
<li><a href='http://www.alexonlinux.com/my-next-programming-language' rel='bookmark' title='My next programming language'>My next programming language</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/python-for-bash-replacement/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My next programming language</title>
		<link>http://www.alexonlinux.com/my-next-programming-language</link>
		<comments>http://www.alexonlinux.com/my-next-programming-language#comments</comments>
		<pubDate>Sun, 22 Aug 2010 21:04:43 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming Articles]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[evolution]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming language]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control system]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1819</guid>
		<description><![CDATA[This week-end I&#8217;ve been playing with various version control systems. Until now, I&#8217;ve been doing all my home codings with subversion. I&#8217;ve written
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/distributed-vs-centralized-version-control-systems' rel='bookmark' title='Distributed vs. centralized version control systems'>Distributed vs. centralized version control systems</a></li>
<li><a href='http://www.alexonlinux.com/bazaar-for-subversion-users-part-1-the-basics' rel='bookmark' title='Bazaar for subversion users, part 1 &#8211; the basics'>Bazaar for subversion users, part 1 &#8211; the basics</a></li>
<li><a href='http://www.alexonlinux.com/todo-list' rel='bookmark' title='Todo list'>Todo list</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This week-end I&#8217;ve been playing with various version control systems. Until now, I&#8217;ve been doing all my home codings with subversion. I&#8217;ve written <a href="bazaar-for-subversion-users-part-1-the-basics" rel="nofollow" title="Link to article about bazaar"  onclick="return TrackClick('bazaar-for-subversion-users-part-1-the-basics" onclick="return TrackClick('bazaar-for-subversion-users-part-1-the-basics','Link+to+article+about+bazaar')",'Link+to+article+about+bazaar')">about bazaar in the past</a>, but it seems to me that <a href="http://stackoverflow.com/questions/995636/popularity-of-git-mercurial-bazaar-vs-which-to-recommend" rel="nofollow" >bazaar isn&#8217;t going anywhere</a> and it busts any piece of motivation that I have to continue writing about it.</p>
<p>Version control that I did try is git. This is a very popular version control system and for a good reason. Comparing git and subversion brought me to a conclusion that git is really a very consequence of how things work in the world. Thing about git is that it is a distributed version control while subversion is not. You can make a distributed version of subversion, but it won&#8217;t be subversion anymore.</p>
<p>Distributivity is one thing, but there are more. Take the standard trunk/branches/tags layout that you have to create in subversion &#8211; version control could do it for you, as git/bazaar/mercurial do. At first, after working with CVS for some time, having an option to have non-standard layout seemed cool for some time. But then it appeared completely useless.</p>
<p>This brings a notion of evolution into version control systems and I bet there&#8217;s similar process with programming languages. I think we can already starting drawing a programming language that will replace Python.</p>
<p>Yep, Python isn&#8217;t perfect. I thought I&#8217;d compile a list of things that shall be different in ought to be programming language that comes after Python.</p>
<p><span id="more-1819"></span></p>
<ol>
<li>Passing <em>self</em> to methods is counter-productive. Using <em>self</em> to access members is super counter productive. Yet this is how Python works. Without this, it won&#8217;t be Python anymore.</li>
<li>Same thing with <em>global</em>. Every program has this one global variable that every other class and function use. So, every entity that uses that variable has to declare it with <em>global</em> keyword. Utterly counter-productive.</li>
<li>Starting every private method and field with __ (double under-score) is ugly. The way it changes method name prepending it with a class name is even uglier. It is a really hackish way to handle this problem. I understand that this is the Python way of doing things, but it feels wrong.</li>
<li>Another hackish thing are decorators. Make an option to have static methods, class methods and properties and decorators are gone. No one would need them anymore, and it will be one bit easier to master Python.</li>
<li>You name it.</li>
</ol>
<p><em>Disclaimer (can&#8217;t get along without one this time <img src='http://www.alexonlinux.com/wp-content/plugins/smilies-themer/modern/smile.gif' alt=':-)' class='wp-smiley' /> ): This post may seem like one criticizing Python and it does in some ways, but I doubt these can be fixed in something called Python (unless Guido van Rossum brews it and calls it P</em><em>ython 4). In the meantime I love Python and use it on a daily basis. </em></p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/distributed-vs-centralized-version-control-systems' rel='bookmark' title='Distributed vs. centralized version control systems'>Distributed vs. centralized version control systems</a></li>
<li><a href='http://www.alexonlinux.com/bazaar-for-subversion-users-part-1-the-basics' rel='bookmark' title='Bazaar for subversion users, part 1 &#8211; the basics'>Bazaar for subversion users, part 1 &#8211; the basics</a></li>
<li><a href='http://www.alexonlinux.com/todo-list' rel='bookmark' title='Todo list'>Todo list</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/my-next-programming-language/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Distributed vs. centralized version control systems</title>
		<link>http://www.alexonlinux.com/distributed-vs-centralized-version-control-systems</link>
		<comments>http://www.alexonlinux.com/distributed-vs-centralized-version-control-systems#comments</comments>
		<pubDate>Tue, 16 Jun 2009 19:26:33 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control system]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1435</guid>
		<description><![CDATA[When git appeared for the first time, I was convinced that I don&#8217;t need it. It seemed that git is good for large and distributed projects, like kernel. While my own needs where much more modest &#8211; manage a project with couple of dozen files and perhaps a couple of contributors at most. Couple of [...]
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/my-next-programming-language' rel='bookmark' title='My next programming language'>My next programming language</a></li>
<li><a href='http://www.alexonlinux.com/bazaar-for-subversion-users-part-1-the-basics' rel='bookmark' title='Bazaar for subversion users, part 1 &#8211; the basics'>Bazaar for subversion users, part 1 &#8211; the basics</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When <em>git</em> appeared for the first time, I was convinced that I don&#8217;t need it. It seemed that <em>git </em>is good for large and distributed projects, like kernel. While my own needs where much more modest &#8211; manage a project with couple of dozen files and perhaps a couple of contributors at most.</p>
<p>Couple of years passed and I am now looking into <a href="http://bazaar-vcs.org/" rel="nofollow"  onclick="return TrackClick('http%3A%2F%2Fbazaar-vcs.org%2F','Bazaar')">Bazaar</a>. This is a relatively new distributed version control system. I think I&#8217;ll write more about Bazaar, but in the meantime, I&#8217;d like to share some thoughts that crossed my mind while I was playing with it.</p>
<p><span id="more-1435"></span>There&#8217;s one thing that distributed version control does much better then centralized version control. Let me explain.</p>
<p>We do commits for two reasons.</p>
<ol>
<li>We want our work backed-up. We commit to repository because we know that repositories being backed up.</li>
<li>We want to be able to track our work, i.e. keep a record of changes that we apply to the project.</li>
</ol>
<p>In centralized version control system, these two are integrated in one system. I.e. if you want to track your changes, you commit. If you want to backup your code, again, you commit.</p>
<p>Don&#8217;t know how about you, but for me, this is totally broken. I work on a small projects, usually from home. I prefer not to host Subversion server on one of my home computers, but rather have a small VPS system for this purpose. It has mirrored disks, so the data is safe, more or less.</p>
<p>The problem is that this setup is horribly slow. It uses web front-end, so it creates a new secure connection to the server for every file I commit. This is so frustrating. I bet Subversion has faster front-ends, but I doubt they will be fast enough.</p>
<p>On the other hand, with distributed version control, the two above items are separated. When you commit for code tracking purposes, you commit to your local repository. When you want to backup your code, you commit to centralized, backed-up repository. In the first case, you can commit as often as you want &#8211; do local commits, in Bazaar terms. In the later case, you can commit to the repository, lets say, nightly.</p>
<p>So, despite distributed version control systems naturally fit large projects, my mini-projects can enjoy them as well. Hence I am definitely going to try Bazaar with one of my mini-projects and report the results. Stay tuned.</p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/my-next-programming-language' rel='bookmark' title='My next programming language'>My next programming language</a></li>
<li><a href='http://www.alexonlinux.com/bazaar-for-subversion-users-part-1-the-basics' rel='bookmark' title='Bazaar for subversion users, part 1 &#8211; the basics'>Bazaar for subversion users, part 1 &#8211; the basics</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/distributed-vs-centralized-version-control-systems/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>6 things that I miss in bash</title>
		<link>http://www.alexonlinux.com/6-things-that-i-miss-in-bash</link>
		<comments>http://www.alexonlinux.com/6-things-that-i-miss-in-bash#comments</comments>
		<pubDate>Tue, 09 Jun 2009 18:20:36 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Short articles]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[enhancement]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1395</guid>
		<description><![CDATA[What is the most frequently used piece of software on your computer? Here&#8217;s one program that holds one of the highest place in my list of most frequently used programs. I am talking about&#8230; bash. In case you don&#8217;t know, this is the program behind large portion of the Linux command line. It is the [...]
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/python-for-bash-replacement' rel='bookmark' title='Python for bash replacement'>Python for bash replacement</a></li>
<li><a href='http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed' rel='bookmark' title='Is desktop Linux too fragmented to succeed?'>Is desktop Linux too fragmented to succeed?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>What is the most frequently used piece of software on your computer? Here&#8217;s one program that holds one of the highest place in my list of most frequently used programs. I am talking about&#8230; <em>bash</em>.</p>
<p>In case you don&#8217;t know, this is the program behind large portion of the Linux command line. It is the program that actually makes majority of work turning Linux command line into such a magnificent tool it is.</p>
<p>As for use frequency, on my computer the only program that beats it is perhaps a web browser. I use it more often than mail client, text processor or just any other program.</p>
<p>Now, one thing that entertains me is that there is absolutely no hype around <em>bash</em>. I mean, you probably know that next version of Firefox coming tomorrow (I am writing this on June 9th, 2009). But do you know when next version of <em>bash</em> is coming? Do you even know what is the version of <em>bash</em> that you currently use? Well, you are not alone &#8211; I have no clue either <img src='http://www.alexonlinux.com/wp-content/plugins/smilies-themer/modern/smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-1395"></span>One thing that concerns me is that <em>bash</em> almost didn&#8217;t change for the last ten years. I mean the only new feature that, to my knowledge, it didn&#8217;t support ten years ago is <em>bash_completion</em> &#8211; that is the advanced version of plain completion that it does to files. I could be wrong about this of course, but one thing is certain. Whatever the changes are, they are unnoticeable.</p>
<p>So, I thought that I&#8217;d compile a list of features that I would like to see in the upcoming version of <em>bash</em>. Now really, if only one of them would become a reality, I&#8217;d chew my pair of orange Crocs (I do have a pair of orange Crocs), put it on video and post it on youtube. Alright, I won&#8217;t do that. But it would still be very nice to see these happening.</p>
<p>The list:</p>
<h3>1 &#8211; History sharing</h3>
<p>I often open multiple shells. It would be really nice to be able to synchronize history between them. Right now, it seems that <em>bash</em> writes history file when it shuts down. If you open another session after history has been saved, you can access commands that you&#8217;ve typed in in the previous session. Otherwise, the history between two sessions is completely independent. Not good.</p>
<h3>2 &#8211; Completion of directory and file names based on their usage</h3>
<p>I think that 90% of <em>cd</em>&#8216;s that I do are all destined to the same directory. Why on earth I see  the list of possible destination for <em>cd</em> in alphabetical order every time I press TAB?</p>
<h3>3 &#8211; Completion of make targets</h3>
<p>I know this has already been implemented. But I am wondering why it isn&#8217;t part of <em>bash_completion</em> package on Ubuntu. OpenSuSE is no better &#8211; it does completion only to some <em>yast</em> stuff.</p>
<h3>4 &#8211; Show a browseable and searchable list of files when hitting TAB key twice</h3>
<p>I guess you all know that. Single TAB key completes a word if it can make a single match. Double TAB shows a list of choices for completion. In case the list is too long, it builds a long list and pipes it through <em>more</em>.</p>
<p>What I would like to see is a browseable and searchable list. One that I can browse with arrow keys. I also would like to be able to enter portion of the file name and in that case <em>bash</em> should filter out everything that doesn&#8217;t match the criteria I&#8217;ve entered.</p>
<h3>5 &#8211; Completion of <em>scp</em>, on remote host</h3>
<p>I guess it happened to all of us. Copying file to a remote computer with <em>scp</em>, is always difficult because you actually have to remember the path on remote computer. Wouldn&#8217;t it be great if <em>bash</em> could complete remote paths as well?</p>
<p>Now, I know this is very difficult to implement. Basically you have to spawn <em>ssh</em> with <em>ls</em> command, wait for it to complete and parse the results. Oh and there is a password thing. You gotta take care of password prompt that <em>ssh</em> may produce. Have no idea how to solve this issue. I do see a couple of options, but all of them are far from being ideal.</p>
<h3>6 &#8211; Fix typos</h3>
<p>This one is simple. As long as I don&#8217;t hit the TAB key, no need to fix anything. Once I hit the TAB key, shell should check if the command I&#8217;ve entered makes sense and if not try to fix it. Good example of what could make sense are file names. <em>vi &lt;filename&gt; </em>probably means that you want to edit a file. If the file does not exist and yet there&#8217;s another file with almost identical name, fix it. Same with <em>cd</em>. You don&#8217;t <em>cd</em> into directories that don&#8217;t exist. So once shell detects an attempt to do so and the user asks for help (by pressing the TAB key), shell can fix the typo and make the user smile.</p>
<p>This is it. I hope to see any of these happening one day. In the meantime, enjoy the list and by all means leave comments with your ideas of <em>bash</em> enhancements.</p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/python-for-bash-replacement' rel='bookmark' title='Python for bash replacement'>Python for bash replacement</a></li>
<li><a href='http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed' rel='bookmark' title='Is desktop Linux too fragmented to succeed?'>Is desktop Linux too fragmented to succeed?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/6-things-that-i-miss-in-bash/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Is desktop Linux too fragmented to succeed?</title>
		<link>http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed</link>
		<comments>http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed#comments</comments>
		<pubDate>Tue, 12 May 2009 08:07:39 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Short articles]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1282</guid>
		<description><![CDATA[This question is especially relevant after yesterday&#8217;s fiasco. I ran into an article whose name is exactly Is desktop Linux too fragmented to succeed? The article argues that the fragmentation is what keeping Linux Desktop from beating Mac OS and even Windows. It is because the effort to create Linux desktop is scattered across multiple [...]
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/what-kept-me-from-sticking-to-ubuntu-as-a-desktop-solution' rel='bookmark' title='What kept me from sticking to Ubuntu as a desktop solution'>What kept me from sticking to Ubuntu as a desktop solution</a></li>
<li><a href='http://www.alexonlinux.com/ubuntu-904-with-wubi-failure' rel='bookmark' title='Ubuntu 9.04 with Wubi &#8211; Failure'>Ubuntu 9.04 with Wubi &#8211; Failure</a></li>
<li><a href='http://www.alexonlinux.com/6-things-that-i-miss-in-bash' rel='bookmark' title='6 things that I miss in bash'>6 things that I miss in bash</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This question is especially relevant after <a href="http://www.alexonlinux.com/ubuntu-904-with-wubi-failure" onclick="return TrackClick('http%3A%2F%2Fwww.alexonlinux.com%2Fubuntu-904-with-wubi-failure','yesterday%22s+fiasco')">yesterday&#8217;s fiasco</a>. I ran into an article whose name is exactly <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;taxonomyName=Software&amp;articleId=9132157&amp;taxonomyId=18&amp;pageNumber=2" rel="nofollow"  onclick="return TrackClick('http%3A%2F%2Fwww.computerworld.com%2Faction%2Farticle.do%3Fcommand%3DviewArticleBasic%26amp%3BtaxonomyName%3DSoftware%26amp%3BarticleId%3D9132157%26amp%3BtaxonomyId%3D18%26amp%3BpageNumber%3D2','Is+desktop+Linux+too+fragmented+to+succeed')">Is desktop Linux too fragmented to succeed</a>?</p>
<p>The article argues that the fragmentation is what keeping Linux Desktop from beating Mac OS and even Windows. It is because the effort to create Linux desktop is scattered across multiple distribution, it cannot become a serious player in desktop solutions.</p>
<p>Toward its end, the article gives optimistic prospects. There are some efforts to bring Linux desktop community to common ground, unanswered though.</p>
<p><span id="more-1282"></span></p>
<h2>This is so wrong</h2>
<p>The truth is that are some points in the article that made my eyebrows go up. You see, having single desktop Linux distribution is impossible. This is against the nature of Linux and how its being distributed.</p>
<p>To get it moving you have to talk big distributors into this. But for big distributors, their desktop solution is one way or another their selling point. RedHat compete with Novell through Fedora and OpenSuSE. Moreover, they don&#8217;t want common ground. They want to compete.</p>
<p>Small distributions want their piece of the big cake too. Asking them to provide the same desktop solution would be as asking them to close their business &#8211; if they wanted to be a part of joined effort to make the world better place and Linux better desktop OS, people behind the distro could simply join someone else&#8217;s project.</p>
<p>Actually, this entire idea seems to be taken from socialism. We take something from everyone and create something that everyone would use. Sounds great, but this creates so called moral hazards. This strips away the will of competition. And competition is the driving force behind many of the technological marvels that we see today in general and in Linux in particular.</p>
<h2>The only way to improve Linux&#8217;s position in desktop market is</h2>
<p>to invest money into development of better Linux desktop.</p>
<p>Actually the author of the article was addressing the same issue, but from different angle. Linux desktop needs money. It needs more graphical designers, more QA engineers and more software engineers.</p>
<p>It straggles to become a serious desktop operating system because no one did usability testing. Because no one hired best UI designers, as Apple did. Because no one had hired enough QA engineers to make sure that all the software indeed works.</p>
<p>One way to overcome this problem is indeed by combining the effort. The problem is that Fedora isn&#8217;t there to beat Windows in desktop OS market. Fedora is a beta version of RedHat&#8217;s server systems. Same can be said about OpenSuSE, Ubuntu and most of the Linux distros.</p>
<p>Obviously money can be spent on nothing useful. Hundred engineers will not do in one month what ten engineers do in ten month. However, financing creates opportunity. And opportunity is exactly what Linux desktop needs.</p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/what-kept-me-from-sticking-to-ubuntu-as-a-desktop-solution' rel='bookmark' title='What kept me from sticking to Ubuntu as a desktop solution'>What kept me from sticking to Ubuntu as a desktop solution</a></li>
<li><a href='http://www.alexonlinux.com/ubuntu-904-with-wubi-failure' rel='bookmark' title='Ubuntu 9.04 with Wubi &#8211; Failure'>Ubuntu 9.04 with Wubi &#8211; Failure</a></li>
<li><a href='http://www.alexonlinux.com/6-things-that-i-miss-in-bash' rel='bookmark' title='6 things that I miss in bash'>6 things that I miss in bash</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.04 with Wubi &#8211; Failure</title>
		<link>http://www.alexonlinux.com/ubuntu-904-with-wubi-failure</link>
		<comments>http://www.alexonlinux.com/ubuntu-904-with-wubi-failure#comments</comments>
		<pubDate>Sun, 10 May 2009 20:03:20 +0000</pubDate>
		<dc:creator>Alexander Sandler</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Short articles]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[israel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[wubi]]></category>

		<guid isPermaLink="false">http://www.alexonlinux.com/?p=1268</guid>
		<description><![CDATA[Once every year or so, I get so frustrated with Windows Desktop that I decide to install Linux. I am a big fun of Ubuntu Linux. I use it for many things, this includes a server platform for this web-site. So most natural choice for me was to try Ubuntu 9.04, the latest version. I [...]
Related posts:<ol>
<li><a href='http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed' rel='bookmark' title='Is desktop Linux too fragmented to succeed?'>Is desktop Linux too fragmented to succeed?</a></li>
<li><a href='http://www.alexonlinux.com/what-kept-me-from-sticking-to-ubuntu-as-a-desktop-solution' rel='bookmark' title='What kept me from sticking to Ubuntu as a desktop solution'>What kept me from sticking to Ubuntu as a desktop solution</a></li>
<li><a href='http://www.alexonlinux.com/few-thoughts-about-ubuntu-servers-and-centos' rel='bookmark' title='Few thoughts about Ubuntu servers and CentOS'>Few thoughts about Ubuntu servers and CentOS</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Once every year or so, I get so frustrated with Windows Desktop that I decide to install Linux. I am a big fun of Ubuntu Linux. I use it for many things, this includes a server platform for this web-site. So most natural choice for me was to try Ubuntu 9.04, the latest version. I installed it on my Laptop computer using a program called <a href="http://wubi-installer.org/" rel="nofollow"  onclick="return TrackClick('http%3A%2F%2Fwubi-installer.org%2F','Wubi')">Wubi</a>.</p>
<p>Wubi is a program that installs Ubuntu Linux on top of installed Windows. I already had a Windows installation on my laptop, that I didn&#8217;t want to destroy. This is why I&#8217;ve chosen Wubi. It places root file-system in a file on Windows partition. Because of this feature, you don&#8217;t even need a partition to install Ubuntu.</p>
<p><span id="more-1268"></span></p>
<h2>What got me into this</h2>
<p>What got me into Linux desktop frenzy this time, is Vista&#8217;s slowness. We all know various virtues of Microsoft&#8217;s operating systems. But installing Linux desktop instead&#8230; Silly me. It took me just four hours to figure out that I am better with slowness. Four hours I usually don&#8217;t have.</p>
<p>I am full of respect to developers of Linux. I work with Linux and develop for it for many years and I think this is a great server platform, unmatched by any other OS. But, Linux desktop is unfortunately isn&#8217;t too mature to be a serious match for Windows as a Desktop OS.</p>
<p>Knowing this from my previous attempts to install Linux desktop, I tried a less destructive option out of all. That is, Wubi doesn&#8217;t change your existing Windows installation. It install Ubuntu Linux as if it was another Windows program.</p>
<h2>Installing Wubi</h2>
<p>Problems started with Wubi itself. I live in Israel and although I use English version of Vista, Wubi installation has decided that I am better with Hebrew. Entire installation procedure was in Hebrew.</p>
<p>Next, despite I explicitly told Wubi that I want English version of Ubuntu, it installed Hebrew version. I checked on Wubi&#8217;s web-site and it appeared someone reported this particular bug just few days before. And it already had a solution &#8211; developers presented a new revision of Wubi which wasn&#8217;t yet publicly available, but solved the problem. The installation interface language remained Hebrew, but at least it installed English version of Ubuntu.</p>
<p>Now in case you wonder why I had to reinstall entire operating system just because of interface language, I&#8217;ll explain you. You see, I am not very familiar with Ubuntu&#8217;s graphical interface and I didn&#8217;t know how to configure wireless network. Hebrew interface made it even more complicated for me, so I decided to get things right form the start and not to begin tackling problems on unfamiliar ground.</p>
<p>On the other hand, because I didn&#8217;t have internet access, I could not just install English support it as I would do otherwise.</p>
<h2>Now to Ubuntu</h2>
<p>My next task, after installing the Linux itself, was to configure wireless network. The installation program did detect both wired and wireless card. However, the network interfaces configuration program didn&#8217;t show the wireless interface &#8211; only the wired. Luckily, simply pressing Add solved the problem. New dialog, popped up, asking me what is my SSID.</p>
<p>I am lucky to have some background in wireless networking, otherwise I would not know what SSID is. In case you&#8217;re wondering, this is the name of your wireless network. Anyway, it appeared that I&#8217;ve forgotten name of my wireless network and I had to use my cell. phone (which luckily supports wi-fi) to find the name. Not to mention I&#8217;ve absolutely forgotten that I&#8217;ve used WPA2-PSK security for my network. I had to choose it manually too, but before that I had to investigate it with my cell. phone.</p>
<p>I must say that Ubuntu could ship a program that scans for wireless networks, but it just wasn&#8217;t there.</p>
<p>On the bright side, once I entered right values for SSID and encryption, it got connected immediately.</p>
<h2>The breaking point</h2>
<p>The next thing I planned to do was mounting my Windows partitions. Somehow mounting my C: drive wasn&#8217;t that difficult. The desktop was empty. I right clicked on it, created a new directory and then double clicked on it. It opened gnome file explorer. Then I pressed the computer button and here they were, my CD-ROM and C: drive. Clicking on C: drive, created a C: drive icon on the desktop and I could safely delete the directory I created, knowing that I can always open gnome explorer by clicking on C: drive icon.</p>
<p>Now I know that there are several ways of opening gnome explorer, but I just couldn&#8217;t find them.</p>
<p>Anyway, note that I have two partitions and gnome explorer only showed me one of them. It appeared to me that something is wrong with D: drive and I should try to mount it. I went to Add/Remove programs and added a program called <em>Disk Management</em>. It seemed logical to me that I need some program that manipulates disks, so I searched for <em>disk </em>and found that <em>Disk Management</em> program. However, once I started it, it reported that I don&#8217;t have disks at all.</p>
<p>This was the breaking point. Playing around with Ubuntu was fun, but I had to stop and go back to the world of productivity &#8211; where at least sometimes things work.</p>
<h2>Conclusion</h2>
<p>Linux is a great operating system and like I mentioned I feel lots of respect to developers of Ubuntu and Linux for the job they are doing. This is especially true because I owe my income to Linux, for the last decade. Linux has given me a profession and I am grateful for that. However it seems that, regrettably, Ubuntu, one of the the undoubtful leaders among Linux distributions, is still too immature as a Desktop solution. Too many things are not obvious. Too many things just don&#8217;t work out of the box. Yes I could find a solution for everything, but I am just too busy person to search solutions for everything.</p>
<p>Related posts:<ol>
<li><a href='http://www.alexonlinux.com/is-desktop-linux-too-fragmented-to-succeed' rel='bookmark' title='Is desktop Linux too fragmented to succeed?'>Is desktop Linux too fragmented to succeed?</a></li>
<li><a href='http://www.alexonlinux.com/what-kept-me-from-sticking-to-ubuntu-as-a-desktop-solution' rel='bookmark' title='What kept me from sticking to Ubuntu as a desktop solution'>What kept me from sticking to Ubuntu as a desktop solution</a></li>
<li><a href='http://www.alexonlinux.com/few-thoughts-about-ubuntu-servers-and-centos' rel='bookmark' title='Few thoughts about Ubuntu servers and CentOS'>Few thoughts about Ubuntu servers and CentOS</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.alexonlinux.com/ubuntu-904-with-wubi-failure/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

