Profile cover photo
Profile photo
Guy Srinivasan
I'm not-yet-enlightened, a transhumanist, an apprentice cognomancer, and I'll still play frisbee.
I'm not-yet-enlightened, a transhumanist, an apprentice cognomancer, and I'll still play frisbee.

Guy's posts

Alpha rules says both "Please note that Ninpo used during the Plot step of each round does not count when counting Cost." and "Any Ninpo used before the Plot Number is decided counts against the Plot Number for the round." Which one?

Post has attachment
We are all doomed
Animated Photo

Post has attachment
Samantha and I had a howlin' good time on Orcas Island. A whole lotta hoot and a little bitta nanny.
Screech Owl Swoop
137 Photos - View album

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.

Post has attachment
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, 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".

Post has attachment
+Connie Srinivasan likes her cacao pod!
Animated Photo

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.


September 4th is my surgery date. I look forward to breathing while eating with my mouth closed.

Post has attachment
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?

Post has attachment
The discussion of why belief in the MWI is more brittle than belief in Copernicanism is is quite good.

Post has attachment
Excellent post on what it means to "abstract" or "be abstract".
Wait while more posts are being loaded