upcoming gigs!

I’m playing quite a bit over the next month with the Blue Saracens at Swing 46, a great swing dance club in midtown manhattan. If you are in the neighborhood, I’m playing next saturday the 26th, and am there every thursday night in June, from 8:30-11:30.

There is a free swing dance lesson, food and drinks, and atmosphere is great. Come on by!

Comments

lentils with chard, coconut and squash

I was going to include a picture, but a picture of a pot of lentils does not do justice to this dish.

Dice one spanish onion and the stems of a bunch of swiss chard, carmelize with 1 teaspoon of sugar and 2 tablespoons of neutral oil, such as grapeseed. After the onions and stems have browned, add one and a half cups lentils; I used half beluga and half split yellow lentils. Sweat the lentils for a few minutes, and add enough stock to cover, bring to a simmer. Add 2 teaspoons of salt, 1 box of frozen cooked winter squash and some tomato paste if desired.

While the lentils are cooking, heat a cast iron skillet and toast 1 tablespoon apiece of: yellow lentils, beluga lentils, cumin seed, coriander seed. add a teaspoon of yellow mustard seeds and a teaspoon of fenugreek seeds, 8 dried curry leaves, 4 dried red chiles and 2 bay leaves. toast the spices until almost black, then transfer to a spice grinder and add 1 teaspoon of turmeric. grind the spices, put 2 teaspoons into the lentils and save the rest to eat with eggs and sauteed vegetables.

I clean my spice grinder by grinding a small amount of white rice in it, I did this, and then added the ground rice to the lentils as well, to act as a thickener.

once the lentils are tender, about an hour, pour in a can of coconut milk, the leaves of the chard, and bring to a boil. simmer for 10 minutes or just take it off the heat and leave it covered for an hour.

eat them however you like, I had some with a fried egg and brown butter, and washed it down with a dogfish head brown ale.

Comments

pedalboard

my pedalboard

my pedalboard

For the past 10 years, I haven’t used any effects save a rat distortion pedal when I was on the road with dem brooklyn bums. my amp doesn’t have reverb, and I always meant to get a reverb pedal, but I never pulled the trigger. A few years back, I got a looping pedal, which is one of the most useful practice tools I know of, and after needing overdrive on some gigs recently, I decided to spring for a pedalboard.

sonic research turbo tuner – ridiculously accurate tuner. I have shied away from using tuners in the past, preferring to tune to the piano or bass on a gig, but I’ve been doing more big band gigs recently and it’s really nice to be able to check tuning silently and quickly.

fulltone fulldrive 2 – I borrowed one of these from my friend Dan for a gig recently, and it’s the best sounding overdrive pedal I’ve tried for an archtop and solid state amp combo. I tried a few of the other fulltone models, but nothing sounded as good as this for my setup.

digitech rv-3 reverb – pretty standard reverb pedal, sounds great and I don’t have any complaints.

electro harmonix POG2 – I have always liked octave pedals and this really takes it to the next level. you can create some really cool, organ like sounds with this.

digitech jamman – standard looping pedal, really great for practicing. I frequently record a bassline with the POG2 and loop that.

The power supply is a voodoo labs pp2+. this was expensive, but really worth it, as it has an AC outlet, which the jamman needs, in addition to lots of other power slots for the other pedals. I questioned getting this at first, but I’m really glad I did.

the board itself is a pedaltrain board, which is designed to work with the voodoo labs power supply, in that it mounts comfortably underneath.

Comments

shostakovich orchestration!

Here is an mp3 of my orchestration of Dmitri Shostakovich’s 4th String Quartet, 3rd movement. Here is a link to my score. It was originally scored for 2 violins, viola and cello, in my orchestration, the instrumentation is:

  • 2 flutes
  • 2 oboes
  • 2 clarinets
  • 2 bassoons
  • 2 trumpets
  • 2 trombones
  • tuba
  • timpani
  • snare
  • marimba

the recording is from a juilliard orchestra who sightread the piece twice, the recording is actually their second time through. I was happy with the results and definitely learned a lot, there are some things I thought worked very very well, like the solo clarinet part, and some things that I would have changed, such as backing up the flutes more with the oboes, especially in fast passages.because this is my blog and I’m allowed, I will add a personal note. I did this orchestration at a time when I was working 12-15 hour days at work, and much of it was done when I was very, very tired. I would have liked to have taken a day off to work on this and had uninterrupted time to write, but life isn’t like that. It’s my belief that we create despite our circumstances, rather than because of them. I will remember this the next time I think to myself I don’t have time for something important to me.

Comments

google code talks: java memory model

Here’s my notes on the google talk on the java memory model, given by Jeremy Manson.

- Don’t try to avoid using synchronized, and other java concurrency abstractions. it’s very difficult to get right, and usually doesn’t buy you very much to try. even Doug Lea gets this stuff wrong.

problem:
example:x=y=0
Thread 1: x=1; j=y
Thread 2: i=x; y=1

how can i=0 and j=0? this is obviously not intuitive, as it appears from the order of the statements that both i and j could never both be 0. however, the compiler/jvm/processor could analyze the assignments as independent events and reverse the order of the statements in the threads (e.g Thread 2: y=1; i=x), leaving us with the possibility that both i and j can end up as 0. the takeaway here is that there are very few assumptions you can make about thread interaction without explicit synchronization.

- don’t rely on locks flushing stuff. releasing a lock only matters if there is a subsequent acquire.

- if a field can be accessed by multiple threads, and at least one of those accesses is a write, you should either use locking to prevent simultaneous accesses, or make the field volatile. synchronization is hard to get right, volatile is a bit harder to get right, try to use any other technique to prevent a “data race”, and you will NOT get it right.

properties of volatile:
- reads and writes go directly to memory
- volatile logs and doubles are atomic
- volatile reads and writes cannot be reordered
- reads and writes become acquire/release pairs.. volatile write happens-before all following reads of the same variable. a volatile write is similar to unlock, a volatile read is similar to a lock.

the danger of not using volatile, is that a non-volatile variable can be optimized by the compiler to be kept in a register instead of written to global memory. this is because compiler optimizations and transformations are performed on single threaded code.

initializing singletons. this code doesn’t work:

Helper helper;

Helper getHelper() {
if (helper == null)
synchronized(this) {
if (helper==null)
helper = new Helper();
}
}
return helper;
}

this is common code, but actually broken. the problem with this code is that there is locking on the side of the writer of helper, but not on the side of the reader. it’s possible for someone to come along and read that helper!=null, but get a junk value for helper. the fix is to add a volatile modifier to the declaration of Helper:
private volatile Helper;

even better solution is to use the effective java pattern “Initialization on Demand Holder Idiom” in effective java.

immutable objects are obviously great for thread safety. final fields don’t allow other threads to see an object until construction is complete.

even if you are using a ConcurrentHashMap, if you are doing a get, some stuff, then a put, even though get and put are thread safe, you still need to lock on the “some stuff” section of your code. people who write the JDK even make this mistake, so watch for it.

use @ThreadSafe, @NotThreadSafe, @GuardedBy, @immutable annotations to document your code. some of these are checked by FindBugs.

make code correct, then worry about making it fast. fast concurrent code amounts to reducing sync costs, use java.util.concurrent and java.nio classes, and reducing lock scope.

read Java Concurrency in Practice!!!!

Comments

playing 3/23 @ swing 46

I’m playing guitar with the Blue Saracens at Swing 46 tomorrow evening, from 8:30 til midnight. if you’re in the neighborhood, come on by!

Comments

Charles McPherson at the jazz standard

After reading Ethan Iverson’s great post on Charles McPherson, I made it a point to make it down to a set this week. The quintet featured Tom Harrell on trumpet and fluegelhorn, and it was a unique chance to hear Tom blowing in such a straight ahead setting. The rhythm section was Willie Brown III on the drums, Ray Drummond on the bass and Jeb Patton at the piano.

They kicked off the set with “Budlike”, a medium uptempo blues written by Charles. From the first notes of the melody, right away I noticed Charles’ tremendous sound, even when he was playing off mic, his authoritative sound filled the club. Tom took the first solo and played his fluegelhorn beautifully, with his distinctive muted tone and uncommonly clear ideas. I was surprised to see him switch to trumpet for the remainder of the set, as I have mostly seen him perform exclusively on fluegelhorn in recent years. Interestingly, he gets a very similar muted sound on trumpet, I was sitting directly in front of him the whole set and didn’t hear any of the bright, almost cutting sound you hear when directly in front of a trumpet. Ray and Willie traded choruses for a collective bass/drums solo, that kind of conversation is something I wish I heard more often.

The next tune was an uptempo version of “The Song Is You”, followed by a Tom Harrell feature on his tune “Suspended Motion”, a straight 8ths piece with sometimes ambiguous harmonies. I know this tune, and it was really interesting to hear a player of Charles’ generation navigate a tune like this. Of course he sounded great, and perhaps a bit more thoughtful than on the earlier tunes.

They followed up with an uptempo version of “Spring Is Here”, followed by another Harrell composition, “Blues In Six”, a loping, “not-quite a blues” blues. Jeb Patton took a great solo on this one, channeling McCoy Tyner and then getting into some stacatto chords that sounded really fresh in this context. The final tune was “Tenor Madness”, with Willie Jones, who swung his ass off and played great the whole, building into a fiery solo. Charles and Tom traded over choruses, then fours, and finally twos before taking it out.

This was some of the best straightahead jazz gigs I’ve been to in a while, and I’ll definitely make it a point to listen to more charles.

Comments

Transcription: Red Garland & Paul Chambers

Here’s a PDF (MP3) of the first chorus of Red Garland’s solo on the gershwin tune, “A Foggy Day”. I decided to transcribe Paul Chambers’ bassline because, well, he’s Paul Chambers, and also because it’s remarkably clear on the recording, as Art Taylor uses brushes throughout.

As always, this transcription is more of a guide than an attempt to be 100% accurate. Red plays some great, long classic bebop lines on this. He likes to accent the highest note of the phrase, which he often places on a strong beat. I’ve put a marcato where he gives a pronounced accent.

Paul plays some very interesting lines in this and always picks interesting notes, check out the Eb – D – C line he plays starting in bar 11. Also, check out his super high line (which I have in treble clef) starting in bar 13! he really uses the full range of the bass, and this really adds a lot of intensity to the music. I have yet to notate red’s always great chord puncutations, which are such an integral part of his style. The chord symbols I’ve put above the staff reflect the changes of the tune in general, but aren’t always exactly what they play in a given spot. when in doubt, the recording obviously speaks the truth.

Comments

peter bernstein’s intro on “you are too beautiful”

Here is a very short transcription of Peter Bernstein’s intro to “You are too beautiful”, by the Ralph Lalama quartetpicit’s a nice intro with a strong monkish flavor. the major seconds in the second bar are very cool, as is the descending dominant chords leading into the first chord of the tune, which is a Bb-7.

Comments

wildwood flower

Here is a version of Wildwood Flower I recorded this evening, arranged by Russ Barenberg. Russ plays this arrangement much faster and with a swing feel, I slowed it down a lot and played it straighter as it sounds prettier to me at a slightly slower tempo. the recording is not perfect, but I feel pretty good about it.

Comments

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »