Mike Sampson

Linux Systems Administrator




10 Jan 2010

Book Database and Git

I haven't posted anything since before the end of year holidays as I have been busy with a project. I have always wanted a simple database application to manage my book collection. I have previously started work on a web based solution using MySQL and PHP however I never finished it. I am currently working on a Python application using curses and sqlite3. It is coming along nicely. Sqlite3 has been great and I am very impressed with it. I plan on using it for a couple of work related projects this year. This is the first project I have used curses on and it has been a learning experience. Some of the UI code is still quite untidy though I am slowly cleaning it up. I wanted to have the application usable on a standard 80 column terminal and this has been a challenge. I am studying Human Computer Interaction this semester and am hoping to pick up some ideas regarding UI design. Not sure if they will translate from GUI to a text mode interface though.

Below is a current screenshot. The status bar contains some debug info which will be removed eventually.

Click to view full size.

Feature wise it is almost at the point where it is usable. I need to implement record editing, record searching and clean up some of the database initialisation code and it will be in good enough shape to release and start using it.

While working on this project I have been using Git more extensively than usual. I normally get by with git init, git add and git commit as my work is normally fairly linear. With this project I have been using multiple branches which has required the usage of git reset, git rebase, git merge and git show-branch. gitk and tig have also been useful. I found Bart Trojanowski's Git presentation along with Version Control with Git by Jon Loeliger very helpful. I have also watched Linus's Google Tech Talk Git video a couple of times simply for its entertainment value.

Copyright © 2018 - Mike Sampson - Powered by & Skeleton