774 reputation
36
bio website hackcraft.net
location Dublin, Ireland
age 39
visits member for 3 years, 5 months
seen 9 hours ago

When not programming I spend much of my free time avoiding the task of writing bios.


Apr
21
comment Big O Question about an algorithm with (n^2 + n) / 2 growth rate
@BenVoigt I've yet to come across one with the same rhetorical impact as this had when I first read it; it's not originally mine, I stole it from Eric Lippert, who may have originated it or may have taken it from someone else. Of course it references jokes such as "π equals 3 for small values of π and large values of 3" which is older still.
Apr
20
answered Big O Question about an algorithm with (n^2 + n) / 2 growth rate
Apr
2
revised Does path coverage guarantee finding all bugs?
No need to lampshade-hang
Apr
1
comment How do I find a good middle way to make this library safe for concurrent operations
Oh, does the use mean the instance gets shared by SignalR Hub? (I don't know SignalR at all). That would make it fall into the case in my second last paragraph above. In that case I'd still recommend not locking on this though, just as general good practice.
Apr
1
comment Should I always throw the most specific or should I try to generalize exception types?
@Doval though there are arguments for and against allowing LibrarySpecificException to pass through and then documenting the method as throwing FrameworksCommonException that it is derived from.
Apr
1
answered How do I find a good middle way to make this library safe for concurrent operations
Apr
1
comment Best way to define, start and stop threads in C#
I'm guessing it's a sort of pre hoc ergo propter hoc thing; a system has performance problems and because of that it runs at high CPU utilisation while not getting stuff done, then improvements mean that it runs at low CPU utilisation while delivering more actual work per second, (just as a massive increase to your analogous factory's efficiency could result in both more output and more idle time) and the resultant low CPU utilisation is seen as a symptom of the performance rather than a symptom of the efficiency.
Apr
1
comment Best way to define, start and stop threads in C#
"maximum performance (as low CPU usage as possible" Which, maximum performance or as low CPU usage as possible, those are exactly the opposite thing.
Apr
1
answered Should I always throw the most specific or should I try to generalize exception types?
Apr
1
answered Back button after doing posts on the same page
Apr
1
comment Why do we keep using CSV?
I've certainly wasted hours of my life dealing with badly formatted attempts at CSV, but I've also wasted hours dealing with badly formatted attempts at JSON and XML too.
Apr
1
comment Who coined the term “performant?”
Samuel Taylor Coleridge is the first attested use, in 1809.
Apr
1
revised Etymology of “class” keyword
added 103 characters in body
Apr
1
answered Etymology of “class” keyword
Apr
1
comment Why does Cem Kaner consider a test not revealing a bug a waste of time?
@supercat you can support a theory with a test for something consistent with the theory if the test wouldn't have occurred to you before the theory (e.g. showing the acceleration of an object falling in a vacuum is as as you would calculate it to be says more than showing that it falls down). Edge-case tests are analogous; I might expect the software to behave correctly when dealing with extreme values, but it gives more confidence in quality to see that happen than to repeat input values that it probably saw during development, along with being more likely to find a bug.
Mar
31
awarded  Yearling
Mar
31
answered Does path coverage guarantee finding all bugs?
Mar
22
answered When is it a good idea to force garbage collection?
Mar
22
comment When is it a good idea to force garbage collection?
The problem with Dispose(bool disposing) (which is not defined on IDisposable is that it is used to deal with cleaning up of both managed and unmanaged objects the object has as a field (or is otherwise responsible for), which is solving the wrong problem. If you wrap all unmanaged objects in a managed object with no other disposable objects to worry about then all Dispose() methods will either be one of those (have the finaliser do the same clean-up if necessary) or only have managed objects to dispose (don't have a finaliser at all), and the need for bool disposing disappears.
Jan
31
comment Should Latin-1 be used over UTF-8 when it comes to database configuration?
The only possible benefit from using Latin 1 rather than UTF-8 in a modern system is sabotage. That of course is only a benefit to the saboteur, and whoever their loyalties are to, not to the owners or developers of the system.