#!/usr/bin/env ruby # encoding: utf-8 require 'ansi/code' include ANSI::Code # show help if requested if ARGV[0] == '--help' or ARGV[0] == '-h' then puts "usage: " + $0 + " [arguments]" puts " " + $0 + " Display all fortunes and sections." puts " " + $0 + " < --help | -h > This help." puts " " + $0 + " --whitetrash Convert ANSI colors for light/white terminals." puts " " + $0 + " --machine Remove ANSI colors." puts " " + $0 + " --fortune Convert output to fortune format (and lose colors)." exit(0) end # ... but optionally make sure ANSI escape sequences are filtered out whitetrash=false zero_colors=false fortunify=false if ARGV[0] == '--machine' then ARGV.shift zero_colors = true elsif ARGV[0] == '--fortune' then zero_colors = true fortunify = true else if `which tput` then colors = `tput colors` if colors.chop == "-1" then zero_colors = true end end end if ARGV[0] == '--whitetrash' then whitetrash = true end if zero_colors || ENV.has_key?('NO_COLOR') then alias :puts_old :puts alias :print_old :print if fortunify==false then # normal drop-ansi mode def puts(*args) args = args.join('') args.gsub!(/\x1b\[[;0-9]*[a-zA-Z]/,'') # ie. remove ansi sequences puts_old(args) end def print(*args) args = args.join('') args.gsub!(/\x1b\[[;0-9]*[a-zA-Z]/,'') # ie. remove ansi sequences print_old(args) end else # fortune mode def puts(*args) args = args.join('') args.gsub!(/\x1b\[[;0-9]*[a-zA-Z]/,'') # ie. remove ansi sequences if not args.match(/^--/) and not args.match(/^$/) then puts_old(args + "\n%\n") end end def print(*args) args = args.join('') args.gsub!(/\x1b\[[;0-9]*[a-zA-Z]/,'') # ie. remove ansi sequences print_old(args) end end elsif whitetrash then alias :puts_old :puts alias :print_old :print # implement color swaps for: # - white: "grey" => "\e[0;37m", "white" => "\e[1;37m", # - black: "black" => "\e[0;30m" # - black+bold: "darkgrey" => "\e[1;30m", def puts(*args) args = args.join('') args.gsub!(/(\x1b\[)1;37m/,'\1' + '0;30m') # ie. replace bold white with black args.gsub!(/(\x1b\[)37m/,'\1' + '30m') # ie. replace non-bold grey with black puts_old(args) end def print(*args) args = args.join('') args.gsub!(/(\x1b\[)1;37m/,'\1' + '0;30m') # ie. replace white with black args.gsub!(/(\x1b\[)37m/,'\1' + '30m') # ie. replace non-bold grey with black print_old(args) end end # spatial / architectural puts '------ software architecture ------' puts white{ "I can get another if I break it, so " } + white{ bold{ "a clay cup trumps a grail." } } + black{ bold{ " - Mirza Asadullah Khan Ghalib, classical Urdu and Persian poet from the Mughal Empire" } } puts white{ bold{ "Rule of Zero, One or Infinity (ZOI)" } } + white{ ": Arbitrary limits on the number of instances of a particular entity should not be allowed." } + black{ bold{ " - Willem van der Poel" } } puts white{ bold{ "Worse is better" } } + white{ ": Design for simplicity." } + black{ bold{ " - Richard P. Gabriel, 'Lisp: Good News, Bad News, How to Win Big' (1989)" } } puts white{ bold{ "Uniform Access Principle" } } + white{ ": Services should be offered through uniform interfaces, regardless of internal implementation." } + black{ bold{ " - Bertrand Meyer" } } puts white{ bold{ "Rule of Least Power" } } + white{ ": Use the least powerful language possible for a given problem. Prefer declarative languages over procedural." } puts white{ bold{ "Rule 3.14" } } + white{ ": Nothing gets standardised until there are multiple instances of running code." } + black{ bold{ " - RFC1958 (1996)" } } puts white{ bold{ "Optimization considered harmful" } } + white{ ": In particular, optimization introduces complexity, and as well as introducing tighter coupling between components and layers." } + black{ bold{ " - RFC3439" } } puts white{ bold{ "Law of Diminishing Returns" } } + white{ ": If one factor of production is increased while the others remain constant, the overall returns will relatively decrease after a certain point." } + black{ bold{ " - W. J. Spillman and E. Lang (1924)" } } puts white{ bold{ "Upgrade cost of network complexity" } } + white{ ": The Internet has smart edges ... and a simple core. Adding an new Internet service is just a matter of distributing an application ... Compare this to voice, where one has to upgrade the entire core." } + black{ bold{ " - RFC3439 (2002)" } } puts white{ bold{ "Lest men suspect your tale untrue, keep probability in view." } } + black{ bold{ " - John Gay (1727)" } } puts white{ bold{ "For every proverb, there is an equal and opposite proverb." } } + black{ bold{ " - Philip Wadler (2011-03-23)" } } puts white{ bold{ "Fast, cheap, and reliable" } } + white{ ": choose two." } + black{ bold{ " - Old engineering proverb" } } puts white{ bold{ "Freedom, security, and convenience" } } + white{ ": choose two." } + black{ bold{ " - Unknown" } } puts white{ bold{ "Trust is the availability of effective recourse." } } + black{ bold{ " - Dan Geer (2014)" } } puts white{ bold{ "Security engineering is about tolerable failure modes." } } + white{ " Determine which failure modes are tolerable and which are not, and design around not having the intolerable ones." } + black{ bold{ " - Dan Geer (2014)" } } puts white{ bold{ "CIA triad" } } + white{ ": Confidentiality, Integrity, Availability." } + black{ bold{ " - Famous summary of computer security concerns." } } puts white{ "Some people when faced with a problem think: \"I know, I'll use distributed computing\"." } + white{ bold{ " Now they have N^2 problems." } } + black{ bold{ ' - @jamesiry' } } # paradoxes from http://www.informit.com/articles/article.aspx?p=1963779 puts white{ "Software Architecture Paradox #1: " } + white{ bold{ "Flexibility breeds complexity." } } + white{ " We aim to design flexible software; yet, in doing so, we see an undesirable increase in complexity." } + black{ bold{ " - Kirk Knoernschild (2012)" } } puts white{ "Software Architecture Paradox #2: " } + white{ bold{ "Reuse complicates use." } } + white{ " We strive to develop reusable software, only to impair the software's ease of use." } + black{ bold{ " - Kirk Knoernschild (2012)" } } puts white{ "Software Architecture Paradox #3: " } + white{ bold{ "Evolution impedes survival." } } + white{ " We design a software system that can evolve, but in doing so hasten its death." } + black{ bold{ " - Kirk Knoernschild (2012)" } } # https://news.ycombinator.com/item?id=8558942 puts white{ "Design up front for reuse is, in essence, premature optimization." } + black{ bold{ " - AnimalMuppet" } } # this one aka 'fundamental theorem of software engineering' puts white{ bold{ "All problems in computer science can be solved by another level of indirection" } } + white{ ", except of course for the problem of too many indirections." } + black{ bold{ " - David Wheeler" } } puts white{ "If you have too many special cases, you're doing it wrong." } + black{ bold{ " - Craig Zerouni" } } puts white{ "One person's constant is another person's variable." } + black{ bold{ " - Susan Gerhart" } } puts white{ "One person's data is another person's program." } + black{ bold{ " - Guy L. Steele, Jr." } } puts white{ bold{ "The RPC fallacy" } } + white{ ": making remote/slow/independent things pretend to be local/fast/fate-shared." } + black{ bold{ ' - Wes Felter' } } puts white{ "Sometimes the problem is to discover what the problem is." } + black{ bold{ " - Gordon Glegg, 'The Design of Design' (1969)" } } puts white{ "In practice, " } + white{ bold{ "designing seems to proceed by oscillating between sub-solution and sub-problem areas" } } + white{ ", as well as by decomposing the problem and combining sub-solutions." } + black{ bold{ " - Nigel Cross" } } puts white{ bold{ "Any attempt to formulate all possible requirements at the start of a project will fail" } } + white{ " and would cause considerable delays." } + black{ bold{ " - Pahl and Beitz, 'Engineering Design' (2007)" } } puts white{ "If a design, particularly a team design, is to have conceptual integrity, one should " } + white{ bold{ "name the scarce resource explicitly, track it publicly, control it firmly" } } + white{ "." } + black{ bold{ " - Frederick P. Brooks, 'The Design of Design: Essays from a Computer Scientist' (2010)" } } puts white{ "A general-purpose product is harder to design well than a special-purpose one." } + black{ bold{ " - Frederick P. Brooks, 'The Design of Design: Essays from a Computer Scientist' (2010)" } } puts white{ bold{ "Firmitas, utilitas, venusitas." } } + white{ ' ("Firmness, utility, delight")' } + black{ bold{ " - Marcus Vitruvius, 'De Architectura' (22BCE)" } } puts white{ "The besetting mistake of expert designers is not designing the thing wrong, but designing the wrong thing." } + black{ bold{ " - Frederick P. Brooks, 'The Design of Design: Essays from a Computer Scientist' (2010)" } } puts white{ "The central tension in the software process comes from the fact that we must go from an informally identified need that exists in-the-world to a formal model that operates in-the-computer." } + black{ bold{ " - Bruce Blum, 'Beyond Programming' (1996)" } } puts white{ bold{ "UML" } } + white{ " - Unnecessary Management Lingo." } + black{ bold{ ' - @iamdevloper' } } puts white{ bold{ "There are only two hard things in Computer Science" } } + white{ ": off by one errors, cache invalidation and naming things." } + black{ bold{ " - Phil Karlton" } } puts white{ "Functions in particular are a programming language construct and as such not easily extended across programming languages, processes and networks, mostly due to different type systems and error states [...] " } + white{ bold{ "it's not an accident or historical vestige that Unix philosophy uses the word 'program'" } } + white{ ". It has technical as well as social implications that have barely changed in the past 50 years." } + black{ bold{ " - fauigerzigerk" } } puts white{ bold{ "Most of it's bullshit" } } + white{ " but there is a core of good ideas you have to pay attention to." } + black{ bold{ " - Joseph Henry Condon on cognitive engineering (a 1970s predecessor to the Unix Philosophy)" } } puts white{ bold{ "Any piece of engineering design is a statement." } } + white{ " By the designer without the user." } + black{ bold{ " - Michael Sean Mahoney" } } puts white{ bold{ "The major thing that we found was that you had to look at the whole problem." } } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ bold{ "People write programs around here because they want to use them." } } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ bold{ "There is no excellent beauty which hath not some strangeness in the proportion." } } + black{ bold{ " - Francis Bacon" } } puts white{ "Don't pick the right tool for the job, " } + white{ bold{ "pick the right framework which secures you extra work for being a tool" } } + white{ "." } + black{ bold{ ' - @iamdevloper' } } puts white{ "I cannot paint until I have the complete picture in my mind." } + black{ bold{ " - René Magritte, surrealist" } } puts white{ "Everything tends to make one think that there is little relation between an object and that which represents it." } + black{ bold{ " - René Magritte, surrealist" } } puts white{ "Scissors, paste, images, and genius in effect superseded brushes, paints, models, style, sensibility, and that famous sincerity demanded of artists." } + black{ bold{ " - René Magritte, surrealist, on collage" } } puts white{ "I leave to others the business of causing anxiety and terror and mixing everything up." } + black{ bold{ " - René Magritte, surrealist" } } puts white{ "Our secret desire is for a change in the order of things." } + black{ bold{ " - René Magritte, surrealist" } } puts white{ bold{ "Ship of Theseus" } } + white{ ": All of the parts are new, and yet it is the same ship." } puts white{ "The height of cleverness is to be able to conceal it." } + black{ bold{ " - Francois de la Rochefoucauld (1613-1680)" } } puts white{ bold{ "It from Bit." } } + white{ " [Information gives rise to] every it - every particle, every field of force, even the spacetime continuum itself." } + black{ bold{ " - 'Oracular monosyllables' of Archibald Wheeler, last surviving collaborator of Einstein and Bohr" } } puts white{ "What we call reality arises in the last analysis from the posing of yes-no questions." } + black{ bold{ " - Archibald Wheeler" } } puts white{ bold{ "TMI" } } + white{ ": Too Much Information" } + black{ bold{ " (popular saying at the turn of the 21st century)" } } puts white{ bold{ "Shannon's maxim" } } + black{ bold{ ": One ought to design systems under the assumption that the enemy will immediately gain full familiarity with them." } } puts white{ "If you want creativity, take a zero off your budget. If you want sustainability, take off two zeros." } + black{ bold { " - Jaime Lerner" } } puts white{ bold{ "Keep your code absolutely simple." } } + white{ " Keep looking at your functions and figure out how you simplify further." } + black{ bold{ " - John Romero, id Software" } } puts white{ bold{ "We are our own best testing team" } } + white{ " and should never allow anyone else to experience bugs [...] Don't waste others' time. Test thoroughly before checking in your code." } + black{ bold{ " - John Romero, id Software" } } puts white{ bold{ "As soon as you see a bug, you fix it." } } + white{ " Do not continue on. If you don't fix your bugs your new code will be built on a buggy codebase and ensure an unstable foundation." } + black{ bold{ " - John Romero, id Software" } } puts white{ bold{ "Encapsulate functionality to ensure design consistency." } } + white{ " This minimizes mistakes and saves design time." } + black{ bold{ " - John Romero, id Software" } } puts white{ "New levels, new devils." } puts white{ "Little fleas have lesser fleas... and so on ad infinitum." } puts white{ bold{ "In the time that bandwidth doubles, latency improves by no more than a factor of 1.2 to 1.4" } } + white{ " (and capacity improves faster than bandwidth)" } + black{ bold{ " - David Patterson, U.C. Berkeley (2004)" } } puts white{ "Design the data, not the code." } + black{ bold{ " - Jon Devaan" } } puts white{ bold{ "Designing a computer system is very different from designing an algorithm" } } + white{ ": The external interface (that is, the requirement) is less precisely defined, more complex, and more subject to change. The system has much more internal structure, and hence many internal interfaces. The measure of success is much less clear." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "There probably isn't a 'best' way to build the system, or even any major part of it" } } + white{ "; much more important is to avoid choosing a terrible way, and to have clear division of responsibilities among the parts." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Defining interfaces is the most important part of system design." } } + white{ " Usually it is also the most difficult, since the interface design must satisfy three conflicting requirements: an interface should be simple, it should be complete, and it should admit a sufficiently small and fast implementation. Alas, all too often the assumptions embodied in an interface turn out to be misconceptions instead." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "The main reason interfaces are difficult to design is that each interface is a small programming language" } } + white{ ": it defines a set of objects and the operations that can be used to manipulate the objects. Concrete syntax is not an issue, but every other aspect of programming language design is present." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Do one thing at a time, and do it well." } } + white{ " An interface should capture the " } + white{ bold{ "minimum" } } + white{ " essentials of an abstraction. " } + white{ bold{ "Don't generalize" } } + white{ "; generalizations are generally wrong." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "When an interface undertakes to do too much its implementation will probably be large, slow and complicated." } } + white{ " An interface is a contract to deliver a certain amount of service; clients of the interface depend on the contract, which is usually documented in the interface specification. They also depend on incurring a reasonable cost (in time or other scarce resources) for using the interface; the definition of 'reasonable' is usually not documented anywhere. If there are six levels of abstraction, and each costs 50% more than is 'reasonable', the service delivered at the top will miss by more than a factor of 10." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Service must have a fairly predictable cost, and the interface must not promise more than the implementer knows how to deliver." } } + white{ " Especially, it should not promise features needed by only a few clients, unless the implementer knows how to provide them without penalizing others. A better implementer, or one who comes along ten years later when the problem is better understood, might be able to deliver, but unless the one you have can do so, it is wise to reduce your aspirations." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ "If in doubt, leave it out." } puts white{ "Exterminate features." } + black{ bold{ " - Charles P. Thacker" } } puts white{ bold{ "Perfection must be reached by degrees" } } + white{ "; she requires the slow hand of time." } + black{ bold{ " - Voltaire" } } puts white{ bold{ "Keep secrets of the implementation." } } + white{ " Secrets are assumptions about an implementation that client programs are not allowed to make. In other words, they are things that can change; the interface defines the things that cannot change (without simultaneous changes to both implementation and client). Obviously, it is easier to program and modify a system if its parts make fewer assumptions about each other. On the other hand, the system may not be easier to design - it's hard to design a good interface. And there is a tension with the desire not to hide power." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "One way to improve performance is to increase the number of assumptions that one part of a system makes about another" } } + white{ "; the additional assumptions often allow less work to be done, sometimes a lot less. For instance, if a set of size " } + white{ bold{ "n" } } + white{ " is known to be sorted, a membership test takes time " } + white{ bold{ "log n" } } + white{ " rather than " } + white{ bold{ "n" } } + white{ ". This technique is very important in the design of algorithms and the tuning of small modules. In a large system the ability to improve each part separately is usually more important. Striking the right balance remains an art." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Divide and conquer." } } + white{ " A well known method for solving a hard problem: reduce it to several easier ones. The resulting program is usually recursive. When resources are limited the method takes a slightly different form: bite off as much as will fit, leaving the rest for another iteration." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ "An efficient program is an exercise in logical brinkmanship." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ bold{ "Use a good idea again instead of generalizing it." } } + white{ " A specialized implementation of the idea may be much more effective than a general one." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Handle normal and worst cases separately" } } + white{ ", because the requirements for the two are quite different: The normal case must be fast. The worst case must make some progress." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ "Nearly every non-trivial system has more specialized applications of caching. This is especially true for interactive or real-time systems, in which the basic problem is to incrementally update a complex state in response to frequent small changes. Doing this in an ad-hoc way is extremely error-prone. The best organizing principle is to recompute the entire state after each change but cache all the expensive results of this computation." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Compute in background when possible." } } + white{ " In an interactive or real-time system, it is good to do as little work as possible before responding to a request. The reason is twofold: first, a rapid response is better for the users, and second, the load usually varies a great deal, so there is likely to be idle processor time later in which to do background work. Many kinds of work can be deferred to background." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Be wary then" } } + white{ "; best safety lies in fear." } + black{ bold{ " - William Shakespeare, 'Hamlet', Polonius' advice to Laertes (~1600)" } } puts white{ bold{ "Give every man thy ear, but few thy voice" } } + white{ "; Take each man's censure, but reserve thy judgment." } + black{ bold{ " - William Shakespeare, 'Hamlet', Polonius' advice to Laertes (~1600)" } } puts white{ bold{ "Safety first." } } + white{ " In allocating resources, " } + white{ bold{ "strive to avoid disaster rather than to attain an optimum" } } + white{ ". Many years of experience with virtual memory, networks, disk allocation, database layout, and other resource allocation problems has made it clear that a general-purpose system cannot optimize the use of resources." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Shed load to control demand, rather than allowing the system to become overloaded." } } + white{ " There are many ways to shed load. An interactive system can refuse new users, or even deny service to existing ones. A memory manager can limit the jobs being served so that all their working sets fit in the available memory. A network can discard packets. If it comes to the worst, the system can crash and start over more prudently." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ "If you only remember three things: (1) Keep it simple. (2) Interfaces to abstractions. (3) Write a spec." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "The unavoidable price of reliability is simplicity." } } + white{ " It is a price which the very rich find hard to pay." } + black{ bold{ " - Sir C. A. R. ('Tony') Hoare" } } puts white{ "Many hard problems are best solved when they are addressed backward." } + black{ bold{ " - Charlie Munger, Vice-Chairman of Berkshire Hathaway" } } puts white{ "Bring the computation to the data rather than bringing the data to the computation." } puts white{ "You can't have effective competition without density and an ability to start extremely small." } + black{ bold{ " - @phil21" } } puts white{ bold{ "The Internet is not about technology; it's about communication." } } + white{ " The Internet connects people who have shared interests, ideas and needs, regardless of geography." } + black{ bold{ " - Bob Taylor" } } # https://en.wikipedia.org/wiki/Robert_Taylor_(computer_scientist) puts white{ "I think that I shall never see; A graph more lovely than a tree. A tree whose crucial property; Is loop-free connectivity." } + black{ bold{ " - Radia Perlman, inventor of spanning tree" } } puts white{ bold{ "The 90/10 solution" } } + black{ bold{ ": " } } + white{ "Look for a way in which you can accomplish 90% of what you want with only 10% of the work/effort/time. If you search hard for it, there is almost always a 90/10 solution available." } + black{ bold{ " - Paul Buchheit" } } puts white{ bold{ "Fundamentally engineering is all about smart tradeoffs" } } + white{ ", including those involving working with limited data about the problem vs. gathering more data." } + black{ bold{ " - @mattnewport" } } puts white{ "Human problems remain human problems, and the higher work of computers doesn't erase that." } + black{ bold{ " - Andrew O'Hagan" } } puts white{ "Isolation is the single most important property that a system must have." } + black{ bold{ " - Joe Armstrong" } } puts white{ "I don't trust security people to do sane things." } + black{ bold{ " - Linus Torvalds (2017)" } } puts white{ "If it is to be, it is up to me." } + black{ bold{ " - William H. Johnsen" } } puts white{ "Delegate everything but genius." } + black{ bold{ " - Dan Sullivan" } } puts white{ "Stalin had bad taste in architecture." } + black{ bold{ " - History and Russian Studies" } } puts white{ "Sailboats go faster when there's more wind." } + black{ bold{ " - Naval Architecture and Marine Engineering, Webb Institute" } } # http://lolmythesis.com/post/88613861849/sailboats-go-faster-when-theres-more-wind puts white{ bold{ "Successful programming is all about managing complexity." } } + white{ " Managing complexity has many aspects. You can eliminate, avoid, simplify, hide or automate complexity, and so on." } + black{ bold{ " - Keith Bentley" } } # https://www.quora.com/Programming-is-all-about-managing-complexity-Do-you-agree-with-that-statement/answer/Keith-Bentley puts white{ "The only people who see the whole picture, are the ones who step out of the frame." } + black{ bold{ " - Salman Rushdie" } } puts white{ "The idea that data is a corporate asset needs to die. Data is a corporate liability." } + black{ bold{ " - @jacquesm" } } puts white{ bold{ "不可得兼" } } + black{ bold{ " (bù kě dé jiān)" } } + white{ ": You can't have both at the same time." } + black{ bold{ " - Chinese proverb" } } puts white{ bold{ "力不从心" } } + black{ bold{ " (lì bù cóng xīn)" } } + white{ ": Frustrated aspirations." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "亦步亦趋" } } + black{ bold{ " (yì bù yì qū)" } } + white{ ": To blindly imitate." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "滔滔不绝" } } + black{ bold{ " (tāo tāo bù jué)" } } + white{ ": Without interruption." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "婀娜多姿" } } + black{ bold{ " (ē nuó duō zī)" } } + white{ ": To be graceful." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "海市蜃楼" } } + black{ bold{ " (hǎi shì shèn lóu)" } } + white{ ": 'Buildings upon the ocean' (a mirage)." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "伶牙俐齿" } } + black{ bold{ " (líng yá lì chǐ)" } } + white{ ": To be clear and eloquent." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "伶似懂非懂" } } + black{ bold{ " (sì dǒng fēi dǒng)" } } + white{ ": To not fully understand." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "半途而废" } } + black{ bold{ " (bàn tú ér fèi)" } } + white{ ": To give up halfway." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "抛砖引玉" } } + black{ bold{ " (pāo zhuān yǐn yù)" } } + white{ ": Just tossing an idea out there." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "豁然开朗" } } + black{ bold{ " (huò rán kāi lǎng)" } } + white{ ": Eureka!" } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "乱七八糟" } } + black{ bold{ " (luàn qī bā zāo)" } } + white{ ": A total mess." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "马马虎虎" } } + black{ bold{ " (mǎ mǎ hū hū)" } } + white{ ": Meh." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "七上八下" } } + black{ bold{ " (qī shàng bā xià)" } } + white{ ": Indecisive." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "九牛一毛" } } + black{ bold{ " (jiǔ niú yī máo)" } } + white{ ": A hair amongst nine oxen (insignificant)." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "顺其自然" } } + black{ bold{ " (shùn qí zì rán)" } } + white{ ": Let nature take its course." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "亡羊补牢" } } + black{ bold{ " (wáng yáng bǔ láo)" } } + white{ ": Better late than never." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "脚踏实地" } } + black{ bold{ " (jiǎo tà shí dì)" } } + white{ ": 'Tread on solid ground' (to build upon a solid foundation)" } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "莫名其妙" } } + black{ bold{ " (mò míng qí miào)" } } + white{ ": Baffling." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "一窍不通" } } + black{ bold{ " (yī qiào bù tōng)" } } + white{ ": Total ignorance." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "画蛇添足" } } + black{ bold{ " (huà shé tiān zú)" } } + white{ ": To draw a snake and add legs (to overdo something)." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "塞翁失马" } } + black{ bold{ " (sài wēng shī mǎ)" } } + white{ ": The old man from the frontier lost his horse... but good came of it (a blessing in disguise!)" } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "对牛弹琴" } } + black{ bold{ " (duì niú tán qín)" } } + white{ ": To play a zither to a buffalo (to address the wrong audience)." } + black{ bold{ " - Chinese idiom" } } puts white{ bold{ "πάντα ῥεῖ" } } + black{ bold{ " (panta rhei)" } } + white{ ": Everything flows." } + black{ bold{ " - Heraclitus of Ephesus (~535–475BC)" } } puts white{ "Programs must be written for people to read, and only incidentally for machines to execute." } + black{ bold{ " - Harold Abelson" } } puts white{ "It is easier to port a shell than a shell script." } + black{ bold{ " - Larry Wall" } } puts white{ "Talk is cheap. Show me the code." } + black{ bold{ " - Linus Torvalds" } } puts white{ bold{ "Any fool can write code that a computer can understand." } } + white{ " Good programmers write code that humans can understand." } + black{ bold{ " - Martin Golding" } } puts white{ "A good way to think of assembly reliability is as an inverse function of the number of parts." } + black{ bold{ " - James A. Speck, 'Mechanical Fastening, Joining and Assembly' (2nd Ed.)" } } puts white{ bold{ "Poka-yoke (ポカヨケ)" } } + black{ bold{ ": " } } + white{ 'Japanese term that means "mistake-proofing". More broadly, any behavior-shaping constraint designed into a process to prevent error. ' } puts white{ bold{ "KISS" } } + black{ bold{ ": " } } + white{ "Keep it simple, stupid." } + black{ bold{ " - Kelly Johnson, Lockheed Martin, cold war period." } } puts white{ "Do more and more with less and less until eventually you can do everything with nothing." } + black{ bold{ " - Buckminster Fuller" } } puts white{ "In short [Bauhaus] only looked at problems of modifications of the surface of end-product, which end-products were inherently sub-functions of a technically obsolete world." } + black{ bold{ " - Buckminster Fuller" } } puts white{ "It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away." } + black{ bold{ " - Antoine de Saint Exupéry, a French poet and pioneering aviator" } } puts white{ "The most important single aspect of software development is to be clear about what you are trying to build." } + black{ bold{ " - Bjarne Stroustrup" } } puts white{ "Even trivialities may be essential." } + black{ bold{ " - Tamil saying" } } puts white{ "Essentials never lose their value." } + black{ bold{ " - Tamil saying" } } puts white{ "Bend the twig and you bend the tree." } + black{ bold{ " - Tamil saying" } } puts white{ "Beware of what is beyond your control." } + black{ bold{ " - Tamil saying" } } puts white{ "It is easy to criticize." } + black{ bold{ " - Tamil saying" } } puts white{ "Engineering isn't about imagining the minimum theoretical requirements, it's about building stuff that works with what is available." } + black{ bold{ " - @twtw" } } puts white{ "Rough consensus and running code." } + black{ bold{ " - David Clark (1992)" } } puts white{ "Design is the art of arranging code to work today, and be changeable forever." } + black{ bold{ " - Sandi Metz" } } puts white{ "A picture may be worth a thousand words, a formula is worth a thousand pictures." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ "Elegance is not a dispensable luxury but a quality that decides between success and failure." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ bold{ "Head closer to the rocks of chaos rather than suffocating control." } } + white{ " But being on that side of the channel still means we have to avoid the rocks, and a way to maximize local decision making in a way that minimizes the real costs involved." } + black{ bold{ " - Martin Fowler" } } puts white{ "Architecture is strategy." } puts white{ bold{ "TMTOWTDI" } } + black{ bold{ ": " } } + white{ " There's more than one way to do it." } puts white{ bold{ "Inner-platform effect" } } + white{ ": The tendency of software architects to create a system so customizable as to become a replica, and often a poor replica, of the software development platform they are using." } puts white{ bold{ "Second system effect" } } + white{ ": The tendency of small, elegant, and successful systems to be succeeded by over-engineered, bloated systems due to inflated expectations and overconfidence." } puts white{ "Always consider your design a subsystem." } + black{ bold{ " - Jabe Bloom" } } puts white{ "Algorithms + Data Structures = Programs" } + black{ bold{ " - Niklaus Wirth (1976)" } } puts white{ "Software is non-linear." } puts white{ "Creative, interactive communication requires a plastic or moldable " } + white{ bold{ "medium that can be modeled" } } + white { ", a dynamic " } + white{ bold{ "medium in which premises will flow into consequences" } } + white{ ", and above all a common " } + white{ bold{ "medium that can be contributed to and experimented with by all" } } + white{ "." } + black{ bold{ " - J.C.R. Licklider and R. W. Taylor (1968)" } } puts white{ "By far the most numerous, most sophisticated, and most important models are those that reside in men's minds. In richness, plasticity, facility, and economy, the mental model has no peer, but, in other respects, it has short-comings. It will not stand still for careful study. It cannot be made to repeat a run. No one knows just how it works. It serves its owner's hopes more faithfully than it serves reason. It has access only to the information stored in one man's head. It can be observed and manipulated only by one person. Society rightly distrusts the modeling done by a single mind. Society demands consensus, agreement, at least majority. Fundamentally, this amounts to the requirement that individual models be compared and brought into some degree of accord. The requirement is for communication, which we now define concisely as 'cooperative modeling' - cooperation in the construction, maintenance, and use of a model." } + black{ bold{ " - J.C.R. Licklider and R. W. Taylor (1968)" } } puts white{ "Naturalness with order." } puts white{ "That kind of intellectual activity which creates a whole from its diverse parts may be called the design of a system." } + black{ bold{ " - Melvin E. Conway (1968)" } } puts white{ "There's never enough time to do something right, but there's always enough time to do it over." } + black{ bold{ " - Melvin E. Conway (1968)" } } puts white{ "Design organisation structure doesn't just direct the design, but actually constrains the set of designs that can be contemplated. " } + white{ bold{ "Every person you add reduces your design options." } } + black{ bold{ " - Adrian Colyer's restatement of Melvin E. Conway's 'How do committees invent?'" } } puts white{ bold{ "Avoid dividing systems into modules on the basis of flowcharts." } } + white{ " Instead, begin with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others." } + black{ bold{ " - David L. Parnas (1971) (paraphrased)" } } # translated from French interview with ThinkerView: https://www.youtube.com/watch?t=718&v=KIwtT8cAAKI puts white{ "Complexity is the state where questions are solvable binarily only if submitting to dogma." } + black{ bold{ " - Etienne Klein (2018)" } } puts '------------ Terry Crowley ------------' puts white{ "The most robust programs isolate complexity in a way that lets significant parts of the system appear simple and straightforward and interact in simple ways with other components in the system." } + black{ bold{ " - Terry Crowley" } } puts white{ "Performance analysis plays a key part in determining how and where to hide complexity." } + black{ bold{ " - Terry Crowley" } } puts white{ "Success in hiding complexity is determined not by the component doing the hiding but by the consumers of that component." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "It is the fundamental role of a system designer to determine how to break down a system into components and layers; to make decisions about what to build and what to pick up from elsewhere." } } + white{ " An important element in large scale engineering is understanding how these decisions will play out over time. Change fundamentally underlies everything we do as programmers, so these design choices are not only evaluated in the moment, but are evaluated in the years to come as the product continues to evolve." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Layers (or abstractions) are fundamentally leaky." } } + white{ " These leaks have consequences immediately but also have consequences over time, in two ways. One consequence is that the characteristics of the layer leak through and permeate more of the system than you realize. These might be assumptions about specific performance characteristics or behavior ordering that is not an explicit part of the layer contract. This means that you generally are more vulnerable to changes in the internal behavior of the component that you understood. A second consequence is it also means you are more dependent on that internal behavior than is obvious, so if you consider changing that layer the consequences and challenges are probably larger than you thought." } + black{ bold{ " - Terry Crowley" } } # the below is an effective restatement of KISS or do one thing and do it well principle puts white{ bold{ "Layers are too functional." } } + white{ " A component you adopt will have more functionality than you actually require. In some cases, the decision to use it is based on leveraging that functionality for future uses. You adopt specifically because you want to 'get on the train' and leverage the ongoing work that will go into that component. Consequences: " } + white{ bold{ "1" } } + black{ bold{ ")" } } + white{ " The component will often make trade-offs that are biased by functionality that you do not actually require. " } + white{ bold{ "2" } } + black{ bold{ ")" } } + white{ " The component will embed complexity and constraints because of functionality you do not require and those constraints will impede future evolution of that component. " } + white{ bold{ "3" } } + black{ bold{ ")" } } + white{ " There will be more surface area to leak into your application. Some of that leakage will be due to true 'leaky abstractions' and some will be explicit (but generally poorly controlled) increased dependence on the full capabilities of the component." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Layers get replaced." } } + white{ " Requirements evolve, systems evolve, components are abandoned. You eventually need to replace that layer or component. This is true for external component dependencies as well as internal ones." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Break apart and simplify components" } } + white{ " rather than accrete more and more functionality within them." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Revel in the asynchrony." } } + white{ " Rather than trying to hide it, you accept it and design for it." } + black{ bold{ " - Terry Crowley" } } puts white{ "When you see a technique like idempotency or immutability, you recognize them as ways of embracing the fundamental nature of the universe, not just one more design tool in your toolbox." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Much of performance analysis is about three things: locality, locality, locality." } } + white{ " Whether it is packing data on disk, managing processor cache hierarchies, or coalescing data into a communications packet, how data is packed together, the patterns for how you touch that data with locality over time and the patterns of how you transfer that data between components is fundamental to performance. Focusing on less code operating on less data with more locality over space and time is a good way to cut through the noise." } + black{ bold{ " - Terry Crowley" } } puts white{ "When looking at the structure of a system, I'm less interested in seeing how the code interacts... " } + white{ bold{ "I want to see how the data interacts and flows" } } + white{ "." } + black{ bold{ " - Terry Crowley" } } puts white{ "If someone tries to explain a system by describing the code structure and does not understand the rate and volume of data flow, they do not understand the system." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Caches are fundamental but also dangerous." } } + white{ " Caches are trying to leverage the runtime behavior of the code to change the pattern of interaction between different components in the system. They inherently need to model that behavior, even if that model is implicit in how they fill and invalidate the cache and test for a cache hit. If the model is poor or becomes poor as the behavior changes, the cache will not operate as expected. A simple guideline is that " } + white{ bold{ "caches must be instrumented" } } + white{ " - their behavior will degrade over time because of changing behavior of the application and the changing nature and balance of the performance characteristics of the components you are modeling. " } + white{ bold{ "Every long-time programmer has cache horror stories." } } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "Light speed analysis" } } + black{ bold{ ":" } } + white{ " What is the best theoretical performance I could achieve with this design? What is the real information content being transferred and at what rate of change? What is the underlying latency and bandwidth between components? Could the approach ever achieve the performance goals or does it need a rethink? Understand the true performance characteristics of your building blocks rather than focusing on functional characteristics." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "The human visual and nervous system [is] inherently constrained" } } + white{ ", which means a system designer can leverage (must leverage) those constraints, e.g. by virtualization (limiting how much of the underlying data model needs to be mapped into view data structures) or by limiting the rate of screen update to the perception limits of the human visual system." } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "I have struggled with complexity my entire career." } } + white{ " One of our key approaches for managing complexity is to 'walk away' and start fresh. Often new tools or languages force us to start from scratch which means that developers end up conflating the benefits of the tool with the benefits of the clean start. " } + white{ bold{ "The clean start is what is fundamental. The simplest way of controlling complexity growth is to build a smaller system with fewer developers." } } + black{ bold{ " - Terry Crowley" } } puts white{ bold{ "I used to say my job was to design feedback loops." } } + white{ " Transparent processes [are] a great tool for empowerment - the manager can invest more and more local control in those closest to the problem because of confidence they have visibility to the progress being made. Coordination emerges naturally. Key to this is that the goal has actually been properly framed (including key resource constraints like ship schedule). Decision-making that needs to constantly flow up and down the management chain usually reflects poor framing of goals and constraints by management." } + black{ bold{ " - Terry Crowley on technical management" } } puts white{ bold{ "One dirty little secret you learn as you move up the management ladder is that you and your new peers aren't suddenly smarter because you now have more responsibility." } } + white{ " This reinforces that the organization as a whole better be smarter than the leader at the top. Empowering every level to own their decisions within a consistent framing is the key approach to making this true. Listening and making yourself accountable to the organization for articulating and explaining the reasoning behind your decisions is another key strategy. Surprisingly, fear of making a dumb decision can be a useful motivator for ensuring you articulate your reasoning clearly and make sure you listen to all inputs." } + black{ bold{ " - Terry Crowley on technical management" } } # extracted from https://hackernoon.com/education-of-a-programmer-aaecf2d35312 puts "------------ Terry Crowley's rules of distributed systems design ---------------" puts white{ bold{ "Crowley's 1st rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "Think through the implications to the user experience" } } + white{ " from the start rather than trying to patch on error handling, cancellation and status reporting as an afterthought." } puts white{ bold{ "Crowley's 2nd rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "Use asynchronous techniques to couple components." } } + white{ " Synchronous coupling is impossible. If something appears synchronous, it's because some internal layer has tried to hide the asynchrony and in doing so has obscured (but definitely not hidden) a fundamental characteristic of the runtime behavior of the system." } puts white{ bold{ "Crowley's 3rd rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "Recognize and explicitly design for interacting state machines." } } + white{ " These states represent robust long-lived internal system states (rather than ad-hoc, ephemeral and undiscoverable state encoded by the value of variables in a deep call stack)." } puts white{ bold{ "Crowley's 4th rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "Failure is expected." } } + white{ " The only guaranteed way to detect failure in a distributed system is to simply decide you have waited 'too long'. This naturally means that cancellation is first-class. Some layer of the system (perhaps plumbed through to the user) will need to decide it has waited too long and cancel the interaction. Cancelling is only about reestablishing local state and reclaiming local resources - there is no way to reliably propagate that cancellation through the system. It can sometimes be useful to have a low-cost, unreliable way to attempt to propagate cancellation as a performance optimization." } puts white{ bold{ "Crowley's 5th rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "Cancellation is not rollback" } } + white{ " since it is just reclaiming local resources and state. If rollback is necessary, it needs to be an end-to-end feature." } puts white{ bold{ "Crowley's 6th rule of distributed systems design" } } + black{ bold{ ": " } } + white{ bold{ "You can never really know the state of a distributed component." } } + white{ " As soon as you discover the state, it may have changed. When you send an operation, it may be lost in transit, it might be processed but the response is lost, or it may take some significant amount of time to process so the remote state ultimately transitions at some arbitrary time in the future. This leads to approaches like idempotent operations and the ability to robustly and efficiently rediscover remote state rather than expecting that distributed components can reliably track state in parallel. The concept of 'eventual consistency' succinctly captures many of these ideas." } puts '------------ Leslie Lamport ---------------' puts white{ bold{ "A distributed system" } } + white{ " is one where the failure of a machine you've never heard of stops you from getting any work done." } + black{ bold{ " - Leslie Lamport" } } # http://www.infoq.com/news/2014/10/ser-lamport-interview puts white{ bold{ "Success really depends on the conception of the problem, the design of the system" } } + white{ ", not in the details of how it's coded." } + black{ bold{ " - Leslie Lamport" } } puts white{ "You're not going to come up with a simple design through any kind of coding techniques or any kind of programming language concepts." } + white{ bold{ " Simplicity has to be achieved above the code level" } } + white{ " before you get to the point which you worry about how you actually implement this thing in code." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "UML" } } + white{ " - I know next to nothing about UML - but what I do know is the language was invented first and then people came around and tried to give semantics to the language. Well, in other words what that means is that the language was invented first and it really didn't mean anything. And then, later on, people came around to try to figure out what it meant. Well, that's not the way to design a specification language. The importance of a specification language is to specify something precisely, and therefore what you write - the specification you write - has to have a precise, rigorous meaning." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "UML" } } + white{ ": a language that was invented first and then people came around to try to get semantics." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "UML" } } + white{ ": fuzzy pictures of boxes and arrows." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "People use UML, things like UML, to model programs, but it's not clear how to translate them in to sequences of states, for concurrency. If you cannot translate them in to sequences of states, it means you don't understand them, and it may mean that there's nothing there. You know, there are lots of people selling snake-oil, drawing boxes and arrows that make you feel good, but ultimately have no real meaning. If something is really meaningful you should be able to express it in mathematics." } } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "The benefit of using [a formal specification language] is that it teaches you to think rigorously, to think precisely" } } + white{ ", and the important point is the precise thinking. So what you need to avoid at all costs is any language that's all syntax and no semantics." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "A lot of the problems" } } + white{ " that exist in software, a lot of the problems that one encounters in writing... in building a system, in writing a program: those are problems that " } + white{ bold{ "are caused by not thinking about what you are doing before starting to code" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "If you're building a complicated system, " } + white{ bold{ "the battle is won or lost before a single piece of code is written." } } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "You're not going to find the best algorithm" } } + white{ " in terms of computational complexity " } + white{ bold{ "by coding" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "You could decide that you want to do something - the what - and then when it comes to programming it you discover that you can't - that is, you don't know how or the how is too expensive or something like that. So I don't mean to imply that what you should first do is thinking completely abstractly about what something is supposed to do and then, only then do you think about how you do it. " } + white{ bold{ "Part of engineering is understanding what you can do in practice and what you can't" } } + white{ ". But, given that caveat, " } + white{ bold{ "you really should understand what the system is doing before you try to implement it" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "There are two separate things you want to specify about a program or a system: " } + white{ bold{ "what it does" } } + white{ ", and " } + white{ bold{ "how it should do it" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } "Sometimes, it's obvious what something is supposed to do, like sorting a list. Other times, the really hard part of something is to decide what it's supposed to do." puts white{ bold{ "It's really important to understand what something is supposed to do before you start to do it" } } + white{ ". Very often, once you've decided precisely what something is supposed to do, implementing it - the coding, the how - is quite trivial, and it hardly needs a specification at all or might be so simple that you really can just start coding without writing any precise description of how it does it, beyond the specification of what it's supposed to do." } + black{ bold{ " - Leslie Lamport" } } puts white{ "First of all, " } + white{ bold{ "there are lots of different things that can go by the name of specification" } } + white{ ". I use all of them. Sometimes a specification I write is a few English sentences. Sometimes, it's a very complicated mathematical description of the object, the what or the how. Which one is appropriate depends on the problem: how hard the problem is, how important it is that it get done correctly, and various things like that." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Anything you do is an iterative process" } } + white{ ". You start out by thinking about something, and then you start writing it, and in the course of writing it, you rewrite and you rewrite and you rewrite." } + black{ bold{ " - Leslie Lamport" } } puts white{ "A lot of programs I write just for my own use and I can live with the bugs and it's not that important that they be absolutely correct, but " } + white{ bold{ "sometimes I write code for other people to use and I really want it to work right" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "The important thing is not the syntax of what you're writing: the important thing is the precision, the rigor. " } + white{ bold{ "In order to understand things, you have to write them precisely." } } + white{ " I use mathematics because that is precise." } + black{ bold{ " - Leslie Lamport" } } puts white{ "People who are programmers should be able to " } + white{ bold{ "think precisely" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "What you need to avoid at all costs is any language that's all syntax and no semantics, because that is not going to get you to think rigorously - that's going to get you to fool yourself in to thinking that you're thinking." } + black{ bold{ " - Leslie Lamport" } } puts white{ "My basic mode of thinking hasn't changed: basically the idea that " } + white{ bold{ "I want to understand things, and understand things for me means being able to describe them mathematically" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } # http://channel9.msdn.com/Events/Build/2014/3-642 puts white{ bold{ "To think, you have to write." } } + white{ " If you're thinking without writing, you only think you're thinking." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Writing requires thinking." } } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "There are two models of reality that I find to be the most useful ones, especially when writing programs" } } + white{ ". The first is functions, and the second is sequences of states." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "All possible successor states" } } + white{ " of any state." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Not knowing what a program should do means we have to think even harder" } } + white{ ", before we start coding." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "You write a spec to help you think about a problem" } } + white{ " before you write the code." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "People are so used to thinking at a code level that they can't think at a higher level." } } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Why don't programmers write specs?" } } + white{ " Writing is like running. The less you do it, the slower you are. You have to strengthen your writing muscles. It takes practice. It's easier to find an excuse not to." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Thinking doesn't guarantee that you won't make mistakes" } } + white{ ". Not thinking guarantees that you will." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "The right way to think about distributed systems" } } + white{ ", and I've been doing it for 40 years, " } + white{ bold{ "is in terms of the state of the system" } } + white{ "." } + black{ bold{ " - Leslie Lamport" } } puts white{ "To the extent that " } + white{ bold{ "[Agile software development] is [an excuse for not thinking]" } } + white{ ", it's a bad thing." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "The essence of computing is discreteness" } } + white{ ", and I believe that what one will discover is that the essence of perception is discretizing something. That is, perception means receiving this continuous input from the environment and making a discrete categorization of it, and that's the point at which perception happens." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Generally it doesn't seem to be necessary to deal with Byzantine failures." } } + white{ " Using simple techniques like checksums to avoid corruption of data, it's generally felt that that kind of malicious behavior, outside of - where the malice is caused by failure not by hackers - you don't need Byzantine fault tolerance. So, in practice that means if the computers that you're building your system out of are under your control and not under hackers' control then you don't need Byzantine fault tolerance, in which case Paxos is basically the algorithm you should be using. There are different consensus algorithms that have been proposed but the ones that are practical in the sense that they're efficient are all equivalent to Paxos at least in the normal case, and Paxos works: use that. I mean it doesn't solve all your problems, because you still have the problem of optimizing: there are lots of optimization games you can play depending upon the particular nature of the state machine you're trying to implement, but if you understand the basic Paxos algorithm then you'll understand what optimizations can be made to get it to work well for your system." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "If you're not writing a program, you shouldn't use a programming language" } } + white{ ", because programming languages are really complicated. They get more and more complicated. Now, they're complicated for good reason: they've got a difficult problem to solve, which is to be able to generate efficient code for these complicated machines, but there's a lot simpler way to describe systems, algorithms, whatever, and y'know it's a language that's been developed for a couple of thousand years for saying things precisely. It's mathematics." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "Computation is not just about functions." } } + white{ " If computation were about functions then quicksort and bubble-sort were the same because they're computing the same function. As I said a computing device is something that goes through a sequence of states and what an assignment statement is doing is it is telling you here is a new state, and also there's the notion of its non-determinism, so the new state is not a function of the old state. So functional programming in a sense - functions - don't solve the problem of programming." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "The mathematics of computing - things like sets and functions and logic - are to computing what real numbers are to physics." } } + white{ " People who are writing programs should be as facile with that kind of very simple math as physicists are with numbers." } + black{ bold{ " - Leslie Lamport" } } puts white{ bold{ "When you understand something, then you can find the math to express that understanding." } } + white{ " The math doesn't provide the understanding." } + black{ bold{ " - Leslie Lamport" } } puts '------------ Eric S. Raymond, The Art of Unix Programming --------------------------' puts white{ bold{ 'Modularity' } } + white{ ': Write simple parts connected by clean interfaces.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Composition' } } + white{ ': Design programs to be connected to other programs.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Separation' } } + white{ ': Separate policy from mechanism; separate interfaces from engines.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Parsimony' } } + white{ ': Write a big program only when it is clear by demonstration that nothing else will do.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Robustness' } } + white{ ': Robustness is the child of transparency and simplicity.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Representation' } } + white{ ': Fold knowledge into data so program logic can be stupid and robust.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Diversity' } } + white{ ': Distrust all claims for "one true way".' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Extensibility' } } + white{ ': Design for the future, because it will be here sooner than you think.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Clarity' } } + white{ ': Clarity is better than cleverness.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Transparency' } } + white{ ': Design for visibility to make inspection and debugging easier.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Simplicity' } } + white{ ': Design for simplicity; add complexity only where you must.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Least Surprise' } } + white{ ': In interface design, always do the least surprising thing.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Silence' } } + white{ ': When a program has nothing surprising to say, it should say nothing.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Repair' } } + white{ ': When you must fail, fail noisily and as soon as possible.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Economy' } } + white{ ': Programmer time is expensive; conserve it in preference to machine time.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Generation' } } + white{ ': Avoid hand-hacking; write programs to write programs when you can.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } puts white{ bold{ 'Optimization' } } + white{ ': Prototype before polishing. Get it working before you optimize it.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Programming (2003)" } } # ESR does UIs puts white{ bold{ 'Bliss' } } + white{ ': Allow your users the luxury of ignorance.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Distractions' } } + white{ ': Allow your users the luxury of inattention.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Flow' } } + white{ ': Allow your users the luxury of attention.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Documentation' } } + white{ ': Documentation is an admission of failure.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Transparency' } } + white{ ': Every bit of program state that the user has to reason about should be manifest in the interface.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Modelessness' } } + white{ ': The interface\'s response to user actions should be consistent and never depend on hidden state.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Seven' } } + white{ ': Users can hold at most 7±2 things at once in working storage.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Reversibility' } } + white{ ': Every operation without an undo is a horror story waiting to happen.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Confirmation' } } + white{ ': Every confirmation prompt should be a surprise.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Failure' } } + white{ ': All failures should be lessons in how not to fail.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Silence' } } + white{ ': When a program has nothing surprising to say, it should say nothing.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Automation' } } + white{ ': Never ask the user for any information that you can autodetect, copy, or deduce.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Defaults' } } + white{ ': Choose safe defaults, apply them unobtrusively, and let them be overridden if necessary.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Respect' } } + white{ ': Never mistake keeping things simple for dumbing them down, or vice-versa.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Predictability' } } + white{ ': Predictability is more important than prettiness.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } puts white{ bold{ 'Reality' } } + white{ ': The interface isn\'t finished till the end-user testing is done.' } + black{ bold{ " - Eric S. Raymond, The Art of Unix Usability (2004)" } } # x11 guy puts '------------ Mike Garcanz: The Unix Philosophy -------------------------------------' puts white{ bold{ 'Small is beautiful.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Make each program do one thing well.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Build a prototype as soon as possible.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Choose portability ' } } + white{ '[high level]' } + white{ bold{ ' over efficiency ' } } + white{ '[low-level]' } + white{ bold{ '.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Store data in flat text files.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Use software leverage to your advantage.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Use shell scripts ' } } + white{ '[higher level languages]' } + white{ bold{ ' to increase leverage and portability.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Avoid captive user interfaces.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } puts white{ bold{ 'Make every program a filter.' } } + black{ bold{ ' - Mike Garcanz: The Unix Philosophy' } } # unix puts '--- unix ----' puts white{ bold{ "Those who don't understand Unix are condemned to reinvent it" } } + white{ ", poorly." } + black{ bold{ ' - Henry Spencer' } } puts white{ bold{ "Unix is simple." } } + white{ " It just takes a genius to understand its simplicity." } + black{ bold{ ' - Dennis Ritchie' } } puts white{ bold{ "Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things." } } + black{ bold{ ' - Doug Gwyn' } } puts white{ bold{ "Unix never says 'please'." } } + black{ bold{ ' - Rob Pike' } } puts white{ bold{ "Unix is user-friendly." } } + white{ " It just isn't promiscuous about which users it's friendly with." } + black{ bold{ ' - Steven King' } } puts white{ bold{ "Make each program do one thing well." } } + white{ " To do a new job, build afresh rather than complicate old programs by adding new features." } + black{ bold{ ' - Doug McIlroy, The Bell System Technical Journal, Unix Time-Sharing System Forward (1978)' } } puts white{ bold{ "Expect the output of every program to become the input to another, as yet unknown, program." } } + white{ " Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input." } + black{ bold{ ' - Doug McIlroy, The Bell System Technical Journal, Unix Time-Sharing System Forward (1978)' } } puts white{ bold{ "Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them." } } + black{ bold{ ' - Doug McIlroy, The Bell System Technical Journal, Unix Time-Sharing System Forward (1978)' } } puts white{ bold{ "Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them." } } + black{ bold{ ' - Doug McIlroy, The Bell System Technical Journal - Unix Time-Sharing System Forward (1978)' } } puts white{ 'This is the Unix philosophy: ' } + white{ bold{ 'Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams' } } + white{ ', because that is a universal interface.' } + black{ bold{ ' - Doug McIlroy (1994)' } } puts white{ bold{ 'The real hero of programming is the one who writes negative code.' } } + black{ bold{ ' - Doug McIlroy' } } puts white{ 'As a programmer, it is your job to put yourself out of business.' } + white{ bold{ ' What you do today can be automated tomorrow.' } } + black{ bold{ ' - Doug McIlroy' } } puts white{ 'Keep it ' } + white{ bold{ 'simple' } } + white{ ', make it ' } + white{ bold{ 'general' } } + white{ ', and make it ' } + white{ bold{ 'intelligible.' } } + black{ bold{ ' - Doug McIlroy' } } puts white{ bold{ 'When in doubt, use brute force.' } } + black{ bold{ ' - Ken Thompson' } } puts white{ bold{ 'One of my most productive days was throwing away 1000 lines of code.' } } + black{ bold{ ' - Ken Thompson' } } puts white{ "Postel's Prescription" } + white{ bold{ ': Be liberal in what you accept, and conservative in what you send.' } } + black{ bold{ ' - Jon Postel ' } } puts white{ bold{ "90% of the functionality delivered now is better than 100% of it delivered never." } } + black{ bold{ ' - Kernighan & Plauger' } } puts white{ bold{ "There are two major products that come out of Berkeley: LSD and UNIX." } } + white{ " We don't believe this to be a coincidence." } + black{ bold{ ' - Jeremy S. Anderson.' } } puts white{ bold{ "'One thing well' misses the point" } } + white{ ": it should be 'One thing well AND COMPOSES WELL'" } + black{ bold{ " - marius eriksen (@marius), October 10, 2012, referring to the 'programs should do one thing and do it well' unix philosophy." } } puts white{ bold{ "Bizarre mishmash of weirdness" } } + black{ bold{ " ... " } } + white{ "an incoherent mess of composable paraphernalia." } + black{ bold{ " - @mjd on unix (2020)" } } # https://blog.plover.com/Unix/tools.html # mark burgess puts '--- mark burgess ---' puts white{ bold{ "We have incomplete information about the world." } } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "Use the right kind of probe to see the right level of detail." } } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "Make our comprehension of the world more manageable by limiting the amount of information we have to interact with at any time." } } + white{ " Our experience of the world can be made comprehensible, or incomprehensible, by design." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ "The effect of limited information is that " } + white{ bold{ "we perceive and build the world as a collection of containers, patches or environments, separated from one another by limited information flow" } } + white{ ". These structures define characteristic scales." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "The more details we can see, the less we have a sense of control." } } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "Separation of concerns" } } + white{ " ... a necessary consequence of loss of resolution due to scale ... " } + white{ bold{ "a strategy for staying sane" } } + white{ "." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "Certainty = Knowledge + Information." } } + white{ " Where knowledge is a relationship to the history of what we've already observed in the past, ie. an expectation of behaviour, and information is evidence of the present: that things are proceeding is expected." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ "The way control emerges in a quantum-mechanical sense is in the manipulation of guard-rails or constraining walls, forces called potentials: containers that limit the probable range of electrons to an approximately predictable region. This is not control, but loading the dice by throwing other dice at them. Similarly, " } + white{ bold{ "when building technologies to deal with uncertainty, we must use similar ideas of constraint" } } + white{ "." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "Strong coupling turns out to be a particular problem in computer based infrastructure." } } + white{ " Chaos is easily contained, given the nature of computer-based infrastructure, yet systems are often pushed beyond the brink of instability. We do not escape from uncertainty so easily." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ "Designers who don't believe in Murphy's Law," } + white{ bold{ " that which can happen will happen" } } + white{ ", are irresponsible." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } puts white{ bold{ "The simplest idea of stability is constancy, or invariance." } } + white{ " A thing that has no possibility to change is, by definition, immune to external perturbations." } + black{ bold{ " [...] " } } + white{ "Invariance is an important concept, but also one that has been shattered by modern ideas of physics." } + white{ bold{ " What was once considered invariant, is usually only apparently invariant on a certain scale" } } + white{ ". When one looks in more detail, we find that we may only have invariance of an average." } + black{ bold{ " - Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure (2013)" } } # earl wiener puts '--- earl wiener ---' puts white{ bold{ "Wiener's First Law" } } + white{ ": Every device creates its own opportunity for human error." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Second Law" } } + white{ ": Exotic devices create exotic problems." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Third Law" } } + white{ ": Digital devices tune out small errors while creating opportunities for large errors." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Fourth Law" } } + white{ ": Invention is the mother of necessity." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Fifth Law" } } + white{ ": Some problems have no solution." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Sixth Law" } } + white{ ": It takes an airplane to bring out the worst in a pilot." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Seventh Law" } } + white{ ": Whenever you solve a problem, you usually create one. You can only hope that the one you created is less critical than the one you eliminated." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ bold{ "Wiener's Eighth and Final Law" } } + white{ ": You can never be too careful about what you put into a digital flight-guidance system." } + black{ bold{ " - Earl Wiener, Professor of Engineering, University of Miami (1980)" } } puts white{ "Humanity is OK, but 99% of people are boring idiots." } + black{ bold{ " - Slavoj Žižek" } } # randoms puts '--- randoms ----' puts white{ bold{ 'Decisiveness is overrated.' } } + black{ bold{ ' - Philosophy, University of California, Santa Cruz' } } # via http://lolmythesis.com/post/71394379186/decisiveness-is-overrated puts white{ bold{ 'Starfish do not walk in straight lines.' } } + black{ bold{ ' - Zoology, University College Dublin' } } # via http://lolmythesis.com/post/71594009129/starfish-do-not-walk-in-straight-lines puts white{ bold{ 'Rocks that are next to each other in Massachusetts now were also next to each other 400 million years ago.' } } + black{ bold{ ' - Geology, Amherst College' } } # via http://lolmythesis.com/post/71456192526/rocks-that-are-next-to-each-other-in-massachusetts-now #puts white{ bold{ 'Space is where shit happens; place is where shit goes down.' } } + black{ bold{ ' - Geography, University of Auckland' } } # http://lolmythesis.com/post/71414469402/space-is-where-shit-happens-place-is-where-shit-goes puts white{ bold{ "I'm sorry but there's nothing I can do to help." } } + black{ bold{ ' - Information Security, Johns Hopkins University' } } # http://lolmythesis.com/post/71511993228/im-sorry-but-theres-nothing-i-can-do-to-help puts white{ bold{ 'Rats will go to great lengths to earn a pellet of sugar' } } + white{ ', and even more so when on the right kinds of drugs.' } + black{ bold{ ' - Neuroscience, University of California, Los Angeles' } } # http://lolmythesis.com/post/71495588905/rats-will-go-to-great-lengths-to-earn-a-pellet-of #puts white{ bold{ 'Self-assembling nanoparticles are kinda like Legos.' } } + black{ bold{ ' - Material Engineering and Nanotechnology, Tel Aviv University, Israel' } } # http://lolmythesis.com/post/71455923346/self-assembling-nanoparticles-are-kinda-like-legos puts white{ bold{ 'The people don\'t understand.' } } + black{ bold{ ' - Political science, Sciences Po Bordeaux' } } # http://lolmythesis.com/post/71414197257/the-people-doesnt-understand puts white{ bold{ 'Kids with imaginary friends are wicked smaht.' } } + black{ bold{ ' - Developmental Psychology, Clark University' } } # http://lolmythesis.com/post/71506098602/kids-with-imaginary-friends-are-wicked-smaht #puts white{ bold{ 'People rock at memorizing insecure passwords, but we already knew that.' } } + black{ bold{ ' - Psychology and Computer Science, Carleton University' } } # http://lolmythesis.com/post/71394112987/people-rock-at-memorizing-insecure-passwords-but-we #puts white{ bold{ 'We know things when we think we know things.' } } + black{ bold{ ' - Philosophy, San Francisco State University' } } # http://lolmythesis.com/post/71394719732/we-know-things-when-we-think-we-know-things puts white{ bold{ 'Are We Certain Yet?' } } + white{ ' Towards a Phenomenal Account of Scepticism' } + black{ bold{ ' - Philosophy, University of St Andrews' } } # http://lolmythesis.com/post/71454789345/are-we-certain-yet-towards-a-phenomenal-account-of puts white{ bold{ 'Acyclic dependencies principle' } } + white{ ': Avoid infinite loops.' } puts white{ bold{ 'Convention over configuration' } } + white{ ': Simplify normal use cases, without necessarily sacrificing flexibility.' } puts white{ bold{ "Everything of importance has been said before" } } + white{ " by somebody who did not discover it." } + black{ bold{ " - Alfred North Whitehead" } } puts white{ bold{ "Gobbledygook." } } + black{ bold{ " - Congressman Maury Maverick (1944); grandson of Samuel Augustus Maverick, originator of the term 'maverick'." } } puts white{ bold{ "AI is whatever hasn't been done yet." } } + black{ bold{ " - Douglas Hofstadter (1980)" } } puts white{ bold{ "The simple things you see are all complicated." } } + black{ bold{ " - 'Substitute', song by The Who (1966)" } } puts white{ bold{ "Let us be lazy in everything, except in loving and drinking, except in being lazy." } } + black{ bold{ " - Gotthold Ephraim Lessing (1729-1781)" } } puts white{ bold{ "It is the mark of great people to treat trifles as trifles and important matters as important." } } + black{ bold{ " - Gotthold Ephraim Lessing (1729-1781)" } } puts white{ bold{ "The worst of superstitions is to think one's own most bearable." } } + black{ bold{ " - Gotthold Ephraim Lessing (1729-1781), 'Nathan the Wise' (1779), Act IV, scene II" } } puts white{ bold{ "It is infinitely difficult to know when and where one should stop, and for all but one in thousands the goal of their thinking is the point at which they have become tired of thinking." } } + black{ bold{ " - Gotthold Ephraim Lessing (1729-1781)" } } puts white{ bold{ "Laziness is the mother of efficiency." } } + black{ bold{ " - Marian Propp" } } puts white{ bold{ "Human nature is above all things lazy." } } + black{ bold{ " - Harriet Beecher Stowe (1811-1896)" } } puts white{ bold{ "Law of Communications" } } + white{ ": The inevitable result of improved and enlarged communications between different levels in a hierarchy is a vastly increased area of misunderstanding." } puts white{ "Good customer relations double productivity." } + black{ bold{ " - Larry Bernstein, Bell Communications Research" } } puts white{ bold{ "Rule of Defactualization" } } + white{ ": Information deteriorates upward through bureaucracies." } puts white{ bold{ "Fifth Rule" } } + white{ ": You have taken yourself too seriously." } puts white{ bold{ "Futility Principle" } } + white{ ": No experiment is ever a complete failure; it can always serve as a bad example." } puts white{ bold{ "One Page Principle" } } + white{ ": A specification that will not fit on one page cannot be understood." } puts white{ bold{ "The most powerful dehumanizing machine is not technology but the social machine" } } + white{ ", ie. The formation of command structures to make humans emulate technology in order to build pyramids and skyscrapers..." } + black{ bold{ " - Lewis Mumford (1967)" } } puts white{ "When things are not going well, " } + white{ bold{ 'until you get the truth out on the table' } } + white{ ', no matter how ugly, ' } + white{ bold{ 'you are not in a position to deal with it.' } } + black{ bold{ ' - Bob Seelert, chairman of the global advertising firm Saatchi and Saatchi' } } puts white{ bold{ "The reasons you get into trouble become the reasons you don't get out of it." } } + black{ bold{ " - Old saying in the aviation industry." } } puts white{ "It seems that we are locked into a spiral in which " } + white{ bold{ "poor human performance begets automation, which worsens human performance, which begets increasing automation" } } + white{ ". The pattern is common to our time but is acute in aviation. Air France 447 was a case in point." } + black{ bold{ " - William Langewiesche, 'The Human Factor: Should Airplanes be Flying Themselves?', Vanity Fair, October 2014" } } puts white{ "The dynamic has become inevitable. " } + white{ bold{ "There will still be accidents, but at some point we will have only the machines to blame." } } + black{ bold{ " - William Langewiesche, 'The Human Factor: Should Airplanes be Flying Themselves?', Vanity Fair, October 2014"} } # http://www.salon.com/2014/10/12/google_makes_us_all_dumber_the_neuroscience_of_search_engines/ puts white{ "Looking back, I think " } + white{ bold{ "it was more difficult to see what the problems were than to solve them." } } + black{ bold{ " - Charles Darwin" } } puts white{ "Thoroughly conscious ignorance is the prelude to every real advance in science." } + black{ bold{ ' - James Clerk Maxwell' } } puts white{ "Science produces ignorance at a faster rate than it produces knowledge." } + black{ bold{ ' - Stuart Firestein, Chair of the Department of Biological Sciences, Columbia University' } } puts white{ bold{ "The idea we should outsource our memories to the web: it’s a short-cut to stupidity" } } + white{ ". The less we know, the worse we are at processing new information, and the slower we are to arrive at pertinent inquiry." } + black{ bold{ " - Ian Leslie, 'Google makes us all dumber: The Neuroscience of Search Engines', Salon.com (2014)" } } puts white{ bold{ "Machines are for answers" } } + white{ "; humans are for questions." } + black{ bold{ " - Kevin Kelly, founding executive editor of Wired magazine, former editor/publisher of the Whole Earth Review" } } puts white{ "In a world awash in ready-made answers, " } + white{ bold{ "the ability to pose difficult, even unanswerable questions is more important than ever" } } + white{ "." } + black{ bold{ " - Ian Leslie, 'Google makes us all dumber: The Neuroscience of Search Engines', Salon.com (2014)" } } puts white{ bold{ "[Computers] are useless." } } + white{ " They can only give you answers." } + black{ bold{ " - Pablo Picasso (1964) " } } puts white{ "Computers are useless without truly curious humans." } + black{ bold{ " - Ian Leslie, 'Google makes us all dumber: The Neuroscience of Search Engines', Salon.com (2014)" } } # http://www.nytimes.com/2014/04/06/magazine/flash-boys-michael-lewis.html?_r=4 puts white{ "The deep problem with the system was a kind of moral inertia. " } + white{ bold{ "So long as it served the narrow self-interests of everyone inside it, no one on the inside would ever seek to change it" } } + white{ ", no matter how corrupt or sinister it became." } + black{ bold{ " - Michael Lewis on systematized high frequency trading (HFT) fraud, New York Times Magazine, March 2014." } } puts white{ "If you believe in a principle, never damage it with a poor impression." } + white{ bold{ " You must go the whole way." } } + black{ bold{ " - Charlie Parsons, gentleman scientist" } } # http://aeon.co/magazine/psychology/why-broken-sleep-is-a-golden-time-for-creativity/ puts white{ bold{ "Let the end of thy first sleep raise thee from thy repose" } } + white{ ": then hath thy body the best temper, then hath thy soule the least incumbrance; then no noise shall disturbe thine ear; no object shall divert thine eye." } + black{ bold{ " - 17th-century English poet Francis Quarles, on the value of night-waking, darkness and silence as aids to internal reflection" } } puts white{ bold{ "Throw The First One Away" } } + white{ ": You will understand the problem much better after your first attempt." } puts white{ bold{ "Fail Quickly" } } + white{ ": This makes evolution less painful and improves testability." } puts white{ bold{ "Minimize Coupling, Maximize Cohesion" } } + white{ ": It is better to reduce the amount of dependency between modules to make future changes and adaptations easier." } puts white{ bold{ "Make it work first" } } + white{ ", then make it work fast." } puts white{ bold{ "Data Design > " } } + white{ "Code Design" } puts white{ bold{ "Document 'Why'" } } puts white{ bold{ "Save early, save often" } } puts white{ bold{ "Share early, share often" } } # https://en.wikipedia.org/wiki/Spherical_cow puts white{ bold{ "Avoid spherical cows" } } + white{ ": Understand the requirements, and anticipate change." } puts white{ bold{ "Reality is that which, when you stop believing in it, doesn't go away." } } + black{ bold{ " - Philip K. Dick" } } # opposite of moore's law, for pharma puts white{ bold{ "Eroom's law" } } + white{ ": The number of new drugs approved per billion US dollars spent on R&D has halved roughly every nine years since 1950." } puts white{ bold{ "Get your data structures correct first" } } + white{ ", and the rest of the program will write itself." } + black{ bold{ " - David Jones" } } puts white{ "For 80 percent of all data sets, 95 percent of the information can be seen in a good graph." } + black{ bold{ " - William S. Cleveland, Bell Labs" } } puts white{ "The first step in fixing a broken program is getting it to fail repeatably." } + black{ bold{ " - Tom Duff, Bell Labs" } } puts white{ "If you've made it this far, you'll certainly appreciate this excellent advice. " } + white{ bold{ "Eschew clever rules." } } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ "A meeting is a refuge from 'the dreariness of labor and the loneliness of thought'." } + black{ bold{ " - Bernard Baruch, In Risen, 'A Theory on Meetings' (1970)" } } puts white{ "The new electronic interdependence recreates the world in the image of a global village." } + black{ bold{ " - Marshall McLuhan, 'The Medium is the Message' (1967)" } } puts white{ "Truth will sooner come out of error than from confusion." } + black{ bold{ " - Sir Francis Bacon, 'The New Organon' (1620)" } } puts white{ "An articulated guess beats an unspoken assumption." } + black{ bold{ " - Frederick P. Brooks, 'The Design of Design: Essays from a Computer Scientist' (2010)" } } puts white{ "Every man who rises above the common level has received two educations: the first, from his teachers; the second, more personal and important, from himself." } + black{ bold{ " - Edward Gibbons, 'Memoirs of My Life and Writings' (1789)" } } puts white{ bold{ "Hanlon's razor" } } + black{ bold{ ": " } } + white{ "Never attribute to malice that which is adequately explained by stupidity." } puts white{ "Hadoop bit too much? Want a simpler syntax now? " } + white{ bold{ "Use GNU Parallel" } } + white{ "." } + black{ bold{ " - Ole Tange" } } puts white{ bold{ "Being 'disruptive' used to be a black mark on a school report." } } + white{ " Now it's a celebrated personality trait in Silicon Valley." } + black{ bold{ ' - @iamdevloper' } } puts white{ "Experimental epistemology." } + black{ bold{ " - Sign on a door, MIT, 1952." } } puts white{ "Discontent arises from a knowledge of the possible, as contrasted with the actual." } + black{ bold{ " - Aneurin Bevan (founder, UK NHS)" } } puts white{ bold{ "The people have spoken" } } + white{ " ... most of it was complete gibberish." } + black{ bold{ " - Linus Torvalds, Linux-4.0-rc1 announcement (2015-02-22)" } } puts white{ bold{ "Putting yourself in new situations constantly is the only way to ensure that you make your decisions unencumbered by the nature of habit, law, custom or prejudice" } } + white{ " – and it's up to you to create the situations." } + black{ bold{ " - Crimethinc anarchist collective" } } puts white{ bold{ "We don't know one millionth of one percent about anything." } } + black{ bold{ " - Thomas Edison" } } puts white{ bold{ "The fact that something is silly doesn't mean that it should be ignored." } } + white{ " Hitler was silly. The Inquisition was stupid. The great religious wars and persecutions, I would argue, were thoroughly absurd. But they were also very terrible. The beliefs themselves may be silly or harmless, but a resurgence of medieval-type thinking is no laughing matter." } + black{ bold{ " - Robert Burnham Jr., Astronomer (1983)" } } puts white{ bold{ "We are all children. But if we cannot be wise, we can at least be honest." } } + white{ " I accept the existence of what I call the all-pervading intelligence of the universe. The Orientals call it the Tao. To me, that is too obvious to need scientific proof. That's my religion - that and the Grand Canyon. And Yosemite. And the surf coming in with the tide. And NGC-6611." } + black{ bold{ " - Robert Burnham Jr., Astronomer (1983)" } } puts white{ "I would say this: There is no ultimate truth about life or the universe which can be expressed in words. Whatever it is, it has to be experienced directly. Words are symbols, never to be confused with the thing itself. The most that any set of symbols can do is to point the way. " } + white{ bold{ "Your task is to walk down the road, not to worship the signpost." } } + black{ bold{ " - Robert Burnham Jr., Astronomer (1983)" } } puts white{ bold{ "Blind monkey at the typewriter." } } + black{ bold{ " - Robert Burnham Jr., Astronomer (1983)" } } puts white{ bold{ "May the ox of journalism always be yoked to the cart of commerce." } } + black{ bold{ " - Herman Zweibel, [fictional] publisher of 'The Onion' (satire)" } } # http://faculty.chicagobooth.edu/luigi.zingales/papers/research/Finance.pdf puts white{ "What can we do as a profession? First of all, acknowledge that " } + white{ bold{ "our view of the benefits of finance is inflated" } } + white{ ". While there is no doubt that a developed economy needs a sophisticated financial sector, at the current state of knowledge " } + white{ bold{ "there is no theoretical reason or empirical evidence to support the notion that all the growth of the financial sector in the last forty years has been beneficial to society" } } + white{ ". In fact, we have both theoretical reasons and empirical evidence to claim that " } + white{ bold{ "a component has been pure rent seeking" } } + white{ ". By defending all forms of finance, by being unwilling to separate the wheat from the chaff, " } + white{ bold{ "we have lost credibility" } } + white{ " in defending the real contribution of finance." } + black{ bold{ " - Luigi Zingales, 'Does Finance Benefit Society?' 2015 American Finance Association Presidential Address." } } puts white{ "We should also be much more transparent on the negative aspects of the financial industry, from " } + white{ bold{ "rent-seeking behavior" } } + white{ " to " } + white{ bold{ "captured regulation" } } + white{ ", from " } + white{ bold{ "inefficient boards" } } + white{ " to " } + white{ bold{ "outright fraud" } } + white{ "." } + black{ bold{ " - Luigi Zingales, 'Does Finance Benefit Society?' 2015 American Finance Association Presidential Address." } } puts white{ "They will say that because of my lack of book learning, I cannot properly express what I desire to treat of. " } + white{ bold{ "Do they not know that my subjects require for their exposition experience rather than the words of others?" } } + white{ " And since experience has been the mistress, and to her in all points make my appeal." } + black{ bold{ " - Leonardo Da Vinci" } } # http://blog.revolutionanalytics.com/2011/04/the-plural-of-anecdote-is-data-after-all.html puts white{ "The plural of anecdote is data." } + black{ bold{ " - Raymond Wolfinger (1969)" } } puts white{ bold{ "EIE_IO" } } + white{ ": With a SYNC SYNC here... and a SYNC SYNC there..." } + black{ bold{ " - CP-6 OS's communications software, synchronous-terminal (BISYNC) module source code" } } puts white{ bold{ "There are three things that no one can advise another person for or against." } } + white{ " One is marriage, another is waging war and the third is visiting the Holy Sepulchre. These things often end badly." } + black{ bold{ " - Eberhard, Count of Wurttemberg (1480)." } } puts white{ bold{ "Batch jobs and message queues give me 80% of the benefit of 'microservices'" } } + white{ " with only 5% of the pain." } + black{ bold{ " - daxfohl, Hacker News (2015-10-06)" } } puts white{ bold{ "Man is at his vilest when he erects a billboard." } } + white{ " When I retire from Madison Avenue, I am going to start a secret society of masked vigilantes who will travel around the world on silent motor bicycles, chopping down posters at the dark of the moon." } + black{ bold{ " - David Ogilvy" } } puts white{ "All old-established national industries have been destroyed or are daily being destroyed. They are dislodged by new industries, whose introduction becomes a life and death question for all civilised nations, by industries that no longer work up indigenous raw material, but raw material drawn from the remotest zones; industries whose products are consumed, not only at home, but in every quarter of the globe. " } + white{ bold{ "In place of the old wants, satisfied by the production of the country, we find new wants, requiring for their satisfaction the products of distant lands and climes. In place of the old local and national seclusion and self-sufficiency, we have intercourse in every direction, universal inter-dependence of nations. And as in material, so also in intellectual production. The intellectual creations of individual nations become common property." } } + white{ " National one-sidedness and narrow-mindedness become more and more impossible, and from the numerous national and local literatures, there arises a world literature." } + black{ bold{ " - 'The Communist Manifesto', Karl Marx and Frederick Engels (1848)" } } puts white{ bold{ "Sometimes paranoia's just having all the facts." } } + black{ bold{ " - William S. Burroughs" } } puts white{ bold{ "Go play with it yourself." } } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ bold{ "It's a paradox to be an artist working through the medium of machinery" } } + white{ " - but the paradox is where the sons of bitches have hidden all the oxygen. It may be crazy here, but we can breathe in here. Because the old art is no longer working, and the old science is no longer funded, and politics are a debacle, and the culture is at its wits' end." } + black{ bold{ " - Bruce Sterling (1995)" } } puts white{ "foo walks into a bar" } + black{ bold{ ' - @iamdevloper' } } puts white{ bold{ "nomads" } } + white{ ": people who have larger collections of coffee shop wifi passwords than clothes" } + black{ bold{ ' - @jongold' } } puts white{ bold{ "The software development process" } } + white{ ": I can't fix this. " } + black{ bold{ "*crisis of confidence* *questions career* *questions life*" } } + white{ " Oh it was a typo, cool." } + black{ bold{ ' - @iamdevloper' } } puts white{ "On the 7th day, God did a sprint retrospective." } + black{ bold{ ' - @iamdevloper' } } puts white{ "What's a dinosaur's favourite file format?" } + white{ bold{ " .rar" } } + black{ bold{ ' - @iamdevloper' } } puts white{ "Asking a developer you've approached because of their work to do a code puzzle is like asking a surgeon to complete a game of Operation." } + black{ bold{ ' - @iamdevloper' } } puts white{ "Give a man a fish and you feed him for a day, teach a man to fish and you feed him for a lifetime, " } + white{ bold{ "give a startup $$ and they'll waste it." } } + black{ bold{ ' - @iamdevloper' } } puts white{ "If your commit message is more than 15 words you should probably just write it down and read it to your therapist." } + black{ bold{ ' - @iamdevloper' } } puts white{ "What do we want?" } + white{ bold{ " ASYNCHRONICITY!" } } + white{ " When do we want it? " } + white{ bold{ "THAT'S IRRELEVANT." } } + black{ bold{ ' - @iamdevloper' } } puts white{ bold{ "What is 2+2? " } } + black{ bold{ "Engineer: " } } + white{ "4.000000" } + black{ bold{ " Manager: " } } + white{ "Around 4." } + black{ bold{ " Accountant:" } } + white{ " What do you want it to be?" } + black{ bold{ ' - @iamdevloper' } } puts white{ "QA teams represent the alienation of product teams from their labor." } + black{ bold{ " - Startup Marx" } } puts white{ "Values aren't achieved through specialization. " } + white{ bold{ "Imagine a VP of teamwork." } } + black{ bold{ " - Startup L. Jackson" } } puts white{ "Let's base our entire SDLC off of a product meant for tracking bugs." } + black{ bold{ " - David J. Bland" } } puts white{ "Days since array index errors: " } + white{ bold{ "-1" } } + black{ bold{ ' - @iamdevloper' } } puts white{ "Programming is like endless detangling of Christmas lights." } + black{ bold{ " - Fred Willerup" } } puts white{ bold{ "$1" } } + white{ ": Not sure if currency or regex capture group." } + black{ bold{ " - @iamdevloper" } } puts white{ bold{ "1998" } } + white{ ": Don't get in strangers' cars. Don't meet people from the internet. " } + white{ bold{ "2016" } } + white{ ": Literally summon strangers from internet to get in their car." } puts white{ bold{ "Things that don't exist" } } + white{ ": Unit tests, DRY, TDD." } puts white{ bold{ "DRY" } } + white{ ": Don't Repeat Yourself." } puts white{ bold{ "WET" } } + white{ ": Write Everything Twice." } + black{ bold{ " (a cheeky response to DRY enthusiasts)" } } puts white{ "A JavaScript developer walks into a bar. By the time they go to order, the bar is abandoned and out-of-date." } + black{ bold{ " - @iamdevloper" } } puts white{ bold{ "2003" } } + white{ ": I replaced you with a set of very small shell scripts." } + white{ bold{ " 2013" } } + white{ ": I replaced your scripts with a six-figure enterprise DevOps platform." } + black{ bold{ " - @NeckbeardHacker" } } puts white{ bold{ "What kind of meat comes on the Functional Object Burger? " } } + white{ "Lamb, duh." } + black{ bold{ " - @hipsterhacker" } } puts white{ "Erlang is better than yer lang." } + black{ bold{ " - @hipsterhacker" } } puts white{ "I can't believe your Caps Lock key hasn't been remapped yet." } + black{ bold{ " - @hipsterhacker" } } puts white{ "They say the dream of the 90's is alive in Portland, but I haven't met a single Java developer here." } + black{ bold{ " - @hipsterhacker" } } puts white{ bold{ "For angel investors" } } + white{ ": A startup's value is inversely proportional to the # of people wearing business casual." } + black{ bold{ " - @hipsterhacker" } } puts white{ "Common Lisp is making a comeback like bellbottoms, pubic hair, and the unholy alliance of mustaches and androgyny." } + black{ bold{ " - @hipsterhacker" } } puts white{ "Android's spellchecker doesn't know the word 'quinoa', but iPhone's does. I'm guessing the same can be said for their respective users." } + black{ bold{ " - @hipsterhacker" } } puts white{ bold{ "Only old people need money to get a startup going. " } } + white{ "Venture capital? More like denture capital." } + black{ bold{ " - @hipsterhacker" } } puts white{ bold{ "I write world-changing applications in languages you have probably not yet heard of." } } + white{ " My code is poetry, meanwhile yours is oh-noetry." } + black{ bold{ " - @hipsterhacker" } } puts white{ bold{ "Comedy" } } + white{ ": You, trying to launch a startup from scratch using Java. " } + white{ bold{ "Tragedy" } } + white{ ": Me, trying to debug 27k lines of legacy Perl that brings $113MM/yr" } + black{ bold{ " - @NeckbeardHacker" } } puts white{ bold{ "Did you hear about the C programmer who broke their ARM?" } } + white{ " They were volatile because they had an unsigned cast." } + black{ bold{ " - @silentbicycle" } } puts white{ bold{ "Q" } } + white{ ": What LAN protocol was forged in the fires of Mount Doom? " } + white{ bold{ "A" } } + white{ ": Tolkien ring." } + black{ bold{ " - @aloria" } } puts white{ bold{ "Best kind of engineers to work with" } } + white{ ": 40yo parents who actually know how computers work. " } + white{ bold{ "Worst kind" } } + white{ ": 22yo kids who love javascript frameworks." } + black{ bold{ " - @rogerclark" } } puts white{ "CentOS in the streets, " } + white{ bold{ "Gentoo in the sheets" } } + white{ "." } + black{ bold{ " - @NeckbeardHacker" } } puts white{ bold{ "What's bower?" } } + white{ " A package manager, install it with npm. " } + white{ bold{ "What's npm?" } } + white{ " A package manager, install it with brew. " } + white{ bold{ "What's brew?" } } + white{ " ... " } + black{ bold{ " - @ddprtt" } } puts white{ "Wait... are you saying that you don't write tests for your shell scripts? How do you know if they're correct?" } + black{ bold{ " - @NeckbeardHacker" } } puts white{ "A machine learning researcher, a crypto-currency expert, and an Erlang programmer walk into a bar. Facebook buys the bar for $27 billion." } + black{ bold{ " - @ML_Hipster" } } puts white{ 'The filth of their mongrel LISPs and NoSQL will foam up about their waists, and their VCs will shout "Save us!" ...and I\'ll whisper "No."' } + black{ bold{ " - @NeckbeardHacker" } } puts white{ "Works fine for me locally. Sounds like an ops problem. I'm going to lunch." } + black{ bold{ " - @hipsterhacker" } } puts white{ "Did you know Richard Stallman is developing a free open source Unix-like OS? No? I guess you hadn't...Hurd." } + black{ bold{ " - @NeckbeardHacker" } } puts white{ bold{ "BREAKING" } } + white{ ": Linux version upgrades still free." } + black{ bold{ " - @NeckbeardHacker" } } puts white{ "Company seeks Neutral-aligned Level 60 Half-Elf Assassin/Mage for VC-backed, webscale-tier campaign. No munchkins, please. " } + white{ bold{ "(sponsored tweet)" } } + black{ bold{ " - @NeckbeardHacker" } } puts white{ "Those who can't code, sysadmin. And those who can't sysadmin, sysadmin Windows." } + black{ bold{ " - @NeckbeardHacker" } } puts white{ bold{ "Immutability" } } + white{ ": The property of functional programmers that prevents them from shutting up about pure functional programming." } + black{ bold{ " - @raganwald" } } puts white{ "Knowing what to code is more important than knowing how to code." } + black{ bold{ " - @pmddomingos" } } puts white{ bold{ "Optimist" } } + white{ ": The glass is half full. " } + white{ bold{ "Pessimist" } } + white{ ": The glass is half empty. " } + white{ bold{ "Engineer" } } + white{ ": The glass is too large." } + black{ bold{ " - @pmddomingos" } } puts white{ "Telling a programmer there's already a library to do X is like telling a songwriter there's already a song about love." } + black{ bold{ " - @petecordell" } } puts white{ bold{ "boondoggle" } } + white{ " (n): work or activity that is wasteful or pointless but gives the appearance of having value" } puts white{ bold{ "Rule #8" } } + white{ ": Try not to create and analyze at the same time. They are different processes." } + black{ bold{ " - John Cage" } } puts white{ "The essence of philosophy is that " } + white{ bold{ "a man should so live that his happiness shall depend as little as possible on external things" } } + white{ "." } + black{ bold{ " - Ἐπίκτητος/Epictetus, Stoic philosopher born a slave (55-135)" } } puts white{ "One argues because one is confused." } + white{ bold{ " The man who knows does not argue" } } + white{ ";" } + white{ bold{ " the man who argues does not know." } } + black{ bold{ " - Lin Yutang, 'Pleasures of a Nonconformist' (1962)" } } puts white{ "Each thing we see hides something else we want to see." } + black{ bold{ " - René Magritte, surrealist" } } puts white{ "We are surrounded by curtains. " } + white{ bold{ "We only perceive the world behind a curtain of semblance. At the same time, an object needs to be covered in order to be recognized at all." } } + black{ bold{ " - René Magritte, surrealist" } } puts white{ "The easiest person to deceive is one's own self." } + black{ bold{ " - Edward Bulwer-Lytton" } } puts white{ "Beware that you do not lose the substance by grasping at the shadow." } + black{ bold{ " - Aesop" } } puts white{ bold{ "Censorship" } } + black{ bold{ ':' } } + white{ " panacea of the autocrat, fear of the progressive, joke of the youth." } + black{ bold{ " - @ccvannorman" } } puts white{ bold{ "Heilmeier Catechism" } } + black{ bold{ ": " } } + white{ "(1) What are you trying to do? Articulate your objectives using absolutely no jargon. What is the problem? Why is it hard? (2) How is it done today, and what are the limits of current practice? (3) What's new in your approach and why do you think it will be successful? (4) Who cares? (5) If you're successful, what difference will it make? What impact will success have? How will it be measured? (6) What are the risks and the payoffs? (7) How much will it cost? (8) How long will it take? (9) What are the midterm and final 'exams' to check for success? How will progress be measured?" } + black{ bold{ " - George H. Heilmeier, Director of ARPA, 1970s" } } puts white{ bold{ "Some people never go crazy." } } + white{ " What truly horrible lives they must live." } + black{ bold{ " - 'Barfly' (1987)" } } puts white{ bold{ "Anybody can be a nondrunk." } } + white{ " It takes a special talent to be a drunk. It takes endurance. Endurance is more important than truth." } + black{ bold{ " - 'Barfly' (1987)" } } puts white{ bold{ "They speak to us with the absolute authority of the computer" } } + white{ ", and we bow down before them. They are god's own gift to the faker." } + black{ bold{ " - Orson Welles on art experts, 'F for Fake' (1973)" } } puts white{ "Startups mostly don't compete against each other, they compete against no one giving a shit." } + black{ bold{ " - Justin Kan" } } puts white{ bold{ "Engineers are pretty arrogant." } } + white{ " Like, I would never want to hang out with those guys for a minute, outside of work. In most cases, in most jobs I had." } + black{ bold{ " - 'Engineered Truth'" } } puts white{ bold{ "A great many people think they are thinking when they are really rearranging their prejudices." } } + black{ bold{ " - William James" } } puts white{ bold{ "Why do we host on AWS?" } } + white{ " Because if it goes down then our customers are so busy worried about themselves being down that they don't even notice that we're down!" } puts white{ bold{ "Banking has always orientated towards cartel structures with high synthetic start-up capital costs, because the good the sector ultimately provides (trust) has a zero marginal cost of production." } } + white{ " This renders the industry uniquely vulnerable to undercutting." } + black{ bold{ " - Izabella Kaminska, Financial Times" } } puts white{ bold{ "Why don't computers crash at the same time?" } } + white{ " Because network connections aren't fast enough." } + black{ bold{ " - 1980s computing joke" } } puts white{ bold{ "Robot" } } + white{ ", n. A machine that doesn't work yet." } + black{ bold{ " (Because if it worked you'd name it after what it does, like a dishwasher or a vacuum cleaner)." } } puts white{ bold{ "Never underestimate the power of being one of the few people to have a particular set of individually-common skills." } } + white{ " If you know molecular biology and group theory, or chemical engineering and architecture, or web design and sign language, or whatever and whatever, there's special opportunities open to you and almost noone else." } + black{ bold{ " - @maxander" } } puts white{ "The practical genius is not someone who knows everything but knows where to find it." } puts white{ "Inside every utopia is a dystopia striving to get out." } # http://bostonreview.net/literature-culture/john-crowley-inside-every-utopia-dystopia puts white{ "We are faced with an insurmountable opportunity." } + black{ bold{ " - Walter Crawford Kelly, Jr., American animator and cartoonist" } } puts white{ "An engineer is a man who can do for a dime what any fool can do for a dollar." } puts white{ bold{ "We didn't quite invent everything." } } + white{ " We didn't invent spreadsheets, and there's actually a good lesson in that. I think the reason we didn't invent spreadsheets is that we didn't have any use for them, since we didn't do accounting." } + black{ bold{ " - Dr. Butler Lampson, on Xerox PARC (2016)" } } puts white{ bold{ "Talent" } } + white{ " is hitting a target that nobody else can hit, " } + white{ bold{ "genius" } } + white{ " is hitting a target that nobody else can see." } + black{ bold{ " - Schopenhauer" } } puts white{ "6,000 years of history in 640k." } + black{ bold{ " - Sid Meier on Civilization" } } puts white{ bold{ "The purpose of computation is insight" } } + white{ ", not numbers." } + black{ bold{ " - Richard Hamming" } } puts white{ bold{ "Everyone struggles." } } + white{ " This is what it means to be human." } puts white{ "The only normal people are the ones you don't know very well." } puts white{ "Procrastination is a vice when it comes to productivity, but it can be a virtue for creativity." } + black{ bold{ " - Adam Grant" } } puts white{ bold{ "To be original you don't have to be first" } } + white{ " - you just have to be different and better." } + black{ bold{ " - Adam Grant" } } puts white{ bold{ "Prestige is a sucker's game" } } + white{ "; it's a way of inducing people to do things that aren't much fun and they wouldn't really want to do on their own, by lauding them with accolades from people they don't really care about." } + black{ bold{ " - @nostrademons" } } puts white{ "The phrase that determines the total pain of basically all systems biology is '" } + white{ bold{ "combinatorial explosion" } } + white{ "'." } + black{ bold{ " - @hprotagonist" } } puts white{ bold{ "Don't let anyone rob you of your imagination, your creativity, or your curiosity." } } + white{ " It's your place in the world; it's your life. Go on and do all you can with it, and make it the life you want to live." } + black{ bold{ " - Mae Jemison, engineer, physician, and first African-American female astronaut" } } puts white{ "Where is the life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?" } + black{ bold{ " - T.S. Elliot (1934)" } } puts white{ "Spend more time working on code that analyzes the meaning of metrics than code that collects, moves, stores and displays metrics." } + black{ bold{ " - Adrian Cockcroft" } } puts white{ "Those who " } + white{ bold{ "don't understand" } } + white{ " the past are condemned to repeat it." } + black{ bold{ " - Kevin Driscoll" } } puts white{ "An expert is someone who can avoid the worst errors in their own discipline." } + black{ bold{ " - Werner Heisenberg" } } puts white{ bold{ "Opportunity is missed by most people" } } + white{ " because it is dressed in overalls and looks like work." } + black{ bold{ " - Thomas Edison" } } puts white{ "Waiting is frustrating, demoralizing, agonizing, aggravating, annoying, time consuming and incredibly expensive." } + black{ bold{ " - Fedex, p. 10, 'Fortune', 28 July 1980." } } puts white{ bold{ "The first law of service" } } + white{ ": Satisfaction equals perception minus expectation." } puts white{ bold{ "First of all it has to an intellectual challenge. Secondly it has to be of some significance" } } + white{ ", and there are many different dimensions of significance. So for example things that have an impact on human life and in fact survival are of course significant, even if they don't pose much of an intellectual challenge." } + black{ bold{ " - Noam Chomsky on what makes things interesting, 2017" } } puts white{ "The first article I wrote " } + black{ bold{ "[...]" } } + white{ " was about the rise of fascism." } + black{ bold{ " - Noam Chomsky, world's most cited academic, 2017" } } puts white{ bold{ "Those are things you learn" } } + black{ bold{ " ... " } } + white{ "if you pay attention." } + black{ bold{ " - Noam Chomsky, 2017" } } puts white{ bold{ "And now you can get it on the internet, thanks to what we call the free market" } } + white{ ": which means the taxpayer putting huge amounts of subsidies in to developing the high tech system of the next generation which is handed over to private corporations for marketing and profit. So that's the internet and computers and so on and so forth." } + black{ bold{ " - Noam Chomsky, 2017" } } puts white{ "Why not do some of the serious things?" } + black{ bold{ " - Noam Chomsky, closing remark to Googlers, 2017" } } puts white{ "From what I understand of the last 15 years, " } + white{ bold{ "IPOs are now for cashing out when you've manufactured a solid enough filing to convince normal people that you're worth what the 10 VCs who gave you money say you're worth." } } + white{ " No company IPOs if they don't absolutely have to. It's like conceding that you can't make enough profit privately to recoup your investment on any kind of reasonable timescale. " } + black{ bold{ " - @forthefuture" } } puts white{ bold{ "The factory of the future will have only two employees, a man and a dog." } } + white{ " The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment." } + black{ bold{ " - Warren G. Bennis" } } puts white{ "Pitch books have been banned in the Bay Area since 2005. Founders meet VCs for acrobatic yoga and a vegan lunch and close deals with a group hug." } + black{ bold{ " - Ari Paul (2017)" } } puts white{ bold{ "Shannon's six secrets" } } + white{ ": Simplification. Analogy. Reframing. Abstraction. Division. Inversion." } + black{ bold{ " - Claude Shannon (1954), a modern summary." } } puts white{ "People have become slaves of probability." } + black{ bold{ " - Alphaville (1965)" } } puts white{ "Jeff Bezos is the Genghis Khan of the internet." } + black{ bold{ " - Andrew Clay Shafer" } } puts white{ "Art without engineering is dreaming; Engineering without art is calculating." } + black{ bold{ " - Steven K. Roberts" } } puts white{ "The number of UNIX installations is now above 20, and many more are expected." } + black{ bold{ " - Unix Programmer's Manual (1973)" } } puts white{ "Genius alters the terms of its habitat." } + black{ bold{ " - 'Cosmopolis: A Novel', Don DeLillo (2004)" } } puts white{ bold{ "Startups are (by necessity) filled with generalists; big companies are filled with specialists." } } + white{ " People underestimate how effective a generalist can be at things which are done by specialists. People underestimate how deep specialties can run. These are simultaneously true." } + black{ bold{ " - Patrick McKenzie" } } puts white{ bold{ "In Estonia, we don't have Big Brother; we have Little Brother." } } + white{ " You can tell him what to do and maybe also beat him up." } + black{ bold{ " - Anonymous local" } } puts white{ "The principals of a technical consultancy do very well for themselves. I don't know if that is a secret but it certainly isn't well appreciated: " } + white{ bold{ "nobody says Occupy Boutique Rails Consultancies" } } + white{ ", but the principals of them do end up in the 1%." } + black{ bold{ " - @patio11" } } puts white{ "Discover these cave-dwelling secrets that your real estate developer doesn't want you to know!" } + black{ bold{ " - @yipopov" } } puts white{ "A man might see no correspondence between his social or economic position and his private mental life." } + black{ bold{ " - Andrew O'Hagan" } } puts white{ bold{ "Anyone who is both clever and lazy is qualified for the highest leadership duties" } } + white{ ", because he possesses the intellectual clarity and the composure necessary for difficult decisions." } + black{ bold{ " - Kurt Freiherr von Hammersein-Equord" } } puts white{ bold{ "The real task of debugging is not to make the program stop doing the wrong thing. It is to create in your mind an understanding of why the program as written necessarily behaves in the way it does." } } + white{ " Once you have that understanding, actually fixing the problem is straightforward." } + black{ bold{ " - @zaak" } } puts white{ "It has been recognized from the dawn of computer display that " } + white{ bold{ "the grandest and most important use of the computer display should be to aid decisions of creative thought." } } + black{ bold{ " - Theodor H. Nelson (1970)" } } puts white{ "Efficiency is doing things right; effectiveness is doing the right things." } + black{ bold{ " - Peter F. Drucker" } } puts white{ "As soon as you saw people as things to be measured, they didn't measure up." } + black{ bold{ " - Vimes, Terry Pratchet's 'Discworld'" } } puts white{ "Two young fish are swimming along and happen to meet an older fish swimming the other way. He nods at them and says, " } + white{ bold{ "\"Morning, boys. How's the water?\"" } } + black{ bold{ " - David Foster Wallace" } } puts white{ bold{ "Here's to the crazy ones." } } + white{ " The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They're not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can't do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do." } + black{ bold{ " - Rob Siltanen" } } puts white{ "Doubt kill more dreams than failure." } + black{ bold{ " - Suzy Kassem" } } puts white{ "The single necessary and sufficient condition for a business is " } + white{ bold{ "a paying customer" } } + white{ "." } + black{ bold{ " - Bill Aulett, MIT" } } puts white{ bold{ "Our resident microbes orchestrate the adaptive immune system, influence the brain, and contribute more gene functions than our own genome." } } + white{ " The realization that humans are not individual, discrete entities but rather the outcome of ever-changing interactions with microorganisms has consequences beyond the biological disciplines. In particular, it calls into question the assumption that distinctive human traits set us apart from all other animals – and therefore also the traditional disciplinary divisions between the arts and the sciences." } + black{ bold{ " - Rees et al. (2018)" } } puts white{ "Heavy stuff is hard to sell online." } + black{ bold{ " - Economics, Harvard" } } # http://lolmythesis.com/post/158241346220/heavy-stuff-is-hard-to-sell-online puts white{ "Cut & paste makes the world a better place." } + black{ bold{ " - Media, Keele University" } } # http://lolmythesis.com/post/155369748398/cut-paste-makes-the-world-a-better-place puts white{ "It's important to be able to talk to each other if you want to start a revolution." } + black{ bold{ " - History, Western University" } } # http://lolmythesis.com/post/104343161801/its-important-to-be-able-to-talk-to-each-other-if puts white{ bold{ "You actually do learn something from school" } } + white{ "... but it doesn’t matter in the long run." } + black{ bold{ " - Anthropology, Carnegie Mellon University" } } # http://lolmythesis.com/post/92475268088/you-actually-do-learn-something-from-school-but puts white{ "Big fish swim faster than small fish." } + black{ bold{ " - School of Botany and Zoology, Australian National University" } } # http://lolmythesis.com/post/91305620105/big-fish-swim-faster-than-small-fish puts white{ bold{ "All men dream: but not equally." } } + white{ " Those who dream by night in the dusty recesses of their minds wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act their dreams with open eyes, to make it possible." } + black{ bold{ " - T. E. Lawrence (1922)" } } puts white{ "Humanity knows nothing." } + black{ bold{ " - Masanobu Fukuoka" } } puts white{ "They trust me - dumb fucks." } + black{ bold{ " - Mark Zuckerberg (2010)" } } puts white{ "It's kind of fun to do the impossible." } + black{ bold{ " - Walt Disney" } } puts white{ "We use administrative data at the U.S. Census Bureau to study the ages of founders of growth-oriented start-ups in the past decade. Our primary finding is that " } + white{ bold{ "successful entrepreneurs are middle-aged, not young" } } + white{ ". " } + white{ bold{ "The mean founder age for the 1 in 1,000 fastest growing new ventures is 45.0." } } + white{ " The findings are broadly similar when considering high-technology sectors, entrepreneurial hubs, and successful firm exits. Prior experience in the specific industry predicts much greater rates of entrepreneurial success. These findings strongly reject common hypotheses that emphasize youth as a key trait of successful entrepreneurs." } + black{ bold{ " - Azoulay et al., 'Age and High-Growth Entrepreneurship' (2018)" } } puts white{ "Past studies indicate a complex relationship between optimism and performance." } + black{ bold{ " - Azoulay et al., 'Age and High-Growth Entrepreneurship' (2018)" } } puts white{ "What civilization is is 6 billion people trying to make themselves happy by standing on each other's shoulders and kicking each other's teeth in. It's not a pleasant situation. And yet you can stand back and look at this planet and see that " } + white{ bold{ "we have the money, the power, the medical understanding, the scientific know-how, the love, and the community to produce a kind of human paradise" } } + white{ "." } + black{ bold{ " - Terence McKenna" } } puts white{ bold{ "AI lowers the cost of knowledge by orders of magnitude." } } + white{ " One good, effective machine learning system can do the work of a million people, whether it's for commercial purposes or for cyberespionage. Imagine a country that produces a thousand times more knowledge than another. This is the challenge we are facing." } + black{ bold{ " - Pedro Domingos" } } puts white{ "Just like Americans believe in lawyers, the Chinese believe in engineers." } + black{ bold{ " - Pedro Domingos" } } puts white{ "When engineers talk to each other, they don't say \"Believe me!\"" } + black{ bold{ " - Jacque Fresco" } } puts white{ "I would say the majority of the people of the world today are un-sane. Not insane, un-sane meaning having been exposed to methods of evaluation that are long rendered obsolete." } + black{ bold{ " - Jacque Fresco" } } puts white{ "You have that problem with humans. Anything that happens beyond their comprehension they have to invent an excuse for." } + black{ bold{ " - Jacque Fresco" } } puts white{ bold{ "We must do away with the absolutely specious notion that everybody has to earn a living." } } + white{ " It is a fact today that one in ten thousand of us can make a technological breakthrough capable of supporting all the rest. The youth of today are absolutely right in recognizing this nonsense of earning a living. We keep inventing jobs because of this false idea that everybody has to be employed at some kind of drudgery because, according to Malthusian-Darwinian theory, he must justify his right to exist. So we have inspectors of inspectors and people making instruments for inspectors to inspect inspectors. The true business of people should be to go back to school and think about whatever it was they were thinking about before somebody came along and told them they had to earn a living." } + black{ bold{ " - Buckminster Fuller, 'New York Magazine' (1970)" } } puts white{ "Raise your quality standards as high as you can live with, avoid wasting your time on routine problems, and always try to work as closely as possible at the boundary of your abilities. Do this, because it is the only way of discovering how that boundary should be moved forward." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ bold{ "One machine can do the work of fifty ordinary men." } } + white{ " No machine can do the work of one extraordinary man." } + black{ bold{ " - Elbert Hubbard" } } puts white{ bold{ "If it's a good idea, go ahead and do it." } } + white{ " It's much easier to apologize than it is to get permission." } + black{ bold{ " - Grace Hopper" } } puts white{ "If we continue to develop our technology without wisdom or prudence, our servant may prove to be our executioner." } + black{ bold{ " - Omar Bradley" } } puts white{ "To iterate is human, to recurse divine." } + black{ bold{ " - Peter Deutsch" } } puts white{ "How can I improve the code so that this comment isn't needed?" } + black{ bold{ " - Steve McConnell" } } puts white{ "The people who make great innovations are often people who are knowledgeable about a discipline, but who have not been trained in the mainstream of that discipline." } + black{ bold{ " - James C. Scott" } } puts white{ "Who is on a team matters less than how the team members interact, structure their work, and view their contributions." } + black{ bold{ " - Julia Rozovsky, Google People Operations (2015)" } } puts white{ "There are five key dynamics that set successful teams apart from other teams at Google. " } + white{ bold{ "Psychological safety" } } + black{ bold{ ":" } } + white{ " Can we take risks on this team without feeling insecure or embarrassed?" } + white{ bold{ " Dependability" } } + black{ bold{ ":" } } + white{ " Can we count on each other to do high quality work on time?" } + white{ bold{ " Structure & clarity" } } + black{ bold{ ":" } } + white{ " Are goals, roles, and execution plans on our team clear?" } + white{ bold{ " Meaning of work" } } + black{ bold{ ":" } } + white{ " Are we working on something that is personally important for each of us?" } + white{ bold{ " Impact of work" } } + black{ bold{ ":" } } + white{ " Do we fundamentally believe that the work we're doing matters?" } + black{ bold{ " - Julia Rozovsky, Google People Operations (2015)" } } puts white{ "We view a behavior as correct in a given situation to the degree that we see others performing it." } + black{ bold{ " - Robert Cialdini" } } puts white{ bold{ "Sharot's persuasive factors" } } + black{ bold{ ": " } } + white{ "prior beliefs, emotion, incentives, agency, curiosity, state of mind, and other people." } # https://www.businessinsider.com/how-to-be-more-persuasive-according-to-neuroscience-2018-10 puts white{ "It's no longer about giving the user the tools required to get the best value out of their computer, but rather giving the computer the tools required to get the best value out of the user." } + black{ bold{ " - @fit2rule" } } puts white{ "Stress, burn out and overwork are more likely to kill your startup than not having your customer acquisition funnel fully optimized." } + black{ bold{ " - Earnest Capital" } } puts white{ bold{ "For 250 years mycologists have tried to reconcile fungal diversity with the Linnean fantasy of divine order throughout nature" } } + white{ " that included unambiguous species. This effort has failed and today's taxonomy rests on an unstable philosophical foundation." } + black{ bold{ " - Nicholas P. Money, 'Against the naming of fungi', Fungal Biology, 2013." } } puts white{ bold{ "The thing that's important when running a business is making money." } } + white{ " Having happy repeat customers is one way to do this, but there are many others: having unhappy customers and crushing the competition, having a steady stream of new customers (MLM schemes), selling a product where customers cannot meaningfully evaluate quality (Facebook video marketing)..." } + black{ bold{ " - @geofft" } } puts white{ "The reason they call it the American Dream is because you have to be asleep to believe it." } + black{ bold{ " - George Carlin" } } puts white{ "I think of first mover advantages all the time when I invest, but I also think of last mover advantages." } + black{ bold{ " - Tony Fadell" } } puts white{ bold{ "Silicon Valley companies like to pretend they're special in some sort of moral, ethical, or existential way." } } + white{ " It turns out they're just companies." } + black{ bold{ " - Adam Lashinsky, Fortune (2018)" } } puts white{ "We live in worlds our questions create." } + black{ bold{ " - David Cooperider" } } puts white{ bold{ "ThomPete's travail" } } + black{ bold{ ": " } } + white{ "Wicked problems are by definition either political or ideological." } puts white{ "A comment is a failure to express yourself in code. If you fail, then write a comment; but try not to fail." } + black{ bold{ " - @UncleBobMartin" } } puts white{ bold{ "Programming is like cooking" } } + white{ ": in Python, you use pre-made bolognese sauce; in C++, you start from fresh tomatoes and minced meat; in Assembly, you have a farm where you grow your tomatoes and raise your cow." } + black{ bold{ " - @gv_barroso" } } puts white{ bold{ "Programming computers was so fascinating." } } + white{ " You create your own little universe, and then it does what you tell it to do." } + black{ bold{ " - Vint Cerf" } } puts white{ "The only function of what we do, of art or of anything, is to give voice to the unspoken: to give it a form that it's never been perceived in before. We can't change the evolution of history or gentrification, you can't stop it but at least you can say \"look what you're losing\". " } + white{ bold{ "All we can do is give an image to an idea." } } + black{ bold{ " - Chris Doyle" } } puts white{ "When entering a market with existing competitors, you have to be 10x better." } puts white{ "The ultimate outsider's hack is to read all the biographies." } puts white{ "90% of investors add no value, 70% of investors add negative value to a company." } + black{ bold{ " - Vinod Khosla" } } puts white{ "Most people in business reduce the risk of failure to the point where the consequences of success are inconsequential on society." } + black{ bold{ " - Vinod Khosla" } } puts white{ "Sunrise brings fresh care to the destitute." } + black{ bold{ " - Tamil saying" } } puts white{ "Haste makes waste." } puts white{ "All models are wrong, some are useful." } puts white{ "There is nothing better to spur creativity than a blank page or an empty bedroom." } + black{ bold{ " - Lin-Manuel Miranda" } } puts white{ bold{ "Un train peut en cacher un autre!" } } + white{ " (\"One train can hide another!\")" } + black{ bold{ " - French saying" } } puts white{ "The visionary lies to himself, the liar only to others." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Morality is: the mediocre are worth more than the exceptions." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "You must have chaos within you to give birth to a dancing star." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "In individuals, insanity is rare; but in groups, parties, nations and epochs, it is the rule." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ bold{ "All things are subject to interpretation." } } + white{ " Whichever interpretation prevails at a given time is a function of power and not truth." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Winged insects and honey gatherers of the mind." } + black{ bold{ " - Friedrich Nietzsche, on humans" } } puts white{ "Live dangerously."} + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "The press, the machine, the railway, the telegraph are premises whose thousand-year conclusion no one has yet dared to draw."} + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Truths are illusions which we have forgotten are illusions." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Art raises its head where creeds relax." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Blessed are the forgetful: for they get the better even of their blunders." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "Necessity is not an established fact, but an interpretation." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ bold{ "Bad programmers worry about the code." } } + white{ " Good programmers worry about data structures and their relationships." } + black{ bold{ " - Linus Torvalds" } } puts white{ "Explaining what you want done to a computer is much harder than telling a competent adult." } + black{ bold{ " - @dsr_" } } puts white{ "The man who grasps principles can successfully select his own methods. The man who tries methods, ignoring principles, is sure to have trouble." } + black{ bold{ " - Ralph Waldo Emerson" } } puts white{ "The only people who win the lottery are those that are stupid enough to play." } + black{ bold{ " - @crimsonalucard" } } puts white{ "That is quite a lot of words to say '" } + white{ bold{ "think a few steps ahead" } } + white{ "'." } + black{ bold{ " - @evrydayhustling" } } puts white{ "Paralysis by analysis." } # https://freeolabini.org/en/statement-from-ola/ puts white{ bold{ "The leaders of the world are waging a war against knowledge." } } + white{ " The case against me is based on the books I've read and the technology I have." } + black{ bold{ " - Ola Bini, statement from Ecuadorean prison (2019)" } } puts white{ "You are in a maze of twisty little passages, all alike." } + black{ bold{ " - Colossal Cave Adventure (1976)" } } puts white{ "Our VP of Sales has an interesting reaction to every large deal won: " } + white{ bold{ "we could have asked for more" } } + white{ "." } + black{ bold{ " - @extragood" } } puts white{ "Perfectionism is a dangerous state of mind in an imperfect world." } + black{ bold{ " - Robert Hillyer" } } puts white{ "Don't take advice from people who don't have to live with the consequences." } + black{ bold{ " - Mark Cuban" } } puts white{ "The most important skill for a programmer is the ability to effectively communicate ideas." } + black{ bold{ " - Gastón Jorquera" } } puts white{ "The ability to simplify means to eliminate the unnecessary so that the necessary may speak." } + black{ bold{ " - Hans Hofmann" } } puts white{ "Teaching yourself is discovering what is teachable." } + black{ bold{ " - Edsger Dijkstra (1979)" } } puts white{ "The effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer." } + black{ bold{ " - Edsger Dijkstra (1972)" } } puts white{ "Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better." } + black{ bold{ " - Dijkstra, 'On the nature of Computing Science' (1984)" } } puts white{ "It is time to unmask the computing community as a Secret Society for the Creation and Preservation of Artificial Complexity." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ "It seems that by learning a new language, you suddenly become attuned to perceptual dimensions that you weren't aware of before." } + black{ bold{ " - Panos Athanasopoulos, summarizing linguistic/psycho-spatial research (2018)" } } puts white{ bold{ "If you have a machine that needs to be cared about, stick googly eyes to it." } } + white{ " Works every time. Where there is a face, there is a name, where there is a name, there is care and maintenance." } + black{ bold{ " - @LifeLiverTransp" } } puts white{ "Thinking is also work." } puts white{ "I have noticed that the more people glorify the entrepreneur as an abstraction, the more they will scorn an actual one they meet." } + black{ bold{ " - Jean-Louis Rheault" } } puts white{ bold{ "artificia docuit fames" } } + black{ bold{ " - " } } + white{ "sophistication is born out of hunger." } puts white{ "You have to work hard to get your thinking clean to make it simple." } + black{ bold{ " - Steve Jobs" } } puts white{ "The objectivity of science is [...] " } + bold{ "the social result of mutual criticism, of the friendly-hostile division of labour among scientists, of their co-operation and also of their competition" } + white{ "... Objectivity can only be explained in terms of social ideas such as competition (both of individual scientists and of various schools of thoughts); tradition (that is the critical tradition); social institutions (for instance, publications in various competing journals and by various competing publishers; discussions at congresses); the power of the state (that is, its political tolerance of free discussion)." } + black{ bold{ " - Karl Popper, The logic of the social sciences (1976)" } } # Nassim Taleb (eg. 'Antifragility', pp1-91) puts white{ bold{ "Techne" } } + black{ bold{ " (crafts and knowhow) " } } + white{ "not " } + white{ bold{ "episteme" } } + black{ bold{ " (book knowledge; know what). - Nassim Taleb" } } puts white{ "A " } + white{ bold{ "collection of small units with semi-independent variations" } } + white{ " produces vastly different risk characteristics than a " } + white{ bold{ "single large unit" } } + white{ "." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Avoidance of small mistakes makes the large ones more severe." } + black{ bold{ " - Nassim Taleb" } } puts white{ "This is " } + white{ bold{ "the central illusion in life" } } + white{ ": that randomness is risky, that it is a bad thing - and that eliminating randomness is done by eliminating randomness." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Where simplifications fail, causing the most damage, is when something nonlinear is simplified with the linear as a substitute." } + black{ bold{ " - Nassim Taleb" } } puts white{ "What Erasmus called " } + white{ bold{ "ingraditudo vulgi" } } + white{ ", the ingratitude of the masses, is increasing in the age of globalization and the internet." } + black{ bold{ " - Nassim Taleb" } } puts white{ "The restaurant business is wonderfully efficient precisely because restaurants, being vulnerable, go bankrupt every minute, and entrepreneurs ignore such a possibility." } + black{ bold{ " - Nassim Taleb" } } puts white{ "If every plane crash makes the next one less likely, then every bank crash makes the next one more likely." } + black{ bold{ " - Nassim Taleb" } } puts white{ "While " } + white{ bold{ "hormesis" } } + white{ " corresponds to situations by which the individual organism benefits from direct harm to itself, " } + white{ bold{ "evolution" } } + white{ " occurs when harm makes the individual organism perish and the benefits are transferred to others." } + black{ bold{ " - Nassim Taleb" } } puts white{ "If nature ran the economy, it would not continuously bail out its living members to make them live forever." } + black{ bold{ " - Nassim Taleb" } } puts white{ "What the author is bored writing bores the reader." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Randomness is necessary for true life." } + black{ bold{ " - Nassim Taleb" } } puts white{ bold{ "In the complex world, the notion of 'cause' itself is suspect" } } + white{ "; it is either nearly impossible to detect or not really defined - another reason to ignore newspapers, with their constant supply of causes for things." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Just as in matters of seduction, " } + white{ bold{ "people lend the most to those who need them the least" } } + white{ "." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Those from whom we have benefited the most aren't those who have tried to help us (say with 'advice') but rather those who have actively tried - but eventually failed - to harm us." } + black{ bold{ " - Nassim Taleb" } } puts white{ "With few exceptions, those who dress outrageously are robust or even antifragile in reputation; those clean-shaven types who dress in suits and ties are fragile to information about them." } + black{ bold{ " - Nassim Taleb" } } puts white{ "To estimate the quality of research, take the caliber of the highest detractor, or the caliber of the lowest detractor whom the author answers in print - whichever is lower." } + black{ bold{ " - Nassim Taleb" } } puts white{ bold{ "The Lucretius problem" } } + black{ bold{ ": " } } + white{ "The fool believes that the tallest mountain in the world will be equal to the tallest one he has observed." } + black{ bold{ " - Nassim Taleb" } } puts white{ "We know more than we think we do; a lot more than we can articulate." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Our formal systems of thought denigrate the natural." } + black{ bold{ " - Nassim Taleb" } } puts white{ "Modernity has replaced ethics with legalese; and the law can be gamed with a good lawyer." } + black{ bold{ " - Nassim Taleb" } } puts white{ "We have the illusion that the world functions thanks to programmed design, university research, and bureaucratic funding, but there is compelling - very compelling - evidence to show that this is an illusion, the illusion I call " } + white{ bold{ "lecturing birds how to fly" } } + white{ "." } + black{ bold{ " - Nassim Taleb" } } puts white{ "The modern world may be increasing in technological knowledge, but, paradoxically, it is making things a lot more unpredictable." } + black{ bold{ " - Nassim Taleb" } } puts white{ "It is hard to see how things work by looking at single parts." } + black{ bold{ " - Nassim Taleb" } } puts white{ bold{ "Complex systems" } } + white{ " are full of " } + white{ bold{ "interdependencies" } } + white{ " - hard to detect - and " } + white{ bold{ "nonlinear responses" } } + white{ "." } + black{ bold{ " - Nassim Taleb" } } puts white{ "At no point in history have so many non-risk takers, that is, those with no personal exposure, exerted so much control." } + black{ bold{ " - Nassim Taleb" } } puts white{ bold{ "Ludic fallacy" } } + white{ ": The misuse of games to model real-life situations." } + black{ bold{ " - Nassim Taleb" } } # .. other puts white{ "Personality disorders are a terrible thing to waste." } + black{ bold{ " - John Waters" } } puts white{ bold{ "Elements of thinking considered crucial to wisdom" } } + white{ ": intellectual humility, taking the perspective of others, recognising uncertainty, and having the capacity to search for a compromise." } puts white{ bold{ "kala pani" } } + white{ ": black waters." } + black{ bold{ " - Hindu taboo on ocean voyages" } } puts white{ bold{ "Peer to Peer Communism vs the Client-Server State" } } + white{ ": The Political Economy of Network Topologies." } + black{ bold{ " - Presentation title, SIGINT10, Dmytri Kleiner" } } puts white{ "My sympathies were with people who struggled. There was also my mistrust of people who made the rules." } + black{ bold{ " - Robert Frank" } } puts white{ "Grinder and paint makes me the welder I ain't." } puts white{ "You cannot study a system by stopping it." } + black{ bold{ " - Frank Herbert, 'Dune'" } } puts white{ "The people must learn how well I govern them. How would they know if I did not tell them?" } + black{ bold{ " - Frank Herbert, 'Dune'" } } puts white{ "Is that some kind of game you're playing?" } puts white{ "Telling rocks what to think." } + black{ bold{ " - Erin Spice's summary of programming in 5 words" } } puts white{ "Knowledge work." } + black{ bold{ " - Peter Drucker (1959)" } } puts white{ bold{ "Ein nagel behalt ein îſen." } } + white{ " For wont of a nail." } + black{ bold{ " - Freidank, 'Bescheidenheit' (1230)" } } puts white{ "Has Black Mirror taught us nothing?" } + black{ bold{ " - @rejectedstone" } } puts white{ "The next big thing will be giving power to users through protocols, not platforms. Through live environments and powerful conversation tools rather than consumption tools." } + black{ bold{ " - @angleofrepose (2019)" } } puts white{ "First, catch your rabbit." } + black { bold{ " - Old recipe for rabbit stew." } } puts white{ "You've got a choice: you can lead, you can follow, or you can get out of the way. Understand?" } + black{ bold{ " - 'Wind' (1992)" } } puts white{ "An artist can be good at going off into the private world they create, and maybe not be so good at finding the way out again." } + black{ bold{ " - Ursula K. Le Guin" } } puts white{ "We'll need writers who can remember freedom - poets, visionaries - realists of a larger reality." } + black{ bold{ " - Ursula K. Le Guin" } } puts white{ "Information is alienated experience." } + black{ bold{ " - Jaron Lanier" } } puts white{ "It is impossible to work in information technology without also engaging in social engineering. " } + black{ bold{ " - Jaron Lanier" } } puts white{ "Style used to be an interaction between the human soul and tools that were limiting. In the digital era, it will have to come from the soul alone." } + black{ bold{ " - Jaron Lanier" } } puts white{ "If there's any object in human experience that's a precedent for what a computer should be like, it's a musical instrument: a device where you can explore a huge range of possibilities through an interface that connects your mind and your body, allowing you to be emotionally authentic and expressive." } + black{ bold{ " - Jaron Lanier" } } puts white{ bold{ "PEBKAC" } } + white{ ": problem exists between keyboard and chair." } puts white{ "New territory, new product, new team." } + black{ bold{ " - Combination of circumstances under which not to build a product." } } puts white{ "Code is liability." } puts white{ "The Tools Make The Rules" } + black{ bold{ " - Tom Kremenek (on software development workflow)" } } puts white{ "Command is getting people to do something. Control is stopping them from doing something else." } puts white{ "The secret of getting ahead is getting started." } + black{ bold{ " - Mark Twain" } } puts white{ "It is an unfortunate fact that the bulk of humanity is too limited in its mental vision to weigh with patience and intelligence those isolated phenomena, seen and felt only by a psychologically sensitive few, which lie outside its common experience. " } + white{ bold{ "Men of broader intellect know that there is no sharp distinction betwixt the real and the unreal" } } + white{ "; that all things appear as they do only by virtue of the delicate individual physical and metntal media through which we are made conscious of them; but " } + white{ bold{ "the prosaic materialism of the majority condemns as madness the flashes of super-sight which penetrate the common veil of obvious empiricism." } } + black{ bold{ " - H. P. Lovecraft, 'The Tomb' (1917)" } } puts white{ bold{ "in vino veritas" } } + white{ ": In wine, truth." } puts white{ "We went through that stage at Apple where we went out and we thought \"Oh, we're gonna be a big company, let's hire professional management.\" We went out and hired a bunch of professional management - it didn't work at all. Most of them were bozos. They knew how to manage, but they didn't know how to do anything! And so, if you're a great person why do you want to work for somebody you can't learn anything from? And you know what's interesting, you know who the best managers are? They're the great individual contributors, who never ever want to be a manager, but decide they have to be a manager because no one else is going to be able to do as good a job as them." } + black{ bold{ " - Steve Jobs" } } puts white{ bold{ "The most powerful person in the world is the storyteller." } } + white{ " The storyteller sets the vision, values and agenda of an entire generation to come." } + black{ bold{ " - Steve Jobs" } } puts white{ "I was actually able to write Neuromancer because I didn't know anything about computers." } + black{ bold{ " - William Gibson" } } puts white{ "The most challenging and important problems to solve in an engineering organisation are rarely technical in nature." } + black{ bold{ " - @darkr" } } puts white{ "If it's a core business function - do it yourself, no matter what." } + black{ bold{ " - Joel Spolsky" } } puts white{ "All models are wrong, but some are useful." } + black{ bold{ " - George E. P. Box" } } puts white{ "I am convinced that we are in serious danger of losing press freedoms. It's already happening." } + black{ bold{ " - Nils Melzer, UN Special Rapporteur on Torture" } } puts white{ "Assange published proof of systematic torture. But instead of those responsible for the torture, it is Assange who is being persecuted. Second, he himself has been ill-treated to the point that he is now exhibiting symptoms of psychological torture. And third, he is to be extradited to a country that holds people like him in prison conditions that Amnesty International has described as torture. In summary: Julian Assange uncovered torture, has been tortured himself and could be tortured to death in the United States. And a case like that isn't supposed to be part of my area of responsibility? Beyond that, the case is of symbolic importance and affects every citizen of a democratic country." } + black{ bold{ " - Nils Melzer, UN Special Rapporteur on Torture" } } puts white{ "Thinking is one of the greatest pleasures of the human race."} + black{ bold{ " - Bertolt Brecht" } } puts white{ "The only normal people are the ones you don't know very well." } + black{ bold{ " - Joe Ancis" } } puts white{ bold{ "Piękno niewiele kosztuje." } } + white{ " Beauty doesn't cost much." } + black{ bold{ " - Motto of Zakopane artists, Poland" } } puts white{ bold{ "Our greatest weakness lies in giving up." } } + white{ " The most certain way to succeed is always to try just one more time." } + black{ bold{ " - Thomas Edison" } } puts white{ "The sign of a great cook is being able to fix dishes that someone else screwed up." } puts white{ "Quantity is something you count. Quality is something you count on." } puts white{ "The tales supplied what the real country lacked, when villagers were telling them." } + black{ bold{ " - Francis Spufford, 'Red Plenty'" } } puts white{ "There is no excellent beauty that hath not some strangeness in the proportion." } + black{ bold{ " - Harry Woolf" } } puts white{ bold{ "The most striking and satisfying visual pleasure comes from the repetition or the massing of one simple element." } } + white{ " Imagine the Parthenon with each column a different kind of marble!" } + black{ bold{ " - Montague Russell Page" } } puts white{ "Out of intense complexities intense simplicities emerge." } + black{ bold{ " - Winston Churchill" } } puts white{ "One of the main goals of science is to find principles that unify apparently diverse phenomena." } + black{ bold{ " - Algorithmic Botany, University of Calgary, Canada" } } puts white{ bold{ "VCs would rather a $1b business with a 90% margin than a $5b business with a 50% margin" } } + white{ ", even if capital requirements and growth were the same." } + black{ bold{ " - Stefan Seltz-Axmacher, Founder of Starsky Robots (2015-2020)" } } puts white{ "A beautiful and disturbing tangle, that would be diminished if it was unravelled." } + black{ bold{ " - Monty Don, on Bomarzo" } } puts white{ "Hope is a shitty hedge." } + black{ bold{ " - Goldman Sachs" } } puts white{ "The web was supposed to forcefully challenge our opinions and push back, like a personal trainer who doesn't care how tired you say you are. Instead, Google has become like the pampering robots in WALL-E, giving us what we want at the expense of what we need. But, " } + white{ bold{ "it's not our bodies that are turning into mush: It's our minds." } } + black{ bold{ " - @superhighway98" } } # https://www.superhighway98.com/google puts white{ "You are not a drop in the ocean. You are the entire ocean in one drop." } + black{ bold{ " - Rumi" } } puts white{ "Silence is the language of God. All else is poor translation." } + black{ bold{ " - Rumi"} } puts white{ "Hope is not a strategy." } + black{ bold{ " - Site reliability engineers' motto." } } puts white{ "Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing." } + black{ bold{ " - Dick Brandon" } } puts white{ "Be brief, be brilliant or be gone." } + black{ bold{ " - Advice on speaking" } } puts white{ "Listen to understand, not to respond." } puts white{ "Don't dig a well where you can divert a river." } puts white{ "Innovation is first and foremost a bifurcation." } + black{ bold{ " - Michel Serres" } } puts white{ "As human beings we have limited brainpower, and so our brains encode the everyday things in to habits so we can free up space to learn new things. It's a process called " } + white{ bold{ "habituation" } } + white{ "." } + black{ bold{ " - Tony Fadell" } } puts white{ "Compliance is a terrible goal... the law is the minimum standard for society, it's not best practice." } + black{ bold{ " - Luke Anear" } } puts white{ "One entrepreneur conference I attended, a speaker stressed that " } + white{ bold{ "novelty was not an advantage, it was a risk" } } + white{ ". It had to be very important to justify that risk. A totally new product/IP, a new customer, a new marketing channel, were all risks and not advantages. " } + white{ bold{ "The ideal startup from that point of view, would be 'a better mousetrap'." } } + black{ bold{ " - @JoeAltmaier" } } puts white{ bold{ "Division of labor is a tragedy." } } + white{ " In the long run, it destroys the soul." } + black{ bold{ " - @MrBuddyCasino" } } puts white{ "We're all guinea pigs living in self-enforced captivity." } + black{ bold{ " - @zozbot234" } } puts white{ bold{ "Castles in the air" } } + white{ ", from air." } + black{ bold{ " - Fred Brooks, on programming" } } puts white{ bold{ "Quantitative security risk models serve mainly as a corporate laundering system to obfuscate risk" } } + white{ ", and do not have any meaningful predictive power. " } + white{ bold{ "Security compliance has become a make-work field for the unskilled" } } + white{ ", whose role is to be both an easy mark and a scapegoat for reckless corporate behaviour." } + black{ bold{ " - @motohagiography" } } puts white{ "Bound is boatless man." } + black{ bold{ " - Scandinavian saying" } } puts white{ "Always remain master of the situation and " } + white{ bold{ "do what you please" } } + white{ ". No tasks! No, no tasks!" } + black{ bold{ " - Édouard Manet" } } puts white{ "Everything before our eyes is ridiculous." } + black{ bold{ " - Édouard Manet" } } puts white{ "There is at least one consolation in our misfortunes: that we're not politicians and have no desire to be elected as deputies." } + black{ bold{ " - Édouard Manet" } } puts white{ "They've never stopped telling me I'm inconsistent; they couldn't have said anything more flattering." } + black{ bold{ " - Édouard Manet" } } puts white{ "Conciseness is both a necessity and a luxury; a concise man provokes thought, a wordy man provokes boredom; always move towards conciseness." } + black{ bold{ " - Édouard Manet" } } puts white{ "The nation-state alone does not have a future." } + black{ bold{ " - Angela Merkel" } } puts white{ "Growing obsolescence of three core systems that have shaped civilization for the past 350 years: " } + white{ bold{ "capitalism" } } + white{ ", fueled by carbon since the dawn of the Industrial Age and increasingly driven by global financialization; " } + white{ bold{ "the nation-state system" } } + white{ ", formalized by the Treaty of Westphalia in 1648; and " } + white{ bold{ "representative democracy" } } + white{ ", a system of self-rule based on Enlightenment ideals of freedom, fairness, justice and equality." } + black{ bold{ " - Stephen Heintz" } } puts white{ "Our practice of capitalism is both putting the planetary ecosystem at risk and generating vast economic inequality." } + black{ bold{ " - Stephen Heintz" } } puts white{ "The nation state is inadequate for managing transnational challenges like global warming." } + black{ bold{ " - Stephen Heintz" } } puts white{ "Representative democracy is neither truly representative nor very democratic as citizens feel that self-rule has given way to rule by corporations, special interests and the wealthy." } + black{ bold{ " - Stephen Heintz" } } puts white{ "The entire industry is largely based on making investment decisions based on talking." } + black{ bold{ " - Elizabeth Yin, on VC" } } puts white{ "We expect that advertising funded search engines will be inherently biased towards the advertisers and away from the needs of the consumers." } + black{ bold{ " - Sergey Brin and Larry Page" } } puts white{ "Somehow contemporary art people are always the biggest squares." } + black{ bold{ " - Simon Sarris on art, fees and copyright" } } puts white{ "What are the most important problems in your field, and why aren't you working on them?" } + black{ bold{ " - Richard Hamming" } } puts white{ "Genius is composed almost, but not quite entirely of crazy." } + black{ bold{ " - @noonespecial" } } puts white{ "Everything you need to know about mechanics is F=ma and you can't push on a rope." } + black{ bold{ " - Engineering professor" } } puts white{ "There is nothing more practical than a good theory." } + black{ bold{ " - Kurt Lewin" } } puts white{ "The best way of keeping a secret is to pretend there isn't one." } + black{ bold{ " - Margaret Atwood" } } puts white{ "Classical economics is based on a false analogy with Newtonian physics." } + black{ bold{ " - George Soros (paraphrased)" } } puts white{ "I apologize for dwelling so long in the rarefied realm of abstractions." } + black{ bold{ " - George Soros, billionaire" } } puts white{ "I test in production." } puts white{ "Above product-market fit is " } + white{ bold{ "founder-product-market fit" } } + white{ "." } + black{ bold{ " - @naval" } } puts white{ "Writing appears to be necessary for the centralized, stratified state to reproduce itself... writing is a strange thing... the one phenomenon which has invariably accompanied it is the formation of cities and empires: the integration into a political system, that is to say, of a considerable number of individuals... into a hierarchy of castes and classes... it seems to favor rather the exploitation than the enlightenment of mankind." } + black{ bold{ " - Claude Levi-Strauss" } } puts white{ "Buy for parity, build for competitive advantage." } + black{ bold{ " - @cratermoon" } } puts white{ "I could see the frame, but I still couldn't see the picture." } + black{ bold{ " - Robert Mitchum" } } puts white{ "It turns out 'Hey Alexa' is short for 'Hey Keith Alexander'." } + black{ bold{ " - Edward Snowden, after Amazon hired NSA chief (2020)" } } puts white{ "Acidic environments: swamps and blogs." } puts white{ "Circular, like most arguments on the internet." } puts white{ "It is always hard to see the purpose of wilderness wanderings until after they are over." } + black{ bold{ " - John Bunyan" } } puts white{ "People have been conditioned to seek moral causes rather than structural ones." } + black{ bold{ " - 'Interreflections' (2020)" } } puts white{ "Not all who wander are lost." } + black{ bold{ " - Tolkien" } } puts white{ "The busy man is never wise and the wise man is never busy." } + black{ bold{ " - Lin Yutang" } } puts white{ "The Accounting department is usually backwards facing. The Finance department is usually forwards facing." } + black{ bold{ " - @brixon" } } puts white{ "If you're like me, you probably have a knack for underestimating the depth of rabbit holes." } + black{ bold{ " - Samuel Pinches" } } puts white{ "Everyone has a plan until they get punched in the face." } + black{ bold{ " - Mike Tyson" } } puts white{ "People Google to find out why they're right and that's the end of it." } + black{ bold{ " - @saas_sam" } } puts white{ "Throw it all away and start again." } + black{ bold{ " - Geoff Hinton, on deep learning" } } puts white{ bold{ "Curse of knowledge" } } + black{ bold{ ": " } } + white{ "Cognitive bias that occurs when an individual, communicating with other individuals, unknowingly assumes that the others have the background to understand." } puts white{ "Who was I, a man whose proudest ancestor had led a life in a Moslem community, to identify myself exclusively with West against East?" } + black{ bold{ " - Norbert Weiner, MIT maths professor and philosopher, an American of Prussian Jewish extraction, founder of cybernetics and seminal work in control theory, referring to a philosopher/rabbi ancestor born in Cordova and domiciled in Cairo as physician to the Vizier of Egypt" } } puts white{ "That's not a bug, it's Germany!" } + black{ bold{ " - @pheelicks, referring to the edge of an Austrian dataset" } } puts white{ "Give a man an 0day and he'll have access for a day, teach a man to phish and he'll have access for life." } + black{ bold{ " - @grugq" } } puts white{ "Life has become immeasurably better since I have been forced to stop taking it seriously." } + black{ bold{ " - Hunter S. Thompson" } } puts white{ "A story is worth 1000 spreadsheets." } + black{ bold{ " - Political rule of thumb" } } puts white{ "There are two ways to make money. You can bundle, or you can unbundle." } + black{ bold{ " - Jim Barksdale" } } # https://www.ben-evans.com/presentations puts white{ bold{ "Old school geeks used to be innovative, libertarians and pro freedom." } } + white{ " In 2020, now that they're at the top of the food chain thanks to selling online ads, they are mostly concerned by enforcing societal norms and praising the status quo, while creating the perfect surveillance apparatus for the big government. Of course they must bow their heads to their corporate masters - they don't want to bite the hand that feeds them! A lost generation." } + black{ bold{ " - @1996" } } puts white{ "The world will reveal itself to those who travel on foot." } + black{ bold{ " - Werner Herzog" } } puts white{ "The moment a man begins to talk about technique that's proof he is fresh out of ideas." } + black{ bold{ " - Raymond Chandler" } } puts white{ "Good men don't need rules." } + black{ bold{ " - Doctor Who" } } puts white{ "Manufacturing is not a sector. It is a capability." } + black{ bold{ " - Jens Goennemann" } } puts white{ bold{ "The customer is a human with irrational ideas" } } + white{ ": just like every other human." } + black{ bold{ " - Noam Bardin" } } puts white{ "Crudely, the young brain works faster because it takes into account less information, fewer contingencies, while the older brain does the opposite." } + black{ bold{ " - @marmaduke" } } puts white{ bold{ "The superpower of software" } } + white{ ": your ability to listen to a customer and quickly iterate your way towards a better and better customer experience or product or solution for that customer." } + black{ bold{ " - Pete Flint" } } puts white{ "A global poll in 2019 found that only 52% of people in Latin America and the Caribbean thought a neighbour would return a wallet; just 41% thought a cop would. That is the lowest share of any region." } + black{ bold{ " - Economist" } } puts white{ "Amateurs talk about strategy and tactics. Professionals talk about logistics." } + black{ bold{ " - Robert Hilliard Barrow (1922-2008), USMC four-star general" } } puts white{ "Don't write ferraris, write minivans." } + black{ bold{ " - David Williams" } } puts white{ "Chance favours the prepared mind." } + black{ bold{ " - Louis Pasteur" } } puts white{ bold{ "Naivete is an asset." } } + white{ " That's why entrepreneurs can come in and disrupt a huge business full of incumbents with billions of dollars in market value. Look at Kodak. Kodak knew of the digital camera in the 70s. But they wouldn't acknowledge it and they wouldn't touch it, because of all these other systems built up around it." } + black{ bold{ " - Tony Fadell (2021)" } } puts white{ "Would you tacitly support genocide if your employer bought you lunch?" } + black{ bold{ " - @ALittleLight, on the moral fiber of Google employees following the 2021 deletion of Youtube videos regarding Xinjiang" } } puts white{ "An expert is a person who has made most of the possible mistakes in a given field." } puts white{ "Cut twice and it's still too short." } + black{ bold{ " - Machinist's saying" } } puts white{ bold{ "Seagull management" } } + black{ bold{ ":" } } + white{ " fly in, squawk a lot, shit over everything, and then fly off." } puts white{ bold{ "middlewared" } } + black{ bold{ ": " } } + white{ "to be encumbered by faults deep in the toolchain." } + black{ bold{ " - @0des" } } puts white{ "I love what I do, and I know how to use my willpower to get anything that might divert me out of my way. I lead a simple and happy life. " } + white{ bold{ "Everything around me converges, and indeed must converge, to promote the task I have set myself" } } + white{ "." } + black{ bold{ " - Marcel Dassault" } } puts white{ "No one pays extra for perfect; always engineer for adequate!" } puts white{ bold{ "En casa de herrero, cuchillo de palo" } } + black{ bold{": " } } + white{ "In the blacksmith's house, wooden knife." } + black{ bold{ " - Spanish saying" } } puts white{ "Another week, another impressive technological display of amoral mass-douchebaggery." } + black{ bold{ " - PedroBatista" } } puts white{ "Remember that all is opinion." } + black{ bold{ " - Marcus Aurelius" } } puts white{ "The wheel is rounder when we re-invent it in JS." } + black{ bold{ " - @analognoise" } } puts white{ "If you can't handle the heat get out of the Anthropocene." } + black{ bold{ " - @RobLach" } } puts white{ "My Mom said it to me with simpler terms when I was little... " } + white{ bold{ "we only have laws because of the assholes" } } + white{ "." } + black{ bold{ " - @taf2" } } puts white{ "You call a library, but a framework calls you." } puts white{ "I am an explorer of structures." } + black{ bold{ " - Buckminster Fuller" } } puts white{ "Money is a 'first derivative' of success and a lagging indicator." } + black{ bold{ " - @ChuckMcM" } } puts white{ "Let us not confuse the loyalties of free men with mere obedience to authority." } + black{ bold{ " - C. Wright Mills" } } puts white{ bold{ "True decentralization is a natural but ephemeral quality of networks with relatively few nodes." } } + white{ " That is, scales where each individual node has enough internal resources to accurately represent the entire network. Human networks are parameterized very roughly by Dunbar's Number (100-250), while modern computer networks are much more capable." } + black{ bold{ " - @pphysch" } } puts white{ "No wonder they disagreed so endlessly; they were talking about different things." } + black{ bold{ " - Robert L. Heilbroner" } } puts white{ "Scientific progress on a broad front results from the free play of free intellects, working on subjects of their own choice, in the manner dictated by their curiosity." } + black{ bold{ " - Vannevar Bush" } } puts white{ "We are living in what the Greeks called the " } + white{ bold{ "καιρóς (Kairos)" } } + white{ " – the right time – for a \"metamorphosis of the gods,\" i.e. of the fundamental principles and symbols." } + black{ bold{ " - C. G. Jung, The Undiscovered Self (1958)" } } puts white{ bold{ "Automation is no longer just a problem for those working in manufacturing." } } + white{ " Physical labor was replaced by robots; mental labor is going to be replaced by AI and software." } + black{ bold{ " - Andrew Yang" } } puts white{ "Complexity is not a sign of intelligence; simplify." } + black{ bold{ " - Peter Bevelacqua" } } puts white{ "Silence is gold, talking is silver." } + black{ bold{ " - Arabic proverb" } } puts white{ bold{ "What we need is the opposite of Big Tech." } } + white{ " We need Small Tech – everyday tools for everyday people designed to increase human welfare, not corporate profits." } + black{ bold{ " - Aral Balkan" } } puts white{ bold{ "Teaching programming to kids is important." } } + white{ " Nothing teaches you the fundamentals of something like having to explain it to a computer." } + black{ bold{ " - @apricot" } } puts white{ bold{ "Courage, or confidence, is a property to develop in yourself." } } + white{ " Look at your successes, and pay less attention to failures than you are usually advised to do in the expression \"Learn from your mistakes.\"" } + black{ bold{ " - Richard Hamming" } } puts white{ bold{ "There must be no barriers to freedom of inquiry" } } + white { " ... there is no place for dogma in science. The scientist is free, and must be free to ask any question, to doubt any assertion, to seek for any evidence, to correct any errors. Our political life is also predicated on openness. We know that the only way to avoid error is to detect it and that the only way to detect it is to be free to inquire. And we know that as long as men are free to ask what they must, free to say what they think, free to think what they will, freedom can never be lost, and science can never regress." } + black{ bold{ " - J. Robert Oppenheimer, developer of nuclear weapons" } } puts white{ "Every valuable human being must be a radical and a rebel, for what he must aim at is to make things better than they are." } + black{ bold{ " - Niels Bohr" } } puts white{ "The smartest engineers I know are burned out and starting vegetable gardens." } + black{ bold{ " - @ctrlshifti" } } puts white{ "You don't get to be a kernel hacker simply by looking good in Speedos." } + black{ bold{ " - Rusty Russell" } } puts white{ "AI is short for advertising industry at this point." } + black{ bold{ " - @u2077 (2022)" } } puts white{ "Among the innumerable mortifications which waylay human arrogance on every side may well be reckoned our ignorance of the most common objects and effects, a defect of which we become more sensible by every attempt to supply it. " } + white{ bold{ "Vulgar and inactive minds confound familiarity with knowledge" } } + white{ " and conceive themselves informed of the whole nature of things when they are shown their form or told their use; but " } + white{ bold{ "the speculatist, who is not content with superficial views, harasses himself with fruitless curiosity, and still, as he inquires more, perceives only that he knows less." } } + black{ bold{ " - Samuel Johnson, 'The Idler' (1758-11-25)" } } puts white{ "We're drowning in so much software that sometimes to be a master class engineer all it takes is not using it." } + black{ bold{ " - @jart" } } puts white{ "Today I will be cosplaying as a functional adult who has their shit together." } + black{ bold{ " - @iamdevloper" } } puts white{ "Always keep in mind " } + white{ bold{ "your three biggest enemies" } } + white{ ": The mimetic reflex of " } + white{ bold{ "wanting to follow the herd" } } + white{ " and get approval from others. The seductive " } + white{ bold{ "illusion of superiority" } } + white{ " or infallibility. And the general tendency of " } + white{ bold{ "wanting to be right" } } + white{ ", and of fooling yourself." } + black{ bold{ " - @leobg" } } puts white{ "Citizens are suspects, and tourists are terrorists." } + black{ bold{ " - @lizardactivist (on state border searches)" } } puts white{ "People have automation backwards. Automation doesn't solve problems. " } + white{ bold{ "In order to automate, you have to solve all the problems." } } + white{ " The machine has to know how to detect and handle any variation it encounters - or summon human help. If it has to summon human help too often, or fails to detect a problem too often, it is simply not worth it to automate." } + black{ bold{ " - @csours" } } puts white{ "You know, " } + white{ bold{ "life is always right; it is the architect who is wrong." } } + black{ bold{ " - Le Corbusier, on the garden gnomes of Pessac" } } puts white{ "The curse of systems thinkers is to be correct, but never valued." } + black{ bold{ " - Niall Murphy" } } puts white{ "Ultimately, " } + white{ bold{ "time is finite, attention is rivalrous, and information is not infinitely actionable" } } + white { "." } + black{ bold{ " - @dredmorbius, summarising Toffler's 'Future Shock'" } } puts white{ "Elon is the logical endpoint of what happens when you have zero pressure to socially accommodate." } + black{ bold{ " - @kortex" } } puts white{ bold{ "The bigger the ambition, the slower you need to go." } } + white{ " Patience is the real key component to success." } + black{ bold{ " - Gary Vaynerchuk" } } puts white{ "IQ tests a great measure of intelligence - if you believe in them, you're an idiot." } + black{ bold{ " - @jjgreen" } } puts white{ "Postmodernism is what postmodernism does." } + black{ bold{ " - @pxmpxm" } } puts white{ "What do you call an engineer who splits a ground plane?" } + white{ bold{ " A customer." } } + black{ bold{ " - James Pawson, EMI Consultant" } } puts white{ "Communicating badly and then acting smug when you're misunderstood is not cleverness." } + black{ bold{ " - XKCD on postmodernists" } } puts white{ "Application Notes produced by IC companies should be assumed wrong until proven right." } + black{ bold{ " - Lee Ritchey" } } puts white{ bold{ "Whoever designed USB is an absolute idiot." } } + white{ " The person that designed USB doesn't have a clue how energy travels in circuits. USB is almost impossible to set up correctly to prevent problems." } + black{ bold{ " - Rick Hartley, distinguished EE" } } puts white{ "Intelligence is the faculty of making artificial objects, especially tools to make tools." } + black{ bold{ " - Henry Bergson" } } puts white{ "It depends." } + black{ bold{ " - Motto of the Engineer" } } puts white{ "Such simple things, and we make of them something so complex it defeats us, almost." } + black{ bold{ " - John Ashbery" } } puts white{ "Mistakes are the portals of discovery." } + black{ bold{ " - James Joyce" } } puts white{ "Users don't even venture out of their bubbles anymore because they don't know how." } + black{ bold{ " - @GekkePrutser" } } puts white{ "People don't buy platforms. People buy products." } + black{ bold{ " - Tony Fadell" } } puts white{ bold{ "Born disrupters, truly great artists and entrepreneurs are modernists" } } + white{ ", creating demand where none previously existed, conjuring something out of their imagination and courage. Unlike the critic, " } + white{ bold{ "the artist and entrepreneur are eternally optimistic" } } + white{ ". They must believe in the future. The optimism of their will overcomes the pessimism of their intellect. Originality is their currency and constant adaptation their tool." } + black{ bold{ " - David McWilliams" } } puts white{ "Today, " } + white{ bold{ "the solitary inventor, tinkering in his shop, has been overshadowed by task forces of scientists in laboratories and testing fields" } } + white{ ". In the same fashion, " } + white{ bold{ "the free university, historically the fountainhead of free ideas and scientific discovery, has experienced a revolution in the conduct of research" } } + white{ ". Partly because of the huge costs involved, " } + white{ bold{ "a government contract becomes virtually a substitute for intellectual curiosity" } } + white{ ". For every old blackboard there are now hundreds of new electronic computers. The prospect of domination of the nation's scholars by Federal employment, project allocations, and the power of money is ever present - and is gravely to be regarded. Yet, in holding scientific research and discovery in respect, as we should, we must also " } + white{ bold{ "be alert to the equal and opposite danger that public policy could itself become the captive of a scientific-technological elite." } } + black{ bold{ " - Dwight D. Eisenhower, 1961-01-17 farewell address warning of the military industrial complex" } } puts white{ "The key element shaping inequality is no longer the employment relationship, but rather whether one is able to buy assets that appreciate at a faster rate than both inflation and wages." } + black{ bold{ " - Adkins, Cooper, and Konings, 'The Asset Economy'" } } puts white{ "When in doubt, zoom out." } puts white{ "What you inherit may not be as valuable as what you earn." } + black{ bold{ " - Jamie Johnson" } } puts white{ "Some people are too liberal to take their own side in an argument." } + black{ bold{ " - @wrycoder" } } puts white{ bold{ "maṭaragashtī" } } + black{ bold{": " } } + white{ "to loiter or stroll without purpose." } + black{ bold{ " - Hindi term" } } puts white{ "I am attempting to construct a mnemonic memory circuit using stone knives and bear skins." } + black{ bold{ " - Mr. Spock, Star Trek" } } puts white{ "There are two types of people in the world: lifters and leaners." } puts white{ "The five types of bullshit jobs: " } + white{ bold{ "flunkies" } } + white{ " (who serve to make their superiors feel important, e.g., receptionists, administrative assistants, door attendants, store greeters, makers of websites whose sites neglect ease of use and speed for looks), " } + white{ bold{ "goons" } } + white{ " (who act to harm or deceive others on behalf of their employer, e.g., lobbyists, corporate lawyers, telemarketers, public relations specialists, community managers), " } + white{ bold{ "duct tapers" } } + white{ " (who temporarily fix problems that could be fixed permanently, e.g., programmers repairing bloated code, airline desk staff who calm passengers whose bags do not arrive), " } + white{ bold{ "box tickers" } } + white{ " (who create the appearance that something useful is being done when it is not, e.g., survey administrators, in-house magazine journalists, corporate compliance officers, quality service managers), " } + white{ bold{ "taskmasters" } } + white{ " (who create extra work for those who do not need it, e.g., middle management, leadership professionals.)" } + black{ bold{ " - David Graeber, 'Bullshit Jobs: A Theory' (2018)" } } puts white{ "Ignorance of, or contempt for, physical law is a direct route to frustration. Mother Nature laughs at dilettantism and crushes arrogance without even knowing she did it." } + black{ bold{ " - Jim Williams, 'High Speed Amplifier Techniques' AN47 (1991)" } } puts white{ "AI generated porn is some scary shit man." } + black{ bold{ " - @dimensionc132" } } puts white{ "Between Plan 9 and Erlang we missed a bus somewhere." } + black{ bold{ " - @jacquesm" } } puts white{ "All but one of the episodes of hyperinflation occurred in the last 100 years." } + black{ bold{ " - Michal Zalewski" } } puts white{ "This is a bug in the logic of the system." } + black{ bold{ " - Open source maintainer" } } puts white{ "I think local storage is highly undervalued, and the pendulum will shift back." } + black{ bold{ " - @mikewarot (2022)" } } puts white{ "A core cultural competency of programmers is to be willing to just go look things up." } + black{ bold{ " - @JohnHaugeland" } } puts white{ "There is considerable overlap between the intelligence of the smartest bears and the dumbest tourists." } + black{ bold{ " - Yosemite Park Ranger, after abortive attempts at bear-proofing trash cans" } } puts white{ bold{ "Only connect!" } } + black{ bold{ " - Howards End, E. M. Forster" } } puts white{ "Essentially, you're always testing in production." } + black{ bold{ " - @bena" } } puts white{ "Examples of incredible naïveté and seemingly needless failure on the part of well-meaning entrepreneurs are common." } + black{ bold{ " - Journal of Business Venturing 35 (2020)" } } puts white{ "The word " } + white{ bold{ "symbiosis" } } + white{ " was invented to describe lichens. It took 150 years to discover the third partner." } + black{ bold{ " - National Geographic (2022)" } } puts white{ "An investment in knowledge always pays the best interest." } + black{ bold{ " - Benjamin Franklin" } } puts white{ "Great thinkers, icons, and innovators think forward and backward. They drive their brain in reverse." } + black{ bold{ " - William Digby" } } puts white{ "Avoiding stupidity is easier than seeking brilliance." } + black{ bold{ " - William Digby" } } puts white{ "Not everything that is technically possible is also commercially viable." } puts white{ "If the penalty for breaking a law is a fine, then the law only applies to poor people." } + black{ bold{ " - @sobkas" } } puts white{ bold{ "Skate to where the puck is going to be, not where it has been." } } + white{ " This statement has made me more money than everything else combined." } + black{ bold{ " - Anonymous HN contributor" } } puts white{ "The idea that we get our information as citizens through algorithms determined by the world's largest advertising company is my definition of dystopia." } + black{ bold{ " - Ian Bremmer (2018)" } } puts white{ "The worst thing that can happen to a code base is size." } + black{ bold{ " - Steve Yegge" } } puts white{ bold{ "To transcend statistics into science one needs experiments" } } + white{ ", those which can control variables, and hence provide a non-statistical interpretive framework which demonstrates these variables are explanatory, and hence gives credence to the theories which explain them." } + black{ bold{ " - @mjburgess" } } puts white{ bold{ "If you are designing anything that is intended to last longer than 6 months, documentation is a critical part of the system." } } + white{ " Meetings are great for communicating with people here and now, but only writing can communicate with people from the future. When you meet with your current colleagues, spare a thought for your future colleagues who haven't yet joined, and do them a favor by writing things down. Ability to use written communication is a major differentiator between junior and senior engineers." } + black{ bold{ " - @jl6" } } puts white{ "Hardware has changed dramatically; software is stagnant." } + black{ bold{ " - Rob Pike (2000)" } } puts white{ "My superpower is reading the manual." } + black{ bold{ " - @DrBazza" } } puts white{ "Trade is built in to nature." } + black{ bold{ " - @mellavora" } } puts white{ bold{ "Never rely on cloud devices." } } + white{ " Anything worth doing is worth doing off-line." } + black{ bold{ " - @kodah" } } puts white{ "Soulless agents of Satan, or just clumsy rapists?" } + black{ bold{ " - Olin Shivers, on VCs" } } puts white{ "Among the northern European Saami people, a " } + white{ bold{ "poronkusema" } } + white{ " marked how far a reindeer travelled before urinating." } + black{ bold{ " - Economist review of 'Beyond Measure' (2022)" } } puts white{ "Humans are list-makers. From Aristotle's \"Categories\" to the Linnaean taxonomy of biology, " } + white{ bold{ "people are splitters, not lumpers" } } + white{ ", forever seeking to parse and quantify the world." } + black{ bold{ " - Economist review of 'Beyond Measure' (2022)" } } puts white{ "It is a political phenomenon, too. " } + white{ bold{ "Honest weights and measures crop up frequently in ancient history as guarantors of social order" } } + white{ ", from Hammurabi's code in Babylon to the Talmud and the Bible, which mentions measurement more than charity." } + black{ bold{ " - Economist review of 'Beyond Measure' (2022)" } } puts white{ "Measurements only encompass so much wisdom." } + black{ bold{ " - Economist review of 'Beyond Measure' (2022)" } } puts white{ "Life is like a box of terrible analogies." } + black{ bold{ " - Oscar Wilde" } } puts white{ "If you wish to make an apple pie from scratch, you must first invent the universe." } + black{ bold{ " - Carl Sagan" } } puts white{ "A QA walks into a bar, orders a beer, pays with a $5,000-off coupon. Test passes." } + black{ bold{ " - @lmkg" } } puts white{ "Glitching attacks are enabled by a social system that creates new vulnerabilities much more rapidly than they are closed." } + black{ bold{ " - @kragen" } } puts white{ "In the game of trees you either live, or branch." } + black{ bold{ " - Anonymous comment on revision control systems (2023)" } } puts white{ "Be a sailor, not a rower." } puts white{ bold{ "Il est interdit d'interdire." } } + white{ " It is forbidden to forbid." } + black{ bold{ " - Slogan, French riots, May 1968" } } puts white{ bold{ "Jouissez sans entraves." } } + white{ " Enjoy without hindrance." } + black{ bold{ " - Slogan, French riots, May 1968" } } puts white{ bold{ "Élections, piège à con." } } + white{ " Elections, a trap for idiots." } + black{ bold{ " - Slogan, French riots, May 1968" } } puts white{ bold{ "Soyez réalistes, demandez l'impossible." } } + white{ " Be realistic, demand the impossible." } + black{ bold{ " - Slogan, French riots, May 1968" } } puts white{ "Incorporation is just governments franchising." } + black{ bold{ " - @pessimizer" } } puts white{ bold{ "Large companies don't care about employees one way or another" } } + white{ ", if you're lucky you're a row in a spreadsheet somewhere and woe to you if your row, the column where you're totalled or the entire sheet ends up in the red." } + black{ bold{ " - @jacquesm" } } puts black{ bold{ "(Before ChatGPT) " } } + white{ bold{ "When you see something that is technically sweet, you go ahead and do it. " } } + black{ bold{ "(After ChatGPT) " } } + white{ bold{ "I console myself with the normal excuse: If I hadn't done it, somebody else would have." } } + black{ bold{ " [...] " } } + white{ "Look at how it was five years ago and how it is now. Take the difference and propagate it forwards. That's scary. " } + black{ bold{ "[...] " } } + white{ "It is hard to see how you can prevent the bad actors from using it for bad things." } + black{ bold{ " [...] " } } + white{ "I don't think they should scale this up more until they have understood whether they can control it." } + black{ bold{ " - Dr. Geoffrey Hinton, 'Godfather of AI' (2023)" } } puts white{ bold{ "A good conversation is like a miniskirt" } } + white{ ": short enough to retain interest, but long enough to cover the subject." } puts white{ "There is nothing more permanent than a temporary solution." } + black{ bold{ " - Russian proverb" } } puts white{ "Just do what slack did with irc. 'Reinvent' it with a modern interface and some fixes. The mercurial masses will flock to the hot new platform, VC will shower you with adoration and cash, we'll tell stories about how you don't eat breakfast and only ever wear one sock. Everyone will emulate you and then you can come back around as a wealthy guru investor." } + black{ bold{ " - @more_corn" } } puts white{ "The more intricate your technology, the more vital it becomes to simplify your narrative." } + black{ bold{ " - Shama Hyder" } } puts white{ "Sell, design, build." } + black{ bold{ " - @ary" } } # Ary's arbitrage puts white{ "A meta-analytic null may just be an expression of the typical sentiments of researchers." } + black{ bold{ " - Cremieux, on the semantic flaws of academic meta-analyses" } } # Cremiuex's credit puts white{ bold{ "Patents commercialized by startups are more likely to be disruptive" } } + white { " than those commercialized by incumbent firms or universities." } + black{ bold{ " - National Bureau of Economic Research (2023)" } } puts white{ "First time founders are obsessed with product. Second time founders are obsessed with distribution." } + black{ bold{ " - Justin Kan" } } puts white{ "This project has always been beyond sociopathic. Scanning retinas with an orb, it's beyond absurdity. An example of late stage capitalism." } + black{ bold{ " - @louwrentius, on Sam Altman's Worldcoin (2023)" } } puts white{ "Software is over. Everyone who's anyone has moved on to hardware hacking." } + black{ bold{ " - @hipsterhacker" } } puts white{ "I'm rewriting git in javascript." } + black{ bold{ " - @hipsterhacker" } } puts white{ "PHP = PreHistoric Programming" } + black{ bold{ " - @hipsterhacker" } } puts white{ "Cyberpunk didn't die, it just stopped being fiction." } + black{ bold{ " - @bpiche" } } puts white{ "The amount of computing going on in the peripheral nervous system is staggering." } + black{ bold{ " - @AndrewKemendo" } } puts white{ "Although Darwin eventually did quite well in his final exams, most of his three years was spent eating exotic meats with his Glutton Club, drinking a bit too much, riding his horse, and of course collecting beetles." } + black{ bold{ " - Christ's College, Cambridge University, on Charles Darwin" } } puts white{ "A good system is the work of many but the vision of one." } puts white{ "There are only two hard problems in robotics: perception and funding." } + black{ bold{ " - @jvanderbot" } } puts white{ "Every time my MS rep brings up Office 365 I correct him: " } + white{ bold{ "\"It's Office 363. It does not work twice a year.\"" } } + black{ bold{ " - @freetanga" } } puts white{ "Throughout history it has been convenient to blame others or more precisely, to accept the propaganda that blames others. This persists even in our information age... no matter how blindingly obvious (and pathetic) it becomes, today's populations - of all political stripes - fall for the same cheap ploys (even without the looming generative misinformation storms). Let's be clear here: " } + white{ bold{ "the problems are not in others - they are in the myopia of the middle classes" } } + white{ ": where all the manipulation of greed, the desire to breed, status, credulousness, etc. have been distilled into an intoxicant that has dissolved thought and sublimated into the very fabric of society." } + black{ bold{ " - @rntn" } } puts white{ "Beware the barrenness of a busy life." } + black{ bold{ " - Socrates" } } puts white{ "Leisure is the mother of Philosophy." } + black{ bold{ " - Thomas Hobbes" } } puts white{ "It is too difficult to think nobly when one thinks only of earning a living." } + black{ bold{ " - Jean-Jacques Rousseau" } } puts white{ "The truth brings no man a fortune." } + black{ bold{ " - Jean-Jacques Rousseau" } } puts white{ "Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar." } + black{ bold{ " - Friedrich Nietzsche" } } puts white{ "The only way to deal with an unfree world is to become so absolutely free that your very existence is an act of rebellion." } + black{ bold{ " - Albert Camus" } } puts white{ bold{ "別像英國海軍,有了大樓就開始沒落" } } + black{ bold{ ": " } } + white{ "Don't be like the British Navy, declining once they got a big building." } + black{ bold{ " - Morris Chang, Founder, TSMC" } } puts white{ "A software launch is like performing live theater for introverts." } + black{ bold{ " - @grumpyolddev" } } puts white{ "Any political gains stemming from a military victory cannot possibly be offset by the enormous economic, intellectual and moral investment." } + black{ bold{ " - Billionaire Jim 'Quant King' Simmons, ex US Institute of Defence Analyses Soviet codebreaker, on the macro-economic fallacy of US investment in the Vietnam War" } } puts white{ "Swearing is caring." } + black{ bold{ " - Graduate School of Business, Stanford, paraphrasing \"We found a consistent positive relationship between profanity and honesty; profanity was associated with less lying and deception at the individual level, and with higher integrity at the society level.\"" } } # https://lolmythesis.com/post/621200418733719552/swearing-is-caring puts white{ "I think it's a common fallacy that we, as a species, are not ignorant to the complexity of Nature." } + black{ bold{ " - Artem Babaian, co-discoverer of viroid-like 'obelisks'" } } puts white{ "In our estimation the cost problem came down mainly to the installation of wires. [...] And so by essentially using unused pairs that were in the telephone bundles in office buildings, we essentially reduced the cost of wiring to zero and you know it doesn't get any cheaper than that. Well... hold my beer while I go get wifi." } + black{ bold{ " - Richard Bennett, Vice-chair & Editor, IEEE 802.3 1BASE5" } } # https://www.youtube.com/watch?v=f8PP5IHsL8Y puts white{ "There will always be a market for smart people who are willing to be fearless of the unknown, willing to be lifelong learners and who are in technology because they can't imagine doing anything else." } + black{ bold{ " - @apercu" } } puts white{ bold{ "Glutinum praestantissimum fit ex auribus taurorum et genitalibus." } } + white{ " The best glue is made from the ears and genitals of bulls." } + black{ bold{ " - Pliny the Elder's 'Natural History'. Glue was used to paste together manuscripts, the first page of which was a 'protocollum' from the Greek πρωτόκολλον (prōtókollon), giving rise to the word 'protocol' in both the networking and scientific process sense." } } puts white{ "Venture capital is not even a home-run business. It’s a grand-slam business." } + black{ bold{ " - Bill Gurley" } } puts white{ bold{ "Metrology" } } + black{ bold{ ":" } } + white{ " it's a dirty business." } + black{ bold{ " - Tom Lipton, Oxtool" } } puts white{ "Not everything that can be counted counts, and not everything that counts can be counted." } + black{ bold{ " - William Bruce Cameron, 'Informal Sociology' (1963)" } } puts white{ "Reality is negotiable." } + black{ bold{ " - Timothy Ferriss" } } # Ackoff puts "----- russell l. ackoff -------" puts white{ "Most large social systems are pursuing objectives other than the ones they proclaim, and the ones they pursue are wrong." } + black{ bold{ " - Russell L. Ackoff" } } puts white{ bold{ "The principal function of most corporations is not to maximize shareholder value, but to maximize the standard of living and quality of work life of those who manage the corporation." } } + white{ " Providing the shareholders with a return on their investments is a requirement, not an objective." } + black{ bold{ " - Russell L. Ackoff" } } puts white{ bold{ "The most valuable and least replaceable resource is time." } } + black{ bold{ " - Russell L. Ackoff" } } puts white{ bold{ "Hierarchy of mental content" } } + white{ " (in order of increasing value):" } + white{ bold{ " data, information, knowledge, understanding, and wisdom" } } + white{ "." } + black{ bold { " - Russell L. Ackoff" } } puts white{ "The best thing that can be done to a problem is not to solve it but to dissolve it." } + black{ bold{ " - Russell L. Ackoff" } } puts white{ "In most organizations, the bottleneck is at the top of the bottle." } + black{ bold{ " - Peter F. Drucker" } } # Anderson puts "----- poul anderson -----" puts white{ "Freedom is groovy." } + black{ bold{ " - Poul Anderson" } } puts white{ "The Persians were more important to world history than the Greeks." } + black{ bold{ " - Poul Anderson" } } puts white{ bold{ "That disorderly jumble" } } + white{ " known as real life." } + black{ bold{ " - Poul Anderson" } } puts white{ "Lately it has become commonplace to worry about the evils of a computerized national databank." } + black{ bold{ " - Poul Anderson (ca. early 1970s)" } } puts white{ "It's partly an emotional matter - a libertarian predilection, a prejudice in favour of individual freedom - and partly an intellectual distrust based on looking at the historical record ... a distrust of large, encompassing systems." } + black{ bold{ " - Poul Anderson" } } # Asimov puts "----- isaac asimov -----" puts white{ "It seems necessary to me, then, that all people at a session be willing to sound foolish and listen to others sound foolish." } + black{ bold{ " - Isaac Asimov" } } puts white{ "The world in general disapproves of creativity, and to be creative in public is particularly bad. Even to speculate in public is rather worrisome." } + black{ bold{ " - Isaac Asimov" } } # Einstein puts "----- einstein -------" puts white{ "If at first, the idea is not absurd, there is no hope for it." } + black{ bold{ " - Albert Einstein" } } puts white{ "Intellectuals solve problems, geniuses prevent them." } + black{ bold{ " - Einstein" } } puts white{ bold{ "Everybody is a genius." } } + white{ " But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid." } + black{ bold{ " - Albert Einstein" } } puts white{ "If we knew what it was we were doing, it would not be called research." } + black{ bold{ " - Albert Einstein" } } puts white{ bold{ "I admire the elegance of your method of computation" } } + white{ "; it must be nice to ride through these fields upon the horse of true mathematics while the like of us have to make our way laboriously on foot." } + black{ bold{ " - Albert Einstein to Tullio Levi-Civita, on tensor analysis (1915)" } } puts white{ bold{ "I am enough of the artist to draw freely upon my imagination." } } + white{ " Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world." } + black{ bold{ " - Albert Einstein (1929)" } } # http://quoteinvestigator.com/2013/01/01/einstein-imagination/ puts white{ "Everything should be made as simple as possible, but no simpler." } + black{ bold{ " - Albert Einstein" } } puts white{ "No worthy problem is ever solved in the plane of its original conception." } + black{ bold{ " - Albert Einstein" } } puts white{ "Not everything that can be counted counts, and not everything that counts can be counted." } + black{ bold{ " - Albert Einstein" } } puts white{ "I have always found repulsive the undignified addiction to conformity of many of my peers. At times like this one realises what a sorry species one belongs to." } + black{ bold{ " - Einstein" } } puts white{ bold{ "Nationalismus ist eine Kinderkrankheit. Er ist die Masern der Menschheit." } } + white{ " Nationalism is an infantile disease. It is the measles of mankind." } + black{ bold{ " - Einstein, by attribution" } } puts white{ "We can not solve our problems with the same level of thinking that created them." } + black{ bold{ " - Einstein" } } puts white{ "I never see a newspaper and don't give a damn for what is called the world." } + black{ bold{ " - Einstein" } } puts white{ bold{ "I am happy because I want nothing from anyone." } } + white{ " I do not care about money. Decorations, titles or distinctions mean nothing to me. I do not crave praise. The only thing that gives me pleasure, apart from my work, my violin, and my sailboat, is the appreciation of my fellow workers." } + black{ bold{ " - Einstein" } } puts white{ "Unthinking respect for authority is the greatest enemy of truth." } + black{ bold{ " - Albert Einstein" } } puts white{ "To punish me for my contempt of authority, Fate has made me an authority myself." } + black{ bold{ " - Albert Einstein" } } puts white{ "Capitalism creates a huge community of producers who are unceasingly striving to deprive each other of the fruits of their collective labor, and an oligarchy that cannot be effectively checked even by a democratically organized society... the subjugation is not by force but because the privileged class has long ago established a system of values by which the people were thenceforth, to a large extent unconsciously, guided in their social behavior." } + black{ bold{ " - Einstein" } } # Richard Feynman puts "----- richard feynman -----" puts white{ "Study hard what interests you the most in the most undisciplined, irreverent and original manner possible." } + black{ bold{ " - Richard Feynman" } } puts white{ bold{ "Have no respect whatsoever for authority" } } + white{ "; forget who said it and instead look what he starts with, where he ends up, and ask yourself, \"Is it reasonable?\"" } + black{ bold { " - Richard Feynman" } } puts white{ bold{ "The scientist has a lot of experience with ignorance and doubt and uncertainty, and this experience is of very great importance, I think." } } + white{ " When a scientist doesn’t know the answer to a problem, he is " } + white{ bold{ "ignorant" } } + white{ ". When he has a hunch as to what the result is, he is " } + white{ bold{ "uncertain" } } + white{ ". And when he is pretty darn sure of what the result is going to be, he is still " } + white{ bold{ "in some doubt" } } + white{ ". We have found it of paramount importance that " } + white{ bold{ "in order to progress we must recognize our ignorance and leave room for doubt" } } + white{ ". Scientific knowledge is a body of statements of varying degrees of certainty – some most unsure, some nearly sure, but none absolutely certain. Now, we scientists are used to this, and we take it for granted that it is perfectly consistent to be unsure, that it is possible to live and not know. But I don't know whether everyone realizes this is true. " } + white{ bold{ "Our freedom to doubt was born out of a struggle against authority in the early days of science." } } + white{ " It was a very deep and strong struggle: permit us to question – to doubt – to not be sure. I think that it is important that we do not forget this struggle and thus perhaps lose what we have gained." } + black{ bold{ " - Richard Feynman" } } puts white{ "What I cannot create, I do not understand." } + black{ bold{ " - Richard Feynman" } } # Meir M. Lehman # https://cs.uwaterloo.ca/~a78khan/cs446/additional-material/scribe/27-refactoring/Lehman-LawsOfSoftwareEvolution.pdf puts "----- meir m. lehman -------" puts white{ bold{ "S-Programs" } } + white{ " are programs whose function is formally defined by and derivable from a specification. " } + white{ bold{ "P-Programs" } } + white{ " [are problems] that can be precisely formulated but whose solution must inevitably reflect an approximation of the real world. " } + white{ bold{ "E-Programs" } } + white{ " are inherently even more change prone. They are programs that mechanize a human or societal activity." } + black{ bold{ " - Meir M. Lehman (1980)" } } puts white{ bold{ "The Programmer's Task" } } + black{ bold{ ": " } } + white{ "State an algorithm that correctly and unambiguously defines a mechanical procedure for obtaining a solution to a given problem." } + black{ bold{ " - Meir M. Lehman (1980)" } } puts white{ "An evolving system increases its complexity unless work is done to reduce it." } + black{ bold{ " - Meir M. Lehman (1980)" } } # Harvard Business Review on managing innovation @ https://hbr.org/2008/10/creativity-and-the-role-of-the-leader puts "------- harvard business review on managing innovation ------" puts white{ bold{ "Manage the commercialization handoff." } } + white{ " Few people have equal capabilities in idea generation and idea commercialization." } puts white{ bold{ "Provide paths through bureaucracy." } } + white{ " Bureaucracy stifles creativity." } puts white{ bold{ "Create a filtering mechanism." } } + white{ " Kill off the stuff that holds no potential. For every idea with real commercial promise, there are dozens that aren't worth pursuing." } puts white{ bold{ "Provide independent intellectual challenge." } } + white{ " Early-stage researchers motivated by intellectual challenge and a desire for independence tend to be more productive." } puts white{ bold{ "Be an appreciative audience." } } + white{ " Cultivate correct tone and provide sincere public recognition." } puts white{ bold{ "Decrease fear of failure." } } + white{ " Experiment constantly, fail early and often, remember and document those failures, and learn as much as possible in the process." } puts white{ bold{ "Cultivate psychological safety." } } + white{ " Never humiliate or punish people who make mistakes or speak up with ideas, questions or concerns." } puts white{ bold{ "The three types of organizational failure:" } } + white{ " unsuccessful trials, system breakdowns, and process deviations. Of these, unsuccessful trials offer the richest potential for creative learning but require overcoming deeply ingrained norms that may stigmatize failure and inhibit experimentation." } puts white{ bold{ "Preconditions for novelty:" } } + white{ " slack, hubris, and optimism." } + black{ bold{ " - Jim March" } } # Freeman J. Dyson puts "------ freeman j. dyson -------" puts white{ bold{ "Seek out and encourage the rare individualists" } } + white { " who do not fit into the prevailing pattern." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ bold{ "Give greater attention and greater support to unfashionable research." } } + white{ " At any particular moment in the history of science, the most important and fruitful ideas are often lying dormant merely because they are unfashionable." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "Wherever you look in the realm of ideas, you find " } + white{ bold{ "hints of revelations still to come, whispers of hidden connections" } } + white{ "." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "Unfashionable people and unfashionable ideas have often been of decisive importance to the progress of science." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "We should set aside a certain fraction of our resources, perhaps a tenth or perhaps a quarter, for the support of unfashionable people doing unfashionable things." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "We should not be afraid of looking foolish or even crazy." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "We should not be afraid of supporting risky ventures which may fail totally." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ "We have strong evidence that the creator of the universe loves symmetry." } + black{ bold{ " - Freeman J. Dyson" } } puts white{ bold{ "Science as subversion has a long history." } } + white{ " If science ceases to be a rebellion against authority, then it does not deserve the talents of our brightest children. We should try to introduce our children to science today as a rebellion against poverty and ugliness and militarism and economic injustice." } + black{ bold{ " - Freeman J. Dyson" } } # Donald Knuth puts "-------- donald knuth --------"; puts white{ "Suppose you want to solve a complicated problem whose solution is unknown; in essence you're an explorer entering into a new world." } + black{ bold{ " - Donald Knuth" } } puts white{ "I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual." } + black{ bold{ " - Donald Knuth, 'The Errors of TeX' (1989)" } } puts white{ bold{ "Writing software was much more difficult than anything else I had done in my life." } } + white{ " I had to keep so many things in my head at once, I couldn't just put them down and start something else." } + black{ bold{ " - Donald Knuth" } } puts white{ "In non I/O-bound programs, a few percent of the source code typically accounts for over half the run time." } + black{ bold{ " - Donald Knuth" } } puts white{ "The best thing is to be a very bad estimator of how much time it's going to take." } + black{ bold{ " - Donald Knuth (2020), on starting broadly scoped projects" } } puts white{ bold{ "When I start to investigate some topic, during the first days I fill up scratch paper like mad." } } + white{ " I mean, I have a huge pile of paper at home, paper that's half-used, used on only one side; I've kept a lot of partially printed sheets instead of throwing them away, so that I can write on the back sides. And I'll use up 20 sheets or more per hour when I'm exploring a problem, especially at the beginning. For the first hour I'm trying all kinds of stuff and looking for patterns. Later, after internalizing those calculations or drawings or whatever they are, I don't have to write quite so much down, and I'm getting closer to a solution. " } + white{ bold{ "The best test of when I'm about ready to solve a problem is whether or not I can think about it sensibly while swimming" } } + white{ ", without any paper or notes to help out. Because my mind is getting accustomed to the territory, and finally I can see what might possibly lead to the end." } + black{ bold{ " - Donald Knuth" } } puts white{ "It's extremely misleading to rank people on an IQ scale with the idea that the smarter they are, the more suitable they are for a PhD degree; that's not it at all. People have talents in different dimensions, and a talent for research might even have a negative correlation with the ability to tie your own shoes." } + black{ bold{ " - Donald Knuth" } } puts white{ bold{ "I can't do technical stuff all the time. I've found that I can write only a certain number of pages a day before running out of steam." } } + white{ " When I reach this maximum number, I have no more ideas that day. So certainly within a 24-hour period, not all of it is going to be equally creative. Working in the garden, pulling weeds and so on, is a good respite." } + black{ bold{ " - Donald Knuth" } } puts white{ "Go with your own aesthetics, what you think is important. Don't do what you think other people think you want to do, but what you really want to do yourself." } + black{ bold{ " - Donald Knuth" } } # Ashwin Parameswaran (2012) @ http://www.macroresilience.com/2012/02/21/the-control-revolution-and-its-discontents-the-uncanny-valley/ puts "------ ashwin parameswaran -------" puts white{ "The current wave of reducing everything to a combination of 'data & algorithm' and tackling every problem with more data and better algorithms is the logical end-point of the control revolution that started in the 19th century." } + black{ bold{ " - Ashwin Parameswaran (2012)" } } puts white{ bold{ "Creative destruction occurs despite our best efforts to stamp it out." } } + white{ " In a sense, disruption is an outsider to the essence of the industrial and post-industrial period of the last two centuries, the overriding philosophy of which is automation and algorithmisation aimed at efficiency and control." } + black{ bold{ " - Ashwin Parameswaran (2012)" } } puts white{ bold{ "The endogenous nature of [the] buildup of complexity eventually makes the system fundamentally illegible to the human operator" } } + white{ " - a phenomenon that is ironic given that the fundamental aim of the control revolution is to increase legibility." } + black{ bold{ " - Ashwin Parameswaran (2012)" } } puts white{ bold{ "Near-optimal robustness in both natural and economic systems is not achieved with simplistically diverse agent compositions or with significant redundancies or slack at agent level." } } + black{ bold{ " - Ashwin Parameswaran (2012)" } } puts white{ "The key to achieving resilience with near-optimal configurations is to " } + white{ bold{ "tackle disturbances and generate novelty/innovation with an an emergent systemic response that reconfigures the system" } } + white{ " rather than simply a localised response." } + black{ bold{ " - Ashwin Parameswaran (2012)" } } puts white{ "Eventually mean/median system performance deteriorates as more and more pure slack and redundancy needs to be built in at all levels to make up for the irreversibly fragile nature of the system. " } + white{ bold{ "The business cycle is an oscillation between efficient fragility and robust inefficiency." } } + white{ " Over the course of successive cycles, both poles of this oscillation get worse which leads to median/mean system performance falling rapidly at the same time that the tails deteriorate due to the increased illegibility of the automated system to the human operator." } + black{ bold{ " - Ashwin Parameswaran (2012)" } } # how complex systems fail @ http://web.mit.edu/2.75/resources/random/How%20Complex%20Systems%20Fail.pdf puts "------ how complex systems fail -----" puts white{ bold{ "Complex systems are intrinsically hazardous systems." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Complex systems are heavily and successfully defended against failure." } } + white{ " The high consequences of failure lead over time to the construction of multiple layers of defense against failure. These defenses include obvious technical components (e.g. backup systems, 'safety' features of equipment) and human components (e.g. training, knowledge) but also a variety of organizational, institutional, and regulatory defenses (e.g. policies and procedures, certification, work rules, team training)." } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Catastrophe requires multiple failures." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Complex systems contain changing mixtures of failures latent within them." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Complex systems run in degraded mode." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Catastrophe is always just around the corner." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Post-accident attribution to a 'root cause' is fundamentally wrong." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Hindsight biases post-accident assessments of human performance." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Human operators have dual roles" } } + black{ bold{ ": " } } + white{ "as producers of and as defenders against failure." } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "All practitioner actions are gambles" } } + black{ bold{ ": " } } + white{ "acts that take place in the face of uncertain outcomes." } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Human practitioners are the adaptable element of complex systems." } } + white{ " Some of these adaptations include: (1) " } + white{ bold{ "Restructuring the system" } } + white{ " in order to reduce exposure of vulnerable parts to failure. (2) " } + white{ bold{ "Concentrating critical resources" } } + white{ " in areas of expected high demand. (3) " } + white{ bold{ "Providing pathways for retreat or recovery" } } + white{ " from expected and unexpected faults. (4) " } + white{ bold{ "Establishing means for early detection" } } + white{ " of changed system performance in order to allow graceful cutbacks in production or other means of increasing resiliency." } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Human expertise in complex systems is constantly changing." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Change introduces new forms of failure." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Safety is a characteristic of systems and not of their components." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } puts white{ bold{ "Failure free operations require experience with failure." } } + black{ bold{ " - Richard I. Cook, MD. 'How Complex Systems Fail'." } } # scott allen puts "------ scott allen ------" puts white{ "A project is complete when it starts working for you, rather than you working for it." } + black{ bold{ " - Scott Allen" } } puts white{ "Done is better than perfect." } + black{ bold{ " - Scott Allen" } } puts white{ "Sometimes it takes an expert to point out the obvious." } + black{ bold{ " - Scott Allen" } } # gary gygax puts "------ gary gygax ------" puts white{ "Random chance plays a huge part in everybody's life." } + black{ bold{ " - Gary Gygax, inventor of D&D" } } puts white{ "The secret we should never let the gamemasters know is that they don't need any rules." } + black{ bold{ " - Gary Gygax, inventor of D&D" } } puts white{ "I hated school, didn't like the discipline." } + black{ bold{ " - Gary Gygax, inventor of D&D" } } # buckminster fuller puts "------ buckminster fuller ------" puts white{ "When I am working on a problem, I never think about beauty but when I have finished, " } + white{ bold{ "if the solution is not beautiful, I know it is wrong" } } + white{ "." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "A designer is an emerging synthesis of artist, inventor, mechanic, objective economist and evolutionary strategist." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "How often I found where I should be going only by setting out for somewhere else." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "Don't fight forces, use them." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ bold{ "One in ten thousand of us can make a technological breakthrough capable of supporting all the rest." } } + white{ " The youth of today are absolutely right in recognizing this nonsense of earning a wage." } + black{ bold{ " - R. Buckminster Fuller (1960s?)" } } puts white{ "What usually happens in the educational process is that the faculties are dulled, overloaded, stuffed and paralyzed so that by the time most people are mature they have lost their innate capabilities." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "We are called to be architects of the future, not its victims." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "There is nothing in a caterpillar that tells you it's going to be a butterfly." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "Search others for their virtue, and yourself for your vices." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "Everyone is born a genius, but the process of living de-geniuses them." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "If you are the master be sometimes blind, if you are the servant be sometimes deaf." } + black{ bold{ " - R. Buckminster Fuller" } } puts white{ "People should think things out fresh and not just accept conventional terms and the conventional way of doing things." } + black{ bold{ " - R. Buckminster Fuller" } } # edwin land puts "------ edwin land -------" puts white{ "Don't undertake a project unless it is manifestly important and nearly impossible." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "An essential aspect of creativity is not being afraid to fail." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "Any problem can be solved using the materials in the room." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "Creativity is the sudden cessation of stupidity." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "Politeness is the poison of collaboration." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "Marketing is what you do when your product is no good." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "Science is a method to keep yourself from kidding yourself." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "The most important thing about power is to make sure you don't have to use it." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "It's not that we need new ideas, but we need to stop having old ideas." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } puts white{ "If you dream of something worth doing and then simply go to work on it and don't think anything of personalities, or emotional conflicts, or of money, or of family distractions; it is amazing how quickly you get through those 5,000 steps." } + black{ bold{ " - Edwin Land, founder of Polaroid" } } # comp sci courses that don't exist - but should puts "------ comp sci courses that don't exist but should ------" puts white{ bold{ "CSCI 2100: Unlearning Object-Oriented Programming" } } + white{ " - Discover how to create and use variables that aren't inside of an object hierarchy. Learn about 'functions,' which are like methods but more generally useful. Prerequisite: Any course that used the term 'abstract base class.'" } + black{ bold{ " - James Hague" } } puts white{ bold{ "CSCI 3300: Classical Software Studies" } } + white{ " - Discuss and dissect historically significant products, including VisiCalc, AppleWorks, Robot Odyssey, Zork, and MacPaint. Emphases are on user interface and creativity fostered by hardware limitations." } + black{ bold{ " - James Hague" } } puts white{ bold{ "CSCI 4020: Writing Fast Code in Slow Languages" } } + white{ " - Analyze performance at a high level, writing interpreted Python that matches or beats typical C++ code while being less fragile and more fun to work with." } + black{ bold{ " - James Hague" } } puts white{ bold{ "CSCI 2170: User Experience of Command Line Tools" } } + white{ " - An introduction to UX principles as applied to command line programs designed as class projects. Core focus is on output relevance, readability, and minimization. UNIX 'ls' tool is a case study in excessive command line switches." } + black{ bold{ " - James Hague" } } puts white{ bold{ "PSYC 4410: Obsessions of the Programmer Mind" } } + white{ " - Identify and understand tangential topics that software developers frequently fixate on: code formatting, taxonomy, type systems, splitting projects into too many files. Includes detailed study of knee-jerk criticism when exposed to unfamiliar systems." } + black{ bold{ " - James Hague" } } # machine learning puts "------ machine learning ------" puts white{ 'What idiot called it "deep learning hype" and not "backpropaganda"?' } + black{ bold{ " - @nsaphra" } } puts white{ bold{ "You threaten my startup with patents & debt?" } } + white { " I've chosen my models carefully. Perhaps you should have done the same." } + black{ bold{ ' - @ML_Hipster' } } puts white{ "Adverserial training = gradient dissent." } + black{ bold{ ' - @ylecun' } } puts white{ "A recent meta-analysis of empirical results in scientific papers showed 36% were 'lies', 27% 'damned lies', and 37% 'other'." } + black{ bold{ ' - @ML_Hipster' } } puts white{ "A good learner is forever walking the narrow path between blindness and hallucination." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ "He who controls the data controls the learner." } + black{ bold{ ' - @pmddomingos' } } puts white{ bold{ "Q" } } + white{ ": Why did the deep net cross the road? " } + white{ bold{ "A" } } + white{ ": We don't know. But look, it did it really well..." } + black{ bold{ ' - @cogconfluence' } } puts white{ "The Turing test is like saying planes don't fly unless they can fool birds into thinking they're birds." } + black{ bold{ " - Peter Norvig" } } puts white{ "Using weighted majority to evaluate MOOCs that teach sequential prediction. It's online learning of online learning for online learning." } + black{ bold{ ' - @ML_Hipster' } } puts white{ bold{ "Q" } } + white{ ": How many machine learners does it take to change a lightbulb? " } + white{ bold{ "A" } } + white{ ": Isn't that a database thing?" } + black{ bold{ ' - @ML_Hipster' } } puts white{ bold{ "This ML algorithm is rated R." } } + white{ " It contains: Strong assumptions, frequent sampling, and matrix inversions. Restricted to masochistic users." } + black{ bold{ " - @ML_Hipster" } } puts white{ "Thinking of changing my business cards to read: " } + white{ bold{ "Freelance Datamancer"} } + white{ "." } + black{ bold{ " - @ML_Hipster" } } puts white{ "The most important problem in machine learning is overfitting, or hallucinating patterns that aren't really there." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "We induce the most widely applicable rules we can and reduce their scope only when the data forces us to." } } + white{ " At first sight this may seem ridiculously overconfident, but it's been working for science for over 300 years." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015), paraphrasing Newton's Third Law of Induction" } } puts white{ bold{ "Learning is forgetting the details" } } + white{ " as much as it is remembering the important parts." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "Data Mining" } } + black{ bold{ ": " } } + white{ "Torturing the data until it confesses." } puts white{ bold{ "Learning is a race between the amount of data you have and the number of hypotheses you consider." } } + white{ " More data exponentially reduce the number of hypotheses that survive." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ "Probably approximately correct." } + black{ bold{ " - Leslie Valiant, Turing Award recipient in the field of machine learning" } } puts white{ "For machine learning, testing on unseen data is indispensable because it's the only way to tell whether the learner has overfit or not." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } # 5 ML tribes puts white{ bold{ "ML Tribe 1/5 - Symbolists" } } + black{ bold{ ": " } } + white{ "All intelligence can be reduced to manipulating symbols, in the same way that a mathematician solves equations by replacing expressions by other expressions. Incorporate preexisting knowledge into learning, and combine different pieces of knowledge on the fly in order to solve new problems. Master algorithm is inverse deduction, which figures out what knowledge is missing in order to make a deduction go through, and then make it as general as possible. 1:1 concept:symbol. Sequential process." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "ML Tribe 2/5 - Connectionists" } } + black{ bold{ ": " } } + white{ "Learning is what the brain does, and so we need to reverse engineer it. Adjust the strength of connections between neurons. Figure out which connections are to blame for which errors and change them accordingly. Master algorithm is backpropagation, which compares a system's output with the desired one and then successively changes the connections. 1:n concept:synapse. Parallel process." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "ML Tribe 3/5 - Evolutionists" } } + black{ bold{ ": " } } + white{ "The mother of all learning is natural selection. If it made us it can make anything and all we need to do is simulate it. The key problem is learning structure. Master algorithm is genetic programming." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "ML Tribe 4/5 - Bayesians" } } + black{ bold{ ": " } } + white{ "Concerned with uncertainty. Learning is uncertain inference. Bayes' theorem and its derivatives provide probabilistic inference, efficiently incorporating new evidence in to our beliefs." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "ML Tribe 5/5 - Analogizers" } } + black{ bold{ ": " } } + white{ "The key to learning is recognizing and inferring similarities between situations. The key problem is judging how similar two things are. Master algorithm is the support vector machine which figures out which experiences to remember and how to combine them to make new predictions." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } # snowden puts "----- edward snowden -----" puts white{ "For me, it all comes down to state power against " } + white{ bold{ "the people's ability to meaningfully oppose" } } + white{ " that power." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ bold{ "I remember what the internet was like before it was being watched and there's never been anything in the history of man that's like it." } } + white{ " [...] It was free and unrestrained, and we've seen the chilling of that, the cooling of that, the changing of that model towards something in which people self-police their views and they literally make jokes about ending up on 'the list' if they donate to a political cause or if they say something in a discussion, and it's become an expectation that we're being watched." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ bold{ "Technology is increasingly providing us [with] the ability to encode our rights not just in to our laws but in to our systems." } } + white{ " So when the failure of black letters on a page becomes apparent, we still have the failsafe of our technological systems, the systems that we surround ourselves [with] and rely upon every day." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "Policy is a very weak protection." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "Policy is a one-way ratchet that only loosens over time." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "Government never places additional restrictions on itself... unprovoked." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "Many people I've talked to have told me that they're careful about what they type in to search engines because they know that it's being recorded. That limits the boundaries of their intellectual exploration." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "I'm more willing to risk imprisonment (or any other negative outcome) personally than I am willing to risk the curtailment of my intellectual freedom and that of those around me who I care for equally as I do for myself." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "I feel good in my human experience to know that I can contribute to the good of others." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "I have some strongly held views." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "The balance of power between the citizenry and the government is becoming that of the ruling and the ruled, as opposed to the elected and the electorate." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ bold{ "If you want to build a better future, you’re going to have to do it yourself." } } + white{ " Politics will take us only so far and if history is any guide, they are the least reliable means of achieving effective change... they're not gonna jump up and protect your rights." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ "Technology works differently than law. Technology knows no jurisdiction." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } puts white{ bold{ "Politics" } } + black{ bold{ ":" } } + white{ " the art of convincing people to forget the lesser of two evils is also evil." } + black{ bold{ " - Edward Snowden, NSA whistleblower" } } # paul graham puts "----- paul graham -----" puts white{ bold{ "The winds of change originate in the unconscious minds of domain experts." } } + white{ " If you're sufficiently expert in a field, any weird idea or apparently irrelevant question that occurs to you is ipso facto worth exploring." } + black{ bold{ " - Paul Graham (2014) " } } # http://paulgraham.com/ecw.html puts white{ bold{ "The people I've met who do great work..." } } + white{ " generally feel that they're stupid and lazy, that their brain only works properly one day out of ten, and that it’s only a matter of time until they're found out." } + black{ bold{ " - Paul Graham (2004) " } } # http://web.archive.org/web/20040728182546/http://www.paulgraham.com/gh.html (later edited out) puts white{ bold{ "It's particularly hard for hackers to know how good they are" } } + white{ ", because it's hard to compare their work." } + black{ bold{ " - Paul Graham (2004) " } } # http://www.paulgraham.com/gh.html puts white{ "When you reach the point where 90% of a group's output is created by 1% of its members, you lose big if something (whether Viking raids, or central planning) drags their productivity down to the average." } + black{ bold{ " - Paul Graham (2004)" } } puts white{ bold{ "I read a quote by Wittgenstein saying that he had no self-discipline and had never been able to deny himself anything, not even a cup of coffee." } } + white{ " Now I know a number of people who do great work, and it's the same with all of them. They have little discipline. They're all terrible procrastinators and find it almost impossible to make themselves do anything they're not interested in." } + black{ bold{ " - Paul Graham (2005)" } } # http://www.paulgraham.com/hs.html puts white{ bold{ "Great hackers also generally insist on using open source software." } } + white{ " Not just because it's better, but because it gives them more control. " } + white{ bold{ "Good hackers insist on control." } } + white{ " This is part of what makes them good hackers: when something's broken, they need to fix it." } + black{ bold{ " - Paul Graham (2004) " } } # http://www.paulgraham.com/gh.html puts white{ "We now have several examples to prove that amateurs can surpass professionals, when they have the right kind of system to channel their efforts. Wikipedia may be the most famous. " } + white{ bold{ "Experts have given Wikipedia middling reviews, but they miss the critical point: it's good enough. And it's free, which means people actually read it." } } + white{ " On the web, articles you have to pay for might as well not exist. Even if you were willing to pay to read them yourself, you can't link to them. They're not part of the conversation." } + black{ bold{ " - Paul Graham (2005) " } } # http://www.paulgraham.com/web20.html puts white{ bold{ "Computer science is a grab bag of tenuously related areas thrown together by an accident of history, like Yugoslavia." } } + white{ " At one end you have people who are really mathematicians, but call what they're doing computer science so they can get DARPA grants. In the middle you have people working on something like the natural history of computers - studying the behavior of algorithms for routing data through networks, for example. And then at the other extreme you have the hackers, who are trying to write interesting software, and for whom computers are just a medium of expression, as concrete is for architects or paint for painters. It's as if mathematicians, physicists, and architects all had to be in the same department." } + black{ bold{ " - Paul Graham (2003) " } } # http://www.paulgraham.com/hp.html puts white{ "If you try to ban the future, it will just happen elsewhere." } + black{ bold{ " - Paul Graham (2017) " } } puts white{ "In programming, the hard part isn't solving problems, but deciding what problems to solve." } + black{ bold{ " - Paul Graham" } } puts white{ bold{ "Great minds discuss ideas" } } + white{ ", average minds discuss events, small minds discuss people." } + black{ bold{ " - Eleanor Roosevelt" } } puts white{ "Every popular mistaken belief creates a dead zone of ideas around it that are relatively unexplored because they contradict it." } + black{ bold{ " - Paul Graham" } } puts white{ "Notice anomalies that other people skip over." } + black{ bold{ " - Paul Graham" } } puts white{ bold{ "Ideology is constraining." } } + white{ " I'd rather have a patchwork model of the world based on experience." } + black{ bold{ " - Paul Graham" } } puts white{ bold{ "Rule of Irresponsibility" } } + black{ bold{ ": " } } + white{ "Ignore existing research and work things out yourself from first principles. It's not always a good idea to \"reinvent the wheel\", but it's a good idea more often than it's recommended (which is never)." } + black{ bold{ " - Paul Graham" } } # https://twitter.com/paulg/status/1172430190401572864 @paulg on Feynmann's biography puts white{ "Everyone is too conservative." } + black{ bold{ " - Paul Graham" } } # peter thiel on tech/business/society puts "----- peter thiel -----" puts white{ bold{ "The eccentric university professor is a species that is going extinct fast." } } + black{ bold{ " - Peter Thiel (2014)" } } puts white{ bold{ "Most MBA's tend to be high extrovert/low conviction people" } } + white{ " - a combination that in my experience leads towards extremely herd-like thinking and behavior." } + black{ bold{ " - Peter Thiel (2014)" } } puts white{ bold{ "Most companies are killed by internal infighting, even though it may not seem like it." } } + black{ bold{ " - Peter Thiel" } } puts white{ "Competition is for losers." } + black{ bold{ " - Peter Thiel (2014)" } } # Vernor Vinge puts "---- vernor vinge ----\n"; puts white{ bold{ "You try to identify major parameters of change, and then you use those parameters to assert extremely different possible futures." } } + white{ " Those futures should be as extremely unlikely as your sponsoring entity can tolerate before they kick you out the door and cut all your funding off. Once you've identified those extreme possibilities - say four or five of these scenarios, try to flesh them out. And typically the way you flesh them out is your pretend it's 2050 or 2070 or whatever and write an essay about why, in retrospect, it was obvious that this particular scenario was inevitable. In doing that, you generate a series of symptoms, and then you're in a situation where in the real world, you can look at all of those symptoms, you can organize them, and they are things to watch for." } + black{ bold{ " - Vernor Vinge" } } puts white{ "That's what we do. We build, and we build machines." } + black{ bold{ " - Vernor Vinge" } } # randoms on time puts "----- randoms on time -----" puts white{ bold{ "He who does not have a past has no present or future." } } + black{ bold{ " - Arabic proverb" } } puts white{ bold{ "Man's most prudent counselor is time." } } + black{ bold{ " - Publilius Syrus (first century BCE)" } } puts white{ bold{ "There is nothing which the lapse of time will not either extinguish or improve." } } + black{ bold{ " - Publilius Syrus (first century BCE)" } } puts white{ bold{ "Those who do not forget the past are masters of the future." } } + black{ bold{ " - Sima Qian (second century BCE)" } } puts white{ bold{ "Hanson's Treatment of Time" } } + white{ ": There are never enough hours in a day, but always too many days before Saturday." } puts white{ "Of course hardened mariners would have thrashed up through the night without a tremor, hardened mariners would have battled in stinging spray and sodden clothes, hardened mariners would have reached a haven as dawn was breaking. " } + white{ bold{ "What a terrible affliction, to be a hardened mariner!" } } + black{ bold{ " - W. I. B. Crealock, 'Vagabonding Under Sail' (1951)" } } puts white{ "Upon arriving in the capital-F Future, we discover it, invariably, to be the lowercase now." } + black{ bold{ " - William Gibson" } } # http://www.economist.com/news/christmas-specials/21636612-time-poverty-problem-partly-perception-and-partly-distribution-why?fsrc=scn/tw/te/pe/ed/whyiseveryonesobusy puts white{ "Lean back under a tree, put your arms behind your head, wonder at the pass we've come to, smile and remember that " } + white{ bold{ "the beginnings and ends of man's every great enterprise are untidy" } } + white{ "." } + black{ bold{ " - Sebastian de Grazia, 'Of Time, Work and Leisure' (1962)" } } puts white{ "Even a broken clock is right twice a day." } puts white{ "Archiving is the new folk art." } + black{ bold{ " - Rick Prelinger" } } puts white{ "People are frugal in guarding their personal property; but as soon as it comes to squandering time they are most wasteful of the one thing in which it is right to be stingy." } + black{ bold{ " - Seneca" } } puts white{ "Forewarned, forearmed: " } + white{ bold{ "to be prepared is half the victory." } } + black{ bold{ " - Miguel de Cervantes" } } puts white{ bold{ "不怕慢就怕站" } } + white{ ": It doesn't matter how slowly you go, as long as you don't stop." } + black{ bold{ " - Confucius" } } puts white{ bold{ "In carpentry you measure twice and cut once." } } + white{ " In software development you never measure and make cuts until you run out of time." } + black{ bold{ " - Adam Morse" } } puts white{ "One, one coco full basket." } + black{ bold{ " - Jamaican saying" } } puts white{ bold{ "Festina lente" } } + black{ bold{ ": " } } + white{ "Make haste slowly." } + black{ bold{ " - Latin translation a Greek proverb (σπεῦδε βραδέως)" } } puts white{ bold{ "You are not late" } } + black{ bold{ ": " } } + white{ "There has never been a better time in the whole history of the world to invent something." } + black{ bold{ " - Kevin Kelly" } } puts white{ "To plant a garden is to believe in tomorrow." } + black{ bold{ " - Audrey Hepburn" } } puts white{ "Technology evolution supports a rich future for ambitious visions and dreams." } + black{ bold{ " - F. J. Corbató (1991)" } } puts white{ "One must try to learn from past mistakes but be alert for new circumstances." } + black{ bold{ " - F. J. Corbató (1991)" } } puts white{ "Successful ambitious systems demand a defensive philosophy of design and implementation." } + black{ bold{ " - F. J. Corbató (1991)" } } puts white{ bold{ "Yet quality takes time." } } + white{ " Our embrace of high tech gadgetry could turn life in to a series of rushed encounters and clipped exchanges, producing ideas of diminishing depth." } + black{ bold{ " - Langdon Winner (1990)" } } # re-sectionize puts "----- eponymous randoms -----" # abrams' principle puts white{ bold{ "Abrams' Principle" } } + white{ ": The shortest distance between two points is off the wall." } # allen's axiom / cahn's axiom #puts white{ bold{ "Allen's Axiom" } } + white{ ": When all else fails, read the directions." } puts white{ bold{ "Cahn's Axiom" } } + white{ ": When all else fails, read the instructions." } # anthony's law of force puts white{ bold{ "Anthony's Law of Force" } } + white{ ": Don't force it; get a larger hammer." } # arnold's law of documentation puts white{ bold{ "Arnold's Law of Documentation" } } + white{ ": If it should exist, it doesn't. If it does exist, it's out of date. Only documentation for useless programs transcends the first two laws." } # atwood's law puts white{ bold{ "Atwood's Law" } } + white{ ": Any software that can be written in JavaScript will eventually be written in JavaScript." } + black{ bold{ " - Jeff Atwood" } } # buchheit's beholding puts white{ bold{ "Buchheit's Beholding" } } + white{ ": Every system has two sets of rules: the rules as they are intended or commonly perceived, and the actual rules ('reality')." } + black{ bold{ " - Paul Buchheit" } } # buckbee's law puts white{ bold{ "Buckbee's Law" } } + white{ ": The value of a robot is proportional to the degree it does not look like a robot." } # bombeck's law puts white{ bold{ "Erma Bombeck's Law" } } + white{ ": The other line always moves faster." } # boob's law puts white{ bold{ "Boob's Law" } } + white{ ": You always find something in the last place you look." } # boren's laws puts white{ bold{ "Boren's Laws" } } + white{ ": When in charge, ponder. When in trouble, delegate. When in doubt, mumble." } # bradley's bromide puts white{ bold{ "Bradley's Bromide" } } + white{ ": If computers get too powerful, we can organize them into a committee - that will do them in." } # brewer's theorem (cap theorem) puts white{ bold{ "CAP Theorem (Brewer's Theorem)" } } + white{ ': it is impossible for a distributed computer system to simultaneously provide Consistency (all nodes see the same data at the same time), Availability (a guarantee that every request receives a response about whether it was successful or failed) and Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)' } + black{ bold{ " - Eric Brewer, Symposium on Principles of Distributed Computing (PODC) (2000)" } } puts white{ bold{ "CAP Theorem (Brewer's Theorem) - Clarification 1" } } + white{ ": Because Partitions are rare, there is little reason to forfeit Consistency or Availability when the system is not partitioned." } + black{ bold{ " - Eric Brewer, IEEE Computer Society 'Computer' Magazine (2012)" } } puts white{ bold{ "CAP Theorem (Brewer's Theorem) - Clarification 2" } } + white{ ": The choice between Consistency and Availability can occur many times within the same system at very fine granularity; not only can subsystems make different choices, but the choice can change according to the operation or even the specific data or user involved." } + black{ bold{ " - Eric Brewer, IEEE Computer Society 'Computer' Magazine (2012)" } } puts white{ bold{ "CAP Theorem (Brewer's Theorem) - Clarification 3" } } + white{ ": All three properties (Consistency, Availability, Partition tolerance) are more continuous than binary. Availability is obviously continuous from 0 to 100 percent, but there are also many levels of Consistency, and even Partitions have nuances, including disagreement within the system about whether a Partition exists." } + black{ bold{ " - Eric Brewer, IEEE Computer Society 'Computer' Magazine (2012)" } } # brooks' law puts white{ bold{ "Adding manpower to a late software project makes it later." } } + white{ " Nine women can't make a baby in one month." } + black{ bold{ " - Fred Brooks, 'The Mythical Man-Month' (1975)" } } # snarky restatement puts white{ "What one programmer can do in one month, two programmers can do in two months." } + black{ bold{ " - Fred Brooks" } } # carlson's conundrum puts white{ bold{ "Carlson's Conundrum" } } + white{ ": The sooner you start to code, the longer the program will take." } # celine's laws @ https://en.wikipedia.org/wiki/Celine%27s_laws puts white{ bold{ "Celine's first law" } } + white{ ": National Security is the chief cause of national insecurity." } puts white{ bold{ "Celine's second law" } } + white{ ": Communication is possible only in a non-punishing situation." } # generalized restatement puts white{ bold{ "Celine's second law" } } + white{ " (restatement): Communication occurs only between equals." } puts white{ bold{ "Celine's third law" } } + white{ ": An honest politician is a national calamity." } # classen's law puts white{ bold{ "Classen's Law" } } + white{ ": Usefulness = log(Technology)" } + black{ bold{ " - Theo A. C. M. Claasen, CTO of Philips Semiconductors (1999)" } } # connell's thesis puts white{ bold{ "Connell's Thesis" } } + white{ ": Software engineering will never be a rigorous discipline with proven results, because it involves human activity." } # conway's law puts white{ bold{ 'Conway\'s Law' } } + white{ ': Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.' } + black{ bold{ " - Melvin Conway, 'National Symposium on Modular Programming', 1968" } } puts white{ bold{ 'The organization of the software and the organization of the software team will be congruent.' } } + black{ bold{ " - Eric S. Raymond, paraphrasing Conway's Law in 'The New Hacker's Dictionary'" } } puts white{ 'If the parts of an organization (e.g. teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the relationships between product parts, then the project will be in trouble... therefore: ' } + white{ bold{ 'Make sure the organization is compatible with the product architecture.' } } + black{ bold{ ' - James O. Coplien and Neil B. Harrison, paraphrasing Conway\'s Law (2004)' } } # dredmorbius' dialectic @ https://news.ycombinator.com/item?id=8295375 puts white{ bold{ "Dredmorbius' Dialectic" } } + white{ ": Ultimately, the resources required to maintain a system prove insufficient." } # ducharm's axiom puts white{ bold{ "Ducharm's Axiom" } } + white{ ": If you view your problem closely enough you will recognize yourself as part of the problem." } # dykstra's observation puts white{ bold{ "Dykstra's Observation" } } + white{ ": If debugging is the process of removing bugs, then programming must be the process of putting them in." } # entropy's edict - https://news.ycombinator.com/item?id=15576499 puts white{ bold{ "Entropy's Edict" } } + white{ ": Quality is achieved at global maximum. A lot of engineering methodology is focused finding a local maximum." } + black{ bold{ " - @entropy_ai" } } # farber puts white{ bold{ "Farber's Rule" } } + white{ ": Necessity is the mother of strange bedfellows." } # farvour's law puts white{ bold{ "Farvour's Law of Debugging" } } + white{ ": There is always one more bug..." } # finagle's four laws puts white{ bold{ "Finagle's First Law" } } + white{ ": If an experiment works, something has gone wrong." } puts white{ bold{ "Finagle's Second Law" } } + white{ ": No matter what the anticipated result, there will always be someone eager to (a) misinterpret it, (b) fake it, or (c) believe it happened according to his own pet theory." } puts white{ bold{ "Finagle's Third Law" } } + white{ ": In any collection of data, the figure most obviously correct, beyond all need of checking, is the mistake." } puts white{ bold{ "Finagle's Fourth Law" } } + white{ ": Once a job is fouled up, anything done to improve it only makes it worse." } # fresco's discovery puts white{ bold{ "Fresco's Discovery" } } + white{ ": If you knew what you were doing you'd probably be bored." } # gall's law puts white{ bold{ "Gall's Law" } } + white{ ": A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system." } # geer's law puts white{ bold{ "Geer's Law" } } + white{ ": Any security technology whose effectiveness can't be empirically determined is indistinguishable from blind luck." } # glib's fourth law puts white{ bold{ "Glib's Fourth Law of Unreliability" } } + white{ ": Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done." } # goodhart's law and corollary # (see https://en.wikipedia.org/wiki/Goodhart%27s_law) puts white{ bold{ "Goodhart's Law (Popular formulation)" } } + white{ ": When a measure becomes a target, it ceases to be a good measure." } puts white{ bold{ "Goodhart's Law (Original formulation)" } } + white{ ": Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes." } + black{ bold{ " - Charles Goodhart (1975)" } } puts white{ bold{ "Goodhart's Law (Danielsson's corollary)" } } + white{ bold{ ": A risk model breaks down when used for regulatory purposes." } } + black{ bold{ " (2002)" } } # hlade's law .. appears to be a misattribution with no source available puts white{ bold{ "If you have a difficult task, give it to a lazy person" } } + white{ " - they will find an easier way to do it." } + black{ bold{ " - Walter Percy Chrysler (1875-1940), American industrialist" } } # hoare's law puts white{ bold{ "Hoare's Law of Large Problems" } } + white{ ": Inside every large problem is a small problem struggling to get out." } # howe's law puts white{ bold{ "Howe's Law" } } + white{ ": Everyone has a scheme that will not work." } # hume's problem of induction puts white{ bold{ "Hume's Problem of Induction" } } + white{ ": How can we ever be justified in generalizing from what we've seen to what we haven't?" } # joy's law puts white{ bold{ "Joy's Law" } } + white{ ": No matter who you are, most of the smartest people work for someone else." } # kasparov's law puts white{ bold{ "Kasparov's Law" } } + white{ ": Weak human + machine + better process is superior to a strong computer alone and, more remarkably, superior to a strong human + machine + inferior process." } # kerckhoff's principle puts white{ bold{ "Kerckhoff's Principle" } } + white{ ": A cryptosystem should be secure even if everything about the system, except the key, is public knowledge." } # kinkler puts white{ bold{ "Kinkler's First Law" } } + white{ ": Responsibility always exceeds authority." } puts white{ bold{ "Kinkler's Second Law" } } + white{ ": All the easy problems have been solved." } # lampson's law puts white{ bold{ "Lampson's Law" } } + white{ ": " } + white{ bold{ "Get it right." } } + white{ " Neither abstraction nor simplicity is a substitute for getting it right. In fact, abstraction can be a source of severe difficulties." } + black{ bold{ " - Butler W. Lampson (1983)" } } # lampson's law - corollary of speed puts white{ bold{ "Lampson's Law - Corollary of Speed" } } + white{ ": " } + white{ bold{ "Make it fast, rather than general or powerful." } } + white{ " If it's fast, the client can program the function it wants, and another client can program some other function. It is much better to have basic operations executed quickly than more powerful ones that are slower (of course, a fast, powerful operation is best, if you know how to get it). The trouble with slow, powerful operations is that the client who doesn’t want the power pays more for the basic function. Usually it turns out that the powerful operation is not the right one." } + black{ bold{ " - Butler W. Lampson (1983)" } } # lampson's law - corollary of power puts white{ bold{ "Lampson's Law - Corollary of Power" } } + white{ ": " } + white{ bold{ "Don't hide power." } } + white{ " When a low level of abstraction allows something to be done quickly, higher levels should not bury this power inside something more general. The purpose of abstractions is to conceal undesirable properties; desirable ones should not be hidden. Sometimes, of course, an abstraction is multiplexing a resource, and this necessarily has some cost. But it should be possible to deliver all or nearly all of it to a single client with only slight loss of performance." } + black{ bold{ " - Butler W. Lampson (1983)" } } # lampson's law - corollary of arguments puts white{ bold{ "Lampson's Law - Corollary of Arguments" } } + white{ ": " } + white{ bold{ "Use procedure arguments to provide flexibility in an interface." } } + white{ " They can be restricted or encoded in various ways if necessary for protection or portability. This technique can greatly simplify an interface, eliminating a jumble of parameters that amount to a small programming language. A simple example is an enumeration procedure that returns all the elements of a set satisfying some property. The cleanest interface allows the client to pass a filter procedure that tests for the property, rather than defining a special language of patterns or whatever." } + black{ bold{ " - Butler W. Lampson (1983)" } } # lampson's law - corollary of the client puts white{ bold{ "Lampson's Law - Corollary of the Client" } } + white{ ": " } + white{ bold{ "Leave it to the client." } } + white{ " As long as it is cheap to pass control back and forth, an interface can combine simplicity, flexibility and high performance by solving only one problem and leaving the rest to the client." } + black{ bold{ " - Butler W. Lampson (1983)" } } # lazlo puts white{ bold{ "Lazlo's Chinese Relativity Axiom" } } + white{ ": No matter how great your triumphs or how tragic your defeats - approximately one billion Chinese couldn't care less." } # learc puts white{ bold{ "Learc's Lamentation" } } + black{ bold{ ": " } } + white{ "A single square inch of lawn could provide material for multiple PhDs." } # le blanc's law puts white{ bold{ "Le Blanc's Law" } } + white{ ": Later equals never." } # maier's law puts white{ bold{ "Maier's Law" } } + white{ ": If the facts do not conform to the theory, they must be disposed of." } # mann's maxim - http://nautil.us/issue/53/monsters/what-boredom-does-to-you puts white{ bold{ "Mann's Maxim" } } + white{ ": People who are bored think more creatively than those who aren't." } # meskimen's law puts white{ bold{ "Meskimen's Law" } } + white{ ": There's never time to do it right, but there's always time to do it over." } # metcalfe's law puts white{ bold{ "Metcalfe's Law" } } + white{ ": The value of a network is the square of the nodecount." } # miller's law puts white{ bold{ "Miller's Law" } } + white{ ": All discussions of incremental updates will eventually trend towards proposals for large scale redesigns, feature additions or replacements." } + black{ bold{ " - Mike Beltzner (after Dave Miller of Bugzilla)" } } # moore's laws puts white{ bold{ "Moore's law" } } + white{ ": The number of transistors in an integrated circuit (IC) doubles every two years." } puts white{ bold{ "Moore's second law " } } + white{ "(" } + white{ bold{ "Rock's law" } } + white{ "): The cost of a semiconductor chip fabrication plant doubles every four years." } # moravec's paradox puts white{ bold{ "Moravec's Paradox" } } + white{ ": Contrary to traditional assumptions, high-level reasoning requires very little computation, but low-level sensorimotor skills require enormous computational resources." } + black{ bold{ " - Hans Moravec, Rodney Brooks, Marvin Minsky et al. (1980s)" } } # morrison's menace puts white{ bold{ "Morrison's Menace" } } + white{ ": Programmers with no money write better code." } # mosher's law puts white{ bold{ "Mosher's Law of Software Engineering" } } + white{ ": Don't worry if it doesn't work right. If everything did, you'd be out of a job." } # ogden's law puts white{ bold{ "Ogden's Law" } } + white{ ": The sooner you fall behind, the more time you have to catch up." } # ovsiankina effect puts white{ bold{ "Ovsiankina effect" } } + white{ ": The tendency to resume an interrupted action." } # parkinson's law puts white{ bold{ "Parkinson's Law" } } + white{ ": Work expands so as to fill the time available for its completion." } + black{ bold{ " - Cyril Northcote Parkinson, British civil servant, first published in 'The Economist' (1955)" } } puts white{ bold{ "Parkinson's Law - Stock-Sanford Corollary" } } + white{ ": If you wait until the last minute, it only takes a minute to do." } puts white{ bold{ "Parkinson's Law - Data Corollary" } } + white{ ": Data expands to fill the space available for storage." } puts white{ bold{ "Generalized form of Parkinson's Law" } } + white{ ": The demand upon a resource tends to expand to match the supply of the resource. The reverse is not true." } puts white{ bold{ "Principle of Comitology" } } + white{ ": Committees, government cabinets, and other such bodies are created and eventually grow irrelevant (or are initially designed as such)." } + black{ bold{ " - Cyril Northcote Parkinson, British civil servant" } } puts white{ bold{ "Parkinson's Conjecture" } } + white{ ": Committees with a membership exceeding a number between 19.9 and 22.4 are ineffective." } + black{ bold{ " - Cyril Northcote Parkinson, British civil servant" } } # peter's law puts white{ bold{ "Peter's Law of Substitution" } } + white{ ": Look after the molehills, and the mountains will look after themselves." } # pine's ponderance puts white{ bold{ "Pine's Ponderance" } } + white{ ": Programming isn't about what you know; it's about what you can figure out." } # planck's principle puts white{ bold{ "Planck's Principle of Increasing Effort" } } + white{ ": With every advance [in science] the difficulty of the task is increased." } # roman rule puts white{ bold{ "Roman Rule" } } + white{ ": The one who says it cannot be done should never interrupt the one who is doing it." } # rostow's reflection puts white{ bold{ "Rostow's Reflection" } } + white{ ": Marginal productivity first rises and then declines in individual fields." } + black{ bold{ " - Walter Rostow (1980)" } } # shamir's three laws of security puts white{ bold{ "Shamir's First Law of Security" } } + white{ ": Absolutely secure systems do not exist." } puts white{ bold{ "Shamir's Second Law of Security" } } + white{ ": To halve your vulnerability, you have to double your expenditure." } puts white{ bold{ "Shamir's Third Law of Security" } } + white{ ": Cryptography is typically bypassed, not penetrated." } # stigler's law puts white{ bold{ "Stigler's Law of Eponymy" } } + white{ ": No scientific discovery is named after its original discoverer." } + black{ bold{ " - Stephen Sigler, statistician (but attributed to Robert K. Merton, sociologist)" } } # sturgeon's law puts white{ bold{ "Sturgeon's Law" } } + white{ ": ninety percent of everything is crap." } + black{ bold{ " - Theodore Sturgeon, an science fiction author" } } # tainter's law (paraphrased from 1996 paper @ http://dieoff.org/page134.htm) puts white{ bold{ "Tainter's Law of Social Complexity" } } + white{ ": Social structures generate negative returns when they become too complex." } puts white{ bold{ "Tainter's Law of Human Behavior" } } + white{ ": Many aspects of human behavior appear to be complexity averse." } # 1995 puts white{ bold{ "Tainter's Law of Diminishing Returns" } } + white{ ": Diminishing returns make complexity less attractive and breed disaffection." } puts white{ bold{ "Tainter's Law of Problem Solving" } } + white{ ": As easier solutions are exhausted, problem solving moves inexorably to greater complexity, higher costs, and diminishing returns." } # tesler's law puts white{ bold{ "Tesler's Law of Conservation of Complexity" } } + white{ ": Every application has an inherent amount of irreducible complexity. The only question is who will have to deal with it - the user, the application developer, or the platform developer?" } + black{ bold{ " - Larry Tesler (ca. 1984)" } } # universal conundrums - https://medium.com/thinking-is-hard/4-conundrums-of-intelligence-2ab78d90740f puts white{ bold{ "First Conundrum of the Universe" } } + white{ ": There's too much information." } + black{ bold{ " So we only notice changes, bizzareness, repetition, confirmation..." } } puts white{ bold{ "Second Conundrum of the Universe" } } + white{ ": There's not enough meaning." } + black{ bold{ " So we fill in gaps with patterns, generalities, benefit of doubt, easier problems, current mindset..." } } puts white{ bold{ "Third Conundrum of the Universe" } } + white{ ": There's not enough time and resources." } + black{ bold{ " So we assume we're right, we can do this, the nearest thing is best, we should finish what's started, we should keep our options open, easier is better..." } } puts white{ bold{ "Fourth Conundrum of the Universe" } } + white{ ": There's not enough memory." } + black{ bold{ " So we save space by editing memories down, generalizing, keeping an example, using external memory..." } } # wirth's law (and disabled restatements) puts white{ bold{ "Wirth's Law" } } + white{ ": Software gets slower faster than hardware gets faster." } + black{ bold{ " - Niklaus Wirth (1995)" } } #puts white{ bold{ "May's Law" } } + white{ ": Software efficiency halves every 18 months, compensating Moore's Law." } + black{ bold{ " - Restatement of Wirth's Law after David May." } } #puts white{ bold{ "The speed of software halves every 18 months." } } + black{ bold{ " - Restatement of Wirth's Law after Bill Gates, founder of Microsoft." } } # hofstader's law puts white{ bold{ "Hofstadter's Law" } } + white{ ": It always takes longer than you expect, even when you take into account Hofstadter's Law." } + black{ bold{ " - Douglas Hofstadter, 'Gödel, Escher, Bach: An Eternal Golden Braid' (1979)" } } # zawinski puts white{ bold{ "Zawinski's Law" } } + white{ ": Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." } # zeigarnik puts white{ bold{ "Zeigarnik effect" } } + white{ ": People remember incomplete or interrupted tasks better than completed tasks." } # zymurgy puts white{ bold{ "Zymurgy's First Law of Evolving Systems Dynamics" } } + white{ ": Once you open a can of worms, the only way to recan them is to use a larger can." } # alan kay puts "----- Alan Kay -----" puts white{ bold{ "I like developed arts of all kinds, and these require learning on the part of the beholder" } } + white{ ", not just bones tossed at puppies." } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "Children need to learn how to use the 21st century" } } + white{ ", or there's a good chance they will lose the 21st century." } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "Television is the last technology we should be allowed to invent without a Surgeon General's warning on it." } } + black{ bold{ " - Alan Kay" } } puts white{ bold{ 'It used to be the case that people were admonished to "not re-invent the wheel". We now live in an age that spends a lot of time "reinventing the flat tire!"' } } + white{ ' The flat tires come from the reinventors often not being in the same league as the original inventors. This is a symptom of a "pop culture" where identity and participation are much more important than progress...' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'In the US ' } + white{ bold{ 'we are now embedded in a pop culture that has progressed far enough to seriously hurt places that hold "developed cultures". This pervasiveness makes it hard to see anything else' } } + white{ ', and certainly makes it difficult for those who care what others think to put much value on anything but pop culture norms.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'If you start with "desirable process" you can eventually work your way back to the power plug in the wall. If you start with something already plugged in, you might miss a lot of truly desirable processes.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'Better and Perfect are the enemies of What-Is-Actually-Needed' } } + black{ bold{ ':' } } + white{ ' The big sin so many people commit in computing is not really paying attention to "What-Is-Actually-Needed"! And not going below that. People are tempted to choose an increment, and will say "at least it\'s a little better" - but if the threshold isn\'t actually reached, then it is the opposite of a little better, it\'s an illusion.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'I found getting halfway decent funding since 1980 to be quite a chore.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'What is going on now is partly a retreat from real literacy back to oral modes of communication and oral modes of thought (i.e. "texting" is really a transliteration of an oral utterance, not a literary form).' } + white{ bold{ ' This is a disaster.' } } + black{ bold{ ' - Alan Kay (2016)' } } puts white{ "With a good programming language and interface, one - even children - can create from scratch important simulations of complex non-linear systems that can help one's thinking about them." } + black{ bold{ " - Alan Kay (2016)" } } puts white{ "What programming language design would help us think a lot better than we do now?" } + white{ bold{ " (We are currently terrible!)" } } + black{ bold{ " - Alan Kay (2016)" } } puts white{ "You could 'hot-edit' Lisp (1.85 at BBN) in the 60s (and there were other such systems). Smalltalk at Parc in the 70s used many of these ideas, and went even further." } + white{ bold{ " Development environments should help programmers think" } } + white{ " (but what if most programmers don't want to think?)" } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'When the first Turing Award winner - Al Perlis - was asked in the 60s "What is Computer Science?", he said "It is the science of processes!". He meant all processes including those on computers, but also in Biology, society, etc. His idea was that computing formed a wonderful facility for making better models of pretty much everything, especially dynamic things (which everything actually is), and that it was also the kind of thing that could really be understood much better by using it to make models of itself. Today, we could still take this as a starting place for "getting \'Computer Science\' back from where it was banished".' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "All languages today annoy me" } } + white{ " - just put me down as a grump. They seem to be at a very weak level of discourse for the 21st century. (But a few are fun when looked at from the perspectives of the past e.g. Erlang ...)" } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'Are "the good goals of the past" good enough goals for today and tomorrow?' } } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "Seymour Cray was a man of few words." } } + white{ " I was there for three weeks before I realized he was not the janitor." } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "We were lucky in the ARPA/PARC communities to have both great funding, and the time to think things through" } } + white{ " (and even make mistakes that were kept from propagating to create bad defacto standards)." } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'The question you are asking is really a societal one - and about operations that are like strip mining and waste dumping. ' } + white{ bold{ '"Hunters and gatherers" (our genetic heritage) find fertile valleys, strip them dry and move on (this only works on a very small scale). "Civilization" is partly about learning how to overcome our dangerous atavistic tendencies through education and planning.' } } + white{ ' It\'s what we should be about generally (and the CS part of it is just a symptom of a much larger much more dire situation we are in).' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ ' One of several major mistakes with the web has to do with thinking that the browser is some kind of application "with features"' } } + white{ ' - if you think of the actual scale of the Internet (and they didn\'t) you realize that at the very least, the browser, etc, has to be more like an operating system, and with as few features as possible: really to safely run encapsulated modules and deal out resources. It is crazy that after more than 20 years of the web that this CS101 principle still can\'t be done ... and it runs on machines that can do it....' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ '"What Fools these Mortals be!" Puck meant that we are easy to fool. In fact we like to be fooled - ' } + white{ bold{ 'we pay lots of money to be fooled!' } } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'I do get depressed - how could one not? - the trick with depression is to not allow it to take you into in-action.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'What is "data" without an interpreter (and when we send "data" somewhere, how can we send it so its meaning is preserved?)' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ 'There are lots of "old and fundamental" ideas that are not good anymore, if they ever were.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ '"The objects of the future" have to be ambassadors that can negotiate with other objects they\'ve never seen.' } } + white{ ' Think about this as one of the consequences of massive scaling ...' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "Advice to CS students" } } + black{ bold{ ':' } } + white{ ' Learn a lot of other things, and at least one real science and one real engineering. This will help to calibrate the somewhat odd lore aka "computing knowledge". I would certainly urge a number of anthropology courses (and social psychology, etc), theater, and so forth. In the right school, I\'d suggest "media theory" (of the "Mcluhan", "Innis", "Postman" kind ...)' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ "There's coming up with ideas: learn to dream while you are awake, the ideas are there. There's coming up with a good idea: learn how to not get buried in your ideas (most are mediocre down to bad even for people who have \"good idea skills\"!) I write down ideas in notebooks to get rid of them. Every once in a while one will capture a different point of view. And, there's the Princeton Tea joke of scientists comparing what they did for ideas. One says \"I have them in the middle of the night so I have a pad by my bed\". Another says \"I have them in the shower so I have a grease pencil to write them on the walls\". Einstein was listening and they asked him about his ideas. He said \"I don't know, I've only had two!\" (Some people are better at filtering than others ...)" } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'Most of my ideas come in "waking dreams"' } } + white{ ' (this is a state that most children indulge in readily, but it can be retained in a more or less useful way - I don\'t think you quite get into adulthood by retaining it, so it\'s a tradeoff). Main thing about ideas is that, however they come, most of them are mediocre down to bad - so steps have to be taken to deal with this major problem.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ '10 years is too close' } } + white{ ' - 30 years out will generally lose the pernicious connection to the present and "how do we get there?". The idea is to "go out there and bring the ideas back" rather than try to go from the present to the future.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'Our most unrealistic assumption was that when presented with really good ideas most people will most definitely learn and use them to make progress.' } } + white{ ' In reality, only a tiny percentage can do this, and it is an enormous amount of work to deal with the norms.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'The problems with most arguments is that they arguers assume they are in a valid context' } } + white{ ' (this is usually not the case, and this is the central problem of "being rational"). Another way to look at it is "Forget about trying to win an argument - use argumentation to try to understand the issues better and from more perspectives ..."' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'A good heuristic for designing programming languages' } } + white{ ' is to try to take the largest most complicated kinds of things you want to do, work them out, and then see if there is a "language lurking". Most people make the big mistake of lovingly making small neat examples that are easy to learn - these often don\'t scale at all well. E.g. "data" in the small "seems natural" but the whole idea scales terribly. And so forth for most of the favorite paradigms around today.' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ 'Try to avoid "growing old"!' } } + white{ ' A big problem with the general industry is the lack of subsidized "sabbatical years" - these are a good way to recharge and re-orient. Xerox, amazingly, used to have them for employees. But I haven\'t heard of any such thing recently. If you think about life as needing "renewables" then ' } + white{ bold{ 'you shouldn\'t allow yourself to be "stripmined"' } } + white{ ' (easier said than done).' } + black{ bold{ " - Alan Kay (2016)" } } puts white{ bold{ "Learn everything and then find a way of forgetting it, so you can have your own ideas." } } + white{ " What you forget is everything except the perfume, so you when you have an idea your nose will pick up the right scent and you will be able to make make use of all the stuff you've learned after you've had the idea." } + black{ bold{ " - Alan Kay (2017)" } } puts white{ "Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves." } + black{ bold{ " - Alan Kay" } } puts white{ "Technology is anything that wasn't around when you were born." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "Inverse vandalism" } } + black{ bold{ ": " } } + white{ "Making things just because you can." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "PARC only happened because of the Vietnam War." } } + white{ " Nobody wanted to try to do this stuff inside of a company, the company quarterly cycles and everything else are really antithetical to long-range thinking." } + black{ bold{ " - Alan Kay on the emergence of the personal computer (2017)" } } puts white{ bold{ "The real job of upper management in the 20th and 21st century is to learn things" } } + white{ ", because change is the constant thing that's going on." } + black{ bold{ " - Alan Kay (2017)" } } puts white{ bold{ "Whatever's going on right now is just crap, by definition" } } + black{ bold{ " [...] " } } + white{ "it's gotten mundane, and part of it is just the bell curve of normality in humans. Whatever it is, it gets converted to something like normal." } + black{ bold{ " - Alan Kay (2017)" } } puts white{ bold{ "Living in the present" } } + white{ ": man, you're just out of it." } + black{ bold{ " - Alan Kay (2017)" } } puts white{ bold{ "The notion of object oriented programming is completely misunderstood." } } + white{ " It's not about objects and classes, it's all about messages." } + black{ bold{ " - Alan Kay" } } puts white{ "Designer jeans guitar hero syndrome." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "Adults think that the best thing you can do for a child is to turn the child out like them." } } + white{ " Think about that, that's got to be one of the dumbest ideas ever." } + black{ bold{ " - Alan Kay" } } puts white{ "By far the best way to invent a healthy future is to invent the children who will invent it." } + black{ bold{ " - Alan Kay" } } puts white{ "I made up these slogans because I discovered most adults couldn't deal with paragraphs." } + black{ bold{ " - Alan Kay" } } puts white{ "Adults are dangerous. Really dangerous." } + black{ bold{ " - Alan Kay" } } puts white{ "People who are really serious about software should make their own hardware." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "Computing is pop culture." } } + white{ " Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you're participating. It has nothing to do with cooperation, the past or the future — it's living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from]." } + black{ bold{ " - Alan Kay" } } puts white{ "The biggest problem with computing today is that almost nobody is really dissatisfied with it." } + black{ bold{ " - Alan Kay" } } puts white{ "Human beings hardly did anything differently for several hundred thousand years." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "Almost no computer people can design a good user interface to save their life" } } + white{ ": nor do they want to, because their world is learning whatever it takes to deal with an arbitrarily complicated system." } + black{ bold{ " - Alan Kay" } } puts white{ "It was not manly to write in a high-level language." } + black{ bold{ " - Alan Kay, on the 15-year backlash against FORTRAN" } } puts white{ bold{ "The truth is we're terrible at multitasking." } } + white{ " It's very difficult for us to hold multiple things in our heads at one time. We are tremendously resource-limited." } + black{ bold{ " - Alan Kay" } } puts white{ bold{ "Unlike squids and octopi, we have very poorly designed eyes" } } + white{ "... in case you ever have an argument with a creationist." } + black{ bold{ " - Alan Kay" } } # arthur c. clarke puts "----- Arthur C. Clarke -----" puts white{ bold{ "Clarke's First Law" } } + white{ ": When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong." } + black{ bold{ " - Arthur C. Clarke" } } puts white{ bold{ "Clarke's First Law - AI Corollary" } } + white{ ": Any sufficiently advanced benevolence may be indistinguishable from malevolence." } puts white{ bold{ "Grey's Law (corollary to Clarke's First Law)" } } + white{ ": Any sufficiently advanced incompetence is indistinguishable from malice." } puts white{ bold{ "Poe's Law (corollary to Clarke's First Law)" } } + white{ ": Any sufficiently advanced troll is indistinguishable from a genuine kook." } puts white{ bold{ "Clarke's Second Law" } } + white{ ": The only way of discovering the limits of the possible is to venture a little way past them into the impossible." } + black{ bold{ " - Arthur C. Clarke" } } puts white{ bold{ "Clarke's Third law" } } + white{ ": Any sufficiently advanced technology is indistinguishable from magic." } + black{ bold{ " - Arthur C. Clarke" } } # sagan puts "----- Carl Sagan -----" puts white{ "If I finish a book a week, I will read only a few thousand books in my lifetime, about a tenth of a percent of the contents of the greatest libraries of our time." } + white{ bold{ " The trick is to know which books to read." } } + black{ bold{ " - Carl Sagan, 'Cosmos' (1980)" } } # kranzberg puts "----- Melvin Kranzberg -----" puts white{ bold{ "Kranzberg's 1st Law of Technology" } } + white{ ": Technology is neither good nor bad; nor is it neutral." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } # removed ... this law is previously attributable to earl wiener (1980) as wiener's fourth law #puts white{ bold{ "Kranzberg's 2nd Law of Technology" } } + white{ ": Invention is the mother of necessity." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } puts white{ bold{ "Kranzberg's 3rd Law of Technology" } } + white{ ": Technology comes in packages, big and small." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } puts white{ bold{ "Kranzberg's 4th Law of Technology" } } + white{ ": Although technology might be a prime element in many public issues, nontechnical factors take precedence in technology-policy decisions." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } puts white{ bold{ "Kranzberg's 5th Law of Technology" } } + white{ ": All history is relevant, but the history of technology is the most relevant." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } puts white{ bold{ "Kranzberg's 6th Law of Technology" } } + white{ ": Technology is a very human activity - and so is the history of technology." } + black{ bold{ " - Melvin Kranzberg, 'Technology and Culture', Vol. 27, No. 3 (1986)" } } # larry niven puts "----- Larry Niven ------" puts white{ bold{ "Niven's First Law" } } + white{ ": Never fire a laser at a mirror." } + black{ bold{ " - Larry Niven, science fiction author" } } puts white{ bold{ "Niven's Second Law" } } + white{ ": Giving up freedom for security is beginning to look naïve." } + black{ bold{ " - Larry Niven, science fiction author" } } puts white{ bold{ "Niven's Third Law" } } + white{ ": It is easier to destroy than to create." } + black{ bold{ " - Larry Niven, science fiction author" } } puts white{ bold{ "Niven's Fourth Law" } } + white{ ": Ethics change with technology." } + black{ bold{ " - Larry Niven, science fiction author" } } puts white{ bold{ "Niven's Fifth Law" } } + white{ ": The only universal message in science fiction: There exist minds that think as well as you do, but differently." } + black{ bold{ " - Larry Niven, science fiction author" } } puts white{ bold{ "Niven's Law of Time Travel" } } + white{ ": If the universe of discourse permits the possibility of time travel and of changing the past, then no time machine will be invented in that universe." } puts white{ bold{ "Niven's First Law of Writing" } } + white{ ": Writers who write for other writers should write letters." } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } puts white{ bold{ "Niven's Second Law of Writing" } } + white{ ": Never be embarrassed or ashamed about anything you choose to write. (Think of this before you send it to a market.)" } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } puts white{ bold{ "Niven's Third Law of Writing" } } + white{ ": Stories to end all stories on a given topic, don't." } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } puts white{ bold{ "Niven's Fourth Law of Writing" } } + white{ ": It is a sin to waste the reader's time." } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } puts white{ bold{ "Niven's Fifth Law of Writing" } } + white{ ": If you've nothing to say, say it any way you like. Stylistic innovations, contorted story lines or none, exotic or genderless pronouns, internal inconsistencies, the recipe for preparing your lover as a cannibal banquet: feel free. If what you have to say is important and/or difficult to follow, use the simplest language possible. If the reader doesn't get it then, let it not be your fault." } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } puts white{ bold{ "Niven's Sixth Law of Writing" } } + white{ ": Everybody talks first draft." } + black{ bold{ " - Larry Niven, science fiction author (1989)" } } # Henry Poincaré puts "----- poincaré ------" puts white{ bold{ "C'est avec l'intuition qu'on trouve, c'est avec la logique qu'on prouve." } } + white{ " By logic we prove, by intuition we discover." } + black{ bold{ " - Henry Poincaré" } } puts white{ "To know how to criticize is good, to know how to create is better." } + black{ bold{ " - Henry Poincaré" } } puts white{ bold{ "Deviner avant de démontrer!" } } + white{ " Guessing before proving." } + black{ bold{ " - Henry Poincaré" } } puts white{ "To doubt everything and to believe everything are two equally convenient solutions; each saves us from thinking." } + black{ bold{ " - Henry Poincaré" } } puts white{ "Mathematics is the art of giving the same name to different things." } + black{ bold{ " - Henry Poincaré" } } puts white{ "Mathematicians do not deal in objects, but in relations between objects; thus, they are free to replace some objects by others so lone as the relations remain unchanged. Content to them is irrelevant; they are interested in form only." } + black{ bold{ " - Henry Poincaré" } } puts white{ "Experiment is the sole source of truth. It alone can teach us something new; it alone can give us certainty." } + black{ bold{ " - Henry Poincaré" } } puts "----- richard stallman -----" puts white{ "With software, " } + white{ bold{ "either the users control the program, or the program controls the users." } } + black{ bold{ " - Richard Stallman" } } puts white{ bold{ "Americans have shown that they are politically naïve." } } + white{ " If you look at how successful plutocratic candidates are in the U.S. - you can get Americans to vote to give their money to the rich. You have to just say certain predictable, silly things to them, and most of them will be fooled." } + black{ bold{ " - Richard Stallman" } } puts white{ "Even though it's sad to see people being foolish, there's no use giving up." } + white{ bold{ " Nothing good can come of giving up. That just means you lose completely, right away." } } + black{ bold{ " - Richard Stallman" } } puts "----- randoms on distribution -----" # 90/90 aka. 'Rule of Credibility' puts white{ bold{ "90:90 Rule (Rule of Credibility)" } } + white{ ": 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." } + black{ bold{ " - Tom Cargill, Bell Labs" } } # 80/20 aka. 'Pareto Principle' puts white{ bold{ "80:20 Rule (Pareto Principle)" } } + white{ ": 80% of the state of the system derives from 20% of the causes." } + black{ bold{ " - Italian economist Vilfredo Pareto (1906)" } } puts white{ bold{ "80:20 Rule (Pareto Principle) - Bug Fixing Corollary" } } + white{ ": Fixing 20% of the bugs resolves 80% of the issues." } + black{ bold{ " - Microsoft" } } puts white{ bold{ "Law of the Vital Few" } } + white{ ": 20% of people do 80% of the work." } + black{ bold{ " - Anonymous" } } puts white{ bold{ "20 percent of the code has 80 percent of the errors." } } + white{ " Find them, fix them!" } + black{ bold{ " - Lowell Arthur" } } # law of probability dispersal puts white{ bold{ "Law of Probability Dispersal" } } + white{ ": Whatever it is that hits the fan will not be evenly distributed." } # bystander effect puts white{ bold{ "Bystander Effect" } } + white{ ": a social psychological phenomenon in which individuals do not offer any means of help to a victim when other people are present, and the probability of help is inversely related to the number of bystanders. In other words, the greater the number of bystanders, the less likely it is that any one of them will help." } + black{ bold{ " - Wikipedia" } } puts white{ bold{ "Less than 10 percent of the code has to do with the ostensible purpose of the system" } } + white{ "; the rest deals with input-output, data validation, data structure maintenance, and other housekeeping." } + black{ bold{ " - Mary Shaw, Carnegie-Mellon University" } } # randoms - change puts "------ randoms on change ------" puts white{ bold{ "A rolling stone gathers no moss." } } + black{ bold{ " - Condensed form of Publilius Syrus' (first century BCE) observation that people who are always moving, with no roots in one place, avoid responsibilities and cares. Another interpretation equates 'moss' to 'stagnation'; stagnant people lack fresh ideas and creativity." } } puts white{ bold{ "Precautionary Principle" } } + white{ ": If an action or policy has a suspected risk, in the absence of consensus, the burden of proof that it is not harmful falls upon those taking the action." } puts white{ bold{ "Peter Principle" } } + white{ ": People will tend to be promoted until they reach their 'position of incompetence'." } + black{ bold{ " - After Laurence J. Peter, Raymond Hull's co-author of 'The Peter Principle: Why Things Always Go Wrong' (1975)" } } puts white{ bold{ "No battle was ever won according to plan," } } + white{ " but no battle was ever won without one." } + black{ bold{ " - Dwight D. Eisenhower" } } puts white{ "Don't keep doing what doesn't work." } puts white{ "Good judgement comes from experience, and experience comes from bad judgement." } + black{ bold{ " - Fred Books, University of North Carolina" } } puts white{ "I think " } + white{ bold{ "I've had milk last longer than some JavaScript frameworks" } } + white{ "." } + black{ bold{ ' - @iamdevloper (2014)' } } puts white{ "Technological progress was much faster than political progress." } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ "Those change-over things are really severe. Really severe problems." } + black{ bold{ " - Joseph Henry Condon, Bell Labs" } } puts white{ bold{ "Perhaps we have overrated roots as a psychic need. " } } + white{ "Maybe the greater urge, the deeper and more ancient is the need, the will, the hunger to be somewhere else." } + black{ bold{ " - John Steinbeck" } } puts white{ "Wisdom is the accumulation of knowledge and experience, living long enough to reflect on it, make sense of it, and apply it to oneself and others." } + black{ bold{ " - Abraham Maslow" } } puts white{ bold{ "A third of people are really enthusiastic, a third have big eyes, and the other third think we are crazy." } } + white{ " That's how it goes with innovations." } + black{ bold{ " - Carel De Vries" } } puts white{ "We somehow have to start trying to act as if there is going to be a future." } + black{ bold{ " - Brian Eno" } } puts white{ bold{ "Technology does not drive change." } } + white{ " It is our collective response to the options and opportunities presented by technology that drives change." } + black{ bold{ " - Paul Saffo, Stanford Professor" } } puts white{ "This 'telephone' has too many shortcomings to be seriously considered as a practical form of communication. The device is inherently of no value to us. What use could this company make of an electrical toy?" } + black{ bold{ " - Western Union (1878)" } } puts white{ "I see how it works. It rings, and you have to get up." } + black{ bold{ " - Degas, on the telephone" } } puts white{ "Radio has no future." } + black{ bold{ " - Lord Kelvin, British mathematician and physicist (~1897)" } } puts white{ "Heavier-than-air flying machines are impossible." } + black{ bold{ " - Lord Kelvin, British mathematician and physicist (~1895)" } } puts white{ "What can be more palpably absurd than the prospect held out of locomotives traveling twice as fast as stagecoaches?" } + black{ bold{ " - The Quarterly Review, England (March 1825)" } } puts white{ bold{ "There is not the slightest indication that [nuclear energy] will ever be obtainable." } } + white{ " It would mean that the atom would have to be shattered at will." } + black{ bold{ " - Albert Einstein (1932)" } } puts white{ "Airplanes are interesting toys but of no military value." } + black{ bold{ " - Marshal Ferdinand Foch, French military strategist (1911)" } } puts white{ "Space travel is utter bilge." } + black{ bold{ " - Dr. Richard van der Reit Wooley, Astronomer Royal, space advisor to the British government, 1956. (Sputnik orbited the earth the following year.)" } } puts white{ "If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done." } + black{ bold{ " - Peter Ustinov" } } puts white{ "It is difficult to say what is impossible, for the dream of yesterday is the hope of today and the reality of tomorrow." } + black{ bold{ " - Robert Goddard (1882-1945)" } } puts white{ "As I like to say to my American hedge fund friends, " } + white{ bold{ "the Hamptons is not a defensible position." } } + black{ bold{ " - Mark Blyth (professor of Political Economy at Brown University), on the rise in popular rejection of traditional politics (2016)" } } puts white{ "Chaos is order yet undeciphered." } + black{ bold{ " - 'The Double', José Saramago (2002)" } } puts white{ "The isms go, the ist dies, " } + white{ bold{ "art remains" } } + white{ "." } + black{ bold{ " - Vladimir Nabokov" } } puts white{ bold{ "Man the food-gatherer reappears incongruously as information-gatherer." } } + white{ " In this role, electronic man is no less a nomad than his Paleolithic ancestors." } + black{ bold{ " - Marshall McLuhan (1967)" } } puts white{ bold{ "It is hard to picture the world before Shannon as it seemed to those who lived in it." } } + white{ " It is difficult to recover innocence, ignorance, and lack of understanding." } + black{ bold{ " - John Robinson Pierce, on the world before Claude Shannon and the information age" } } puts white{ bold{ "The invention of printing, though ingenious, compared with the invention of letters is no great matter." } } + black{ bold{ " - Thomas Hobbes, resisting new media hype in the 17th century" } } puts white{ bold{ "Each new technology turns its predecessor into an art form." } } + black{ bold{ " - Marshall McLuhan" } } puts white{ "With the PC, I could see that " } + white{ bold{ "computers were fun" } } + white{ ", and that is " } + white{ bold{ "the real reason why all innovations come into widespread use" } } + white{ "." } + black{ bold{ " - Leo Beranek, President of BBN, acoustics designer and internet pioneer" } } puts white{ "The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry." } + black{ bold{ " - Henry Petroski" } } puts white{ "In 1299, zero was banned in Florence" } + black{ bold{ " [...] " } } + white{ "Incredibly " } + white{ bold{ "it wasn't until the 15th Century that zero, along with all the other Arabic numbers, was finally accepted" } } + white{ ". Just to put it in context, by then Oxford University in England had been around for centuries and the printing press was just up and running." } + black{ bold{ " - Hannah Fry, BBC future" } } puts white{ "I am less concerned with Terminator scenarios." } + white{ bold { " If current trends continue, people are going to rise up well before the machines do." } } + black{ bold{ " - Andrew McAfee, MIT economist on AI (2017)" } } puts white{ bold{ "To make error is human." } } + white{ " To propagate error to all server in automatic way is #devops." } + black{ bold{ " - @devops_borat" } } puts white{ "In #devops is turtle all way down but at bottom is perl script." } + black{ bold{ " - @devops_borat" } } puts white{ bold{ "There are two kinds of idiots" } } + black{ bold{ ":" } } + white{ ' the idiot who says "this is new, so it must be better" and the idiot who says "this is old, so it must be better". I try not to be either kind.' } + black{ bold{ " - @dsr_" } } puts white{ "The last 20 years of Internet policy have been dominated by the copyright war, but the war turns out only to have been a skirmish. " } + white{ bold{ "The coming century will be dominated by war against the general purpose computer, and the stakes are the freedom, fortune and privacy of the entire human race." } } + black{ bold{ " - Cory Doctorow, at 28C3 (2011)" } } puts white{ bold{ "Keep basic interfaces stable." } } + white{ " Since an interface embodies assumptions that are shared by more than one part of a system, and sometimes by a great many parts, it is very desirable not to change the interface." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Keep a place to stand if you do have to change interfaces." } } + white{ " One is the compatibility package, which implements an old interface on top of a new system. This allows programs that depend on the old interface to continue working. Many new operating systems have kept old software usable by simulating the supervisor calls of an old system. Usually these simulators need only a small amount of effort compared to the cost of reimplementing the old software, and it is not hard to get acceptable performance. At a different level, the IBM 360/370 systems provided emulation of the instruction sets of older machines like the 1401 and 7090. Taken a little further, this leads to virtual machines, which simulate (several copies of) a machine on the machine itself." } + black{ bold{ " - Butler W. Lampson (1983)" } } puts white{ bold{ "Rather bear those ills we have" } } + white{ "; Than fly to others that we know not of." } + black{ bold{ " - William Shakespeare, 'Hamlet', Polonius' advice to Laertes (~1600)" } } puts white{ bold{ "The California Roll Rule" } } + white{ ": People don't want something truly new, they want the familiar done differently." } puts white{ "The best way to predict the future is to invent it." } puts white{ "The future ain't what it used to be." } + black{ bold{ " - Yogi Berra" } } puts white{ bold{ "Features common to the telegraph networks of the 19th century and the internet of today" } } + white{ ": hype, scepticism, hackers, on-line romances and weddings, chat-rooms, flame wars, information overload, predictions of imminent world peace, and so on." } + black{ bold{ " - Tom Standage, author of 'The Victorian Internet'" } } puts white{ "The telegraph in its day was much more revolutionary than the Internet is in our day." } + black{ bold{ " - Jimmy Wales, founder of Wikipedia" } } puts white{ "Most people want to stay 'asleep' in The Swamp of Familiarity." } + black{ bold{ " - @da02" } } puts white{ bold{ '"The internet is broken. It has been for a while"' } } + white{ " are the first words of the article you cannot read because of Javascriptosis. Quite ironic." } + black{ bold{ " - @astrobe_ on 'The Blockstack Browser: A Gateway to a New, Decentralized Internet' (2017)" } } puts white{ bold{ "You never change things by fighting the existing reality." } } + white{ " To change something, build a new model that makes the existing model obsolete." } + black{ bold{ " - Buckminster Fuller" } } puts white{ "Replaceability is just system-level maintainability." } + black{ bold{ " - @andrewstuart2" } } puts white{ bold{ "I'm optimistic about people. I'm just pessimistic about human systems." } } + white{ " They don't seem particularly good at taking care of business long-term." } + black{ bold{ " - James Cameron, director of 'Terminator', 2017" } } puts white{ "By giving networks like Google and Facebook control of the present, we cede our freedom to choose our future." } + black{ bold{ " - Jonathan Taplin (2017)" } } puts white{ "Our success in being human has so far derived from our honoring deviance more than tradition." } + black{ bold{ " - John B. Calhoun" } } puts white{ "I've seen Oracle implementations literally cause production employees of 20+ years walk off the job." } + black{ bold{ " - @froindt" } } puts white{ bold{ "It's not true that there's nothing new under the sun." } } + white{ " There are some domains where there's almost nothing new. But there's a big difference between nothing and almost nothing, when it's multiplied by the area under the sun." } + black{ bold{ " - Paul Graham (2017)" } } puts white{ "Unless " } + white{ bold{ "you are very rich and very eccentric" } } + white{ ", you will not enjoy the luxury of having a computer in your own home." } + black{ bold{ " - Ed Yourdon, 'Techniques of Program Structure and Design', 1975" } } puts white{ "You never step in to the same river twice." } + black{ bold{ " - Heraclitus" } } puts white{ bold{ "Some may say that seeking a universal learner is the epitome of techno-hubris. But dreaming is not hubris." } } + white{ " Maybe the Master Algorithm will take its place among the great chimeras, alongside the philosopher's stone and the perpetual motion machine. Or perhaps it will be more like finding the longitude at sea, given up as too difficult until a lone genius solved it. More likely, it will be the work of generations, raised stone by stone like a cathedral. The only way to find out is to get up early one day and set out on the journey." } + black{ bold{ " - Pedro Domingos, 'The Master Algorithm' (2015)" } } puts white{ bold{ "Computers will die." } } + white{ " They're dying in their present form. They're just about dead as distinct units: a box, screen, keyboard. They're melting in to the texture of everyday life." } + black{ bold{ " - 'Cosmopolis: A Novel', Don DeLillo (2004)" } } puts white{ "Even the word computer sounds backward and dumb." } + black{ bold{ " - 'Cosmopolis: A Novel', Don DeLillo (2004)" } } puts white{ bold{ "We thought computing would be artisanal." } } + white{ " We did not imagine great monopolies." } + black{ bold{ " - Ted Nelson, inventor of hypertext" } } puts white{ "Like all the old timers, I haven't changed my vision at all." } + black{ bold{ " - Ted Nelson, inventor of hypertext" } } puts white{ "Early adopters never switch." } + black{ bold{ " - Ted Nelson, inventor of hypertext" } } puts white{ bold{ "The first time you build anything it's artisanal." } } + white{ " Look at the process of building the first doll, or the first car etc... of a multi million run of the same object." } + white{ bold{ " The difference in software is once you're done with the first one, there's nothing else to do." } } + black{ bold{ " - @luckydata" } } puts white{ "If you want to learn something new, read an old book." } puts white{ bold{ "Only a fool learns from his own mistakes." } } + white{ " The wise man learns from the mistakes of others." } + black{ bold{ " - Otto von Bismarck" } } puts white{ "Just as there is a best size for every animal, so the same is true for every human institution." } + black{ bold{ " - J. B. S. Haldane (1928)" } } puts white{ bold{ "We're talking about the future." } } + white{ " We're working in a market that doesn't even exist yet." } + black{ bold{ " - Steve Jobs' character, 'Jobs' (2013)" } } puts white{ "Philosophy is dead." } + black{ bold{ " - Stephen Hawking" } } puts white{ "When you change the way you look at things, the things you look at change." } + black{ bold{ " - Max Planck" } } puts white{ "They always say time changes things, but you actually have to change them yourself." } + black{ bold{ " - Andy Warhol" } } puts white{ "You miss 100% of the shots you don't take." } + black{ bold{ " - Wayne Gretzky" } } puts white{ "The truism these days is that " } + white{ bold{ "you are either taking care of people, making software, or being replaced by software" } } + white{ "." } + black{ bold{ " - jaggederest" } } puts white{ "It went as an unspoken, unquestionable assumption that telephony was the right model for data networking." } + black{ bold{ " - Van Jacobson" } } puts white{ "If you think about it, democracy is still in the 19th century. Your communication with your representatives and ministers amounts to a few bits per year. It's ridiculous." } + black{ bold{ " - Pedro Domingos" } } puts white{ bold{ "Technology always makes less progress than you expect in the short term and more progress in the long term, and AI is the ultimate example of this." } } + white{ " The AI systems that we use in everyday life today are still incredibly stupid. There's no intelligence in Alexa or Siri." } + black{ bold{ " - Pedro Domingos" } } puts white{ "There are no civilized people yet." } + black{ bold{ " - Jacque Fresco" } } puts white{ bold{ "All repetitious jobs will be phased out." } } + white{ " We feel that machines ought to do the filthy or the reptitious or the boring jobs, that man has to be free to pursue the higher things, the higher possibilities of man." } + black{ bold{ " - Jacque Fresco" } } puts white{ "You're not really doing something very revolutionary if you're not running into some dead ends." } + black{ bold{ " - Andy Hertzfeld" } } puts white{ "You don't have a clear idea of what it's going to be when you start, you have an inkling and then, each step tells you what the next step is but you don't know what the next step is until you've gotten to a certain point." } + black{ bold{ " - Andy Hertzfeld" } } puts white{ "We thought we were making an exquisite product, the best possible thing at the time but then, we figured, in a few years we'd make something a lot better, completely different. We didn't realize the architecture we were putting in place could last five years, let alone 10, 20, 30 years." } + black{ bold{ " - Andy Hertzfeld" } } puts white{ "I think the essential way to do anything great, you have to have some incremental development philosophy because you're just going to be wrong with your grand design that you don't iterate on." } + black{ bold{ " - Andy Hertzfeld" } } puts white{ "The only way to make a wheeled vehicle move is to hitch it to a horse." } + black{ bold{ " - Pat Brown, Founder, Impossible Foods" } } puts white{ "When debugging, novices insert corrective code; experts remove defective code." } + black{ bold{ " - Richard Pattis" } } puts white{ "There is fashion, there is fad. Some is good, some is bad. And the joke, is rather sad. That it's all just a little bit of history repeating..." } + black{ bold{ " - Alex Gifford" } } puts white{ "When I was your age, I sent 24 people to the " } + white{ bold{ "actual moon" } } + white{ " with my software in 4K of RAM and here I am clicking your button and it takes ten seconds to load a 50 megabyte video ad and then it crashes." } + black{ bold{ " - @natecull, on Margaret Hamilton perspective" } } puts white{ "Oh you know for years, we've been making wonderful things. We make your iPods. We make phones. We make them better than anybody else, but we don't come up with any of these ideas. So we went on a tour of America talking to people at Microsoft, at Google, at Apple, and we asked them a lot of questions about themselves, just the people working there. And " } + white{ bold{ "we discovered they all read science fiction" } } + white{ "… so we think maybe it's a good thing." } + black{ bold{ " - Neil Gaiman, paraphrasing a Chinese Communist Party official at the 2007 China SF/Fantasy Conference, Chengdu." } } puts white{ "Experience doesn't matter. The rate of learning matters. First principles thinking matters." } + black{ bold{ " - Vinod Khosla" } } puts white{ bold{ "A business plan is completely irrelevant" } } + white{ ", other than to judge how someone's thought about a problem... not what they're going to do." } + black{ bold{ " - Vinod Khosla" } } puts white{ "The future is not knowable, but it is 'inventable' and inevitable and discoverable through iterative learning and trial and error. Therefore, great entrepreneurs and technologists, please invent the future you want!" } + black{ bold{ " - Vinod Khosla" } } puts white{ "Few large innovations will come out of any institutional player." } + black{ bold{ " - Vinod Khosla" } } puts white{ "First they ignore you, then they laugh at you, then they fight you, then you win." } + black{ bold{ " - Mahatma Gandhi" } } puts white{ "Effect lasts only as long as its cause." } + black{ bold{ " - Tamil saying" } } puts white{ "The effect lasts longer than its cause." } + black{ bold{ " - Tamil saying" } } puts white{ "A dystopian technology future overran our lives before we were ready." } + black{ bold{ " - Roger McNamee, early Facebook investor" } } puts white{ "Our brains evolved for millions of years to operate in groups of less than 100. " } + white{ bold{ "Social media is basically high fructose corn syrup for our dopamine system." } } + white{ " Within a span of roughly 20 years the way we live our lives and communicate with other humans changed massively." } puts white{ "Insanity is doing the same thing over and over and expecting different results." } puts white{ "Origin of man now proved... he who understands baboon would do more towards metaphysics than Locke." } + black{ bold{ " - Charles Darwin (1838)" } } puts white{ bold{ "Bamboo law" } } + black{ bold{ ": " } } + white{ "A bamboo plant grew only a few centimeters per day for 5 years. At 5 years, it suddenly began to grow 30 centimeters per day, and reached 15 meters height in just six weeks. It was discovered that it was working underground, building a large root network to facilitate future growth." } puts white{ bold{ "I visualize a time when we will be to robots what dogs are to humans." } } + white{ " And I am rooting for the machines." } + black{ bold{ " - Claude Shannon" } } puts white{ bold{ "Hipster Effect"} } + black{ bold{ ": " } } + white{ "Hipsters initially act randomly but then undergo a phase transition into a synchronized state." } # https://www.technologyreview.com/s/613034/the-hipster-effect-why-anti-conformists-always-end-up-looking-the-same/ puts white{ "In many cases, it's easier to automate a white collar job these days with software than it is to automate a blue collar job requiring flexible physical tasks with robotics." } + black{ bold{ " - @mdorazio" } } # https://www.theguardian.com/commentisfree/2019/mar/15/capitalism-destroying-earth-human-right-climate-strike-children puts white{ "Every generation, everywhere, shall have an equal right to the enjoyment of natural wealth." } + black{ bold{ " - George Monbiot (2019): proposed replacement of 'all human beings are born free and equal in dignity and rights' in the UN Universal Declaration of Human Rights to account for inter-generational theft through environmental destruction." } } puts white{ "Computers in the future may have only 1,000 vacuum tubes and perhaps weigh 1.5 tons." } + black{ bold{ " - Popular Mechanics (1949)" } } puts white{ "Almost everyone involved in the personal computer revolution was a child of the sixties. We arrived on the scene with a mission to change the world..." } + black{ bold{ " - Peter R. Jennings, co-founder of 'VisiCalc' publisher VisiCorp, author of 'MicroChess'" } } puts white{ "Management problems and principles are rooted in time. The critical task for management in each revolutionary period is to find a new set of organizational practices that will become the basis for managing the next period of evolutionary growth." } + black{ bold{ " - Larry E. Greiner, 'Evolution and Revolution as Organizations Grow' (1972)" } } puts white{ "I think there's a risk of sending a lot of bright, productive people off to tilt at technological/interface/regulatory windmills in a way that leaves fundamental trust issues out of scope." } + black{ bold{ " - @abathur" } } puts white{ "Old man yells at cloud." } + black{ bold{ " - @moonbug" } } puts white{ "The topic became – primarily in the USA – prematurely known as 'computer science' – which, actually, is like referring to surgery as 'knife science' – and it was firmly implanted in people's minds that computing science is about machines and their peripheral equipment." } + black{ bold{ " - Edsger Dijkstra (1986)" } } puts white{ "The problems of the real world are primarily those you are left with when you refuse to apply their effective solutions." } + black{ bold{ " - Edsger Dijkstra (1988)" } } puts white{ bold{ "All inventions have their origin either in the desire to get something new, or in the desire to get something more cheaply." } } + white{ " The former class would of course preponderate at first, since the tendency to acquire is generally greater than the tendency to save; and primitive man feels first of all the instinctive impulse to expand his powers. " } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "As we draw nearer and nearer to our own times, we find the cheapening devices gaining ground more and more in number and prominence." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "At first, outlets for superfluous workmen were readily found." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "Improvements crowd fast upon one another, and each means a few more men out of the way." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "It is far easier to shorten or expedite travel than to find a new country; it is far easier to simplify the manufacture of old things than to devise radically new ones." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "One may almost say that every labor-saving device is also a material-saving device. Its effect in stimulating demand for the articles which it produces and for those which are used in it is largely off-set by its effect in destroying demand for other articles." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "Even the more complicated operations, such as the manufacture of brooms, are performed automatically and rapidly by a single machine, with very little human aid." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "Conservatism is giving way every day before the demonstration of increased utility, convenience, and cheapness." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "The chief revolution will be the general substitution of unintelligent matter for human bodies in nearly all subordinate work, and the greater liberation of the human mind and will." } + black{ bold{ " - W. H. Babcock, 'The Future of Invention' (1879)" } } puts white{ "Species of the most nauseating cake … covered over with slices of pomodoro or tomatoes, and sprinkled with little fish and black pepper and I know not what other ingredients, it altogether looks like a piece of bread that has been taken reeking out of the sewer." } + black{ bold{ " - Samuel Morse, inventor of the telegraph, on pizza (1831)" } } puts white{ "Ignorance may be bliss, but only if you can remain ignorant until the absolute end." } + black{ bold{ " - @nugget" } } puts white{ "When I was a sperm I had a lot to learn." } puts white{ bold{ "sic transit gloria mundi" } } + white{ ": Thus passes the glory of the world." } puts white{ bold{ "Experiencing new things" } } + white { " is the best way to keep the mind young, pliable and growing." } + black{ bold{ " - Daniel J. Levitin, neuroscientist" } } puts white{ "A dynamic system has at least the chance to reverse or repair damage done to it due to entropy, a static one has not." } + black{ bold{ " - @ravingraven" } } puts white{ bold{ "I have read with dismay your presentation \"Draft Ethernet Overview\"." } } + white{ " I find your analysis of the proposed interconnection lacking technical credibility. Quantitative statistical analysis would show that your proposed system would be a failure." } + black{ bold{ " - Robert Z. Bachrach, Xerox PARC (1974)" } } # The following quotes from videos on https://clp.bbcrewind.co.uk/ puts white{ "It takes man-years of work to prepare even simple software programs." } + white{ bold{ " Software is now a major cost in computers, often as much as 40% of any new application." } } + black{ bold{ " - BBC Horizon (1978)" } } puts white{ bold{ "Some people believe that we must change from hardware to software" } } + white{ ": that we should stake our future on the chips - not by making them, but by programming them - and that we should use our software skills to develop high technology industries around them." } + black{ bold{ " - BBC Horizon (1978)" } } puts white{ "What will happen then to the men in today's jobs? " } + white{ bold{ "Can we all live on the wealth of automatic factories and the earnings of an elite band of 60,000 software engineers?" } } + white{ " It's time to think about the future..." } + black{ bold{ " - BBC Horizon (1978)" } } puts white{ "Undoubtedly, I think we're already in to a second industrial revolution." } + black{ bold{ " - BBC Horizon (1978)" } } puts white{ "Silicon Valley, I am told, is filled with British experts." } + black{ bold{ " - BBC Horizon (1978)" } } puts white{ "Until recently, changing the design of a biscuit-cutting mold has involved a whole series of handcrafted steps." } + black{ bold{ " - BBC (1981)" } } puts white{ "Some white collar staffs, particularly clerks, will be very substantially affected by new technology." } + black{ bold{ " - BBC (1981)" } } puts white{ "Distributed computer networks are beginning to have an effect in the high street." } + black{ bold{ " - BBC (1981)" } } puts white{ "We're already being seduced by the glossy image of life with microcomputers." } + black{ bold{ " - BBC (1982)" } } puts white{ bold{ "And now, irony of ironies, the information is finally fed in to a computer." } } + white{ " The computer which is kept in the heart of the very clearing center in which all those people were shuffling paper." } + black{ bold{ " - BBC (1982)" } } puts white{ "Incompatible machines represent an old problem in the computer field." } + black{ bold{ " - Marill & Roberts, 'Toward a cooperative network of time-shared computers' (1966)" } } puts white{ "The establishment of a network may lead to a certain amount of specialization among the cooperating installations." } + black{ bold{ " - Marill & Roberts, 'Toward a cooperative network of time-shared computers' (1966)" } } puts white{ "In a few years, men will be able to communicate more effectively through a machine than face to face." } + black{ bold{ " - J.C.R. Licklider and R. W. Taylor (1968)" } } puts white{ "Our emphasis on people is deliberate." } + black{ bold{ " - J.C.R. Licklider and R. W. Taylor (1968), describing the first online meeting" } } puts white{ "Nothing can now be believed which is seen in a newspaper." } + black{ bold{ " - Thomas Jefferson (1807)" } } puts white{ "You don't have to like it, but you need to understand it if you're proposing to replace it." } + black{ bold{ " - John Levine (2020)" } } puts white{ "The invention of the wheel was a huge job killer." } + black{ bold{ " - @dfilppi" } } puts white{ "The product of the human brain has escaped the control of human hands. This is the comedy of science."} + black{ bold{ " - Karel Čapek (1921), inventor of the term 'robot'" } } puts white{ bold{ "The modern scientist" } } + white{ ", untroubled by metaphysical ideas; scientific experiment is to him the road to industrial production. He is not concerned to prove, but to manufacture." } + black{ bold{ " - Karel Čapek (1921), inventor of the term 'robot'" } } puts white{ "If I had asked people what they had wanted, they would have said faster horses." } + black{ bold{ " - Henry Ford" } } puts white{ bold{ "1970" } } + black{ bold{ ": " } } + white{ "We're going to build a global network that can withstand a nuclear war. " } + white{ bold{ "2021" } } + black{ bold{ ": " } } + white{ "AWS is down and my coffee machine doesn't work." } + black{ bold{ " - @VessOnSecurity" } } puts white{ "The finest candlemakers in the world couldn't even think of electric lights." } + black{ bold{ " - Allan Savory" } } puts white{ "Who would not have been laughed at if he had said in 1800 that metals could be extracted from their ores by electricity or that portraits could be drawn by chemistry." } + black{ bold{ " - Michael Faraday" } } puts white{ "Why should we hesitate to toss the old views overboard?" } + black{ bold{ " - Alfred Wegener" } } puts white{ bold{ "There's a lot of value in dead things." } } + white{ " They're tasty and they don't fight back." } + black{ bold{ " - Dave Vandenbout" } } puts white{ "Let the future tell the truth, and evaluate each one according to his work and accomplishments. " } + white{ bold{ "The present is theirs; the future, for which I really worked, is mine." } } + black{ bold{ " - Nikola Tesla" } } puts white{ "I never lose. I either win or I learn." } + black{ bold{ " - Nelson Mandela" } } puts white{ "In a sense, we have the printing press, but people are still illiterate." } + black{ bold{ " - @closedloop129" } } puts white{ "When a machine takes over one specific job, we stop thinking of that as having been a human job, and let the human messes go out of our heads." } + black{ bold{ " - @JohnHaugeland" } } puts white{ "There was a time when fast food restaurants sliced their own cheese; ground their own beef; cut and cooked their own french fries; mixed their own sodas." } + black{ bold{ " - @JohnHaugeland" } } puts white{ "You don't live long enough to understand the progress of piecemeal automation." } + black{ bold{ " - @JohnHaugeland" } } puts white{ bold{ "Any proposal must be viewed as follows." } } + white{ " Do not pay overly much attention to the benefits that might be delivered were the law in question to be properly enforced, rather " } + white{ bold{ "one needs to consider the harm done by the improper enforcement of this particular piece of legislation" } } + white{ ", whatever it might be." } + black{ bold{ " - Lyndon B. Johnson" } } puts white{ bold{ "Change is inevitable." } } + white{ " Except from a vending machine." } # https://www.theguardian.com/business/2022/apr/14/a-day-in-the-life-of-almost-every-vending-machine-in-the-world puts white{ "Function reforms form, perpetually." } + black{ bold{ " - Stewart Brand, 'How Buildings Learn' (1994)" } } puts white{ bold{ "What ordinary people once made, they buy; and what they once fixed for themselves, they replace entirely or hire an expert to repair" } } + white{ ", whose expert fix often involves replacing an entire system because some miniature component has failed." } + black{ bold{ " - Matthew B. Crawford, 'Shop Class as Soulcraft' (2009)" } } puts white{ "They will never be able to pinpoint position that way!" } + black{ bold{ " - Unnamed US military service person on GPS, 1970s" } } puts white{ "Don't bolt new technology to an old process." } # https://spectrum.ieee.org/semiconductor-fabrication puts white{ "A laboratory curiosity, which may or may not ever amount to anything." } + black{ bold{ " - Instructor at General Electric on the transistor (1956)" } } # randoms - optimization / efficiency puts "------ randoms on optimization/efficiency ------" # snackwell is basically a domain-specific jevons in its original statement, therefore instead of a reasonable # restatement, we leave snackwell out in favour of jevons #puts white{ bold{ "Snackwell Effect" } } + white{ " (restatement of): Those seeking efficiency through optimization will consume with an increased frequency that partly negates the original gain." } puts white{ bold{ "Jevons Paradox" } } + white{ ": As technology progresses, the increase in efficiency with which a resource is used tends to increase (rather than decrease) the rate of consumption of that resource." } puts white{ bold{ "The First Rule of Program Optimization" } } + white{ ": Don't do it." } + black{ bold{ " - Michael Jackson" } } puts white{ bold{ "The Second Rule of Program Optimization" } } + white{ " (for experts only): Don't do it yet." } + black{ bold{ " - Michael Jackson" } } puts white{ "The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand." } + black{ bold{ " - Douglas W. Jones" } } puts white{ "Before optimizing, using a profiler." } + black{ bold{ " - Mike Morton" } } puts white{ "To speed up an I/O-bound program, begin by accounting for all I/O. Eliminate that which is unnecessary or redundant, and make the remaining as fast as possible." } + black{ bold{ " - David Martin" } } puts white{ "The fastest I/O is no I/O." } + black{ bold{ " - Nils-Peter Nelson" } } puts white{ "The cheapest, fastest and most reliable components of a system are those that aren't there." } + black{ bold{ " - Gordon Bell" } } puts white{ "Whenever possible, steal code." } + black{ bold{ " - Tom Duff, Bell Labs" } } puts white{ "Translating a working program to a new language or system takes 10 percent of the original development time or manpower or cost." } + black{ bold{ " - Douglas W. Jones, University of Iowa" } } puts white{ "Don't use the computer to do things that can be done efficiently by hand." } + black{ bold{ " - Richard Hill, Hewlett-Packard" } } puts white{ "Don't use hands to do things that can be done efficiently by the computer." } + black{ bold{ " - Tom Duff, Bell Labs" } } puts white{ "I'd rather write programs to write programs than write programs." } + black{ bold{ " - Dick Sites, Digital Equipment Corporation" } } puts white{ bold{ "Brooks' Law of Prototypes" } } + white{ ": Plan to throw one away, you will anyhow." } + black{ bold{ " - Fred Brooks, University of North Carolina" } } puts white{ bold{ "Brooks' Law of Prototypes (Zerouni's Corollary)" } } + white{ ": If you plan to throw one away, you will throw away two." } + black{ bold{ " - Craig Zerouni" } } puts white{ "Prototyping cuts the work to produce a system by 40 percent." } + black{ bold{ " - Larry Bernstein, Bell Communications Research" } } puts white{ "Furious activity is no substitute for understanding." } + black{ bold{ " - H. H. Williams" } } puts white{ "Make it work first before you make it work fast." } + black{ bold{ " - Bruce Whiteside" } } puts white{ "Make it right before you make it faster." } + black{ bold{ " - Jon Bentley" } } puts white{ "Omit needless words." } + black{ bold{ " - Strunk and White, 'The Elements of Style' (1919)" } } puts white{ bold{ "Spell create with an \'e\'." } } + black{ bold{ " - Ken Thompson (referring to design regrets on the UNIX creat(2) system call and the fallacy of premature optimization)" } } puts white{ "Keep it simple to make it faster." } + black{ bold{ " - Kernighan and Plauger, 'Elements of Programming Style'" } } puts white{ "Do not take shortcuts at the cost of clarity." } puts white{ "Thomas Edison was already famous for his telegraph technology and his huge hit with the record player. He had made a public show of turning the full focus of his massive laboratory to the question of electric light. A couple of years into the effort a reporter was visiting his lab and asked how close Edison was to coming up with a viable light bulb. Edison replied " } + white{ bold{ "\"We are on bulb number 732!\"" } } puts white{ bold{ "The No Free Lunch theorem" } } + black{ bold{ ": " } } + white{ "Any two optimization algorithms are equivalent when their performance is averaged across all possible problems " } + black{ bold{ "(if an algorithm performs well on a certain class of problems then it necessarily pays for that with degraded performance on the set of all remaining problems)." } } puts white{ "It brings everything to a certainty, which before floated in the mind indefinitely." } + black{ bold{ " - Samuel Johnson, on counting" } } puts white{ "Great artists ship." } + black{ bold{ " - Steve Jobs" } } puts white{ bold{ "One cannot make an omelette without breaking eggs" } } + white{ ", but it is amazing how many eggs one can break without making a decent omelette." } + black{ bold{ " - Charles P. Issawi" } } puts white{ "It is easy to optimize a correct system, but hard to correct an optimized system." } puts white{ bold{ "Any sufficiently complex system acts as a black box when it becomes easier to experiment with than to understand." } } + white{ " Hence, black-box optimization has become increasingly important as systems become more complex." } + black{ bold{ " - Google Vizier: a service for black-box optimization Golovin et al., KDD'17" } } # randoms - maintenance puts "------ randoms on maintenance ------" puts white{ bold{ "Maintenance lacks the glamour of innovation." } } + white{ " It is mostly noticed in its absence - the tear in a shirt, the mould on a ceiling, the spluttering of an engine." } + black{ bold{ " - The Economist, 2018-10-20" } } puts white{ "Some [assets] are like light bulbs, which work well until they stop altogether. [Others] are assumed to wear out in a 'straight line', deteriorating by the same amount each year. Others lose a steady percentage of their diminishing worth." } + black{ bold{ " - The Economist, 2018-10-20" } } puts white{ "How much do economies spend fighting decay? No one knows, partly because most maintenance is performed in-house, not purchased on the market. The best numbers are collected by Canada, where firms spent 3.3% of GDP on repairs in 2016, more than twice as much as the country spends on research and development." } + black{ bold{ " - The Economist, 2018-10-20" } } puts white{ "In a disposable society, to repair is to rebel." } + black{ bold{ " - The Economist, 2018-10-20" } } puts white{ "There is no trash with LEGO, and there is no trash in a forest." } + black{ bold{ " - Neil Gershenfeld" } } # steven levy puts '--- Steven Levy ---' puts white{ bold{ 'Access to computers - and anything which might teach you something about the way the world works - should be unlimited and total.' } } + white{ ' Always yield to the Hands-On Imperative!' } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } puts white{ bold{ 'All information should be free.' } } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } puts white{ bold{ 'Mistrust authority - promote decentralization.' } } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } puts white{ bold{ 'Hackers should be judged by their hacking' } } + white{ ', not criteria such as degrees, age, race, sex, or position.' } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } puts white{ bold{ 'You can create art and beauty on a computer.' } } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } puts white{ bold{ 'Computers can change your life for the better.' } } + black{ bold{ ' - Steven Levy, Hackers: Heroes of the Computer Revolution (1984)' } } # rob pike puts '--- Rob Pike ---' puts white{ "Pike's 1st Rule" } + white{ bold{ ": You can't tell where a program is going to spend its time." } } + white{ " Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is." } + black{ bold{ ' - Rob Pike, Notes on C Programming (1989)' } } puts white{ "Pike's 2nd Rule" } + white{ bold{ ": Measure." } } + white{ " Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest." } + black{ bold{ ' - Rob Pike, Notes on C Programming (1989)' } } puts white{ "Pike's 3rd Rule" } + white{ bold{ ": Fancy algorithms are slow when " } } + white{ "n" } + white{ bold{ " is small, and " } } + white{ 'n' } + white{ bold{ " is usually small." } } + white{ " Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy." } + black{ bold{ ' - Rob Pike, Notes on C Programming (1989)' } } puts white{ "Pike's 4th Rule" } + white{ bold{ ": Fancy algorithms are buggier than simple ones, and they're much harder to implement." } } + white{ " Use simple algorithms as well as simple data structures." } + black{ bold{ ' - Rob Pike, Notes on C Programming (1989)' } } puts white{ "Pike's 5th Rule" } + white{ bold{ ": Data dominates." } } + white{ " If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming." } + black{ bold{ ' - Rob Pike, Notes on C Programming (1989)' } } # marvin minsky (MIT AI lab) puts '--- marvin minsky ---' puts white{ "In general, " } + white{ bold{ "we're least aware of what our minds do best." } } + black{ bold{ ' - Marvin Minsky, MIT AI lab co-founder' } } puts white{ bold{ "We're more aware of simple processes that don't work well than of complex ones that work flawlessly." } } + black{ bold{ ' - Marvin Minsky, MIT AI lab co-founder' } } puts white{ "School is the best thing ever invented to keep you from thinking about something important for more than a few minutes." } + black{ bold{ " - Marvin Minsky" } } # hackers of history puts '--- Hackers of History ---' puts white{ 'The libertinistic rake is ' } + white{ bold{ 'anti-authoritarian' } } + white{ ',' } + white{ bold{ ' anti-normative' } } + white{ ', and ' } + white{ bold{ 'anti-traditional' } } + white{ '.' } + black{ bold{ ' - Wikipedia on 17th century \'Rake (character)\'' } } puts white{ 'Knowledge will forever govern ignorance, and a people who mean to be their own governors must arm themselves with the power knowledge gives. ' } + white{ bold{ 'A popular government without popular information or the means of acquiring it is but a prologue to a farce or a tragedy' } } + white{ '... or perhaps both.' } + black{ bold{ ' - U.S. Founding Father James Madison' } } puts white{ "There was a romantic tradition, in this country at least, of " } + white{ bold{ "the drifter Typesetters" } } + white{ ", who were good enough at the craft to find work wherever they traveled. They'd work in one town until they wanted a change and then drift on. They had a reputation for being well read, occasionally hard drinking, strong union men who enjoyed an independence particularly rare in the 19th century." } + black{ bold{ ' - Clark E. Coffee (founder of Graphion, a phototypesetting company in SF)' } } # robert david steele puts '--- Robert David Steele ---' puts white{ 'We are at the end of a five-thousand-year-plus historical process during which ' } + white{ bold{ 'human society grew in scale while it abandoned the early indigenous wisdom councils and communal decision-making. Power was centralised in the hands of increasingly specialised \'elites\' and \'experts\' who not only failed to achieve all they promised but used secrecy and the control of information to deceive the public' } } + white{ ' into allowing them to retain power over community resources that they ultimately looted.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ 'The preconditions of revolution exist in the UK, and most western countries' } } + white{ '. The number of active pre-conditions is quite stunning, from elite isolation to concentrated wealth to inadequate socialisation and education, to concentrated land holdings to loss of authority to repression of new technologies especially in relation to energy, to the atrophy of the public sector and spread of corruption, to media dishonesty, to mass unemployment of young men and on and on and on. [...] Preconditions are not the same as precipitants. ' } + white{ bold{ 'We are waiting for our Tunisian fruit seller' } } + white{ '. The public will endure great repression, especially when most media outlets and schools are actively aiding the repressive meme of \'you are helpless, this is the order of things.\' When we have a scandal so powerful that it cannot be ignored by the average Briton or American, we will have a revolution that overturns the corrupt political systems in both countries, and perhaps puts many banks out of business. Vaclav Havel calls this ' } + white{ bold{ '\'The Power of the Powerless.\' One spark, one massive fire.' } } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ 'The west has pursued an industrialisation path that allows for the ' } + white{ bold{ 'privatisation of wealth from the commons' } } + white{ ', along with ' } + white{ bold{ 'the criminalisation of commons rights' } } + white{ ' of the public, as well as ' } + white{ bold{ 'the externalisation of all true costs' } } + white{ '. Never mind that fracking produces earthquakes and poisons aquifers – corrupt politicians at local, state or province, and national levels are all too happy to take money for looking the other way. ' } + white{ bold{ 'Our entire commercial, diplomatic, and informational systems are now cancerous.' } } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ 'When trade treaties have secret sections - or are entirely secret - one can be certain the public is being screwed and the secrecy is an attempt to avoid accountability.' } + white{ bold{ ' Secrecy enables corruption. So also does an inattentive public enable corruption.' } } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ bold{ 'Predatory capitalism is based on the privatisation of profit and the externalisation of cost' } } + white{ '. It is an extension of the fencing of the commons, of enclosures, along with the criminalisation of prior common customs and rights. ' } + white{ bold{ 'What we need is a system that fully accounts for all costs' } } + white{ '. Whether we call that capitalism or not is irrelevant to me. But doing so would fundamentally transform the dynamic of present day capitalism, by making capital open source.' } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ bold{ 'We have over 5 billion human brains that are the one infinite resource available to us going forward' } } + white{ '. Crowd-sourcing and cognitive surplus are two terms of art for the ' } + white{ bold{ 'changing power dynamic between those at the top that are ignorant and corrupt, and those across the bottom that are attentive and ethical' } } + white{ '. The open source ecology is made up of a wide range of opens – open farm technology, open source software, open hardware, open networks, open money, open small business technology, open patents – to name just a few. The key point is that they must all develop together, otherwise the existing system will isolate them into ineffectiveness.' } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ 'I\'m not surprised. ' } + white{ bold{ 'Open source everything pretty much undermines everything the national security state stands for.' } } + black{ bold{ ' - Nafeez Ahmed, The Guardian, 2014-06-19, on ex-Marine, ex-CIA, Open Source Intelligence expert Robert David Steele\'s unanswered 2014-05-01 letter to US Vice President Joe Biden urging the establishment of an Open Source Agency to cut costs and increase accountability.' } } puts white{ 'The national security state is an expensive, ineffective monstrosity that is simply not fit for purpose. In that sense, ' } + white{ bold{ 'the national security state is it\'s own worst enemy – it\'s bound to fail.' } } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19, summarizing his book \'On Intelligence: Spies and Secrecy in an Open World\', with a foreword by Senator David Boren, immediate past chairman of the Senate Select Committee for Intelligence' } } puts white{ bold{ 'The National Security Agency (NSA) has not prevented any terrorist incidents. CIA cannot even get the population of Syria correct and provides no intelligence - decision-support - to most cabinet secretaries, assistant secretaries, and department heads' } } + white{ '. Indeed General Tony Zinni, when he was commander in chief of the US Central Command as it was at war, is on record as saying that he received, "at best," a meagre 4% of what he needed to know from secret sources and methods.' } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ bold{ 'The 1% are simply not as powerful as they, and we, assume them to be.' } } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19, as paraphrased by Nafeez Ahmed.' } } puts white{ 'Open source everything is about the five billion poor coming together to reclaim their collective wealth and mobilise it to transform their lives. ' } + white{ bold{ 'There is zero chance of the revolution being put down' } } + white{ '. Public agency is emergent, and ' } + white{ bold{ 'the ability of the public to literally put any bank or corporation out of business overnight is looming' } } + white{ '. To paraphrase Abe Lincoln, you cannot screw all of the people all of the time. We\'re there. All we lack is a major precipitant – our Tunisian fruit seller. When it happens ' } + white{ bold{ 'the revolution will be deep and lasting.' } } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert in The Guardian, 2014-06-19' } } puts white{ bold{ 'Top down power has failed in a most spectacular manner, and bottom-up consensus power is emergent.' } } + white{ ' "Not in my neighborhood" is beginning to trump "Because I say so."' } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ bold{ 'The one unlimited resource we have on the planet is the human brain' } } + white{ ' – the current strategy of 1% capitalism is failing because it is killing the Golden Goose at multiple levels. Unfortunately, ' } + white{ bold{ 'the gap between those with money and power and those who actually know what they are talking about has grown catastrophic' } } + white{ '. The rich are surrounded by sycophants and pretenders whose continued employment demands that they not question the premises. As Larry Summers lectured Elizabeth Warren, \'insiders do not criticise insiders.\'' } + black{ bold{ ' - Robert David Steele, The Guardian, 2014-06-19' } } puts white{ bold{ 'The national security state works for the City of London and Wall Street' } } + white{ ' – both are about to be toppled by a combination of Eastern alternative banking and alternative international development capabilities, and individuals who recognise that they have the power to pull their money out of the banks and not buy the consumer goods that subsidise corruption and the concentration of wealth. ' } + white{ bold{ 'The opportunity to take back the commons for the benefit of humanity as a whole is open – here and now.' } } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert in The Guardian, 2014-06-19' } } puts white{ 'My motto, a play on the CIA motto that is disgraced every day, is \'' } + white{ bold{ 'the truth at any cost lowers all other costs' } } + white{ '\'.' } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert in The Guardian, 2014-06-19' } } puts white{ 'Others wiser than I have pointed out that ' } + white{ bold{ 'nature bats last' } } + white{ '. We are at the end of an era in which lies can be used to steal from the public and the commons. We are at the beginning of an era in which truth in public service can restore us all to a state of grace.' } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert in The Guardian, 2014-06-19' } } puts white{ 'Security can only be attained through pure transparency not secrecy. Intelligence can only be maximally effective if it is open and collective.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ 'Human beings, who had spent centuries evolving away from slavery, were re-commoditized by the Industrial Era.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ 'Secular corruption is made possible by information asymmetries between those in power and the public.' } + white{ bold{ ' In the absence of transparency, truth, and trust, wealth is concentrated and waste is rampant.' } } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ "We live in a constellation of complex systems." } } + white{ ' It is impossible for any single person or even any single organization or nation in isolation to understand complex systems.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ 'We ' + bold{ 'harness the intelligence at the edge of the network' } } + white{ ' - at the point of impact - and the individual who is face to face with a problem in a microcosm is the tip of the human spear, able both to reach back to all other humans for assistance, and to act on behalf of all humans in the moment.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ 'Sustainability can only be achieved through mass collaboration and the achievement of panarchy' } } + white{ ' - a constellation of co-equal hybrid systems of self-governance in which all individuals freely choose where they wish to be heard, and have full access to all relevant information.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ 'The goal is to ' + bold{ 'reject money and concentrated, illicitly aggregated and largely phantom wealth' } } + white{ ' in favor of community wealth defined by community knowledge, community sharing of information, and community definition of truth derived in transparency and authenticity, the latter being the ultimate arbiter of shared wealth.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ 'It is our obligation to ' } + white{ bold{ 'speak of what we know as we know it, not dissembling or deceiving' } } + white{ '. This could be considered the \'moral truth\', and ultimately it is what can be validated by others so that a consensus can be arrived at and shared.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ 'Truth does change, both in the mind of man and in the larger reality where man resides' } } + white{ '. On the one hand, advancing knowledge and paradigm shifts can render old truths sadly insufficient, while bringing forward new, more robust truths. At the same time, actions taken by man while operating under old truths (for example, assuming that the Corps of Engineers can pave over the Mississippi wetlands and levee the largest river in the continental U.S. without having a Katrina-like consequence) create new truths - severe weather events that are not an Act of God but rather an Act of Man acting very badly over time and space.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ 'E Veritate Potens' } } + white{ ': From Truth, We (the People) Are Made Powerful' } + black{ bold{ ' - Winston Maike, Australian philosopher and researcher, as quoted by Robert David Steele, \'The Open-source Everything Manifesto\'' } } puts white{ bold{ 'Wealth creates a leisure class that \'buys\' knowledge and defines irrational authority, thus destroying the ethical basis of civilization' } } + white{ '. Durant discussed how a civilization may be characterized by its conception of virtue, which led me to some fruitful exploration of how ' } + white{ bold{ 'the United States is a culture that has equated wealth with virtue, leading to a political culture that can be bought because it is based on rule by secrecy, using secrecy to avoid accountability' } } + white{ '. Today, having abdicated concepts of the good, the beautiful, and the true for a model of primitive accumulation and a materialist set of values, we find that ' } + white{ 'our financial system is what journalist Matt Taibbi called \'Griftopia\'.' } + white{ bold{ ' The financial interests of Wall Street leverage the two-party system as a theatrical sideshow that legitimizes and legalizes massive fraud against the public interest' } } + white{ '. This is the primary reason why secrecy is necessary for those in power.' } + black{ bold{ ' - Robert David Steele, \'The Open-source Everything Manifesto\''} } puts white{ bold{ 'Our secret intelligence culture and process is antithetical to democracy' } } + white{ ', and enabling of plutocracy, neo-fascism, and the total corruption of our government.' } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert, \'The Open-source Everything Manifesto\''} } puts white{ 'Durant draws out the importance of ' } + white{ bold{ 'not' } } + white{ ' having a standard government-defined education, and of making education fun, exploratory, diverse, and open-ended. I cannot help but recall here how my hacker friends consider schools to be prisons.' } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert, \'The Open-source Everything Manifesto\''} } puts white{ 'The Autonomous Internet can be the liberation technology, not only empowering the poor but leveraging the cognitive surplus of the entire human species.' } + black{ bold{ ' - Robert David Steele, ex-Marine, ex-CIA, Open Source Intelligence Expert, \'The Open-source Everything Manifesto\''} } # randoms - writing & software puts '--- writing with applicability to software ---' puts white{ "I was learning to extend myself, to make imprints of my inner life onto the outer reality of the page. Words had created visual fields for me—allowing endless possibilities for expressing meaning." } + black{ bold{ " - Pakistani-American poet Shadab Zeest Hashmi, on his development of calligraphic capacity." } } puts white{ bold{ "The relation of language to painting is an infinite relation." } } + black{ bold{ " - 'Les Mots et les choses: Une archéologie des sciences humaines', Michel Foucault (1966)" } } puts white{ bold{ "The artist is not the transcriber of the world" } } + white{ ", he is its rival." } + black{ bold{ " - L'Intemporel (Third volume of 'The Metamorphosis of the Gods'), André Malraux (1957)" } } puts white{ bold{ "Digression is secular revelation." } } + black{ bold{ " - Adam Phillips, psychoanalyst and author" } } puts white{ 'A man who lies to himself, and believes his own lies, becomes unable to recognize truth, either in himself or in anyone else.' } + black{ bold{ ' - Fyodor Dostoevsky' } } puts white{ 'Once you\'ve got some words looking back at you, you can take two or three — or throw them away and look for others.' } + black{ bold{ ' - Bernard Malamud' } } puts white{ "Writing is nature's way of letting you know how sloppy your thinking is." } + black{ bold{ " - Guindon" } } puts white{ bold{ "The role of the artist is to ask questions" } } + white{ ", not answer them." } + black{ bold{ " - Anton Checkov" } } puts white{ "If you can't write it down in English, you can't code it." } + black{ bold{ " - Peter Halpern" } } puts white{ "If the code and the comments disagree, then both are probably wrong." } + black{ bold{ " - Norm Schryer" } } puts white{ "A procedure should fit on a page." } + black{ bold{ " - David Tribble" } } puts white{ bold{ "The Test of Negation" } } + white{ ": Don't include a sentence in documentation if its negation is obviously false." } + black{ bold{ " - Bob Martin, AT&T" } } puts white{ "When explaining a command, or language feature, or hardware widget, first describe the problem it is designed to solve." } + black{ bold{ " - David Martin" } } puts white{ "Write with the door closed, " } + bold{ white{ "rewrite with the door open" } } + white{ '.' } + black{ bold{ " - 'Steven King on pair programming', Peter Hilton" } } puts white{ "I find " } + white{ bold{ "the bigger the monitor, the better the concentration" } } + white{ "." } + black{ bold{ " - 'Anne Rice on development hardware', Peter Hilton" } } puts white{ bold{ "When writing a novel a writer should create living people" } } + white{ "; people not characters. A character is a caricature." } + black{ bold{ " - 'Ernest Hemingway on user personas', Peter Hilton" } } puts white{ "There are three rules for writing the novel." } + white{ bold{ " Unfortunately, nobody knows what they are." } } + black{ bold{ " - 'W. Somerset Maugham on enterprise architecture', Peter Hilton" } } puts white{ bold{ "When people tell you something's wrong or doesn't work for them they are almost always right." } } + white{ " When they tell you exactly what they think is wrong and how to fix it, they are almost always wrong." } + black{ bold{ " - 'Neil Gaiman on review feedback', Peter Hilton" } } puts white{ bold{ "The main rule of writing is that if you do it with enough assurance and confidence, you're allowed to do whatever you like." } } + black{ bold{ " - 'Neil Gaiman on open source', Peter Hilton" } } puts white{ "When I use a word, " } + white{ bold{ "it means just what I choose it to mean - neither more nor less" } } + white{ "." } + black{ bold{ " - Humpty Dumpty (\"in a rather scornful tone\"), 'Through the Looking-Glass, and What Alice Found There' (1871), Lewis Carroll" } } puts white{ "A rose by any other name will end up as a cabbage." } + black{ bold{ " - Sam Gardiner" } } puts white{ bold{ "Summary of advice from writers" } } + white{ ": Advice from writers is useful, and not only about naming. Writers have been at it for centuries; programming is merely decades old. Also, their advice is better written. And funnier." } + black{ bold{ " - Peter Hilton" } } puts white{ "A language is a dialect with an army and a navy." } + black{ bold{ " - Max Weinreich" } } puts white{ "That's what storytellers are... thieves and liars." } + black{ bold{ " - 'Tamaya Drewe' (2010)" } } puts white{ "Words build bridges in to unexplored regions." } + black{ bold{ " - Adolf Hitler" } } puts white{ "Impossible is a word to be found only in the dictionary of fools." } + black{ bold{ " - Napoleon Bonaparte" } } puts white{ "Programmers and translators are doing similar things; they are both translating one language into another." } + black { bold{ " - Japanese engineer" } } puts white{ "I am all for other authors being cads, but not me." } + black{ bold{ " - William Empson" } } puts white{ bold{ "The truth is like poetry" } } + white{ ", and most people fucking hate poetry." } + black{ bold{ " - Overheard in a bar in Washington DC" } } puts white{ "The writer is that person who, embarking upon her task, does not know what to do." } + black{ bold{ " - Donald Barthelme" } } puts white{ "Asked which of the arts was closest to writing, Norman Mailer once told me the answer was 'acting'." } + black{ bold{ " - Andrew O'Hagan" } } puts white{ "There can be no reliable biography of a writer, 'because a writer is too many people if he is any good'." } + black{ bold{ " - Andrew O'Hagan" } } puts white{ bold{ "No skill to understand it; mastery to write it." } } + black{ bold{ " - Arabic summary of good writing" } } puts white{ bold{ "Language" } } + white{ ", an internal system of the mind, is independent of externalization and basically provides expressions of linguistically formulated thought. As such, it is a system of pure structure, lacking linear order and other arrangements that are not really part of language as such but are imposed by requirements of the articulatory system (sign, which uses visual space, exploits some other options). Internal language is based on recursive operations that yield what we called the Basic Property of language: generation of an infinite array of hierarchically structured expressions that are interpreted as thoughts. The externalization system for language has no recursive operations - it is, basically, a deterministic mapping that introduces linear order and other arrangements that are required by the output system." } + black{ bold{ " - Noam Chomsky (2019)" } } puts white{ "Colorless green ideas sleep furiously." } + black{ bold{ " - Noam Chomsky (1957), demonstrating grammar without semantics" } } puts white{ "All parts should go together without forcing. Therefore, if you can't get them back together again, there must be a reason. By all means, do not use a hammer." } + black{ bold{ " - IBM maintenance manual (1975)" } } # https://www.ibm.com/downloads/cas/1V29LE4Z puts white{ "“Best Practice”, sez who? Dogma is for juniors. “Best practices” are all situational; the only way to know if a practice is a good idea is to examine its tradeoffs in the context of your situation." } + black{ bold{ " - James Shore (2021)" } } # https://news.ycombinator.com/item?id=29527980 puts white{ bold{ "J'ai quelque chose à dire mais je ne sais pas quoi." } } + white{ " I have something to say but I don't know what." } + black{ bold{ " - Graffiti, French riots, May 1968" } } # randoms - visual art and programming puts '--- randoms - visual art and programming ---' puts white{ "When an artist has no personal vision, what can he communicate on to the canvas?" } + black{ bold{ " - Clifford Irving, 'F for Fake' (1973)" } } puts white{ bold{ "Art is a lie that makes us realize truth" } } + white{ ", at least the truth that is given us to understand." } + black{ bold{ " - Pablo Picasso" } } puts white{ bold{ "Learn the rules like a pro" } } + white{ ", so you can break them like an artist." } + black{ bold{ " - Pablo Picasso" } } puts white{ "Through art we express our conception of what nature is not." } + black{ bold{ " - Pablo Picasso" } } puts white{ "When one paints, one loves in a different way." } + black{ bold{ " - Séraphine Louis, 'Séraphine' (2008)" } } puts white{ bold{ "Art" } } + white{ ": Process of abstraction and representation." } + black{ bold{ " - Alex Schniedeman, Black+White Photography (2016)" } } puts white{ "There is nothing worse than a sharp image of a fuzzy concept." } + black{ bold{ " - Ansel Adams" } } puts white{ "This imminence of a revelation which does not occur is, perhaps, the aesthetic phenomenon." } + black{ bold{ " - Jorge Luis Borges" } } # randoms - AI + learning puts '--- AI + learning ---' puts white{ "It is well to bear in mind that " } + white{ bold{ "knowledge is like food, and becomes ours only when it is absorbed, assimilated and digested by the intellect" } } + white{ "." } + black{ bold{ " - 'The Key of Knowledge', Champat Rai Jain (1928)" } } puts white{ "A smart machine is a profoundly paradoxical entity, but a paradox is not a supernatural act. " } + white{ bold{ "A paradox is a symptom of a breakdown in two competing definitional systems." } } + black{ bold{ " - Bruce Sterling (1995)" } } puts white{ "The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt." } + black{ bold{ " - Bertrand Russell (1950)" } } puts white{ "Ignorance more frequently begets confidence than does knowledge." } + black{ bold{ " - Charles Darwin" } } puts white{ "The fool doth think he is wise, but the wise man knows himself to be a fool." } + black{ bold{ " - William Shakespeare, 'As You Like It' (1559)" } } puts white{ bold{ "A good educational system should have three purposes" } } + white{ ": it should provide all who want to learn with access to available resources at any time in their lives; empower all who want to share what they know to find those who want to learn it from them; and, finally, furnish all who want to present an issue to the public with the opportunity to make their challenge known." } + black{ bold{ " - Ivan Illich, 'Deschooling Society' (1971)" } } puts white{ "The only true wisdom is in knowing you know nothing." } + black{ bold{ " - Socrates" } } # seven deadly sins of cloud computing research puts '--- 7 deadly sins of cloud computing research ---' puts white{ bold{ 'Sin #1 - Unnecessary distributed parallelism' } } + white{ ': It does not always make sense to parallelize a computation. Doing so almost inevitably comes with an additional overhead, both in runtime performance and in engineering time. When designing a parallel implementation, its performance should ' } + white{ bold{ 'always' } } + white{ ' be compared to an optimized serial implementation in order to understand the overheads involved. If we satisfy ourselves that parallel processing is necessary, it is also worth considering whether ' } + white{ bold{ 'distribution' } } + white{ ' over multiple machines is required. The rapid increase in RAM and CPU cores can make local parallelism economical and worthwhile. Establish the need for distributed parallelism on a case by case basis.' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #2 - Assuming performance homogeneity' } } + white{ ': Virtualized cloud environments exhibit highly variable and sometimes unpredictable performance. Base reported results on multiple benchmark runs, and report the variance.' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #3 - Picking the low-hanging fruit' } } + white{ ': It is unsurprising that it is easy to beat a general system by specializing it. Few researchers comment on the composability of their solutions. ' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #4 - Forcing the abstraction' } } + white{ ': In some application domains, it is unclear if a MapReduce-like approach can offer any benefits, and indeed, some have argued that it is fruitless as a research direction. Ideally, future research should build on [iterative processing, stream processing and graph processing], rather than on the MapReduce paradigm.' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #5 - Unrepresentative workloads' } } + white{ ': The common assumption in academic research systems is that the cluster workload is relatively homogenous. Most research evaluations measure performance by running a single job on an otherwise idle cluster.' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #6 - Assuming perfect elasticity' } } + white{ ': The cloud paradigm [...] its promise of an unlimited supply of computation. This is, of course, a fallacy. Workloads do not exhibit infinite parallel speedup. The scalability and supply of compute resources are not infinite. There are limits to the scalability of data center communication infrastructure. Another reason for diminishing returns from parallelization is the increasing likelihood of failures and vulnerability to "straggler" tasks. ' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts white{ bold{ 'Sin #7 - Ignoring fault tolerance' } } + white{ ': Many recent systems neglect to account for the performance implications of fault tolerance, or indeed of faults occurring. For each system, we should ask whether fault tolerance is relevant or required. If it is, it makes sense to check precisely what level is required, and what faults are to be protected against; consider and ideally quantify the cost.' } + black{ bold{ " - Schwarzkopf et al, 'The seven deadly sins of cloud computing research' (2014)" } } puts '------- rfc1925 on networking ---------' puts white{ bold{ '1st Fundamental Truth of Networking' } } + white{ ': It Has To Work.' } puts white{ bold{ '2nd Fundamental Truth of Networking' } } + white{ ': ' } + black{ bold{ 'No matter how hard you push and no matter what the priority,' } } + white{ ' you can\'t increase the speed of light.' } puts white{ bold{ '2nd Fundamental Truth of Networking (corollary)' } } + white{ ': ' } + black{ bold{ 'No matter how hard you try,' } } + white{ ' you can\'t make a baby in much less than 9 months.' } + black{ bold{ ' Trying to speed this up *might* make it slower, but it won\'t make it happen any quicker.' } } puts white{ bold{ '3rd Fundamental Truth of Networking' } } + white{ ': With sufficient thrust, pigs fly just fine.' } + black{ bold{ ' However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead.' } } puts white{ bold{ '4th Fundamental Truth of Networking' } } + white{ ': Some things in life can never be fully appreciated nor understood unless experienced firsthand.' } + black{ bold{ ' Some things in networking can never be fully understood by someone who neither builds commercial networking equipment nor runs an operational network.' } } puts white{ bold{ '5th Fundamental Truth of Networking' } } + white{ ': It is always possible to aglutenate multiple separate problems into a single complex interdependent solution.' } + black{ bold{ ' In most cases this is a bad idea.' } } puts white{ bold{ '6th Fundamental Truth of Networking' } } + white{ ': It is easier to move a problem around than it is to solve it.' } + black{ bold{ ' (For example, by moving the problem to a different part of the overall network architecture)' } } puts white{ bold{ '6th Fundamental Truth of Networking (corollary)' } } + white{ ': It is always possible to add another level of indirection.' } puts white{ bold{ '7th Fundamental Truth of Networking' } } + white{ ': It is always something.' } puts white{ bold{ '7th Fundamental Truth of Networking (corollary)' } } + white{ ': Good, Fast, Cheap: Pick any two. ' } + black{ bold{ "(You can't have all three)" } } puts white{ bold{ '8th Fundamental Truth of Networking' } } + white{ ': It is more complicated than you think.' } puts white{ bold{ '9th Fundamental Truth of Networking' } } + white{ ': For all resources, whatever it is, you need more.' } puts white{ bold{ '9th Fundamental Truth of Networking (corollary)' } } + white{ ': Every networking problem always takes longer to solve than it seems like it should.' } puts white{ bold{ '10th Fundamental Truth of Networking' } } + white{ ': One size never fits all.' } puts white{ bold{ '11th Fundamental Truth of Networking' } } + white{ ': Every old idea will be proposed again with a different name and a different presentation' } + black{ bold{ ', regardless of whether it works.' } } # the above has a corollary which is see corollary to the 6th rule .. leaving this out due to display-time limitations puts white{ bold{ '12th Fundamental Truth of Networking' } } + white{ ': ' } + black{ bold{ 'In protocol design, ' } } + white{ 'perfection has been reached not when there is nothing left to add, but when there is nothing left to take away' } + black{ bold{ '.' } } puts '------ anti-OO ------' puts white{ bold{ "Object-oriented programming is an exceptionally bad idea" } } + white{ " which could only have originated in California." } + black{ bold{ " - Edsger Dijkstra" } } puts white{ "Object-oriented design is the roman numerals of computing." } + black{ bold{ " - Rob Pike" } } puts white{ bold{ "The phrase 'object-oriented' means a lot of things." } } + white{ " Half are obvious, and the other half are mistakes." } + black{ bold{ " - Paul Graham" } } puts white{ "Implementation inheritance causes the same intertwining and brittleness that have been observed when goto statements are overused. As a result, " } + white{ bold{ "OO systems often suffer from complexity and lack of reuse." } } + black{ bold{ " - John Ousterhout Scripting, IEEE Computer, March 1998" } } puts white{ bold{ "Sometimes, the elegant implementation is just a function." } } + white{ " Not a method. Not a class. Not a framework. Just a function." } + black{ bold{ " - John Carmack" } } puts white{ "The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. " } + white{ bold{ "You wanted a banana but what you got was a gorilla holding the banana and the entire jungle." } } + black{ bold{ " - Joe Armstrong" } } puts white{ bold{ "I used to be enamored of object-oriented programming." } } + white{ " I'm now finding myself leaning toward believing that it is a plot designed to destroy joy." } + black{ bold{ " - Eric Allman" } } puts white{ bold{ "OO is the 'structured programming' snake oil of the 90's" } } + white{ ": useful at times, but hardly the 'end all' programing paradigm some like to make out of it." } + black{ bold{ " - Eric S. Raymond" } } puts white{ "Alchemists turned into chemists when they stopped keeping secrets." } + black{ bold{ " - Eric S. Raymond" } } # hardware puts '------- hardware --------' puts white{ bold{ "Motto of the Electrical Engineer" } } + white{ ": Working hardware is a lot like an erect penis; it stays up as long as you don't fuck with it." } puts white{ bold{ "1974" } } + white{ ": 8080 CPU. " } + white{ bold{ "1979" } } + white{ ": SCHEME-79 chip with hardware GC. " } + white{ bold{ "2013" } } + white{ ": Hundreds of inefficient software GCs running on n-GHz 8080 CPUs." } + white{ bold{ " Cool industry." } } + black{ bold{ " - @garybernhardt" } } puts white{ bold{ "The outsourcing plan failed very badly" } } + white{ ": all these different suppliers who were going to build these major sections couldn't actually do it." } + black{ bold{ " - Dominic Gates (Seattle Times) on the Boeing 787 'Dreamliner'" } } puts white{ bold{ "Oh yeah. I'm not flying on a 787" } } + white{ " [...] I would definitely avoid flying on a 787." } + black{ bold{ " - Cynthia Cole, former 32 year Boeing employee and former President, Boeing Engineers' Union" } } # ideo's mantra for innovation puts "------ IDEO's mantra for innovation ------" puts white{ bold{ "IDEO's mantra for innovation - 1/5" } } + white{ ": One conversation at a time." } puts white{ bold{ "IDEO's mantra for innovation - 2/5" } } + white{ ": Stay focused on topic." } puts white{ bold{ "IDEO's mantra for innovation - 3/5" } } + white{ ": Encourage wild ideas." } puts white{ bold{ "IDEO's mantra for innovation - 4/5" } } + white{ ": Defer judgement." } puts white{ bold{ "IDEO's mantra for innovation - 5/5" } } + white{ ": Build on the ideas of others." } puts white{ "Enlightened trial and error succeeds over the planning of the lone genius." } + black{ bold{ " - Peter Skillman (1999)" } } puts white{ "Members of a design team should be design process experts rather than product domain experts." } + black{ bold{ " - IDEO" } } puts white{ "Choose a project leader based upon their ability to work with groups." } + black{ bold{ " - IDEO" } } puts white{ "Source design team members from a wide-range of fields." } + black{ bold{ " - IDEO" } } puts white{ "There should not be a hierarchy system in an innovative culture." } + black{ bold{ " - IDEO" } } puts white{ "Speak with domain experts (people who use, provide, and repair the product or service) because it is faster than learning about the product yourself." } + black{ bold{ " - IDEO" } } puts white{ "Fail often in order to succeed sooner." } + black{ bold{ " - IDEO" } } puts white{ bold{ "Recipe for Innovation" } } + white{ " = time + open mind + leader who demands fresh ideas be corky + teamwork + belief chaos can be constructive" } + black{ bold{ " - IDEO" } } # jeff bezos puts "------- jeff bezos --------" puts white{ "We deliver things in little brown boxes." } + black{ bold{ " - Jeff Bezos" } } puts white{ "Your margin is my opportunity." } + black{ bold{ " - Jeff Bezos" } } puts white{ "Experiment patiently, accept failures, plant seeds, protect saplings, and double down when you see customer delight." } + black{ bold{ " - Jeff Bezos (2017)" } } puts white{ bold{ "Some decisions are consequential and irreversible or nearly irreversible - one-way doors - and these decisions must be made methodically, carefully, slowly, with great deliberation and consultation." } } + white{ " If you walk through and don't like what you see on the other side, you can't get back to where you were before. We can call these Type 1 decisions. But most decisions aren't like that - they are changeable, reversible - they're two-way doors. If you've made a suboptimal Type 2 decision, you don't have to live with the consequences for that long. You can reopen the door and go back through. Type 2 decisions can and should be made quickly by high judgement individuals or small groups." } + black{ bold{ " - Jeff Bezos" } } puts white{ bold{ "The main job of a senior leader is to identify two or three important ideas and then to enforce great execution against those big ideas." } } + white{ " The good news is that the big ideas are usually incredibly easy to identify. You shouldn't need to think about them very much you already know what they are. For Amazon the big ideas are low prices, fast delivery and vast selection." } + black{ bold{ " - Jeff Bezos" } } puts white{ "The get rich slowly schemes are not big sellers on infomercials." } + black{ bold{ " - Jeff Bezos" } } puts white{ "I've noticed all overnight successes take about 10 years." } + black{ bold{ " - Jeff Bezos" } } puts white{ "Every once in a while, when you step up to the plate, you can score 1,000 runs." } + black{ bold{ " - Jeff Bezos" } } puts white{ "A dreamy business product has at least four characteristics: customers love it, it can grow to very large size, it has strong returns on capital, and it’s durable in time—with the potential to endure for decades. When you find one of these, don’t just swipe right, get married." } + black{ bold{ " - Jeff Bezos (2014)" } } puts white{ "When we're at our best, we don't wait for external pressures. We are internally driven to improve our services, adding benefits and features, before we have to. We lower prices and increase value for customers before we have to. We invent before we have to." } + black{ bold{ " - Jeff Bezos (2012)" } } puts white{ "I am emphasizing the self-service nature of these platforms because it’s important for a reason I think is somewhat non-obvious: even well-meaning gatekeepers slow innovation. When a platform is self-service, even the improbable ideas can get tried." } + black{ bold{ " - Jeff Bezos (2011)" } } puts white{ "Many of the problems we face have no textbook solutions, and so we — happily — invent new approaches." } + black{ bold{ " - Jeff Bezos (2010)" } } puts white{ bold{ "Working backwards from customer needs" } } + white{ " can be contrasted with a ‘skills-forward’ approach where existing skills and competencies are used to drive business opportunities. The skills-forward approach says, ‘We are really good at X. What else can we do with X?’ That’s a useful and rewarding business approach. However, if used exclusively, the company employing it will never be driven to develop fresh skills." } + black{ bold{ " - Jeff Bezos (2008)" } } puts white{ "Math-based decisions command wide agreement, whereas judgment-based decisions are rightly debated and often controversial, at least until put into practice and demonstrated. Any institution unwilling to endure controversy must limit itself to decisions of the first type. In our view, doing so would not only limit controversy — it would also significantly limit innovation and long-term value creation." } + black{ bold{ " - Jeff Bezos (2005)" } } puts white{ "Earnings don't directly translate into cash flows, and shares are worth only the present value of their future cash flows." } + black{ bold{ " - Jeff Bezos (2004)" } } puts white{ bold{ "Long-term thinking is both a requirement and an outcome of true ownership." } } + white{ " Owners are different from tenants. I know of a couple who rented out their house, and the family who moved in nailed their Christmas tree to the hardwood floors instead of using a tree stand. Expedient, I suppose, and admittedly these were particularly bad tenants, but no owner would be so short-sighted. Similarly, many investors are effectively short-term tenants, turning their portfolios so quickly they are really just renting the stocks that they temporarily 'own.'" } + black{ bold{ " - Jeff Bezos (2003)" } } puts white{ "Though negative reviews cost us some sales in the short term, helping customers make better purchase decisions ultimately pays off for the company." } + black{ bold{ " - Jeff Bezos (2003)" } } puts white{ "Our pricing strategy does not attempt to maximize margin percentages, but instead seeks to drive maximum value for customers and thereby create a much larger bottom line." } + black{ bold{ " - Jeff Bezos (2003)" } } puts white{ bold{ "We're determined to offer both world-leading customer experience and the lowest possible prices" } } + white{ ", but to some this dual goal seems paradoxical if not downright quixotic. Traditional stores face a time-tested tradeoff between offering high-touch customer experience on the one hand and the lowest possible prices on the other. How can Amazon.com be trying to do both?" } + black{ bold{ " - Jeff Bezos (2002)" } } puts white{ bold{ "The current online shopping experience is the worst it will ever be." } } + white { " We have a market-size unconstrained opportunity in an area where the underlying foundational technology we employ improves every day. That is not normal." } + black{ bold{ " - Jeff Bezos (1999)" } } puts white{ "Because of our emphasis on the long term, we may make decisions and weigh tradeoffs differently than some companies." } + black{ bold{ " - Jeff Bezos (1997)" } } puts white{ "Still Day 1." } + black{ bold{ " - Jeff Bezos" } } puts white{ "Whatever you do there's going to be risk in your life, and risk is a necessary component of progress." } + black{ bold{ " - Jeff Bezos (2001)" } } puts white{ "Efficiency and invention are sort of at odds, because invention - real invention - real lateral thinking - that requires wandering, and you have to give yourself permission to wander. The reality is, we may have to wander for a long time." } + black{ bold{ " - Jeff Bezos" } } # Ström's summary of the Socratic method @ https://matthewstrom.com/writing/doubt/ puts "---- Ström's summary of the Socratic method ----" puts white{ bold{ "Unclear Ideas or Expression" } } + black{ bold{ ": " } } + white{ "Can you put that another way? Can you provide an example?" } puts white{ bold{ "Unaligned Purpose" } } + black{ bold{ ": " } } + white{ "What are our goals? What do you want to happen?" } puts white{ bold{ "Implicit or Faulty Assumptions" } } + black{ bold{ ": " } } + white{ "What are we assuming here? Is that assumption well founded?" } puts white{ bold{ "Uncertain Factual Basis" } } + black{ bold{ ": " } } + white{ "What it the evidence for this? What is the evidence against this?" } puts white{ bold{ "Narrow Viewpoint or Perspective" } } + black{ bold{ ": " } } + white{ "What additional viewpoints should we consider? Who would disagree?" } puts white{ bold{ "Unexplored Implications" } } + black{ bold{ ": " } } + white{ "What is the worst that could happen? What is the best we can expect to happen?" } puts white{ bold{ "Unanswered Questions" } } + black{ bold{ ": " } } + white{ "How can we find out? Can we break this into simpler questions?" } puts white{ bold{ "Unclear Concepts" } } + black{ bold{ ": " } } + white{ "What is the main idea we are exploring? How would you define … ?" } puts white{ bold{ "Unexplored Inferences" } } + black{ bold{ ": " } } + white{ "What ambiguities do you see? How can we resolve those ambiguities?" } # Musk puts "---- Elon Musk ----" puts white{ "Most people think we have too many people on the planet, but this is an outdated view. Assuming that AI is fine, that there's a benevolent future with AI, I think the biggest problem the world will face in 20 years is " } + white{ bold{ "population collapse" } } + white{ ". The biggest issue in 20 years will be population collapse. It's very easy to see what the world will look like in 20 years because humans have a 20 year boot sequence." } + black{ bold{ " - Elon Musk (2019)" } } puts white{ bold{ "If there was a topological map of technology awareness, it's mostly flat." } } + white{ " But with a few short buildings and then some very tall spires, very tall spires. And unless you're on that very tall spire, it's not obvious what the topology is." } + black{ bold{ " - Elon Musk (2019)" } } puts white{ "I really think " } + bold{ white{ "China is the future" } } + white{ ", very impressive." } + black{ bold{ " - Elon Musk (2019)" } } puts white{ bold{ "Human speech, to a computer, will sound like very slow tonal wheezing." } } + white{ " It's kinda like whale sounds, 'cause what's our bandwidth? Like a few hundred bits per second basically, maybe a few kilobits per second if you're going to be generous. Whereas a computer can easily communicate at a terabit level. It'd be like talking to a tree: that's humans." } + black{ bold{ " - Elon Musk (2019)" } } puts white{ bold{ "Failure is an option here." } } + white{ " If things are not failing, you are not innovating enough." } + black{ bold{ " - Elon Musk" } } puts white{ "What really matters is the machine that builds the machine: " } + white{ bold{ "the factory" } } + white{ ", and that is at least two orders of magnitude harder." } + black{ bold{ " - Elon Musk" } } puts white{ "It feels as though I think technology just automatically gets better every year; but actually it doesn't, " } + white{ bold{ "it only gets better if smart people work like crazy to make it better" } } + white{ ". That's how any technology actually gets better, and " } + white{ bold{ "by itself - if people don't work on it - it will actually decline" } } + white{ ". Look at this history of civilizations, many civilizations." } + black{ bold{ " - Elon Musk" } } puts white{ "Something that can be helpful is fatalism, to some degree. If you just accept the probabilities then that diminishes fear." } + black{ bold{ " - Elon Musk" } } puts white{ bold{ "As much as possible, avoid hiring MBAs." } } + white{ " MBA programs don't teach people how to create companies." } + black{ bold{ " - Elon Musk" } } puts white{ "Any product that needs a manual to work is broken" } + black{ bold{ " - Elon Musk" } } puts white{ "You should take the approach that " } + white{ bold{ "you're wrong" } } + white{ ". Your goal is to be less wrong." } + black{ bold{ " - Elon Musk" } } puts white{ "When you first start a company, there's lots of optimism and things are great. Happiness, at first, is high. Then, you encounter all sorts of issues and happiness will steadily decline and you'll go through a whole world of hurt. Eventually, if you succeed ... you will finally get back to happiness." } + black{ bold{ " - Elon Musk" } } puts white{ "Anything which is significantly innovative is gonna come with a significant risk of failure." } + black{ bold{ " - Elon Musk" } } puts white{ "Vacation will kill you." } + black{ bold{ " - Elon Musk, after contracting cerebral malaria while on holiday" } } puts white{ "Excessive automation at Tesla was a mistake." } + black{ bold{ " - Elon Musk" } } puts white{ bold{ "Wishful thinking is innate in the human brain." } } + white{ " You want things to be the way you wish them to be and you tend to filter information that you shouldn't filter. That's the most common flaw that I see." } + black{ bold{ " - Elon Musk" } } puts white{ "People instead of reasoning from first principles will do things because others are doing them, which is sometimes correct but sometimes you are going to run off a cliff or something. It's much better to think of things, as we say in physics, from a first principles standpoint. What are the fundamental truths in an arena, and conclusions logic that you arrive to must be derived from those fundamental truths." } + black{ bold{ " - Elon Musk" } } puts white{ "Persistence is extremely important. You should not give up unless you are forced to give up." } + black{ bold{ " - Elon Musk" } } puts white{ "Starting companies is like eating glass and staring in to the abyss of death - if that sounds appealing, be an entrepreneur." } + black{ bold{ " - Friend of Elon Musk" } } puts white{ "Try to get to a useful prototype as soon as possible with the least amount of money. I think that's usually a good idea." } + black{ bold{ " - Elon Musk" } } puts white{ "What's the difference between believing in your ideals and sticking to them versus pursuing some unrealistic dream that doesn't actually have merit? That is a really difficult thing. You have to be very rigorous in your self-analysis." } + black{ bold{ " - Elon Musk" } } puts white{ "Reason from first principles rather than by analogy." } + black{ bold{ " - Elon Musk" } } puts white{ "Always question whether you're wrong and try to invalidate your own theories." } + black{ bold{ " - Elon Musk" } } puts white{ "People have too much fear of failure." } + black{ bold{ " - Elon Musk" } } puts black{ bold{ "Musk's 1st rule of manufacturing" } } + black{ bold{ ": " } } + white{ bold{ "Make requirements less dumb" } } + white{ ". Document who is responsible for the requirement or constraint, why it exists, and how to contact them." } puts black{ bold{ "Musk's 2nd rule of manufacturing" } } + black{ bold{ ": " } } + white{ bold{ "Delete the part or process" } } + white{ ". If you're not occasionally adding things back in, you're not deleting enough." } puts black{ bold{ "Musk's 3rd rule of manufacturing" } } + black{ bold{ ": " } } + white{ bold{ "Simplify or optimize" } } + white{ ". But do not optimize things that should not exist." } puts black{ bold{ "Musk's 4th rule of manufacturing" } } + black{ bold{ ": " } } + white{ bold{ "Accelerate cycle times" } } + white{ ". You're moving too slowly, go faster. But if you're digging your grave, don't dig it faster." } puts black{ bold{ "Musk's 5th rule of manufacturing" } } + black{ bold{ ": " } } + white{ bold{ "Automate" } } + white{ ". But never do this first." } puts white{ "Generally " } + white{ bold{ "manufacturing is underrated and design is overrated" } } + white{ "." } + black{ bold{ " [...] " } } + white{ "It's 10 to 100 times more effort to design manufacturing." } + black{ bold{ " - Elon Musk" } } # Michael Moritz puts "---- Michael Moritz ----" puts white{ bold{ "Constant application of force." } } + black{ bold{ " - Michael Moritz, on what separates successful companies from their peers." } } puts white{ bold{ "Few markets are as ferociously competitive as the technology business in China." } } + white{ " People there simply work a lot harder. And when you ally that with talent, creativity and a hunger to succeed, it's a formidable concoction." } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } puts white{ bold{ "Many late-stage investments aren't really investments" } } + white{ ": they're just disguised forms of debt." } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } puts white{ "Starting a business, founding a company is the hardest act in business." } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } puts white{ "There have been a few other people that have been extremely fortunate and lucky like I have. " } + white{ bold{ "You could have put a chimpanzee in the valley in 1986 and they would have been successful in the venture business." } } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } puts white{ "What you cannot hire people to do is to have the wonderful spark and founding instinct and deep fascination and abiding passion for a particular topic." } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } puts white{ bold{ "In China these days, there are probably four Silicon Valleys." } } + white{ " In the US, there's one." } + black{ bold{ " - Michael Moritz, Chairman, Sequoia Capital" } } # Warren Buffett puts "---- Warren Buffett ----" puts white{ "Price is what you pay, value is what you get." } + black{ bold{ " - Warren Buffett (2008)" } } puts white{ "For investors as a whole, returns decrease as motion increases." } + black{ bold{ " - Warren Buffett (2005)" } } puts white{ "Be fearful when others are greedy and greedy only when others are fearful." } + black{ bold{ " - Warren Buffett (2004)" } } puts white{ "You only find out who is swimming naked when the tide goes out." } + black{ bold{ " - Warren Buffett (2001)" } } puts white{ bold{ "The Three I's" } } + white{ ": First come the innovators, then come the imitators, then come the idiots." } + black{ bold{ " - Warren Buffett (2008)" } } puts white{ "An idiot with a plan can beat a genius without a plan." } + black{ bold{ " - Warren Buffett" } } puts white{ "The difference between successful people and really successful people is that " } + white{ bold{ "really successful people say no to almost everything" } } + white{ "." } + black{ bold{ " - Warren Buffet" } } # Amazon Leadership Principles from https://www.amazon.jobs/en/principles puts "---- amazon leadership principles ----" puts white{ bold{ "Customer Obsession" } } + white{ ": Start with the customer and work backwards. Work vigorously to earn and keep customer trust. Pay attention to competitors, but obsess over customers." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Ownership" } } + white{ ": Think long term and don't sacrifice long-term value for short-term results. Act on behalf of the entire company, beyond just your own team. Never say \"that's not my job.\"" } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Invent and Simplify" } } + white{ ": Expect and require innovation and invention from your teams and always find ways to simplify. Be externally aware, look for new ideas from everywhere, and don't be limited by \"not invented here.\" As we do new things, we accept that we may be misunderstood for long periods of time." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Right, A Lot" } } + white{ ": Have strong judgment and good instincts, seek diverse perspectives and work to disconfirm your beliefs." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Learn and Be Curious" } } + white{ ": You are never done learning. Always seek to improve yourself. Be curious about new possibilities and act to explore them." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Hire and Develop the Best" } } + white{ ": Raise the performance bar with every hire and promotion. Recognize exceptional talent, and willingly move them throughout the organization. Develop leaders and take seriously their role in coaching others. Work on behalf of others to invent mechanisms for development." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Insist on the Highest Standards" } } + white{ ": Relentlessly high standards — many people may think these standards are unreasonably high. Continually raise the bar and drive teams to deliver high quality products, services, and processes. Ensure that defects do not get sent down the line and that problems are fixed so they stay fixed." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Think Big" } } + white{ ": Thinking small is a self-fulfilling prophecy. Create and communicate a bold direction that inspires results. Think differently and look around corners for ways to serve customers." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Bias for Action" } } + white{ ": Speed matters. Many decisions and actions are reversible and do not need extensive study. Value calculated risk taking." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Frugality" } } + white{ ": Accomplish more with less. Constraints breed resourcefulness, self-sufficiency, and invention. No extra points for growing headcount, budget size, or fixed expense." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Earn Trust" } } + white{ ": Listen attentively, speak candidly, and treat others respectfully. Be vocally self-critical, even when doing so is awkward or embarrassing. Benchmark yourself and your teams against the best." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Dive Deep" } } + white{ ": Operate at all levels, stay connected to the details, audit frequently, and be skeptical when metrics and anecdote differ. No task is beneath you." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Have Backbone; Disagree and Commit" } } + white{ ": Respectfully challenge decisions when you disagree, even when doing so is uncomfortable or exhausting. Have conviction and be tenacious. Do not compromise for the sake of social cohesion. Once a decision is determined, commit wholly." } + black{ bold{ " - Amazon leadership principle" } } puts white{ bold{ "Deliver Results" } } + white{ ": Focus on key inputs and deliver them with quality and timeliness. Despite setbacks, rise to the occasion and never settle." } + black{ bold{ " - Amazon leadership principle" } } # Wittgenstein puts "---- wittgenstein ----" puts white{ "At the core of all well-founded belief, lies belief that is unfounded." } + black{ bold{ " - Wittgenstein, 'On Certainty' (1969)" } } puts white{ "If people never did silly things nothing intelligent would ever get done." } + black{ bold{ " - Wittgenstein" } } puts white{ "Philosophy is a battle against the bewitchment of our intelligence by means of language." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Don't get involved in partial problems" } } + white{ ", but always take flight to where there is a free view over the whole single great problem, even if this view is still not a clear one." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt." } } + white{ " The limits of my language means the limits of my world." } + black{ bold{ " - Wittgenstein" } } puts white{ "Logic takes care of itself; all we have to do is to look and see how it does it." } + black{ bold{ " - Wittgenstein" } } puts white{ "I am my world." } + black{ bold{ " - Wittgenstein" } } puts white{ "It is clear that the causal nexus is not a nexus at all." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Was sich überhaupt sagen lässt, lässt sich klar sagen." } } + white{ " What can be said at all can be said clearly." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Die Welt ist die Gesamtheit der Tatsachen, nicht der Dinge." } } + white{ " The world is the totality of facts, not things." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Die Logik erfüllt die Welt; die Grenzen der Welt sind auch ihre Grenzen." } } + white{ " Logic pervades the world: the limits of the world are also its limits." } + black{ bold{ " - Wittgenstein" } } puts white{ "In general we don't use language according to strict rules - it hasn't been taught us by means of strict rules, either." } + black{ bold{ " - Wittgenstein" } } puts white{ "To convince someone of the truth, it is not enough to state it, but rather one must find the path from error to truth." } + black{ bold{ " - Wittgenstein" } } puts white{ "Plunge into the water of doubt again and again." } + black{ bold{ " - Wittgenstein" } } puts white{ "Every explanation is after all an hypothesis." } + black{ bold{ " - Wittgenstein" } } puts white{ "An entire mythology is stored within our language." } + black{ bold{ " - Wittgenstein" } } puts white{ "Uttering a word is like striking a note on the keyboard of the imagination." } + black{ bold{ " - Wittgenstein" } } puts white{ "Don't think, but look!" } + black{ bold{ " - Wittgenstein" } } puts white{ "One gets to the point where one would like just to emit an inarticulate sound." } + black{ bold{ " - Wittgenstein" } } puts white{ "We do sometimes think because it has been found to pay." } + black{ bold{ " - Wittgenstein" } } puts white{ "If you tried to doubt everything you would not get as far as doubting anything. The game of doubting itself presupposes certainty." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Genie ist Mut im Talent." } } + white{ " Genius is talent exercised with courage." } + black{ bold{ " - Wittgenstein" } } puts white{ "Aim at being loved without being admired." } + black{ bold{ " - Wittgenstein" } } puts white{ bold{ "Worte sind Taten." } } + white{ " Words are deeds." } + black{ bold{ " - Wittgenstein" } } puts white{ "Wisdom is passionless." } + black{ bold{ " - Wittgenstein" } } puts white{ "The mood of receptivity to nature and one in which one's thoughts seem as vivid as nature itself." } + black{ bold{ " - Wittgenstein, personal restatement of Schiller's 'poetic mood'" } } puts white{ "Never stay up on the barren heights of cleverness, but come down into the green valleys of silliness." } + black{ bold{ " - Wittgenstein" } } puts white{ "Ambition is the death of thought." } + black{ bold{ " - Wittgenstein" } } puts white{ "One age misunderstands another." } + black{ bold{ " - Wittgenstein" } } puts white{ "Do we have to see progress? Is it not genuine scratching otherwise, or genuine itching?" } + black{ bold{ " - Wittgenstein" } } # Ironies of Automation / https://www.ise.ncsu.edu/wp-content/uploads/2017/02/Bainbridge_1983_Automatica.pdf puts "---- ironies of automation ----" puts white{ "The designer who tries to eliminate the operator still leaves the operator to do the tasks which the designer cannot think how to automate." } + black{ bold{ " - Lisanne Bainbridge (1983)" } } puts white{ "The experienced operator makes the minimum number of actions, and the process output moves smoothly and quickly to the new level, while with an inexperienced operator it oscillates round the target value." } + black{ bold{ " - Lisanne Bainbridge (1983)" } } puts white{ "When manual take-over is needed there is likely to be something wrong with the process, so that unusual actions will be needed to control it, and one can argue that the operator needs to be more rather than less skilled, and less rather than more loaded, than average." } + black{ bold{ " - Lisanne Bainbridge (1983)" } } puts white{ "Efficient retrieval of knowledge from long-term memory depends on frequency of use." } + black{ bold{ " - Lisanne Bainbridge (1983)" } } puts white{ "Knowledge develops only through use and feedback about its effectiveness." } + black{ bold{ " - Lisanne Bainbridge (1983)" } } # Characteristics of Innovative People @ https://dobetter.esade.edu/en/innovative-person puts "---- Characteristics of Innovative People ----" puts white{ bold{ "Continuous reflection" } } + black{ bold{ ": " } } + white{ "Be open to questioning your initial ideas and notice new information." } puts white{ bold{ "Unattached exploration" } } + black{ bold{ ": " } } + white{ "Postpone fixation, stay open to exploring different possibilities." } puts white{ "Iterate between abstract and concrete thinking." } puts white{ "Plan and execute." } puts white{ "Promote innovation in unexpected situations." } puts white{ "Adapt to adversity." } puts white{ "Acknowledge the limits of your knowledge." } puts white{ "Step out of your comfort zone." } puts white{ "Be sensitive to uncertainty." } puts white{ "Focus on the outcome." } puts white{ "Extract learning." } # We are destroying software @ https://antirez.com/news/145 puts "---- Destroying software ----" puts white{ "We are destroying software by no longer taking complexity into account when adding features or optimizing some dimension."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software with complex build systems."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software with an absurd chain of dependencies, making everything bloated and fragile."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software telling new programmers: “Don’t reinvent the wheel!”. But, reinventing the wheel is how you learn how things work, and is the first step to make new, different wheels."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software by no longer caring about backward APIs compatibility."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software pushing for rewrites of things that work."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software by jumping on every new language, paradigm, and framework."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software by always underestimating how hard it is to work with existing complex libraries VS creating our stuff."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software by always thinking that the de-facto standard for XYZ is better than what we can do, tailored specifically for our use case."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software claiming that code comments are useless."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software mistaking it for a purely engineering discipline."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software by making systems that no longer scale down: simple things should be simple to accomplish, in any system."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software trying to produce code as fast as possible, not as well designed as possible."} + black{ bold{ " - @antirez" } } puts white{ "We are destroying software, and what will be left will no longer give us the joy of hacking."} + black{ bold{ " - @antirez" } } puts "---- dieter rams' 10 principles of good design ----" puts white{ "Good design is innovative." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design makes a product useful." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is aesthetic." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design makes a product understandable." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is unobtrusive." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is honest." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is long-lasting." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is thorough down to the last detail." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is environmentally-friendly." } + black{ bold{ " - Dieter Rams" } } puts white{ "Good design is as little design as possible." } + black{ bold{ " - Dieter Rams" } }