Altough I agree with you, I still definitely think we are heading towards a future where in order for your code to ship, you will need to be a certified programmer, or have it validated by a certified programmer, at least in some industries.
Do you think it is safe, for say, a non certified (read: a guy with no CS degree) programmer to design and code software that runs on an MRI machine ? Or the one which controls airplaines ?
If airplaines start crashing because of a software fault, do you think we could and should blame the programmer for not having made the required tests ?
Software _development_ is a very young discipline, and as such has not yet been regulated. But I believe the day will come where it will.
The solution to this is testing and required design procedure. Comprehensive, detailed, expensive testing, and comprehensive, detailed, and expensive design documentation and documented procedure.
There are currently guidelines for software that goes on medical equipment and airplanes. Airplane software's testing and design procedure gets checked by the FAA. I also know there are comprehensive code coverage requirements. Replacing this with certified programmers means that the programmer WILL be personally liable if there is a fault in the design. I don't think this is a good idea.
What you just described is, put simply, to follow engineering principles. Some people would argue that Software Development is not an engineering discipline but a craftsmanship.
And anyways, it would still be a huge scandal if the FAA allowed someone, (or a team of someones) without a degree in CS, to check an airplaine's software. Does this need to be regulated as a law, and thus, recognition of the Software Development discipline as a profession ?
The way I understand it, the FAA checks to see if the software design was designed and tested according to documented procedure, which was approved beforehand. The procedure must follow some published guidelines, mainly [DO-178B](http://en.wikipedia.org/wiki/DO-178B). The FAA person probably doesn't need a CS degree to check this. They just need to be competent enough to review the documents generated during the DO-178B process, and see that they did what they said they did. The civil liability I think would come in if a company forged their documentation. And if the documentation is not good, then the software won't get approved by the FAA audit. At least that's how it's supposed to work.
Edit: There are third party or FAA technical experts involved, so I guess your point still stands. But I don't think certification can replace this kind of following engineering procedure. And yes, I consider software engineering for safety-critical applications an engineering discipline.
The philosophy of stretching changes every couple of years. One year, stretching before is the way to go. Then, stretching after sport. Then, no stretching at all.
From what I know: Stretching after doing a workout is bad, because it tenses muscles even more, stopping the flow of blood in the muscle and thus, making muscles more sore. But maybe that opinion is just the current trend.
The science on this one seems clear, stretching is only useful for increasing range of motion. It doesn't prevent injury ( in the studied contexts), it doesn't prevent DOMS, and it doesn't lengthen muscles.
The solid science has been pretty consistent for about 20 years: dynamic stretching can be helpful, static stretching much less so, and the best warm-up for an activity is doing the activity at a lower rate for a few minutes.
Had a try and it seems promising. The only drawback I see is that there are still bugs, and the owner is the sole developer for the project, and he seem to have plenty of other projects going on...
Regarding his whole point of using css, that upvote image should really be a background in the css file and the innerHTML should be text with a negative indent.
So basically, it is a triple-store with keeps track of time and no mutation of past.
They have their own query language but it looks to me that they did a great job at making it as close to SPARQL as possible, which personally I am familiar with.
It is important to understand that datalog is not a new query language. It is an old one, with a strong pedigree. It has power equivalent to the relational model plus recursion.
SPARQL is cool, and they did a good job making it look a little like datalog.
SPARQl1.0 is equivalent to a datalog without recursion. Wonder what SPARQL 1.1. with property paths is equivalent too. Any way a hobby project idea I won't have time for is implement the datomic api on top of a systap bigdata quad store.
I often find myself using 1 << Y when I mean 2^Y, but just because it is faster to write and generally accepted in all languages than to find pow in the current language I am writing in...
pow is usually a floating point operation, that's why it's slow. Modern CPU's may actually be fast at a pow floating point operation, but it's still expensive to move integers from general purpose registers to floating point registers.
You generally calculate 2^Y because you want to work with a Y-bit quantity somehow. Like generating a mask with the Yth bit set, calculating the size of a Y-bit address space, allocating storage for a power set of Y items, ... In these cases it's OK because bits are actually the thing that matters. With division, they usually aren't.
I discovered this when I was debugging a Netbeans generated REST Webservices. The web UI makes clever use of OPTIONS in order to list the available services and their parameters automatically :).
Do you think it is safe, for say, a non certified (read: a guy with no CS degree) programmer to design and code software that runs on an MRI machine ? Or the one which controls airplaines ? If airplaines start crashing because of a software fault, do you think we could and should blame the programmer for not having made the required tests ?
Software _development_ is a very young discipline, and as such has not yet been regulated. But I believe the day will come where it will.