On the hidden dangers of highly integrated application frameworks

qupzilla-failure

I have been evaluating WebKit and Blink-based open-source browsers for Linux—mostly because Firefox is often noticeably laggy on an old laptop I like to use. (I still <3 you though, Moz!!) Chromium is an obvious option, but I would like to investigate solutions that don’t rely on Google. This has led me to Midori and QupZilla. Both position themselves as lightweight alternatives to the big kids. Both have their pros and cons.

A con with QupZilla that I want to take on in this post is the result of its use of Qt. I love Qt. It’s the right tool for a lot of jobs. But it harbors a hidden gotcha when it comes to rendering web pages: you are at the mercy of the Qt maintainers’ web rendering engine update policies. The latest version of QupZilla that you can build with the production version of Qt (5.5) uses QtWebEngine, which is based on the Blink-based Chromium. (So much for not relying on Google!)

The current Qt release bases QtWebEngine on Chromium 40—which is almost a year old; the next Qt release (5.6) will base QtWebEngine on Chromium 45—already three months old. The version of QupZilla provided by Debian sid (unstable, rolling release) uses the deprecated QtWebKit, which in Qt (5.5) is based on Webit 538.1.0. This version of WebKit is already a couple years old.

A similar situation exists with Midori. It uses GTK’s WebKitGTK+, which in Debian sid is as of this writing at 2.4.9-2 and also is about about two years old. Probing the user agent indicates it uses WebKit 538.1.5. But as there is in Qt, there is an additional wrinkle in the GTK+ world. There are currently two versions of WebKit for GTK: WebKitGTK+ and WebKit2GTK+ . Depending on which one your GTK+ application uses, you may get an old or a new version of WebKit. The version of WebKit2GTK+ that ships with Debian sid appears to provide WebKit 602.1 at the moment, which is the current point-release WebKit, and new releases of WebKitGTK+ flow regularly.  (Why Midori doesn’t use WebKit2GTK+ is a question for the developers and one that I hope to pursue. FYI, GNOME’s Web, née Epiphany, uses WebKit2GTK+.)

Whatever the specifics may be in this case, the takeaway is this:

When using integrated application frameworks, you need to be aware of versioning limitations with third-party tools that they bundle.

The new number one

101

The folks at Arduino.cc are set to release what appears to be the Arduino Uno usurper. The Arduino/Genuino 101, in addition to being heaps faster, also has built-in Bluetooth LE and a 6-axis accelerometer. Co-developed with Intel, the board uses their Intel® Curie™ Compute Module. While not yet released, scuttlebutt says it’ll cost about the same as the Uno.

Jean Renoir’s “Elena and Her Men”

I watched Jean Renoir’s “Elena and Her Men” (1956) last night. The relationship it has with his own “Rules of the Game,” completed some 17 years earlier, is striking. There’s no question that Elena doesn’t measure up to Rules visually: some lovely color homages to father Auguste notwithstanding, Elena has a bit of a feeling of filmed theater in contrast with the vivacious camera-as-mise-en-scène that is Rules. But the themes, some of the characters, and several motifs and devices are eerily similar. At the center of both films is a troubled high-society foreigner who is loved by too many. Competition for affection, complications of honor, and the complexities of class politics drive each narrative to tragic or potentially tragic outcomes.

Elena is more obviously a farce and treats its subject far more lightly. But both films embed the same warning: that a hierarchical society if allowed to develop without constraint will corrupt and eventually destroy the foundation of humanity. A message as relevant in 1956 as it is now.

AVA adopts my audio module in new DAC and preamp designs

ava-silver

Audio by Van Alstine has adopted my discrete Class A audio module into two of their products. The Vision DAC uses the module in its differential anti-imaging filter and output stage and the Vision SL Preamp uses it for line stage amplification. The pair will be premiered at the Axpona Audio Expo in Chicago this weekend. Looking forward to feedback from the show.

Motorized potentiometer for FLOSS remote control

Top view of Volume-AlpsRK16814MG PCB

Bottom view of Volume-AlpsRK16814MG PCB

I’ve just published Volume-AlpsRK16814MG, an open source hardware design that integrates a high-quality Alps motorized quad potentiometer  with an H bridge. The design lets you control the motor’s direction using two logic-level signals: VOL_UP and VOL_DOWN. The fact that it’s a quad pot means you can use it to control regular stereo volume by ignoring one of the dual gangs or a differential stereo signal.

Here’s the schematic* to give you an idea what it’s doing. Gerbers and PCBs are available at OSH Park.

*Subject to change!