Cogitas Blog:
Google Android, machine learning,
natural language processing
and Java programming.

What’s your password strategy?

Filed under: google android, web — March 10, 2013

Not a week goes by without a high profile online service getting cracked (most recently, Evernote). Yet, thanks to smartphones and faster connections, cloud services are so compelling that many of us have come to rely on them. So what’s your password strategy?

Firstly, yes, we know, we should never use the same password twice. Many people do it but it’s bad… The problem is, how do you remember all your passwords?

A plethora of services have appeared, to help you store your passwords on a cloud server somewhere. Services such as 1Password store securely all your passwords on their servers and you access them with the 1 password. Mmm, what if they get cracked? Is a server really secure?

Then, you have the option of offline storage in a little black book. It’s fine if you are mostly desk based and have a secure storage area (like a safe).

Most people use a strategy in between. For example, they will use variations on a memorable word, so their passwords between services are technically different but not very dissimilar (for example, it may be “MonkeyT” on Twitter and “MonkeyF” on Facebook).

Another method, used by many self proclaimed geeks, is to mentally apply an algorithm to words. For example, you may replace “o” with “8″, capitalise every third letter and so on. For “converting” your password across different services, you may, for example, add the 3rd, 6th and 7th letter of the service, in the 2nd, 8th and 6th position of your basic memorable word. How complex it gets depends on how logical you are, mostly, but I know some individuals who have developed this to a fairly high level of sophistication.

Inspired by the method above, I designed an Android app called SafePass. The app lets you enter 3 words (or short phrases)  and generates a safe password for you. By safe password, I mean something that looks random, with small and big caps and digits. The way it works is simple: the 2nd word is used as a key to encrypt 1st word (AES Encryption), and then 3rd word is used as a key to encrypt the result of 1st encryption. The app has no internet permission so you know your generate password doesn’t get sent off somewhere to a server.

OK, you may say, but I still need to remember loads of words? As the app uses 3 words, you have a variety of options: you can use always the same first 2 words and change the third word to be based on the service you are creating the password for.  If you want to be a little bit clever, you can also change the order in which you enter the words (as this will change the generated password). Other options include remembering sentences, not words – this works particularly well if you remember a funny sentence. Your Facebook memorable words could be ‘My boss’ ‘is on’ ‘Facebook’ (this will serves as a handy reminder to yourself to think twice before posting compromising pictures of you!).

The app costs only £0.99 (= US$1.48) and there is a free 14 days SafePass demo available. It requires no permission of any kind, and it works on Android 4+ whatever the screen size.

There are other apps out there, I encourage you to try them all and assess them in terms of security, both in terms of “Should I trust the app publisher” and “Does it rely on a system whose safety could be breached by hackers?”.

Lastly, protect your loved ones, particularly those who are less aware of online dangers. If you have an elderly parent using a variety of online delivery services for example, do advise them on how to choose a password and tricks to remember it.

HTC android.process.core has stopped, 2013 bug

Filed under: google android — January 4, 2013

HTC users have been plagued with a bug since 1st January, if their device is updated to the new version of HTC (with Android 4.1.1).

The bug is that the android.process.core procress constantly crashes.

The bug happens for users with sync’ed contacts, ie pretty much all users, and it was reported a few minutes after midnight on new year’s eve. The cause of the bug seems to be some issues with date formatting: users have reported stack traces that include the date “20130229″, which of course doesn’t exist as 2013 isn’t a leap year.

HTC has offered a fix at http://www.htc.com/www/support/content.aspx?id=191316.

A temporary solution which has worked for me is detailed below. I’m going for this temporary solution at the moment because I want to wait for HTC to deliver the updated Contacts Storage app to my device, mostly to see how long it will take them to do so.

1) Settings -> date and time -> unselect “automatic date & time”
2) on same screen, set the date to a day in dec 2012.
3) go back to home screen
4) wait 5 minutes
5) Settings -> date and time -> select “automatic date & time” so device date goes back to today

Pick of the week links for programmers

Filed under: programming

Getting started with data science – advice from Hilary Mason from Bitly for those interested in data science. In a nutshell, “DO IT”.

Mapping with d3 library – a tutorial showing how to make a modest map from scratch using D3 and TopoJSON (by d3’s Mike Bostock).

Make learning your resolution for 2013 – a roundup of a few online courses of interest to programmers.

Mnemonic major system – a mnemonic technique used to aid in memorizing numbers, but associating a consonant sound to each digit then using them to create words. For example, “meteor” has consonants M, T and R, which stand for 3, 1 and 4.

#code2012 visualisation – a visualisation of programming languages used by developpers in 2012, data taken from the #code2012 Twitter tag. So far, javascript is in the lead, followed by java, as in 2011. Globally, the top 10 remains broadly unchanged, except for Scala that scrapped it to #10 (from #13 in 2011) and bash that lost 2 places, from #9 to #11.

Java neural network framework – Neuroph is a Java library (Apache 2.0 license) to develop neural architectures. It also comes with a GUI neural network editor.

Regular Expression for UK postcodes – very useful resource if you need to match UK postcodes! I have actually amended it slightly in the project I am working on, because users do not always provide a space between the 2 sections of the postcode, particularly on mobile devices where typing is still a bit slow. So I have changed the space in the middle of the expression to ( )?. Also, in my project, I have added P to list of possible 3rd letter (see comments on blog post regarding N1P postcodes).

Pick of the week links for programmers

Filed under: programming — December 28, 2012

What will programming look like in 2020? – an interesting thread with various programmers speculating on what programming will look like in a few years from now.

Daydream: Interactive Screen Savers in Android 4.2 – Daniel Sandler takes us through a new Android 4.2 feature called Daydream, with code example.

(more…)

Pick of the week links for programmers

Filed under: programming — December 22, 2012

Gun Deaths vs. Gun Ownership visualisation – this blog article explains how the author used Wikipedia and R to create graphs that could answer the question “is there a correlation between gun ownership and gun deaths”. With R code and source data files.

Data mining conferences – a list of data mining conferences for 2013.

(more…)

Pick of the week links for Google Android users

Filed under: google android — December 21, 2012

Magazines in Google Play store in the UK – yes, magazines are now available in the Google Play store. Choose wisely as some subs are more expensive then their counterparts if you go to the magazine’s website (example: .Net magazine)

BBC to up its game for Android’s users – BBC’s head of iPlayer, Daniel Danker, answers questions about the state of BBC’s iPlayer app for Android and what he has in store for the future.

Apple v Samsung: Judge rejects Apple plea for sales ban – the interesting bit about this article isn’t so much the main topic but is that Apple agreed licensing terms with HTC last month to end their patent war. Tech companies focusing again on improving user experience rather than fighting in Court can only be a good thing for users.

SMS spam coming to Android – in a nutshell, if you receive a SMS telling you that you can get a popular game for free instead of paying for it, don’t believe it. And of course, what is valid for email spam (nude photos emails and so on) is valid for SMS spam. Stay safe.

Speak to unlock smartphone – Lenovo has announced a new Android smartphone with new “speak to unlock” technology.

Using Android Library projects

Filed under: google android — December 19, 2012

Android library projects are very useful in a number of situations. For example, you are a company providing a SDK that includes UI elements, such as Facebook (Facebook SDK), or you create a UI widget that developers can drop in into their projects, such as a TimePicker that looks like a wheel (Android wheel).

As a developer, you may also want to use Android library projects to easily create several spin offs of the same app. The obvious example is when you create free and paid apps.

(more…)

Pick of the week links for entrepreneurs

Filed under: entrepreneurs — December 17, 2012

Y Combinator Start up library – a reference page to get back to if you’re either working for a startup or thinking of starting one…

RevMob launches in the US – RevMob is an advertising network for the mobile sector that claims the highest CPMs in the industry (I have not tried it so do not endorse it, just passing on information)

(more…)

Pick of the week links for programmers

Filed under: programming — December 16, 2012

Things I wish I learned in engineering school – advice by Rick Cattell, who has worked at Xerox PARC and Sun Microsystems

Is the older generation getting tech-savvy? – interesting article from the BBC News website, with food for thought for hardware and software designers.

Data visualisation job board – a good place where to look if you’re after a job in data visualisation, particularly using D3

UC Berkeley Course Lectures: Analyzing Big Data With Twitter – a semester full of videos

The Guava libraries: Google’s Java core libraries for collections and other goodies – well worth having a look for Java developers, the library includes collections, caching, primitives support, concurrency libraries, common annotations, string processing and I/O

Which minimum version of Android to support?

Filed under: google android — December 15, 2012

I hate to say it but Android has a weakness. Up until last year, manufacturers were very slow at providing updates Over The Air and Google didn’t push on this. Apple got it right from the start but Google messed up with this…

This situation changed about 12 months ago, where a noticeable shift was observed but with most people locked into 2 years contract, there are still 50% of devices out there using Gingerbread, released 2 years ago (for latest stats, see http://developer.android.com/about/dashboards/index.html )

(more…)

Older Posts »