Fuyang's Blog

On the way to achieve minimalism and essentialism

Category: Life

Why I still haven’t found a life partner

Yesterday I downloaded an audio book from Audible.com – which is called The Mathematics of Love, written by Hannah Fry who seems to be a pretty charming mathematician, who also from time to time making some YouTube Numberphile videos such as this one.61KyZWxQM5L._SL300_

Never mind… The point is in her book she mentioned a method I used previously on a beer conversation with my lovely colleagues, a method can help you calculate how many potential life partners are out there waiting for you to be find. (I guess every single man or woman with a little of brain function would have probably thought about the same question at least once when he or she was half way intoxicated and there happened to be a young couple across the bar kissing as if they were the main actors of the show that evening…)

Anyway, the method is, actually very simple, just using the number of total potential partners, multiply by a few factors each from a certain perspective can help you estimate how many percentage of them are actually can be your life partner. It said to be the same way scientists try estimate the number of highly evolved civilizations that might exist in our galaxy (Drake equation), mentioned by Hannah in her book when referring a paper called Why I don’t have a girlfriend – by Peter Backus.

G = N \cdot f_W \cdot f_A \cdot f_S \cdot f_U \cdot f_{B1} \cdot f_{B2} \cdot f_{P1} \cdot f_{P2} \cdot f_f

I remember I did the calculation, once, for the fun of it, together with my colleagues, and the result was quite shocking. So I am going to do it here again:

Suppose I live in Denmark, and the whole population is around N=6,000,000, and we assume:

  • f_W  = the fraction of people in DK who are women = 0.5;
  • f_A = the fraction of the women in DK who are age-appropriate = 10 years out of 70 years (suppose the age is evenly distributed) = 1/7;
  • f_S = the fraction of the women with the right age are single = 0.5;
  • f_U = the fraction of the women who have a university education = 0.26 (no offense but I have the same reason with the guy mentioned in the paper Why I don’t have a girlfriend;
  • f_{B1} = the fraction of the women with the right age with the right education who I find physically attractive = 2 out of 10 = 0.2;
  • f_{B2} = the fraction of the women with the right age with the right education who find I physically attractive = 2 out of 10 = 0.2; (Let’s say I am average looking, if you don’t agree, comments below and I will reduce this value);
  • f_{P1} = the fraction of the women with the right age with the right education who we both find attractive and who think my personality is acceptable also enjoy being with me, or you may call it have a word to say between = 0.5;
  • f_{P2} = chance that I enjoy being with her, same above = 0.5;
  • f_f = sadly because I am a foreigner who don’t speak Danish yet so maybe half of the women in the end decided not to date me = 0.5.

Thus, we can easily calculation G, which is the possible number of ladies in Denmark could become a life partner of mine:

G = 6e10^6 \cdot 0.5 \cdot {1 \over 7} \cdot 0.5 \cdot 0.26 \cdot 0.2 \cdot 0.2 \cdot 0.5 \cdot 0.5 \cdot 0.5 = 279

 My goodness, only 279 women are out there in DK could be my life partner, based on a positive estimation.

However since I live in a town called Odense, suppose if I don’t go out of the town and just try to meet some local people, with the population of 190,000 in Odense, the number G becomes 8.8. It seems not that bad, but if you look at the numbers again, you will see, statistically, out of every thousand girls at the right age, there’s only a half girl could potentially become my life partner. What a lonely planet ?!

The next question to think about is, how to identify those 279 ladies in Denmark, I mean at least efficiently using my spare time. At the moment, I have no idea 🙂

What are the simplest things one can do to make oneself happier?

Answer by Brad Einarsen on Quora:

When I was in a dark period I instituted a simple rule that changed my life.

Rule: When I arrive home from work, the very first thing I tell my wife is the best thing that happened that day.

No exceptions. No complaining. Just the best thing that day, even if it was just a good cup of coffee. This had the effect of starting our evening off on a positive note and it changed our relationship.

What are the simplest things one can do to make oneself happier?

How do I learn to code? What language should I start with?

Answer by Roshan Choxi on Quora:

It’s been my sole focus to answer this question for the last two years, and I think a lot of the resources mentioned here are great but I’ve noticed there are three strategies that successful students consistently use better than anyone else regardless of what resources they use:

1. Focus on habits, not goals
2. Learning alone is painful
3. Build things

Note: some of this is borrowed from my answer to another Quora question: How can I prepare for Bloc?

1. Focus on habits, not goals

It seems counterintuitive that you shouldn’t focus on goals, but hear me out — it’s all about leverage. Anyone who works with me knows that I dweebishly reference the R’as Al Ghul scene in Batman Begins pretty much 3-4 times a day:

Our investors at Bloc are getting tired of board meetings starting with Batman clips.

R’as tells Bruce:

“Rub your chest, your arms will take care of themselves.”

If you focus on building the habit of programming for 20-30 hours a week, you will reach your goal of being a web developer. If you focus on the goal of being a web developer in X months, you get nothing from that but stress and insecurity about how far along you are. Focus on the habit, not the goal. Rub your chest, your arms will take care of themselves.

So here’s what you should do right now: put 15 minutes a day on your calendar to spend time programming. Don’t do more than 15, just focus on doing 15 minutes a day. If you can do it successfully with no excuses for a week, try bumping it up to 20 minutes a day. Don’t try to overextend yourself by doing an hour a day right off the bat, this is going to be a 10,000 hour marathon so we’re focusing on developing the habit right now. The number of minutes you put in isn’t as important as you showing up each day.

2. Learning alone is painful

When I was learning web development, the two biggest social components to my learning were having a mentor and belonging to a community.

Having a mentor

I worked at a small startup called merge.fm while in college. I learned more in the summer I spent working with one of their cofounders than I did in the entire previous year at my university. There’s just something about working alongside an expert who knows more than you that really accelerates your learning, you’re able to pick up on how they think and unveil what you don’t know you don’t know. There’s a reason why mentorship used to be the de facto standard of learning a new trade, it’s very effective.

Belonging to a community

For me, the two communities I belonged to were the Illini Entrepreneurship Network (a student organization at my university) and HackerNews (a large hacker/startup oriented online community).

I didn’t learn what objects and classes were from HackerNews, but I learned a different category of things. I learned that nobody likes Javascript. I learned that Rubyists are the hipsters of programming. I learned that Bret Taylor, Rich Hickey, and John Carmack are programming gods, and that software companies that are truly serious about coffee have kitchens that look like meth labs.

In short, I learned how to talk shop. That turns out to be important when you’re working with other developers, but it’s also the thing that makes you feel like a developer.

3. Build things

In the first year of learning web development, I built:

  • A Digg Clone (from a Sitepoint book on Rails, I believe it’s out of date now though)
  • An E-Commerce App (from Agile Web Development with Rails 4)
  • A GeekSquad-esque App (personal project)
  • A Realtime, Online Classroom (personal project)
  • A Foreign Language Flashcard App (class project)

I think building real projects is important for many reasons, but the most important one to me is because it’s fun. That’s something that is tragically lost in classical education, but I think it’s important enough to be on this list. Look for resources that show you how to build things, http://ruby.railstutorial.org/ is a good one.

4. Be a cockroach

I secretly added a 4th item for those of you who’ve stuck around to read this far down the page.

Paul Graham once told the founders of Airbnb:

“You guys won’t die, you’re like cockroaches.”

You’ll probably want to quit learning how to code at some point. Like anything worthwhile, it’s difficult and will make you feel stupid at times. This is why #1 on this list is so important — stop worrying so much about whether you’re making progress or how much longer it’ll be until you feel like you’ve “made it.” All you have to do is focus on showing up, for 10-30 hours a week. Be as mindless as a cockroach about everything else, and don’t “die.”

I made the statement years ago which is often quoted that 80 percent of life is showing up. People used to always say to me that they wanted to write a play, they wanted to write a movie, they wanted to write a novel, and the couple of people that did it were 80 percent of the way to having something happen. All the other people struck out without ever getting that pack. They couldn’t do it, that’s why they don’t accomplish a thing, they don’t do the thing, so once you do it, if you actually write your film script, or write your novel, you are more than half way towards something good happening. So that I would say was say my biggest life lesson that has worked. All others have failed me.

Woody Allen

How do I learn to code? What language should I start with?

In other word, keep it simple and do fewer things (or one thing) at a time

Cumulative Flow Diagram

I just saw an updated post from my previous colleague – a system architect in a software company. In the post he shared with me some blog pages on the topic of project management and planning. Even it is widely used or considered in software industry, but the issues and challenges they met there are more or less the same with our  issues and challenges seen in project management, in the industry as an automobile sub-suppler.

Here are some of the blog pages (also some of the “laws” that linked in the page are very enlightening.)
Cumulative Flow Diagram
The Project Management Principles That (Almost) Nobody Teaches

One of the key ideas is called Little’s Law:
“.. In order to meet development or service deadline, we must reduce the work-in-process, or finish it before starting a new jobs.”

Note: “work-in-progress” means the number of requests (work units) that are being processed, i.e. they have entered the system, but have not got out yet.