Ashik’s IT Thoughts

June 12, 2009

Quillpad Made Bangla Typing Easier

Filed under: Bengali, IT, Web — Tags: — ashikuzzaman @ 12:57 pm

Quillpad is a free online typing tool for 10 south asial languages. Yesterday I was having time free time in office so thought of searching for an API that helps writing bengali. And I landed in http://www.quillpad.in/bengali which is more than what I was looking for.

It’s very easy to type in Bengali in Quillpad. For example, type ‘apni kemon achen’ in the Quillpad editor. Quillpad will convert it directly into Bengali script. If you write a word like ‘bishesh‘, first sh should become ‘শ’ and the second sh should become ‘ষ’. Quillpad will intelligently do that for you. No need to use shift keys or to memorize any key mappings. So ‘রাষ্ট্রপতি’ can be written by typing ‘rashtrapati’ or ‘raashtrapathi’. Quillpad can also predict if multiple words are possible for your input. You can click on the word to select from those options. In addition Quillpad allows you to type English words freely in between Bengali words. It intelligently transliterates them into Bengali. Here is one example -

বাংলা টাইপ করা সহজ

As a quick test of using the WYSIWYG editor of Quillpad, I created to a blog in wordpress http://probasheamardingulo.wordpress.com and a blog in blogger http://probasheamardingulo.blogspot.com/. It looks so easy and convenient to me. I think I will continue writing in the blogger because it allows me to increase the font size of the content while to increase font in WordPress I have to upgrade to premium.

Here is a New York Times article that you might find interseting and relevant.

June 11, 2009

Amazon Kindle: A Great Gadget

Filed under: Uncategorized — ashikuzzaman @ 12:49 pm
Amazon Kindle DX

Amazon Kindle DX

This June 2009 is a special month for gadget lovers. Yesterday Amazon’s Kindle DX was released and 18th of this month Apple’s iPhone 3G S will be released. While I and my wife Shusmita already have our iPhone 3G, I am particularly in favor of Kindle to consider as the best gadget I can ever have.

Amazon’s Kindle DX is an electronic book reader, the third of it’s kind after it’s successful debut in late 2007 with the first generation followed by early this year with second generation also known as Kindle 2. Like I waited for iPhone to mature a little bit before I bought that, I also waited for Kindle platform to mature before I made up my mind to buy the latest generation Kindle (DX).

I love reading books, both in English and in my mother language Bengali. My decision behind buying the new larger size Kindle DX is primarily because it has a native PDF reader and hence I will be able to read Bengali PDF books which I won’t be in the case of Kindle 1 or 2. My only concern is the bigger size of DX makes it less portable. Before coming into this decision I have roamed around the Amazon Kindle discussion forum for a while along with some other online resources. If you look at my facebook news feed or my recent delicious bookmarks (http://delicious.com/ashikuzzaman/Kindle) you can easily guess that I am in Kindle fever. I am expecting a reading habit and experience change once I get my Kindle DX in my hand. I am going to order it 15th of this month and hence I should recieve it in my hand sometime early July. But whatever I have read so far about it, I can’t just wait to recieve it.

I have read (I think pretty extensively) on Sony Reader, Kindle 2 and Kindle DX and decided to go for Kindle DX. Here are my rationale behind my choice -

First, I love Amazon (and also Google) and want to be around them. When it comes to books and reading I consider Amazon the primary authority and expect creative innovations from them(one small example is the idea they came up with accessing the notes and highlights of the books online). I like the vision that Amazon has – to kindlize each and every book ever printed in any language. This pretty much removes Sony or any other non-Amazon platform (despite Google Books efforts) from my choice.

Second, I like the idea of bigger screen size.

Third, I want to read PDF books and documents. I have a good collection of non-english books in PDF formats. The ones I am more interested about are in Bengali language which I am sure Amazon’s PDF conversion program won’t support. So I will need a native PDF reader. This pretty much restricts me to Kindle DX instead of Kindle 2 despite the less portability of DX compared to K2 and Sony Reader.

Fourth, the larger memory 3.3 GB is not a must-have but a good incentive to me as I want to carry a huge library around without ever thinking of removing any of this.

Fifth, the accelerometer in DX is a plus for me.

But if I buy a second copy of Kindle for my wife or my father or brothers, I will buy Kindle 2 for them because of the portability issue.

One more thing I would like to add with interest here. I have published this blog a little earlier as a Kindle Blog available for subscription via Kindle. Amazon has made it so easy and trivial. I will post an entry or two every week to keep myself recorded in words here.

April 7, 2009

Bowling with Friends

Filed under: Community, Java — ashikuzzaman @ 2:05 am

Last week I went to bowling with my friends in Fremont and we enjoyed it a lot. I paid on behalf of them for the game so that everyone else pay me back later. Despite their repeated query to know how much they should pay me, I was too busy the whole last week to calculate that. Right now, having a little relax time, so I downloaded JDK 6 in my new laptop from office and wrote the small java program to calculate it. Compile and run the program to know how much I owe to each of them.

/**
* To compile: javac -d . BowlingCost.java
* To run: java BowlingCost
*/

import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
public class BowlingCost {
public static final double shoeRent = 4.0;
public static final double perGame = 4.25;
private static int male = 5;
private static int female = 4;
private static Map payersMaritalStatus = new HashMap();
public BowlingCost() {
payersMaritalStatus.put("Shahriar", Boolean.TRUE);
payersMaritalStatus.put("Ezaz", Boolean.TRUE);
payersMaritalStatus.put("Hasinur", Boolean.TRUE);
payersMaritalStatus.put("Nitol", Boolean.FALSE);
payersMaritalStatus.put("Ashik", Boolean.TRUE);
}
public static void main(String []args) {
BowlingCost cost = new BowlingCost();
System.out.println("Total Cost of Bowling = " + calculateTotal() + " dollars.\n");
displayPaymentAmounts();
System.out.println("\nThank you! It was a pleasure playing bowling with you guys!!");
}
private static double calculateTotal() {
return perGame * (male * 3 + female * 1) + shoeRent * (male + female);
}
private static void displayPaymentAmounts() {
Iterator it = payersMaritalStatus.keySet().iterator();
String payerName = null;
boolean isMarried = false;
while(it.hasNext()) {
payerName = (String) it.next();
isMarried = ((Boolean) payersMaritalStatus.get(payerName)).booleanValue();
if(isMarried) {
System.out.println(payerName + " should pay " + (perGame * (3 + 1) + shoeRent * (1 + 1)) + " dollars.");
} else {
System.out.println(payerName + " should pay " + (perGame * 3 + shoeRent * 1) + " dollars.");
}
}
}
}

If you don’t want to run the program in command line or opening your favorite IDE, then you can use the following online java compiler to copy paste the code there (select Java SE 1.4 class from the drop down box at the bottom).

http://www.zamples.com/JspExplorer/index.jsp?format=jdk16cl

Here is the output if you run the program:

Total Cost of Bowling = 116.75 dollars.

Ezaz should pay 25.0 dollars.
Ashik should pay 25.0 dollars.
Hasinur should pay 25.0 dollars.
Shahriar should pay 25.0 dollars.
Nitol should pay 16.75 dollars.

Thank you! It was a pleasure playing bowling with you guys!!

February 19, 2009

Spectrum and 5 Other Bangladeshi IT Companies are now CMMI Level 3 Certified

Filed under: Uncategorized — ashikuzzaman @ 10:58 am

I got an email morning today that Spectrum Engineering Consortium Ltd. (SECL) has been awarded CMMI Level 3 certification recently. I was so happy to read it because I was part of the initial team in SECL that started this effort. It took long, hard 8 years but now they are here. It’s a great achievement for Bangladeshi Software Industry.

I also got to know that DataSoft, Leads, Southtect and IBCS-Primax have also been awarded CMMI Level 3 certificate. Bangladesh Internet Press Limited (BIPL) was the pioneer in Bangladesh Software Industry when they recieved it back in 2007.

All these are so wonderful for Bangladesh Software Industry! This is in recognition of implementing international best practices and process approach in software development process. The more companies join this race, the more overseas clients will gain confidence over Software Industry of Bangladesh. Congratulations to all these IT companies for the giant step forward to showcase their overall capability in a positive manner.

Last November (2008) I worked with Zeeshan Bhai and AABEA to organize a round table session and Cisco Telepresence Demonstration in San Jose with Khandakar Asif Hasan, Director & CTO and Mushfiqur Rahman, Deputy Managing Director of Spectrum Engineering Consortium Ltd. There they mentioned that Spectrum and some other companies are already at the last stage for fulfilling all the necessary requirements for CMMI Level 3 certifications. It’s great to see that it worked well with them.

Reference: http://aabeat.com/forum/index.php?topic=28.0

November 4, 2008

Attended DreamForce 2008

Filed under: IT — Tags: — ashikuzzaman @ 4:27 am

As a Salesforce.com employee I got free pass to attend DreamForce 2008 which started today. I rushed into the BART to reach San Francisco Moscone Center early in the morning so that I don’t miss Marc Benioff’s keynote speech. Indeed he did an amazing speech in front of approx 10000 attendees in the huge Moscone Center Expo. I liked the dramatic way the LincVolt car entered into the stage and how Marc introduced Neil Young’s dream of a newer generation of cars and the way it forecasts it’s battery usage, location, angles through Salesforce.com sites. Salesforce.com’s parntership with Facebook and Amazon Web Services clouds were really encouraging. The theme of this year was Cloud. Marc is so good presented and he made quite a nice humors on some MS technologies including their newest announcement in the Cloud computing platform Windows Azure which Marc titled as Vapourware.

I wont a iPOD docking station with radio in a booth through wheel of fortune. My colleague Shishir won a iPod nano in another booth. The whole day went quite busy and by the time I was returning home in the evening, I had to walk in the rain a little to reach the Powell BART station.

September 4, 2008

Google’s Web Browser Chrome

Filed under: Uncategorized — Tags: — ashikuzzaman @ 12:20 pm

I started using Google’s new Web Browser Chrome since morning. It looks so good to me so far although I am not going to move away from Firefox pretty soon. First 2 things I noticed are that it doesn’t have a toolbar other than the address bar (nothing like File, Edit etc) and the tabs look very good/clearly distinguishable. Also the browser is so far neutral about Google’s services or adding the Google toolbar by default on it. It’s beta, so it will change a lot in near future…still exploring what’s inside…

July 11, 2008

Today iPhone3G came out in the market

Filed under: IT — Tags: — ashikuzzaman @ 3:12 pm

When I checked after lunch in San Francisco near my office in Embarcadero, all their iPhone3G were already sold out. I am not surprised because I know the stories when iPhone came out first time last year.

As I will buy 2 iPhone3Gs this coming 1st August when my Verizon contract will finish, I took some effort to figure out the rough estimates for 2 years’ plan prices for iPhone3G from AT&T -

1 iPhone3G Individual Plan:

$70 (+ tax) * 12 * 2+ $200 (+ tax for phone set) + $36 (activation fee) + $30 * 12 * 2 (+ tax) = $2636 (+ a lot of accumulated tax)

So if I apply a flat tax of 8.75% on the total it becomes $2866.65 for next 2 years.
2 iPhone3G Family Talk Plan:

{ $70 (+ tax) * 12 * 2 + $10 (for 2nd line) * 12 * 2 (+ tax) } + { $200 * 2 (+ tax for 2 phone sets) } + { $36 + $26 (activation fee) } + [ { $30 * 12 * 2 (+ tax) } * 2] = $3822 (+ a lot of accumulated tax)

So if I apply a flat tax of 8.75% tax on the total it becomes $4156.425 for next 2 years.

This will be on top of my Blackberry that I get from my office with unlimited voice and data plan. But I like iPhone not Blackberry!

How does it sound to you?

April 17, 2008

JMS

Filed under: Uncategorized — Tags: , — ashikuzzaman @ 12:30 pm
Background
I, Nitol and Paul are 3 developers who worked at the early times of our career as java developers in a project named SPRINTRE in Bangladesh almost 6 years back. Coincidentally, we all 3 are now in USA. I and Nitol in California and are now neighbours and Paul just came to USA few weeks back and interviewing for openings in New York area. This is a part of a technical discussion going amongst us in JMS that Nitol sent. I am keeping it here finding valuable for reference.
Excerpt From Nitol’s Email
JMS is not mandatory thing, it’s a tool. If it properly used, then it can be useful. It helps to modularize code, improves maintainability …
Scenario
I’m going to describe one scenario from project Spintre, you remember right :) . When a Purchase Order is approved, it should be saved in the PO table also it should save one record in accounts in proper cost center. How did we implemented it, we had accounts service call in PO module. Means we made PO module dependent on accounts module. Suppose we had a ActivityTracking module, which saves all user activity. How did we implemented it? We would have implemented it by calling activity tracking service. Suppose we have to include notification service also, when ever a PO is approved, purchase officer wants a email in his email box.
Without using JMS
accountService.save(amount, costcenter);
activityTrackingService(userObj, PoModuleIdentifier, ActivityApprove ..);
{
look for who want’s notification, get the email address and send the email.
}
How do you like this code implementation? How is the impression of a User who just clicked on the Approve button and waiting for so many thing to happen.
Those all service can be asynchronous, those activity don’t need to be real time. Now how we can use JMS here
when PO is saved, code block using JMS is
With JMS
{
Event event  = new Event(po number, date, Module, ActivityType, user ……)
jmsPublisher.publish(event);
}
Done, clean implementation. But now we can write sevaral Subscriber
AccountModuleSubscriber {
receive(Message obj) {
Event event = (Event) obj;
// save it to correct cost center
}
}
ActivityTracker {
receive(Message obj) {

Event event = (Event) obj;
// save it log table
}

}

So, by using JMS you basically improved the application performance, It’s using idle time .. Jms broker will manage these different thread ..
2. I user ActiveMQ. I heard it became a apache project now.
Commercial Weblogic JMS is expensive. Basically all the EJB server has JMS support, Jboss, webspheare ….
3. JMS is a technology, a messaging architechture. It is scalable, if it is used properly. Means if design is good, then it’s scalable .. if design is bad, no meaning of using JMS.
4. You yourself can implement by using thread. But why to re-invent the wheel. JMS gives support of message persistent, redelivery, durability, thread pool .. so many support. Why not use those.
You can also make code moduler by using Observable-Observer pattern, but that is synchronous. You can use thread then, you’ve to maintain them ..
5. JMS is nice technology. Messaging technology is old, java implemented that near 2000. There are big server’s available for messging/message broker from long time back, like IBM MQSeries. Microsoft has there MS MQ implementation into windows may from 10-15 years ago. It’s a proven technology.
My informations can be wrong, anyway I hope it will help.

March 10, 2008

Salesforce Google Apps Integration

Filed under: Uncategorized — ashikuzzaman @ 10:30 am

One of the reason I like working in cutting edge technologies as “On-Demand” CRM in Salesforce.com…


Last week, Tony Ruscoe found an interesting reference to Salesforce in a CSS file used by Google Apps. According to the company, “Salesforce.com is the worldwide leader in on-demand customer relationship management (CRM) services. More companies trust their vital customer and sales data to salesforce.com than any other on-demand CRM company in the world.”

Other people found references to Google products in Salesforce’s applications: a button to compose a message in Gmail and a button for Google Docs, so the integration is probably in the final stages. “Openness is a virtue – the best CRM and the best online productivity suite are lined up for a deep integration”, thinks Steve Andersen.

In June 2007, Google signed a partnership with Salesforce to include Google AdWords in its applications, but Wall Street Journal speculated that the result “could be a Web-based offering that integrates some of Google’s online services such as email and instant-messaging with those of Salesforce.com, whose customer-relationship management tools help salespeople track their accounts.” Maybe this year Wall Street Journal’s prediction comes true.

Source: Salesforce to Integrate with Google Apps?

 

February 20, 2008

GTD: Getting Things Done

Filed under: Uncategorized — Tags: — ashikuzzaman @ 3:30 pm

I have read some articles on it on and off last few months and tried a firefox extension of GTD for GMail without success. Today while thinking I have so many works in hand to do both personally and in office, I gave myself an hour’s break to study a little more on GTD.

Getting Things Done

By David Allen

To know what it is, I would rather leave you to the wikipedia entry – http://en.wikipedia.org/wiki/Getting_Things_Done than spending my words. All the articles say to read David Allen’s famous book Getting Things Done: The Art of Stress-Free Productivity at least twice to start with. I don’t have enough patience for that and before I pick that book from Barnes & Nobles tonight, I decided to follow the article below as I use Google Notebook for a while.

http://lifehacker.com/software/geek-to-live/getting-things-done-with-google-notebook-256844.php

Lots of authors suggest to start with plain pen and paper instead of heavier GTD tools like ThinkingRock which I may really adopt one day if needed.

I have been using RTM with GMail for last few months inconsistently without actually being aware of GTD. If you choose for this instead of Google Notebook here is a link.

http://the-getting-things-done.blogspot.com/2007/12/gtd-with-google-mail-and-remember-milk.html

Older Posts »

Blog at WordPress.com.