<?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>woah! &#187; freesoftware</title>
	<atom:link href="http://www.alexhudson.com/category/freesoftware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexhudson.com</link>
	<description>world of alex hudson</description>
	<lastBuildDate>Mon, 10 Oct 2011 08:54:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Is package management failing Fedora users?</title>
		<link>http://www.alexhudson.com/2011/09/18/is-package-management-failing-fedora-users/</link>
		<comments>http://www.alexhudson.com/2011/09/18/is-package-management-failing-fedora-users/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 16:56:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=487</guid>
		<description><![CDATA[(For those looking for an rpm rant, sorry, this isn&#8217;t it&#8230;.!) Currently there&#8217;s a ticket in front of FESCo asking whether or not alternative dependency solvers should be allowed in Fedora&#8217;s default install. For those who don&#8217;t know, the dependency solver is the algorithm which picks the set of packages to install/remove when a user [...]]]></description>
			<content:encoded><![CDATA[<p>(For those looking for an rpm rant, sorry, this isn&#8217;t it&#8230;.!)</p>
<p>Currently there&#8217;s a ticket in front of FESCo asking <a href="https://fedorahosted.org/fesco/ticket/669">whether or not alternative dependency solvers should</a> be allowed in Fedora&#8217;s default install. For those who don&#8217;t know, the dependency solver is the algorithm which picks the set of packages to install/remove when a user requests something. So, for example, if the user asks for Firefox to be installed, the &#8220;depsolver&#8221; is the thing which figures out which other packages Firefox needs in order to work. On occasion, there is more than one possible solution &#8211; an obvious example often being language packs; applications usually need at least one language installed, but they don&#8217;t care which.</p>
<p>I don&#8217;t particularly have much skin in this particular game; but what I would note is that I find it particularly bizarre that this task is delegated to an algorithm. What we&#8217;re saying, basically, is that the configuration of a given installation is chosen by a bit of software. So long as the various package requirements &#8211; which could be library versions, files, or something entirely synthetic &#8211; are all met, the configuration is &#8220;valid&#8221;. Of course, that doesn&#8217;t necessarily mean it works &#8211; it may be totally untested by anyone else, and things get particularly grizzly if you&#8217;re doing something &#8220;fun&#8221;. Such fun includes:</p>
<ul>
<li>deploying &#8220;multi-arch&#8221; packages. Maybe you want a 32-bit browser plugin on your 64-bit PC, for example;</li>
<li>installing third-party packages. Maybe it&#8217;s RPM Fusion, maybe it&#8217;s an ISV &#8211; but where-ever it&#8217;s from, it&#8217;s another set of variables the depsolvers looks at;</li>
<li>installing your own packages. See above.</li>
</ul>
<p>The package management system doesn&#8217;t have a concept of &#8220;OS&#8221; and &#8220;other stuff&#8221;. Being able to override such a concept would be a feature; not having it is not a feature however.</p>
<p>Now, fans of package management frequently tout the many benefits, and they are indeed multiple. It makes it easy to install new software and be reasonably sure it works (it may need a lot of configuration, though). Splitting stuff up into a thousand different bits makes security updates more straightforward (at least, in theory &#8211; see later). But in general, to conflate all these issues is a bit of a mistake: there are other forms of installation system which provide these benefits as well.</p>
<p>So, what&#8217;s wrong with this? We&#8217;ve already seen that the choice of depsolver can potentially make or break the system, or at least lead to configurations which were not intended by the packagers, but to some extent that could be solved by tightening the specification/package dependencies, so that the &#8220;right choice&#8221; is obvious and algorithm-independent. But, there are other issues.</p>
<p>It&#8217;s difficult to estimate the number of Fedora users, but the <a href="http://fedoraproject.org/wiki/Statistics">statistics wiki page</a> makes a reasonable effort. And looking at that, we can see that about 28 million installs of almost 34 million (that are connecting for software updates) are currently using <em>unsupported releases of Fedora</em>. That&#8217;s over 80% of installs using a release which is no longer supported.</p>
<p>This of course has security implications, because these users are no longer getting security updates. No matter how fancy the package management, these people are all on their own. And unfortunately, the package management tools <a href="http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum">are not much use here</a>: effectively, unless you use the installer in one of its guises, the procedure is difficult and potentially error prone.</p>
<p>You&#8217;re also out of luck with third-party repos: the package manager doesn&#8217;t insulate them from each other, so <a href="http://fedoraproject.org/wiki/Third_party_repositories">mixing is frowned upon</a>. It may work, it may not. You may be able to upgrade, you may not. It may alter core functionality like your video driver, and you might be able to downgrade if it failed, but let&#8217;s hope it didn&#8217;t manually fiddle with things.</p>
<p>In the meantime, we&#8217;re also failing to deal adequately with many types of software. The Firefox update process causes enough problems with the current setup; Google&#8217;s Chromium on the other hand appears to be almost entirely impervious to being packaged in a Fedora-acceptable way. Web applications also don&#8217;t work well; Javascript libraries don&#8217;t fit well/at all into the concept of libraries a la rpm, so there&#8217;s loads of duplication.</p>
<p>There&#8217;s probably an awful lot more that can be written on this topic, and of course package management right now, for the most part, works pretty well. But I worry that it&#8217;s a concept which has pretty much had its day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/09/18/is-package-management-failing-fedora-users/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Speculation on Google&#8217;s &#8220;Dart&#8221;</title>
		<link>http://www.alexhudson.com/2011/09/10/speculation-on-googles-dart/</link>
		<comments>http://www.alexhudson.com/2011/09/10/speculation-on-googles-dart/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 08:45:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[bongo]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=483</guid>
		<description><![CDATA[Just yesterday people jumped on the biographies and abstract for a talk at goto: the Keynote is Google&#8217;s first public information on Dart, a &#8220;structured programming language for the world-wide web&#8221;. Beyond knowing a couple of the engineers involved &#8211; which allows a certain amount of inference to take place &#8211; there&#8217;s also some speculation [...]]]></description>
			<content:encoded><![CDATA[<p>Just yesterday people jumped on the biographies and abstract for a talk at goto: the <a href="http://gotocon.com/aarhus-2011/presentation/Opening%20Keynote:%20Dart,%20a%20new%20programming%20language%20for%20structured%20web%20programming">Keynote is Google&#8217;s first public information on Dart</a>, a &#8220;structured programming language for the world-wide web&#8221;. Beyond knowing a couple of the engineers involved &#8211; which allows a certain amount of inference to take place &#8211; there&#8217;s also some speculation that Dart is what this &#8220;<a href="http://markmail.org/message/uro3jtoitlmq6x7t">Future of Javascript</a>&#8221; email referred to as &#8220;Dash&#8221; (this seems entirely possible: a dash language already exists; Google already used &#8216;Dart&#8217; for an advertising product but have since stopped using that name, potentially to make way for the language).</p>
<p>I thought it would be interesting to have a look at some of the details of this new language. One thing seems quite certain: Google&#8217;s Javascript engine, V8, is going to target this, because it&#8217;s going to target client-side application programming to begin with. V8 is, of course, very popular &#8211; it&#8217;s in Chrome, it&#8217;s in Node.js, it&#8217;s going to be put in Qt. However, it hasn&#8217;t really been a brilliantly standalone project (witness the problems getting Chromium into Fedora, as an example) and the addition of Dart will almost certainly make this worse.</p>
<p>So, what else do we know?</p>
<h3>Compiles to Javascript</h3>
<p>It seems likely that the language will, at least in a proper subset, compile into Javascript &#8211; a lot like Coffeescript does. Personally, I cannot stand Coffeescript for the same reasons I really don&#8217;t like python, but there is some obvious win to this approach: you get backwards compatibility with existing systems and, usually, a method of interacting with existing code and libraries.</p>
<p>I suppose the first question is, how different to Javascript will it be? It will almost certainly be object-oriented, but that need not imply prototypical inheritance &#8211; it could be the Javascript compiler will do some fancy trick with object to make things appear more classical. Coffee does this to a large extent too, and I think we&#8217;ll see a similar approach. I doubt much of Coffee&#8217;s syntax would be copied &#8211; it&#8217;s almost Perl-like in its terseness sometimes &#8211; but I think there will be a similar approach to the object model.</p>
<p>There will be other differences. Javascript is relatively typeless, I suspect Dart will have types of some sort at least optionally. The scoping rules will probably be a bit different as well &#8211; the &#8220;let&#8221; keyword has never caught on wildly, but some level of block scoping (as an example) would be an obvious improvement.</p>
<h3>Not just a language</h3>
<p>I think it&#8217;s relatively clear from the &#8220;Dash&#8221; discussion that this isn&#8217;t just going to be a language: templating and possibly even MVC will be available alongside, some how. I expect to see some interesting things here, actually &#8211; there might not be much impact on the language (although a way of embedding HTML templates might be handled specially) but I think it will be closely aligned to these key tools. The Javascript world has been doing some interesting stuff &#8211; see Backbone.js and Knockout.js as two obvious examples &#8211; but it will be really interesting to see how much &#8220;platform&#8221; is put into Dart.</p>
<p>There is a worry here, of course, that it&#8217;s too restrictive. Knockout is actually a great example: it&#8217;s MVVM architecture, not MVC, and for a lot of jobs I&#8217;ve actually been really, really impressed with it. It&#8217;s simple, straightforward, but most of all productive. It would be a shame if you can&#8217;t do something similar in Dart, but I would bet you can. Binding data onto a web page is so fundamental, so basic, that I really think there will be some interesting stuff there.</p>
<h3>Binary Dart?</h3>
<p>I&#8217;m not really sure about this, but I&#8217;ll chuck it out there anyway: clearly, writing Dart in a text editor is going to be fine. However, I also expect that there would be alternative delivery mechanisms. Right now, people use tools like Closure to &#8220;compile&#8221; Javascript into a more compact representation. Clearly, if you&#8217;re starting with a new language, you could specify a binary format right from the start. This would also sit beside NaCl/Pepper quite nicely, and allow multiple resources to be included into a project without having to have multiple file downloads into the browser.</p>
<p>Google are going to be focussed on deployment of large, highly-interactive apps, I think &#8211; so although the small page enhancement stuff would still be on the table, really I think Dart is going to be about writing GMail and Google Docs. In that context, being able to wrap up everything into a nice deployment package makes a whole heap of sense.</p>
<h3>A month to wait?</h3>
<p>Sadly, I don&#8217;t think we&#8217;re going to know too much more before goto;. I had a look around the V8 source, there aren&#8217;t really many clues in there to what&#8217;s coming. If they&#8217;re offering a compile-to-Javascript option, that might be the only thing released at first &#8211; so Dart would effectively be a standalone compiler only to begin with, growing features to target specific engines later on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/09/10/speculation-on-googles-dart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The quality of Fedora releases</title>
		<link>http://www.alexhudson.com/2011/09/09/the-quality-of-fedora-releases/</link>
		<comments>http://www.alexhudson.com/2011/09/09/the-quality-of-fedora-releases/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 20:19:20 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=480</guid>
		<description><![CDATA[Scott James Remnant blogged his ideas about how to improve the quality of Ubuntu releases recently, triggering some discussion at LWN about the topic. I offered some opinions about Ubuntu which are not terribly interesting because I don&#8217;t get to use it often; however, I did also write about Fedora based on the last couple [...]]]></description>
			<content:encoded><![CDATA[<p>Scott James Remnant <a href="http://netsplit.com/2011/09/08/new-ubuntu-release-process/">blogged his ideas</a> about how to improve the quality of Ubuntu releases recently, triggering some <a href="http://lwn.net/Articles/458233/">discussion at LWN</a> about the topic. I offered some opinions about Ubuntu which are not terribly interesting because I don&#8217;t get to use it often; however, I did also write about Fedora based on the last couple months&#8217; experience of Fedora 15 &amp; 16.</p>
<p>Before I get to that, at roughly the same time, Doug Ledford was posting his thoughts about the &#8220;critical path&#8221; process &#8211; essentially, <a href="http://article.gmane.org/gmane.linux.redhat.fedora.devel/153608">saying it was broken</a>. I&#8217;m pretty sure he will find vociferous agreement with his views, based on previous feedback, but not (alas) from me.</p>
<p>I made a number of claims about Fedora in the LWN comments, that it is essentially unusable for anyone non-expert. I stand by this: if you use Fedora, and care about things continuing to work on an ongoing basis, you have to be entirely au fait with:</p>
<ul>
<li>upgrading your distribution every six months;</li>
<li>rolling back an update (including config) when (not if) things break;</li>
<li>knowing how to distinguish which part of the stack is broken (and oh boy, this isn&#8217;t easy).</li>
</ul>
<p>People complain about Windows &#8220;rotting&#8221; over time and getting slower, and slower. Fedora is worse than this: it works great until you get an update which blows out something critical. At that point it stops working: maybe you stop receiving updates, maybe you can&#8217;t boot it, maybe you can&#8217;t log in. I haven&#8217;t had a release yet, that I can recall, that something crucial wasn&#8217;t broken.</p>
<p>Of course, in Fedora, we have the critpath process, which is supposed to stop this kind of thing. And this is what Doug is complaining about, because the process which puts roadblocks in the way of updates to crucial packages naturally gets in the way of &#8220;fixes&#8221;.</p>
<p>This is where I depart with Doug, I suspect. I have sympathy for his situation, particularly in F16. But the point of critpath is that it does cause pain.</p>
<p>The issue with critpath isn&#8217;t that it gets in the way; it&#8217;s that it highlights release problems. When major issues turn up in critical packages and get through to release, it hurts &#8211; it cannot be fixed quickly. And here&#8217;s my point of disagreement: we shouldn&#8217;t allow more direct fix releases just to avoid the pain, we should address the root cause of the problem &#8211; the release of bad code.</p>
<p><em>(Interlude: as a point of order, it should probably be made clear that the specific issue Doug is facing is a lack of karma on a specific release branch with a package which, although critical, is not necessarily widely used. That&#8217;s an obvious bummer, and I&#8217;m not sure is terribly instructive about the process as a whole because of that).</em></p>
<p>There have been a variety of other solutions proposed. AutoQA is something I have a huge amount of time for, and in particular would help reduce the incidence of obvious brown paper bag bugs. It&#8217;s not a solution itself, though. Equally, there will always be stuff which evades testing &#8211; hardware support in device drivers being an obvious case in point.</p>
<p>I am extremely jealous, though, of the quality Debian achieves, and I say this as a Fedora user. It&#8217;s stable, it&#8217;s easily upgradable from release to release, and generally the use:surprise ratio is reassuringly high. To a large extent, I think they illustrate that the specific processes don&#8217;t really matter a huge amount: what matters is actually getting to a point where maintainers don&#8217;t release bad packages often. And to me, that is the point of critpath: to encourage packages of sufficient quality that the pain is generally avoided. Simply short-cutting the process doesn&#8217;t encourage that; it just encourages more of the same in Fedora.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/09/09/the-quality-of-fedora-releases/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Who can program?</title>
		<link>http://www.alexhudson.com/2011/08/19/who-can-program/</link>
		<comments>http://www.alexhudson.com/2011/08/19/who-can-program/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 16:52:06 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[bongo]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=457</guid>
		<description><![CDATA[Over the past couple of weeks, I&#8217;ve been pondering the above question for a number of different reasons. For people who really study programming, like I attempt to, there are a number of claims/myths/legends/tales that are commonly held about people who cut code for a living, such as: some programmers, the &#8220;alphas&#8221;, are as much [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past couple of weeks, I&#8217;ve been pondering the above question for a number of different reasons. For people who really study programming, like I attempt to, there are a number of claims/myths/legends/tales that are commonly held about people who cut code for a living, such as:</p>
<ol>
<li>some programmers, the &#8220;alphas&#8221;, are as much as ten times more efficient than the common programmer;</li>
<li>there are people who &#8220;get&#8221; computers, and those who don&#8217;t. Cooper splits these into &#8220;humans&#8221; and &#8220;homo logicus&#8221;. Those who don&#8217;t grok computers are destined to never be able to program;</li>
<li>there are people who are paid to cut code, and who simply can&#8217;t &#8211; they rely on auto-complete IDEs, cut&#8217;n'paste library code, etc.;</li>
</ol>
<p>For the purposes of this post, I&#8217;ll separate between these different concepts: the &#8220;goats&#8221; (people who cannot code, at all), the &#8220;sheep&#8221; (people who code, perhaps professionally, but poorly) and the alphas. Sheep and alphas are collectively referred to as coders.</p>
<p><a href="http://www.eis.mdx.ac.uk/research/PhDArea/saeed/">Saeed Dehnadi&#8217;s PhD homepage</a> cropped up recently, on Hacker News I think, and mentions some tests which have had varying degrees of success in differentiating between goats and coders. Somewhat surprisingly, it&#8217;s claimed that it&#8217;s possible to administer tests to people <em>before they have been taught to code</em> and yet still determine whether or not they will be able to code. The tests are disturbingly simplistic, but although they involve (pseudo-)code, they&#8217;re actually designed to determine the mental models people apply to the problem, and in particularly whether people apply a consistent model.</p>
<p>I have to say, I remain a little bit sceptical about all of that. It reminds me of a question a lecturer once asked our class, while working on set theory: &#8220;Why to people refer to &#8216;∀&#8217; as &#8216;upside down A&#8217;, and refer to &#8216;∃&#8217; as &#8216;backwards E&#8217;? They&#8217;re both simply rotated π radians&#8221;. I remember thinking to myself that he obviously had little clue how the human mind approached novelty &#8211; and in particular attempt to label things with a communicable tag. &#8220;`A&#8217; transformed with a π radians rotation about the centre point&#8221; not having quite the same ring about it. But maybe there was a point in there, somewhere, about finding single consistent models that can be re-applied.</p>
<p>It&#8217;s really tempting to think about this in terms of tests. This is, after all, one of the reasons vendor certification programmes came into life: to reassure employers of whatever description that the person they&#8217;re hiring to do a task with a specific product really is able to do what they say they are able to. And it does work, kind of, after a fashion. If what you need is within the narrow scope of the studies of the certification, you can be generally assured that the person does at least know the theory. However, for programming, this is a bit different &#8211; frankly, there is no such thing as &#8220;narrow scope&#8221; when you&#8217;re talking about cutting code. Some people, like Paul Graham, go as far as to say questions like &#8220;how do you pick good programmers if you&#8217;re not a programmer?&#8221; are basically unanswerable (mistake 6 in his classic <a href="http://www.paulgraham.com/startupmistakes.html">list of 18 mistakes that start-ups make</a>).</p>
<p>It&#8217;s also difficult to talk about how you can tell the difference between sheep and alphas (let&#8217;s pretend, for a moment, that there is no spectrum in between there &#8211; that&#8217;s probably not true, but it might be a somewhat valid simplification). How many people read Reg Braithwaite&#8217;s discussion of <a href="http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html">using FizzBuzz during interviews</a> and didn&#8217;t recognise the picture he paints? Let me repeat here his main thesis:</p>
<p style="padding-left: 30px;">&#8220;199 out of 200 applicants for every programming job can’t write code at all. I repeat: <em>they   can’t write any code whatsoever</em>.&#8221;</p>
<p>He refers back to another classic, Joel Spolsky&#8217;s <a href="http://www.joelonsoftware.com/items/2005/01/27.html">thoughts on the hiring process</a> from back in 2005. So, what are all these people doing applying for jobs that they are effectively incapable of doing, and how many of these people actually end up being hired and contributing to the sheep pool? It&#8217;s difficult to know exactly why they are applying, but part of the reason has got to be the modern tools available to programmers: both the editing environments, the IDEs, and the documentation and programming resources available. Some coders will have no idea about the types of tool I&#8217;m talking about, having never used the likes of IntelliSense and visual designers.</p>
<p>Let me give you a clue. Take a long hard look at <a href="http://languageinterfaces.com/">this abomination</a>. Just to be really clear about what&#8217;s going on there, they have a tool which can effectively write code based on semantic guessing &#8211; the words you&#8217;ve written, the types of the variables involved, the context of the code, that kind of thing. This is like a builder using a brick-laying machine to build a house without the need of any intervening thought about such trifles as &#8220;how strong should this wall be?&#8221;, &#8220;am I putting this wall in the right place?&#8221; and even &#8220;what if I need to later put a door in here?&#8221;. Simplifying the coding process is an admirable goal, and in fact has been an ongoing process since we wrote the first assemblers to translate mnemonic instructions into machine code. However, the ideal has always been to raise the level of abstraction to the height at which it makes sense to <em>solve the problem at hand</em>. You don&#8217;t want to write an entire database system in assembler, it&#8217;s not really a high level enough language. But you may want to dip into assembler in specific parts. Sometimes, it will hide the details of what&#8217;s going on underneath from the programmer, and occasionally that will annoy the programmer. In general, you do not what to be writing large pieces of code where you actually have no idea of what&#8217;s going on &#8211; an alpha would never, ever stand for that; a sheep, on the other hand, would.</p>
<p>Jeff Atwood has another collection of thoughts on his 2007 post about <a href="http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html">coders who can&#8217;t code</a>. The conclusion he reaches is relatively natural, based on his references and the above: you ask people to <strong>actually write some code</strong>. Amazingly, surprisingly, gob-smackingly, this still isn&#8217;t happening &#8211; even today. I could name, but won&#8217;t, places which are hiring programmers based on not much else but their claimed experiences. I know people who&#8217;ve been through such processes, and have seen such myself. Do you need to ask a question of each candidate, make them do something original? No, of course not &#8211; you could even simply ask for a sample of code and take it on trust that they wrote it. My experience on the hiring end is that it&#8217;s actually quite easy to tell whether someone wrote a piece of code or not, and the most telling piece of information is not the code itself, but the problem it solves &#8211; seeing the type of code that a candidate thought was appropriate to display actually says an awful lot about their tastes and sensibilities.</p>
<p>If I was doing this again right now, what would I do? Probably about the same as I did last time: ask people who turn up to do some simple tests. It&#8217;s shocking how often people with an otherwise interesting CV just totally bomb even the most simple request, but it&#8217;s nothing much more than a filter. Trying to determine higher-level skills is actually fundamentally more difficult, because the more skill you&#8217;re attempting to detect the more parochial your test necessarily becomes, to the point where you&#8217;re filtering out people who simply don&#8217;t have the exact same background / knowledge set as yourself. Much more important is the capacity to learn and apply problem-solving techniques &#8211; part of me thinks that asking them to write code in a language they&#8217;ve never seen before might be an interesting test, but it would be fantastically difficult to pitch it at the right level.</p>
<p>I&#8217;m going to end with a link to a discussion on StackExchange about <a href="http://programmers.stackexchange.com/questions/95637/how-can-i-tell-in-an-interview-if-a-programmer-is-passionate-about-programming">how to detect a passionate programmer</a>. I&#8217;m not sure I agree with much more than about 50% of it, but there are a lot of ideas in there for predictors of programming expertise. Interestingly, there are even some companies out there who claim to be able to help out in the hiring process to clear out goats and sheep. I have a lot of sympathy for people like Eric Smith who are <a href="http://thelimberlambda.com/2010/02/20/senior-developer-assessment-revisited/">rolling their own tests</a> to attempt to judge skill. I have to say, though: it really shouldn&#8217;t be this hard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/08/19/who-can-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenOffice.org ⇢ Apache</title>
		<link>http://www.alexhudson.com/2011/06/09/openoffice-org-to-apache/</link>
		<comments>http://www.alexhudson.com/2011/06/09/openoffice-org-to-apache/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 08:48:32 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=450</guid>
		<description><![CDATA[Many words have been expended on this situation. I don&#8217;t have an awful lot to add about the project side of things: I think it&#8217;s immensely sad that OpenOffice.org is being forked again (this is much more clearly a fork than LibreOffice was), but fundamentally all actors within the free software world are autonomous and [...]]]></description>
			<content:encoded><![CDATA[<p>Many words have been expended on this situation. I don&#8217;t have an awful lot to add about the project side of things: I think it&#8217;s immensely sad that OpenOffice.org is being forked again (this is much more clearly a fork than LibreOffice was), but fundamentally all actors within the free software world are autonomous and have free will. Such is life.</p>
<p><em>(this is a deeply opinionated blog post. feel free to skip it, take it with a grain of salt, whatever.)</em></p>
<p>A lot of people are talking about this as <a href="http://intertwingly.net/blog/2011/06/01/Apache-OpenOffice#c1307106070">mainly a license issue</a>, with <a href="http://communityovercode.com/2011/06/apache-office/">one commentator spelling it out</a>: &#8220;It will be interesting to see, after the first wild set of commentary  flies, which project – and which license – that various developers and  corporations alike choose to actively support&#8221; (the juxtaposition of the opinion and the title of the blog is especially delicious). After all, it&#8217;s easy to see this as a license show-down: given the same code base, and two different licensing strategies, which will succeed? Sadly, it&#8217;s not really a race LibreOffice can &#8220;win&#8221;: if that project is more successful, well, they had a head-start, didn&#8217;t they.</p>
<p>I don&#8217;t think much of this is really relevant. I&#8217;m not sure IBM care too much about who develops the code, and I don&#8217;t think an LGPL&#8217;d code base would fundamentally stop them from shipping a proprietary product if that is what they wanted to do (it makes it harder, of course). I actually think this is all about OpenDocument Format, which is a subject virtually no-one has raised.</p>
<p>If you look at the OASIS TC, you can see it&#8217;s <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office">pretty obviously dominated</a> by Oracle (was: Sun) and IBM. There are a few representatives of various other companies and open-source projects, but fundamentally this is a closed shop with a pay-to-play rule which means you have to pony up to join. The v1.2 spec &#8211; which has been used by OpenOffice.org since 2008 &#8211; has only just managed to crawl out as a committee specification, <a href="http://lists.oasis-open.org/archives/office/200802/msg00025.html">incredibly late</a>. What this means for OpenDocument v1.2 documents as read/written by OpenOffice.org 3.0, who knows. But with Oracle fading into the sunset (sorry), large chunks like OpenFormula finally done, maybe v1.3 will actually show up on time.</p>
<p>So here&#8217;s where this really matters. ODF is nothing if not a stick with which to beat <em>that other vendor</em>. And having a large say in ODF is not really anything unless you have implementations around, and until now, OpenOffice.org has not only been a leading ODF implementation, but effectively the reference implementation of ODF. This is what IBM really want control of: this is why they&#8217;re so involved in the TC, and this is the reason for the sudden outburst of passion for OpenOffice.org (all in my opinion, obviously). They almost cannot allow LibreOffice to obtain the de facto mantle of &#8220;reference implementation&#8221;: ODF as a standard is supposed to follow implementation, and obviously IBM (and most of the rest of the TC, for that matter) have no skin in the LO game. Worse, I don&#8217;t think they want LO adding and changing features  in ways which necessarily touch ODF: imagine if it had been LO only who had released ODF1.2 support in 2008. This is a very real risk &#8211; there are still critical features missing from ODF (want CMYK support do you?!) and control of the TC alone means precious little without the reference implementation.</p>
<p>Is this going to be a bad thing overall? My suspicion is that this isn&#8217;t going to be a terribly short-lived fork; I think IBM&#8217;s decision to move OpenOffice.org to Apache (well, Oracle&#8217;s, but we know whose advice they were following) is going to have a long term impact. It&#8217;s already pretty easy to see how the divisiveness has taken hold:</p>
<ul>
<li>the AOOo project has recently discovered that OpenOffice.org used to solicit donations, and <a href="http://mail-archives.apache.org/mod_mbox/incubator-general/201106.mbox/%3C14FE6BA0-FF8A-4AD0-BFD7-457FE440D44F@jaguNET.com%3E">don&#8217;t sound amazingly thrilled</a> about how it was set up. It&#8217;s quite intriguing to watch people like Rob Weir claim that the community has moved to Apache, when the people at Apache seem to have little idea about how OOo operated, where money came from, who spent it, etc. It&#8217;s a sad day when bystanders to your project (such as myself) appear to know more than the project leaders. (If someone on the Apache list could also let them know that the SPI holds c. $20k on their behalf, that might be a good idea &#8211; they don&#8217;t seem to have figured that at the time of writing). Anyway, the likelihood of you bring able to donate to one non-profit which supports both projects (as you can right now) seems to be diminishing fast.</li>
<li>there&#8217;s been a lot of talk about AOOo code somehow making its way into LO. I strongly suspect this isn&#8217;t going to happen that much either: I think these projects are going to diverge must faster than people realise. LO has already moved ahead and dumped a lot of old code; by the time AOOo actually gets off the ground this will be even more so. When AOOo arrives, what core features is it going to get early on? I imagine IBM will make various &#8220;donations&#8221; &#8211; they&#8217;ve already talked about accessibility, pivot tables, file format stuff. Some of that may get pulled in, other bits (like pivot tables) is probably going to be too different. After that&#8230; I think there will be some work to integrate AOOo with other Apache projects, like POI, and Apache people are quite happy using Java. I don&#8217;t think LibreOffice will want much/any of that. It&#8217;s going to take non-IBM AOOo hackers time to get up to speed enough with the core to make interesting changes, LO will be years down the road at that point.</li>
</ul>
<p>There&#8217;s enough momentum behind AOOo that means it&#8217;s not going away any time soon. I rather suspect there isn&#8217;t enough momentum to reach &#8220;IBM escape velocity&#8221;, and sans some rather large contributions that LO is unwilling to take (which is quite possible &#8211; even for potentially desirable stuff like the Symphony UI changes) it&#8217;s difficult to see the project making the same strides LO has. More likely, there will be various &#8220;quick wins&#8221; early in the project but not much else.</p>
<p>It would be interesting to see someone write a full history of StarOffice from the very beginning. It has always been a project full of potential, and one particularly important to the Linux desktop even though its main userbase is on Windows, but it&#8217;s also a particularly political project in terms of what it attempts to achieve. As such it has been turned into something of a football.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/06/09/openoffice-org-to-apache/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Developing a &#8220;Fedora Welcome SIG&#8221;</title>
		<link>http://www.alexhudson.com/2011/05/24/developing-a-fedora-welcome-sig/</link>
		<comments>http://www.alexhudson.com/2011/05/24/developing-a-fedora-welcome-sig/#comments</comments>
		<pubDate>Tue, 24 May 2011 09:01:29 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=442</guid>
		<description><![CDATA[This is a follow-up post to my previous one. I was really pleased with the feedback on my idea for Fedora Greeters, from both established Fedora community members and not. Equally, I got feedback offline as well &#8211; and I should make it clear right now that I&#8217;m more than happy to receive such communication; [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a follow-up post to my <a href="http://www.alexhudson.com/2011/05/21/fedora-greeters/">previous one.</a></em></p>
<p>I was really pleased with the feedback on my idea for Fedora Greeters, from both established Fedora community members and not. Equally, I got feedback offline as well &#8211; and I should make it clear right now that I&#8217;m more than happy to receive such communication; the amount of trepidation shown by some I think just highlights some of the problems.</p>
<p>One thing which is really interesting is that much of the feedback wasn&#8217;t of the form, &#8220;Yeah, I agree, [this thing] sucks and really needs to be improved&#8221;. People decided to give me, instead, their own story &#8211; you can see a couple of them in the comments of my blog. Of course, these are just anecdotes and must be treated carefully, but I thought it was extremely interesting that people approached the issue in a manner more like, &#8220;Well, this was my experience..&#8221;</p>
<p>This has convinced me that a SIG in this area is, at the very least, worth of some investigation and work. So, I&#8217;ve <a title="Fedora Welcome SIG" href="https://fedoraproject.org/wiki/Welcome_SIG">started a wiki page</a> properly for this, and set up an IRC channel at #fedora-welcome. I need to migrate the previous stuff I wrote, but I&#8217;ll get on that today. What I would love is for those who expressed interest in this work to contribute their ideas and experiences.</p>
<p>I think what&#8217;s particularly important is to work on actual problems first: what are the things which new users find tough? Seasoned members of the Fedora community, which I kind of count myself in, are probably those that would find this the most difficult to comprehend, simply because we&#8217;re furthest away from the experience of the problem.</p>
<p>Some of these problems are undoubtedly technical: I&#8217;ve seen a number of people totally fail to setup dual-boot systems (either with Windows or just another distro) a number of times, and it&#8217;s one of those things that is actually tough for a new user to fix once it has gone wrong. Sadly, though, it&#8217;s going to be really tough to talk about some of these things with any kind of data, though: at least initially, I suspect the SIG is going to have to work anecdotally because we really don&#8217;t have the information about what goes wrong for people (either technically, socially, or otherwise).</p>
<p>Part of me also wonders if part of being a welcoming community is having the ability and the resources to say goodbye to people: or, at least, see you soon. What data the community has right now &#8211; via smolt, package updates, that kind of thing &#8211; is about how people use Fedora right now. We have very little information about why people <strong>don&#8217;t</strong> use Fedora after trying it &#8211; what made them leave? What went wrong? This information is all key to a Welcome SIG, though, because really there are two classes of users we need to address:</p>
<ol>
<li>those who came into the community, struggled, but stayed with it;</li>
<li>those who came into the community, struggled, and left.</li>
</ol>
<p>I actually think those distinctions are as important, if not more important, than whether or not someone was a power-user on another O/S or a complete IT newcomer. While the Welcome SIG absolutely needs to address the needs of those in category 1), I think for it to be <em>truly successful</em> we have to address the group in category 2) &#8211; either bringing them back, or helping prevent them leaving in the first place.</p>
<p>One last thought. A couple of people asked about whether we were trying to help people who might be users, or those who might also contribute. But one commenter on my previous post, Dave S, said: &#8220;Any tool that eases the trip through the learning curve nightmare helps transform a newb into an evangelist&#8221;. I think that actually spells out the motivation in one simple, powerful statement: this SIG isn&#8217;t about getting people into Fedora and making it easier for them to use. It&#8217;s about turning that first impression into a positive experience, and have the people who come into contact with Fedora take away nothing but enthusiasm and good vibes. Even if Fedora isn&#8217;t for them, let&#8217;s make them feel positive enough that they can still recommend it to friends. And I think that&#8217;s quite a high bar to set.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/05/24/developing-a-fedora-welcome-sig/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Fedora Greeters</title>
		<link>http://www.alexhudson.com/2011/05/21/fedora-greeters/</link>
		<comments>http://www.alexhudson.com/2011/05/21/fedora-greeters/#comments</comments>
		<pubDate>Sat, 21 May 2011 11:37:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=438</guid>
		<description><![CDATA[I&#8217;ve been watching the Ubuntu &#8220;power users&#8221; group set up with enormous interest. Although Ubuntu has aimed squarely at being easy to use, I&#8217;ve never seen it as being particularly unfriendly toward power users, and the idea of needing a specific area in which people can talk about power user issues seems somewhat odd. However [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been watching the Ubuntu &#8220;power users&#8221; group set up with enormous interest. Although Ubuntu has aimed squarely at being easy to use, I&#8217;ve never seen it as being particularly unfriendly toward power users, and the idea of needing a specific area in which people can talk about power user issues seems somewhat odd. However &#8211; judging from the activity, it seems to have hit a real nerve. Whether or not it is a good idea in the long term remains to be seen: I&#8217;m firmly of the opinion that splitting communities into factions is a bad idea, so how they will overcome that in time will be a challenge, but clearly it&#8217;s meeting a real need.</p>
<p>Fedora, on the other hand, hasn&#8217;t really ever had much of an issue catering to &#8220;power users&#8221;. While the standard Fedora install is incredibly easy to use, for the most part people using it have a reasonable idea of what they&#8217;re doing. But it got me to thinking, is there a gap in the Fedora community, in the same way as there apparently was one in the Ubuntu?</p>
<p>Let me ask a simple question. If you are a new user to Fedora, are the resources helpful and is the community a welcoming place? (by &#8220;new user&#8221;, I refer only to experience of Fedora, not computing experience more generally). Allow me to chuck out a few selectively-chosen &#8220;facts&#8221; (yes, this is biased, etc.):</p>
<ul>
<li>the Fedora FAQ, while being high-quality, doesn&#8217;t have many metrics on frequency. It&#8217;s the number one resource listed on the &#8220;<a href="http://fedoraproject.org/en/get-help">Get Hel</a>p&#8221;page, and is undoubtedly a useful resource, but covers a range of different use cases and user types. I don&#8217;t think one of the frequent questions a new user &#8220;getting help&#8221; would have would be &#8220;When is the next release?&#8221;, which apparently makes the top 5.</li>
<li>the link to the Docs project is also a link to high-quality information. But you get a lot of information all in one go, and the navigation isn&#8217;t amazing &#8211; for Fedora 14, the &#8220;Power Management guide&#8221; and &#8220;Musicians guide&#8221; have equal billing with the install and user guides.</li>
<li>the links to online resources are numerous. Hit the Forums button, you&#8217;re given a choice of three different fora to start with, none of them &#8220;official&#8221;, and one labelled &#8220;Fedora&#8221; is really tough to navigate (and I say this as a supporter of online forums). We&#8217;re also offered IRC, which starts with a warning that you might be banned if your identd isn&#8217;t setup right (wtf) and you can&#8217;t get in until you learn IRC and register, and then a list of some probably 50 different IRC rooms. Most would pick the first on the list, #fedora &#8211; my experience there yesterday was one of name-calling and abuse as much as help. And then you have mailing lists. Again registration, again the Heinz 57 varieties.</li>
<li>No knowledge base, troubleshooter or other self-help mechanism people might be used to.</li>
</ul>
<p>I offer the above not as criticism of the various resources: everything can be improved. But, as they say, you only get to make your first impression once. Many of the resources are truly <em>excellent</em>, but excel mostly for existing/experienced users. So, I would make the claim that for someone who is new to Fedora, the situation isn&#8217;t great &#8211; in fact, I suspect for many, it is entirely off-putting and unreliable.</p>
<p>I think Fedora, as a community, needs to do something in this regard, and currently I don&#8217;t see anything. We have some great SIGs &#8211; marketing and ambassadors in particular &#8211; who do wonderful work promoting and explaining Fedora to the wider world. But there is no group currently working toward a cohesive, designed experience for new users coming to Fedora.</p>
<p>I&#8217;d like to suggest, then, that a Fedora Greeters SIG be set up. Please take this blog post as a request for comments: I&#8217;d like to know whether or not other people think this is needed, and if so, whether or not they&#8217;d be willing to help contribute &#8211; as part of their role in an existing SIG or specifically for this.</p>
<p>The over-arching goal would be to make Fedora a more welcoming community for those arriving, whether from Windows, other distros, or new to IT in general, but more specifically to present the wider Fedora project and community in a manageable and more easily understood fashion. Specific goals, though, could include:</p>
<ul>
<li>developing &#8220;conversion&#8221; guides for people knowledgeable about other systems, allowing them to transfer their knowledge into Fedora and understand our system. Other systems have their own jargon, and Fedora certainly has plenty of its own too &#8211; sometimes just knowing what the words mean is a barrier in itself.</li>
<li>creating new support resources, or working with existing SIGs on their resources, to specifically address the needs of new users and their support requirements.</li>
<li>providing more interactive &#8220;signpost help&#8221; &#8211; Fedora has many great resources that simply go unused because people don&#8217;t know they&#8217;re there.</li>
</ul>
<p>The great thing about this is that honestly, there&#8217;s not an awful lot to do in many areas: a lot of the resources needed are already there! But there&#8217;s no co-ordination in many respects. I also think this is going to become increasingly important over the next few months and years: Fedora now has a track record of some extremely stable releases, and with other notable distributions deciding to develop a vision of the desktop which is on a trajectory away from the GNOME community the need for Fedora to be open and welcoming is more important now than ever.</p>
<p><strong>Update:</strong> I&#8217;ve started a <a href="https://fedoraproject.org/wiki/User:Alexh/Welcome_SIG">wiki page about this</a>, to develop the ideas more fully in a more appropriate place than my blog <img src='http://www.alexhudson.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/05/21/fedora-greeters/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Drag Me to Shell, p2.</title>
		<link>http://www.alexhudson.com/2011/04/09/drag-me-to-shell-p2/</link>
		<comments>http://www.alexhudson.com/2011/04/09/drag-me-to-shell-p2/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 13:03:48 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[bongo]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=435</guid>
		<description><![CDATA[(this is part 2; you may want to read part 1 before reading this) I said last time I would go into the file maangement side of GNOME 3 a bit more, and I think I would be right in saying that there are a number of people who think this is probably one of [...]]]></description>
			<content:encoded><![CDATA[<p>(this is part 2; <a title="Drag Me to Shell, p1." href="http://www.alexhudson.com/2011/04/06/drag-me-to-shell-p1/">you may want to read part 1</a> before reading this)</p>
<p>I said last time I would go into the file maangement side of GNOME 3 a bit more, and I think I would be right in saying that there are a number of people who think this is probably one of the weakest aspects of the release.</p>
<p>The first thing to say is, I vaguely surprised myself by the lack of problem in this area. If you read various reviews, the changes in accessibility to file management and the lack of desktop icons are quite often brought up as serious issues, and as a relatively heavy user of the desktop file space I imagined that this would be the thing which would hurt the most.</p>
<p>Turns out, it didn&#8217;t. And I don&#8217;t think I&#8217;m praising GNOME 3 here: thinking about it, what I&#8217;m actually doing is saying GNOME 2 was an awful lot less good at this than I remember. So, sure I did use the desktop file space, it because a dumping ground for current work and I would move stuff in and out of that area because it was handy to be able to jump into files that way rather than have to go navigating for them. But it turns out, I didn&#8217;t really use that as much as I thought &#8211; what I actually do is I go into applications and either use the recent lists within applications, or I go wandering from their open dialog. That, and I open up terminals and find directories manually, and then run software like geany directly from that terminal.</p>
<p>So, what I&#8217;m really saying is yes, it is sucky &#8211; but no, the suckiness isn&#8217;t actually that much worse than it was. Nautilus the file manager itself has not really changed that much, it&#8217;s a bit more streamlined, and it&#8217;s mainly useful for burning CDs for me. And general bits of file area cleanup, and mounting remote file systems, and that&#8217;s really about it. There&#8217;s nothing in GNOME 3 that really helps me manage this stuff properly, but this doesn&#8217;t seem to be much of an step backwards.</p>
<p>I&#8217;m not sure how this is going to get resolved going forwards &#8211; it clearly does need to change for the better &#8211; but what is extremely reassuring is the little peek into the design process on the GNOME wiki. On the whiteboard space is a little page about <a href="https://live.gnome.org/GnomeShell/Design/Whiteboards/FindingAndReminding">finding and reminding</a>, which covers many of the problems I&#8217;ve talked about here. I&#8217;ve no idea if that&#8217;s the direction it will actually go in, but what is nice is seeing design decisions being taken in the context of actual research findings of people who&#8217;ve studied this area properly. I&#8217;m sure there are plenty of kick-ass designers who can come up with nice flows for this kind of thing, but call me old-fashioned: nothing beats a proper study with some real data and genuine findings.</p>
<p>This is a bit short and sweet. The next post I make is going to be a little bit more on the technical side, looking at the Javascript underpinnings of the system. This is extremely interesting to me: I&#8217;m a power user, and I love being able to open stuff up, tinker with it and customise it. GNOME 3 promises more toys in this regard than ever before, and my initial dabblings with GJS and the various libraries in the GNOME stack make me think that there is so much more possible in this area. There is a heck of a lot of power in the current GNOME stack, and although some people have written 3 off as a &#8220;newbie&#8217;s desktop&#8221; I think they do so at their own peril: they literally don&#8217;t know what they&#8217;re missing. Of course, it&#8217;s not all great &#8211; the documentation for the Javascript APIs is almost totally absent right now &#8211; but the potential is incredible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/04/09/drag-me-to-shell-p2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drag Me to Shell, p1.</title>
		<link>http://www.alexhudson.com/2011/04/06/drag-me-to-shell-p1/</link>
		<comments>http://www.alexhudson.com/2011/04/06/drag-me-to-shell-p1/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 13:13:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[bongo]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>
		<category><![CDATA[dragmetoshell]]></category>
		<category><![CDATA[gnome shell]]></category>
		<category><![CDATA[gnome3]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=423</guid>
		<description><![CDATA[This is part one of what will be a multipart blog series: how tremendously exciting, eh?! In all seriousness, with GNOME 3 imminent, I thought rather than do a review of the desktop it would be much more interesting to talk about it from the perspective of a relatively hardened Linux enthusiast actually using it [...]]]></description>
			<content:encoded><![CDATA[<p>This is part one of what will be a multipart blog series: how tremendously exciting, eh?! In all seriousness, with GNOME 3 imminent, I thought rather than do a review of the desktop it would be much more interesting to talk about it from the perspective of a relatively hardened Linux enthusiast actually using it within a business environment.</p>
<p>First up, disclosures: I&#8217;m an extremely happy GNOME 2 user. I have a copy of Fedora 12 on my Eeepc 901 netbook, with what is now a relatively ancient version of gnome-shell on it, but to be honest the shell is little more than an interface for launching Firefox on that machine. Other than that, I&#8217;ve not really used GNOME 3 / gnome-shell in more than passing. I called this post &#8220;Drag me to shell&#8221; quite deliberately: honestly, I&#8217;m  happy with GNOME 2. But, I&#8217;m somewhat forcibly trying to move myself to  GNOME 3 full time. (Yes, I have seen these various KDEs and Unitys an other desktops. No, I&#8217;m not interested, and this isn&#8217;t meant to be taken as some kind of comparative to other systems. Also, I&#8217;m running this on what is to become Fedora 15, which has changed like wind blowing sand recently, so there&#8217;s stuff in here that may well change before the final GNOME 3).</p>
<p>When you log into a desktop for the first time, when it&#8217;s freshly installed, it kind of has this blank newness look to it. It&#8217;s a lot like new car smell, and it doesn&#8217;t tend to last very long as you install stuff, reconfigure the theme, stick files on the desktop and all that &#8211; very soon, it&#8217;s looking a bit worse for wear and you have to start tidying up things again. Now, initially, getting into GNOME 3 felt quite restrictive: there&#8217;s a few things which aren&#8217;t there, there are limited controls on how the desktop feels. But, a few days in, I&#8217;m already beginning to appreciate this &#8211; like a self-cleaning oven, that new car smell hasn&#8217;t yet gone away. It will be interesting to see if it does.</p>
<p>Of course, I have already installed a lot of my business apps. I need Firefox, Evolution and LibreOffice like most knowledge workers, and to be honest things really aren&#8217;t much different here. Firefox 4 is an awesome upgrade to 3, and although there isn&#8217;t much in the way of genuine GNOME integration, this is all meat and potatoes stuff. However, I also do a lot of development &#8211; both web development and &#8220;real&#8221; software &#8211; and it&#8217;s relatively crucial to me that these other things work well. I&#8217;m a keen user of MySQL Workbench for administration and schema design, and I tend to edit my code in either Geany or vim depending on the project.</p>
<p>Thankfully, the workflow with these apps hasn&#8217;t really changed much. Like many &#8220;enterprise&#8221; apps, Workbench presents a tabbed MDI interface with only a single window: it doesn&#8217;t really take advantage of any of the new stuff in the shell, but it doesn&#8217;t come a cropper much either. The only slight oddity is that the interface now sprouts entirely out of a &#8220;Home&#8221; tab in the most peculiar fashion:</p>
<p><a href="http://www.alexhudson.com/wp-content/uploads/2011/04/mysql-workbench-gnome3.png"><img class="aligncenter size-full wp-image-431" title="mysql-workbench-gnome3" src="http://www.alexhudson.com/wp-content/uploads/2011/04/mysql-workbench-gnome3.png" alt="" width="321" height="246" /></a></p>
<p>I don&#8217;t think this is a GNOME 3 thing, it seems to be something that Workbench as acquired all on its own. Very odd, but hardly a huge issue in practice  &#8211; I just end up with an awful lot of grey space on the toolbar.</p>
<p>So that&#8217;s normal apps which tend to run as single windows. However, for apps that have multiple windows, I think things have improved tremendously in GNOME 3. I&#8217;ll walk through one example &#8211; using the GIMP for graphical editing &#8211; the terminal/command line being an obvious one.</p>
<p>Now, right off the bat, there are some nice touches in GNOME 3 that either weren&#8217;t in earlier versions or I just didn&#8217;t notice them. One thing I really appreciated was the hook up between the local MIME database and the remote list of applications available. I&#8217;d logged into my fresh install, but hadn&#8217;t yet put the GIMP on &#8211; so when I asked it to open a picture, it didn&#8217;t have that in the options though. But look what I could do from there:</p>
<p><a href="http://www.alexhudson.com/wp-content/uploads/2011/04/installing-apps.png"><img class="aligncenter size-large wp-image-430" title="installing-apps" src="http://www.alexhudson.com/wp-content/uploads/2011/04/installing-apps.png" alt="" width="640" height="332" /></a></p>
<p>The window on the left is what I got &#8211; the &#8220;which application should I open?&#8221; &#8211; but then, at the bottom, as well as showing me other apps I have available on my system, there&#8217;s also the &#8220;Find applications online&#8221; button. Click on that, and I get this new list on the right. Granted, it&#8217;s not amazingly pretty, but it basically just gave me a list of applications which fiddle with images, and right in the middle there was GIMP. Click, click, done. Excellent: I didn&#8217;t have to go all the way into add/remove applications and do a search there and come back, the workflow was really smooth.</p>
<p>And once you get into the GIMP things have improved again. GIMP is an MDI application as well, but gives you multiple windows, not tabs. You have a toolbar window, another window for layers, and then a window each for every image you have open. With other window managers, I have to say sometimes it was a bit of a pain to navigate around these windows using either the mouse or the keyboard.</p>
<p>So here&#8217;s where it starts getting good. Whether by chance or design, the toolbar opens up stuck to the top-left corner, and the layers window stuck top-right. The picture opens up in the middle. This is a really great, sensible default. But then, as you open up further windows (copying image parts between different buffers is a really common workflow for me), the new Alt-Tab switcher really starts to come into its own.</p>
<p>Sadly, I can&#8217;t seem to screenshot this (having to hold down Alt interferes I suppose), but as well as the application icon coming up in the switcher, the two windows appear beneath. I can click on them with the mouse if I want, or &#8211; even better &#8211; I can use the brand new (to me?) Alt-` combo (the key above tab) to cycle through the application windows. Note, it doesn&#8217;t cycle to toolbar or layers &#8211; just the actual windows I&#8217;m operating in, the images. I cannot sufficiently describe how cool Alt-` is and how it&#8217;s already becoming part of my muscle memory.</p>
<p>I have a feeling the window management stuff is going to be a little bit make-or-break for some people. I use workspaces <strong>a lot</strong>, and it&#8217;s crucial to me that they work well. Because of this, having to Alt-Up or Alt-Down to switch feels somewhat unnatural &#8211; I don&#8217;t know why, but the landscape of left-to-right just makes more sense. Now, I don&#8217;t yet have a dual monitor setup, and I have to say that as a power user I would imagine it would make more sense to spin workspaces up and down like a slot machine if I had screens side-by-side. But, right now, this does jar a bit.</p>
<p>Next post, I&#8217;m going to go into file management. Right now, I have a lot of problems in this area: as an obvious example I used the &#8220;Desktop&#8221; folder as a project space. I have scripts which would move files on and off the desktop while I was working on them. Now, Desktop as a folder still exists &#8211; but, it just doesn&#8217;t mean anything any more, and Nautilus basically prefers to be in the home directory. Accessing files through the GUI is now much more of a pain. However, I&#8217;m going to work on this and see how I feel after a week &#8211; maybe there are things I&#8217;m missing, maybe there will be new ways of doing things, maybe right now it just is that bad. Tune in for part 2 if you care.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/04/06/drag-me-to-shell-p1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fedora 15 &amp; Gnome leadership</title>
		<link>http://www.alexhudson.com/2011/03/12/fedora-15-gnome-leadership/</link>
		<comments>http://www.alexhudson.com/2011/03/12/fedora-15-gnome-leadership/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 10:49:37 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[bongo]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freesoftware]]></category>

		<guid isPermaLink="false">http://www.alexhudson.com/?p=413</guid>
		<description><![CDATA[It has been an incredibly interesting week in free desktop-land, in that kind of &#8220;interesting like a soap opera&#8221; kind of way. I guess it&#8217;s not news that different participants have different recollections of the same series of events, but it is a bit sad to see it writ so large on a public stage. [...]]]></description>
			<content:encoded><![CDATA[<p>It has been an incredibly interesting week in free desktop-land, in that kind of &#8220;interesting like a soap opera&#8221; kind of way. I guess it&#8217;s not news that different participants have different recollections of the same series of events, but it is a bit sad to see it writ so large on a public stage.</p>
<p>Timing-wise, it&#8217;s quite co-incidental, but it&#8217;s enlightening (I think) to read Mark Shuttleworth&#8217;s latest &#8220;<a href="http://www.markshuttleworth.com/archives/654">Internal competition is healthy, but depends on strong and mature leadership</a>&#8221; alongside Mark Wilcox&#8217;s &#8220;<a href="http://mobilesoftware.tumblr.com/post/3565611897/what-happened-to-nokia">What happened to Nokia?</a>&#8221; of a month ago. I&#8217;m quite clearly going to side with latter-Mark on this one: internal competition is generally not healthy; in fact, in my experience, it can be of the most damaging things you can do to a group of people. That&#8217;s not to say that it&#8217;s always a bad thing &#8211; to a large extent, it works for the Linux kernel (who I think are a special case in this regard)  &#8211;  but in a community telling someone their contribution isn&#8217;t wanted is a hurtful thing. You can see the hurt if you read what Mark S. is saying, it&#8217;s both implicit and explicit. Internal competition isn&#8217;t a solution to this, though, of course &#8211; it&#8217;s the equivalent of taking the disagreement outside and settling it mano-a-mano, swapping one hurt for another. It&#8217;s a red meat solution, a particularly macho form of solving problems.</p>
<p>For me, from the outside, Gnome 3 has been an example of a particularly successful collaborative project. If you go to gnome3.org and &#8220;Try it out&#8221;, you&#8217;re not downloading a copy of Red Hat / Fedora there &#8211; it&#8217;s OpenSuse underneath, built on their rather wonderful Open Build Service. All of the design has gone on in public (Hylke&#8217;s <a href="http://www.bomahy.nl/hylke/blog/96/">list of designers</a> was interesting), and as a long-term gnome-shell user (I&#8217;ve been using it regularly since Fedora 12 on my Netbook) it&#8217;s easy for me to appreciate just how much work has really gone into this system.</p>
<p>Of course, Gnome 3 is not going to be for everyone. That&#8217;s ok, there&#8217;s KDE (and others). This is another example of where competition isn&#8217;t really: sure, you can run the same apps in both desktop environments, but generally users of one are not going to be immensely happy in the other environment (particularly power users). They don&#8217;t compete head-to-head in that sense. In the same sense, I think that&#8217;s the same thing that happens with distros. Yes, Fedora 15 will almost certainly lose some users because of the default setup. The inclusion of Gnome 3 will irk some, the inclusion of systemd will irk others, and to a large extent it was always thus (pulseaudio, networkmanager, etc.). Again, there are other distros, the Debians, OpenSuses, and even Ubuntus of this world, and to a great extent they really don&#8217;t directly compete with each other. Sure, some people move from one to another like they&#8217;re changing underwear. I think this is why Fedora can afford to be an adventurous distro, why Debian can&#8217;t really afford to put out bad releases, etc. &#8211; each to their own.</p>
<p>So, how much competition is too much? Where does the line lay? I don&#8217;t think it&#8217;s easy to tell. What is clear is that the amount of drama on this issue way, way exceeds the amount it deserves. Owen Taylor has said that including &#8220;appindicators&#8221; in gnome-shell is <a href="http://blog.fishsoup.net/2011/03/11/what-does-the-user-see/#comment-2329">still on the table</a> &#8211; so in that sense, there is a bit of a fuss about nothing (of course it&#8217;s arguable, and hypothetical, that his opinion has changed on this subject).</p>
<p>What is really needed, though, is a much clearer vision of where the desktop ought to be going. Mark S. has said that the Gnome 3 &#8220;trajectory&#8221; is wrong and has already failed. So where should it go? Where is Unity trying to go? Mark S. has already given up on Gnome, but talks about having Unity and KDE co-ordinate closely via freedesktop.org.</p>
<p>I think what is sad about this is the focus on the differences by the participants. Looking from the outside, gnome-shell and Unity are incredibly similar, and have been since release. Anyone looking at screenshots can see that; they obviously have the same influences. The Unity 2D system is even implemented in QML, which is another variant of Javascript just like gnome-shell&#8217;s gjs underpinnings. I find it difficult to believe that one could not be modified without a lot of work to look/behave much like the other. This isn&#8217;t a technical dispute.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexhudson.com/2011/03/12/fedora-15-gnome-leadership/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

