4,302 reputation
1023
bio website wiki.tcl.tk/73
location Manchester, United Kingdom
age 40
visits member for 3 years, 4 months
seen yesterday

I'm a software engineer at the University of Manchester, working on Taverna Server, Grids and Clouds, and the standardization thereof. I'm also a member of the Tcl Core Team.

ORCID, Ohloh


1d
awarded  Good Answer
2d
answered Naming convention for List in xsd schema
Apr
20
answered What goes within the Architecture Overview of a Design Specification?
Apr
16
comment When is it worth NOT using a Factory?
Some object systems have new as being just a method on the relevant class object. (Java isn't one of those.)
Apr
15
awarded  Enlightened
Apr
14
awarded  Mortarboard
Apr
14
awarded  Nice Answer
Apr
14
comment Using factory pattern when classes have little in common
But are those implementation classes doing the same thing from the perspective of the caller of the factory? If so, they're reasonable to have together. Also consider whether to use the Abstract Factory pattern…
Apr
14
answered What does HATEOAS offer for discoverability and decoupling besides ability to change your URL structure more or less freely?
Apr
4
answered Why does Python use hash table to implement dict, but not Red-Black Tree?
Apr
1
comment When is it beneficial to not use utf-8?
ASCII was being merrily misunderstood back in the early 1990's. Our printer thought # should render as £, which made C code rather “different” to read…
Apr
1
comment When is it beneficial to not use utf-8?
The key things: Use UTF-8 for external encodings (including database content). You can use other encodings internally to a program (and for some algorithms you get a substantive performance boost if you do so). Normalising your strings (to either NFC or NFD, but not both) can be a very good idea.
Apr
1
comment When is it beneficial to not use utf-8?
@delnan You oversimplify. There's a surprisingly large number of algorithms that require indexing into a string at arbitrary offsets and which don't have an easy transformation into streaming form. I say this because I maintain a library where we had to fix this; users were complaining that their code was terribly slow with large strings (yeah, because their O(N) code was now O(N²)!) Going round telling users “you're holding it wrong” when things used to work is just a way to make people upset with you.
Mar
31
answered When is it beneficial to not use utf-8?
Mar
31
comment Why is CPU cache memory so fast?
@vsz The speed of L1 cache is such that it's nearly as fast as registers now; the internal interconnect is fast enough that the costs of address mapping aren't a big deal. Otherwise register-poor CPU architectures like x86 would have been long obsolete in the marketplace. (Yeah, I know that some people think it should have been obsolete long long ago. Let's not have that argument now, OK?)
Mar
31
comment Schemaless NoSQL RESTful design?
You are aware that POST and PUT support body content in the request? That's the most natural way to work, rather than wedging stuff into query parameters (which have length restrictions and other issues too).
Mar
31
comment Make a java program use more processors
There are still algorithms out there with no known parallelization (typically because they're critically dependent on some global state model, with lots of random non-local accesses). Only a very limited subset of algorithms can be trivially automatically parallelized (i.e., those with no coupling between the work items). But the details matter. A lot.
Mar
31
comment Why is CPU cache memory so fast?
@ConditionRacer IIRC, it's to do with the technology used to implement the memory. I think L2 is on-chip DRAM, whereas L1 is SRAM or something like that; much more expensive, but much faster. It's over a decade since I worked in CPU design…
Mar
28
comment Java's Boolean class - why not an enum?
@MichaelT FileNotFound of course!
Mar
28
comment Overcoming slow problem solving due to increased knowledge of what might go wrong
@Morg. The hard part may well be working out what “correct” really is. Sometimes — too often — what's supposed to be right is just so badly understood in the first place, and that's even before the problem of how to express that mathematically…