Dabbling with the dark arts again

Well, the subject of dark themes seems to have come up again in the NetBeans world recently, with Geertjan blogging about Stan Aubrecht’s dark theme for Nimbus.  This looks great, though as you might have gathered from the look and feel of Praxis LIVE, I quite like dark look and feels! :-)

Unfortunately, the problem with Nimbus is it’s still not officially supported in NetBeans due to some EDT issues (though seems much more stable than the last time I tried it).  Also, to quote from Geertjan’s blog, “In Stan’s words, this is a “poor man’s” solution. There are some area that would need more tweaking, e.g., the top bar in the Options window. But it would mean changing code in NetBeans. This new module just adjust a few UIManager constants.”  Well, as I blogged about in the Dark arts of NetBeans hackery, it is possible with some devious hackery to alter things like the top bar of the Options window, and this is done in Praxis LIVE, so I thought I’d have a go at providing a plugin for this look and feel that could be used within the NetBeans IDE (or other platform application).

NetBeans IDE running with Praxis LIVE look & feel

NetBeans IDE running with Praxis LIVE look & feel

Continue reading

New year, new Praxis LIVE

A (slightly belated) Happy New Year to you all, and news of a new Praxis LIVE release.  Just squeaking in during the final fanfare of 2012 was Praxis LIVE build:121231, bringing some major work on the video pipeline, some nice UI improvements, dynamic component support, and the start of a TinkerForge binding (see video below).

Downloads – http://code.google.com/p/praxis/downloads/list
Release notes – http://code.google.com/p/praxis/wiki/ReleaseNotes

Continue reading

The Influence of the Actor Model (Praxis architecture 101)

No, not a post about my salacious exploits with a C-list Hollywood celebrity (that’s for a different blog :-) ), but a technical overview of a key aspect of the Praxis architecture. Absolutely essential to Praxis’ media neutral architecture, as well as the ability to edit everything live, is an asynchronous, shared-nothing, message-passing system. This is loosely inspired by the Actor Model and other solutions for concurrent / distributed programming (without following any particular concept to the letter). Continue reading

NPE Hunting (Win7, Java7, custom LAF)

I recently had to track down the cause of a NullPointerException when opening a JFileChooser dialog in Praxis on Windows with Java 7.  Turns out there’s a nasty little bug that affects NetBeans platform apps and the NetBeans IDE when using a custom look-and-feel or switching look-and-feel at runtime (it affects the ez-on-da-ice plugin too). Continue reading