someengineer
Joined 12 years ago
Joined 12 years ago
Apparently Apple is unaware of this technique...
From https://software.intel.com/en-us/blogs/2009/05/27/why-we-cho...
--- LLVM is distributed under the Illinois Open Source License, which is nearly identical to the BSD license and is very open for use both by open-source and proprietary projects. Some other projects, such as Open64, are licensed under more restrictive licenses like the GPL, which were not compatible with our own licensing model. ---
So, what RMS feared is exactly what's happening with Clang, and he's right in terms of pushing the GPL to prevent this sort of thing.
Now, whether or not this is actually bad is another question. Personally, I think this sort of bleeding between proprietary and open source ultimately improves the ecosystem as a whole.
Unfortunately, a lot of consulting jobs require all docs to be in MS Word format... Infuriating I know.
I've seen agile methods be most effective at companies where software developers are a minority. Scrums and sprints can be very useful when you've got many outside interests hammering at you for various feature requests and bug fixes. Done right, it keeps the software group's priorities aligned with the company's.
If you read the PLOS One acceptance criteria:
http://www.plosone.org/static/publication
you'll notice that scientific merit doesn't show up in there. The official policy is that if the methods and analysis are sound, then it will be accepted regardless of how irrelevant the actual study is. This is well known in academia and has resulted in a generally negative opinion of the journal among publishing researchers.
edit: I'd also like to point out that this isn't the case for all PLOS publications.
There's no natural resonance in the system caused by energy-storing elements. For instance, if you drop a cold egg into a pot of water at exactly 80 C, it won't overshoot and go up to 85 C before settling to 80 C. Mechanical systems on the other hand often have "spring-like" behavior that causes them to resonate at certain frequencies.
If you want to get hardcore with the control design then you could look into fuzzy logic controllers. It's common in high-end appliances: http://en.wikipedia.org/wiki/Fuzzy_control_system
Every company has "cowboy" programmers who break shit and ruin their coworkers' lives with massive 1am check-ins, and a lot Agile seems designed specifically to put up road blocks to prevent this from happening. Managers love it because it provides an escape from dealing with problem employees directly. Most of the vehemently anti-Agile people I've worked with were grossly overconfident in their abilities and difficult to work with, which I think supports this idea.
Unfortunately, the only way for this non-management technique to be effective is to do it dogmatically with no deviations (otherwise the cowboys will always have some excuse for why it shouldn't apply to them), and this is where things start pissing off the actual talent.