Sunday, June 25, 2017

An AWS lambda function to import data from CSV files in S3 bucket to Redshift

Following lambda function will load CSV data from an AWS S3 bucket to a database in AWS redshift cluster.

Tuesday, January 05, 2016

Skip words in the terminal when using iTerm Zshell in OS X El Capitan


So, you want to skip words (move the cursor word by word rather than character by character to left or right) in the terminal. And you are using 
  • Zshell with iTerm
  • OS X el capitan (10.11+)
but cannot set the word skipping in the terminal usual way. Then the following instructions are for you.
  • Add the following line to ~/.zshrc
  • bindkey -e
    bindkey '\e\e[C' forward-word
    bindkey '\e\e[D' backward-word
  • Go to
  • System Preferences → Keyboard → Shortcuts → Mission Control
  • Uncheck the mission control shortcuts Move left a space and Move right a space 

  • Done
Thought of writing this up as the information is scattered. Thank goes to the original authors. Please leave a comment if this is not working for you. 

Thursday, February 19, 2015

Boot from USB is not possible with Windows 8

Usually, in order to boot from the USB drive, e.g., to install linux alongside windows versions, you would do the following at system startup.

Proc1:

  1. Press Enter to interrup the normal startup.
  2. Press F12 to select the temporary boot device, e.g., USB drive. 


At this point if you have Windows 8, you may realize that it is not possible to select the USB drive as the boot device.
To do so there is a change in the BIOS that need to be done. Please follow the following steps.

Proc2:
  1. Reboot the machine 
  2. Setup > Security > Secure Boot > Secure Boot = [Disabled]
  3. Setup > Startup > UEFI/Legacy Boot = [Both]
  4. F10 to save and exit.

(System reboot begins)

Now follow the above step 1 and 2 of Proc1 to select the temporary boot device. 

Monday, May 19, 2014

My bad experience with Lenovo support

For nearly 7 weeks I have been trying to get my Lenovo laptop repaired.

It was an exhausting experience to deal with Lenovo support service. 
Here is a short summary of what happened. Read this before you buy an on-site repair warranty along with a Lenovo product. 
  • End of March 2014 my Laptop broken after 3  months use. No power.
  • Phoned Lenovo and they promised to send me a technician next day.
  • The technician appeared after two days. 
  • The onsite repair (probably outsourced to a third party in Melbourne) did not go as I expected. Few days have been lost due to following funny reasons.
    • During the first visit the technician did not have enough equipment to properly diagnose the issue. I said OK.
    • When diagnosed, the spare parts were not available locally. Had to be shipped from somewhere else.An excuse for few more days. I said OK.
    • The technician has forgotten to collect the parts before he come to repair the laptop. He was reluctant to go back and collect. His office was less than 10kms away, but I said OK.
    • Wrong parts have been ordered. So the laptop did not work well with the new part  (this reason was bit dodgy rather than funny) .I said OK. He said he will contact Lenovo regarding the issue.
    • Then the technician asked me to use the laptop without the battery. This wasn't successful. 
    • Then, over the phone the technician said, he has ordered new battery and once arrived I can install it myself. I said fine and waited.
  • No parts have been shipped. Tried to contact Lenovo few times to inquire about the delay. Usually the wait over the phone is painfully long listening to a machine. But I had to wait until I talk to a human. All the time the humans I talked to asked me to wait... wait... and wait a bit more. Lenovo did not even bother to give me a phone call even if I asked several times. 
  • And then on my final inquiry about the delay Lenovo said Oh! Sorry. Something's gone wrong. Lenovo promised to look into the matter. Still what went wrong was a mystery. 
  • After few days of silence, I phoned them again. Looks like one case officer do not know what the other one said. So I had to explain the whole scenario again and again. Seriuosly a log file??? Oh! this one too asked me to wait a little bit more.
  • And then for some reason my case has been marked as resolved (I got an automatic notification).
  • Finally I had enough and threatened them to either repair the laptop or give me a full refund. I do not want a broken laptop along with a paper warranty sitting on my desk.
  • And I went on twitter too. That had some impact. #Lenovo_ANZ replied and asked me to provide details. And I did. I got assigned a new case number. And that was it. No reply from #Lenovo_ANZ so far as a follow up.
  • After another phone call, a new case number has been given and the case has been forwarded to a Lenovo Resolution Owner (RSO : a person who resolve similar issues).
  • An agreement has been made with the case officer to resolve the issue as follows on 8th of May. Instead of the full refund, If Lenovo can provide a brand new laptop by 13th of May, I will take no further actions against Lenovo on this case. Although I was exhausted and wanted a full refund, decided to go ahead with a replacement laptop. 
  • Laptop did not arrive on 13th as promised. I contacted the RSO again. He said he will look into the matter. Even though this is a violation of the agreement, I decided to wait another day. Laptop arrived on 14th. Finally, some relief. 
  • Well... not really. Lenovo has shipped a used laptop with wrong configurations instead of the promised new laptop. The laptop even locked to the administrator of  NSW government (Department of Education and Communities).
  • So I contact RSO (who is very slow in reading his emails, and tend to skip reading emails, apparently). He said he will contact me again.
  • I waited until today (Monday), and had to contact them again. RSO apologized for the mistake. I asked him to give me a full refund as I can no longer put my faith on them.
The replacement laptop received from Lenovo


After all these blunders and not fulfilling their own promises, now I am trying to get money back, which I probably should've done earlier during the process.
Being a customer for last 8 years, I would like to emphasis following points for Lenovo.
  • We go for these pricey high-end laptops, simply because the availability is very important to us. As a software engineer/consultant I am not ready to wait to wait 7 weeks (and counting) without a laptop.
  • Please find a reliable partners to do the on-site repairs and have your replacement parts available locally.
  • Please contact the customers promptly without waiting for us to contact you. Or at least reduce the call waiting time. 
Having gone through this experience, I have following advice for potential Lenovo customers.
  • Do not assume that on-site repair warranty is quicker than a normal warranty. It might be slower to get the repairs done locally due to lack of tools and parts.
  • If you think Lenovo products and its support service is good as it was in few years ago,  think twice. I see a large number of similar incidents shared online.

Sunday, December 15, 2013

Ruby on Rail (RoR) tutorial

If you are a beginner to Ruby on Rails (RoR) and want to learn the framework very quickly, I highly recommend following set of tutorials. (However if you are not familiar with the Ruby language, please check this and this )



Unlike many other tutorials, this tutorial start from scratch and provide a detailed view on the RoR framework (and related gems) using suitable examples.




Wednesday, October 23, 2013

I submitted two papers to CAiSE 2013 conference and fortunately both have been accepted :-).
Given below are the slides of the talks corresponding to those two papers. I have also given the links to the papers published in LNCS.

Talk1: Scalable, Business Service-based SaaS Applications.





Talk2: Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoupling