photoblog – cooking thai 

Cooking Thai


Thai food ain’t about simplicity. It’s about the juggling of disparate elements to create a harmonious finish. Like a complex musical chord it’s got to have a smooth surface but it doesn’t matter what’s happening underneath. Simplicity isn’t the dictum here, at all. Some westerners think it’s a jumble of flavours, but to a Thai that’s important, it’s the complexity they delight in. –  Wikipedia

Photoblog – BrickHack 2

March 5-6 ignites a weekend devoted to 400 designers and coders sinking 24 hours into learning, building, and creating unique projects. Mentors and industry representatives will also join the fray to lend expertise and share wisdom. The event will take place in RIT’s Gordon Field House for a centralized, communal hacking experience. Expect food, swag, and timeless brick-laden memories.  –

Photoblog – Florida sky

Florida sky

I’ve taken this photo with OnePlus 2 while walking on street in the morning

Florida is the southeasternmost U.S. state, with the Atlantic on one side and the Gulf of Mexico on the other. It has hundreds of miles of beaches. The city of Miami is known for its Latin-American cultural influences and notable arts scene, as well as its nightlife, especially in upscale South Beach. Orlando is famed for theme parks, including Walt Disney World. – Google

Integrate SparkPost in your Rails app

SparkPost (SP) is an advanced email delivery service. For a number of reasons including reputation based sending, high deliverability, scalability etc. SP is trusted by big senders like facebook, twitter, linkedin, pinterest, paypal and you name it.

While SP is suitable for most, SPE (Sparkpost Elite) is for senders who wants to run these services on dedicated boxes. SPE also comes with white gloves support.

Integrating SP with your current application is extremely easy. It’s because:

  • You can start FREE :). Its free plan comes with 10000 100,000 emails per month.
  • Unlike others, there is no manual activation required. You can just open account, verify your domain and start sending immediately.
  • Because SP supports both SMTP and API, integrating with your app is just simple.

If you’re still not sure how to integrate SP in your Rails app, keep reading.

Step 1: Open SP account

  • Visit signup page and complete the form. It’s a very tiny form which takes less a than a minute completeScreenshot 2015-10-13 11.31.50Upon signup, you need to verify your email address. Unless you verify your email, you can’t add sending domain that we’ll do in next step.

Step 2: Add and verify your sending domain

Before we add it, you might ask what is sending domain and why you need this for. Here is the answer from official doc.

A sending domain is a domain that is used to indicate who an email is from via the “From:” header. Using a custom sending domain enables you to control what recipients see as the From value in their email clients. DNS records can be configured for a sending domain, which allows recipient mail servers to authenticate your messages.

Screenshot 2015-10-13 12.24.47

Go to Account -> Sending Domains to add a sending domain (you can leave Linked Tracking Domains option as it is for now). Once you’ve added the domain, you need to verify the domain by adding SPF records. You can also follow the official doc for instructions to verify domain.

Step 3: Generate API Key

SP is really simple in terms of this. If you create an API key with “Send via SMTP”, you can use this same key for SMTP authentication. So simply create an API key from Account -> API & SMTP and select Send via SMTP from API Permission.

Screenshot 2015-10-13 12.36.31

If you’re still not sure, follow this doc for detail instruction.

Step 4: Integrate with Rails

So you’ve done all the required ground jobs. The last part is configuring Rails to use your fresh SP credentials. This part is very simple. All you need is to put the SMTP configuration, ideally, in an initializer script. You can simply copy the following gist in a file inside your Rails app’s initializer directory (config/initializers).

Be sure to replace password and from with appropriate values. Password is the API key that you’ve created with “Send via SMTP” permission in previous step.

Now What?

That’s all. You application now has all the goodness of world’s best email sending platform. Start sending now!  You’ve earned it to yourself :).

Definitely you can separate your development and production configuration and/or move this config to environment variables. Also, you can configure your development environment to raise mail sending exceptions. Set

config.action_mailer.raise_delivery_errors = true 

in config/environments/development.rb.


[disclaimer: I work for SparkPost with awesome people :)]

A two (+12) hours tour to Amazon Fulfillment Center, VA

I’ve reserved this tour about a year ago. I always have a fascination for visiting giant factory like facilities. I think I’ve got this when I witnessed my father as a chief contractor for a giant textile mills in Pagla, Narayanganj.

Initially I planned to visit this with my family until, at very late, I came to know that visitor must be at least 6 years old. My daughter is about 5 years early for that :P, hence my wife couldn’t go too. So, I invited 3 of my other friends and among them 2 could make it in this short notice.

We started on 15th’s very early morning even before we saw the sunlight. It’s more than 6 hours of drive from Brooklyn. We reached there about 30 minutes ahead of scheduled time.

The area closed to the facility is so beautiful. The roads are so clean and solid and natures are really soothing. From the outside we could tell how giant this facility is. Though there were a few signs posted about tour guests parking, it was difficult to locate exact place as several roads were closed and there were no detour signs. So we had to make several back and forth before we found a staff and ask for assistance who removed one of the blocker to the  way to actual tourist parking lot.

When we entered the facility we’ve been welcomed by a few of organizers and we were given badges. Then they took us a to classroom where they’ve given us instructions how the tour will be conducted and also gave us wireless headphones. This was extremely helpful as the whole place is too noisy and we could barely hear anything unless we put the headphone on. The noise basically coming from conveyer belts that were throughout the facility.

Then we’ve taken to different areas of the facility including the inbound area where they process all incoming shipments from FBA sellers, MODs where they store all items in smaller quantity, packing area, labeling and sorting area etc.

I remember, when I saw a packer was very quickly taking boxes for putting items in it I wondered whether he decides those himself that fast or the software tells what size of box required. It’s actually the later. As soon he starts processing order, required size of shipping box is displayed on the screen. Technology is amazing, isn’t it?

Then we’ve been taken to the places where shipping labels are affixed. I thought it’s a manually process until I saw it. After a box is kept on the belt, a shipping label is automatically attached at a later step (identified by order barcode that’s affixed by the packer). However, we saw this process is very error prone and there were 2-3 people who fixes those things manually.

It was very clear that lots of technological magics happen there at all times. However, the importance of manual labor is nevertheless. I was really amazed to see the size of the facility. They also mentioned the combined size of 3 floors is equivalent to 28 football fields.

However, during my short stay there, I’ve got an impression that work condition may be very hard there! I tried to pay attention to a number of people and they looked tired and seemed unhappy. Pardon my judgements if I’m wrong (and I’ll be happy to be wrong here) but I found it aligned when I saw at least two people were sleeping in their car at parking lot. I found only one person, other than the organizers, gave us a positive vibe by giving us smile though many of them noticed us. It may also mean they were very busy and/or their job needs undivided attention! To get a better understand on this, I asked the tour guide how often the workers are allowed to take rest. She replied it’s only twice in their 10 hours shift including their cafeteria time (lunch/dinner/breakfast)! Thanks my load; my job is much easier. Coincidentally it reminded me an article that I read recently about how Amazon pushes its engineers beyond their boundaries.

The tour ended with thank you gift that included a 8oz bottle of water and a mini USB car charger, which interestingly I didn’t find on

Very sadly, we were not allowed to take pictures that actually lost 50% value of the tour, though I respect the fact that it’s their own facility and they have rights to impose any policies. But how something can be a tour if you can’t take a photos?

Overall, unlike my friends, I somewhat enjoyed my tour. I believe the tour can be better in several way including reducing the number of people in each tour so that people can take a closer look. I also want to thank you Amazon to let us visit their facility.

I, however, do not suggest anyone else to take such a long drive for the tour. It’s definitely not worthy. Visit a nearby facility.

Prevent “whenever” creating separate cron job on each deployment

I am using whenever gem for handling cron job in a Ruby on Rails application. It’s fantastic because of it’s very easy DSL to create tasks and schedule it. It will do all the dirty works to update crontab and run your task periodically as per your definition.

However, I ran into one problem that upon each deploy, whenever was creating a separate item in crontab. So when I’ve tried to check cron jobs (crontab -e), I see there are so many tasks.

It was doing this because I didn’t have :application param set in my capistrano settings (deploy.rb). Whenever depends on this name to match the existing names and update it. So all you need is to set application to your deploy.rb file.

set :application, 'your-fancy-app'

That should solve the problem. However, you need to manually cleanup current cronjob as it won’t update the current mess.

Life is beautiful

Last month I quit from my job at NewsCred so that I can enjoy some kinda unlimited time with my daughter before I join in next job. To many people it may sound crazy (actually it is) as life is expensive in New York. However, I’ve been preparing for this over last 6 months and I think I’ve taken the best decision ever. This time with her is so beautiful and unforgettable that no money can buy it ever.



Standing on her own feet

The moment when I think I got the whole world

The moment when I think I got the whole world






On the beach









Walking on the beach


Showing new teeth and how she enjoyed orio cookies


How it feels to be a dad?

Let me start with a confession: During the last stage of pregnancy of my wife, I came to know how my religion, Islam, honors mothers. Since that moment, I became very jealous of my wife. I seriously started thinking if I could, ever, be a mother. Clearly, there seemed nothing to be precious than becoming a mother in Islam.

This feeling got little intense after our baby was born. People were asking me about my feelings. Though, unlike many, I found it completely not surprising to change her diaper, clean her, feed her, I was very embarrassed to say that I actually don’t feel anything special about her. When, almost everyone around me started asking it and I replied same, I started thinking two things:

1) I may not have enough emotion to feel it.
2) Probably, there is not much thing to feel by a father (getting more jealous).

However, #1 isn’t true. I know myself. In many cases, I’m strong in expressing emotion but I know what I got. So, I ended up thinking #2 may be correct.

After about 2.5 months age of baby I flew to Bangladesh leaving mother & baby behind. When I was in Bangladesh, friends and family was asking if I’m missing the baby. At this point, my answer changed slightly. Most of the cases it was ‘little’ or ‘not much’. Clearly, they didn’t like the answer. They probably expected me to say “I can’t live without her”.

However, things started changing very fast in a week of my travel. I was watching baby over Skype playing with her mom. She (Naisa) became very responsive. She now plays, smiles, makes some noise when she is asked/showed, tries to stand up, hold fingers and direct that to her mouth etc. I started realizing my feeling is changing fast. So, when my wife said she also wants to visit Bangladesh, I made it happen very quickly.

When baby came to Bangladesh (25 days since I saw her last time) she is little bigger but lot charming and playful. She can even hold her feeder (though can’t keep it aligned) and understands that she needs to put the nipple inside her mouth. She does hell lot of other things that just amazing and tough to express in writing.

Now, honestly, it’s very tough just even to stay far without watching her. Relatives, specially cousins, are literally in competition to keep her. They’re sometime angry on me as I frequently become their biggest another competitor showing excuses like feeding her, cleaning her etc.

Photo Credit: Jobaer Shuman

She now makes some weird noises when I keep her on my shoulder and tap her back. However, to me these noises are most beautiful sounds I’ve ever heard.

So all these things change two things

1) I got my emotions right; it just took little while to show up 😛

2) It’s not that bad to be a dad. Happiness with her is gender-agnostic. And fatherhood is the only thing that completes a man. 

 Enjoying every moment with Naisa!