Currently, the Diascope application (formerly »JExifManager«) is undergoing a complete rework.
An early access version is available on GitHub: github.com/berndmichaely/diascope
Currently, the Diascope application (formerly »JExifManager«) is undergoing a complete rework.
An early access version is available on GitHub: github.com/berndmichaely/diascope
lib-filesystem-view is a Java library to provide a tree view of a filesystem in the user interface of a desktop application.
The library is available at github.com/berndmichaely/lib-filesystem-view.
For more information see the GitHub Wiki and the JavaDoc documentation.
JX3fExtract is a set of Java modules which provides the following features:
For more details see the overview page of the JavaDoc documentation and the ReadMe file.
Downloads:
(build r534)
To use Gradle, set $JAVA_HOME
to an OpenJDK 11 (LTS) installation and change to the ./src
subdirectory. Some usage examples:
To build the project, use:
> ./gradlew clean build test
To run the command line utility, use:
> ./gradlew run
To provide arguments to the command line utility through Gradle, use e.g.:
> ./gradlew run --args="-v -m $HOME/path/to/file.x3f"
To show some information about this project version:
> ./gradlew printProjectName printProjectVersion printApplicationMainModule printApplicationMainClass
To show all available tasks, use:
> ./gradlew tasks
(build r481)
This is a minor maintenance release.
The command line interface behaviour for input files with absolute paths has changed:
(build r449)
(See JavaDoc overview page for further details.)
The minimum Java source code level to compile this library is 9. The precompiled *.jar
distribution is compiled with OpenJDK 11.0.1 .
(build r219)
Initial version of this library (see JavaDoc overview page for details). The minimum Java source code level to compile this library is 7.
lib-selectable-list-fx is a Java module which provides an OpenJavaFX based list data structure which encapsulates list items with a selection state. The list type is based on javafx.collections.ObservableList
and provides a selection change listening mechanism. The ListSelectionHandler type provides properties indicating the number of selected list items and all/nothing selected info. This works also through an optional transformation chain.
For more details see the overview page of the JavaDoc documentation.
Downloads:
lib-selectable-list-fx_2.0.tgz [SHA256 checksum]
Archive:
This module provides a list data structure which encapsulates list items with a selection state.
The list type is based on javafx.collections.ObservableList
and provides a selection change listening mechanism.
The ListSelectionHandler
type provides properties indicating the number of selected list items and all/nothing selected info.
This works also through an optional transformation chain.
TransformationListUtil
The script SynchronizeDirWithVcsWorkingCopy
is a Java shebang script to synchronize a directory, which is under version control, with a new target state. Supported VCS are Subversion and Git.
The script is available at github.com/berndmichaely/vcs-sync-tool.
Vim can be used to diff Subversion revisions. There are simple solutions to wrap this functionality in an external script, but this involves a temporary file of a checked out version which has to be cleaned up.
It is however possible to implement this directly using a vim script. Add the following to your
function! DiffSvnBASE(svnrevision = 'BASE') let svnrev = expand('%') . '@' . a:svnrevision let syntax_src = &syntax " make this window part of diff, if it isn't already: if ! &diff exec 'diffthis' endif " create a new buffer for svn diff: exec 'vnew' exec 'diffthis' " make it a scratch buffer: exec 'setlocal' 'buftype=nowrite' exec 'setlocal' 'bufhidden=hide' exec 'setlocal' 'noswapfile' exec 'setlocal' 'syntax=' . syntax_src " append svn BASE version: exec 'read!' 'svn' 'cat' svnrev " delete empty line: exec '0delete' endfunction function! DiffSvnRevision() let svnrevision = input ('Diff with SVN revision : ') exec DiffSvnBASE(svnrevision) endfunction map <F5> <esc>:exec DiffSvnBASE()<cr> map <S-F5> <esc>:exec DiffSvnRevision()<cr>
Developed as part of JChiffresFX 2.0, ConcatCollection is a lightweight Java Collection which provides an efficient concatenation for two instances of this type. At the time of this writing Collections provide concatenation only through Collection.addAll(collection)
in O(n)
time. The Collection is useful e.g. for accumulating partial results in the combine phase of RecursiveTasks, when subtasks return a collection of elements which are to be combined into one flat collection.
The characteristics of this implementation include the following:
O(1)
time concatenation.null
values.iterator()
returns the elements in the order they were added).Cloneable
and Serializable
.Iterator.remove()
operation in O(1)
time.Spliterator
is optimized for lower temporary memory usage compared to the default Spliterator. It is ORDERED | SIZED | SUBSIZED
.You can view the javadoc online and download the Java source code and JUnit tests: