Recurse Center, day 1

obligatory feelings about bread

One of my missions in NYC is to taste some of the finest bagels I can find, as I have thus far been secondhand calibrating all my NY-style sourdough bagels on New York natives. My bagels are reputedly “better than any California bagel”, likely due to my gratuitous love of sourdough spreadsheets (or breadsheets in baker’s parlance), but I can’t fine-tune the damned spec to the gold standard if I don’t actually know what said standard is supposed to taste like.

I’m hungry, so I just get one from Dunkin’s as I stumble off the plane at 8am EST (5am my time). It’s not artisanal, but it definitely carries a bready, malty, chewy distinction, and I belatedly realize my stomach wanted at least two more.

NYC public transit is as good as or better than its reputation. As I navigate transfers and scamper beneath train overpasses, It feels like someone did a gritty American remake of Shibuya where things are a bit more sooty and the trains aren’t optimized to be perfectly on time.

somehow, I am at recurse center

In the first few minutes, I have met an aerialist (straps), a polyglot (Russian, French, some Greek), and someone who is studying 6.824 and implementing Raft. Oh no how will we possibly build/learn/do all the things together??

In just a few hours of socializing (accelerated by a programmatically-facilitated meet+greet), I have recalibrated to so much fresh context about what I don’t know anything about! It is clear that I have let myself stagnate greatly in the computing & mathematical realms since MIT, and this feeling of hypomanic technical learning and inspiration is something I have chased in vain since college, leaving a trail of fifty disparate fields of craft in my wake. It’s so difficult to replicate the magic without the rare (and unfortunately socioeconomic) privilege of an environment where you have been fortunate enough to logistick your life for a brief, charmed span of time such that your only obligation is to learn for the sake of learning what you want to learn.

The library is VERY CUTE (digital catalog here), but we cannot check books out of the building and I fear I will become wholly distracted, so I will save the adventure of perusing it for tomorrow morning.

Oh no someone brought a modular synth

intentions

The rarest thing that Recurse provides that you can’t get elsewhere (after undergrad, anyway) is lots of people with a passion for self-studying a broad spectrum of weird applied computer sciency interests, who have also explicitly carved out this union of time to pursue them. So obviously, I want to just connect and talk with lots of people.

I also want to reconfigure my brain by learning functional programming. So does half the batch, it seems! The hardest thing will be intentionally putting project distractions and side interests on hiatus so that I can get something focused out of this short week.

I end up going with Clojure over Haskell for now because the half-baked project idea I have may involve generating fictional but cohesive writing systems using interesting generative techniques, and it looks like there’s a pretty awesome visualization library for Clojurescript called Quil.

Perhaps in another batch, Haskell. tiny violin weeps

functional koans

I’m beginning to drift from my too-light reality-anchor of 4.5 hours of jetlagged sleep on a redeye flight that immediately followed a dance rehearsal, so I sip some matcha and lull my mind into a soothing rhythm of Clojurescript Koans.

functions/3, 4

; functions can be defined inline
(= _____ ((fn [n] (* 5 n)) 2))
; or using an even shorter syntax
(= _____ (#(* 15 %) 4))

functions/7, 8, 9

; one function can beget another
(= 9 (((fn [] _____ )) 4 5))
; functions can also take other functions as input
(= 20 ((fn [f] (f 4 5)) _____ ))
; higher-order functions take function arguments
(= 25 ( _____ (fn [n] (* n n))))

handy helpers & utilities

clojure.repl provides a number of useful interactive functions meant to be used in the shell, such as doc to dump documentation and dir to dump the contents of a namespace. (require '[clojure.repl :refer :all]) to import.

More links

preoptimization & more distractions

I take a quick break to research how in hell I’m going to minimalize my worldly possessions so I can sublet my room and then find a pet-friendly sublet to bring my cat to NYC for 3 months, because it’s already obvious that only four more days of this is going to be nowhere near enough for me.

There are nontechnical lightning talks tomorrow. Since getting into zine-making, I have far too many lightning talks fully visually illustrated and ready to go at all times, so I offer up a poll. People seem to be really excited about learning how to poop outside. I don’t blame them.

emoji poll

I have promised, and now I must deliver.

I’m staying with my friend from college whom I originally met at Mathcamp 2006. Our other friend from Mathcamp 2006 is a math professor at Columbia now. We briefly consider dressing up as math majors (aka whatever we wore 10-14 years ago), sneaking into his lecture to ask genuine questions about Diffie-Hellman equations, and watching him try to keep a straight face, but I am too extremely jetlagged and sleep-deprived to commit to additional shenanigans at the moment.