BI-BOX … A creative product

BiBox is a product from a startup-company, founded by one of my friends from JNNCE Shimoga. It targets the education sector, which in my opinion is a very huge market. It allows kids to visually design electronic gadgets and bring them to life. Youcan visually create things like moving trucks, bulb-array displays etc.. The killer feature of the product is that a “kid” can logically program a toy and watch it come to life. Sandeep Senan’s (cofounder of EvoBi that makes BIBOX) thinking is that inspired kids think better, perform better and produce better results. I must agree with him on that.

I was aware of Sandeep’s work on BiBox for quite sometime now. But I sure did not know all about it. This video shows whats now available and what they have done with their product so far:

Hearty congratulations to Sandeep for bringing the product out. I wish the product all the commercial success!

Haptics Workshop at IIT Mumbai – Techfest

I am at IIT-Mumbai right now attending the Techfest. This year, among several parallel tracks, they have arranged for a Haptics track. Manav, a MTech student, who is organizing the track contacted us about a month ago asking us if we were interested to sponser and/or speak at the event. I thought it was a great opportunity to evangelize Haptics. So we agreed to sponser (in a very small way) and I agreed to come and conduct a OpenGL+OpenHaptics workshop in the Haptics track. I am really happy about the decision.

The workshop started yesterday (24th of Jan) at 10 in the morning with opening remarks from Prof. Manivannan, who is the director of “Touch Labs” at IIT Madras. This man is the god of all things Haptics in the country. I had met one of his students, Hari Vasudevan, a couple of years back. Hari, after completing his Masters course under Prof. Manivannan, went on and joined SensAble technologies and has personally contriubted huge amounts of creativity and code to the recently released QuickHaptics SDK from SensAble. After interacting with the participants of the workshop, it became very clear to me that the interest in Haptics is on the rise. A lot of BTech and MTech projects at premier institutes are now Haptics projects. It would come as no suprise to me if Haptics becomes an elective subject in most universities in the days to come.

This week has been mostly about Haptics for me. I came to Mumbai last Sunday (the 18th of Jan). From Monday to Wednesday, it was about conducting a three-day crash course on OpenHaptics to a bunch of developers at BARC. Day 1: HDAPI, Day 2: OpenGL, and Day 3: HLAPI later, they seem poised to take on challenges in their project. Good luck to them. Yesterday was my talk on OpenHaptics to a bunch of wannabe haptics developers at IITB. SensAble’s decision to slash prices of the Omni for educational institutions could not have come at a better time. After yesterday’s talk, I am sure quite a few institutions will want to make use of this opportunity and grab one of those good devices.

Everytime I come to IITB, I make it a point to meet Prof. Patil and find out about how SequelGUI is begin adopted. The results have been great!. SequelGUI (a circuit editor/simulator software based on GCF that we developed for IITB) is on its way to become a standard lab-tool in IITB, it has already become so in quite a few colleges.

I have quite a few photos from the event, which I will upload to picassa once I get back home.

The rumor was infact true! Qt 4.5 will also be available under LGPL.

It would be a good move if KDE decided to adopt the LGPL version of Qt 4.5 instead of the GPL one. That way people would be able to develop both closed and open-source software for Qt without having to buy Qt licenses. I think I will still renew my license, because QtSoftware support is just oh-so-kick ass!

Qt to become free?? The rumors are very strong!

I have been hearing about this for the past couple of weeks. It seems Qt will become free even for commercial developers. We actually held back our License Renewal POs after sensing that the rumors were very strong.

Apparently Qt Software will make an important announcement on the 15th of January. So, until then we dont know for sure if this is all true.

Personally though I think making Qt free (for commercial development) is a good thing. The Qt market will become even more big and more work for everyone involved. A lot of companies that were hither-to holding back from embracing Qt because of the price tag will now make the jump. More companies will want to use Qt, that means that there will be more work for everybody.

Keeping my fingers crossed until 15th Jan.

Profiling and Performance Tuning…

Problem: How to profile functions in my Qt app without using gprof or spending big bucks and buying profiling tools for VS2005?

Solution: Have the following contents in a header file, Profiler.h for example.

#include <QTime>

class FunctionProfiler
FunctionProfiler(const QString& func) {
m_function = QMetaObject::normalizedSignature( qPrintable(func) );
m_function = m_function.remove("__thiscall");
m_function = m_function.remove("__stdcall");
m_function = m_function.remove("__cdecl");

m_startTime = QTime::currentTime();

~FunctionProfiler() {
qint32 msecs = m_startTime.msecsTo( QTime::currentTime() );
qDebug("PROFILE: (%5d) %s", msecs, qPrintable(m_function));

QString m_function;
QTime m_startTime;

#define PROFILE_THIS_FUNCTION FunctionProfiler functionProfiler(Q_FUNC_INFO);

Insert PROFILE_THIS_FUNCTION line into the first line of each function you want to profile. Compile and execute the program
by redirecting (2>) debug output to a text file. Then look for those PROFILE lines to get a approximate feel of time spent
by your functions.

This trick got me through some tough challenges in my current project. It is a no-brainer, but quite useful.