5,588 reputation
32552
bio website
location Redmond, WA
age 24
visits member for 4 years, 2 months
seen Nov 18 at 22:19

Credit for Avatar image: http://www.assaultandroidcactus.com/

I'm a Microsoft Software Development Engineer on the Trustworthy Computing Team. I've worked at several security related places previously, including Malware Bytes and PreEmptive Solutions.

On StackOverflow I mostly answer related questions, though I occasionally forray into and a couple of others.

I am the author of pevFind, a component of the ComboFix malware removal tool, and volunteer at BleepingComputer.com as a malware response instructor. My Twitter account is @MalwareMinigun.


Feb
2
comment How is C/C++ more difficult to decompile than C#?
Example: The concept of a class does not exist as far as the binary format on disk for machine code is concerned. But it is a concept for C#'s Common Intermediate Language.
Jan
28
comment Why does Internet Explorer have so many incompatibilities with other browsers?
@Bart: Oops. I read your post backwards. Going back into my hole now...
Jan
28
comment Why does Internet Explorer have so many incompatibilities with other browsers?
I would agree with most of this if we were speaking about IE6. What about 9 and later?
Jan
28
comment Why does Internet Explorer have so many incompatibilities with other browsers?
@Bart, IE's main competitor in the first browser war, Netscape, wasn't considerably more conformant with W3C. It wasn't until later versions of Mozilla and early Firefoxes that a reasonably conformant browser was available. But those browsers post-date IE6.
Jan
18
awarded  Popular Question
Jan
18
comment Descriptive naming vs. 80 character lines
I think 100 characters is fine nowadays....
Jan
18
comment Descriptive naming vs. 80 character lines
Does 80 characters really improve readability? What screen can't easily do 120 these days?
Jan
10
comment Why is the cyclomatic complexity equal to two for a simple Hello World?
Of course, this answer has "everything must be a member function" glasses. C / C++, for instance, don't have this behavior.
Jan
10
comment Is this XOR value swap algorithm still in use or useful
So... You save a register but pay with 3 more instructions. I think the temp version would be faster anyway.
Jan
7
comment Fast compression in C++ and decompression in C#
For what value of "light on CPU"? Would plain zlib/gzip be okay?
Jan
7
comment Are immutable/stateless singletons bad?
@m3th0dman: Yes, I'm saying it shouldn't be a singleton. Making anything a singleton is an extremely limiting decision in a design -- you should have as few of them as possible. They are no better than global variables. You would be better off having the factory just having a static member variable containing the item in question. There's no need to encode that constraint into the design of the other objects.
Jan
7
comment Are immutable/stateless singletons bad?
@m3th0dman: Then the class in question shouldn't be a singleton. The factory should maintain its own reference.
Jan
6
comment Are immutable/stateless singletons bad?
@m3th0dman: Because to get the singleton object requires specifying the name of the singleton at the call site. Which means that you aren't using polymorphic behavior. Which means that composition is far more flexible than inheritance.
Jan
6
comment How to share common methods if objects have different roles?
I wouldn't exactly call this "language agnostic". In languages that don't force all functions to be class members the answer is pretty clear. This seems like a Java/C# specific dilemma.
Jan
6
comment Are immutable/stateless singletons bad?
@m3th0dman: Erm, no. I can be pretty positive without knowing anything about the domain model. Inheritance is for polymorphic behavior. But as a singleton, you aren't going to have polymorphic behavior.
Jan
4
comment Are immutable/stateless singletons bad?
@m3th0dman: Doesn't sound like a good place for inheritance.
Dec
30
comment Do dynamic typed languages deserve all the criticism?
@Giorgio: Oh. Cool. :)
Dec
30
comment Do dynamic typed languages deserve all the criticism?
@Giorgio: Erm, that's what I said.
Dec
27
comment When did the standard for packaging Linux source code become .tar.gz?
+1 -- but zip stopped being proprietary some time ago.
Dec
11
comment Instruction vs data cache usage
+1 -- but yes and no. If an instruction is repeated many times inside the decode hardware then the instruction cache will not be touched, but there will potentially be several "touches" against the data cache. (This is more common in CISC machines than RISC machines, of course)