Posts

CheckIn Day 46: Never Graduate Day
August 10, 2017
On this day of Never Graduate, I am literally not graduating from RC. As I said in a previous post, I’ll be staying for another halfbatch because I like it so much here.
I’m going to miss everyone who was here. This place is really carved by the people who are here with the expert guidance of the RC faculty. This place has taught me to value myself and others more that I could imagine. It’s taught me there’s so much fun in asking and giving help with the simple expectation it’s helping build a better community. I feel like I’ve been part of something special and unique. I’m looking forward to keeping in touch with my fellow RCers over the years, all over the world.
Unto the checkin.

What A Great Way To Ask A Technical Question!
August 2, 2017
Browsing around to get an answer about a technical question, I stumbled unto an unusually wellstructured StackOverflow question by Martineau which had a corresponding unusually helpful and thorough answer. This made me go if only my questions were this wellposed, I would’ve gotten better quality help, so allow me to share it.

What the Hell Are Unit Tests For?
July 27, 2017
I was really confused about this, so I talked to Victoria Kirst who teaches Computer Science at Stanford and was a Google engineer in the past. She really elucidated unit tests for me! Here are my takeaways.
Unit tests are to make sure you haven’t broken anything in the program when you change it. In order words, unit tests are there to prevent regression in your code.

What Is Lambda Calculus?
July 4, 2017
Forget the name calculus and maybe even lambda. A lambda calculus is the smallest Turing complete language using only one operation: evaluationAlso known as reduction. , and one object: functions.
The way the lambda and the calculus comes up is the following: we typically name the functions starting with a (lambda) symbol, and we say it’s ‘‘calculus’’ in the sense of a particular method or system of calculation or reasoningSource: Google. .
So how do we write functions, and what is this way of reasoning?

What Is A Cryptographic Hash?
June 9, 2017
Cryptographic hashes play a fundamental role in the structure of blockchains, which is what Bitcoin is built on.
Essentially, hashes act as digital fingerprints for data. If you have a person and a fingerprint, it is easy to verify that the fingerprint belongs to the person, but a fingerprint alone tells you very little about someone. We will later see that this property is useful for verifying the authenticity of a blockchain.
Let’s explore this more formally in this preintroductory post to Bitcoin.

Remap Caps Lock to Backspace in macOS Sierra in 1 Second
May 27, 2017
This is useful for Colemak users.
There’s a direct way to remap keys in Sierra from command line.
To remap caps lock to backspace, copy paste this command line (without the $ sign).
$ hidutil property set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}]}'
That’s it.

How To Start Programming Like a Pro: Mindset and Tools
May 23, 2017
My fundamental goal for RC is to learn how to think and work like a programmer in a professional environment.
My programming background has been coding for a few research projects in SageMath, which is basically Python with pure math library functions, and a couple foundational CS courses. I’ve never worked in industry or managed a large codebase.
Today I had the chance to learn about what constitutes a good programming setup from Saul Pwanson, who’s programmed his whole life (that’s over 30 years).

First Day at Recurse Center
May 22, 2017
Blog Update: From May 22nd to August 10th, I will be blogging about my experience at the Recurse Center, a selfdirected, communitydriven educational retreat for programmers in New York City.
Because of the independent nature of the program, it was highly suggested that participants have a daily checkin process where we blog about what we learned/did during a day to hold ourselves accountable for our learning.
If you’re interested in my experience, or in bitesized programming insights from a beginner’s perspective, you can follow my checkins on a separate page of this blogSince there’s a limited amount of quality/time I’m willing to invest in daily checkins, I decided to publish them on a difference page of my blog as to not disturb access to my longer, peerreviewed posts. . From time to time, a blog post will show up on this blog if I’m particularly proud of it.
Talk to you there tomorrow!

On Organizing the March for Science In My City
May 7, 2017
Someone asked me to put up a transcript of the speech I gave on organizing a satellite March for Science. Here it is.

On Memorizing ResearchLevel Math
May 5, 2017
This Math Overflow post answer about how to not forget old math by Timothy Chow is so relevant I’m posting it here on my blog.
Forgetting lots of stuff is inevitable. But there are ways you can mitigate the damage of this information loss. I find that a useful technique is to try to organize your knowledge hierarchically.

Story About Growth: How a 30YearOld Open Problem Was Solved
May 3, 2017
Moon Duchin and Michael Shapiro’s result proving the rational growth of the Heisenberg group solves a mathematical question which has stood open for thirty years.
Behind the problem solving, there’s a great academic story that spans those 30 years. Learning about this story gave me a wonderful glimpse on the nature of mathematical progress. Allow me to share the story with you.

Gromov's Seminal Breakthrough (short)
April 21, 2017
I’m currently reading the long overdue 1981 paper of Gromov showing that virtually nilpotent groups are precisely the groups with polynomial growth.
To my surprise, the breakthrough wasn’t mindblowingly, spectacularly, unspeakably awesomely seminalDon’t get me wrong, it’s still very seminal, just not as much as I originally thought, which would have been hard to satisfy for any mathematical result. as I thought it was, in the sense that the literature was somewhat building up to itOf course, this is a fundamental theme in mathematical research, which is easy to forget because it is routinely contradicted by myths of lone mathematicians. As you can see, I’m completely guilty of forgetting myself! .

How to Run A Python Script in SlurmBased Cluster in Five Minutes
April 18, 2017
This actually took me a couple hours to figure outErm, more like a day if we take into account the frustration and the resulting procrastination. On the other hand, I got to listen to this amazing podcast with Kara Swisher, a fearlessly straightforward journalist. Lifechanging. , so hopefully I save you some time!

Installing Sage in ssh/Cluster from Binary
March 23, 2017
I installed Sage from binary in my Cluster ssh account and documented it stepbystep.
For a sourceTakes more time to build and there may be debugging involved, but the end program will be better performancewise. installation process, click here.

Installing Sage in ssh/Cluster from Source
March 22, 2017
I installed Sage from source in my Cluster ssh account and documented it stepbystep.
For a binarySimpler installation, but the resulting program will be suboptimal performancewise. installation process which takes less disk space, click here.

Introducing Growth of Groups
March 14, 2017
The growth of a group is an aesthetically pleasing largescale property that is borderline geometric and algorithmic.
I will give an overview on the research on growth by historical and intuitive examples.

The Social Role of Mathematical Proofs
October 1, 2016
Although proofs are often thought as a way to show beyond reasonable doubt that a mathematical statement is true, this is not always the case in practice, even for mathematicians at the top of the field. Andrew Wiles’s proof of Fermat’s Last Theorem originally contained a gap, and Fields medalist Vladimir Voevodsky found one of his papers to be very wrong seven years after publication.
Mathematical publications are long, and their machinery convoluted. Stateoftheart proofs are by no means a certain way to establish truth, as these proofs are proofsketchesThe great Dani Wise once said. “Unless you are in the first week of your firstorder logic class, all proofs you are going to see are proofsketches. Deal with it!” . For a long time, I have wondered what the role of a proof is, and where proofs are going with the advancement of computing power and formal verification.

The Torus vs Its Embedding in ThreeSpace
July 3, 2016
As a visual person, this passage from Geometry, Topology and Physics by Nakahara Nakahara, Mikio. Geometry, Topology and Physics. CRC Press, 2003 blew my mind:
The Torus is a product manifold of two circles . If we denote the polar angle of each circle as , the coordinates of are . Since each is embedded in , may be embedded in . We often imagine as the surface of a doughnut in , in which case we inevitable have to introduce bending of the surface. This is an extrinsic feature brought by the ‘embedding’. When we say ‘a torus is a flat manifold’, we refer to the flat surface embedded in .
The bending of the torus is an extrinsic feature brought by the embedding! This makes a lot of sense: I couldn’t subconsciously associate the product of two circles with the torus in 3D, because they are in fact different: the 3D torus is an embedding of the cartesian product of two circles in 3D, not the object itself.
Another reminder that visualizing things, while helpful, can be misleading.