PropertyBinder class in Qt

In QML we have this super-cool feature that allows us to bind the property value of one object as a function of the property value of another object. For instance

Item {
   width: anotherItem.width * 2
}

In the example above, the width of one item is twice the width of another item. If for any reason anotherItem.width changes, width is recomputed. This is a super-cool feature.

If we want a similar feature in C++ (with Qt ofcourse), we dont have a ready made class for that. Continue reading “PropertyBinder class in Qt”

Acoustic Panels, Flooring, Full HD Projector, 320cm Screen, Kodi Home Theatre …

In Aug this year, I dropped by at the Bangalore 2016 WhatHiFi event. Every piece of equipment that go into making a good home theater was featured in the event. On display were projectors, screens, speaker systems, amplifiers, seating furniture… Everything you would need to build a great home theater. Both desi and international brands were on display, totaling to ~120 brands!! Continue reading “Acoustic Panels, Flooring, Full HD Projector, 320cm Screen, Kodi Home Theatre …”

Making technology training experiential

Since 2003, I have been conducting corporate training programs on various subjects like Qt, OpenGL, VTK, GCF. At one point I was even teaching Linux Kernel and Device Driver Programming, thanks to my employment at Linux Learning Centre.

Over the past 13 years, I have been able to observe certain meta-data about the training that I personally offer and also the training that I have attended as a participant.

pnu-trainings-landscape
Topics on which I offer training

Continue reading “Making technology training experiential”

Simple JSON Parser / Serializer in Qt

Today XML and JSON are hot formats for data exchange. While Qt natively supports XML, it doesnt support JSON (well directly). Most developers use external libraries like qjson to serialize QVariantMap objects to a json-string and parse json-string into QVariantMap. One of the key disadvantages of using qjson (or maybe even other libraries) is the license. qjson for example is a LGPL library, which means using it in mobile phone apps might not be a good idea, where the general interest is to not have external dependencies. So the question is – “is it possible to have a JSON serializer/parser using Qt only – without too much of an effort. The answer is YES! Continue reading “Simple JSON Parser / Serializer in Qt”

Machinery of the “Brain”

I have been reading this book called Tell-a-tale Brain from V. S. Ramachandran. I must say that his books are just as pleasing to read as it is to listening to his talks. The book brings together the author’s findings from several years of research about the human brain. With interesting tales, research findings and personal opinions – VSR takes the reader on a nice tour of the human brain. I bought the book after listening to his talks on TED. I read the book from cover to cover as quickly as possible when I read it for the first time. The idea was to get a really quick gist of it. I am reading over it in more detail for the second time around now and I am sure I will read it again and again in the years to come. With every read, the mystery of the brain deepens and it is quite thrilling to know about one’s own brain. Continue reading “Machinery of the “Brain””