Friday, 9 February 2018

Installing free walking maps on Android with OruxMaps (app) and OpenAndroMaps (data)

Using the OruxMaps app and OpenAndroMaps worldwide map data, you get outstanding maps on your phone for free.

The downside is it's a bit fiddly to setup.  So here goes

Install OruxMaps
How hard can this be?  Well bizarrely, you can't just install it from the Google Play store because it 'violates the payments policy'.

  • Google Search 'oruxmaps'
  • Click on 'oruxmaps.com'
  • scroll down to 'Current version (7.2.1)' or later
  • Tap to download OruxMaps7.2.1.apk (.apk files are Application PacKage files used to install applications.  Google play usually deals with all this but you have to download it manually with Oruxmaps)
  • 'This type of file can harm your device.  Do you want to keep it anyway?' click OK
  • Click OK to open OruxMaps7.2.1.apk once downloaded.  (you can also access this from the 'downloads' app.
  • Chrome Security 'Your phone is not allowed to install unknown apps from this source' select 'Settings'. 
  • 'Install unknown apps', select 'Allow from this source' (we will revert it once Oruxmaps is installed to reinstate security).
  • Hit back button 
  • OruxMaps 'Do you want to install this application? It does not require any special access' select 'Install'
  • Select 'Done' when app installed
  • Now reinstate security (may be slightly different on your Android, but make sure you do this step): Settings, Apps & notifications, Advanced, Special app access, Install unknown apps, chrome, deselect to stop unknown apps being downloaded from Chrome.
Open OruxMaps
  • Confirm you understand the software is as is 'OK'
  • Allow access to files your device 'Allow'
  • Confirm that you have noted some 'known problems' 'accept'
  • Choose to donate if you want to (you can do this now or at a later stage when you realise how fantastic a tool that the community are creating here.
  • Authorize access to files you need to do this to access the maps you download

Download and Install Rendertheme
This is where it gets a little unintuitive and is usually the bit where people give up.  Please stay with us :-) 

In addition to the raw map data, you need a 'rendertheme' that tells OruxMaps how to display the raw map data, and of course you need that raw map data.


  • Google 'openandromaps' and go to www.openandromaps.org
  • Sausage menu (3 lines top right), map downloads, countries and regions (Select the map region)
  • Now look for the blue 'Install Rendertheme' bar, and click that.  (We'll come back to downloading the actual maps later)
  • Scroll down to 'Elevate 4', Quick install in Android', 'OruxMaps'.  It should open OruxMaps and install the rendertheme :-)

Download and Install detailed country maps
Now actually install the maps

  • Go to www.openandromaps.org
  • Sausage menu (3 lines top right), map downloads, countries and regions (Select the map region)
  • This time, look for the country/region's map you want, but DON'T download it.
  • Hit the + buttone then hit 'Android Install on Oruxmaps'
  • 'Map loaded OK' should appear shortly after.

Testing and Enable 'Elevate Rendertheme'

  • Enable Airplane mode (ensures you aren't using the internet)
  • Navigate map to the area you have downloaded.  
  • You may need to change maps using the 'Switch Map' icon (second right on the top); select 'OFFLINE' and choose map.  You can see your downloaded map now (hopefully)
You won't see contour lines so you need to enable the 'Elevate Rendertheme'

  • Sausage menu (3 lines top left), Mapsforge theme, Elevate.
Now you should have all the contours and paths you want.  Enjoy!


Basic OruxMaps Usage

  • A very basic map of the world comes pre-installed
  • 'Target' (top right) - turns GPS tracking on/off and locates you on the map
  • Pan with 1 finger
  • Zoom with 2 fingers
  • Sometimes the 'Menu' bizarrely becomes invisible!  Touch the top of the screen and a magic menu appears.

Sunday, 12 November 2017

RiscV Instruction Disassember

Debugging a RiscV processor in a waveform viewer?  You need to disassemble the instructions you see flowing down the pipelines.  To convert the 32bit encodings to sensible assembler instructions you can understand, use this:

RiscV instruction disassembler: updravt.com


Wednesday, 31 May 2017

Creating a virtual Linux machine on Windows


  1. Download virtualbox 
    • https://www.virtualbox.org/
    • Download the latest version of the 'windows host' 'platform package'
  2. Install VirtualBox
    • Use the default settings
    • 'Continue Anyway' on the windows logo warnings
  3. Download Linux *.iso file.  If running 32bit windows download 32bit isoEither
    • If running 32bit windows download 32bit iso
      • Search Internet to find out if running 32bit windows
    • If running 64bit windows download 64bit iso
    • Download either
      • Ubuntu: https://www.ubuntu.com/download/server , or
      • CentOS: https://www.centos.org/download/
  4. Run VirtualBox
  5. Create Virtual Machine
    • New / Name: / Type: Linux / ~Version (Ubuntu or RedHat, 32 or 64) / OK
    • Use defaults for everything else
  6. Use .iso for VM drive so it can boot from it
    • Select VM
      • probably selected already
    • Settings/Storage/Click on 'cd/dvd' image on the 'Empty' line below 'Controller IDE'
    • Attributes/Secondary IDE Master/ Click on CD image to the right
      • Choose virtual optical disc file ... / point to *.iso file /OK
  7. Press Start button to boot from *.iso

Sunday, 21 August 2016

13 reason's why M'era Luna's better than Glastonbury


  1. Flushing Toilets
  2. Cheaper: Glastonbury 2016 £229 (3 days), M'era Luna 2016 €94 (2 days)
  3. Contemporary music.  Not just loads of has-beens pumping out the music that was great 20 years ago but less so now, and also the musicians themselves have lost the edge somewhat.
  4. Better music.  OK this is obviously subjective, but I prefer the Mera Luna music.
  5. Age diversity.  The full spectrum of ages attend, participate and enjoy it: 16-70.  (OK M'era Luna probably fails on all other types of diversity.)
  6. Groups not couples.  Groups of friends can no longer attend Glastonbury tickets are sold in pairs and are basically a lottery, so only a few of a group of friends can attend.  Everyone walks around Glasto in pairs not groups :-(
  7. Clothing.  EVERYONE makes an effort at M'era Luna.
  8. Showers.  Yup Showers at M'era Luna
  9. M'era Luna timetable published on your app weeks before the event, so you can plan it.
  10. All acts start and stop on time.  So you can watch, and plan to watch two favourite bands that are on back to back on different stages.
  11. Only 2 stages, right next to eachother, so no hours of traipsing through the mud against the flow of people to the next venue.
  12. One of the stages is inside an old aircraft hangar.  Dry if it rains and atmospheric during the day.
  13. No Litter.  €1 deposit on drinks containers. €5 deposit on an empty camping bin.
  14. Everyone's lovely.  Well that's true of Glastonbury too though :-)

Wednesday, 11 November 2015

Buy a Chromebook from Amazon.com not Amazon.co.uk and save 40%

So I wanted to buy the cheap and cheerful Acer Chromebook CB3-111 for both of my big kids.  The spec seems OK for low usage i.e. just for them.  (We have 5 people always logged in with multiple tabs on our main 'kitchen' chromebooks so they need more poke.)



The price on amazon.co.uk is currently £179.99 + £0 Shipping ($273.17 today), whereas on  amazon.com it is currently $149.99 + $45.06 Shipping & Import Fees Deposit to United Kingdom ($195.05 or £128.48).

That is a staggering extra 40% to buy in the UK even after shipping and import fees!

So I bought two of them from the US.

These are the differences between the US and the UK Chromebooks I bought:

  • US version has a us keyboard: no £ button, # and " moved around.  Also no 'Alt-Gr' which makes getting the £ & € symbols trickier.
  • US version has a US power connector.  However the power supply works equally well the UK and the US.  I bought a US to UK power adapter like this one which works perfectly.  An alternative would be to buy a replacement power cable like this one. A white cable would look better.
  • UK version cost 40% more than the US version after shipping and tax.
  • US version took 2 weeks (14 days) from order to delivery.  It actually wasn't even shipped for the first week.
OK I'll get off my soapbox now.

If you want to know what Chromebooks are available and what there specs are.  I use this comparison website.  

Saturday, 12 September 2015

Using Cloud9 with BitBucket

Free online version control and IDE: Bitbucket & Cloud9 using Git

If you know how to program, and want to version control a project online this might help.

I wanted to develop a Python program and run everything online because my main computer is now a chromebook, and I want to access it from wherever I am.  This is a step by step guide to how I did it.

Looking around on the Internet it looks like Bitbucket and GitHub are the obvious choices for actually storing, and version controlling the project files in a 'repository'.  

Both of these are also integrated with the Cloud9 IDE (Integrated Development Environment) which allows you to see the code you edit, run, and debug it.

Whilst Git may be fast for large repositories (the set of files under version control), it doesn't have an intuitive user interface. However I know how to use it so I chose that option rather than mercurial.

Cloud9 and Bitbucket: Step by step guide

You need to create an account for both of these.  I used google to login to Bitbucket and then I used Bitbucket to login to Cloud9, so no new passwords to create!
  • Create Bitbucket Account
    • bitbucket.org
    • Get Started
    • Get Started with your Google account
    • Sign into Google and allow BitBucket permission to access Google
    • Select Personal or 5 member team account for free usage
    • Set a password later
  • Create a repository in Bitbucket.  
    • You should already be logged into bitbucket.org
    • On the Get Started page it already have a button to create a repository, otherwise "Create / Create Repository"
    • Choose a name and the default options, including git
  • Create Cloud9 Account
    • c9.io
    • Try it now
    • Bitbucket
    • Grant access
  • Create a Cloud9 Workspace linked to your Bitbucket Repository
    • Repositories
    • Hit 'Clone to edit' on the Bitbucket repository you just created
  • Create and run a simple python file
    • File / New file
    • Paste this code into it
#!/usr/bin/python
print ("Hello World")

    • File / Save / hello.py
      • You should now see the hello.py appear in the workspace directory structure on the left
    • Hit the Run triangle to run it!
      • It should say hello world in a window at the bottom of the screen
  • Save this file in the repository
    • Select the 'bash -"cloning ..."' tab, and enter these commands:
    • git status
      • Shows state of the repository. Should show hello.py isn't tracked
    • git add hello.py
      • Add file to list of files to be stored in the repository
    • git status
      • Show file is now added
    • git commit -m "first commit"
      • Save the file in the version of the repository on cloud9 (not on bitbucket though which is where we really want it saved eventually)
    • git status
      • File is not
    • git push --set-upstream origin master
      • type 'yes' to confirm connection to bitbucket at the scary looking 'are you sure you want to connect?' message
      • This is a 'Magic' command and does this:
        • pushes the files in the cloud9 version of the repository to the bitbucket version of the repository
        • 'origin master' tells the git the exact details of the repository it needs
        • the '--set-upstream' bit means you never need to add the 'origin master' bit ever again :-)
  • Check the file has made it to bitbucket
    • bitbucket.org
    • click on the repository in the 'overview' pane
    • navigation / source
      • hello.py should be there!
    • click on hello.py to see the source code!
  • Edit file and update it on the repository
    • c9.io
    • open workspace
    • click on 'hello.py' to edit it
    • add a line so it reads like this
#!/usr/bin/python
print ("Hello World")
print ("Hello Again")
    • hit run (which also actually saves it)
    • Select the 'bash -"cloning ..."' tab
    • git status
      • shows we haven't added it yet, but it has changed
    • git add hello.py
    • git status
    • git commit -m "testing repo again"
    • git status
    • git push
      • no need to add the 'origin master' bit this time
And you're done.  You can check it's made it to Bitbucket correctly in the same way as above.

Happy coding!