On authentication usability

Posted on 18 Dec 2011.

A few days ago, I tried to log into my alternate Facebook account, one I hadn't logged into for a while. After the first or second failed attempt at logging in (I couldn't remember the password), my mail client rang and I saw the following email from Facebook:

Facebook login email

This struck me as a fantastic touch and a great usability boost. It also made me think about the usual login flow in sites, and I realized that email is, in my opinion, being underutilized in the login process. There ...

Continue reading

A short update

Posted on 12 Oct 2011.

As I have mentioned previously, this blog is running on Google's AppEngine, and I have just migrated it to the HR datastore to test out Python 2.7. Hopefully this will go well and the concurrent requests will keep the instances to a minimum. I am curious to see how well this will perform.

I am especially interested in the change of instance hours between the old and new backends. Based on a quick examination of the billing history of the past 16 days, the blog has used an average of 30 instance hours a day, with a max ...

Continue reading

How PostgreSQL's SR (Streaming Replication) works

Posted on 5 Oct 2011.

Recently, I have come upon the need to deploy a high-availability/performance postgres cluster, and I looked into various replication solutions. Of the ones I saw, Streaming Replication was the easiest to set up, fairly performant and a good fit for what we wanted to do, and it's built into postgres 9.0+.

Unfortunately, checking the documentation and howtos, I gained little insight into how it works. There are plenty of detailed guides on how to set it up, but none explain how exactly it works, so it was a bit of a ...

Continue reading

App Engine pricing changes revisited

Posted on 26 May 2011.

As anyone who knows me will already have noticed, I'm a quite an outspoken proponent of Google AppEngine. Many of my projects nowadays run on GAE, including this very blog, as I love the ease of deployment, the provided services and low cost. I decided to migrate this blog to it from a VPS after many troubles with Drupal (lack of customizability, security problems, etc). It didn't help that it gets 60,000 uniques a day, mainly from my Python tutorial, and Drupal on my budget VPS was crumbling under the load ...

Continue reading

Secrets of Power Negotiating

Posted on 29 Apr 2011.

A few weeks ago I was recommended Roger Dawson's Secrets of Power Negotiating, and decided to give it a try. I was pleasantly surprised to find that it is full of practical tips and helpful pointers about negotiations of every type, be it salary increases, a house purchases, and even negotiations between countries (especially helpful if you're eyeing some islands in the middle of the atlantic).

What I especially liked about this book is that it contains useful information, examples and techniques without veering into the all-too-familiar territory of most self-help books nowadays, which is to inundate the reader with a series of irrelevant or inapplicable anecdotes about how people who used technique X became rich and handsome.

Continue reading

Book clouds

Posted on 24 Apr 2011.

As someone who is on the road a lot, I frequently have a lot of downtime during road trips. I don't like driving, because it's mostly wasted time, so I thought I would do something useful while driving. Unfortunately, about the only useful thing you can do while driving is listen to music, but there's something better: Audiobooks.

Audiobooks are a fantastic way to read (or, well, listen to) books on the road, and it's largely made long car trips bearable, if not desirable. On the last trip, I decided I would listen to some Lovecraft, as I enjoy his writing and the genre of horror in general, so I loaded "At the Mountains of Madness" on my mobile phone and off I went. While listening, however, I was struck by his frequent use of words like "terrible", "horrible" etc. I know he's trying to convey a sense of foreboding, but, come on, Howard, not every rock has to be grotesque.

Continue reading

Blog migration

Posted on 18 Apr 2011.

The old blog software was showing its age, so I decided to write a few lines of code and move the blog over to Google App Engine. Most things should work properly, but if you notice any broken links please let me know by emailing me on the address on the "About me" page.

Thanks!

Continue reading

Πρόγραμμα καταχώρησης αποδείξεων

Posted on 18 Jan 2011.

Note: Apologies to non-Greek readers, this post is not for you.

Πριν μερικές μέρες είχα την ιδέα να φτιάξω ένα πρόγραμμα καταχώρησης αποδείξεων. Μια μικρή έρευνα έδειξε ότι ήδη υπάρχουν αρκετά τέτοια προγράμματα, αλλά κανένα δεν ήταν αρκετά εύχρηστο, και μου φάνηκε αρκετά καλή ιδέα για να μάθω λίγα πράγματα για το Django στο AppEngine.

Οπότε, δύο μέρες αργότερα, είναι χαρά μου να σας παρουσιάσω το TaxBonus, το δωρεάν και εύχρηστο πρόγραμμα καταχώρησης αποδείξεων. Το TaxBonus σας βοηθάει να καταχωρήσετε τις αποδείξεις σας, να υπολογίσετε πόσες αποδείξεις χρειάζεστε για την επέκταση του ...

Continue reading

Delicious alternatives

Posted on 16 Dec 2010.

Off the news that Yahoo! is shutting down Delicious, I’d like to suggest a good alternative: historious

historious is a search engine for your bookmarks, which means that you can search all of your bookmarked sites for any word in the pages, and not have to browse all the obscure title to remember where you had seen a particular article.

historious also archives all webpages, so you can refer to them and share them even if the original page has changed or is no longer available. You can also …

Continue reading

My Y Combinator interview.

Posted on 21 Nov 2010.


As many of you will know, for the past few months I’ve been working on the bookmark search engine startup I created, called historious. Shortly after creating it, I applied to Y Combinator because, well, it couldn’t hurt. I didn’t really think I’d get in, with all the thousands of people applying and their rather strong apprehension towards single founders, but I had nothing to lose, so I did.

On the day they were to announce the interviews, I was fairly sure I would be rejected, so I was surprised to wake up …

Continue reading