Ashik’s IT Thoughts

April 9, 2015

Java Programmer’s Life In Music – We code hard in these cubicles

Filed under: Uncategorized — ashikuzzaman @ 8:22 am

December 22, 2014

JUGBD Webinar: Salesforce booming from a startup to the highly used cloud development platform

Filed under: Uncategorized — ashikuzzaman @ 9:05 am

A few days back one of my ex-Colleague from Bangladesh Nazrul contacted me to have a meetup session with Java User Group Bangladesh to share some of my experience with Bangladeshi Programmers and Technologists. I was very happy to see that as I started the first Java Users Group in Bangladesh in 2002 and was very actively involved there until I came back to USA in 2005. So yesterday I presented my topic through GoToWebinar. The full session was recorded and today was uploaded in YouTube. Here is the one. I plan to engage few of my fellow technologists here in Sillicon Valley for sessions on different topics in similar style in future.

October 7, 2014

Please Let Us Get Some Work Done In Office

Filed under: Uncategorized — ashikuzzaman @ 8:30 am

What I have been talking about for so many years has now come out as a TED talk! This is why I work twice a week late in the office till midnight when there is no one around just to actually get some work done. Please pay special attention to the 3 recommendations that Jason Fried made to remedy. I am happy that the first one is already partially implemented in my office as – No Meeting Thursday!

September 18, 2014

Emerging Technologies

Filed under: Uncategorized — ashikuzzaman @ 11:12 pm


January 21, 2014

Trying Out Gliffy as Online Diagramming Tool

Filed under: IT — ashikuzzaman @ 12:51 pm

I like free online tools as I use Mac, Ubunutu, Windows, iPhone and iPad at different times from different locations for same or different purposes, both office work or chess or other interests.

I use as Online HTML Editor.

I use as online JSON Editor.

Now I wanted to come out of Visio or MS Paint or Dia for diagramming as those are offline or installed applications.

Today I tried to use Gliffy after searching and testing several other tools online. I see that it gives me close to the functionality of MS Visio although its free and online based.

Gliffy Online Diagramming Tool

May 13, 2013

Agile Product Ownership in a Nutshell

Filed under: IT — ashikuzzaman @ 2:31 pm

June 15, 2012

Why Software Engineers are Grumpy?

Filed under: IT — ashikuzzaman @ 5:40 pm

My friend Paul from East Coast, forwarded this article to me in the morning. While I was reading it, I became, happy, sad was laughing around loudly in the BART train to office and also got thinking. Too many things in it from the experience of an engineer.

Here is the article – The care and feeding of software engineers (or, why engineers are grumpy)

November 25, 2011

Finding Union and Intersection of 2 Large Lists

Filed under: IT, Java — ashikuzzaman @ 10:15 am

One of my colleague who works on performance tracking and tuning of applications asked for some helped around how to find the union and intersection of large lists. He works mostly on Python and Perl. Being a Java guy, I prepared a sample program for him to do this allowing to determine the size of the lists by himself. He was happy to get the program and once I explained him a bit about the retailAll(), addAll() and removeAll() API of Java and how I used those to determine the union and intersection, it was very clear to him. I am giving that program here in case it helps you as a reference implementation.

package com.salesforce.test;

import java.util.List;
import java.util.ArrayList;
import java.util.Date;

* To compiple: javac -d .
* To run: java com.salesforce.test.ListPerformanceTest
* @author ashik
public class ListPerformanceTest {

private int LOOP_COUNT = 50000;
private List firstList;
private List secondList;

public ListPerformanceTest() {
firstList = new ArrayList();
secondList = new ArrayList();
for(int i = 0; i < LOOP_COUNT; i++) {
if(i % 3 != 0 || i % 5 != 0) {
firstList.add("ashik - " + i);
if(i % 9 != 0) {
secondList.add("ashik - " + i);

public static void main(String[] args) {
System.out.println("\nListPerformanceTest starts.....\n");
ListPerformanceTest perf = new ListPerformanceTest();
List intersection = new ArrayList();
List union = new ArrayList();

Date d1 = new Date(System.currentTimeMillis());
System.out.println("d1 = " + d1);
for(String value : perf.firstList) {
System.out.println("value for firstList = " + value);
Date d2 = new Date(System.currentTimeMillis());
System.out.println("d2 = " + d2);
for(String value : perf.secondList) {
System.out.println("value for secondList = " + value);
Date d3 = new Date(System.currentTimeMillis());
System.out.println("d3 = " + d3);

System.out.println("perf.firstList.size() = " + perf.firstList.size() + " and perf.secondList.size() = " + perf.secondList.size());

if(perf.firstList.size() >= perf.secondList.size()) {
} else {
Date d4 = new Date(System.currentTimeMillis());
System.out.println("d4 = " + d4);
System.out.println("intersection.size() = " + intersection.size());

if(perf.firstList.size() >= perf.secondList.size()) {
} else {
Date d5 = new Date(System.currentTimeMillis());
System.out.println("d5 = " + d5);
System.out.println("union.size() = " + union.size());

System.out.println("\nListPerformanceTest ends.....\n");


The significant part from the output when you run the program is given below.

d3 = Fri Nov 25 10:03:36 PST 2011
perf.firstList.size() = 46666 and perf.secondList.size() = 44444
d4 = Fri Nov 25 10:03:55 PST 2011
intersection.size() = 42222
d5 = Fri Nov 25 10:04:14 PST 2011
union.size() = 48888

August 11, 2011

Removing an element from a Collection while iterating over it

Filed under: Uncategorized — Tags: — ashikuzzaman @ 5:59 pm

Can you remove an element from a collection while iterating over it? Answer: No, you can’t.

What kind of error will you get in Java if you make an attempt? Compile time or Runtime? Answer: Runtime.

The details of the exception will be as below. Check this along with a sample program that I wrote. You can try to compile and run it yourself to see the result.

Exception in thread “main” java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(
at java.util.AbstractList$

package com.salesforce.test;

import java.util.List;
import java.util.ArrayList;

* To compiple: javac -d .
* To run: java com.salesforce.test.RemoveListTest
* @author ashik
public class RemoveListTest {

public List counts = new ArrayList();

public RemoveListTest() {

public static void main(String[] args) {
System.out.println("\nRemoveListTest starts.....\n");
RemoveListTest rlt = new RemoveListTest();
List results = new ArrayList();
for(Integer count : rlt.counts) {
System.out.println("count before removing = " + count);
if(count % 3 == 1) {
// rlt.counts.remove(count); // you will get runtime error if you uncomment it

for(Integer result : results) {
System.out.println("result = " + result);
for(Integer count : rlt.counts) {
System.out.println("count after removing = " + count);

System.out.println("\nRemoveListTest ends.....\n");

February 11, 2011

Waiting for NoteSlate

Filed under: IT — ashikuzzaman @ 1:57 am

A few days back my Google Reader RSS Feed took me to and from then onwards NoteSlate is roaming around my mind. I believe Kindle solved my problem of reading books, iPad solved the problem of a personal organizer cum web surfing but none of them really addressed the issue properly of writing or taking notes. NoteSlate will do that if I understood correctly what there current ad shows. Ah, I have to wait 5 more months to verify it!

Older Posts »

The Silver is the New Black Theme. Create a free website or blog at


Get every new post delivered to your Inbox.