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.