-
Notifications
You must be signed in to change notification settings - Fork 20
/
taoup
executable file
·2253 lines (2108 loc) · 393 KB
/
taoup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
863
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/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/71863009129/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." }