1,818 reputation
21118
bio website
location London, United Kingdom
age 28
visits member for 4 years, 3 months
seen Aug 18 at 2:27

As a polyglot programmer, I always choose the best language or technology for the task I wish to accomplish. I'm never afraid to learn new things for a project.


May
10
comment Naming for a REST webservice
@vikkyhacks that's what I used to think but I eventually found out I had been mistaken.
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
@EricLippert: With Javascript Harmony (pretty much ECMAScript vNext), we get block scoping for variables with let (instead of var's function scope), modules (with encapsulation and the whole shebang), iterators, generators, arrow function syntax, destructuring assignment, and other goodies. With that, and with "use strict" semantics (which affect eval, undeclared variables, and other issues with the original JavaScript), and with full suites of unit testing tools, how do you feel about modern server-side JavaScript? Do you feel it's now easier to maintain large projects with?
May
15
comment How did programmers work back when a computer was very expensive, rare, as big as a room?
@KateGregory: That was a joke... They didn't have a computer in the building, so they used the information highway to get their compilation done.
May
15
comment How did programmers work back when a computer was very expensive, rare, as big as a room?
@KateGregory: So basically, your mom used the internet?
Nov
15
comment Legal Applications of Metamorphic Code
@V_P: On program start, the method is one thing (a stub that calls the JIT); after it is called the first time, the method is a different thing (a compiled method). Seems metamorphic to me. Does the mutation have to be algorithmically inferred of the original code? Why?
Nov
14
comment Abstract exception super type
How is "disabstracting" a class a breaking change?
Nov
14
comment Is it wise to ask about design decisions made on a product during an interview?
If it's exhausting, you interview too much. In my company we have 30-odd interviewers, so we only get to do an interview every couple of weeks or so, and not at all if we're too busy. I like interviewing. It's a break from the routine.
Nov
12
comment Is “White-Board-Coding” inappropriate during interviews?
I can't code on whiteboards. Well, I can, but I'd be the only one able to read the code. I can also write legibly, but I'm quite slow at it and it takes effort which distracts me from the actual coding task. What's wrong with putting them in front of an IDE to write those short snippets? Then you could see their actual workflow, and you can also test how they deal with unknown IDEs or languages (by using obscure ones).
Nov
10
comment Is there such thing as an example driven parser generator or ad-hoc DSL development?
@JonPurdy, Gabriel: Parser combinators are very cool, but when I've tried to use them I always found their output format was a bit to similar to the input format for me. I haven't used the Haskell version though.
Nov
10
comment Is there such thing as an example driven parser generator or ad-hoc DSL development?
I've written at least one small tool which including a DSL with a hand-built parser; the parse was simply a loop that finds the regex to match each line and uses that to turn it into a data object. It was actually really easy.
Nov
4
comment .NET internals:Where is a good place to learn the “under the hood” stuff in .NET?
Agreed. Read the entire blog starting at around 2005/2006, and you'll have some glimpse of an insight into what .Net is like from the inside.
Nov
4
comment .NET internals:Where is a good place to learn the “under the hood” stuff in .NET?
If Microsoft didn't want you to know their internals, they wouldn't have made it open source... en.wikipedia.org/wiki/…
Oct
27
comment How do you learn Regular Expressions?
Oh, so I was right, sort of - but it only applies to relatively simple regexes. Thanks for the explanation.
Oct
27
comment How do you learn Regular Expressions?
You say that regular expressions are not regular - but I thought the world regular in the name was referring to the expressions it matches - e.g. the regular expression "[0-9]{3}" which can match any three digit number, and the three digit number 480 is an example for a regular expressions it matches.
Oct
26
comment Appropriate uses of fall-through switch statements
@Caleb: In this case, yes. But what if the calls were a little more complicated? It could get a bit hairy, while fall through makes it seem simple. I should note I'm not actually in favour of using fall through - I'm just saying it can be useful in certain situations.
Oct
26
comment Appropriate uses of fall-through switch statements
@RussellBorogove: Absolutely correct.
Oct
20
comment Is it more secure to hash a password multiple times?
I know of a company that wanted to use unsalted MD5(password). We said it's not secure, so they suggested using MD5(MD5(password)) instead...
Oct
14
comment Ethics of collecting non-identifiable information on install
Everything except the unique system hash can actually be determined by the /download page quite easily server side. Geographic location is probably easier to determine from the server than the client.
Oct
7
comment What is the greatest design flaw you have faced in any programming language?
It does have good use cases though - stubbing or memoization. Instead of writing v() { if (not alreadyCalculatedResult) { result = long(operation); alreadyCalculatedResult = true; } result; } you say v() { result = long(operation); v = () => result; result; }
Oct
7
comment What is the greatest design flaw you have faced in any programming language?
@MikeDunlavey: You can't backtrack in C/C++ because you don't have call/cc, not because of the different macro system.