Hofstadter's law

by ronfluegge 25. October 2016 15:05

Hofstadter's law is the observation that "It always takes longer than you expect, even when you take into account Hofstadter's Law." In other words, time estimates for how long anything will take to accomplish always fall short of the actual time required -- even when the time allotment is increased to compensate for the human tendency to underestimate it. 

Hofstadter's law is frequently evoked in IT contexts and is particularly relevant to time management, productivity, project management and software development. The non-specificity of the reference reflects that the law is broadly applicable in any situation where the task is complex. 

Douglas Hofstadter, a cognitive scientist and author, introduced the law in his 1979 book Gödel, Escher, Bach: An Eternal Golden Braid. The system under discussion was chess-playing computers, which had been predicted to beat humans within 10 years. However, ten years after that prediction, humans were still winning. Hofstadter wrote that the inability for machines to triumph by that time was "just one more piece of evidence for the rather recursive Hofstadter's Law." (In fact, it wasn't until 1996 that IBM's Deep Blue computer beat the reigning world champion Garry Kasparov.)

Hofstadter's law illustrates one element of optimism bias, which leads people to overestimate the benefits of some proposed system and underestimate the drawbacks, as well as the time required for completion. It's also closely related to the humorous ninety-ninety rule proposed by Tom Cargill of Bell Labs: The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. 




by ronfluegge 12. October 2016 08:25
Obfuscation is the practice of making something difficult to understand. Programming code is often obfuscated to protect intellectual property and prevent an attacker from reverse engineering a proprietary software program.

Obfuscation may involve encrypting some or all of the code, stripping out potentially revealing metadata, renaming useful class and variable names to meaningless labels or adding unused or meaningless code to an application binary. A tool called an obfuscator can be used to automatically convert straight-forward source code into a program that works the same way, but is much harder to read and understand.
Another reason for obfuscating code is to prevent it from being attacked. Programs written in software languages that are compiled, such as C or C++ lend themselves to obfuscation. Unfortunately, malicious code writers who want to hide or disguise their code's true purpose also use obfuscation to prevent their malware from being detected by signature-based antimalware tools. Deobfuscation techniques, such as program slicing, can sometimes be used to reverse engineer obfuscation.



99% of business machines have not upgraded to Windows 10, according to study

by ronfluegge 7. September 2016 09:44

The 3 big takeaways for TechRepublic readers

1. A recent study by Softchoice has shown that less than 1% of enterprise organizations have upgraded their Windows devices to Windows 10, even a full year after the OS was released.

2. Most business were still running Windows 7, according to the study, as Windows 8 also saw poor adoption rates after its release.

3. A plethora of concerns over privacy and functionality, combined with the effort it takes to upgrade a whole organization, likely led to the low adoption numbers for Windows 10.

For more details, click on http://www.techrepublic.com/article/99-of-businesses-have-not-upgraded-to-windows-10-according-to-study/?ftag=TREe09998f&bhid=10269272 


Welcome to the GADS Open Source blog!

This will be an easy place to keep up on updates and news related to GADS and the GADS Open Source software.

Check out the FAQ section below as well.