Archive for February, 2008

Marketing R Us

Wednesday, February 13th, 2008

“Us” as in the blogosphere, people who are contributing via blogs, twitters, groups, etc. People who are in top 100,000 list. When we talk about Word of Mouth, we think of getting the word out to the (“they”?) A-list bloggers. Fast Company has an interesting piece which debunks the theory that a select few “key influencers” matter more than “the rest of us.”

“Is the Tipping Point Toast” is an interesting read. The article is based on the work done by Duncan Watts of Yahoo Research. According to Watts:

It [achieving marketing success through influentials] just doesn’t work. A rare bunch of cool people just don’t have that power. And when you test the way marketers say the world works, it falls apart.

Guy Kawasaki, comments further and says:

Spend more time and effort pressing the flesh of real customers and less time and effort on industry events and other focused PR and marketing that involves sucking up to journalists, analysts, and experts.

Using JetS3t to upload larger number of files to S3

Sunday, February 3rd, 2008

I was looking for a tool to upload large number of files to S3. While I have been a great fan of the bash tools for browsing and accessing s3 objects and buckets and a managing a limited number of files — I could not find an easy way of uploading a large number of files (the first batch being around 800K).

Then I downloaded JetS3t. It has a nice gui called Cockpit for managing the files on S3. The GUI is pretty neat. However, for simple upload/download S3 organizer, a simple Firefox plugin does the job. If you need to extensively manage your files then JetS3t’s cockpit is the way-to-go.

For uploading a large number of files, I was looking for something which is multi-threaded and configurable. JetS3t S3 suite has a “synchronize” application which is meant to synchronize files between a local PC and S3. JetS3t allows you to configure the number of threads and connections to the S3 service. Without reinventing the wheel, I got what I wanted. However, one additional thing I needed was the ability to delete the local files once the upload was complete. On tinkering with the java src, I modded the Synchronize.java and added the following code fragments:

public void uploadLocalDirectoryToS3(FileComparerResults disrepancyResults, Map filesMap,Map s3ObjectsMap, S3Bucket bucket, String rootObjectPath, String aclString) throws Exception  {
...
List filesToDelete = new ArrayList();
...
if (file.isDirectory() != true){
  filesToDelete.add(file.getPath());
}
...

// delete files once objects are S3d
for (Iterator ite = filesToDelete.iterator(); ite.hasNext();){
 String fName = (String)ite.next();
 File f = new File(fName);
f.delete();
}
}