VirtualTam's bookmarks

  1. anarchestra 2015-09-14

    Anarchestra is an orchestra of over two hundred unique musical instruments built (with a few exceptions) by Alex Ferris (1954-) an American musician, composer, and theorist, to explore alternative timbres, tunings, and methods of playing.

  2. Twisted 2015-04-24

    Twisted implements a variety of networking and communication protocols and exposes them all as method-calls on your Python objects. Client and server implementations are provided for various standard protocols, including:

    • HTTP (twisted.web)
    • IMAP, POP, SMTP (twisted.mail)
    • DNS (twisted.names)
    • TLS (core)
    • SSH, Telnet (twisted.conch)
    • IRC, XMPP, OSCAR (twisted.words)
    • Ethernet, IP, TUN/TAP (twisted.pair)
    • NMEA (twisted.positioning)

    https://twistedmatrix.com/trac/wiki/Documentation

  3. Bigger than my head 2015-03-17

    A friend of mine was once interviewing an engineer for a programming job and asked him a typical interview question:

    • How do you know when a function or method is too big?
    • Well, said the candidate, I don't like any method to be bigger than my head.
    • You mean you can't keep all the details in your head?
    • No, I mean I put my head up against my monitor, and the code shouldn't be bigger than my head.

    ~ from http://www.gigamonkeys.com/book/practical-a-simple-database.html

  4. 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?