Two ways to run a large company with agility

Large companies stagnate with innovation and startups steal their thunder. One root cause is that the decision making is not agile any more. No one wants to do anything to upset the brand. Projects are green lit with caution. The decision making is punted up the chain. So how does Amazon’s CEO manage to keep his company agile? By making high-velocity decisions since “Speed matters in business”. Seems self evident, but lot of companies seem to forget this. For light-weight things, don’t sweat too much as the decisions are reversible. Also, you don’t have to wait for 100% of the information. Get going with 70% of the information. ...

April 16, 2017 · 3 min · 593 words · jayakrishnan

Innovation in Large Companies

Right now Artificial Intelligence and Machine Learning are hot topics. Who is better suited to do work in that area? Large companies or startups? Large companies, because they have huge data set or startups because they can innovate faster even though they lack the data that large companies do? For example, Google has huge data set in GMail, so can a startup compete in that space with limited data set? One of the recent a16z podcasts deals with this topic and during the conversation an interesting point regarding innovation in large companies was mentioned. That was something I experienced in a previous startup and is worth expanding. ...

March 27, 2017 · 3 min · 591 words · jayakrishnan

Doing Deep Work – 1

Doing deep work requires focus. You have to be free of distractions and have to be wise enough not to drown yourself in mindless web surfing. You should not end up as a slave to an attention grabbing algorithm run by a social media company. In the Ezra Klein podcast,Yuval Noah Harari, the author of Sapiens, talks about his technique for overcoming distraction I try to set my own agenda and not to allow technology to set the agenda for me. I tend to read books, long books, rather than short passages or tweets. I think another thing that has happened over the last century is that we have moved from an information scarcity to a deluge of information. Previously the main problem with information for people was that they didn’t have enough of it, and there was censorship, and information was very rare and hard to obtain. Now it’s just the opposite. We are inundated by immense amounts of information. ...

March 15, 2017 · 2 min · 227 words · jayakrishnan

How to make better decisions in meetings

In the book, High output management, Andy Grove, Intel co-founder, makes a significant observation regarding meetings. Let me frame it in the context of something that we encounter regularly in planning meetings. There are two projects, both of which can bring in revenue and a decision has to be made. To pick an example from the book, we could build a manufacturing plant next to an existing one build another larger one far away. What do we do? ...

March 12, 2017 · 2 min · 422 words · jayakrishnan

Tools of Titans by Tim Ferriss

Our lives have been conditioned by our upbringing and past experience and as we age, it is hard to change. This can be illustrated by this story in the book This is a story about a tiger named Mohini that was in captivity in a zoo, who was rescued from an animal sanctuary. Mohini had been confined to a 10-by-10-foot cage with a concrete floor for 5 or 10 years. They finally released her into this big pasture: With excitement and anticipation, they released Mohini into her new and expensive environment, but it was too late. The tiger immediately sought refuge in a corner of the compound, where she lived for the remainder of her life. She paced and paced in that corner until an area 10-by-10 feet was worn bare of grass ...

January 7, 2017 · 10 min · 1942 words · jayakrishnan

Understanding Swift: let

Here is the handler code for a slider in XCode 7 @IBAction func handleSlider(sender: UISlider) { var value = sender.value print("value \(value) ") } If you type in this code, XCode will issue the following warning near the declaration of the var value, Variable ‘value’ was never mutated; consider changing to ‘let’ constant. Once you choose that option, the code changes to this and the warning disappears. @IBAction func handleSlider(sender: UISlider) { let value = sender.value print("value \(value) ") } Using let instead of var conveys that the variable is immutable. The value is set once and never changed. If you are reading someone else’s code and encounter let, you can be assured that the value of this variable is not changing in the code. ...

August 29, 2016 · 1 min · 192 words · jayakrishnan

How to export highlights from Kindle Fire

If you highlight the books you read on a Kindle Paperwhite and would like to extract them as text into your word processor or OneNote, then there is a simple way. Use clippings.io. This simple web application reads the clippings text file on the Paperwhite and neatly organizes the notes. But if you are making your highlights on a Kindle Fire, then there is no text file to import. The highlights are stored inside the mbp file and it is not easy to extract the highlights. Amazon has a page which shows your highlights, but it is not user-friendly, especially if if you are a book reviewer, who has hundreds of highlights. ...

August 22, 2015 · 1 min · 145 words · jayakrishnan

9 Tips For Engineers For Learning Efficiently

In our software engineering careers, we switch jobs and end up working in a new domain. Some domains are easy to learn — the engineering might be hard — while others, especially those involving payments or stock exchanges (few areas where I have worked) take time to understand. There is another issue as you progress in your career: when you are fresh out of college, the brain is tuned to learning techniques, but after a few decades of work, you struggle. There is no need to despair. Recently, I took the UCSD course Learning How to Learn: Powerful mental tools to help you master tough subjects and learned some valuable lessons. ...

August 15, 2015 · 4 min · 763 words · jayakrishnan

Notes from Velocity 2014

I attended the Velocity Conference in Santa Clara this year and these are few of the takeaways. If an image could summarize the conference, it would be this image from Scott Hanselman’s Keynote address, Virtual Machines, JavaScript and Assembler which was the most entertaining keynote I have ever heard. There were three main takeaways for me: APM is huge; everyone is into optimizing images and the CDNs are getting smarter. ...

August 2, 2014 · 3 min · 549 words · jayakrishnan

Docker Windows 10 Port Mapping

FROM node:alpine COPY ./ ./ RUN npm install CMD ["npm", "start"] If this is your Dockerfile and your node app starts at port 8080, then logically you would think that typing http://localhost:8080 would give you access to the application. This works fine on OSX, but on a Windows 10 machine using Docker Toolkit, you will get an error message which says, that the browser can’t establish a connection to the server at localhost:8080. ...

1 min · 189 words