Re:Clinkle gets hacked before it even launches
by ronaldx on Thursday January 30, 2014 @07:14PM
(#7154342)
Why do you allow an array index to start at 0?
Although I agree that this is not ideal, zero is not null.
Re:Clinkle gets hacked before it even launches
by X-Istence on Thursday January 30, 2014 @07:14PM
(#7154346)
Why wouldn't you want a user_id being 0?
Re:Clinkle gets hacked before it even launches
by GregorStocks on Thursday January 30, 2014 @09:48PM
(#7154930)
When possible, you should avoid having any userid that could be mistaken for a non-userid number - it prevents a lot of silly programming errors from going unnoticed or turning into bigger problems, and has very little downside. http://www.phabricator.com/docs/phabricator/article/Things_Y...
Re:Clinkle gets hacked before it even launches
by 14113 on Thursday January 30, 2014 @07:36PM
(#7154449)
Perhaps some implementation might consider 0 to be a 'NULL' value, assume it's null data and thus ignore it.
Re:Clinkle gets hacked before it even launches
by X-Istence on Thursday January 30, 2014 @07:52PM
(#7154526)
NULL != 0.
Re:Clinkle gets hacked before it even launches
by thirsteh on Thursday January 30, 2014 @07:57PM
(#7154541)
That never stopped JavaScript, Python and friends from giving them equal truthiness.
Re:Clinkle gets hacked before it even launches
by X-Istence on Thursday January 30, 2014 @08:44PM
(#7154737)
Ehm, Python doesn't have a NULL:
>>> NULL == 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'NULL' is not defined
Even None, which is as close to NULL you are going to get in Python is not 0. >>> None == 0
False
Re:Clinkle gets hacked before it even launches
by taway2012 on Thursday January 30, 2014 @10:52PM
(#7155136)
This is probably what the parent meant:
>>> 'truthy' if None else 'falsy'
'falsy'
>>> 'truthy' if False else 'falsy'
'falsy'
>>> 'truthy' if 0 else 'falsy'
'falsy'
Re:Clinkle gets hacked before it even launches
by dragonwriter on Thursday January 30, 2014 @08:03PM
(#7154573)
> That never stopped JavaScript, Python and friends from giving them equal truthiness.
Implicit casts -- including to booleans -- are dangerous, but if you try to write APIs to try to avoid every bad thing that might happen with naive use of implicit casting in every language that might be used to consume your API, you won't be able to do anything at all.
Re:Clinkle gets hacked before it even launches
by aj on Thursday January 30, 2014 @10:21PM
(#7155048)
"truthiness" is true/false and NOT NULL!
0 != null
null != false
Re:Clinkle gets hacked before it even launches
by ijl on Thursday January 30, 2014 @08:48PM
(#7154752)
In [1]: bool(0)
Out[1]: False
Idiomatic Python may say "if not user_id:" and erroneously skip this.
Re:Clinkle gets hacked before it even launches
by d0mine on Thursday January 30, 2014 @09:07PM
(#7154811)
There is no `NULL` in Python. It is `None`.
Idiomatic test for `None` is:
if something is None:
# ...
It would be incorrect to use `if not something:` here.
Re:Clinkle gets hacked before it even launches
by supergauntlet on Thursday January 30, 2014 @07:16PM
(#7154366)
I believe it has to do with Unix-like OSes always assigning the UID 0 to root.
Why would you even design an application to allow that? Even if the user was deleted (as potentially indicated by a null phone number), it's still a conflict.