iOS Animation Notes

Recently, I had to work on an animated view for an iOS app. I built the view using explicit layer-based animations (CABAsicAnimation and brethren) in a separate app and it worked fine. Then I moved the view into the host application and all hell broke loose. After much fighting with the API, I finally arrived at the techniques needed to ensure that the animations work as intended irrespective of context. This post collects these notes as a list of recommendations to follow.

Read on →


Yesterday, I drove an automatic for the first time. When driving a manual shifter, my brain is on auto pilot - I’m seldom aware of my gear shifts and footwork. When I drove the automatic, all of this suddenly needed to be consciously done. So there was a bit of struggle I experienced with a supposedly simpler system. Bleh! The automatic drive is not intuitive.

Now, wait a minute. We know that folks who shift (ahem!) from automatic to manual face a harder struggle. In the software world, there is a similar hurdle faced by folks shifting between operating systems, and yet we see wars of the kind “my OS is more intuitive than yours”. What do people mean when they say something like that?

Read on →

Talk @ JSFoo 2015: Orchestrating the Web Audio API

Slides (CC BY-SA 3.0)

Talk: Functional Thinking for Fun and Profit

These are elaborate notes on a “Tech Tonic” talk given at Pramati Technologies, Chennai, on 23rd July 2015. The organization of this post reflects the talk itself.

Functional programming has been gaining deeper penetration in the software development world in the recent years owing to increased need for maintainable large scale software development with scalable performance characteristics. Research papers on type theory, data structures, reactive programming and such remain relatively inaccessible to the programming community at large and explanatory material on the web tends to focus on various language and library features such as “lambda functions”, “laziness”, “algebraic data types”, “monads”, “monoids” or “functors”. Consequently, programmers coming from an “object oriented” background are confused by the variety of views and concepts and find it difficult to negotiate the paradigm, unable to make use of it ‘cos their work language is considered “not functional”, or are just lost on why FP matters. This talk was another an attempt to add to the confusion address this gap by highlighting notations developed for FP that are useful general purpose thinking tools for system design that can be used irrespective of the implementation language.

Slides for this talk.

Status: Draft

Read on →

On Net Neutrality in India

The net neutrality debate in India largely lingers on what folks will have to pay for that they’re now getting for free, how much more it is going to cost them to do the same things they’re doing today, what will happen to the small business guys as the large guys take over with money power, etc. Even the (in)venerable AIB does more or less the same pitch in their now famous Save The Internet video. There is also the article on The Hindu pointing out the panel recommendations and they mostly have to do with who and what needs to be paid for and what is to be left untouched.

Much of this money-focused hoohah is a distraction on why net neutrality is important to us. If we don’t adopt a “we won’t touch the internet” policy, there is much more at stake than just a few people making more money than we think they should.

Read on →
comments powered by Disqus