Vegetarian Cooking

I’m not a vegetarian, and with the sad state of vegetarian cooking in a lot of restaurants, I’ll probably not be for a while. Here’s some tips for doing it right.

Crappy Vim Advice I've Seen

I’ve seen this way too often.

Googling "Why do people die?"

Search why do people die and you get a bunch of religious groups and crap like “because Eve ate an apple”.

Tagline to describe category theory

Category theory focuses on the relations between objects. So this motto seems appropriate.

Some Harsh (And Great) Advice

From Dale Carnegie’s How To Win Friends And Influence People, said to Benjamin Franklin.

The Root Of Computation

Recursion is the root of computation since it trades description for time.

How Do Companies Rank, According To Each Other

You know how companies tend to make rather self-serving charts to show how they’re number one in their field? (even though that can’t be true for everyone)

Changing GHCi Prompt

It’s not at all necessary, but it looks super cool to quote The Venture Bros.

Shougo

Shougo Matsu is scary when it comes to GitHub issues. No one, and I really do mean no one, fixes them as fast as him. And he has a lot of popular, well-maintained projects. I don’t think he even does Haskell programming, and yet he does a lot of work on an autocomplete source for it.

Vim's Real Advantage

I love emacs. The consistent interface, strong scripting language (even if elisp has dynamic scope), and easy extensibility make it a joy to use. Just off the top of my head, emacs has these applications to make it worth living in:

My First Pair Of Nice Shoes

Back in high school, I was in a business club called DECA. We ended up in Louisville, Kentucky for one competition. I won, and that is still one of the better moments of my life.

My Message to "Leftover Women"

I just watched this video about “leftover women” in China, and it was one of the saddest things I’ve seen all year.

New Vocabulary For New Ideas

Michael Spivak once said that the definitions in math should be hard and the theorems should be easy. This is because the definitions are benchmarks for different levels of abstraction. Theorems are essentially chaining definitions together to get new definitions.

One Year of Programming

It’s been a year since I started learning programming. In that time, I went from not knowing what HTML was to doing machine learning and learning type theory and burning too many hours getting my mail to work in the terminal.

Where Programmers Beat Mathematicians At Their Own Game

I recently read this debate on StackExchange.

The Power of a Certain Counting Argument

The reason that bijective functions between sets imply that those sets are of the same size is because of a generalized version of a counting argument. If a function is injective, its target must be at least as big as its source, or else there isn’t enough “room” for points to map uniquely (google “Pigeonhole Principle”). For surjectivity, the target must be smaller or equal to the source because otherwise the function can’t fully cover the target since the target is too big. Each point in the source can only cover one point in the target. So if a function is to meet both, the sets must be less than or equal to in size as well as greater than or equal to in size. this means that they’re of the same size.