Friday, 25 June 2010

HTC Desire


After surviving for a few months with an old Motorola V70e, I am back in the world of 3G and smartphones. My 1 year old ended the life of the screen on my HTC Touch HD just a few months before I was due an upgrade. Gotta love kids...

Thanks to the folks at Phones4u for getting me an HTC Desire upgrade, not only for free (if I went direct through Orange it would have cost me 50 GBP to upgrade to the same phone) but also with the cash back I got for trading in the Motorola my wife was able to buy herself out of her old contract and get herself a new iPhone.




First Impressions


This is my first Android phone. I have been using Linux for years now, so have been wanting an Android device for some time, but was stuck with the HTC Touch HD due to the contract. The Touch ran Windows Mobile 6.5 and was a nice phone, but in comparison to the Desire, much slower. Slower as in the time it takes to open programs, to smoothly scroll around the screen (where you could). Of course the Desire has a Snapdragon 1GHz processor compared to the HD's 525MHz one, so its bound to be better.

The screen is just gorgeous. The touch screen is so nicely setup, needs very gentle pressure, almost to the point where it is reacting before I make physical contact. Its very responsive and always does as I am intending it to do. Sweeping between the 7 home screens is very smooth and user friendly. And of course the ability to multi-touch is awesome and so very well calibrated. On the HTC home screen, one can pinch two fingers on the home screen and it zooms out to show all seven home screens as thumbnail for quick selection. It's very well thought about. The colours are rich and bright and I just love it!

I haven't used an Android device before so am not sure what a raw Android interface is like, say on a Nexus One. The Desire comes with HTC's own front end, HTC Sense. To my naive eyes, this just seems to add a menu bar at the bottom, where you have a permanent 'phone' button, and also a button to access your apps, and a button for adding stuff to the home screen (widget, apps etc). How much this differs to raw Android I am not sure, but it seems to work well for me.

The camera is pretty good, as far as small lensed phone cameras go. It's may be the same camera in the Touch HD as it is also 5MP, but it performs a lot better. The Touch HD camera was my biggest complaint. In anything other than broad daylight, it was painfully slow, taking a good 4 seconds from pressing the button to the actual photo being taken. This was no good for me trying capture moments with my toddler who never stayed still. In daylight it was fine.

The Desire has a flash which of course helps no end in low light conditions, even night scenes, although I find the quality of pictures taken with the flash not very good, to be honest.

But overall it has improved a lot, taking pictures quickly. It has touch focus, which I love for setting the point of focus for arty pictures. Also it has face recognition, which seems ok, although I have yet to find it of real use. Another thing it seems to let you do is to just press the button fully to quickly take a shot; the HD would not allow this, which contributed to the slow capture in low light.

Here is a sample photo taken to demonstrate the touch focus. Obviously I touched on the left hand side to make it focus on the object in the very near foreground.



I'll talk about apps that I have discovered and am using in another post as there is probably going to be a few. I love the concept of the Market place being contributed to constantly by software developers, both professional and amateur. Thee seems to be an app for everything. It's such a great concept and the Market software works pretty well.

As expected the setup out the box was very oriented towards prompting Orange with custom Orange apps. I soon got rid of them and started setting my home screens up from scratch, which seems to be something that constantly evolve I think, as today I am still constantly rearranging things. But I think hats part of the beauty of it, its not a phone with a fixed menu, you can just keep changing it at whim.

What I like is how well things seek to just flow. Everything that seems to be the obvious way to go is there. It's very intuitive. I find I am experimenting with different ways to control things and finding that most of the time it does work like that. It really gives sense of a lot of different people have given input in to how it should work audits all been implemented leading to such a usable device.

My wife has an iPhone. I find it utterly boring as far as the phone and its OS goes. You can play with apps but the phone is nothing. The Desire I can play with all day exploring how it works and finding new ways to do things.

I think they say, only nerds have Android phones and can see why.

Created with Drupal Editor

Tuesday, 6 April 2010

phpgedview Genealogy

I thought about starting a family tree a while back and finally got round to starting something this week. One of my criteria was that I wanted it to be web based so that I could access it from anywhere, keeping it in the 'cloud' so it wasn't tied down to just one computer in my home and also to have the ability to give other people the ability to log in and edit the database.

I thought my parents might like to contribute what they know towards it, so the web based option will work well. I can create them a log in and they can edit it online from where they are.

I am not quite sure yet the best way to find out how to trace your ancestors, but I am sure that will come as I get into it and start asking questions, as obviously, many people do it. I am not sure how big my family gets, but I know my wife's side is very big, and has origins in rulers of Ethiopia, so that will be interesting to discover.

I know that some of my wife's family have already done a lot of this work, but I am not sure at the moment if I want to just ask them for info or unearth it myself. Seems pointless just filling it in from someone else's hard work.

Anyway, the software I am trying out is phpgedview. This installed VERY easily on my Ubuntu 8.10 web server. Just a case of extracting the zip into your chosen directory and running the config page.

I have no experience with genealogy software, but I like the way this works, with the ability to add a lot of detail about each individual and it is very intuitive as to how all these people are linked. It kind of forces you to only add people who can be linked to existing individuals in the database, avoiding having floating individual who are not connecting to anyone and therefore not part of the 'tree'. As an admin though, one can add unlinked individuals if necessary.

I have had little time to play with it yet, so not sure how it can be customised, if at all, but the good thing is that it is built on a GEDCOM database, which is a standard for most genealogical software. So my database could be exported into another genealogy package.

It allows you to view various charts and download reports of individuals, families etc in PDF or HTML format for easy viewing or printing.

So far so good, hope to build up a comprehensive database.

My set-up can be viewed here but I think the viewing of details is limited by non-members. I am still to work out the details of privacy levels.

Tuesday, 23 March 2010

My Brain


I was listening to Are We Alone podcast this morning on the way to work (on an old iriver instead of my HTC Touch HD - but that's another story) and it was all about how your memory works. One thing I always think about and complain to others about is what I perceive to be the state of my memory.

I really think I have problems remembering things. I think I spend a lot of time listening to podcasts (science, linux, etc), reading literature/blogs and watching documentaries and I am quite annoyed at the fact that I seem to really struggle to retain all the interesting facts that I am reading/listening/watching. I could read a book on something, thoroughly enjoy it, then forget most of it. The subject could come up in conversation and I always feel that I should be able to speak up because I have read about it, but I usually quite blank!

Its really beginning to bother me as I imagine how much I would know if I remembered more that I took in, as I do feel like I make an effort to keep myself reasonably well read. Its worse when I hear someone talking about something that I know I have learnt about, and they are saying it wrong, but I am not able to recall the facts to put them right.

One of the interesting things in the podcast was that 2 main things are detrimental to whether you remember something or not: 1) Interruption and 2) Concentration (I actually can't remember from this morning if that's the right word, but it fits for what I remember I was going to write about).

Interruption is obvious and an external factor, but concentration is really interesting. I realised when I heard this that that is exactly what happens to me. I find myself all the time when reading or listening to someone, realising that my mind has actually wandered onto something else and I have to kinda snap myself out of it.

I actually did this whilst listening to the podcast as I was thinking about the above paragraph, so missed the next few minutes of the podcast! And then when I realised that's what I had done, I started thinking about that too missing even further minutes! Its ridiculous.

I don't think I have problems, I just think I want to be able to have a better memory, as I do have interests in many things and my mind is always going at a hundred miles an hour on different topics.

So I guess if I really do think it is a problem I will have to find ways to train my memory... can only be a good thing...right?

Monday, 8 March 2010

Samsung N130

Recently got a new netbook in the form of a Samsung N130 to replace my Advent, which met its demise at the hands of my 20 month old. It was replaced on household insurance fortunately and its spec seems basically the same. I think they're all much of a muchness really. Seems like a nice netbook for my basic purposes.

Firstly booted it up into XP to ensure it worked. Was a bit put off by the Samsunng recovery facility, which has a partition of its own plus it also wanted to split the XP partition further into a C: and D: and run a backup. Took ages before I could get to actually use it. The XP install is about 6GB! So didn't look around that much.

So I quickly set to installing Ubuntu9.10 on it from a live USB stick, setting up a dual boot. I kept XP seeing as it was already paid for and has its occasional use, but I am very tempted to wipe out everything, including all the restore nonsense and just have 100% Ubuntu. But I know I would probably regret it. It would be nice to be able to clean it up to just a Windows partition and an Ubuntu partition, but I don't know how to get rid of all the Samsung stuff. Suggestions welcome!

So as usual, Ubuntu installed, booted and worked wonderfully and quickly. So, so pain free and simple compared even just to the XP initial setup, let alone a fresh XP install. My only hold up was wireless, as often encountered. But a quick bit googling quickly found a solution here. Sorted, all working! Updated and installed a few essentials to get started.

On a side note, was a bit pissed off with the insurance company. Made it clear from the beginning that I wanted the old one back if possible. The screen was smashed but I thought I could use it as a little server. They told me no problem on multiple occasions I could get it back.

So I sent it off to be innspected, very time consuming process, as one glance would show how beyond repair it was and got a call back to offer the Samsung. Agreed on the Samsung and asked for the old one to be sent back. 'That'll cost you £100 please'

'Eh?!'

Apparently they failed to mentioned that as soon as I sent it off it became their property and I had the right to buy it back! Maybe this how all insurance companies work, I don't know, it was my first encounter. So I ended up just paying £15 for the HDD! Gits!

Thursday, 10 December 2009

Creating a Simple Subversion Server on Ubuntu

For a while I have been trying to learn some programming skills. It is something I would like to do purely for fun and if I can get to a stage where I have decent programming capabilties then I can enjoy writing applications and perhaps start giving something useful back to the Linux community.

To start with the best intentions, I decided to set up a simple Subversion version control system on my server to allow me to keep control of my programming progress in an orderly manner. This blog entry just simply describes how I went about setting it up.

Subversion is a version control system which one can use to keep track of a project and have the ability to 'check out' stuff to work on then 'check in' the changes, keeping old revisions of work in case you need to revert back to an earlier version. This is great, especially when learning, as you don't need to keep saving new copies of your program as it develops every time you want to try something new in case you mess it up and need to revert back to your previous version.

You work on one file (or multiple) and keep checking in your changes, creating many versions which you can always fall back on, but in your working area, you just see the latest version.

I am sure more experienced users may well spot flaws in my set up, but for now, as a beginner, it works well enough for me.

Firstly, I am using an Ubuntu 8.04 LTS server on a VPS. To set up subversion, I followed the following steps:

Install and Setting up Subversion

  1. Firstly, install subversion, easily done with: sudo apt-get install subversion
  2. Then set up a location where subversion will create and manage your projects. I created a directory in my home directory called 'svn'.
  3. Then create another directory within 'svn' to hold the repositories, e.g. 'svn/repos'.
  4. Then create a group for subversion, in this case I chose 'subversion'. I used the command (as root) addgroup subversion
  5. Then change the ownership of the directory 'svn' and all within to the new group: chgrp -R subversion /path/to/svn
  6. Next add write permissions of memebers of the group to be able to write to 'repos' directory: chmod g+w /path/to/svn/repos
  7. Next, to make sure everything created within svn/ is owned by the group: chmod g+s /path/to/svn/repos
  8. Then add users that you want to allow to use subversion to the group: adduser <user> subversion


Creating Repositories

Now we can add some projects or repositories to subversion to work with. A project can contain a single file or multiple files, so for one of my first projects, I have multiple different programs where I have just been experimenting; they are all under one project or repository.

To create repositories:

  1. Go to the repo directory: cd /path/to/svn/repos
  2. Before creating a repository, set the umask to '002'. This allows the following created files to have the correct permissions: umask 002
  3. To create a repository called 'project1' execute: svnadmin create /path/to/svn/repos/project1
  4. Reset umask: umask 022
  5. Now the new repo is created, go to some location elsewhere (you don't work in the repo directory, this is where subversion keeps all its data) and checkout the initial version: cd /path/to/somewhere/eg/home/user/wip If working locally, i.e. on the server where subversion server is running: svn co file:///path/to/svn/repos/project1 This will check out the current revision of the project, which at this stage is revision 0. It will create a directory named 'project1' wherever you perform the command.
Now you can create or copy existing work into this directory and do whatever you want until it is time to check your work in.

Working with Repositories

As we just checked out the first version of project1 and added some files into it, we now need to check in the work to save it in is current state.

  • Firstly we need to 'add' the files to the project. Working within the working directory: svn add file1 file2 etc This should confirm it has added the selected files to the project.
  • Next we have to 'commit' the changes. This saves the data of the current iteration of the project to the subversion server.
  • svn commit -m "Add a note here to describe your changes" This should confirm to you it is adding files and uploading them and its current revision, in this case, 'revision 1'.

    Now another user (who is in the subversion group) can check out the latest revision somewhere else on the system by performing the same commands and it will create a working directory and copy all the files we initially added for them to work on, at revision 1.

    If someone else does work on the project and updates it with changes, we need to be able to get the latest revision to work on. To update your local working copy to the latest revsion, simply go to the working directory, e.g. /path/to/wip/project1 (not in svn/repos/) and: svn update This will pull down and overwrite the local copies with the latest revision.

    Checking Out Remotely



    More than often, you might want to work on your project on a local machine, i.e. not logged into the server, especially if working on GUI apps. The way I am doing it is via ssh. This means that only users with an account on my server and ssh access can download repos.

    I do this with the following command (after setting up and getting into a suitable working directory locally): svn co svn+ssh://servername.com/path/to/svn/repos/projectname This then prompts me for my ssh password twice and then downloads the latest revison of the project to my local directory.

    I can then use the same commands to add, commit and update this directory.

    Non Standard SSH Port


    One note worth adding, I use a non-standard port for ssh access to my server. To allow for this when using the ssh method I needed to edit ~/.subversion/config

    Find the section titled '[tunnels]' and uncomment/add/edit the line containing 'sshtunnel' within to look like: ssh = ssh -p <your port number>

    This will allow the svn+ssh method to work with your non-standard port number.

    Hope this helps someone and also if more experienced users read this and think I am doing things wrong or giving out misleading information, please do let me know so I can update this information and also my own set up!

    Friday, 4 December 2009

    2012 Panic Article

    A small article from a newspaper (not sure which) that my father sent me highlighting how people can easily get themselves worried about mythological events with no evidence to back them up, yet fail to bat an eyelid at 'real' problems happening around them. i.e. crime, global warming, nuclear war etc...


    Wednesday, 9 September 2009

    Panoramic Photo Stitching With Hugin

    Update 19 September 2013: I have since updated the gallery page. As I am moving away from using Drupal, some or all of the links below may not work any more. I made a simple gallery page which makes use of Brain Maps API to emulate the Zoomify function. I also used the great jQuery Masonry library to layout the gallery page.

    Something I discovered a while back was stitching photos together to form panoramas. I have been trying out a few examples, which are shown in the pano gallery. Not much of a great selection, but I keep meaning to do more.