#[1]Simple Talk » Feed [2]Simple Talk » Comments Feed [3]Simple Talk » Chuck Moore on the Lost Art of Keeping It Simple Comments Feed [4]alternate [5]alternate IFRAME: [6]//www.googletagmanager.com/ns.html?id=GTM-N5S5ZL [7]Redgate logo * [8]Products + [9]SQL Server o [10]SQL Toolbelt o [11]SQL Compare o [12]SQL Data Compare o [13]SQL Prompt o [14]SQL Monitor o [15]SQL Change Automation o [16]SQL Provision o [17]SQL Clone o [18]SQL Data Masker o [19]SQL Source Control o [20]SQL Backup Pro o [21]DLM Dashboard o [22]SQL Search o [23]SQL Doc o [24]SQL Data Generator o [25]SQL Test o [26]SQL Multi Script o [27]SQL Dependency Tracker o [28]SQL Scripts Manager o [29]SQL Index Manager o [30]SQL Data Catalog + [31].NET o [32].NET Developer Bundle o [33]ANTS Performance Profiler o [34]ANTS Memory Profiler o [35].NET Reflector o [36]SmartAssembly + [37]Oracle o [38]Deployment Suite for Oracle o [39]Schema Compare for Oracle o [40]Data Compare for Oracle o [41]Source Control for Oracle o [42]Data Masker for Oracle + [43]MySQL o [44]MySQL Comparison Bundle o [45]MySQL Compare o [46]MySQL Data Compare * [47]Solutions + [48]Overview + [49]By Need o [50]Standardize o [51]Automate o [52]Monitor o [53]Protect + [54]By Role o [55]Development o [56]Operations o [57]IT Management o [58]Enterprise leadership + [59]By Industry o [60]Tech o [61]Finance o [62]U.S. Federal o [63]Manager Service Providers + [64]Resources + [65]Maturity assessment * [66]Support * [67]Our Company + [68]Overview + [69]Careers + [70]Contact us + [71]Redgate blog + [72]Press kit * [73]Community Hub + [74]Product learning + [75]Redgate University + [76]Forums + [77]Events & groups + [78]Simple Talk * [79]Search * [80]My account * [81]Shopping cart * [82]Quotes * * * * * [83]Products + [84]SQL Server o [85]SQL Toolbelt o [86]SQL Compare o [87]SQL Data Compare o [88]SQL Prompt o [89]SQL Monitor o [90]SQL Change Automation o [91]SQL Provision o [92]SQL Clone o [93]SQL Data Masker o [94]SQL Source Control o [95]SQL Backup Pro o [96]DLM Dashboard o [97]SQL Search o [98]SQL Doc o [99]SQL Data Generator o [100]SQL Test o [101]SQL Multi Script o [102]SQL Dependency Tracker o [103]SQL Scripts Manager o [104]SQL Index Manager o [105]SQL Data Catalog + [106].NET o [107].NET Developer Bundle o [108]ANTS Performance Profiler o [109]ANTS Memory Profiler o [110].NET Reflector o [111]SmartAssembly + [112]Oracle o [113]Deployment Suite for Oracle o [114]Schema Compare for Oracle o [115]Data Compare for Oracle o [116]Source Control for Oracle o [117]Data Masker for Oracle + [118]MySQL o [119]MySQL Comparison Bundle o [120]MySQL Compare o [121]MySQL Data Compare * [122]Solutions + [123]Overview + [124]By Need o [125]Standardize o [126]Automate o [127]Monitor o [128]Protect + [129]By Role o [130]Development o [131]Operations o [132]IT Management o [133]Enterprise leadership + [134]By Industry o [135]Tech o [136]Finance o [137]U.S. Federal o [138]Manager Service Providers + [139]Resources + [140]Maturity assessment * [141]Support * [142]Our Company + [143]Overview + [144]Careers + [145]Contact us + [146]Redgate blog + [147]Press kit * [148]Community Hub + [149]Product learning + [150]Redgate University + [151]Forums + [152]Events & groups + [153]Simple Talk OVERVIEW * [154]Compliant Database DevOps BY NEED * [155]Standardize team-based development * [156]Automate database deployments * [157]Monitor performance and availability * [158]Protect and preserve data BY ROLE * [159]Development * [160]Operations * [161]IT Management * [162]Enterprise leadership BY INDUSTRY * [163]Tech * [164]Finance * [165]U.S. Federal * [166]Managed Service Providers [167]Redgate logo Hub * * [168]Product articles Tips & how-to guides * [169]University Product training videos * [170]Community forums Ask, discuss, solve * [171]Events & Friends Meet us & join in * [172]Simple Talk Articles & opinion * [173]Home * [174]SQL * [175].NET * [176]Cloud * [177]Sysadmin * [178]Opinion * [179]Books * [180]Blogs * [181]Log in * [182]Sign up * [183]Richard Morris [184]Richard Morris 18 January 2012 * 114 * 45736 views * * + [185]Printer friendly version + + + + * [186]Home * [187]Opinion * [188]Geek of the Week * Chuck Moore on the Lost Art of Keeping It Simple [189]Richard Morris [190]Richard Morris 18 January 2012 45736 views 114 Chuck Moore on the Lost Art of Keeping It Simple Chuck Moore is still the radical thinker of Information Technology, After an astonishing career designing languages (e.g. FORTH), browser-based computers, CAD systems and CPUs, he is now energetically designing extremely low-powered 'green' multi-processor chips for embedded systems. Behind everything he does is a radical message: 'Embrace the entire problem, Keep it simple'. In the early days of computing, software written for one make of machine would not run on any other. Computer scientists wanted to define “programming languages” that could be universally understood. That this is the norm today – the software of the internet, for example, can run on every kind of computer. Chuck Moore was the first to turn this vision into reality: a simple language written in itself, with its own simple disk operating system, requiring just a tiny kernel to be written in the native machine code to link with the hardware. As a result, FORTH could be used everywhere, and was. It was the start of a life-long quest to provide computing power as simply and cheaply as possible, as widely as possible. It has led to poineering work with what we now refer to as ‘network computers’, MISC CPU design and the development of computer languages. 775-chuck.JPG It could be said to be a consequence of a talk that John McCarthy gave at Stanford University in 1961 when he said that if his approach to technology was adopted, “computing may some day be organised as a public utility, just as the telephone system is a public utility”, and that this could become the basis of a significant new industry. As a pupil of McCarthy’s at MIT in the 1960s, Charles ‘Chuck’ Moore’s approach to software design embraced his master’s elegance, efficiency and simplicity as well as shaping his own beliefs and he went on to design numerous firsts including the ‘Forth’ language, which is still in use today. Chuck’s numerous industry awards include membership to the US Computer History Hall of Fame, an honour bestowed on him by President Ronald Reagan. We [191]last spoke with Chuck in 2009 and in this interview we talked about his still eager enthusiasm for technology, the beauty of code and his legacy as a technologist. __________________________________________________________________ RM: Chuck, the last time we spoke we touched on complexity and you said that simplicity was the only answer to this. Why do you think it is so tempting to solve a problem we don’t really have? CM: First, one doesn’t understand the problem initially and thinks it’s more difficult than it is. In the course of solving the problem, one learns about it. But in the rush of completing it, never re-examines the premises, rewrites and simplifies. This is not a small omission; code can be an orders of magnitude too elaborate. Second, it’s irresistible to anticipate the future and expect the problem to grow in a certain direction. Thus code is added to facilitate future changes, which rarely occur. This is a good strategy, but can be put off until the future arrives. Finally, a difficult problem is more fun to solve than an easy one. So the problem is enhanced to be more worthy of attention. Artificial Intelligence is often applied in this way. RM: How much do you think you can sit down and figure out how something should work, assuming it’s not something that you’ve built before? Do you need to start writing code in order to really understand what the problem is? CM: Yes. There used to be, perhaps still is, a distinction between programmers and coders. Programmers understand the problem; coders are grunt labour. In spite of the existence of high-level languages supposed to let the programmers produce the code. This is stupid. You need feedback from the code to the problem. I’m currently programming the tiny computers of GreenArrays’ chips. And there the statement of the problem and the architecture of the solution depend crucially on the amount of code. RM: Your processors at GreenArrays generally have the power consumption of less than a watt. Do you feel rather despondent at the power demands of today’s high-end processors? Is this a consequence of the fact we don’t have a sufficient grip on building parallel software? CM: Yes. I hear that 10% of power used goes to computers. My goal with Forth was to provide an example of how much software was required to solve a problem. That would help me judge the quality of other software. And perhaps motivate others to seek a simpler solution. GreenArrays likewise offers a benchmark about how much power contemporary technology requires. You don’t have to use our chips to appreciate how inefficient a PC is. We have 30 times the Mips, using 1% the power. Landauer’s Limit suggests a minimal entropy increase is required for computation, far lower than we’ve achieved. The proper measure is the energy required for a computation. It is measured in femtojoules. Typically, the faster an operation the less energy needed. Power (nanowatts) depends on speed, whereas energy does not. But power is easier to measure. RM: Is there anything that you did specifically to improve your skill as a programmer, such as write something in a language that you’d rather not write in? CM: Actually, I did. When I joined Mohasco in the mid 1960s it was to do system programming for their order-entry system. I found that the programmers all used COBOL, so I thought it prudent to learn COBOL. I doubt this improved my skill, but I did learn enough about COBOL to be disillusioned about it, those who used it and the establishment that promoted it. RM: Knuth has an essay about developing TeX where he talks about going over to a pure, destructive QA personality and his hardest to break his own code. Do you think most developers are good at that? CM: No. It’s been demonstrated time and again that a naive user will crash an application. The developer knows intuitively what not to do and it never occurs to him to test that. A good test for keyboard input is to play monkey on the keys. The program must survive random gibberish, including shift key combinations. A young child is excellent at this. Of course, a keyboard is too sophisticated to be a good input device. RM: Leaving aside designing user interactions, when is prototyping valuable? As opposed to just thinking about how something is going to work? CM: Hardware prototyping is essential to allow software development. It’s simpler and more realistic than coding a simulator. Software prototyping is useful to establish the scope of a program. The calculations involved need not be coded. Stubs can return a result, perhaps always 0. If a display is required, it can be a simple template. But the programmer has his arms around the entire problem. He’s factored the problem into independent parts, established multiple threads and their communication and basically roughed out the solution. In an afternoon. Filling in the details follows relatively easily and can involve others. RM: Do you find some code aesthetically beautiful? CM: Yes, code can be beautiful. But it rarely is. Beauty lies in showing off the structure of a program, without distracting details. Factoring into subroutines or threads is essential for this. A wall of straight-line code is ugly. As is code loaded with comments or conditions. Pretty code can result from clever instantiation of objects. This is supposed to suppress details. Also from the careful choice of names so that their purpose is clear. RM: Is there an upper limit on how big a piece of software can be and still be beautiful? CM: I think so. A painting may be beautiful, but not a gallery full of paintings. Beauty can be overwhelming. My Forth has always utilized 1KB blocks of code. This is a quantum that is comprehensible and can be seen on a monitor. I can’t think of code I’d call beautiful that was larger than this. My multi-computers have 1 block of code per computer, so possibly several blocks will combine to be beautiful. But this hasn’t happened yet. RM: A well known programmer told me he’d noticed that people, who are too clever, in a certain dimension, write the worst code because they can see the whole thing in their head and consequently write code of enormous complexity and lack empathy with those who have to use it. Is there something intrinsic in programming that always going to draw people with that kind of mentality? CM: It’s important to see the entire problem in your mind. Whether you’re clever or not. It’s the only way to see the structure. And that is simple, not complex. Problems are not complex. The things we ask computers to do are basically simple. Otherwise we couldn’t program the mindless devices. But we can make a problem complex by refusing to see its simplicity. One way to do this is to apply too many people to the problem. Each will have his own preconceptions and communication is not enough to overcome them. The prime example is Microsoft, which has applied huge resources to maintaining 30 years of backward compatibility of Windows. The result is a hideous mass of complexity that no one understands. They’ve created a problem that cannot be solved. RM: Are the opportunities for this kind of programming to go away? A lot of this low-level design is implemented in the VM that you’re using or the concurrency libraries that are being used. So for a lot of people, programming is about gluing things together. CM: Library routines have been glued together since Fortran days. Fortran was the first Virtual Machine, but there have been many, many since. Apparently there are two kinds of programming and programmers. The knowledge and effort required to mine library resources is comparable to that required to understand and code the problem directly. This is an example of the principle of “Conservation of Complexity”. A problem has an intrinsic level of complexity, which as I’ve said is pretty low. You may know of a library routine that addresses it, or a bit of silicon that can be used, or a computer language that applies. But even if you shovel off the complexity into hardware or language, it remains. Sadly, it can be increased, just like entropy: You can pick a language, find a library routine and use the silicon all at the same time. You can add or multiply the individual complexities to obtain a new one. We do this in society all the time, by passing laws to solve problems that only create new ones. RM: What makes a good programmer? If you are hiring or interviewing programmers – what do you look for? CM: Although I’ve never hired one, I’ve interviewed some. My personal judgement is not reliable. What I want is someone who wants to solve problems and move on. Not make a problem into a career. Someone with enthusiasm, willing to work long hours and meet deadlines. What is not necessary is a college degree. A Computer Science graduate waves a red flag. They have learned how difficult it is to program and make it so. RM: You obviously have to have a good memory to be a reasonable programmer. Bill Gates once claimed that he could go to a blackboard and write out big chunks of the code to the BASIC that he had written for the Altair, a decade or so after he had originally written it. Can you remember your old code in that way? CM: I don’t spend much time thinking about the past. I like to live in the future. But it seems that many people have better memories than I do. When I encounter code that I wrote in the past, I can read and understand it much more quickly that someone else’s code. But without seeing it, I can’t recall it. And I’m always impressed with how clever I was back then. I have the impression that I’ve learned to write better code over the years. That may not be true. RM: Speaking of being a language designer, how have your ideas about language design changed over time? Back in the 1970s people would design languages and make a complete design, implement it and that would be that almost. Are languages now too big to design or implement all at once? CM: That’s a problem that I recognized and avoided back then. Forth is an extensible language. It has a basic structure of stacks and dictionary. Beyond that it can be augmented as required for any particular problem. To try to anticipate all applications of a language leads to impossible syntax. This requires a miserably complex compiler. To create a language for each application is unsupportable. Forth provides a nice alternative. RM: Are there other skills that are not directly related to programming that you feel have improved your programming or that are valuable to have? You mention in your blog that you’re writing what sounds like an autobiography. What’s your writing schedule like and have you decided on what you’ll leave out as much as what you’ll put in? CM: My mother insisted that I learn the piano. My teacher profited for 10 years, but I had no talent for music. Nonetheless, music is probably a stepping stone to mathematics and thence to programming. Another skill is writing. I’ve never learned to say the same thing over again in different words. I can put words on paper, but not in an entertaining manner. Programming is writing to a computer. It does not need to be entertained, but informed. But successful programs must be documented, which is writing to people. And if it’s not sufficiently entertaining, no one will read it. RM: Are programmers and computer scientists aware enough of the history of technology? It is a pretty short history after all? CM: I lived through the history of computers. And I missed a lot of it. History is a brooding study that adds flavour to a subject. But programming depends upon common sense more than most disciplines. There are few techniques that cannot be reinvented more easily than researched. So I would encourage people to read history such as Knuth, but not to expect to gain insight into their problem. RM: Do you consider yourself a scientist, an engineer, an artist or a craftsman? CM: I put ‘engineer’ in the box on forms. Sometimes I put ‘computer engineer’ in a big box. I studied to become a scientist, which is still my avocation. Then I transitioned to software engineer, specializing in scientific applications. Then to system programmer, language designer and finally hardware engineer. Now I think of myself as a hardware stroke software engineer. One who uses software to design hardware which he then programs. This is a useful combination that produces simple, relevant hardware. An artist is more imaginative and a craftsman has greater leisure to perfect his work. Engineer seems about right. RM: In what ways do you think you have influenced the software industry as a technologist? CM: My greatest success is that people are curious to hear what I have to say. Witness this article. Do they pay attention? Not so much. Persistence. That’s the secret. I’ve been talking since the golden age of the 70s and I’m still saying the same message. So there must be something to it? Keep it Simple. Embrace the entire problem, be it software or hardware. Value cleverness. I’ve had some influence on a small part of the world. But that was never the purpose: I’ve had a lot of fun. Subscribe for more articles Fortnightly newsletters help sharpen your skills and keep you ahead, with articles, ebooks and opinion to keep you informed. Subscribe to our fortnightly newsletter * [X] Simple Talk Email ____________________ Subscribe * 114 * 45736 views * + [192]Printer friendly version + + + + Rate this article [Total: 3 Average: 3/5] Subscribe for more articles Fortnightly newsletters help sharpen your skills and keep you ahead, with articles, ebooks and opinion to keep you informed. Subscribe to our fortnightly newsletter * [X] Simple Talk Email ____________________ Subscribe [193]Richard Morris [194]Richard Morris Richard Morris is a journalist, author and public relations/public affairs consultant. He has written for a number of UK and US newspapers and magazines and has offered strategic advice to numerous tech companies including Digital Island, Sony and several ISPs. He now specialises in social enterprise and is, among other things, a member of the Big Issue Invest advisory board. Big Issue Invest is the leading provider to high-performing social enterprises & has a strong brand name based on its parent company The Big Issue, described by McKinsey & Co as the most well known and trusted social brand in the UK. [195]View all articles by Richard Morris Related articles Also in [196]Chuck Moore [197]Chuck Moore: Geek of the Week Charles Moore is one of the greatest ever programmers. The 'Forth' language he invented is still in use today, particularly by NASA, and has never been bettered for instrumentation and process control. He still argues persuasively that the only way we can develop effective software quickly is to embrace simplicity. Like Niklaus Wirth, he remains a radical whose views have become increasingly relevant to current software development… [198]Read more Also in [199]Geek of the Week [200]Clive Sinclair: Geek of the Week Although most of the geeks of the IT industry are famous for their software, it was the geeky entrepreneurs that changed society by bringing cheap microcomputers to the market. Sir Clive Sinclair is most famous for applying his background in electronic engineering to provide a whole generation, both in America and Europe, with their first taste of programming.… [201]Read more Also in [202]Opinion [203]Relational Algebra and its implications for NoSQL databases With the rise of NoSQL databases that are exploiting aspects of SQL for querying, and are embracing full transactionality, is there a danger of the data-document model's hierarchical nature causing a fundamental conflict with relational theory? We asked our relational expert, Hugh Bin-Haad to expound a difficult area for database theorists.… [204]Read more Tags [205]Charles Moore, [206]Chuck Moore, [207]Geek of the Week, [208]John McCarthy, [209]Opinion [210] Simple Talk * [211]FAQ * [212]Sitemap * [213]Write for Redgate * [214]Contact Us [215]Products * [216]SQL Server * [217].NET * [218]Oracle * [219]MySQL [220]Support * [221]Forums * [222]Contact product support * [223]Find my serial numbers * [224]Download older versions [225]Solutions * [226]Overview * [227]Maturity Assessment [228]Our Company * [229]Careers * [230]Contact us * [231]Redgate Blog * [232]Our values [233]Community & Learning * [234]Product Learning * [235]University * [236]Events & Friends * [237]Simple Talk * [238]Books * [239]Forums Partners * [240]SQL Server Central * [241]Partner products * [242]Resellers * [243]Consulting partners Privacy & compliance * [244]Privacy and cookies * [245]License agreement * [246]Accessibility * [247]Report security issue * [248]Modern slavery * [249]CCPA - Do not sell my data * Copyright 1999 - 2020 Red Gate Software Ltd [250]Database Trends and Applications Top 100 [251]SD Times Top 100 2017 Oracle Gold Partner Microsoft Gold Partner References Visible links 1. https://www.red-gate.com/simple-talk/feed/ 2. https://www.red-gate.com/simple-talk/comments/feed/ 3. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/feed/ 4. https://www.red-gate.com/simple-talk/wp-json/oembed/1.0/embed?url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/ 5. https://www.red-gate.com/simple-talk/wp-json/oembed/1.0/embed?url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/&format=xml 6. https://www.googletagmanager.com/ns.html?id=GTM-N5S5ZL 7. https://www.red-gate.com/ 8. https://www.red-gate.com/products/ 9. https://www.red-gate.com/products/#sql-server 10. https://www.red-gate.com/products/sql-development/sql-toolbelt 11. https://www.red-gate.com/products/sql-development/sql-compare 12. https://www.red-gate.com/products/sql-development/sql-data-compare 13. https://www.red-gate.com/products/sql-development/sql-prompt 14. https://www.red-gate.com/products/dba/sql-monitor 15. https://www.red-gate.com/products/sql-development/sql-change-automation/ 16. https://www.red-gate.com/products/dba/sql-provision 17. https://www.red-gate.com/products/dba/sql-clone 18. https://www.red-gate.com/products/dba/sql-data-masker 19. https://www.red-gate.com/products/sql-development/sql-source-control/ 20. https://www.red-gate.com/products/dba/sql-backup 21. https://www.red-gate.com/products/sql-development/dlm-dashboard/ 22. https://www.red-gate.com/products/sql-development/sql-search/ 23. https://www.red-gate.com/products/sql-development/sql-doc 24. https://www.red-gate.com/products/sql-development/sql-data-generator 25. https://www.red-gate.com/products/sql-development/sql-test 26. https://www.red-gate.com/products/dba/sql-multi-script 27. https://www.red-gate.com/products/sql-development/sql-dependency-tracker 28. https://www.red-gate.com/products/dba/sql-scripts-manager 29. https://www.red-gate.com/products/dba/sql-index-manager 30. https://www.red-gate.com/products/dba/sql-data-catalog/eap 31. https://www.red-gate.com/products/#net 32. https://www.red-gate.com/products/dotnet-development/dotnet-developer-bundle 33. https://www.red-gate.com/products/dotnet-development/ants-performance-profiler 34. https://www.red-gate.com/products/dotnet-development/ants-memory-profiler 35. https://www.red-gate.com/products/dotnet-development/reflector 36. https://www.red-gate.com/products/dotnet-development/smartassembly 37. https://www.red-gate.com/products/#oracle 38. https://www.red-gate.com/products/oracle-development/deployment-suite-for-oracle 39. https://www.red-gate.com/products/oracle-development/schema-compare-for-oracle 40. https://www.red-gate.com/products/oracle-development/data-compare-for-oracle 41. https://www.red-gate.com/products/oracle-development/source-control-for-oracle 42. https://www.red-gate.com/products/oracle-development/data-masker-for-oracle 43. https://www.red-gate.com/products/#mysql 44. https://www.red-gate.com/products/mysql/mysql-comparison-bundle 45. https://www.red-gate.com/products/mysql/mysql-compare 46. https://www.red-gate.com/products/mysql/mysql-data-compare 47. https://www.red-gate.com/solutions/overview 48. https://www.red-gate.com/solutions/overview 49. https://www.red-gate.com/solutions/overview 50. https://www.red-gate.com/solutions/need/standardize 51. https://www.red-gate.com/solutions/need/automate 52. https://www.red-gate.com/solutions/need/monitor 53. https://www.red-gate.com/solutions/need/protect 54. https://www.red-gate.com/solutions/overview 55. https://www.red-gate.com/solutions/role/development 56. https://www.red-gate.com/solutions/role/operations 57. https://www.red-gate.com/solutions/role/it-management 58. https://www.red-gate.com/solutions/role/enterprise 59. https://www.red-gate.com/solutions/overview 60. https://www.red-gate.com/solutions/industry/tech 61. https://www.red-gate.com/solutions/industry/finance 62. https://www.red-gate.com/solutions/industry/federal 63. https://www.red-gate.com/solutions/industry/managed-service-providers 64. https://www.red-gate.com/solutions/resources 65. https://www.red-gate.com/solutions/maturity-assessment 66. https://productsupport.red-gate.com/hc 67. https://www.red-gate.com/our-company/ 68. https://www.red-gate.com/our-company/ 69. https://www.red-gate.com/our-company/careers/current-opportunities/ 70. https://www.red-gate.com/our-company/contact-us 71. https://www.red-gate.com/blog/ 72. https://www.red-gate.com/our-company/press-kit 73. https://www.red-gate.com/hub/ 74. https://www.red-gate.com/hub/product-learning 75. https://www.red-gate.com/hub/university 76. https://forum.red-gate.com/ 77. https://www.red-gate.com/hub/events/ 78. https://www.red-gate.com/simple-talk/ 79. https://www.red-gate.com/search 80. https://www.red-gate.com/account/ 81. https://www.red-gate.com/dynamic/purchase/cart/summary?ref=account-nav 82. https://www.red-gate.com/dynamic/quotes/openquote?ref=account-nav 83. https://www.red-gate.com/products/ 84. https://www.red-gate.com/products/#sql-server 85. https://www.red-gate.com/products/sql-development/sql-toolbelt 86. https://www.red-gate.com/products/sql-development/sql-compare 87. https://www.red-gate.com/products/sql-development/sql-data-compare 88. https://www.red-gate.com/products/sql-development/sql-prompt 89. https://www.red-gate.com/products/dba/sql-monitor 90. https://www.red-gate.com/products/sql-development/sql-change-automation/ 91. https://www.red-gate.com/products/dba/sql-provision 92. https://www.red-gate.com/products/dba/sql-clone 93. https://www.red-gate.com/products/dba/sql-data-masker 94. https://www.red-gate.com/products/sql-development/sql-source-control/ 95. https://www.red-gate.com/products/dba/sql-backup 96. https://www.red-gate.com/products/sql-development/dlm-dashboard/ 97. https://www.red-gate.com/products/sql-development/sql-search/ 98. https://www.red-gate.com/products/sql-development/sql-doc 99. https://www.red-gate.com/products/sql-development/sql-data-generator 100. https://www.red-gate.com/products/sql-development/sql-test 101. https://www.red-gate.com/products/dba/sql-multi-script 102. https://www.red-gate.com/products/sql-development/sql-dependency-tracker 103. https://www.red-gate.com/products/dba/sql-scripts-manager 104. https://www.red-gate.com/products/dba/sql-index-manager 105. https://www.red-gate.com/products/dba/sql-data-catalog/eap 106. https://www.red-gate.com/products/#net 107. https://www.red-gate.com/products/dotnet-development/dotnet-developer-bundle 108. https://www.red-gate.com/products/dotnet-development/ants-performance-profiler 109. https://www.red-gate.com/products/dotnet-development/ants-memory-profiler 110. https://www.red-gate.com/products/dotnet-development/reflector 111. https://www.red-gate.com/products/dotnet-development/smartassembly 112. https://www.red-gate.com/products/#oracle 113. https://www.red-gate.com/products/oracle-development/deployment-suite-for-oracle 114. https://www.red-gate.com/products/oracle-development/schema-compare-for-oracle 115. https://www.red-gate.com/products/oracle-development/data-compare-for-oracle 116. https://www.red-gate.com/products/oracle-development/source-control-for-oracle 117. https://www.red-gate.com/products/oracle-development/data-masker-for-oracle 118. https://www.red-gate.com/products/#mysql 119. https://www.red-gate.com/products/mysql/mysql-comparison-bundle 120. https://www.red-gate.com/products/mysql/mysql-compare 121. https://www.red-gate.com/products/mysql/mysql-data-compare 122. https://www.red-gate.com/solutions/overview 123. https://www.red-gate.com/solutions/overview 124. https://www.red-gate.com/solutions/overview 125. https://www.red-gate.com/solutions/need/standardize 126. https://www.red-gate.com/solutions/need/automate 127. https://www.red-gate.com/solutions/need/monitor 128. https://www.red-gate.com/solutions/need/protect 129. https://www.red-gate.com/solutions/overview 130. https://www.red-gate.com/solutions/role/development 131. https://www.red-gate.com/solutions/role/operations 132. https://www.red-gate.com/solutions/role/it-management 133. https://www.red-gate.com/solutions/role/enterprise 134. https://www.red-gate.com/solutions/overview 135. https://www.red-gate.com/solutions/industry/tech 136. https://www.red-gate.com/solutions/industry/finance 137. https://www.red-gate.com/solutions/industry/federal 138. https://www.red-gate.com/solutions/industry/managed-service-providers 139. https://www.red-gate.com/solutions/resources 140. https://www.red-gate.com/solutions/maturity-assessment 141. https://productsupport.red-gate.com/hc 142. https://www.red-gate.com/our-company/ 143. https://www.red-gate.com/our-company/ 144. https://www.red-gate.com/our-company/careers/current-opportunities/ 145. https://www.red-gate.com/our-company/contact-us 146. https://www.red-gate.com/blog/ 147. https://www.red-gate.com/our-company/press-kit 148. https://www.red-gate.com/hub/ 149. https://www.red-gate.com/hub/product-learning 150. https://www.red-gate.com/hub/university 151. https://forum.red-gate.com/ 152. https://www.red-gate.com/hub/events/ 153. https://www.red-gate.com/simple-talk/ 154. https://www.red-gate.com/solutions/overview 155. https://www.red-gate.com/solutions/need/standardize 156. https://www.red-gate.com/solutions/need/automate 157. https://www.red-gate.com/solutions/need/monitor 158. https://www.red-gate.com/solutions/need/protect 159. https://www.red-gate.com/solutions/role/development 160. https://www.red-gate.com/solutions/role/operations 161. https://www.red-gate.com/solutions/role/it-management 162. https://www.red-gate.com/solutions/role/enterprise 163. https://www.red-gate.com/solutions/industry/tech 164. https://www.red-gate.com/solutions/industry/finance 165. https://www.red-gate.com/solutions/industry/federal 166. https://www.red-gate.com/solutions/industry/managed-service-providers 167. https://www.red-gate.com/hub/ 168. https://www.red-gate.com/hub/product-learning/ 169. https://www.red-gate.com/hub/university/ 170. https://forum.red-gate.com/ 171. https://www.red-gate.com/hub/events/ 172. https://www.red-gate.com/simple-talk/ 173. https://www.red-gate.com/simple-talk/ 174. https://www.red-gate.com/simple-talk/sql/ 175. https://www.red-gate.com/simple-talk/dotnet/ 176. https://www.red-gate.com/simple-talk/cloud/ 177. https://www.red-gate.com/simple-talk/sysadmin/ 178. https://www.red-gate.com/simple-talk/opinion/ 179. https://www.red-gate.com/simple-talk/books/ 180. https://www.red-gate.com/simple-talk/blogs/ 181. https://www.red-gate.com/simple-talk/account/log-in 182. https://www.red-gate.com/simple-talk/account/sign-up 183. https://www.red-gate.com/simple-talk/author/richard-morris/ 184. https://www.red-gate.com/simple-talk/author/richard-morris/ 185. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/?view=print 186. https://www.red-gate.com/ 187. https://www.red-gate.com/simple-talk/opinion/ 188. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/ 189. https://www.red-gate.com/simple-talk/author/richard-morris/ 190. https://www.red-gate.com/simple-talk/author/richard-morris/ 191. http://www.simple-talk.com/opinion/geek-of-the-week/chuck-moore-geek-of-the-week/ 192. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/?view=print 193. https://www.red-gate.com/simple-talk/author/richard-morris/ 194. https://www.red-gate.com/simple-talk/author/richard-morris/ 195. https://www.red-gate.com/simple-talk/author/richard-morris/ 196. https://www.red-gate.com/simple-talk/tag/chuck-moore/ 197. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-geek-of-the-week/ 198. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-geek-of-the-week/ 199. https://www.red-gate.com/simple-talk/tag/geek-of-the-week/ 200. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/clive-sinclair-geek-of-the-week/ 201. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/clive-sinclair-geek-of-the-week/ 202. https://www.red-gate.com/simple-talk/tag/opinion/ 203. https://www.red-gate.com/simple-talk/opinion/opinion-pieces/relational-algebra-and-its-implications-for-nosql-databases/ 204. https://www.red-gate.com/simple-talk/opinion/opinion-pieces/relational-algebra-and-its-implications-for-nosql-databases/ 205. https://www.red-gate.com/simple-talk/tag/charles-moore/ 206. https://www.red-gate.com/simple-talk/tag/chuck-moore/ 207. https://www.red-gate.com/simple-talk/tag/geek-of-the-week/ 208. https://www.red-gate.com/simple-talk/tag/john-mccarthy/ 209. https://www.red-gate.com/simple-talk/tag/opinion/ 210. https://www.red-gate.com/simple-talk 211. https://www.red-gate.com/simple-talk/faq/ 212. https://www.red-gate.com/simple-talk/sitemap/ 213. https://www.red-gate.com/simple-talk/write-for-us/ 214. https://www.red-gate.com/simple-talk/contact-us/ 215. https://www.red-gate.com/products/ 216. https://www.red-gate.com/products/#sql-server 217. https://www.red-gate.com/products/#net 218. https://www.red-gate.com/products/#oracle 219. https://www.red-gate.com/products/#mysql 220. https://productsupport.red-gate.com/hc 221. https://forums.red-gate.com/ 222. https://productsupport.red-gate.com/ 223. https://www.red-gate.com/dynamic/account 224. https://www.red-gate.com/products/old-versions 225. https://www.red-gate.com/solutions/overview 226. https://www.red-gate.com/solutions/overview 227. https://www.red-gate.com/solutions/maturity-assessment 228. https://www.red-gate.com/our-company/ 229. https://www.red-gate.com/our-company/careers/current-opportunities 230. https://www.red-gate.com/our-company/contact-us 231. https://www.red-gate.com/blog 232. https://www.red-gate.com/our-company/careers/overview#our-values 233. https://www.red-gate.com/hub/ 234. https://www.red-gate.com/hub/product-learning 235. https://www.red-gate.com/hub/university 236. https://www.red-gate.com/hub/events/ 237. https://www.red-gate.com/simple-talk 238. https://www.red-gate.com/hub/books/ 239. https://forums.red-gate.com/ 240. https://www.sqlservercentral.com/ 241. https://www.red-gate.com/products/#partner-products 242. https://www.red-gate.com/partners/find-a-partner?list=resellers 243. https://www.red-gate.com/partners/find-a-partner 244. https://www.red-gate.com/website/legal 245. https://www.red-gate.com/support/license 246. https://www.red-gate.com/website/accessibility 247. https://www.red-gate.com/support/security 248. https://www.red-gate.com/website/modern-slavery 249. https://www.red-gate.com/website/ccpa 250. http://www.dbta.com/Editorial/Trends-and-Applications/DBTA-100-2017---The-Companies-That-Matter-Most-in-Data-118003.aspx 251. http://sdtimes.com/sd-times-100/sd-times-100-2017-youve-arrived/ Hidden links: 253. https://www.red-gate.com/search 254. https://www.red-gate.com/account/ 255. https://www.red-gate.com/dynamic/purchase/cart/summary?ref=account-nav 256. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/#menu 257. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/ 258. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/#menu 259. https://www.red-gate.com/simple-talk/feed/ 260. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/#comments 261. mailto:?subject=Articleonhttps://www.red-gate.com/simple-talk:ChuckMooreontheLostArtofKeepingItSimple&body=Ifoundthisgreatarticleonhttps://www.red-gate.com/simple-talk.%0D%0A%0D%0AIt'scalledChuckMooreontheLostArtofKeepingItSimple.%0D%0A%0D%0AYoucanfinditherehttps://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/. 262. https://twitter.com/share?url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/&text=Chuck%20Moore%20on%20the%20Lost%20Art%20of%20Keeping%20It%20Simple%20@simple_talk 263. https://facebook.com/sharer.php?u=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/ 264. https://linkedin.com/shareArticle?mini=true&url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/ 265. https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/#comments 266. mailto:?subject=Articleonhttps://www.red-gate.com/simple-talk:ChuckMooreontheLostArtofKeepingItSimple&body=Ifoundthisgreatarticleonhttps://www.red-gate.com/simple-talk.%0D%0A%0D%0AIt'scalledChuckMooreontheLostArtofKeepingItSimple.%0D%0A%0D%0AYoucanfinditherehttps://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/. 267. https://twitter.com/share?url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/&text=Chuck%20Moore%20on%20the%20Lost%20Art%20of%20Keeping%20It%20Simple%20@simple_talk 268. https://facebook.com/sharer.php?u=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/ 269. https://linkedin.com/shareArticle?mini=true&url=https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/chuck-moore-on-the-lost-art-of-keeping-it-simple/