That said, inline setup/teardown and parsing expressions in asserts seem like such natural ideas, I can't believe I haven't run across frameworks doing them before. I guess the shadow of JUnit is extremely long.
923 karma · joined August 13, 2011
That said, inline setup/teardown and parsing expressions in asserts seem like such natural ideas, I can't believe I haven't run across frameworks doing them before. I guess the shadow of JUnit is extremely long.
Appropriately, the first question that came to mind was, "what's the catch?" :)
And yeah, just illustrating how even the best-laid plans of the best of us can't always work out great for all customers.
It's also the other way around, too, of course. I would have thought it ludicrous in the 90s to have my primary vacuum cleaner be battery powered. But this year, I didn't even think twice about it.
You could argue that it's a static vs dynamic typing thing, and I don't know enough to really dispute that, but it seems to me that there's no inherent reason that a static type system can't handle using a different concrete implementation. I think you can do this with Java/C# by doing some library loading trickery, but it'd be inconvenient.
And that's the whole point of all this, isn't it? Automated testing is a convenience that saves you from doing manual testing. Unit testing is a convenience that catches test failures before commit rather than during the automated testing phase. Creating the unit test, well, is it more convenient to create 8 interfaces and completely change the way the code is structured, or is it more convenient to mock out the singleton? It depends on the circumstance, I've done both in various languages. It's good to have the option.
Kind of like how software security most often fails in the implementation rather than the theory. :)
My understanding was that it's likely that some of the people who work at Rockstar are the inventors of some of the held patents. Maybe not the key patents, but it's a company holding a lot of patents and employing a bunch of engineers, there's almost certainly some overlap.
I agree that the transfer of ownership of patents is a potential aspect of a dividing line, that seems to be a common theme. But it seems like it wouldn't be too difficult for a patent troll to skirt this by "employing" an inventor, or somehow wedging the name of one of their employees into the inventors list for every patent.
Obviously, he's not a patent troll, but what's the bright line between what he does and what a patent troll does? This is a critical question in the patent troll discussion, because it is absolutely the case that every Intellectual Ventures, Lodsys, and Rockstar thinks of themselves as being innovative inventors like Lonnie Johnson. They'll hold independent inventors like him up whenever legislation is proposed and say that it'll hurt good old-fashioned American invention, and maybe they'll even be right.
It's critical that there be a clear division there, or else reform will never go through, or worse, end up hurting actual inventors. How can that line be drawn?
(I know the LiveLoop folks, so this caught my eye.)
A while back coworkers and I developed a system that made similar tradeoffs, and was capable of linear throughput scaling as well, but never made it into production for various reasons. The per-transaction latencies were in practice "good enough", though they theoretically could grow quite large. The necessity of combining the application logic with the transaction coordinator was a lot more difficult in practice than I'd expected, especially since we required completely lock-free logic. It turned out to be a real brainteaser for some applications. It's going to be much easier to write logic for Calvin, because locks are somewhat more intuitive and map more closely to existing systems.
So here's some driving rain: http://wry.me/hacking/Turing-Drawings/#4,3,1,2,2,0,2,0,3,1,2...