<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software on despatches</title><link>https://icle.es/tags/software/</link><description>Recent content in Software on despatches</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 20 Jun 2025 09:25:00 +0100</lastBuildDate><atom:link href="https://icle.es/tags/software/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started: Emacs &amp;amp; C++ (w/ cmake) (On the fly syntax highlighting)</title><link>https://icle.es/2013/02/24/getting-started-emacs-c-w-cmake/</link><pubDate>Sun, 24 Feb 2013 11:54:03 +0000</pubDate><guid>https://icle.es/2013/02/24/getting-started-emacs-c-w-cmake/</guid><description>&lt;p>I am a recent convert to emacs. My vast majority of development is in Java EE
and I have not found an easy way to get the functionality in eclipse into emacs.
So I still use eclipse for this.&lt;/p>
&lt;p>However, I like to tinker with C++ and I wanted to get some of the CDT
functionality into emacs. In truth, I have used very little CDT so my
expectations from emacs will be set differently. Considering that emacs has been
used for C/C++ development for decades, I am hopeful that it will be more
feature-rich than eclipse or any of the other IDE&amp;rsquo;s like Anjuta, Code::Blocks
etc (both I have tried to use).&lt;/p>
&lt;p>First things first. In the world of Java, I am a massive fan of maven which
makes build management so easy and simple. Having used it now for years, it is
easy to forget how much of a learning curve it had to get started.&lt;/p>
&lt;p>Autotools are a massive pain to use and has a very steep learning curve. I have
used it in the past to set up build environments and it works fine. pkg-config
is pretty awesome and in a lot of ways, maven does pale in comparison. i.e.
instead of having maven pull in dependencies, you just use your systems package
manager like apt-get or yum and it installs the libraries for you.&lt;/p></description><content:encoded><![CDATA[<p>I am a recent convert to emacs. My vast majority of development is in Java EE
and I have not found an easy way to get the functionality in eclipse into emacs.
So I still use eclipse for this.</p>
<p>However, I like to tinker with C++ and I wanted to get some of the CDT
functionality into emacs. In truth, I have used very little CDT so my
expectations from emacs will be set differently. Considering that emacs has been
used for C/C++ development for decades, I am hopeful that it will be more
feature-rich than eclipse or any of the other IDE&rsquo;s like Anjuta, Code::Blocks
etc (both I have tried to use).</p>
<p>First things first. In the world of Java, I am a massive fan of maven which
makes build management so easy and simple. Having used it now for years, it is
easy to forget how much of a learning curve it had to get started.</p>
<p>Autotools are a massive pain to use and has a very steep learning curve. I have
used it in the past to set up build environments and it works fine. pkg-config
is pretty awesome and in a lot of ways, maven does pale in comparison. i.e.
instead of having maven pull in dependencies, you just use your systems package
manager like apt-get or yum and it installs the libraries for you.</p>
<p>Long story short, I am using <a href="http://www.cmake.org/" title="CMake">cmake</a> which has
the added advantage of being a little more cross-platform (i.e. supported in
Windows as well as *nix). If you haven&rsquo;t used CMake before, let me tell you -
it&rsquo;s a heck of a lot easier to get used to than Autotools. Just go through their
<a href="http://www.cmake.org/cmake/help/cmake_tutorial.html" title="CMake Tutorial">tutorial</a>
and you should be off.</p>
<p>The next thing I wanted to sort out was on the fly syntax checking. This makes
life a lot easier and means that you can write and correct syntax errors etc
without having to build manually.</p>
<p><a href="http://www.emacswiki.org/emacs/FlyMake">Flymake</a> is what you want to use for
this. The later versions of emacs comes with Flymake so you won&rsquo;t necessary need
to install it to get started. However, flymake doesn&rsquo;t (unfortunately) just work
magically out of the box and requires a little configuration.</p>
<p>After hunting around for a bit, and finally from the
<a href="http://www.emacswiki.org/emacs/FlyMake">EmacsWiki Flymake</a> page, found a couple
of options <a href="https://github.com/redguardtoo/cpputils-cmake">cpputils-make</a> and
<a href="https://github.com/alamaison/emacs-cmake-project">cmake-project</a>. Cmake-project
seemed simpler and I opted for that. I also tried installing cpputils-make and
didn&rsquo;t have any issues with that either.</p>
<p>There is one thing you need to be aware of though - both these tools expect you
to do out-of-source-builds. This essentially requires you to create a build
folder (called bin for cmake-project and build for cpputils-make) and generate
the Makefile etc. in there.</p>
<p>This is the preferred way with CMake anyway so it&rsquo;ll be better to do build in
that way. It&rsquo;ll also  make it easier to have different builds (Debug/Release
etc.)</p>
<p>The easiest way to install either of these is through marmalade. If you don&rsquo;t
already have it installed - it is so easy - just follow the instructions on
their <a href="http://marmalade-repo.org/">homepage</a>. You can then install by running</p>
<p><code>M-x package-install cmake-project</code></p>
<p>OR</p>
<p><code>M-x package-install cpputils-cmake</code></p>
<p>add the following to your .emacs file for cmake project. Instructions for
cpputils-make can be found on
<a href="https://github.com/redguardtoo/cpputils-cmake">their github page</a></p>
<p>[(require &lsquo;cmake-project)]{style=&ldquo;font-family:Consolas, Monaco,
monospace;font-size:12px;line-height:18px;&rdquo;}</p>
<p>Do a full build on your sources first by going to the bin or build directory and
generating the makefiles by using cmake (cmake .. or cmake ../src depending on
how you set up cmake) and then make.</p>
<p>You can then initialise the mode within emacs for cmake:</p>
<p><code>M-x cmake-project-mode</code></p>
<p>You may have to also enable flymake;</p>
<p><code>M-x flymake-mode</code></p>]]></content:encoded></item><item><title>WARN - Missing artifact descriptor for XXX</title><link>https://icle.es/2013/01/31/warn-missing-artifact-descriptor-for-xxx/</link><pubDate>Thu, 31 Jan 2013 20:38:48 +0000</pubDate><guid>https://icle.es/2013/01/31/warn-missing-artifact-descriptor-for-xxx/</guid><description>&lt;p>Working on an Arquillian test deployment which had some library changes
recently, I ran into the following error.&lt;/p>
```
WARN - Missing artifact descriptor for org.javassist:javassist:jar:3.16.1-GA
```
&lt;p>The particular library was in the pom.xml dependency hierarchy but it was
resolving to an earlier  version. Maven was switched to offline mode during the
tests and I had never needed this version of the library before. This meant
 that the local version of my maven repository did not have jar and maven emits
it slightly unhelpful error. It would be better if it told us that it could not
find the artifact and since its in offline mode, can't go and retrieve it.&lt;/p></description><content:encoded><![CDATA[<p>Working on an Arquillian test deployment which had some library changes
recently, I ran into the following error.</p>
```
WARN - Missing artifact descriptor for org.javassist:javassist:jar:3.16.1-GA
```
<p>The particular library was in the pom.xml dependency hierarchy but it was
resolving to an earlier  version. Maven was switched to offline mode during the
tests and I had never needed this version of the library before. This meant
 that the local version of my maven repository did not have jar and maven emits
it slightly unhelpful error. It would be better if it told us that it could not
find the artifact and since its in offline mode, can't go and retrieve it.</p>
<p>There are two quick hacks. Add the library and version into the pom.xml and do a
build. This will pull the library into your local repository and maven will be
able to find it offline. You could also just take maven in the tests online by
removing the goOffline() method call.</p>
<p>As for the cause of the issue, it stems from the way maven resolves dependencies
from Arquillian in comparison to building. I had updated a library version,
which now depends on the newer version of javassist. However, in considering all
the other things within the pom.xml, maven brings it down to an earlier version
when building.</p>
<p>However, the dependency resolution within the maven run through Arquillian
considers a slightly different set of requirements and resolves to a later
version of the lib which is not available.</p>
]]></content:encoded></item><item><title>Gnome Desktop Inaccessible After Screensaver Kicks in [1103]</title><link>https://icle.es/2011/11/03/gnome-desktop-inaccessible-after-screensaver-kicks-in-1103/</link><pubDate>Thu, 03 Nov 2011 11:11:14 +0000</pubDate><guid>https://icle.es/2011/11/03/gnome-desktop-inaccessible-after-screensaver-kicks-in-1103/</guid><description>&lt;p>Yesterday, I
&lt;a href="http://drone-ah.com/2011/11/02/saving-your-workspace-window-configuration-in-linux-1102/" title="Saving your workspace window configuration in Linux [1102]">mentioned a problem that I've been having&lt;/a>
with GNOME 3 on Ubuntu 11.10.&lt;/p>
&lt;p>Essentially what happens is that when I leave my desktop for a while, under
specific circumstances, and often, on returning and moving the mouse or using
the keyboard, the pointer would come back  on screen. However, this only works
on one of my two screens.&lt;/p>
&lt;p>The unlock dialog does not show up and it seems that there is no way to get back
in.&lt;/p>
&lt;p>In the past, I would log into the terminal (Ctrl-Alt-F1 or any function key
through to F5 or so) and&lt;/p>
```bash
$ kill -9 -1
```</description><content:encoded><![CDATA[<p>Yesterday, I
<a href="http://drone-ah.com/2011/11/02/saving-your-workspace-window-configuration-in-linux-1102/" title="Saving your workspace window configuration in Linux [1102]">mentioned a problem that I've been having</a>
with GNOME 3 on Ubuntu 11.10.</p>
<p>Essentially what happens is that when I leave my desktop for a while, under
specific circumstances, and often, on returning and moving the mouse or using
the keyboard, the pointer would come back  on screen. However, this only works
on one of my two screens.</p>
<p>The unlock dialog does not show up and it seems that there is no way to get back
in.</p>
<p>In the past, I would log into the terminal (Ctrl-Alt-F1 or any function key
through to F5 or so) and</p>
```bash
$ kill -9 -1
```
<p>This would of course kill all processes owned by me and is therefore unpleasant
at best and have you losing a bunch of work at worst.</p>
<p>After a brainwave yesterday (as detailed in the aforementioned post), I decided
to check the status of the screensaver and killed just those processes. Happily,
this gives me my desktop back. However, my gnome-shell had given up which I had
to restart</p>
```bash
$ gnome-shell --replace
```
<p>Unfortunately, I did not get the windows into the original workspaces since
everything just got dumped into the one workspace but it is better than having
to kill everything off.</p>
<p>EDIT: I just realised that the screen saver of course no longer kicks in and I
had to restart it</p>
```bash
$ gnome-screensaver --no-daemon
```]]></content:encoded></item><item><title>First Love</title><link>https://icle.es/2011/06/08/first-love/</link><pubDate>Wed, 08 Jun 2011 00:13:25 +0000</pubDate><guid>https://icle.es/2011/06/08/first-love/</guid><description>&lt;p>The first phone I ever got was a Motorola Startac 70. This was back in 98 or so,
a flip phone and I still remember it ever so clearly!&lt;/p>
&lt;p>I&amp;rsquo;m pretty sure my next phone was an A1000, a pretty awesome phone. This was
around the time that Motorola started releasing the razr which I was far from
impressed with. I jumped ship to Sony Erricson and I went through a couple of
those before heading over to the wonderful world of HTC. I wanted a smart phone
to help with work and so on and I got the HTC HD (If I recall) which was a
Windows phone.&lt;/p>
&lt;p>While this make me uncomfortable, I was still more comfortable with this than a
blackberry. I couldn&amp;rsquo;t get an iPhone for some reason that I cannot remember.&lt;/p>
&lt;p>The phone was pretty laggy and I got pretty sick of it pretty quick. I then got
myself my first android phone - an HTC Hero&amp;hellip; Most people didn&amp;rsquo;t like the curvy
bit at the bottom but I didn&amp;rsquo;t care. I was happy to be on the cutting edge. It
was also a bit slow and laggy. but it was android and I loved it. It started a
brand new love affair&amp;hellip; Let me tell you more&amp;hellip;&lt;/p></description><content:encoded><![CDATA[<p>The first phone I ever got was a Motorola Startac 70. This was back in 98 or so,
a flip phone and I still remember it ever so clearly!</p>
<p>I&rsquo;m pretty sure my next phone was an A1000, a pretty awesome phone. This was
around the time that Motorola started releasing the razr which I was far from
impressed with. I jumped ship to Sony Erricson and I went through a couple of
those before heading over to the wonderful world of HTC. I wanted a smart phone
to help with work and so on and I got the HTC HD (If I recall) which was a
Windows phone.</p>
<p>While this make me uncomfortable, I was still more comfortable with this than a
blackberry. I couldn&rsquo;t get an iPhone for some reason that I cannot remember.</p>
<p>The phone was pretty laggy and I got pretty sick of it pretty quick. I then got
myself my first android phone - an HTC Hero&hellip; Most people didn&rsquo;t like the curvy
bit at the bottom but I didn&rsquo;t care. I was happy to be on the cutting edge. It
was also a bit slow and laggy. but it was android and I loved it. It started a
brand new love affair&hellip; Let me tell you more&hellip;</p>
<p>This phone got rooted and got all forms on interesting things installed on
there. I eventually wanted a phone that was faster and more responsive and opted
for the HTC Desire.</p>
<p>Another phone that I loved and it was quicker&hellip; and that was nice. I finally
had a phone that could compete with the iPhone and did a lot of the things that
I wanted it to do. It provided me with the level of flexibility that I wanted.</p>
<p>Unsurprisingly, I rooted that one too and loved it. I wanted the HTC Desire HD
when it came out but I had to wait out contract expiries and a good thing it was
too.</p>
<p>By the time I was able to get a new phone, I was sick of HTC for various
reasons. I had installed a ROM on my phone without HTC Sense and I was surprised
at just how much I just did not miss it.</p>
<p>On doing some research, I also realised that HTC had fallen behind and had no
&ldquo;superphones&rdquo; available.</p>
<p>This led me to the Samsung Galaxy S2 and the Motorola Atrix. It was a tough call
for me and for a while, I was seriously considering the S2.</p>
<p>Throwing the question around the office, the Atrix was recommended and without a
second thought as such, I went for it. Motorola deserved another shot and I
loved their high resolution screens.</p>
<p>My mum got the S2 and someone else I know had it too. I had gotten used to other
people having the same phone as me with the Desire, but I love to have something
different. The S2 seemed a little flimsy and I like the more solid feeling from
the Atrix.</p>
<p>The phone arrived today along with a keyboard, mouse, remote control and a dock.
I had a very busy day, so didn&rsquo;t really have a change to play around with the
accessories. I&rsquo;ll tell you what though - I remember why I loved Motorola in the
first place.</p>
<p>I feel sophisticated and techy with the phone. I love the fingerprint scanner.
Its a little laggy and its arguable as to whether its any quicker than punching
in the passcode but that&rsquo;s not relevant. Its bloody cool.</p>
<p>And the screen - the screen in absolutely beautiful. Better than HD.</p>
<p>It also come jam packed with some cool applications like Swype. I used to have
it a long time ago when it could be purchased.</p>
<p>After it was pulled, I switched to SlideIT which I thoroughly enjoyed. Going to
back to Swype though has been beautiful. It just looks and feels much nicer.</p>
<p>There is one complaint in that it still runs Android 2.2. instead of 2.3.
Perhaps I shall learn patience. I am not sure if I will root this one. Hopefully
I don&rsquo;t quite get bored of it as I did with the HTC&rsquo;s.</p>
<p>I like the bunch of additional stuff that comes with the Motorola phone
including the Swype. I&rsquo;m not convinced that I&rsquo;ll want to give that up.</p>
<p>I&rsquo;ll just wait patiently for the gingerbread upgrade. Until then, I&rsquo;ll just
enjoy the other ways in which the device is awfully sweeeeet!</p>]]></content:encoded></item><item><title>Perfect Linux</title><link>https://icle.es/2009/12/15/perfect-linux/</link><pubDate>Tue, 15 Dec 2009 16:03:03 +0000</pubDate><guid>https://icle.es/2009/12/15/perfect-linux/</guid><description>&lt;p>According to &lt;a href="http://lunduke.com/?page_id=2">Brian Lunduke&lt;/a>{
&lt;a href="http://lunduke.com/?p=815" title="Ubuntu 9.10 - almost perfect">Ubuntu 9.10 is almost perfect&lt;/a>{
and I concur.&lt;/p>
&lt;p>Being a bit of a purist, I ran &lt;a href="http://www.debian.org">Debian&lt;/a>{for very many
years but found their stable releases lagging behind far too much. This was
largely due to their perfectly understandable view of it being ready only when
it is right.&lt;/p>
&lt;p>For a while, I ran their unstable distribution
called &lt;a href="http://www.debian.org/releases/unstable/">Sid&lt;/a>{ based on the disturbed,
hyperactive 10 year old boy in the
film &lt;a href="http://en.wikipedia.org/wiki/Toy%20Story">Toy Story&lt;/a>{ The idea being that
Sid breaks things, and it certainly did. While it taught me a heck of a lot
about linux (and the terminal), my computer was broken on a very regular basis.&lt;/p>
&lt;p>I switched down to
the &lt;a href="http://www.debian.org/releases/testing/">testing version&lt;/a> and that helped
ease the pain to a very large extent. I had always thought
that &lt;a href="http://www.debian.org">Debian&lt;/a> with a more regular and shorter release
cycle would make a world of difference.
Clearly, &lt;a href="http://en.wikipedia.org/wiki/Canonical%20Ltd.">Canonical&lt;/a> had the same
idea.&lt;/p></description><content:encoded><![CDATA[<p>According to <a href="http://lunduke.com/?page_id=2">Brian Lunduke</a>{
<a href="http://lunduke.com/?p=815" title="Ubuntu 9.10 - almost perfect">Ubuntu 9.10 is almost perfect</a>{
and I concur.</p>
<p>Being a bit of a purist, I ran <a href="http://www.debian.org">Debian</a>{for very many
years but found their stable releases lagging behind far too much. This was
largely due to their perfectly understandable view of it being ready only when
it is right.</p>
<p>For a while, I ran their unstable distribution
called <a href="http://www.debian.org/releases/unstable/">Sid</a>{ based on the disturbed,
hyperactive 10 year old boy in the
film <a href="http://en.wikipedia.org/wiki/Toy%20Story">Toy Story</a>{ The idea being that
Sid breaks things, and it certainly did. While it taught me a heck of a lot
about linux (and the terminal), my computer was broken on a very regular basis.</p>
<p>I switched down to
the <a href="http://www.debian.org/releases/testing/">testing version</a> and that helped
ease the pain to a very large extent. I had always thought
that <a href="http://www.debian.org">Debian</a> with a more regular and shorter release
cycle would make a world of difference.
Clearly, <a href="http://en.wikipedia.org/wiki/Canonical%20Ltd.">Canonical</a> had the same
idea.</p>
<p>Thus <a href="http://en.wikipedia.org/wiki/Ubuntu%20%28Linux%20distribution%29">Ubuntu</a>
was born and it has grown from strength to strength. Its latest distribution
of <a href="http://www.ubuntu.com/products/whatisubuntu/910features">9.10 codename karmic koala</a>
released October 2009, is a massive step forward.</p>
<p><a href="http://www.linkedin.com/in/stepram">Stephen</a>{ the head
of <a href="http://www.krayatec.co.uk">krayatec</a>{was so impressed by the new release
that he conducted an experiment. He asked three people in the office who are not
tech savvy to install and try out the new release. My view was that it was still
too early for such kind of an adoption. I felt that pushing people to try it out
at this stage would damage the reputation of the user friendliness
of <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> rather than help it.</p>
<p>I must admit that I was proven wrong.  All of the installations went smoothly
and it was possible to log in and do the things that they wanted to do.</p>
<p>Do they now use <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> instead
of <a href="http://en.wikipedia.org/wiki/Microsoft%20Windows">Windows</a> - No! There is
still a learning curve and with tight deadlines and little time for re-learning
how to navigate around a computer, it remains an experiment.</p>
<p>However, it does answer one question. Can a user who is not tech-savvy, pick up
a CD/DVD of the latest version
of <a href="http://en.wikipedia.org/wiki/Ubuntu%20%28Linux%20distribution%29">Ubuntu</a>
and run with it? The answer, from this very tiny experiment is a resounding Yes!</p>
<p>As someone who is technically very demanding, I have very few complaints about
the latest version. The only one is that it still looks largely the same as the
previous version. Then, the release is a collection of tools, so this is
understandable.</p>
<p>My three favourite things about the new release are:</p>
<ul>
<li>substantially faster bootup times</li>
<li><a href="http://en.wikipedia.org/wiki/Empathy%20%28software%29">Empathy</a> (particular
for people-nearby which works great in the office)</li>
<li><a href="http://en.wikipedia.org/wiki/Cloud%20services">Cloud</a> (Client &amp; Server)</li>
</ul>
<p>In my opinion, this is the beginning of the
end. <a href="http://en.wikipedia.org/wiki/Linux">Linux</a>, has finally taken a leap that
shows its potential to change everything&hellip; I would wish it luck, but it looks
like it doesn&rsquo;t need it ;-)</p>
<p>Why not
<a href="http://www.ubuntu.com/getubuntu/download" title="Download Ubuntu Live CD">download a live cd</a>
and try it out?</p>]]></content:encoded></item><item><title>Customisation</title><link>https://icle.es/2009/02/03/customisation/</link><pubDate>Tue, 03 Feb 2009 11:14:08 +0000</pubDate><guid>https://icle.es/2009/02/03/customisation/</guid><description>&lt;p>Being an avid Linux user for users, I am seriously spoilt in terms of being able
to customise everything / anything to be more the way I want it to be&amp;hellip;&lt;/p>
&lt;p>Two main reasons for this is that most software that comes on Linux is highly
customisable to start off with. The second reason is that if you don&amp;rsquo;t like
something, you can change it.&lt;/p>
&lt;p>There is also the nice thing that most things that you think would be cool or
useful in software is already available in some form since someone else thought
so too, but before you did and has had the chance to spend some time building
it.&lt;/p></description><content:encoded><![CDATA[<p>Being an avid Linux user for users, I am seriously spoilt in terms of being able
to customise everything / anything to be more the way I want it to be&hellip;</p>
<p>Two main reasons for this is that most software that comes on Linux is highly
customisable to start off with. The second reason is that if you don&rsquo;t like
something, you can change it.</p>
<p>There is also the nice thing that most things that you think would be cool or
useful in software is already available in some form since someone else thought
so too, but before you did and has had the chance to spend some time building
it.</p>
<p>I love this so much so that I have often put together a quick linux box for
doing things that one could easily replace with an embedded device like a
router. I have swayed between the two options based on how much I want
simplicity vs flexibility.</p>
<p>One of my favourite responses to someone telling me that we need something that
we don&rsquo;t have is - &ldquo;we&rsquo;ll build one&rdquo;&hellip; The software customisation / writing has
turned into a metaphor that I apply across more and more things. You need a new
table with custom bits - let&rsquo;s build it. You need a classic car with all the
modern gizmos - you know what - let&rsquo;s just build it.</p>
<p>This has its pro&rsquo;s and cons. For one, it feels like anything is possible. It
also becomes very frustrating to work with limited, limiting, or closed source
software (esp when you just want to fix a quick bug that really irks you). It
also eats up all your time as you try and do all the things you want&hellip; just
because you can&hellip;</p>
<p>Striking a balance is hard especially when a client asks if it is possible to do
something very specific. The answer is of course yes and there is a question
that goes with that response. At what value does it become cost effective and
provide a good Return On Investment(ROI)</p>
]]></content:encoded></item><item><title>Controversy</title><link>https://icle.es/2009/01/31/controversy/</link><pubDate>Sat, 31 Jan 2009 18:53:02 +0000</pubDate><guid>https://icle.es/2009/01/31/controversy/</guid><description>&lt;p>We have never been shy about voicing our opinions or being controversial. While
discussing some PR requirements recently with a potential agency, the question
was asked about whether we would be willing to be controversial.&lt;/p>
&lt;p>We are not necessarily controversial, just that we hold a view that is usually a
little different from the mainstream views. It could be said that we bring the
alternative to the mainstream.&lt;/p>
&lt;p>But then, so did some world governments, bringing open source software into
their work places, successfully or unsuccessfully in the last few years instead
of Microsoft.&lt;/p>
&lt;p>Someone recently suggested that we were anti-microsoft. I don&amp;rsquo;t think that is
case. Microsoft has its place in a technology infrastructure. It is simply that
its position is usually overrated or misplaced. As far as desktops for
technically shy users are concerned, there is really no alternative but
Microsoft Windows. I can hear the Mac users scream that Macs are also an
alternative. Theoretically, yes but the fact is that they are too expensive for
someone to dabble with it. This is precisely the reason that Microsoft Windows
dominates the desktop market.&lt;/p>
&lt;p>We support and use Linux. In fact, the majority of the desktops in the office
run Linux (Ubuntu as it happens) but people who have a non-technical role use
Windows. They could use Linux but Windows is better suited to their role.&lt;/p></description><content:encoded><![CDATA[<p>We have never been shy about voicing our opinions or being controversial. While
discussing some PR requirements recently with a potential agency, the question
was asked about whether we would be willing to be controversial.</p>
<p>We are not necessarily controversial, just that we hold a view that is usually a
little different from the mainstream views. It could be said that we bring the
alternative to the mainstream.</p>
<p>But then, so did some world governments, bringing open source software into
their work places, successfully or unsuccessfully in the last few years instead
of Microsoft.</p>
<p>Someone recently suggested that we were anti-microsoft. I don&rsquo;t think that is
case. Microsoft has its place in a technology infrastructure. It is simply that
its position is usually overrated or misplaced. As far as desktops for
technically shy users are concerned, there is really no alternative but
Microsoft Windows. I can hear the Mac users scream that Macs are also an
alternative. Theoretically, yes but the fact is that they are too expensive for
someone to dabble with it. This is precisely the reason that Microsoft Windows
dominates the desktop market.</p>
<p>We support and use Linux. In fact, the majority of the desktops in the office
run Linux (Ubuntu as it happens) but people who have a non-technical role use
Windows. They could use Linux but Windows is better suited to their role.</p>
<p>This is not necessarily a cost-saving decision. Sure, we have saved thousands of
pounds by sticking to Linux instead of using Windows but that is a co-incidence
more than anything. In some ways, it is a testament to the skillset of the
people who work at Kraya that they are comfortable with Linux. The mindset of
Linux is in alignment with the mindset of a developer.</p>
<p>I used to develop in Windows and I often found myself fighting with Windows,
whereas with Linux, it just fits. There are several reasons for this. One being
that Linux forces you to understand what you (trying to ) do to a bit more depth
instead of pretending its magically taken care of.</p>
<p>I am not, for one moment implying that developers who use or develop on the
Windows platform is inferior or not as skilled. Simply that my experience was
that the Windows platform made it easier to do things badly and more difficult
to do things well.</p>
<p>Microsoft has done wonders in bringing technology to the masses and making it
more accessible. However, there is still a massive barrier, even for people
specifically in the technology sector to appreciate and use technologies which
require a bit more experience or knowledge to use appropriately.</p>
<p>There are a couple of really good examples. PostgreSQL is a powerful outstanding
database server that can easily compete with Microsoft SQL Server and Oracle.
However, very few people know about it and even fewer use it.</p>
<p>MySQL on the other hand is also an open source database server but is much more
widely used and accepted.</p>
<p>It surprises me when MySQL is used when PostgreSQL is, from a technical
perspective better suited. MySQL is faster than PostgreSQL at the cost of poor
transaction managment (at best). For any system where data integrity is even
remotely important, PostgreSQL is a better choice. However, since there are
better GUI tools for MySQL and since it is easier to get the hang of, it gets
chosen.</p>
<p>This give technology and people in that sector a bad name. Every tool or
software has its place, and should be used in an environment where its strengths
are displayed, not its weaknesses. We have instances where we use multiple
database servers within one project. PostgreSQL for all the data integrity
sensitive areas and MySQL for the speed sensitive areas. Sometimes you want
integrity and speed. In these cases, you have to make a choice based on which is
more important or layer the databases to use the strengths of both.</p>
<p>Metaphorically speaking, MySQL is a hammer, and PostgreSQL is a sledgehammer.
Would you use a sledgehammer to crack a nut, or a hammer to crack a slab of
concrete?</p>
<p>Before someone jumps down my throat, I am not suggesting that PostgreSQL is
better than MySQL or vice versa - just that they both have different goals,
different strengths and weaknesses. They have spent a lot of effort to converge
and strengthen their weaknesses but not matter the amount of convergence, their
core goals are still different that they will never truly be able to remove
their weaknesses without giving up some of their strengths as well. One tool
cannot be both a hammer and a sledgehammer&hellip;</p>]]></content:encoded></item><item><title>On top of Tasktop</title><link>https://icle.es/2009/01/13/on-top-of-tasktop/</link><pubDate>Tue, 13 Jan 2009 13:43:56 +0000</pubDate><guid>https://icle.es/2009/01/13/on-top-of-tasktop/</guid><description>&lt;p>My post about
&lt;a href="http://drone-ah.com/2008/12/13/your-time/" title="Your Time [words on sand]">tracking time&lt;/a>
attracted the attention of &lt;a href="http://tasktop.com/" title="Tasktop">Tasktop&lt;/a>. While this
had been mentioned to me before, I was &lt;strong>mistakenly&lt;/strong> under the impression that
this was a windows only app.&lt;/p>
&lt;p>I was pleased to find out that this was also available for linux. Great... Lets
try it out.&lt;/p>
&lt;p>First stumbling block is the requirement to register on the website before I can
download a trial. I am a firm believer of try before you buy. I should be able
to register but it should be entirely my choice.&lt;/p>
&lt;p>I am more comfortable with registering before buying or for the use of a free
piece of software. However, registering for a trial always irritates me. This
was also the case when I wanted to trial InDesign / Illustrator the other day.&lt;/p></description><content:encoded><![CDATA[<p>My post about
<a href="http://drone-ah.com/2008/12/13/your-time/" title="Your Time [words on sand]">tracking time</a>
attracted the attention of <a href="http://tasktop.com/" title="Tasktop">Tasktop</a>. While this
had been mentioned to me before, I was <strong>mistakenly</strong> under the impression that
this was a windows only app.</p>
<p>I was pleased to find out that this was also available for linux. Great... Lets
try it out.</p>
<p>First stumbling block is the requirement to register on the website before I can
download a trial. I am a firm believer of try before you buy. I should be able
to register but it should be entirely my choice.</p>
<p>I am more comfortable with registering before buying or for the use of a free
piece of software. However, registering for a trial always irritates me. This
was also the case when I wanted to trial InDesign / Illustrator the other day.</p>
<p>After registering, there was the irritating wait for the email to arrive. Now,
this is irritating. When I want something, I want it <strong><em>NOW</em></strong>. I hate waiting.
Adobe did not make me wait for the confirmation email of registration before
downloading the trials. There are two good reasons as to why this irritates me.</p>
<ol>
<li>Email, as reliable as it is generally, can take time. In theory, this can be
anywhere from a few seconds to hours. How about if my mail server is
currently down. Or even more importantly, what if I have shut down my mail
client so that it does not keep distracting me from something that I am
trying to do. Opening up my mail client, I now want to find out about the
other emails that are in my inbox and whether any of them require an
action...</li>
<li>I have reluctantly provided details about myself. Confirming my email
address before I am allowed to download a trial suggests that Tasktop does
not trust me enough to just let me download the trial. The software has
started off on the wrong foot. How much of an issue is it really if someone
gave the wrong details before downloading a trial. Is it really that
important that you are able to keep bugging them via email to buy the
product?</li>
</ol>
<p>I was curious enough to jump through the hoops to download the product. The
first thing I noticed is that there is no 64bit for Linux :-(. More steps
involved in installing this on my 64bit machine. So instead, I installed it one
of my 32bit machines - save time.</p>
<p>Once the download completed, the steps on the website suggested that I needed to
configure it (with ./configureTasktop.sh) and then run Tasktop. The
configuration step required no input from the user and outputted nothing. I have
to ask:</p>
<ol>
<li>Why is the configuration step not integrated into Tasktop and configured to
run once? Alternatively,</li>
<li>Why does the configuration step, not start Tasktop right after.</li>
<li>Even better: Make Tasktop a symlink to configureTasktop.sh, which then
relinks that to the Tasktop Binary with the configureTasktop running Tasktop
right after. This means that from the users perspective, they are always
running the same command, and you save any cost associated with run once
checks.</li>
</ol>
<p>I finally got Tasktop to run and it asks me if I want to install the firefox
addon to integrate with Tasktop. I want to see how it integrates, so I do. Of
course, this is yet <strong>another</strong> step.</p>
<p>A restart later, I was ready to try out Tasktop - or was I? We use bugzilla to
track tasks and I wanted to integrate that in similar to how I do it in Eclipse.
This was also trickier than I expected.</p>
<p>I went into the partner connectors section which did not cover bugzilla, which I
assumed meant that it came with Bugzilla integration by default. This is true
but how the hell do I get there to configure it. It took me a little while to
find the configuration section (there are no menus). Once I was there, I wanted
to get back to the original layout which was tricky since the &quot;close
configuration&quot; button was nicely hidden away up at the top right.</p>
<p>Once I had this working, I tried out the active/deactive mechanisms and this
works just the same as in Eclipse. Except with the Firefox plugin, it adds in
the links that you browse as part of your context - GREAT!</p>
<p>Add in a task to blog about it and went through writing half the document, then
decided to de-activate it before I started working on something else. All the
firefox tabs were closed - again, great...</p>
<p>The problem is that when you re-activate the context, it just clears the tabs in
firefox and shows you the links you last had open. The page titles for the pages
that I had open were the same for a few, so going through them trial and error
to get to the blog post was tricky. More importantly, the cookie was already
gone and I had to re-login. This might be a timeout issue with Wordpress so wont
tag that against Tasktop.</p>
<p>I haven't tried linking folders / files yet but considering that with the above
process taking me more time than I expected due to the sheer number of steps
involved, I shall have to leave that to another day. In all honesty, it might
never happen.</p>
<p>I do like the time logging feature of Tasktop as it tells me which tasks I spent
my time on in different chart formats. This is great. However, I have a problem
in that this is on an individual basis. I see nothing on here about how a team
leader can link in Tasktop used by the team to calculate total time spent on a
project / task. This is a necessary feature for a tool like this in the team
environment.</p>
<p>It is possible that all of this is easier in a windows environment. Possibly
because it was built on there, but more likely because Windows users are used to
taking several steps to achieve something (what is it - 7 clicks to delete a
file in Vista?)</p>
<p>Having ranted on for a while, dont get me wrong. I think that Tasktop is a
fantastic concept and with a bunch of tweaking can be a very intuitive tool to
use. However, at the stage that it is in, it does not do what I need it to do.
It is actually more obtrusive than useful (e.g. by removing all my tabs from
firefox when switching out of a context and not re-instating them on going back
to the context).</p>
<p>Then, it is probably just because I simply expect too much... :-(</p>]]></content:encoded></item><item><title>Proprietary FSF</title><link>https://icle.es/2009/01/01/proprietary-fsf/</link><pubDate>Thu, 01 Jan 2009 20:24:16 +0000</pubDate><guid>https://icle.es/2009/01/01/proprietary-fsf/</guid><description>&lt;p>I have always a big fan and proponent of the FSF and having recently been
interested in researching for a project came across a document covering
&lt;a href="http://www.gnu.org/licenses/why-not-lgpl.html" title="Why Not LGPL">Why you shouldn't use the Lesser GPL for your next library&lt;/a>&lt;/p>
&lt;p>What the document basically suggests is to limit what proprietary software
developers can do by licensing libraries as GPL instead of LGPL.&lt;/p>
&lt;p>This is no longer free(as in speech, not beer) software. Why?&lt;/p>
&lt;p>Freedom means the ability to use something without restriction. If I cannot use
a library in a proprietary product, that is removing an important freedom.&lt;/p>
&lt;p>This attitude is likely to alienate the &amp;quot;commercial&amp;quot; or proprietary developers
further from FSF/GNU.&lt;/p></description><content:encoded><![CDATA[<p>I have always a big fan and proponent of the FSF and having recently been
interested in researching for a project came across a document covering
<a href="http://www.gnu.org/licenses/why-not-lgpl.html" title="Why Not LGPL">Why you shouldn't use the Lesser GPL for your next library</a></p>
<p>What the document basically suggests is to limit what proprietary software
developers can do by licensing libraries as GPL instead of LGPL.</p>
<p>This is no longer free(as in speech, not beer) software. Why?</p>
<p>Freedom means the ability to use something without restriction. If I cannot use
a library in a proprietary product, that is removing an important freedom.</p>
<p>This attitude is likely to alienate the &quot;commercial&quot; or proprietary developers
further from FSF/GNU.</p>
<p>In fact, doing this is just not fair and not in line with how I view is the
concept behind the FSF. The point is to write software / libraries and share
that with the world so others may build upon what you have done. Stand on the
shoulders of giants in a way...</p>
<p>It makes perfect sense for software to be GPL since you don't want somebody to
pick up a GPL software, build something on top, and sell it without source.</p>
<p>However, if libraries are released under the GPL instead of LGPL, it means that
I can not link against that library to write a non-GPL compatible application.</p>
<p>The <a href="http://www.gnu.org/" title="The GNU Operating Sytem">GNU Website</a> states</p>
<blockquote>
<p>&quot;Free software is a matter of the users' freedom to run, copy, distribute,
study, change and improve&quot;</p></blockquote>
<p>Additionally, the
<a href="http://www.gnu.org/licenses/quick-guide-gplv3.html" title="A Quick Guide To GPLv3">Quick Guide to GPLv3</a>
states that</p>
<blockquote>
<p>Nobody should be restricted by the software they use. There are four freedoms
that every user should have:</p></blockquote>
<ul>
<li>the freedom to use the software for any purpose,</li>
<li>the freedom to change the software to suit your needs,</li>
<li>the freedom to share the software with your friends and neighbors, and</li>
<li>the freedom to share the changes you make.</li>
</ul>
<p>This has always been my impressing of the purpose of GPL. Now, how does this
work with Libraries? A little differently... :-(</p>
<p>From my perspective, if I have the freedom to use the [library] for any
purpose, that means that I can write an application that <strong><em>uses</em></strong> that library
without having to worry about licensing issue.</p>
<p>However, this is not the case. There is a clause that states that the software
cannot be used in a larger software project that has a license incompatible with
the GPL. This includes linking the library into another software application.</p>
<p>Therefore, I do not have the freedom to use the software <strong><em>for any purpose</em></strong>.</p>
<p>Freedom cannot be uni-directional. If GNU/FSF are trying to muscle out
developers of proprietary software, all they are doing is alienating themselves
further...</p>
<p>I run a technology firm that uses a heck of a lot of open source software. In
fact, I am posting this from an ubuntu desktop running firefox from a VServer. I
am probably using a dozen open source applications to do this simple
straightforward act.</p>
<p>There is in fact, not a simple closed source application at any point through
this.</p>
<p>The main problem that I see with this is that it makes Open Source so much more
zealot(ous) and FSF, GNU and OSS becomes fundamentalists. The attitude is not
one of freedom and inclusion but of exclusivity and marginalisation.</p>
<p>The worst part is the price that is asked of developers who want to use an Open
Source library. The price is the acceptance and propogation of an idea (Freedom
or else).</p>
<p>Compared to the cost of conversion to another idealogy (Free Software Idealogy),
the cost of a few hundred, thousand, or even millions of dollars / pounds for a
piece of software seems dirt cheap.</p>
<p>I understand that each developer has the freedom to choose which license to use
for their products/libraries. My question is how can an organisation that claims
to be a proponent of freedom encourage the removal of freedoms?</p>
<p>I would like to ask how this shift is any different from religious fanatics who
tell you that their god is the one true god and there is nothing else.</p>]]></content:encoded></item><item><title>Eclipse TPTP on Ubuntu (64bit)</title><link>https://icle.es/2008/12/28/eclipse-tptp-on-ubuntu-64bit/</link><pubDate>Sun, 28 Dec 2008 18:15:45 +0000</pubDate><guid>https://icle.es/2008/12/28/eclipse-tptp-on-ubuntu-64bit/</guid><description>&lt;p>I run ubuntu 64 bit (technically, I run an ubuntu 64bit vserver which I access
from ubuntu 32 bit but thats not really relevant).&lt;/p>
&lt;p>In the open source world, I expect that all things which are accessible as 32bit
are also accessible and 64bit and ubuntu makes it automagic enough that
everything just works. Yes, I run into problems with closed source software like
Flash Player (recently resolved with flash player 10) and the Java Plugin but
that is another story. I use Eclipse and wanted to do some performance analysis
and benchmarking to find a bottleneck and installed the TPTP plugin; and ran
into a problem. It just didn&amp;rsquo;t work.&lt;/p></description><content:encoded><![CDATA[<p>I run ubuntu 64 bit (technically, I run an ubuntu 64bit vserver which I access
from ubuntu 32 bit but thats not really relevant).</p>
<p>In the open source world, I expect that all things which are accessible as 32bit
are also accessible and 64bit and ubuntu makes it automagic enough that
everything just works. Yes, I run into problems with closed source software like
Flash Player (recently resolved with flash player 10) and the Java Plugin but
that is another story. I use Eclipse and wanted to do some performance analysis
and benchmarking to find a bottleneck and installed the TPTP plugin; and ran
into a problem. It just didn&rsquo;t work.</p>
<p>To resolve it, I turned to google&hellip; In this instance, it turned out to be a
distraction and a red-herring. It lead me in the direction of installing
libstdc++2.10-glibc2.2_2.95.4-27_i386.deb which was difficult at best since
there was only a 32bit version of the package and that wasn&rsquo;t even in the
standard repository.</p>
<p>In the end, digging deeper, I found that it simply missed the following shared
object libstdc++.so.5.</p>
<p>All I had to do was install libstdc++5:</p>
```bash
sudo aptitude install libstdc++5
```
<p>and it worked&hellip; :-D</p>
<p>Now, I think that ACServer which Eclipse uses to do TPTP should not link to an
outdated library but that is another issue&hellip;</p>
]]></content:encoded></item><item><title>Breaking Software Down</title><link>https://icle.es/2008/12/15/breaking-software-down/</link><pubDate>Mon, 15 Dec 2008 15:53:43 +0000</pubDate><guid>https://icle.es/2008/12/15/breaking-software-down/</guid><description>&lt;p>&lt;a href="http://www.codinghorror.com/blog/archives/000987.html" title="Tending Your Software Garden">Jeff Atwood likens software development to tending a garden.&lt;/a>
I can relate to this. In fact, I would like to ask, if you have a nice plant in
one of your gardens, how complicated is it to &amp;ldquo;copy&amp;rdquo; that across to another one?&lt;/p>
&lt;p>I realise that I am moving away from the analogy here but there is an important
concept here. Libraries were born out of the desire to share and distribute code
to be re-used.&lt;/p>
&lt;p>The idea for
&lt;a href="http://en.wikipedia.org/wiki/Remote_procedure_call" title="Remote Procedure Call">Remote Procedure Calls&lt;/a>
dates as far back as 1976. Microsoft brought along
&lt;a href="http://en.wikipedia.org/wiki/Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE&lt;/a>
and then
&lt;a href="http://en.wikipedia.org/wiki/Component_Object_Model" title="Component Object Model">COM&lt;/a>
made this more generic and better.&lt;/p>
&lt;p>RPC is widely in use these days and there are several other mechanisms for inter
process communication including
&lt;a href="http://en.wikipedia.org/wiki/CORBA" title="Common Object Request Broker Architecture">CORBA&lt;/a>,
&lt;a href="http://en.wikipedia.org/wiki/REST" title="Representational State Transfer">REST&lt;/a> &amp;amp;
&lt;a href="http://en.wikipedia.org/wiki/SOAP_%28protocol%29" title="Simple
Object Access Protocol">SOAP&lt;/a>.&lt;/p></description><content:encoded><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/000987.html" title="Tending Your Software Garden">Jeff Atwood likens software development to tending a garden.</a>
I can relate to this. In fact, I would like to ask, if you have a nice plant in
one of your gardens, how complicated is it to &ldquo;copy&rdquo; that across to another one?</p>
<p>I realise that I am moving away from the analogy here but there is an important
concept here. Libraries were born out of the desire to share and distribute code
to be re-used.</p>
<p>The idea for
<a href="http://en.wikipedia.org/wiki/Remote_procedure_call" title="Remote Procedure Call">Remote Procedure Calls</a>
dates as far back as 1976. Microsoft brought along
<a href="http://en.wikipedia.org/wiki/Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>
and then
<a href="http://en.wikipedia.org/wiki/Component_Object_Model" title="Component Object Model">COM</a>
made this more generic and better.</p>
<p>RPC is widely in use these days and there are several other mechanisms for inter
process communication including
<a href="http://en.wikipedia.org/wiki/CORBA" title="Common Object Request Broker Architecture">CORBA</a>,
<a href="http://en.wikipedia.org/wiki/REST" title="Representational State Transfer">REST</a> &amp;
<a href="http://en.wikipedia.org/wiki/SOAP_%28protocol%29" title="Simple
Object Access Protocol">SOAP</a>.</p>
<p>I don&rsquo;t think software is broken down into small enough components. *nix is
great in that you can tag a whole bunch of commands together on the command line
to do some amazing things. I have personally piped data through a dozen or so
commands and scripts to do some interesting things.</p>
<p>If we could break everything down into individual components that could be
linked together, we would have a massive arsenal of interoporable tools that
each user can pick and choose to put together very powerful solutions.</p>
<p>How many times have you found a piece of software that does one thing really
well, but fails in something else. Then found another piece of software that
does the other thing really well.</p>
<p>For example, the extensibility of
<a href="http://www.mozilla.org/firefox" title="Firefox">Firefox</a> is fantastic but I love the
rendering of <a href="http://www.apple.com/safari/" title="Safari Web Browser">Safari</a>. I love
the Contact Management within
<a href="http://projects.gnome.org/evolution/" title="Evolution">Evolution</a> and the Mail
capabilities of <a href="http://www.mozilla.org/thunderbird" title="Thunderbird">Thunderbird</a>.</p>
<p>Why don&rsquo;t we break each software down into each of it&rsquo;s individual components
(and I am not talking about libraries here) and allow them to be deployed as
services usable by other pieces of software.</p>
<p>In other words, release the contact management capabilities of Evolution as a
product of it&rsquo;s own right with a pre-defined API that any application can link
into (including perhaps a web interface). Release the Mail management component
of Thunderbird as a service, Release GUI&rsquo;s as a component. Then we can pick any
GUI we want, link into a specific mail component and another addressbook
component.</p>
<p>Do one thing and do it well. In fact, let&rsquo;s take it one step further and release
a public API for each software component - an API for Mail, one for Contact
Management and so on.</p>
<p>Each software component can then be a black box that delivers this API.</p>
<p>Choice can be a bad thing if it makes it difficult to choose -
<a href="http://subclipse.tigris.org" title="Subclipse">Subclipse</a> vs
<a href="http://www.eclipse.org/subversive" title="Subversive">Subversive</a> is a good example
of this. Let us however, not confuse choice with flexibility.</p>
<p>Let&rsquo;s say that you want to find all the files within a folder modified within
the last 3 days containing the text &ldquo;abracadabra&rdquo; and then replace all
occurences in those files of the world &ldquo;super&rdquo;  with &ldquo;hyper&rdquo;.</p>
<p>To do this in linux, all you would do is chain find (to identify files modified
in the last 3 days), grep (to identify only the files that contain
&ldquo;abracadabra&rdquo;) and sed (to do the replacement).</p>
<p>If you know these commands well enough, you could chain something together in
half a minute or so. You could probably figure out how to do this with the
search tools in Windows within a minute or so but where this really shines is if
there are thousands of files that needs to be processed. With other search
tools, you would have to wait for the original search results to be returned
before running to replace operation. This takes up the users time.</p>
<p>With the chaining of commands, I have run it and worked on something else while
it completes.</p>
<p>Let me visualise a brave new world:</p>
<p>In this world, all software would be interoperable components. For example,
there would be components for:</p>
<ul>
<li>Mail account management (Perhaps genericised into configuration management)</li>
<li>Text composition (usage for mail, documents, plain text et al)</li>
<li>Text reading (again, usable for mail, documents, plain text et al)</li>
<li>Spam Filtering (already available to some extent)</li>
<li>Contact Management (optionally linked into organisation&rsquo;s LDAP server)</li>
<li>Task Management (Standalone
<a href="http://www.eclipse.org/mylyn/" title="Eclipse - Mylyn">Mylyn</a> if you know the
product)</li>
<li>Scheduling (or calendering if you prefer that term)</li>
</ul>
<p>If all of these components were interoperable, then there would a
<a href="http://en.wikipedia.org/wiki/Graphical_user_interface" title="Graphical User Interface">GUI</a>
that is generic and could bring all of these together. In this way, the people
working on each of the components could concentrate on doing one thing and one
thing well.</p>
<p>If we then start working on public API&rsquo;s in a collaborative fashion, each of the
component could be fleshed out to be as flexible and complete as necessary to
gain maximum benefit.</p>
<p>If these components provided the services as a network based API, it would also
allow for the components to be distributed across a network providing redundancy
and efficiency. This makes it easier to turn each desktop into more of dump
terminal concentrating purely on user interaction and getting closer to the
<a href="http://drone-ah.com/2008/12/12/invisible-interface/" title="Invisible Interface">invisible interface.</a></p>
<p>Software as a service has taken a step in the right direction. Can we take a
leap and have software component as a service&hellip;</p>]]></content:encoded></item><item><title>Evil Linux</title><link>https://icle.es/2008/12/12/evil-linux/</link><pubDate>Fri, 12 Dec 2008 14:33:21 +0000</pubDate><guid>https://icle.es/2008/12/12/evil-linux/</guid><description>&lt;p>I received an
&lt;a href="http://www.theinquirer.net/inquirer/news/965/1049965/school-teacher-bans-linux" title="School Teacher Bans Linux">interesting link&lt;/a>
in my email this morning. The story (which thinks that sauce and source are the
same thing btw)  covers a school in the United States that has banned the use of
Linux because &amp;ldquo;anything that wasn&amp;rsquo;t Windows was illegal and immoral.&amp;rdquo;&lt;/p>
&lt;p>I could only ponder about the sheer stupidity of this teacher and wonder about
the next generation of students brought up under this ignorance.&lt;/p></description><content:encoded><![CDATA[<p>I received an
<a href="http://www.theinquirer.net/inquirer/news/965/1049965/school-teacher-bans-linux" title="School Teacher Bans Linux">interesting link</a>
in my email this morning. The story (which thinks that sauce and source are the
same thing btw)  covers a school in the United States that has banned the use of
Linux because &ldquo;anything that wasn&rsquo;t Windows was illegal and immoral.&rdquo;</p>
<p>I could only ponder about the sheer stupidity of this teacher and wonder about
the next generation of students brought up under this ignorance.</p>
<p>I grew up with Microsoft, with DOS 3 as my first Operating System and went
through DOS 5, 6, Windows 3.1, 95, NT, 98, &amp; ME.</p>
<p>I also played around with BeOS, and various versions of Mac.</p>
<p>I was then introduced to Linux turned into an open source zealot and wiped out
my Windows installation in anger. Since then, while my primary operating system
is Linux, I still have Windows running on my Laptop and have both Windows &amp;
Linux on my home computer.</p>
<p>I have since worked with Windows 2000, XP, 2003 &amp; Vista. I love what Microsoft
does with these products. They do innovative things, pick up features from other
products that are useful and <strong>try</strong> to simplify things.</p>
<p>My Laptop came pre-installed with Windows and I never went to the effort of
installing Linux and I use my home computer to play games, which (whether I like
it or not) just handles games so much better.</p>
<p>As per the old joke, It is the software engineers job to make software as idiot
proof as possible. It is the job of the universe to create bigger and bigger
idiots. So far the universe is winning.</p>
<p>Linux &amp; Open Source software (in general) takes a different approach to
software. It should be easy to use and manage software but it also expects you
to understand (or at least think about) what you are doing or trying to do.</p>
<p>Microsoft seems to be under the impression that this is not necessary. The user
does not need to know what they are doing - they just need to know what is to
happen. e.g.</p>
<p>Lets take a simple operation - deleting a file. Before Windows 95, this used to
be a simple, difficult to undo operation. Windows 95 brings in the concept of
the Recycle Bin (or Trash), a concept that was available on the Mac platform for
quite some time.</p>
<p>After this point, you no longer delete a file on Windows - you move it to the
Recycle Bin, which will delete them from the disk when the number of files in
there exceeds the set capacity.</p>
<p>Now, from a users perspective, what they are doing is deleting a file - in fact,
thats what the menu item says - Delete. But what happens is completely
different. The file disappears from their folder. What they aimed to do - &ldquo;make
this file disappear&rdquo; has happened. However, the file has <strong>not</strong> been deleted.</p>
<p>Windows has effectively lied to the user since it is &ldquo;smarter&rdquo;. If the user
later discovers that they deleted the wrong file, it can be recovered easier.
However, that is not the point.</p>
<p>Microsoft software, are in general rife with such miscommunications. I find this
fairly insulting and this was one of the main reasons that I started using
Linux.  If you ask it to delete a file - it deletes it. If you want to move
something to recycle bin, it can do that too.</p>
<p>To go back to the original point, the ignorance shown by the teacher in this
school is exactly the kind that Microsoft panders to. Microsoft allows (nay
encourages)  its users to be as &ldquo;simple&rdquo; as possible and let Microsoft worry
about the rest.</p>
<p>Don&rsquo;t get me wrong. I think that Microsoft do a fantastic job in making software
accessible and easy to use but it should also help educate it users on what they
are doing and help them think about what they are trying to do. Don&rsquo;t pretend or
try to do their thinking for them. Thats their job.</p>
<p>&ldquo;Give a <em>man</em> a <em>fish</em>; you have fed him for today. <em>Teach a man to fish</em> ; and
you have fed him for a lifetime&rdquo;</p>
]]></content:encoded></item></channel></rss>