614 shaares
If you wanna make custom editors in Unity, be wary of the headaches.
That being said, you could always check the "newly" released Unity C# reference code on how they tackle their own Editors.
For instance, you see some fancy thing they did in their SpriteRenderer editor OnInspectorGUI, go look up the code and get inspired by their magic!
That being said, you could always check the "newly" released Unity C# reference code on how they tackle their own Editors.
For instance, you see some fancy thing they did in their SpriteRenderer editor OnInspectorGUI, go look up the code and get inspired by their magic!
1) Go to http://console.developers.google.com/
2) Select a project or create a new one
3) In API & Services (on the left menu), click on Credentials and gen a API Key.
4) You might also want to add an OAuth key for non-public stylesheets
5) In the Dashboard (on the left menu), click on ENABLE APIS AND SERVICES
6) Request access to the Google Sheet API
7) In Unity, open Window > GTSU > Open Config
8) In the Private Tab, set your client ID and Client Secret Code from your OAuth key
9) Request an access code by pressing on "Get Access code", you can then authenticate.
10) Set your API Key in the Public Tab.
For code examples, look it up. :)
2) Select a project or create a new one
3) In API & Services (on the left menu), click on Credentials and gen a API Key.
4) You might also want to add an OAuth key for non-public stylesheets
5) In the Dashboard (on the left menu), click on ENABLE APIS AND SERVICES
6) Request access to the Google Sheet API
7) In Unity, open Window > GTSU > Open Config
8) In the Private Tab, set your client ID and Client Secret Code from your OAuth key
9) Request an access code by pressing on "Get Access code", you can then authenticate.
10) Set your API Key in the Public Tab.
For code examples, look it up. :)
Be sure to have the USB Debug mode On and that your phone has accepted your PC as such (popup alert on your phone when being plugged). (You can enable USB Debug after you enable the Android Developer mode - Google it)
1) Locate your adb location
To do that, check if it is in the path by typing `adb` in a terminal. If it isn't, run the following command:
setx PATH "%PATH%;<your sdk path>/platform-tools"
(To find your SDK path, open Android Studio > Configure > SDK Manager )
(or Unity > Preferences > External tools)
2) adb tcpip 5555
3) adb connect 192.168.xx.xx
4) adb devices
(You could now safely unplug your USB and "build and run" over Wifi)
---------
adb -s 192.168.xx.xx shell
then `input text "Hello"`
1) Locate your adb location
To do that, check if it is in the path by typing `adb` in a terminal. If it isn't, run the following command:
setx PATH "%PATH%;<your sdk path>/platform-tools"
(To find your SDK path, open Android Studio > Configure > SDK Manager )
(or Unity > Preferences > External tools)
2) adb tcpip 5555
3) adb connect 192.168.xx.xx
4) adb devices
(You could now safely unplug your USB and "build and run" over Wifi)
---------
adb -s 192.168.xx.xx shell
then `input text "Hello"`
Basically replacing this
class A:
def __init__(self, b, c, d, e):
self.b = b
self.c = c
self.d = d
self.e = e
by
class A:
def __init__(self, b, c, d, e):
# You can edit parameters' value here before they are being stored
for k, v in vars().items():
setattr(self, k, v)
By me.
class A:
def __init__(self, b, c, d, e):
self.b = b
self.c = c
self.d = d
self.e = e
by
class A:
def __init__(self, b, c, d, e):
# You can edit parameters' value here before they are being stored
for k, v in vars().items():
setattr(self, k, v)
By me.
[path_to_script]\python-no-autoclose.py "$(FULL_CURRENT_PATH)"
In the menu Run > Run, put this in the text field and hit Save, give it a name and a key combination. Personally I used Shift+F5. Be wary than all key combinations might not work, try it to make sure or change it.
The script:
import sys
import traceback
import subprocess
import os
import pathlib
if sys.argv[1:]: # Failsafe
try:
os.chdir(str(pathlib.Path(sys.argv[1]).parent))
except Exception as e:
traceback.print_exc()
try:
subprocess.call(['python', sys.argv[1]])
except Exception as e:
traceback.print_exc()
else:
print('I\'m very confused...')
print()
input('Press Enter to exit.')
In the menu Run > Run, put this in the text field and hit Save, give it a name and a key combination. Personally I used Shift+F5. Be wary than all key combinations might not work, try it to make sure or change it.
The script:
import sys
import traceback
import subprocess
import os
import pathlib
if sys.argv[1:]: # Failsafe
try:
os.chdir(str(pathlib.Path(sys.argv[1]).parent))
except Exception as e:
traceback.print_exc()
try:
subprocess.call(['python', sys.argv[1]])
except Exception as e:
traceback.print_exc()
else:
print('I\'m very confused...')
print()
input('Press Enter to exit.')
I don't have any experience with compiling Java so I'm just leaving this here for future me.
1) Download Java JDK (Any version should be fine)
2) If you're lucky to have a .gradle file in your app directory, download Gradle. (You can then add gradle to your PATH, but that's optional)
3) Go in the directory where your .gradle file is situated and run
PATH_TO_YOUR_GRADLE/bin/gradle build
4) The compiled .jar will be situated in build/libs
That's it!
1) Download Java JDK (Any version should be fine)
2) If you're lucky to have a .gradle file in your app directory, download Gradle. (You can then add gradle to your PATH, but that's optional)
3) Go in the directory where your .gradle file is situated and run
PATH_TO_YOUR_GRADLE/bin/gradle build
4) The compiled .jar will be situated in build/libs
That's it!
ffmpeg.exe -i "input.mp4" -vn -t 2:05 -q:a 2 "output.mp3"
-vn removes the video stream,
-t cuts to whichever time you wish, here set to 2min and 5s,
-q:a scales the quality bitrate (I previously had it at 128 kbit/s, with -q:a 2 it resulted into 148.6 kbit/s)
-ss would be to start at said time,
If you're using Windows, you can download ffmpeg here https://ffmpeg.zeranoe.com/builds/ , ffmepg.exe is available in the bin/ directory.
Thank to my dear friend Ramiro, the lord and master of ffmpeg for his greatful help.
EDIT: Glue/concatenate/put together several files together:
ffmpeg -i "concat:input1.mp3|input2.mp3|input3.mp3" -c copy output.mp3
-vn removes the video stream,
-t cuts to whichever time you wish, here set to 2min and 5s,
-q:a scales the quality bitrate (I previously had it at 128 kbit/s, with -q:a 2 it resulted into 148.6 kbit/s)
-ss would be to start at said time,
If you're using Windows, you can download ffmpeg here https://ffmpeg.zeranoe.com/builds/ , ffmepg.exe is available in the bin/ directory.
Thank to my dear friend Ramiro, the lord and master of ffmpeg for his greatful help.
EDIT: Glue/concatenate/put together several files together:
ffmpeg -i "concat:input1.mp3|input2.mp3|input3.mp3" -c copy output.mp3
Sauvegarder les métadonnées EXIF avec PIL.
C'est chouette les fractals, vous en pensez quoi des fractals que j'ai généré ? :P
"Effortless method: Just pretend they aren't there. Works for me every time.
As a side note, I wonder if I'm the only person who ignores new emails, and "notices" new emails by comparing the "new" email count by the previous number in memory."
I do that all the time :D
As a side note, I wonder if I'm the only person who ignores new emails, and "notices" new emails by comparing the "new" email count by the previous number in memory."
I do that all the time :D
Naviguant à travers mon code, je suis retombé là dessus. Design que je trouvais vraiment chouette. :P
Alors pour le coup j'ai décidé de changer le code pour qu'il s'affiche chaque année le 9 avril. C'est bien ça son anniv hein ? Hein ?
Alors pour le coup j'ai décidé de changer le code pour qu'il s'affiche chaque année le 9 avril. C'est bien ça son anniv hein ? Hein ?
À REGARDER! :)
I feel you bro, ... I got no idea what you are talking about (I live in my cave and didn't follow up what was going on) but it makes me sad just to read what you posted.
Live simple, people. Peacefuly. I'm not sure that, whatever actually happened, that it was worth that fuss: life is short. Enjoy it.
I'm not talking about Yolo but I'm sure we'd be better off without fighting amongst, who shouls be considered as, our own.
We can make beautiful things together. But, yeah, if we really can't stand each other then the least we could try would be to ignore each other - that's pretty simple on internet! "Destroying" each other is conter-productive.
Lastly, sure it is easy to talk about it like that when not involved but ain't it the point? Personally I think we need "those people that are outside of it" 's opinions to help us see clearer. It is hard to see clear when we got our noses right in it.
Edit: Also, god knows how relationships and communication can be a hell of a tough situation. Take it easy on yourselves, people. It ain't always simple. Be strong, be happy, RELAX, breath.
(Via http://sebsauvage.net/links/?FI6O7w )
Live simple, people. Peacefuly. I'm not sure that, whatever actually happened, that it was worth that fuss: life is short. Enjoy it.
I'm not talking about Yolo but I'm sure we'd be better off without fighting amongst, who shouls be considered as, our own.
We can make beautiful things together. But, yeah, if we really can't stand each other then the least we could try would be to ignore each other - that's pretty simple on internet! "Destroying" each other is conter-productive.
Lastly, sure it is easy to talk about it like that when not involved but ain't it the point? Personally I think we need "those people that are outside of it" 's opinions to help us see clearer. It is hard to see clear when we got our noses right in it.
Edit: Also, god knows how relationships and communication can be a hell of a tough situation. Take it easy on yourselves, people. It ain't always simple. Be strong, be happy, RELAX, breath.
(Via http://sebsauvage.net/links/?FI6O7w )
Quick and simple backdoor to control your computers/turtles (from ComputerCraft) from outside Minecraft. Here featuring with Python.
Il faut que vous regardiez ce documentaire sur Aaron Swartz, sous-titres en français disponibles.
Des lois comme la loi sur l'information n'aurait jamais du passer, tout comme l'Internet l'a fait contre SOPA et PIPA. Que s'est-il passé hein ? Nous francophones n'avons pas assez de couilles, c'est ça ?
PS: Si jamais je suis un peu en retard sur certaines infos, excusez-moi d'avance et je serais content si quelqu'un me corrige.
Des lois comme la loi sur l'information n'aurait jamais du passer, tout comme l'Internet l'a fait contre SOPA et PIPA. Que s'est-il passé hein ? Nous francophones n'avons pas assez de couilles, c'est ça ?
PS: Si jamais je suis un peu en retard sur certaines infos, excusez-moi d'avance et je serais content si quelqu'un me corrige.
Sorry, I should be posting more often… Do not unsubscribe yet? :)
Have a good day y'all!
-------
Désolé, je devrais poster plus souvent… Ne m'unfollower pas encore ok? :P
Bonne journée à tous !
Have a good day y'all!
-------
Désolé, je devrais poster plus souvent… Ne m'unfollower pas encore ok? :P
Bonne journée à tous !
I'm hoping it isn't a fake! EDIT: Apparently isn't. That's great!
"$400? Colour Blind People should get these for free." - ljpgraphics http://imgur.com/gallery/vHShv/comment/383584533
Damn you imgur!!! I need to work!! God damn it!
"$400? Colour Blind People should get these for free." - ljpgraphics http://imgur.com/gallery/vHShv/comment/383584533
Damn you imgur!!! I need to work!! God damn it!
Ils sont sympas sur le tchat PHP de SO.
Quelques amis m'ont donné des exemples de codes à propos des exceptions en PHP, que j'ai, un peu trop souvent rechigné.
C'est *bô*. Jugez-en par vous même:
http://3v4l.org/NJJjO
function (╯°□°)╯︵┻━┻(){throw new ┻━┻;}
class ┻━┻ extends Exception {public function __construct() {parent::__construct("Please respect tables! ┬─┬ノ(ಠ_ಠノ)");} public function __toString(){return "┬─┬";}}
// try/catch
try { (╯°□°)╯︵┻━┻ (); } catch ( ┻━┻ $niceguy) {echo $niceguy->getMessage();}
// ok now lets see an uncaught one
(╯°□°)╯︵┻━┻
();
// Output:
Please respect tables! ┬─┬ノ(ಠ_ಠノ)
Fatal error: Uncaught ┬─┬
Et http://3v4l.org/TkNpc
class JeromeException extends Exception
{
protected $boobies = [];
function __construct($message = null, $code = 0, Exception $previous = null, $arrayOfBoobies = [])
{
$this->boobies = $arrayOfBoobies;
}
function getTraceEx()
{
return $this->getTrace() + ['boobies' => $this->boobies];
}
}
function jeromeIsExceptional()
{
try {
throw new JeromeException('herro', 0, null, ['34B', '32C', '36D']);
}
catch (JeromeException $e) {
var_dump($e->getTraceEx());
}
}
jeromeIsExceptional();
Quelques amis m'ont donné des exemples de codes à propos des exceptions en PHP, que j'ai, un peu trop souvent rechigné.
C'est *bô*. Jugez-en par vous même:
http://3v4l.org/NJJjO
function (╯°□°)╯︵┻━┻(){throw new ┻━┻;}
class ┻━┻ extends Exception {public function __construct() {parent::__construct("Please respect tables! ┬─┬ノ(ಠ_ಠノ)");} public function __toString(){return "┬─┬";}}
// try/catch
try { (╯°□°)╯︵┻━┻ (); } catch ( ┻━┻ $niceguy) {echo $niceguy->getMessage();}
// ok now lets see an uncaught one
(╯°□°)╯︵┻━┻
();
// Output:
Please respect tables! ┬─┬ノ(ಠ_ಠノ)
Fatal error: Uncaught ┬─┬
Et http://3v4l.org/TkNpc
class JeromeException extends Exception
{
protected $boobies = [];
function __construct($message = null, $code = 0, Exception $previous = null, $arrayOfBoobies = [])
{
$this->boobies = $arrayOfBoobies;
}
function getTraceEx()
{
return $this->getTrace() + ['boobies' => $this->boobies];
}
}
function jeromeIsExceptional()
{
try {
throw new JeromeException('herro', 0, null, ['34B', '32C', '36D']);
}
catch (JeromeException $e) {
var_dump($e->getTraceEx());
}
}
jeromeIsExceptional();
Publier l'app non-officiellement/pas via l'appstore, évidemment du coup faut faire confiance au dev mais ca pourrait rester une solution alternative, non ?
Un moyen de boycotter l'appstore, right?
Un moyen de boycotter l'appstore, right?
Je ne pense pas l'avoir mentionné avant mais je suis presque sûr à 100% que si mon PC portable a été volé, c'est à cause de ces portières qui s'ouvrent automatiquementé si la clé se trouve à proximité.
On ne m'écoute jamais, j'aurais bien prévenu mais les gens se gardent bien de me croire, parano disent ils, jusqu'à ce qu'il soit trop tard mais je ne viens pas dire que je l'avais bien dit. À quoi bon ?
Et de façon peu rassurante, un amis m'affirme qu'il existe des outils pour ouvrir n'importe quelle voiture, souvent utilisés par les dépanneurs, accessibles facilement et à bas prix sur internet. Vous n'êtes pas sain et sauf.
On ne m'écoute jamais, j'aurais bien prévenu mais les gens se gardent bien de me croire, parano disent ils, jusqu'à ce qu'il soit trop tard mais je ne viens pas dire que je l'avais bien dit. À quoi bon ?
Et de façon peu rassurante, un amis m'affirme qu'il existe des outils pour ouvrir n'importe quelle voiture, souvent utilisés par les dépanneurs, accessibles facilement et à bas prix sur internet. Vous n'êtes pas sain et sauf.
Félécitation à tout ceux qui ont participé au concours sur Memrise de ce janvier 2015.
Fiou!! Ça vient juste de finir !!
Personnellement, je n'ai pas vraiment atteint le but que je m'étais fixé mais j'ai appris une tonne de mot !
Il semblerait que Memrise est down atm. :D
Surement du aux backups de la BDD. ^^
Ce ne fut pas facile, autant d'apprendre autant de nouveaux mots mais également à cause de petits détails chiants: problèmes d'internet - saleté de requins à la con (comprenne qui pourra), problème de PC (ben oui… parfois Windows ne démarre plus, sans raisons, + j'avais merder ma clé USB live Linux de secours :D).
EDIT: Raaaah, j'ai oublié de noter combien j'ai fais de points ce mois ci, rien qu'en plantant et en arrosant uniquement ces nouveaux mots (à 98% près) (même si ce qui compte c'est le nombre de mots, pas les points gagnés, mais je share pas ça maintenant tout de suite :)).
Mais, ca doit faire plus de 3 millions au moins, j'étais Memonist (au dessous de 5 million) et je suis passé Membassador (j'ai 7,1 million de points).
EDIT2: Crap, je pense que je viens juste de rencontrer le "probable"(?) champion… genre 700 mots par jours T.T.
Fiou!! Ça vient juste de finir !!
Personnellement, je n'ai pas vraiment atteint le but que je m'étais fixé mais j'ai appris une tonne de mot !
Il semblerait que Memrise est down atm. :D
Surement du aux backups de la BDD. ^^
Ce ne fut pas facile, autant d'apprendre autant de nouveaux mots mais également à cause de petits détails chiants: problèmes d'internet - saleté de requins à la con (comprenne qui pourra), problème de PC (ben oui… parfois Windows ne démarre plus, sans raisons, + j'avais merder ma clé USB live Linux de secours :D).
EDIT: Raaaah, j'ai oublié de noter combien j'ai fais de points ce mois ci, rien qu'en plantant et en arrosant uniquement ces nouveaux mots (à 98% près) (même si ce qui compte c'est le nombre de mots, pas les points gagnés, mais je share pas ça maintenant tout de suite :)).
Mais, ca doit faire plus de 3 millions au moins, j'étais Memonist (au dessous de 5 million) et je suis passé Membassador (j'ai 7,1 million de points).
EDIT2: Crap, je pense que je viens juste de rencontrer le "probable"(?) champion… genre 700 mots par jours T.T.
Poste après le hack visant le site de Notepad++ pour la création de la version "JeSuisCharlie" du logiciel.
Cette version affiche ce message à l'ouverture de Notepad++:
Freedom of expression is like the air we breathe, we don't feel it, until people take it away from us.
For this reason, Je suis Charlie, not because I endorse everything they published, but because I cherish the right to speak out freely without risk even when it offends others.
And no, you cannot just take someone's life for whatever he/she expressed.
Hence this "Je suis Charlie" edition.
- #JeSuisCharlie
Cette version affiche ce message à l'ouverture de Notepad++:
Freedom of expression is like the air we breathe, we don't feel it, until people take it away from us.
For this reason, Je suis Charlie, not because I endorse everything they published, but because I cherish the right to speak out freely without risk even when it offends others.
And no, you cannot just take someone's life for whatever he/she expressed.
Hence this "Je suis Charlie" edition.
- #JeSuisCharlie
Ouuuuh, j'ai pas pensé à partager mes vœux sur shaarli, merci !
Noyeux Joël à tous et toutes et bonne année !
:)
Noyeux Joël à tous et toutes et bonne année !
:)
Nice!
Bon, sachant que sebsauvage lit rarement ses mails, je vais tenter de le contacter par ici. :)
Ton implémentation est non sécurisée. C'est mal car d'autres personnes risquent de s'en inspirer sans savoir les problèmes liés à cette implémentation.
1) " Warning - When comparing the output of hexdigest() to an externally-supplied digest during a verification routine, it is recommended to use the compare_digest() function instead of the == operator to reduce the vulnerability to timing attacks." https://docs.python.org/3.4/library/hmac.html#hmac.HMAC.hexdigest
2) "The digestmod argument to the hmac.new() function may now be any hash digest name recognized by hashlib. In addition, the current behavior in which the value of digestmod defaults to MD5 is deprecated: in a future version of Python there will be no default value. (Contributed by Christian Heimes in issue 17276.)" https://docs.python.org/3/whatsnew/3.4.html#hmac
Donc il faudrait mieux commencer à spécifier une valeur pour digestmod.
Comme suggéré par l'issue (1) et cette réponse sur SO (2), je proposerais d'utiliser SHA-256 ou SHA-512 comme suit :
hmac.compare_digest(hmac.new(key, name, digestmod=hashlib.sha256).hexdigest(), signature)
(+ remplacer partout où il faut bien sure et ne pas oublier import hashlib)
(1) https://bugs.python.org/issue17276
"As of now the hash algorithm for HMAC defaults to MD5. However MD5 is considered broken. HMAC-MD5 is still ok but shall not be used in new code. Applications should slowly migrate away from HMAC-MD5 and use a more modern algorithm like HMAC-SHA256.
Therefore I propose that default digestmod should be deprecated in Python 3.4 and removed in 3.5. Starting with Python 3.5 developer are forced to choose a hash algorithm like SHA256. Our documentation shall suggest it, too."
(2) http://crypto.stackexchange.com/a/9340/18518
"Yes, there are currently no known attacks on HMAC-MD5.
[…]
However, this does not mean you should use HMAC-MD5 in new cryptosystem designs. To paraphrase Bruce Schneier, "attacks only get better, never worse." We already have practical collision attacks for MD5, showing that it does not meet its original security goals; it's possible that, any day now, someone might figure out a way to turn those into a preimage attack, which would compromise the security of HMAC-MD5. A much better choice would be to use HMAC with a hash function having no known attacks, such as SHA-2 or SHA-3."
Ton implémentation est non sécurisée. C'est mal car d'autres personnes risquent de s'en inspirer sans savoir les problèmes liés à cette implémentation.
1) " Warning - When comparing the output of hexdigest() to an externally-supplied digest during a verification routine, it is recommended to use the compare_digest() function instead of the == operator to reduce the vulnerability to timing attacks." https://docs.python.org/3.4/library/hmac.html#hmac.HMAC.hexdigest
2) "The digestmod argument to the hmac.new() function may now be any hash digest name recognized by hashlib. In addition, the current behavior in which the value of digestmod defaults to MD5 is deprecated: in a future version of Python there will be no default value. (Contributed by Christian Heimes in issue 17276.)" https://docs.python.org/3/whatsnew/3.4.html#hmac
Donc il faudrait mieux commencer à spécifier une valeur pour digestmod.
Comme suggéré par l'issue (1) et cette réponse sur SO (2), je proposerais d'utiliser SHA-256 ou SHA-512 comme suit :
hmac.compare_digest(hmac.new(key, name, digestmod=hashlib.sha256).hexdigest(), signature)
(+ remplacer partout où il faut bien sure et ne pas oublier import hashlib)
(1) https://bugs.python.org/issue17276
"As of now the hash algorithm for HMAC defaults to MD5. However MD5 is considered broken. HMAC-MD5 is still ok but shall not be used in new code. Applications should slowly migrate away from HMAC-MD5 and use a more modern algorithm like HMAC-SHA256.
Therefore I propose that default digestmod should be deprecated in Python 3.4 and removed in 3.5. Starting with Python 3.5 developer are forced to choose a hash algorithm like SHA256. Our documentation shall suggest it, too."
(2) http://crypto.stackexchange.com/a/9340/18518
"Yes, there are currently no known attacks on HMAC-MD5.
[…]
However, this does not mean you should use HMAC-MD5 in new cryptosystem designs. To paraphrase Bruce Schneier, "attacks only get better, never worse." We already have practical collision attacks for MD5, showing that it does not meet its original security goals; it's possible that, any day now, someone might figure out a way to turn those into a preimage attack, which would compromise the security of HMAC-MD5. A much better choice would be to use HMAC with a hash function having no known attacks, such as SHA-2 or SHA-3."
Vouala.
(l'anti-clic-droit pour protéger une image hébergée sur imageshack.us LOL)
(Via http://lehollandaisvolant.net/?id=20141108205809 )
(l'anti-clic-droit pour protéger une image hébergée sur imageshack.us LOL)
(Via http://lehollandaisvolant.net/?id=20141108205809 )
Woaaah, PHP ne cessera jamais de m'impressioner, dans le mauvais sens du terme.
>.<"
(Source: http://stackoverflow.com/a/2950046/1524913 )
>.<"
(Source: http://stackoverflow.com/a/2950046/1524913 )
"Qqn" m'a passé ce lien en réponse à ce lien de sebsauvage qui date un peu : http://sebsauvage.net/links/?miNiXQ
Je sais pas ce qu'il en ressort depuis… Qqn sait ? Quid des agissements actuels de la NSA ? Quid de Yahoo ?
En tout cas c'est joyeux ce chantage de la NSA :/
Je sais pas ce qu'il en ressort depuis… Qqn sait ? Quid des agissements actuels de la NSA ? Quid de Yahoo ?
En tout cas c'est joyeux ce chantage de la NSA :/
Quelques conseils issus de mon expérience personnelle avec GreaseMonkey…
J'en ai chié quelques fois, donc si ça peut en aider quelques un… Sait-on jamais ! :D
J'en ai chié quelques fois, donc si ça peut en aider quelques un… Sait-on jamais ! :D
So, except few exceptions, almost all passwords shouldn't have "any" limit on the size of them upward (= no maximum length). Riiiight? :)
(Since they aren't supposed to be stored in raw form anyway and most (if not all?) hashing algorithm accept any size of password and always return unique constant length string)
So why HTML doesnt prevent bad ideas to be working? Like setting a maximum length on a password input… The way I see it, that would just not work and be reported in the console for debbugging purpose.
For the things I, so called "exceptions", I was thinking about PIN codes for instance. I could imagine letting HTML implements a new tag (or a new type of input tag) allowing a max length, but surely it would surely be abused though… Maybe those "PIN code" input should allow one fixed-length of password (as expected from a PIN code anyway and that would induce way less abuse too):
Finally, my browser (maybe some others too, mine is currently Palemoon, a implementation of Firefox) only prevent me to type more characters when I reach the maximum allowed by max-length, …, it doesnt warn me, it does nothing but preventing… The problem is that, if it was plain text, I could notice it easily, but as it is a password input and that my password is longer than the visible length of the field, then I have no fucking clue that what I'm currently typing is thrown away as I type it… -_-
So, some fucking warning would be appreciated at least!
(Since they aren't supposed to be stored in raw form anyway and most (if not all?) hashing algorithm accept any size of password and always return unique constant length string)
So why HTML doesnt prevent bad ideas to be working? Like setting a maximum length on a password input… The way I see it, that would just not work and be reported in the console for debbugging purpose.
For the things I, so called "exceptions", I was thinking about PIN codes for instance. I could imagine letting HTML implements a new tag (or a new type of input tag) allowing a max length, but surely it would surely be abused though… Maybe those "PIN code" input should allow one fixed-length of password (as expected from a PIN code anyway and that would induce way less abuse too):
Finally, my browser (maybe some others too, mine is currently Palemoon, a implementation of Firefox) only prevent me to type more characters when I reach the maximum allowed by max-length, …, it doesnt warn me, it does nothing but preventing… The problem is that, if it was plain text, I could notice it easily, but as it is a password input and that my password is longer than the visible length of the field, then I have no fucking clue that what I'm currently typing is thrown away as I type it… -_-
So, some fucking warning would be appreciated at least!
Bonne question … (Good question)
Peu de réponses … (Few answers)
Peu de réponses … (Few answers)
http://www.olissea.com/contact.php
SEE ENGLISH VERSION BELOW!!
ORDINATEUR PORTABLE VOLÉ, était dans un sac à dos bleu et blanc, contenait également un disque dur portable 3TB, 1 ds, 1 3ds et des papiers importants
VOLÉS aujourd'hui dans le parking aeroville à Roissy, Paris entre 14 et 17h.
Généreuse récompense offerte, ainsi que promesse de ne pas porter plainte. URGENT, je me rend à l'étranger très bientôt !
Énorme valeur sentimentale et professionnelle, toute ma vie est dessus.
Très vieux PC, qui a beaucoup servis, plus de 5 ans = pas beaucoup de valeur matériel.
Merci beaucoup d'avance. Je suis dévasté fichu.
Merci de partager. Partager. Partager.
Je passe tout mon temps sur le pc, j'y travaille, j'y code, j'y stock tous mes documents perso, photos, ...
----------------------------------------------
LAPTOP STOLEN, was in a blue & white bag, along with a 3TB HDD, a Ds, a 3 Ds and some important papers
STOLEN, today at the aeroville parking in Roiwy, Paris between 2 and 5pm.
Generous reward offered, plus promise that wont go to police. URGENT, i will leave the country very soon!!
Enormous sentimental and professional value. All my life is on it!
Very old laptop, used a lot, more than 5 years old = very small material value
Thx a lot in advance, im lost.
please share share share
I spend all my time on computer, i work on it, i code on it, and i store every important documents on it, pictures, ...
SEE ENGLISH VERSION BELOW!!
ORDINATEUR PORTABLE VOLÉ, était dans un sac à dos bleu et blanc, contenait également un disque dur portable 3TB, 1 ds, 1 3ds et des papiers importants
VOLÉS aujourd'hui dans le parking aeroville à Roissy, Paris entre 14 et 17h.
Généreuse récompense offerte, ainsi que promesse de ne pas porter plainte. URGENT, je me rend à l'étranger très bientôt !
Énorme valeur sentimentale et professionnelle, toute ma vie est dessus.
Très vieux PC, qui a beaucoup servis, plus de 5 ans = pas beaucoup de valeur matériel.
Merci beaucoup d'avance. Je suis dévasté fichu.
Merci de partager. Partager. Partager.
Je passe tout mon temps sur le pc, j'y travaille, j'y code, j'y stock tous mes documents perso, photos, ...
----------------------------------------------
LAPTOP STOLEN, was in a blue & white bag, along with a 3TB HDD, a Ds, a 3 Ds and some important papers
STOLEN, today at the aeroville parking in Roiwy, Paris between 2 and 5pm.
Generous reward offered, plus promise that wont go to police. URGENT, i will leave the country very soon!!
Enormous sentimental and professional value. All my life is on it!
Very old laptop, used a lot, more than 5 years old = very small material value
Thx a lot in advance, im lost.
please share share share
I spend all my time on computer, i work on it, i code on it, and i store every important documents on it, pictures, ...
Ouuh, de chouettes infos que nous avons là. :o
Hop je pause ça là pour plus tard
[22:00:13] Lunatick: En gros Kineticjs => control du canva en génial, fonction avancées, events de tout types (click, touch) géré nativement
[22:00:13] Lunatick: et Tweenmax ça permet d'animer n'importe quel valeur numérique sur le temps, un peu comme une transition CSS mais sur ce qu'on veut
[22:00:28] Lunatick: donc la Combinaison de Kineticjs + GSAP Tweenmax = des animation/jeu en js fluides et simple à écrire
[22:00:28] Lunatick: L'avantage de Tweenmax c'est aussi que n'importe quoi peut etre animé, exemple ça peut etre la largeur d'un élément du DOM, un nombre lambda ou les prop de n'importe quel objet
[22:03:41] Lunatick: avec en prime une la possibilité d'appeler une fonction en callback au début, à la fin, et à chaque mise a jour de l'item que tu "animes"
Hop je pause ça là pour plus tard
[22:00:13] Lunatick: En gros Kineticjs => control du canva en génial, fonction avancées, events de tout types (click, touch) géré nativement
[22:00:13] Lunatick: et Tweenmax ça permet d'animer n'importe quel valeur numérique sur le temps, un peu comme une transition CSS mais sur ce qu'on veut
[22:00:28] Lunatick: donc la Combinaison de Kineticjs + GSAP Tweenmax = des animation/jeu en js fluides et simple à écrire
[22:00:28] Lunatick: L'avantage de Tweenmax c'est aussi que n'importe quoi peut etre animé, exemple ça peut etre la largeur d'un élément du DOM, un nombre lambda ou les prop de n'importe quel objet
[22:03:41] Lunatick: avec en prime une la possibilité d'appeler une fonction en callback au début, à la fin, et à chaque mise a jour de l'item que tu "animes"
Splendide !
Déception :(
AHAHAHA j'ai ri !
Avec des morceaux de références d'un anime japonais inside.
Via Smile
EDIT: Lien vers la série: http://www.dramacool.com/surplus-princess-episode-1.html
Avec des morceaux de références d'un anime japonais inside.
Via Smile
EDIT: Lien vers la série: http://www.dramacool.com/surplus-princess-episode-1.html
Faut être un peu initié pour celle-ci, au moins.
Bon, je vais les rajouter sur l'autre shaarli plutôt…
Bon, je vais les rajouter sur l'autre shaarli plutôt…
Ah tiens j'avais presque oublié où je les avais rangées celles là :)
C'est uniquement pour un usage perso normalement. Et/ou pour partager avec des amis pour faire un peu d'éclectisme.
C'est uniquement pour un usage perso normalement. Et/ou pour partager avec des amis pour faire un peu d'éclectisme.
Celle ci c'est du lourd, à garder pour les initiés.
Celle ci est très "spéciale".
C'mieux pour les initiés aussi je suppose.
C'mieux pour les initiés aussi je suppose.
Celle-ci est assez sympa, et peu plus grand public. :)
Bon, je le mets là pour les sauvegarder pour moi (je ne suis pas sur mon PC) mais autant les partager.
Bon, je le mets là pour les sauvegarder pour moi (je ne suis pas sur mon PC) mais autant les partager.
Réservée aux initiés.
J'avais commencé par faire le tout avec GreaseMonkey mais j'ai eu des probs avec le setTimeout tué par GreaseMonkey.
Du coup, j'ai fais un code très rapide en PHP; Il est fonctionnel (c'était le but).
Mais pour MEGA, le téléchargement coince à la fin, sûrement un prob de compatibilité du au domaine différent (127.0.0.1 dans mon cas).
Du coup Oros m'a aidé à résoudre le problème GreaseMonkey - je n'ai toujours pas compris pourquoi son code fonctionne et pas le mien, … mais au moins son code fonctionne! :
window.setTimeout('function wait() {if(document.getElementsByClassName("new-download-red-button").length==0){setTimeout("wait()",1000);}else{document.getElementsByClassName("new-download-red-button")[0].click();}}wait();', 1000);
Source: https://www.ecirtam.net/links/?XoFKOQ
Ça pourrait sûrement très facilement être entièrement porté à GreaseMonkey du coup …
Pour finir, dans mon cas, pour que ça reste quand même "pratique" (car au moins avec greaseMonkey, aucun clic requis), j'ai, personnellement, tout plein de pages bourrées de ces liens, donc j'ai un quick snippet pour changer tous les liens de la page pour qu'ils passent tous via mon script, et lorsqu'un cas n'est pas géré, mon script redirige vers la page normal.
javascript:var%20links=document.getElementsByTagName('a');for(var%20i%20=%200;%20i%20<%20links.length;%20i++){void(links[i].href%20=%20'http://127.0.0.1/test.php?url='+links[i].href);}
Du coup, j'ai fais un code très rapide en PHP; Il est fonctionnel (c'était le but).
Mais pour MEGA, le téléchargement coince à la fin, sûrement un prob de compatibilité du au domaine différent (127.0.0.1 dans mon cas).
Du coup Oros m'a aidé à résoudre le problème GreaseMonkey - je n'ai toujours pas compris pourquoi son code fonctionne et pas le mien, … mais au moins son code fonctionne! :
window.setTimeout('function wait() {if(document.getElementsByClassName("new-download-red-button").length==0){setTimeout("wait()",1000);}else{document.getElementsByClassName("new-download-red-button")[0].click();}}wait();', 1000);
Source: https://www.ecirtam.net/links/?XoFKOQ
Ça pourrait sûrement très facilement être entièrement porté à GreaseMonkey du coup …
Pour finir, dans mon cas, pour que ça reste quand même "pratique" (car au moins avec greaseMonkey, aucun clic requis), j'ai, personnellement, tout plein de pages bourrées de ces liens, donc j'ai un quick snippet pour changer tous les liens de la page pour qu'ils passent tous via mon script, et lorsqu'un cas n'est pas géré, mon script redirige vers la page normal.
javascript:var%20links=document.getElementsByTagName('a');for(var%20i%20=%200;%20i%20<%20links.length;%20i++){void(links[i].href%20=%20'http://127.0.0.1/test.php?url='+links[i].href);}
C'est génial !
Bonjour tout le monde ! (UGT)
Bonne nuit tout le monde ! (UGT)
Bonjour tout le monde ! (UGT)
Bonne nuit tout le monde ! (UGT)
À voir.
Comment devenir un connard.
Comment devenir un connard.
Beautiful video!
Quelqu'un sait-il ce que ça vaut ça ?
Merci d'avance.
Does anyone knows if that thing is worthy? trustable? Thanks in advance! http://www.youronlinechoices.com/uk/your-ad-choices
Merci d'avance.
Does anyone knows if that thing is worthy? trustable? Thanks in advance! http://www.youronlinechoices.com/uk/your-ad-choices
O_o
A pineapple takes 2-3 years to grow?!! I didn't know!
Faut 2-3 ans à un ananas pour pousser ? Sérieux ? Je savais pas ! :O J'en reviens pas !
A pineapple takes 2-3 years to grow?!! I didn't know!
Faut 2-3 ans à un ananas pour pousser ? Sérieux ? Je savais pas ! :O J'en reviens pas !
OMG!!
Science!
En gros, tu peux voir le son :) cool!
Science!
En gros, tu peux voir le son :) cool!
Merci les gens !!
RP2 était just the best mod out there.
J'ai presque arrêté de jouer à MC lorsque RP2 n'a plus été porté.
Depuis, c'est plutôt par manque de temps que j'y joue beaucoup moins mais bon.
Aussi, j'aurais adoré du Python dans MC. :p (Comme ComputerCraft le fait avec le Lua, mais berk le Lua IMO)
RP2 était just the best mod out there.
J'ai presque arrêté de jouer à MC lorsque RP2 n'a plus été porté.
Depuis, c'est plutôt par manque de temps que j'y joue beaucoup moins mais bon.
Aussi, j'aurais adoré du Python dans MC. :p (Comme ComputerCraft le fait avec le Lua, mais berk le Lua IMO)
I'll just put that here…
Enjoy. :)
PS: Don't mind the miniature/thumbnail. It is wrong.
Enjoy. :)
PS: Don't mind the miniature/thumbnail. It is wrong.
Quoi ?! Relayer le problème en utilisant la connexion via Google/FB & co? C'est une blague ?
J'ai pas encore regardé le reste de la vidéo. :)
J'ai pas encore regardé le reste de la vidéo. :)
I thought I understood it all.
But we fall in the trap, undoubtedly, every so often.
Why is it so hard?
Somethings just need to be told.
Somethings just need to be shut up about it.
Somethings just need to be repeated. (like this video I just shared, once in awhile, it should watch it again)
Once in awhile, you are left all alone, but other than that, you never are all alone. If you want to be helped, do the first step.
Happiness and peace can be found in all situations. ~
Never (gonna) give (you) up.
But we fall in the trap, undoubtedly, every so often.
Why is it so hard?
Somethings just need to be told.
Somethings just need to be shut up about it.
Somethings just need to be repeated. (like this video I just shared, once in awhile, it should watch it again)
Once in awhile, you are left all alone, but other than that, you never are all alone. If you want to be helped, do the first step.
Happiness and peace can be found in all situations. ~
Never (gonna) give (you) up.
*sharing*
*saving*
"YouTube vous demande de vous connecter pour voir une vidéo ? Changez juste dans l'URL "/watch?v=" par "/v/"
Exemple: http://www.youtube.com/watch?v=nje6dcArZrI
changé : http://www.youtube.com/v/nje6dcArZrI
Et c'est tout." -sebsauvage
*saving*
"YouTube vous demande de vous connecter pour voir une vidéo ? Changez juste dans l'URL "/watch?v=" par "/v/"
Exemple: http://www.youtube.com/watch?v=nje6dcArZrI
changé : http://www.youtube.com/v/nje6dcArZrI
Et c'est tout." -sebsauvage
D'accord avec Timo. :p
La grève à 100% c'est ce qu'il faudrait.
Mais peut-on vraiment les blâmer d'être cons (sorry) et pas compris que faire grève à répétition ainsi ne change, au final, rien du tout ?
Non, on ne peut pas leur reprocher, car nous sommes, bien trop souvent, tout aussi (si voir pas plus parfois).
Par exemple on continue d'aller voter et croire en ces cons de politiciens et leur système soit disant "démocratique" (c'est pas être censé le peuple qui gouverne alors ??), on continue à consommer des produits de merde, mauvais pour la santé, pour l'environnement et le "commerce" (car toutes les fortunes convergent vers les grandes multinationales, qui deviennent toujours de plus en plus puissantes et contrôlent nos gouvernements grâce aux lobbys & co), …
Got the idea?
Et +1 Bronco aussi. :)
Enfin, je pense que la grève est bien souvent un moyen de lutte mis en place "officiel". Si c'est encore autorisé, c'est qu'ils savent le contrôler et qu'au final, pour nous, ça ne sert à rien. Pourquoi on ne commencerait pas à faire les choses nous même au lieu de faire la grève, se plaindre, attendre que les maîtres fassent quelque chose, qu'ils ne font ensuite pas, puis on retourne au boulot, forcé et/ou parce qu'il faut continuer à travailler pour se nourrir. (Ça devrait être un droit ça … On a largement les moyens si on arrêtait le gaspillage de masse au profit de la "croissance" infinie (avec des ressources finies, gg!)) (Ou car on a pris goût à une vie de luxe, parfois)
Si par contre, ces grèves sont un chouillas efficaces (ou pourraient l'être) et si elles concernent des services publics, pourquoi n'allons pas tous les défendre ? Plutôt que de laisser les travailleurs directement concernés se défendre eux mêmes et NOUS défendre à notre place ? Comme le dit Bronco: "J'en avais marre d'être méprisé pour les combats que je menais pour les autres."
L'état … c'est un con. Mais la privatisation … à part exceptions, c'est pire.
Car toujours donnée aux géants du Capitalisme, Capitalisme, Capitalisme.
(Via https://www.mypersonnaldata.eu/shaarli/?bM6_qw -> http://tech-services.fr/shartech/?V9bGVw )
La grève à 100% c'est ce qu'il faudrait.
Mais peut-on vraiment les blâmer d'être cons (sorry) et pas compris que faire grève à répétition ainsi ne change, au final, rien du tout ?
Non, on ne peut pas leur reprocher, car nous sommes, bien trop souvent, tout aussi (si voir pas plus parfois).
Par exemple on continue d'aller voter et croire en ces cons de politiciens et leur système soit disant "démocratique" (c'est pas être censé le peuple qui gouverne alors ??), on continue à consommer des produits de merde, mauvais pour la santé, pour l'environnement et le "commerce" (car toutes les fortunes convergent vers les grandes multinationales, qui deviennent toujours de plus en plus puissantes et contrôlent nos gouvernements grâce aux lobbys & co), …
Got the idea?
Et +1 Bronco aussi. :)
Enfin, je pense que la grève est bien souvent un moyen de lutte mis en place "officiel". Si c'est encore autorisé, c'est qu'ils savent le contrôler et qu'au final, pour nous, ça ne sert à rien. Pourquoi on ne commencerait pas à faire les choses nous même au lieu de faire la grève, se plaindre, attendre que les maîtres fassent quelque chose, qu'ils ne font ensuite pas, puis on retourne au boulot, forcé et/ou parce qu'il faut continuer à travailler pour se nourrir. (Ça devrait être un droit ça … On a largement les moyens si on arrêtait le gaspillage de masse au profit de la "croissance" infinie (avec des ressources finies, gg!)) (Ou car on a pris goût à une vie de luxe, parfois)
Si par contre, ces grèves sont un chouillas efficaces (ou pourraient l'être) et si elles concernent des services publics, pourquoi n'allons pas tous les défendre ? Plutôt que de laisser les travailleurs directement concernés se défendre eux mêmes et NOUS défendre à notre place ? Comme le dit Bronco: "J'en avais marre d'être méprisé pour les combats que je menais pour les autres."
L'état … c'est un con. Mais la privatisation … à part exceptions, c'est pire.
Car toujours donnée aux géants du Capitalisme, Capitalisme, Capitalisme.
(Via https://www.mypersonnaldata.eu/shaarli/?bM6_qw -> http://tech-services.fr/shartech/?V9bGVw )
[SPOILER]
My favorite version so far. :D Got so much shocked/disgusted personnally after watching that episode that I'm really glad watching this version now. :)
Ma version préférée jusqu'à présent. :D J'ai tellement été choqué/dégouté personnellement après avoir visionné l'épisode que je suis bien content de voir cette version. :D
My favorite version so far. :D Got so much shocked/disgusted personnally after watching that episode that I'm really glad watching this version now. :)
Ma version préférée jusqu'à présent. :D J'ai tellement été choqué/dégouté personnellement après avoir visionné l'épisode que je suis bien content de voir cette version. :D
Ouais, c'est chiant ça…
Ceci dit, non merci, je ne veux pas utilise les touches directionnelles personnellement.
Étant droitier, ce n'est pas pour rien que ces touches là sont devenues célèbres comme secondes touches de direction.
Je me vois mal avec ma main gauche à droite de mon clavier avec ma main droite pas loin. Enfin c'est ptet une question de préférence habitude. Mais je suis beaucoup plus confortable (habitué ?) lorsque j'ai un main de chaque côté. (Puis ça réduit les mouvements nécessaires. L'air de rien c'est super important. Voir clavier BÉPO & co)
Ce que je trouve par contre que les développeurs auraient du faire depuis longtemps serait de :
1) Normaliser ça.
2) Les assigner à un nom (Les touches gauche, droite, haut et bas sont "souvent" référencables par leur nom non? Sinon évidemment, si c'est uniquement par leur code c'est "too bad"), tel que ALTERNATIVE_LEFT ou quelques chose ainsi, qui varieraient donc dynamiquement d'un clavier AZERTY à un clavier QWERTY. Etc.
Ou alors faut tenter de se venger et sortir plein de jeux avec les touches QZSD par défaut. Lulz. (#rire_jaune)
Ceci dit, non merci, je ne veux pas utilise les touches directionnelles personnellement.
Étant droitier, ce n'est pas pour rien que ces touches là sont devenues célèbres comme secondes touches de direction.
Je me vois mal avec ma main gauche à droite de mon clavier avec ma main droite pas loin. Enfin c'est ptet une question de préférence habitude. Mais je suis beaucoup plus confortable (habitué ?) lorsque j'ai un main de chaque côté. (Puis ça réduit les mouvements nécessaires. L'air de rien c'est super important. Voir clavier BÉPO & co)
Ce que je trouve par contre que les développeurs auraient du faire depuis longtemps serait de :
1) Normaliser ça.
2) Les assigner à un nom (Les touches gauche, droite, haut et bas sont "souvent" référencables par leur nom non? Sinon évidemment, si c'est uniquement par leur code c'est "too bad"), tel que ALTERNATIVE_LEFT ou quelques chose ainsi, qui varieraient donc dynamiquement d'un clavier AZERTY à un clavier QWERTY. Etc.
Ou alors faut tenter de se venger et sortir plein de jeux avec les touches QZSD par défaut. Lulz. (#rire_jaune)
Comprenne qui pourra. :)
Et toc!
À propos de:
A Popular Ad Blocker Also Helps the Ad Industry | MIT Technology Review [5]
http://www.technologyreview.com/news/516156/a-popular-ad-blocker-also-helps-the-ad-industry/
------------------------------------
Un article vous paraît louche ?
Vous voulez avoir l'opinion d'autres personnes, peut-être plus informées que vous ?
Bref, vous aimerez soit plus d'informations pour vous forger votre propre opinion et/ou vous n'avez pas trop envie de vous taper la lecture de ce tl;dr ?
Ben si vous avez de la chance, d'autres l'ont déjà commenté. Il y a plusieurs façons de vérifier ça. ☺
Comme par exemple, copier/coller le lien dans shaarli.fr.
Alors dans ce cas ci, je peux voir que des personnes ont, du coup, fuient Ghostery, mais sebsauvage nous donne, ce qui ressemble à, une analyse pertinente allant dans le sens opposé de l'article.
Et vu que l'article est tl;dr, je crois que je me fierais à sebsauvage et aux commentaires trouvé sur la source (commentaires que j'avais zappé, j'avais directement cliqué sur le lien, intrigué).
Via: https://news.ycombinator.com/item?id=7811455
A Popular Ad Blocker Also Helps the Ad Industry | MIT Technology Review [5]
http://www.technologyreview.com/news/516156/a-popular-ad-blocker-also-helps-the-ad-industry/
------------------------------------
Un article vous paraît louche ?
Vous voulez avoir l'opinion d'autres personnes, peut-être plus informées que vous ?
Bref, vous aimerez soit plus d'informations pour vous forger votre propre opinion et/ou vous n'avez pas trop envie de vous taper la lecture de ce tl;dr ?
Ben si vous avez de la chance, d'autres l'ont déjà commenté. Il y a plusieurs façons de vérifier ça. ☺
Comme par exemple, copier/coller le lien dans shaarli.fr.
Alors dans ce cas ci, je peux voir que des personnes ont, du coup, fuient Ghostery, mais sebsauvage nous donne, ce qui ressemble à, une analyse pertinente allant dans le sens opposé de l'article.
Et vu que l'article est tl;dr, je crois que je me fierais à sebsauvage et aux commentaires trouvé sur la source (commentaires que j'avais zappé, j'avais directement cliqué sur le lien, intrigué).
Via: https://news.ycombinator.com/item?id=7811455
Oooouh, je connaissais pas inspect.getsource, c'est génial. ^-^
Petit guide d'optimisation en Python.
Nice reading.
Nice reading.
AttributeError: 'itertools.count' object has no attribute 'next'
Arf …
Le code suivant ne fonctionne donc plus en Python 3 :
>>> import itertools, collections
>>> value_to_numeric_map = collections.defaultdict(itertools.count().next)
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
>>> value_to_numeric_map['c']
2
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
La première solution venant à l'esprit serait d'avoir à instancier une variable :
>>> c = itertools.count()
>>> value_to_numeric_map = collections.defaultdict(lambda a: next(c))
Et ça fonctionne très bien.
Mais personnellement, je préfère lorsque ça reste one-line, donc voici une alternative one-line :
J'utilise lambda pour créer une encapsulation (closure).
value_to_numeric_map = collections.defaultdict((lambda c: (lambda: next(c)))(itertools.count()))
Arf …
Le code suivant ne fonctionne donc plus en Python 3 :
>>> import itertools, collections
>>> value_to_numeric_map = collections.defaultdict(itertools.count().next)
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
>>> value_to_numeric_map['c']
2
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
La première solution venant à l'esprit serait d'avoir à instancier une variable :
>>> c = itertools.count()
>>> value_to_numeric_map = collections.defaultdict(lambda a: next(c))
Et ça fonctionne très bien.
Mais personnellement, je préfère lorsque ça reste one-line, donc voici une alternative one-line :
J'utilise lambda pour créer une encapsulation (closure).
value_to_numeric_map = collections.defaultdict((lambda c: (lambda: next(c)))(itertools.count()))
Ouuuuuh, y a des trucs vachement chouettes !
Comme "1.14 Grouping adjacent list items using zip", c'est brillant, utilisé plusieurs instances du même objet iter pour regrouper les éléments ensemble. <3 (Même si j'avoue que la deuxième méthode est ptet plus lisible :D )
Ou "1.30 Using default dictionaries to represent simple trees" : Miam !
Etc.
(via http://sebsauvage.net/links/?3ASd0g )
Comme "1.14 Grouping adjacent list items using zip", c'est brillant, utilisé plusieurs instances du même objet iter pour regrouper les éléments ensemble. <3 (Même si j'avoue que la deuxième méthode est ptet plus lisible :D )
Ou "1.30 Using default dictionaries to represent simple trees" : Miam !
Etc.
(via http://sebsauvage.net/links/?3ASd0g )
Lien précédent : http://www.olissea.com/mb/links/1/?ibR8_g
EDIT: J'ai trouvé ce problème ceci dit: https://bugs.php.net/bug.php?id=65045
Mais j'ignore si je suis vraiment concerné : ça dépend en effet si mon script capture ces séquences à problèmes mais il me semble qu'il ne capture que les séquences valides de 4 bytes, donc pas de problème normalement.
Également, j'ai pas trop compris comment ça se fait, mais lorsque j'applique htmlspecialchars sur les séquences données sur la page, l'output n'est pas vide. Ne devrait-il pas l'être (vu que htmlspecialchars renvoie stupidement une chaîne vide lorsqu'il reçoit de l'UTF-8 invalide normalement ?).
Mmmmmh.
</EDIT>
"Plop.
Après mainte péripéties et échecs, je pense avoir trouver quelque chose de "potable".
Voir le code avec coloration syntaxique (un peu différent, manque une source) : http://sebsauvage.net/paste/?e249576d75ee9946#jBpv2UCufTQ4UC2WnTtM11gfolfGkQi61brf11pFORU=
<?php
# "😒" est codé sur 4 bytes
$body = 'lol😒a☺';
echo 'before: ',$body,'<br />'; # Output: lol😒a☺
echo 'length: ',strlen($body),'<br />'; # Output: 11 (😒 = 4, ☺ = 3)
# Le but est de remplacer uniquement les caractères de plus de 3 bytes par leur entité HTML.
# Afin d'obtenir ce code dans le cas de notre exemple
echo '😒','<br />'; # Fourni par https://duckduckgo.com/?q=html+%F0%9F%98%92
# Récupération des caractères de plus de 3 bytes uniquement
# Source: http://stackoverflow.com/a/1401716/1524913
# $body = preg_replace('/[\xF0-\xF7][\x80-\xBF]{3}/', '�', $body); # Yeah! It works!
# Ne fonctionne pas. htmlentities ne connaît pas tous les caractères unicode ( http://stackoverflow.com/a/13942507/1524913 )
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return htmlentities($m[0], ENT_COMPAT, 'UTF-8');}, $body); # Ignore complètement 😒
# La solution proposée au lien précédemment cité : Ne fonctionne pas non plus
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return str_replace('\\u','&#x',trim(json_encode($m[0]),'"')).';';}, $body);
# Output: lol��a☺ car json_encode considère ça comme deux caractères de deux bytes et renvoie "\ud83d\ude12"
# Ne fonctionne pas ( http://php.net/manual/en/function.htmlentities.php#107985 )
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return mb_encode_numericentity($m[0], array(0x0, 0xffff, 0, 0xffff), 'UTF-8');}, $body); # Ignore complètement 😒
# Fonctionne !!! Mais renvoie 😒 au lieu de 😒 (Pas vraiment un problème en soit)
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return mb_convert_encoding($m[0], 'HTML-ENTITIES', 'UTF-8');}, $body);
# Si on veut vraiment la version hexadécimal
$body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return '&#x'.dechex(substr(mb_convert_encoding($m[0], 'HTML-ENTITIES', 'UTF-8'), 2)).';';}, $body);
echo 'after: ',$body,'<br />'; # Output: lol😒a☺
?> "
EDIT: J'ai trouvé ce problème ceci dit: https://bugs.php.net/bug.php?id=65045
Mais j'ignore si je suis vraiment concerné : ça dépend en effet si mon script capture ces séquences à problèmes mais il me semble qu'il ne capture que les séquences valides de 4 bytes, donc pas de problème normalement.
Également, j'ai pas trop compris comment ça se fait, mais lorsque j'applique htmlspecialchars sur les séquences données sur la page, l'output n'est pas vide. Ne devrait-il pas l'être (vu que htmlspecialchars renvoie stupidement une chaîne vide lorsqu'il reçoit de l'UTF-8 invalide normalement ?).
Mmmmmh.
</EDIT>
"Plop.
Après mainte péripéties et échecs, je pense avoir trouver quelque chose de "potable".
Voir le code avec coloration syntaxique (un peu différent, manque une source) : http://sebsauvage.net/paste/?e249576d75ee9946#jBpv2UCufTQ4UC2WnTtM11gfolfGkQi61brf11pFORU=
<?php
# "😒" est codé sur 4 bytes
$body = 'lol😒a☺';
echo 'before: ',$body,'<br />'; # Output: lol😒a☺
echo 'length: ',strlen($body),'<br />'; # Output: 11 (😒 = 4, ☺ = 3)
# Le but est de remplacer uniquement les caractères de plus de 3 bytes par leur entité HTML.
# Afin d'obtenir ce code dans le cas de notre exemple
echo '😒','<br />'; # Fourni par https://duckduckgo.com/?q=html+%F0%9F%98%92
# Récupération des caractères de plus de 3 bytes uniquement
# Source: http://stackoverflow.com/a/1401716/1524913
# $body = preg_replace('/[\xF0-\xF7][\x80-\xBF]{3}/', '�', $body); # Yeah! It works!
# Ne fonctionne pas. htmlentities ne connaît pas tous les caractères unicode ( http://stackoverflow.com/a/13942507/1524913 )
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return htmlentities($m[0], ENT_COMPAT, 'UTF-8');}, $body); # Ignore complètement 😒
# La solution proposée au lien précédemment cité : Ne fonctionne pas non plus
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return str_replace('\\u','&#x',trim(json_encode($m[0]),'"')).';';}, $body);
# Output: lol��a☺ car json_encode considère ça comme deux caractères de deux bytes et renvoie "\ud83d\ude12"
# Ne fonctionne pas ( http://php.net/manual/en/function.htmlentities.php#107985 )
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return mb_encode_numericentity($m[0], array(0x0, 0xffff, 0, 0xffff), 'UTF-8');}, $body); # Ignore complètement 😒
# Fonctionne !!! Mais renvoie 😒 au lieu de 😒 (Pas vraiment un problème en soit)
# $body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return mb_convert_encoding($m[0], 'HTML-ENTITIES', 'UTF-8');}, $body);
# Si on veut vraiment la version hexadécimal
$body = preg_replace_callback('/[\xF0-\xF7][\x80-\xBF]{3}/', function($m){return '&#x'.dechex(substr(mb_convert_encoding($m[0], 'HTML-ENTITIES', 'UTF-8'), 2)).';';}, $body);
echo 'after: ',$body,'<br />'; # Output: lol😒a☺
?> "
Any idea anyone? (Thanks in advance :))
EDIT: Solution: http://www.olissea.com/mb/links/1/?_F3x0g
EDIT: J'ai trouvé ça mais ça ne fonctionne pas chez moi malheureusement . :( J'ignore pourquoi. http://webcollab.sourceforge.net/unicode.html ( Character Validation )
"Helloooo
Quelqu'un aurait-il une idée afin de stocker de l'UTF-8 façon correcte avec MySQL d'une version antérieur à MySQL 5.5 ?
Background: Avant MySQL5.5, il n'y a que l'option utf8 et non l'option utf8mb4 permettant (enfin!) de stocker des caractères codés sur 4 bytes ("I wish I was kidding" - Source ).
What I've tried so far / Ce que j'ai déjà essayé :
J'avais pensé à peut-être utilisé un champ de type BINARY (ou BLOB), ce qui me permettrait d'y stocker ce que j'y veux (le problème serait donc résolu) mais cela apporte aussi son lot d'inconvénients…
- Memory overhead pour accéder à des champs de type TEXT ou BLOB. (Boarf, pas très grave, j'utilise déjà un champ TEXT)
- Impossibilité d'utiliser ses champs dans une clause WHERE et donc, je suppose, également dans un LIKE afin de faire une recherche dans la base de données. Right?
(J'aurais du garder les sources parlant de ces dits inconvénients… sorry)
Côté PHP je pourrais essayer de détecter les caractères sur 4 bytes (ça serait lourd par contre) mais j'ignore même ce que j'en ferais… Les convertir en entité HTML ?
Je refuse de me mettre à utiliser htmlentities au lieu d'htmlspecialchars :( (fin, ça serait trop triste quoi)"
EDIT: Solution: http://www.olissea.com/mb/links/1/?_F3x0g
EDIT: J'ai trouvé ça mais ça ne fonctionne pas chez moi malheureusement . :( J'ignore pourquoi. http://webcollab.sourceforge.net/unicode.html ( Character Validation )
"Helloooo
Quelqu'un aurait-il une idée afin de stocker de l'UTF-8 façon correcte avec MySQL d'une version antérieur à MySQL 5.5 ?
Background: Avant MySQL5.5, il n'y a que l'option utf8 et non l'option utf8mb4 permettant (enfin!) de stocker des caractères codés sur 4 bytes ("I wish I was kidding" - Source ).
What I've tried so far / Ce que j'ai déjà essayé :
J'avais pensé à peut-être utilisé un champ de type BINARY (ou BLOB), ce qui me permettrait d'y stocker ce que j'y veux (le problème serait donc résolu) mais cela apporte aussi son lot d'inconvénients…
- Memory overhead pour accéder à des champs de type TEXT ou BLOB. (Boarf, pas très grave, j'utilise déjà un champ TEXT)
- Impossibilité d'utiliser ses champs dans une clause WHERE et donc, je suppose, également dans un LIKE afin de faire une recherche dans la base de données. Right?
(J'aurais du garder les sources parlant de ces dits inconvénients… sorry)
Côté PHP je pourrais essayer de détecter les caractères sur 4 bytes (ça serait lourd par contre) mais j'ignore même ce que j'en ferais… Les convertir en entité HTML ?
Je refuse de me mettre à utiliser htmlentities au lieu d'htmlspecialchars :( (fin, ça serait trop triste quoi)"
Chouette lecture.
Important à savoir pour le bon vivre de toute communauté grandissante.
Je ne suis pas d'accord avec tout ceci dit. :)
Moi même ayant posé certaines de ces questions par le passé par exemple. (section "question impossible") Et même si je ne poserais pas ce genre de question sur Stack Overflow (par exemple) - et ça se comprend pourquoi mais lorsque j'ai personnellement posé ces questions (y a longtemps) c'était avec sincérité, car il faut commencer par là, quand on ne sait rien (et rien de mal à ça, on débute tous quelque part), histoire d'avoir les grandes lignes, des indications par où commencer, …
Important à savoir pour le bon vivre de toute communauté grandissante.
Je ne suis pas d'accord avec tout ceci dit. :)
Moi même ayant posé certaines de ces questions par le passé par exemple. (section "question impossible") Et même si je ne poserais pas ce genre de question sur Stack Overflow (par exemple) - et ça se comprend pourquoi mais lorsque j'ai personnellement posé ces questions (y a longtemps) c'était avec sincérité, car il faut commencer par là, quand on ne sait rien (et rien de mal à ça, on débute tous quelque part), histoire d'avoir les grandes lignes, des indications par où commencer, …
Bronco: "Une petite idée d'amélioration possible pour pickypaste: serait-il possible d'étendre la durée de validité du message pour le user ? (ou de cocher une case "permettre au destinataire de prolonger la durée de validité")
ça permettrait de ne pas perdre direct le message si on n'a pas le temps d'y répondre dès la lecture ^^"
J'aime beaucoup l'idée (si je l'ai bien comprise), mais je ne vois pas trop (pas encore ?) comment on pourrait implémenter ça par contre…
(Le fait que PickyPaste utilise un zerobin externe au lieu d'être un fork de zerobin limite quelques possibilités ou rend les choses plus complexes...)
ça permettrait de ne pas perdre direct le message si on n'a pas le temps d'y répondre dès la lecture ^^"
J'aime beaucoup l'idée (si je l'ai bien comprise), mais je ne vois pas trop (pas encore ?) comment on pourrait implémenter ça par contre…
(Le fait que PickyPaste utilise un zerobin externe au lieu d'être un fork de zerobin limite quelques possibilités ou rend les choses plus complexes...)
Juste avoir une fonction correcte, facile à utiliser, qui ne me renvoie pas une chaîne de caractère vide si l'input contient de l'utf-8 invalide.
Et, dût ma contrainte technique, la seule alternative que j'ai (ENT_IGNORE) est déconseillée … Doh.
( EDIT: [Je raconte ma vie]
Pis PHP ne cesse de m'épater dans le mauvais sens et plus j'investigue plus j'suis aberré.
M'enfin … ça n'a pas que du mauvais, ça m'aide à me forcer à faire plus de Python et moins de PHP.
Pour ceux qui continuent à me demander pourquoi je fais encore du PHP je répondrais que les vieilles habitudes ont la vie dure, qu'il faudrait que je transcrive tout mes scripts PHP vers Python, c'est beaucoup de boulot … tellement qu'on préfère souvent la simplicité de continuer les vieilles habitudes et/ou quand on a pas le choix / temps et qu'on a besoin que qu'une appli ou autre soit fonctionnelle dans les temps. Et malheureusement, j'ai encore trop de setup à faire pour que je puisse le faire via Python, mais ça vient ptit à ptit. ☺
)
EDIT 2:
Je pense que le plus simple/efficace serait, comme je l'avais fait une fois sans vraiment avoir étudier la question en profondeur, serait de juste réimplémenter la fonction via str_replace qui lui est apparemment 100% utf-8 safe.
À vérifier.
Et, dût ma contrainte technique, la seule alternative que j'ai (ENT_IGNORE) est déconseillée … Doh.
( EDIT: [Je raconte ma vie]
Pis PHP ne cesse de m'épater dans le mauvais sens et plus j'investigue plus j'suis aberré.
M'enfin … ça n'a pas que du mauvais, ça m'aide à me forcer à faire plus de Python et moins de PHP.
Pour ceux qui continuent à me demander pourquoi je fais encore du PHP je répondrais que les vieilles habitudes ont la vie dure, qu'il faudrait que je transcrive tout mes scripts PHP vers Python, c'est beaucoup de boulot … tellement qu'on préfère souvent la simplicité de continuer les vieilles habitudes et/ou quand on a pas le choix / temps et qu'on a besoin que qu'une appli ou autre soit fonctionnelle dans les temps. Et malheureusement, j'ai encore trop de setup à faire pour que je puisse le faire via Python, mais ça vient ptit à ptit. ☺
)
EDIT 2:
Je pense que le plus simple/efficace serait, comme je l'avais fait une fois sans vraiment avoir étudier la question en profondeur, serait de juste réimplémenter la fonction via str_replace qui lui est apparemment 100% utf-8 safe.
À vérifier.
J'essaie de trouver quelle serait la meilleure utilisation de htmlspecialchars si on ne possède pas encore PHP 5.4 (contraintes techniques).
D'une part, par défaut, si vous passez une chaîne contenant de l'UTF-8 invalide, htmlspecialchars vous retournera une chaîne complètement vide. ("Pratique")
Pour remédier à ça, il vous faut utiliser ENT_IGNORE ou ENT_SUBSTITUTE. ........ MAIS la doc déconseille l'utilisation de ENT_IGNORE pour des raisons de sécurité. ( http://unicode.org/reports/tr36/#Deletion_of_Noncharacters )
(Source: http://stackoverflow.com/q/11088953/1524913 )
Seulement voilà, ENT_SUBSTITUE est uniquement disponible à partir de PHP 5.4.0. (Donc je fais quoi… ?)
Notez égaaaaaaalement qu'il est impossible de spécifier les paramètres par défaut de htmlspecialchars et qu'il vaudrait mieux donc que vous créez votre propre wrapper.
Puis j'ai également trouvé cette perle … jugez par vous-même. ._."
"Error handling in htmlspecialchars before PHP 5.4 was … uhm, let’s call it “unintuitive”:
If you passed a string containing an “invalid code unit sequence” (which is Unicode slang for “not encoded correctly”) htmlspecialchars would return an empty string. Well, okay, so far so good. The funny thing was that it additionally would throw an error, but only if error display was disabled. So it would only error if errors are hidden. Nice, innit?"
(Source: http://nikic.github.io/2012/01/28/htmlspecialchars-improvements-in-PHP-5-4.html)
Cette page-ci n'est pas mal non plus: http://stackoverflow.com/q/13745353/1524913
D'une part, par défaut, si vous passez une chaîne contenant de l'UTF-8 invalide, htmlspecialchars vous retournera une chaîne complètement vide. ("Pratique")
Pour remédier à ça, il vous faut utiliser ENT_IGNORE ou ENT_SUBSTITUTE. ........ MAIS la doc déconseille l'utilisation de ENT_IGNORE pour des raisons de sécurité. ( http://unicode.org/reports/tr36/#Deletion_of_Noncharacters )
(Source: http://stackoverflow.com/q/11088953/1524913 )
Seulement voilà, ENT_SUBSTITUE est uniquement disponible à partir de PHP 5.4.0. (Donc je fais quoi… ?)
Notez égaaaaaaalement qu'il est impossible de spécifier les paramètres par défaut de htmlspecialchars et qu'il vaudrait mieux donc que vous créez votre propre wrapper.
Puis j'ai également trouvé cette perle … jugez par vous-même. ._."
"Error handling in htmlspecialchars before PHP 5.4 was … uhm, let’s call it “unintuitive”:
If you passed a string containing an “invalid code unit sequence” (which is Unicode slang for “not encoded correctly”) htmlspecialchars would return an empty string. Well, okay, so far so good. The funny thing was that it additionally would throw an error, but only if error display was disabled. So it would only error if errors are hidden. Nice, innit?"
(Source: http://nikic.github.io/2012/01/28/htmlspecialchars-improvements-in-PHP-5-4.html)
Cette page-ci n'est pas mal non plus: http://stackoverflow.com/q/13745353/1524913
Petite mise à jour de PickyPaste.
La version indev (le lien que je viens de passer), renvoie le lien vers la version indev, c'est mieux.
À la proposition de Bronco, j'ai rajouté un chtit lien "Répondre via PickyPaste" si l'utilisateur a spécifié son adresse email.
Voilà, c'tout.
La version indev (le lien que je viens de passer), renvoie le lien vers la version indev, c'est mieux.
À la proposition de Bronco, j'ai rajouté un chtit lien "Répondre via PickyPaste" si l'utilisateur a spécifié son adresse email.
Voilà, c'tout.
Pu****, je ne dois sûrement pas être le premier à me plaindre.
"Votre mot de passe ne peut excéder plus de 16 caractères" WTF?!!
"Votre mot de passe contient des caractères illégaux" RE-WTF?!!
Si c'est pas super évident qu'ils stockent les mots de passes en clair ces saligauds…
Oui, je sais, je devrais quitter le navire. Pff.
"Votre mot de passe ne peut excéder plus de 16 caractères" WTF?!!
"Votre mot de passe contient des caractères illégaux" RE-WTF?!!
Si c'est pas super évident qu'ils stockent les mots de passes en clair ces saligauds…
Oui, je sais, je devrais quitter le navire. Pff.
Quelle connerie…
J'ai ris à la fin par contre, le grand n'importe quoi :
"You’re as French as the fake Eiffel Tower in Las Vegas. You’re probably a sweet, enthusiastic and optimistic human being, and that’s precisely why France isn’t a place for you. Try Belgium instead."
Ahahah, la belle ironie ! =)
… On est HUMAINS avant tout. -.-'
Je devrais juste dire être vivant même je trouve.
(via http://shaarli.warriordudimanche.net/?f2J0Aw )
J'ai ris à la fin par contre, le grand n'importe quoi :
"You’re as French as the fake Eiffel Tower in Las Vegas. You’re probably a sweet, enthusiastic and optimistic human being, and that’s precisely why France isn’t a place for you. Try Belgium instead."
Ahahah, la belle ironie ! =)
… On est HUMAINS avant tout. -.-'
Je devrais juste dire être vivant même je trouve.
(via http://shaarli.warriordudimanche.net/?f2J0Aw )
À faire tourner.
Chouette lorsque l'infographie sert à faire changer les choses, à informer les gens. :)
Par contre … une pétition ??
J'y crois pas trop là. :/
Ouais si ça fait assez buzz, des "élus" vont "peut-être" se jeter sur l'affaire juste histoire de faire bonne image pour les prochaines élections. C'tout.
(via http://shaarli.warriordudimanche.net/?t9stVw )
Chouette lorsque l'infographie sert à faire changer les choses, à informer les gens. :)
Par contre … une pétition ??
J'y crois pas trop là. :/
Ouais si ça fait assez buzz, des "élus" vont "peut-être" se jeter sur l'affaire juste histoire de faire bonne image pour les prochaines élections. C'tout.
(via http://shaarli.warriordudimanche.net/?t9stVw )
Site qui a l'air intéressant et contenant pas mal d'astuces et des news types "bonnes nouvelles" (et ça c'est chouette) …
Mais qui manque cruellement de sources dans beaucoup d'articles. :/
Au moins les pistes données ont l'avantages d'être intéressantes, donc je suis presque sûr qu'avec un peu d'effort personnel et de recherches sur le net, il y a moyen de confirmer (plus sérieusement / scientifiquement / whatev) quelques chouettes infos.
Mais qui manque cruellement de sources dans beaucoup d'articles. :/
Au moins les pistes données ont l'avantages d'être intéressantes, donc je suis presque sûr qu'avec un peu d'effort personnel et de recherches sur le net, il y a moyen de confirmer (plus sérieusement / scientifiquement / whatev) quelques chouettes infos.
Encore un chouette article de jefaispeuralafoule.
Des solutions contre l'abstraction qui nous ronge ? Quelqu'un ?
Selon moi, en effet, c'est un mal fort répandu.
(Le commentaire que j'ai posté sur l'article:
"
Merci pour la lecture.
" bref tout ceux qui renient les politiciens en place peuvent nous amener à revoir de tels mouvements."
Pas toujours non. Les "mauvais" (désolé pour le raccourcis manichéen) emploient quasiment toujours cette méthodologie, oui.
Mais être contre l'ensemble ou une grande partie du système établi (dépend beaucoup de la définition qu'on donne à ce mot) n'implique en rien être de ceux là.
On ne voit pratiquement que ceux qui sont sous les feux de la rampe, ils ne sont pas bons et utilisent ces méthodes. Donc les gens associent ces paroles à "ce sont donc de mauvaises personnes", mais je dirais que, non, méfiance, c'est pas toujours le cas.
Et c'est, peut-être, un effet voulu: afin de démonter ceux qui oseraient remettre en question X, créons de faux personnages vils et dangereux qui remettront également en question X et le peuple fera l'association, bannissant ainsi tout ceux osant remettre X en question, même les "bons".
:) Juste mon humble opinion. À chacun de se forger sa propre opinion.
J'aime bien ton dernier paragraphe à propos du fait que demain nous serons ferons aussi partie du passé et nous serons regardés et jugés avec la même froideur. Je n'ai personnellement pas trop envie que dans le futur ils disent de nous "Mais qu'est-ce qu'ils ont foutu ?" ou "Mais pourquoi n'ont-ils pas réagis ?", etc.
")
Des solutions contre l'abstraction qui nous ronge ? Quelqu'un ?
Selon moi, en effet, c'est un mal fort répandu.
(Le commentaire que j'ai posté sur l'article:
"
Merci pour la lecture.
" bref tout ceux qui renient les politiciens en place peuvent nous amener à revoir de tels mouvements."
Pas toujours non. Les "mauvais" (désolé pour le raccourcis manichéen) emploient quasiment toujours cette méthodologie, oui.
Mais être contre l'ensemble ou une grande partie du système établi (dépend beaucoup de la définition qu'on donne à ce mot) n'implique en rien être de ceux là.
On ne voit pratiquement que ceux qui sont sous les feux de la rampe, ils ne sont pas bons et utilisent ces méthodes. Donc les gens associent ces paroles à "ce sont donc de mauvaises personnes", mais je dirais que, non, méfiance, c'est pas toujours le cas.
Et c'est, peut-être, un effet voulu: afin de démonter ceux qui oseraient remettre en question X, créons de faux personnages vils et dangereux qui remettront également en question X et le peuple fera l'association, bannissant ainsi tout ceux osant remettre X en question, même les "bons".
:) Juste mon humble opinion. À chacun de se forger sa propre opinion.
J'aime bien ton dernier paragraphe à propos du fait que demain nous serons ferons aussi partie du passé et nous serons regardés et jugés avec la même froideur. Je n'ai personnellement pas trop envie que dans le futur ils disent de nous "Mais qu'est-ce qu'ils ont foutu ?" ou "Mais pourquoi n'ont-ils pas réagis ?", etc.
")
Ploum ne cesse de me surprendre … en bien … comme en mal malheureusement ._.
Bref, amis, comme pour tout et toujours, garder votre esprit critique et forger vous votre propre opinion.
J'ignore si parler de lui est juste car ça lui fait de la pub involontaire en même temps. Mouarf.
Du coup (sans avoir suivit l'histoire de près du tout), je crois rejoindre un peu llm/Cartesis (à moins qu'il n'y ai eu un retournement de situation).
EDIT: Oui, j'ai notamment créé ce shaarlien suite à ma lecture de son billet sur Laurent Louis, je ne voulais pas l'évoquer car je sais que par son 'courage' (ou stupidité), (et ce malgré, oui, certaines erreurs qu'ils auraient commis (c'est pas comme si les autres n'en faisaient pas, il est humain aussi hein), il ose aborder des sujets gros, très gros et il y va de franc parler.
Il est facile de se faire un jugement trop rapides. Mais plus les mensonges sont gros (pas les siens), plus les gens les gobent.
Autant, Lionel, tu oses démonter certains grands piliers intouchables de notre société, autant peut-être a-t-il eu plus de 'guts' que tu n'en a et/ou, (façon d'interpréter les choses) tu n'as pas encore pousser certaines réflexions assez loin et, toi aussi, comme tout humains que nous sommes, croient encore en certains mensonges gros comme des maisons.
Alternativement, et sachant les dégâts qu'il occasionnait à ces monopoles, tu es ptet juste tomber sur certains (un ?) des nombreux articles tentant de le détruire, le ridiculiser, …
Je ne pense pas que tu fais parties de ceux-là, je pense juste que, comme cela arrive à nombreux d'entre nous dans nombreux sujets, tu es juste un idiot utile pour le coup. C'est triste.
Bref, amis, comme pour tout et toujours, garder votre esprit critique et forger vous votre propre opinion.
J'ignore si parler de lui est juste car ça lui fait de la pub involontaire en même temps. Mouarf.
Du coup (sans avoir suivit l'histoire de près du tout), je crois rejoindre un peu llm/Cartesis (à moins qu'il n'y ai eu un retournement de situation).
EDIT: Oui, j'ai notamment créé ce shaarlien suite à ma lecture de son billet sur Laurent Louis, je ne voulais pas l'évoquer car je sais que par son 'courage' (ou stupidité), (et ce malgré, oui, certaines erreurs qu'ils auraient commis (c'est pas comme si les autres n'en faisaient pas, il est humain aussi hein), il ose aborder des sujets gros, très gros et il y va de franc parler.
Il est facile de se faire un jugement trop rapides. Mais plus les mensonges sont gros (pas les siens), plus les gens les gobent.
Autant, Lionel, tu oses démonter certains grands piliers intouchables de notre société, autant peut-être a-t-il eu plus de 'guts' que tu n'en a et/ou, (façon d'interpréter les choses) tu n'as pas encore pousser certaines réflexions assez loin et, toi aussi, comme tout humains que nous sommes, croient encore en certains mensonges gros comme des maisons.
Alternativement, et sachant les dégâts qu'il occasionnait à ces monopoles, tu es ptet juste tomber sur certains (un ?) des nombreux articles tentant de le détruire, le ridiculiser, …
Je ne pense pas que tu fais parties de ceux-là, je pense juste que, comme cela arrive à nombreux d'entre nous dans nombreux sujets, tu es juste un idiot utile pour le coup. C'est triste.
Si vous envisagez d'adopter un animal (chat, chien, …), trop souvent on pense uniquement à la version bébé de ceux-ci (chatons, chiots, …) et on oublie/rejette les plus vieux/les moins souvent acceptés qui sont pourtant bien souvent tout aussi aimables, aimants et au moins vous savez ce que vous obtenez (alors qu'en contre-partie vous ne savez pas comment deviendra votre chaton, chiot, …)
Rooh, moi j'trouve ça chouette comme nom :p
T'aime pas ? :3 ahaha
Tu devrais déposer la marque (ou pas. Vive le libre ! Nanananana!)
T'aime pas ? :3 ahaha
Tu devrais déposer la marque (ou pas. Vive le libre ! Nanananana!)
Un petit Minecraft codé en 500 lignes Python.
Depuis le projet a grossit et contient + de 8000 lignes.
Depuis le projet a grossit et contient + de 8000 lignes.
Ok, so there's no fucking way to sanitize filenames out there?
I've been mainly looking for Python solutions but still it feels like there is none.
I mean, I'm talking about solutions that would be offered by the system itself, so that you don't have to code a sanitizer yourself for each existing os possible.
Doh!
EDIT: This is a nice solution if you don't care both about loosing completely (but reversible) the original filename and readability for humans.
http://stackoverflow.com/a/295150/1524913
I've been mainly looking for Python solutions but still it feels like there is none.
I mean, I'm talking about solutions that would be offered by the system itself, so that you don't have to code a sanitizer yourself for each existing os possible.
Doh!
EDIT: This is a nice solution if you don't care both about loosing completely (but reversible) the original filename and readability for humans.
http://stackoverflow.com/a/295150/1524913
Je trouve que les opérations SQL s’effectuant sur l’ensemble d’une table et qui affecte celle-ci, on devrait être obligé de l’indiquer explicitement et non implicitement comme c’est le cas pour le moment …
Je parle de faire une DELETE ou un UPDATE sans spécifier de clause WHERE (et donc affecter toute la table) par inadvertance.
En effet, l’erreur/l’oubli étant humain, il est beaucoup plus simple de commencer à écrire sa requête puis oublier de spécifier la clause WHERE.
Alors que si on était obligé de spécifier, par exemple, un simple ALL, l'erreur se produirait bien moins souvent et l'oubli ne ferait rien de critique.
C'est peu contraignant et ça sauverait des vies.
Je trouve que c'est vraiment un cas de bad design. Ça serait facile à implémenter en plus.
Je parle de faire une DELETE ou un UPDATE sans spécifier de clause WHERE (et donc affecter toute la table) par inadvertance.
En effet, l’erreur/l’oubli étant humain, il est beaucoup plus simple de commencer à écrire sa requête puis oublier de spécifier la clause WHERE.
Alors que si on était obligé de spécifier, par exemple, un simple ALL, l'erreur se produirait bien moins souvent et l'oubli ne ferait rien de critique.
C'est peu contraignant et ça sauverait des vies.
Je trouve que c'est vraiment un cas de bad design. Ça serait facile à implémenter en plus.
Tiens, … fonctionnalité intéressante.
Permet de scan du code PHP et le décomposer.
[Caca PHP, oui je sais …]
Permet de scan du code PHP et le décomposer.
[Caca PHP, oui je sais …]
Encore une très chouette vidéo de VSauce.
Si vous ne connaissez pas cette chaîne youtube, allez voir ! :) Toujours très enrichissant.
Si vous ne connaissez pas cette chaîne youtube, allez voir ! :) Toujours très enrichissant.
Quoi ? :p
Quelqu'un oserait-il dire que le gouvernement souffre de troubles psychologiques ? :OOO
#ROFL :3
#drole_triste_mais_vrai
Quelqu'un oserait-il dire que le gouvernement souffre de troubles psychologiques ? :OOO
#ROFL :3
#drole_triste_mais_vrai
Message de la part de Shaaf pour sebsauvage:
"Simple et sympathique. J'essayerai le soft.
Juste une erreur originale de rédaction dans la faq : En lisant "Les journaux systèmes contenant l’adresse IP des visiteurs d’une image sont conservés un an, tandis que l’IP de la personne ayant déposé l’image et celle du dernier visiteur de l’image sont stockées de manière définitive", on devrait en déduire que l'IP du dernier visiteur étant stockée de manière définitive, aucune IP n'est jamais supprimée !"
@ArthurHoaro: Shaaf n'a plus ses accès. :p
C'est d'ailleurs pour ça que transmet des messages pour lui. ^^
"Simple et sympathique. J'essayerai le soft.
Juste une erreur originale de rédaction dans la faq : En lisant "Les journaux systèmes contenant l’adresse IP des visiteurs d’une image sont conservés un an, tandis que l’IP de la personne ayant déposé l’image et celle du dernier visiteur de l’image sont stockées de manière définitive", on devrait en déduire que l'IP du dernier visiteur étant stockée de manière définitive, aucune IP n'est jamais supprimée !"
@ArthurHoaro: Shaaf n'a plus ses accès. :p
C'est d'ailleurs pour ça que transmet des messages pour lui. ^^
J'ai pas pu garder mes larmes jusqu'à la fin T.T
Âmes sensibles, repassez plus tard !
Âmes sensibles, repassez plus tard !
Vidéo à voir absolument malgré le titre qui semble être "trop gros pour être vrai".
À faire tourner !
C'est en effet honteux !
Faudrait-il qu'on utilise un effet streisand pour diffuser ces dits fichiers ? (Après tout qui étaient (le sont toujours ?) en libre accès) (Je parie que c'est déjà fait ;D)
Y'a marre ! grrrr
C'est en effet honteux !
Faudrait-il qu'on utilise un effet streisand pour diffuser ces dits fichiers ? (Après tout qui étaient (le sont toujours ?) en libre accès) (Je parie que c'est déjà fait ;D)
Y'a marre ! grrrr
Chouette article !
Tellement de gens / entreprises se basent là dessus. À bien y réfléchir, c'est en effet ridicule.
(via http://ploum.net/jai-suivi-une-formation-du-forem-1ere-partie/ )
Tellement de gens / entreprises se basent là dessus. À bien y réfléchir, c'est en effet ridicule.
(via http://ploum.net/jai-suivi-une-formation-du-forem-1ere-partie/ )
C'est sérieux en plus ._.'
via eijebong
via eijebong
"Je me réjouis !"
Ça fait peur !
(via http://ploum.net/jai-suivi-une-formation-du-forem-1ere-partie/ )
Ça fait peur !
(via http://ploum.net/jai-suivi-une-formation-du-forem-1ere-partie/ )
« État actuel : 778 mises à jour restantes [+778], 11150 nouveaux paquets [+1464] »
" Pas mal "
" Pas mal "
Bon, bon, bon. ☺
Premier « souvenir » que je vais partager avec vous de mon voyage de l'autre côté du monde. :D
Ma copine préfère cette version ceci dit (celle qui n'est pas remixée) : http://mp3.zing.vn/bai-hat/Con-Buom-Xuan-Yen-Trang-Yen-Nhi/ZW69EIBD.html
PS: Appuyez sur « Xem toàn bộ » si vous voulez affichez toutes les paroles et vous essayez au karaoké. Aha. :D
Premier « souvenir » que je vais partager avec vous de mon voyage de l'autre côté du monde. :D
Ma copine préfère cette version ceci dit (celle qui n'est pas remixée) : http://mp3.zing.vn/bai-hat/Con-Buom-Xuan-Yen-Trang-Yen-Nhi/ZW69EIBD.html
PS: Appuyez sur « Xem toàn bộ » si vous voulez affichez toutes les paroles et vous essayez au karaoké. Aha. :D