1,813 reputation
21017
bio website
location London, United Kingdom
age 28
visits member for 3 years, 11 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.


Nov
15
awarded  Notable Question
Nov
15
answered Legal Applications of Metamorphic Code
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
revised Appropriate uses of fall-through switch statements
added 55 characters in body
Oct
26
comment Appropriate uses of fall-through switch statements
@RussellBorogove: Absolutely correct.
Oct
25
answered Appropriate uses of fall-through switch statements
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
20
answered Deploy multiple emails to email providers, but without showing favouritism
Oct
20
answered Why are assumptions important when defining a puzzle?
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; }