Github Acquisition

recently, github got acquired by microsoft. when i heard this news, it was a complete curveball thrown out of nowhere.

the first thought that came to my mind was, “wtf???!!”

at first, i was disappointed. heh. another corporate sellout.

but as I read more news, i became less and less disappointed. i was frustrated that Microsoft was going to screw over github, just like the way they did with Skype. for common folks like us, it has all sorts of problems now.

for example, when i tried to talk to a good friend from japan, skype had a lot of issues.

and then, there was so many complaints online about how people’s private repositories were not safe anymore. i became concerned too…

then i looked the computer that i was using.

windows…

needless to say, this was an unwarranted worry. microsoft owns so much software.

they have windows. they have office. they have azure. and now github.

it’s crazy. and a bit scary. i mean, how can one corporate entity own so much?

if they wanted, they could snoop on almost every single person’s computer, and collude with the government to give all sorts of people data.

if they wanted. maybe they already do. who knows.

and push comes to shove, if there is crazy proprietary code on github’s private repositories, they would take a look. and try to incorporate new, novel ideas, if it threatens their business.

to give an example, it’s like having a cookies on the table after a huge thanksgiving meail.

there is no way in hell you’re going to take another bite. you’re already full.

but soon or later, when all that food comes out the other end, you’re going to eat that cookie. maybe steal a chococlate chip or two.

so the question is: will i push my code to github?

so far, yes. i really don’t have anything novel or extremely valuable.

but on the off chance i work on a product that is a competing product against microsoft, no way jose. not on github, or any other web service for that matter. they’d be easy to compromise…

now, do i blame github for selling out? not really. they’re not really a public good. the fact of the matter is, venture capitalists and enough investors poured so much money into it, that this buyout was probably idael.

and now the founders have enough money to not work for the rest of their lives. can you blame them?

furthermore, there’s no way for us to know what their balance sheet looked like. maybe their burn rate was aggressively high, and they needed an exit plan real quick.

regardless, the selloff was pretty depressing. it got me to think: is there a way for anyone to build a distributed version on a new technology like ipfs?

but there’s just so many barriers to get this done. and it’s really hard to build something useful to humanity, when you know that you’re not going to get paid a huge ton of money.

the logistics is extremely hard as well. there are so many technological challenges in building such a system?

how would users discover cool open source projects? how would you assign star equivalents? how would private repositories work?

and most importantly, how can you guarantee that if you use a distributed system, that your repository will always be available to anyone?

maybe a small, smart group of people will come up with something clever and extremely functional. maybe not.

but overall, i’m still putting my stuff on Github. And trust in Microsoft. For now.

Contradiction

Yesterday, I spent 2-3 hours doing work for my company. It was for modifying the diagram for our application.

That weekend, I didn’t write work on much of my own stuff. I read a good amount, but I didn’t really work on my own things.

But it led me to a critical insight. A severe contradiction. Here I am. On Sunday. Doing work for my company that was semi-urgent, putting so much effort to prettify and make this diagram accurate. But not having spent a single hour coding my own things.

What a contradiction.

Do I really not care about myself? About my own creations and dreams, to the degree that I would prioritize the dream of some other entity?

It just made me feel uncomfortable. It’s hard to put into words, but it left me with a deep sense of disappointment.

I want to build my own things, and proudly have my name on the things I have created.

Wisdom and Verification

One of the most common themes that run across time is that whatever you are doing, check your work. Verify, Verify, Verify.

Did I forget? Verify.

Recently, my mother had car troubles. She thought her car had serious issues, and drove back home with emergency lights on. When my dad, who is no expert with cars, but decent enough to do oil changes, swap out tires, and replace batteries took a look at it. One of the tires was flat.

Dad pretty much exploded and berated mom for not checking the tires over a span of a few days. He said that this is the basic of basics of car maintenance. His argument rested on the fact that this is literally a 5 minute check, and driving with a flat tire is extremely risky.

My mom was extremely stressed about this, and said that it wasn’t right for my dad to be so angry at her.

Hearing this, I really don’t what to say. Maybe it isn’t right for dad to be angry. Maybe he should have kindly warned my mom about this and not made a huge deal out of it.

At the same time, I understand my dad’s point of view. If you let something so important go without a fuss, people won’t remember it. Sometimes, you need to express anger and frustration when something is mission critical.

For example, I think that if your kid shoplifted something and you found out, you should be furious. Otherwise, the kid would take the misbehavior lightly. However, I really don’t think the same type of fury is justified if, say, the kid ate an extra piece of M&M…

So there are times when you should unleash all the rage and fury, and there are times where it’s not proper. This is what wisdom is. The ability to pick the optimal choice and apply that knowledge is, without a doubt, the most valuable skill at a human being can possess.

But I digress.

The point is, a 1 minute check could have prevented all this trouble of driving back home with a flat tire.

Similarly, last week at work, I asked a coworker if the files on his local directory was pushed, and asked if the same files were the same across multiple computing environments. He said they were.

Five hours later, I found out that they weren’t. I was a little frustrated, but I wondered if was partially my fault as well. Rather than asking him, maybe I should have verified it myself - it should have taken no more than 5 minutes.

I feel that this a common thread across my life, and maybe others. That 5 second check to make sure if you have your phone. One look at the fire stove before you leave the house. The little checks and verifications can really prevent a major catastrophe…

Jordan Peterson's 12 Rules for Life

Recently I’ve had a chance to read 12 Rules for Life by Jordan Peterson. I’ve been gifted this book on my birthday by my brother, and he’s a die hard fan.

My thoughts on the book? I think that it could have been so much more. It could have been a total classic, but it fell short. As in it needed 2 or 3 more revisions.

Here are the reasons why:

  1. It lacked coherence. I feel that it could have been so much better if it focused on one thing either trying to help people with real life concrete examples, or be an actual philosophical treatise on his philosophy on life. Based on the title, it should have been trying to focus on the rules themselves, and helping people through experiences that Peterson draws as a psychologist rather than this thoughts on philosophy. I think he should have focused on ONE thing.

  2. From the rules, the book spawned off topic after topic every page until the topic I was reading was exteremly different from the rule, or the title of the chapter. This book had some parts where it was a total mess. I would be reading a page, and thinking, “What the hell does this Russian writer have anything to do with the title of the chapter?”

The way I like to think about his writing style is that it’s a tree that is way too deep. From the first topic of the chapter, you spawn off a branch, and that branch spawns off a new branch, and so on. First, the branches themselves were loosely related. Second, the branching became excessively too deep. When you get to the end of the branch, you have trouble following the logic all the way up to the original topic.

I think the danger of writing this way is that:

  1. The deeper you go in, if one of the connections is fragile, then your whole argument starts to crumble.
  2. Readers get lost very easily.

If I have to summarize the good points, it’s that:

  • “Circumstances have changed. You can too.” This left a remarkable effect on me. I think if I have to pick a few words out of this book that I found most valuable, this has to be it. The circumstances of what you faced in the past doesn’t matter. Things have changed. There is no reason for you to not to change as well. Don’t get stuck in the past. Move on.
  • Compare yourself to who you are yesterday. Don’t compare yourself to anyone else. I think this is sound advice as well. You have to be actively trying to become a better person everyday. Your frame of reference should you ONLY You. This I agree with.
  • Little changes build up to make huge effects. This is what I’ve been thinking of lately. In the natural world, there is probably no such thing is a discontinuity. Everything, in microscopic detail, is smooth. That is to say, a sudden change doesn’t happen instantaneously. For example, a car doesn’t suddenly flip in the other direction. It makes a smooth turn step by step. Another way to think about this is that people don’t gain weight overnight. You can a pound a week, gradually, until you’re thinking: how the hell did I become so fat? In a similar manner, if you’re changing to become better, it takes time. Start with the little steps. Peterson emphasized this a lot, so I wholeheartedly agree with his advice.
  • Religious stories are engraved in human psyche, and these stories tell us important lessons that are a fundamental part of being human. Stories in the bible depict some of the core aspects of being human, and concepts and morals that have appeared throughout human experience. We should not take them lightly, and really think about what these stories mean, and reflect on them.

Overall, I wouldn’t consider this book a waste of time. But would I read it again, and enjoy it? Probably not. I would go back to some of the key-points that he mentioned, and mull over it. And skip all the philosophizing and think about the core concepts he emphasizes, and reflect on how they can be incorporated into my life.

You Don't Learn It Until You Do It

I really think that you don’t really learn something until you actually do it. This may be pretentious, and even wrong, but I really feel strongly that our current education system is backwards, in the sense that you go to a lecture and hear one person talk, and then after an hour leave.

It makes no sense to me. How do you expect anyone to learn from this?

I think most of the learning comes from doing the problem sets and homework. Or even doing projects. Recently, I’ve been trying to come up with a schema for a side project, and there are so many questions that I haven’t considered before. It really makes me motivated to go take a database class from an expert to get my questions answered… Or even in the United States, maybe there should be a massive effort to take a year off and do the actual job you want to do prior to graduation. That way, you have a lot of questions that need answering, can be grounded on WHY you need to be focused at learning as much as possible in college, and also be able to ask relevant questions when you take your courses.

If I was ever a teacher(which I plan on becoming eventually), this is what I would do:

  • I’d automate the crap out of grading papers. Maybe there would be a slick AI company that focuses on this. Who knows. Which reminds me. I had a professor back in college who would not give any points if the final answer was off by like a decimal point. This was so cruel, and it caused a lot of bitter tears among students. IF it was up to me, I’d make the tests graded in a way that the next question, you can use that answer as an input to solve all the other remaining problems. But I digress.
  • I’d try to assign all my problem sets without giving the lecture first, and expect them to turn in their problem sets BEFORE I turn in the lecture. That way, the students can try to learn this stuff on their own, and will probably have ample amount of questions after they got their hands dirty =D. It would help if the questions I assigned were not Googleable. Perhaps this I’d have one set of questions prior to lecture, and another set after the lecture.
  • Anyhoo, the focus of learning should be to explore different approaches to current ideas, challenge them, and make enough dots on the concepts prior to a professor’s lecture before the lecture. I think that would be immensely helpful in learning.
Site built with http://lanyon.getpoole.com/ template. Thanks to @mdo for the original template!