<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>The Sources Mouth</title>
 <subtitle>A weblog by Rick Moynihan</subtitle>

 <link type="application/atom+xml" rel="self" href="http://sourcesmouth.co.uk/blog/atom.xml"/>
 <link type="text/html" rel="alternate" href="http://sourcesmouth.co.uk/blog/"/>
 <updated>2011-09-22T00:20:27+01:00</updated>
 <id>http://sourcesmouth.co.uk/blog/</id>
 <author>
   <name>Rick Moynihan</name>
   <email>rick@sourcesmouth.co.uk</email>
 </author>

 
 <entry>
   <title>Querying the future</title>
   <link href="http://sourcesmouth.co.uk/blog//blog/2011/04/05/querying-the-future.html"/>
   <updated>2011-04-05T00:00:00+01:00</updated>
   <id>http://sourcesmouth.co.uk/blog//blog/2011/04/05/querying-the-future</id>
   <content type="html">&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;sec-1&quot;&gt;&lt;a href=&quot;/blog/2011/04/05/querying-the-future.html&quot;&gt;Querying the future&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt;

&lt;p&gt;   &lt;span class=&quot;timestamp-wrapper&quot;&gt;&lt;span class=&quot;timestamp-kwd&quot;&gt;CLOSED: &lt;/span&gt; &lt;span class=&quot;timestamp&quot;&gt;2011-04-06 Wed 01:05&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
Since learning &lt;a href=&quot;http://clojure.org/&quot;&gt;Clojure&lt;/a&gt; I've long felt there was a connection between
&lt;a href=&quot;http://clojure.org/sequences&quot;&gt;lazy sequences&lt;/a&gt; and event streams.  After all, streams and
lazy-sequences are both sources of un-realised values.  Well,
unsurprisingly it turns out that many people have had these thoughts
too; and have spent significantly more time than me in rationalising
their differences.
&lt;/p&gt;
&lt;p&gt;
One such framework built on the formal rationalisation of these
differences is a .Net framework called &lt;a href=&quot;http://blogs.msdn.com/b/rxteam/&quot;&gt;Rx&lt;/a&gt;, or the Reactive eXtensions.
It's fascinating on many levels from its strong foundations as the
mathematical dual of Enumerables, to its foundations in Functional
Programming and Monadic Types.
&lt;/p&gt;
&lt;p&gt;
The primary difference between either a lazy-sequence and a stream is
that sequences pull their values; for example when you walk a database
result-set you are continually asking the database driver for the next
value for your query; the thread of control here lies with you.  With
stream processing however, the opposite is true; the control lies
elsewhere and data gets pushed to you, with the arrival of new data
typically calling a handler function or callback.
&lt;/p&gt;
&lt;blockquote&gt;

&lt;p&gt;&quot;There is a becoming of continuity, not a continuity of becoming.&quot;
                                         &amp;ndash; Alfred North Whitehead
&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;
The primitives of the Rx world are Events, objects or values occuring
at discrete points on a timeline or stream.  In and of themselves
neither the events nor the stream have a measure, i.e. events are
atomic and occur as blips (with no length) on a stream with no concept
of distance between events.  The only notion of time at this level is
the sequence of one event 'happening before' another.
&lt;/p&gt;
&lt;p&gt;
This is not to say that a measured notion of time cannot be modelled,
through either storing timestamp metadata inside the events themselves
or composing a stream of clock tick events paired with events.  Indeed
you can get Rx to emit events onto a stream at an interval or even
throttle it by sampling at specified rate; however the point still
stands, the stream sees only the order of events.
&lt;/p&gt;
&lt;p&gt;
In Rx the unit of composition is the stream, not the event and it is
through composing event streams with functional operators, or
combinators that Rx builds a compositional query language across
disparate events from any number of sources.  
&lt;/p&gt;
&lt;p&gt;
This declarative language for querying event streams, hide the complex
imperative details concerned with managing state and concurrency, and
leave you to solve your problems at a level significantly closer to
the problems of your domain.
&lt;/p&gt;
&lt;p&gt;
Once you have a query language for events such as Rx, the similarities
and differences between databases and event streams become even
clearer.  With databases you typically query the past, in a store of
data you already have; where as with event composition you query the
future!
&lt;/p&gt;
&lt;p&gt;
Event Stream Processing is nothing new, but as a side-effect of the
multi-core revolution, we're seeing a move &lt;a href=&quot;http://lambda-the-ultimate.org/node/1446&quot;&gt;out of the tarpit&lt;/a&gt; towards
functional languages and the adoption of functional features in
imperative languages.  As a result of this we can hope to see more
API's fashioned in the form of declarative languages that help us
better manage time, order, and asynchronicity.
&lt;/p&gt;
&lt;p&gt;
Personally, I'm looking forward to playing with Clojure's adoption of
these ideas in the forms of &lt;a href=&quot;https://github.com/ztellman/lamina&quot;&gt;Lamina&lt;/a&gt; and &lt;a href=&quot;https://github.com/stuartsierra/cljque&quot;&gt;Cljque&lt;/a&gt;; which hope to
complement Clojure's already &lt;a href=&quot;http://clojure.org/state&quot;&gt;comprehensive&lt;/a&gt; &lt;a href=&quot;http://clojure.org/atoms&quot;&gt;time&lt;/a&gt; &lt;a href=&quot;http://clojure.org/refs&quot;&gt;management&lt;/a&gt; &lt;a href=&quot;http://clojure.org/agents&quot;&gt;features&lt;/a&gt;.
&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>From Fallow Fields, a new harvest</title>
   <link href="http://sourcesmouth.co.uk/blog//blog/2010/02/09/from-fallow-fields-a-new-harvest.html"/>
   <updated>2010-02-09T00:00:00+00:00</updated>
   <id>http://sourcesmouth.co.uk/blog//blog/2010/02/09/from-fallow-fields-a-new-harvest</id>
   <content type="html">&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;sec-1&quot;&gt;&lt;a href=&quot;/blog/2010/02/09/from-fallow-fields-a-new-harvest.html&quot;&gt;From Fallow Fields, a new harvest&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt;


&lt;p&gt; 
After a long hiatus, I've decided to return and restart my blogging
activities.  It's hard to be sure of my commitment, but my hope is
that after leaving this pasture fallow for two years, it'll now yield
a plentiful crop of posts.
&lt;/p&gt;
&lt;p&gt;
Those who visited my blog before might be surprised to find that Epwna
my blogs trusty steed has been put &lt;a href=&quot;file:///paddock/&quot;&gt;out to grass&lt;/a&gt;.  Due to a change of
blogging engine and theme, he can now be found munching on printer
paper in the &lt;a href=&quot;file:///paddock/&quot;&gt;paddock&lt;/a&gt;.  Perhaps he will one day return.
&lt;/p&gt;
&lt;p&gt;
So whats changed to make me start blogging again?  In short a change
of blogging engine from &lt;a href=&quot;http://lumiere.ens.fr/~guerry/blorg.html&quot;&gt;Blorg&lt;/a&gt;, which had started failing to properly
export my blog.
&lt;/p&gt;
&lt;p&gt;
So for those who care, my revamped blog is still written in &lt;a href=&quot;http://www.gnu.org/software/emacs/tour/&quot;&gt;Emacs&lt;/a&gt; and
the ever powerful &lt;a href=&quot;http://orgmode.org/&quot;&gt;Org-mode&lt;/a&gt;.  This time using a combination of &lt;a href=&quot;http://wiki.github.com/mojombo/jekyll/&quot;&gt;Jekyll&lt;/a&gt;,
the excellent ruby static blog generator and secret sauce behind
&lt;a href=&quot;http://github.com/&quot;&gt;github&lt;/a&gt; &lt;a href=&quot;http://pages.github.com/&quot;&gt;pages&lt;/a&gt;, and the new &lt;a href=&quot;http://juanreyero.com/open/org-jekyll/&quot;&gt;org-jekyll&lt;/a&gt;, that acts as the glue between
org-mode markup, and Jekyll.
&lt;/p&gt;
&lt;p&gt;
So what's so cool about this combination?  Well firstly it means I can
&lt;a href=&quot;http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html&quot;&gt;blog like a hacker&lt;/a&gt;, keeping my posts backed up and managed inside &lt;a href=&quot;http://git-scm.com&quot;&gt;git&lt;/a&gt;.
And secondly it means I can write my posts in org-mode's familiar and
powerful syntax.  The benefits of using org-mode stretch way beyond
those of traditional lightweight markup languages, as it'll let me
merge my blogging activities with my existing note taking and planning
workflows, whilst giving me access to powerful features such as
&lt;code&gt;org-mode&lt;/code&gt;'s headline folding, its agenda, its Emacs based syntax
highlighting, and &lt;a href=&quot;http://orgmode.org/worg/org-contrib/babel/index.php&quot;&gt;org-babel&lt;/a&gt;'s ability to execute and output the
results of embedded code snippets directly into my blog!
&lt;/p&gt;
&lt;p&gt;
Here's a small snippet of this blogs org-mode file:
&lt;/p&gt;



&lt;pre class=&quot;src src-org&quot;&gt;&lt;span style=&quot;color: #D6B163; font-weight: bold;&quot;&gt;* From Fallow Fields, a new harvest&lt;/span&gt;
&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;   :PROPERTIES:&lt;/span&gt;
   &lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;:on:&lt;/span&gt;   &lt;span style=&quot;color: #6BCFF7;&quot;&gt;[2010-02-06 Sat]&lt;/span&gt;
&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;   :END:&lt;/span&gt;

After a long hiatus, I've decided to return and restart my blogging
activities.  It's hard to be sure of my commitment, but my hope is
that after leaving this pasture fallow for two years, it'll now yield
a plentiful crop of posts.

...
&lt;span style=&quot;color: #D6B163; font-weight: bold;&quot;&gt;* Forget the Linux Desktop, it's the Linux Laptop that matters!&lt;/span&gt;
&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;  :PROPERTIES:&lt;/span&gt;
  &lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;:on:&lt;/span&gt; &lt;span style=&quot;color: #6BCFF7;&quot;&gt;&amp;lt;2007-11-27 Tue 22:25&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;  :END:&lt;/span&gt;
       
The best innovations tend to be cheap and disruptive.  Hand in hand as
they're usually found, these characteristics go some way to explaining
why I like the &lt;span style=&quot;text-decoration: underline;&quot;&gt;EeePC&lt;/span&gt; (Asus's new laptop) so much.  The other reasons
are obvious, &lt;span style=&quot;text-decoration: underline;&quot;&gt;it's small&lt;/span&gt;, it's light, it has WiFi, &lt;span style=&quot;text-decoration: underline;&quot;&gt;Firefox&lt;/span&gt; and
 &lt;span style=&quot;text-decoration: underline;&quot;&gt;Open Office&lt;/span&gt;, and judging by the reactions of those who saw &lt;span style=&quot;text-decoration: underline;&quot;&gt;Paul&lt;/span&gt; and I
with them at &lt;span style=&quot;text-decoration: underline;&quot;&gt;Bar Camp Leeds&lt;/span&gt;, it's cool enough for &lt;span style=&quot;text-decoration: underline;&quot;&gt;everyone&lt;/span&gt; to want
one!
&lt;/pre&gt;




&lt;p&gt;
As you can see, org-mode can even export its own markup with htmlized
syntax highlighting!
&lt;/p&gt;
&lt;p&gt;
This new combination, is a huge improvement, and has many features
that I hope to blog about in a future post.  The first is that as it's
built on top of Org-mode's excellent publishing and export features,
which mean that I get easily publish code with full syntax
highlighting.
&lt;/p&gt;
&lt;p&gt;
For example below is the Emacs-lisp I'm using to publish this blog,
isn't it pretty?
&lt;/p&gt;



&lt;pre class=&quot;src src-emacs-lisp&quot;&gt;(&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;require&lt;/span&gt; '&lt;span style=&quot;color: #6BCFF7;&quot;&gt;org-publish&lt;/span&gt;)
(&lt;span style=&quot;color: #E8BF6A; font-weight: bold;&quot;&gt;require&lt;/span&gt; '&lt;span style=&quot;color: #6BCFF7;&quot;&gt;org-jekyll&lt;/span&gt;)

(setq sourcesmouth-org &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;~/git/sourcesmouth&quot;&lt;/span&gt;)
(setq sourcesmouth-org-publish (concat sourcesmouth-org &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;/publish/&quot;&lt;/span&gt;))

(add-to-list 'org-publish-project-alist
             `(&lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;sourcesmouth-org&quot;&lt;/span&gt;
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:base-directory&lt;/span&gt; ,sourcesmouth-org
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:recursive&lt;/span&gt; t
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:base-extension&lt;/span&gt; &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;org&quot;&lt;/span&gt;
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:publishing-directory&lt;/span&gt; ,sourcesmouth-org-publish
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:publishing-function&lt;/span&gt; org-publish-org-to-html
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:section-numbers&lt;/span&gt; nil
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:headline-levels&lt;/span&gt; 4
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:table-of-contents&lt;/span&gt; nil
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:auto-index&lt;/span&gt; nil
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:inline-images&lt;/span&gt; t
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:todo-keywords&lt;/span&gt; t
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:auto-preamble&lt;/span&gt; nil
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:body-only&lt;/span&gt; t
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:auto-postamble&lt;/span&gt; nil))

(add-to-list 'org-publish-project-alist
             `(&lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;sourcesmouth-img&quot;&lt;/span&gt;
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:base-directory&lt;/span&gt; ,sourcesmouth-org
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:recursive&lt;/span&gt; t
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:exclude&lt;/span&gt; &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;^publish&quot;&lt;/span&gt;
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:base-extension&lt;/span&gt; &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;jpg&lt;/span&gt;&lt;span style=&quot;color: #00ff00; font-weight: bold;&quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color: #00ff00; font-weight: bold;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #00ff00;&quot;&gt;gif&lt;/span&gt;&lt;span style=&quot;color: #00ff00; font-weight: bold;&quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color: #00ff00; font-weight: bold;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #00ff00;&quot;&gt;png&quot;&lt;/span&gt;
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:publishing-directory&lt;/span&gt; ,sourcesmouth-org-publish
               &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:publishing-function&lt;/span&gt; org-publish-attachment))

(add-to-list 'org-publish-project-alist
             '(&lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;sourcesmouth&quot;&lt;/span&gt; &lt;span style=&quot;color: #8cd0d3;&quot;&gt;:components&lt;/span&gt; (&lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;sourcesmouth-org&quot;&lt;/span&gt;
                                           &lt;span style=&quot;color: #00ff00;&quot;&gt;&quot;sourcesmouth-img&quot;&lt;/span&gt;)))
&lt;/pre&gt;




&lt;p&gt;
Cooler still is that with &lt;a href=&quot;http://orgmode.org/worg/org-contrib/babel/&quot;&gt;org-babel&lt;/a&gt; these embedded code snippets, can
be made executable, capturing their output, and outputting their
results directly into the blog.  E.g. the following Emacs lisp reduce
statement:
&lt;/p&gt;



&lt;pre class=&quot;src src-emacs-lisp&quot;&gt;(reduce '+ '(1 2 3 4 5 6 7 8 9 10))
&lt;/pre&gt;




&lt;p&gt;
Yields the following result, directly into this document.
&lt;/p&gt;
&lt;pre class=&quot;example&quot;&gt;
55
&lt;/pre&gt;


&lt;p&gt;
No other blogging engine I've seen can do anything like this!
&lt;/p&gt;
&lt;p&gt;
So now I have a blog running again, what am I going to blog about?
Well, I guess you'll have to stay tuned to find out.
&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Forget the Linux Desktop, it's the Linux Laptop that matters!</title>
   <link href="http://sourcesmouth.co.uk/blog//blog/2007/11/27/forget-the-linux-desktop-its-the-linux-laptop-that-matters.html"/>
   <updated>2007-11-27T00:00:00+00:00</updated>
   <id>http://sourcesmouth.co.uk/blog//blog/2007/11/27/forget-the-linux-desktop-its-the-linux-laptop-that-matters</id>
   <content type="html">&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;sec-1&quot;&gt;&lt;a href=&quot;/blog/2007/11/27/forget-the-linux-desktop-its-the-linux-laptop-that-matters.html&quot;&gt;Forget the Linux Desktop, it's the Linux Laptop that matters!&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt;


&lt;p&gt;       
The best innovations tend to be cheap and disruptive.  Hand in hand as
they're usually found, these characteristics go some way to explaining
why I like the &lt;a href=&quot;http://reviews.cnet.co.uk/laptops/0,39030092,49293507-1,00.htm&quot;&gt;EeePC&lt;/a&gt; (Asus's new laptop) so much.  The other reasons
are obvious, &lt;a href=&quot;http://www.reghardware.co.uk/2007/11/02/five_eee_pcs/&quot;&gt;it's small&lt;/a&gt;, it's light, it has WiFi, &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/&quot;&gt;Firefox&lt;/a&gt; and
 &lt;a href=&quot;http://www.openoffice.org/&quot;&gt;Open Office&lt;/a&gt;, and judging by the reactions of those who saw &lt;a href=&quot;http://ceoblog.calicojack.co.uk/&quot;&gt;Paul&lt;/a&gt; and I
with them at &lt;a href=&quot;http://barcampleeds.com/&quot;&gt;Bar Camp Leeds&lt;/a&gt;, it's cool enough for &lt;a href=&quot;http://asuseeehacks.blogspot.com/2007/11/asus-eee-pc-amazon-bestseller.html&quot;&gt;everyone&lt;/a&gt; to want
one!
&lt;/p&gt;


&lt;img src=&quot;/images/asus-eeepc.jpg&quot;/&gt;

&lt;p&gt; 
Laptops have (until now) tended to follow an unwritten law of small
gadgets; the smaller it is the more you'll pay.  However the Eee seems
to mark a reversal of the trend.  We're now seeing the
 &lt;a href=&quot;http://law-of-mobility.com/&quot;&gt;law of mobility&lt;/a&gt; combined with commodity hardware, meaning one of the smallest laptops
available is also the cheapest (and most valuable in terms of it's
utility).
&lt;/p&gt;
&lt;p&gt;
The real disruption however; isn't in how it's defining a new market
for cheap, super small, capable laptops, but it's in how it nicely
packages free and open alternatives to the two biggest monopolies in
the technology industry, Microsoft Windows and Office.  This strategy
accompanied by their recent announcement &lt;a href=&quot;http://eeepcworld.wordpress.com/2007/11/27/asus-to-release-sdk-for-eee/&quot;&gt;to release an SDK&lt;/a&gt; and support
the community should only serve to foster a strong community and
potential competitor.
&lt;/p&gt;
&lt;p&gt;
As hardware costs have fallen Microsoft customers have been paying
ever greater percentages of the total device cost to Microsoft.
Though it seems with the release of the EEE PC we have reached
the threshhold where manufacturers are beginning to produce devices so
cheap that the cost of Windows is by far the most expensive part of
the device.
&lt;/p&gt;
&lt;p&gt;
Hence ASUS have persued the most cost effective and profitable
solution, to tailor an existing &lt;a href=&quot;http://www.xandros.com/&quot;&gt;Linux distribution&lt;/a&gt; to the device
constraints (7&quot; screen, 4GB SSD disk) whilst targeting the device at
the mass market of people wanting cheap, portable, internet access.
&lt;/p&gt;
&lt;p&gt;
Despite being careful not to divorce themselves of Windows completely
by including Windows drivers for the hardware, Asus's strategy of
unbundling Windows and shipping the device with Linux clearly caused
 a &lt;a href=&quot;http://members.forbes.com/global/2007/1112/024a.html&quot;&gt;panic in Redmond&lt;/a&gt;.  The result, a substantial discount on Windows XP
for Eee users, but what about Office software?  (Similarly the
OLPC program has led to Microsoft discounting software to $3 in
developing nations whilst allegations of &lt;a href=&quot;http://online.wsj.com/article/SB119586754115002717.html?mod=home_we_banner_left&quot;&gt;dirty tricks&lt;/a&gt; surround both
Microsoft and Intel and their attempts to sink &lt;a href=&quot;http://en.wikipedia.org/wiki/Nicholas_Negroponte&quot;&gt;Negroponte&lt;/a&gt;'s project).
&lt;/p&gt;
&lt;p&gt;
Even with the Eee discount persuading some users not to leave Windows
behind, I expect the Eeepc and &lt;a href=&quot;http://www.intel.com/intel/worldahead/classmatepc/&quot;&gt;other&lt;/a&gt; &lt;a href=&quot;http://laptop.org/laptop/&quot;&gt;devices&lt;/a&gt; of a similar form factor
and &lt;a href=&quot;http://linux.slashdot.org/article.pl?sid=07/11/01/1421218&amp;amp;amp;tid=163&quot;&gt;cost&lt;/a&gt; to significantly further free software adoption particularly
on the laptop.
&lt;/p&gt;
&lt;p&gt;
Desktop computing is a complex landscape with a diversity of hardware,
user requirements and expectations.  Consequently users are locked
into the Windows mindset as well as their software, making anything
else appear foreign and unintuitive.  Despite this, Desktop 
Linux &lt;a href=&quot;http://tech.tolero.org/blog/en/linux/review-ubuntu-710-gutsy-features-changes&quot;&gt;is viable&lt;/a&gt; for most types of PC user, though there are many barriers to
overcome.
&lt;/p&gt;
&lt;p&gt;
In the super portable Laptop market however, user expectations are
different.  They want something small and simple to browse the web,
check their email and perform basic office tasks.  Further to this the
windowing metaphor begins to breakdown as users are required to run
most of their applications full screen.  These constraints immediately
put the Linux O/S with Asus's customisations at an advantage, as the
interface has been tailored to suit the devices form factor and usage
scenarios.
&lt;/p&gt;
&lt;p&gt;
It's a classic &lt;a href=&quot;http://en.wikipedia.org/wiki/Clayton_M._Christensen&quot;&gt;Christensen&lt;/a&gt; disruptive technology which will soon cause
both new market and low-end &lt;a href=&quot;http://en.wikipedia.org/wiki/Disruptive_technology&quot;&gt;disruption&lt;/a&gt;.  This has been on the cards
for some time and led to the development of
 &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_XP#Windows_XP_Starter_Edition&quot;&gt;Windows XP Starter Edition&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_Fundamentals_for_Legacy_PCs&quot;&gt;Windows Fundamentals&lt;/a&gt;.  However this strategy of developing cut
down Windows distributions can only go on so long before the game is
no longer worth the candle.
&lt;/p&gt;
&lt;p&gt;
Indeed, &lt;a href=&quot;http://hardware.silicon.com/desktops/0,39024645,39168948,00.htm&quot;&gt;recent comments&lt;/a&gt; from Microsoft VP Will Poole indicate an
engineering struggle in trying to port Windows onto the &lt;a href=&quot;http://laptop.org/&quot;&gt;OLPC&lt;/a&gt;'s &lt;a href=&quot;http://en.wikipedia.org/wiki/XO-1_(laptop)&quot;&gt;XO&lt;/a&gt;, and
it's by no means clear whether they'll manage to get it to work on the
device.  Yet this is &lt;a href=&quot;http://www.kroah.com/log/linux/ols_2006_keynote.html&quot;&gt;seldom a problem for Linux&lt;/a&gt; which supports more
architectures than any other O/S.  
&lt;/p&gt;
&lt;p&gt;
Ultimately however it's clear that Microsoft will long remain a
prominent player in the industry, however some speculate they may copy
Apple and build their platform ontop of another O/S.  Given their 
2004 &lt;a href=&quot;http://www.theregister.co.uk/2004/04/02/sun_settles_with_ms/&quot;&gt;$2bn peace treaty&lt;/a&gt; with Sun, &lt;a href=&quot;http://en.wikipedia.org/wiki/Solaris_(operating_system)&quot;&gt;Solaris&lt;/a&gt; might be a candidate.  Either way,
what's important is that we're beginning to see some much needed
competition and innovation in this space.
&lt;/p&gt;

&lt;/div&gt;

&lt;div id=&quot;outline-container-1-1&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;sec-1-1&quot;&gt;Update &lt;span class=&quot;timestamp-wrapper&quot;&gt; &lt;span class=&quot;timestamp&quot;&gt;2008-01-20 Sun&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-1&quot;&gt;


&lt;p&gt;
After following &lt;a href=&quot;http://del.icio.us/InkyHarmonics/sourcesmouth+reactions+eeepc&quot;&gt;the discussion&lt;/a&gt; that this post generated on the web, I
thought I'd post some follow up points reiterating what others have
said and addressing some common criticisms.
&lt;/p&gt;
&lt;p&gt;
Predictably a variety of commenters felt that the EEE PC is nothing
remarkable.  A cheap laptop, with cheap hardware, and not the sort of
thing a &quot;real user&quot; wants.  However, it's my belief that these users
typically already have their needs fulfilled by other devices and
hardware.  If they have the money they'll purchase their expensive
&quot;better&quot; hardware, however what they should realise is that the
higher-end (£550+) PC will become the niche market; and that UMPC's
are &lt;a href=&quot;http://itmanagement.earthweb.com/cnews/article.php/3722646&quot;&gt;not laptops or desktop replacements&lt;/a&gt;. Sadly for Microsoft this
direction indicates that &lt;a href=&quot;http://www.microsoft-watch.com/content/desktop_mobile/microsofts_big_problem_in_a_small_box.html&quot;&gt;Vista might become a niche O/S&lt;/a&gt; rather than
the dominant main stream O/S they intended.
&lt;/p&gt;
&lt;p&gt;
A common comment was that installing your own software on Linux is a
problem.  This is certainly a common issue, and perhaps best left
addressed in a post of its own.  However, here the EEE PC wisely
choses to install enough to please 99% of people, knowing fullwell
that most people never install their own software.  This follows a
trend away from the general purpose computer, towards tailored network
appliances, of which the EEE PC is just one example.
&lt;/p&gt;
&lt;p&gt;
Several &lt;a href=&quot;http://digg.com/linux_unix/Forget_the_Linux_Desktop_its_the_Linux_Laptop_that_matters_2?t=11150390#c11150390&quot;&gt;other&lt;/a&gt; &lt;a href=&quot;http://forum.eeeuser.com/viewtopic.php?pid=41511#p41511&quot;&gt;readers&lt;/a&gt; mentioned how Linux is acting as a similar force
in the mobile space with it powering &lt;a href=&quot;http://code.google.com/android/&quot;&gt;mobile&lt;/a&gt; &lt;a href=&quot;http://www.openmoko.com/&quot;&gt;platforms&lt;/a&gt; on the likes 
of &lt;a href=&quot;http://en.wikipedia.org/wiki/Symbian_OS&quot;&gt;Symbian&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_Mobile&quot;&gt;Windows Mobile&lt;/a&gt;.  Highlighting this disruptive force is a
valid point, but it's unlikely to promote Linux to anyone except the
software developer.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://asuseeehacks.blogspot.com/2007/12/asus-eee-pc-as-disruptive-technology.html&quot;&gt;Asus EEE Hacks&lt;/a&gt; seemed to agree with my general assertion, adding that
the EEE PC has &quot;&amp;hellip;succeeded in becoming a disruptive technology
without using new technology - practically all of its parts are
off-the-shelf components&quot;.  This is certainly true, and indeed fairly
typical of the &lt;a href=&quot;http://www.businessweek.com/innovate/content/jan2008/id2008012_297369.htm&quot;&gt;long nose of innovation&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
My favourite comments of all were however the ones taking a pop at my
web design skills.  And included: &quot;&lt;a href=&quot;http://digg.com/linux_unix/Forget_the_Linux_Desktop_its_the_Linux_Laptop_that_matters_2?t=11149679#c11149679&quot;&gt;Web 1.0 FTW!&lt;/a&gt;&quot;, and perhaps
unsurprisingly, even an &lt;a href=&quot;http://www.urbandictionary.com/define.php?term=OMG!+Ponies!&quot;&gt;OMG!!! Ponies!!!&lt;/a&gt; &lt;a href=&quot;http://digg.com/linux_unix/Forget_the_Linux_Desktop_its_the_Linux_Laptop_that_matters_2?t=11150161#c11150161&quot;&gt;discussion&lt;/a&gt;.
&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Freedom at the end of the (ZX) Spectrum</title>
   <link href="http://sourcesmouth.co.uk/blog//blog/2007/10/13/freedom-at-the-end-of-the-zx-spectrum.html"/>
   <updated>2007-10-13T00:00:00+01:00</updated>
   <id>http://sourcesmouth.co.uk/blog//blog/2007/10/13/freedom-at-the-end-of-the-zx-spectrum</id>
   <content type="html">&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;sec-1&quot;&gt;&lt;a href=&quot;/blog/2007/10/13/freedom-at-the-end-of-the-zx-spectrum.html&quot;&gt;Freedom at the end of the (ZX) Spectrum&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt;

&lt;p&gt;   &lt;span class=&quot;timestamp-wrapper&quot;&gt;&lt;span class=&quot;timestamp-kwd&quot;&gt;CLOSED: &lt;/span&gt; &lt;span class=&quot;timestamp&quot;&gt;2007-10-13 Sat 22:31&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
It probably won't surprise anyone who actually knows me that the
earliest memory I vividly remember is of my first encounter with a
computer.  Waking up late, well past my bed time at the tender age of
4 or 5, sneaking down stairs to find my dad crouching over a small
unassuming Sinclair ZX Spectrum (48k) playing Ground Force Zero.  A
simple game involving only the timely pushes of a single [b]omb key.
The glow of the TV screen in the dark, sitting on my dad's knee and
staying up late to bomb a city and land our plane.
&lt;/p&gt;


&lt;img src=&quot;/images/spec_groundforcezero_large.jpg&quot;/&gt;

&lt;p&gt;
Though he probably didn't know it at the time, it's clear to me now
that the purchase of that £129 box of tricks was the wisest investment
in my education my dad ever made.  Over the next 7 years I would
tinker with BASIC programming, read &lt;a href=&quot;http://www.ysrnry.co.uk/cover1.htm&quot;&gt;Your Sinclair&lt;/a&gt;, and develop a keen
interest in computers.
&lt;/p&gt;
&lt;p&gt;
This education was partly made possible because the Spectrum and other
computers of the era were essentially built for a hobbyist market,
consequently shipping with &lt;a href=&quot;http://www.worldofspectrum.org/ZXSpectrumIntroduction/&quot;&gt;comprehensive documentation&lt;/a&gt;, 
 &lt;a href=&quot;http://members.lycos.co.uk/eightbitula/48kinfo.html&quot;&gt;technical manuals&lt;/a&gt; and a &lt;a href=&quot;http://www.1000bit.net/support/manuali/zxspectrum/start.htm&quot;&gt;BASIC programming environment&lt;/a&gt;.  This meant that the
machine itself was not just a platform for consuming games and other
Software, but an environment for learning and experimentation.  A
refuge for a child tired of getting shouted at for dismantling (or
breaking?) toys out of a desire to unlock the secrets of their
mechanisms.
&lt;/p&gt;
&lt;p&gt;
Years later at about the age of 15 I obtained a copy of &lt;a href=&quot;http://www.freebsd.org/&quot;&gt;FreeBSD&lt;/a&gt; and
later &lt;a href=&quot;http://www.slackware.org/&quot;&gt;Slackware Linux&lt;/a&gt; on some &lt;a href=&quot;http://about.tucows.com/&quot;&gt;Tucows CDROMS&lt;/a&gt; which I'd installed mostly
out of curiosity.  Being able to install a Unix system on your own
commodity PC which just a few years earlier could only be run on
incredibly expensive servers had an instant appeal.  At first it felt
a little like exploring a Pharaoh's tomb, decyphering the
hieroglyphics ls, pwd, grep, root, vi, su, sed, awk, sh, /etc&amp;hellip; and
then learning that there is a deep and fascinating &lt;a href=&quot;http://www.levenez.com/unix/&quot;&gt;history&lt;/a&gt; behind it.
&lt;/p&gt;
&lt;p&gt;
Shortly after though other things began to appeal; a powerful
commandline, a single rooted filesystem, having a multi-user system
(when Windows could barely multi-task), the technical reasons it
appealed were countless, yet somehow became dwarfed by ideas far
greater and more noble than the &lt;a href=&quot;http://en.wikipedia.org/wiki/Unix_philosophy&quot;&gt;Unix philosophy&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Buried away in a previously unexplored directory somewhere under
&lt;i&gt;usr/share/emacs/etc&lt;/i&gt; I'd discovered a &lt;a href=&quot;http://cvs.savannah.gnu.org/viewvc/*checkout*/emacs/emacs/etc/GNU&quot;&gt;small series&lt;/a&gt; of &lt;a href=&quot;http://cvs.savannah.gnu.org/viewvc/*checkout*/emacs/etc/INTERVIEW?root=emacs&quot;&gt;text&lt;/a&gt; &lt;a href=&quot;http://cvs.savannah.gnu.org/viewvc/*checkout*/emacs/etc/WHY-FREE?revision=1.1.18.1&amp;amp;root=emacs&quot;&gt;files&lt;/a&gt; that
explained everything.  The ideas of freedom, community, collaboration
and open knowledge outlined in the &lt;a href=&quot;http://www.gnu.org/gnu/manifesto.html&quot;&gt;GNU Manifesto&lt;/a&gt; and enshrined in
legalese by the &lt;a href=&quot;http://www.gnu.org/licenses/old-licenses/gpl-2.0.html&quot;&gt;GNU Public License&lt;/a&gt; instantly struck home.  I not only
had in my hands a free Unix like operating system, but also the
blueprints to build it and the rights to change it.  I knew then that
 &lt;a href=&quot;http://www.stallman.org/&quot;&gt;Richard Stallman&lt;/a&gt; the &lt;a href=&quot;http://www.fsf.org&quot;&gt;Free Software Foundation&lt;/a&gt; and thousands of
developers had sewn enough of the right seeds to change the software
industry forever.
&lt;/p&gt;


&lt;img src=&quot;/images/rms_katana.jpg&quot;/&gt;

&lt;p&gt;
1998 saw the end of my A-Levels; the start of my studies at
 the &lt;a href=&quot;http://www.dundee.ac.uk/&quot;&gt;University of Dundee&lt;/a&gt; and the formal beginings of the
 &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_source&quot;&gt;Open Source Movement&lt;/a&gt;; a faction who believed largely in the pragmatics of free
software but rejected the political stance associated with it.
&lt;/p&gt;
&lt;p&gt;
My thesis which I hope to discuss further in future posts, is that
Free/Libre Open Source Software (FLOSS) is the most important
innovation born in computing since the silicon chip.  Its
applicability is global and its methods and principles are deserving
of adoption elsewhere in a diversity of fields.
&lt;/p&gt;
&lt;p&gt;
I hope to unravel these ideas in future posts particularly in relation
to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The future evolution of the Internet
&lt;/li&gt;
&lt;li&gt;Education and the importance of being open
&lt;/li&gt;
&lt;li&gt;Innovation
&lt;/li&gt;
&lt;li&gt;Software Design
&lt;/li&gt;
&lt;li&gt;Freedom &amp;amp; Control
&lt;/li&gt;
&lt;li&gt;Business
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>First Post!</title>
   <link href="http://sourcesmouth.co.uk/blog//blog/2007/09/06/first-post.html"/>
   <updated>2007-09-06T00:00:00+01:00</updated>
   <id>http://sourcesmouth.co.uk/blog//blog/2007/09/06/first-post</id>
   <content type="html">&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-2&quot;&gt;
&lt;h2 id=&quot;sec-1&quot;&gt;&lt;a href=&quot;/blog/2007/09/06/first-post.html&quot;&gt;First Post!&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt;

&lt;p&gt;   &lt;span class=&quot;timestamp-wrapper&quot;&gt;&lt;span class=&quot;timestamp-kwd&quot;&gt;CLOSED: &lt;/span&gt; &lt;span class=&quot;timestamp&quot;&gt;2007-09-06 Thu 20:26&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;     
Over the past few years I've persuaded various people to get blogging;
my friend Dave writes &lt;a href=&quot;http://oneducation.wordpress.com/&quot;&gt;on education&lt;/a&gt; and the suffering in &lt;a href=&quot;http://justice4lebanon.wordpress.com/&quot;&gt;Lebanon&lt;/a&gt;, a
small group of &lt;a href=&quot;http://malawiclinics.org&quot;&gt;Malawian clinics&lt;/a&gt; write about health care in Malawi,
whilst my bosses &lt;a href=&quot;http://ceoblog.calicojack.co.uk/&quot;&gt;Paul&lt;/a&gt; and &lt;a href=&quot;http://ctoblog.calicojack.co.uk/&quot;&gt;Chris&lt;/a&gt; write about technology and the work we
do in multi-agent systems and intelligent context oriented
communication at &lt;a href=&quot;http://calicojack.co.uk&quot;&gt;Calico Jack&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
During this time I've installed more &lt;a href=&quot;http://wordpress.org/&quot;&gt;Wordpress&lt;/a&gt; instances than I care
to remember, yet only now after too many opinionated discussions with
the very much alive, &quot;&lt;a href=&quot;http://del.icio.us/thelatemrb&quot;&gt;late Mr B&lt;/a&gt;&quot;, have I decided to try and structure
my thoughts on software and the tech industry here.
&lt;/p&gt;
&lt;p&gt;
Having had a long held, keen interest in the &lt;a href=&quot;http://www.fsf.org/&quot;&gt;free&lt;/a&gt; and &lt;a href=&quot;http://www.opensource.org/&quot;&gt;open source&lt;/a&gt;
software movements I settled upon the name The Sources Mouth.  For
those who care about such things, I've chosen to start writing this
blog with &lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;GNU Emacs&lt;/a&gt;, &lt;a href=&quot;http://orgmode.org/&quot;&gt;org-mode&lt;/a&gt; and the static blogging engine &lt;a href=&quot;http://www.cognition.ens.fr/~guerry/blorg.html&quot;&gt;blorg&lt;/a&gt;.
We'll see how I get on.
&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 

</feed>
