spacer
{Arrest This Man, He Talks In Maths } spacer

Blog : Archives : Homepage

With your feet in the air, and your head on the ground . . .

spacer
spacer

{Thursday, July 31, 2003}

 
Too . . . amped.

Must find "relax" switch.

posted by Miles 9:58 PM
  (0) comments
 
Fuck! What an awesome album!


Body parts are nice,
I can close my eyes,
and think about your lips;
They quiver to the tips
of the fingers on my hand
I'm a man
with some secret plans
I need to carry out.
You are my mission......impossible, at first
We're like cold fission...I feel an energy flow...
Flow..
Let it all go,
Close your eyes
Body parts are nice.

What makes you warm?
The sun on your skin, a summer storm
Rain,
Rain, on your face,
Rain that you can taste
slowly,
As it drips
down your lips
like a kiss
from the one you love.

- "Bodyparts", from the album Magazine, by Jump, Little Children


Ay, my head is ringing from listening to it over & over at high volumes. It's the best White Stripes song the White Stripes never wrote, man. No offense to either side.

Fuck!

posted by Miles 1:35 AM

  (0) comments

{Wednesday, July 30, 2003}

 
So I was in lab working 'til about midnight, last night, and then I started playing Starcraft with Justin Halberda. He had on some tunes that I really liked, so I asked him who the band was. "Them", he said. I was like, "Them? (hmm, I've never heard of that band)". Justin clarified: "Them - the guys we're playing starcraft with. The band's called Jump, Little Children.

Nice. :-)

I bought one album of theirs off of iTunes, today, and another from the band's online store.

Two samples:

Cathedrals
Habit

support musicians

posted by Miles 9:21 PM

  (0) comments

{Tuesday, July 29, 2003}

 
Holy shit! My old company just got bought by pharmaceutical giant Roche; it was a complicated deal, but basically Roche paid 1.4 Billion, sending Igen shares up about 60%. Wowza.

posted by Miles 4:59 PM

  (0) comments

{Monday, July 28, 2003}

 
So, I'll admit to being a little scared by the RIAA's shotgun lawsuit approach against filesharers. I don't appear to be on the shitlist - though it's increasing every day - and it appears they're exclusively targetting KaZaA users, meaning macintosh users (who can't use the PC-only KaZaA) get another free pass (like we do with most viruses).

But. What am I supposed to do when I want a song like Aretha Franklin's "One Step Ahead", the song sampled in Mos Def's awesome "Ms. Fat Booty"? I've wanted this song for a long time. I remembered I wanted it, today, and went to the iTunes music store, to legally purchase it. No dice. It wasn't there. They have a good selection, but they don't have full catalogs for most "older" artists - just recent "best-of" collections or re-releases, in most cases.

Now, I actually was never able to find this song using LimeWire, either. The network simply doesn't have the selection KaZaA does. And I'll grant that this is a somewhat niche-market kind of desire. But while most of the controversy rages over new music CD sales, it seems like there's a real market opportunity in back-catalogs and out-of-print albums. "One Step Ahead" may never have even been released on CD; it was a 1965 single, but I haven't been able to find it on any compilation.

Another market opportunity waiting to be exploited: adult baseball leagues. Both in D.C. and in Boston, I sent out multiple inquiries every spring, and never heard back. There are leagues, but they're established and exclusive, holding try-outs to fill a few open positions every year, but turning away many interested players. The Boston Men's Baseball League turned away about 120 hopefuls this year, and it's not the only league around. The rest of us are relegated to softball. Why? Softball is some fun, but it's not baseball. Adults play basketball. Adults play soccer. Adults are fully capable of playing baseball. Instead, we play a second-class game. It's bogus.

posted by Miles 11:35 AM
  (0) comments
 
That Red Sox comeback against the Yankees last night was awesome! Dave Barner and I were driving back from our Harvard-Yale psychology department softball grudge match, and the game kept us company for the 2+ hour drive. We were going through a toll booth on 90 when Varitek hit his homer, so I dosed the booth attendant with some very loud hooting and hollering. She just smiled.

Dave and I had noticed the other day that the Yankees looked to have an incredibly easy schedule down the strech in September - Detroit, Tampa Bay, Chicago. So we had agreed that the Red Sox probably needed to catch the Yankees quick, and pull ahead, if they were to have any shot at winning the East.

I decided to put this hypothesis to an analytical test.

The Sox have a brutal 14 straight games against Seattle & Oakland in the middle of August, a home-and-home set of 7 with the Yankees, and assorted garbage: 14 against Baltimore, 7 vs Tampa Bay, 5 vs the Chi Sox, 3 each against Texas, Anaheim & Cleveland, 2 vs the BJs, and 1 make-up against the Phillies.

Meanwhile the Yankees have a matching 14 against Baltimore and 7 vs. Tampa Bay, 6 each vs K.C. & the Chi Sox, 3 each vs. Oakland, Seattle, Anaheim, Texas, Toronto & Detroit, and the games with the Red Sox.

Difference Analysis:

Red Sox:

4 Oakland (60-44)
4 Seattle (63-41)
3 Cleveland (44-61)
1 Phillies (57-46)

total (weighted) opposition W-L percentage: .545

Yankees:

6 K.C. (57-46)
3 Detroit (28-75)
1 Chi Sox (54-51)
1 Blue Jays (54-51)

total (weighted) opposition W-L percentage: .470

However, as this is only over 11-12 games, it shouldn't amount to much; the Yankees can expect to win 5.83 and lose 5.17, the Sox can expect to win 5.46 and lose 6.54. The difference in these is 0.37 W, 1.37 L; add these up and divide by two and you get a 0.87 game difference in the standings as the, eh, "variance attributable to strength-of-remaining-schedule effects". Which is substantially less that the effect of any single game between the Sox and the Yankees.

So if the Red Sox don't catch the Yankees, no blaming it on scheduling. :-)


posted by Miles 10:18 AM

  (0) comments

{Wednesday, July 23, 2003}

 
I keep getting this conflict between feeling discouraged by my ignorance, and excited about making progress and finding shit out.

posted by Miles 8:32 PM

  (0) comments

{Friday, July 18, 2003}

 
Hey, if my blog looks whack, formatting wise, please tell me. I only see it from my mac, really, and lately it's coming out strange . . . stubbornly running off the right side of the screen regardless of what I do in the template settings. I checked, and it's not doing this in IE on a windows box . . . but the font is unreadably tiny. So anyway . . . like I said, give me a shout if it's hard to read.

posted by Miles 6:54 PM
  (0) comments
 
Wow, I have a full weekend ahead of me. Free clubbin' at La Boom tonight, courtesy of some softball buds; softball practice, then either The Hip Hop Peace & Unity Fest or the all-boston team poetry slam, or both, tomorrow afternoon & evening; then 2 softball games Sunday morning & a (second!) free Blue Man Group show (their regular theater show, rather than the rock concert - again courtesy of Jess' friend Martin!) on Sunday afternoon. All this after a lazy morning 'lab pool party' out in Andover at Andy Barron's phat family-pad, today. It's a good life, you know?

I gotta really solve this number-pair/ratio/proper-scale-distribution set thing, though, and soon. I have now put way, way too much time into solving what should, goddamnit, be a simple enough problem.

posted by Miles 6:36 PM

  (0) comments

{Thursday, July 17, 2003}

 
Question of the day:

Given a sequence of N bits, what metric would give you something akin to "how unlikely it is that the sequence resulted from random (p=.5) generation"?

I know there are measures of the 'complexity' of sequences (Kolmogorov complexity, for one). I don't really know how they work, but I know they exist. But they don't really seem like they answer the specific question.

My curiosity was piqued by this sequence: (The history of the MLB All-Star game)

0000001110000001011101111111111101111111110111100011011110000100010101000

Yes, I know this is kind of a tricky (possibly badly formed!) question. :-)

I welcome any and all input.


posted by Miles 3:48 PM
  (0) comments
 
I saw the most fucking amazing show last night - The Blue Man Group's The Complex Tour. Massive thanks to Jess' friend Martin, who gave us a pair of (free!) tickets he obtained through his theater production connections! You should absolutely check 'em out if they're coming to a venue near you.

posted by Miles 12:01 PM

  (0) comments

{Tuesday, July 15, 2003}

 
Fuck yeah.

Bee-atch.



function [inside_stats, bas] = sm_ratio_finder(target_ratios,set_sizes,slop)
%SM_RATIO_FINDER
%
%usage: [inside_stats, bas] = sm_ratio_finder(target_ratios,set_sizes,slop)
%
%creates all possible pairings for an input set of integers (set_sizes), picks those
%matching (within the range 'slop') an input set of ratios (target_ratios), and then
%looks for the '2-from-each-ratio' combination of pairings that includes the most
%'within threshold range' pairs.
%
%'slop' may be a vector (with the same length as target_ratios) or it may be a scalar.
%

start_time = clock;

%example inputs:

%set_sizes = [5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26];
% slop = .010;
%target_ratios = [1.5 1.6 1.7 1.8 1.9 2.0];

max_out = min(set_sizes)-1;

[junk num_set_sizes] = size(set_sizes);
[junk num_target_ratios] = size(target_ratios);
[junk num_slop] = size(slop);

if num_slop == 1
slop = slop*ones(1,num_target_ratios);
else
if num_target_ratios ~= num_target_ratios
error('slop and target_ratios dimensions do not match');
end
end

num_ratios = zeros(num_set_sizes,num_set_sizes);

% compute ratios for all pairings:

for i=1:num_set_sizes
for j=1:num_set_sizes
num_ratios(i,j) = set_sizes(i)/set_sizes(j);
end
end

% find matches to target ratio set:

for i=1:num_target_ratios
[a b] = find(num_ratios>(target_ratios(i)-slop(i)));
[c d] = find(num_ratios<(target_ratios(i)+slop(i)));

matches{i} = intersect([a b],[c d],'rows');
[num_matches,junk] = size(matches{i});
if (num_matches < 2)
fprintf('%s %2.2f \n','failure to find two pairs within range for ratio: ',target_ratios(i));
error('exiting - no successful pairing');
end
end

% reformat, to create a cell array of one number pair / exact ratio matrix per target ratio

for i=1:num_target_ratios
[num_matches junk] = size(matches{i});
matches_w_ratios{i} = zeros(num_matches,3);
% matches_w_ratios{i}(:,1:2) = matches{i};
for j=1:num_matches
matches_w_ratios{i}(j,1) = set_sizes(matches{i}(j,1));
matches_w_ratios{i}(j,2) = set_sizes(matches{i}(j,2));
matches_w_ratios{i}(j,3) = num_ratios(matches{i}(j,1),matches{i}(j,2));
end
end

% prepare to calculate "big and small" matrix, calculate thresholds, & count "inside" pairings:

big_and_small = zeros(num_set_sizes,2);

% for each target ratio, create list of all different "2 pair" sets

for i=1:num_target_ratios
[num_matches, junk] = size(matches_w_ratios{i});
index_vector = [1:num_matches];
nck_matrix{i} = nchoosek(index_vector,2);
end

% calculate total number of "N*2 pair" full experimental sets

tot_num_bas = 1;
for i=1:num_target_ratios
[num_combos(i) junk] = size(nck_matrix{i});
tot_num_bas = tot_num_bas*num_combos(i);
end

num_combos

bas = zeros(num_set_sizes,2,tot_num_bas);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This is just a progress bar:

for i=1:20
fprintf('%s','X');
end
fprintf('\n');

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[junk num_dims] = size(num_combos);

low_threshold = zeros(tot_num_bas,1);
high_threshold = zeros(tot_num_bas,1);
overlap_pairs = zeros(tot_num_bas,1);
inside_pairs = zeros(tot_num_bas,1);

% main loop for producing "big and small" matrices

for i=1:tot_num_bas

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% More progress bar code:

progress=round(100*(i/tot_num_bas));

if mod(i,round(tot_num_bas/20)) == 0
fprintf('%s','X');
end

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

cur_bas = zeros(num_set_sizes,2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Code to extract N-dimensional cartesian coords from single index

single_index=i;

for j=1:num_dims
it_index = num_combos(num_dims-j+1);
cart_coords(j) = 1+mod(single_index-1,it_index);
single_index = ceil(single_index / it_index);
end

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

these_real_pairs = zeros(2*num_target_ratios,2);

%%%%%%%%%%%%%%%%%%%
% The meat:
%
% First, construct a "big and small" matrix:

for j=1:num_target_ratios
this_pair = nck_matrix{j}(cart_coords(num_target_ratios-j+1),:);
for k=1:2
l_index = matches_w_ratios{j}(this_pair(k),1)-max_out;
s_index = matches_w_ratios{j}(this_pair(k),2)-max_out;
cur_bas(s_index,1) = cur_bas(s_index,1)+1;
cur_bas(l_index,2) = cur_bas(l_index,2)+1;
these_real_pairs(((j-1)*2+k),:) = [l_index s_index];
end
end

% Second, calculate thresholds

low_threshold(i) = max(find(cur_bas(:,1)));
high_threshold(i) = min(find(cur_bas(:,2)));

% Third, count "overlap" and "inside" pairs
% (pairs with one or two members, respectively, inside threshold limits)

overlap_pairs(i) = sum(sum(cur_bas(high_threshold(i):low_threshold(i),:)));
for j=1:(2*num_target_ratios)
if and((these_real_pairs(j,2)>=high_threshold(i)),(these_real_pairs(j,1)<=low_threshold(i)))
inside_pairs(i) = inside_pairs(i)+1;
end
end

bas(:,:,i) = cur_bas;
end

inside_stats = [low_threshold high_threshold overlap_pairs inside_pairs];

% find best set, based on number of inside pairs:

[max_inside_val, max_inside_index] = max(inside_pairs)
[max_overlap_val, max_overlap_index] = max(overlap_pairs)

max_cart_coords = single_to_cartesian(max_inside_index,num_combos)

real_goddamn_pairs = zeros(num_dims*2,3);

% go back and find the actual numbers & ratios for chosen optimal set

for i=1:num_dims
set_pair = nck_matrix{num_dims-i+1}(max_cart_coords(i),:);
for j=1:2
real_goddamn_pairs((i-1)*2+j,:) = matches_w_ratios{num_dims-i+1}(set_pair(j),:);
end
end

real_goddamn_pairs

etime(clock,start_time)


(took me freakin' long enough)

posted by Miles 6:59 PM

  (0) comments

{Friday, July 11, 2003}

 
Cambridge is covered by a dense mist. It's beautiful from up here on the 11th floor.

and in the backseat of your car
you showed me every single star
and how the zenith and the sounds
change in every single town
well, it's over and i can't go there anymore

- The Organ


I saw this band, along with "The New Pornographers" last night at the Middle East. It had been a long, long time since I'd been to a show. It was good - I'd never heard of The Organ, but I loved 'em - the singer reminds me of Patti Smith, voice & lyrics wise, with a sexy/androgynous lesbian-meloncholy-punk attitude. Indie rock rules. They're playing in N.Y. at the Bowery tonight & tomorrow, and in D.C. at the Black Cat on the 13th.

Support Artists. :-)

posted by Miles 10:54 AM
  (0) comments
 
Here's what I should be doing my PhD on: Poker A.I..

posted by Miles 10:50 AM

  (0) comments

{Wednesday, July 09, 2003}

 
Several of us here are working on the vague outlines of an experiment that would require simulating virtual sound-emitting objects. The idea would be to have a surround-sound-like system (or surround-sound headphones) in a dark room (no visual stimuli) and create the illusion of objects whizzing around in 3D.

I feel like there must be some software, somewhere, written to do exactly this - for special effects, or whatever. I have no idea where to look, however, or even what to look for. Any ideas, anyone? email me.

Another question is how hard it would be to write such a thing from scratch - the "sound" equivalent of a ray-tracer that would compute the sound that would be "recorded" at each of N points, from the sounds emitted from M moving, humming objects. It seems to me like it would be very easy to do a bad approximation (hey, 1/r^2 amplitude!), moderately difficult to do taking a little more physics into account (doppler shifts, reflection off walls . . . other stuff?) and maybe extremely hard to do perfectly (accounting for speaker directionality? reflections off the observer? appropriate interference? tons of other factors that i'm naive to?)

posted by Miles 2:29 PM
  (0) comments
 
Huh - according to the oddsmakers, Dean has pulled even with Kerry as the frontrunner for the Democratic nomination.

posted by Miles 2:23 PM
  (0) comments
 
Jess & I biked the Minuteman last night, after Anh, JimmyK, Jenny & I signed the lease on our new place. We made it all the way to the official "end" in Bedford! Didn't make it back home until after 10:00, so the way back was pretty dark. :-)

Nice, an awesome song just came on my iPod. "Summer of Love" from the "Rain" Soundtrack. I love this thing.

Alright, I've got an 11:00 kid to run! Gotta' go set-up. Watch for some preliminary data & analysis here soon - I'm approaching 20 subjects on this version of TLN. (!!!)

posted by Miles 10:31 AM

  (0) comments

{Monday, July 07, 2003}

 
I always say I like to live my life as an open book. This, in one way, is as open book as you can get: I figured out I can export my to-do lists from omni outliner to html, so here they are - my (work) life, raw and uncut:

Current / Urgent
fMRI related
Overview / General

A lot of the specifics won't make any sense to most of you, but I feel like you can probably get a kind of a gestalt something from it, anyway.

posted by Miles 8:38 PM
  (0) comments
 
Argghhh!

A strikeout on the apartment; multiple realtors were showing it, it was a long weekend, there was a middleman between our guy and the owner . . . same kind of mess that sunk us on the place we loved and put a deposit down on two years ago, only to lose. I hate this process.

Fortunately, we saw another place that we like, today - hopefully we'll actually get this one. It's not as close, for me; it's right near the start of the bike path in Somerville, North of Porter. Nice, big place, with off-street parking, front & rear decks, brand-new looking kitchen, two common rooms, two bathrooms. Nice. Just not quite as nice for me, because of the location. But still cheap. $100 per person less than we're paying now, for a substantially nicer place.

Don't hate the player, man, hate the game.

Speaking of which, I used to be in the "Why does MTV play all these stupid shows instead of music videos?" camp. I don't even watch TV, but I have no idea how I could not watch Snoop Dogg's "Doggy Fizzle Televizzle". I was a little addicted to Punk'd for a while, too. I mean, this is good sh*t, dude.

posted by Miles 12:58 PM

  (0) comments

{Sunday, July 06, 2003}

 
We put a deposit down on a new place! It's on Beacon Street, right near the Star Market. It's $500/mo cheaper than our current place, and just as nice. Also, it's still a pretty short walk to lab, for me.

posted by Miles 11:14 PM

  (0) comments

{Thursday, July 03, 2003}

 
"Good love never dies
It only hurts when we burn our eyes
From staring too long at the sun
You gotta throw your hands up
And let the night come
Take your chances
And let the night come"

- Liz Phair





posted by Miles 5:09 PM

  (0) comments

{Wednesday, July 02, 2003}

 
So, I haven't been posting because I've felt like there's so much to write that I don't know where to start; that's no good, so I'll break the trend with a trivial post.

I love the new Liz Phair album. It took me a few listens to fully warm up to it, but I've arrived. Yes, it's more of a pop sound, and yes, the lyrics have a different tone . . . it's interesting, if whitechocolatespaceegg was Liz showing her maturity, the theme of this album might be said to be post-mature. Liz hashing out (apparently) the breakdown of the marriage she was glowing about in whitechocolatespaceegg, the ever dynamic nature of attraction, love, and friendship, and - in my favorite song of the album - how it all seems and feels to her now six year old son.

Dig little digger, don't be shy
You saw your mother with another guy
You think you'll tell her that she's one of a kind, you say
My Mother is mine

You put your trucks up on the bed next to him
So he can get a better look at them, you say
This ones my favorite one, this one you can't have
I got it from my Dad, you say
I got it from my Dad

Now you're thinking little thoughts about it
Taking every inch of him in
What does it mean when something changes how its always been
And in your head you keep repeating the line
My Mother is mine

I've done the damage, the damage is done
I pray to God that I'm the damaged one
In all these grown-up complications that you don't understand
I hope you can, someday
I hope you can



There's something intensely sad, even in all the energy of the album - a sorrowful acknowledgement and recognition of the simple reality that nothing is - that nothing related to love can be - as simple as we think it should be when we are children.

Or when we have children.

Or ever.


posted by Miles 2:25 PM

  (0) comments
spacer