5,553 reputation
32552
bio website
location Redmond, WA
age 24
visits member for 4 years, 1 month
seen Oct 6 at 18:26

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
26
comment Do you have to rename the software when you fork a repo?
@nbrogi: That's what I'd argue, yes.
Feb
24
comment Do you have to rename the software when you fork a repo?
To extend Daenyth's point, if (2): Legally speaking, the license doesn't require you to do that. But ethically speaking you should. (If nothing else you don't want people you want contributing patches to you mistakenly contributing them with the project with which you are competing)
Nov
1
comment Why can't Java/C# implement RAII?
@AleksandrDubinsky: Java and C# don't eliminate leaks. Careful design is still necessary to ensure you aren't referencing the whole world in terms of memory. They don't attempt to address non-memory resources at all, and failing to release a resource like this is a common source of bugs in Java and C# programs, because people don't pay as much attention to ownership as they should.
Oct
31
comment Why aren't more desktop apps written with Qt?
@AnnonomusPerson: I don't think your criticism here makes sense -- there are dusty / shady corners of every library. The question is talking about systematic problems with Qt as a whole, not problems with a specific component. (You also appear to be trying to write an answer as a comment)
Oct
30
awarded  Nice Answer
Oct
30
comment Why can't Java/C# implement RAII?
@svick: Yes, but in C#, someone who instantiates IWrapSomething for a T which is disposable needs to understand the ownership and act accordingly. If T is bound to a scope, the caller has no way of saying "please don't destroy this, I need it to live longer".
Oct
30
comment Why can't Java/C# implement RAII?
@Robert: A correctly written program cannot assume finalizers ever run. blogs.msdn.com/b/oldnewthing/archive/2010/08/09/10047586.aspx
Oct
30
answered Why can't Java/C# implement RAII?
Oct
25
revised Is it bad practice to call a controller action from a view that was rendered by another controller?
edited title
Oct
21
comment How to break the “php is a bad language” paradigm?
@Johnny: You also have to consider what PHP was designed to do -- embed small bits of code in web pages. If that's your use case, than PHP is a great platform as a "templating language," because its script nature meshes well with the way web pages work. The problem is that people use it to build things beyond the frontend processing for a web page, for which it was not designed and is ill suited.
Oct
21
comment How to break the “php is a bad language” paradigm?
@Johnny: To clarify -- I'm not saying that building large systems with PHP is impossible -- Facebook and Co. are proof positive that it is very possible. Just that it ends up being more difficult than with languages that provide better compile time syntax and semantic checks.
Oct
21
comment How to break the “php is a bad language” paradigm?
@Johnny: Mostly, just being a scripting language which is ill suited for building large systems. Scripting languages are great for rapid prototyping, ease of deployment, and come with large standard libraries in the box. But building large systems with them often results in unmaintainable mess due to an inability to enforce compile-time checks and constraints. The very things that make PHP flexible and good for scripting scenarios (e.g. variables are untyped) make it difficult to build systems with more than a few people using a component.
Oct
14
comment Can *any* program task be expressed without state?
@Wirrbel: Transformations need a state to apply to. The whole concept of a transformation makes no sense in absence of state.
Oct
14
comment Can *any* program task be expressed without state?
If you want to discuss state; clearly state is required, if only for the program itself. It sounds like you are thinking of mutable vs. immutable state though -- you may wish to indicate which you mean in the question.
Oct
14
comment Can *any* program task be expressed without state?
@emilio Stating that there is an equivalent state based solution to a problem (as you describe) is not proof that no stateless version of that solution exists.
Oct
14
comment Can *any* program task be expressed without state?
Lambda calculus has state; its constraint is that the state is immutable. Immutable state is still state. Parameters to functions, including lambdas, are still state; presumably you want a function to have different behavior given different parameters.
Oct
4
awarded  Nice Question
Sep
21
comment What does the latest “C++ Renaissance” mean?
@Thomas: I think it has become more of that in recent years. But it wasn't when I posted this in August of 2011. Note Jerry's data starts showing a more positive trend in October -- 2 months later.
Sep
9
awarded  Yearling
Aug
22
awarded  Notable Question