Let’s be clear:  I am a stubborn git.  I’m the first to admit it.  To the dismay or, perhaps, bemusement of my friends, I struggle with product concepts such as the iPhone, iTunes, Amazon Kindle, eBooks in general, Facebook and Skype.

My friends tell me it’s because I don’t like to conform with the “normal” things that everyone else does.  Things like broadcasting my whereabouts and the company I keep at all times in my life, wherever I am.  Apparently, disagreeing with the background, terms of service, patenting practices and Digital Restrictions Management (DRM) of various “social media” service providers is anti-social and rebellious. 

It’s a curious thing to be a digital pariah.

What my friends don’t understand is that I don’t restrict my opinions to Apple, Facebook Inc., Microsoft and Amazon.  It’s just that they’re the companies my friends use, so to relate to them I cite them as examples.  I feel exactly the same way towards some of Google’s services and products, although I do have slightly more faith in Google than any of the above named alternatives.  They do more good, in my opinion.  And, with Google, at least you have confidence in being able to delete anything you create.

My main objections to these services & products, then, are:

  • privacy: I do not wish to be “guilty by association” on any social network.  Being tagged without my permission, and/or the attempt of tagging me (whether I disallow or permit the tag – or ignore the attempt to tag) is not acceptable.  It is especially unacceptable when I have no faith that the service provider will protect my interests as a private individual and law-abiding citizen.  
  • security: anyone remember when the iPhone took pictures of its users without their knowledge?
  • product quality: I am not interested in any iDevice because of the standard of software engineering and product management.  I am also not interested due to the restrictive rules of the app store.
  • freedom and flexibility: smartphones are good if they are flexible.  If I buy any device with gigabytes of storage, I want to be able to use it for whatever purpose I choose.  And, I don’t want to use any device:
  • with a proprietary connector which requires an expensive proprietary cable to connect it to a computer;
  • which uses a proprietary, “secret” protocol that my chosen computer can’t connect to; 
  • that virtually prohibits me from putting my own digital content on the device, rather than that obtained through the device vendor’s sales channel;
  • that supports in any way the obscuring of content I have a right to, or in some way supports an ecosystem where the alteration, deletion or other control of content is deemed “acceptable” through the EULA;
  • that limits me!
  • On this last point, it worries me that Google Inc are appearing to adopt the Apple way of doing things on their Nexus devices – and in their cloud software.  Not being able to use additional data storage (no SD card in a phone, in this instance) means a greater reliance on the Google way of doing things.  Android software is becoming less flexible with regard to media storage (the camera app no longer lets you select the photo storage location, for example, although Android still supports external SD cards and will utilise media stored on it).
There is a greater trend also: that of the death of physical media and moving everything “into the cloud”.  There are a few fundamental problems with this:
  • Physical media can be shared and enjoyed by more than one person.  Sharing is not copying nor is it stealing.  If I am attending a family gathering – a party, say, then I am free to bring along a couple of CDs to play.  How can this simple act be replicated by cloud-only storage?  If we all use cloud-storage network devices at home, sharing a CD will become impossibly.  
  • One solution to this, touted by a friend, was to “bring along your iPod“.  Disregarding that I wouldn’t have an iPod, introducing this as a solution means I would have to ensure that my portable music player is up to date with all my music.  A solution to that is, of course, a cloud-based music service – iTunes and Google Play Music are two obvious contenders.  But there’s a further problem: connectivity.  Is a 3.5mm headphone plug to amp/speakers standard equipment in most households?  Unlikely.  So there my music stays, locked inside my device unable to be shared.
  • Books.  I can pick up a physical book, read it, share it.  I will probably get my book back if the borrower is respectful, thus I haven’t been denied it in the process of lending.  Can the same be said of eBooks?  Can one “lend” an eBook to a friend?  Perhaps.  More worryingly, though,, can it even be guaranteed that any digital eBook provider will not alter original material or remove any purchased books from my library?  Again, unlikely.
  • We begin to see, further and further, that DRM is abused by on-line content providers.  We are restricted in new ways that the old ways couldn’t (and shouldn’t) prevent.  It is troubling that access to information is price-controlled in this way; entire cultural values can and will be influenced by the (lack of) availability and slowly, surely, belief systems and perceptions of free thinking and free will may be curtailed, even ceasing to (legally) exist.   Hello, 2084. 
    This is why I will not lock my photo, book or audio content in any on-line silo.  I will always have off-line access to my copies of digital media and I encourage others to do this also.
    Does this make me a stubborn git? Or does this make me someone who is not prepared to endure extortionate business practices with items as important as art, literature and music…?

    Enhanced by Zemanta

    facebook engancha
    facebook engancha (Photo credit: Wikipedia)

    Oh dear.

    Many bloggers and commentors have read Mark Cuban‘s recent blog about Facebook‘s edgerank story sorting algorithm.  One could argue that at the level of Cuban’s business, small problems become big problems quickly.  But, on Facebook as in most walks of life, being “large” does have some advantages.

    One advantage is Facebook’s Page Insights.  Let’s take the smallest business.  In Facebook terms, it’s this:

    • a one person profile with no friends
    • one page owned/managed by that person with several likes
    If you want to build up a following quickly, you need to build up some Likes.  Be Liked.  Or, at least, look like you’re liked.  You probably get the idea.  This is marketing, after all.
    So, how about running a competition?  Provide an incentive for someone to come and “Like” you.  How about asking current customers (those who, presumably, like you anyway) to submit a review and hit “Like”.  Great.  
    Except it’s not great, really.  To use Facebook’s Page Insights, you need 30 Likes.  Yes, it’s not a tall ask, but why?  The problems with Facebook for small business start with this innocent enough little idiom.  No, there should not be a 30-Like threshold to see who Like’d you.  There should be 1.
    Facebook’s habit of making it hard to access and understand your own data, or data relating to you, stems from the misguided notion that building up more visible momentum in your brand’s page means you’re more like to find Facebook “sticky”, and consequently more important (vital, even) for the success of your on-line marketing.
    Does Google Analytics insist that you have over 30 visitors per month to your site before it can be bothered to report this back?  
    Enhanced by Zemanta

    I was recently asked to explain the difference between setting permissions on a directory to either 755 or 751.
    In 751 mode, a user who isn’t the owner and isn’t in the group assigned to that directory can still execute anything within that directory, provided they know the name of the executable file.  They are unable to browse the contents of that directory to find the name.  Therefore, 751 is inherently more secure than 755.

    The funky, geeky bit

    For reference, each number of 7 5 1 is an octal representation of the number of permission bits set on the file/folder.  There are 3 bits per field.  
    Taking the 7, from 751, this means all bits are set to 1.  This is how it works (think of it like a lookup table):
    meaning:     r   w   x    (read, write, execute)
    bit value:   4   2   1    (< - this is  the octal lookup bit)
    bit set to:  1   1   1    == 4 + 2 + 1 == 7.
    If you take the value 5, then this is how that’s set in the bit fields:
    bit set to:  1   0   1      == 4 + 0 + 1 == 5.
    Remember, there are three fields!  So each field – the “owner”, “group” and “others” fields – contains the sum of permission bits set for that field.  The “751” is actually a nice, easy way to see permissions.  The actual permissions set in a 751 situation are, in binary “nibbles”, 0111, 0101 and 0001. 

    Demo – try it yourself!

    As root, set up a test dir in /tmp/ called test, with 751 perms.  Then create a file within that called hello.sh which simply outputs “hello” on the command line when executed.  To achieve that, simply do this (as root, remember):

    # mkdir /tmp/test

    # touch /tmp/test/hello.sh

    # chmod +x /tmp/test/hello.sh

    Then edit /tmp/test/hello.sh and put these two lines in:
    #!/bin/sh

    echo Hello
    /tmp/test is owned by root (rwx / 7) , has the root group (r-x / 5) and the "world" just has execute (--x / 1).  When using your own user account, trying to do a ls /tmp/test - should tell you that permission was denied.  

    However, you should be able to do /tmp/test/hello.sh which outputs "Hello" as expected.  

    If you bump that world permission to r-x / 5, you would be able to see that file because ls has the necessary permission to read the directory contents.

    As a Debian user, you may choose to adopt the distro-managed rebuild of the world’s greatest web browser.  But, by doing so, you may not be able to use G+.  Don’t worry, the answer is at hand.

    Visit the Firefox add-on page for User Agent Switcher:

    https://addons.mozilla.org/en-US/firefox/addon/useragentswitcher/

    Install the add-on and restart your browser.

    Now, go to Tools > User Agent Switcher > User Agent Switcher > Options…

    Add a new User Agent, call it Firefox 11.

    Add the following text in the fields:

    • Description: Firefox 11
    • User Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
    • App Code Name: Mozilla
    • App Name: Netscape
    • App Version: 5.0 (X11
    • Platform: Linux i686

    If you’re running an amd64 build, plonk that in the Platform field instead (it’ll probably already be populated).

    Make sure there is no reference to Iceweasel in the User Agent field.

    Make sure this user agent is active, and then browse to Google+.

    Have fun! 🙂

    Minimalism & Debian

    Less is more, as the saying goes.

    While I love using Fedora in my daily work, sometimes when I want to relax I find using an alternative distribution is good therapy.  Fedora is fabulous with its GNOME Shell finery, but occasionally I hanker for something simpler and more lightweight.  It’s also good to see how the other half lives 🙂

    So, I decided to put Debian on my netbook.  With no GUI.  Everything I do on it must be by the command line, including web research.  Compared to Fedora, Debian‘s system requirements are practically non-existent, which is especially good if you want your system to still run nice and quick.

    First steps…

    1. Firstly, I had of course to grab the distribution.  I’m not over-fussed about running cutting edge stuff on this machine.  For me, the most important thing is a low-maintenance base where I don’ t need to think much about the distribution changing every 6 months.

      I visited the Debian Mirror List and grabbed a NetInst CD image.

    2. Next off, I plugged in the USB CD/DVD drive and installed the software, making sure I didn’t overwrite my XP partition.  Well, you need a reminder every so often how awful life used to be.. 😉
    3. I won’t go into the installation process here – there’s plenty of documentation elsewhere which covers that.  So, once installed, I really wanted to keep the installed software as trim as possible.  That is, with one or two exceptions…
       
    1. Firstly, I have tried and tried it again but I just can’t/don’t/won’t do vi, vim or anything similar.  It’s just not my bag.  It’s emacs for me.  I also want to keep my mail inside emacs, so it’s goodbye to mutt – even if it does suck less, apparently 😉
    2. Also, Exim4.  The servers I manage don’t use it (generally it’s Postfix or QMail) and I already have a tiny smattering of Sendmail knowledge – so I have no desire to pick up on this.  I’m sure it’s a fine MTA and undoubtedly there are many technical reasons why I should keep it on my netbook… but even so, no thanks.

      Therefore, my software changes are:

      $ sudo aptitude remove exim4 exim4-base exim4-config exim4-daemon-light vi mutt

      $ sudo aptitude install emacs w3m-el sendmail

  • So far so good.  However, I was still stuck with a chunky 80×25 character screen when booting up, which is real ugly.  Through much searching and grub configuration editing, I found that my answer was actually to install the intel video package.

    $ sudo aptitude install xserver-xorg-video-intel

    You’re on to a winner here, because Debian Squeeze is already set up for Kernel Mode Setting.  In other words, as soon as your system starts booting up, the video drivers get loaded and the optimal video mode is enabled (or, at least, that’s the intention).

    Whether or not it’s worth specifying screenmode in grub is open for debate.  FWIW, I put this in /etc/default/grub:

    GRUB_GFXMODE=1024x600
    GRUB_GFXPAYLOAD=1024x600x16

    … And in /etc/grub.d/40_custom:

    set gfxpayload=1024x600x16

    Then, I simply updated grub with the new config:

    $ sudo update-grub

    Please note that this step relates to my Intel-based netbook.  Yours may vary.

  • The only significant piece of the puzzle remaining was to get wireless sorted out and connect to my server:

    $ sudo aptitude install wireless-tools iw wpasupplicant autofs nfs-common

    ** PLEASE NOTE: this step assumes your wireless network device doesn’t require firmware or that you already have the firmware installed in /lib/firmware. **

    Once done, you need to uncomment the /net line in /etc/auto.master and restart autofs:

    $ service restart autofs

    If you want to refer to server by hostname and are not running a DNS server, add the hostname to /etc/hosts (somewhere below the localhost lines):

    111.222.333.444      myserver.mydomain.com  myserver

    At this point, assuming all went well, you can cd to /net/ in either the shell or a file manager such as nautilus (if running a GUI).

    So, this takes care of a basic local network configuration, but we still need to actually get connected to it on wifi.  So, there is, in my /etc/network/interfaces:

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet dhcp

    # Wireless
    auto wlan0
    iface wlan_mynet inet dhcp
    wpa_ssid my-network-ssid
    wpa-psk  my-network-key

    Once done, save this file and change the permissions for extra security:

    $ sudo chmod 0600 /etc/network/interfaces

    – and connect up, like this:

    $ sudo ifup wlan0=wlan_mynet

  • Voila!  With luck, maybe a little patience, and possibly an extra step or two (which you can hopefully figure out, if needed) these are the key set up steps which will make your netbook/laptop nice and lean, and perhaps more fun to play with.

    Next time, I’ll go through a few tools I use for ‘net stuff.

    *Getting into Getting Things GNOME!*

    (Edit: this is an old draft, now published for testing purposes)

    This is the beginning of what I hope will become a multi-part journal of my adventure into contributing free software.  I thought I’d share my education, FWIW! 🙂

    Part 1: Read The Flipping Manual(s)!

    As a user of a great amount of free software, I often wondered what was involved in producing it.  I was aware of the basic process – or at least I thought, but not really much of the details.

    Here’s how I kinda reckoned the basic process works:

    My take on the basic process of Free/Open Source software projects

    1. Some people (usually one person) would start a project off, following their interest in some way.
    2. He/She would set up somewhere for software code to live (a repository) which would be available to anyone to download.  This, the source of the project’s code, would be what’s often referred to as “upstream”.  It’s where the goodness flows from.
    3. Other people interested in this software could also join up and contribute changes to the code.
    4. At some point, someone involved with a distributor/vendor like Red Hat or Debian would “notice” the project and be interested in packaging up the software.
    5. The upstream software would get duly packaged up and released into the distributor’s/vendor’s “downstream” repository.  Users could then install and use it at-will.

    This only really covers the basic of software creation though.  What about bugs?  Even the best software has the odd bug or two.  What happens then?

    There are two main places for bugs to be recorded:

    1. On a downstream bug reporting/management system.
    2. On an upstream bug reporting/management system.

    Typically, users of the distributor’s packaged version of the software will report bugs with it on the distributor’s (downstream) system.  Why not on the upstream one?  Mainly because a distro (distribution) will contain an older version of the software that may, upstream, now be fixed of that bug.

    When a distro user reports a bug, he/she is reporting against the distribution’s version of that software, not against that software in general.

    Doesn’t this create a duplication of bug reports?

    In a nutshell, yes.  But it’s better that the same bug is reported twice, than not at all.  Quite often duplicates relating to the same issue are recorded, even on the same system.  They are simply marked as such, with one bug record being the “master”, to which the others are link for reference.

    Getting involved upstream

    The project I chose to get involved with is Getting Things Gnome! – a Getting Things Done-inspired task manager application for the GNOME desktop.

    My motivations to get involved were:

    • I like the GTD methodology – it helps bring focus and organisation to my working day;
    • I want to learn how to program in Python – a well respected and widely utilised programming language;
    • I want to see the gtg tool develop so I can use it more effectively; and
    • I want to contribute something back to the free/open source software community.

     

    Expressing (and progressing) an interest

    The first thing to do was to express my interest with a project leader.  From doing this, I received very supportive and constructive emails relating to ways in which I could contribute which suited both the project and me.  (a hat-tip to Izidor Matušov for enormous support and coaching in the early days).

    Secondly, after receiving such great support, the thing I soon realised is that the responsibility to check things out really rests with me.  I want to be involved, so I should be the person reading the mailing list posts, reading related blog posts, reading the web site, reading the manual for hackers… You get the idea.  If you’re considering joining a software project, you need to read a lot to learn what it’s all about!

    Finally, be prepared.  Prepare your computer to work in the best way possible.  Prepare your mind to be opened up to learning new programming techniques.  And prepare your attitude – you will be rewarded and pleasantly surprised by the capability and maturity of others who are already contributing to the project.

    Getting involved in free/open source software is educating, inspiring, liberating and, most importantly … (I hope he doesn’t mind me stealing this line from his first email), “Don’t forget, hacking opensource should be about having fun!”

    And it is.

    So, from time to time (read: most of the time) when I’m working I listen to music.  More often than not, it’s electronic in one form or another.

    The point of this post is simply to list a few stations I like listening to, to build up my collection.  If it grows over time, I’ll probably divide into genres or something.

    Here’s a few to get started with.

    Radio Schizoid : http://78.46.73.237:8000/schizoid

    PsyRadio.fm : http://streamer.psyradio.org:8010/

    Chromanova : http://85.25.86.69:8000/

    Digitally Imported Goa-Psy Trance :

    After Hours – Trance : http://fr3.ah.fm:9000

    PsyMusic UK : http://www.psymusic.co.uk:8010/

    Bassdrive :

    Google is undoubtedly suffering from some adverse PR in respect of its new privacy policy.  While it may have considered itself on to a PR “winner” with its “privacy made simple” approach, there has been considerable backlash in opinion and re-consideration of the use of its services.

    So, what could Google do to demonstrate that it still takes on-line security seriously?

    How about setting up its own Certificate Authority, and issuing free SSL certificates?

    Google has the infrastructure, manpower and, I’d argue, interest in doing such a thing.  In fact, in many ways, it already offers the flesh around this missing skeleton.

    Perhaps it could support the CACert effort with funding and enough energy to get it through the audits required to have their root certificate included in Mozilla’s Firefox, as-shipped?  And, while Google are at it (restoring their image of benevolence, that is), they could include that root certificate in Chrome too.

    Just saying…

    Strong headline maybe, but if you’re not on Google+ then you might consider your stance after reading this.

    Jeri Ryan, best known as borg escapee “Seven of Nine” in Star Trek:Voyager, hosted a Hangout today on Google+, in celebration of having over 1 million fans subscribing to her feed.

    Someone lucky enough to participate
    in Jeri Ryan’s hangout!

    There was a lot of buzz around it, with hundreds of comments flying around under the Hangout post, updating in real time.  It was pretty hard to get a video stream from Google, such were the number of simultaneous subscriptions.

    In many ways, this reminded me of the excitement of the early internet, where we learned about things such as bandwidth… The kids today, they have everything!

    Still, the excitement wasn’t only in the new broadcast/interaction (intercast?!) method through G+ hangouts, it was the realisation that, should they choose, celebs can now use a nice, safe way of engaging with their fan base.  Directly.  Over time, this may disarm broadcast controllers and empower people, be they celebrities or fans, into collaboration through constructive, enriching dialogue.

    Wil Wheaton, self-confessed geek and well-known actor likewise, was notably impressed with hangouts.  It was refreshing to see people observing great netiquette while chatting with Jeri.  How much more enjoyable, this, than suffering typically mundane updates as you might in another social networking system.

    As Google measures and expands upon functionality in G+, I hope they’ll see fit to bring more interactive tools to the table.  I get the feeling that hangouts are just the start of the next revolution.  As Android gathers increasing momentum and Google+ apps appear on both major mobile platforms, we could see real-time social networking emerge as the number one communication method.

    People, known and unknown to each other, will communicate, partly in mimicry, utilising all tools at their disposal.  And, with open source platforms gathering adoption, they will inevitably add both their biological and technological distinctiveness to our own. 

    Resistance, my friends, is futile.

    UPDATE – here’s the recording: