Tuesday, 4 November 2014

Peak Flow Android App

I have been a professional software developer for close to  two decades, and whilst my day job takes up a lot of my time I still like to write software in my free time. More recently, I have been looking in to mobile application development; after all, mobile is the future! So, some time in development I am pleased to have released my first app for the Android platform called Peak Flow.

This app is aimed at Asthmatics and allows you to record and track your daily peak flow readings. You can also plot graphs and share them with your GP, Asthma nurse or even your friends.




If you would like to find out more please head over to the web site, or grab it directly from the Google Play Store.



Wednesday, 30 November 2011

Silent Start

I love my little HTC Android handset, but one thing that does bug me, despite HTC's moniker of "Quietly Brilliant" is that every time you turn the handset on it plays a loud and annoying startup sound which cannot be disabled. So, to combat this I have put together a small Android App which silences this noisy start.

The app is fairly simple. It switches the ringer and media volumes to silent when you shut the handset down, and restores them again when you switch the handset back on and bootup has completed.

If you wish to install the app you can find the apk file here. In order to install it you will need to ensure that you have "Unknown sources" option enabled which you will find in Settings -> Applications.

I have only tested it on my own HTC Wildfire S so any feedback from other device users would be greatly appreciated.

Note : Doesn't currently seem to work correctly with Fast Boot enabled.

Friday, 23 September 2011

Remove Blogger Image Borders

By default, Blogger places a shadowed border around all images. Now, you may like the border and you may not. If not, keep reading as I will explain how to remove the border from all images.

You will need to make some changes to the template of your blog. There are a few steps involved, but it's a fairly simple process:

  1. Click on the design option and then select Template Designer.
  2. From the design screen click the Advanced option.
  3. Scroll to the bottom of the advanced options and select 'Add CSS' (see fig below).
  4. Cut and paste the following into the custom CSS pane:
.post-body img {
    border: 0px;
    -moz-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
}

The CSS should have an immediate effect and you should find that your images loose the border. If you are happy, click the 'Apply to Blog' button and your changes will be saved.

Adding custom CSS

Monday, 27 June 2011

Android - Adding A Hidden Network

I like to keep my router locked down and so I keep my SSID hidden. This has never been a problem, until that is, I bought myself an Android smartphone. Although it was possible to connect to my hidden network by adding it manually and entering the password details when prompted, it only seemed to connect the first time. Subsequent connections would always fail. In the end, after some Googling (other search engines are available) I managed to resolve the problem:

  • From your home screen hit the menu button and select settings.
  • Select Wireless & Networks
  • Select Wi-Fi settings
  • Select Add Wi-Fi network
  • Enter the SSID for the hidden network. DO NOT CLICK SAVE.


  • As you can just see from the screen shot the form is in fact scrollable and contains more than just the Network SSID value. Scroll the form to reveal the security type list box. 
  • Select the security used for your network.
  • Scroll the form further to reveal the password box and enter the password.


Click Save and it after a few seconds it should connect! And that should be it. You should find that it will now connect every time. Happy Surfing!

Monday, 13 December 2010

Ugly Opera Fonts Under Linux - How To Fix It

The latest incarnation of the Opera Browser, version 11 is currently in Beta (at time of writing) and so far I have been really impressed with it. I may finally have found an alternative to the excellent, but increasingly sluggish FireFox. However, despite it's speed, overall elegant looks and ease of use the first thing I noticed upon installing it was how ugly most of the fonts looked (something that had previously been fine in earlier 10 releases) and no matter how much tweaking I made to my .fonts.conf file I couldn't improve things. I then discovered that during the 10.x cycle Opera switched from using .fonts.conf to xrdb. Adding the following into the .Xdefaults file in my home directory and re-starting X solved the problem and now the fonts look great again :

Xft.antialias: 1
Xft.autohint: 1
Xft.hinting: 1
Xft.hintstyle: hintslight
Xft.rgba: none


If you find after doing the above the fonts still look ugly, it may be that .Xdefaults on your system is not being read or honored. So, add xrdb -override .Xdefaults to your .bashrc script and try again! As you can see from the screen shots below - the fonts look much better after the config change.



Friday, 12 November 2010

Bye, bye Metal

My IDE of choice is NetBeans and my development platform, Mandriva Linux with a KDE desktop. During my time as a Java developer I have always run NetBeans (and Java Desktop applications in general) using the default Metal look and feel having found the GTK laf unusable on my KDE desktop; the fonts, tabs and menus look awful. So, when I learnt about a new look and feel called Nimbus that was to be introduced with JDK 6 u10 I was eager to try it out. However, my enthusiasm soon turned to disappointment when I discovered similar rendering problems I had found with the GTK laf, so, back to Metal I went.... Until a few days ago when, with my system on the latest updates of JDK 6 and NetBeans I decided to try it again. This time I was pleasantly surprised - it looked fabulous! The fonts, tabs, menu - all rendering perfectly. All of a sudden NetBeans looked less flat and more polished.



It was a shame to read in a recent post that Oracle has decided to keep Metal as the default laf for JDK 7 rather than switching to Nimbus. But for me, I think I will be making a permanent switch to Nimbus. Bye, Bye metal. You did a good job but now it's time to go...

Wednesday, 17 February 2010

Parsing SharePoint Metadata

The SharePoint Document libraries hold a lot of metadata against each document which is returned in the web services in the ows_MetaInfo field. This is a long string of metadata which, in the GetListItemChanges method is broken up into lines making it easy to pick out each key and value pair. However, the GetListItem methods returns this metadata as a plain string leaving it up to you to parse and turn in to something meaningful. After much head scratching and memory refreshing on regular expressions I have come up with a snippet of code that, for all my testing so far, successfully pulls out each key and value pair :

Pattern pattern = Pattern.compile("(\\w*):\\w{2}\\|");
Matcher matcher = pattern.matcher(ows_MetaInfo);

boolean fnd = matcher.find();

while (fnd)
{
    String key = matcher.group(1).trim();

    int start = matcher.end();

    fnd = matcher.find();

    int end = fnd ? matcher.start() -1 : ows_MetaInfo.length();

    String val = ows_MetaInfo.substring(start, end);

    if (val.length() > 0) 
    {
        System.out.println("Key: " + key + " - Val: " + val);
    } 
}