Command Line !

The last few days, I’ve been forcing myself to use a lot more of command line on Unix-based machines. For data processing, Linux is so much more powerful and faster than Windows based machines. And all good cloud-based computing resources, obviously, are Linux based.

This necessitates usage of command line to interact with the remote server. For example, Amazon’s EC2 is probably the most famous one out there. Their server instances don’t have any UI component. The only way to interact is through command line. And so, with the help of some beginners video guide and a bunch of helpful stackoverflow posts, I’ve been learning how to do it.

My approach has been to learn the commands as and when needed. This contrasts with the approach to learn all the commands and figuring out a use case to use them. So, I first started out with knowing about ssh and then connecting to the remote server using ssh. The next thing I learnt was to download files (using wget). Yesterday, I successfully used scp to download files from the remote server to the local system.

It might take me a while to figure out a whole lot of commands, I figured out that it is easier to learn only those things I immediately need. This way, there’s motivation to keep doing the things I currently am doing and also seeing the visible progress, there’s more motivation to go and learn incremental stuff every now and then.

I learnt R too the same way. I forced myself to learn Python the hard way – learning its syntax and commands, but with no usage point-of-view. And so, I’ve hardly been able to embrace Python. I should start doing that to Python.

I am going to attend PyData at Strata next month. And one thing I want to learn before I go there is enough Python so that I can pick up what’s being told.

Road routes based on traffic patterns

We are seeing a splurt in the taxi aggregator industry. In Bangalore, there’s Meru Cabs, TaxiForSure, OlaCabs, Uber amongst others. TaxiForSure and the industry leader Uber (it just started its India presence though) are more a technology company than an aggregator company. They rely a lot on their web and mobile app and customer behavior prediction to drive the business.

An important aspect of their business is to assign drivers to bookings. It would be awesome if they can keep the customers informed about where the vehicle currently is.

Assigning drivers to bookings is not a easy task. Given traffic conditions and the driver’s inclination (or not) to go to a particular place, the assignment has to be made. In a city like Bangalore, the demand is far more than the supply. Also, there’s cancellations that need to be handled.

Given these constraints and conditions, I believe there’s a scope to build a solution that leverages the local traffic knowledge and then assign drivers to bookings. The data from drivers need to be mined. There’s tremendous scope for analytics in such a domain.

customer service at hospitals

Customer service at hospitals need to improve a lot more. People pay visit to hospitals to cure their sickness. The environment must brim with energy. Alas ! That’s the last thing one can expect. Most people are grim faced and are seriously running helter-skelter. While the doctors I know are a cheerful lot, the support staff need to up their game. 

Another big issue is that the process is not streamlined in the hospital. I wonder why no innovation is happening in hospital sector to make it more streamlined. There are so many places where an efficient process can be so effective and improve customer service and customer relationship.

Let me quote an example. When you see the doctor, the doctor examines you and prescribes a set of medicines. The next step is to go out to the pharmacy and wait in queue and then buy the medicines. Instead, what if the medicines are already available when you reach the pharmacy? (I am talking about hospitals that have in-house pharmacy that can take advantage of such a setup). 

Unlike shopping malls, just by the virtue of a person staying more time in a hospital does not translate into more revenue. He is there in the hospital precisely because he wants to be there. Hospital is no fun place to be in. No point being there if everything is fine. And so, why not have efficient process to improve turnaround time. That’s bound to improve customer happiness and he’s bound to remember it. 

No hospital I’ve visited follows this practice. Right from the time you enter to the time you exit, there’s huge time wastage and looking at other patients is more depressing than what one might think. 

For regular customers, there could be a prepaid card. Appointments can be adhered to. And importantly, patients can be periodically checked upon using a mobile message to check if their recovery is on track. The moment such a hospital comes up, people are going to flock in (of course, hoping that the medical  facilities and treatments are good). 

random

Writing today because I don’t want to stop the momentum of writing every day. I tried writing every day a while earlier. It stopped one day and then, it took me a few months to write again. Now, I’ve written for 3 consecutive days. Until blogging becomes a habit, I need to write. 

One way to create a habit is to attach a cue to remind that something needs to be done. I need that cue now. Unless I figure out a rock solid cue, I am not going to create this as a habit. 

I don’t seem to have any thoughts in my mind to write for today. I’ve been wanting to write about ideas that I think about every single day. Somehow, I should start doing that soon enough.

 

Movies !

I live in Bangalore. The local language is Kannada. A majority of the folks out here talk English, Hindi, Tamil and Telugu. It is an amazing cosmopolitan place. And so, a variety of movies gets released here. But then, there’s also an issue. Most of the money in the box office is made from the “other” languages (not from the local language kannada). And the kannada lobby has ensured a strict limit on the number of screens on which the other language movies can be played. I am not sure if this is still true, but atleast all the big budget and “star” movies gets a lot of shows in its first week.

All sounds good so far. But then, there’s absolutely very less scope for niche movies. A movie with great review, but catering to only a niche audience might be screened for a few shows in the first week of its release. And then off it goes away. The only way to watch the movie again would be by illegally downloading it. Most of the local language movies don’t take the strain to release DVDs on time. And on TV, only the blockbusters are played all the time. (I’ve already professed my issue watching anything on cable TV yesterday; they are just filled with advertisements). 

In US, this problem is solved by Netflix and Amazon, amongst others. Such niche films definitely get into their library and niche filmwatchers, like me, would subscribe to it and watch.

The pirated copy of a newly released Hindi/English/Tamil/Telugu movie is available on the streets a day after its release in Bangalore. Why don’t the film makers understand that, outside its primary market, there is a huge diaspora who wants to watch movies in their local language, but aren’t carried by any of the providers. 

An online platform that can provide on-demand access to local language movies would be a great innovation and might really catch up. I know a lot of my friends in US – who wants to watch Tamil movies (Tamilians obviously !). But where is the official avenue to watch the movies ? The only way would be to illegally download it and watch. Isn’t it high time to develop a platform to have the movies readily available? Atleast outside the primary market to start with? If the movies are available as pirated DVD, making them officially available would make better sense. But why aren’t the producers and distributors thinking about this? 

 

True Detective

Back this summer, some of my friends living in the US started raving about the HBO TV series True Detective on facebook. Particularly, I was impressed by one video posted by a friend. It was a six minutes drug-busting scene. It was quite good. And for a TV series, that was brilliant (better than many similar scenes I’ve seen on movies). I’d noted down the TV series as one I wanted to watch this year.

I don’t like to watch TV series on TV channels. There’s more advertisements and I find that a showstopper to the flow of the story. That’s one reason why I love Netflix. But then, there’s absolutely no chance for HBO to provide this series to Netflix. I don’t torrent or illegally watch movies/tv series. I generally wait until it comes out in DVD. And being in India, most of the times, the wait is much longer.

A month back, while casually browsing Amazon’s India website, I realized that the DVD of True Detective is available. I immediately ordered it. And the past week, I had the opportunity to binge watch it. I watched 3 episodes on one night and 5 the next night. It was almost 4 am when I finished the series. And oh boy ! what an amazing series. I was so impressed with True Detective.

The story is about two detectives tracking a series of murders that seems to be motivated by a cult-related ritual. The background score is brilliant. It really brings out the right tempo throughout. I wouldn’t categorize this as a edge-of-seat thriller. While it does have its moments, unlike other crime detective series, the personalities of the two lead detectives are thoroughly brought out. It talks about how they operate, what personal problems they face and what kind of inter-personal issues they face with each other. 

I am already awaiting the team’s next season. From what I read on wiki, it seems like the next season will have a different set of lead actors. (The series follows anthology pattern). 

Activities on which I wasted a lot of time

When in school, I used to watch a lot of cricket. Heck, I even watched if it was a match between two bad teams. Even if the result was a foregone conclusion. That, I think, is one of the things I really repent doing. That time could’ve been spent in a better way. I’ve almost stopped watching cricket these days. 

I’ve also seen a lot of movies. I particularly don’t resent that. Inspite of watching a lot of bad movies, I feel that it presented me an opportunity on what good movies and what bad movies are. I somehow felt I learnt a little from every movie I watched. Some movies impacted me a lot, but most of them ended up entertaining me in one way or the other. These days though, I can’t stand bad movies. I read a lot of reviews before deciding what to watch. Gone are those blind first-day-first-show movies. 

Right from the time I finished my undergraduate to the time I finished my post-graduate (a period of 5 years), I chatted a lot using the web. I started with yahoo messenger and msn messenger, but eventually, it became gtalk full-time. I used to have more than 10 windows open all the time. Again, a huge waste of time during a period where I could’ve learned a lot more and put my time to effective use. Cut forward to the current time, I don’t chat at all. Even whatsapp has been sporadic. I am glad I am out of this addiction.

I also used to be addicted to facebook. Start of this year, I started experimenting not checking facebook for a few days. And I realized that I didn’t miss anything. In fact, I was able to find other good sites where I can find information that can satisfy me intellectually (the primary one of late has been hacker news).

Right from the time I was in fourth grade, I’d been reading newspapers the first thing in the morning. Back then, I used to read the sports section in its entirety. Two months back, I stopped reading newspapers. I consume all my news digitally. I primarily check news.google.com a few times a day. I also subscribe to some feeds that curate news and I get it over email. This way, I keep my consumption of necessary and unnecessary news to a limit.  

 

MOOC -Q1 2014

I’d told this earlier on this blog – I’ve registered for a LOT of courses online. It has been a challenge to finish the courses.

Now that Q1 is ending, I’ve successfully started and completed the following courses (or close to completion):

1) Mathematical Biostastics II – by Brian Caffo (JHU).

2) Game Theory with no chances – (Gerogia Tech)

3) Computer Networks (U Washington)

4) Elements of Statistical Modeling – Trevor Hastie (Stanford)

 

I hope to complete atleast two MOOC in the next quarter. Will write a post when that time comes.

IPython Notebook

I am totally impressed with IPython Notebook. A lot of reasons on why I like it. But the main reason has got to do with its readability.

Now, I am still learning Python. Long way from using it. The first time I coded using Python was last March (so, exactly a year since my first program). But, I’ve never really seriously used it until now. I am just beginning to program more in Python and hopefully in the next 3 months, should learn enough to be proficient and comfortable using Python.

In the initial days, I ran directly from the terminal. Then, about 6 months back, I discovered the wonderful Anaconda package. I installed it and then a few days later, learnt about IPython. From then on, I’ve been typing commands on the IPython prompt on Terminal.

This changed a few days back, when almost browsing with no real intent, I chanced upon IPython Notebooks. I didn’t realize what it was. I marked it as a follow-up to be read in a week’s time. Then, I repeatedly kept hearing about notebook on youtube (paid advertising I guess). This piqued my interest. I then took the effort to read all about it. (Now I know that it is extremely easy – but making the shift first time is always difficult).

One of the cool things about IPython Notebook is that, the output gets displayed and is saved along with the code. This is so cool when one needs to figure out what each option had produced as output later on. And creating it as a webpage is so easy. This doubles it up as a educational/explanation platform too. I do wish I’d figured this out much earlier. But then, later than never is a good policy to take.

Another thing I found out was that the Python code can be directly executed from Sublime Plus. I’d always been running the code from Terminal (though, the code was written using Sublime Plus).

Probably, I am finally relishing the joy of programming. The next few weeks should say about that !

 

 

IPython

Finally got IPython notebook to work. It took a while to understand all the errors and how to resolve them, but finally, yesterday, had it to work. Feels good when I get to fix some tech issues 🙂