SQLite Manager for OS X

I’m currently working on some web projects using Django, which is a pretty nice Python framework for web development, and I run all my tests with a SQLite database. During development, the models are very dynamic and its fields are always changing, so I need the database tables to reflect those changes, but the utilities bundled with Django only create tables, but don’t alter them when models change.

So, the way to overcome this workaround is quite simple: just drop the tables and run Django’s table creation utility again. However, that’s a bit of a hassle to do through SQL queries when you’ve got plenty of tables to drop.

For managing SQLite databases, I’ve always used sqliteman, which is multiplatform and free. There are binaries for Windows and Linux, and I compiled it on OS X and even packaged the binary into an OS X .app, so that I could just run it like any other OS X app. But sqliteman has still got an issue which makes it uncomfortable for droping a bunch of tables: in the table tree view, you cannot select more than one table to drop them at once, and, besides, there is no shortcut to drop tables (you must ctrl-click and delete tables from the context menu!). And I definitely do not want to drop tables one-by-one and by-hand, nor do I want to have to write a drop query for each table!

For managing MySQL databases from OS X, I’ve always used CocoaMySQL, which evolved to Sequel Pro. This has a pretty, native interface for OS X and… It allows you to select multiple tables and delete them like you’ve always wanted: with shift-selection! It doesn’t provide any shortcuts for deleting though, but I can live with that, and that gives you more safety, too (it prevents you from deleting by mistake).

So, the quest for the Holy Manager arises: I want a GUI manager for SQLite databases that runs on OS X, allows batch dropping of tables, and —of course— is free! A simple search for “sqlite manager interface mac” yields some results (though not all of them are free):

MesaSQLite looks promising, but it’s paid software and I didn’t get to know the limitations of the trial. Lita looks very simple, so at first sight I’m not sure if it will allow batch dropping, and also the look & feel is not suited for the OS X posh kids. Base is also quite promising and very good-looking, and the trial limits sessions to 15 minutes and custom SQL queries will only return 5 rows. Well, I don’t think it’ll take me 15 minutes to drop some tables, and dropping doesn’t yield any rows… But Base does not allow to drop many tables at once 😦 However, MesaSQLite does! Anyway, I’ll keep both, since Base might be useful some day, too.

PS: Yeah, I know Safari is a memory monster. I might switch some day 🙂

Android Tutorials, by Android Research Blog

I’ve recently discovered Android Tutorials, a collection of tutorials and recipes by Android Research Blog regarding Android programming.

I’ve been interested in Android programming for a while, but never had the time to start learning. I’ve read a few magazine articles on Android programming, but I haven’t found a good introductory tutorial either, and I think some good recipes are also necessary for doing some things (like, e.g., a good preferences panel).

Anyway, I guess this is gonna be a good resource when I start learning, and, after taking a look at some of the articles, it looks promising!

Evan Miller: Rank Hotness With Newton’s Law of Cooling

Evan Miller: Rank Hotness With Newton’s Law of Cooling

Evan Miller: How Not To Sort By Average Rating

Evan Miller: How Not To Sort By Average Rating

Via Jeff Croft’s blog.

Lea Verou: In defense of reinventing wheels

Lea Verou: In defense of reinventing wheels

Pretty interesting article on reinventing wheels and DRY (well, not quite “yourself”). Found via Jeff Croft’s blog.