2,529 reputation
11124
bio website nathanlongmusic.com
location Charlotte, NC
age
visits member for 3 years, 5 months
seen Apr 18 at 15:42

I code mostly in Ruby and Javascript, though I still have to bring out the PHP skills now and then.

I like pineapples.


Mar
31
awarded  Nice Answer
Mar
4
comment Why is verbosity bad for a programming language?
@ShivanDragon - depends on one's background. Ruby has STDOUT.print("hi\n") as a more explicit alternative, but a beginner would quickly learn that puts does that. As to main, it suggests that to you because you are familiar with the syntax. It told me nothing. main is language-specific; a script written in Ruby, PHP, Javascript or bash doesn't use it, and all code is either definition or execution. So in my eyes it's just noise.
Mar
3
revised Why is verbosity bad for a programming language?
added 41 characters in body
Mar
3
comment Why is verbosity bad for a programming language?
@yannbane - can you elaborate?
Jan
12
awarded  Notable Question
Nov
7
awarded  Yearling
Jul
31
awarded  Good Question
May
10
comment My customer wants me to record a video of how I develop his software product
"How to explain to him that it is not an usual practice for the freelancers to record the videos of their daily work" A link to this page will do nicely in the future to demonstrate that nobody else will be willing to do this, either.
Mar
28
awarded  Notable Question
Mar
2
answered Why shouldn't a GET request change data on the server?
Jan
18
accepted How would you assess a programmer's Github profile?
Jan
11
comment Why is it often said that the test cases need to be made before we start coding?
"it forces you to think about your code from a perspective of testing": yes, which means "as a user of the code." You can write your tests as though you had easy-to-use code and then write it that way. This includes things like "but I don't want to do a bunch of test setup", which will push you to fewer dependencies.
Dec
5
answered How do you balance between “do it right” and “do it ASAP” in your daily work?
Dec
5
comment How do you balance between “do it right” and “do it ASAP” in your daily work?
I'd say this is true only if by "emergency" you mean "something that happens no more than once every six months" and by "when you have time" you mean "within a week or so". Otherwise your follow up question becomes "help, the client needs something ASAP, but the code I have to change is a confusing mess and it will take me weeks to sort out!"
Nov
27
comment How to implement a safe password history
@mattz - good point about a note in a wallet. A note stuck on a monitor in a publicly-visible area is another story. My point is, consider how people are likely to cope with a password policy and whether the end-result may be worse.
Nov
27
comment How to implement a safe password history
@KevinVermeer - Sorry, I wasn't clear; I was assuming we'd check edit distance only between the old and new passwords, both of which we have in the clear, as Brian suggested, and otherwise check that they didn't reuse an exact previous password. I agree with you that generating all possible similar passwords, hashing them, and seeing if any of them match any previous password hash is unacceptable. But it's what the "can't be similar to any previous password" requirement pushes you toward - that, or not hashing the passwords, which is very bad for security. I just think it's a bad policy.
Nov
27
comment How to implement a safe password history
I'm very skeptical that such a password policy improves security; IMHO, it increases the chances that people will resort to keeping their password on a sticky note. Kevin's link is a good discussion. @KevinVermeer - you actually can measure the amount of change as Levenshtein distance (en.wikipedia.org/wiki/Levenshtein_distance), also known as "edit distance".
Nov
27
comment How to implement a safe password history
Yes. If their current password is potatoSalad1 and they want to update to potatoSalad2, you tell the change is too small because you have both plain text passwords at that moment. But further back than that, you have only hashes, and the nature of hashes is that you can't tell whether two hashes had similar or completely different plain text as input.
Nov
19
comment When do you typically write a software module yourself vs. buying an existing product?
What about option #3, "use an open source library?" That can actually be a compromise, because you can tweak it to your needs.
Nov
13
awarded  Nice Answer