Reputation
1,695
Next privilege 2,000 Rep.
Edit questions and answers
Badges
9 20
Newest
 Yearling
Impact
~23k people reached

Nov
24
comment Is there anything that can be done with recursion that can't be done with loops?
Beware that this question has attracted many answers that are mediocre or downright wrong, yet have a very high score. I recommend asking questions that require some knowledge of computer science on Computer Science rather than here.
Nov
24
comment Is there anything that can be done with recursion that can't be done with loops?
That's not quite correct. To emulate recursion with iteration, you need a stack where random access is possible. A single stack without random access plus a finite amount of directly-accessible memory would be a PDA, which is not Turing-complete.
Nov
24
comment Is there anything that can be done with recursion that can't be done with loops?
This answer is wrong. Loops alone are not enough to make a language Turing-complete: you also need a way to manage an unbounded amount of memory. (If a bound on the amount of memory is known a priori, you only get the power of finite automata. If a bound on the amount of memory can be calculated from the size of the input [warning: I'm simplifying somewhat], you only get primitive recursive functions.)
Sep
12
awarded  Yearling
Aug
18
answered Are Git branches, in fact, “homeomorphic endofunctors mapping submanifolds of a Hilbert space”?
Aug
18
comment Are Git branches, in fact, “homeomorphic endofunctors mapping submanifolds of a Hilbert space”?
This tweet has also inspired questions on Mathematics Stack Exchange and on Computer Science Stack Exchange.
Aug
6
answered Preemptive scheduling with “do not disturb”
Jun
15
comment Why do programs use call stacks, if nested function calls can be inlined?
As delnan remarked, there's still a call stack for non-tail calls with CPS, it's just represented differently. You don't need to go to exotic architectures to find one with no hardware stack support, you just need to step away from x86, e.g. arm has only branch-and-link.
Jun
9
comment What is the “type” of data that pointers hold in the C language?
“Addresses are just integers” — kinda (though this is simplifying things, e.g. because the same memory location can be represented by different integers, for example on any architecture with virtual memory), but pointers are not just addresses. You're oversimplifying things.
Jun
9
comment What is the “type” of data that pointers hold in the C language?
@Rob The pointer value includes a segment value in some memory models (huge, large, medium for code, compact for data) but not in others (tiny, small, medium for data, compact for code).
Feb
19
awarded  Popular Question
Dec
18
revised How common are use SDLC methodologies in real life?
attempt to focus the question a bit and tone down the poll-y aspect
Dec
17
suggested approved edit on How common are use SDLC methodologies in real life?
Dec
17
comment How common are use SDLC methodologies in real life?
This is a question for programmers, not for computer scientists, so I'm migrating it to a site where the audience is programmers.
Oct
31
awarded  Popular Question
Oct
6
awarded  Informed
Sep
12
awarded  Yearling
Aug
20
comment Is hashing of just “username + password” as safe as salted hashing
@randomA The second problem is very much a problem! The problem is not, as you seem to have read, that hashing is too slow, but that it is too fast. Hashing must be slow by construction, so that brute force attacks take a long time. If part of the computation can be done in advance, that is a bad thing.
Aug
19
answered Is hashing of just “username + password” as safe as salted hashing
Aug
19
comment Is hashing of just “username + password” as safe as salted hashing
The conclusion is correct, but the details aren't quite right. The function of the salt is not entropy, but uniqueness — enough entropy does achieve uniqueness, which is why generating a random salt (the usual method) is a fine choice. The attacker knows the salt if they know the hash, that's not an issue. The third point is important and is why the salt needs to be unique and so can't be derived from password and username alone.