The next version of CLENotes

The time has come to think about the next version of Command Line Email Client for Lotus Notes. As I suspected in the history of CLENotes the next version (v5) will have a new codebase and so it will be. I recently found Xtend and that’s what I’m going to use.

I decided some guidelines for the development:

  • Command line options and syntax should be the same as in current version.
  • No external libraries except Xtend (and Notes.jar, of course, can’t live without it).
  • Automatically find and use classes in Notes.jar. No installation of any kind before using CLENotes (currently users have to extract classes in Notes.jar to CLENotes directory).
  • Development itself should be fun and maintaining the code afterwards should be easy, and still fun (using Xtend helps with this, I think).

One consequence worth noting relates to the second bullet: no external libraries. That means I have to develop my own command line parser, logger, config file reader and other stuff that makes up the application. But that’s okay, since I’m also learning Xtend at the same time, I can live with that.

Current status of development is that I created a new Eclipse project for CLENotes v5 and started to develop command line parser with Xtend. I have no schedule and I develop CLENotes as much as time permits.

New article @developerWorks

I wrote an article for IBM developerWorks, Build a text visualization and analytics application. It’s about visualization and analysing texts using open source tools.

In the article I describe how I’ve built my own visualization/analysis tool. All the word clouds here in my blog, such as word cloud from Virginia Rometty’s letter in IBM Annual Report 2012, are created using the same open source tools and libraries.

I describe also how to easily create videos using Java and Monte Media Library. Video is basically just for the fun of it, like comparing Coca-Cola’s and PepsiCo’s Mission, Vision and Value statements below.

CLENotes v4.2.1 available @OpenNTF

It’s been a while since I updated Command Line Email Client for Lotus Notes but it’s done now. Version 4.2.1 is now available.

Changes:

  • Fixed bug when signing and encrypting mail.
  • Moved maildbinfo-command to Mail.py from External_Functions.py.
  • Added default return code 0.
  • Added support for multi-byte files for –file-body option by Yasuhiro Onoda, IBM Japan

Updates may not happen very often but CLENotes is not dead. On the contrary,¬† it’s very much alive and history continues… ūüôā

OLViz: visualizing text with a single line

The next version of One Word Visualization visualizes a given text with a single line. I call it One Line Visualization and let’s abbreviate it as “OLViz”.

Visualization of "OLViz"

Idea of OLViz is to use a single colored line in 3D space to represent text. The way its done is to calculate MD5 hash from text and then use that hash as seed for Processing‘s random generator. Line vector coordinates, color and rotations are randomized and since each seed is unique then all texts have unique one line visualization. Continue reading “OLViz: visualizing text with a single line”

Bug in Automation

@KemiraGroup¬†discovered a little bug in my automation code for tweet statistics. I tested with Firefox and Safari and it worked for me… but then Peter Sj√∂holm (@sjoholm)¬†informed that the bug manifested itself in IE8 & XP. I reproduced using IE6 and XP and then fixed the bug.

The reason why bug happened was because of one little comma… The excerpt below shows the bug in the list that is used to generate bar chart with Google Charts.

['Thehomedepot',0],
        ]);

The code below has no comma and it works.

['Thehomedepot',0]
        ]);

The bug fix in the code generation is below.

LAST=len(rankingDict)-1
i=0
for company,tweetCount in rankingDict:
  if i==LAST:
    htmlFile.write("['%s',%d]\n"%(company.capitalize(),tweetCount))
  else:
    htmlFile.write("['%s',%d],\n"%(company.capitalize(),tweetCount))
  i=i+1

Python, Google Charts and Twitter Statistics

I post weekly statistics of DJIA and OMXH25 companies’ tweeting activity where companies are ranked by the number of tweets during the previous week (Mon-Sun). ¬†See this¬†Top tweeters (DJIA) 23.4. ‚Äď 29.4.2012¬†as an example.

But how do I do that? I do it automatically, using Python, Python Twitter API, MySQL, Google Charts¬†and cron. Continue reading “Python, Google Charts and Twitter Statistics”