Saturday, December 18, 2010

Friday, October 01, 2010

Upcoming Concerts

October is going to be a busy, busy month for me. In addition to (hopefully) releasing a project at work, I have two BrightonMusic concerts (where two of my compositions are to be premiered!), one Denver Pops concert, one Denver Pops dance, and a wedding with the quartet.

Holy crap! I think I'll take November off... (I wish!)

If you're able to make it, here are the details for the concerts...

Denver Pops Orchestra - with Bell'A'Capella
October 2, 2010. 4pm
A pops-style concert, with a ballroom, tables and refreshments!
Denver Highlands Masonic Center
3550 Federal Blvd
Denver, CO 80211-2802



BrightonMusic "Homespun" Concert, featuring local arts, crafts, and music
October 10, 2010. Exhibition at 3pm, concert at 4pm.
First Presbyterian Church of Brighton
510 S 27th Ave
Brighton, CO 80601-3446


and

October 17, 2010. Exhibition at 3pm, concert at 4pm.
The Armory at Brighton Cultural Center
300 Strong Street
Brighton, CO 80601


Friends of Traditional Dance's Wild Goose Ball (Denver Pops / Mostly Strauss)
October 23, 2010. 8-11pm
Lory Student Center (CSU Campus)

Friday, September 17, 2010

How to rewind ("back up") a git-svn repo

My company uses Subversion for most of its version control needs. But, I find I like the flexibility git affords me better. So, I've been using git, via git-svn, for some time now, with generally only a few problems.

However, not long ago I transfered a repository to another computer, and messed up my git settings (I set AutoCrLf to true... oops).

Anyway, this messed up my repo pretty good, to the point that I couldn't even do a git svn rebase without it failing with the error "Incomplete data: Delta source ended unexpectedly"

Turns out, in order to fix this, you have to re-get the entire repository, or at least without re-getting the commits that were checked out with AutoCrLf (remember, I had the git repo from another computer, so most of the history was good).

So, how do you rewind git-svn to a particular revision?

Thanks to the handy git-svn documentation:

git svn reset -r [svn revision number] -p

And then, just git svn rebase as normal.

Sunday, August 29, 2010

Sigurd Jorsalfar: Triumphal March Op. 56 (Edvard Grieg) for String Quartet

I've just made available an arrangement of the Triumphal March (Huldigungsmarsch) from Edvard Grieg's Sigurd Jorsalfar, opus 56, for string quartet. It is available at emeraldimp.com and IMSLP.org.

Tuesday, August 17, 2010

St. George Suite, 1st Movement

I'm happy to announce the release of another CC-licensed piece by me: St. George Suite, 1st Movement (Jig / Hoedown) for string orchestra, available on my website as usual. Enjoy!

Saturday, July 31, 2010

Recovering Photos from a Memory Card in Linux

Well, this is one of those "mostly for me" posts but, in case you find it useful (and I make no guarantees that you will! :-), here is how I recovered some photos from a memory card.

First: Don't use the card! If you do, there's a chance the data you're interested in may be overwritten.

(Optional: Instead of putting the card on the shelf, I created a backup of the data on it, like so (/dev/sdc being the sdcard; you'll have to check to find out which device is correct by mounting the card and looking at dmesg):

> dd if=/dev/sdc  of=~/image/tempfile

This may take quite a while, depending on the size of your card.)

Second: Get the TestDisk suite. We're going to be using PhotoRec.  If you have Ubuntu, you can do:

> sudo apt-get install testdisk

PhotoRec will actually recover a number of different types of files (see their website for more details). It works by reading the raw data and determining the file type, and then saving the file to a recovery location.

Third: Run PhotoRec.  If you copied your card to a file, you can run it like:

> photorec /path/to/sdcard/file

Otherwise, you can just do:

> sudo photorec

In either case, you'll have to select the "device" (be it file or actual hardware) you want to recover from, and then the partition type (if it's an SD card, you're probably fine with "Intel"), and then the actual partition (again, for an SD card, look for FAT32), and then the filesystem type (probably other), and then whether you want to search the whole partition, or just the free space (ie deleted files). I went for whole partition because I wasn't sure whether the files were deleted or not.  Finally, you have to choose where to put the recovered files (press Y when you've navigated to the correct spot).

Fourth: take a break and let PhotoRec work. Depending on the size of the card and the number of files that are on it (deleted or no!), this may take a little while. (I had about 1500 files recovered in about 20 minutes.)

Great! All your files are back! Woohoo! Now, it's just a matter of sorting through all 1500...

Unfortunately, the files don't have useful names (or mine didn't... names were like "f1071616.jpg"). However, JPG files (can) contain metadata, stored in EXIF. Most digital cameras automatically include information about the camera and the picture, like model, exposure, and... creation time! (Assuming you set the date/time on your camera...)

So we can, at least, give the files somewhat useful names now.

Fifth: Make a backup of your recovered files, just in case something goes wrong. You don't want to have to recover them again.

Sixth: It's time for the magic of Python!  Here's a handy little script I whipped up to pull out the creation time and rename the file. Note that you'll need to have the Python Image Library (PIL) installed.

renameJpgByDateTime.py:

#!/usr/bin/env python

from PIL import Image
from PIL.ExifTags import TAGS

import os, shutil

def renameJpg(fn):
    i = Image.open(fn)
    info = i._getexif()
    for tag, value in info.items():
        decoded = TAGS.get(tag, tag)
        if decoded == 'DateTimeOriginal':
            filePrefix = value + "-"
            shutil.move(fn, filePrefix + fn.replace(filePrefix, ""))

dirlist = os.listdir('.')

for fname in dirlist:
    if '.jpg' in fname:
        renameJpg(fname)

Then, go to the directory that contains the files, and run the script (don't forget to set it to executable):

> ./renameJpgByDateTime.py

And there you go!

Saturday, June 26, 2010

Viola Love Triangle!

In response to ASCAP's greedy small-mindedness, here's another CC-licensed piece by me: Viola Love Triangle (for viola trio), available on my website as usual. Enjoy!

Tuesday, April 13, 2010

Pentapede Poems III

An Ambush
As I was hanging in the tree,
A little birdy spotted me
"Foolish thing, so plain to see,
I'll make a munch-crunch snack of thee!"

But birdies are an impulsive lot.
They never have much time for thought.
If he hadn't been so hot-to-trot...
He'd not be for our dinner caught!
Tranquility
The quiet forest
And the bustle of the Nest:
Home, tranquility

Saturday, April 10, 2010

Pentapedes and the Tree of Life

I know the question that's been on everyone's mind: What have those horrible little pentapedes been up to?

Well, you need wonder no longer, I found some of them today...
Here's a closeup...

That's right, the little monsters are robbing the tree of life...  I can only wonder at what they're up to, but I know it's trouble!

Well, until next time, keep a close watch on your genes!

Thursday, April 08, 2010

Alto Violin

Dark and silky
Your tone inspires
Awash in your melodies
Buoyed by your harmonies
I float in a sea of notes
Your gentle turns caress my ears
And fill my soul with the richness
That flows from you

The New Violin Family (video)

New Violin Family, aka Violin Octet (wikipedia)

Saturday, January 30, 2010

New posts on One Step From Sunday

There are two new posts on One Step From Sunday:

(untitled introduction) - Something Monstrous This Way Comes (1)

Life in the Nest - Something Monstrous This Way Comes (2)

R'thoria's Used Plot Elements, Vol. 2, Ep. 003

Have you ever been to the far reaches of the galaxy? Deep under the oceans? Around the world by balloon in less than 3 months? Then you know what lies at the heart of all these journeys... that strange mineral, unobtai—no, macguffinite!

When you finally find that thing you were looking for, is it... disappointing? Not everything you thought it would be? Did it make the entire search for it a distraction? Then you, my friend, have a big chunk of redherrigonium!

Potent, powerful substances in their own right, but when smelted together, they become... plotinum! Renowned throughout the universe for its ability to advance a story or just for its beautiful lustre, plotinum is very valuable indeed.

And, here at R'thoria's Used Plot Element Emporium and Second Hand Smoke Store, we have the grandest collection of precious and plot-driving items you've ever seen, and every single one is made from 100% pure plotinum (give or take)!

Tell me, when was the last time your living room felt really complete? Or, rather, could any room really be complete without this jewel-encrusted falcon? Look how its delicate feathers are slightly dented, think of the history! Think of how much you'd be willing to pay! No, higher than that! All right, I'll take it, but I'm cutting off my own arm!

Our oldest piece is a beautiful, hand-crafted ring, no doubt it is one-of-a-kind! Just putting it on my finger gives me a feeling of immense satisfaction and power... On second thought, I think I'll keep the precious thing for myself...

Look up into the night sky. Or, alternatively, at the ceiling, which should currently be displaying the night sky. How beautiful it is! See the slow turn of the galaxy, its majestic spiral arms, the reds and blues and yellows of the stars, twinkling in the inky void. Wouldn't you like to own it? No, I don't mean rule over it, and I certainly don't mean a replica! No, the whole galaxy, nebulae and all, in a convenient pendant! Just, uh, don't let any men in dark suits and sunglasses see it; trust me, it's for the best.

From the cracks of doom or the dunes of Arrakis; whether here on Earth or in other planes of existence entirely; ONLY the professionals at RUPE have the skills, style and vast network of "suppliers" to bring you ACTION, ADVENTURE and miscellaneous crap at wholesale prices! Take something home TODAY!