Skip to main content

Evan Summers

Evan Summers lives in Cape Town and plays Java, PostgreSQL and Linux. Most interested in crypto, systems monitoring and BI right now. Past interests include Swing, and future interests include mobi web.


evanx's blog

Password Rehash

Posted by evanx on May 1, 2013 at 5:42 AM PDT

We continue our Password Salt adventures with PBKDF2, in order to store multiple revisions of the crypto parameters, and migrate hashes on the fly.

On Ubuntu, Unity and Windows

Posted by evanx on March 21, 2013 at 10:48 PM PDT

This morning i enjoyed an article entitled "There Is Ubuntu, There Is Linux And Then There Are Others", and here i rehash my comment there.

Password Salt

Posted by evanx on January 24, 2013 at 6:50 AM PST

This provides a long overdue update to "Password Hash" from the Enigma Prequels (2007), where that article neglected to add salt, which is embarassing for whoever wrote that article... which was unfortunately me.

Timestamped Millis

Posted by evanx on November 21, 2012 at 8:23 AM PST

We present a miniscule Millis utility class for handling intervals, in milliseconds, not least because we record timestamps as per System.currentTimeMillis, i.e the number of milliseconds since the Unix epoch. As such we can skirt around the issue of the time as seen on clocks, with their time zones and calendars and what-not.

Google Authenticator thus enabled

Posted by evanx on November 7, 2012 at 8:30 AM PST

The Google Authenticator mobile apps implement an IETF time-based one-time-password standard. This hashes the time, with a shared secret using the HMAC-SHA1 algorithm, to generate a one-time password.

But besides enabling multi-factor authentication for our personal Google account, how would we employ Google Authenticator clients for our own websites?!

Deque shredder

Posted by evanx on August 1, 2012 at 1:21 PM PDT

Last time we introduced the trivial namesake Timestamped interface, and used the excellent ArrayDeque of Java6 to collect such things, imposing a time-based capacity and some external synchronization. Now let's test this with some threads.

Timestamped Deque

Posted by evanx on June 27, 2012 at 3:33 PM PDT

In this here second part of the "Timestamped" series, we introduce its namesake Timestamped interface, and use a Deque from Java6 to collect such things, and impose a time-based capacity for that.

Counter map

Posted by evanx on June 7, 2012 at 7:39 AM PDT

We herewith begin a saga about monitoring with this series entitled "Timestamped: a trilogy in a few parts," this being the first part, where we introduce a map to count key things, and ensure we can order it by its integer values.

The Prodigal Android

Posted by evanx on August 18, 2010 at 9:32 AM PDT

I enjoyed reading the Android=Java blog just now, and agree with Osvaldo's sentiments.

Betwixt the Brackets

Posted by evanx on July 16, 2010 at 2:19 AM PDT

So we need to convert objects into XML and back again, eg. to store some data in the database in XML format, because otherwise maybe we just gonna have too many tables and joins and what-not.