250 reputation
26
bio website
location Seattle, WA
age 30
visits member for 3 years, 5 months
seen 19 hours ago

HTML programmer. Skilled with Java scripts; over ten years' experience in Node.js. Some experience in C or C++.



(O.K., not really. If you want to know about me for real, just read through some of my answers and comments on Stack Overflow. But if this profile made just one person wince, it was totally worth it!   :-)



By the way — any code that I post here, is because I intend for others to be able to use it, and not necessarily just under the terms of CC-BY-SA 3.0. I can't say categorically that I cross-license all my code here into the public domain, because code in my answers is frequently a "derivative work" of code from the question, and of course I can't re-license OPs' work without their permission; but suffice it to say, if you take code that I post here and adapt it for use in a non-trivial program of which my code is a trivial or incidental piece, then you don't need to worry about my rights under CC-BY-SA.


Mar
8
comment Can I use GPL libraries temporarily for prototyping and make the future code closed source?
Re: "I don't think your question is actually about the GPL": I disagree. A software license certainly could forbid this sort of use. An answer that ignored the "GPL" part of the question, and just took it as a general question about an open-source license with restrictive terms and viral behavior, would have to resort to "we don't know, you'll have to read the terms of the license".
Feb
27
comment When NOT to apply Dependency Inversion?
@Doval: (In other words, you're taking "to the max" to mean carrying SOLID principles past the point of good design, but that is clearly not what the answer means by that phrase.)
Feb
27
comment When NOT to apply Dependency Inversion?
@Doval: I agree, -ish -- I'm who upvoted your comment -- but I think that to some extent you're missing the point. For example, re: "Something can't be 'too substitutable'": no one is claiming that something can be too substitutable, only that strictly enforcing substitutability can sometimes result in wasted effort. This answer is not saying that SOLID-to-the-max is bad design; on the contrary, it says that SOLID-to-the-max is maximally good design, but that, paradoxically maximally good design is not always the right target.
Feb
26
awarded  Excavator
Feb
26
revised Any reason behind hyphens in a GUID?
update link. (the previously-linked-to question has been merged into this one.)
Feb
26
suggested approved edit on Any reason behind hyphens in a GUID?
Feb
22
comment How to respond to a rude bug report?
+1, though the last sentence ("tell people what they need to hear") is a bit debatable. "You're a jerk" may be both what this person needs to hear and what the OP wants to say; but that doesn't make it constructive or a good idea for this interaction.
Feb
21
awarded  Autobiographer
Feb
15
comment Is throwing an exception an anti-pattern here?
@KonradMorawski: That sounds like a really bad idea. I can hardly think of a clearer way to say "this method never returns null!" than to declare it as returning Optional<...> . . .
Feb
5
comment Why doesn't Java have optimization for tail-recursion at all?
@JörgWMittag: That's true, but then, I wonder if it's really true that the Java programming language doesn't have proper tail calls. It might be more accurate to state that the Java programming language doesn't have to have proper tail calls, in that nothing in the spec mandates it. (That is: I'm not sure that anything in the spec actually forbids an implementation from eliminating tail calls. It's simply not mentioned.)
Jan
22
comment class in OOP language and type
Sorry, but I think this is a very poor answer. Functions do have a clear OO analogue, namely methods (and single-method interface types). The basic definition of an object is that it has both state (fields/data members) and behavior (methods/member functions); your answer ignores the latter.
Sep
13
awarded  Yearling
Sep
13
answered Should `setX(Object o)` methods perform deep or shallow copies of objects?
Sep
13
answered How to signal that a method chain should not continue?
Sep
2
comment Beginning a sentence with a function name?
+1. In Mathematical Proofs (Chartrand et al., 2000), whose Chapter 0 is a true fount of good advice for mathematical writing, the very first rule under Using Symbols is "Never start a sentence with a symbol." (The example is a sentence that starts with an equation; the authors suggest prefacing it with "The equation ___".) Although not all mathematical writing advice necessarily applies to writing about source code, I think this is one bit that does.
Aug
24
comment What is referential transparency?
@Giorgio: This is perhaps subjective, but I'd argue that cached results are not really "mutable state" if they're hidden and have no observable effects. Immutability is always an abstraction implemented on top of mutable hardware; frequently it's provided by the language (giving the abstraction of "a value" even if the value can move between registers and memory locations during execution, and can vanish once it's known it will never be used again), but it's no less valid when it's provided by a library or whatnot. (Assuming it's implemented correctly, of course.)
Apr
26
comment Are there numbers that are not representable in base 10 but can be represented in base 2?
@PatrickM: "Aside: is there a word to indicate numbers that do or don't share all common factors?": Any integer is a factor of itself, so if all factors of m are factors of n, then it trivially follows that m is a factor of n. One term for this, as you clearly know, is factor. Another is divisor.
Nov
5
comment What is meant by, “A user shouldn't decide whether it is an Admin or not. The Privileges or Security system should.”
@Phil: user.getRole().isAdmin() implies that a given user has only a single role. That's even worse than user.isAdmin(), which implies only that a given user either is an administrator everywhere or is not an administrator anywhere.
Oct
26
comment What are the safety benefits of a type system?
@BenjaminGruenbaum: Your comments are valuable, and that paper is interesting, but it does not bear out your claim that "it's usually undecidable in static languages like Java too", since it demonstrates that it is decidable in C#, and leaves open the question of whether it's undecidable in Java. (And anyway, IME, when a compiler for a statically-typed language can't decide that something is well-typed, it rejects it (or fails to compile it), so undecidability is an annoyance rather than a hole in the type-safety.)
Oct
17
comment How much freedom should a programmer have in choosing a language and framework?
@brichins: I think one of the big problems with this answer is that it actually doesn't point out what you say it does!