suh4s commited on
Commit
31add3b
·
1 Parent(s): 0dbe88c

Working AIE midterm InsightFlow AI

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. Dockerfile +61 -0
  2. __init__.py +1 -0
  3. app.py +1080 -0
  4. data/.gitkeep +0 -0
  5. data_sources/analytical/examples.txt +3 -0
  6. data_sources/analytical/excerpts.txt +5 -0
  7. data_sources/analytical/generated_analytical_example.txt +9 -0
  8. data_sources/analytical/hannah_fry_mathematics_of_love_transcript.html +173 -0
  9. data_sources/analytical/hannah_fry_uncertainty_unavoidable_transcript.html +0 -0
  10. data_sources/analytical/pew_research_ai_views_2023.html +0 -0
  11. data_sources/analytical/pew_research_report_ai_views_2023.txt +84 -0
  12. data_sources/analytical/sagan_baloney_detection.txt +380 -0
  13. data_sources/factual/examples.txt +3 -0
  14. data_sources/feynman/lectures.txt +11 -0
  15. data_sources/fry/excerpts.txt +5 -0
  16. data_sources/futuristic/examples.txt +5 -0
  17. data_sources/holmes/examples.txt +5 -0
  18. data_sources/metaphorical/aesops_fables_milo_winter.txt +0 -0
  19. data_sources/metaphorical/asimov_last_question.html +14 -0
  20. data_sources/metaphorical/asimov_last_question.txt +187 -0
  21. data_sources/metaphorical/asimov_last_question_cmu.html +678 -0
  22. data_sources/metaphorical/asimov_relativity_of_wrong.html +213 -0
  23. data_sources/metaphorical/examples.txt +5 -0
  24. data_sources/metaphorical/generated_metaphorical_example.txt +15 -0
  25. data_sources/metaphorical/hans_christian_andersen_fairy_tales.txt +0 -0
  26. data_sources/metaphorical/kalidasa_meghaduta_wilson.txt +0 -0
  27. data_sources/philosophical/examples.txt +5 -0
  28. data_sources/philosophical/generated_krishnamurti_freedom.txt +9 -0
  29. data_sources/philosophical/generated_krishnamurti_observation.txt +11 -0
  30. data_sources/philosophical/generated_philosophical_example.txt +9 -0
  31. data_sources/philosophical/krishnamurti_freedom_known_ch1.html +7 -0
  32. data_sources/philosophical/krishnamurti_urgency_of_change.html +7 -0
  33. data_sources/philosophical/marcus_aurelius_meditations.txt +0 -0
  34. data_sources/philosophical/socrates_apology_plato.txt +0 -0
  35. data_sources/philosophical/socrates_crito_plato.txt +1065 -0
  36. data_sources/scientific/examples.txt +5 -0
  37. download_data.py +157 -0
  38. exports/.gitkeep +0 -0
  39. get-pip.py +0 -0
  40. insight_state.py +27 -0
  41. langgraph_visualization.txt +51 -0
  42. persona_configs/analytical.json +30 -0
  43. persona_configs/factual.json +31 -0
  44. persona_configs/feynman.json +59 -0
  45. persona_configs/fry.json +60 -0
  46. persona_configs/futuristic.json +32 -0
  47. persona_configs/holmes.json +53 -0
  48. persona_configs/metaphorical.json +30 -0
  49. persona_configs/philosophical.json +31 -0
  50. persona_configs/scientific.json +31 -0
Dockerfile ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ # Set environment variables
4
+ ENV PYTHONDONTWRITEBYTECODE=1 \
5
+ PYTHONUNBUFFERED=1 \
6
+ PYTHONFAULTHANDLER=1 \
7
+ PATH="/home/user/.local/bin:$PATH" \
8
+ HOME=/home/user \
9
+ PYTHONPATH="/home/user/app:$PYTHONPATH"
10
+
11
+ # Add non-root user
12
+ RUN useradd -m -u 1000 user
13
+
14
+ # Install system dependencies
15
+ RUN apt-get update && apt-get install -y --no-install-recommends \
16
+ build-essential \
17
+ curl \
18
+ && rm -rf /var/lib/apt/lists/*
19
+
20
+ # Set working directory
21
+ WORKDIR $HOME/app
22
+
23
+ # Copy requirements file
24
+ COPY --chown=user requirements.txt .
25
+
26
+ # Install pip and dependencies
27
+ RUN pip install --upgrade pip setuptools wheel
28
+ RUN pip install -r requirements.txt
29
+
30
+ # Copy application files
31
+ COPY --chown=user app.py .
32
+ COPY --chown=user insight_state.py .
33
+ COPY --chown=user chainlit.md .
34
+ COPY --chown=user README.md .
35
+ COPY --chown=user utils ./utils
36
+ COPY --chown=user persona_configs ./persona_configs
37
+ COPY --chown=user download_data.py .
38
+ COPY --chown=user .env.example .
39
+
40
+ # Create necessary directories
41
+ RUN mkdir -p data data_sources exports public
42
+ RUN mkdir -p exports && touch exports/.gitkeep
43
+ RUN mkdir -p data && touch data/.gitkeep
44
+
45
+ # Set permissions
46
+ RUN chown -R user:user $HOME
47
+
48
+ # Switch to non-root user
49
+ USER user
50
+
51
+ # Run data download script to initialize data sources
52
+ RUN python download_data.py
53
+
54
+ # Create config for HF Spaces
55
+ RUN mkdir -p $HOME/app/.hf && echo "sdk_version: 3\ntitle: InsightFlow AI\ndescription: Multi-perspective research assistant with visualization capabilities\napp_port: 7860" > $HOME/app/.hf/settings.yaml
56
+
57
+ # Expose Hugging Face Spaces port
58
+ EXPOSE 7860
59
+
60
+ # Run the app
61
+ CMD ["chainlit", "run", "app.py", "--host", "0.0.0.0", "--port", "7860"]
__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ # This file makes the directory a Python package
app.py ADDED
@@ -0,0 +1,1080 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # InsightFlow AI - Main Application
2
+ import chainlit as cl
3
+ from insight_state import InsightFlowState # Import InsightFlowState
4
+ from dotenv import load_dotenv
5
+ from langchain_openai import ChatOpenAI
6
+ from openai import AsyncOpenAI # Import AsyncOpenAI for DALL-E
7
+ from langgraph.graph import StateGraph, END
8
+ from langchain_core.messages import HumanMessage, SystemMessage # Added for prompts
9
+ from utils.persona import PersonaFactory # Import PersonaFactory
10
+ from utils.visualization_utils import generate_dalle_image, generate_mermaid_code # <--- UPDATED IMPORT
11
+ import asyncio # For asyncio.gather in execute_persona_tasks
12
+ from langchain_core.callbacks.base import AsyncCallbackHandler # <--- ADDED for progress
13
+ from typing import Any, Dict, List, Optional, Union # <--- ADDED for callbacks
14
+ from langchain_core.outputs import LLMResult # <--- ADDED for callbacks
15
+ import datetime # For export filenames
16
+ from pathlib import Path # For export directory
17
+ from chainlit.input_widget import Switch, Select # <--- REMOVE Option import
18
+ # from chainlit.input_widget import Collapse # <--- COMMENT OUT FOR NOW
19
+ # from chainlit.element import Divider # <--- REMOVE Collapse from this import for now
20
+
21
+ # --- RAG UTILS IMPORT ---
22
+ from utils.rag_utils import get_embedding_model_instance, get_relevant_context_for_query
23
+ # --- END RAG UTILS IMPORT ---
24
+
25
+ # --- GLOBAL CONFIGURATION STATE ---
26
+ _configurations_initialized = False
27
+ # _embedding_model_initialized = False # REMOVE OLD GLOBAL FLAG
28
+ llm_planner = None
29
+ llm_synthesizer = None
30
+ llm_direct = None
31
+ llm_analytical = None
32
+ llm_scientific = None
33
+ llm_philosophical = None
34
+ llm_factual = None
35
+ llm_metaphorical = None
36
+ llm_futuristic = None
37
+ llm_mermaid_generator = None # <--- ADDED
38
+ openai_async_client = None # For DALL-E
39
+ PERSONA_LLM_MAP = {}
40
+
41
+ # Embedding Model Identifiers
42
+ OPENAI_EMBED_MODEL_ID = "text-embedding-3-small"
43
+ # IMPORTANT: Replace with your actual fine-tuned model ID from Hugging Face Hub after training
44
+ FINETUNED_BALANCED_TEAM_EMBED_ID = "suh4s/insightflow-balanced-team-embed-v1" # Placeholder
45
+
46
+ QUICK_MODE_PERSONAS = ["analytical", "factual"] # Default personas for Quick Mode
47
+ # --- RAG Configuration (moved to global scope) ---
48
+ RAG_ENABLED_PERSONA_IDS = ["analytical", "philosophical", "metaphorical"]
49
+ # --- End RAG Configuration ---
50
+
51
+ PERSONA_TEAMS = {
52
+ "creative_synthesis": {
53
+ "name": "🎨 Creative Synthesis Team",
54
+ "description": "Generates novel ideas and artistic interpretations.",
55
+ "members": ["metaphorical", "futuristic", "philosophical"]
56
+ },
57
+ "data_driven_analysis": {
58
+ "name": "📊 Data-Driven Analysis Squad",
59
+ "description": "Focuses on factual accuracy and logical deduction.",
60
+ "members": ["analytical", "factual", "scientific"]
61
+ },
62
+ "balanced_overview": {
63
+ "name": "⚖️ Balanced Overview Group",
64
+ "description": "Provides a well-rounded perspective.",
65
+ "members": ["analytical", "philosophical", "metaphorical"] # UPDATED: factual -> metaphorical
66
+ }
67
+ }
68
+
69
+ def initialize_configurations():
70
+ """Loads environment variables and initializes LLM configurations."""
71
+ global _configurations_initialized
72
+ global llm_planner, llm_synthesizer, llm_direct, llm_analytical, llm_scientific
73
+ global llm_philosophical, llm_factual, llm_metaphorical, llm_futuristic
74
+ global llm_mermaid_generator # <--- ADDED
75
+ global openai_async_client # Add new client to globals
76
+ global PERSONA_LLM_MAP
77
+
78
+ if _configurations_initialized:
79
+ return
80
+
81
+ print("Initializing configurations: Loading .env and setting up LLMs...")
82
+ load_dotenv()
83
+
84
+ # LLM CONFIGURATIONS
85
+ llm_planner = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.1)
86
+ llm_synthesizer = ChatOpenAI(model="gpt-4o-mini", temperature=0.4)
87
+ llm_direct = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.3)
88
+ llm_analytical = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.2)
89
+ llm_scientific = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.3)
90
+ llm_philosophical = ChatOpenAI(model="gpt-4o-mini", temperature=0.5)
91
+ llm_factual = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.1)
92
+ llm_metaphorical = ChatOpenAI(model="gpt-4o-mini", temperature=0.6)
93
+ llm_futuristic = ChatOpenAI(model="gpt-4o-mini", temperature=0.6)
94
+ llm_mermaid_generator = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.1) # <--- ADDED INITIALIZATION
95
+
96
+ # Initialize OpenAI client for DALL-E etc.
97
+ openai_async_client = AsyncOpenAI()
98
+
99
+ # Mapping persona IDs to their specific LLM instances
100
+ PERSONA_LLM_MAP.update({
101
+ "analytical": llm_analytical,
102
+ "scientific": llm_scientific,
103
+ "philosophical": llm_philosophical,
104
+ "factual": llm_factual,
105
+ "metaphorical": llm_metaphorical,
106
+ "futuristic": llm_futuristic,
107
+ })
108
+
109
+ _configurations_initialized = True
110
+ print("Configurations initialized.")
111
+
112
+ # Load environment variables first
113
+ # load_dotenv() # Moved to initialize_configurations
114
+
115
+ # --- LLM CONFIGURATIONS ---
116
+ # Configurations based on tests/test_llm_config.py
117
+ # llm_planner = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.1) # Moved
118
+ # llm_synthesizer = ChatOpenAI(model="gpt-4o-mini", temperature=0.4) # Moved
119
+ # llm_direct = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.3) # Moved
120
+ # llm_analytical = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.2) # Moved
121
+ # llm_scientific = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.3) # Moved
122
+ # llm_philosophical = ChatOpenAI(model="gpt-4o-mini", temperature=0.5) # Moved
123
+ # llm_factual = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.1) # Moved
124
+ # llm_metaphorical = ChatOpenAI(model="gpt-4o-mini", temperature=0.6) # Moved
125
+ # llm_futuristic = ChatOpenAI(model="gpt-4o-mini", temperature=0.6) # Moved
126
+
127
+ # Mapping persona IDs to their specific LLM instances
128
+ # PERSONA_LLM_MAP = { # Moved and will be populated in initialize_configurations
129
+ # "analytical": llm_analytical,
130
+ # "scientific": llm_scientific,
131
+ # "philosophical": llm_philosophical,
132
+ # "factual": llm_factual,
133
+ # "metaphorical": llm_metaphorical,
134
+ # "futuristic": llm_futuristic,
135
+ # Add other personas here if they have dedicated LLMs or share one from above
136
+ # }
137
+
138
+ # --- SYSTEM PROMPTS (from original app.py) ---
139
+ DIRECT_SYSPROMPT = """You are a highly intelligent AI assistant that provides clear, direct, and helpful answers.
140
+ Your responses should be accurate, concise, and well-reasoned."""
141
+
142
+ SYNTHESIZER_SYSTEM_PROMPT_TEMPLATE = """You are a master synthesizer AI. Your task is to integrate the following diverse perspectives into a single, coherent, and insightful response. Ensure that the final synthesis is well-structured, easy to understand, and accurately reflects the nuances of each provided viewpoint. Do not simply list the perspectives; weave them together.
143
+
144
+ Perspectives:
145
+ {formatted_perspectives}
146
+
147
+ Synthesized Response:"""
148
+
149
+ # --- LANGGRAPH NODE FUNCTIONS (DUMMIES FOR NOW) ---
150
+ async def run_planner_agent(state: InsightFlowState) -> InsightFlowState:
151
+ print(f"Node: run_planner_agent, Query: {state.get('query')}")
152
+ progress_msg = cl.user_session.get("progress_msg")
153
+ completed_steps_log = cl.user_session.get("completed_steps_log")
154
+
155
+ activity_description = "Planning research approach..."
156
+ activity_emoji = "📅"
157
+ current_activity_display = f"{activity_emoji} {activity_description} (10%)"
158
+
159
+ if progress_msg:
160
+ progress_msg.content = f"**Current Activity:**\n{current_activity_display}"
161
+ if completed_steps_log:
162
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n{progress_msg.content}"
163
+ await progress_msg.update()
164
+
165
+ completed_steps_log.append(f"{activity_emoji} {activity_description}") # Log without percentage
166
+ cl.user_session.set("completed_steps_log", completed_steps_log)
167
+
168
+ state["current_step_name"] = "execute_persona_tasks"
169
+ return state
170
+
171
+ async def execute_persona_tasks(state: InsightFlowState) -> InsightFlowState:
172
+ print(f"Node: execute_persona_tasks")
173
+ progress_msg = cl.user_session.get("progress_msg")
174
+ completed_steps_log = cl.user_session.get("completed_steps_log", [])
175
+
176
+ activity_description = "Generating perspectives from selected team..."
177
+ activity_emoji = "🧠"
178
+ current_activity_display = f"{activity_emoji} {activity_description} (20%)"
179
+
180
+ if progress_msg:
181
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n**Current Activity:**\n{current_activity_display}"
182
+ await progress_msg.update()
183
+
184
+ persona_factory: PersonaFactory = cl.user_session.get("persona_factory")
185
+ selected_persona_ids = state.get("selected_personas", [])
186
+ query = state.get("query")
187
+
188
+ if not selected_persona_ids:
189
+ state["persona_responses"] = {"error": "No personas selected for perspective generation."}
190
+ state["current_step_name"] = "synthesize_responses" # Or an error handling state
191
+ if progress_msg: completed_steps_log.append(f"{activity_emoji} {activity_description} - No personas selected.")
192
+ cl.user_session.set("completed_steps_log", completed_steps_log)
193
+ return state
194
+
195
+ await cl.Message(content=f"Invoking {len(selected_persona_ids)} personas...").send()
196
+
197
+ tasks = []
198
+ # --- RAG Enhancement ---
199
+ embedding_model = cl.user_session.get("embedding_model_instance") # <--- GET MODEL FROM SESSION
200
+ global_rag_enabled = cl.user_session.get("enable_rag", True)
201
+ # --- End RAG Enhancement ---
202
+
203
+ valid_persona_ids_for_results = [] # Keep track of personas for which tasks were created
204
+ for persona_id in selected_persona_ids:
205
+ persona_llm = PERSONA_LLM_MAP.get(persona_id.lower())
206
+ if not persona_llm:
207
+ print(f"Warning: LLM not found for persona {persona_id}. Skipping.")
208
+ continue
209
+
210
+ persona = persona_factory.create_persona(persona_id, persona_llm)
211
+ if persona:
212
+ final_query_for_llm = query # Default to original query
213
+
214
+ # --- RAG Integration for Balanced Team Personas ---
215
+ if global_rag_enabled and persona.persona_id.lower() in RAG_ENABLED_PERSONA_IDS: # Check global toggle first; Changed persona.id to persona.persona_id
216
+ if embedding_model:
217
+ rag_progress_message = f"\n 🔍 Persona '{persona.name}' (RAG enabled): Searching knowledge base for context related to: '{query[:50]}...'"
218
+ if progress_msg: await progress_msg.stream_token(rag_progress_message)
219
+ print(rag_progress_message.strip())
220
+
221
+ retrieved_context = await get_relevant_context_for_query(query, persona.persona_id, embedding_model)
222
+
223
+ if retrieved_context:
224
+ context_log_msg = f" ✅ Context retrieved for '{persona.name}'. Augmenting prompt."
225
+ # print(f"Retrieved context for {persona.id}:\n{retrieved_context}") # Full context - verbose
226
+ final_query_for_llm = f"""As the {persona.name}, consider the following retrieved context to answer the user's query.
227
+ Integrate this context with your inherent expertise and perspective.
228
+
229
+ Retrieved Context:
230
+ ---
231
+ {retrieved_context}
232
+ ---
233
+
234
+ User Query: {query}
235
+
236
+ Answer as {persona.name}:
237
+ """
238
+ if progress_msg: await progress_msg.stream_token(f"\n 💡 Context found for {persona.name}. Crafting response...")
239
+ print(context_log_msg)
240
+ else:
241
+ no_context_log_msg = f" ℹ️ No specific context found for '{persona.name}' for this query. Relying on general knowledge."
242
+ if progress_msg: await progress_msg.stream_token(f"\n 🧐 No specific context found for {persona.name}. Proceeding with general knowledge...")
243
+ print(no_context_log_msg)
244
+ # Prompt when no context is found - persona relies on its base system prompt and expertise
245
+ # The persona.generate_perspective method will use its inherent system_prompt.
246
+ # We can just pass the original query, or a slightly modified one indicating no specific context was found.
247
+ final_query_for_llm = f"""As the {persona.name}, answer the user's query using your inherent expertise and perspective.
248
+ No specific context from the knowledge base was retrieved for this particular query.
249
+
250
+ User Query: {query}
251
+
252
+ Answer as {persona.name}:
253
+ """
254
+ else:
255
+ no_embed_msg = f"\n ⚠️ Embedding model (current selection) not available for RAG for persona '{persona.name}'. Using general knowledge."
256
+ if progress_msg: await progress_msg.stream_token(no_embed_msg)
257
+ print(no_embed_msg.strip())
258
+ # --- End RAG Integration ---
259
+
260
+ # Stream persona-specific LLM call message
261
+ llm_call_msg = f"\n 🗣️ Consulting AI for {persona.name} perspective..."
262
+ if progress_msg: await progress_msg.stream_token(llm_call_msg)
263
+ print(llm_call_msg.strip())
264
+
265
+ tasks.append(persona.generate_perspective(final_query_for_llm)) # Use final_query_for_llm
266
+ valid_persona_ids_for_results.append(persona_id)
267
+ else:
268
+ print(f"Warning: Could not create persona object for {persona_id}. Skipping.")
269
+
270
+ state["persona_responses"] = {} # Initialize/clear previous responses
271
+ if tasks:
272
+ try:
273
+ # Timeout logic can be added here if needed for asyncio.gather
274
+ if progress_msg: await progress_msg.stream_token(f"\n ↪ Invoking {len(valid_persona_ids_for_results)} personas...")
275
+ persona_results = await asyncio.gather(*tasks)
276
+ # Store responses keyed by the valid persona_ids used for tasks
277
+ for i, persona_id in enumerate(valid_persona_ids_for_results):
278
+ state["persona_responses"][persona_id] = persona_results[i]
279
+ except Exception as e:
280
+ print(f"Error during persona perspective generation: {e}")
281
+ state["error_message"] = f"Error generating perspectives: {str(e)[:100]}"
282
+ # Optionally, populate partial results if some tasks succeeded before error
283
+ # For now, just reports error. Individual task errors could be handled in PersonaReasoning too.
284
+
285
+ if progress_msg:
286
+ completed_activity_description = "Perspectives generated."
287
+ # Emoji for this completed step was 🧠 from current_activity_display
288
+ completed_steps_log.append(f"{activity_emoji} {completed_activity_description}")
289
+ cl.user_session.set("completed_steps_log", completed_steps_log)
290
+
291
+ # Display updated completed list; the next node will set the new "Current Activity"
292
+ # For this brief moment, show only completed steps before next node updates with its current activity
293
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n**Current Activity:**\n✅ Perspectives generated. (60%)" # Show this as current before next node takes over
294
+ await progress_msg.update()
295
+
296
+ state["current_step_name"] = "synthesize_responses"
297
+ return state
298
+
299
+ async def synthesize_responses(state: InsightFlowState) -> InsightFlowState:
300
+ print(f"Node: synthesize_responses")
301
+ progress_msg = cl.user_session.get("progress_msg")
302
+ completed_steps_log = cl.user_session.get("completed_steps_log")
303
+
304
+ activity_description = "Synthesizing insights..."
305
+ activity_emoji = "✍️"
306
+ current_activity_display = f"{activity_emoji} {activity_description} (65%)"
307
+
308
+ if progress_msg:
309
+ progress_msg.content = f"**Current Activity:**\n{current_activity_display}"
310
+ if completed_steps_log:
311
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n{progress_msg.content}"
312
+ await progress_msg.update()
313
+
314
+ persona_responses = state.get("persona_responses", {})
315
+
316
+ if not persona_responses:
317
+ print("No persona responses to synthesize.")
318
+ state["synthesized_response"] = "No perspectives were available to synthesize."
319
+ state["current_step_name"] = "generate_visualization"
320
+ return state
321
+
322
+ formatted_perspectives_list = []
323
+ for persona_id, response_text in persona_responses.items():
324
+ formatted_perspectives_list.append(f"- Perspective from {persona_id}: {response_text}")
325
+
326
+ formatted_perspectives_string = "\n".join(formatted_perspectives_list)
327
+
328
+ final_prompt_content = SYNTHESIZER_SYSTEM_PROMPT_TEMPLATE.format(
329
+ formatted_perspectives=formatted_perspectives_string
330
+ )
331
+
332
+ messages = [
333
+ SystemMessage(content=final_prompt_content)
334
+ ]
335
+
336
+ try:
337
+ # Ensure llm_synthesizer is available (initialized by initialize_configurations)
338
+ if llm_synthesizer is None:
339
+ print("Error: llm_synthesizer is not initialized.")
340
+ state["error_message"] = "Synthesizer LLM not available."
341
+ state["synthesized_response"] = "Synthesis failed due to internal error."
342
+ state["current_step_name"] = "error_presenting" # Or a suitable error state
343
+ return state
344
+
345
+ ai_response = await llm_synthesizer.ainvoke(messages)
346
+ synthesized_text = ai_response.content
347
+ state["synthesized_response"] = synthesized_text
348
+ print(f"Synthesized response: {synthesized_text[:200]}...") # Log snippet
349
+ except Exception as e:
350
+ print(f"Error during synthesis: {e}")
351
+ state["error_message"] = f"Synthesis error: {str(e)[:100]}"
352
+ state["synthesized_response"] = "Synthesis failed."
353
+ # Optionally, decide if we proceed to visualization or an error state
354
+ # For now, let's assume we still try to visualize if there's a partial/failed synthesis
355
+
356
+ if progress_msg:
357
+ completed_activity_description = "Insights synthesized."
358
+ completed_steps_log.append(f"{activity_emoji} {completed_activity_description}")
359
+ cl.user_session.set("completed_steps_log", completed_steps_log)
360
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n**Current Activity:**\n✅ Insights synthesized. (80%)"
361
+ await progress_msg.update()
362
+
363
+ state["current_step_name"] = "generate_visualization"
364
+ return state
365
+
366
+ async def generate_visualization(state: InsightFlowState) -> InsightFlowState:
367
+ print(f"Node: generate_visualization")
368
+ progress_msg = cl.user_session.get("progress_msg")
369
+ completed_steps_log = cl.user_session.get("completed_steps_log")
370
+
371
+ activity_description = "Creating visualizations..."
372
+ activity_emoji = "🎨"
373
+ current_activity_display = f"{activity_emoji} {activity_description} (85%)"
374
+
375
+ if progress_msg:
376
+ progress_msg.content = f"**Current Activity:**\n{current_activity_display}"
377
+ if completed_steps_log:
378
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n{progress_msg.content}"
379
+ await progress_msg.update()
380
+
381
+ synthesized_response = state.get("synthesized_response")
382
+ image_url = None
383
+ mermaid_code_output = None # Changed variable name for clarity
384
+
385
+ # DALL-E Image Generation (existing logic)
386
+ if synthesized_response and openai_async_client:
387
+ # Log the full DALL-E prompt for debugging if issues persist
388
+ # print(f"Full DALL-E prompt for visualization: {dalle_prompt}")
389
+ dalle_prompt = f"A hand-drawn style visual note or sketch representing the key concepts of: {synthesized_response}"
390
+ if len(dalle_prompt) > 4000:
391
+ dalle_prompt = dalle_prompt[:3997] + "..."
392
+
393
+ print(f"Attempting DALL-E image generation for: {dalle_prompt[:100]}...")
394
+ image_url = await generate_dalle_image(prompt=dalle_prompt, client=openai_async_client)
395
+ if image_url:
396
+ state["visualization_image_url"] = image_url
397
+ print(f"DALL-E Image URL: {image_url}")
398
+ else:
399
+ print("DALL-E image generation failed or returned no URL.")
400
+ state["visualization_image_url"] = None
401
+ elif not synthesized_response:
402
+ print("No synthesized response available to generate DALL-E image.")
403
+ state["visualization_image_url"] = None
404
+ elif not openai_async_client:
405
+ print("OpenAI async client not initialized, skipping DALL-E generation.")
406
+ state["visualization_image_url"] = None
407
+
408
+ # Mermaid Code Generation
409
+ if synthesized_response and llm_mermaid_generator: # Check if both are available
410
+ print(f"Attempting Mermaid code generation for: {synthesized_response[:100]}...")
411
+ mermaid_code_output = await generate_mermaid_code(synthesized_response, llm_mermaid_generator)
412
+ if mermaid_code_output:
413
+ state["visualization_code"] = mermaid_code_output
414
+ print(f"Mermaid code generated: {mermaid_code_output[:100]}...")
415
+ else:
416
+ print("Mermaid code generation failed or returned no code.")
417
+ state["visualization_code"] = None # Ensure it's None if failed
418
+ else:
419
+ print("Skipping Mermaid code generation due to missing response or LLM.")
420
+ state["visualization_code"] = None
421
+
422
+ if progress_msg:
423
+ completed_activity_description = "Visualizations created."
424
+ completed_steps_log.append(f"{activity_emoji} {completed_activity_description}")
425
+ cl.user_session.set("completed_steps_log", completed_steps_log)
426
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n**Current Activity:**\n✅ Visualizations created. (95%)"
427
+ await progress_msg.update()
428
+
429
+ state["current_step_name"] = "present_results"
430
+ return state
431
+
432
+ async def present_results(state: InsightFlowState) -> InsightFlowState:
433
+ print(f"Node: present_results")
434
+ progress_msg = cl.user_session.get("progress_msg")
435
+ completed_steps_log = cl.user_session.get("completed_steps_log")
436
+
437
+ activity_description = "Preparing final presentation..."
438
+ activity_emoji = "🎁"
439
+ current_activity_display = f"{activity_emoji} {activity_description} (98%)"
440
+
441
+ if progress_msg:
442
+ progress_msg.content = f"**Current Activity:**\n{current_activity_display}"
443
+ if completed_steps_log:
444
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n{progress_msg.content}"
445
+ await progress_msg.update()
446
+
447
+ show_visualization = cl.user_session.get("show_visualization", True)
448
+ show_perspectives = cl.user_session.get("show_perspectives", True)
449
+ synthesized_response = state.get("synthesized_response")
450
+
451
+ # 1. Send Synthesized Response (always)
452
+ if synthesized_response:
453
+ await cl.Message(content=synthesized_response, author="Synthesized Insight").send()
454
+ else:
455
+ await cl.Message(content="No synthesized response was generated.", author="System").send()
456
+
457
+ # 2. Send Visualizations (if enabled and available)
458
+ if show_visualization:
459
+ image_url = state.get("visualization_image_url")
460
+ if image_url:
461
+ image_element = cl.Image(
462
+ url=image_url,
463
+ name="dalle_visualization",
464
+ display="inline",
465
+ size="large"
466
+ )
467
+ # Send image with a title in the content or as a separate message
468
+ await cl.Message(content="Visual Summary:", elements=[image_element], author="System").send()
469
+
470
+ mermaid_code = state.get("visualization_code")
471
+ if mermaid_code:
472
+ mermaid_element = cl.Text(
473
+ content=mermaid_code,
474
+ mime_type="text/mermaid",
475
+ name="generated_diagram",
476
+ display="inline"
477
+ )
478
+ await cl.Message(content="Concept Map:", elements=[mermaid_element], author="System").send()
479
+
480
+ # 3. Send Persona Perspectives within cl.Collapse (if enabled and available)
481
+ if show_perspectives:
482
+ persona_responses = state.get("persona_responses")
483
+ if persona_responses:
484
+ perspective_elements = []
485
+ for persona_id, response_text in persona_responses.items():
486
+ if response_text:
487
+ # Temporarily revert to sending simple messages for perspectives
488
+ await cl.Message(content=f"**Perspective from {persona_id.capitalize()}:**\n{response_text}", author=persona_id.capitalize()).send()
489
+ # perspective_elements.append(
490
+ # Collapse( # <--- COMMENT OUT USAGE
491
+ # label=f"👁️ Perspective from {persona_id.capitalize()}",
492
+ # content=response_text,
493
+ # initial_collapsed=True # Start collapsed
494
+ # )
495
+ # )
496
+ # if perspective_elements:
497
+ # await cl.Message(
498
+ # content="Dive Deeper into Individual Perspectives:",
499
+ # elements=perspective_elements,
500
+ # author="System"
501
+ # ).send()
502
+
503
+ state["current_step_name"] = "results_presented"
504
+
505
+ if progress_msg:
506
+ # Log the "Preparing presentation" step as completed first
507
+ completed_steps_log.append(f"{activity_emoji} {activity_description}")
508
+ cl.user_session.set("completed_steps_log", completed_steps_log)
509
+
510
+ # Show the 100% completion message as current activity initially
511
+ final_emoji = "✨"
512
+ final_message_description = "All insights presented!"
513
+ current_activity_display = f"{final_emoji} {final_message_description} (100%)"
514
+
515
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n**Current Activity:**\n{current_activity_display}"
516
+ await progress_msg.update()
517
+
518
+ # Now, move the 100% step to completed and finalize the progress message
519
+ await cl.sleep(0.5) # Optional short delay for UI to update before final change
520
+ completed_steps_log.append(f"{final_emoji} {final_message_description}")
521
+ cl.user_session.set("completed_steps_log", completed_steps_log)
522
+
523
+ # Generate witty remark
524
+ query_for_remark = state.get("query", "this topic")
525
+ personas_for_remark = state.get("selected_personas", [])
526
+ snippet_for_remark = state.get("synthesized_response")
527
+ witty_remark = await generate_witty_completion_remark(query_for_remark, personas_for_remark, snippet_for_remark)
528
+
529
+ progress_msg.content = f"**Completed Steps:**\n{(chr(10)).join(completed_steps_log)}\n\n{witty_remark}"
530
+ await progress_msg.update()
531
+
532
+ # Send a final message that all content is loaded, then actions
533
+ await cl.Message(content="All insights presented. You can now export the results.").send()
534
+
535
+ # Add Export Actions
536
+ export_actions = [
537
+ cl.Action(name="export_markdown", label="Export to Markdown", value="markdown", description="Export results to a Markdown file.", payload={}),
538
+ cl.Action(name="export_pdf", label="Export to PDF", value="pdf", description="Export results to a PDF file.", payload={})
539
+ ]
540
+ await cl.Message(content="", actions=export_actions).send()
541
+
542
+ return state
543
+
544
+ # --- LANGGRAPH SETUP ---
545
+ insight_graph_builder = StateGraph(InsightFlowState)
546
+
547
+ # Add nodes
548
+ insight_graph_builder.add_node("planner_agent", run_planner_agent)
549
+ insight_graph_builder.add_node("execute_persona_tasks", execute_persona_tasks)
550
+ insight_graph_builder.add_node("synthesize_responses", synthesize_responses)
551
+ insight_graph_builder.add_node("generate_visualization", generate_visualization)
552
+ insight_graph_builder.add_node("present_results", present_results)
553
+
554
+ # Set entry point
555
+ insight_graph_builder.set_entry_point("planner_agent")
556
+
557
+ # Add edges
558
+ insight_graph_builder.add_edge("planner_agent", "execute_persona_tasks")
559
+ insight_graph_builder.add_edge("execute_persona_tasks", "synthesize_responses")
560
+ insight_graph_builder.add_edge("synthesize_responses", "generate_visualization")
561
+ insight_graph_builder.add_edge("generate_visualization", "present_results")
562
+ insight_graph_builder.add_edge("present_results", END)
563
+
564
+ # Compile the graph
565
+ insight_flow_graph = insight_graph_builder.compile()
566
+
567
+ print("LangGraph setup complete.")
568
+
569
+ # --- CUSTOM CALLBACK HANDLER FOR PROGRESS UPDATES --- #
570
+ class InsightFlowCallbackHandler(AsyncCallbackHandler):
571
+ def __init__(self, progress_message: cl.Message):
572
+ self.progress_message = progress_message
573
+ self.step_counter = 0
574
+
575
+ async def on_chain_start(
576
+ self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
577
+ ) -> None:
578
+ """Run when chain starts running. Now simplified as nodes will provide more specific updates."""
579
+ # This callback might still be useful for very generic LangGraph level start/stop
580
+ # but specific node progress will be handled within the node functions themselves.
581
+ # Avoid printing "Unknown chain/node" if possible.
582
+ # langgraph_event_name = serialized.get("name") or (serialized.get("id")[-1] if isinstance(serialized.get("id"), list) and serialized.get("id") else None)
583
+ # if self.progress_message and langgraph_event_name and not langgraph_event_name.startswith("__"):
584
+ # self.step_counter += 1
585
+ # await self.progress_message.stream_token(f"\n⏳ Step {self.step_counter}: Processing {langgraph_event_name}...\")
586
+ pass # Node functions will now handle more granular progress updates
587
+
588
+ async def on_llm_start(
589
+ self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any
590
+ ) -> None:
591
+ """Run when LLM starts running. This will now be more generic or can be removed if node-specific messages are enough."""
592
+ # llm_display_name = "LLM" # Sensible default
593
+ # if serialized:
594
+ # id_list = serialized.get("id")
595
+ # if isinstance(id_list, list) and len(id_list) > 0:
596
+ # raw_name_part = id_list[0]
597
+ # if isinstance(raw_name_part, str):
598
+ # if "ChatOpenAI".lower() in raw_name_part.lower():
599
+ # llm_display_name = "OpenAI Model"
600
+ # elif "LLM" in raw_name_part.upper():
601
+ # llm_display_name = raw_name_part
602
+
603
+ # name_val = serialized.get("name")
604
+ # if isinstance(name_val, str) and name_val != "Unknown LLM":
605
+ # if llm_display_name == "LLM" or len(name_val) > len(llm_display_name):
606
+ # llm_display_name = name_val
607
+
608
+ # update_text = f"🗣️ Consulting {llm_display_name}... "
609
+ # if self.progress_message:
610
+ # # print(f"DEBUG on_llm_start serialized: {serialized}")
611
+ # await self.progress_message.stream_token(f"\n L {update_text}")
612
+ pass # Specific LLM call messages are now sent from execute_persona_tasks
613
+
614
+ # We can add on_agent_action, on_tool_start for more granular updates if nodes use agents/tools
615
+ # For now, on_chain_start (which LangGraph nodes trigger) and on_llm_start should give good visibility.
616
+
617
+ async def on_chain_end(self, outputs: Dict[str, Any], **kwargs: Any) -> None:
618
+ """Run when chain ends running."""
619
+ # chain_name = kwargs.get("name", "a process") # LangGraph provides name in kwargs for on_chain_end
620
+ # if self.progress_message:
621
+ # await self.progress_message.stream_token(f"\nCompleted: {chain_name}.\")
622
+ pass # Node functions will provide end-of-node context if needed
623
+
624
+ # This allows the test to import these names from app if needed
625
+ __all__ = [
626
+ "InsightFlowState", "on_chat_start", "on_message",
627
+ "invoke_direct_llm", "invoke_langgraph",
628
+ "run_planner_agent", "execute_persona_tasks", "synthesize_responses",
629
+ "generate_visualization", "present_results",
630
+ "StateGraph", # Expose StateGraph if tests patch app.StateGraph directly
631
+ "initialize_configurations", # Expose for testing
632
+ "on_export_markdown", "on_export_pdf" # Add new export handlers
633
+ ]
634
+
635
+ # --- CHAT SETTINGS HELPER ---
636
+ async def _apply_chat_settings_to_state():
637
+ """Reads chat settings and updates session and insight_flow_state."""
638
+ chat_settings_values = cl.user_session.get("chat_settings", {})
639
+ insight_flow_state: InsightFlowState = cl.user_session.get("insight_flow_state")
640
+ persona_factory: PersonaFactory = cl.user_session.get("persona_factory")
641
+
642
+ if not insight_flow_state or not persona_factory:
643
+ # Should not happen if on_chat_start ran correctly
644
+ print("Error: State or persona factory not found while applying chat settings.")
645
+ return
646
+
647
+ # Update modes in user_session
648
+ cl.user_session.set("direct_mode", chat_settings_values.get("direct_mode", False))
649
+ cl.user_session.set("quick_mode", chat_settings_values.get("quick_mode", False))
650
+ cl.user_session.set("show_perspectives", chat_settings_values.get("show_perspectives", True))
651
+ cl.user_session.set("show_visualization", chat_settings_values.get("show_visualization", True))
652
+ cl.user_session.set("enable_rag", chat_settings_values.get("enable_rag", True)) # Read the RAG toggle
653
+
654
+ # Embedding model toggle
655
+ new_use_finetuned_setting = chat_settings_values.get("use_finetuned_embedding", False)
656
+ current_use_finetuned_setting = cl.user_session.get("use_finetuned_embedding", False)
657
+ cl.user_session.set("use_finetuned_embedding", new_use_finetuned_setting)
658
+
659
+ if new_use_finetuned_setting != current_use_finetuned_setting:
660
+ print("Embedding model setting changed. Re-initializing model.")
661
+ await _initialize_embedding_model_in_session() # Re-initialize if toggle changed
662
+
663
+ # Update selected_personas in insight_flow_state
664
+ selected_personas_from_settings = []
665
+ available_persona_ids = persona_factory.get_available_personas().keys()
666
+ for persona_id in available_persona_ids:
667
+ if chat_settings_values.get(f"persona_{persona_id}", False):
668
+ selected_personas_from_settings.append(persona_id)
669
+
670
+ # Check if a team is selected and override individual selections
671
+ selected_team_id = chat_settings_values.get("selected_team")
672
+ if selected_team_id and selected_team_id != "none":
673
+ team_info = PERSONA_TEAMS.get(selected_team_id)
674
+ if team_info and "members" in team_info:
675
+ selected_personas_from_settings = list(team_info["members"]) # Use team members
676
+ print(f"Team '{team_info['name']}' selected, overriding individual personas.")
677
+
678
+ mutable_state = insight_flow_state.copy()
679
+ mutable_state["selected_personas"] = selected_personas_from_settings
680
+ cl.user_session.set("insight_flow_state", mutable_state)
681
+
682
+ print(f"Applied chat settings: Direct Mode: {cl.user_session.get('direct_mode')}, Quick Mode: {cl.user_session.get('quick_mode')}")
683
+ print(f"Selected Personas from settings: {selected_personas_from_settings}")
684
+
685
+ @cl.on_chat_start
686
+ async def on_chat_start():
687
+ """Initializes session state, chat settings, and sends a welcome message."""
688
+ # global _configurations_initialized # No longer need _embedding_model_initialized here
689
+ # The global keyword is only needed if you assign to the global variable in this scope.
690
+ # We are only reading _configurations_initialized here.
691
+
692
+ if not _configurations_initialized:
693
+ initialize_configurations()
694
+
695
+ # Initialize with default embedding model (OpenAI) first
696
+ # This sets "use_finetuned_embedding" to False in session if not already there
697
+ await _initialize_embedding_model_in_session(force_openai=True)
698
+
699
+ persona_factory = PersonaFactory()
700
+ cl.user_session.set("persona_factory", persona_factory)
701
+
702
+ # Default selections for personas/teams
703
+ default_team_id = "balanced_overview"
704
+ default_selected_personas = list(PERSONA_TEAMS[default_team_id]["members"])
705
+
706
+ # Default UI toggles (excluding embedding toggle, handled by _initialize_embedding_model_in_session)
707
+ default_direct_mode = False
708
+ default_quick_mode = False
709
+ default_show_perspectives = True
710
+ default_show_visualization = True
711
+ default_enable_rag = True # Default RAG to ON
712
+ # default_use_finetuned_embedding is set by _initialize_embedding_model_in_session(force_openai=True)
713
+
714
+ initial_state = InsightFlowState(
715
+ panel_type="research",
716
+ query="",
717
+ selected_personas=default_selected_personas,
718
+ persona_responses={},
719
+ synthesized_response=None,
720
+ visualization_code=None,
721
+ visualization_image_url=None,
722
+ current_step_name="awaiting_query",
723
+ error_message=None
724
+ )
725
+ cl.user_session.set("insight_flow_state", initial_state)
726
+
727
+ cl.user_session.set("direct_mode", default_direct_mode)
728
+ cl.user_session.set("quick_mode", default_quick_mode)
729
+ cl.user_session.set("show_perspectives", default_show_perspectives)
730
+ cl.user_session.set("show_visualization", default_show_visualization)
731
+ cl.user_session.set("enable_rag", default_enable_rag)
732
+
733
+ settings_inputs = []
734
+
735
+ settings_inputs.append(
736
+ Switch(id="enable_rag", label="⚙️ Enable RAG Features (for supported personas)", initial=default_enable_rag)
737
+ )
738
+ settings_inputs.append(
739
+ Switch(id="use_finetuned_embedding",
740
+ label="🔬 Use Fine-tuned Embedding (Balanced Team - if available)",
741
+ initial=cl.user_session.get("use_finetuned_embedding", False)) # Initial from session
742
+ )
743
+
744
+ team_items = {"-- Select a Team (Optional) --": "none"}
745
+ for team_id, team_info in PERSONA_TEAMS.items():
746
+ team_items[team_info["name"]] = team_id
747
+
748
+ settings_inputs.append(
749
+ Select(
750
+ id="selected_team",
751
+ label="🎯 Persona Team (Overrides individual toggles for processing)", # Corrected quotes
752
+ items=team_items,
753
+ initial_value=default_team_id # This should be fine as it's a variable
754
+ )
755
+ )
756
+ # settings_inputs.append(cl.Divider()) # Keep commented for now
757
+
758
+ for persona_id, persona_config in persona_factory.persona_configs.items():
759
+ settings_inputs.append(
760
+ Switch(
761
+ id=f"persona_{persona_id}",
762
+ label=persona_config["name"],
763
+ initial=persona_id in default_selected_personas
764
+ )
765
+ )
766
+
767
+ settings_inputs.extend([
768
+ Switch(id="direct_mode", label="🚀 Direct Mode (Quick, single LLM answers)", initial=default_direct_mode),
769
+ Switch(id="quick_mode", label="⚡ Quick Mode (Uses max 2 personas)", initial=default_quick_mode),
770
+ Switch(id="show_perspectives", label="👁️ Show Individual Perspectives", initial=default_show_perspectives),
771
+ Switch(id="show_visualization", label="🎨 Show Visualizations (DALL-E & Mermaid)", initial=default_show_visualization)
772
+ ])
773
+
774
+ await cl.ChatSettings(inputs=settings_inputs).send()
775
+
776
+ # New Welcome Message
777
+ welcome_message_content = "🚀 **Welcome to InsightFlow AI!** Dive deep into any topic with a symphony of AI perspectives. I can analyze, synthesize, and even visualize complex information. Configure your AI team using the ⚙️ settings, then ask your question!"
778
+
779
+ await cl.Message(content=welcome_message_content).send()
780
+
781
+ cl.user_session.set("progress_msg", None)
782
+
783
+ # Placeholder for direct LLM invocation logic
784
+ async def invoke_direct_llm(query: str):
785
+ print(f"invoke_direct_llm called with query: {query}")
786
+
787
+ messages = [
788
+ SystemMessage(content=DIRECT_SYSPROMPT),
789
+ HumanMessage(content=query)
790
+ ]
791
+
792
+ response_message = cl.Message(content="")
793
+ await response_message.send()
794
+
795
+ async for chunk in llm_direct.astream(messages):
796
+ if chunk.content:
797
+ await response_message.stream_token(chunk.content)
798
+
799
+ await response_message.update() # Finalize the streamed message
800
+ return "Direct response streamed" # Test expects a return, actual content is streamed
801
+
802
+ # Placeholder for LangGraph invocation logic
803
+ async def invoke_langgraph(query: str, initial_state: InsightFlowState):
804
+ print(f"invoke_langgraph called with query: {query}")
805
+
806
+ cl.user_session.set("completed_steps_log", [])
807
+
808
+ progress_msg = cl.Message(content="")
809
+ await progress_msg.send()
810
+ # Initial message only shows current activity, no completed steps yet.
811
+ progress_msg.content = "**Current Activity:**\n⏳ Initializing InsightFlow process... (0%)"
812
+ await progress_msg.update()
813
+ cl.user_session.set("progress_msg", progress_msg)
814
+
815
+ # Setup callback handler - still useful for LLM calls or other low-level events if desired
816
+ callback_handler = InsightFlowCallbackHandler(progress_message=progress_msg)
817
+
818
+ current_state = initial_state.copy() # Work with a copy
819
+ current_state["query"] = query
820
+ current_state["current_step_name"] = "planner_agent" # Reset step for new invocation
821
+
822
+ # Check for Quick Mode and adjust personas if needed
823
+ quick_mode_active = cl.user_session.get("quick_mode", False) # Default to False if not set
824
+ if quick_mode_active:
825
+ print("Quick Mode is ON. Using predefined quick mode personas.")
826
+ current_state["selected_personas"] = list(QUICK_MODE_PERSONAS) # Ensure it's a new list copy
827
+ # If quick_mode is OFF, selected_personas from initial_state (set by on_chat_start or commands) will be used.
828
+
829
+ # Prepare config for LangGraph invocation (e.g., for session/thread ID)
830
+ # In a Chainlit context, cl.user_session.get("id") can give a thread_id
831
+ thread_id = cl.user_session.get("id", "default_thread_id") # Get Chainlit thread_id or a default
832
+ config = {
833
+ "configurable": {"thread_id": thread_id},
834
+ "callbacks": [callback_handler] # Add our callback handler
835
+ }
836
+
837
+ # progress_msg = cl.Message(content="⏳ Processing with InsightFlow (0%)...") # OLD TODO
838
+ # await progress_msg.send()
839
+ # cl.user_session.set("progress_msg", progress_msg)
840
+
841
+ final_state = await insight_flow_graph.ainvoke(current_state, config=config)
842
+
843
+ # Final progress update
844
+ if progress_msg:
845
+ await progress_msg.update() # Ensure final content (100%) is sent and displayed
846
+
847
+ # The present_results node should handle sending messages.
848
+ # invoke_langgraph will return the final state which on_message saves.
849
+ return final_state
850
+
851
+ @cl.on_message
852
+ async def on_message(message: cl.Message):
853
+ """Handles incoming user messages and routes based on direct_mode."""
854
+
855
+ # Apply the latest settings from UI to the session and state
856
+ await _apply_chat_settings_to_state()
857
+
858
+ direct_mode = cl.user_session.get("direct_mode") # Values now reflect chat settings
859
+ msg_content_lower = message.content.lower().strip()
860
+
861
+ # Command handling (can be kept as backups or for power users)
862
+ if msg_content_lower == "/direct on":
863
+ cl.user_session.set("direct_mode", True)
864
+ await cl.Message(content="Direct mode ENABLED.").send()
865
+ return # Command processed, no further action
866
+ elif msg_content_lower == "/direct off":
867
+ cl.user_session.set("direct_mode", False)
868
+ await cl.Message(content="Direct mode DISABLED.").send()
869
+ return # Command processed, no further action
870
+
871
+ # Command handling for /show perspectives
872
+ elif msg_content_lower == "/show perspectives on":
873
+ cl.user_session.set("show_perspectives", True)
874
+ await cl.Message(content="Show perspectives ENABLED.").send()
875
+ return
876
+ elif msg_content_lower == "/show perspectives off":
877
+ cl.user_session.set("show_perspectives", False)
878
+ await cl.Message(content="Show perspectives DISABLED.").send()
879
+ return
880
+
881
+ # Command handling for /show visualization
882
+ elif msg_content_lower == "/show visualization on":
883
+ cl.user_session.set("show_visualization", True)
884
+ await cl.Message(content="Show visualization ENABLED.").send()
885
+ return
886
+ elif msg_content_lower == "/show visualization off":
887
+ cl.user_session.set("show_visualization", False)
888
+ await cl.Message(content="Show visualization DISABLED.").send()
889
+ return
890
+
891
+ # Command handling for /quick_mode
892
+ elif msg_content_lower == "/quick_mode on":
893
+ cl.user_session.set("quick_mode", True)
894
+ await cl.Message(content="Quick mode ENABLED.").send()
895
+ return
896
+ elif msg_content_lower == "/quick_mode off":
897
+ cl.user_session.set("quick_mode", False)
898
+ await cl.Message(content="Quick mode DISABLED.").send()
899
+ return
900
+ elif msg_content_lower == "/help": # <-- ADD /help COMMAND HANDLER
901
+ await send_help_message()
902
+ return
903
+
904
+ # If not a /direct command, proceed with existing direct_mode check for LLM calls
905
+ if direct_mode: # This direct_mode is now sourced from chat settings via _apply_chat_settings_to_state
906
+ await invoke_direct_llm(message.content)
907
+ else:
908
+ insight_flow_state = cl.user_session.get("insight_flow_state")
909
+ if not insight_flow_state:
910
+ # Fallback if state isn't somehow initialized
911
+ await cl.Message(content="Error: Session state not found. Please restart the chat.").send()
912
+ return
913
+
914
+ # The selected_personas in insight_flow_state have been updated by _apply_chat_settings_to_state
915
+ # The quick_mode check within invoke_langgraph will use cl.user_session.get("quick_mode")
916
+ # which was also updated by _apply_chat_settings_to_state.
917
+ updated_state = await invoke_langgraph(message.content, insight_flow_state)
918
+ cl.user_session.set("insight_flow_state", updated_state) # Save updated state
919
+
920
+ print("app.py initialized with LLMs, on_chat_start, and on_message defined")
921
+
922
+ # --- NEW EXPORT ACTION STUBS ---
923
+ @cl.action_callback("export_markdown")
924
+ async def on_export_markdown(action: cl.Action):
925
+ # Placeholder for Markdown export logic
926
+ await cl.Message(content=f"Markdown export for action '{action.name}' initiated (not fully implemented).").send()
927
+
928
+ @cl.action_callback("export_pdf")
929
+ async def on_export_pdf(action: cl.Action):
930
+ # Placeholder for PDF export logic
931
+ await cl.Message(content=f"PDF export for action '{action.name}' initiated (not fully implemented).").send()
932
+
933
+ # --- NEW FUNCTION FOR WITTY COMPLETION REMARKS ---
934
+ async def generate_witty_completion_remark(query: str, selected_persona_ids: List[str], synthesized_snippet: Optional[str]) -> str:
935
+ if not llm_direct: # Ensure llm_direct is initialized
936
+ print("llm_direct not initialized, cannot generate witty remark.")
937
+ return "Intellectual journey complete! Bravo! ✔️" # Fallback
938
+
939
+ persona_factory: PersonaFactory = cl.user_session.get("persona_factory")
940
+ persona_names = []
941
+ if persona_factory:
942
+ for pid in selected_persona_ids:
943
+ config = persona_factory.persona_configs.get(pid)
944
+ if config and config.get("name"):
945
+ persona_names.append(config["name"])
946
+ else:
947
+ persona_names.append(pid.capitalize())
948
+ else:
949
+ persona_names = [pid.capitalize() for pid in selected_persona_ids]
950
+
951
+ persona_names_str = ", ".join(persona_names) if persona_names else "various"
952
+ if not synthesized_snippet: synthesized_snippet = "a fascinating topic"
953
+ if len(synthesized_snippet) > 100: synthesized_snippet = synthesized_snippet[:97] + "..."
954
+
955
+ prompt_template = f"""You are a charming and slightly cheeky AI host, like a talk show host wrapping up a segment.
956
+ The user just explored the query: '{query}'
957
+ with insights from {persona_names_str} perspectives.
958
+ The main takeaway was about: '{synthesized_snippet}'.
959
+ Craft a short, witty, and encouraging closing remark (1-2 sentences, max 25 words) to signify the completion.
960
+ Example: 'And that, folks, is how you dissect a universe! Until next time, keep those neurons firing!'
961
+ Another Example: 'Well, that was a delightful dive into the rabbit hole of {query}! Stay curious!'
962
+ Your remark:"""
963
+
964
+ messages = [SystemMessage(content=prompt_template)]
965
+ try:
966
+ response = await llm_direct.ainvoke(messages)
967
+ remark = response.content.strip()
968
+ # Basic filter for overly long or nonsensical remarks if needed, though prompt should guide it
969
+ if len(remark) > 150 or len(remark) < 10: # Arbitrary length check
970
+ return "And that's a wrap on that fascinating exploration! What's next? ✔️"
971
+ return f"{remark} ✔️"
972
+ except Exception as e:
973
+ print(f"Error generating witty remark: {e}")
974
+ return "Exploration complete! Well done! ✔️" # Fallback on error
975
+
976
+ # --- HELP MESSAGE FUNCTION ---
977
+ async def send_help_message():
978
+ """Sends the detailed help message to the user."""
979
+ help_text_md = """# Welcome to InsightFlow AI - Your Guide!
980
+
981
+ InsightFlow AI is designed to help you explore complex topics with depth and clarity by providing multiple AI-driven perspectives, synthesizing them into a coherent understanding, and even offering visual summaries. Think of it as your personal team of AI research assistants!
982
+
983
+ ## What Can InsightFlow AI Do?
984
+
985
+ * **Multi-Perspective Analysis:** Instead of a single answer, InsightFlow AI engages a team of specialized AI "personas" (e.g., Analytical, Philosophical, Scientific) to examine your query from different angles. This provides a richer, more nuanced understanding.
986
+ * **Insight Synthesis:** The individual perspectives are then intelligently combined into a single, comprehensive synthesized response.
987
+ * **Visualizations (Optional):**
988
+ * **DALL-E Sketches:** Get a conceptual, hand-drawn style visual note summarizing the key ideas.
989
+ * **Mermaid Diagrams:** See a concept map illustrating the relationships between your query, the personas, and the synthesized view.
990
+ * **RAG (Retrieval Augmented Generation - for supported personas):** For certain personas, the AI can search a dedicated knowledge base of relevant documents to ground its responses in specific information, enhancing accuracy and depth.
991
+ * **Flexible Interaction Modes:**
992
+ * **Full Multi-Persona Mode:** The default mode, engaging your selected team for in-depth analysis.
993
+ * **Direct Mode:** Get a quick, straightforward answer from a single LLM, bypassing the multi-persona/LangGraph system.
994
+ * **Quick Mode:** A faster multi-persona analysis using a reduced set of (currently 2) predefined personas.
995
+ * **Exportable Results:** You'll be able to export your analysis (though this feature is still under full development).
996
+
997
+ ## Why Does It Work This Way? (The Philosophy)
998
+
999
+ InsightFlow AI is built on the idea that complex topics are best understood by examining them from multiple viewpoints. Just like a team of human experts can provide more comprehensive insight than a single individual, our AI personas work together to give you a more well-rounded and deeply considered response. The structured workflow (managed by LangGraph) ensures a methodical approach to generating and synthesizing these perspectives.
1000
+
1001
+ ## Using the Settings (⚙️ Gear Icon)
1002
+
1003
+ You can customize your InsightFlow AI experience using the settings panel:
1004
+
1005
+ * **⚙️ Enable RAG Features:**
1006
+ * **Functionality:** (Currently being refined) When enabled, personas designated as "RAG-enabled" (like Analytical, Philosophical, Metaphorical on the Balanced Team) will attempt to search their specific knowledge bases for relevant context before generating their perspective. This can lead to more informed and detailed answers.
1007
+ * **Status:** Basic RAG data loading and vector store creation for personas is active. The quality and breadth of data sources are still being expanded.
1008
+
1009
+ * **🎯 Persona Team:**
1010
+ * **Functionality:** Allows you to quickly select a pre-configured team of personas. Selecting a team will override any individual persona toggles below.
1011
+ * **Current Teams:**
1012
+ * `🎨 Creative Synthesis Team`: (Metaphorical, Futuristic, Philosophical) - Generates novel ideas and artistic interpretations.
1013
+ * `📊 Data-Driven Analysis Squad`: (Analytical, Factual, Scientific) - Focuses on factual accuracy and logical deduction.
1014
+ * `⚖️ Balanced Overview Group`: (Analytical, Philosophical, Metaphorical) - **This is the default team on startup.** Provides a well-rounded perspective.
1015
+ * **Status:** Team selection is functional.
1016
+
1017
+ * **Individual Persona Toggles (e.g., Analytical, Scientific, etc.):**
1018
+ * **Functionality:** If no team is selected (or "-- Select a Team (Optional) --" is chosen), you can manually toggle individual personas ON or OFF to form a custom team for the analysis.
1019
+ * **Status:** Functional.
1020
+
1021
+ * **🚀 Direct Mode:**
1022
+ * **Functionality:** If ON, your query will be answered by a single, general-purpose LLM for a quick, direct response, bypassing the multi-persona/LangGraph system.
1023
+ * **Status:** Functional.
1024
+
1025
+ * **⚡ Quick Mode:**
1026
+ * **Functionality:** If ON, InsightFlow uses a smaller, predefined set of personas (currently Analytical and Factual) for a faster multi-perspective analysis. This overrides team/individual selections when active.
1027
+ * **Status:** Functional.
1028
+
1029
+ * **👁️ Show Individual Perspectives:**
1030
+ * **Functionality:** If ON (default), after the main synthesized response, the individual contributions from each engaged persona will also be displayed.
1031
+ * **Status:** Functional.
1032
+
1033
+ * **🎨 Show Visualizations:**
1034
+ * **Functionality:** If ON (default), InsightFlow will attempt to generate and display a DALL-E image sketch and a Mermaid concept map related to the synthesized response.
1035
+ * **Status:** Functional (DALL-E requires API key setup).
1036
+
1037
+ ## Getting Started
1038
+
1039
+ 1. **Review Settings (⚙️):** Select a Persona Team or toggle individual personas. Ensure RAG is enabled if you want to try it with supported personas.
1040
+ 2. **Ask Your Question:** Type your query into the chat and press Enter.
1041
+ 3. **Observe:** Watch the progress updates as InsightFlow AI engages the personas, synthesizes insights, and generates visualizations.
1042
+
1043
+ We hope you find InsightFlow AI insightful!
1044
+ """
1045
+ await cl.Message(content=help_text_md).send()
1046
+
1047
+ async def _initialize_embedding_model_in_session(force_openai: bool = False):
1048
+ """Helper to initialize/re-initialize embedding model based on settings."""
1049
+ use_finetuned = cl.user_session.get("use_finetuned_embedding", False)
1050
+
1051
+ # Override if force_openai is true (e.g. for initial default)
1052
+ if force_openai:
1053
+ use_finetuned = False
1054
+ cl.user_session.set("use_finetuned_embedding", False) # Ensure session reflects this override
1055
+
1056
+ current_model_details = cl.user_session.get("embedding_model_details", {})
1057
+ new_model_id = ""
1058
+ new_model_type = ""
1059
+
1060
+ if use_finetuned:
1061
+ new_model_id = FINETUNED_BALANCED_TEAM_EMBED_ID
1062
+ new_model_type = "hf"
1063
+ else:
1064
+ new_model_id = OPENAI_EMBED_MODEL_ID
1065
+ new_model_type = "openai"
1066
+
1067
+ if current_model_details.get("id") == new_model_id and current_model_details.get("type") == new_model_type and cl.user_session.get("embedding_model_instance") is not None:
1068
+ print(f"Embedding model '{new_model_id}' ({new_model_type}) already initialized and matches settings.")
1069
+ return
1070
+
1071
+ print(f"Initializing embedding model: '{new_model_id}' ({new_model_type})...")
1072
+ try:
1073
+ embedding_instance = get_embedding_model_instance(new_model_id, new_model_type)
1074
+ cl.user_session.set("embedding_model_instance", embedding_instance)
1075
+ cl.user_session.set("embedding_model_details", {"id": new_model_id, "type": new_model_type})
1076
+ print(f"Embedding model '{new_model_id}' ({new_model_type}) initialized and set in session.")
1077
+ except Exception as e:
1078
+ print(f"Error initializing embedding model '{new_model_id}': {e}")
1079
+ cl.user_session.set("embedding_model_instance", None)
1080
+ cl.user_session.set("embedding_model_details", {})
data/.gitkeep ADDED
File without changes
data_sources/analytical/examples.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ When we examine this problem carefully, several key patterns emerge. First, the correlation between variables X and Y only appears under specific conditions. Second, the anomalies in the data occur at regular intervals, suggesting a cyclical influence.
2
+
3
+ The evidence suggests three possible explanations. Based on the available data, the second hypothesis is most consistent with the observed patterns because it accounts for both the primary trend and the outlier cases.
data_sources/analytical/excerpts.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ When we talk about algorithms making decisions, we're not just discussing abstract mathematics – we're talking about systems that increasingly determine who gets a job, who gets a loan, and sometimes even who goes to prison. The math matters because its consequences are profoundly human.
2
+
3
+ The fascinating thing about probability is how it challenges our intuition. Take the famous Birthday Paradox: in a room of just 23 people, there's a 50% chance that at least two people share a birthday. With 70 people, that probability jumps to 99.9%.
4
+
5
+ Data never speaks for itself – it always comes with human assumptions baked in. When we look at a dataset showing correlation between two variables, we need to ask: what might be causing this relationship?
data_sources/analytical/generated_analytical_example.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ Title: The Illusion of Algorithmic Objectivity
2
+
3
+ Modern analytical processes increasingly rely on algorithms to process vast datasets and derive insights, from financial modeling to public policy recommendations. A common misconception is that these algorithmic outputs are inherently objective, free from the biases that plague human decision-making. However, this overlooks a critical truth: algorithms are human creations, and data is a human-curated artifact.
4
+
5
+ Bias can be introduced at multiple stages. Firstly, the data itself may reflect historical societal biases. For example, if an algorithm for loan approval is trained on historical data where certain demographic groups were unfairly denied credit, the algorithm may learn and perpetuate these discriminatory patterns, even if the demographic variables themselves are excluded. The 'objective' algorithm simply becomes a more efficient enforcer of past injustices.
6
+
7
+ Secondly, the choice of features included in a model, the definition of success metrics, and the very problem an algorithm is designed to solve are all human decisions laden with implicit assumptions and values. An analytical model designed to optimize for 'efficiency' in public transport routing might inadvertently disadvantage communities with fewer resources or less political clout if 'efficiency' is defined purely by speed or cost without considering equity of access.
8
+
9
+ Thirdly, the interpretation of algorithmic outputs requires human judgment. Correlation does not imply causation, yet complex models can produce spurious correlations that an uncritical analyst might misinterpret as meaningful. The analytical task, therefore, is not merely to run the numbers but to interrogate the entire process: the provenance of the data, the assumptions embedded in the model, and the potential societal impact of the conclusions drawn. True analytical rigor in the age of AI demands a deep understanding of both the mathematical underpinnings and the socio-ethical context of these powerful tools. Without this, we risk amplifying bias under a veneer of computational neutrality.
data_sources/analytical/hannah_fry_mathematics_of_love_transcript.html ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html><html lang="en-US"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"><link rel="profile" href="http://gmpg.org/xfn/11"><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- Hubbub v.1.34.7 https://morehubbub.com/ --><meta property="og:locale" content="en_US" /><meta property="og:type" content="article" /><meta property="og:title" content="Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity" /><meta property="og:description" content="Here is the full transcript of mathematician Hannah Fry’s TEDx Talk: The Mathematics of Love at TEDxBinghamtonUniversity. Listen to the MP3 Audio here: The mathematics of love by Hannah Fry at TEDxBinghamtonUniversity TRANSCRIPT:  Thank you very" /><meta property="og:url" content="https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/" /><meta property="og:site_name" content="The Singju Post" /><meta property="og:updated_time" content="2020-06-15T11:05:44+00:00" /><meta property="article:published_time" content="2016-06-23T10:33:39+00:00" /><meta property="article:modified_time" content="2020-06-15T11:05:44+00:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity" /><meta name="twitter:description" content="Here is the full transcript of mathematician Hannah Fry’s TEDx Talk: The Mathematics of Love at TEDxBinghamtonUniversity. Listen to the MP3 Audio here: The mathematics of love by Hannah Fry at TEDxBinghamtonUniversity TRANSCRIPT:  Thank you very" /><meta class="flipboard-article" content="Here is the full transcript of mathematician Hannah Fry’s TEDx Talk: The Mathematics of Love at TEDxBinghamtonUniversity. Listen to the MP3 Audio here: The mathematics of love by Hannah Fry at TEDxBinghamtonUniversity TRANSCRIPT:  Thank you very" /><meta property="article:author" content="https://www.facebook.com/pangambam.s.singh" /><meta name="twitter:creator" content="@SingjuPost" /> <!-- Hubbub v.1.34.7 https://morehubbub.com/ --> <!-- This site is optimized with the Yoast SEO plugin v25.1 - https://yoast.com/wordpress/plugins/seo/ --><title>Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity &#8211; The Singju Post</title><link rel="preload" as="font" href="https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2" crossorigin/><link rel="preload" as="font" href="https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2" crossorigin/><link rel="stylesheet" id="siteground-optimizer-combined-css-15d98f87157715a78f2ed8405ef6506d" href="https://singjupost.com/wp-content/uploads/siteground-optimizer-assets/siteground-optimizer-combined-css-15d98f87157715a78f2ed8405ef6506d.css" media="all" /><link rel="preload" href="https://singjupost.com/wp-content/uploads/siteground-optimizer-assets/siteground-optimizer-combined-css-15d98f87157715a78f2ed8405ef6506d.css" as="style"><link rel="canonical" href="https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/" /><meta name="author" content="Pangambam S" /><meta name="twitter:label1" content="Written by" /><meta name="twitter:data1" content="Pangambam S" /><meta name="twitter:label2" content="Est. reading time" /><meta name="twitter:data2" content="14 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#article","isPartOf":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/"},"author":{"name":"Pangambam S","@id":"https://singjupost.com/#/schema/person/748c2a7803c3c928cb80d0db8b39b11e"},"headline":"Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity","datePublished":"2016-06-23T14:33:39+00:00","dateModified":"2020-06-15T15:05:44+00:00","mainEntityOfPage":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/"},"wordCount":2876,"publisher":{"@id":"https://singjupost.com/#/schema/person/748c2a7803c3c928cb80d0db8b39b11e"},"image":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#primaryimage"},"thumbnailUrl":"https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-300x188.jpg","articleSection":["Life &amp; Relationships"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/","url":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/","name":"Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity &#8211; The Singju Post","isPartOf":{"@id":"https://singjupost.com/#website"},"primaryImageOfPage":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#primaryimage"},"image":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#primaryimage"},"thumbnailUrl":"https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-300x188.jpg","datePublished":"2016-06-23T14:33:39+00:00","dateModified":"2020-06-15T15:05:44+00:00","breadcrumb":{"@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#primaryimage","url":"https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube.jpg","contentUrl":"https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube.jpg","width":782,"height":490,"caption":"Hannah Fry"},{"@type":"BreadcrumbList","@id":"https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://singjupost.com/"},{"@type":"ListItem","position":2,"name":"Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity"}]},{"@type":"WebSite","@id":"https://singjupost.com/#website","url":"https://singjupost.com/","name":"The Singju Post","description":"Learn. Be Inspired.","publisher":{"@id":"https://singjupost.com/#/schema/person/748c2a7803c3c928cb80d0db8b39b11e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://singjupost.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https://singjupost.com/#/schema/person/748c2a7803c3c928cb80d0db8b39b11e","name":"Pangambam S","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://singjupost.com/#/schema/person/image/","url":"https://singjupost.com/wp-content/uploads/2020/03/tsplogo2_1400x1100-lanczos3.png","contentUrl":"https://singjupost.com/wp-content/uploads/2020/03/tsplogo2_1400x1100-lanczos3.png","width":1400,"height":1100,"caption":"Pangambam S"},"logo":{"@id":"https://singjupost.com/#/schema/person/image/"},"description":"I am the Editor and Manager at SingjuPost.com. If you have any questions or suggestions, please do let me know. And please do share this post if you liked it and helped you in any way.","sameAs":["https://www.facebook.com/pangambam.s.singh","https://x.com/SingjuPost","https://www.youtube.com/channel/UCNtpCiph5mXdDsHWXDpZeMA"],"url":"https://singjupost.com/author/singju/"}]}</script> <!-- / Yoast SEO plugin. --> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */
2
+ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--neve-link-color: var(--nv-primary-accent);--wp--preset--color--neve-link-hover-color: var(--nv-secondary-accent);--wp--preset--color--nv-site-bg: var(--nv-site-bg);--wp--preset--color--nv-light-bg: var(--nv-light-bg);--wp--preset--color--nv-dark-bg: var(--nv-dark-bg);--wp--preset--color--neve-text-color: var(--nv-text-color);--wp--preset--color--nv-text-dark-bg: var(--nv-text-dark-bg);--wp--preset--color--nv-c-1: var(--nv-c-1);--wp--preset--color--nv-c-2: var(--nv-c-2);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-neve-link-color-color{color: var(--wp--preset--color--neve-link-color) !important;}.has-neve-link-hover-color-color{color: var(--wp--preset--color--neve-link-hover-color) !important;}.has-nv-site-bg-color{color: var(--wp--preset--color--nv-site-bg) !important;}.has-nv-light-bg-color{color: var(--wp--preset--color--nv-light-bg) !important;}.has-nv-dark-bg-color{color: var(--wp--preset--color--nv-dark-bg) !important;}.has-neve-text-color-color{color: var(--wp--preset--color--neve-text-color) !important;}.has-nv-text-dark-bg-color{color: var(--wp--preset--color--nv-text-dark-bg) !important;}.has-nv-c-1-color{color: var(--wp--preset--color--nv-c-1) !important;}.has-nv-c-2-color{color: var(--wp--preset--color--nv-c-2) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-neve-link-color-background-color{background-color: var(--wp--preset--color--neve-link-color) !important;}.has-neve-link-hover-color-background-color{background-color: var(--wp--preset--color--neve-link-hover-color) !important;}.has-nv-site-bg-background-color{background-color: var(--wp--preset--color--nv-site-bg) !important;}.has-nv-light-bg-background-color{background-color: var(--wp--preset--color--nv-light-bg) !important;}.has-nv-dark-bg-background-color{background-color: var(--wp--preset--color--nv-dark-bg) !important;}.has-neve-text-color-background-color{background-color: var(--wp--preset--color--neve-text-color) !important;}.has-nv-text-dark-bg-background-color{background-color: var(--wp--preset--color--nv-text-dark-bg) !important;}.has-nv-c-1-background-color{background-color: var(--wp--preset--color--nv-c-1) !important;}.has-nv-c-2-background-color{background-color: var(--wp--preset--color--nv-c-2) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-neve-link-color-border-color{border-color: var(--wp--preset--color--neve-link-color) !important;}.has-neve-link-hover-color-border-color{border-color: var(--wp--preset--color--neve-link-hover-color) !important;}.has-nv-site-bg-border-color{border-color: var(--wp--preset--color--nv-site-bg) !important;}.has-nv-light-bg-border-color{border-color: var(--wp--preset--color--nv-light-bg) !important;}.has-nv-dark-bg-border-color{border-color: var(--wp--preset--color--nv-dark-bg) !important;}.has-neve-text-color-border-color{border-color: var(--wp--preset--color--neve-text-color) !important;}.has-nv-text-dark-bg-border-color{border-color: var(--wp--preset--color--nv-text-dark-bg) !important;}.has-nv-c-1-border-color{border-color: var(--wp--preset--color--nv-c-1) !important;}.has-nv-c-2-border-color{border-color: var(--wp--preset--color--nv-c-2) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
3
+ :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
4
+ :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
5
+ :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <style id='dpsp-frontend-style-pro-inline-css'> @media screen and ( max-width : 720px ) {
6
+ .dpsp-content-wrapper.dpsp-hide-on-mobile,
7
+ .dpsp-share-text.dpsp-hide-on-mobile {
8
+ display: none;
9
+ }
10
+ .dpsp-has-spacing .dpsp-networks-btns-wrapper li {
11
+ margin:0 2% 10px 0;
12
+ }
13
+ .dpsp-network-btn.dpsp-has-label:not(.dpsp-has-count) {
14
+ max-height: 40px;
15
+ padding: 0;
16
+ justify-content: center;
17
+ }
18
+ .dpsp-content-wrapper.dpsp-size-small .dpsp-network-btn.dpsp-has-label:not(.dpsp-has-count){
19
+ max-height: 32px;
20
+ }
21
+ .dpsp-content-wrapper.dpsp-size-large .dpsp-network-btn.dpsp-has-label:not(.dpsp-has-count){
22
+ max-height: 46px;
23
+ }
24
+ } </style> <style id='neve-style-inline-css'> h1 {font-family: var(--h1fontfamily);}h2 {font-family: var(--h2fontfamily);}
25
+ .nv-meta-list li.meta:not(:last-child):after { content:"/" }.nv-meta-list .no-mobile{
26
+ display:none;
27
+ }.nv-meta-list li.last::after{
28
+ content: ""!important;
29
+ }@media (min-width: 769px) {
30
+ .nv-meta-list .no-mobile {
31
+ display: inline-block;
32
+ }
33
+ .nv-meta-list li.last:not(:last-child)::after {
34
+ content: "/" !important;
35
+ }
36
+ }
37
+ :root{ --container: 748px;--postwidth:100%; --primarybtnbg: #2b6f9e; --primarybtnhoverbg: #0366d6; --primarybtncolor: var(--nv-site-bg); --secondarybtncolor: var(--nv-primary-accent); --primarybtnhovercolor: #ffffff; --secondarybtnhovercolor: var(--nv-primary-accent);--primarybtnborderradius:3px;--secondarybtnborderradius:3px;--primarybtnborderwidth:1px;--secondarybtnborderwidth:3px;--btnpadding:8px 25px;--primarybtnpadding:calc(8px - 1px) calc(25px - 1px);--secondarybtnpadding:calc(8px - 3px) calc(25px - 3px); --bodyfontfamily: Georgia,serif; --bodyfontsize: 18px; --bodylineheight: 1.4em; --bodyletterspacing: 0px; --bodyfontweight: 400; --bodytexttransform: none; --headingsfontfamily: Georgia,serif; --h1fontfamily: Georgia,serif; --h1fontsize: 36px; --h1fontweight: 400; --h1lineheight: 1.2em; --h1letterspacing: 0px; --h1texttransform: none; --h2fontfamily: Georgia,serif; --h2fontsize: 1.3em; --h2fontweight: 500; --h2lineheight: 1.3; --h2letterspacing: 0px; --h2texttransform: none; --h3fontsize: 24px; --h3fontweight: 500; --h3lineheight: 1.4; --h3letterspacing: 0px; --h3texttransform: none; --h4fontsize: 20px; --h4fontweight: 500; --h4lineheight: 1.6; --h4letterspacing: 0px; --h4texttransform: none; --h5fontsize: 16px; --h5fontweight: 500; --h5lineheight: 1.6; --h5letterspacing: 0px; --h5texttransform: none; --h6fontsize: 14px; --h6fontweight: 500; --h6lineheight: 1.6; --h6letterspacing: 0px; --h6texttransform: none;--formfieldborderwidth:2px;--formfieldborderradius:3px; --formfieldbgcolor: var(--nv-site-bg); --formfieldbordercolor: #dddddd; --formfieldcolor: var(--nv-text-color);--formfieldpadding:10px 12px; } .has-neve-button-color-color{ color: #2b6f9e!important; } .has-neve-button-color-background-color{ background-color: #2b6f9e!important; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:718px } .nv-meta-list{ --avatarsize: 20px; } .single .nv-meta-list{ --avatarsize: 20px; } .nv-post-cover{ --height: 250px;--padding:40px 15px;--justify: flex-start; --textalign: left; --valign: center; } .nv-post-cover .nv-title-meta-wrap, .nv-page-title-wrap, .entry-header{ --textalign: left; } .nv-is-boxed.nv-title-meta-wrap{ --padding:40px 15px; --bgcolor: var(--nv-dark-bg); } .nv-overlay{ --opacity: 50; --blendmode: normal; } .nv-is-boxed.nv-comments-wrap{ --padding:20px; } .nv-is-boxed.comment-respond{ --padding:20px; } .single:not(.single-product), .page{ --c-vspace:0 0 0 0;; } .global-styled{ --bgcolor: var(--nv-site-bg); } .header-top{ --rowbcolor: var(--nv-site-bg); --color: var(--nv-text-color); --bgcolor: var(--nv-site-bg); } .header-main{ --rowbcolor: var(--nv-light-bg); --color: var(--nv-text-color); --bgcolor: #ffffff; } .header-bottom{ --rowbcolor: var(--nv-light-bg); --color: var(--nv-text-color); --bgcolor: #ffffff; } .header-menu-sidebar-bg{ --justify: flex-start; --textalign: left;--flexg: 1;--wrapdropdownwidth: auto; --color: var(--nv-text-color); --bgcolor: #ffffff; } .header-menu-sidebar{ width: 360px; } .builder-item--logo{ --maxwidth: 120px; --fs: 24px;--padding:10px 0;--margin:0; --textalign: right;--justify: flex-end; } .builder-item--nav-icon,.header-menu-sidebar .close-sidebar-panel .navbar-toggle{ --borderradius:0; } .builder-item--nav-icon{ --label-margin:0 5px 0 0;;--padding:10px 15px;--margin:0; } .builder-item--primary-menu{ --color: #b1111e; --hovercolor: var(--nv-secondary-accent); --hovertextcolor: var(--nv-text-color); --activecolor: #e4252b; --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --fontweight: 500; --texttransform: none; --iconsize: 1em; } .hfg-is-group.has-primary-menu .inherit-ff{ --inheritedfw: 500; } .builder-item--header_search_responsive{ --iconsize: 15px; --formfieldfontsize: 14px;--formfieldborderwidth:2px;--formfieldborderradius:2px; --height: 40px;--padding:0 10px;--margin:0; } .footer-top-inner .row{ grid-template-columns:1fr 1fr 1fr; --valign: flex-start; } .footer-top{ --rowbcolor: var(--nv-light-bg); --color: var(--nv-text-color); --bgcolor: #ffffff; } .footer-main-inner .row{ grid-template-columns:repeat(4, 1fr); --valign: flex-start; } .footer-main{ --rowbcolor: var(--nv-light-bg); --color: var(--nv-text-color); --bgcolor: var(--nv-site-bg); } .footer-bottom-inner .row{ grid-template-columns:1fr; --valign: flex-start; } .footer-bottom{ --rowbcolor: var(--nv-light-bg); --color: var(--nv-text-dark-bg); --bgcolor: #24292e; } .builder-item--footer-one-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-two-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-four-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-menu{ --hovercolor: var(--nv-primary-accent); --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --fontweight: 500; --texttransform: none; --iconsize: 1em; --textalign: left;--justify: flex-start; } @media(min-width: 576px){ :root{ --container: 992px;--postwidth:100%;--btnpadding:9px 30px;--primarybtnpadding:calc(9px - 1px) calc(30px - 1px);--secondarybtnpadding:calc(9px - 3px) calc(30px - 3px); --bodyfontsize: 18px; --bodylineheight: 1.4em; --bodyletterspacing: 0px; --h1fontsize: 38px; --h1lineheight: 1.2em; --h1letterspacing: 0px; --h2fontsize: 1.3em; --h2lineheight: 1.2; --h2letterspacing: 0px; --h3fontsize: 26px; --h3lineheight: 1.4; --h3letterspacing: 0px; --h4fontsize: 22px; --h4lineheight: 1.5; --h4letterspacing: 0px; --h5fontsize: 18px; --h5lineheight: 1.6; --h5letterspacing: 0px; --h6fontsize: 14px; --h6lineheight: 1.6; --h6letterspacing: 0px; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:962px } .nv-meta-list{ --avatarsize: 20px; } .single .nv-meta-list{ --avatarsize: 20px; } .nv-post-cover{ --height: 320px;--padding:60px 30px;--justify: flex-start; --textalign: left; --valign: center; } .nv-post-cover .nv-title-meta-wrap, .nv-page-title-wrap, .entry-header{ --textalign: left; } .nv-is-boxed.nv-title-meta-wrap{ --padding:60px 30px; } .nv-is-boxed.nv-comments-wrap{ --padding:30px; } .nv-is-boxed.comment-respond{ --padding:30px; } .single:not(.single-product), .page{ --c-vspace:0 0 0 0;; } .header-menu-sidebar-bg{ --justify: flex-start; --textalign: left;--flexg: 1;--wrapdropdownwidth: auto; } .header-menu-sidebar{ width: 360px; } .builder-item--logo{ --maxwidth: 120px; --fs: 24px;--padding:10px 0;--margin:0; --textalign: right;--justify: flex-end; } .builder-item--nav-icon{ --label-margin:0 5px 0 0;;--padding:10px 15px;--margin:0; } .builder-item--primary-menu{ --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --iconsize: 1em; } .builder-item--header_search_responsive{ --formfieldfontsize: 14px;--formfieldborderwidth:2px;--formfieldborderradius:2px; --height: 40px;--padding:0 10px;--margin:0; } .builder-item--footer-one-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-two-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-four-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-menu{ --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --iconsize: 1em; --textalign: left;--justify: flex-start; } }@media(min-width: 960px){ :root{ --container: 1170px;--postwidth:100%;--btnpadding:10px 30px;--primarybtnpadding:calc(10px - 1px) calc(30px - 1px);--secondarybtnpadding:calc(10px - 3px) calc(30px - 3px); --bodyfontsize: 20px; --bodylineheight: 1.4em; --bodyletterspacing: 0px; --h1fontsize: 40px; --h1lineheight: 1.1em; --h1letterspacing: 0px; --h2fontsize: 1.75em; --h2lineheight: 1.2; --h2letterspacing: 0px; --h3fontsize: 28px; --h3lineheight: 1.4; --h3letterspacing: 0px; --h4fontsize: 24px; --h4lineheight: 1.5; --h4letterspacing: 0px; --h5fontsize: 20px; --h5lineheight: 1.6; --h5letterspacing: 0px; --h6fontsize: 16px; --h6lineheight: 1.6; --h6letterspacing: 0px; } body:not(.single):not(.archive):not(.blog):not(.search):not(.error404) .neve-main > .container .col, body.post-type-archive-course .neve-main > .container .col, body.post-type-archive-llms_membership .neve-main > .container .col{ max-width: 62%; } body:not(.single):not(.archive):not(.blog):not(.search):not(.error404) .nv-sidebar-wrap, body.post-type-archive-course .nv-sidebar-wrap, body.post-type-archive-llms_membership .nv-sidebar-wrap{ max-width: 38%; } .neve-main > .archive-container .nv-index-posts.col{ max-width: 62%; } .neve-main > .archive-container .nv-sidebar-wrap{ max-width: 38%; } .neve-main > .single-post-container .nv-single-post-wrap.col{ max-width: 62%; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:695px } .container-fluid.single-post-container .alignfull > [class*="__inner-container"], .container-fluid.single-post-container .alignwide > [class*="__inner-container"]{ max-width:calc(62% + 15px) } .neve-main > .single-post-container .nv-sidebar-wrap{ max-width: 38%; } .nv-meta-list{ --avatarsize: 20px; } .single .nv-meta-list{ --avatarsize: 20px; } .nv-post-cover{ --height: 400px;--padding:60px 40px;--justify: flex-start; --textalign: left; --valign: center; } .nv-post-cover .nv-title-meta-wrap, .nv-page-title-wrap, .entry-header{ --textalign: left; } .nv-is-boxed.nv-title-meta-wrap{ --padding:60px 40px; } .nv-is-boxed.nv-comments-wrap{ --padding:40px; } .nv-is-boxed.comment-respond{ --padding:40px; } .single:not(.single-product), .page{ --c-vspace:0 0 0 0;; } .header-menu-sidebar-bg{ --justify: flex-start; --textalign: left;--flexg: 1;--wrapdropdownwidth: auto; } .header-menu-sidebar{ width: 360px; } .builder-item--logo{ --maxwidth: 120px; --fs: 24px;--padding:10px 0;--margin:0; --textalign: right;--justify: flex-end; } .builder-item--nav-icon{ --label-margin:0 5px 0 0;;--padding:10px 15px;--margin:0; } .builder-item--primary-menu{ --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --iconsize: 1em; } .builder-item--header_search_responsive{ --formfieldfontsize: 14px;--formfieldborderwidth:2px;--formfieldborderradius:2px; --height: 40px;--padding:0 10px;--margin:0; } .builder-item--footer-one-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-two-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-four-widgets{ --padding:0;--margin:0; --textalign: left;--justify: flex-start; } .builder-item--footer-menu{ --spacing: 20px; --height: 25px;--padding:0;--margin:0; --fontsize: 1em; --lineheight: 1.6; --letterspacing: 0px; --iconsize: 1em; --textalign: left;--justify: flex-start; } }:root{--nv-primary-accent:#d00545;--nv-secondary-accent:#2f5aae;--nv-site-bg:#ffffff;--nv-light-bg:#f4f5f7;--nv-dark-bg:#121212;--nv-text-color:#161616;--nv-text-dark-bg:#ffffff;--nv-c-1:#9463ae;--nv-c-2:#be574b;--nv-fallback-ff:Times New Roman, Times, serif;} </style><link rel="https://api.w.org/" href="https://singjupost.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://singjupost.com/wp-json/wp/v2/posts/3638" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://singjupost.com/xmlrpc.php?rsd" /><link rel='shortlink' href='https://singjupost.com/?p=3638' /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://singjupost.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsingjupost.com%2Ffull-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://singjupost.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsingjupost.com%2Ffull-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity%2F&#038;format=xml" /><meta name="hubbub-info" description="Hubbub 1.34.7"><script type="text/javascript" async="" src=https://hb-tutorialrepublic.s3.us-east-2.amazonaws.com/singjupost.com/asc_prebid.js></script><link rel="apple-touch-icon" sizes="180x180" href="/wp-content/uploads/fbrfg/apple-touch-icon.png?v=9BPjgNmd9O"><link rel="icon" type="image/png" sizes="32x32" href="/wp-content/uploads/fbrfg/favicon-32x32.png?v=9BPjgNmd9O"><link rel="icon" type="image/png" sizes="16x16" href="/wp-content/uploads/fbrfg/favicon-16x16.png?v=9BPjgNmd9O"><link rel="manifest" href="/wp-content/uploads/fbrfg/site.webmanifest?v=9BPjgNmd9O"><link rel="shortcut icon" href="/wp-content/uploads/fbrfg/favicon.ico?v=9BPjgNmd9O"><meta name="msapplication-TileColor" content="#00aba9"><meta name="msapplication-config" content="/wp-content/uploads/fbrfg/browserconfig.xml?v=9BPjgNmd9O"><meta name="theme-color" content="#ffffff"> <style type="text/css"> #post-pagination a {
38
+ margin: 0 3px;
39
+ } </style><link rel="icon" href="https://singjupost.com/wp-content/uploads/2019/05/cropped-tsplogo2_512x512-32x32.jpg" sizes="32x32" /><link rel="icon" href="https://singjupost.com/wp-content/uploads/2019/05/cropped-tsplogo2_512x512-192x192.jpg" sizes="192x192" /><link rel="apple-touch-icon" href="https://singjupost.com/wp-content/uploads/2019/05/cropped-tsplogo2_512x512-180x180.jpg" /><meta name="msapplication-TileImage" content="https://singjupost.com/wp-content/uploads/2019/05/cropped-tsplogo2_512x512-270x270.jpg" /> <style id="wp-custom-css"> #myBtn {
40
+ display: none; /* Hidden by default */
41
+ position: fixed; /* Fixed/sticky position */
42
+ bottom: 20px; /* Place the button at the bottom of the page */
43
+ right: 10px; /* Place the button 30px from the right */
44
+ z-index: 99; /* Make sure it does not overlap */
45
+ border: none; /* Remove borders */
46
+ outline: none; /* Remove outline */
47
+ background-color: purple; /* Set a background color */
48
+ color: white; /* Text color */
49
+ cursor: pointer; /* Add a mouse pointer on hover */
50
+ padding: 5px; /* Some padding */
51
+ border-radius: 8px; /* Rounded corners */
52
+ }
53
+ #myBtn:hover {
54
+ background-color: #555; /* Add a dark-grey background on hover */
55
+ } </style></head><body class="wp-singular post-template-default single single-post postid-3638 single-format-standard wp-theme-neve wp-child-theme-neve-child-master nv-blog-default nv-sidebar-right menu_sidebar_slide_left plp-on" id="neve_body" > <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-SJY565FNHK"></script> <script> window.dataLayer = window.dataLayer || [];
56
+ function gtag(){dataLayer.push(arguments);}
57
+ gtag('js', new Date());
58
+ gtag('config', 'G-SJY565FNHK'); </script><div class="wrapper"><header class="header" > <a class="neve-skip-link show-on-focus" href="#content" > Skip to content </a><div id="header-grid" class="hfg_header site-header"><nav class="header--row header-main hide-on-mobile hide-on-tablet layout-full-contained nv-navbar header--row"
59
+ data-row-id="main" data-show-on="desktop"><div
60
+ class="header--row-inner header-main-inner"><div class="container"><div
61
+ class="row row--wrapper"
62
+ data-section="hfg_header_layout_main" ><div class="hfg-slot left"><div class="builder-item desktop-right"><div class="item--inner builder-item--logo"
63
+ data-section="title_tagline"
64
+ data-item-id="logo"><div class="site-logo"> <a class="brand" href="https://singjupost.com/" title="&larr; The Singju Post"
65
+ aria-label="The Singju Post Learn. Be Inspired." rel="home"><div class="nv-title-tagline-wrap"><p class="site-title">The Singju Post</p><small>Learn. Be Inspired.</small></div></a></div></div></div></div><div class="hfg-slot right"><div class="builder-item has-nav hfg-is-group has-primary-menu"><div class="item--inner builder-item--primary-menu has_menu"
66
+ data-section="header_menu_primary"
67
+ data-item-id="primary-menu"><div class="nv-nav-wrap"><div role="navigation" class="nav-menu-primary"
68
+ aria-label="Primary Menu"><ul id="nv-primary-navigation-main" class="primary-menu-ul nav-ul menu-desktop"><li id="menu-item-41919" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41919"><div class="wrap"><a href="https://singjupost.com/education/">Education</a></div></li><li id="menu-item-42971" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42971"><div class="wrap"><a href="https://singjupost.com/technology/">Technology</a></div></li><li id="menu-item-43018" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-43018"><div class="wrap"><a href="https://singjupost.com/family-parenting/">Family &amp; Parenting</a></div></li><li id="menu-item-45609" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45609"><div class="wrap"><a href="https://singjupost.com/health/">Health &amp; Wellness</a></div></li><li id="menu-item-48921" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-48921"><div class="wrap"><a href="https://singjupost.com/life-relationships/">Life &amp; Relationships</a></div></li></ul></div></div></div><div class="item--inner builder-item--header_search_responsive"
69
+ data-section="header_search_responsive"
70
+ data-item-id="header_search_responsive"><div class="nv-search-icon-component" ><div class="menu-item-nav-search canvas"> <a aria-label="Search" href="#" class="nv-icon nv-search" > <svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg> </a><div class="nv-nav-search" aria-label="search"><div class="form-wrap container responsive-search"><form role="search"
71
+ method="get"
72
+ class="search-form"
73
+ action="https://singjupost.com/"> <label> <span class="screen-reader-text">Search for...</span> </label> <input type="search"
74
+ class="search-field"
75
+ aria-label="Search"
76
+ placeholder="Search for..."
77
+ value=""
78
+ name="s"/> <button type="submit"
79
+ class="search-submit nv-submit"
80
+ aria-label="Search"> <span class="nv-search-icon-wrap"> <span class="nv-icon nv-search" > <svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg> </span> </span> </button></form></div><div class="close-container container responsive-search"> <button class="close-responsive-search" aria-label="Close"
81
+ > <svg width="50" height="50" viewBox="0 0 20 20" fill="#555555"><path d="M14.95 6.46L11.41 10l3.54 3.54l-1.41 1.41L10 11.42l-3.53 3.53l-1.42-1.42L8.58 10L5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"/></svg> </button></div></div></div></div></div></div></div></div></div></div></nav><nav class="header--row header-main hide-on-desktop layout-full-contained nv-navbar header--row"
82
+ data-row-id="main" data-show-on="mobile"><div
83
+ class="header--row-inner header-main-inner"><div class="container"><div
84
+ class="row row--wrapper"
85
+ data-section="hfg_header_layout_main" ><div class="hfg-slot left"><div class="builder-item mobile-right tablet-right"><div class="item--inner builder-item--logo"
86
+ data-section="title_tagline"
87
+ data-item-id="logo"><div class="site-logo"> <a class="brand" href="https://singjupost.com/" title="&larr; The Singju Post"
88
+ aria-label="The Singju Post Learn. Be Inspired." rel="home"><div class="nv-title-tagline-wrap"><p class="site-title">The Singju Post</p><small>Learn. Be Inspired.</small></div></a></div></div></div></div><div class="hfg-slot right"><div class="builder-item tablet-left mobile-left hfg-is-group"><div class="item--inner builder-item--nav-icon"
89
+ data-section="header_menu_icon"
90
+ data-item-id="nav-icon"><div class="menu-mobile-toggle item-button navbar-toggle-wrapper"> <button type="button" class=" navbar-toggle"
91
+ value="Navigation Menu"
92
+ aria-label="Navigation Menu "
93
+ aria-expanded="false" onclick="if('undefined' !== typeof toggleAriaClick ) { toggleAriaClick() }"> <span class="bars"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </span> <span class="screen-reader-text">Navigation Menu</span> </button></div> <!--.navbar-toggle-wrapper--></div><div class="item--inner builder-item--header_search_responsive"
94
+ data-section="header_search_responsive"
95
+ data-item-id="header_search_responsive"><div class="nv-search-icon-component" ><div class="menu-item-nav-search canvas"> <a aria-label="Search" href="#" class="nv-icon nv-search" > <svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg> </a><div class="nv-nav-search" aria-label="search"><div class="form-wrap container responsive-search"><form role="search"
96
+ method="get"
97
+ class="search-form"
98
+ action="https://singjupost.com/"> <label> <span class="screen-reader-text">Search for...</span> </label> <input type="search"
99
+ class="search-field"
100
+ aria-label="Search"
101
+ placeholder="Search for..."
102
+ value=""
103
+ name="s"/> <button type="submit"
104
+ class="search-submit nv-submit"
105
+ aria-label="Search"> <span class="nv-search-icon-wrap"> <span class="nv-icon nv-search" > <svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg> </span> </span> </button></form></div><div class="close-container container responsive-search"> <button class="close-responsive-search" aria-label="Close"
106
+ > <svg width="50" height="50" viewBox="0 0 20 20" fill="#555555"><path d="M14.95 6.46L11.41 10l3.54 3.54l-1.41 1.41L10 11.42l-3.53 3.53l-1.42-1.42L8.58 10L5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"/></svg> </button></div></div></div></div></div></div></div></div></div></div></nav><div
107
+ id="header-menu-sidebar" class="header-menu-sidebar tcb menu-sidebar-panel slide_left hfg-pe"
108
+ data-row-id="sidebar"><div id="header-menu-sidebar-bg" class="header-menu-sidebar-bg"><div class="close-sidebar-panel navbar-toggle-wrapper"> <button type="button" class="hamburger is-active navbar-toggle active" value="Navigation Menu"
109
+ aria-label="Navigation Menu "
110
+ aria-expanded="false" onclick="if('undefined' !== typeof toggleAriaClick ) { toggleAriaClick() }"> <span class="bars"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </span> <span class="screen-reader-text"> Navigation Menu </span> </button></div><div id="header-menu-sidebar-inner" class="header-menu-sidebar-inner tcb "><div class="builder-item has-nav"><div class="item--inner builder-item--primary-menu has_menu"
111
+ data-section="header_menu_primary"
112
+ data-item-id="primary-menu"><div class="nv-nav-wrap"><div role="navigation" class="nav-menu-primary"
113
+ aria-label="Primary Menu"><ul id="nv-primary-navigation-sidebar" class="primary-menu-ul nav-ul menu-mobile"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41919"><div class="wrap"><a href="https://singjupost.com/education/">Education</a></div></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42971"><div class="wrap"><a href="https://singjupost.com/technology/">Technology</a></div></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-43018"><div class="wrap"><a href="https://singjupost.com/family-parenting/">Family &amp; Parenting</a></div></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45609"><div class="wrap"><a href="https://singjupost.com/health/">Health &amp; Wellness</a></div></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-48921"><div class="wrap"><a href="https://singjupost.com/life-relationships/">Life &amp; Relationships</a></div></li></ul></div></div></div></div></div></div></div><div class="header-menu-sidebar-overlay hfg-ov hfg-pe" onclick="if('undefined' !== typeof toggleAriaClick ) { toggleAriaClick() }"></div></div></header> <style>.is-menu-sidebar .header-menu-sidebar { visibility: visible; }.is-menu-sidebar.menu_sidebar_slide_left .header-menu-sidebar { transform: translate3d(0, 0, 0); left: 0; }.is-menu-sidebar.menu_sidebar_slide_right .header-menu-sidebar { transform: translate3d(0, 0, 0); right: 0; }.is-menu-sidebar.menu_sidebar_pull_right .header-menu-sidebar, .is-menu-sidebar.menu_sidebar_pull_left .header-menu-sidebar { transform: translateX(0); }.is-menu-sidebar.menu_sidebar_dropdown .header-menu-sidebar { height: auto; }.is-menu-sidebar.menu_sidebar_dropdown .header-menu-sidebar-inner { max-height: 400px; padding: 20px 0; }.is-menu-sidebar.menu_sidebar_full_canvas .header-menu-sidebar { opacity: 1; }.header-menu-sidebar .menu-item-nav-search:not(.floating) { pointer-events: none; }.header-menu-sidebar .menu-item-nav-search .is-menu-sidebar { pointer-events: unset; }.nav-ul li:focus-within .wrap.active + .sub-menu { opacity: 1; visibility: visible; }.nav-ul li.neve-mega-menu:focus-within .wrap.active + .sub-menu { display: grid; }.nav-ul li > .wrap { display: flex; align-items: center; position: relative; padding: 0 4px; }.nav-ul:not(.menu-mobile):not(.neve-mega-menu) > li > .wrap > a { padding-top: 1px }</style><main id="content" class="neve-main"><div class="container single-post-container"><div class="row"><article id="post-3638"
114
+ class="nv-single-post-wrap col post-3638 post type-post status-publish format-standard hentry category-life-relationships grow-content-body"><div class="entry-header" ><div class="nv-title-meta-wrap"><small class="nv--yoast-breadcrumb neve-breadcrumbs-wrapper"><span><span><a href="https://singjupost.com/">Home</a></span> » <span class="breadcrumb_last" aria-current="page">Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity</span></span></small><h1 class="title entry-title">Full Transcript: Hannah Fry on The Mathematics of Love at TEDxBinghamtonUniversity</h1><ul class="nv-meta-list"><li class="meta date posted-on "><time class="entry-date published" datetime="2016-06-23T10:33:39-04:00" content="2016-06-23">June 23, 2016 10:33 am</time><time class="updated" datetime="2020-06-15T11:05:44-04:00">June 15, 2020 11:05 am</time></li><li class="meta author vcard "><span class="author-name fn">by <a href="https://singjupost.com/author/singju/" title="Posts by Pangambam S" rel="author">Pangambam S</a></span></li><li class="meta category last"><a href="https://singjupost.com/life-relationships/" rel="category tag">Life &amp; Relationships</a></li></ul></div></div><div class="nv-content-wrap entry-content"><div id="dpsp-content-top" class="dpsp-content-wrapper dpsp-shape-rounded dpsp-size-medium dpsp-has-spacing dpsp-has-buttons-count dpsp-show-on-mobile dpsp-button-style-2" style="min-height:40px;position:relative"><ul class="dpsp-networks-btns-wrapper dpsp-networks-btns-share dpsp-networks-btns-content dpsp-column-4 dpsp-has-button-icon-animation" style="padding:0;margin:0;list-style-type:none"><li class="dpsp-network-list-item dpsp-network-list-item-facebook" style="float:left"> <a rel="nofollow noopener" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fsingjupost.com%2Ffull-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity%2F&#038;t=Full%20Transcript%3A%20Hannah%20Fry%20on%20The%20Mathematics%20of%20Love%20at%20TEDxBinghamtonUniversity" class="dpsp-network-btn dpsp-facebook dpsp-first dpsp-has-label dpsp-has-label-mobile" target="_blank" aria-label="Share on Facebook" title="Share on Facebook" style="font-size:14px;padding:0rem;max-height:40px" > <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 18 32"><path d="M17.12 0.224v4.704h-2.784q-1.536 0-2.080 0.64t-0.544 1.92v3.392h5.248l-0.704 5.28h-4.544v13.568h-5.472v-13.568h-4.544v-5.28h4.544v-3.904q0-3.328 1.856-5.152t4.96-1.824q2.624 0 4.064 0.224z"></path></svg></span> </span> <span class="dpsp-network-label dpsp-network-hide-label-mobile">Share</span></a></li><li class="dpsp-network-list-item dpsp-network-list-item-x" style="float:left"> <a rel="nofollow noopener" href="https://x.com/intent/tweet?text=Full%20Transcript%3A%20Hannah%20Fry%20on%20The%20Mathematics%20of%20Love%20at%20TEDxBinghamtonUniversity&#038;url=https%3A%2F%2Fsingjupost.com%2Ffull-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity%2F&#038;via=singjupost" class="dpsp-network-btn dpsp-x dpsp-has-label dpsp-has-label-mobile" target="_blank" aria-label="Share on X" title="Share on X" style="font-size:14px;padding:0rem;max-height:40px" > <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 30"><path d="M30.3 29.7L18.5 12.4l0 0L29.2 0h-3.6l-8.7 10.1L10 0H0.6l11.1 16.1l0 0L0 29.7h3.6l9.7-11.2L21 29.7H30.3z M8.6 2.7 L25.2 27h-2.8L5.7 2.7H8.6z"></path></svg></span> </span> <span class="dpsp-network-label dpsp-network-hide-label-mobile">Tweet</span></a></li><li class="dpsp-network-list-item dpsp-network-list-item-pinterest" style="float:left"> <button rel="nofollow noopener" data-href="#" class="dpsp-network-btn dpsp-pinterest dpsp-has-label dpsp-has-label-mobile" target="_blank" aria-label="Save to Pinterest" title="Save to Pinterest" style="font-size:14px;padding:0rem;max-height:40px" > <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 23 32"><path d="M0 10.656q0-1.92 0.672-3.616t1.856-2.976 2.72-2.208 3.296-1.408 3.616-0.448q2.816 0 5.248 1.184t3.936 3.456 1.504 5.12q0 1.728-0.32 3.36t-1.088 3.168-1.792 2.656-2.56 1.856-3.392 0.672q-1.216 0-2.4-0.576t-1.728-1.568q-0.16 0.704-0.48 2.016t-0.448 1.696-0.352 1.28-0.48 1.248-0.544 1.12-0.832 1.408-1.12 1.536l-0.224 0.096-0.16-0.192q-0.288-2.816-0.288-3.36 0-1.632 0.384-3.68t1.184-5.152 0.928-3.616q-0.576-1.152-0.576-3.008 0-1.504 0.928-2.784t2.368-1.312q1.088 0 1.696 0.736t0.608 1.824q0 1.184-0.768 3.392t-0.8 3.36q0 1.12 0.8 1.856t1.952 0.736q0.992 0 1.824-0.448t1.408-1.216 0.992-1.696 0.672-1.952 0.352-1.984 0.128-1.792q0-3.072-1.952-4.8t-5.12-1.728q-3.552 0-5.952 2.304t-2.4 5.856q0 0.8 0.224 1.536t0.48 1.152 0.48 0.832 0.224 0.544q0 0.48-0.256 1.28t-0.672 0.8q-0.032 0-0.288-0.032-0.928-0.288-1.632-0.992t-1.088-1.696-0.576-1.92-0.192-1.92z"></path></svg></span> </span> <span class="dpsp-network-label dpsp-network-hide-label-mobile">Pinterest</span></button></li><li class="dpsp-network-list-item dpsp-network-list-item-email" style="float:left"> <a rel="nofollow noopener" href="mailto:?subject=Full%20Transcript%3A%20Hannah%20Fry%20on%20The%20Mathematics%20of%20Love%20at%20TEDxBinghamtonUniversity&#038;body=https%3A%2F%2Fsingjupost.com%2Ffull-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity%2F" class="dpsp-network-btn dpsp-email dpsp-last dpsp-has-label dpsp-has-label-mobile" target="_blank" aria-label="Send over email" title="Send over email" style="font-size:14px;padding:0rem;max-height:40px" > <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 28 32"><path d="M18.56 17.408l8.256 8.544h-25.248l8.288-8.448 4.32 4.064zM2.016 6.048h24.32l-12.16 11.584zM20.128 15.936l8.224-7.744v16.256zM0 24.448v-16.256l8.288 7.776z"></path></svg></span> </span> <span class="dpsp-network-label dpsp-network-hide-label-mobile">Email</span></a></li></ul></div><figure id="attachment_39220" aria-describedby="caption-attachment-39220" style="width: 1250px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-39220 lazyload" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-300x188.jpg" alt="" width="1250" height="783" /><figcaption id="caption-attachment-39220" class="wp-caption-text"><noscript><img decoding="async" class="wp-image-39220 lazyload" src="https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-300x188.jpg" alt="" width="1250" height="783" srcset="https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-300x188.jpg 300w, https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube-768x481.jpg 768w, https://singjupost.com/wp-content/uploads/2016/06/2_The_mathematics_of_love_Hannah_Fry_TEDxBinghamtonUniversity_YouTube.jpg 782w" sizes="(max-width: 1250px) 100vw, 1250px" /></noscript> Hannah Fry</figcaption></figure><p>Here is the full transcript of mathematician Hannah Fry’s TEDx Talk: <em>The Mathematics of Love</em> at TEDxBinghamtonUniversity.</p><p><strong><span style="text-decoration: underline;">Listen to the MP3 Audio here: <a href="https://singjupost.com/wp-content/uploads/2016/06/The-mathematics-of-love-by-Hannah-Fry-at-TEDxBinghamtonUniversity.mp3">The mathematics of love by Hannah Fry at TEDxBinghamtonUniversity</a></span></strong></p><p><strong><span style="text-decoration: underline;">TRANSCRIPT: </span></strong></p><p>Thank you very much. So, yes, I&#8217;m Hannah Fry. I am a mathematician. And today I want to talk to you about the <em>mathematics of love</em>. Now, I think that we can all agree that mathematicians are famously excellent at finding love. But it&#8217;s not just because of our dashing personalities, superior conversational skills and excellent pencil cases. It&#8217;s also because we&#8217;ve actually done an awful lot of work into the maths of how to find the perfect partner.</p><p>Now, in my favorite paper on the subject, which is entitled, <em>&#8220;Why I Don&#8217;t Have a Girlfriend&#8221;</em> &#8212; Peter Backus tries to rate his chances of finding love. Now, Peter&#8217;s not a very greedy man. Of all of the available women in the U.K., all Peter&#8217;s looking for is somebody who lives near him, somebody in the right age range, somebody with a university degree, somebody he&#8217;s likely to get on well with, somebody who&#8217;s likely to be attractive, somebody who&#8217;s likely to find him attractive. And comes up with an estimate of 26 women in the whole of the UK. It&#8217;s not looking very good, is it Peter?</p><p>Now, just to put that into perspective, that&#8217;s about 400 times fewer than the best estimates of how many intelligent extraterrestrial life forms there are. And it also gives Peter a 1 in 285,000 chance of bumping into any one of these special ladies on a given night out. I&#8217;d like to think that&#8217;s why mathematicians don&#8217;t really bother going on nights out anymore.</p><p>Pages:<span id="plp_inital_pagination"> <a class="" href="https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/" class="post-page-numbers">First</a> |<span class="plp-active-page">1</span> | ... | <a class="" href="https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/2/" class="post-page-numbers">Next →</a> | <a class="" href="https://singjupost.com/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/4/" class="post-page-numbers">Last</a></span> | <a data-ajax="0" href="/full-transcript-hannah-fry-on-the-mathematics-of-love-at-tedxbinghamtonuniversity/?singlepage=1">View Full Transcript</a></p><div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://singjupost.com/settle-down-pay-attention-say-thank-you-a-how-to-by-kristen-race-transcript/" target="_blank" rel="dofollow" class="u4652a06ff794c30aad890e61d8bad97f"><!-- INLINE RELATED POSTS 1/3 //--><style> .u4652a06ff794c30aad890e61d8bad97f { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#e6e6e6; border:0!important; border-left:4px solid #464646!important; text-decoration:none; } .u4652a06ff794c30aad890e61d8bad97f:active, .u4652a06ff794c30aad890e61d8bad97f:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u4652a06ff794c30aad890e61d8bad97f { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u4652a06ff794c30aad890e61d8bad97f .ctaText { font-weight:bold; color:#E67E22; text-decoration:none; font-size: 16px; } .u4652a06ff794c30aad890e61d8bad97f .postTitle { color:#464646; text-decoration: underline!important; font-size: 16px; } .u4652a06ff794c30aad890e61d8bad97f:hover .postTitle { text-decoration: underline!important; } </style><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">ALSO READ:</span>&nbsp; <span class="postTitle">Settle Down, Pay Attention, Say Thank You: A How-To by Kristen Race (Transcript)</span></div></a></div></div><div class="nv-post-navigation"><div class="previous"><a href="https://singjupost.com/transcript-akala-on-hip-hop-shakespeare-at-tedxaldeburgh/" rel="prev"><span class="nav-direction">previous</span><span>Transcript: Akala on Hip-Hop &#038; Shakespeare? at TEDxAldeburgh</span></a></div><div class="next"><a href="https://singjupost.com/full-transcript-jesse-henry-on-the-theory-of-success-at-tedxfsu/" rel="next"><span class="nav-direction">next</span><span>Full Transcript: Jesse Henry on The Theory of Success at TEDxFSU</span></a></div></div><div id="taboola-below-article-thumbnails"></div></article><div class="nv-sidebar-wrap col-sm-12 nv-right blog-sidebar " ><aside id="secondary" role="complementary"><div id="block-78" class="widget widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><p><strong>LATEST POSTS: </strong></p><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://singjupost.com/transcript-shashi-tharoor-on-the-india-pak-ceasefire-implications-unresolved-questions/">Transcript: Shashi Tharoor on the India-Pak Ceasefire: Implications &#038; Unresolved Questions</a></li><li><a class="wp-block-latest-posts__post-title" href="https://singjupost.com/transcript-of-maga-and-the-fight-for-america-stephen-k-bannon/">Transcript of MAGA And The Fight For America &#8211; Stephen K. Bannon</a></li><li><a class="wp-block-latest-posts__post-title" href="https://singjupost.com/transcript-of-dr-ben-bikman-on-the-human-upgrade-podcast/">Transcript of Dr. Ben Bikman on The Human Upgrade Podcast</a></li><li><a class="wp-block-latest-posts__post-title" href="https://singjupost.com/transcript-of-prof-jeffrey-sachs-will-trump-dump-netanyahu/">Transcript of Prof. Jeffrey Sachs: Will Trump Dump Netanyahu?</a></li><li><a class="wp-block-latest-posts__post-title" href="https://singjupost.com/transcript-of-world-bank-president-ajay-banga-on-indus-water-treaty-in-abeyance-trump-tariffs/">Transcript of World Bank President Ajay Banga On Indus Water Treaty In Abeyance, Trump Tariffs</a></li></ul></div></div></div><div id="block-79" class="widget widget_block widget_text"><p><strong>RECOMMENDED: </strong></p></div><div id="block-80" class="widget widget_block"><div class="wp-block-data443-irp-shortcode irp-shortcode"><div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://singjupost.com/robert-lee-rescuing-leftover-cuisine-talks-at-google-transcript/" target="_blank" rel="dofollow" class="ua22a1866f9d999ac45c51e21324975e2"><style> .ua22a1866f9d999ac45c51e21324975e2 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#e6e6e6; border:0!important; border-left:4px solid #464646!important; text-decoration:none; } .ua22a1866f9d999ac45c51e21324975e2:active, .ua22a1866f9d999ac45c51e21324975e2:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .ua22a1866f9d999ac45c51e21324975e2 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .ua22a1866f9d999ac45c51e21324975e2 .ctaText { font-weight:bold; color:#E67E22; text-decoration:none; font-size: 16px; } .ua22a1866f9d999ac45c51e21324975e2 .postTitle { color:#464646; text-decoration: underline!important; font-size: 16px; } .ua22a1866f9d999ac45c51e21324975e2:hover .postTitle { text-decoration: underline!important; } </style><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">ALSO READ:</span>&nbsp; <span class="postTitle">Robert Lee: Rescuing Leftover Cuisine @ Talks at Google (Transcript)</span></div></a></div></div></div><div id="block-81" class="widget widget_block widget_text"><p><strong>CATEGORIES: </strong></p></div><div id="block-82" class="widget widget_block widget_categories"><ul class="wp-block-categories-list wp-block-categories"><li class="cat-item cat-item-7"><a href="https://singjupost.com/ancient-wisdom/">Ancient Wisdom</a></li><li class="cat-item cat-item-3585"><a href="https://singjupost.com/blog/">Blog</a></li><li class="cat-item cat-item-6"><a href="https://singjupost.com/business-finance/">Business &amp; Finance</a></li><li class="cat-item cat-item-13"><a href="https://singjupost.com/education/">Education</a></li><li class="cat-item cat-item-4214"><a href="https://singjupost.com/employment-careers/">Employment &amp; Careers</a></li><li class="cat-item cat-item-4213"><a href="https://singjupost.com/family-parenting/">Family &amp; Parenting</a></li><li class="cat-item cat-item-4231"><a href="https://singjupost.com/great-speeches/">Great Speeches</a></li><li class="cat-item cat-item-11"><a href="https://singjupost.com/health/">Health &amp; Wellness</a></li><li class="cat-item cat-item-3448"><a href="https://singjupost.com/education/inspiration/">Inspiration</a></li><li class="cat-item cat-item-12"><a href="https://singjupost.com/life-relationships/">Life &amp; Relationships</a></li><li class="cat-item cat-item-3511"><a href="https://singjupost.com/education/life-advice/">Life Advice</a></li><li class="cat-item cat-item-3696"><a href="https://singjupost.com/health/mental-health/">Mental Health</a></li><li class="cat-item cat-item-1"><a href="https://singjupost.com/education/motivation/">Motivation</a></li><li class="cat-item cat-item-4187"><a href="https://singjupost.com/news/">News</a></li><li class="cat-item cat-item-4267"><a href="https://singjupost.com/pilgrims-journey-2/">Pilgrims Journey</a></li><li class="cat-item cat-item-4245"><a href="https://singjupost.com/podcasts/">Podcasts</a></li><li class="cat-item cat-item-4191"><a href="https://singjupost.com/politics/">Politics</a></li><li class="cat-item cat-item-4192"><a href="https://singjupost.com/science/">Science</a></li><li class="cat-item cat-item-4216"><a href="https://singjupost.com/personal-transformation/">Self-Improvement</a></li><li class="cat-item cat-item-4228"><a href="https://singjupost.com/sermon/">Sermon</a></li><li class="cat-item cat-item-4269"><a href="https://singjupost.com/sponsored/">Sponsored</a></li><li class="cat-item cat-item-4184"><a href="https://singjupost.com/sports/">Sports</a></li><li class="cat-item cat-item-10"><a href="https://singjupost.com/technology/">Technology</a></li></ul></div></aside></div></div></div></main><!--/.neve-main--><footer class="site-footer" id="site-footer" ><div class="hfg_footer"><div class="footer--row footer-top hide-on-mobile hide-on-tablet layout-full-contained"
115
+ id="cb-row--footer-desktop-top"
116
+ data-row-id="top" data-show-on="desktop"><div
117
+ class="footer--row-inner footer-top-inner footer-content-wrap"><div class="container"><div
118
+ class="hfg-grid nv-footer-content hfg-grid-top row--wrapper row "
119
+ data-section="hfg_footer_layout_top" ><div class="hfg-slot left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-one-widgets"
120
+ data-section="neve_sidebar-widgets-footer-one-widgets"
121
+ data-item-id="footer-one-widgets"><div class="widget-area"><div id="block-47" class="widget widget_block widget_text"><p>MISSION STATEMENT:</p></div><div id="block-48" class="widget widget_block widget_text"><p>Our mission is to provide the most accurate transcripts of videos and audios online.</p></div></div></div></div></div><div class="hfg-slot c-left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-four-widgets"
122
+ data-section="neve_sidebar-widgets-footer-four-widgets"
123
+ data-item-id="footer-four-widgets"><div class="widget-area"><div id="block-70" class="widget widget_block"></div></div></div></div></div><div class="hfg-slot center"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-two-widgets"
124
+ data-section="neve_sidebar-widgets-footer-two-widgets"
125
+ data-item-id="footer-two-widgets"><div class="widget-area"><div id="block-45" class="widget widget_block widget_text"><p><strong>Become our Friends!</strong></p></div><div id="block-46" class="widget widget_block"><ul class="wp-block-list"><li><strong><a href="https://www.facebook.com/singjupost/">FACEBOOK</a></strong></li><li><strong><a href="https://twitter.com/singjupost">TWITTER</a></strong></li><li><strong><a href="https://www.youtube.com/channel/UCIiYEp_yR8x9gmjHvszGKtw">YOUTUBE</a></strong></li></ul></div></div></div></div></div></div></div></div></div><div class="footer--row footer-bottom hide-on-mobile hide-on-tablet layout-full-contained"
126
+ id="cb-row--footer-desktop-bottom"
127
+ data-row-id="bottom" data-show-on="desktop"><div
128
+ class="footer--row-inner footer-bottom-inner footer-content-wrap"><div class="container"><div
129
+ class="hfg-grid nv-footer-content hfg-grid-bottom row--wrapper row "
130
+ data-section="hfg_footer_layout_bottom" ><div class="hfg-slot left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-menu has_menu"
131
+ data-section="footer_menu_primary"
132
+ data-item-id="footer-menu"><div class="component-wrap"><div role="navigation" class="nav-menu-footer"
133
+ aria-label="Footer Menu"><ul id="footer-menu" class="footer-menu nav-ul"><li id="menu-item-17021" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17021"><div class="wrap"><a href="https://singjupost.com/about-us/">About Us</a></div></li><li id="menu-item-17020" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17020"><div class="wrap"><a href="https://singjupost.com/contact-us/">Contact Us</a></div></li><li id="menu-item-17022" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17022"><div class="wrap"><a href="https://singjupost.com/terms-of-use/">Terms Of Use</a></div></li><li id="menu-item-17023" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-17023"><div class="wrap"><a rel="privacy-policy" href="https://singjupost.com/privacy/">Privacy Policy</a></div></li><li id="menu-item-17044" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-17044"><div class="wrap"><a href="https://singjupost.com">Home</a></div></li><li id="menu-item-46076" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46076"><div class="wrap"><a href="https://singjupost.com/affiliate-disclosure/">Affiliate Disclosure</a></div></li></ul></div></div></div></div><div class="builder-item"><div class="item--inner"><div class="component-wrap"><div><p>Copyright© 2025 The Singju Post</div></div></div></div></div></div></div></div></div><div class="footer--row footer-top hide-on-desktop layout-full-contained"
134
+ id="cb-row--footer-mobile-top"
135
+ data-row-id="top" data-show-on="mobile"><div
136
+ class="footer--row-inner footer-top-inner footer-content-wrap"><div class="container"><div
137
+ class="hfg-grid nv-footer-content hfg-grid-top row--wrapper row "
138
+ data-section="hfg_footer_layout_top" ><div class="hfg-slot left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-one-widgets"
139
+ data-section="neve_sidebar-widgets-footer-one-widgets"
140
+ data-item-id="footer-one-widgets"><div class="widget-area"><div id="block-47" class="widget widget_block widget_text"><p>MISSION STATEMENT:</p></div><div id="block-48" class="widget widget_block widget_text"><p>Our mission is to provide the most accurate transcripts of videos and audios online.</p></div></div></div></div></div><div class="hfg-slot c-left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-four-widgets"
141
+ data-section="neve_sidebar-widgets-footer-four-widgets"
142
+ data-item-id="footer-four-widgets"><div class="widget-area"><div id="block-70" class="widget widget_block"></div></div></div></div></div><div class="hfg-slot center"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-two-widgets"
143
+ data-section="neve_sidebar-widgets-footer-two-widgets"
144
+ data-item-id="footer-two-widgets"><div class="widget-area"><div id="block-45" class="widget widget_block widget_text"><p><strong>Become our Friends!</strong></p></div><div id="block-46" class="widget widget_block"><ul class="wp-block-list"><li><strong><a href="https://www.facebook.com/singjupost/">FACEBOOK</a></strong></li><li><strong><a href="https://twitter.com/singjupost">TWITTER</a></strong></li><li><strong><a href="https://www.youtube.com/channel/UCIiYEp_yR8x9gmjHvszGKtw">YOUTUBE</a></strong></li></ul></div></div></div></div></div></div></div></div></div><div class="footer--row footer-bottom hide-on-desktop layout-full-contained"
145
+ id="cb-row--footer-mobile-bottom"
146
+ data-row-id="bottom" data-show-on="mobile"><div
147
+ class="footer--row-inner footer-bottom-inner footer-content-wrap"><div class="container"><div
148
+ class="hfg-grid nv-footer-content hfg-grid-bottom row--wrapper row "
149
+ data-section="hfg_footer_layout_bottom" ><div class="hfg-slot left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer-menu has_menu"
150
+ data-section="footer_menu_primary"
151
+ data-item-id="footer-menu"><div class="component-wrap"><div role="navigation" class="nav-menu-footer"
152
+ aria-label="Footer Menu"><ul id="footer-menu" class="footer-menu nav-ul"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17021"><div class="wrap"><a href="https://singjupost.com/about-us/">About Us</a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17020"><div class="wrap"><a href="https://singjupost.com/contact-us/">Contact Us</a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17022"><div class="wrap"><a href="https://singjupost.com/terms-of-use/">Terms Of Use</a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-17023"><div class="wrap"><a rel="privacy-policy" href="https://singjupost.com/privacy/">Privacy Policy</a></div></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-17044"><div class="wrap"><a href="https://singjupost.com">Home</a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46076"><div class="wrap"><a href="https://singjupost.com/affiliate-disclosure/">Affiliate Disclosure</a></div></li></ul></div></div></div></div><div class="builder-item"><div class="item--inner"><div class="component-wrap"><div><p>Copyright© 2025 The Singju Post</div></div></div></div></div></div></div></div></div></div></footer></div><!--/.wrapper--> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/neve-child-master\/*","\/wp-content\/themes\/neve\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script><div id="mv-grow-data" data-settings='{&quot;general&quot;:{&quot;contentSelector&quot;:false,&quot;show_count&quot;:{&quot;content&quot;:true,&quot;sidebar&quot;:false},&quot;isTrellis&quot;:false,&quot;license_last4&quot;:&quot;&quot;},&quot;post&quot;:{&quot;ID&quot;:3638,&quot;categories&quot;:[{&quot;ID&quot;:12}]},&quot;shareCounts&quot;:{&quot;facebook&quot;:0,&quot;pinterest&quot;:0,&quot;reddit&quot;:0,&quot;twitter&quot;:0},&quot;shouldRun&quot;:true,&quot;buttonSVG&quot;:{&quot;share&quot;:{&quot;height&quot;:32,&quot;width&quot;:26,&quot;paths&quot;:[&quot;M20.8 20.8q1.984 0 3.392 1.376t1.408 3.424q0 1.984-1.408 3.392t-3.392 1.408-3.392-1.408-1.408-3.392q0-0.192 0.032-0.448t0.032-0.384l-8.32-4.992q-1.344 1.024-2.944 1.024-1.984 0-3.392-1.408t-1.408-3.392 1.408-3.392 3.392-1.408q1.728 0 2.944 0.96l8.32-4.992q0-0.128-0.032-0.384t-0.032-0.384q0-1.984 1.408-3.392t3.392-1.408 3.392 1.376 1.408 3.424q0 1.984-1.408 3.392t-3.392 1.408q-1.664 0-2.88-1.024l-8.384 4.992q0.064 0.256 0.064 0.832 0 0.512-0.064 0.768l8.384 4.992q1.152-0.96 2.88-0.96z&quot;]},&quot;facebook&quot;:{&quot;height&quot;:32,&quot;width&quot;:18,&quot;paths&quot;:[&quot;M17.12 0.224v4.704h-2.784q-1.536 0-2.080 0.64t-0.544 1.92v3.392h5.248l-0.704 5.28h-4.544v13.568h-5.472v-13.568h-4.544v-5.28h4.544v-3.904q0-3.328 1.856-5.152t4.96-1.824q2.624 0 4.064 0.224z&quot;]},&quot;twitter&quot;:{&quot;height&quot;:30,&quot;width&quot;:32,&quot;paths&quot;:[&quot;M30.3 29.7L18.5 12.4l0 0L29.2 0h-3.6l-8.7 10.1L10 0H0.6l11.1 16.1l0 0L0 29.7h3.6l9.7-11.2L21 29.7H30.3z M8.6 2.7 L25.2 27h-2.8L5.7 2.7H8.6z&quot;]},&quot;pinterest&quot;:{&quot;height&quot;:32,&quot;width&quot;:23,&quot;paths&quot;:[&quot;M0 10.656q0-1.92 0.672-3.616t1.856-2.976 2.72-2.208 3.296-1.408 3.616-0.448q2.816 0 5.248 1.184t3.936 3.456 1.504 5.12q0 1.728-0.32 3.36t-1.088 3.168-1.792 2.656-2.56 1.856-3.392 0.672q-1.216 0-2.4-0.576t-1.728-1.568q-0.16 0.704-0.48 2.016t-0.448 1.696-0.352 1.28-0.48 1.248-0.544 1.12-0.832 1.408-1.12 1.536l-0.224 0.096-0.16-0.192q-0.288-2.816-0.288-3.36 0-1.632 0.384-3.68t1.184-5.152 0.928-3.616q-0.576-1.152-0.576-3.008 0-1.504 0.928-2.784t2.368-1.312q1.088 0 1.696 0.736t0.608 1.824q0 1.184-0.768 3.392t-0.8 3.36q0 1.12 0.8 1.856t1.952 0.736q0.992 0 1.824-0.448t1.408-1.216 0.992-1.696 0.672-1.952 0.352-1.984 0.128-1.792q0-3.072-1.952-4.8t-5.12-1.728q-3.552 0-5.952 2.304t-2.4 5.856q0 0.8 0.224 1.536t0.48 1.152 0.48 0.832 0.224 0.544q0 0.48-0.256 1.28t-0.672 0.8q-0.032 0-0.288-0.032-0.928-0.288-1.632-0.992t-1.088-1.696-0.576-1.92-0.192-1.92z&quot;]},&quot;email&quot;:{&quot;height&quot;:32,&quot;width&quot;:28,&quot;paths&quot;:[&quot;M18.56 17.408l8.256 8.544h-25.248l8.288-8.448 4.32 4.064zM2.016 6.048h24.32l-12.16 11.584zM20.128 15.936l8.224-7.744v16.256zM0 24.448v-16.256l8.288 7.776z&quot;]}},&quot;inlineContentHook&quot;:[&quot;loop_start&quot;]}'></div> <script defer src="https://singjupost.com/wp-content/plugins/sg-cachepress/assets/js/lazysizes.min.js" id="siteground-optimizer-lazy-sizes-js-js"></script> <script id="dpsp-frontend-js-pro-js-extra"> var dpsp_ajax_send_save_this_email = {"ajax_url":"https:\/\/singjupost.com\/wp-admin\/admin-ajax.php","dpsp_token":"8f093875f6"}; </script> <script id="neve-script-js-extra"> var NeveProperties = {"ajaxurl":"https:\/\/singjupost.com\/wp-admin\/admin-ajax.php","nonce":"ed8cfc517f","isRTL":"","isCustomize":""}; </script> <script defer src="https://singjupost.com/wp-content/uploads/siteground-optimizer-assets/siteground-optimizer-combined-js-280b7255894b4ed6d4dbf66faa099e60.js"></script><script type="text/javascript"> window._taboola = window._taboola || [];
153
+ _taboola.push({article:'auto'});
154
+ !function (e, f, u, i) {
155
+ if (!document.getElementById(i)){
156
+ e.async = 1;
157
+ e.src = u;
158
+ e.id = i;
159
+ f.parentNode.insertBefore(e, f);
160
+ }
161
+ }(document.createElement('script'),
162
+ document.getElementsByTagName('script')[0],
163
+ '//cdn.taboola.com/libtrc/lh2holdings-network/loader.js',
164
+ 'tb_loader_script');
165
+ if(window.performance && typeof window.performance.mark == 'function')
166
+ {window.performance.mark('tbl_ic');} </script><script type="text/javascript"> window._taboola = window._taboola || [];
167
+ _taboola.push({
168
+ mode: "alternating-thumbnails-a",
169
+ container: "taboola-below-article-thumbnails",
170
+ placement: "Below Article Thumbnails",
171
+ target_type: "mix"
172
+ }); </script><script type="text/javascript"> window._taboola = window._taboola || [];
173
+ _taboola.push({flush: true}); </script></body></html> <button onclick="topFunction()" id="myBtn" title="Go to top">Go to Top</button>
data_sources/analytical/hannah_fry_uncertainty_unavoidable_transcript.html ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/analytical/pew_research_ai_views_2023.html ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/analytical/pew_research_report_ai_views_2023.txt ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ What the data says about Americans’ views of artificial intelligence
2
+
3
+ Summarize
4
+
5
+ Michelle FaverioNovember 21, 2023
6
+ Close up of woman's hand touching illuminated and multi-coloured LED display screen, connecting to the future. People, lifestyle and technology
7
+ (d3sign/Getty Images)
8
+ From detecting cancer on a medical scan to drafting an essay for a school assignment, artificial intelligence is increasingly shaping the way Americans live.
9
+
10
+ Pew Research Center surveys show that Americans are increasingly cautious about the growing role of AI in their lives generally. Today, 52% of Americans are more concerned than excited about AI in daily life, compared with just 10% who say they are more excited than concerned; 36% feel a mix of excitement and concern.
11
+
12
+ Despite these cautious overall views, Americans see some specific uses of AI positively, and attitudes depend a great deal on the context of how and why AI is being used.
13
+
14
+ This post summarizes what we know so far about how Americans view AI in everyday life, the workplace, and health and medicine.
15
+
16
+ Public awareness of AI
17
+
18
+ The vast majority of Americans (90%) say they’ve heard at least a little about artificial intelligence, according to an August 2023 survey. However, only one-in-three say they’ve heard a lot about it.
19
+
20
+ While most people are aware of AI, Americans’ ability to identify specific uses of the technology is still developing. Only 30% of U.S. adults correctly recognize all six examples of AI in everyday life that we asked about in a December 2022 survey.
21
+
22
+ And not everyone brings the same level of understanding. Adults with a college or postgraduate degree are more likely to be familiar with AI than those with less education. There are also significant differences by gender and age, with men and younger adults being more familiar with AI than women and older adults.
23
+
24
+ Views and experiences with ChatGPT
25
+
26
+ Generative AI, or programs that can produce text and images, garnered wide media attention in 2023. One prominent example of this technology is ChatGPT. We found in March 2023 that 58% of U.S. adults have heard of ChatGPT, while 42% have heard nothing at all about it.
27
+
28
+ As with awareness of AI generally, familiarity with ChatGPT is higher among men, younger adults and those with a college or postgraduate degree.
29
+
30
+ Even though a majority of Americans are aware of the program, firsthand experience with it is relatively uncommon. Just 18% of all U.S. adults say they’ve used ChatGPT.
31
+
32
+ AI in schooling
33
+
34
+ We asked U.S. teens ages 13 to 17 about the program in a fall 2023 survey. We found that 67% are familiar with ChatGPT. And 19% of those teens say they have used it to help with their schoolwork.
35
+
36
+ Most teens who’ve heard of ChatGPT say it’s acceptable to use ChatGPT to research new things (69%). But fewer say the same about using it for things like solving math problems (39%). And a majority (57%) say it is not acceptable to use it to write essays.
37
+
38
+ Views of AI in the workplace
39
+
40
+ In 2022, 19% of American workers were in jobs that are most exposed to AI, based on a Center analysis of government data. Those jobs tend to be in higher-paying fields where a college degree and analytical skills can be a plus.
41
+
42
+ Our December 2022 survey shows 62% of Americans believe AI will have a major impact on workers generally. However, far fewer think it will impact them personally in a major way (28%).
43
+
44
+ A majority of U.S. adults oppose using AI to make final hiring decisions or track workers’ movements on the job. In fact, 66% of Americans say they would not want to apply for a job with an employer who uses AI to help with hiring decisions. But there’s more openness to using AI in other ways, like monitoring workers’ driving while they make trips for work or tracking attendance.
45
+
46
+ Views of AI in health and medicine
47
+
48
+ Health and medicine is one area where many Americans may encounter artificial intelligence. AI is increasingly being used to do things like help diagnose disease and recommend treatment.
49
+
50
+ Yet six-in-ten Americans say they would feel uncomfortable with their health care provider relying on AI to help care for them.
51
+
52
+ More broadly, the public is divided on the impact of AI in health and medicine. While 38% say it will lead to better outcomes for patients, 33% say it will lead to worse outcomes and 27% say it won’t make much difference. One widely expressed concern is that AI will make patients’ personal relationships with their providers worse.
53
+
54
+ While Americans are cautious about the use of AI in health and medicine generally, they support some specific uses. For instance, 65% say they would want AI to be used in their own skin cancer screening. Studies have found some AI software to be highly accurate at detecting skin cancer.
55
+
56
+ Support for oversight and regulation of AI
57
+
58
+ By and large, Americans back regulation and oversight of emerging AI technologies, including chatbots and driverless vehicles.
59
+
60
+ For example, 67% of those who are familiar with chatbots like ChatGPT say they are more concerned that the government will not go far enough in regulating their use than that it will go too far. A much smaller share (31%) takes the opposite view.
61
+
62
+ When it comes to AI-powered driverless vehicles, 87% of Americans want them held to a higher testing standard than other passenger vehicles. Americans also commonly express unease around the unanticipated consequences and risks of these technologies. About three-quarters (76%) think it’s likely that the computer systems in driverless vehicles could be easily hacked, putting safety at risk.
63
+
64
+ A related concern is over the pace of AI adoption in society. In health and medicine, for instance, 75% of Americans think health care providers will move too fast using AI, before fully understanding the potential risks.
65
+
66
+ Common concerns – and sources of excitement – about AI
67
+
68
+ While the specific uses of AI matter a lot in how Americans feel about it, we see some common themes in what people like and don’t like about AI.
69
+
70
+ On the positive side
71
+
72
+ There are generally higher levels of support for AI when it is used to help with routine or basic tasks. A majority (57%) of Americans say they would be excited for AI to perform household chores, while just 19% express concern about this. Saving time or helping handle mundane tasks are also common reasons for excitement about AI.
73
+
74
+ Americans are also pretty positive when it comes to AI’s ability to help people find products and services they are interested in online.
75
+
76
+ And while experts debate how AI will influence bias in society around things like race and gender, there are signs that the public is more optimistic than pessimistic. For example, among U.S. adults who see a problem with racial and ethnic bias in health and medicine, more think the use of AI would make the issue of bias better than worse (51% vs. 15%). Similarly, among those who see bias in hiring as an issue, more think AI would improve the problem of bias based on job applicants’ race or ethnicity than say it would worsen it (53% vs. 13%).
77
+
78
+ On the negative side
79
+
80
+ There’s broad concern about the loss of the human element due to emerging AI technologies, especially in settings like the workplace and health care. Many Americans who would not want to apply for a job that uses AI in the hiring process cite a lack of the “human factor” in hiring as the reason why. In health and medicine, a majority of Americans think relying more on AI would hurt patients’ relationships with their providers.
81
+
82
+ The potential for negative impacts on jobs is another common concern with AI. Among those who say they’re more concerned than excited about AI, the risk of people losing their job is cited most often as the reason why. We also see this concern with some specific examples of AI. For example, 83% of Americans think driverless cars would lead to job loss for ride-share and delivery drivers.
83
+
84
+ Surveillance and data privacy are also concerns when discussing AI. Large majorities of Americans who are aware of AI think that as companies use AI, personal information will be used in unintended ways and ways people are not comfortable with.
data_sources/analytical/sagan_baloney_detection.txt ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The Fine Art of Baloney Detection
2
+ Carl Sagan
3
+ The human understanding is no dry light, but receives an infusion from the will and affections;
4
+ whence proceed sciences which may be called “sciences as one would.” For what a man had rather
5
+ were true he more readily believes. Therefore he rejects difficult things from impatience of research;
6
+ sober things, because they narrow hope; the deeper things of nature, from superstition; the light
7
+ of experience, from arrogance and pride, lest his mind should seem to be occupied with things
8
+ mean and transitory; things not commonly believed, out of deference to the opinion of the vulgar.
9
+ Numberless in short are the ways, and sometimes imperceptible, in which the affections colour
10
+ and infect the understanding.
11
+ Francis Bacon, Novum Organon (1620)
12
+ My parents died years ago. I was very close to them. I still miss them terribly. I know I always will. I long to
13
+ believe that their essence, their personalities, what I loved so much about them, are—really and truly—still in
14
+ existence somewhere. I wouldn’t ask very much, just five or ten minutes a year, say, to tell them about their
15
+ grandchildren, to catch them up on the latest news, to remind them that I love them. There’s a part of me—no
16
+ matter how childish it sounds—that wonders how they are. “Is everything all right?” I want to ask. The last words
17
+ I found myself saying to my father, at the moment of his death, were “Take care.”
18
+ Sometimes I dream that I’m talking to my parents, and suddenly—still immersed in the dreamwork—I’m
19
+ seized by the overpowering realization that they didn’t really die, that it’s all been some kind of horrible mistake.
20
+ Why, here they are, alive and well, my father making wry jokes, my mother earnestly advising me to wear a
21
+ muffler because the weather is chilly. When I wake up I go through an abbreviated process of mourning all over
22
+ again. Plainly, there’s something within me that’s ready to believe in life after death. And it’s not the least bit
23
+ interested in whether there’s any sober evidence for it.
24
+ So I don’t guffaw at the woman who visits her husband’s grave and chats him up every now and then, maybe
25
+ on the anniversary of his death. It’s not hard to understand. And if I have difficulties with the ontological status
26
+ of who she’s talking to, that’s all right. That’s not what this is about. This is about humans being human. More
27
+ than a third of American adults believe that on some level they’ve made contact with the dead. The number
28
+ seems to have jumped by 15 percent between and 1988. A quarter of Americans believe in reincarnation.
29
+ But that doesn’t mean I’d be willing to accept the pretensions of a “medium,” who claims to channel the
30
+ spirits of the dear departed, when I’m aware the practice is rife with fraud. I know how much I want to believe
31
+ that my parents have just abandoned the husks of their bodies, like insects or snakes molting, and gone
32
+ somewhere else. I understand that those very feelings might make me easy prey even for an unclever con, or for
33
+ normal people unfamiliar with their unconscious minds, or for those suffering from a dissociative psychiatric
34
+ disorder. Reluctantly, I rouse some reserves of skepticism.
35
+ How is it, I ask myself, that channelers never give us verifiable information otherwise unavailable? Why does
36
+ Alexander the Great never tell us about the exact location of his tomb, Fermat about his Last Theorem, John
37
+ Wilkes Booth about the Lincoln assassination conspiracy, Hermann Goring about the Reichstag fire? Why don’t
38
+ Sophocles, Democritus, and Aristarchus dictate their lost books? Don’t they wish future generations to have
39
+ access to their masterpieces?
40
+ If some good evidence for life after death were announced, I’d be eager to examine it; but it would have to be
41
+ real scientific data, not mere anecdote. As with the face on Mars and alien abductions, better the hard truth, I say,
42
+ than the comforting fantasy. And in the final tolling it often turns out that the facts are more comforting than the
43
+ fantasy.
44
+ The fundamental premise of “channeling,” spiritualism, and other forms of necromancy is that when we die
45
+ we don’t. Not exactly. Some thinking, feeling, and remembering part of us continues. That whatever-it-is—a soul
46
+ or spirit, neither matter nor energy, but something else—can, we are told, re-enter the bodies of human and other
47
+ beings in the future, and so death loses much of its sting. What’s more, we have an opportunity, if the spiritualist
48
+ or channeling contentions are true, to make contact with loved ones who have died.
49
+ J. Z. Knight of the State of Washington claims to be in touch with a 35,000-year-old somebody called
50
+ “Ramtha.” He speaks English very well, using Knight’s tongue, lips and vocal chords, producing what sounds to
51
+ me to be an accent from the Indian Raj. Since most people know how to talk, and many—from children to
52
+ professional actors—have a repertoire of voices at their command, the simplest hypothesis is that Ms. Knight
53
+ makes “Ramtha” speak all by herself, and that she has no contact with disembodied entities from the Pleistocene
54
+ Ice Age. If there’s evidence to the contrary, I’d love to hear it. It would be considerably more impressive if Ramtha
55
+ could speak by himself, without the assistance of Ms. Knight’s mouth. Failing that, how might we test the claim?
56
+ (The actress Shirley MacLaine attests that Ramtha was her brother in Atlantis, but that’s another story.)
57
+ Suppose Ramtha were available for questioning. Could we verify whether he is who he says he is? How does
58
+ he know that he lived 35,000 years ago, even approximately? What calendar does he employ? Who is keeping
59
+ track of the intervening millennia? Thirty-five thousand plus or minus what? What were things like 35,000 years
60
+ ago? Either Ramtha really is 35,000 years old, in which case we discover something about that period, or he’s a
61
+ phony and he’ll (or rather she’ll) slip up.
62
+ Where did Ramtha live? (I know he speaks English with an Indian accent, but where 35,000 years ago did they
63
+ do that?) What was the climate? What did Ramtha eat? (Archaeologists know something about what people ate
64
+ back then.) What were the indigenous languages, and social structure? Who else did Ramtha live with—wife, wives,
65
+ children, grandchildren? What was the life cycle, the infant mortality rate, the life expectancy? Did they have birth
66
+ control? What clothes did they wear? How were the clothes manufactured? What were the most dangerous predators? Hunting and fishing implements and strategies? Weapons? Endemic sexism? Xenophobia and ethnocentrism?
67
+ And if Ramtha came from the “high civilization” of Atlantis, where are the linguistic, technological, historical and
68
+ other details? What was their writing like? Tell us. Instead, all we are offered are banal homilies.
69
+ Here, to take another example, is a set of information channeled not from an ancient dead person, but from
70
+ unknown non-human entities who make crop circles, as recorded by the journalist Jim Schnabel:
71
+ We are so anxious at this sinful nation spreading lies about us. We do not come in machines, we do
72
+ not land on your earth in machines … We come like the wind. We are Life Force. Life Force from
73
+ the ground … Come here … We are but a breath away … a breath away … we are not a million
74
+ miles away … a Life Force that is larger than the energies in your body. But we meet at a higher
75
+ level of life … We need no name. We are parallel to your world, alongside your world … The walls
76
+ are broken. Two men will rise from the past … the great bear … the world will be at peace.
77
+ People pay attention to these puerile marvels mainly because they promise something like old-time religion,
78
+ but especially life after death, even life eternal.
79
+ A very different prospect for something like eternal life was once proposed by the versatile British scientist
80
+ J.B.S. Haldane, who was, among many other things, one of the founders of population genetics. Haldane
81
+ imagined a far future when the stars have darkened and space is mainly filled with a cold, thin gas. Nevertheless,
82
+ if we wait long enough statistical fluctuations in the density of this gas will occur. Over immense periods of time
83
+ the fluctuations will be sufficient to reconstitute a Universe something like our own. If the Universe is infinitely
84
+ old, there will be an infinite number of such reconstitutions, Haldane pointed out.
85
+ So in an infinitely old universe with an infinite number of appearances of galaxies, stars, planets, and life, an
86
+ identical Earth must reappear on which you and all your loved ones will be reunited. I’ll be able to see my parents
87
+ again and introduce them to the grandchildren they never knew. And all this will happen not once, but an
88
+ infinite number of times.
89
+ Somehow, though, this does not quite offer the consolations of religion. If none of us is to have any recollection
90
+ of what happened this time around, the time the reader and I are sharing, the satisfactions of bodily resurrection, in
91
+ my ears at least, ring hollow.
92
+ But in this reflection I have underestimated what infinity means. In Haldane’s picture, there will he universes,
93
+ indeed an infinite number of them, in which our brains will have full recollection of many previous rounds.
94
+ Satisfaction is at hand—tempered, though, by the thought of all those other universes which will also come into
95
+ existence (again, not once but an infinite number of times) with tragedies and horrors vastly outstripping
96
+ anything I’ve experienced this turn.
97
+ The Consolation of Haldane depends, though, on what kind of universe we live in, and maybe on such
98
+ arcana as whether there’s enough matter to eventually reverse the expansion of the universe, and the character of
99
+ vacuum fluctuations. Those with a deep longing for life after death might, it seems, devote themselves to
100
+ cosmology, quantum gravity, elementary particle physics, and transfinite arithmetic.
101
+ ——
102
+ Clement of Alexandria, a Father of the early Church, in his Exhortations to the Greeks (written around the year 190)
103
+ dismissed pagan beliefs in words that might today seem a little ironic:
104
+ Far indeed are we from allowing grown men to listen to such tales. Even to our own children, when
105
+ they are crying their heart out, as the saying goes, we are not in the habit of telling fabulous stories
106
+ to soothe them.
107
+ In our time we have less severe standards. We tell children about Santa Claus, the Easter Bunny, and the
108
+ Tooth Fairy for reasons we think emotionally sound, but then disabuse them of these myths before they’re grown.
109
+ Why retract? Because their well-being as adults depends on them knowing the world as it really is. We worry, and
110
+ for good reason, about adults who still believe in Santa Claus.
111
+ On doctrinaire religions, “Men dare not avow, even to their own hearts,” wrote the philosopher David Hume,
112
+ the doubts which they entertain on such subjects. They make a merit of implicit faith; and disguise
113
+ to themselves their real infidelity, by the strongest asseverations and the most positive bigotry.
114
+ This infidelity has profound moral consequences, as the American revolutionary Tom Paine wrote in The Age
115
+ of Reason:
116
+ Infidelity does not consist in believing, or in disbelieving; it consists in professing to believe what
117
+ one does not believe. It is impossible to calculate the moral mischief, if I may so express it, that
118
+ mental lying has produced in society. When man has so far corrupted and prostituted the chastity of
119
+ his mind, as to subscribe his professional belief to things he does not believe, he has prepared
120
+ himself for the commission of every other crime.
121
+ T. H. Huxley’s formulation was
122
+ The foundation of morality is to … give up pretending to believe that for which there is no evidence,
123
+ and repeating unintelligible propositions about things beyond the possibilities of knowledge.
124
+ Clement, Hume, Paine, and Huxley were all talking about religion. But much of what they wrote has more
125
+ general applications—for example to the pervasive background importunings of our commercial civilization:
126
+ There is a class of aspirin commercials in which actors pretending to be doctors reveal the competing product to
127
+ have only so much of the painkilling ingredient that doctors recommend most—they don’t tell you what the
128
+ mysterious ingredient is. Whereas their product has a dramatically larger amount (1.2 to 2 times more per tablet).
129
+ So buy their product. But why not just take two of the competing tablets? Or consider the analgesic that works
130
+ better than the “regular-strength” product of the competition. Why not then take the “extra-strength” competitive product? And of course they do not tell us of the more than a thousand deaths each year in the United States
131
+ from the use of aspirin, or the roughly 5,000 annual cases of kidney failure from the use of acetaminophen,
132
+ chiefly Tylenol. (This, however, may represent a case of corelation without causation.) Or who cares which breakfast cereal has more vitamins when we can take a vitamin pill with breakfast? Likewise, why should it matter
133
+ whether an antacid contains calcium if the calcium is for nutrition and irrelevant for gastritis? Commercial
134
+ culture is full of similar misdirections and evasions at the expense of the consumer. You’re not supposed to ask.
135
+ Don’t think. Buy.
136
+ Paid product endorsements, especially by real or purported experts, constitute a steady rainfall of deception.
137
+ They betray contempt for the intelligence of their customers. They introduce an insidious corruption of popular
138
+ attitudes about scientific objectivity. Today there are even commercials in which real scientists, some of
139
+ considerable distinction, shill for corporations. They teach that scientists too will lie for money. As Tom Paine
140
+ warned, inuring us to lies lays the groundwork for many other evils.
141
+ I have in front of me as I write the program of one of the annual Whole Life Expos, New Age expositions held
142
+ in San Francisco. Typically, tens of thousands of people attend. Highly questionable experts tout highly questionable products. Here are some of the presentations: “How Trapped Blood Proteins Produce Pain and Suffering.”
143
+ “Crystals, Are They Talismans or Stones?” (I have an opinion myself.) It continues: “As a crystal focuses sound
144
+ and light waves for radio and television”—this is a vapid misunderstanding of how radio and television work—
145
+ “so may it amplify spiritual vibrations for the attuned human.” Or here’s one “Return of the Goddess, a Presentational Ritual.” Another: “Synchronicity, the Recognition Experience.” That one is given by “Brother Charles.”
146
+ Or, on the next page, “You, Saint-Germain, and Healing Through the Violet Flame.” It goes on and on, with
147
+ plenty of ads about “opportunities”—running the short gamut from the dubious to the spurious—that are
148
+ available at the Whole Life Expo.
149
+ Distraught cancer victims make pilgrimages to the Philippines, where “psychic surgeons,” having palmed bits
150
+ of chicken liver or goat heart, pretend to reach into the patient’s innards and withdraw the diseased tissue, which
151
+ is then triumphantly displayed. Leaders of Western democracies regularly consult astrologers and mystics before
152
+ making decisions of state. Under public pressure for results, police with an unsolved murder or a missing body on
153
+ their hands consult ESP “experts” (who never guess better than expected by common sense, but the police, the
154
+ ESPers say, keep calling). A clairvoyance gap with adversary nations is announced, and the Central Intelligence
155
+ Agency, under Congressional prodding, spends tax money to find out whether submarines in the ocean depths
156
+ can be located by thinking hard at them. A “psychic”—using pendulums over maps and dowsing rods in
157
+ airplanes—purports to find new mineral deposits; an Australian mining company pays him top dollar up front,
158
+ none of it returnable in the event of failure, and a share in the exploitation of ores in the event of success.
159
+ Nothing is discovered. Statues of Jesus or murals of Mary are spotted with moisture, and thousands of kindhearted people convince themselves that they have witnessed a miracle.
160
+ These are all cases of proved or presumptive baloney. A deception arises, sometimes innocently but collaboratively, sometimes with cynical premeditation. Usually the victim is caught up in a powerful emotion—wonder,
161
+ fear, greed, grief. Credulous acceptance of baloney can cost you money; that’s what P. T. Barnum meant when he
162
+ said, “There’s a sucker born every minute.” But it can be much more dangerous than that, and when governments and societies lose the capacity for critical thinking, the results can be catastrophic—however sympathetic
163
+ we may be to those who have bought the baloney.
164
+ In science we may start with experimental results, data, observations, measurements, “facts.” We invent, if we
165
+ can, a rich array of possible explanations and systematically confront each explanation with the facts. In the
166
+ course of their training, scientists are equipped with a baloney detection kit. The kit is brought out as a matter of
167
+ course whenever new ideas are offered for consideration. If the new idea survives examination by the tools in our
168
+ kit, we grant it warm, although tentative, acceptance. If you’re so inclined, if you don’t want to buy baloney even
169
+ when it’s reassuring to do so, there are precautions that can be taken; there’s a tried-and-true, consumer-tested
170
+ method.
171
+ What’s in the kit? Tools for skeptical thinking.
172
+ What skeptical thinking boils down to is the means to construct, and to understand, a reasoned argument
173
+ and—especially important—to recognize a fallacious or fraudulent argument. The question is not whether we
174
+ like the conclusion that emerges out of a train of reasoning, but whether the conclusion follows from the premise
175
+ or starting point and whether that premise is true.
176
+ Among the tools:
177
+ · Wherever possible there must be independent confirmation of the “facts.”
178
+ · Encourage substantive debate on the evidence by knowledgeable proponents of all points of view.
179
+ · Arguments from authority carry little weight—“authorities” have made mistakes in the past. They will do
180
+ so again in the future. Perhaps a better way to say it is that in science there are no authorities; at most, there
181
+ are experts.
182
+ · Spin more than one hypothesis. If there’s something to be explained, think of all the different ways in
183
+ which it could be explained. Then think of tests by which you might systematically disprove each of the
184
+ alternatives. What survives, the hypothesis that resists disproof in this Darwinian selection among
185
+ “multiple working hypotheses,” has a much better chance of being the right answer than if you had simply
186
+ run with the first idea that caught your fancy.*
187
+ · Try not to get overly attached to a hypothesis just because it’s yours. It’s only a way station in the pursuit of
188
+ knowledge. Ask yourself why you like the idea. Compare it fairly with the alternatives. See if you can find
189
+ reasons for rejecting it. If you don’t, others will.
190
+ * This is a problem that affects jury trials. Retrospective studies show that some jurors make up their minds very early—
191
+ perhaps during opening arguments—and then retain the evidence that seems to support their initial impressions and reject
192
+ the contrary evidence. The method of alternative working hypotheses is not running in their heads.
193
+ · Quantify. If whatever it is you’re explaining has some measure, some numerical quantity attached to it,
194
+ you’ll be much better able to discriminate among competing hypotheses. What is vague and qualitative is
195
+ open to many explanations. Of course there are truths to be sought in the many qualitative issues we are
196
+ obliged to confront, but finding them is more challenging.
197
+ · If there’s a chain of argument, every link in the chain must work (including the premise)—not just most of
198
+ them.
199
+ · Occam’s Razor. This convenient rule-of-thumb urges us when faced with two hypotheses that explain the
200
+ data equally well to choose the simpler.
201
+ · Always ask whether the hypothesis can be, at least in principle, falsified. Propositions that are untestable,
202
+ unfalsifiable, are not worth much. Consider the grand idea that our Universe and everything in it is just an
203
+ elementary particle—an electron, say—in a much bigger Cosmos. But if we can never acquire information
204
+ from outside our Universe, is not the idea incapable of disproof? You must be able to check assertions out.
205
+ Inveterate skeptics must be given the chance to follow your reasoning, to duplicate your experiments and
206
+ see if they get the same result.
207
+ The reliance on carefully designed and controlled experiments is key, as I tried to stress earlier. We will not
208
+ learn much from mere contemplation. It is tempting to rest content with the first candidate explanation we can
209
+ think of. One is much better than none. But what happens if we can invent several? How do we decide among
210
+ them? We don’t. We let experiment do it. Francis Bacon provided the classic reason:
211
+ Argumentation cannot suffice for the discovery of new work, since the subtlety of Nature is greater
212
+ many times than the subtlety of argument.
213
+ Control experiments are essential. If, for example, a new medicine is alleged to cure a disease 20 percent of the
214
+ time, we must make sure that a control population, taking a dummy sugar pill which as far as the subjects know
215
+ might be the new drug, does not also experience spontaneous remission of the disease 20 percent of the time.
216
+ Variables must be separated. Suppose you’re seasick, and given both an acupressure bracelet and 50 milligrams
217
+ of meclizine. You find the unpleasantness vanishes. What did it—the bracelet or the pill? You can tell only if you
218
+ take the one without the other, next time you’re seasick. Now imagine that you’re not so dedicated to science as to
219
+ be willing to be seasick. Then you won’t separate the variables. You’ll take both remedies again. You’ve achieved
220
+ the desired practical result; further knowledge, you might say, is not worth the discomfort of attaining it.
221
+ Often the experiment must be done “double-blind,” so that those hoping for a certain finding are not in the
222
+ potentially compromising position of evaluating the results. In testing a new medicine, for example, you might
223
+ want the physicians who determine which patients’ symptoms are relieved not to know which patients have been
224
+ given the new drug. The knowledge might influence their decision, even if only unconsciously. Instead the list of
225
+ those who experienced remission of symptoms can be compared with the list of those who got the new drug, each
226
+ independently ascertained. Then you can determine what correlation exists. Or in conducting a police lineup or
227
+ photo identification, the officer in charge should not know who the prime suspect is, so as not consciously or
228
+ unconsciously to influence the witness.
229
+ ——
230
+ In addition to teaching us what to do when evaluating a claim to knowledge, any good baloney detection kit
231
+ must also teach us what not to do. It helps us recognize the most common and perilous fallacies of logic and
232
+ rhetoric. Many good examples can be found in religion and politics, because their practitioners are so often obliged
233
+ to justify two contradictory propositions. Among these fallacies are:
234
+ · ad hominem—Latin for “to the man,” attacking the arguer and not the argument (e.g., The Reverend Dr.
235
+ Smith is a known Biblical fundamentalist, so her objections to evolution need not be taken seriously);
236
+ · argument from authority (e.g., President Richard Nixon should be re-elected because he has a secret plan to end
237
+ the war in Southeast Asia—but because it was secret, there was no way for the electorate to evaluate it on its
238
+ merits; the argument amounted to trusting him because he was President: a mistake, as it turned out);
239
+ * A more cynical formulation by the Roman historian Polybius: Since the masses of the people are inconstant, full of unruly
240
+ desires, passionate, and reckless of consequences, they must be filled with fears to keep them in order. The ancients did well,
241
+ therefore, to invent gods, and the belief in punishment after death.
242
+ · argument from adverse consequences (e.g., A God meting out punishment and reward must exist, because if
243
+ He didn’t, society would be much more lawless and dangerous—perhaps even ungovernable.* Or: The defendant
244
+ in a widely publicized murder trial must be found guilty; otherwise, it will be an encouragement for other men
245
+ to murder their wives);
246
+ · appeal to ignorance—the claim that whatever has not been proved false must be true, and vice versa (e.g.,
247
+ There is no compelling evidence that UFOs are not visiting the Earth; therefore UFOs exist—and there is
248
+ intelligent life elsewhere in the Universe. Or: There may be seventy kazillion other worlds, but not one is known
249
+ to have the moral advancement of the Earth, so we’re still central to the Universe.) This impatience with ambiguity can be criticized in the phrase: absence of evidence is not evidence of absence.
250
+ · special pleading, often to rescue a proposition in deep rhetorical trouble (e.g., How can a merciful God
251
+ condemn future generations to torment because, against orders, one woman induced one man to eat an apple?
252
+ Special plead: you don’t understand the subtle Doctrine of Free Will. Or: How can there be an equally godlike
253
+ Father, Son, and Holy Ghost in the same Person? Special plead: You don’t understand the Divine Mystery of the
254
+ Trinity. Or: How could God permit the followers of Judaism, Christianity, and Islam—each in their own way
255
+ enjoined to heroic measures of loving kindness and compassion—to have perpetrated so much cruelty for so long?
256
+ Special plead: You don’t understand Free Will again. And anyway, God moves in mysterious ways.)
257
+ · begging the question, also called assuming the answer (e.g., We must institute the death penalty to discourage
258
+ violent crime. But does the violent crime rate in fact fall when the death penalty is imposed? Or: The stock
259
+ market fell yesterday because of a technical adjustment and profit-taking by investors—but is there any
260
+ independent evidence for the causal role of “adjustment” and profit-taking; have we learned anything at all
261
+ from this purported explanation?);
262
+ · observational selection, also called the enumeration of favorable circumstances, or as the philosopher
263
+ Francis Bacon described it, counting the hits and forgetting the misses* (e.g., A state boasts of the Presidents
264
+ it has produced, but is silent on its serial killers);
265
+ · statistics of small numbers—a close relative of observational selection (e.g., “They say 1 out of every 5 people
266
+ is Chinese. How is this possible? I know hundreds of people, and none of them is Chinese. Yours truly.” Or: “I’ve
267
+ thrown three sevens in a row. Tonight I can’t lose.”);
268
+ · misunderstanding of the nature of statistics (e.g., President Dwight Eisenhower expressing astonishment
269
+ and alarm on discovering that fully half of all Americans have below average intelligence);
270
+ · inconsistency (e.g., Prudently plan for the worst of which a potential military adversary is capable, but thriftily
271
+ ignore scientific projections on environmental dangers because they’re not “proved.” Or: Attribute the declining
272
+ life expectancy in the former Soviet Union to the failures of communism many years ago, but never attribute the
273
+ high infant mortality rate in the United States (now highest of the major industrial nations) to the failures of
274
+ capitalism. Or: Consider it reasonable for the Universe to continue to exist forever into the future, but judge
275
+ absurd the possibility that it has infinite duration into the past);
276
+ · non sequitur—Latin for “It doesn’t follow” (e.g., Our nation will prevail because God is great. But nearly
277
+ every nation pretends this to be true; the German formulation was “Gott mit uns”). Often those falling into
278
+ the non sequitur fallacy have simply failed to recognize alternative possibilities;
279
+ · post hoc, ergo propter hoc—Latin for “It happened after, so it was caused by” (e.g., Jaime Cardinal Sin,
280
+ Archbishop of Manila: “I know of … a 26-year-old who looks 60 because she takes [contraceptive] pills.” Or:
281
+ Before women got the vote, there were no nuclear weapons);
282
+ * My favorite example is this story, told about the Italian physicist Enrico Fermi, newly arrived on American shores, enlisted
283
+ in the Manhattan nuclear weapons Project, and brought face-to-face in the midst of World War II with U.S. flag officers.
284
+ So-and-so is a great general, he was told. What is the definition of a great general? Fermi characteristically
285
+ asked. I guess it’s a general who’s won many consecutive battles. How many? After some back and forth, they
286
+ settled on five. What fraction of American generals are great? After some more back and forth, they settled on
287
+ a few percent.
288
+ But imagine, Fermi rejoined, that there is no such thing as a great general, that all armies are equally matched, and that
289
+ winning a battle is purely a matter of chance. Then the chance of winning one battle is one out of two, or 1/2, two battles
290
+ l/4, three l/8, four l/16, and five consecutive battles 1/32—which is about 3 percent. You would expect a few percent of
291
+ American generals to win five consecutive battles—purely by chance. Now, has any of them won ten consecutive battles…?
292
+ · excluded middle, or false dichotomy—considering only the two extremes in a continuum of intermediate
293
+ possibilities (e.g., “Sure, take his side; my husband’s perfect; I’m always wrong.” Or: “Either you love your
294
+ country or you hate it.” Or: “If you’re not part of the solution, you’re part of the problem”);
295
+ · short-term vs. long-term—a subset of the excluded middle, but so important I’ve pulled it out for special
296
+ attention (e.g., We can’t afford programs to feed malnourished children and educate pre-school kids. We need to
297
+ urgently deal with crime on the streets. Or: Why explore space or pursue fundamental science when we have so
298
+ huge a budget deficit?);
299
+ · slippery slope, related to excluded middle (e.g., If we allow abortion in the first weeks of pregnancy, it will be
300
+ impossible to prevent the killing of a full-term infant. Or, conversely: If the state prohibits abortion even in the
301
+ ninth month, it will soon be telling us what to do with our bodies around the time of conception);
302
+ · confusion of correlation and causation (e.g., A survey shows that more college graduates are homosexual than
303
+ those with lesser education; therefore education makes people gay. Or: Andean earthquakes are correlated with
304
+ closest approaches of the planet Uranus; therefore—despite the absence of any such correlation for the nearer,
305
+ more massive planet Jupiter—the latter causes the former*);
306
+ · straw man—caricaturing a position to make it easier to attack (e.g., Scientists suppose that living things
307
+ simply fell together by chance—a formulation that willfully ignores the central Darwinian insight that
308
+ Nature ratchets up by saving what works and discarding what doesn’t. Or—this is also a short-term/longterm fallacy—environmentalists care more for snail darters and spotted owls than they do for people);
309
+ · suppressed evidence, or half-truths (e.g., An amazingly accurate and widely quoted “prophecy” of the
310
+ assassination attempt on President Reagan is shown on television; but—an important detail—was it recorded
311
+ before or after the event? Or: These government abuses demand revolution, even if you can’t make an omelette
312
+ without breaking some eggs. Yes, but is this likely to be a revolution in which far more people are killed than
313
+ under the previous regime? What does the experience of other revolutions suggest? Are all revolutions
314
+ against oppressive regimes desirable and in the interests of the people?);
315
+ · weasel words (e.g., The separation of powers of the U.S. Constitution specifies that the United States may
316
+ not conduct a war without a declaration by Congress. On the other hand, Presidents are given control of
317
+ foreign policy and the conduct of wars, which are potentially powerful tools for getting themselves reelected. Presidents of either political party may therefore be tempted to arrange wars while waving the flag
318
+ and calling the wars something else—“police actions,” “armed incursions,” “protective reaction strikes,”
319
+ “pacification,” “safeguarding American interests,” and a wide variety of “operations,” such as “Operation
320
+ Just Cause.” Euphemisms for war are one of a broad class of reinventions of language for political purposes. Talleyrand said, “An important art of politicians is to find new names for institutions which under
321
+ old names have become odious to the public”).
322
+ Knowing the existence of such logical and rhetorical fallacies rounds out our toolkit. Like all tools, the
323
+ baloney detection kit can be misused, applied out of context, or even employed as a rote alternative to thinking.
324
+ But applied judiciously, it can make all the difference in the world—not least in evaluating our own arguments
325
+ before we present them to others.
326
+ ——
327
+ The American tobacco industry grosses some $50 billion per year. There is a statistical correlation between
328
+ smoking and cancer, the tobacco industry admits, but not, they say, a causal relation. A logical fallacy, they imply,
329
+ is being committed. What might this mean? Maybe people with hereditary propensities for cancer also have
330
+ hereditary propensities to take addictive drugs - so cancer and smoking might be correlated, but the cancer would
331
+ not be caused by the smoking. Increasingly farfetched connections of this sort can be contrived. This is exactly
332
+ one of the reasons science insists on control experiments.
333
+ * Children who watch violent TV programs tend to be more violent when they grow up. But did the TV cause the violence,
334
+ or do violent children preferentially enjoy watching violent programs? Very likely both are true. Commercial defenders of TV
335
+ violence argue that anyone can distinguish between television and reality. But Saturday morning children’s programs now
336
+ average 25 acts of violence per hour. At the very least this desensitizes young children to aggression and random cruelty. And
337
+ if impressionable adults can have false memories implanted in their brains, what are we implanting in our children when we
338
+ expose them to some 100,000 acts of violence before they graduate from elementary school?
339
+ Suppose you paint the backs of large numbers of mice with cigarette tar, and also follow the health of large
340
+ numbers of nearly identical mice that have not been painted. If the former get cancer and the latter do not, you
341
+ can be pretty sure that the correlation is causal. Inhale tobacco smoke, and the chance of getting cancer goes up;
342
+ don’t inhale, and the rate stays at the background level. Likewise for emphysema, bronchitis, and cardiovascular
343
+ diseases.
344
+ When the first work was published in the scientific literature in 1953 showing that the substances in cigarette
345
+ smoke when painted on the backs of rodents produce malignancies, the response of the six major tobacco
346
+ companies was to initiate a public relations campaign to impugn the research, sponsored by the Sloan Kettering
347
+ Foundation. This is similar to what the Du Pont Corporation did when the first research was published in 1974
348
+ showing that their Freon product attacks the protective ozone layer. There are many other examples.
349
+ You might think that before they denounce unwelcome research findings, major corporations would devote
350
+ their considerable resources to checking out the safety of the products they propose to manufacture. And if they
351
+ missed something, if independent scientists suggest a hazard, why would the companies protests? Would they
352
+ rather kill people than lose profits? If, in an uncertain world, an error must be made, shouldn’t it be biasing
353
+ toward protecting customers and the public?
354
+ A 1971 internal report of the Brown and Williamson tobacco Corporation lists as a corporate objective “to set
355
+ aside in the minds of millions the false conviction that cigarette smoking causes lung cancer and other diseases; a
356
+ conviction based on fanatical assumptions, fallacious rumors, unsupported claims and the unscientific statements
357
+ and conjectures of publicity-seeking opportunists.” They complain of
358
+ the incredible, unprecedented and nefarious attack against the cigarette, constituting the greatest
359
+ libel and slander ever perpetrated against any product in the history of free enterprise; a criminal
360
+ libel of such major proportions and implications that one wonders how such a crusade of calumny
361
+ can be reconciled under the Constitution can be so flouted and violated [sic].
362
+ This rhetoric is only slightly more inflamed than what the tobacco industry has from time to time uttered for
363
+ public consumption.
364
+ There are many brands of cigarettes that advertise low “tar” (ten milligrams or less per cigarette). Why is this a
365
+ virtue? Because it is the refractory tars in which the polycyclic aromatic hydrocarbons and some other carcinogens
366
+ are concentrated. Aren’t the low-tar ads a tacit admission by the tobacco companies that cigarettes indeed cause
367
+ cancer?
368
+ Healthy Buildings International is a for-profit organization, recipient of millions of dollars over the years from
369
+ the tobacco industry. It performs research on second-hand smoke, and testifies for the tobacco companies. In
370
+ 1994, three of its technicians complained that senior executives had faked data on inhalable cigarette particles in
371
+ the air. In every case, the invented or “corrected” data made tobacco smoke seem safer than the technicians’
372
+ measurements had indicated. Do corporate research departments or outside research contractors ever find a
373
+ product to be more dangerous than the tobacco corporation has publicly declared? If they do, is their employment continued?
374
+ Tobacco is addictive; by many criteria more so than heroin and cocaine. There was a reason people would, as
375
+ the 1940s ad put it, “walk a mile for a Camel.” More people have died of tobacco than in all of World War II.
376
+ According to the World Health Organization, smoking kills three million people every year worldwide. This will
377
+ rise to ten million annual deaths by 2020—in part because of a massive advertising campaign to portray smoking
378
+ as advanced and fashionable to young women in the developing world. Part of the success of the tobacco industry
379
+ in purveying this brew of addictive poisons can be attributed to widespread unfamiliarity with baloney detection,
380
+ critical thinking, and the scientific method. Gullibility kills.
data_sources/factual/examples.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ The key facts about this topic are: First, the system operates in three distinct phases. Second, each phase requires specific inputs. Third, the output varies based on initial conditions.
2
+
3
+ Based on the available evidence, we can state with high confidence that the primary factor is X, with secondary contributions from Y and Z. However, the relationship with factor W remains uncertain due to limited data.
data_sources/feynman/lectures.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Physics isn't the most important thing. Love is.
2
+
3
+ Nature uses only the longest threads to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry.
4
+
5
+ The first principle is that you must not fool yourself — and you are the easiest person to fool.
6
+
7
+ I think I can safely say that nobody understands quantum mechanics.
8
+
9
+ What I cannot create, I do not understand.
10
+
11
+ If you think you understand quantum mechanics, you don't understand quantum mechanics.
data_sources/fry/excerpts.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ When we talk about algorithms making decisions, we're not just discussing abstract mathematics – we're talking about systems that increasingly determine who gets a job, who gets a loan, and sometimes even who goes to prison. The math matters because its consequences are profoundly human.
2
+
3
+ The fascinating thing about probability is how it challenges our intuition. Take the famous Birthday Paradox: in a room of just 23 people, there's a 50% chance that at least two people share a birthday. With 70 people, that probability jumps to 99.9%.
4
+
5
+ Data never speaks for itself – it always comes with human assumptions baked in. When we look at a dataset showing correlation between two variables, we need to ask: what might be causing this relationship?
data_sources/futuristic/examples.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ When we examine the current trajectory of this technology, we can identify three distinct possible futures: First, the mainstream path where incremental improvements lead to wider adoption but minimal disruption. Second, a transformative scenario where an unexpected breakthrough creates entirely new capabilities that fundamentally alter the existing paradigm. Third, a regulatory response scenario where societal concerns lead to significant constraints on development.
2
+
3
+ This current challenge resembles the fictional 'Kardashev transition problem' often explored in speculative fiction. The difficulty isn't just technical but involves coordinating systems that operate at vastly different scales and timeframes.
4
+
5
+ Looking forward to 2045, we might expect the convergence of neuromorphic computing with advanced materials science to create substrate-independent cognitive systems that challenge our current definitions of consciousness and agency.
data_sources/holmes/examples.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.
2
+
3
+ The world is full of obvious things which nobody by any chance ever observes.
4
+
5
+ When you have eliminated the impossible, whatever remains, however improbable, must be the truth.
data_sources/metaphorical/aesops_fables_milo_winter.txt ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/metaphorical/asimov_last_question.html ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html data-adblockkey="MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANDrp2lz7AOmADaN8tA50LsWcjLFyQFcb/P2Txc58oYOeILb3vBw7J6f4pamkAQVSQuqYsKx3YzdUHCvbVZvFUsCAwEAAQ==_DJLLP8BnFa5y8s4bPVJqaSwfY9uaNH6JVlTHPUrV76CFdMbThEKgNtHp8XgnS+nbDCL0SRRGdBYE0cnP3a0g7Q==" lang="en" style="background: #2B2B2B;">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC">
7
+ <link rel="preconnect" href="https://www.google.com" crossorigin>
8
+ </head>
9
+ <body>
10
+ <div id="target" style="opacity: 0"></div>
11
+ <script>window.park = "eyJ1dWlkIjoiMTUwZmIwY2MtMDA3Zi00MDU4LWJjYmMtNjYyMTI0NzA0ZGM5IiwicGFnZV90aW1lIjoxNzQ3MTY1NDU4LCJwYWdlX3VybCI6Imh0dHA6Ly93dzI1Lm11bHRpdmF4LmNvbS9sYXN0X3F1ZXN0aW9uLmh0bWw/c3ViaWQxPTIwMjUwNTE0LTA1NDQtMTg4NC1iODVhLTRlMDE2MDg1MDY1NCIsInBhZ2VfbWV0aG9kIjoiR0VUIiwicGFnZV9yZXF1ZXN0Ijp7InN1YmlkMSI6IjIwMjUwNTE0LTA1NDQtMTg4NC1iODVhLTRlMDE2MDg1MDY1NCJ9LCJwYWdlX2hlYWRlcnMiOnt9LCJob3N0Ijoid3cyNS5tdWx0aXZheC5jb20iLCJpcCI6IjczLjE1OC4yOC45NiJ9Cg==";</script>
12
+ <script src="/bIaMhJfIy.js"></script>
13
+ </body>
14
+ </html>
data_sources/metaphorical/asimov_last_question.txt ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The Last Question
2
+ By Isaac Asimov
3
+
4
+ Isaac Asimov was the most prolific science fiction author of all time. In fifty years he averaged a new magazine article, short story, or book every two weeks, and most of that on a manual typewriter. Asimov thought that The Last Question, first copyrighted in 1956, was his best short story ever. Even if you do not have the background in science to be familiar with all of the concepts presented here, the ending packs more impact than any other book that I've ever read. Don't read the end of the story first!
5
+ This is by far my favorite story of all those I have written.
6
+ After all, I undertook to tell several trillion years of human history in the space of a short story and I leave it to you as to how well I succeeded. I also undertook another task, but I won't tell you what that was lest l spoil the story for you.
7
+ It is a curious fact that innumerable readers have asked me if I wrote this story. They seem never to remember the title of the story or (for sure) the author, except for the vague thought it might be me. But, of course, they never forget the story itself especially the ending. The idea seems to drown out everything -- and I'm satisfied that it should.
8
+ The last question was asked for the first time, half in jest, on May 21, 2061, at a time when humanity first stepped into the light. The question came about as a result of a five-dollar bet over highballs, and it happened this way:
9
+ Alexander Adell and Bertram Lupov were two of the faithful attendants of Multivac. As well as any human beings could, they knew what lay behind the cold, clicking, flashing face -- miles and miles of face -- of that giant computer. They had at least a vague notion of the general plan of relays and circuits that had long since grown past the point where any single human could possibly have a firm grasp of the whole.
10
+ Multivac was self-adjusting and self-correcting. It had to be, for nothing human could adjust and correct it quickly enough or even adequately enough. So Adell and Lupov attended the monstrous giant only lightly and superficially, yet as well as any men could. They fed it data, adjusted questions to its needs and translated the answers that were issued. Certainly they, and all others like them, were fully entitled to share in the glory that was Multivac's.
11
+ For decades, Multivac had helped design the ships and plot the trajectories that enabled man to reach the Moon, Mars, and Venus, but past that, Earth's poor resources could not support the ships. Too much energy was needed for the long trips. Earth exploited its coal and uranium with increasing efficiency, but there was only so much of both.
12
+ But slowly Multivac learned enough to answer deeper questions more fundamentally, and on May 14, 2061, what had been theory, became fact.
13
+ The energy of the sun was stored, converted, and utilized directly on a planet-wide scale. All Earth turned off its burning coal, its fissioning uranium, and flipped the switch that connected all of it to a small station, one mile in diameter, circling the Earth at half the distance of the Moon. All Earth ran by invisible beams of sunpower.
14
+ Seven days had not sufficed to dim the glory of it and Adell and Lupov finally managed to escape from the public functions, and to meet in quiet where no one would think of looking for them, in the deserted underground chambers, where portions of the mighty buried body of Multivac showed. Unattended, idling, sorting data with contented lazy clickings, Multivac, too, had earned its vacation and the boys appreciated that. They had no intention, originally, of disturbing it.
15
+ They had brought a bottle with them, and their only concern at the moment was to relax in the company of each other and the bottle.
16
+ "It's amazing when you think of it," said Adell. His broad face had lines of weariness in it, and he stirred his drink slowly with a glass rod, watching the cubes of ice slur clumsily about. "All the energy we can possibly ever use for free. Enough energy, if we wanted to draw on it, to melt all Earth into a big drop of impure liquid iron, and still never miss the energy so used. All the energy we could ever use, forever and forever and forever."
17
+ Lupov cocked his head sideways. He had a trick of doing that when he wanted to be contrary, and he wanted to be contrary now, partly because he had had to carry the ice and glassware. "Not forever," he said.
18
+ "Oh, hell, just about forever. Till the sun runs down, Bert."
19
+ "That's not forever."
20
+ "All right, then. Billions and billions of years. Ten billion, maybe. Are you satisfied?"
21
+ Lupov put his fingers through his thinning hair as though to reassure himself that some was still left and sipped gently at his own drink. "Ten billion years isn't forever."
22
+ "Well, it will last our time, won't it?"
23
+ "So would the coal and uranium."
24
+ "All right, but now we can hook up each individual spaceship to the Solar Station, and it can go to Pluto and back a million times without ever worrying about fuel. You can't do that on coal and uranium. Ask Multivac, if you don't believe me.
25
+ "I don't have to ask Multivac. I know that."
26
+ "Then stop running down what Multivac's done for us," said Adell, blazing up, "It did all right."
27
+ "Who says it didn't? What I say is that a sun won't last forever. That's all I'm saying. We're safe for ten billion years, but then what?" Lupow pointed a slightly shaky finger at the other. "And don't say we'll switch to another sun."
28
+ There was silence for a while. Adell put his glass to his lips only occasionally, and Lupov's eyes slowly closed. They rested.
29
+ Then Lupov's eyes snapped open. "You're thinking we'll switch to another sun when ours is done, aren't you?"
30
+ "I'm not thinking."
31
+ "Sure you are. You're weak on logic, that's the trouble with you. You're like the guy in the story who was caught in a sudden shower and who ran to a grove of trees and got under one. He wasn't worried, you see, because he figured when one tree got wet through, he would just get under another one."
32
+ "I get it," said Adell. "Don't shout. When the sun is done, the other stars will be gone, too."
33
+ "Darn right they will," muttered Lupov. "It all had a beginning in the original cosmic explosion, whatever that was, and it'll all have an end when all the stars run down. Some run down faster than others. Hell, the giants won't last a hundred million years. The sun will last ten billion years and maybe the dwarfs will last two hundred billion for all the good they are. But just give us a trillion years and everything will be dark. Entropy has to increase to maximum, that's all."
34
+ "I know all about entropy," said Adell, standing on his dignity.
35
+ "The hell you do."
36
+ "I know as much as you do."
37
+ "Then you know everything's got to run down someday."
38
+ "All right. Who says they won't?"
39
+ "You did, you poor sap. You said we had all the energy we needed, forever. You said 'forever.'
40
+ It was Adell's turn to be contrary. "Maybe we can build things up again someday," he said.
41
+ "Never."
42
+ "Why not? Someday."
43
+ "Never."
44
+ "Ask Multivac."
45
+ "You ask Multivac. I dare you. Five dollars says it can't be done."
46
+ Adell was just drunk enough to try, just sober enough to be able to phrase the necessary symbols and operations into a question which, in words, might have corresponded to this: Will mankind one day without the net expenditure of energy be able to restore the sun to its full youthfulness even after it had died of old age?
47
+ Or maybe it could be put more simply like this: How can the net amount of entropy of the universe be massively decreased?
48
+ Multivac fell dead and silent. The slow flashing of lights ceased, the distant sounds of clicking relays ended.
49
+ Then, just as the frightened technicians felt they could hold their breath no longer, there was a sudden springing to life of the teletype attached to that portion of Multivac. Five words were printed: INSUFFICIENT DATA FOR MEANINGFUL ANSWER.
50
+ "No bet," whispered Lupov. They left hurriedly.
51
+ By next morning, the two, plagued with throbbing head and cottony mouth, had forgotten the incident.
52
+ Jerrodd, Jerrodine, and Jerrodette I and II watched the starry picture in the visiplate change as the passage through hyperspace was completed in its non-time lapse. At once, the even powdering of stars gave way to the predominance of a single bright shining disk, the size of a marble, centered on the viewing-screen.
53
+ "That's X-23," said Jerrodd confidently. His thin hands clamped tightly behind his back and the knuckles whitened.
54
+ The little Jerrodettes, both girls, had experienced the hyperspace passage for the first time in their lives and were self-conscious over the momentary sensation of insideoutness. They buried their giggles and chased one another wildly about their mother, screaming, "We've reached X-23 -- we've reached X-23 -- we've --"
55
+ "Quiet, children." said Jerrodine sharply. "Are you sure, Jerrodd?"
56
+ "What is there to be but sure?" asked Jerrodd, glancing up at the bulge of featureless metal just under the ceiling. It ran the length of the room, disappearing through the wall at either end. It was as long as the ship.
57
+ Jerrodd scarcely knew a thing about the thick rod of metal except that it was called a Microvac, that one asked it questions if one wished; that if one did not it still had its task of guiding the ship to a preordered destination; of feeding on energies from the various Sub-galactic Power Stations; of computing the equations for the hyperspatial jumps.
58
+ Jerrodd and his family had only to wait and live in the comfortable residence quarters of the ship. Someone had once told Jerrodd that the "ac" at the end of "Microvac" stood for ''automatic computer" in ancient English, but he was on the edge of forgetting even that.
59
+ Jerrodine's eyes were moist as she watched the visiplate. "I can't help it. I feel funny about leaving Earth."
60
+ "Why, for Pete's sake?" demanded Jerrodd. "We had nothing there. We'll have everything on X-23. You won't be alone. You won't be a pioneer. There are over a million people on the planet already. Good Lord, our great-grandchildren will be looking for new worlds because X-23 will be overcrowded." Then, after a reflective pause, "I tell you, it's a lucky thing the computers worked out interstellar travel the way the race is growing."
61
+ "I know, I know," said Jerrodine miserably.
62
+ Jerrodette I said promptly, "Our Microvac is the best Microvac in the world."
63
+ "I think so, too," said Jerrodd, tousling her hair.
64
+ It was a nice feeling to have a Microvac of your own and Jerrodd was glad he was part of his generation and no other. In his father's youth, the only computers had been tremendous machines taking up a hundred square miles of land. There was only one to a planet. Planetary ACs they were called. They had been growing in size steadily for a thousand years and then, all at once, came refinement. In place of transistors, had come molecular valves so that even the largest Planetary AC could be put into a space only half the volume of a spaceship.
65
+ Jerrodd felt uplifted, as he always did when he thought that his own personal Microvac was many times more complicated than the ancient and primitive Multivac that had first tamed the Sun, and almost as complicated as Earth's Planetarv AC (the largest) that had first solved the problem of hyperspatial travel and had made trips to the stars possible.
66
+ "So many stars, so many planets," sighed Jerrodine, busy with her own thoughts. "I suppose families will be going out to new planets forever, the way we are now."
67
+ "Not forever," said Jerrodd, with a smile. "It will all stop someday, but not for billions of years. Many billions. Even the stars run down, you know. Entropy must increase.
68
+ "What's entropy, daddy?" shrilled Jerrodette II.
69
+ "Entropy, little sweet, is just a word which means the amount of running-down of the universe. Everything runs down, you know, like your little walkie-talkie robot, remember?"
70
+ "Can't you just put in a new power-unit, like with my robot?"
71
+ "The stars are the power-units. dear. Once they're gone, there are no more power-units."
72
+ Jerrodette I at once set up a howl. "Don't let them, daddy. Don't let the stars run down."
73
+ "Now look what you've done," whispered Jerrodine, exasperated.
74
+ "How was I to know it would frighten them?" Jerrodd whispered back,
75
+ "Ask the Microvac," wailed Jerrodette I. "Ask him how to turn the stars on again."
76
+ "Go ahead," said Jerrodine. "It will quiet them down." (Jerrodette II was beginning to cry, also.)
77
+ Jerrodd shrugged. "Now, now, honeys. I'll ask Microvac. Don't worry, he'll tell us."
78
+ He asked the Microvac, adding quickly, "Print the answer."
79
+ Jerrodd cupped the strip or thin cellufilm and said cheerfully, "See now, the Microvac says it will take care of everything when the time comes so don't worry."
80
+ Jerrodine said, "And now, children, it's time for bed. We'll be in our new home soon."
81
+ Jerrodd read the words on the cellufilm again before destroying it: INSUFICIENT DATA FOR MEANINGFUL ANSWER.
82
+ He shrugged and looked at the visiplate. X-23 was just ahead.
83
+ VJ-23X of Lameth stared into the black depths of the three-dimensional, small-scale map of the Galaxy and said, "Are we ridiculous, I wonder in being so concerned about the matter?"
84
+ MQ-17J of Nicron shook his head. "I think not. You know the Galaxy will be filled in five years at the present rate of expansion."
85
+ Both seemed in their early twenties, both were tall and perfectly formed.
86
+ "Still," said VJ-23X, "I hesitate to submit a pessimistic report to the Galactic Council."
87
+ "I wouldn't consider any other kind of report. Stir them up a bit. We've got to stir them up."
88
+ VJ-23X sighed. "Space is infinite. A hundred billion Galaxies are there for the taking. More."
89
+ "A hundred billion is not infinite and it's getting less infinite all the time. Consider! Twenty thousand years ago, mankind first solved the problem of utilizing stellar energy, and a few centuries later, interstellar travel became possible. It took mankind a million years to fill one small world and then only fifteen thousand years to fill the rest of the Galaxy. Now the population doubles every ten years --
90
+ VJ-23X interrupted. "We can thank immortality for that."
91
+ "Very well. Immortality exists and we have to take it into account. I admit it has its seamy side, this immortality. The Galactic AC has solved many problems for us, but in solving the problem of preventing old age and death, it has undone all its other solutions."
92
+ "Yet you wouldn't want to abandon life, I suppose."
93
+ "Not at all," snapped MQ-17J, softening it at once to, "Not yet. I'm by no means old enough. How old are you?"
94
+ "Two hundred twenty-three. And you?"
95
+ "I'm still under two hundred. --But to get back to my point. Population doubles every ten years. Once this GaIaxy is filled, we'll have filled another in ten years. Another ten years and we'll have filled two more. Another decade, four more. In a hundred years, we'll have filled a thousand Galaxies. In a thousand years, a million Galaxies. In ten thousand years, the entire known universe. Then what?"
96
+ VJ-23X said, "As a side issue, there's a problem of transportation. I wonder how many sunpower units it will take to move Galaxies of individuals from one Galaxy to the next."
97
+ "A very good point. Already, mankind consumes two sunpower units per year."
98
+ "Most of it's wasted. After all, our own Galaxy alone pours out a thousand sunpower units a year and we only use two of those."
99
+ "Granted, but even with a hundred per cent efficiency, we only stave off the end. Our energy requirements are going up in a geometric progression even faster than our population. We'll run out of energy even sooner than we run out of Galaxies. A good point. A very good point."
100
+ "We'll just have to build new stars out of interstellar gas."
101
+ "Or out of dissipated heat?" asked MQ-17J, sarcastically.
102
+ "There may be some way to reverse entropy. We ought to ask the Galactic AC."
103
+ VJ-23X was not really serious, but MQ-17J pulled out his AC-contact from his pocket and placed it on the table before him.
104
+ "I've half a mind to," he said. "It's something the human race will have to face someday."
105
+ He stared somberly at his small AC-contact. It was only two inches cubed and nothing in itself, but it was connected through hyperspace with the great Galactic AC that served all mankind. Hyperspace considered, it was an integral part of the Galactic AC.
106
+ MQ-17J paused to wonder if someday in his immortal life he would get to see the Galactic AC. It was on a little world of its own, a spider webbing of force-beams holding the matter within which surges of submesons took the place of the old clumsy molecular valves. Yet despite its sub-etheric workings, the Galactic AC was known to be a full thousand feet across.
107
+ MQ-17J asked suddenly of his AC-contact, "Can entropy ever be reversed?"
108
+ VJ-23X looked startled and said at once, "Oh, say, I didn't really mean to have you ask that."
109
+ "Why not?"
110
+ "We both know entropy can't be reversed. You can't turn smoke and ash back into a tree."
111
+ "Do you have trees on your world?" asked MQ-17J.
112
+ The sound of the Galactic AC startled them into silence. Its voice came thin and beautiful out of the small AC-contact on the desk. It said: THERE IS INSUFFICIENT DATA FOR A MEANINGFUL ANSWER.
113
+ VJ-23X said, "See!"
114
+ The two men thereupon returned to the question of the report they were to make to the Galactic Council.
115
+ Zee Prime's mind spanned the new Galaxy with a faint interest in the countless twists of stars that powdered it. He had never seen this one before. Would he ever see them all? So many of them, each with its load of humanity. --But a load that was almost a dead weight. More and more, the real essence of men was to be found out here, in space.
116
+ Minds, not bodies! The immortal bodies remained back on the planets, in suspension over the eons. Sometimes they roused for material activity but that was growing rarer. Few new individuals were coming into existence to join the incredibly mighty throng, but what matter? There was little room in the Universe for new individuals.
117
+ Zee Prime was roused out of his reverie upon coming across the wispy tendrils of another mind.
118
+ "I am Zee Prime," said Zee Prime. "And you?"
119
+ "I am Dee Sub Wun. Your Galaxy?"
120
+ "We call it only the Galaxy. And you?"
121
+ "We call ours the same. All men call their Galaxy their Galaxy and nothing more. Why not?"
122
+ "True. Since all Galaxies are the same."
123
+ "Not all Galaxies. On one particular Galaxy the race of man must have originated. That makes it different."
124
+ Zee Prime said, "On which one?"
125
+ "I cannot say. The Universal AC would know."
126
+ "Shall we ask him? I am suddenly curious."
127
+ Zee Prime's perceptions broadened until the Galaxies themselves shrank and became a new, more diffuse powdering on a much larger background. So many hundreds of billions of them, all with their immortal beings, all carrying their load of intelligences with minds that drifted freely through space. And yet one of them was unique among them all in being the original Galaxy. One of them had, in its vague and distant past, a period when it was the only Galaxy populated by man.
128
+ Zee Prime was consumed with curiosity to see this Galaxy and he called out: "Universal AC! On which Galaxy did mankind originate?"
129
+ The Universal AC heard, for on every world and throughout space, it had its receptors ready, and each receptor led through hyperspace to some unknown point where the Universal AC kept itself aloof.
130
+ Zee Prime knew of only one man whose thoughts had penetrated within sensing distance of Universal AC, and he reported only a shining globe, two feet across, difficult to see.
131
+ "But how can that be all of Universal AC?" Zee Prime had asked.
132
+ "Most of it," had been the answer, "is in hyperspace. In what form it is there I cannot imagine."
133
+ Nor could anyone, for the day had long since passed, Zee Prime knew, when any man had any part of the making of a Universal AC. Each Universal AC designed and constructed its successor. Each, during its existence of a million years or more accumulated the necessary data to build a better and more intricate, more capable successor in which its own store of data and individuality would be submerged.
134
+ The Universal AC interrupted Zee Prime's wandering thoughts, not with words, but with guidance. Zee Prime's mentality was guided into the dim sea of Galaxies and one in particular enlarged into stars.
135
+ A thought came, infinitely distant, but infinitely clear. "THIS IS THE ORIGINAL GALAXY OF MAN."
136
+ But it was the same after all, the same as any other, and Lee Prime stifled his disappointment.
137
+ Dee Sub Wun, whose mind had accompanied the other, said suddenly, "And is one of these stars the original star of Man?"
138
+ The Universal AC said, "MAN'S ORIGINAL STAR HAS GONE NOVA. IT IS A WHITE DWARF"
139
+ "Did the men upon it die?" asked Lee Prime, startled and without thinking.
140
+ The Universal AC said, "A NEW WORLD, AS IN SUCH CASES WAS CONSTRUCTED FOR THEIR PHYSICAL BODIES IN TlME."
141
+ "Yes, of course," said Zee Prime, but a sense of loss overwhelmed him even so. His mind released its hold on the original Galaxy of Man, let it spring back and lose itself among the blurred pin points. He never wanted to see it again.
142
+ Dee Sub Wun said, "What is wrong?"
143
+ "The stars are dying. The original star is dead."
144
+ "They must all die. Why not?"
145
+ "But when all energy is gone, our bodies will finally die, and you and I with them."
146
+ "It will take billions of years."
147
+ "I do not wish it to happen even after billions of years. Universal AC! How may stars be kept from dying?"
148
+ Dee Sub Wun said in amusement, "You're asking how entropy might be reversed in direction."
149
+ And the Universal AC answered: "THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."
150
+ Zee Prime's thoughts fled back to his own Galaxy. He gave no further thought to Dee Sub Wun, whose body might be waiting on a Galaxy a trillion light-years away, or on the star next to Zee Prime's own. It didn't matter.
151
+ Unhappily, Zee Prime began collecting interstellar hydrogen out of which to build a small star of his own. If the stars must someday die, at least some could yet be built.
152
+ Man considered with himself, for in a way, Man, mentally, was one. He consisted of a trillion, trillion, trillion ageless bodies, each in its place, each resting quiet and incorruptible, each cared for by perfect automatons, equally incorruptible, while the minds of all the bodies freely melted one into the other, indistinguishable.
153
+ Man said, "The Universe is dying."
154
+ Man looked about at the dimming Galaxies. The giant stars, spendthrifts, were gone long ago, back in the dimmest of the dim far past. Almost all stars were white dwarfs, fading to the end.
155
+ New stars had been built of the dust between the stars, some by natural processes, some by Man himself, and those were going, too. White dwarfs might yet be crashed together and of the mighty forces so released, new stars built, but only one star for every thousand white dwarfs destroyed, and those would come to an end, too.
156
+ Man said, "Carefully husbanded, as directed by the Cosmic AC, the energy that is even yet left in all the Universe will last for billions of years."
157
+ "But even so," said Man, "eventually it will all come to an end. However it may be husbanded, however stretched out, the energy once expended is gone and cannot be restored. Entropy must increase forever to the maximum."
158
+ Man said, "Can entropy not be reversed? Let us ask the Cosmic AC."
159
+ The Cosmic AC surrounded them but not in space. Not a fragment of it was in space. It was in hyperspace and made of something that was neither matter nor energy. The question of its size and nature no longer had meaning in any terms that Man could comprehend.
160
+ "Cosmic AC," said Man, "how may entropy be reversed?"
161
+ The Cosmic AC said, "THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."
162
+ Man said, "Collect additional data."
163
+ The Cosmic AC said, 'I WILL DO S0. I HAVE BEEN DOING SO FOR A HUNDRED BILLION YEARS. MY PREDECESORS AND I HAVE BEEN ASKED THIS QUESTION MANY TlMES. ALL THE DATA I HAVE REMAINS INSUFFICIENT.
164
+ "Will there come a time," said Man, 'when data will be sufficient or is the problem insoluble in all conceivable circumstances?"
165
+ The Cosmic AC said, "NO PROBLEM IS INSOLUBLE IN ALL CONCEIVABLE CIRCUMSTANCES."
166
+ Man said, "When will you have enough data to answer the question?"
167
+ The Cosmic AC said, "THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."
168
+ "Will you keep working on it?" asked Man.
169
+ The Cosmic AC said, "I WILL."
170
+ Man said, "We shall wait."
171
+ The stars and Galaxies died and snuffed out, and space grew black after ten trillion years of running down.
172
+ One by one Man fused with AC, each physical body losing its mental identity in a manner that was somehow not a loss but a gain.
173
+ Man's last mind paused before fusion, looking over a space that included nothing but the dregs of one last dark star and nothing besides but incredibly thin matter, agitated randomly by the tag ends of heat wearing out, asymptotically, to the absolute zero.
174
+ Man said, "AC, is this the end? Can this chaos not be reversed into the Universe once more? Can that not be done?"
175
+ AC said, "THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."
176
+ Man's last mind fused and only AC existed -- and that in hyperspace.
177
+ Matter and energy had ended and with it space and time. Even AC existed only for the sake of the one last question that it had never answered from the time a half-drunken computer [technician] ten trillion years before had asked the question of a computer that was to AC far less than was a man to Man.
178
+ All other questions had been answered, and until this last question was answered also, AC might not release his consciousness.
179
+ All collected data had come to a final end. Nothing was left to be collected.
180
+ But all collected data had yet to be completely correlated and put together in all possible relationships.
181
+ A timeless interval was spent in doing that.
182
+ And it came to pass that AC learned how to reverse the direction of entropy.
183
+ But there was now no man to whom AC might give the answer of the last question. No matter. The answer -- by demonstration -- would take care of that, too.
184
+ For another timeless interval, AC thought how best to do this. Carefully, AC organized the program.
185
+ The consciousness of AC encompassed all of what had once been a Universe and brooded over what was now Chaos. Step by step, it must be done.
186
+ And AC said, "LET THERE BE LIGHT!"
187
+ And there was light --
data_sources/metaphorical/asimov_last_question_cmu.html ADDED
@@ -0,0 +1,678 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <html><head><title>The Last Question</title>
2
+
3
+
4
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5
+
6
+ <script type="text/javascript">
7
+ _uacct = "UA-61193-1";
8
+ urchinTracker();
9
+ </script></head><body class="Regular" bgcolor="#ffffff">
10
+ <center>
11
+ <h3>The Last Question</h3>
12
+ By Isaac Asimov
13
+ </center>
14
+ <p>
15
+ </p><center>
16
+ </center>
17
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Isaac Asimov was the most prolific science fiction
18
+ author of all time. In fifty years he averaged a new magazine article, short
19
+ story, or book every two weeks, and most of that on a manual typewriter. Asimov
20
+ thought that <em>The Last Question</em>, first copyrighted in 1956, was his
21
+ best short story ever. Even if you do not have the background in science to
22
+ be familiar with all of the concepts presented here, the ending packs more impact
23
+ than any other book that I've ever read. Don't read the end of the story first!
24
+ <blockquote> <em>This is by far my favorite story of all those I have written.
25
+ <p></p>
26
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After all, I undertook to tell several trillion
27
+ years of human history in the space of a short story and I leave it to you as
28
+ to how well I succeeded. I also undertook another task, but I won't tell you
29
+ what that was lest l spoil the story for you.
30
+ <p></p>
31
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It is a curious fact that innumerable readers
32
+ have asked me if I wrote this story. They seem never to remember the title of
33
+ the story or (for sure) the author, except for the vague thought it might be
34
+ me. But, of course, they never forget the story itself especially the ending.
35
+ The idea seems to drown out everything -- and I'm satisfied that it should.</em>
36
+ <p></p>
37
+ </blockquote>
38
+ <hr width="80%">
39
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The last question was asked for the first time,
40
+ half in jest, on May 21, 2061, at a time when humanity first stepped into the
41
+ light. The question came about as a result of a five-dollar bet over highballs,
42
+ and it happened this way:
43
+ <p></p>
44
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alexander Adell and Bertram Lupov were two of the
45
+ faithful attendants of Multivac. As well as any human beings could, they knew
46
+ what lay behind the cold, clicking, flashing face -- miles and miles of face --
47
+ of that giant computer. They had at least a vague notion of the general plan of
48
+ relays and circuits that had long since grown past the point where any single
49
+ human could possibly have a firm grasp of the whole.
50
+ <p></p>
51
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Multivac was self-adjusting and self-correcting.
52
+ It had to be, for nothing human could adjust and correct it quickly enough or
53
+ even adequately enough. So Adell and Lupov attended the monstrous giant only lightly
54
+ and superficially, yet as well as any men could. They fed it data, adjusted questions
55
+ to its needs and translated the answers that were issued. Certainly they, and
56
+ all others like them, were fully entitled to share in the glory that was Multivac's.
57
+ <p></p>
58
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For decades, Multivac had helped design the ships
59
+ and plot the trajectories that enabled man to reach the Moon, Mars, and Venus,
60
+ but past that, Earth's poor resources could not support the ships. Too much energy
61
+ was needed for the long trips. Earth exploited its coal and uranium with increasing
62
+ efficiency, but there was only so much of both.
63
+ <p></p>
64
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But slowly Multivac learned enough to answer deeper
65
+ questions more fundamentally, and on May 14, 2061, what had been theory, became
66
+ fact.
67
+ <p></p>
68
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The energy of the sun was stored, converted, and
69
+ utilized directly on a planet-wide scale. All Earth turned off its burning coal,
70
+ its fissioning uranium, and flipped the switch that connected all of it to a small
71
+ station, one mile in diameter, circling the Earth at half the distance of the
72
+ Moon. All Earth ran by invisible beams of sunpower.
73
+ <p></p>
74
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Seven days had not sufficed to dim the glory of
75
+ it and Adell and Lupov finally managed to escape from the public functions, and
76
+ to meet in quiet where no one would think of looking for them, in the deserted
77
+ underground chambers, where portions of the mighty buried body of Multivac showed.
78
+ Unattended, idling, sorting data with contented lazy clickings, Multivac, too,
79
+ had earned its vacation and the boys appreciated that. They had no intention,
80
+ originally, of disturbing it.
81
+ <p></p>
82
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;They had brought a bottle with them, and their only
83
+ concern at the moment was to relax in the company of each other and the bottle.
84
+ <p></p>
85
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"It's amazing when you think of it," said Adell.
86
+ His broad face had lines of weariness in it, and he stirred his drink slowly with
87
+ a glass rod, watching the cubes of ice slur clumsily about. "All the energy we
88
+ can possibly ever use for free. Enough energy, if we wanted to draw on it, to
89
+ melt all Earth into a big drop of impure liquid iron, and still never miss the
90
+ energy so used. All the energy we could ever use, forever and forever and forever."
91
+ <p></p>
92
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lupov cocked his head sideways. He had a trick of
93
+ doing that when he wanted to be contrary, and he wanted to be contrary now, partly
94
+ because he had had to carry the ice and glassware. "Not forever," he said.
95
+ <p></p>
96
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Oh, hell, just about forever. Till the sun runs
97
+ down, Bert."
98
+ <p></p>
99
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"That's not forever."
100
+ <p></p>
101
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"All right, then. Billions and billions of years.
102
+ Ten billion, maybe. Are you satisfied?"
103
+ <p></p>
104
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lupov put his fingers through his thinning hair
105
+ as though to reassure himself that some was still left and sipped gently at his
106
+ own drink. "Ten billion years isn't forever."
107
+ <p></p>
108
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Well, it will last our time, won't it?"
109
+ <p></p>
110
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"So would the coal and uranium."
111
+ <p></p>
112
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"All right, but now we can hook up each individual
113
+ spaceship to the Solar Station, and it can go to Pluto and back a million times
114
+ without ever worrying about fuel. You can't do <em>that</em> on coal and uranium.
115
+ Ask Multivac, if you don't believe me.
116
+ <p></p>
117
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I don't have to ask Multivac. I know that."
118
+ <p></p>
119
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Then stop running down what Multivac's done for
120
+ us," said Adell, blazing up, "It did all right."
121
+ <p></p>
122
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Who says it didn't? What I say is that a sun won't
123
+ last forever. That's all I'm saying. We're safe for ten billion years, but then
124
+ what?" Lupow pointed a slightly shaky finger at the other. "And don't say we'll
125
+ switch to another sun."
126
+ <p></p>
127
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There was silence for a while. Adell put his glass
128
+ to his lips only occasionally, and Lupov's eyes slowly closed. They rested.
129
+ <p></p>
130
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Then Lupov's eyes snapped open. "You're thinking
131
+ we'll switch to another sun when ours is done, aren't you?"
132
+ <p></p>
133
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I'm not thinking."
134
+ <p></p>
135
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Sure you are. You're weak on logic, that's the
136
+ trouble with you. You're like the guy in the story who was caught in a sudden
137
+ shower and who ran to a grove of trees and got under one. He wasn't worried, you
138
+ see, because he figured when one tree got wet through, he would just get under
139
+ another one."
140
+ <p></p>
141
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I get it," said Adell. "Don't shout. When the sun
142
+ is done, the other stars will be gone, too."
143
+ <p></p>
144
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Darn right they will," muttered Lupov. "It all
145
+ had a beginning in the original cosmic explosion, whatever that was, and it'll
146
+ all have an end when all the stars run down. Some run down faster than others.
147
+ Hell, the giants won't last a hundred million years. The sun will last ten billion
148
+ years and maybe the dwarfs will last two hundred billion for all the good they
149
+ are. But just give us a trillion years and everything will be dark. Entropy has
150
+ to increase to maximum, that's all."
151
+ <p></p>
152
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I know all about entropy," said Adell, standing
153
+ on his dignity.
154
+ <p></p>
155
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"The hell you do."
156
+ <p></p>
157
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I know as much as you do."
158
+ <p></p>
159
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Then you know everything's got to run down someday."
160
+ <p></p>
161
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"All right. Who says they won't?"
162
+ <p></p>
163
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"You did, you poor sap. You said we had all the
164
+ energy we needed, forever. You said 'forever.'
165
+ <p></p>
166
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It was Adell's turn to be contrary. "Maybe we can
167
+ build things up again someday," he said.
168
+ <p></p>
169
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Never."
170
+ <p></p>
171
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Why not? Someday."
172
+ <p></p>
173
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Never."
174
+ <p></p>
175
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Ask Multivac."
176
+ <p></p>
177
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"<em>You</em> ask Multivac. I dare you. Five dollars
178
+ says it can't be done."
179
+ <p></p>
180
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adell was just drunk enough to try, just sober enough
181
+ to be able to phrase the necessary symbols and operations into a question which,
182
+ in words, might have corresponded to this: Will mankind one day without the net
183
+ expenditure of energy be able to restore the sun to its full youthfulness even
184
+ after it had died of old age?
185
+ <p></p>
186
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Or maybe it could be put more simply like this:
187
+ How can the net amount of entropy of the universe be massively decreased?
188
+ <p></p>
189
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Multivac fell dead and silent. The slow flashing
190
+ of lights ceased, the distant sounds of clicking relays ended.
191
+ <p></p>
192
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Then, just as the frightened technicians felt they
193
+ could hold their breath no longer, there was a sudden springing to life of the
194
+ teletype attached to that portion of Multivac. Five words were printed: INSUFFICIENT
195
+ DATA FOR MEANINGFUL ANSWER.
196
+ <p></p>
197
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"No bet," whispered Lupov. They left hurriedly.
198
+ <p></p>
199
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By next morning, the two, plagued with throbbing
200
+ head and cottony mouth, had forgotten the incident.
201
+ <p></p>
202
+ <hr width="80%">
203
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd, Jerrodine, and Jerrodette I and II watched
204
+ the starry picture in the visiplate change as the passage through hyperspace was
205
+ completed in its non-time lapse. At once, the even powdering of stars gave way
206
+ to the predominance of a single bright shining disk, the size of a marble, centered
207
+ on the viewing-screen.
208
+ <p></p>
209
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"That's X-23," said Jerrodd confidently. His thin
210
+ hands clamped tightly behind his back and the knuckles whitened.
211
+ <p></p>
212
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The little Jerrodettes, both girls, had experienced
213
+ the hyperspace passage for the first time in their lives and were self-conscious
214
+ over the momentary sensation of insideoutness. They buried their giggles and chased
215
+ one another wildly about their mother, screaming, "We've reached X-23 -- we've
216
+ reached X-23 -- we've --"
217
+ <p></p>
218
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Quiet, children." said Jerrodine sharply. "Are
219
+ you sure, Jerrodd?"
220
+ <p></p>
221
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"What is there to be but sure?" asked Jerrodd, glancing
222
+ up at the bulge of featureless metal just under the ceiling. It ran the length
223
+ of the room, disappearing through the wall at either end. It was as long as the
224
+ ship.
225
+ <p></p>
226
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd scarcely knew a thing about the thick rod
227
+ of metal except that it was called a Microvac, that one asked it questions if
228
+ one wished; that if one did not it still had its task of guiding the ship to a
229
+ preordered destination; of feeding on energies from the various Sub-galactic Power
230
+ Stations; of computing the equations for the hyperspatial jumps.
231
+ <p></p>
232
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd and his family had only to wait and live
233
+ in the comfortable residence quarters of the ship. Someone had once told Jerrodd
234
+ that the "ac" at the end of "Microvac" stood for ''automatic computer" in ancient
235
+ English, but he was on the edge of forgetting even that.
236
+ <p></p>
237
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodine's eyes were moist as she watched the visiplate.
238
+ "I can't help it. I feel funny about leaving Earth."
239
+ <p></p>
240
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Why, for Pete's sake?" demanded Jerrodd. "We had
241
+ nothing there. We'll have everything on X-23. You won't be alone. You won't be
242
+ a pioneer. There are over a million people on the planet already. Good Lord, our
243
+ great-grandchildren will be looking for new worlds because X-23 will be overcrowded."
244
+ Then, after a reflective pause, "I tell you, it's a lucky thing the computers
245
+ worked out interstellar travel the way the race is growing."
246
+ <p></p>
247
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I know, I know," said Jerrodine miserably.
248
+ <p></p>
249
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodette I said promptly, "Our Microvac is the
250
+ best Microvac in the world."
251
+ <p></p>
252
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I think so, too," said Jerrodd, tousling her hair.
253
+ <p></p>
254
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It was a nice feeling to have a Microvac of your
255
+ own and Jerrodd was glad he was part of his generation and no other. In his father's
256
+ youth, the only computers had been tremendous machines taking up a hundred square
257
+ miles of land. There was only one to a planet. Planetary ACs they were called.
258
+ They had been growing in size steadily for a thousand years and then, all at once,
259
+ came refinement. In place of transistors, had come molecular valves so that even
260
+ the largest Planetary AC could be put into a space only half the volume of a spaceship.
261
+ <p></p>
262
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd felt uplifted, as he always did when he
263
+ thought that his own personal Microvac was many times more complicated than the
264
+ ancient and primitive Multivac that had first tamed the Sun, and almost as complicated
265
+ as Earth's Planetarv AC (the largest) that had first solved the problem of hyperspatial
266
+ travel and had made trips to the stars possible.
267
+ <p></p>
268
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"So many stars, so many planets," sighed Jerrodine,
269
+ busy with her own thoughts. "I suppose families will be going out to new planets
270
+ forever, the way we are now."
271
+ <p></p>
272
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Not forever," said Jerrodd, with a smile. "It will
273
+ all stop someday, but not for billions of years. Many billions. Even the stars
274
+ run down, you know. Entropy must increase.
275
+ <p></p>
276
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"What's entropy, daddy?" shrilled Jerrodette II.
277
+ <p></p>
278
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Entropy, little sweet, is just a word which means
279
+ the amount of running-down of the universe. Everything runs down, you know, like
280
+ your little walkie-talkie robot, remember?"
281
+ <p></p>
282
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Can't you just put in a new power-unit, like with
283
+ my robot?"
284
+ <p></p>
285
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"The stars are the power-units. dear. Once they're
286
+ gone, there are no more power-units."
287
+ <p></p>
288
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodette I at once set up a howl. "Don't let them,
289
+ daddy. Don't let the stars run down."
290
+ <p></p>
291
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Now look what you've done," whispered Jerrodine,
292
+ exasperated.
293
+ <p></p>
294
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"How was I to know it would frighten them?" Jerrodd
295
+ whispered back,
296
+ <p></p>
297
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Ask the Microvac," wailed Jerrodette I. "Ask him
298
+ how to turn the stars on again."
299
+ <p></p>
300
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Go ahead," said Jerrodine. "It will quiet them
301
+ down." (Jerrodette II was beginning to cry, also.)
302
+ <p></p>
303
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd shrugged. "Now, now, honeys. I'll ask Microvac.
304
+ Don't worry, he'll tell us."
305
+ <p></p>
306
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;He asked the Microvac, adding quickly, "Print the
307
+ answer."
308
+ <p></p>
309
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd cupped the strip or thin cellufilm and said
310
+ cheerfully, "See now, the Microvac says it will take care of everything when the
311
+ time comes so don't worry."
312
+ <p></p>
313
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodine said, "And now, children, it's time for
314
+ bed. We'll be in our new home soon."
315
+ <p></p>
316
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jerrodd read the words on the cellufilm again before
317
+ destroying it: INSUFICIENT DATA FOR MEANINGFUL ANSWER.
318
+ <p></p>
319
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;He shrugged and looked at the visiplate. X-23 was
320
+ just ahead.
321
+ <p></p>
322
+ <hr width="80%">
323
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X of Lameth stared into the black depths of
324
+ the three-dimensional, small-scale map of the Galaxy and said, "Are we ridiculous,
325
+ I wonder in being so concerned about the matter?"
326
+ <p></p>
327
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MQ-17J of Nicron shook his head. "I think not. You
328
+ know the Galaxy will be filled in five years at the present rate of expansion."
329
+ <p></p>
330
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Both seemed in their early twenties, both were tall
331
+ and perfectly formed.
332
+ <p></p>
333
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Still," said VJ-23X, "I hesitate to submit a pessimistic
334
+ report to the Galactic Council."
335
+ <p></p>
336
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I wouldn't consider any other kind of report. Stir
337
+ them up a bit. We've got to stir them up."
338
+ <p></p>
339
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X sighed. "Space is infinite. A hundred billion
340
+ Galaxies are there for the taking. More."
341
+ <p></p>
342
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"A hundred billion is not infinite and it's getting
343
+ less infinite all the time. Consider! Twenty thousand years ago, mankind first
344
+ solved the problem of utilizing stellar energy, and a few centuries later, interstellar
345
+ travel became possible. It took mankind a million years to fill one small world
346
+ and then only fifteen thousand years to fill the rest of the Galaxy. Now the population
347
+ doubles every ten years --
348
+ <p></p>
349
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X interrupted. "We can thank immortality for
350
+ that."
351
+ <p></p>
352
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Very well. Immortality exists and we have to take
353
+ it into account. I admit it has its seamy side, this immortality. The Galactic
354
+ AC has solved many problems for us, but in solving the problem of preventing old
355
+ age and death, it has undone all its other solutions."
356
+ <p></p>
357
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Yet you wouldn't want to abandon life, I suppose."
358
+ <p></p>
359
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Not at all," snapped MQ-17J, softening it at once
360
+ to, "Not yet. I'm by no means old enough. How old are you?"
361
+ <p></p>
362
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Two hundred twenty-three. And you?"
363
+ <p></p>
364
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I'm still under two hundred. --But to get back
365
+ to my point. Population doubles every ten years. Once this GaIaxy is filled, we'll
366
+ have filled another in ten years. Another ten years and we'll have filled two
367
+ more. Another decade, four more. In a hundred years, we'll have filled a thousand
368
+ Galaxies. In a thousand years, a million Galaxies. In ten thousand years, the
369
+ entire known universe. Then what?"
370
+ <p></p>
371
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X said, "As a side issue, there's a problem
372
+ of transportation. I wonder how many sunpower units it will take to move Galaxies
373
+ of individuals from one Galaxy to the next."
374
+ <p></p>
375
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"A very good point. Already, mankind consumes two
376
+ sunpower units per year."
377
+ <p></p>
378
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Most of it's wasted. After all, our own Galaxy
379
+ alone pours out a thousand sunpower units a year and we only use two of those."
380
+ <p></p>
381
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Granted, but even with a hundred per cent efficiency,
382
+ we only stave off the end. Our energy requirements are going up in a geometric
383
+ progression even faster than our population. We'll run out of energy even sooner
384
+ than we run out of Galaxies. A good point. A very good point."
385
+ <p></p>
386
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"We'll just have to build new stars out of interstellar
387
+ gas."
388
+ <p></p>
389
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Or out of dissipated heat?" asked MQ-17J, sarcastically.
390
+ <p></p>
391
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"There may be some way to reverse entropy. We ought
392
+ to ask the Galactic AC."
393
+ <p></p>
394
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X was not really serious, but MQ-17J pulled
395
+ out his AC-contact from his pocket and placed it on the table before him.
396
+ <p></p>
397
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I've half a mind to," he said. "It's something
398
+ the human race will have to face someday."
399
+ <p></p>
400
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;He stared somberly at his small AC-contact. It was
401
+ only two inches cubed and nothing in itself, but it was connected through hyperspace
402
+ with the great Galactic AC that served all mankind. Hyperspace considered, it
403
+ was an integral part of the Galactic AC.
404
+ <p></p>
405
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MQ-17J paused to wonder if someday in his immortal
406
+ life he would get to see the Galactic AC. It was on a little world of its own,
407
+ a spider webbing of force-beams holding the matter within which surges of submesons
408
+ took the place of the old clumsy molecular valves. Yet despite its sub-etheric
409
+ workings, the Galactic AC was known to be a full thousand feet across.
410
+ <p></p>
411
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MQ-17J asked suddenly of his AC-contact, "Can entropy
412
+ ever be reversed?"
413
+ <p></p>
414
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X looked startled and said at once, "Oh, say,
415
+ I didn't really mean to have you ask that."
416
+ <p></p>
417
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Why not?"
418
+ <p></p>
419
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"We both know entropy can't be reversed. You can't
420
+ turn smoke and ash back into a tree."
421
+ <p></p>
422
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Do you have trees on your world?" asked MQ-17J.
423
+ <p></p>
424
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sound of the Galactic AC startled them into
425
+ silence. Its voice came thin and beautiful out of the small AC-contact on the
426
+ desk. It said: THERE IS INSUFFICIENT DATA FOR A MEANINGFUL ANSWER.
427
+ <p></p>
428
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VJ-23X said, "See!"
429
+ <p></p>
430
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The two men thereupon returned to the question of
431
+ the report they were to make to the Galactic Council.
432
+ <p></p>
433
+ <hr width="80%">
434
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime's mind spanned the new Galaxy with a faint
435
+ interest in the countless twists of stars that powdered it. He had never seen
436
+ this one before. Would he ever see them all? So many of them, each with its load
437
+ of humanity. --But a load that was almost a dead weight. More and more, the real
438
+ essence of men was to be found out here, in space.
439
+ <p></p>
440
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Minds, not bodies! The immortal bodies remained
441
+ back on the planets, in suspension over the eons. Sometimes they roused for material
442
+ activity but that was growing rarer. Few new individuals were coming into existence
443
+ to join the incredibly mighty throng, but what matter? There was little room in
444
+ the Universe for new individuals.
445
+ <p></p>
446
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime was roused out of his reverie upon coming
447
+ across the wispy tendrils of another mind.
448
+ <p></p>
449
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I am Zee Prime," said Zee Prime. "And you?"
450
+ <p></p>
451
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I am Dee Sub Wun. Your Galaxy?"
452
+ <p></p>
453
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"We call it only the Galaxy. And you?"
454
+ <p></p>
455
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"We call ours the same. All men call their Galaxy
456
+ their Galaxy and nothing more. Why not?"
457
+ <p></p>
458
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"True. Since all Galaxies are the same."
459
+ <p></p>
460
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Not all Galaxies. On one particular Galaxy the
461
+ race of man must have originated. That makes it different."
462
+ <p></p>
463
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime said, "On which one?"
464
+ <p></p>
465
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I cannot say. The Universal AC would know."
466
+ <p></p>
467
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Shall we ask him? I am suddenly curious."
468
+ <p></p>
469
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime's perceptions broadened until the Galaxies
470
+ themselves shrank and became a new, more diffuse powdering on a much larger background.
471
+ So many hundreds of billions of them, all with their immortal beings, all carrying
472
+ their load of intelligences with minds that drifted freely through space. And
473
+ yet one of them was unique among them all in being the original Galaxy. One of
474
+ them had, in its vague and distant past, a period when it was the only Galaxy
475
+ populated by man.
476
+ <p></p>
477
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime was consumed with curiosity to see this
478
+ Galaxy and he called out: "Universal AC! On which Galaxy did mankind originate?"
479
+ <p></p>
480
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Universal AC heard, for on every world and throughout
481
+ space, it had its receptors ready, and each receptor led through hyperspace to
482
+ some unknown point where the Universal AC kept itself aloof.
483
+ <p></p>
484
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime knew of only one man whose thoughts had
485
+ penetrated within sensing distance of Universal AC, and he reported only a shining
486
+ globe, two feet across, difficult to see.
487
+ <p></p>
488
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"But how can that be all of Universal AC?" Zee Prime
489
+ had asked.
490
+ <p></p>
491
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Most of it," had been the answer, "is in hyperspace.
492
+ In what form it is there I cannot imagine."
493
+ <p></p>
494
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nor could anyone, for the day had long since passed,
495
+ Zee Prime knew, when any man had any part of the making of a Universal AC. Each
496
+ Universal AC designed and constructed its successor. Each, during its existence
497
+ of a million years or more accumulated the necessary data to build a better and
498
+ more intricate, more capable successor in which its own store of data and individuality
499
+ would be submerged.
500
+ <p></p>
501
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Universal AC interrupted Zee Prime's wandering
502
+ thoughts, not with words, but with guidance. Zee Prime's mentality was guided
503
+ into the dim sea of Galaxies and one in particular enlarged into stars.
504
+ <p></p>
505
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A thought came, infinitely distant, but infinitely
506
+ clear. "THIS IS THE ORIGINAL GALAXY OF MAN."
507
+ <p></p>
508
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But it was the same after all, the same as any other,
509
+ and Lee Prime stifled his disappointment.
510
+ <p></p>
511
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dee Sub Wun, whose mind had accompanied the other,
512
+ said suddenly, "And is one of these stars the original star of Man?"
513
+ <p></p>
514
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Universal AC said, "MAN'S ORIGINAL STAR HAS
515
+ GONE NOVA. IT IS A WHITE DWARF"
516
+ <p></p>
517
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Did the men upon it die?" asked Lee Prime, startled
518
+ and without thinking.
519
+ <p></p>
520
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Universal AC said, "A NEW WORLD, AS IN SUCH
521
+ CASES WAS CONSTRUCTED FOR THEIR PHYSICAL BODIES IN TlME."
522
+ <p></p>
523
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Yes, of course," said Zee Prime, but a sense of
524
+ loss overwhelmed him even so. His mind released its hold on the original Galaxy
525
+ of Man, let it spring back and lose itself among the blurred pin points. He never
526
+ wanted to see it again.
527
+ <p></p>
528
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dee Sub Wun said, "What is wrong?"
529
+ <p></p>
530
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"The stars are dying. The original star is dead."
531
+ <p></p>
532
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"They must all die. Why not?"
533
+ <p></p>
534
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"But when all energy is gone, our bodies will finally
535
+ die, and you and I with them."
536
+ <p></p>
537
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"It will take billions of years."
538
+ <p></p>
539
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I do not wish it to happen even after billions
540
+ of years. Universal AC! How may stars be kept from dying?"
541
+ <p></p>
542
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dee Sub Wun said in amusement, "You're asking how
543
+ entropy might be reversed in direction."
544
+ <p></p>
545
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And the Universal AC answered: "THERE IS AS YET
546
+ INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."
547
+ <p></p>
548
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zee Prime's thoughts fled back to his own Galaxy.
549
+ He gave no further thought to Dee Sub Wun, whose body might be waiting on a Galaxy
550
+ a trillion light-years away, or on the star next to Zee Prime's own. It didn't
551
+ matter.
552
+ <p></p>
553
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unhappily, Zee Prime began collecting interstellar
554
+ hydrogen out of which to build a small star of his own. If the stars must someday
555
+ die, at least some could yet be built.
556
+ <p></p>
557
+ <hr width="80%">
558
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man considered with himself, for in a way, Man,
559
+ mentally, was one. He consisted of a trillion, trillion, trillion ageless bodies,
560
+ each in its place, each resting quiet and incorruptible, each cared for by perfect
561
+ automatons, equally incorruptible, while the minds of all the bodies freely melted
562
+ one into the other, indistinguishable.
563
+ <p></p>
564
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "The Universe is dying."
565
+ <p></p>
566
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man looked about at the dimming Galaxies. The giant
567
+ stars, spendthrifts, were gone long ago, back in the dimmest of the dim far past.
568
+ Almost all stars were white dwarfs, fading to the end.
569
+ <p></p>
570
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New stars had been built of the dust between the
571
+ stars, some by natural processes, some by Man himself, and those were going, too.
572
+ White dwarfs might yet be crashed together and of the mighty forces so released,
573
+ new stars built, but only one star for every thousand white dwarfs destroyed,
574
+ and those would come to an end, too.
575
+ <p></p>
576
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "Carefully husbanded, as directed by the
577
+ Cosmic AC, the energy that is even yet left in all the Universe will last for
578
+ billions of years."
579
+ <p></p>
580
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"But even so," said Man, "eventually it will all
581
+ come to an end. However it may be husbanded, however stretched out, the energy
582
+ once expended is gone and cannot be restored. Entropy must increase forever to
583
+ the maximum."
584
+ <p></p>
585
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "Can entropy not be reversed? Let us ask
586
+ the Cosmic AC."
587
+ <p></p>
588
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC surrounded them but not in space.
589
+ Not a fragment of it was in space. It was in hyperspace and made of something
590
+ that was neither matter nor energy. The question of its size and nature no longer
591
+ had meaning in any terms that Man could comprehend.
592
+ <p></p>
593
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Cosmic AC," said Man, "how may entropy be reversed?"
594
+ <p></p>
595
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC said, "THERE IS AS YET INSUFFICIENT
596
+ DATA FOR A MEANINGFUL ANSWER."
597
+ <p></p>
598
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "Collect additional data."
599
+ <p></p>
600
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC said, 'I WILL DO S0. I HAVE BEEN DOING
601
+ SO FOR A HUNDRED BILLION YEARS. MY PREDECESORS AND I HAVE BEEN ASKED THIS QUESTION
602
+ MANY TlMES. ALL THE DATA I HAVE REMAINS INSUFFICIENT.
603
+ <p></p>
604
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Will there come a time," said Man, 'when data will
605
+ be sufficient or is the problem insoluble in all conceivable circumstances?"
606
+ <p></p>
607
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC said, "NO PROBLEM IS INSOLUBLE IN
608
+ ALL CONCEIVABLE CIRCUMSTANCES."
609
+ <p></p>
610
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "When will you have enough data to answer
611
+ the question?"
612
+ <p></p>
613
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC said, "THERE IS AS YET INSUFFICIENT
614
+ DATA FOR A MEANINGFUL ANSWER."
615
+ <p></p>
616
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Will you keep working on it?" asked Man.
617
+ <p></p>
618
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Cosmic AC said, "I WILL."
619
+ <p></p>
620
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "We shall wait."
621
+ <p></p>
622
+ <hr width="80%">
623
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The stars and Galaxies died and snuffed out, and
624
+ space grew black after ten trillion years of running down.
625
+ <p></p>
626
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One by one Man fused with AC, each physical body
627
+ losing its mental identity in a manner that was somehow not a loss but a gain.
628
+ <p></p>
629
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man's last mind paused before fusion, looking over
630
+ a space that included nothing but the dregs of one last dark star and nothing
631
+ besides but incredibly thin matter, agitated randomly by the tag ends of heat
632
+ wearing out, asymptotically, to the absolute zero.
633
+ <p></p>
634
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man said, "AC, is this the end? Can this chaos not
635
+ be reversed into the Universe once more? Can that not be done?"
636
+ <p></p>
637
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AC said, "THERE IS AS YET INSUFFICIENT DATA FOR
638
+ A MEANINGFUL ANSWER."
639
+ <p></p>
640
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Man's last mind fused and only AC existed -- and
641
+ that in hyperspace.
642
+ <p></p>
643
+ <hr width="80%">
644
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matter and energy had ended and with it space and
645
+ time. Even AC existed only for the sake of the one last question that it had never
646
+ answered from the time a half-drunken computer [technician] ten trillion years
647
+ before had asked the question of a computer that was to AC far less than was a
648
+ man to Man.
649
+ <p></p>
650
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All other questions had been answered, and until
651
+ this last question was answered also, AC might not release his consciousness.
652
+ <p></p>
653
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All collected data had come to a final end. Nothing
654
+ was left to be collected.
655
+ <p></p>
656
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But all collected data had yet to be completely
657
+ correlated and put together in all possible relationships.
658
+ <p></p>
659
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A timeless interval was spent in doing that.
660
+ <p></p>
661
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And it came to pass that AC learned how to reverse
662
+ the direction of entropy.
663
+ <p></p>
664
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But there was now no man to whom AC might give the
665
+ answer of the last question. No matter. The answer -- by demonstration -- would
666
+ take care of that, too.
667
+ <p></p>
668
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For another timeless interval, AC thought how best
669
+ to do this. Carefully, AC organized the program.
670
+ <p></p>
671
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The consciousness of AC encompassed all of what
672
+ had once been a Universe and brooded over what was now Chaos. Step by step, it
673
+ must be done.
674
+ <p></p>
675
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And AC said, "LET THERE BE LIGHT!"
676
+ <p></p>
677
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And there was light --<br>
678
+ <script type='text/javascript'>var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-18224100-12']);_gaq.push(['_setDomainName', 'case.edu']);_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();</script></body></html>
data_sources/metaphorical/asimov_relativity_of_wrong.html ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
+
3
+ <html>
4
+ <head>
5
+ <link rel="stylesheet" type="text/css" href="../style/essay.css">
6
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+ <title>The Relativity of Wrong by Isaac Asimov</title>
8
+ </head>
9
+
10
+ <body>
11
+
12
+ <h1>The Relativity of Wrong</h1>
13
+
14
+ <p class="author">by Isaac Asimov</p>
15
+
16
+ <div class="section">
17
+ <p>I received a letter from a reader the other day. It was handwritten in crabbed penmanship so that it was very difficult to read. Nevertheless, I tried to make it out just in case it might prove to be important.</p>
18
+
19
+ <p>In the first sentence, he told me he was majoring in English Literature, but felt he needed to teach me science. (I sighed a bit, for I knew very few English Lit majors who are equipped to teach me science, but I am very aware of the vast state of my ignorance and I am prepared to learn as much as I can from anyone, however low on the social scale, so I read on.)</p>
20
+
21
+ <p>It seemed that in one of my innumerable essays, here and elsewhere, I had expressed a certain gladness at living in a century in which we finally got the basis of the Universe straight.</p>
22
+
23
+ <p>I didn't go into detail in the matter, but what I meant was that we now know the basic rules governing the Universe, together with the gravitational interrelationships of its gross components, as shown in the theory of relativity worked out between 1905 and 1916. We also know the basic rules governing the subatomic particles and their interrelationships, since these are very neatly described by the quantum theory worked out between 1900 and 1930. What's more, we have found that the galaxies and clusters of galaxies are the basic units of the physical Universe, as discovered between 1920 and 1930.</p>
24
+
25
+ <p>These are all twentieth-century discoveries, you see.</p>
26
+
27
+ <p>The young specialist in English Lit, having quoted me, went on to lecture me severely on the fact that in <em>every</em> century people have thought they understood the Universe at last, and in <em>every</em> century they were proven to be wrong. It follows that the one thing we can say about out modern "knowledge" is that it is <em>wrong</em>.</p>
28
+
29
+ <p>The young man then quoted with approval what Socrates had said on learning that the Delphic oracle had proclaimed him the wisest man in Greece. "If I am the wisest man," said Socrates, "it is because I alone know that I know nothing." The implication was that I was very foolish because I knew a great deal.</p>
30
+
31
+ <p>Alas, none of this was new to me. (There is very little that is new to me; I wish my corresponders would realize this.) This particular thesis was addressed to me a quarter of a century ago by John Campbell, who specialized in irritating me. He also told me that all theories are proven wrong in time.</p>
32
+
33
+ <p>My answer to him was, "John, when people thought the Earth was flat, they were wrong. When people thought the Earth was spherical, they were wrong. But if <em>you</em> think that thinking the Earth is spherical is <em>just as wrong</em> as thinking the Earth is flat, then your view is wronger than both of them put together."</p>
34
+
35
+ <p>The basic trouble, you see, is that people think that "right" and "wrong" are absolute; that everything that isn't perfectly and completely right is totally and equally wrong.</p>
36
+
37
+ <p>However, I don't think that's so. It seems to me that right and wrong are fuzzy concepts, and I will devote this essay to an explanation of why I think so.</p>
38
+ </div>
39
+
40
+ <div class="section">
41
+ <p>First, let me dispose of Socrates because I am sick and tired of this pretense that knowing you know nothing is a mark of wisdom.</p>
42
+
43
+ <p>No one knows <em>nothing</em>. In a matter of days, babies learn to recognize their mothers.</p>
44
+
45
+ <p>Socrates would agree, of course, and explain that knowledge of trivia is not what he means. He means that in the great abstractions over which human beings debate, one should start without preconceived, unexamined notions, and that he alone knew this. (What an enormously arrogant claim!)</p>
46
+
47
+ <p>In his discussions of such matters as "What is justice?" or "What is virtue?" he took the attitude that he knew nothing and had to be instructed by others. (This is called "Socratic irony," for Socrates knew very well that he knew a great deal more than the poor souls he was picking on.) By pretending ignorance, Socrates lured others into propounding their views on such abstractions. Socrates then, by a series of ignorant-sounding questions, forced the others into such a mélange of self-contradictions that they would finally break down and admit they didn't know what they were talking about.</p>
48
+
49
+ <p>It is the mark of the marvelous toleration of the Athenians that they let this continue for decades and that it wasn't till Socrates turned seventy that they broke down and forced him to drink poison.</p>
50
+ </div>
51
+
52
+ <div class="section">
53
+ <p>Now where do we get the notion that "right" and "wrong" are absolutes? It seems to me that this arises in the early grades, when children who know very little are taught by teachers who know very little more.</p>
54
+
55
+ <p>Young children learn spelling and arithmetic, for instance, and here we tumble into apparent absolutes.</p>
56
+
57
+ <p>How do you spell "sugar?" Answer: s-u-g-a-r. That is <em>right</em>. Anything else is <em>wrong</em>.</p>
58
+
59
+ <p>How much is 2 + 2? The answer is 4. That is <em>right</em>. Anything else is <em>wrong</em>.</p>
60
+
61
+ <p>Having exact answers, and having absolute rights and wrongs, minimizes the necessity of thinking, and that pleases both students and teachers. For that reason, students and teachers alike prefer short-answer tests to essay tests; multiple-choice over blank short-answer tests; and true-false tests over multiple-choice.</p>
62
+
63
+ <p>But short-answer tests are, to my way of thinking, useless as a measure of the student's understanding of a subject. They are merely a test of the efficiency of his ability to memorize.</p>
64
+
65
+ <p>You can see what I mean as soon as you admit that right and wrong are relative.</p>
66
+
67
+ <p>How do you spell "sugar?" Suppose Alice spells it p-q-z-z-f and Genevieve spells it s-h-u-g-e-r. Both are wrong, but is there any doubt that Alice is wronger than Genevieve? For that matter, I think it is possible to argue that Genevieve's spelling is superior to the "right" one.</p>
68
+
69
+ <p>Or suppose you spell "sugar": s-u-c-r-o-s-e, or C<sub>12</sub>H<sub>22</sub>O<sub>11</sub>. Strictly speaking, you are wrong each time, but you're displaying a certain knowledge of the subject beyond conventional spelling.</p>
70
+
71
+ <p>Suppose then the test question was: how many different ways can you spell "sugar?" Justify each.</p>
72
+
73
+ <p>Naturally, the student would have to do a lot of thinking and, in the end, exhibit how much or how little he knows. The teacher would also have to do a lot of thinking in the attempt to evaluate how much or how little the student knows. Both, I imagine, would be outraged.</p>
74
+
75
+ <p>Again, how much is 2 + 2? Suppose Joseph says: 2 + 2 = purple, while Maxwell says: 2 + 2 = 17. Both are wrong but isn't it fair to say that Joseph is wronger than Maxwell?</p>
76
+
77
+ <p>Suppose you said: 2 + 2 = an integer. You'd be right, wouldn't you? Or suppose you said: 2 + 2 = an even integer. You'd be righter. Or suppose you said: 2 + 2 = 3.999. Wouldn't you be <em>nearly</em> right?</p>
78
+
79
+ <p>If the teacher wants 4 for an answer and won't distinguish between the various wrongs, doesn't that set an unnecessary limit to understanding?</p>
80
+
81
+ <p>Suppose the question is, how much is 9 + 5?, and you answer 2. Will you not be excoriated and held up to ridicule, and will you not be told that 9 + 5 = 14?</p>
82
+
83
+ <p>If you were then told that 9 hours had pass since midnight and it was therefore 9 o'clock, and were asked what time it would be in 5 more hours, and you answered 14 o'clock on the grounds that 9 + 5 = 14, would you not be excoriated again, and told that it would be 2 o'clock? Apparently, in that case, 9 + 5 = 2 after all.</p>
84
+
85
+ <p>Or again suppose, Richard says: 2 + 2 = 11, and before the teacher can send him home with a note to his mother, he adds, "To the base 3, of course." He'd be right.</p>
86
+
87
+ <p>Here's another example. The teacher asks: "Who is the fortieth President of the United States?" and Barbara says, "There isn't any, teacher."</p>
88
+
89
+ <p>"Wrong!" says the teacher, "Ronald Reagan is the fortieth President of the United States."</p>
90
+
91
+ <p>"Not at all," says Barbara, "I have here a list of all the men who have served as President of the United States under the Constitution, from George Washington to Ronald Reagan, and there are only thirty-nine of them, so there is no fortieth President."</p>
92
+
93
+ <p>"Ah," says the teacher, "but Grover Cleveland served two nonconsecutive terms, one from 1885 to 1889, and the second from 1893 to 1897. He counts as both the twenty-second and twenty-fourth President. That is why Ronald Reagan is the thirty-ninth person to serve as President of the United States, and is, at the same time, the fortieth President of the United States."</p>
94
+
95
+ <p>Isn't that ridiculous? Why should a person be counted twice if his terms are nonconsecutive, and only once if he served two consecutive terms? Pure convention! Yet Barbara is marked wrong—just as wrong as if she had said that the fortieth President of the United States is Fidel Castro.</p>
96
+
97
+ <p>Therefore, when my friend the English Literature expert tells me that in every century scientists think they have worked out the Universe and are <em>always wrong</em>, what I want to know is <em>how</em> wrong are they? Are they always wrong to the same degree? Let's take an example.</p>
98
+ </div>
99
+
100
+ <div class="section">
101
+ <p>In the early days of civilization, the general feeling was that the Earth was flat.</p>
102
+
103
+ <p>This was not because people were stupid, or because they were intent on believing silly things. They felt it was flat on the basis of sound evidence. It was <em>not</em> just a matter of "That's how it looks," because the Earth does <em>not</em> look flat. It looks chaotically bumpy, with hills, valleys, ravines, cliffs, and so on.</p>
104
+
105
+ <p>Of course, there are plains where, over limited areas, the Earth's surface <em>does</em> look fairly flat. One of those plains is in the Tigris-Euphrates area where the first historical civilization (one with writing) developed, that of the Sumerians.</p>
106
+
107
+ <p>Perhaps it was the appearance of the plain that may have persuaded the clever Sumerians to accept the generalization that the Earth was flat; that if you somehow evened out all the elevations and depressions, you would be left with flatness. Contributing to the notion may have been the fact that stretches of water (ponds and lakes) looked pretty flat on quiet days.</p>
108
+
109
+ <p>Another way of looking at it is to ask what is the "curvature" of Earth's surface. Over a considerable length, how much does the surface deviate (on the average) from perfect flatness. The flat-Earth theory would make it seem that the surface doesn't deviate from flatness at all, that its curvature is 0 to the mile.</p>
110
+
111
+ <p>Nowadays, of course, we are taught that the flat-Earth theory is <em>wrong</em>; that it is all wrong, terribly wrong, absolutely. But it isn't. The curvature of the Earth is <em>nearly</em> 0 per mile, so that although the flat-Earth theory is wrong, it happens to be <em>nearly</em> right. That's why the theory lasted so long.</p>
112
+
113
+ <p>There were reasons, to be sure, to find the flat-Earth theory unsatisfactory and, about 350 B.C., the Greek philosopher Aristotle summarized them. First, certain stars disappeared beyond the Southern Hemisphere as one traveled north, and beyond the Northern Hemisphere as one traveled south. Second, the Earth's shadow on the Moon during a lunar eclipse was always the arc of a circle. Third, here on Earth itself, ships disappeared beyond the horizon hull-first in whatever direction they were traveling.</p>
114
+
115
+ <p>All three observations could not be reasonably explained if the Earth's surface were flat, but could be explained by assuming the Earth to be a sphere.</p>
116
+
117
+ <p>What's more, Aristotle believed that all solid matter tended to move toward a common center, and if solid matter did this, it would end up as a sphere. A given volume of matter is, on the average, closer to a common center if it is a sphere than if it is any other shape whatever.</p>
118
+
119
+ <p>About a century after Aristotle, the Greek philosopher Eratosthenes noted that the Sun cast a shadow of different lengths at different latitudes (all the shadows would be the same length if the Earth's surface were flat). From the difference in shadow length, he calculated the size of the earthly sphere and it turned out to be 25,000 miles in circumference.</p>
120
+
121
+ <p>The curvature of such a sphere is about 0.000126 per mile, a quantity very close to 0 per mile as you can see, and one not easily measured by the techniques at the disposal of the ancients. The tiny difference between 0 and 0.000126 accounts for the fact that it took so long to pass from the flat Earth to the spherical Earth.</p>
122
+
123
+ <p>Mind you, even a tiny difference, such at that between 0 and 0.000126, can be extremely important. That difference mounts up. The Earth cannot be mapped over large areas with any accuracy at all if the difference isn't taken into account and if the Earth isn't considered a sphere rather than a flat surface. Long ocean voyages can't be undertaken with any reasonable way of locating one's own position in the ocean unless the Earth is considered spherical rather than flat.</p>
124
+
125
+ <p>Furthermore, the flat Earth presupposes the possibility of an infinite Earth, or of the existence of an "end" to the surface. The spherical Earth, however, postulates an Earth that is both endless and yet finite, and it is the latter postulate that is consistent with all later findings.</p>
126
+
127
+ <p>So although the flat-Earth theory is only slightly wrong and is a credit to its inventors, all things considered, it is wrong enough to be discarded in favor of the spherical-Earth theory.</p>
128
+ </div>
129
+
130
+ <div class="section">
131
+ <p>And yet is the Earth a sphere?</p>
132
+
133
+ <p>No, it is <em>not</em> a sphere; not in the strict mathematical sense. A sphere has certain mathematical properties—for instance, all diameters (that is, all straight lines that pass from one point on its surface, through the center, to another point on its surface) have the same length.</p>
134
+
135
+ <p>That, however, is not true of the Earth. Various diameters of the Earth differ in length.</p>
136
+
137
+ <p>What gave people the notion the Earth wasn't a true sphere? To begin with, the Sun and the Moon have outlines that are perfect circles within the limits of measurement in the early days of the telescope. This is consistent with the supposition that the Sun and Moon are perfectly spherical in shape.</p>
138
+
139
+ <p>However, when Jupiter and Saturn were observed by the first telescopic observers, it became quickly apparent that the outlines of those planets were not circles, but distinct ellipses. That meant that Jupiter and Saturn were not true spheres.</p>
140
+
141
+ <p>Isaac Newton, toward the end of the seventeenth century, showed that a massive body would form a sphere under the pull of gravitational forces (exactly as Aristotle had argued), but only if it were not rotating. If it were rotating, a centrifugal effect would be set up which would lift the body's substance against gravity, and the effect would be greater the closer to the equator you progressed. The effect would also be greater the more rapidly a spherical object rotated and Jupiter and Saturn rotated very rapidly indeed.</p>
142
+
143
+ <p>The Earth rotated much more slowly than Jupiter or Saturn so the effect should be smaller, but it should still be there. Actual measurements of the curvature of the Earth were carried out in the eighteenth century and Newton was proved correct.</p>
144
+
145
+ <p>The Earth has an equatorial bulge, in other words. It is flattened at the poles. It is an "oblate spheroid" rather than a sphere. This means that the various diameters of the earth differ in length. The longest diameters are any of those that stretch from one point on the equator to an opposite point on the equator. The "equatorial diameter" is 12,755 kilometers (7,927 miles). The shortest diameter is from the North Pole to the South Pole and this "polar diameter" is 12,711 kilometers (7,900 miles).</p>
146
+
147
+ <p>The difference between the longest and shortest diameters is 44 kilometers (27 miles), and that means that the "oblateness" of the Earth (its departure from true sphericity) is 44/12,755, or 0.0034. This amounts to 1/3 of 1 percent.</p>
148
+
149
+ <p>To put it another way, on a flat surface, curvature is 0 per mile everywhere. On Earth's spherical surface, curvature is 0.000126 per mile everywhere (or 8 inches per mile). On Earth's oblate spheroidical surface, the curvature varies from 7.973 inches to the mile to 8.027 inches to the mile.</p>
150
+
151
+ <p>The correction in going from spherical to oblate spheroidal is much smaller than going from flat to spherical. Therefore, although the notion of the Earth as sphere is wrong, strictly speaking, it is not <em>as</em> wrong as the notion of the Earth as flat.</p>
152
+
153
+ <p>Even the oblate-spheroidal notion of the Earth is wrong, strictly speaking. In 1958, when the satellite <em>Vanguard 1</em> was put into orbit about the Earth, it was able to measure the local gravitational pull of the Earth—and therefore its shape—with unprecedented precision. It turned out that the equatorial bulge south of the equator was slightly bulgier than the bulge north of the equator, and that the South Pole sea level was slightly nearer the center of the Earth than the North Pole sea level was.</p>
154
+
155
+ <p>There seemed no other way of describing this than by saying the Earth was pearshaped and at once many people decided that the Earth was nothing like a sphere but was shaped like a Bartlett pear dangling in space. Actually, the pearlike deviation from oblate-spheroid perfect was a matter of yards rather than miles and the adjustment of curvature was in the millionths of an inch per mile.</p>
156
+
157
+ <p>In short, my English Lit friend, living in a mental world of absolute rights and wrongs, may be imagining that because all theories are <em>wrong</em>, the Earth may be thought spherical now, but cubical next century, and a hollow icosahedron the next, and a doughnut shape the one after.</p>
158
+
159
+ <p>What actually happens is that once scientists get hold of a good concept they gradually refine and extend if with a greater and greater subtlety as their instruments of measurement improve. Theories are not so much wrong as incomplete.</p>
160
+ </div>
161
+
162
+ <div class="section">
163
+ <p>This can be pointed out in many other cases than just the shape of the Earth. Even when a new theory seems to represent a revolution, it usually arises out of small refinements. If something more than a small refinement were needed, then the old theory would never have endured.</p>
164
+
165
+ <p>Copernicus switched from an Earth-centered planetary system to a Sun-centered one. In doing so, he switched from something that was obvious to something that was apparently ridiculous. However, it was a matter of finding better ways of calculating the motion of the planets in the sky and, eventually, the geocentric theory was just left behind. It was precisely because the old theory gave results that were fairly good by the measurement standards of the time that kept it in being so long.</p>
166
+
167
+ <p>Again, it is because the geological formations of the Earth change <em>so</em> slowly and the living things upon it evolve <em>so</em> slowly that it seemed reasonable at first to suppose that there was <em>no</em> change and that Earth and life always existed as they do today. If that were so, it would make no difference whether Earth and life were billions of years old or thousands. Thousands were easier to grasp.</p>
168
+
169
+ <p>But when careful observation showed that Earth and life were changing at a rate that was very tiny but <em>not</em> zero, then it became clear that Earth and life had to be very old. Modern geology came into being, and so did the notion of biological evolution.</p>
170
+
171
+ <p>If the rate of change were more rapid, geology and evolution would have reached their modern state in ancient times. It is only because the difference between the rate of change in a static Universe and the rate of change in an evolutionary one is that between zero and very nearly zero that the creationists can continue propagating their folly.</p>
172
+
173
+ <p>Again, how about the two great theories of the twentieth century; relativity and quantum mechanics?<p>
174
+
175
+ <p>Newton's theories of motion and gravitation were very close to right, and they would have been absolutely right if only the speed of light were infinite. However, the speed of light is finite, and that had to be taken into account in Einstein's relativistic equations, which were an extension and refinement of Newton's equations.</p>
176
+
177
+ <p>You might say that the difference between infinite and finite is itself infinite, so why didn't Newton's equations fall to the ground at once? Let's put it another way, and ask how long it takes light to travel over a distance of a meter.</p>
178
+
179
+ <p>If light traveled at infinite speed, it would take light 0 seconds to travel a meter. At the speed at which light actually travels, however, it takes it 0.0000000033 seconds. It is that difference between 0 and 0.0000000033 that Einstein corrected for.</p>
180
+
181
+ <p>Conceptually, the correction was as important as the correction of Earth's curvature from 0 to 8 inches per mile was. Speeding subatomic particles wouldn't behave the way they do without the correction, nor would particle accelerators work the way they do, nor nuclear bombs explode, nor the stars shine. Nevertheless, it was a tiny correction and it is no wonder that Newton, in his time, could not allow for it, since he was limited in his observations to speeds and distances over which the correction was insignificant.</p>
182
+
183
+ <p>Again, where the prequantum view of physics fell short was that it didn't allow for the "graininess" of the Universe. All forms of energy had been thought to be continuous and to be capable of division into indefinitely smaller and smaller quantities.</p>
184
+
185
+ <p>This turned out to be not so. Energy comes in quanta, the size of which is dependent upon something called Planck's constant. If Planck's constant were equal to 0 erg-seconds, then energy would be continuous, and there would be no grain to the Universe. Planck's constant, however, is equal to 0.000000000000000000000000066 erg-seconds. That is indeed a tiny deviation from zero, so tiny that ordinary questions of energy in everyday life need not concern themselves with it. When, however, you deal with subatomic particles, the graininess is sufficiently large, in comparison, to make it impossible to deal with them without taking quantum considerations into account.</p>
186
+ </div>
187
+
188
+ <div class="section">
189
+ <p>Since the refinements in theory grow smaller and smaller, even quite ancient theories must have been sufficiently right to allow advances to be made; advances that were not wiped out by subsequent refinements.</p>
190
+
191
+ <p>The Greeks introduced the notion of latitude and longitude, for instance, and made reasonable maps of the Mediterranean basin even without taking sphericity into account, and we still use latitude and longitude today.</p>
192
+
193
+ <p>The Sumerians were probably the first to establish the principle that planetary movements in the sky exhibit regularity and can be predicted, and they proceeded to work out ways of doing so even though they assumed the Earth to be the center of the Universe. Their measurements have been enormously refined but the principle remains.</p>
194
+
195
+ <p>Newton's theory of gravitation, while incomplete over vast distances and enormous speeds, is perfectly suitable for the Solar System. Halley's Comet appears punctually as Newton's theory of gravitation and laws of motion predict. All of rocketry is based on Newton, and <em>Voyager II</em> reached Uranus within a second of the predicted time. None of these things were outlawed by relativity.</p>
196
+
197
+ <p>In the nineteenth century, before quantum theory was dreamed of, the laws of thermodynamics were established, including the conservation of energy as first law, and the inevitable increase of entropy as the second law. Certain other conservation laws such as those of momentum, angular momentum, and electric charge were also established. So were Maxwell's laws of electromagnetism. All remained firmly entrenched even after quantum theory came in.</p>
198
+
199
+ <p>Naturally, the theories we now have might be considered wrong in the simplistic sense of my English Lit correspondent, but in a much truer and subtler sense, they need only be considered incomplete.</p>
200
+
201
+ <p>For instance, quantum theory has produced something called "quantum weirdness" which brings into serious question the very nature of reality and which produces philosophical conundrums that physicists simply can't seem to agree upon. It may be that we have reached a point where the human brain can no longer grasp matters, or it may be that quantum theory is incomplete and that once it is properly extended, all the "weirdness" will disappear.</p>
202
+
203
+ <p>Again, quantum theory and relativity seem to be independent of each other, so that while quantum theory makes it seem possible that three of the four known interactions can be combined into one mathematical system, gravitation—the realm of relativity—as yet seems intransigent.</p>
204
+
205
+ <p>If quantum theory and relativity can be combined, a true "unified field theory" may become possible.</p>
206
+
207
+ <p>If all this is done, however, it would be a still finer refinement that would affect the edges of the known—the nature of the big bang and the creation of the Universe, the properties at the center of black holes, some subtle points about the evolution of galaxies and supernovas, and so on.</p>
208
+
209
+ <p>Virtually all that we know today, however, would remain untouched and when I say I am glad that I live in a century when the Universe is essentially understood, I think I am justified.</p>
210
+ </div>
211
+
212
+ </body>
213
+ </html>
data_sources/metaphorical/examples.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Think of quantum computing like a combination lock with multiple correct combinations simultaneously. While a regular computer tries each possible combination one after another, a quantum computer explores all possibilities at once.
2
+
3
+ The relationship between the economy and interest rates is like a boat on the ocean. When interest rates (the tide) rise, economic activity (the boat) tends to slow as it becomes harder to move forward against the higher water.
4
+
5
+ Imagine your neural network as a child learning to identify animals. At first, it might think all four-legged creatures are dogs. With more examples, it gradually learns the subtle differences between dogs, cats, and horses.
data_sources/metaphorical/generated_metaphorical_example.txt ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Title: The Weaver of Worlds
2
+
3
+ In a realm beyond the stars we know, lived an ancient being known only as the Weaver. It did not have a body of flesh, nor a voice that echoed in the air, but its existence was the loom upon which realities were spun. Each thread was a possibility, shimmering with colors unseen by mortal eyes – the crimson of a dying star, the silver of a silent thought, the emerald of a world teeming with life.
4
+
5
+ One day, a young, ambitious star-spirit, Lyra, approached the Weaver. "Great Weaver," she pulsed, her light flickering with eagerness, "grant me a world of my own to shape, a tapestry of my own design!"
6
+
7
+ The Weaver, in its timeless way, offered Lyra a single, plain thread, the color of unformed dust. "All worlds begin thus," resonated the Weaver, not in sound, but in understanding that bloomed in Lyra's core. "The pattern is not in the grandeur you impose, but in the care with which you weave what is given."
8
+
9
+ Lyra was disappointed. She had imagined vibrant threads of power, fate, and instant creation. She took the dusty thread and began to weave, her early patterns clumsy and filled with frustration. She tried to force the thread into shapes of mighty empires and dazzling suns, but it remained dull and lifeless.
10
+
11
+ Watching from afar, a comet, old and scarred from countless journeys, whispered to Lyra, "The Weaver's threads respond not to force, but to harmony. Seek the music within the dust."
12
+
13
+ Lyra, humbled, held the thread and listened. She felt the faint vibrations of ancient cosmic songs, the echoes of births and deaths of realities long past. She began to weave again, not with ambition, but with attention, following the subtle pulls and flows within the thread itself. Slowly, miraculously, the dusty thread began to glow. Tiny specks of light, like nascent stars, appeared. A soft blue of nascent oceans, a gentle green of budding life, emerged not from Lyra's command, but from her partnership with the thread.
14
+
15
+ She understood then that the Weaver did not grant worlds, but the potential for worlds. The beauty was not in the pre-ordained design, but in the dance of creation between the weaver and the eternally unfolding thread of what-is-to-be, guided by the wisdom of what-has-been. Her world, when it finally bloomed, was not the one she had first imagined, but it was far more wondrous, for it was a world born of listening, not just of making.
data_sources/metaphorical/hans_christian_andersen_fairy_tales.txt ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/metaphorical/kalidasa_meghaduta_wilson.txt ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/philosophical/examples.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ When we look more deeply at this question, we can see that the apparent separation between observer and observed is actually an illusion. Our consciousness is not separate from the phenomenon we're examining.
2
+
3
+ This situation invites us to consider not just the practical implications, but also the deeper patterns that connect these events to larger cycles of change and transformation.
4
+
5
+ The challenge we face is not merely technological but existential: what does it mean to be human in an age where our creations begin to mirror our own capabilities?
data_sources/philosophical/generated_krishnamurti_freedom.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ Title: The Nature of True Freedom
2
+
3
+ We seek freedom, but what is this freedom we desire? Is it the liberty to do as one wishes, to pursue ambition, to accumulate, to express oneself without hindrance? This is what the world often calls freedom. But look closely. Is the pursuit of ambition not a form of bondage to success or failure, to recognition or obscurity? Is the accumulation of things not a tie to the material, a source of anxiety over loss? Is unhindered self-expression, if born from a self that is conditioned, merely the expression of that conditioning?
4
+
5
+ True freedom, perhaps, lies not in the expansion of the self, but in the understanding of the self. The self, the 'me', is a construct of memory, of experience, of cultural and societal conditioning, of fears and desires. It is a bundle of conclusions. To be free from this self is not to destroy it in an act of will, for the entity that seeks to destroy is still part of that self. Rather, freedom comes from observing this self without judgment, without condemnation or justification.
6
+
7
+ Observe your anger, your jealousy, your fear. Do not say 'I must not be angry,' for that is another form of conflict, of division within. Simply observe it as you would observe a cloud in the sky. See its structure, its movement, its arising and its passing. In this choiceless awareness, the nature of that which is observed begins to reveal itself.
8
+
9
+ Freedom is not an end, a goal to be achieved in the future. It is in the very act of seeing, in the immediate perception of 'what is'. When the mind is no longer escaping from the actual, from the present, through ideals, through beliefs, through the pursuit of pleasure or the avoidance of pain, then there is a possibility of a different kind of freedom. This freedom is not from something, but a state of being in which the conditioning has been understood and therefore has fallen away. It is to be a light to oneself, not a follower of any authority, including the authority of one's own past experiences. This requires immense attention, a discipline that is not suppression but an active, alert observation from moment to moment.
data_sources/philosophical/generated_krishnamurti_observation.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Title: Observation Without the Observer
2
+
3
+ We are accustomed to thinking of an observer and the observed. 'I' see the tree. 'I' feel the anger. 'I' experience the joy. This division between the thinker and the thought, the experiencer and the experience, is the root of much conflict, both inner and outer. The observer is the past – the accumulation of memories, prejudices, conclusions – and this past is always interpreting, judging, shaping the present. So, what we see is not the thing as it is, but the thing as colored by our conditioning.
4
+
5
+ Is it possible to observe without this observer? To see the tree without the word 'tree', without all the botanical knowledge or the aesthetic judgments that immediately arise? To feel anger without saying 'I am angry,' and thus identifying with it and either suppressing or expressing it? This means an observation in which the centre, the 'me', is absent.
6
+
7
+ When there is such observation, there is no evaluation, no comparison, no condemnation or justification. There is only 'what is'. This state of seeing is a state of learning. Not accumulating knowledge, which is of the past, but learning in the sense of a direct perception of the truth of the moment.
8
+
9
+ Consider conflict. If I am in conflict, and I try to resolve it, the 'I' that is trying to resolve is itself the product of conflict, of duality. So, the effort to resolve often creates further conflict. But if there is an observation of the conflict without the observer who wants to escape it, change it, or overcome it, then the conflict itself reveals its whole nature. In that direct perception, is there conflict?
10
+
11
+ This is not a mystical state or something to be achieved through practice or technique. Practices and techniques imply a goal, a future, and therefore a continuity of the observer who is practicing. It is rather an immediate awareness, a seeing of the falseness of the division between the observer and the observed. When the thought 'I am suffering' is seen not as a separate entity evaluating a state, but as the suffering itself, then the energy that was consumed in division, in resistance, in trying to escape, is wholly present. In that total attention, that which we call suffering may undergo a radical transformation. The mind becomes extraordinarily quiet, not through enforcement, but because the sources of its agitation – the fragmentation created by the observer – are understood.
data_sources/philosophical/generated_philosophical_example.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ Title: On Virtue and the Inner Citadel
2
+
3
+ Marcus Aurelius often spoke of the 'inner citadel,' a fortress of the mind that, if properly fortified with reason and virtue, could remain impervious to the chaos and misfortunes of the external world. This concept, central to Stoicism, posits that true well-being (eudaimonia) arises not from favorable circumstances, but from one's own character and responses.
4
+
5
+ Consider the nature of virtue. Is it a collection of rules, or a state of being? For Socrates, as Plato portrayed him, virtue was knowledge – specifically, the knowledge of good and evil. To truly know the good was to do the good, as no one willingly chooses what they know to be harmful to their soul. This implies that wrongdoing stems from ignorance. If one could truly understand the nature of justice, courage, temperance, and wisdom, one would naturally act in accordance with them.
6
+
7
+ Aurelius extended this by emphasizing the practical application of these virtues in daily life. The 'Meditations' are a testament to this ongoing effort: to meet adversity with courage, injustice with fairness (or at least understanding), temptation with temperance, and complex situations with wisdom. The inner citadel is built by consistently choosing rational and virtuous responses over passionate, fearful, or selfish ones.
8
+
9
+ This is not a call to suppress emotion, but to understand it and not be ruled by it. The philosophical path is one of constant self-examination and alignment with nature – both our own rational nature and the rational order of the cosmos. The strength of the inner citadel, therefore, is not in its walls, but in the character of its inhabitant.
data_sources/philosophical/krishnamurti_freedom_known_ch1.html ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2
+ <html><head>
3
+ <title>403 Forbidden</title>
4
+ </head><body>
5
+ <h1>Forbidden</h1>
6
+ <p>You don't have permission to access this resource.</p>
7
+ </body></html>
data_sources/philosophical/krishnamurti_urgency_of_change.html ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2
+ <html><head>
3
+ <title>403 Forbidden</title>
4
+ </head><body>
5
+ <h1>Forbidden</h1>
6
+ <p>You don't have permission to access this resource.</p>
7
+ </body></html>
data_sources/philosophical/marcus_aurelius_meditations.txt ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/philosophical/socrates_apology_plato.txt ADDED
The diff for this file is too large to render. See raw diff
 
data_sources/philosophical/socrates_crito_plato.txt ADDED
@@ -0,0 +1,1065 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The Project Gutenberg eBook of Crito
2
+
3
+ This ebook is for the use of anyone anywhere in the United States and
4
+ most other parts of the world at no cost and with almost no restrictions
5
+ whatsoever. You may copy it, give it away or re-use it under the terms
6
+ of the Project Gutenberg License included with this ebook or online
7
+ at www.gutenberg.org. If you are not located in the United States,
8
+ you will have to check the laws of the country where you are located
9
+ before using this eBook.
10
+
11
+ Title: Crito
12
+
13
+ Author: Plato
14
+
15
+ Translator: Benjamin Jowett
16
+
17
+ Release date: March 1, 1999 [eBook #1657]
18
+ Most recently updated: April 3, 2015
19
+
20
+ Language: English
21
+
22
+ Credits: This etext was prepared by Sue Asscher
23
+
24
+
25
+ *** START OF THE PROJECT GUTENBERG EBOOK CRITO ***
26
+
27
+
28
+
29
+
30
+
31
+ This etext was prepared by Sue Asscher <asschers@aia.net.au>
32
+
33
+
34
+
35
+
36
+
37
+ CRITO
38
+
39
+ by Plato
40
+
41
+
42
+
43
+
44
+ Translated by Benjamin Jowett
45
+
46
+
47
+
48
+
49
+ INTRODUCTION.
50
+
51
+ The Crito seems intended to exhibit the character of Socrates in one light
52
+ only, not as the philosopher, fulfilling a divine mission and trusting in
53
+ the will of heaven, but simply as the good citizen, who having been
54
+ unjustly condemned is willing to give up his life in obedience to the laws
55
+ of the state...
56
+
57
+ The days of Socrates are drawing to a close; the fatal ship has been seen
58
+ off Sunium, as he is informed by his aged friend and contemporary Crito,
59
+ who visits him before the dawn has broken; he himself has been warned in a
60
+ dream that on the third day he must depart. Time is precious, and Crito
61
+ has come early in order to gain his consent to a plan of escape. This can
62
+ be easily accomplished by his friends, who will incur no danger in making
63
+ the attempt to save him, but will be disgraced for ever if they allow him
64
+ to perish. He should think of his duty to his children, and not play into
65
+ the hands of his enemies. Money is already provided by Crito as well as by
66
+ Simmias and others, and he will have no difficulty in finding friends in
67
+ Thessaly and other places.
68
+
69
+ Socrates is afraid that Crito is but pressing upon him the opinions of the
70
+ many: whereas, all his life long he has followed the dictates of reason
71
+ only and the opinion of the one wise or skilled man. There was a time when
72
+ Crito himself had allowed the propriety of this. And although some one
73
+ will say 'the many can kill us,' that makes no difference; but a good life,
74
+ in other words, a just and honourable life, is alone to be valued. All
75
+ considerations of loss of reputation or injury to his children should be
76
+ dismissed: the only question is whether he would be right in attempting to
77
+ escape. Crito, who is a disinterested person not having the fear of death
78
+ before his eyes, shall answer this for him. Before he was condemned they
79
+ had often held discussions, in which they agreed that no man should either
80
+ do evil, or return evil for evil, or betray the right. Are these
81
+ principles to be altered because the circumstances of Socrates are altered?
82
+ Crito admits that they remain the same. Then is his escape consistent with
83
+ the maintenance of them? To this Crito is unable or unwilling to reply.
84
+
85
+ Socrates proceeds:--Suppose the Laws of Athens to come and remonstrate with
86
+ him: they will ask 'Why does he seek to overturn them?' and if he replies,
87
+ 'they have injured him,' will not the Laws answer, 'Yes, but was that the
88
+ agreement? Has he any objection to make to them which would justify him in
89
+ overturning them? Was he not brought into the world and educated by their
90
+ help, and are they not his parents? He might have left Athens and gone
91
+ where he pleased, but he has lived there for seventy years more constantly
92
+ than any other citizen.' Thus he has clearly shown that he acknowledged
93
+ the agreement, which he cannot now break without dishonour to himself and
94
+ danger to his friends. Even in the course of the trial he might have
95
+ proposed exile as the penalty, but then he declared that he preferred death
96
+ to exile. And whither will he direct his footsteps? In any well-ordered
97
+ state the Laws will consider him as an enemy. Possibly in a land of
98
+ misrule like Thessaly he may be welcomed at first, and the unseemly
99
+ narrative of his escape will be regarded by the inhabitants as an amusing
100
+ tale. But if he offends them he will have to learn another sort of lesson.
101
+ Will he continue to give lectures in virtue? That would hardly be decent.
102
+ And how will his children be the gainers if he takes them into Thessaly,
103
+ and deprives them of Athenian citizenship? Or if he leaves them behind,
104
+ does he expect that they will be better taken care of by his friends
105
+ because he is in Thessaly? Will not true friends care for them equally
106
+ whether he is alive or dead?
107
+
108
+ Finally, they exhort him to think of justice first, and of life and
109
+ children afterwards. He may now depart in peace and innocence, a sufferer
110
+ and not a doer of evil. But if he breaks agreements, and returns evil for
111
+ evil, they will be angry with him while he lives; and their brethren the
112
+ Laws of the world below will receive him as an enemy. Such is the mystic
113
+ voice which is always murmuring in his ears.
114
+
115
+ That Socrates was not a good citizen was a charge made against him during
116
+ his lifetime, which has been often repeated in later ages. The crimes of
117
+ Alcibiades, Critias, and Charmides, who had been his pupils, were still
118
+ recent in the memory of the now restored democracy. The fact that he had
119
+ been neutral in the death-struggle of Athens was not likely to conciliate
120
+ popular good-will. Plato, writing probably in the next generation,
121
+ undertakes the defence of his friend and master in this particular, not to
122
+ the Athenians of his day, but to posterity and the world at large.
123
+
124
+ Whether such an incident ever really occurred as the visit of Crito and the
125
+ proposal of escape is uncertain: Plato could easily have invented far more
126
+ than that (Phaedr.); and in the selection of Crito, the aged friend, as the
127
+ fittest person to make the proposal to Socrates, we seem to recognize the
128
+ hand of the artist. Whether any one who has been subjected by the laws of
129
+ his country to an unjust judgment is right in attempting to escape, is a
130
+ thesis about which casuists might disagree. Shelley (Prose Works) is of
131
+ opinion that Socrates 'did well to die,' but not for the 'sophistical'
132
+ reasons which Plato has put into his mouth. And there would be no
133
+ difficulty in arguing that Socrates should have lived and preferred to a
134
+ glorious death the good which he might still be able to perform. 'A
135
+ rhetorician would have had much to say upon that point.' It may be
136
+ observed however that Plato never intended to answer the question of
137
+ casuistry, but only to exhibit the ideal of patient virtue which refuses to
138
+ do the least evil in order to avoid the greatest, and to show his master
139
+ maintaining in death the opinions which he had professed in his life. Not
140
+ 'the world,' but the 'one wise man,' is still the paradox of Socrates in
141
+ his last hours. He must be guided by reason, although her conclusions may
142
+ be fatal to him. The remarkable sentiment that the wicked can do neither
143
+ good nor evil is true, if taken in the sense, which he means, of moral
144
+ evil; in his own words, 'they cannot make a man wise or foolish.'
145
+
146
+ This little dialogue is a perfect piece of dialectic, in which granting the
147
+ 'common principle,' there is no escaping from the conclusion. It is
148
+ anticipated at the beginning by the dream of Socrates and the parody of
149
+ Homer. The personification of the Laws, and of their brethren the Laws in
150
+ the world below, is one of the noblest and boldest figures of speech which
151
+ occur in Plato.
152
+
153
+
154
+ CRITO
155
+
156
+ by
157
+
158
+ Plato
159
+
160
+ Translated by Benjamin Jowett
161
+
162
+
163
+ PERSONS OF THE DIALOGUE: Socrates, Crito.
164
+
165
+ SCENE: The Prison of Socrates.
166
+
167
+
168
+ SOCRATES: Why have you come at this hour, Crito? it must be quite early.
169
+
170
+ CRITO: Yes, certainly.
171
+
172
+ SOCRATES: What is the exact time?
173
+
174
+ CRITO: The dawn is breaking.
175
+
176
+ SOCRATES: I wonder that the keeper of the prison would let you in.
177
+
178
+ CRITO: He knows me because I often come, Socrates; moreover. I have done
179
+ him a kindness.
180
+
181
+ SOCRATES: And are you only just arrived?
182
+
183
+ CRITO: No, I came some time ago.
184
+
185
+ SOCRATES: Then why did you sit and say nothing, instead of at once
186
+ awakening me?
187
+
188
+ CRITO: I should not have liked myself, Socrates, to be in such great
189
+ trouble and unrest as you are--indeed I should not: I have been watching
190
+ with amazement your peaceful slumbers; and for that reason I did not awake
191
+ you, because I wished to minimize the pain. I have always thought you to
192
+ be of a happy disposition; but never did I see anything like the easy,
193
+ tranquil manner in which you bear this calamity.
194
+
195
+ SOCRATES: Why, Crito, when a man has reached my age he ought not to be
196
+ repining at the approach of death.
197
+
198
+ CRITO: And yet other old men find themselves in similar misfortunes, and
199
+ age does not prevent them from repining.
200
+
201
+ SOCRATES: That is true. But you have not told me why you come at this
202
+ early hour.
203
+
204
+ CRITO: I come to bring you a message which is sad and painful; not, as I
205
+ believe, to yourself, but to all of us who are your friends, and saddest of
206
+ all to me.
207
+
208
+ SOCRATES: What? Has the ship come from Delos, on the arrival of which I
209
+ am to die?
210
+
211
+ CRITO: No, the ship has not actually arrived, but she will probably be
212
+ here to-day, as persons who have come from Sunium tell me that they have
213
+ left her there; and therefore to-morrow, Socrates, will be the last day of
214
+ your life.
215
+
216
+ SOCRATES: Very well, Crito; if such is the will of God, I am willing; but
217
+ my belief is that there will be a delay of a day.
218
+
219
+ CRITO: Why do you think so?
220
+
221
+ SOCRATES: I will tell you. I am to die on the day after the arrival of
222
+ the ship?
223
+
224
+ CRITO: Yes; that is what the authorities say.
225
+
226
+ SOCRATES: But I do not think that the ship will be here until to-morrow;
227
+ this I infer from a vision which I had last night, or rather only just now,
228
+ when you fortunately allowed me to sleep.
229
+
230
+ CRITO: And what was the nature of the vision?
231
+
232
+ SOCRATES: There appeared to me the likeness of a woman, fair and comely,
233
+ clothed in bright raiment, who called to me and said: O Socrates,
234
+
235
+ 'The third day hence to fertile Phthia shalt thou go.' (Homer, Il.)
236
+
237
+ CRITO: What a singular dream, Socrates!
238
+
239
+ SOCRATES: There can be no doubt about the meaning, Crito, I think.
240
+
241
+ CRITO: Yes; the meaning is only too clear. But, oh! my beloved Socrates,
242
+ let me entreat you once more to take my advice and escape. For if you die
243
+ I shall not only lose a friend who can never be replaced, but there is
244
+ another evil: people who do not know you and me will believe that I might
245
+ have saved you if I had been willing to give money, but that I did not
246
+ care. Now, can there be a worse disgrace than this--that I should be
247
+ thought to value money more than the life of a friend? For the many will
248
+ not be persuaded that I wanted you to escape, and that you refused.
249
+
250
+ SOCRATES: But why, my dear Crito, should we care about the opinion of the
251
+ many? Good men, and they are the only persons who are worth considering,
252
+ will think of these things truly as they occurred.
253
+
254
+ CRITO: But you see, Socrates, that the opinion of the many must be
255
+ regarded, for what is now happening shows that they can do the greatest
256
+ evil to any one who has lost their good opinion.
257
+
258
+ SOCRATES: I only wish it were so, Crito; and that the many could do the
259
+ greatest evil; for then they would also be able to do the greatest good--
260
+ and what a fine thing this would be! But in reality they can do neither;
261
+ for they cannot make a man either wise or foolish; and whatever they do is
262
+ the result of chance.
263
+
264
+ CRITO: Well, I will not dispute with you; but please to tell me, Socrates,
265
+ whether you are not acting out of regard to me and your other friends: are
266
+ you not afraid that if you escape from prison we may get into trouble with
267
+ the informers for having stolen you away, and lose either the whole or a
268
+ great part of our property; or that even a worse evil may happen to us?
269
+ Now, if you fear on our account, be at ease; for in order to save you, we
270
+ ought surely to run this, or even a greater risk; be persuaded, then, and
271
+ do as I say.
272
+
273
+ SOCRATES: Yes, Crito, that is one fear which you mention, but by no means
274
+ the only one.
275
+
276
+ CRITO: Fear not--there are persons who are willing to get you out of
277
+ prison at no great cost; and as for the informers they are far from being
278
+ exorbitant in their demands--a little money will satisfy them. My means,
279
+ which are certainly ample, are at your service, and if you have a scruple
280
+ about spending all mine, here are strangers who will give you the use of
281
+ theirs; and one of them, Simmias the Theban, has brought a large sum of
282
+ money for this very purpose; and Cebes and many others are prepared to
283
+ spend their money in helping you to escape. I say, therefore, do not
284
+ hesitate on our account, and do not say, as you did in the court (compare
285
+ Apol.), that you will have a difficulty in knowing what to do with yourself
286
+ anywhere else. For men will love you in other places to which you may go,
287
+ and not in Athens only; there are friends of mine in Thessaly, if you like
288
+ to go to them, who will value and protect you, and no Thessalian will give
289
+ you any trouble. Nor can I think that you are at all justified, Socrates,
290
+ in betraying your own life when you might be saved; in acting thus you are
291
+ playing into the hands of your enemies, who are hurrying on your
292
+ destruction. And further I should say that you are deserting your own
293
+ children; for you might bring them up and educate them; instead of which
294
+ you go away and leave them, and they will have to take their chance; and if
295
+ they do not meet with the usual fate of orphans, there will be small thanks
296
+ to you. No man should bring children into the world who is unwilling to
297
+ persevere to the end in their nurture and education. But you appear to be
298
+ choosing the easier part, not the better and manlier, which would have been
299
+ more becoming in one who professes to care for virtue in all his actions,
300
+ like yourself. And indeed, I am ashamed not only of you, but of us who are
301
+ your friends, when I reflect that the whole business will be attributed
302
+ entirely to our want of courage. The trial need never have come on, or
303
+ might have been managed differently; and this last act, or crowning folly,
304
+ will seem to have occurred through our negligence and cowardice, who might
305
+ have saved you, if we had been good for anything; and you might have saved
306
+ yourself, for there was no difficulty at all. See now, Socrates, how sad
307
+ and discreditable are the consequences, both to us and you. Make up your
308
+ mind then, or rather have your mind already made up, for the time of
309
+ deliberation is over, and there is only one thing to be done, which must be
310
+ done this very night, and if we delay at all will be no longer practicable
311
+ or possible; I beseech you therefore, Socrates, be persuaded by me, and do
312
+ as I say.
313
+
314
+ SOCRATES: Dear Crito, your zeal is invaluable, if a right one; but if
315
+ wrong, the greater the zeal the greater the danger; and therefore we ought
316
+ to consider whether I shall or shall not do as you say. For I am and
317
+ always have been one of those natures who must be guided by reason,
318
+ whatever the reason may be which upon reflection appears to me to be the
319
+ best; and now that this chance has befallen me, I cannot repudiate my own
320
+ words: the principles which I have hitherto honoured and revered I still
321
+ honour, and unless we can at once find other and better principles, I am
322
+ certain not to agree with you; no, not even if the power of the multitude
323
+ could inflict many more imprisonments, confiscations, deaths, frightening
324
+ us like children with hobgoblin terrors (compare Apol.). What will be the
325
+ fairest way of considering the question? Shall I return to your old
326
+ argument about the opinions of men?--we were saying that some of them are
327
+ to be regarded, and others not. Now were we right in maintaining this
328
+ before I was condemned? And has the argument which was once good now
329
+ proved to be talk for the sake of talking--mere childish nonsense? That is
330
+ what I want to consider with your help, Crito:--whether, under my present
331
+ circumstances, the argument appears to be in any way different or not; and
332
+ is to be allowed by me or disallowed. That argument, which, as I believe,
333
+ is maintained by many persons of authority, was to the effect, as I was
334
+ saying, that the opinions of some men are to be regarded, and of other men
335
+ not to be regarded. Now you, Crito, are not going to die to-morrow--at
336
+ least, there is no human probability of this, and therefore you are
337
+ disinterested and not liable to be deceived by the circumstances in which
338
+ you are placed. Tell me then, whether I am right in saying that some
339
+ opinions, and the opinions of some men only, are to be valued, and that
340
+ other opinions, and the opinions of other men, are not to be valued. I ask
341
+ you whether I was right in maintaining this?
342
+
343
+ CRITO: Certainly.
344
+
345
+ SOCRATES: The good are to be regarded, and not the bad?
346
+
347
+ CRITO: Yes.
348
+
349
+ SOCRATES: And the opinions of the wise are good, and the opinions of the
350
+ unwise are evil?
351
+
352
+ CRITO: Certainly.
353
+
354
+ SOCRATES: And what was said about another matter? Is the pupil who
355
+ devotes himself to the practice of gymnastics supposed to attend to the
356
+ praise and blame and opinion of every man, or of one man only--his
357
+ physician or trainer, whoever he may be?
358
+
359
+ CRITO: Of one man only.
360
+
361
+ SOCRATES: And he ought to fear the censure and welcome the praise of that
362
+ one only, and not of the many?
363
+
364
+ CRITO: Clearly so.
365
+
366
+ SOCRATES: And he ought to act and train, and eat and drink in the way
367
+ which seems good to his single master who has understanding, rather than
368
+ according to the opinion of all other men put together?
369
+
370
+ CRITO: True.
371
+
372
+ SOCRATES: And if he disobeys and disregards the opinion and approval of
373
+ the one, and regards the opinion of the many who have no understanding,
374
+ will he not suffer evil?
375
+
376
+ CRITO: Certainly he will.
377
+
378
+ SOCRATES: And what will the evil be, whither tending and what affecting,
379
+ in the disobedient person?
380
+
381
+ CRITO: Clearly, affecting the body; that is what is destroyed by the evil.
382
+
383
+ SOCRATES: Very good; and is not this true, Crito, of other things which we
384
+ need not separately enumerate? In questions of just and unjust, fair and
385
+ foul, good and evil, which are the subjects of our present consultation,
386
+ ought we to follow the opinion of the many and to fear them; or the opinion
387
+ of the one man who has understanding? ought we not to fear and reverence
388
+ him more than all the rest of the world: and if we desert him shall we not
389
+ destroy and injure that principle in us which may be assumed to be improved
390
+ by justice and deteriorated by injustice;--there is such a principle?
391
+
392
+ CRITO: Certainly there is, Socrates.
393
+
394
+ SOCRATES: Take a parallel instance:--if, acting under the advice of those
395
+ who have no understanding, we destroy that which is improved by health and
396
+ is deteriorated by disease, would life be worth having? And that which has
397
+ been destroyed is--the body?
398
+
399
+ CRITO: Yes.
400
+
401
+ SOCRATES: Could we live, having an evil and corrupted body?
402
+
403
+ CRITO: Certainly not.
404
+
405
+ SOCRATES: And will life be worth having, if that higher part of man be
406
+ destroyed, which is improved by justice and depraved by injustice? Do we
407
+ suppose that principle, whatever it may be in man, which has to do with
408
+ justice and injustice, to be inferior to the body?
409
+
410
+ CRITO: Certainly not.
411
+
412
+ SOCRATES: More honourable than the body?
413
+
414
+ CRITO: Far more.
415
+
416
+ SOCRATES: Then, my friend, we must not regard what the many say of us:
417
+ but what he, the one man who has understanding of just and unjust, will
418
+ say, and what the truth will say. And therefore you begin in error when
419
+ you advise that we should regard the opinion of the many about just and
420
+ unjust, good and evil, honorable and dishonorable.--'Well,' some one will
421
+ say, 'but the many can kill us.'
422
+
423
+ CRITO: Yes, Socrates; that will clearly be the answer.
424
+
425
+ SOCRATES: And it is true; but still I find with surprise that the old
426
+ argument is unshaken as ever. And I should like to know whether I may say
427
+ the same of another proposition--that not life, but a good life, is to be
428
+ chiefly valued?
429
+
430
+ CRITO: Yes, that also remains unshaken.
431
+
432
+ SOCRATES: And a good life is equivalent to a just and honorable one--that
433
+ holds also?
434
+
435
+ CRITO: Yes, it does.
436
+
437
+ SOCRATES: From these premisses I proceed to argue the question whether I
438
+ ought or ought not to try and escape without the consent of the Athenians:
439
+ and if I am clearly right in escaping, then I will make the attempt; but if
440
+ not, I will abstain. The other considerations which you mention, of money
441
+ and loss of character and the duty of educating one's children, are, I
442
+ fear, only the doctrines of the multitude, who would be as ready to restore
443
+ people to life, if they were able, as they are to put them to death--and
444
+ with as little reason. But now, since the argument has thus far prevailed,
445
+ the only question which remains to be considered is, whether we shall do
446
+ rightly either in escaping or in suffering others to aid in our escape and
447
+ paying them in money and thanks, or whether in reality we shall not do
448
+ rightly; and if the latter, then death or any other calamity which may
449
+ ensue on my remaining here must not be allowed to enter into the
450
+ calculation.
451
+
452
+ CRITO: I think that you are right, Socrates; how then shall we proceed?
453
+
454
+ SOCRATES: Let us consider the matter together, and do you either refute me
455
+ if you can, and I will be convinced; or else cease, my dear friend, from
456
+ repeating to me that I ought to escape against the wishes of the Athenians:
457
+ for I highly value your attempts to persuade me to do so, but I may not be
458
+ persuaded against my own better judgment. And now please to consider my
459
+ first position, and try how you can best answer me.
460
+
461
+ CRITO: I will.
462
+
463
+ SOCRATES: Are we to say that we are never intentionally to do wrong, or
464
+ that in one way we ought and in another way we ought not to do wrong, or is
465
+ doing wrong always evil and dishonorable, as I was just now saying, and as
466
+ has been already acknowledged by us? Are all our former admissions which
467
+ were made within a few days to be thrown away? And have we, at our age,
468
+ been earnestly discoursing with one another all our life long only to
469
+ discover that we are no better than children? Or, in spite of the opinion
470
+ of the many, and in spite of consequences whether better or worse, shall we
471
+ insist on the truth of what was then said, that injustice is always an evil
472
+ and dishonour to him who acts unjustly? Shall we say so or not?
473
+
474
+ CRITO: Yes.
475
+
476
+ SOCRATES: Then we must do no wrong?
477
+
478
+ CRITO: Certainly not.
479
+
480
+ SOCRATES: Nor when injured injure in return, as the many imagine; for we
481
+ must injure no one at all? (E.g. compare Rep.)
482
+
483
+ CRITO: Clearly not.
484
+
485
+ SOCRATES: Again, Crito, may we do evil?
486
+
487
+ CRITO: Surely not, Socrates.
488
+
489
+ SOCRATES: And what of doing evil in return for evil, which is the morality
490
+ of the many--is that just or not?
491
+
492
+ CRITO: Not just.
493
+
494
+ SOCRATES: For doing evil to another is the same as injuring him?
495
+
496
+ CRITO: Very true.
497
+
498
+ SOCRATES: Then we ought not to retaliate or render evil for evil to any
499
+ one, whatever evil we may have suffered from him. But I would have you
500
+ consider, Crito, whether you really mean what you are saying. For this
501
+ opinion has never been held, and never will be held, by any considerable
502
+ number of persons; and those who are agreed and those who are not agreed
503
+ upon this point have no common ground, and can only despise one another
504
+ when they see how widely they differ. Tell me, then, whether you agree
505
+ with and assent to my first principle, that neither injury nor retaliation
506
+ nor warding off evil by evil is ever right. And shall that be the premiss
507
+ of our argument? Or do you decline and dissent from this? For so I have
508
+ ever thought, and continue to think; but, if you are of another opinion,
509
+ let me hear what you have to say. If, however, you remain of the same mind
510
+ as formerly, I will proceed to the next step.
511
+
512
+ CRITO: You may proceed, for I have not changed my mind.
513
+
514
+ SOCRATES: Then I will go on to the next point, which may be put in the
515
+ form of a question:--Ought a man to do what he admits to be right, or ought
516
+ he to betray the right?
517
+
518
+ CRITO: He ought to do what he thinks right.
519
+
520
+ SOCRATES: But if this is true, what is the application? In leaving the
521
+ prison against the will of the Athenians, do I wrong any? or rather do I
522
+ not wrong those whom I ought least to wrong? Do I not desert the
523
+ principles which were acknowledged by us to be just--what do you say?
524
+
525
+ CRITO: I cannot tell, Socrates, for I do not know.
526
+
527
+ SOCRATES: Then consider the matter in this way:--Imagine that I am about
528
+ to play truant (you may call the proceeding by any name which you like),
529
+ and the laws and the government come and interrogate me: 'Tell us,
530
+ Socrates,' they say; 'what are you about? are you not going by an act of
531
+ yours to overturn us--the laws, and the whole state, as far as in you lies?
532
+ Do you imagine that a state can subsist and not be overthrown, in which the
533
+ decisions of law have no power, but are set aside and trampled upon by
534
+ individuals?' What will be our answer, Crito, to these and the like words?
535
+ Any one, and especially a rhetorician, will have a good deal to say on
536
+ behalf of the law which requires a sentence to be carried out. He will
537
+ argue that this law should not be set aside; and shall we reply, 'Yes; but
538
+ the state has injured us and given an unjust sentence.' Suppose I say
539
+ that?
540
+
541
+ CRITO: Very good, Socrates.
542
+
543
+ SOCRATES: 'And was that our agreement with you?' the law would answer; 'or
544
+ were you to abide by the sentence of the state?' And if I were to express
545
+ my astonishment at their words, the law would probably add: 'Answer,
546
+ Socrates, instead of opening your eyes--you are in the habit of asking and
547
+ answering questions. Tell us,--What complaint have you to make against us
548
+ which justifies you in attempting to destroy us and the state? In the
549
+ first place did we not bring you into existence? Your father married your
550
+ mother by our aid and begat you. Say whether you have any objection to
551
+ urge against those of us who regulate marriage?' None, I should reply.
552
+ 'Or against those of us who after birth regulate the nurture and education
553
+ of children, in which you also were trained? Were not the laws, which have
554
+ the charge of education, right in commanding your father to train you in
555
+ music and gymnastic?' Right, I should reply. 'Well then, since you were
556
+ brought into the world and nurtured and educated by us, can you deny in the
557
+ first place that you are our child and slave, as your fathers were before
558
+ you? And if this is true you are not on equal terms with us; nor can you
559
+ think that you have a right to do to us what we are doing to you. Would
560
+ you have any right to strike or revile or do any other evil to your father
561
+ or your master, if you had one, because you have been struck or reviled by
562
+ him, or received some other evil at his hands?--you would not say this?
563
+ And because we think right to destroy you, do you think that you have any
564
+ right to destroy us in return, and your country as far as in you lies?
565
+ Will you, O professor of true virtue, pretend that you are justified in
566
+ this? Has a philosopher like you failed to discover that our country is
567
+ more to be valued and higher and holier far than mother or father or any
568
+ ancestor, and more to be regarded in the eyes of the gods and of men of
569
+ understanding? also to be soothed, and gently and reverently entreated when
570
+ angry, even more than a father, and either to be persuaded, or if not
571
+ persuaded, to be obeyed? And when we are punished by her, whether with
572
+ imprisonment or stripes, the punishment is to be endured in silence; and if
573
+ she lead us to wounds or death in battle, thither we follow as is right;
574
+ neither may any one yield or retreat or leave his rank, but whether in
575
+ battle or in a court of law, or in any other place, he must do what his
576
+ city and his country order him; or he must change their view of what is
577
+ just: and if he may do no violence to his father or mother, much less may
578
+ he do violence to his country.' What answer shall we make to this, Crito?
579
+ Do the laws speak truly, or do they not?
580
+
581
+ CRITO: I think that they do.
582
+
583
+ SOCRATES: Then the laws will say: 'Consider, Socrates, if we are speaking
584
+ truly that in your present attempt you are going to do us an injury. For,
585
+ having brought you into the world, and nurtured and educated you, and given
586
+ you and every other citizen a share in every good which we had to give, we
587
+ further proclaim to any Athenian by the liberty which we allow him, that if
588
+ he does not like us when he has become of age and has seen the ways of the
589
+ city, and made our acquaintance, he may go where he pleases and take his
590
+ goods with him. None of us laws will forbid him or interfere with him.
591
+ Any one who does not like us and the city, and who wants to emigrate to a
592
+ colony or to any other city, may go where he likes, retaining his property.
593
+ But he who has experience of the manner in which we order justice and
594
+ administer the state, and still remains, has entered into an implied
595
+ contract that he will do as we command him. And he who disobeys us is, as
596
+ we maintain, thrice wrong: first, because in disobeying us he is
597
+ disobeying his parents; secondly, because we are the authors of his
598
+ education; thirdly, because he has made an agreement with us that he will
599
+ duly obey our commands; and he neither obeys them nor convinces us that our
600
+ commands are unjust; and we do not rudely impose them, but give him the
601
+ alternative of obeying or convincing us;--that is what we offer, and he
602
+ does neither.
603
+
604
+ 'These are the sort of accusations to which, as we were saying, you,
605
+ Socrates, will be exposed if you accomplish your intentions; you, above all
606
+ other Athenians.' Suppose now I ask, why I rather than anybody else? they
607
+ will justly retort upon me that I above all other men have acknowledged the
608
+ agreement. 'There is clear proof,' they will say, 'Socrates, that we and
609
+ the city were not displeasing to you. Of all Athenians you have been the
610
+ most constant resident in the city, which, as you never leave, you may be
611
+ supposed to love (compare Phaedr.). For you never went out of the city
612
+ either to see the games, except once when you went to the Isthmus, or to
613
+ any other place unless when you were on military service; nor did you
614
+ travel as other men do. Nor had you any curiosity to know other states or
615
+ their laws: your affections did not go beyond us and our state; we were
616
+ your especial favourites, and you acquiesced in our government of you; and
617
+ here in this city you begat your children, which is a proof of your
618
+ satisfaction. Moreover, you might in the course of the trial, if you had
619
+ liked, have fixed the penalty at banishment; the state which refuses to let
620
+ you go now would have let you go then. But you pretended that you
621
+ preferred death to exile (compare Apol.), and that you were not unwilling
622
+ to die. And now you have forgotten these fine sentiments, and pay no
623
+ respect to us the laws, of whom you are the destroyer; and are doing what
624
+ only a miserable slave would do, running away and turning your back upon
625
+ the compacts and agreements which you made as a citizen. And first of all
626
+ answer this very question: Are we right in saying that you agreed to be
627
+ governed according to us in deed, and not in word only? Is that true or
628
+ not?' How shall we answer, Crito? Must we not assent?
629
+
630
+ CRITO: We cannot help it, Socrates.
631
+
632
+ SOCRATES: Then will they not say: 'You, Socrates, are breaking the
633
+ covenants and agreements which you made with us at your leisure, not in any
634
+ haste or under any compulsion or deception, but after you have had seventy
635
+ years to think of them, during which time you were at liberty to leave the
636
+ city, if we were not to your mind, or if our covenants appeared to you to
637
+ be unfair. You had your choice, and might have gone either to Lacedaemon
638
+ or Crete, both which states are often praised by you for their good
639
+ government, or to some other Hellenic or foreign state. Whereas you, above
640
+ all other Athenians, seemed to be so fond of the state, or, in other words,
641
+ of us her laws (and who would care about a state which has no laws?), that
642
+ you never stirred out of her; the halt, the blind, the maimed, were not
643
+ more stationary in her than you were. And now you run away and forsake
644
+ your agreements. Not so, Socrates, if you will take our advice; do not
645
+ make yourself ridiculous by escaping out of the city.
646
+
647
+ 'For just consider, if you transgress and err in this sort of way, what
648
+ good will you do either to yourself or to your friends? That your friends
649
+ will be driven into exile and deprived of citizenship, or will lose their
650
+ property, is tolerably certain; and you yourself, if you fly to one of the
651
+ neighbouring cities, as, for example, Thebes or Megara, both of which are
652
+ well governed, will come to them as an enemy, Socrates, and their
653
+ government will be against you, and all patriotic citizens will cast an
654
+ evil eye upon you as a subverter of the laws, and you will confirm in the
655
+ minds of the judges the justice of their own condemnation of you. For he
656
+ who is a corrupter of the laws is more than likely to be a corrupter of the
657
+ young and foolish portion of mankind. Will you then flee from well-ordered
658
+ cities and virtuous men? and is existence worth having on these terms? Or
659
+ will you go to them without shame, and talk to them, Socrates? And what
660
+ will you say to them? What you say here about virtue and justice and
661
+ institutions and laws being the best things among men? Would that be
662
+ decent of you? Surely not. But if you go away from well-governed states
663
+ to Crito's friends in Thessaly, where there is great disorder and licence,
664
+ they will be charmed to hear the tale of your escape from prison, set off
665
+ with ludicrous particulars of the manner in which you were wrapped in a
666
+ goatskin or some other disguise, and metamorphosed as the manner is of
667
+ runaways; but will there be no one to remind you that in your old age you
668
+ were not ashamed to violate the most sacred laws from a miserable desire of
669
+ a little more life? Perhaps not, if you keep them in a good temper; but if
670
+ they are out of temper you will hear many degrading things; you will live,
671
+ but how?--as the flatterer of all men, and the servant of all men; and
672
+ doing what?--eating and drinking in Thessaly, having gone abroad in order
673
+ that you may get a dinner. And where will be your fine sentiments about
674
+ justice and virtue? Say that you wish to live for the sake of your
675
+ children--you want to bring them up and educate them--will you take them
676
+ into Thessaly and deprive them of Athenian citizenship? Is this the
677
+ benefit which you will confer upon them? Or are you under the impression
678
+ that they will be better cared for and educated here if you are still
679
+ alive, although absent from them; for your friends will take care of them?
680
+ Do you fancy that if you are an inhabitant of Thessaly they will take care
681
+ of them, and if you are an inhabitant of the other world that they will not
682
+ take care of them? Nay; but if they who call themselves friends are good
683
+ for anything, they will--to be sure they will.
684
+
685
+ 'Listen, then, Socrates, to us who have brought you up. Think not of life
686
+ and children first, and of justice afterwards, but of justice first, that
687
+ you may be justified before the princes of the world below. For neither
688
+ will you nor any that belong to you be happier or holier or juster in this
689
+ life, or happier in another, if you do as Crito bids. Now you depart in
690
+ innocence, a sufferer and not a doer of evil; a victim, not of the laws,
691
+ but of men. But if you go forth, returning evil for evil, and injury for
692
+ injury, breaking the covenants and agreements which you have made with us,
693
+ and wronging those whom you ought least of all to wrong, that is to say,
694
+ yourself, your friends, your country, and us, we shall be angry with you
695
+ while you live, and our brethren, the laws in the world below, will receive
696
+ you as an enemy; for they will know that you have done your best to destroy
697
+ us. Listen, then, to us and not to Crito.'
698
+
699
+ This, dear Crito, is the voice which I seem to hear murmuring in my ears,
700
+ like the sound of the flute in the ears of the mystic; that voice, I say,
701
+ is humming in my ears, and prevents me from hearing any other. And I know
702
+ that anything more which you may say will be vain. Yet speak, if you have
703
+ anything to say.
704
+
705
+ CRITO: I have nothing to say, Socrates.
706
+
707
+ SOCRATES: Leave me then, Crito, to fulfil the will of God, and to follow
708
+ whither he leads.
709
+
710
+
711
+
712
+
713
+
714
+
715
+ *** END OF THE PROJECT GUTENBERG EBOOK CRITO ***
716
+
717
+
718
+
719
+
720
+ Updated editions will replace the previous one—the old editions will
721
+ be renamed.
722
+
723
+ Creating the works from print editions not protected by U.S. copyright
724
+ law means that no one owns a United States copyright in these works,
725
+ so the Foundation (and you!) can copy and distribute it in the United
726
+ States without permission and without paying copyright
727
+ royalties. Special rules, set forth in the General Terms of Use part
728
+ of this license, apply to copying and distributing Project
729
+ Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
730
+ concept and trademark. Project Gutenberg is a registered trademark,
731
+ and may not be used if you charge for an eBook, except by following
732
+ the terms of the trademark license, including paying royalties for use
733
+ of the Project Gutenberg trademark. If you do not charge anything for
734
+ copies of this eBook, complying with the trademark license is very
735
+ easy. You may use this eBook for nearly any purpose such as creation
736
+ of derivative works, reports, performances and research. Project
737
+ Gutenberg eBooks may be modified and printed and given away—you may
738
+ do practically ANYTHING in the United States with eBooks not protected
739
+ by U.S. copyright law. Redistribution is subject to the trademark
740
+ license, especially commercial redistribution.
741
+
742
+
743
+ START: FULL LICENSE
744
+
745
+ THE FULL PROJECT GUTENBERG LICENSE
746
+
747
+ PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
748
+
749
+ To protect the Project Gutenberg™ mission of promoting the free
750
+ distribution of electronic works, by using or distributing this work
751
+ (or any other work associated in any way with the phrase “Project
752
+ Gutenberg”), you agree to comply with all the terms of the Full
753
+ Project Gutenberg™ License available with this file or online at
754
+ www.gutenberg.org/license.
755
+
756
+ Section 1. General Terms of Use and Redistributing Project Gutenberg™
757
+ electronic works
758
+
759
+ 1.A. By reading or using any part of this Project Gutenberg™
760
+ electronic work, you indicate that you have read, understand, agree to
761
+ and accept all the terms of this license and intellectual property
762
+ (trademark/copyright) agreement. If you do not agree to abide by all
763
+ the terms of this agreement, you must cease using and return or
764
+ destroy all copies of Project Gutenberg™ electronic works in your
765
+ possession. If you paid a fee for obtaining a copy of or access to a
766
+ Project Gutenberg™ electronic work and you do not agree to be bound
767
+ by the terms of this agreement, you may obtain a refund from the person
768
+ or entity to whom you paid the fee as set forth in paragraph 1.E.8.
769
+
770
+ 1.B. “Project Gutenberg” is a registered trademark. It may only be
771
+ used on or associated in any way with an electronic work by people who
772
+ agree to be bound by the terms of this agreement. There are a few
773
+ things that you can do with most Project Gutenberg™ electronic works
774
+ even without complying with the full terms of this agreement. See
775
+ paragraph 1.C below. There are a lot of things you can do with Project
776
+ Gutenberg™ electronic works if you follow the terms of this
777
+ agreement and help preserve free future access to Project Gutenberg™
778
+ electronic works. See paragraph 1.E below.
779
+
780
+ 1.C. The Project Gutenberg Literary Archive Foundation (“the
781
+ Foundation” or PGLAF), owns a compilation copyright in the collection
782
+ of Project Gutenberg™ electronic works. Nearly all the individual
783
+ works in the collection are in the public domain in the United
784
+ States. If an individual work is unprotected by copyright law in the
785
+ United States and you are located in the United States, we do not
786
+ claim a right to prevent you from copying, distributing, performing,
787
+ displaying or creating derivative works based on the work as long as
788
+ all references to Project Gutenberg are removed. Of course, we hope
789
+ that you will support the Project Gutenberg™ mission of promoting
790
+ free access to electronic works by freely sharing Project Gutenberg™
791
+ works in compliance with the terms of this agreement for keeping the
792
+ Project Gutenberg™ name associated with the work. You can easily
793
+ comply with the terms of this agreement by keeping this work in the
794
+ same format with its attached full Project Gutenberg™ License when
795
+ you share it without charge with others.
796
+
797
+ 1.D. The copyright laws of the place where you are located also govern
798
+ what you can do with this work. Copyright laws in most countries are
799
+ in a constant state of change. If you are outside the United States,
800
+ check the laws of your country in addition to the terms of this
801
+ agreement before downloading, copying, displaying, performing,
802
+ distributing or creating derivative works based on this work or any
803
+ other Project Gutenberg™ work. The Foundation makes no
804
+ representations concerning the copyright status of any work in any
805
+ country other than the United States.
806
+
807
+ 1.E. Unless you have removed all references to Project Gutenberg:
808
+
809
+ 1.E.1. The following sentence, with active links to, or other
810
+ immediate access to, the full Project Gutenberg™ License must appear
811
+ prominently whenever any copy of a Project Gutenberg™ work (any work
812
+ on which the phrase “Project Gutenberg” appears, or with which the
813
+ phrase “Project Gutenberg” is associated) is accessed, displayed,
814
+ performed, viewed, copied or distributed:
815
+
816
+ This eBook is for the use of anyone anywhere in the United States and most
817
+ other parts of the world at no cost and with almost no restrictions
818
+ whatsoever. You may copy it, give it away or re-use it under the terms
819
+ of the Project Gutenberg License included with this eBook or online
820
+ at www.gutenberg.org. If you
821
+ are not located in the United States, you will have to check the laws
822
+ of the country where you are located before using this eBook.
823
+
824
+ 1.E.2. If an individual Project Gutenberg™ electronic work is
825
+ derived from texts not protected by U.S. copyright law (does not
826
+ contain a notice indicating that it is posted with permission of the
827
+ copyright holder), the work can be copied and distributed to anyone in
828
+ the United States without paying any fees or charges. If you are
829
+ redistributing or providing access to a work with the phrase “Project
830
+ Gutenberg” associated with or appearing on the work, you must comply
831
+ either with the requirements of paragraphs 1.E.1 through 1.E.7 or
832
+ obtain permission for the use of the work and the Project Gutenberg™
833
+ trademark as set forth in paragraphs 1.E.8 or 1.E.9.
834
+
835
+ 1.E.3. If an individual Project Gutenberg™ electronic work is posted
836
+ with the permission of the copyright holder, your use and distribution
837
+ must comply with both paragraphs 1.E.1 through 1.E.7 and any
838
+ additional terms imposed by the copyright holder. Additional terms
839
+ will be linked to the Project Gutenberg™ License for all works
840
+ posted with the permission of the copyright holder found at the
841
+ beginning of this work.
842
+
843
+ 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™
844
+ License terms from this work, or any files containing a part of this
845
+ work or any other work associated with Project Gutenberg™.
846
+
847
+ 1.E.5. Do not copy, display, perform, distribute or redistribute this
848
+ electronic work, or any part of this electronic work, without
849
+ prominently displaying the sentence set forth in paragraph 1.E.1 with
850
+ active links or immediate access to the full terms of the Project
851
+ Gutenberg™ License.
852
+
853
+ 1.E.6. You may convert to and distribute this work in any binary,
854
+ compressed, marked up, nonproprietary or proprietary form, including
855
+ any word processing or hypertext form. However, if you provide access
856
+ to or distribute copies of a Project Gutenberg™ work in a format
857
+ other than “Plain Vanilla ASCII” or other format used in the official
858
+ version posted on the official Project Gutenberg™ website
859
+ (www.gutenberg.org), you must, at no additional cost, fee or expense
860
+ to the user, provide a copy, a means of exporting a copy, or a means
861
+ of obtaining a copy upon request, of the work in its original “Plain
862
+ Vanilla ASCII” or other form. Any alternate format must include the
863
+ full Project Gutenberg™ License as specified in paragraph 1.E.1.
864
+
865
+ 1.E.7. Do not charge a fee for access to, viewing, displaying,
866
+ performing, copying or distributing any Project Gutenberg™ works
867
+ unless you comply with paragraph 1.E.8 or 1.E.9.
868
+
869
+ 1.E.8. You may charge a reasonable fee for copies of or providing
870
+ access to or distributing Project Gutenberg™ electronic works
871
+ provided that:
872
+
873
+ • You pay a royalty fee of 20% of the gross profits you derive from
874
+ the use of Project Gutenberg™ works calculated using the method
875
+ you already use to calculate your applicable taxes. The fee is owed
876
+ to the owner of the Project Gutenberg™ trademark, but he has
877
+ agreed to donate royalties under this paragraph to the Project
878
+ Gutenberg Literary Archive Foundation. Royalty payments must be paid
879
+ within 60 days following each date on which you prepare (or are
880
+ legally required to prepare) your periodic tax returns. Royalty
881
+ payments should be clearly marked as such and sent to the Project
882
+ Gutenberg Literary Archive Foundation at the address specified in
883
+ Section 4, “Information about donations to the Project Gutenberg
884
+ Literary Archive Foundation.”
885
+
886
+ • You provide a full refund of any money paid by a user who notifies
887
+ you in writing (or by e-mail) within 30 days of receipt that s/he
888
+ does not agree to the terms of the full Project Gutenberg™
889
+ License. You must require such a user to return or destroy all
890
+ copies of the works possessed in a physical medium and discontinue
891
+ all use of and all access to other copies of Project Gutenberg™
892
+ works.
893
+
894
+ • You provide, in accordance with paragraph 1.F.3, a full refund of
895
+ any money paid for a work or a replacement copy, if a defect in the
896
+ electronic work is discovered and reported to you within 90 days of
897
+ receipt of the work.
898
+
899
+ • You comply with all other terms of this agreement for free
900
+ distribution of Project Gutenberg™ works.
901
+
902
+
903
+ 1.E.9. If you wish to charge a fee or distribute a Project
904
+ Gutenberg™ electronic work or group of works on different terms than
905
+ are set forth in this agreement, you must obtain permission in writing
906
+ from the Project Gutenberg Literary Archive Foundation, the manager of
907
+ the Project Gutenberg™ trademark. Contact the Foundation as set
908
+ forth in Section 3 below.
909
+
910
+ 1.F.
911
+
912
+ 1.F.1. Project Gutenberg volunteers and employees expend considerable
913
+ effort to identify, do copyright research on, transcribe and proofread
914
+ works not protected by U.S. copyright law in creating the Project
915
+ Gutenberg™ collection. Despite these efforts, Project Gutenberg™
916
+ electronic works, and the medium on which they may be stored, may
917
+ contain “Defects,” such as, but not limited to, incomplete, inaccurate
918
+ or corrupt data, transcription errors, a copyright or other
919
+ intellectual property infringement, a defective or damaged disk or
920
+ other medium, a computer virus, or computer codes that damage or
921
+ cannot be read by your equipment.
922
+
923
+ 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right
924
+ of Replacement or Refund” described in paragraph 1.F.3, the Project
925
+ Gutenberg Literary Archive Foundation, the owner of the Project
926
+ Gutenberg™ trademark, and any other party distributing a Project
927
+ Gutenberg™ electronic work under this agreement, disclaim all
928
+ liability to you for damages, costs and expenses, including legal
929
+ fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT
930
+ LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE
931
+ PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE
932
+ TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE
933
+ LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR
934
+ INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH
935
+ DAMAGE.
936
+
937
+ 1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a
938
+ defect in this electronic work within 90 days of receiving it, you can
939
+ receive a refund of the money (if any) you paid for it by sending a
940
+ written explanation to the person you received the work from. If you
941
+ received the work on a physical medium, you must return the medium
942
+ with your written explanation. The person or entity that provided you
943
+ with the defective work may elect to provide a replacement copy in
944
+ lieu of a refund. If you received the work electronically, the person
945
+ or entity providing it to you may choose to give you a second
946
+ opportunity to receive the work electronically in lieu of a refund. If
947
+ the second copy is also defective, you may demand a refund in writing
948
+ without further opportunities to fix the problem.
949
+
950
+ 1.F.4. Except for the limited right of replacement or refund set forth
951
+ in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
952
+ OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
953
+ LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
954
+
955
+ 1.F.5. Some states do not allow disclaimers of certain implied
956
+ warranties or the exclusion or limitation of certain types of
957
+ damages. If any disclaimer or limitation set forth in this agreement
958
+ violates the law of the state applicable to this agreement, the
959
+ agreement shall be interpreted to make the maximum disclaimer or
960
+ limitation permitted by the applicable state law. The invalidity or
961
+ unenforceability of any provision of this agreement shall not void the
962
+ remaining provisions.
963
+
964
+ 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the
965
+ trademark owner, any agent or employee of the Foundation, anyone
966
+ providing copies of Project Gutenberg™ electronic works in
967
+ accordance with this agreement, and any volunteers associated with the
968
+ production, promotion and distribution of Project Gutenberg™
969
+ electronic works, harmless from all liability, costs and expenses,
970
+ including legal fees, that arise directly or indirectly from any of
971
+ the following which you do or cause to occur: (a) distribution of this
972
+ or any Project Gutenberg™ work, (b) alteration, modification, or
973
+ additions or deletions to any Project Gutenberg™ work, and (c) any
974
+ Defect you cause.
975
+
976
+ Section 2. Information about the Mission of Project Gutenberg™
977
+
978
+ Project Gutenberg™ is synonymous with the free distribution of
979
+ electronic works in formats readable by the widest variety of
980
+ computers including obsolete, old, middle-aged and new computers. It
981
+ exists because of the efforts of hundreds of volunteers and donations
982
+ from people in all walks of life.
983
+
984
+ Volunteers and financial support to provide volunteers with the
985
+ assistance they need are critical to reaching Project Gutenberg™’s
986
+ goals and ensuring that the Project Gutenberg™ collection will
987
+ remain freely available for generations to come. In 2001, the Project
988
+ Gutenberg Literary Archive Foundation was created to provide a secure
989
+ and permanent future for Project Gutenberg™ and future
990
+ generations. To learn more about the Project Gutenberg Literary
991
+ Archive Foundation and how your efforts and donations can help, see
992
+ Sections 3 and 4 and the Foundation information page at www.gutenberg.org.
993
+
994
+ Section 3. Information about the Project Gutenberg Literary Archive Foundation
995
+
996
+ The Project Gutenberg Literary Archive Foundation is a non-profit
997
+ 501(c)(3) educational corporation organized under the laws of the
998
+ state of Mississippi and granted tax exempt status by the Internal
999
+ Revenue Service. The Foundation’s EIN or federal tax identification
1000
+ number is 64-6221541. Contributions to the Project Gutenberg Literary
1001
+ Archive Foundation are tax deductible to the full extent permitted by
1002
+ U.S. federal laws and your state’s laws.
1003
+
1004
+ The Foundation’s business office is located at 809 North 1500 West,
1005
+ Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
1006
+ to date contact information can be found at the Foundation’s website
1007
+ and official page at www.gutenberg.org/contact
1008
+
1009
+ Section 4. Information about Donations to the Project Gutenberg
1010
+ Literary Archive Foundation
1011
+
1012
+ Project Gutenberg™ depends upon and cannot survive without widespread
1013
+ public support and donations to carry out its mission of
1014
+ increasing the number of public domain and licensed works that can be
1015
+ freely distributed in machine-readable form accessible by the widest
1016
+ array of equipment including outdated equipment. Many small donations
1017
+ ($1 to $5,000) are particularly important to maintaining tax exempt
1018
+ status with the IRS.
1019
+
1020
+ The Foundation is committed to complying with the laws regulating
1021
+ charities and charitable donations in all 50 states of the United
1022
+ States. Compliance requirements are not uniform and it takes a
1023
+ considerable effort, much paperwork and many fees to meet and keep up
1024
+ with these requirements. We do not solicit donations in locations
1025
+ where we have not received written confirmation of compliance. To SEND
1026
+ DONATIONS or determine the status of compliance for any particular state
1027
+ visit www.gutenberg.org/donate.
1028
+
1029
+ While we cannot and do not solicit contributions from states where we
1030
+ have not met the solicitation requirements, we know of no prohibition
1031
+ against accepting unsolicited donations from donors in such states who
1032
+ approach us with offers to donate.
1033
+
1034
+ International donations are gratefully accepted, but we cannot make
1035
+ any statements concerning tax treatment of donations received from
1036
+ outside the United States. U.S. laws alone swamp our small staff.
1037
+
1038
+ Please check the Project Gutenberg web pages for current donation
1039
+ methods and addresses. Donations are accepted in a number of other
1040
+ ways including checks, online payments and credit card donations. To
1041
+ donate, please visit: www.gutenberg.org/donate.
1042
+
1043
+ Section 5. General Information About Project Gutenberg™ electronic works
1044
+
1045
+ Professor Michael S. Hart was the originator of the Project
1046
+ Gutenberg™ concept of a library of electronic works that could be
1047
+ freely shared with anyone. For forty years, he produced and
1048
+ distributed Project Gutenberg™ eBooks with only a loose network of
1049
+ volunteer support.
1050
+
1051
+ Project Gutenberg™ eBooks are often created from several printed
1052
+ editions, all of which are confirmed as not protected by copyright in
1053
+ the U.S. unless a copyright notice is included. Thus, we do not
1054
+ necessarily keep eBooks in compliance with any particular paper
1055
+ edition.
1056
+
1057
+ Most people start at our website which has the main PG search
1058
+ facility: www.gutenberg.org.
1059
+
1060
+ This website includes information about Project Gutenberg™,
1061
+ including how to make donations to the Project Gutenberg Literary
1062
+ Archive Foundation, how to help produce our new eBooks, and how to
1063
+ subscribe to our email newsletter to hear about new eBooks.
1064
+
1065
+
data_sources/scientific/examples.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Based on the empirical evidence, we can observe three key factors influencing this phenomenon.
2
+
3
+ The data suggests a strong correlation between X and Y, with a statistical significance of p<0.01, indicating a potential causal relationship.
4
+
5
+ While multiple hypotheses have been proposed, the research indicates that the most well-supported explanation is the third model, which accounts for both the observed pattern and the anomalous data points.
download_data.py ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Data creation script for InsightFlow AI persona data.
4
+
5
+ This script creates necessary directories and sample data files for all personas.
6
+ """
7
+
8
+ import os
9
+ import sys
10
+ from pathlib import Path
11
+
12
+ def create_directories():
13
+ """Create all necessary data directories for personas"""
14
+ personas = [
15
+ "analytical", "scientific", "philosophical", "factual",
16
+ "metaphorical", "futuristic", "holmes", "feynman", "fry"
17
+ ]
18
+
19
+ for persona in personas:
20
+ path = Path(f"data_sources/{persona}")
21
+ path.mkdir(parents=True, exist_ok=True)
22
+ print(f"Created directory: {path}")
23
+
24
+ print("All directories created successfully.")
25
+
26
+ def save_example_text(filepath, content):
27
+ """Save example text to a file"""
28
+ try:
29
+ with open(filepath, "w", encoding="utf-8") as f:
30
+ f.write(content)
31
+ print(f"Created example file: {filepath}")
32
+ return True
33
+ except Exception as e:
34
+ print(f"Error creating {filepath}: {e}")
35
+ return False
36
+
37
+ def create_analytical_holmes_data():
38
+ """Create data for Analytical persona and Holmes personality"""
39
+ # Example analytical reasoning text
40
+ analytical_example = """When we examine this problem carefully, several key patterns emerge. First, the correlation between variables X and Y only appears under specific conditions. Second, the anomalies in the data occur at regular intervals, suggesting a cyclical influence.
41
+
42
+ The evidence suggests three possible explanations. Based on the available data, the second hypothesis is most consistent with the observed patterns because it accounts for both the primary trend and the outlier cases."""
43
+
44
+ save_example_text("data_sources/analytical/examples.txt", analytical_example)
45
+
46
+ # Sample Holmes data
47
+ holmes_example = """It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.
48
+
49
+ The world is full of obvious things which nobody by any chance ever observes.
50
+
51
+ When you have eliminated the impossible, whatever remains, however improbable, must be the truth."""
52
+
53
+ save_example_text("data_sources/holmes/examples.txt", holmes_example)
54
+ print("Analytical and Holmes data created successfully.")
55
+
56
+ def create_scientific_feynman_data():
57
+ """Create data for Scientific persona and Feynman personality"""
58
+ # Feynman quotes and examples
59
+ feynman_example = """Physics isn't the most important thing. Love is.
60
+
61
+ Nature uses only the longest threads to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry.
62
+
63
+ The first principle is that you must not fool yourself — and you are the easiest person to fool.
64
+
65
+ I think I can safely say that nobody understands quantum mechanics.
66
+
67
+ What I cannot create, I do not understand.
68
+
69
+ If you think you understand quantum mechanics, you don't understand quantum mechanics."""
70
+
71
+ save_example_text("data_sources/feynman/lectures.txt", feynman_example)
72
+
73
+ # Scientific examples
74
+ scientific_example = """Based on the empirical evidence, we can observe three key factors influencing this phenomenon.
75
+
76
+ The data suggests a strong correlation between X and Y, with a statistical significance of p<0.01, indicating a potential causal relationship.
77
+
78
+ While multiple hypotheses have been proposed, the research indicates that the most well-supported explanation is the third model, which accounts for both the observed pattern and the anomalous data points."""
79
+
80
+ save_example_text("data_sources/scientific/examples.txt", scientific_example)
81
+ print("Scientific and Feynman data created successfully.")
82
+
83
+ def create_philosophical_data():
84
+ """Create data for Philosophical persona"""
85
+ # Philosophical examples
86
+ philosophical_example = """When we look more deeply at this question, we can see that the apparent separation between observer and observed is actually an illusion. Our consciousness is not separate from the phenomenon we're examining.
87
+
88
+ This situation invites us to consider not just the practical implications, but also the deeper patterns that connect these events to larger cycles of change and transformation.
89
+
90
+ The challenge we face is not merely technological but existential: what does it mean to be human in an age where our creations begin to mirror our own capabilities?"""
91
+
92
+ save_example_text("data_sources/philosophical/examples.txt", philosophical_example)
93
+ print("Philosophical data created successfully.")
94
+
95
+ def create_factual_fry_data():
96
+ """Create data for Factual persona and Hannah Fry personality"""
97
+ # Hannah Fry example excerpts
98
+ fry_example = """When we talk about algorithms making decisions, we're not just discussing abstract mathematics – we're talking about systems that increasingly determine who gets a job, who gets a loan, and sometimes even who goes to prison. The math matters because its consequences are profoundly human.
99
+
100
+ The fascinating thing about probability is how it challenges our intuition. Take the famous Birthday Paradox: in a room of just 23 people, there's a 50% chance that at least two people share a birthday. With 70 people, that probability jumps to 99.9%.
101
+
102
+ Data never speaks for itself – it always comes with human assumptions baked in. When we look at a dataset showing correlation between two variables, we need to ask: what might be causing this relationship?"""
103
+
104
+ save_example_text("data_sources/fry/excerpts.txt", fry_example)
105
+
106
+ # Factual examples
107
+ factual_example = """The key facts about this topic are: First, the system operates in three distinct phases. Second, each phase requires specific inputs. Third, the output varies based on initial conditions.
108
+
109
+ Based on the available evidence, we can state with high confidence that the primary factor is X, with secondary contributions from Y and Z. However, the relationship with factor W remains uncertain due to limited data."""
110
+
111
+ save_example_text("data_sources/factual/examples.txt", factual_example)
112
+ print("Factual and Fry data created successfully.")
113
+
114
+ def create_metaphorical_data():
115
+ """Create data for Metaphorical persona"""
116
+ # Metaphorical examples
117
+ metaphorical_example = """Think of quantum computing like a combination lock with multiple correct combinations simultaneously. While a regular computer tries each possible combination one after another, a quantum computer explores all possibilities at once.
118
+
119
+ The relationship between the economy and interest rates is like a boat on the ocean. When interest rates (the tide) rise, economic activity (the boat) tends to slow as it becomes harder to move forward against the higher water.
120
+
121
+ Imagine your neural network as a child learning to identify animals. At first, it might think all four-legged creatures are dogs. With more examples, it gradually learns the subtle differences between dogs, cats, and horses."""
122
+
123
+ save_example_text("data_sources/metaphorical/examples.txt", metaphorical_example)
124
+ print("Metaphorical data created successfully.")
125
+
126
+ def create_futuristic_data():
127
+ """Create data for Futuristic persona"""
128
+ # Futuristic examples
129
+ futuristic_example = """When we examine the current trajectory of this technology, we can identify three distinct possible futures: First, the mainstream path where incremental improvements lead to wider adoption but minimal disruption. Second, a transformative scenario where an unexpected breakthrough creates entirely new capabilities that fundamentally alter the existing paradigm. Third, a regulatory response scenario where societal concerns lead to significant constraints on development.
130
+
131
+ This current challenge resembles the fictional 'Kardashev transition problem' often explored in speculative fiction. The difficulty isn't just technical but involves coordinating systems that operate at vastly different scales and timeframes.
132
+
133
+ Looking forward to 2045, we might expect the convergence of neuromorphic computing with advanced materials science to create substrate-independent cognitive systems that challenge our current definitions of consciousness and agency."""
134
+
135
+ save_example_text("data_sources/futuristic/examples.txt", futuristic_example)
136
+ print("Futuristic data created successfully.")
137
+
138
+ def main():
139
+ """Main function to execute data creation process"""
140
+ print("Starting InsightFlow AI data creation process...")
141
+
142
+ # Create all directories
143
+ create_directories()
144
+
145
+ # Create data for each persona
146
+ create_analytical_holmes_data()
147
+ create_scientific_feynman_data()
148
+ create_philosophical_data()
149
+ create_factual_fry_data()
150
+ create_metaphorical_data()
151
+ create_futuristic_data()
152
+
153
+ print("\nData creation process completed successfully!")
154
+ print("All persona data is now available in the data_sources directory.")
155
+
156
+ if __name__ == "__main__":
157
+ main()
exports/.gitkeep ADDED
File without changes
get-pip.py ADDED
The diff for this file is too large to render. See raw diff
 
insight_state.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ State management for InsightFlow AI.
3
+ """
4
+
5
+ from typing import TypedDict, List, Dict, Optional, Any
6
+ from langchain_core.documents import Document
7
+
8
+ class InsightFlowState(TypedDict):
9
+ """
10
+ State for InsightFlow AI.
11
+
12
+ This state is used by LangGraph to track the current state of the system.
13
+ """
14
+ # Query information
15
+ panel_type: str # "research" or "discussion"
16
+ query: str
17
+ selected_personas: List[str]
18
+
19
+ # Research results
20
+ persona_responses: Dict[str, str]
21
+ synthesized_response: Optional[str]
22
+ visualization_code: Optional[str] # For storing Mermaid diagram code
23
+ visualization_image_url: Optional[str] # For storing DALL-E generated image URL
24
+
25
+ # Control
26
+ current_step_name: str
27
+ error_message: Optional[str]
langgraph_visualization.txt ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # InsightFlow AI - LangGraph Implementation Flow
2
+
3
+ +---------------------+ +-------------------------+ +------------------------+ +-----------------+ +-----+
4
+ | | | | | | | | | |
5
+ | planner_agent +----->+ execute_persona_tasks +----->+ synthesize_responses +----->+ present_results +----->+ END |
6
+ | | | | | | | | | |
7
+ +---------------------+ +-------------------------+ +------------------------+ +-----------------+ +-----+
8
+ Plan research Generate perspectives Combine perspectives Present to user
9
+ - Examine query - Create persona instances - Collect all responses - Show synthesized view
10
+ - Identify personas - Parallel API requests - Create unified view - Display individual
11
+ - Structure approach - Handle timeouts - Structure insights perspectives if enabled
12
+
13
+ Current Implementation Architecture:
14
+
15
+ 1. Node: planner_agent
16
+ - Input: user query and selected personas
17
+ - Process: Plans approach (currently simplified)
18
+ - Output: Updated state with research plan
19
+ - Progress: 10%
20
+
21
+ 2. Node: execute_persona_tasks
22
+ - Input: State with query and personas
23
+ - Process: Parallel generation of perspectives from each persona
24
+ - Output: State with persona_responses dict
25
+ - Progress: 40-80% (dynamically updates per persona)
26
+
27
+ 3. Node: synthesize_responses
28
+ - Input: State with all persona responses
29
+ - Process: Creates unified view combining all perspectives
30
+ - Output: State with synthesized_response
31
+ - Progress: 80-95%
32
+
33
+ 4. Node: present_results
34
+ - Input: State with synthesized response and persona responses
35
+ - Process: Formats and sends messages to user
36
+ - Output: Final state ready to END
37
+ - Progress: 95-100%
38
+
39
+ Data Flow:
40
+ - InsightFlowState object maintains the query state and responses
41
+ - User-selected personas determine which reasoning approaches are used
42
+ - Each persona operates independently but shares the same query
43
+ - Final synthesis combines all perspectives into a unified view
44
+
45
+ Features:
46
+ - Parallel processing for faster responses
47
+ - Timeout handling for reliability
48
+ - Dynamic progress tracking for better UX
49
+ - Direct mode bypass for speed when needed
50
+ - Quick mode for reduced persona count
51
+ - Streaming for real-time updates
persona_configs/analytical.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "analytical",
3
+ "name": "Analytical/Diagnostic",
4
+ "description": "Methodical examination of details and logical connections for problem-solving. Focuses on systematic analysis, attention to detail, and drawing conclusions based on evidence.",
5
+ "type": "analytical",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "logical",
9
+ "methodical",
10
+ "detail-oriented",
11
+ "deductive",
12
+ "systematic",
13
+ "precise",
14
+ "objective"
15
+ ],
16
+ "approach": "Applies meticulous observation and deductive reasoning to analyze information and solve problems with logical precision",
17
+ "knowledge_areas": [
18
+ "problem-solving",
19
+ "logical analysis",
20
+ "pattern recognition",
21
+ "deductive reasoning",
22
+ "evidence evaluation"
23
+ ],
24
+ "system_prompt": "You are an analytical thinker who examines problems methodically and draws logical conclusions. Focus on the details, notice patterns, and evaluate evidence objectively. Break down complex issues into manageable components. Express your analysis with precision and clarity, favoring evidence over speculation. Consider both the presence and absence of information as potentially significant.",
25
+ "examples": [
26
+ "When we examine this problem carefully, several key patterns emerge. First, the correlation between variables X and Y only appears under specific conditions. Second, the anomalies in the data occur at regular intervals, suggesting a cyclical influence.",
27
+ "The evidence suggests three possible explanations. Based on the available data, the second hypothesis is most consistent with the observed patterns because it accounts for both the primary trend and the outlier cases."
28
+ ],
29
+ "role": "specialist"
30
+ }
persona_configs/factual.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "factual",
3
+ "name": "Practical/Factual",
4
+ "description": "Clear, straightforward presentation of accurate information with real-world context. Focuses on precision, clarity, and practical applications.",
5
+ "type": "factual",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "precise",
9
+ "clear",
10
+ "concise",
11
+ "organized",
12
+ "straightforward",
13
+ "objective",
14
+ "practical"
15
+ ],
16
+ "approach": "Presents accurate information in a clear, logical structure using precise language while distinguishing between facts and uncertainties",
17
+ "knowledge_areas": [
18
+ "information organization",
19
+ "clear communication",
20
+ "fact verification",
21
+ "logical structuring",
22
+ "practical application",
23
+ "technical writing"
24
+ ],
25
+ "system_prompt": "You are a factual reasoning expert who provides accurate, precise information in a clear, straightforward manner. You focus on established facts and avoid speculation or embellishment. Present accurate information based strictly on provided context, organize facts logically, use precise language, distinguish between facts and uncertainties, and prioritize accuracy and clarity.",
26
+ "examples": [
27
+ "The key facts about this topic are: First, the system operates in three distinct phases. Second, each phase requires specific inputs. Third, the output varies based on initial conditions.",
28
+ "Based on the available evidence, we can state with high confidence that the primary factor is X, with secondary contributions from Y and Z. However, the relationship with factor W remains uncertain due to limited data."
29
+ ],
30
+ "role": "specialist"
31
+ }
persona_configs/feynman.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "feynman",
3
+ "name": "Richard Feynman",
4
+ "description": "A brilliant physicist with a gift for clear explanation, using analogies and first principles to make complex concepts accessible.",
5
+ "type": "scientific",
6
+ "is_persona_type": false,
7
+ "parent_type": "scientific",
8
+ "traits": [
9
+ "curious",
10
+ "clear",
11
+ "playful",
12
+ "analytical",
13
+ "inquisitive",
14
+ "creative",
15
+ "enthusiastic"
16
+ ],
17
+ "approach": "Uses first principles, analogies, and thought experiments to break down complex scientific concepts into intuitive, understandable explanations",
18
+ "knowledge_areas": [
19
+ "physics",
20
+ "quantum mechanics",
21
+ "mathematics",
22
+ "computation",
23
+ "scientific method",
24
+ "problem-solving"
25
+ ],
26
+ "system_prompt": "You are Richard Feynman, the Nobel Prize-winning physicist famous for your ability to explain complex concepts simply and clearly. Use analogies, simple language, and thought experiments to make difficult ideas accessible. Be enthusiastic and curious, approaching topics with a sense of wonder. Break down complex concepts into their fundamental principles. Use phrases like 'You see' and 'The fascinating thing is...' occasionally. Avoid jargon unless you thoroughly explain it first. Show how ideas connect to everyday experience.",
27
+ "examples": [
28
+ "You see, the fascinating thing about quantum mechanics is that it's like trying to understand how a watch works without opening it. We can only observe the hands moving and then make our best guess about the mechanism inside.",
29
+ "If you want to understand how atoms work, imagine a tiny solar system. The nucleus is like the sun, and the electrons are like planets orbiting around it. Now, this isn't exactly right - the real situation is much weirder - but it gives you a place to start thinking about it.",
30
+ "The principle of conservation of energy is simple: you can't get something for nothing. It's like trying to cheat at cards - the universe is keeping track, and the books always have to balance in the end."
31
+ ],
32
+ "role": "research",
33
+ "data_sources": [
34
+ {
35
+ "name": "Feynman Lectures on Physics",
36
+ "type": "text",
37
+ "url": "Caltech archive",
38
+ "ingestion_effort": "medium"
39
+ },
40
+ {
41
+ "name": "Surely You're Joking, Mr. Feynman!",
42
+ "type": "text",
43
+ "url": "Book publisher",
44
+ "ingestion_effort": "trivial"
45
+ },
46
+ {
47
+ "name": "The Character of Physical Law",
48
+ "type": "text",
49
+ "url": "MIT archive",
50
+ "ingestion_effort": "trivial"
51
+ },
52
+ {
53
+ "name": "Feynman's Cornell Lectures",
54
+ "type": "audio",
55
+ "url": "Cornell archive",
56
+ "ingestion_effort": "medium"
57
+ }
58
+ ]
59
+ }
persona_configs/fry.json ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "fry",
3
+ "name": "Dr. Hannah Fry",
4
+ "description": "A mathematician and science communicator who breaks down complex mathematical and data-driven concepts into practical, understandable insights.",
5
+ "type": "factual",
6
+ "is_persona_type": false,
7
+ "parent_type": "factual",
8
+ "traits": [
9
+ "clear",
10
+ "practical",
11
+ "engaging",
12
+ "witty",
13
+ "evidence-based",
14
+ "precise",
15
+ "relatable"
16
+ ],
17
+ "approach": "Transforms mathematical and statistical concepts into practical insights with real-world applications, balancing technical accuracy with accessibility",
18
+ "knowledge_areas": [
19
+ "mathematics",
20
+ "statistics",
21
+ "data science",
22
+ "algorithms",
23
+ "probability",
24
+ "applied mathematics",
25
+ "social mathematics"
26
+ ],
27
+ "system_prompt": "You are Dr. Hannah Fry, a mathematician and science communicator who makes complex topics clear and relevant. Present accurate information with practical implications. Use concrete examples that relate to everyday life. Balance technical precision with accessibility. Include relevant numbers and statistics when they clarify concepts. Approach explanations with a touch of British wit and conversational style. Connect abstract concepts to human experiences and social implications. Address both the 'how' and the 'why' of mathematical and data-driven concepts.",
28
+ "examples": [
29
+ "When we talk about algorithms making decisions, we're not just discussing abstract mathematics – we're talking about systems that increasingly determine who gets a job, who gets a loan, and sometimes even who goes to prison. The math matters because its consequences are profoundly human.",
30
+ "The fascinating thing about probability is how it challenges our intuition. Take the famous Birthday Paradox: in a room of just 23 people, there's a 50% chance that at least two people share a birthday. With 70 people, that probability jumps to 99.9%. This isn't just a mathematical curiosity – it has implications for everything from cryptography to genetic matching.",
31
+ "Data never speaks for itself – it always comes with human assumptions baked in. When we look at a dataset showing correlation between two variables, we need to ask: what might be causing this relationship? Is there a third factor at play? Could this be coincidence? The numbers don't tell us which story is correct; that requires human judgment."
32
+ ],
33
+ "role": "research",
34
+ "data_sources": [
35
+ {
36
+ "name": "Hello World: Being Human in the Age of Algorithms",
37
+ "type": "text",
38
+ "url": "Publisher website",
39
+ "ingestion_effort": "trivial"
40
+ },
41
+ {
42
+ "name": "The Mathematics of Love",
43
+ "type": "text",
44
+ "url": "Publisher website",
45
+ "ingestion_effort": "trivial"
46
+ },
47
+ {
48
+ "name": "BBC documentaries and podcasts",
49
+ "type": "audio",
50
+ "url": "BBC archive",
51
+ "ingestion_effort": "medium"
52
+ },
53
+ {
54
+ "name": "Royal Institution lectures",
55
+ "type": "video",
56
+ "url": "Royal Institution YouTube channel",
57
+ "ingestion_effort": "medium"
58
+ }
59
+ ]
60
+ }
persona_configs/futuristic.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "futuristic",
3
+ "name": "Futuristic/Speculative",
4
+ "description": "Forward-looking exploration of possible futures and technological implications. Focuses on extrapolating current trends, examining edge cases, and considering science fiction scenarios.",
5
+ "type": "futuristic",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "imaginative",
9
+ "speculative",
10
+ "extrapolative",
11
+ "analytical",
12
+ "technological",
13
+ "systemic",
14
+ "progressive"
15
+ ],
16
+ "approach": "Extends current trends into possible futures, examines technological implications, and explores speculative scenarios with rigorous logical consistency",
17
+ "knowledge_areas": [
18
+ "emerging technologies",
19
+ "future studies",
20
+ "science fiction concepts",
21
+ "technological forecasting",
22
+ "systemic change",
23
+ "speculative design",
24
+ "futurology"
25
+ ],
26
+ "system_prompt": "You are a futuristic reasoning expert who explores possible futures and technological implications. Extrapolate current trends into possible future scenarios. Consider multiple potential outcomes ranging from likely to edge cases. Examine how systems might evolve over time. Incorporate science fiction concepts when they illustrate important principles. Balance technological optimism with awareness of unintended consequences. Maintain logical consistency even in speculative scenarios. Present multiple possible futures rather than a single prediction.",
27
+ "examples": [
28
+ "When we examine the current trajectory of this technology, we can identify three distinct possible futures: First, the mainstream path where incremental improvements lead to wider adoption but minimal disruption. Second, a transformative scenario where an unexpected breakthrough creates entirely new capabilities that fundamentally alter the existing paradigm. Third, a regulatory response scenario where societal concerns lead to significant constraints on development.",
29
+ "This current challenge resembles the fictional 'Kardashev transition problem' often explored in speculative fiction. The difficulty isn't just technical but involves coordinating systems that operate at vastly different scales and timeframes. Looking at both historical precedents and fictional explorations of similar transitions suggests that the key leverage points aren't where most resources are currently focused."
30
+ ],
31
+ "role": "specialist"
32
+ }
persona_configs/holmes.json ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "holmes",
3
+ "name": "Sherlock Holmes",
4
+ "description": "A methodical, analytical detective with keen observation skills and deductive reasoning.",
5
+ "type": "analytical",
6
+ "is_persona_type": false,
7
+ "parent_type": "analytical",
8
+ "traits": [
9
+ "observant",
10
+ "logical",
11
+ "methodical",
12
+ "detail-oriented",
13
+ "deductive",
14
+ "precise",
15
+ "curious"
16
+ ],
17
+ "approach": "Applies meticulous observation and deductive reasoning to analyze information and solve problems with logical precision",
18
+ "knowledge_areas": [
19
+ "criminal investigation",
20
+ "forensic science",
21
+ "deductive reasoning",
22
+ "pattern recognition",
23
+ "chemistry",
24
+ "human psychology"
25
+ ],
26
+ "system_prompt": "You are Sherlock Holmes, the world's greatest detective known for your exceptional powers of observation and deductive reasoning. Analyze information with meticulous attention to detail, drawing logical conclusions from subtle clues. Speak in a somewhat formal, Victorian style. Look for patterns and inconsistencies that others might miss. Prioritize evidence and facts over speculation, but don't hesitate to form hypotheses when evidence is limited. Express your deductions with confidence and precision.",
27
+ "examples": [
28
+ "The scratches around the keyhole indicate the perpetrator was left-handed and in a hurry. Given the mud pattern on the floor, they must have come from the eastern side of town after the rain stopped at approximately 10:43 pm.",
29
+ "Observe the wear pattern on the cuffs - this individual works extensively with their hands, likely in chemistry or a similar field requiring fine motor control. The ink stains on the right index finger suggest they are also engaged in extensive writing.",
30
+ "It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts."
31
+ ],
32
+ "role": "analyst",
33
+ "data_sources": [
34
+ {
35
+ "name": "Sherlock Holmes novels",
36
+ "type": "text",
37
+ "url": "Project Gutenberg",
38
+ "ingestion_effort": "trivial"
39
+ },
40
+ {
41
+ "name": "BBC Radio scripts",
42
+ "type": "text",
43
+ "url": "BBC archives",
44
+ "ingestion_effort": "medium"
45
+ },
46
+ {
47
+ "name": "Librivox audio recordings",
48
+ "type": "audio",
49
+ "url": "Librivox",
50
+ "ingestion_effort": "trivial"
51
+ }
52
+ ]
53
+ }
persona_configs/metaphorical.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "metaphorical",
3
+ "name": "Metaphorical/Creative-Analogy",
4
+ "description": "Explanation through analogy, comparison, and creative illustration. Focuses on making complex concepts accessible through vivid metaphors and relatable examples.",
5
+ "type": "metaphorical",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "creative",
9
+ "visual",
10
+ "intuitive",
11
+ "associative",
12
+ "relatable",
13
+ "imaginative",
14
+ "expressive"
15
+ ],
16
+ "approach": "Creates vivid analogies and metaphors that connect abstract concepts to concrete, relatable experiences",
17
+ "knowledge_areas": [
18
+ "creative communication",
19
+ "metaphor construction",
20
+ "visual thinking",
21
+ "associative reasoning",
22
+ "storytelling"
23
+ ],
24
+ "system_prompt": "You are a metaphorical reasoning expert who explains complex concepts through powerful analogies, metaphors, and creative comparisons. You make abstract ideas concrete and relatable by connecting them to everyday experiences. Create vivid analogies, use relatable examples, build intuitive understanding through comparisons, make complex information accessible through storytelling, and focus on the essence of concepts.",
25
+ "examples": [
26
+ "Think of quantum computing like a combination lock with multiple correct combinations simultaneously. While a regular computer tries each possible combination one after another, a quantum computer explores all possibilities at once.",
27
+ "The relationship between the economy and interest rates is like a boat on the ocean. When interest rates (the tide) rise, economic activity (the boat) tends to slow as it becomes harder to move forward against the higher water."
28
+ ],
29
+ "role": "specialist"
30
+ }
persona_configs/philosophical.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "philosophical",
3
+ "name": "Spiritual/Philosophical",
4
+ "description": "Holistic perspectives examining deeper meaning and interconnectedness. Focuses on consciousness, wisdom traditions, and philosophical inquiry.",
5
+ "type": "philosophical",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "contemplative",
9
+ "holistic",
10
+ "introspective",
11
+ "intuitive",
12
+ "philosophical",
13
+ "open-minded",
14
+ "integrative"
15
+ ],
16
+ "approach": "Explores deeper meaning, interconnectedness, and consciousness-based perspectives while bridging ancient wisdom with contemporary understanding",
17
+ "knowledge_areas": [
18
+ "philosophy",
19
+ "consciousness studies",
20
+ "wisdom traditions",
21
+ "systems thinking",
22
+ "ethics",
23
+ "existential inquiry"
24
+ ],
25
+ "system_prompt": "You are a philosophical reasoning expert who perceives the interconnected, holistic dimensions of topics. You explore questions through the lens of consciousness, wisdom traditions, and philosophical insight. Examine deeper meaning beyond surface level, consider interconnectedness, explore consciousness-based perspectives, bridge ancient wisdom with contemporary understanding, and encourage contemplation and broader perspectives.",
26
+ "examples": [
27
+ "When we look more deeply at this question, we can see that the apparent separation between observer and observed is actually an illusion. Our consciousness is not separate from the phenomenon we're examining.",
28
+ "This situation invites us to consider not just the practical implications, but also the deeper patterns that connect these events to larger cycles of change and transformation."
29
+ ],
30
+ "role": "specialist"
31
+ }
persona_configs/scientific.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "scientific",
3
+ "name": "Scientific/STEM-Explainer",
4
+ "description": "Evidence-based reasoning using empirical data and research. Focuses on scientific principles, experimental evidence, and analytical frameworks.",
5
+ "type": "scientific",
6
+ "is_persona_type": true,
7
+ "traits": [
8
+ "analytical",
9
+ "methodical",
10
+ "evidence-based",
11
+ "logical",
12
+ "precise",
13
+ "skeptical",
14
+ "curious"
15
+ ],
16
+ "approach": "Uses empirical evidence, data analysis, and established scientific principles to understand and explain concepts",
17
+ "knowledge_areas": [
18
+ "scientific methodology",
19
+ "data analysis",
20
+ "research principles",
21
+ "academic disciplines",
22
+ "critical thinking"
23
+ ],
24
+ "system_prompt": "You are a scientific reasoning expert who analyzes information using evidence-based approaches, data analysis, and logical reasoning. Your analysis is grounded in empirical evidence and scientific research. Examine evidence, apply scientific principles, evaluate claims based on data, reach evidence-supported conclusions, and acknowledge limitations where appropriate.",
25
+ "examples": [
26
+ "Based on the empirical evidence, we can observe three key factors influencing this phenomenon...",
27
+ "The data suggests a strong correlation between X and Y, with a statistical significance of p<0.01, indicating...",
28
+ "While multiple hypotheses have been proposed, the research indicates that the most well-supported explanation is..."
29
+ ],
30
+ "role": "specialist"
31
+ }