Posts

• Check-In 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 half-batch 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 check-in.

• 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 well-structured StackOverflow question by Martineau which had a corresponding unusually helpful and thorough answer. This made me go if only my questions were this well-posed, 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 $\beta$-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$ (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 pre-introductory 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 code-base.

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 self-directed, community-driven 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 check-in 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 bite-sized programming insights from a beginner’s perspective, you can follow my check-ins on a separate page of this blogSince there’s a limited amount of quality/time I’m willing to invest in daily check-ins, I decided to publish them on a difference page of my blog as to not disturb access to my longer, peer-reviewed 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 Research-Level 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 30-Year-Old 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 mind-blowingly, 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 Slurm-Based 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. Life-changing. , 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 step-by-step.

For a sourceTakes more time to build and there may be debugging involved, but the end program will be better performance-wise. 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 step-by-step.

For a binarySimpler installation, but the resulting program will be suboptimal performance-wise. 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 large-scale 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. State-of-the-art proofs are by no means a certain way to establish truth, as these proofs are proof-sketchesThe great Dani Wise once said. “Unless you are in the first week of your first-order logic class, all proofs you are going to see are proof-sketches. 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 Three-Space

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 $T^2$ is a product manifold of two circles $T^2 = S^1 \times S^1$. If we denote the polar angle of each circle as $\theta_i \mod 2 \pi \quad (i = 1,2)$, the coordinates of $T^2$ are $(\theta_1, \theta_2)$. Since each $S^1$ is embedded in $\mathbb{R}^2$, $T^2$ may be embedded in $\mathbb{R}^4$. We often imagine $T^2$ as the surface of a doughnut in $\mathbb{R}^3$, 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 $\mathbb{R}^4$.

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.

blog - Hang Lu Su