VirtualTam's bookmarks

  1. With so many interacting components, the number of things that can go wrong in a distributed system is enormous. You’ll never be able to prevent all possible failure modes, but you can identify many of the weaknesses in your system before they’re triggered by these events. This report introduces you to Chaos Engineering, a method of experimenting on infrastructure that lets you expose weaknesses before they become a real problem.

  2. "Add Clippy or his friends to any website for instant nostalgia. Our research shows that people love two things: failed Microsoft technologies and obscure Javascript libraries. Naturally, we decided to combine the two."

    https://www.smore.com/clippy-js

  3. "This project was started in 2008. The goal was to learn something about programming, electronics and control loops. Because I always need a cool project to learn new things, it was clear that something that can fly had to be built."

    http://shrediquette.blogspot.fr/

  4. Python's built-in unittest module is quite cool, but a bit limited and way too verbose (read: it's quite not easy to incite developers to write unit tests)

    I'm currently looking for more dev-friendly solutions, the key points being:

    • writing test code should be easy and straight-forward -keep the focus on "what to test" instead of "how to transcribe a process to a test"
    • parallelization! -we, spoiled developers, should make good use of our way-too-many-cores build machines...
    • complete feature set!
      • we don't want to just run tests...
      • coverage reports (find dead/weak/untested code sections)
      • output formatting (JUnit-XML seems to be quite a common format out there)

    There seem to be 3 solutions in Python:

    • stock unittest + project-dependent customizations / test helpers
    • nosetests
    • py.test

    And 2 ways of gettings things done:

    • keeping things stock: no external dependency, project-specific implementation...
    • using a test framework: one more module in your (test) virtualenv, more concise tests, more features (// run, code coverage, etc.)

    Some links:

  5.  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
    
  6. Semi-official fork; seems to be the place where cool things happen ;-)