VirtualTam's bookmarks

  1. To import a certificate to a Java keystore:

    $ keytool -import -alias <alias> -file <file>.crt -keystore <keystore>

    Example (Linux w/ OpenJDK 7):

    $ /usr/lib/jvm/java-7-openjdk-amd64/bin/keytool -import -alias <alias> -file <file>.crt -keystore /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/cacerts

  2. To increase the memory allocated and available:

    1# /etc/default/jenkins
    2JAVA_ARGS='Xms4G -Xmx16G -Djava.awt.headless=true'
    

    See also

  3. Uses a project or repository's history to plot user contributions, displaying an elegant, colored graph of the file arborescence.

    After running it on quite different projects...

    • Python/Bash CI/Jenkins scripts
    • Qt apps: GoldenDict, Psi+
    • PHP website: Shaarli

    ...watching some vids on teh intartubez:

    It allows to arbitrary spot some interesting implementation aspects (sorted by descending impact):

    • language-dependent trees (oh hai Java packages ^^)
    • framework-dependent trees
    • project-management method (none, Agile, TDD)

    Having a graphical tool also quickly shows:

    • the overall structure of the project (a bit cooler than a simple $ tree, way quicker than loading the project on an IDE)
    • the repartition of files (by extensions)
    • who are the most active contributors
    • what are the most modified files over time
    • who does what: additions, deletions, refactoring

    Some more CI-related matters:

    • are there any tests?
    • what is the source code / test code ratio? (we could expect a project/lib with N modules to have at least N test modules)
    • who initiates / implements / optimizes test code?
  4. http://lib.tkk.fi/Dipl/2012/urn100637.pdf

    Evaluating and enhancing FindBugs to detect bugs from mature software: Case study in Valuatum