VirtualTam's bookmarks

  1. (1) If it should exist, it doesn't. (2) If it does exist, it's out of date. (3) Only documentation for useless programs transcends the first two laws.

  2. 2015-07-13

    A list of software which can be hosted locally.

    See https://prism-break.org/ for a more complete list

  3. 2015-04-11

    IPOP (IP-over-P2P) is an open-source user-centric software virtual network allowing end users to define and create their own virtual private networks (VPNs).

  4. Programming... Do you speak it?

  5. 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?
  6.  1# setup a transifex virtualenv
     2virtualenv2 VENV; source VENV/bin/activate; pip install transifex-client
     3
     4# global config: ~/.transifexrc
     5# this step can be omitted, as 'tx init' will create the file if it doesn't exist
     6[https://www.transifex.com]
     7username = User
     8token =
     9password = un54f3_p4ssw0rd!
    10hostname = https://www.transifex.com
    11
    12# setup example project
    13mkdir example; cd example
    14tx init
    15tx set --auto-remote https://www.transifex.com/projects/p/my-project/
    16
    17# get the files
    18tx pull -l pt_BR
    19
    20# edit things
    21poedit / linguist-qt4
    22
    23# push to transifex
    24tx push -t