The development of the IzPack Java installer has not been very active recently. Most of us are quity busy with “real-life” work and duties. On my side it’s quite heavily loaded: lots of research to do for my PhD thesis, teaching starting tomorrow, and so on
Anyway the next release of IzPack won’t lack changes! Here is what we have in the current revision of the SVN trunk:
Added ignore as possible value for failure argument in executables (Dennis Reil)
Added Conditional expressions (Dennis Reil)
Fixed selection of default language in LanguageSelectionDialog (Dennis Reil)
Fixed RegularExpressionValidator (Dennis Reil)
Added corrupt volume detection (Dennis Reil)
Added file and dir fields in UserInputPanel (Dennis Reil)
Modifications to keep original file dates and times in _dist directory and in the installer jar (Ari Voutilainen via Julien Ponge)
UserInputPanel: force users to select an existing directory or file (Michael Hagedorn via Julien Ponge)
Default path for JDKPathPanel will be got from Windows registry if possible (Klaus Bartz)
New Farsi langpack (Parastou Kohvaei via Klaus Bartz)
Dynamic control re-rendering (show/hide) on radio and checkbox selection events (Vladimir Ralev)
Locale support of Shortcut specification file (Klaus Bartz using a hint of Loic)
Enabled distributed pack-definitions (Hans Aikema based on patch by Syed Khadeer)
Update of the Liquid and JGoodies look and feel libraries (Julien Ponge).
Support for the toned-down Substance look and feel themes (Julien Ponge).
Added main frame GUI properties ‘headingForegroundColor’ and ‘headingImageBorderSize’ (Daniel Azarov, Exadel Inc via Vladimir Ralev)
Unix shortcuts fixes (Vladimir Ralev)
TreePacksPanel, a hierarchical packs selection panel (Vladimir Ralev)
HTMLInfoPanel to launch links in external browser on any Windows and Linux (Vladimir Ralev)
PacksModel fix (Markus Schlegel via Julien Ponge).
Workaround for layout problems in UserInputPanel when clicking previous button (Dennis Reil)
Nimbus look and feel support (Julien Ponge)
Try to load a 64-bit dll if the 32-bit load fails and 64-bit ShellLink (Vladimir Ralev)
File / fileset Os constraints: addition of a JRE version test (e.g., <os jre=”1.5″ />) (Gilles Wiart via Julien Ponge)
Hungarian langpack update (Kerekes Balazs via Julien Ponge)
InstallGroupPanel: sortable InstallGroups (Markus Schlegel via Julien Ponge)
…and on my side I am still in the process of moving the documentation to reStructured text (Python docutils).
I am in charge (with 2 fellow snipers) of a lecture about Advanced Programming. This includes the C++ standard library and we will probably include some stuff regarding dynamic languages (how they work, functional-style features like closures or continuations, and so on). This morning, I had a look at C++ templates metaprogramming.
In fact, not that many people know about C++ templates metaprogramming. It has many funny use-cases, including loops unrolling and performing computations at compile-time rather than at runtime. It is also at the heart of many parts of the STL and libraries such as the Boost ones.
I would not use it for everything as it is quite a tricky way of writing programs. In fact, it either compiles fine, or you most probably get errors and warnings that you just can’t understand at all
It computes the Fibonacci number. In fact when you run it, you will get the Fibonacci numbers from 0 to 60 instantly! It leverages the two techniques mentionned above: loops unrolling and compile-time computations.
By constrast, the following is a more traditional way of computing the Fibonacci numbers… and the execution time is not even comparable (it has not finished after 3 minutes on my G4 processor).