Quantcast
Channel: AFPy's Planet
Viewing all 3409 articles
Browse latest View live

[Biologeek] Économie de partage vs. économie de location

$
0
0

the “sharing economy” was outed as the “rental economy.” nobody is sharing anything. people are making money, plain and simple. technology has made renting things (even in real time) as simple as it made buying things a decade ago.

Source

Cet article et sa suite sont culturellement intéressants. Capitalisme, Web et Oncle Sam.


[raspberry-python] L'étonnant Python: à grande échelle

$
0
0

Perception

De temps a autres, j'entends dire des choses complètement ridicules:

"Ah oui vous utilisez Python. Je connais, c'est un langage de programmation pour écrire des petits scripts, ce n'est pas utilisable à grande échelle.

(En fait il y avait 2 autres points encore plus ridicule dans cette conversation, j'y reviendrai plus tard)

Réalité

Une connaissance travaille chez Bank Of America sur le programme Quartz. Ils sont passes de 0 a 5000 développeurs Python et des millions (plus de 10) de lignes de code en quelques années seulement. On parle de la même échelle pour YouTube. Les projets de 10 millions+ de lignes de code Python sont rares bien sur, mais ce n'est pas du a une raison technique, mais plutôt parce que l'on accomplis beaucoup en peu de lignes de code.

François
@f_dion

[Biologeek] Écoutés en 2014

$
0
0

Alt-J, Agnès Obel, Aphex Twin, Asaf Avidan, Bibio, Calexico, Caribou, Clark, Daft Punk, Détroit, Django Django, Emilie Simon, Grimes, James Vincent McMorrow, Jamie xx, LCD Soundsystem, Lisa Simone, Little Dragon, London Grammar, Marianne Faithfull, Max Richter, Melody Gardot, Metronomy, Mogwai, Mount Kimbie, Rodriguez, Tame Impala, Todd Terje, Woodkid.

[Biologeek] ★ Publier, enseigner et cultiver

$
0
0

One more question before we get going: who here has started to write something, maybe about web development or design, and then encountered problems?

Because writing is difficult, isn’t it? There’s so much to consider when you’re writing words to convey something to someone else. But writing is difficult like parenting is difficult, or like playing a musical instrument is difficult, or like web design is difficult: we can all learn how to do it, given enough time to practice, and there’s always room for improvement, and you’re going to get it wrong some of the time.

The web is read/write

Publier

J’ai commencé à publier un flux en dehors de Twitter, ce n’est pas nouveau mais ça rejoint un mouvement de micro-décentralisation. Il me suffit de 2 commandes shell/fabric pour me décharger cognitivement, la première pour générer le gabarit à partir des paramètres et l’ouvrir dans iA Writer, la seconde pour compiler, commiter et publier. Cela me semble suffisamment simple pour que je puisse le faire quotidiennement.

J’ai aussi des projets d’écritures plus longues qui ne tiennent pas forcément dans un billet de blog. J’aimerais pouvoir concrétiser cela même si je suis encore très incertain sur la forme que ça pourrait prendre.

Enseigner

Très heureux d’avoir pu donner une vingtaine d’heures de cours à l’IUT d’Arles en 2014, j’ai rempilé pour une trentaine en ce début d’année. Je prends vraiment beaucoup de plaisir à transmettre et à échanger avec des néophytes, cela me permet de revoir les bases et de repenser certaines de mes pratiques. J’en profite pour me mettre sérieusement à CSS 3 et ECMAScript 6.

Je souhaite aussi aller plus loin dans l’enseignement car je me renseigne beaucoup sur l’instruction en famille et cela requiert certaines qualités pédagogiques.

Cultiver

Cultiver du positif. Faire germer les petites graines de bonheur et de joie qui croisent ma route. Je me considère être actuellement en environnement hostile et violent qui me laisse 2 options : investir du temps et de l’énergie pour transformer des sourires ou fuir et s’exiler dans un lieu plus propice à la bienveillance. Je ne vous cache pas que la tentation est grande de rejoindre un environnement avec moins de haine au quotidien. Pour l’instant, je vais essayer de pousser les initiatives positives qui tendent à changer de paradigme et de société.

Dans les épisodes précédents

[Biologeek] Illettrisme technologique

$
0
0

Par contre, la croyance populaire comme quoi toute personne de moins de 18 est un magicien de l’informatique est tout simplement fausse. Ils savent utiliser certains logiciels, particulièrement des applications web. Ils savent utiliser Facebook et Twitter. Ils peuvent utiliser YouTube et Pinterest. Ils savent même utiliser Word et PowerPoint et Excel. Par contre, demandez-leur de réinstaller un système d’exploitation et ils sont perdus. Demandez-leur de changer leur disque dur ou leur mémoire vive et ils font une crise d’angoisse. Demandez-leur ce que veut dire https et pourquoi c’est important, et ils vous regarderont comme si vous leur aviez parlé Klingon.

Les gamins ne savent pas utiliser les ordinateurs… Voici pourquoi ça devrait vous inquiéter. (cache)

Chaque réunion familiale me permet de vérifier cela. Chaque cours à l’IUT aussi.

Une idée : quand ils atteignent onze ans, donnez leur un fichier texte avec 10.000 clés WPA2 et dites leur que la vraie est cachée dans le lot. Vous allez voir qu’il ne leur faudra pas longtemps pour découvrir Python ou Bash.

Ibid.

Bonne idée :-).

[Biologeek] Cacher le Web

$
0
0

J’ai entrepris de mettre en cache les articles (sans indexation, via robots.txt + nofollow) dont je propose une citation ou qui me semblent importants pour la compréhension de mes propos. Sans me prendre la tête avec les histoires de copyright et compagnie, par contre j’enlève immédiatement sur simple demande. Je n’ai pas encore tranché sur ce que je vais faire des images distantes. Si ça marche bien, je m’occuperai des 48 articles de 2014.

[Biologeek] Résister à la généralisation

$
0
0

“Wow, I can simplify this; if I just generalize this class or build this Framework it would be so much easier to accomplish what I want to do!”. It happened all the time. I would write Game Engines when I was trying to write games, or forum software when I was trying to start a forum. […] I loved writing beautiful, generic code, that could easily be re-used in the future.

I kept doing this for a long time. I kept generalizing stuff, I kept trying to make things generic. And eventually I learned, the hard way, the truth about generalization: It is (almost always) a waste of time.

On Generalization (cache)

Le fichier fabric qui génère l’intégralité de ce site fait maintenant plus de 1000 lignes. C’est énorme vu la concision que permet Python. Mais c’est presque avec nostalgie que j’évite de refactoriser tout ça. Il est le témoin de mes errements et de mes erreurs, de mes contradictions et de mes habitudes qui évoluent. Et il me retient surtout de le partager et de subir le poids de la maintenance.

[Biologeek] ★ Cours IUT : jQuery et Bonus

$
0
0

As I’ve mentioned (many times) before, this blog is not about bad-mouthing jQuery. jQuery is, without a doubt, ubiquitous in the world of web development. In the earlier days of web development, jQuery was required to smooth out the significant implementation differences and bugs found in various browsers when dealing with the DOM and the Web API as a whole. Also, the Web API was quite primitive at the time, in some respects, and jQuery helped to make development a bit more intuitive.

Browsers, and the Web API, have come a long way in the last several years. You can do a lot without jQuery, and I have mostly avoided jQuery in my new projects for the last several years. The jQuery approach may take less keystrokes, or look a bit more elegant in some cases. That’s fine, but the point of this blog isn’t to help you reduce the number of keystrokes, or write more beautiful code.

You Don’t Need jQuery! (cache)

Quand il n’y en a plus, il y en a encore :-). On était passés un peu rapidement sur jQuery la dernière fois alors les étudiants en redemandent. Suite à une sondage à la représentativité douteuse sur Twitter, je me suis rendu compte que jQuery n’était plus utilisé que pour quelques raisons :

  1. la compatibilité IE8
  2. le support du code existant et de sa qualité inégale selon les intervenants
  3. l’inclusion par défaut dans Bootstrap

J’exclus la première raison vu que j’enseigne pour aujourd’hui et demain. Je mets de côté la seconde car il faudrait les mettre en situation avec du code en production et je peux difficilement gérer ce type d’interactions à 24. Il reste l’intégration de morceaux de code existants et/ou celui de Bootstrap. C’est assez éloigné d’un carousel ou d’une galerie d’images comme ils me l’avaient demandé mais ça me semble plus pertinent (et de toute façon ça existe maintenant en vanilla-js).

Partons sur un exemple concret à base de gabarits sous Creative Commons et d’images libres de droits, ça changera des images récupérées sous Google Images et du copier/coller d’anciens projets. Premier exercice, intégrer jQuery dans une maquette existante. Deuxième exercice, animer une partie de manière pertinente pour l’utilisateur. Troisième exercice, vérifier que c’est beaucoup plus compliqué à faire en CSS ou JS (c’est le moment d’introduire You Don’t Need jQuery! de manière très subtile !). Quatrième exercice, explorer Bootstrap et ce qui utilise réellement jQuery dans les différents composants/animations proposés et la notion de plugins.

Ce sera aussi l’occasion de reparler de la correction précédente de l’auto-évaluation et des notes qui en ont découlées. Donner quelques derniers conseils pratiques notamment sur les styleguides. Et pour terminer ? Une petite note récente du W3C au sujet des différences HTML4/HTML5 ça peut toujours servir.

Il est temps qu’ils aillent faire leurs propres expériences, j’espère les recroiser.


[AFPy-Nantes] Premier meetup Python 2015 !

$
0
0

Pythonistes nantais, attaquons l'année 2015 comme il se doit avec un meetup dès la fin de ce mois de janvier, le 27, toujours à partir de 19h à la Cantine.

Pour partir du bon pied, deux présentations vous seront proposées :

  • Pyramid : Pyramid est un framework python léger et pleinement compatible WSGI. Nous présenterons les principaux concept du framework. Création de projet, dispatching vs traversing, rendu de template, sécurité, événements, intégration d'application WSGI tierce.
  • Générateurs & co-routines : Durant cette présentation il sera question du langage Python en tant que tel et en particulier de deux concepts voisins : les générateurs, qui permettent une expression "paresseuse" et les co-routines, qui introduisent un style de programmation relativement méconnu. Après une présentation des aspects syntaxiques, nous pourrons échanger sur les cas d'utilisation possibles de ces concepts.

Nous espérons donc vous compter nombreux parmi nous le 27 janvier à la Cantine, ainsi pour le verre qui s'en suivra probablement :).

Si vous avez des questions ou des remarques concernant nos meetups, rejoignez-nous sur le chan IRC de l'AFPy Nantes ou inscrivez vous sur la liste de diffusion . :)

À bientôt !

[Biologeek] Bouncer IRC et backlog

$
0
0

Connection to david.typhon.net closed.

J’essaye de me séparer de tout ce qui demande mon attention numérique de manière récurrente avec un faible rapport signal/bruit (coucou Twitter !). Mon serveur Typhon gracieusement mis à disposition par les fondateurs a été arrêté, l’occasion de voir si je peux me passer de bouncer IRC et de backlog.

[Biologeek] ★ Livre et diffusion

$
0
0

Car si l’on y réfléchit un instant, un ebook n’est rien d’autre qu’un mini-site web encapsulé pour être consulté en mode offline, rien de plus. Et c’est notre besoin de jouer à la marchande « en échange de ton argent, je te transmets un fichier tangible et stockable » qui nous a propulsés droit dans le mur, et poussés à inventer des solutions toujours moins pratiques, plus compliquées et plus fermées. Alors que le web était là depuis le début, et qu’il nous tendait les mains. Nous avons réinventé le web, en moins bien.

Le livre numérique est mort : vive le livre numérique (cache)

Suite à mes envies de publications, je me renseigne sur des projets comme LeanPub ou GitBook en évitant d’écrire le mien. Au-delà des outils, il y a la question de la plateforme de diffusion, cruel dilemme lorsque l’on a les compétences techniques pour le faire chez soi.

I should make sure to negotiate permission to make the book available for free on my web site. He told me that compared with the effort that you put into the book, the money you get back is insignificant. So if you write a book it should not be because you want to make a lot of money from it but because you have an idea that you want to present to the world. And as an author, you owe it to yourself to get your idea in front of as many people as possible.

Why my book can be downloaded for free (cache)

J’ai suivi avec grand intérêt les aventure dans l’auto-édition de Ninja-Squad (cache) (aux limites de la légalité (cache)) ou de STPo pour sa BD (cache). Je suis en pleine réflexion et si vous avez des retours qui ne soient pas des success stories ça m’intéresse.

[Biologeek] Kilian Jornet et Aconcagua

$
0
0

I suffered from altitude sickness all the way to Plaza de Mulas. I kept losing my balance, my muscles seemed unwilling to follow my head and made me fall. At Plaza de Mulas I stopped for twenty minutes. I had something to eat, hydrated well and I gradually began to feel a bit better. Ahead was the descent to Horcones, where I was able to run well and ended up making good time.

ACONCAGUA, KILIAN JORNET’S NEW RECORD (cache)

Lorsqu’on lit le récit de Kilian et que l’on connait ses capacités physiologiques, on peut se demander à quel point il frôle ce qu’il est humainement possible de faire. Ça donne des idées (cache)…

[Biologeek] Unanimisme émotionnel

$
0
0

Mais cet unanimisme émotionnel, quasiment institutionnel pour ceux qui écoutent les radio de service public et lisent les grands media, j’ai l’impression qu’on a déjà essayé de me foutre dedans à deux reprises. La société française est complètement anomique, mais on continue à se raconter des histoires.

"Je ne suis pas Charlie. Et croyez-moi, je suis aussi triste que vous." (cache)

La seule analyse depuis 2 jours qui me semble intéressante. Et elle ne vient pas d’un journaliste.

[Biologeek] Devenir conférencier

$
0
0

Et je dis cela parce qu’en tant que conférencier, on partage souvent nos bonnes expériences, mais rarement ce que nous ressentons qui était mauvais. Un conférencier se met en danger, pas pour sa réputation, mais bien par la conscience de ne pas délivrer quelque chose qui représente une matière que l’on peut transmettre et qui évoluera au delà de ce que l’on peut imaginer. Les échecs sont un bon moyen de se rappeler d’être au plus proche de son sujet. Que ce sujet soit utile d’abord à l’audience.

Le temps d’un précipice (cache)

J’avais commencé une intervention sur ce que j’avais appris à chacune de mes interventions (so meta!) un peu avant la publication du billet de Karl. Et ça me trotte dans la tête et dans les onglets depuis. Une sorte de FailConCon mais ça sonne tout de suite moins bien en français. Il y aurait beaucoup à partager sur le sujet, peut-être pour HorsWeb ? #VaporCon

[afpyro] AFPyro à Bruxelles (BE) - le 31 Janvier

$
0
0

Dear Pythonista friends, write down in your agenda the date of the next AFPyro!

The next Aperos Python Belgium will take place on saturday, January 31st in Brussels, during the FOSDEM conference that takes place at ULB from 31st January to 1st February.

In addition to the regulars of AFPyro, we are also pleased to meet the attendees of FOSDEM using Python.

As usual, you can come just for drinking and sharing one (or many) drinks or if you wish, you can also register for the meal that follows, in a near place, at “Chez Léon” for 20:30, rue des Bouchers 18, B-1000 Brussels.

Meeting from 19:45, on first floor of Delirium cafe, Impasse De La Fidélité 4, 1000 Brussels.

If you are a FOSDEM attendee, you can meet us at the Python devroom, after the end of lightning talks, (H.1301 room) to go to Delirium cafe together.

Please sign up in order to book the place: http://doodle.com/ngdeesgbr6dcx3f5

Further information about the next AFPyros in Belgium: Aperos Python Belgium


Amis Pythonistes, notez dans vos agendas la date du prochain AFPyro !

Le prochain Aperos Python Belgium se tiendra le samedi 31 Janvier à Bruxelles, lors du FOSDEM qui se tient à ULB du 31 Janvier au 1 Février.

En plus des habitués de l’AFPyro, nous attendons également avec plaisir les participants du FOSDEM qui utilisent Python.

Comme chaque fois, vous pouvez venir juste pour l’apéro et partager un (ou des) verres, ou si vous le souhaitez, vous inscrire également pour le repas qui suivra, “Chez Léon” à 20h30, rue des Bouchers 18, B-1000 Bruxelles.

Rendez-vous à partir de 19h45, au premier étage du Délirium café, Impasse De La Fidélité 4, 1000 Brussels.

Si vous participez au FOSDEM, nous vous donnons rendez-vous à la salle Python-devroom, après la fin des lightning talks, (salle H.1301), afin d’aller au Délirium café ensemble.

Pour dimensionner au mieux la réservation, merci de vous inscrire sur: http://doodle.com/ngdeesgbr6dcx3f5

Toutes les infos des prochains AFPyros en Belgique: Aperos Python Belgium


[Biologeek] Code et écriture

$
0
0

Software engineers should write because it promotes many of the same skills required in programming. A core skill in both disciplines is an ability to think clearly. The best software engineers are great writers because their prose is as logical and elegant as their code.

Software engineers should write (cache)

Je vois souvent cet argument et je pense qu’il est incomplet. Chacune de nos activités a des répercussions sur les autres. Je code différemment depuis que je fais la cuisine. Je conduis différemment depuis que je fais du sport. J’écris différemment depuis que je suis père. Nous sommes des systèmes complexes (qui essayent de s’interfacer avec d’autres systèmes complexes).

[Biologeek] Teenagers, AirDrop et P2P

$
0
0

The most-used app during school hours with these kids at their New Jersey school isn’t Snapchat or Instagram. In fact, it’s not an app at all. These teens are now using AirDrop, a feature built into their iPhones, to send pictures to each other during class. When I asked why they didn’t just use Snapchat instead, since it’s essentially the same thing, I was informed that they’re actually very different.

AirDrop is superior, my cousin declared, because unlike with Snapchat, you don’t need anyone’s username to send something to them. She also said that this is what makes AirDrop better than texting: you don’t need anybody’s phone number. As long as you have AirDrop enabled on your phone, anyone nearby can send you a file. Plus, she told me some schools have blocked Snapchat, so AirDrop is essentially a workaround. And unlike Snapchat, where you’re limited to pictures and video taken in the app, with AirDrop you can send anything you already have on your phone.

Teens Using Apple Airdrop Instead Of Snapchat And Instagram (cache)

Intéressant de voir les ados innover et finalement être les premiers à utiliser le réseau en pair à pair. Génération A(centrée) ? C’est assez éloigné de la compartimentation qui opère chez les plus vieux (cache).

[cubicweb] CubicWeb roadmap meeting on January 8th, 2015

$
0
0

The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in November 2014.

Here is the report about the January 8th, 2015 meeting.

Christophe de Vienne (Unlish) and Aurélien Campéas (self-employed) joined us to express their concerns and discuss the future of CubicWeb.

Versions

Version 3.18

This version is stable but old and maintained (current is 3.18.7).

Version 3.19

This version is stable and maintained (current is 3.19.8).

Version 3.20

This version has been released a few days ago. It has not been deployed on production systems yet.

Its main features are:

  • virtual relations: a new ComputedRelation class can be used in schema.py; its rule attribute is an RQL snippet that defines the new relation.

  • computed attributes: an attribute can now be defined with a formula argument (also an RQL snippet); it will be read-only, and updated automatically.

    Both of these features are described in CWEP-002, and the updated "Data model" chapter of the CubicWeb book.

  • cubicweb-ctl plugins can use the cubicweb.utils.admincnx function to get a Connection object from an instance name.

  • new 'tornado' wsgi backend

  • session cookies have the HttpOnly flag, so they're no longer exposed to javascript

  • rich text fields can be formatted as markdown

  • the edit controller detects concurrent editions, and raises a ValidationError if an entity was modified between form generation and submission

  • cubicweb can use a postgresql "schema" (namespace) for its tables

  • cubicweb-ctl configure can be used to set values of the admin user credentials in the sources configuration file

For details read list of tickets for CubicWeb 3.20.0.

We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price).

Version 3.21

For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection.

Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported.

Integration of CWEP-003 (FROM clause for RQL) and CWEP-004 (cubes as standard python packages) is being discussed.

Version 4.0

We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want:

  • be pyramid-based (remove twisted, auth management, etc.),
  • do not have anything left of old dbapi and ClientConnection,
  • integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system.

Agenda

Next roadmap meeting will be held at the beginning of march 2015 at Logilab. Interested parties are invited to get in touch.

Open Discussions

Refactoring the documentation

Christophe de Vienne suggested to completely revamp the documentation and intends to lead this effort.

Training material

Aurélien Campéas asks if Logilab would be willing to share its training material under a free license to help interested parties organize and sell trainings.

Towards making squareui the default rendering engine for cubicweb

We are expecting to be able to use squareui/bootstrap as "rendering engine" for our forge applications (like http://www.cubicweb.org and http://www.logilab.org) as soon as possible. However to achieve to goal, there are still too many "visual bugs", some of which may require a discussion.

Among others:

  • put the ctxtoolbar component in the <nav> div
  • each box component should have an icon (what API for this?)
  • we cannot easily make the left column of the main template responsive-aware (requires to change the html flow), so it's probably best to take inspiration from things like http://wrapbootstrap.com/preview/WB0N89JMK
  • facet boxes are a mess, there is no simple solution to have a "smart layout"

Migration

  • AppObjects should not be loaded by default
  • Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there.

[Biologeek] Régulateur de consommation

$
0
0

J’ai la possibilité de régler la vitesse de ma voiture de manière fixe. J’aimerais pouvoir rendre la vitesse variable mais y adjoindre une notion de consommation fixe. Par exemple : régler la vitesse entre 105 et 120 sans dépasser les 5 litres aux 100 kilomètres.

Au passage, je ne comprends pas qu’il puisse y avoir une telle diversité dans les formes de voitures alors qu’il ne devrait y en avoir qu’une par catégorie dont l’aérodynamisme est optimal…

[afpyro] AFPyro à Lyon - mercredi 28 janvier

$
0
0

Un Afpyro aura lieu le mercredi 28 janvier à partir de 19h à l’Antre Autre - 11 rue Terme - 69001 Lyon.

Une présentation sur l’utilisation et les dernières fonctionnalités de Radicale sera donnée par Guillaume Ayoub.

L’Antre Autre est un lieu où nous pouvons discuter autour d’un verre, et, pour ceux qui le souhaitent, prendre un repas.

Pour se rendre à l’Antre Autre :

  • en métro : arrêt Hôtel de Ville
  • en bus : lignes C13 et C18 arrêt Mairie du 1er ou lignes 19, C14 et C3 à l’arrêt Terreaux
  • en vélo’v : stations Place Sathonay, Carmélites Burdeau, Place de la paix
Viewing all 3409 articles
Browse latest View live