Retweet 0.2 : bump to Python 3

debian, planetpython, sysadmin

Follow me on Identi.ca  or Twitter  or Diaspora*diaspora-banner

Don’t know Retweet? My last post about it introduced this small Twitter bot whichs just retweets (for now) every tweets from a Twitter account to another one.

Retweet

Retweet was created in order to improve the Journal du hacker Twitter account. The Journal du hacker is a Hacker News-like French-speaking website.

logo-journal-du-hacker

Especially useful to broadcast news through a network of Twitter accounts, Retweet was improved to bump Python version to 3.4 and to improve pep8 compliance (work in progress).

The project is also well documented and should be quite simple to install, configure and use.

After my first blog post about Retweet, new users gave me feedback about it and I now have great ideas for future features for the next release.

Twitter_logo_blue

What about you? If you try it, please tell me what you think about it, opening a bug request or ask for new features. Or just write your comment here ;)

Retweet 0.2, le bot Twitter : passage à Python 3

april, debian-fr, planet-cullt, planet-libre, planet-sysadmin, python

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

Pour rappel, Retweet est un bot Twitter qui retweete tout ce qui provient d’un compte Twitter particulier vers un autre compte.

Retweet a été créé dans le cadre du développement de la présence du Journal du hacker sur le réseau social Twitter.

logo-journal-du-hacker

Particulièrement utile pour pour diffuser des informations via un réseau de comptes Twitter, je publie une nouvelle version de Retweet suite aux avis recueillis suite à mon journal sur LinuxFR (même si je n’ai pas encore pu tout faire, mais cela viendra).

Retweet est désormais codé en Python 3.4. La conformité à la pep8 a été également améliorée pour augmenter la lisibilité et la maintenance du code.

Twitter_logo_blue

Et vous ? En aurez-vous l’utilisation ? N’hésitez pas à réagir directement dans les commentaires de ce billet ou en ouvrant un rapport de bug/demande de fonctionnalités.

Retweet, a simple bot to retweet tweets from a user

debian, planetpython, sysadmin

Follow me on Identi.ca  or Twitter  or Diaspora*diaspora-banner

For a small project related to the french-speaking Hacker News-style website le Journal du hacker, I needed to retweet every tweets from a Twitter account to another one.

So here it is : Retweet

I wanted to keep it simple, stupid, and coded in Python if I needed to extend it myself for the projet Le Journal du hacker.

logo-journal-du-hacker

It was quite easy to reach these goals, but the project is also well documented and should be quite simple to install, configure and use.

What about you? Do you also have this kind of needs? Don’t hesitate to fork the project, report bugs, ask for feature requests and let us know in the comments of this post ;)

 

Retweet, le bot Twitter qui … retweete

april, debian-fr, planet-cullt, planet-libre, planet-sysadmin, python

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

Pour les besoins du Journal du hacker, le Hacker News francophone, j’ai eu besoin d’écrire rapidement un bot Twitter qui retweete tout ce qui provient d’un compte Twitter particulier vers un autre, dans mon cas particulier depuis le compte Twitter du Journal du hacker vers mon compte personnel.

logo-journal-du-hacker

Si le projet vous intéresse, n’hésitez pas à laisser une étoile Github ;)

Comme l’indique la documentation officielle, il est nécessaire de créer une appli Twitter, d’installer Retweet, puis de définir quelques paramètres dans un fichier de configuration et c’est parti !

Un exemple du contenu du fichier de configuration :

[main]
screen_name_of_the_user_to_retweet=journalduhacker
consumer_key=ml9jaiBnf3pmU9uIrKNIxAr3v
consumer_secret=8Cmljklzerkhfer4hlj3ljl2hfvc123rezrfsdctpokaelzerp
access_token=213416590-jgJnrJG5gz132nzerl5zerwi0ahmnwkfJFN9nr3j
access_token_secret=3janlPMqDKlunJ4Hnr90k2bnfk3jfnwkFjeriFZERj32Z
last_sent_tweet_id_file=/path/to/lastsenttweet

Lancer Retweet est on ne peut plus simple :

$ retweet /path/to/retweet.ini

Twitter_logo_blue

Et vous ? En aurez-vous l’utilisation ? N’hésitez pas à réagir directement dans les commentaires de ce billet ou en ouvrant un rapport de bug/demande de fonctionnalités.

Quelques liens pour finir :

Liens intéressants Journal Du Pirate semaine #24

april, debian-fr, planet-cullt, planet-libre, python

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

Pour cette 24ème semaine de 2015, 5 liens intéressants que vous avez peut-être ratés, relayés cette semaine par le Journal Du Pirate, votre source d’informations pour le Logiciel Libre francophone !

gnu-debian-banner

fbi

Pour ne plus rater aucun article de la communauté francophone, voici le flux RSS du Journal du Pirate.

Le Journal Du Pirate fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets.

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal Du Pirate ou bien dans les commentaires de ce billet :)

Verify the backups of backup-manager

debian, planetpython, sysadmin

Follow me on Identi.ca  or Twitter  or Diaspora*diaspora-banner

Backup-manager is a tool creating backups and storing them locally. It’s really usefult to keep a regular backup of a quickly-changing trees of files (like a development environment) or for traditional backups if you have a NFS mount on your server. Backup-managers is also able to send backup itself to another server by FTP.

In order to verify the backups created by backup-manager, we will use also Backup Checker (stars appreciated :) ), the automated tool to verify backups. For each newly-created backup we want to control that:

  • the directory wip/data exists
  • the file wip/dump/db.sql exists and has a size greater than 100MB
  • the files wip/config/accounts did not change and has a specific md5 hash sum.
Installing what we need

We install backup-manager and backup checker. If you use Debian Wheezy, just use the following command:

apt-key adv --keyserver pgp.mit.edu --recv-keys 2B24481A \
&& echo "deb http://debian.mytux.fr wheezy main" > /etc/apt/sources.list.d/mytux.list \
&& apt-get update \
&& apt-get install backupchecker backup-manager

Backup Checker is also available for Debian Squeeze, Debian Sid, FreeBSD. Check out the documentation to install it from PyPi or from sources.

Configuring Backup-Manager

Backup-manager will ask what directory you want to store backups, in our case we choose /home/joe/dev/wip

In the configuration file /etc/backup-manager.conf, you need to have the following lines:

export BM_BURNING_METHOD="none"
export BM_UPLOAD_METHOD="none"
export BM_POST_BACKUP_COMMAND="backupchecker -c /etc/backupchecker -l /var/log/backupchecker.log"
Configuring Backup Checker

In order to configure Backup Checker, use the following commands:

# mkdir /etc/backupchecker && touch /var/log/backupchecker.log

Then write the following in /etc/backupchecker/backupmanager.conf:

[main]
name=backupmanager
type=archive
path=/var/archives/laptop-home-joe-dev-wip.%Y%m%d.master.tar.gz
files_list=/etc/backupchecker/backupmanager.list

You can see we’re using placeholders for the path value, in order to match each time the latest archive. More information about Backup Checker placeholders in the official documentation.

Last step, the description of your controls on the backup:

[files]
wip/data| type|d
wip/config/accounts| md5|27c9d75ba5a755288dbbf32f35712338
wip/dump/dump.sql| >100mb
Launch Backup Manager

Just launch the following command:

# backup-manager

After Backup Manager is launched, Backup Checker is automatically launched and verify the new backup of the day where Backup Manager stores the backups.

Possible control failures

Lets say the dump does not have the expected size. It means someone may have messed up with the database! Backup Checker will warn you with the following message in /var/log/backupchecker.log:

$ cat /var/log/backupchecker.log
WARNING:root:1 file smaller than expected while checking /var/archives/laptop-home-joe-dev-wip-20150328.tar.gz: 
WARNING:root:wip/dump/dump.sql size is 18. Should have been bigger than 104857600.

Other possible failures : someone created an account without asking anyone. The hash sum of the file will change. Here is the alert generated by Backup Checker:

$ cat /var/log/backupchecker.log
WARNING:root:1 file with unexpected hash while checking /var/archives/laptop-home-joe-dev-wip-20150328.tar.gz:
WARNING:root:wip/config/accounts hash is 27c9d75ba5a755288dbbf32f35712338. Should have been 27c9d75ba3a755288dbbf32f35712338.

Another possible failure: someone accidentally (or not) removed the data directory! Backup Checker will detect the missing directory and warn you:

$ cat /var/log/backupchecker.log
WARNING:root:1 file missing in /var/archives/laptop-home-joe-dev-wip-20150328.tar.gz: 
WARNING:root:wip/data

Awesome isn’t it? The power of a backup tool combined with an automated backup checker. No more surprise when you need your backups. Moreover you spare the waste of time and efforts to control the backup by yourself.

weneedyou

What about you? Let us know what you think of it. We would be happy to get your feedbacks. The project cares about our users and the outdated feature was a awesome idea in a feature request by one of the Backup Checker user, thanks Laurent!

 

Virtual environments with Python 3.3

debian, planetpython, python, sysadmin

Follow me on Identi.ca  or Twitter 

One of the major features of Python 3.3 is the new venv module, allowing the creation of Python virtual environments on your system.

1. What is a virtual environment?

A virtual environment is a directory dedicated to the execution of your Python applications. Activating your virtual environment will force Python to execute in this directory as the top level of this directory was the root of your file system.

The virtual environments are interesting because of the independence they have toward the host they run on, especially when you want to install several versions of Python or if you want to install lots of dependencies without being the system administrator of the host.

python-logo-master-v3-TM

If you are a Python developer, you must know virtualenv. This really nice application offers a nice way to create Python virtual environment. Moreover it comes with pip already installed in your virtual environment, in order to install other dependencies you need in a really convenience way.

Starting from Python 3.3, the module venv of the Python standard library offers the users to create virtual environments. This new feature will encourage all users to create virtual environments to develop their own Python applications, which is a good practice. Thanks to the experiences of several applications being used in the Python community, the module venv was written to be really efficient and widely available.

The Python Enhancement Proposal 405 (PEP405) offers a really interesting reading if you wish to find more information about this topic.

2. Creating a virtual environment with Python 3.3

With Python 3.3 comes pyvenv-3.3, allowing to create Python virtual environment:

$ pyvenv-3.3 myvirtualenv
$ cd myvirtualenv/
$ tree .
.
├── bin
│   ├── activate
│   ├── pydoc
│   ├── python -> python3.3
│   ├── python3 -> python3.3
│   └── python3.3 -> /usr/bin/python3.3
├── include
├── lib
│   └── python3.3
│       └── site-packages
└── pyvenv.cfg

As we can see, three directories were created.

  • bin/ offers the activate script and different links to the executable python3.3
  • lib/ offers a tree of directories where the libraries and packages you install in your virtual environment will be stored
  • include/ is by default empty
  • pyvenv.cfg offers different configuration options
$ cat pyvenv.cfg 
home = /usr/bin
include-system-site-packages = false
version = 3.3.2

Just before moving on, if you want to use the existing modules in your global site-packages directory on your system, the option –system-site-packages is available.

3. Activate the virtual environment

Lets activate our virtual environment. We need to use the bin/activate file in this environment:

$ source bin/activate 
(myvirtualenv) $

A change in our prompt indicated the good activation of the virtual environment.

4. Installing applications in the virtual environment

But playing around with only the default Python interpreter is not really funny. Lets download pip, the Python installer, but before that we need a dependency setuptools:

(myvirtualenv) $ curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -o ez_setup.py
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 11356 100 11356 0 0 18507 0 --:--:-- --:--:-- --:--:-- 18495
(myvirtualenv) $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py -o get-pip.py
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 543k 100 543k 0 0 685k 0 --:--:-- --:--:-- --:--:-- 685k

Now lets install Setuptools and Pip:

(myvirtualenv) $ python3.3 ez_setup.py
 Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
 Extracting in /tmp/tmpxlrv7q
 Now working in /tmp/tmpxlrv7q/setuptools-2.0
 Installing Setuptools
... (lots of lines)...
Installed /tmp/myvirtualenv/lib/python3.3/site-packages/setuptools-2.0-py3.3.egg
 Processing dependencies for setuptools==2.0
 Finished processing dependencies for setuptools==2.0
(myvirtualenv) $ python3.3 get-pip.py
 Downloading/unpacking pip
 Downloading pip-1.4.1.tar.gz (445kB): 445kB downloaded
 Running setup.py egg_info for package pip
 ... (lots of lines)...
 Successfully installed pip
 Cleaning up...

Ok now we’re ready to use pip to install anything we need in our virtual environment. Lets think one more second about what we did: we install the Setuptools and the Pip application inside our virtual environment, with nothing written on our main system. Now lets try to install Brebis, the fully automated backup checker, and run it in this environment:

(myvirtualenv) $ pip-3.3 install brebis
 Downloading/unpacking brebis
 Downloading brebis-0.8.tar.gz
 Running setup.py egg_info for package brebis
Installing collected packages: brebis
 Running setup.py install for brebis
 changing mode of build/scripts-3.3/brebis from 644 to 755
changing mode of /tmp/myvirtualenv/bin/brebis to 755
 Successfully installed brebis
 Cleaning up...

We’re now ready to launch Brebis, executing in our virtual environment:

(myvirtualenv) $ brebis -h
usage: brebis [-h] [-c DIR] [-C DIR] [-d DELIMITER] [-g] [-G] [-l FILE]
 [-L DIR] [-O DIR] [-v] 
Fully automated backup checker
positional arguments:
 archives archives to check
optional arguments:
 -h, --help show this help message and exit
 -c DIR, --configpath DIR
 the path to the configurations
 -C DIR, --output-conf-dir DIR
 the directory to store the configuration file
 -d DELIMITER, --delimiter DELIMITER
 delimiter of the fields for the list of files
 -g, --gen-list generate a list of files inside a backup
 -G, --gen-full generate the configuration file and the list of files
 for the backup
 -l FILE, --log FILE the log file
 -L DIR, --output-list-dir DIR
 the directory to store the list of files inside an
 archive or tree
 -O DIR, --output-list-and-conf-dir DIR
 the directory to store the configuration file and the
 list of files inside an archive or tree
 -v, --version print the version of this program and exit
For more information: http://www.brebisproject.org

So we get an execution of the Brebis application inside our virtual environment, installed from our virtual environment with tools installed only in the virtual environment.

That’s a big step that such a feature is now included in the standard library. In the future, you will enjoy the possibility to create new virtual environments for each Python version right out of the box. Moreover, using the –upgrade option of the pyvenv command, you will upgrade, if needed, your virtual environment in a really easy and straightforward way, making environments adaptable in time.

What about you? What do you think about the Python 3 virtual environments and their features, given your own needs? Feel free to use the comments section of this post.

Cadeau de Noël : Publication de Brebis 0.9, le vérificateur automatisé de sauvegarde

april, brebis, debian-fr, planet-cullt, planet-libre, python

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Peu de temps avant ce Noël, l’équipe du projet Brebis a publié la version « Bouddhinette » 0.9 du vérificateur automatisé de sauvegardes. Pour rappel, Brebis est un programme en ligne de commande codé en Python permettant le contrôle automatisé de l’intégrité d’archives (tar, gz, bzip2, lzma, zip) et de la cohérence des fichiers à l’intérieur des archives. Au menu de cette version :

  • Support des archives apk
  • Nouvelles options de la ligne de commandes pour écrire le fichier de configuration (-C), la liste des fichiers dans l’archive (-L) ou les deux (-O) dans un répertoire défini par l’utilisateur (où précédemment ces fichiers étaient écrits par défaut dans le même répertoire que l’archive elle-même).
brebis-brown-big-logo

Anisette, la fière nouvelle mascotte et nouveau logo du projet Brebis généreusement contribué par Antoine Millet

Comme annoncé aux JM2L, Brebis continue d’intégrer des nouveaux types d’archives , mais aussi rend sa manipulation plus flexible afin d’être intégré plus simplement pour répondre aux besoins de ses utilisateurs en s’adaptant plus simplement aux différentes situations existantes..

Feedback sur Brebis

Et vous ? Que pensez-vous de Brebis ? N’hésitez pas à vous abonner à la liste de diffusion de Brebis,  à laisser un commentaire ici ou  un message sur le forum ou à me contacter directement, tous les retours seront appréciés.

Publication de Brebis 0.8, le vérificateur automatisé de sauvegarde

april, brebis, debian-fr, planet-cullt, planet-libre, python

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Brebis, le vérificateur automatisé de sauvegarde, est désormais disponible en version 0.8. Les principaux apports de cette version sont un renforcement de la sécurité du processus de vérification avec :

  • un nouveau paramètre « sha512 » dans le fichier de configuration de Brebis, indiquant la somme de hachage du fichier qui contient la liste des fichiers de l’archive à vérifier. Cela permet de détecter tout changement survenu sur cette liste.
  • le fichier principal de configuration de Brebis peut désormais être signé à l’aide de GPG, afin de garantir qu’un éventuelle modification dudit fichier puisse être détectée.

=> BREAKING NEWS: Brebis est aujourd’hui sur Hackernews, n’hésitez pas à voter pour !

Petits points sur les fonctionnalités de Brebis

Brebis propose aujourd’hui un nombre important de fonctionnalités. En voici un petit résumé.

Les formats supportés de sauvegarde :

  • archive Tar .
  • archive Tar avec compression Gzip .
  • archive Tar avec compression Bzip2 .
  • archive Tar avec compression Lzma.
  • archive Gzip .
  • archive Bzip2 .
  • archive Zip .
  • archive Lzma.
  • arborescence de fichiers.

Contrôle sur l’archive elle-même :

  • détection des archives corrompues.
  • détection des tailles inattendues (égale à, plus petite que, plus grande qu’une taille enregistrée au préalable).
  • contrôle la somme de hachage de l’archive (md5, sha1, sha224, sha256, sha384, sha512).
  • vérifie l’uid/gid de l’archive
  • vérifie le mode de l’archive (états des droits de lecture, écriture et exécution)
  • signature GPG du fichier de configuration principal

Contrôle sur les fichiers à l’intérieur de l’archive :

  • identifie d’éventuels fichiers manquants
  • détection des tailles inattendues des fichiers dans l’archive (égale à, plus petite que, plus grande que)
  • détecte le type des fichiers dans l’archive (fichier, répertoire, lien)
  • vérifie le mode des fichiers dans l’archive (états des droits de lecture, écriture et exécution)
  • contrôle la somme de hachage des fichiers dans l’archive (support du md5, sha1, sha224, sha256, sha384, sha512)
  • identifie un fichier qui n’est pas censé se trouver dans l’archive
  • contrôle la cible des liens dans l’archive

Feedback sur Brebis

Et vous ? Que pensez-vous de Brebis ? N’hésitez pas à vous abonner à la liste de diffusion de Brebis,  à laisser un commentaire ici ou  un message sur le forum ou à me contacter directement, tous les retours seront appréciés.

Vrac de mini-messages n°14 : Debian, Python, django, veille techno, startup et communauté FOSS

april, brebis, debian-fr, planet-cullt, planet-libre, python, vrac-mini-messages

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels  commentaires et observations mûris au cours de la semaine passée. Attention cette semaine, beaucoup de contenu suite à une actualité plutôt chargée :)

Au menu : Debian, Python , Django, de la veille technologique, le monde des startups et les communautés du libre.

C’est parti !

Debian

  • Happy 20th birthday Debian!: Today is Debian’s 20 anniversary. => un grand moment. Whao, 20 ans déjà pour une distribution (à la base, mais ça a évolué en quelque chose de plus large) GNU/Linux. Un signe impressionnant de perennité qui devrait faire réfléchir bon nombre de décideurs souvent plus tentés à tort par le bling-bling que par des solutions pérennes et éprouvées.

debian-botton

django-logo

  • #iceweasel 17.0.8esr is now available in #Debian #Jessie (Testing) => on en parlait la semaine dernière, iceweasel version ESR (pour Extended Support Release) entre maintenant dans Debian Jessie, une très bonne version pour la bureautique (personnellement c’est ce que j’utilise).
  • python-virtualenv 1.10.1 now in #Debian #Sid (unstable) #virtualenv => nouvelle version de virtualenv, le créateur d’environnement virtuel permettant de cloisonner vos installations d’applications Python, arrive dans sa dernière version upstream dans Debian. Qui a dit que Debian n’était pas à jour ? :)

Python

  • installed yesterday #Python 3.4 alpha 1 trying to solve a bug. Didn’t work but the installation went smoothly => suite à ce que je croyais être un bug de l’interpréteur Python, j’ai tenté de le reproduire un peu avec toutes les versions (au final ça n’avait rien à voir mais…) et j’ai testé donc un peu Python 3.4 alpha 1 qui s’est installé sans problème et a fait tourner Brebis parfaitement. Dans quelques temps je vous tiendrai informé des nouveautés importantes de cette version.

python-logo-master-v3-TM

  • I guess everyone was confronted to a poor choice of data structure one day. Choose the right data struture => personnellement j’ai parfois galéré pour choisir la bonne structure de données pour celles qui étaient au coeur de mes applications et qui allaient s’avérer difficiles à changer plus tard. Un peu de réflexion et d’algorithmique que je n’ai pas regretté plus tard.
  • cool things of #Python (nice examples and links) => Reddit n’est pas toujours drôle à lire et il y a souvent beaucoup de déchêts, mais j’ai trouvé intéressants certains points présentés dans l’article. On peut s’en passer mais ceux qui sont curieux des idiomes et astuces de Python seront intéressés.

ruby-logo

Veille technologique

  • setting up #Puppet class saz-#sudo on our new Puppet server. Seems pretty nice, clear and modular http://forge.puppetlabs.com/saz/sudo  => une classe que je mets en place qui me semble très flexible donc sympathique à exploiter si on la compare au monolithique fichier plat sudoers.

postgresql

  • just discovered statuspage.io, interesting idea IMO => pour les sites hautement disponibles ou les entreprises ne pouvant se permettre de laisser leurs utilisateurs dans le flou, j’aime bien ce concept de proposer une page de statut qui reste disponible quoiqu’il arrive.
  • IMO the most interesting feature of #spacewalk 2.0 is to get rid of ugly Oracle DB Express ed (via @linuxfrorg) => au niveau professionnel je travaille avec Spacewalk et je n’ai jamais supporté l’emploi de Oracle DB Express, cela m’a toujours fait l’impression d’une verrue indésirable. Voici donc la possibilité de l’enlever dans la 2.0 de Spacewalk.
  • A complete scan of the IPv4 address space in under 45 minutes ? https://zmap.io => je n’ai pas encore pu approfondir mais ça me paraît très très alléchant. Reste à voir le niveau d’agressivité au niveau des ressources consommées.

Startup

  • 57 startup lessons => une suite de conseils et d’astuces avec beaucoup de bons sens. Bien sûr certaines apparaissent un peu inutiles mais ça a le mérite de faire atterrir certaines personnes qui planent un peu trop haut, victimes du discours ambiant sur les startups type « monte ta startup et deviens riche en 90 jours ».
  • How to raise money as a first time founder => l’importance du bon produit est souligné du début à la fin. Cela apparaît comme une évidence mais quand on voit la volée actuelle de rachats, on peut s’intérroger sur les choix de certains investisseurs.
  • #startup #business Paul Graham feedback: How to convince investors => c’est plus de la curiosité pour moi, chef d’entreprise, qu’un réel besoin mais il est toujours bon de lire un retour bien fait et intéressant sur comment convaincre un éventuel investisseur.
  • #startup nice feedback: 90 thing I’ve learned from founding 4 #technology companies => une autre série de conseils par un serial entrepreneur. À lire en pesant bien le pour et le contre, certaines remarques étant carrément à jeter.
  • interesting blog about #startup by a startup founder http://wadefoster.net/ => j’ai parcouru et me suis gardé pour plus tard plusieurs articles de ce créateur d’entreprise qui me semble très intéressants.

Communauté

  • DjangoCon: verifiably awesome – That Time I Wasn’t Harassed At A Conference => Témoignage sans enrobage d’une femme ayant participée à plusieurs rassemblements des FOSS et faisant un retour sur le bon accueil de la communauté  Python (et sur le mauvais accueil des autres, soyons clair).

djangocon-logo

  • what every community can learn from #Python « is the most welcoming one in tech » for women => autre témoignage on ne peut plus clair sur le même sujet. La direction prise par le projet Python semble très efficace.

Autopromo

  • New blog post: Interview et activités professionnelles => suite à mon interview par la société de placement HopWork, je me suis fendu d’un billet autopromotionnel. Je vous rassure, ça n’arrive pas souvent mais c’est quand même ce qui paie les factures ;)

mytux-320-149

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir comme d’habitude dans les commentaires.