80 Matching Annotations
1. Jun 2022
2. introtcs.org introtcs.org

#### URL

3. May 2022
4. uni-bielefeld.de uni-bielefeld.de
1. In explaining his approach, Luhmann emphasized, with the first stepsof computer technology in mind, the benefits of the principle of “multiple storage”: in the card index itserves to provide different avenues of accessing a topic or concept since the respective notes may be filedin different places and different contexts. Conversely, embedding a topic in various contexts gives rise todifferent lines of information by means of opening up different realms of comparison in each case due tothe fact that a note is an information only in a web of other notes. Furthermore it was Luhmann’s intentionto “avoid premature systematization and closure and maintain openness toward the future.”11 His way oforganizing the collection allows for it to continuously adapt to the evolution of his thinking and his overalltheory which as well is not conceptualized in a hierarchical manner but rather in a cybernetical way inwhich every term or theoretical concept is dependent on the other.

While he's couching it in the computer science milieu of his day, this is not dissimilar to the Llullan combinatorial arts.

#### URL

5. Apr 2022
1. An alternative definition for computer science, then, is to say that computer science is the study of problems that are and that are not computable, the study of the existence and the nonexistence of algorithms.

definition of computer science

2. Computer science is the study of problems, problem-solving, and the solutions that come out of the problem-solving process. Given a problem, a computer scientist’s goal is to develop an algorithm, a step-by-step list of instructions for solving any instance of the problem that might arise. Algorithms are finite processes that if followed will solve the problem. Algorithms are solutions.

Computer science definition

#### URL

7. Mar 2022
8. www21.in.tum.de www21.in.tum.de
1. # Exercises

## 2.1.b

Counterexample: $$\to := {(a, c), (b, c)}$$

## 2.3

$$a \to b$$ iff $$a$$ encodes Turing machine $$M_a$$ and $$b$$ encodes a valid terminating computation (sequence of states) of $$M_a$$.

## 2.9

Let $$|w|_a := \varphi_a(w)$$.

$$\varphi(w) := 3^{|w|_a} 2^{|w|_b}$$

### Proof

1. Let $$u \to_1 v$$. Then $$\varphi(v) = 3^{|v|_a} 2^{|v|_b} = 3^{|u|_a+1} 2^{|u|_b-2} = 3^{|u|_a} 2^{|u|_b} \frac{3}{4} = \varphi(u) \frac{3}{4} < \varphi(u)$$.
2. Let $$u \to_2 v$$. Then $$\varphi(v) = 3^{|v|_a} 2^{|v|_b} = 3^{|u|_a-1} 2^{|u|_b+1} = 3^{|u|_a} 2^{|u|_b} \frac{2}{3} = \varphi(u) \frac{2}{3} < \varphi(u)$$.

## 2.17

No.

Let $$a > b$$. Then $$[b^n a | n \in [0, 1, \ldots]]$$ is an infinite chain according to $$>_{Lex}$$.

Note: This exercise completes the discussion of Lemma 2.4.3.

## 4.2

Let $$s, t$$ be terms. Run BFS from $$s$$ using $$\leftrightarrow^E$$. If $$t$$ is encountered, conclude that $$s \approx_E t$$. If the BFS finishes enumerating the equivalence class without encountering $$t$$, conclude that $$\lnot s \approx_E t$$.

## 4.4

Let $$x \in Var(r) \setminus Var(l)$$. Let $$p$$ be a position of $$x$$ in $$r$$.

Infinite chain:

• $$t_0 = x$$
• $$t_{i+1} = r[t_i]_p$$

## 4.18

1. a
• Unifier: $${x \to h(a), y \to h(a)}$$
• Matcher: $${x \to h(a), y \to x}$$
2. b
• Unifier: Unsolvable
• Matcher: $${x \to h(x), y \to x}$$
3. c
• Unifier: $${x \to h(y), z \to b}$$
• Matcher: Unsolvable
4. d
• Unifier: Unsolvable
• Matcher: Unsolvable

## 5.2

Counterexample TRS $$R$$:

1. $$a \to b$$
2. $$b \to b$$

#### URL

9. Feb 2022
10. en.wikipedia.org en.wikipedia.org

#### URL

11. niklas-luhmann-archiv.de niklas-luhmann-archiv.de
1. 9/8g Hinter der Zettelkastentechnik steht dieErfahrung: Ohne zu schreiben kann mannicht denken – jedenfalls nicht in anspruchsvollen,selektiven Zugriff aufs Gedächtnis voraussehendenZusammenhängen. Das heißt auch: ohne Differenzen einzukerben,kann man nicht denken.

9/8g The Zettelkasten technique is based on experience: You can't think without writing—at least not in contexts that require selective access to memory.

That also means: you can't think without notching differences.

There's something interesting about the translation here of "notching" occurring on an index card about ideas which can be linked to the early computer science version of edge-notched cards. Could this have been a subtle and tangential reference to just this sort of computing?

The idea isn't new to me, but in the last phrase Luhmann tangentially highlights the value of the zettelkasten for more easily and directly comparing and contrasting the ideas on two different cards which might be either linked or juxtaposed.

• Graeber and Wengrow ideas of storytelling
• Shield of Achilles and ekphrasis thesis

• https://hypothes.is/a/I-VY-HyfEeyjIC_pm7NF7Q With the further context of the full quote including "with selective access to memory" Luhmann seemed to at least to make space (if not give a tacit nod?) to oral traditions which had methods for access to memories in ways that modern literates don't typically give any credit at all. Johannes F.K .Schmidt certainly didn't and actively erased it in Niklas Luhmann’s Card Index: The Fabrication of Serendipity.

#### URL

12. github.com github.com

#### URL

13. bugs.ruby-lang.org bugs.ruby-lang.org
1. "Context" manipulation is one of big topic and there are many related terminologies (academic, language/implementation specific, promotion terminologies). In fact, there is confusing. In few minutes I remember the following related words and it is good CS exam to describe each :p Thread (Ruby) Green thread (CS terminology) Native thread (CS terminology) Non-preemptive thread (CS terminology) Preemptive thread (CS terminology) Fiber (Ruby/using resume/yield) Fiber (Ruby/using transfer) Fiber (Win32API) Generator (Python/JavaScript) Generator (Ruby) Continuation (CS terminology/Ruby, Scheme, ...) Partial continuation (CS terminology/ functional lang.) Exception handling (many languages) Coroutine (CS terminology/ALGOL) Semi-coroutine (CS terminology) Process (Unix/Ruby) Process (Erlang/Elixir) setjmp/longjmp (C) makecontext/swapcontext (POSIX) Task (...)

#### URL

14. Local file Local file
1. To satisfy the architecture of a modern process, a space sepa-rate from the usual library business is furnished, a catalog room or working memory for a central bibliographic unit. In this CBU, the program pro-cesses data contributed by various paths.

Note here how the author creates the acronym CBU out of central bibliographic unit as a means of creating a connection to computer jargon like CPU (central processing unit). I suspect that CBU was not an acronym used at the time.

bacrkonym?

#### Annotators

15. Jan 2022
16. psyarxiv.com psyarxiv.com
1. Budak, C., Soroka, S., Singh, L., Bailey, M., Bode, L., Chawla, N., Davis-Kean, P., Choudhury, M. D., Veaux, R. D., Hahn, U., Jensen, B., Ladd, J., Mneimneh, Z., Pasek, J., Raghunathan, T., Ryan, R., Smith, N. A., Stohr, K., & Traugott, M. (2021). Modeling Considerations for Quantitative Social Science Research Using Social Media Data. PsyArXiv. https://doi.org/10.31234/osf.io/3e2ux

#### URL

17. Local file Local file
1. Here, the card index func-tions as a ‘thinking machine’,67 and becomes the best communication partner for learned men.68

From a computer science perspective, isn't the index card functioning like an external memory, albeit one with somewhat pre-arranged linked paths? It's the movement through the machine's various paths that is doing the "thinking". Or the user's (active) choices that create the paths creates the impression of thinking.

Perhaps it's the pre-arranged links where the thinking has already happened (based on "work" put into the system) and then traversing the paths gives the appearance of "new" thinking?

How does this relate to other systems which can be thought of as thinking from a complexity perspective? Bacteria perhaps? Groups of cells acting in concert? Groups of people acting in concert? Cells seeing out food using random walks? etc?

From this perspective, how can we break out the constituent parts of thought and thinking? Consciousness? With enough nodes and edges and choices of paths between them (or a "correct" subset of paths) could anything look like thinking or computing?

#### Annotators

18. Dec 2021
19. en.wikipedia.org en.wikipedia.org
1. computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as µarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular processor.[1] A given ISA may be implemented with different microarchitectures;[2][3] implementations may vary due to different goals of a given design or due to shifts in technology.[4]

Microarchitecture (µarch) What Does Microarchitecture (µarch) Mean? Microarchitecture, abbreviated as µarch or uarch, is the fundamental design of a microprocessor. It includes the technologies used, resources and the methods by which the processor is physically designed in order to execute a specific instruction set (ISA or instruction set architecture). Simply put, it is the logical design of all electronic components and data paths present in the microprocessor, laid out in a specific way that it allows for optimal execution of instructions. In academe this is called computer organization.

Techopedia Explains Microarchitecture (µarch) Microarchitecture is the logical representation of how a microprocessor is designed so that the interconnections between components – the control unit, the arithmetic logic unit, registers and others – interact in an optimized manner. This includes how buses, the data pathways between components, are laid out to dictate the shortest paths and proper connections. In modern microprocessors there are often several layers to deal with complexity. The basic idea is to lay out a circuit that could execute commands and operations that are defined in an instruction set.

A technique that is currently used in microarchitecture is the pipelined datapath. It is a technique that allows a form of parallelism that is applied in data processing by allowing several instructions to overlap in execution. This is done by having multiple execution pipelines that run in parallel or close to parallel.

Execution units are also a crucial aspect of microarchitecture. Execution units perform the operations or calculations of the processor. The choice of the number of execution units, their latency and throughput is a central microarchitectural design consideration. The size, latency, throughput and connectivity of memories within the system are also microarchitectural decisions.

Another part of a microarchitecture is system-level design. This includes decisions on performance such as level and connectivity of input, as well as output and I/O devices.

Microarchitectural design pays closer attention to restrictions than capability. A microarchitecture design decision directly affects what goes into a system; it heeds to issues such as:

Performance Chip area/cost Logic complexity Ease of debugging Testability Ease of connectivity Power consumption Manufacturability A good microarchitecture is one that caters to all of these criteria.

#### URL

20. en.wikipedia.org en.wikipedia.org
1. In general, an ISA defines the supported instructions, data types, registers, the hardware support for managing main memory, fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of a family of implementations of the ISA.

Instruction Set Architecture defines all logical steps (performed by their corresponding digital logical design hardware) which realizing all computing tasks facilitating our life.

#### URL

21. Nov 2021
22. psyarxiv.com psyarxiv.com
1. Hoffman, R., Mueller, S., Klein, G., & Litman, J. (2021). Measuring Trust in the XAI Context. PsyArXiv. https://doi.org/10.31234/osf.io/e3kv9

#### URL

23. Jun 2021
1. Running time is asymptotically tight bound. "Asymptotically" because it matters for only large values of nnn. "Tight bound" because we've nailed the running time to within a constant factor above and below.

2. Running time has lower bound and upper bound once the number of computations get large enough.

3. Computation takes time to run. The notation used for running time of computations is Big-Theta.

#### URL

25. Apr 2021
26. www.nature.com www.nature.com
1. Tollefson, J. (2021, April 16). The race to curb the spread of COVID vaccine disinformation. Nature. https://www.nature.com/articles/d41586-021-00997-x?error=cookies_not_supported&code=0d3302c0-59b3-4065-8835-2a6d99ca35cc

#### URL

27. www.gcu.edu www.gcu.edu
1. Programming is using a language that a machine can understand in order to get it to perform various tasks. Computer programming is how we communicate with machines in a way that makes them function how we need.
2. Earning a computer programming degree can help you innovate and create solutions for a global society.

Can talk about how this applies to other areas/problem-solving/impact on world.

#### URL

28. Mar 2021
29. arxiv.org arxiv.org
1. Kozlowski, Diego, Jennifer Dusdal, Jun Pang, and Andreas Zilian. ‘Semantic and Relational Spaces in Science of Science: Deep Learning Models for Article Vectorisation’. ArXiv:2011.02887 [Physics], 5 November 2020. http://arxiv.org/abs/2011.02887.

#### URL

30. en.wikipedia.org en.wikipedia.org
1. Some believe that computing and internetworking concepts and skills underlie virtually every important aspect of LIS, indeed see LIS as a sub-field of computer science!

#### URL

31. Feb 2021
32. en.wikipedia.org en.wikipedia.org

#### URL

33. hilton.org.uk hilton.org.uk
1. violates our expectation that hard things should be technical

#### URL

34. www.quora.com www.quora.com
1. So the hard and unsolvable problem becomes: how up-to-date do you really need to be?
2. After considering the value we place, and the tradeoffs we make, when it comes to knowing anything of significance, I think it becomes much easier to understand why cache invalidation is one of the hard problems in computer science

the crux of the problem is: trade-offs

3. the 2 hardest problems in computer science are essentially the 2 hardest problems of life in general, as far as humans and information are concerned.
4. The non-determinism is why cache invalidation — and that other hard problem, naming things — are uniquely and intractably hard problems in computer science. Computers can perfectly solve deterministic problems. But they can’t predict when to invalidate a cache because, ultimately, we, the humans who design and build computational processes, can’t agree on when a cache needs to be invalidated.
5. Sometimes humorously extended as “cache invalidation, naming things, and off-by-one errors.”

#### URL

35. www.computers.wtf www.computers.wtf
1. There’s only one hard thing in Computer Science: human communication. The most complex part of cache invalidation is figuring out what the heck people mean with the word cache. Once you get that sorted out, the rest is not that complicated; the tools are out there, and they’re pretty good.

#### URL

36. Sep 2020
37. www.scientificamerican.com www.scientificamerican.com
1. 448-page preprint paper

how can he expect people to read that with scrutiny?

#### URL

38. psyarxiv.com psyarxiv.com
1. Yang, Scott Cheng-Hsin, Chirag Rank, Jake Alden Whritner, Olfa Nasraoui, and Patrick Shafto. ‘Unifying Recommendation and Active Learning for Information Filtering and Recommender Systems’. Preprint. PsyArXiv, 25 August 2020. https://doi.org/10.31234/osf.io/jqa83.

#### URL

39. Jun 2020
40. arxiv.org arxiv.org
1. Jazayeri, A., & Yang, C. C. (2020). Motif Discovery Algorithms in Static and Temporal Networks: A Survey. ArXiv:2005.09721 [Physics]. http://arxiv.org/abs/2005.09721

#### URL

41. May 2020
42. arxiv.org arxiv.org
1. Katz, D. M., Coupette, C., Beckedorf, J., & Hartung, D. (2020). Complex Societies and the Growth of the Law. ArXiv:2005.07646 [Physics]. http://arxiv.org/abs/2005.07646

#### URL

43. boardgamegeek.com boardgamegeek.com

#### URL

44. www.annualreviews.org www.annualreviews.org
1. Edelmann, A., Wolff, T., Montagne, D., & Bail, C. A. (2020). Computational Social Science and Sociology. Annual Review of Sociology, 46(1), annurev-soc-121919-054621. https://doi.org/10.1146/annurev-soc-121919-054621

45. Apr 2020

#### URL

47. www.ardanlabs.com www.ardanlabs.com
1. If the word “share” doesn’t come out of your mouth, you don’t need to use a pointer

key point

2. The benefit of passing data “by value” is readability. The value you see in the function call is what is copied and received on the other side

no hidden cost, eg., memory growth on the heap or pauses during garbage collection. but there is a cost in stack memory usage and "scoping" among multiple stack frames, CPU caching, etc.

3. Functions execute within the scope of frame boundaries that provide an individual memory space for each respective function. Each frame allows a function to operate within their own context and also provides flow control. A function has direct access to the memory inside its frame, through the frame pointer, but access to memory outside its frame requires indirect access. For a function to access memory outside of its frame, that memory must be shared with the function.

eg., shared via the "pointer" to an address in heap memory

#### URL

48. Dec 2019
49. raf.org raf.org

#### URL

50. May 2019
51. intelligence.org intelligence.org
1. The first difficulty is that the robot’s utility function did not quite match our utility function. Our utility function is 1 if the cauldron is full, 0 if the cauldron is empty, −10 points to whatever the outcome was if the workshop has flooded, +0.2 points if it’s funny, −1,000 points (probably a bit more than that on this scale) if someone gets killed … and it just goes on and on and on.

But it is very difficult to fully express these utility functions in code. The goal is to literally turn our ethics into code -- to translate them into coherent data structures, algorithms, and decision trees. We want to deduce our moral intuitions and more.

#### URL

52. Oct 2018
53. reallifemag.com reallifemag.com
1. Questions about the inclusivity of engineering and computer science departments have been going on for quite some time. Several current “innovations” coming out of these fields, many rooted in facial recognition, are indicative of how scientific racism has long been embedded in apparently neutral attempts to measure people — a “new” spin on age-old notions of phrenology and biological determinism, updated with digital capabilities.

#### URL

54. Mar 2018
1. beenary code

http://www.unit-conversion.info/texttools/convert-text-to-binary/

binary is anything with two and only two states, a code that is binary represents information using only these two states.

#### URL

56. Feb 2018
57. catalogs.degreedata.com catalogs.degreedata.com
1. Computer Science, B.S.

#### URL

58. Jan 2018
59. en.wikipedia.org en.wikipedia.org
1. Dynamic dispatch

a.k.a. Dynamic Method Dispatch

#### URL

60. Apr 2017
61. www.quora.com www.quora.com
1. Alan Kay is on quora.

#### URL

62. Feb 2017
63. wiki.dbpedia.org wiki.dbpedia.org

#### URL

64. semanticweb.org semanticweb.org

#### URL

65. www.cyc.com www.cyc.com

#### URL

66. demo.dbpedia-spotlight.org demo.dbpedia-spotlight.org

#### URL

67. lod-cloud.net lod-cloud.net

#### URL

68. www.sensebot.net www.sensebot.net

#### URL

69. labs.sparna.fr labs.sparna.fr

#### URL

70. cognonto.com cognonto.com

#### URL

71. aksw.org aksw.org

#### URL

72. meta.com meta.com

#### URL

73. semanticweb.org semanticweb.org

#### URL

74. en.lodlive.it en.lodlive.it

#### URL

75. www.w3.org www.w3.org

#### URL

76. semanticweb.org semanticweb.org

#### URL

77. Jan 2017
78. interactivepython.org interactivepython.org
1. In Python, as well as in any other object-oriented programming language, we define a class to be a description of what the data look like (the state) and what the data can do (the behavior). Classes are analogous to abstract data types because a user of a class only sees the state and behavior of a data item. Data items are called objects in the object-oriented paradigm. An object is an instance of a class.

Class = General description of form and functions of data. Object = A member or instance of a class.

#### URL

79. Jul 2016
80. neil.fraser.name neil.fraser.name
1. Neil Fraser says Vietnam is doing well with computer science education.

"If grade 5 students in Vietnam are performing at least on par with their grade 11 peers in the USA, what does grade 11 in Vietnam look like? I walked into a high school CS class, again without any advance notice. The class was working on the assignment below (partially translated by their teacher for my benefit afterwards). Given a data file describing a maze with diagonal walls, count the number of enclosed areas, and measure the size of the largest one."

#### URL

81. news.ycombinator.com news.ycombinator.com
1. Q&A session with Alan Kay, June 2016.

#### URL

82. Jun 2016
83. Local file Local file
1. Civilization advances by extending the number of important operations we can perform without thinking about them.

This sounds really similar to the concept of "abstraction".

#### Annotators

84. May 2016
85. jasonpark.me jasonpark.me
1. Algorithm visualizations: sorting, binary search, graph search

#### URL

86. blog.ppelgren.se blog.ppelgren.se
1. Tutorial on using Rust to write an interpreter for an invented programming language.

#### URL

87. Apr 2016
88. mitpress.mit.edu mitpress.mit.edu
1. Great Principles of Computing<br> Peter J. Denning, Craig H. Martell

This is a book about the whole of computing—its algorithms, architectures, and designs.

Denning and Martell divide the great principles of computing into six categories: communication, computation, coordination, recollection, evaluation, and design.

"Programmers have the largest impact when they are designers; otherwise, they are just coders for someone else's design."

#### URL

89. Feb 2016
90. bob.cs.sonoma.edu bob.cs.sonoma.edu
1. Introduction to Computer Organization with x86-64 Assembly Language and GNU/Linux, Robert G. Plantz

#### URL

91. benng.me benng.me
1. Tutorial series on distributed systems.

#### URL

92. Jan 2016
93. news.ycombinator.com news.ycombinator.com
1. Discussion about Obama's computer science for K-12 initiative. CS programs in high school are about 40 years overdue. It is a valid concern that much of this money may be wasted on overpriced proprietary software, hardware, and training programs. And of course, average schools will handle CS about like they handle other subjects -- not very well.

Another concern raised, and countered, is that more programmers will mean lower wages for programmers. But not everyone who studies CS in high school is going to become a programmer. And an increase in computer literacy may help increase the demand for programmers and technicians.

#### URL

94. www.whitehouse.gov www.whitehouse.gov
1. educators and business leaders are increasingly recognizing that CS is a “new basic” skill necessary for economic opportunity. The President referenced his Computer Science for All Initiative, which provides $4 billion in funding for states and$100 million directly for districts in his upcoming budget; and invests more than \$135 million beginning this year by the National Science Foundation and the Corporation for National and Community Service to support and train CS teachers.

#### URL

95. www.economist.com www.economist.com
1. This has implications far beyond the cryptocurrency

The concept of trust, in the sociological and economic sense, underlies exchange. In the 15th-17th centuries, the Dutch and English dominance of trade owed much to their early development of instruments of credit that allowed merchants to fund and later to insure commercial shipping without the exchange of hard currency, either silver or by physically transporting the currency of the realm. Credit worked because the English and Dutch economies trusted the issuers of credit.

Francis Fukuyama, a philosopher and political economist at Stanford, wrote a book in 1995, Trust: The Social Virtues and the Creation of Prosperity, on the impact of cultures of trust on entrepreneurial growth. Countries of ‘low trust’ have close family culture who limit trust to relations: France, China, S. Italy. Countries of ‘high trust’ have greater ‘spontaneous sociability’ that encourages the formation of intermediate institutions between the state and the family, that encourage greater entrepreneurial growth: Germany, England, the U.S. – I own the book and (shame on me!) haven’t yet read it.

I thought of this article in those contexts – of the general need for trusted institutions and the power they have in mediating an economy, and the fascinating questions raised when a new facilitator of trust is introduced.

How do we trust? Across human history, how have we extended the social role of trust to institutions? If a new modality of trust comes available, how does that change institutional structures and correspondingly the power of individuals, of institutions. How would it change the friction to growth and to decline?

Prior to reading this article, I had dismissed Bitcoin as a temporary aberration, mostly for criminal enterprises and malcontents. I still feel that way. But the underlying technology and it’s implications – now that’s interesting.

#### URL

96. nautil.us nautil.us
1. The story of Walter Pitts and Warren McCulloch, whose theory of brain function was followed by John von Neumann's design for the stored program computer.

#### URL

97. category-theory.mitpress.mit.edu category-theory.mitpress.mit.edu
1. Category Theory for the Sciences by David I. Spivak<br> Creative Commons Attribution-NonCommercial-ShareAlike 4.0<br> MIT Press.

#### URL

98. Dec 2015
99. medium.com medium.com
1. Pamela Fox on careers that involve both coding and teaching.

#### URL

100. math.mit.edu math.mit.edu
1. In 1980 Joachim Lambek showed that the types and programs used in computerscience form a specific kind of category. This provided a new semantics for talking aboutprograms, allowing people to investigate how programs combine and compose to createother programs, without caring about the specifics of implementation. Eugenio Moggibrought the category theoretic notion of monads into computer science to encapsulateideas that up to that point were considered outside the realm of such theory.

#### URL

101. Nov 2015
102. medium.com medium.com
1. “Many random number generators in use today are not very good. There is a tendency for people to avoid learning anything about such subroutines; quite often we find that some old method that is comparatively unsatisfactory has blindly been passed down from one programmer to another, and today’s users have no understanding of its limitations.”— Donald Knuth; The Art of Computer Programming, Volume 2.

Mike Malone examines JavaScript's Math.random() in v8, argues that the algorithm used should be replaced, and suggests alternatives.

#### URL

103. Jun 2015
104. www.theverge.com www.theverge.com
1. There’s a scale for how to think about science. On one end there’s an attempt to solve deep, fundamental questions of nature; on the other is rote uninteresting procedure. There’s also a scale for creating products. On one end you find ambitious, important breakthroughs; on the other small, iterative updates. Plot those two things next to each other and you get a simple chart with four sections. Important science but no immediate practical use? That’s pure basic research — think Niels Bohr and his investigations into the nature of the atom. Not much science but huge practical implications? That’s pure applied research — think Thomas Edison grinding through thousands of materials before he lit upon the tungsten filament for the lightbulb.