Less blogging == More coding

So, the blogging has slowed a bit, but that’s a good thing. Yes, Episode IV of my “Reviving your old PC” series is in progress and on its way. You gotta wait for quality, folks.

But last night I started and interesting new project that took over my brain and had me up most of the night. It’s like this…

We have a weekly Bible study meeting at the house; a regular part of this event is the singing of a few hymns and praise songs, which I generally lead. I have a good library of such songs built of from years of participating in praise bands and so forth, but I don’t have lyrics to pass out for the rest of the group.

So for a while, I’ve been sticking to short, simple songs that most people seem to know the words to. I’ve been meaning to make song sheets for everyone, but it’s such a wasteful and messy approach to getting lyrics to everyone — as soon as you make a sheet, you want to sing songs that aren’t on it, then you make more, and more; before you know it, you have a 30-page booklet with songs in no particular order.

Being a techy kind of guy, I naturally turned to my computer for a more elegant solution. I spent some time trying to get lyricue to work with my laptop and TV set (which awesomely has a VGA input), but I couldn’t get it to work. I just ended up with black screens. 🙁

As I was tinkering with it last night, it occurred to me that as part of my lyricue installation I had a whopping big database of songs in MySQL. And here am I, a LAMP developer. So why not hack together a little CRUD application in PHP to access this database and display its data nicely in a browser window? Besides, I’ve been learning jquery lately and this gave me the excuse to flex those new skills a little.

So, hours of obsessive hacking later, I have a functional little web-app full of javascript/CSS3 niceties which I hope to try out tonight. And when I get a chance, I’ll toss it up on github for whoever wants to fiddle with the spaghetti.

Leave a Reply

Your email address will not be published. Required fields are marked *