Profile

Scrapbook photo 1
Guy Srinivasan
Works at Microsoft
Attended Rose-Hulman Institute of Technology
Lives in Seattle, WA
250 followers|19,861 views
AboutPostsPhotosVideos

Stream

Guy Srinivasan

Shared publicly  - 
 
Samantha and I had a howlin' good time on Orcas Island. A whole lotta hoot and a little bitta nanny.
1
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
+Connie Srinivasan likes her cacao pod!
1
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
My species will be leaving scars long after that desert's gone, and yours will be pointedly not tearing down stars for material during your solitary explorations of the Outer Regions of Space and Time. How long has that desert been there, anyway, like 10 million years maybe?
1
Lora Rivera's profile photo
 
Big, big, big! 
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
Excellent post on what it means to "abstract" or "be abstract".
1
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
Together forever!
1
Add a comment...
Have him in circles
250 people
Richard Loosemore's profile photo
Michael Beyer's profile photo
Jimmy Hynes's profile photo
Christin Lai's profile photo
Richard Graham's profile photo
Rob Neuhaus's profile photo

Guy Srinivasan

Shared publicly  - 
 
Woot! Catalan numbers* achieved. I wrote a thing that counts the number of combinatorial structures specified like

var generalTree = new ClassComputation();
generalTree["tree"] = generalTree.Sum("empty", "nonEmptyTree");
generalTree["nonEmptyTree"] = generalTree.Product("node", "listOfNonEmptyTrees");
generalTree["node"] = generalTree.Atom();
generalTree["listOfNonEmptyTrees"] = generalTree.SEQ("nonEmptyTree");
Print(generalTree["tree"], 0, 10);

0       1
1       1
2       1
3       2
4       5
5       14
6       42
7       132
8       429
9       1430
10      4862

*Fine, Catalan numbers with a 1 prepended. If you don't like the 1, root the tree. Or:

var binaryTree = new ClassComputation();
binaryTree["tree"] = binaryTree.Sum("empty", "nonEmptyBinaryTree");
binaryTree["nonEmptyBinaryTree"] = binaryTree.Product("treeWithLeftChildren", "tree");
binaryTree["treeWithLeftChildren"] = binaryTree.Product("tree", "atom");
Print(binaryTree["tree"], 0, 10);

Original impetus was the Jenga problem yet again:

var jenga = new ClassComputation();
jenga["block"] = jenga.Atom();
jenga["doubleBlock"] = jenga.Product("block", "block");
jenga["level"] = jenga.Sum("block", "doubleBlock");
jenga["tower"] = jenga.SEQ("level");
jenga["nonEmptyTower"] = jenga.Product("tower", "level");
jenga["multisetOfNonEmptyTowers"] = jenga.MSET("nonEmptyTower");
Print(jenga["multisetOfNonEmptyTowers"], 0, 10);

Thanks to Analytic Combinatorics (Flajolet & Sedgewick) for noting that most combinatorial structures can be built from a small set of operations.
1
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
There's a bug in A200544! I'm fixing it and generalizing the sequence.

A conversation at the gym inspired me to go back and look at http://oeis.org/A200544, an integer sequence I submitted after Adam Outcalt trolled me with a combinatorics question a couple years ago. It's the "number of distinct bags of distinct sequences of 1s and 2s such that the sum of all terms is n" and I figured I'd allow 1s-3s, 1s-4s, etc. But then I had to understand the code that I wrote to generate A200544... and one function just didn't make any sense at all.

That's because it was morally bankrupt and wrong and only worked for n < 2*4. But since I only manually checked the sequence through n=7... :( Also the helper should have just been computing N+M-1 choose M but instead it was doing something crazy complicated.

The moral of the story? I dunno, but I verified the sequence was wrong by generating more terms via Monte Carlo. "Build a billion Jenga (multi-)towers at random and throw out duplicates" is a better way to check the next few terms than "try to write out hundreds of unique Jenga towers".
3
Robin Schriebman's profile photoAdam Outcalt's profile photoGuy Srinivasan's profile photo
3 comments
 
The corrected sequence is up for review now. It can be computed by:

sum{m_0*a_0+...+m_k*a_k=n,a_i>=1,m_i>=1}(prod{0<=i<=k}(binomial(F(a_i+1)+m_i-1,m))) where F is the Fibonacci sequence and that thing we're summing over is the partitions of n. If it was instead a product over each term in the partition (3 terms for 1+1+1 rather than just 1 term with a=1, m=3), then there's often an "easy" generating function method. Maybe there is for this too but I didn't find one.
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
I have trouble breathing.

I have always had trouble breathing. I was confused when my cross-country coach tried to teach me to breathe in through my nose and out through my mouth because clearly no one could possibly get enough air that way. Who was he kidding?

The doctor recommended I not fix it with surgery while I was still growing, so I decided not to go ahead with surgery. Later in college I reconsidered and opted out of surgery again. Later in my mid-twenties I reconsidered again and again opted out. Each time I convinced myself that I had always lived with the problem, I was used to it, it wasn't so bad, surgery is risky.

I have a deviated septum mostly closing one side of my nose. I have a spur mostly closing the other side. I have swollen turbinates which are occasionally not inflamed - on those occasions breathing through my nose feels incredibly strange, as torrents of air rush through my nasal passages, actually irritating them. The poor passages aren't used to that kind of breathing. It's not even regular breathing like other folks experience, because when the turbinates are dormant I still have severely reduced airflow due to the deviation and spur on my septum.

But I've always had that. I'm used to it.

Recently my brother +Peter Srinivasan had surgery to try to correct long-standing pain. Pain that no one else had, but hey, he was used to it. That's just how bodies work, right? No point complaining to everyone over oh f*ck that hurts.

But I'm not in pain. I'm just uncomfortable. And I have a workaround. Breathing through my mouth totally works. And sometimes I can breathe through my nose, it just makes a bunch of noise. Which aggravates my wife +Samantha McCormick. Not a perfect workaround, but it's something. So it's all okay, right?

Of course, the Entire Internet tells me that my sleep quality is probably reduced by this problem. But I'm certain it can't be by much, I would notice if my sleep was significantly worse than average. Surely "I only woke up four times last night that I can remember so I'd say I slept really, really well" isn't much worse than average.

Right?

September 4th is my surgery date. I look forward to breathing while eating with my mouth closed.
11
Dylan Havard's profile photoGuy Srinivasan's profile photo
2 comments
 
So noted... if I shoot blood out of my nose I will get it checked out.

High fives for fixing nasal bones!
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
The discussion of why belief in the MWI is more brittle than belief in Copernicanism is is quite good.
1
Robin Schriebman's profile photoGuy Srinivasan's profile photo
3 comments
 
I bow to your knowledge on that topic as all the knowledge I got was from reading your article and reading the wikipedia entry. It does seem to imply that if Time travel is possible then you can travel between worlds, of a sort (and the other stuff in the highly reputable "speculative implications" section). http://en.wikipedia.org/wiki/Many-worlds_interpretation
Add a comment...

Guy Srinivasan

Shared publicly  - 
 
This is better news than anything we might hear about in the next few days.
2
Add a comment...
People
Have him in circles
250 people
Richard Loosemore's profile photo
Michael Beyer's profile photo
Jimmy Hynes's profile photo
Christin Lai's profile photo
Richard Graham's profile photo
Rob Neuhaus's profile photo
Work
Employment
  • Microsoft
    Software Developer, 2005 - present
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Seattle, WA
Links
Story
Tagline
I'm not-yet-enlightened, a transhumanist, an apprentice cognomancer, and I'll still play frisbee.
Education
  • Rose-Hulman Institute of Technology
    Mathematics, 2001 - 2005
Basic Information
Gender
Male