pixar in a box

I just finished 3 lessons from Pixar In A Box : Storytelling, Character Modelling and Simulation. Things that I would have never taken the time to learn, if Khan Academy did not exist.

Was really intrigued with the concept of subdivision (splitting and averaging), as well as using Hooke’s Law to model parts of characters such as hair, clothing and trees.

Even when I was learning 3D game programming, I had no idea that these concepts were at play. It helped me bridge any technical gap I have, as well as make it easier to communicate with future animators/modellers.

I love that the engineers took time to create a HTML5 animation tool for simulating hair using Hooke’s Law. I love it that they also trouble to teach users step by step of constructing a spring based animation, from the concept of Force all the way down to displacement, and actually rendering the output on the canvas. I believe this tool will survive a very long time, and will help people around the world to start making their own models.

I also really enjoyed the stories of how the Pixar animators and engineers started their careers. There’s something raw and exciting about these individuals (eg: Alonso, Hayley and the crew) when they sit in front of a camera, relating their personal life to the world.

quick run and scouting

Today I did a quick run around a potential area of interest. Had my podcast & sneakers, and literally circled around the 5-10 blocks covering the area.

Turns out, there are few empty office lots in a trendy neighbourhood.  Finding out rental prices in this area would be great starting point.

Adjacent to this neighbourhood could potentially lead to an even lower cost, and more spacious location.

The internet didn’t help much unfortunately in this area (one would expect to see a full property listing web page with maps and pins). But, this is newground and it’s exciting.

rethinking money

I’m rethinking the subject of money.

Money is just an agent, that helps us live through this world. It’s important that we don’t get absorbed into hedonistic worldly pleasures.

Like Naval Ravikant said, as we grow older, time becomes more scarce than money. The value of time goes up a lot (I suspect exponentially) as the years progress incrementally.

Time better spent working on things I love – building teams and product.

Regardless of company performance, I’m more than happy to continue working on my craft and getting better at it.

At the same time, I’ll dedicate a bit more time learning new things and meeting new people.


juggling many things at once

Assume one has a goal, but there are 20 pre-requisites to achieving it.

These could be a certain order to execute them, or they could not be.

There are people and processes behind each pre-requisite, which one doesn’t know yet.

The pre-requisites may be independent of one another, or may not.

On top of that, some issues are time sensitive, and some are not. One doesn’t know for sure which are these.

A common approach I use is to test the feasibility of each pre-requisite. By educating myself on each and every one of these, I can shed more light on the processes, the stakeholders and the timing.

I also work backwards from what is the most time-sensitive pre-requisite, and educate myself to solve it well enough, to the point that the pre-requisites ‘fall in line’ with my goals.


that one time to enable SSL

I used to have the impression that enabling SSL on Google App Engine is excruciating. The visual of biting my teeth while creating the necessary certificates, uploading them to the server, enabling SSL only to find that it breaks the site is pure horror. If the page breaks, SEO breaks, users are unable to view the website, and the downward spiral continues.

At least that’s partially what held me back.

Fortunately, a few things changed since 4 years ago.

  1. App Engine got better
  2. SSL providers got better
  3. Cloudfare started going mainstream and solved many DNS issues
  4. I got better using App Engine

I expected to have taken at least 1-2 weeks to completely enable SSL, but now it took about 2 days. 1 day to learn everything, and another day to implement and fix minor bugs such as fixed http references.

headline reading doesn’t benefit society

the Internet is running amok with headlines. Why read headlines?

Person A reads a headline, it gets saved into Person A’s brain. Skips the entire article.

Person A tells person B at a party, ‘hey I read about this interesting article’. Essentially regurgitating the headline, or doing a mashup-up of what Person A knows, plus her own interpretation of the headlines.

Person B finds this information interesting, passes it along to Person C, and so on. The venue may be a party, or on the Internet over social media. Pick your platform.

What’s the point of this? We just managed to spread headlines throughout society.

I think the world would be a better place, if people digested the entire article and form opinions on topics. Of course, it’s a utopia dream.

If the article isn’t worth reading, it should be skipped entirely. Even better, it should not be written at all!

Unfortunately, people don’t have time to form thoughts. They’re rather just read the headlines and move on. In a perverse way, subconsciously I suspect most people just need that few seconds shot of “dopamine knowledge” to fuel their cerebral activity during idleness.

Personally, I’ll try to avoid headline reading. I’ll focus more on the things I know, and allocate some time to explore other topics every now and then.


MatchScorer algorithm

Today I learned how to use the MatchScorer algorithm  in a search function.

Previously, our search results were pretty bad. If someone typed ‘zombie tower defense’ in query, it would return the latest search result that had ‘zombie’ OR ‘tower’ OR ‘defense’, and sort it based on timestamp.

This means, only newer games would appear at the top of search results. If we had a game whose title was exactly ‘zombie tower defense’, and if it was released years back, the search would be buried under newer zombie games.

With MatchScorer in default mode, it ranks in terms of keyword density. This means, the probability of the game ‘Zombie Tower Defense’ appearing as the first search result is very high, because the search query indexes everything from title, to short description and long description.

Assuming the editor-in-charge typed in enough metadata containing these 3 keywords, it would easily be more keyword-dense than all other zombie games of different genres, pushing it right to the top.

sort_options = search.SortOptions(match_scorer=search.MatchScorer())

search_query = search.Query(
search_results = index.search(search_query)