Reputation
3,264
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
2 9 23
Newest
 Nice Answer
Impact
~99k people reached

Jan
17
revised Finding similar high dimensional vectors
added 306 characters in body
Jan
16
revised Finding similar high dimensional vectors
added 107 characters in body
Jan
16
comment Finding similar high dimensional vectors
I'm looking for something practical. 2^10000 is not.
Jan
16
awarded  Student
Jan
16
asked Finding similar high dimensional vectors
Jan
16
comment Library/API Runtime Between Versions
For a regex matcher (grep) significant changes in performance seem plausible. When you switch to a different engine in might have different pathological cases.
Jan
15
comment Single Responsibility - is this class doing too much?
One change you should make is using a SafeHandle instead of a IntPtr.
Jan
15
comment Charging a fee for GPL software
For several old games the source code was published under GPL (e.g. several ID software titles) but users need to buy the game to obtain the assets required to actually play the game.
Jan
11
comment ASP.NET storing encrypted & salted Password
@Alternatex Since Microsoft only offers crap in that area, rolling your own (or using a third party library) is preferable.
Jan
11
comment ASP.NET storing encrypted & salted Password
Note that if you're using PBKDF2-HMAC-SHA-1 then 1000 iterations is very low. I recommend 20k+ iterations. I'd also include a version specifier in your string, in case you switch to an entirely different algorithm (such as bcrypt, scrypt or Argon2 which offer better security than PBKDF2).
Jan
7
comment What is the use case for shadowing variables?
C# disallows one local shadowing another local, but it allows shadowing in general. e.g. you can have a local and a field of the same name. (The craziest case is introducing a type called var which shadows the keywordish var)
Jan
6
comment Is possible to write too many asserts?
I've had a few application crashes that were caused by erroneous assertions. So I've seen bugs that wouldn't have existed if someone (myself) had written fewer asserts.
Jan
5
comment Is there a name for this in type theory? Specify that a value satisfies multiple interfaces without specifying the concrete type
There are two problems with that approach: 1) You need to modify the type to implement the interface (or use an adapter) and 2) It leads to an exponential explosion of interfaces | It's just a weak work-around for languages with a crippled type system.
Dec
28
comment Why shouldn't a GET request change data on the server?
The problem with GET having side effects applies equally to email confirmation. Now the client following the link would confirm an account somebody else created using your email, allowing them to impersonate you.
Dec
28
comment Why shouldn't a GET request change data on the server?
What if your mailclient decides to fetch the link without you clicking on it? For example because it wants to scan it for malware. The proper approach for unsubscribe links is to lead to a page where the user can click a button to unsubscribe (where the button click triggers a POST request).
Dec
28
comment Why shouldn't a GET request change data on the server?
CSRF is equally possible with GET and POST. For example the attacker can include an auto-submitting form on their site to trigger a POST request. The standard approach to preventing CSRF is explicitly including a value unknown to the attacker in the request (unlike the implicitly includes cookie headers).
Dec
28
comment Why shouldn't a GET request change data on the server?
CSRF is equally possible with GET and POST. For example the attacker can include an auto-submitting form on their site to trigger a POST request. The standard approach to preventing CSRF is explicitly including a value unknown to the attacker in the request (unlike the implicitly includes cookie headers).
Dec
28
comment Why shouldn't a GET request change data on the server?
@mbillard What if your mailclient decides to fetch the link without you clicking on it? For example because it wants to scan it for malware. The proper approach for unsubscribe links is to lead to a page where the user can click a button to unsubscribe (where the button click triggers a POST request).
Dec
28
revised Who is a CMS really for?
deleted 24 characters in body; edited tags
Dec
27
comment Doesn't “always initialize variables” lead to important bugs being hidden?
"Compilers never fill" shouldn't that be not always?