5,469 reputation
32350
bio website
location Redmond, WA
age 23
visits member for 3 years, 7 months
seen Mar 14 at 18:10

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.


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)
Dec
11
revised Instruction vs data cache usage
added 211 characters in body
Dec
11
answered Instruction vs data cache usage
Nov
21
comment Why aren't more desktop apps written with Qt?
@Giorgio: I'm not talking about memory management at all when I speak of ownership. I'm talking about "who is allowed to read from or write to this data structure" kinds of ownership. Your argument for "language x is more abstract than language y because it has feature z" is nonsense. C# doesn't have const, which makes it difficult to express immutability constructs in that language. Does that mean C++ is "more abstract" than C#? No. Abstraction is not a series of levels that languages need various features to achieve.
Nov
20
comment Why aren't more desktop apps written with Qt?
@Giorgio: Erm, you do have to think about such things in C#. The concept of "who owns this" goes far beyond "who calls delete". The fact that the smart pointers make that explicit isn't a language failing; and if you don't think about such things you are going to generate garbage in any high level language I've seen too.
Nov
20
comment Why aren't more desktop apps written with Qt?
@Giorgio: Why are you managing memory manually in C++? You shouldn't be. Make shared_ptr / unique_ptr do that instead.
Nov
20
comment Why aren't more desktop apps written with Qt?
@Giorgio: I never said using Visual Studio was impossible. The word "almost" was not optional. But you will confuse Intellisense and other such features because they are driven by a standard C++ frontend; not one that understands Qt.
Nov
17
comment Why don't we have web IDEs?
Follow up question: Why do you want a good web based IDE? What does web based give you that a "traditional" IDE can't give you?
Nov
17
comment Defensive Programming vs Exception Handling?
@Powerlord: Did I claim otherwise? Error codes are how error handling works in C, so obviously any kind of exception mechanism wouldn't be okay.
Oct
31
awarded  Notable Question
Oct
6
awarded  Good Answer
Sep
25
comment Why aren't more desktop apps written with Qt?
@SteveFallows: If I do that markdown just converts it back to 1. :) (It gets emitted as an <ol>)
Sep
24
comment Why aren't more desktop apps written with Qt?
By popular demand, I have made my #1 item the previous #6 item./
Sep
24
revised Why aren't more desktop apps written with Qt?
added 2 characters in body
Sep
21
awarded  Custodian
Sep
9
awarded  Yearling
Aug
28
awarded  Good Answer
Aug
10
comment Why is Java the lingua franca at so many institutions?
Erm, Python requires intimate knowledge of types just like the other languages you mentioned.
Aug
8
comment Sell me on IoC containers, please
Yes, the calling code can keep a reference around -- but there's no way to ever say "destroy this reference" explicitly. IoC containers don't change that rule
Aug
8
comment Sell me on IoC containers, please
I don't see why you don't have control over the lifetime of the dependency. In garbage collected environments, you never have control over dependency lifetimes anyway, and in native environments, that's what std::unique_ptr and std::auto_ptr and std::shared_ptr are for -- they indicate what ownership semantics you want.