OnePlus X vs. OnePlus One vs OnePlus 2 Specification Comparision

For full Google Sheet version go here OnePlus X vs. OnePlus One vs OnePlus 2 Specification Comparision

OnePlus One OnePlus 2 OnePlus X
Height in Inches 6.02 5.98 5.51
Width in Inches 2.99 2.95 2.72
Depth in Inches 0.35 0.39 0.27
Available Materials Sandstone Black Sandstone Black Or Silk White Onyx Black Glass or Ceramic
Display Resolution 1920 x 1080 1920 x 1080 1920.108
Display PPI (Pixels Per Inch) 401 401 441
Display Size (in Inches) 5.5 5.5 5
Camera Resolution (in Megapixels) 13 13 13
Camera Aperture (lower number bigger aperture) f/2.0 f/2.0 f/2.2
Auto Focus Time in Seconds 0.2 0.2
Front Camera Resolution (in Megapixels) 5 5 8
Processor Qualcomm Snapdragon 801 Qualcomm Snapdragon 810 Qualcomm Snapdragon 801
RAM (GB) 3 3 3 or 4
Storage Options Available (in GB) 16/64 32/64 16 (SD card upto 128GB for expansion)
Default Software CyanogenMod Oxygen 2 Oxygen 2
Price (in Dollars) 299 for 64GB 389 for 64GB 250 Onyx / 370 Ceramic

Exporting your Google Stars to CSV or KML

I’m part of the Google Local Guides and a question came up amongst our cohort about being able to export your Stars from Google maps into something useful you can then import elsewhere. For example being able to import by Name, longitude and latitude would allow you to import into Google My Maps.

You can visit Google Bookmarks and download an html file of your bookmarks, but it’s a relatively useless Netscape Bookmark format. So to convert this to a useful CSV file I’ve devise this linux script using sed and awk:

CSV Export

for i in `sed -ne 's/.*\(http[^"]*\).*/\1/p' < GoogleBookmarks.html`; do curl -sL $i | awk '{split($0,a,"[")}; {split(a[21],b,","); printf b[2]}; {split(a[4],c,","); print ",",c[2],",",c[3]}' | sed 's/\"//g' | sed 's/\]//g' | awk '!/, , /' >> googbook.csv; done
This will output the Name, Longitude and Latitude to a CSV file.

To spit out the full address too use the following:

for i in `sed -ne 's/.*\(http[^"]*\).*/\1/p' < GoogleBookmarks.html`; do curl -sL $i | awk '{split($0,a,"[")}; {split(a[21],b,","); printf b[2]; printf "\",\""; printf b[3]; printf b[4]}; {split(a[4],c,","); print ",",c[2],",",c[3]}' | sed 's/\]//g' | awk '!/\",\", ,/' >> googbook.csv;; done;

KML Export

Visit upload your GoogleBookmarks.html file and then download the KML file (easy peasy).

How I Coloured My Life with Live Music

Some years ago now I used to live in suburbia and work in the city, 1.5 hours each way door to door 15 hours of my life a week taken up by moving my flesh and bones to another location.

Not only was this a waste of my time, but sitting idly reading thru the newspaper on the way home I would see gig listings for gigs that were due to imminently start and I was already heading in the wrong direction from. I’ve since made a point of filling my evenings with live music and here’s how I achieve it.

Automatically Find Gigs

I scrobble all the tracks I listen to, from my phone, my home stereo system, everything, to
This means that my data is a pretty complete picture of my musical tastes.

I use the Songkick application on my smartphone to scan my profile for artists to track. Song kick then keeps an eye out for gigs posted by artists I like and alerts me on my phone when a new gig is posted.
I’ve also got BandsInTown installed, but this doesn’t seem to let me know about as many gigs as Songkick does.

Money’s not a problem

If I hear about a gig within the first couple of weeks after pay day I’ll usually just book the ticket. But towards the end of the month, like most of you, money’s a little tighter. So what I do is whenever I see a gig that I want to go to I set myself a reminder using Google Now or Google Keep to go off on my next pay day.

That way, come pay day I buy a load of tickets to gigs and set up my coming months.

Size might be everything

I like a lot of small bands that I’ve discovered by going to small/medium size festivals and listening to less mainstream radio like BBC 6 Music.

As a result a lot of the tickets I buy are between £5-£15 a ticket. Much better than shelling out £60-£100 on one gig.

Ticket to ride

A lot of my tickets nowadays are bought thru the Dice app or thru Songkick themselves.
Both of these resellers allow for digital only tickets and no fees!

This keep the price down, and saves me having to hunt around in ‘safe places’ for tickets for gigs that I’ve booked 6 months ago.

Dice app also has a pretty nice interface to just go scrolling thru looking for other gigs that you might not have otherwise known about and then buy tickets for them too.

Powershell Script to Check if a Website is Up and if Not Restart a service

The below PowerShell script check the website is responding AND doesn’t returns a certain string, if either test is failed then a Windows service is restarted, forcefully if necessary after a grace period.

Please note that I have modified this script to make it more easily customisable and not had the opportunity to test with the strings switched out for the variables. The logic is sound and works.

Also note that this is one code block (word press isn’t a fan of it being one though :-/
You can download the file here CheckWebsiteIsUp.ps1

$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")

$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")

#Variables to modify
$output = "" #Define output variable
$serviceName = "confluence" #Short windows service name
$smtpServerName = "" #SMTP Server name
$fromEmailAddress = "[email protected]" #Email address for mail to come from/reply address
$stringToCheckFor = "The service is unavailable" #String to check for. Note that this will be searched for with wildcards either side
$startTime = get-date
$output = $webClient.DownloadString("") #Modify this url to be the url you want to test
$endTime = get-date

#Main workload
#The below checks for the string "The service is unavailable" from your website and if found forcefully restarts the defined service
if ($output -And $output -notlike "*$stringToCheckFor*") {
"Site Up`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds"
} else {
"Fail`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds"
stop-service $serviceName -force
"Stop Service Command Sent"
$svc = Get-Service $serviceName
$svc.WaitForStatus('Stopped','00:05:00') #Waits for service to enter stopped state or 5 mins has passed, whichever is first
get-service $serviceName | where-object {$_.Status -eq "Stopped"} | restart-service #Belt and braces but only restarts the service if it's stopped.
$svc.WaitForStatus('Running','00:01:00') #Waits for service to enter Running state or 1 minute to pass, whichever is first
Send-MailMessage -From “[email protected]” -To “$fromEmailAddress” -SmtpServer “$smtpServerName” -Subject "$serviceName Service Restarted" -Body "$serviceName Service Restarted" #Sends an email alert that the service was restarted

Solution: Wacom Intuos Pen and Touch Pressure Sensitivity in Photoshop

So in order to use pressure sensitivity in Photoshop you MUST have Use Windows Ink enabled.

Wacom Control Panel use Windows Link
Wacom Control Panel use Windows Link

But without it no pressure sensitivity at all and in Brush Dynamics the pen control option just gives you an exclamation mark next to it.

Update: I’ve upgraded one of my machines to Windows 10 and Windows Ink doesn’t seem necessary on that one for pressure sensitivity.

Google+ For the Win!

Last month Google+ introduced Collections
A devilishly simple way to group your posts by topic.

When you create a Collection you set the audience, so you can have private collections for posts on a topic to share with a particular audience, or you can have public collections that anyone can follow.

This is a brilliant move on Google’s part. Users can follow topic from a user, rather than every little thing they posts. It’s so simple to share with a collection too, so it’s a win for those posting the content.

Another win is that posts by content are so reader friendly that the take up on followers is very good.

Google+ is becoming my favourite place to post stuff to now, and a great place for a Global community instead of just posting stuff amongst your friends and family. The Internet is the world, not just the people you already know.

I hope more and more of you come round to Google+, and if you don’t, well you’ll be missing out but you won’t be missed, there’s a whole world of people out there.


Weekend Project: Battery Powered Sonos Play:1

Following this video guide and the step up booster converter from ebay below I’m going to make a Sonos Play:1 battery powered so I can enjoy some lovely music on the balcony over the summer.