614 shaares
Ou comment gérer ses TODO listes.
(via http://www.warriordudimanche.net/article223/comment-j-ai-fait-un-burnout )
Merci Bronco. :p
Ainsi que pour ton article à propos de ton burnout, c'est courageux de le partager et ça aidera d'autres personnes, soit en sûr. Merci encore.
(via http://www.warriordudimanche.net/article223/comment-j-ai-fait-un-burnout )
Merci Bronco. :p
Ainsi que pour ton article à propos de ton burnout, c'est courageux de le partager et ça aidera d'autres personnes, soit en sûr. Merci encore.
Utilise Pinta ;)
http://alternativeto.net/software/pinta/
Je me suis presque fait taper sur les doigts quand j'ai dis que j'essayais d'utiliser Gimp comme un éditeur d'image. C'est un manipulateur d'image qu'ils m'ont dit les gens. O-o
EDIT: Pour l'installation d'un serveur, je pense que you-are-doing-it-wrong. :) Super utile mais: je me rappelle plus comment j'avais fais mais c'était super simple perso. ;)
Faut pas forcément utiliser les mêmes outils que tu as l'habitude d'utiliser sur Windaube. ;)
Donc ben voilà, Pinta c'est un "clone" de Paint.NET. C'est moins puissant que Toshop mais c'est déjà super cool surtout lorsqu'on le maîtrise bien.
http://alternativeto.net/software/pinta/
Je me suis presque fait taper sur les doigts quand j'ai dis que j'essayais d'utiliser Gimp comme un éditeur d'image. C'est un manipulateur d'image qu'ils m'ont dit les gens. O-o
EDIT: Pour l'installation d'un serveur, je pense que you-are-doing-it-wrong. :) Super utile mais: je me rappelle plus comment j'avais fais mais c'était super simple perso. ;)
Faut pas forcément utiliser les mêmes outils que tu as l'habitude d'utiliser sur Windaube. ;)
Donc ben voilà, Pinta c'est un "clone" de Paint.NET. C'est moins puissant que Toshop mais c'est déjà super cool surtout lorsqu'on le maîtrise bien.
Une petite question aux Shaarlieurs. - r129i - Liens en vrac de JeromeJ - Les liens de Kevin Merigot
Merci oros ;)
XDD
J'adore les commentaires :D
- His engineering skills+are+amazing.
- I need to know why EVERYONE on imgur seems to have crypts, tombs and hidden safes beneath their houses.
-> That was a requirement to join. You DO have a hidden crypt, tomb, or safe, don't you?
-Well that excavated quickly.
J'adore les commentaires :D
- His engineering skills+are+amazing.
- I need to know why EVERYONE on imgur seems to have crypts, tombs and hidden safes beneath their houses.
-> That was a requirement to join. You DO have a hidden crypt, tomb, or safe, don't you?
-Well that excavated quickly.
Jerry ! (J'ai ri)
Aha, dites non aux cartes bancaires sans contacts ! ;o
VOIR AUSSI, "Non aux Google Glass" ( http://www.olissea.com/mb/links/1/?k5WrWA ).
Je vois encore trop souvent des gens et/ou chaînes youtubes inconscient(e)s en faire la promotion.
<_> #madness
(via http://shaarli.warriordudimanche.net/?p8aFIw )
Aha, dites non aux cartes bancaires sans contacts ! ;o
VOIR AUSSI, "Non aux Google Glass" ( http://www.olissea.com/mb/links/1/?k5WrWA ).
Je vois encore trop souvent des gens et/ou chaînes youtubes inconscient(e)s en faire la promotion.
<_> #madness
(via http://shaarli.warriordudimanche.net/?p8aFIw )
Yep, comme beaucoup l'ont dit, je trouve aussi que 7 ans est bien trop jeune.
Quant à, à l'opposé, respecter strictement les dates inscrites sur les boîtiers ... ça j'y crois pas trop. J'pense pas que ça soit vraiment fiable. Une bonne éducation (chaud chaud avec la société moderne & co) serait la meilleure solution a envisagé je trouve, car s'ils veulent vraiment quelque chose (ici, jouer au dit jeu), ils le feront très probablement d'une façon ou d'une autres tôt ou tard et peut-être même en cachette du coup. Donc j'pense pas qu'une interdiction stricte serait l'idéal. :)
L'apprentissage > l'interdiction. (toujours)
Également merci pour les retours au fait, très enrichissants eux aussi. :)
(via http://shaarli.warriordudimanche.net/?6AUd2w )
Quant à, à l'opposé, respecter strictement les dates inscrites sur les boîtiers ... ça j'y crois pas trop. J'pense pas que ça soit vraiment fiable. Une bonne éducation (chaud chaud avec la société moderne & co) serait la meilleure solution a envisagé je trouve, car s'ils veulent vraiment quelque chose (ici, jouer au dit jeu), ils le feront très probablement d'une façon ou d'une autres tôt ou tard et peut-être même en cachette du coup. Donc j'pense pas qu'une interdiction stricte serait l'idéal. :)
L'apprentissage > l'interdiction. (toujours)
Également merci pour les retours au fait, très enrichissants eux aussi. :)
(via http://shaarli.warriordudimanche.net/?6AUd2w )
Commentaires fermés ? Rien à foutre (#RAF) !! J'le dirais ici alors :D (même que c'est "plus mieux" de toutes façons)
+1 !!!!11one
+1 !!!!11one
Merci beaucoup !! ☺ (voir mon commentaire sur son article)
EDIT: Related: http://imgur.com/gallery/IpDA6NJ
EDIT: Related: http://imgur.com/gallery/IpDA6NJ
Hey, internet, vous en pensez quoi ?
Moyen de contraception idéal, sans conséquences négatives pour la santé, économique, pratique, réversible.
Une simple injection pour monsieur et hop, bon pour 10 ans.
Une des raisons évoquées qu'une telle technique miracle est pourtant méconnue ?
Dans ce monde capitaliste, seul le profit maximal importe, et vous n'imaginez pas combien de milliard de milliards de dollars l'industrie pharmaceutique se fait grâce aux moyens de contraceptions ...
Ça s'appelle RISUG.
Moyen de contraception idéal, sans conséquences négatives pour la santé, économique, pratique, réversible.
Une simple injection pour monsieur et hop, bon pour 10 ans.
Une des raisons évoquées qu'une telle technique miracle est pourtant méconnue ?
Dans ce monde capitaliste, seul le profit maximal importe, et vous n'imaginez pas combien de milliard de milliards de dollars l'industrie pharmaceutique se fait grâce aux moyens de contraceptions ...
Ça s'appelle RISUG.
Intéressant !
Pas entièrement d'accord avec tout mais j'ai trouvé ça globalement très chouette et riche !
À chacun de se forger sa propre opinion. Merci pour le partage !
Pas entièrement d'accord avec tout mais j'ai trouvé ça globalement très chouette et riche !
À chacun de se forger sa propre opinion. Merci pour le partage !
Bouh, c'est mal !
" Hello,
Just noticed that the default HTML errors (like 404 Not Found) are:
1) Not using HTML5 yet.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2) Don't indicate their encoding, which raises a message in the Fiefox console:
" The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol. "
Cordially. "
" Hello,
Just noticed that the default HTML errors (like 404 Not Found) are:
1) Not using HTML5 yet.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2) Don't indicate their encoding, which raises a message in the Fiefox console:
" The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol. "
Cordially. "
Flask ne semble pas supporter la possibilité de retourner des générateurs comme WSGI peut le faire et je ne suis pas sûr qu'ils prévoient que ça soit le cas un jour … ( voir https://github.com/mitsuhiko/flask/pull/684 )
Mais bon perso je trouve ça super sympa de pouvoir yield du contenu lorsqu'on veut dans son code. Un peu comme je pouvais le faire avec cgi ou en PHPouet.
De plus je suis entrain de migrer d'un code pur WSGI à Flask (sous les conseils de Link Mauve si je ne me méprend pas) - pour l'instant j'en suis toujours à l'étape "c'est relou". Pourvu que ça ne dure pas -, du coup c'est plus sympa pour moi de pouvoir conserver cette façon là.
(Note: J'avais également pas envie de devoir spécifier un décorateur @generator pour toutes mes fonctions contenant un yield, j'ai donc décidé de décorer app.route directement (mais ce fut un peu plus compliqué à mettre en place))
from functools import wraps
from flask import Flask, Response, stream_with_context
app = Flask(__name__)
# Decorator to make Flask accept generators
@wraps(app.route)
def route_accept_generators(*args, **kwargs):
route = route_accept_generators.app_route(*args, **kwargs) # Getting our route decorator.
# Decorating it.
@wraps(route)
def decorated(f):
# Make so that the function that will be called return a valid Flask answer in case of returning a generator.
@wraps(f)
def function_accept_generators(*args, **kwargs):
r = f(*args, **kwargs)
if isinstance(r, types.GeneratorType):
# return Response(r, direct_passthrough=True) # Solution proposed here: http://flask.pocoo.org/mailinglist/archive/2010/11/3/using-yield/#478b0c1829b5263700da1db7d2d22c79
return Response(stream_with_context(r)) # Solution found here: http://stackoverflow.com/q/13386681/1524913
return r
return route(function_accept_generators)
return decorated
# Store the function so that it doesn't make an infinite recursion call
# Because accessing from app.route rather than directly)
# And storing it in itself instead of creating another standalone variable
route_accept_generators.app_route = app.route
app.route = route_accept_generators
Mais bon perso je trouve ça super sympa de pouvoir yield du contenu lorsqu'on veut dans son code. Un peu comme je pouvais le faire avec cgi ou en PHPouet.
De plus je suis entrain de migrer d'un code pur WSGI à Flask (sous les conseils de Link Mauve si je ne me méprend pas) - pour l'instant j'en suis toujours à l'étape "c'est relou". Pourvu que ça ne dure pas -, du coup c'est plus sympa pour moi de pouvoir conserver cette façon là.
(Note: J'avais également pas envie de devoir spécifier un décorateur @generator pour toutes mes fonctions contenant un yield, j'ai donc décidé de décorer app.route directement (mais ce fut un peu plus compliqué à mettre en place))
from functools import wraps
from flask import Flask, Response, stream_with_context
app = Flask(__name__)
# Decorator to make Flask accept generators
@wraps(app.route)
def route_accept_generators(*args, **kwargs):
route = route_accept_generators.app_route(*args, **kwargs) # Getting our route decorator.
# Decorating it.
@wraps(route)
def decorated(f):
# Make so that the function that will be called return a valid Flask answer in case of returning a generator.
@wraps(f)
def function_accept_generators(*args, **kwargs):
r = f(*args, **kwargs)
if isinstance(r, types.GeneratorType):
# return Response(r, direct_passthrough=True) # Solution proposed here: http://flask.pocoo.org/mailinglist/archive/2010/11/3/using-yield/#478b0c1829b5263700da1db7d2d22c79
return Response(stream_with_context(r)) # Solution found here: http://stackoverflow.com/q/13386681/1524913
return r
return route(function_accept_generators)
return decorated
# Store the function so that it doesn't make an infinite recursion call
# Because accessing from app.route rather than directly)
# And storing it in itself instead of creating another standalone variable
route_accept_generators.app_route = app.route
app.route = route_accept_generators
Je ne m'en prend évidemment pas à toi cher Timo (tu le sais bien…), mais je profite de ton article pour rebondir dessus.
Ok d'accord que le problème ne vient pas fondamentalement de Youtube lui même (on est bien d'accord là dessus) mais quand même… Je trouve ça un peu trop facile de dire que Youtube ne fait que suivre les lois…
Je ne connais plus la citation exacte mais ça ressemblait à ça : If you follow bad laws, that does not make of you a "good" person.
Et puis que je sache, les "états" sont, de toutes façons, souvent des marionnettes largement influencées par de gros lobbys très puissants, et nul ne doute de la grande puissance de Google (à qui appartient Youtube).
Où je veux en venir c'est que ça les arrange bien de "suivre" les lois. L'argent n'a pas d'odeur pour eux, et comme beaucoup l'ont dit, les services qu'ils proposent ne sont pas par charités… Lorsque vous avez affaire à ces gens là, jamais rien n'est gratuit, n'oubliez pas ça.
Ce qui signifie également que je crois que leur pouvoir est probablement plus grand que celui de l'état, de part leur puissance et l'impact médiatique qu'ils représentent : Je n'ai AUCUN doute sur leur capacité à lutter contre une loi ou une autre s'ils le voulaient.
Grosse campagne médiatique et ils auraient tellement de personnes dans leur poche que vous pouvez être sûr que l'état n'aurait pas le choix que de faire marche arrière. Malheureusement, pensez bien que cela ne se produira pas. Ils sont de leur côté, pas du notre.
Les ("vraies"; ne tombez pas dans le piège) "révolutions" ne peuvent être que "populaire". (On ne peut rien attendre que de nous même, combien de fois faudra-t-il qu'ils nous trompent encore que pour nous prenions enfin conscience qu'ils ne sont que tissus de mensonges constants. Sommes nous cons à ce point ? Pas moi, pas vous. Non merci)
Data Must Flow.
Ce n'est que par l'enseignement, par la prise de connaissance des idées dissidentes (fuck la pensée unique), que les gens seront enfin à même de se forger un esprit critique et pouvoir se forger leur propre opinion.
(Finalement, gardons toujours l'esprit positif (sinon ça sera notre perte), mais attendons nous qu'il soit trop tard pour enfin réagir ? Rappelez-vous que par définition, il sera alors trop tard. Faudrait donc qu'on s'y mette doucement, mais sûrement, dès maintenant ;) )
Peace.
EDIT: Et comme Timo l'a cité ici : http://lehollandaisvolant.net/?id=20131211160607
« quand on a le pouvoir de toucher autant de monde, et que les gens vous écoutent, on devrait profiter de ce statut pour accomplir quelque chose de bien »
— Peter Sunde, co-fondateur de ThePirateBay.
Ok d'accord que le problème ne vient pas fondamentalement de Youtube lui même (on est bien d'accord là dessus) mais quand même… Je trouve ça un peu trop facile de dire que Youtube ne fait que suivre les lois…
Je ne connais plus la citation exacte mais ça ressemblait à ça : If you follow bad laws, that does not make of you a "good" person.
Et puis que je sache, les "états" sont, de toutes façons, souvent des marionnettes largement influencées par de gros lobbys très puissants, et nul ne doute de la grande puissance de Google (à qui appartient Youtube).
Où je veux en venir c'est que ça les arrange bien de "suivre" les lois. L'argent n'a pas d'odeur pour eux, et comme beaucoup l'ont dit, les services qu'ils proposent ne sont pas par charités… Lorsque vous avez affaire à ces gens là, jamais rien n'est gratuit, n'oubliez pas ça.
Ce qui signifie également que je crois que leur pouvoir est probablement plus grand que celui de l'état, de part leur puissance et l'impact médiatique qu'ils représentent : Je n'ai AUCUN doute sur leur capacité à lutter contre une loi ou une autre s'ils le voulaient.
Grosse campagne médiatique et ils auraient tellement de personnes dans leur poche que vous pouvez être sûr que l'état n'aurait pas le choix que de faire marche arrière. Malheureusement, pensez bien que cela ne se produira pas. Ils sont de leur côté, pas du notre.
Les ("vraies"; ne tombez pas dans le piège) "révolutions" ne peuvent être que "populaire". (On ne peut rien attendre que de nous même, combien de fois faudra-t-il qu'ils nous trompent encore que pour nous prenions enfin conscience qu'ils ne sont que tissus de mensonges constants. Sommes nous cons à ce point ? Pas moi, pas vous. Non merci)
Data Must Flow.
Ce n'est que par l'enseignement, par la prise de connaissance des idées dissidentes (fuck la pensée unique), que les gens seront enfin à même de se forger un esprit critique et pouvoir se forger leur propre opinion.
(Finalement, gardons toujours l'esprit positif (sinon ça sera notre perte), mais attendons nous qu'il soit trop tard pour enfin réagir ? Rappelez-vous que par définition, il sera alors trop tard. Faudrait donc qu'on s'y mette doucement, mais sûrement, dès maintenant ;) )
Peace.
EDIT: Et comme Timo l'a cité ici : http://lehollandaisvolant.net/?id=20131211160607
« quand on a le pouvoir de toucher autant de monde, et que les gens vous écoutent, on devrait profiter de ce statut pour accomplir quelque chose de bien »
— Peter Sunde, co-fondateur de ThePirateBay.
>.<
+1, merci Timo !
+1, merci Timo !
Explication dans cette émission à partir 8 minute 25
http://www.rtbf.be/video/detail_on-n-est-pas-des-pigeons?id=1872730
Un sac poubelle transparent prévu pour y placer les objets dont vous voulez vous débarrassez mais qui peuvent toujours être utilisé,
Tout le monde peut se servir dedans puis le refermer.
Il permet de donner une deuxième vie aux objets, donc c'est également chouette pour l'écologie.
Enfin, pour les personnes faisant les poubelles par obligation, c'est nettement moins dévalorisant de piocher dans un sac prévu pour.
http://www.rtbf.be/video/detail_on-n-est-pas-des-pigeons?id=1872730
Un sac poubelle transparent prévu pour y placer les objets dont vous voulez vous débarrassez mais qui peuvent toujours être utilisé,
Tout le monde peut se servir dedans puis le refermer.
Il permet de donner une deuxième vie aux objets, donc c'est également chouette pour l'écologie.
Enfin, pour les personnes faisant les poubelles par obligation, c'est nettement moins dévalorisant de piocher dans un sac prévu pour.
Intéressant !
Ne vous faites pas avoir !
Ne vous faites pas avoir !
Didn't read it all >.< I was already upset by reading the title.
Fcking superficial world >.<
Of course it isn't a prob that there is only in Korea. Thanks to the mass media -.-"
Fcking superficial world >.<
Of course it isn't a prob that there is only in Korea. Thanks to the mass media -.-"
x))))
Toujours intéressant
"Lavabit's Ladar Levison: 'If You Knew What I Know About Email, You Might Not Use It' " ( http://www.forbes.com/sites/kashmirhill/2013/08/08/email-company-reportedly-used-by-edward-snowden-shuts-down-rather-than-hand-data-over-to-feds/ )
"Lavabit's Ladar Levison: 'If You Knew What I Know About Email, You Might Not Use It' " ( http://www.forbes.com/sites/kashmirhill/2013/08/08/email-company-reportedly-used-by-edward-snowden-shuts-down-rather-than-hand-data-over-to-feds/ )
En direct, journalier et visionnable depuis le monde entier.
À regarder aussi souvent que possible, c'est très souvent remplis de chouettes trucs.
À regarder aussi souvent que possible, c'est très souvent remplis de chouettes trucs.
Quelques trucs avancés Python.
Savoir ça pourrait bien vous sauvez quelques heures de votre vie.
"For custom classes, implicit invocations of special methods are only guaranteed to work correctly if defined on an object’s type, not in the object’s instance dictionary." → You cannot modify magic method directly from an instance, for instance, doing that wont work:
>>> class C:
... pass
...
>>> c = C()
>>> c.__len__ = lambda: 5
>>> len(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'C' has no len()
"In addition to bypassing any instance attributes in the interest of correctness, implicit special method lookup generally also bypasses the __getattribute__() method even of the object’s metaclass:" → When a magic method is used and not called explicitely, then all special methods like __getattribute__ are also bypassed.
For instance:
>>> class Meta(type):
... def __getattribute__(*args):
... print("Metaclass getattribute invoked")
... return type.__getattribute__(*args)
...
>>> class C(object, metaclass=Meta):
... def __len__(self):
... return 10
... def __getattribute__(*args):
... print("Class getattribute invoked")
... return object.__getattribute__(*args)
...
>>> c = C()
>>> c.__len__() # Explicit lookup via instance
Class getattribute invoked
10
>>> type(c).__len__(c) # Explicit lookup via type
Metaclass getattribute invoked
10
>>> len(c) # Implicit lookup
10
Savoir ça pourrait bien vous sauvez quelques heures de votre vie.
"For custom classes, implicit invocations of special methods are only guaranteed to work correctly if defined on an object’s type, not in the object’s instance dictionary." → You cannot modify magic method directly from an instance, for instance, doing that wont work:
>>> class C:
... pass
...
>>> c = C()
>>> c.__len__ = lambda: 5
>>> len(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'C' has no len()
"In addition to bypassing any instance attributes in the interest of correctness, implicit special method lookup generally also bypasses the __getattribute__() method even of the object’s metaclass:" → When a magic method is used and not called explicitely, then all special methods like __getattribute__ are also bypassed.
For instance:
>>> class Meta(type):
... def __getattribute__(*args):
... print("Metaclass getattribute invoked")
... return type.__getattribute__(*args)
...
>>> class C(object, metaclass=Meta):
... def __len__(self):
... return 10
... def __getattribute__(*args):
... print("Class getattribute invoked")
... return object.__getattribute__(*args)
...
>>> c = C()
>>> c.__len__() # Explicit lookup via instance
Class getattribute invoked
10
>>> type(c).__len__(c) # Explicit lookup via type
Metaclass getattribute invoked
10
>>> len(c) # Implicit lookup
10
Infos intéressantes pour l'utilisation d'sqlite3 avec Python.
Je garde ça sous la main.
EDIT:
" > - Are there any peculiarities with using curs.executemany(...) vs. multiple
> curs.execute(...) ? I read a notice, sqlite3 does internally some caching,
> hence both should be similarly fast, but in my case executemany(...) is
> quite a bit faster
How many times are you calling execute vs a single executemany? The
python call overhead will add up for thousands of calls.
The relevant source code is here if you're interested:
http://svn.python.org/projects/python/trunk/Modules/_sqlite/cursor.c
> Further, I am not quite sure about the standard usage of the cursor object
> and also the proper commiting the transactions and closing the connection.
Standard usage is here:
http://docs.python.org/lib/module-sqlite3.html
If the database supports transactions then cursors automatically use
transactions. Your changes only get committed when you call .commit().
Otherwise your changes are lost.
In the specific case of sqllite, some statements (like CREATE TABLE,
ALTER TABLE, etc) also cause a commit. This is probably where your
confusion comes from. Since this isn't part of the python DB API spec
(http://www.python.org/dev/peps/pep-0249/) I wouldn't rely on it.
Otherwise you will have problems with other databases.
Also, in your specific case you're using an 'in memory' sqllite db. So
there are less concerns with losing data between db sessions, etc. But
with most databases (on disk, running across the network on a server)
this becomes important.
> Should one create a cursor of a connection and call the execute ... methods
> of the cursor -
> or is it better to call the shortcut execute etc. methods of the Connection
> object directly (as suggested in the docs:
> http://docs.python.org/lib/node351.html (or are there specific use cases for
> both approaches)?
I suggest that you use the standard cursor methods instead, so you can
run your code against non-sqllite databases. The performance etc
should be the same as using the direct method. Like the page says,
it's main benefit is consiseness.
>
> When the transactions should be commited? (creating, altering a table, or
> also selecting the results ?)
> There seem to be some implicit handling of the transactions (
> http://docs.python.org/lib/sqlite3-Controlling-Transactions.html#sqlite3-Controlling-Transactions
> ); hence I am not sure about the standard usage of these methods; the same
> is true of connection.close() - or are these calls eventually unnecessary?
As a general rule, always use .commit() and .close(). Otherwise:
- No .commit() - you will lose db changes since the last commit or
"non-DML, non-query statement" (in the case of sqllite)
- No .close() - Your database connection will only close when your db
objects are garbage collected.
> conn_tags_DB = sqlite3.connect(':memory:')
> curs = self.conn_tags_DB.cursor()
> curs.execute('CREATE TABLE IF NOT EXISTS "%s" ("%s", UNIQUE("%s"))' %
> (self.text_name, index_col_name, index_col_name))
> curs.execute(u'INSERT OR REPLACE INTO "%s"("%s") VALUES (?)' %
> (self.text_name, index_col_name), (0,))
> for new_col in act_db_columns[1:]: # adds the needed columns (except of the
> first one: index_col_name)
> curs.execute('ALTER TABLE "%s" ADD "%s" TEXT' % (self.text_name,
> new_col))
> curs.executemany('INSERT OR REPLACE INTO "%s" VALUES (%s)' %
> (self.text_name, question_marks), tags_seq)
> self.conn_tags_DB.commit()
>
> Are there maybe any comments or hints on a more elegant/efficient solution?
>
I think that dynamically creating schema (tables, based on text file
structure is a bad idea. A few reasons:
- This forces you to dynamically generate all your queries dynamically
- Not all strings are valid table/column names
- This forces the app to run as database administrator (maybe not
important for sqllite, but definitely an issue if you change to
another dbm).
- Potentially huge stability/security problems - text files can
potentially break system tables, overwrite users, etc, etc.
You're violating several rules on db design/usage.
I strongly recommend that you use a better database logic. ie, create
tables and records in advance (setup script, as db admin user if
applicable), then only use delete/insert/update/select statements (as
restricted user, if applicable).
If this is too much trouble, then I suggest storing your database in
regular Python structures instead, and use pickle/yaml/etc to write to
disk. Your current version uses a 'in memory' database, so the end
result is the same. You'll get a large performance boost also.
> Now, what's the usual way to access the database? Is it
> possible/wise/standard ... to leave the connection open for the subsequent
> queries during the whole run of the app; could even the cursor eventually be
> present as a class method, or should it rather be created repeatedly with
> each call? (After populating, the db shouldn't be modified, but only read.)
It depends. If your app is simple, single threaded, then a single
connection (global or passed through args) should be fine. Only use
multiple cursors if you need them (multiple threads, multiple
databases, multiple transaction/db isolation levels, etc).
David.
"
Je garde ça sous la main.
EDIT:
" > - Are there any peculiarities with using curs.executemany(...) vs. multiple
> curs.execute(...) ? I read a notice, sqlite3 does internally some caching,
> hence both should be similarly fast, but in my case executemany(...) is
> quite a bit faster
How many times are you calling execute vs a single executemany? The
python call overhead will add up for thousands of calls.
The relevant source code is here if you're interested:
http://svn.python.org/projects/python/trunk/Modules/_sqlite/cursor.c
> Further, I am not quite sure about the standard usage of the cursor object
> and also the proper commiting the transactions and closing the connection.
Standard usage is here:
http://docs.python.org/lib/module-sqlite3.html
If the database supports transactions then cursors automatically use
transactions. Your changes only get committed when you call .commit().
Otherwise your changes are lost.
In the specific case of sqllite, some statements (like CREATE TABLE,
ALTER TABLE, etc) also cause a commit. This is probably where your
confusion comes from. Since this isn't part of the python DB API spec
(http://www.python.org/dev/peps/pep-0249/) I wouldn't rely on it.
Otherwise you will have problems with other databases.
Also, in your specific case you're using an 'in memory' sqllite db. So
there are less concerns with losing data between db sessions, etc. But
with most databases (on disk, running across the network on a server)
this becomes important.
> Should one create a cursor of a connection and call the execute ... methods
> of the cursor -
> or is it better to call the shortcut execute etc. methods of the Connection
> object directly (as suggested in the docs:
> http://docs.python.org/lib/node351.html (or are there specific use cases for
> both approaches)?
I suggest that you use the standard cursor methods instead, so you can
run your code against non-sqllite databases. The performance etc
should be the same as using the direct method. Like the page says,
it's main benefit is consiseness.
>
> When the transactions should be commited? (creating, altering a table, or
> also selecting the results ?)
> There seem to be some implicit handling of the transactions (
> http://docs.python.org/lib/sqlite3-Controlling-Transactions.html#sqlite3-Controlling-Transactions
> ); hence I am not sure about the standard usage of these methods; the same
> is true of connection.close() - or are these calls eventually unnecessary?
As a general rule, always use .commit() and .close(). Otherwise:
- No .commit() - you will lose db changes since the last commit or
"non-DML, non-query statement" (in the case of sqllite)
- No .close() - Your database connection will only close when your db
objects are garbage collected.
> conn_tags_DB = sqlite3.connect(':memory:')
> curs = self.conn_tags_DB.cursor()
> curs.execute('CREATE TABLE IF NOT EXISTS "%s" ("%s", UNIQUE("%s"))' %
> (self.text_name, index_col_name, index_col_name))
> curs.execute(u'INSERT OR REPLACE INTO "%s"("%s") VALUES (?)' %
> (self.text_name, index_col_name), (0,))
> for new_col in act_db_columns[1:]: # adds the needed columns (except of the
> first one: index_col_name)
> curs.execute('ALTER TABLE "%s" ADD "%s" TEXT' % (self.text_name,
> new_col))
> curs.executemany('INSERT OR REPLACE INTO "%s" VALUES (%s)' %
> (self.text_name, question_marks), tags_seq)
> self.conn_tags_DB.commit()
>
> Are there maybe any comments or hints on a more elegant/efficient solution?
>
I think that dynamically creating schema (tables, based on text file
structure is a bad idea. A few reasons:
- This forces you to dynamically generate all your queries dynamically
- Not all strings are valid table/column names
- This forces the app to run as database administrator (maybe not
important for sqllite, but definitely an issue if you change to
another dbm).
- Potentially huge stability/security problems - text files can
potentially break system tables, overwrite users, etc, etc.
You're violating several rules on db design/usage.
I strongly recommend that you use a better database logic. ie, create
tables and records in advance (setup script, as db admin user if
applicable), then only use delete/insert/update/select statements (as
restricted user, if applicable).
If this is too much trouble, then I suggest storing your database in
regular Python structures instead, and use pickle/yaml/etc to write to
disk. Your current version uses a 'in memory' database, so the end
result is the same. You'll get a large performance boost also.
> Now, what's the usual way to access the database? Is it
> possible/wise/standard ... to leave the connection open for the subsequent
> queries during the whole run of the app; could even the cursor eventually be
> present as a class method, or should it rather be created repeatedly with
> each call? (After populating, the db shouldn't be modified, but only read.)
It depends. If your app is simple, single threaded, then a single
connection (global or passed through args) should be fine. Only use
multiple cursors if you need them (multiple threads, multiple
databases, multiple transaction/db isolation levels, etc).
David.
"
Nice pic :) je l'ai rajoutée dans ma galerie.
via https://shaarlimages.net/?i=9O9sWg
Source: http://sebsauvage.net/links/?Sh79RQ
via https://shaarlimages.net/?i=9O9sWg
Source: http://sebsauvage.net/links/?Sh79RQ
Ah tiens, peut être pratique :)
Personnellement, j'ai ma liste de vidéos / musiques qui tournent sur shuffle mode et j'ai organisé mon espace de travail pour que chaque fenêtre occupe une partie de l'écran, mais VLC s'amusait à redimensionner sa fenêtre à chaque vidéo <.<
Donc la solution se trouve dans: Select Tools ⇨ Preferences ⇨ Interface then uncheck the box Resize interface to video size. Finally, restart VLC.
Personnellement, j'ai ma liste de vidéos / musiques qui tournent sur shuffle mode et j'ai organisé mon espace de travail pour que chaque fenêtre occupe une partie de l'écran, mais VLC s'amusait à redimensionner sa fenêtre à chaque vidéo <.<
Donc la solution se trouve dans: Select Tools ⇨ Preferences ⇨ Interface then uncheck the box Resize interface to video size. Finally, restart VLC.
J'aime bien ce talk :)
Je l'ai vu il y a longtemps mais je suis retombé dessus récemment ^^
Je l'ai vu il y a longtemps mais je suis retombé dessus récemment ^^
Je sens que je vais oublier ça …
"Python looks up special methods only on the class, ignoring anything defined on the instance."
"Python looks up special methods only on the class, ignoring anything defined on the instance."
Hey! C'est marrant car sur le net, on peut être lu/vu par des millions (ou pas) sans le savoir et sans ressentir cette peur ;D
Une autre vidéo sur le gaspillage alimentaire …
C'est important, les gens !
Y a des ptits détails que j'aime pas dans ce documentaire par contre :/
EDIT: J'adore (ironie) comment blindés de reportages ne mélangent jamais deux sujets différents même si liés … Pour faire un genre de mashup vous voyez ?
Un exemple : Dans ce reportage et le précédent (fin un ptit peu dans la première partie du premier reportage mais bon),
Pas un mot sur les OGM/BIO, sur les additifs chimiques, etc. Comme si, la problématique n'existait pas, comme si elle était déjà résolue ou que sais-je.
Bref t'es limite obligé de regarder tous les documentaires possibles et immaginables (ce qui prend beaucoup de temps) si tu veux avoir une vision globale correcte des choses. Rrrr.
EDIT 2: Faudrait aussi encore faire des résumés de ces documentaires, trop d'informations dont la moitié passe à la poubelle dans notre cerveau (en parlant de gaspillage),
Déjà que leur diffusion est souvent limitée à un pays (qui sont cons lol) et rarement transcris pour les malentendants et pour faciliter le travaille de traduction pour rendre ce savoir global … Faudrait former des teams pour faire ça : )
C'est important, les gens !
Y a des ptits détails que j'aime pas dans ce documentaire par contre :/
EDIT: J'adore (ironie) comment blindés de reportages ne mélangent jamais deux sujets différents même si liés … Pour faire un genre de mashup vous voyez ?
Un exemple : Dans ce reportage et le précédent (fin un ptit peu dans la première partie du premier reportage mais bon),
Pas un mot sur les OGM/BIO, sur les additifs chimiques, etc. Comme si, la problématique n'existait pas, comme si elle était déjà résolue ou que sais-je.
Bref t'es limite obligé de regarder tous les documentaires possibles et immaginables (ce qui prend beaucoup de temps) si tu veux avoir une vision globale correcte des choses. Rrrr.
EDIT 2: Faudrait aussi encore faire des résumés de ces documentaires, trop d'informations dont la moitié passe à la poubelle dans notre cerveau (en parlant de gaspillage),
Déjà que leur diffusion est souvent limitée à un pays (qui sont cons lol) et rarement transcris pour les malentendants et pour faciliter le travaille de traduction pour rendre ce savoir global … Faudrait former des teams pour faire ça : )
Bon encore une fois, vidéo uniquement visionnable depuis la Belgique… Qu'ils sont cons (désolé…)
J'ai la vidéo mais je cherche toujours comment la rendre disponible via P2P… Si quelqu'un peut m'aider, je prend. ;)
EDIT: Merci à ceux qui m'ont aidé pour le mettre en seed. Seedez aussi ^^ magnet:?xt=urn:btih:75e6bfb8b9096011218a6ecc52ed03233ba1815e&dn=webbe%5F%5Fquestions%5Fa%5Fla%5Fune%5F061120132023.11391.32.mp4&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce
"1 - Nourriture low cost : à qui profitent les prix ? En pleine crise économique, les Français sont à la recherche de solutions pour manger moins cher. Pour répondre à cette demande, les grandes surfaces ont développé des produits premiers prix, ou de marque distributeur. En quelques années, ces aliments low cost ont conquis plus d'un tiers du marché alimentaire. Vendus au moins 30% moins cher, ces produits sont-ils bons pour la santé ? Ce documentaire s'intéresse à quatre produits consommés régulièrement : le saumon fumé, la confiture, les crevettes, et les oeufs bio. L'enquête mène aux usines de fabrication de saumon fumé à Quimper et en Pologne, et au Vietnam Une enquête de Frédérique Mergey adaptée par Franck Istasse 2 - Gaspillage alimentaire : tous responsables ? Avec ce que jette la moitié de la planète, on pourrait nourrir l'autre moitié. L'ampleur du gaspillage alimentaire est indécente. Le scandale est criant. En Belgique, un ménage jette en moyenne 20kg de nourriture par an. Comment en est-on arrivé là ? L'équipe de Questions à la une a cherché à comprendre. Sylvie Duquenoy et Guillaume Wollner ont donc scruté l'ensemble de la chaine alimentaire, depuis les champs jusqu'au frigo de la ménagère en passant par les supermarchés. Au terme de leur enquête, ils chiffrent le gaspillage, en déterminent les causes, pointent les responsabilités et tenter d'apporter des réponses. Elles sont parfois surprenantes. Au départ de ce que l'équipe a déniché dans les poubelles des grandes surfaces, le célèbre étoilé de Bruxelles, le « Comme chez soi » a conçu et réalisé un menu gastronomique."
À un moment dans la seconde partie, un saligot osent prétendre que c'est de la faute du consommateur, MON CUL, après un tel conditionnement et brainwashing, comment espériez-vous qu'ils réagissent ? Foutage de gueule… Grr.
J'ai la vidéo mais je cherche toujours comment la rendre disponible via P2P… Si quelqu'un peut m'aider, je prend. ;)
EDIT: Merci à ceux qui m'ont aidé pour le mettre en seed. Seedez aussi ^^ magnet:?xt=urn:btih:75e6bfb8b9096011218a6ecc52ed03233ba1815e&dn=webbe%5F%5Fquestions%5Fa%5Fla%5Fune%5F061120132023.11391.32.mp4&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce
"1 - Nourriture low cost : à qui profitent les prix ? En pleine crise économique, les Français sont à la recherche de solutions pour manger moins cher. Pour répondre à cette demande, les grandes surfaces ont développé des produits premiers prix, ou de marque distributeur. En quelques années, ces aliments low cost ont conquis plus d'un tiers du marché alimentaire. Vendus au moins 30% moins cher, ces produits sont-ils bons pour la santé ? Ce documentaire s'intéresse à quatre produits consommés régulièrement : le saumon fumé, la confiture, les crevettes, et les oeufs bio. L'enquête mène aux usines de fabrication de saumon fumé à Quimper et en Pologne, et au Vietnam Une enquête de Frédérique Mergey adaptée par Franck Istasse 2 - Gaspillage alimentaire : tous responsables ? Avec ce que jette la moitié de la planète, on pourrait nourrir l'autre moitié. L'ampleur du gaspillage alimentaire est indécente. Le scandale est criant. En Belgique, un ménage jette en moyenne 20kg de nourriture par an. Comment en est-on arrivé là ? L'équipe de Questions à la une a cherché à comprendre. Sylvie Duquenoy et Guillaume Wollner ont donc scruté l'ensemble de la chaine alimentaire, depuis les champs jusqu'au frigo de la ménagère en passant par les supermarchés. Au terme de leur enquête, ils chiffrent le gaspillage, en déterminent les causes, pointent les responsabilités et tenter d'apporter des réponses. Elles sont parfois surprenantes. Au départ de ce que l'équipe a déniché dans les poubelles des grandes surfaces, le célèbre étoilé de Bruxelles, le « Comme chez soi » a conçu et réalisé un menu gastronomique."
À un moment dans la seconde partie, un saligot osent prétendre que c'est de la faute du consommateur, MON CUL, après un tel conditionnement et brainwashing, comment espériez-vous qu'ils réagissent ? Foutage de gueule… Grr.
Génial ce site :D mais en anglais
Vous avez ce 'putain' de mot sur la langue mais ne parvenez plus à le retrouver mais vous savez sa définition, ce site a été conçu pour ça :) Génial !
Vous avez ce 'putain' de mot sur la langue mais ne parvenez plus à le retrouver mais vous savez sa définition, ce site a été conçu pour ça :) Génial !
Interesdasting
Ça y est, je me sers de mon shaarli pour envoyer des messages aux personnes offlines maintenant …
Désolé buddy j'avais pas vu ton message j'étais en mode veille.
Du coup, si tu (ou d'autres) sont intéressés par un projet Python, n'hésite pas à check :
https://github.com/JeromeJ/Devutopia
http://devutopia.net/
Je préviens que le design est pas encore fait :p
(Et pour la licence on va sûrement passer en CopyLeft)
(Wink, wink, les tags ;) à ta demande expresse :D)
Désolé buddy j'avais pas vu ton message j'étais en mode veille.
Du coup, si tu (ou d'autres) sont intéressés par un projet Python, n'hésite pas à check :
https://github.com/JeromeJ/Devutopia
http://devutopia.net/
Je préviens que le design est pas encore fait :p
(Et pour la licence on va sûrement passer en CopyLeft)
(Wink, wink, les tags ;) à ta demande expresse :D)
Commen j'ai pas moyen de te mailer ou autres, je poste ça ici et ptet qu'ainsi tu verras mon message.
J'ai plus simple que ce que la solution que je t'avais proposé.
À savoir, ça : [k for k in myDict if k in myOtherDict] mais avec des .keys() en plus inutile.
En fait c'était tout con, on peut faire ça :
>>> {"a":22, "b":33, "c":24}.keys() & {"a":33, "b":57, "d":78}
{'a', 'b'}
.keys() renvoit une view qui se comporte comme un set, d'où la possibilité d'utiliser l'opérateur "&" normalement propre aux sets. ( http://www.python.org/dev/peps/pep-3106/ )
Et pas vraiment besoin d'utiliser .keys sur le dico de droite (je pense pas que ça impacte les performances), le "set-like" returner par .keys() sait effectuer l'opération "&" sur un dict (car par défaut quand tu itères un dict, ça itère sur les clés, faut utiliser .items() ou .values() sinon).
(Wink, wink, les tags ;) )
J'ai plus simple que ce que la solution que je t'avais proposé.
À savoir, ça : [k for k in myDict if k in myOtherDict] mais avec des .keys() en plus inutile.
En fait c'était tout con, on peut faire ça :
>>> {"a":22, "b":33, "c":24}.keys() & {"a":33, "b":57, "d":78}
{'a', 'b'}
.keys() renvoit une view qui se comporte comme un set, d'où la possibilité d'utiliser l'opérateur "&" normalement propre aux sets. ( http://www.python.org/dev/peps/pep-3106/ )
Et pas vraiment besoin d'utiliser .keys sur le dico de droite (je pense pas que ça impacte les performances), le "set-like" returner par .keys() sait effectuer l'opération "&" sur un dict (car par défaut quand tu itères un dict, ça itère sur les clés, faut utiliser .items() ou .values() sinon).
(Wink, wink, les tags ;) )
Je suis parfois choqué par mes propres shaarlien ...
J'avais complètement oublié cette atrocité :/
J'avais complètement oublié cette atrocité :/
Le sub-SE pour les animaux de compagnie vient de sortir en béta :)
Je l'attendais avec impatience notamment pour les questions relatives aux lapins (tag [rabbits]) et j'ai déjà quelques Q/R liées de très bonne qualité :)
Notre article en français sur les lapins de compagnie: http://www.olissea.com/doc/?artId=3
Je l'attendais avec impatience notamment pour les questions relatives aux lapins (tag [rabbits]) et j'ai déjà quelques Q/R liées de très bonne qualité :)
Notre article en français sur les lapins de compagnie: http://www.olissea.com/doc/?artId=3
Article très intéressant partiellement en réponse à mon shaarlien ici: http://www.olissea.com/mb/links/1/?TAeSEg
En ce qui concerne le FN & co, je pense qu'une partie des "électeurs" ont votés pour eux car le FN (& co) est l'un des rares partis allant contre ce système, au moins dans certaines paroles en tout cas. Mais, très personnellement, je pense que c'est un gros piège vu les mœurs discutables souvent xénophobes de ce genre de partis. La solution ne peut donc pas être là selon moi … alors quoi ? Un autre parti ? Mais nous sommes réduis à l'illusion du choix, ils combattent tous pour la même cause (et pour garder ce même type de système pseudo-représentatif pas du tout démocratique (je l'ai dit et le redirais encore; Quand est-ce la dernière fois que vous avez voté une loi ? ;))) et nous devons souvent tenter de choisir "le moins pire" d'entre eux.
Selon moi, toujours, la solution ne viendra pas d'eux … pourquoi en serait-il ainsi ? Bonne blague …
(Difficile de dire beaucoup en disant peu, désolé)
En ce qui concerne le FN & co, je pense qu'une partie des "électeurs" ont votés pour eux car le FN (& co) est l'un des rares partis allant contre ce système, au moins dans certaines paroles en tout cas. Mais, très personnellement, je pense que c'est un gros piège vu les mœurs discutables souvent xénophobes de ce genre de partis. La solution ne peut donc pas être là selon moi … alors quoi ? Un autre parti ? Mais nous sommes réduis à l'illusion du choix, ils combattent tous pour la même cause (et pour garder ce même type de système pseudo-représentatif pas du tout démocratique (je l'ai dit et le redirais encore; Quand est-ce la dernière fois que vous avez voté une loi ? ;))) et nous devons souvent tenter de choisir "le moins pire" d'entre eux.
Selon moi, toujours, la solution ne viendra pas d'eux … pourquoi en serait-il ainsi ? Bonne blague …
(Difficile de dire beaucoup en disant peu, désolé)
So, what do you think? ;)
(I'd also like to bring those advantages to everybody, not only programmers and nerd ;D aha)
(I'd also like to bring those advantages to everybody, not only programmers and nerd ;D aha)
(/!\ La drogue c'est mal)
DO WANT ;D
Je veux coder en Piet !
Je veux coder en Piet !
Un sujet m'amenant à un autre, une réponse à une autre,
J'aimerais dire aux gens de rester vigilants sur ceux qui se font appeler antifa, ceux qui le sont vraiment et les pseudo antifa.
La réponse d'Étienne Chouard n'est qu'un exemple contre ça mais voilà.
Dans la société actuelle, vous ne pouvez plus vous fiez à un groupe, un mouvement, un mot. Tentez de vous fier à des idées, les plus simples possibles, qui sont les plus aliénables possibles. Car ils ont tôt fait de manipuler les mots, nous faire croire qu'on est en démocratie (quand avez vous voté une loi pour la dernière fois ?), etc etc. Alors en ce qui concerne les antifa, le mouvement est louable normalement non ? Alors qu'on m'explique ses dérives si ce n'est pas, une fois de plus pour semer le chaos et le doute sur certaines appellations. Quasiment chaque "mouvement" est infiltré, donc forcément il y aurait des personnes qui n'ont pas les même intentions directes qui vont se faire passer pour ses personnes là afin de nuire à leur réputation.
Et c'est pourquoi, chère amis humains, je vous invite à vous méfiez de la forme "mouvement" en général, ne suivez pas un autre être humain ou un mouvement, ils peuvent changer / être manipulés / corrompus et j'en passe. Tentez de vous fiez à des idées simples mais puissantes qui, elles, seront beaucoup plus dures à faire changer.
Forgez vous votre propre opinion. Ne croyez personne sur simples paroles (sur requête je peux tenter de sourcer plus amplement mes propos par exemples).
EDIT: À moins qu'on tente de se réappropier le sens premier des termes ? ^^ Beaucoup sont d'accords là dessus, je pense cependant qu'ils ont plus de pouvoirs que nous là dessus (manipuler les masses et le sens des mots), à moins qu'à chaque fois qu'on cite ce terme, on soit forcé de bien repréciser son sens premier (par peur de penser que l'interlocuteur/lecteur ne pense qu'il s'agit de l'autre signification) ce qui demande pas mal de temps et d'énergie. :/
J'aimerais dire aux gens de rester vigilants sur ceux qui se font appeler antifa, ceux qui le sont vraiment et les pseudo antifa.
La réponse d'Étienne Chouard n'est qu'un exemple contre ça mais voilà.
Dans la société actuelle, vous ne pouvez plus vous fiez à un groupe, un mouvement, un mot. Tentez de vous fier à des idées, les plus simples possibles, qui sont les plus aliénables possibles. Car ils ont tôt fait de manipuler les mots, nous faire croire qu'on est en démocratie (quand avez vous voté une loi pour la dernière fois ?), etc etc. Alors en ce qui concerne les antifa, le mouvement est louable normalement non ? Alors qu'on m'explique ses dérives si ce n'est pas, une fois de plus pour semer le chaos et le doute sur certaines appellations. Quasiment chaque "mouvement" est infiltré, donc forcément il y aurait des personnes qui n'ont pas les même intentions directes qui vont se faire passer pour ses personnes là afin de nuire à leur réputation.
Et c'est pourquoi, chère amis humains, je vous invite à vous méfiez de la forme "mouvement" en général, ne suivez pas un autre être humain ou un mouvement, ils peuvent changer / être manipulés / corrompus et j'en passe. Tentez de vous fiez à des idées simples mais puissantes qui, elles, seront beaucoup plus dures à faire changer.
Forgez vous votre propre opinion. Ne croyez personne sur simples paroles (sur requête je peux tenter de sourcer plus amplement mes propos par exemples).
EDIT: À moins qu'on tente de se réappropier le sens premier des termes ? ^^ Beaucoup sont d'accords là dessus, je pense cependant qu'ils ont plus de pouvoirs que nous là dessus (manipuler les masses et le sens des mots), à moins qu'à chaque fois qu'on cite ce terme, on soit forcé de bien repréciser son sens premier (par peur de penser que l'interlocuteur/lecteur ne pense qu'il s'agit de l'autre signification) ce qui demande pas mal de temps et d'énergie. :/
Bon, j'ai entendu beaucoup de réactions dues à cet article (je crois, ça a piqué ma curiosité, j'ai donc été voir) donc, voilà … Allez vous aussi vous forger votre propre opinion.
Pour ma part, je dirais que même si une partie pourrait être qualifiée d'un peu 'simpliste', il a au moins le mérite de soulever des points importants qui ne le sont peut-être pas assez souvent.
Ça vous vexe, choque ? Tant mieux ! Ça veut dire qu'on peut encore évoluer et apprendre des uns des autres (entre autres). Moi je dis merci à ceux qui osent shooter dans la fourmilière même si ça va, forcément, en énerver certains.
Je dirais aux haineux (et autres ayant pu eux aussi exprimés certains mécontents, voir, parfois, horreur, mépris facile/gratuit) : Un peu plus de tolérance et d'amour bordel ! (Et moins de peurs accessoirement en ce qui concerne ce sujet précis :D)
Je veux également dire par là que certaines réactions aurait telleeeeement puent être plus enrichissante si elles n'avaient pas été, elles-même, assaisonnées d'un mépris et d'une haine inutile rendant certaines réponses riches et à la fois très triste à lire de part ce même caractère … m'enfin ! J'ai ptet tord me direz-vous, qui sait ou peut prétendre savoir…
Merci quand même beaucoup à ces personnes d'avoir apportés leurs opinions et des informations importantes car cela contribue à la construction d'un meilleur esprit critique pour tous.
Sachez enfin qu'"aucune n'offense n'était voulue" ;) https://www.youtube.com/watch?v=zwoqzb5R6vw
Pour ma part, je dirais que même si une partie pourrait être qualifiée d'un peu 'simpliste', il a au moins le mérite de soulever des points importants qui ne le sont peut-être pas assez souvent.
Ça vous vexe, choque ? Tant mieux ! Ça veut dire qu'on peut encore évoluer et apprendre des uns des autres (entre autres). Moi je dis merci à ceux qui osent shooter dans la fourmilière même si ça va, forcément, en énerver certains.
Je dirais aux haineux (et autres ayant pu eux aussi exprimés certains mécontents, voir, parfois, horreur, mépris facile/gratuit) : Un peu plus de tolérance et d'amour bordel ! (Et moins de peurs accessoirement en ce qui concerne ce sujet précis :D)
Je veux également dire par là que certaines réactions aurait telleeeeement puent être plus enrichissante si elles n'avaient pas été, elles-même, assaisonnées d'un mépris et d'une haine inutile rendant certaines réponses riches et à la fois très triste à lire de part ce même caractère … m'enfin ! J'ai ptet tord me direz-vous, qui sait ou peut prétendre savoir…
Merci quand même beaucoup à ces personnes d'avoir apportés leurs opinions et des informations importantes car cela contribue à la construction d'un meilleur esprit critique pour tous.
Sachez enfin qu'"aucune n'offense n'était voulue" ;) https://www.youtube.com/watch?v=zwoqzb5R6vw
And if all others accepted the lie which the Party imposed—if all records told the same tale—then the lie passed into history and became truth. ‘Who controls the past’ ran the Party slogan, ‘controls the future: who controls the present controls the past’” (Orwell 132)
Si tous les autres acceptaient le mensonge imposé par le Parti – si tous les rapports racontaient la même chose – le mensonge passait dans l’histoire et devenait vérité. « Celui qui a le contrôle du passé », disait le slogan du Parti, « a le contrôle du futur. Celui qui a le contrôle du présent a le contrôle du passé
Si tous les autres acceptaient le mensonge imposé par le Parti – si tous les rapports racontaient la même chose – le mensonge passait dans l’histoire et devenait vérité. « Celui qui a le contrôle du passé », disait le slogan du Parti, « a le contrôle du futur. Celui qui a le contrôle du présent a le contrôle du passé
Putain que c'est beau … !
EDIT: J'ai essayé de la traduire en anglais mais ce n'est pas parfait : http://www.olissea.com/out/FAUVE%20%3f%20BLIZZARD%20%28VERSION%20LONGUE%29.txt
Depuis les paroles trouvées sur cette page http://www.buzzdidi.net/fauve-blizzard-version-longue/ traduite par Google Traduction et corrigées par moi comme possible :)
EDIT: J'ai essayé de la traduire en anglais mais ce n'est pas parfait : http://www.olissea.com/out/FAUVE%20%3f%20BLIZZARD%20%28VERSION%20LONGUE%29.txt
Depuis les paroles trouvées sur cette page http://www.buzzdidi.net/fauve-blizzard-version-longue/ traduite par Google Traduction et corrigées par moi comme possible :)
Mangez, c'est bon, et c'est important !
(Please reshare? ;p)
(Please reshare? ;p)