Stavros' Stuff

On programming and other things.

Book clouds

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

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…

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

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

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

Οπότε, δύο μέρες αργότερα, είναι

Continue reading…

My Y Combinator interview.

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 str

Continue reading…

How to finally understand how to use Unicode.

This post is not going to be long. It’s not going to have any examples, details, or anything of the sort. It will just teach you what Unicode is, how to use it, what an encoding is and what UTF-8 means (hint: it’s an encoding). If you sort-of, semi-understand what Unicode is, this should clarify everything.

Understanding Unicode is really simple. The first thing you need to know is that Unicode i

Continue reading…

How to extend the Django admin site with custom views

Often I find that I need to include administration views in my site, such as statistics, management, etc etc. When these are more than just model CRUD views, a good idea is to extend the builtin Django admin site, as it’s the easiest to do.

While looking at the docs, however, I realised they were a bit cryptic and lacked good examples. It didn’t take me long to figure out how to do it, but here’s

Continue reading…

The mother of all URL validators.

One of the most often requested features for historious is del.icio.us link importing, so I researched how it would be possible to add that feature. It turns out that the delicious bookmark export is an HTML page with links, so it should be possible to upload this file, extract all the links and add them to historious.

While trying to do this, I found a [URL-validating regul

Continue reading…

New, ultra-secret project

For a while now I’ve been working on my new, ultra-secret web app, and now it’s time for me to reveal it. It’s looking to address the following scenario:

Imagine that you read an article, and it’s mildly interesting. It’s not interesting enough to bother with bookmarking it (because you likely won’t read it again, and bookmarks tend to get too cluttered and linger unread), but you definitely thin

Continue reading…