logo

Jon Purdy - Why Concatenative Programming Matters

computing
programming
PL
language
23-02-25 23:30

original article↗︎

concatenative programming = where juxtaposition of functions denotes function composition (as opposed to non-concatenative functional languages which are applicative)

concatenative programming = where juxtaposition of functions denotes function composition (as opposed to non-concatenative functional languages which are applicative)

in lambda calculus, simple juxtaposition denotes application but composition must be handled with an explicit composition function

in concatenative languages, composition is implicit > this doesn’t mean that application becomes explicit but that it becomes unnecessary

concatenative languages have a much simpler basis than untapped lambda calculus (which requires name binding, closures, and scope) > there are only functions and compositions

evaluation is just the simplification of functions

postfix means that data flows in the order functions are written in

values take no arguments and return themselves

stack polymorphism (where functions can return arguments they don’t use) allows for the language to actually return multiple values from a function, not just tripled

a compiler for a statically typed concatenative language can divide the program up into arbitrary segments, compile every segment in parallel, compose all of those segments at the end

with a concatenative language, a parallel compiler is just map-reduce

a concatenative program is a single function, so you can think of choosing programs in the same way > this is the reason unit pipes are so powerful > they form a rudimentary string based concatenative programming language

concatenative programs often have a very straightforward and efficient imperative implementation

it’s considered good functional programming style to write functions in a point-free style > omitting unnecessary mentions of variables (points) on which the function operates

the feature that completes a concatenative program is quotation > which allows deferred composition of functions > while just composition lets us build descriptions of dataflow machines, quotation lets us build machines that operate on descriptions of other machines

quotation eliminates the distinction between code and data in a simple type-safe manner

Human-Computer Interaction Resources

computing
HCI
23-02-16 22:19

Blackwell - Lectures on HCI:
https://www.cl.cam.ac.uk/teaching/1011/HCI/HCI2010.pdf

See also: Preece et al. - Interaction Design https://arl.human.cornell.edu/879Readings/Interaction%20Design%20-%20Beyond%20Human-Computer%20Interaction.pdf

Texts:

Wilbert O. Galitz, “The Essential Guide to User Interface Design”, Wiley India Edition

Price, Rogers, “Sharps Interaction Design”, Wiley India.

Ben Schneidermann,” Designing the user interfaces”. 3rd Edition, Pearson Education Asia.

Soren Lauesen, “User Interface Design”, Pearson Education

Alan Cooper, Robert Riemann, David Cronin, “Essentials of Interaction Design”, Wiley

Alan Dix, Janet Finlay, Gregory, Abowd, Russell, Bealg,”Human-Computer Interaction”, Pearson Education

Other links:

http://pages.cpsc.ucalgary.ca/~tamj/2010/219W/notes/acrobat/hci.pdf

https://depts.washington.edu/techdocs/programs/CSS/approved_courses/proposed552Syllabus.docx

https://info.sice.indiana.edu/~hrosenba/S510/classes/hci_intro/hci_intro.pdf

https://hci.rwth-aachen.de/hcibooks

https://core.ac.uk/download/pdf/38059456.pdf

https://drive.google.com/file/d/0B7BMjTzz9QXMbE4yQjlSV3k1ejg/edit

The Dynabook

computing
HCI
23-02-14 12:25
Alan Kay - Dynabook: The Complete Story via YouTube↗︎

conceived of by Alan Kay

inspired by Arthur Koestler’s The Creative Act > terrific ideas hide behind good ones

being generally well-educated helps

quirky offshoot: Gombrich - Art and Illusion

memex > Vannevar Bush > 10k books in a desk

sketchpad, Ivan Sutherland > constraint solver in a 2D interface > first real interactive graphics program > first object oriented programming environment > first real time problem solving system

Clark and Molnar

1962, Licklider > generalized that early computer concepts could actually help people think, created DARPA funding for early AI and computer projects, hired Sutherland who then hired Engelbart

Kay was programming Burroughs machines for the Air Force in the 60s

Kay: Burroughs B5000 > “greatest machine architecture ever”

Barton (Burroughs designer) > A New Approach to The Functional Design if A Digital Computer, 1961

Simula > Encountered by Kay at University of Utah grad > Similar data structure to that found in Sketchpad > Had abstract data types and was able to model very complex systems

Kay framed Simula as a new thing, OOP allowed the user to model systems in a more natural way that scales

November ’66 was the last time that Kay dealt with procedural programming

Engelbart then came to Utah

Kay on the mother of all demos machine: “Ever wish your computer had that response? They can’t - they’re too fast. People don’t bother to program computers in a way that people can use them.” (paraph)

The idea of DUI windows was occurring at that time.

The tablet was invented at the same time as the mouse, as was visual programming environments, box and cable, etc.. 1964-68 > calls it the “first modeled system”

When Kay met Papert, he got the insight: “the computer is not a tool” > computers don’t have good analogies to tools, the closest thing was the printing press, where students could use it to explore ideas

After that encounter, Kay made a model of the Dynabook. Had to be portable, slim, one dimension, so you could hold other things on it too.

The time sharing system/workstation/Dynabook paradigm is similar to the Manuscript/Gutenberg Bible/Book

Expensive/More packaged/portable-personal

The book is the size it is because Aldo Minutio went out and measured saddle bags

The printing press spread because of Gutenberg’s insight that you can cast softer metals in a harder metal to create a lot of characters in a short span of time. The typefaces could be produced quickly so you can “spread bits everywhere quickly”

The important bit is understanding that they are different, and understanding what is different about them.

Butler Lampson > capability operating systems > services have to be generic > you have a matrix between services and behaviors

Minsky > Computation: Finite and Infinite Machines > introduced Kay to LISP 1.5

“There’s nothing more beautiful than page 13 of the LISP manual - this is the Maxwell’s Equations of Software”

When Kay went to Xerox PARC > he met Jack Goldman and Bob Taylor > they brought back Lampson

1971 - Minicomp, Laser Printing (Gary Stark), Lampson promoted idea that PARC should stop engineering small batch projects

PARC > Nicholas Negroponte introduced idea of wearables, glasses, watches. Etc..

“Quantitative changes, if you make them large enough, can be qualitative changes”

The Dynabook is supposed to be “Active paper” to “handle things dynamically”, And be no worse than paper

Another aspect of the Dynabook project was the psychological implications

Jerome Bruner: Towards a Theory of Instruction

Bruner critiqued Piaget’s model, introduced “multiple mentalities”

Bruner expressed that there should be some synergy between different ways of knowing the world

Jacques Hadamard: The Psychology of Invention in the Field of Mathematics > People often rely on visual and kinesthetic methods to come up with insight

Dan Ingalls and Kay got into an argument about how small you can make a programming language. Kay wrote the initial evaluator for Smalltalk, and, to Kay’s surprise, Ingalls implemented it.

Thacker bet a Xerox exec that you could build a system in 3 mo and that became the Alto, used Smalltalk to implement it

The Alto was really the first sophisticated and accessible GUI workstation > usable by both adults and children

1978, Notetaker, Smalltalk based machine, similar form factor to an Osborne, but about 5 years earlier

The question is: is there a use for the Dynabook, when you have the laptop? Yes, because the Dynabook is based on principles, whereas present=day computers are not.

Kay says that the world is more desperately in need of the Dynabook than ever because Papert was right: people do need multiple ways of understanding the world

Vannevar Bush - As We May Think

put forth the idea of the Memex, a desk of the future

Kay claims that Bush took a proactive view, and used the model of his time to project about what a given information technology could look like

“Bush’s Dynabook looked like a desk”

Kay saw lots of OOP systems but it didn’t really hit him how much of a big deal it was until it came time to implement one

Kay cites the Burroughs B-5000 was the first piece of hardware that tried to make store into a procedure

What Bush was thinking about was finding a machine which was complementary to the human abilities, Engelbart wanted to Augment human abilities, Kay says that he wanted the human to mutually augment the machine

Computing: A Preamble

computing ossu
23-02-06 17:05

This page details my exploration of introductory concepts in computer science using a few different free/open/public resources. My ultimate goal is not to be employed as a developer, but to work through enough relevant material to be able to prototype ideas in HCI and interactive media, etc..

This is also, to an extent, an exercise in formatting legible, and accessible technical writing, but I won't be bothered to perform that work before I actually learn something. The process is roughly: learn -> write -> prototype -> recap.

This page will likely contain code examples... that look like this!

Computing: A Preamble

computing ossu
23-02-06 17:05

Comics

  • Scott McCloud. Understanding comics
  • Scott McCloud. Reinventing comics
  • Scott McCloud. Making comics: storytelling secrets of comics, manga and graphic novels
  • Will Eisner. Graphic storytelling and visual narrative
  • Will Eisner. Expressive anatomy for comics and narrative
  • Will Eisner. Comics & Sequential Art
  • Mark Chiarello. The DC Comics Guide to coloring and lettering comics
  • Stephen Weiner. Faster than a speeding bullet: the rise of the graphic novel
  • Stan Lee, John Buscema. How to draw comics the Marvel way
  • Neil Cohn. The Visual Language of comics
  • David Chelsea. Perspective! For comic book artists
  • David M. Ball. The Comics of Chris Ware: Drawing Is a Way of Thinking
  • Daniel Raeburn. Chris Ware (Monographics series)
  • McDonnel, O’Connel. Krazy Kat: The Comic Art of George Herriman

Animation

  • Frank Thomas, Ollie Johnston. The illusion of life. Disney Animation.
  • Tony White. How to make animated films
  • Daniel Arijon. Grammar of film language
  • Ami Chopine. 3D Art Essentials: The Fundamentals of 3D Modeling, Texturing, and Animation
  • Andy Beane. 3D Animation Essentials

Game Design

  • Chris Crawford. On Game Design
  • Montfort, Bogost. Racing the beam: The Atari Video Computer System
  • Ian Bogost. How to do things with video games
  • Johan Huizinga. Homo ludens
  • Ralph Koster. A theory of Fun for game design

Type

  • Robin Williams. The Non-Designer’s Type Book
  • Abdelkebir Khatibi, Mohammed Sijelmassi. The Splendor of Islamic Calligraphy
  • Robert Bringhurst. The Elements of typographical style
  • Simon Loxley. The secret history of letters
  • Arthur Baker. Calligraphy by Arthur Baker

No Category

  • Ted Nelson. Computer Lib/Dream Machines
  • The Last Whole Earth Catalog
  • Whole Earth Epilog
  • The Next Whole Earth Catalog
  • Howard Rheingold. The Millennium Whole Earth Catalog
  • Whole Earth Software Catalog 1.0
  • What To Do After You Hit Return
  • Robert Albrecht. My Computer Likes Me When I Speak in Basic

Media

  • Marshall McLuhan. Understanding Media
  • Marie-Laure Ryan. Narrative across media
  • Harold Innis. The Bias of Communication
  • Elizabeth Einstein. The Printing Press as an Agent of Change (Volumes 1 and 2 in One)
  • David Olson. Media and Symbols. The Forms of Expression. Communication and Education
  • Jack Goody. The Domestication of the Savage Mind
  • Walter J. Ong. Orality and Literacy

The New Medium

  • Janet H. Murray. Hamlet on the Holodeck: The Future of Narrative in Cyberspace
  • Brenda Laurel. Computers as theatre. Second edition
  • Ted Nelson. Computer Lib / Dream machines
  • Ted Nelson. Literary Machines 93.1
  • David Gelernter. Mirror Worlds: or the Day Software Puts the Universe in a Shoebox…How It Will Happen and What It Will Mean
  • Richard Bolt. The Human Interface
  • J.C.R. Licklider. Libraries of the Future
  • Bloch & Hesse. Future Libraries
  • Ian Bogost. Persuasive Games: The Expressive Power of Videogames
  • Jean Baudrillard. Simulacra & Simulation
  • James M. Nyce. From Memex to Hypertext
  • Myron K. Krueger. Artificial Reality II
  • Lev Manovich. Software Takes Command
  • Douglas C. Engelbart. Augmenting Human Intellect:A Conceptual Framework

History of Math

  • John Stillwell. Mathematics and Its History
  • Herbert Meschkowski. Ways of Thought of Great Mathematicians
  • Dirk J. Struik. A Concise History of Mathematics
  • William Dunham. Journey through genius
  • Martzloff. A history of chinese mathematics
  • Siobhan Roberts. King of infinite space. Donald Coxeter, the Man Who Saved Geometry
  • James Gleick. Chaos
  • David Salsburg. The Lady Tasting Tea: How Statistics Revolutionized Science in the Twentieth Century
  • Jeremy Gray. Henri Poincare
  • Ferdinand Verhulst. Henri Poincare
  • Hawkins. Emergence of the theory of lie groups: An essay in the history of mathematics 1869 - 1926
  • Mario Livio. The equation that couldn’t be solved
  • B.L. Van Der Waerden. Science Awakening I: Egyptian, Babylonian and Greek Mathematics
  • Morris Kline. Mathematics. The loss of certainty.

History of Numbers & Notation

  • Georges Ifrah. The Universal History of Numbers: From Prehistory to the Invention of the Computer
  • Charles Seife. Zero: The Biography of a Dangerous Idea
  • Paul J. Nahin. An Imaginary Tale: The Story of [the Square Root of Minus One]
  • Julian Havil. Gamma: Exploring Euler’s Constant
  • Karl Menninger. Number Words and Number Symbols
  • Florian Cajori. A History of Mathematical Notations (Dover Books on Mathematics)
  • Joseph Mazur. Enlightening Symbols: A Short History of Mathematical Notation and Its Hidden Powers
  • Heinz-Dieter Ebbinghaus. Numbers (Graduate Texts in Mathematics)
  • Denise Schmandt-Besserat. Before Writing: Volume 1: From Counting to Cuneiform
  • Denise Schmandt-Besserat. Before Writing, Vol. II: A Catalog of Near Eastern Tokens
  • Denise Schmandt-Besserat. The History of Counting

History of Science

  • Daniel J. Boorstin. The Discoverers
  • Robert B. Silvers. Hidden Histories of Science
  • E.A. Burtt. The Metaphysical Foundations of Modern Science
  • Loren Eiseley. The Man Who Saw Through Time
  • Abbot Payson Usher. A History of Mechanical Inventions
  • Edward Dolnick. The Clockwork Universe: Isaac Newton, the Royal Society, and the Birth of the Modern World
  • Dava Sobel. Longitude: The True Story of a Lone Genius Who Solved the Greatest Scientific Problem of His Time
  • Norman Macrae. John von Neumann
  • Richard Reeves. A Force of Nature
  • Margaret Cheney. Tesla: Man Out of Time
  • Frank Ryan. The Mystery of Metamorphosis: Unmasking the Mystery of How Life Transforms
  • Bill Bryson. Short History of Nearly Everything
  • James Gleick. Genius: The Life and Science of Richard Feynman
  • Matt Ridley. Francis Crick: Discoverer of the Genetic Code
  • Hans Christian Von Baeyer. Warmth Disperses and Time Passes
  • Ottaviani and Purvis. Suspended in Language: Niels Bohrs Life, Discoveries, And The Century He Shaped
  • Evelyn Fox Keller. A Feeling for the Organism
  • Paul Johnson. The Birth of the Modern
  • William H. Cropper. Great Physicists: The Life and Times of Leading Physicists from Galileo to Hawking
  • Leonardo da Vinci. Codex Leicester
  • Adam Thomson. Time And Timekeepers
  • Carlo M. Cipolla. Clocks and Culture
  • Jenny Uglow. The Lunar Men: Five Friends Whose Curiosity Changed the World
  • Richard Rhodes. The Making of the Atomic Bomb
  • Tom Standage. The Victorian Internet: The Remarkable Story of the Telegraph and the Nineteenth Century’s On-line Pioneers
  • Siobhan Roberts. Wind Wizard: Alan G. Davenport and the Art of Wind Engineering
  • Nancy Forbes and Basil Mahon. Faraday, Maxwell, and the Electromagnetic Field
  • Walter Isaacson. Einstein
  • Bell Laboratories. Innovation in telecommunications 1925–1977
  • Bruce J. Hunt. The Maxwellians
  • Paul J. Nahin. Oliver Heaviside
  • Paolo Galluzzi. Renaissance Engineers from Brunelleschi to Leonardo da Vinci
  • Nick Taylor. Laser: The Inventor, the Nobel Laureate, and the Thirty-Year Patent War
  • Frank Greenaway. John Dalton and the Atom
  • Thomas S. Kuhn. The Copernican Revolution

Interface design

  • Alan Cooper. About face 2.0. The essentials of interaction design
  • Chris Crawford. The Art of Interactive Design
  • Bill Moggridge. Designing Interactions
  • Brenda Laurel. The Art of Human-Computer Interface Design
  • Raskin. The Human Interface

Industrial design

  • Wesley Woodson. Human engineering guide for equipment designers.
  • Henry Dreyfuss. Designing for people
  • Michael Braungart and William McDonough. Cradle to Cradle: Remaking the Way We Make Things
  • Donald A. Norman. The Design of Everyday Things
  • Henry Petroski. Small Things Considered

Visual Design

  • Linda Holtzschue. Understanding color
  • Josef Albers. Interaction of Color. 50th Anniversary Edition
  • David Pye. The Nature and Art of Workmanship
  • Krome Barratt. Logic and Design, Revised: In Art, Science, And Mathematics
  • Philip B. Meggs. A History of Graphic Design
  • William Lidwell. Universal Principles of Design, Revised and Updated: 125 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach through Design
  • Robin Williams. The Non-Designer’s Design Book
  • David Pye. The Nature & Aesthetics of Design

Visual Thinking

  • Betty Edwards. Drawing on the Right Side of the Brain
  • Rudolf Arnheim. Visual Thinking
  • Rudolf Arnheim. Art and Visual Perception. A Psychology of the creative eye
  • Jay Hambridge. The Elements of Dynamic Symmetry
  • James J. Gibson. The Ecological Approach to Visual Perception
  • Wolfgang Metzger. Laws of Seeing
  • William Mills Ivins. On the Rationalization of Sight
  • Dan Roam. The Back of the Napkin
  • Nick Sousanis. Unflattening

Learning

  • John Holt. How Children Fail
  • John Holt. How Children Learn
  • John Holt. Learning All The Time
  • Neil Postman. The End of Education
  • Jo Boaler. What’s Math Got to Do with It?: How Teachers and Parents Can Transform Mathematics Learning and Inspire Success
  • Jack Herndon. How to Survive in Your Native Land
  • Seymour Papert. Mindstorms: Children, Computers, And Powerful Ideas
  • Seymour Papert. The Children’s Machine: Rethinking School In The Age Of The Computer
  • Seymour Papert. The Connected Family: Bridging the Digital Generation Gap
  • Andrea diSessa. Changing Minds: Computers, Learning, and Literacy
  • Kieran Egan. Getting It Wrong from the Beginning: Our Progressivist Inheritance from Herbert Spencer, John Dewey, and Jean Piaget
  • Kieran Egan. The Educated Mind: How Cognitive Tools Shape Our Understanding
  • Lev S. Vygotsky. Thought and Language
  • Lev S. Vygotsky. Mind in Society: The Development of Higher Psychological Processes
  • Jerome Bruner. Toward a Theory of Instruction
  • Jerome Bruner. On Knowing: Essays for the Left Hand, Second Edition
  • Jerome Bruner. Actual Minds, Possible Worlds
  • Philip W. Jackson. Life In Classrooms
  • James Paul Gee. What Videogames Have to Teach Us About Learning and Literacy
  • John Taylor Gatto. Dumbing Us Down: The Hidden Curriculum of Compulsory Schooling
  • John Taylor Gatto. A Different Kind of Teacher
  • John Taylor Gatto. Weapons of Mass Instruction: A Schoolteacher’s Journey Through the Dark World of Compulsory Schooling
  • John Taylor Gatto. The Underground History of American Education: A School Teacher’s Intimate Investigation Into the Problem of Modern Schooling

Embodied Thinking

  • Lakoff, Nunez. Where Mathematics Come From: How The Embodied Mind Brings Mathematics Into Being
  • Edwin Hutchins. Cognition in the Wild
  • Frank R. Wilson. The Hand: How Its Use Shapes the Brain, Language, and Human Culture
  • Roy A. Meals. The Hand Owner’s Manual
  • Douglas R. Hofstadter. I am a Strange Loop
  • Sherry Turkle. Evocative Objects: Things We Think With
  • W. Timothy Gallwey. The Inner Game of Tennis: The Classic Guide to the Mental Side of Peak Performance
  • Keith Johnstone. Impro: Improvisation and the Theatre
  • Antonio R. Damasio. Descartes’ Error: Emotion, Reason, and the Human Brain
  • Andy Clark. Being There: Putting Brain, Body, and World Together Again
  • Paul Dourish. Where the Action Is: The Foundations of Embodied Interaction
  • Sherry Turkle. Simulation and Its Discontents (Simplicity: Design, Technology, Business, Life)
  • Matthew B. Crawford. Shop Class as Soulcraft: An Inquiry into the Value of Work

1st Person Historical Math

  • Euclid. Elements
  • Descartes. The Geometry
  • Girolamo Cardano. The Rules of Algebra
  • Alfred North Whitehead. An Introduction to Mathematics
  • Joseph Louis Lagrange. Lectures on Elementary Mathematics
  • Lewis Carroll. Lewis Carroll’s Symbolic Logic
  • Stephen Cole Kleene. Mathematical Logic
  • G.H. Hardy. A Mathematician’s Apology
  • James R. Newman. The World of Mathematics (4 volumes)

Math (misc)

  • Aleksandrov, Kolmogorov, Lavrentev. Mathematics: Its Content, Methods and Meaning
  • Felix Klein. Elementary Mathematics from an Advanced Standpoint: Geometry
  • Felix Klein. Elementary Mathematics from an Advanced Standpoint: Arithmetic, Algebra, Analysis
  • Steven H. Strogatz. Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering
  • Tristan Needham. Visual Complex Analysis
  • Elias Wegert. Visual Complex Functions: An Introduction with Phase Portraits
  • John H. Conway. On Numbers and Games
  • Elwyn R. Berlekamp. Winning Ways for your Mathematical Plays
  • Donald Knuth. Surreal Numbers
  • Edwin A. Abbott. Flatland: A Romance of Many Dimensions
  • H.M. Schey. Div Grad Curl and All That
  • Paul Lockhart. Measurement
  • Martin Erickson. Pearls of Discrete Mathematics
  • Gian-Carlo Rota. Indiscrete Thoughts
  • Mark Kac, Gian-Carlo Rota. Discrete Thoughts: Essays on Mathematics, Science and Philosophy Z. A. Melzak. Bypasses: A Simple Approach to Complexity

1st Person Historical Science

  • Galileo. Discourse on Bodies in Water
  • Galileo. Operations on the Geometric and Military Compass
  • Galileo. Dialogue Concerning the Two Chief World Systems: Ptolemaic and Copernican
  • Isaac Newton. The Principia : Mathematical Principles of Natural Philosophy
  • Michael Faraday. Experimental Researches in Electricity
  • John Tyndall. Faraday as a Discoverer
  • James Clerk Maxwell. A Dynamical Theory of the Electromagnetic Field
  • James Clerk Maxwell. The Scientific Papers of James Maxwell. Vol 1
  • Sir Oliver Lodge. Modern Views of Electricity
  • Christiaan Huygens. Treatise on Light
  • The Collected Works of Willard Gibbs
  • Babbadge. Calculating Engines
  • Henri Poincare. The Value of Science
  • Millikan. The Electron
  • Lorentz. The Theory of Electrons
  • Michael Faraday. The Chemical History of a Candle
  • Werner Heisenberg. Physics and Beyond
  • Albert Einstein. Relativity
  • Albert Einstein. The Evolution of Physics
  • Richard D. Feynman. “Surely You’re Joking, Mr. Feynman!”
  • Richard D. Feynman. The Character of Physical Law
  • Richard D. Feynman. Feynman Lectures on Computation
  • Nikola Tesla. My Inventions and Other Writings
  • Charles Darwin. On the Origin of Species
  • James D. Watson. The Double Helix
  • J. Craig Venter. A Life Decoded: My Genome: My Life
  • Erwin Schrodinger. What is Life?
  • Medawar. The Art of the Soluble
  • Claude Elwood Shannon. Collected Papers
  • William Shockley. Electrons and Holes in Semiconductors

Information Design

  • Edward R. Tufte. The Visual Display of Quantitative Information
  • Edward R. Tufte. Envisioning Information
  • Edward R. Tufte. Visual Explanations
  • Edward R. Tufte. Beautiful Evidence
  • Howard Wainer. Graphic Discovery: A Trout in the Milk and Other Visual Adventures
  • Stephen Few. Show Me the Numbers. Designing Tables and Graphs to Enlighten
  • Stephen Few. Information Dashboard Design. Displaying data for at-a-glance monitoring
  • William Playfair. The Commercial and Political Atlas and Statistical Breviary
  • William S. Cleveland. Visualizing Data
  • Jacques Bertin. Semiology of Graphics: Diagrams, Networks, Maps
  • Manuel Lima. Visual Complexity. Mapping Patterns of Information
  • Manuel Lima. The Book of Trees: Visualizing Branches of Knowledge
  • Robert L. Harris. Information Graphics. A Comprehensive Illustrated Reference
  • Stephen M. Kosslyn. Graph Design for the Eye and Mind
  • Leland Wilkinson. The Grammar of Graphics
  • Daniel Rosenberg. Cartographies of Time: A History of the Timeline
  • Simon Garfield. On the Map: A Mind-Expanding Exploration of the Way the World Looks
  • John W. Tukey. Exploratory Data Analysis
  • Eduard Imhof. Cartographic Relief Presentation
  • The Collected Works of John W. Tukey. Time Series: 1949 - 1964
  • The Collected Works of John W. Tukey. Philosophy and Principles of Data Analysis: 1965 - 1986
  • The Collected Works of John W. Tukey. Graphics: 1965 - 1985

The Mind

  • Gardner. Frames of Mind: The Theory of Multiple Intelligences
  • Merlin Donald. Origins of the Modern Mind: Three Stages in the Evolution of Culture and Cognition
  • Douglas R. Hofstadter. Godel, Escher, Bach: an Eternal Golden Braid
  • Roger Penrose. The Large, the Small and the Human Mind
  • Julian Jaynes. The Origin of Consciousness in the Breakdown of the Bicameral Mind
  • Mihay Csikszentmihalyi. Flow
  • Iain McGilchrist. The Master and His Emissary: The Divided Brain and the Making of the Western World
  • Christof Koch. The Quest for Consciousness: A Neurobiological Approach
  • Eric R. Kandel. In Search of Memory: The Emergence of a New Science of Mind
  • Marvin Minsky. The Society of Mind
  • Jeff Hawkins. On Intelligence
  • Steven Johnson. Mind Wide Open: Your Brain and the Neuroscience of Everyday Life
  • Susan Blackmore. The Meme Machine

Concepts and Metaphors

  • Terry Winograd. Understanding Computers and Cognition: A New Foundation for Design
  • Douglas Hofstadter. Fluid Concepts and Creative Analogies: Computer Models Of The Fundamental Mechanisms Of Thought
  • Douglas Hofstadter. Surfaces and Essences: Analogy as the Fuel and Fire of Thinking
  • George Lakoff. Women, Fire, and Dangerous Things
  • Terrence W. Deacon. The Symbolic Species: The Co-evolution of Language and the Brain
  • George Lakoff. Metaphors We Live By
  • Gilles Fauconnier. The Way We Think: Conceptual Blending And The Mind’s Hidden Complexities
  • Michael Tomasello. Origins of Human Communication (Jean Nicod Lectures)

Geometric Algebra

  • Leo Dorst. Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry (The Morgan Kaufmann Series in Computer Graphics)
  • Doran and Lasenby. Geometric Algebra for Physicists
  • Alan Macdonald. Linear and Geometric Algebra
  • Alan Macdonald. Vector and Geometric Calculus
  • David Hestenes and Garret Sobczyk. Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics

Groups and Symmetry

  • Nathan Carter. Visual Group Theory
  • John H. Conway. The Symmetries of Things
  • Israel Grossman and Wilhelm Magnus. Groups and Their Graphs Paperback
  • H. S. M. Coxeter. Regular Polytopes
  • Hermann Weyl. Symmetry
  • Roy McWeeny. Symmetry: An Introduction to Group Theory and Its Applications

Geometry

  • Oliver Byrne. The first six books of the Elements of Euclid
  • Abelson and diSessa. Turtle Geometry: The Computer as a Medium for Exploring Mathematics
  • Matila Ghyka. The Geometry of Art and Life
  • Benoit B. Mandelbrot. The Fractal Geometry of Nature
  • Tom Apostol. New Horizons in Geometry

Geometric Constructions

  • Fairman and Cutshall. Graphic Statics
  • Engineering Descriptive Geometry
  • W. Abbott. Practical Geometry and Engineering Graphics: A Textbook for Engineering Students
  • P.J. Booker. History of Engineering Drawing
  • Dr. H. A. Evesham. The History and Development of Nomography
  • Laurence Hewes. The design of diagrams for engineering formulas and the theory of nomography

History of Computers

  • Jon Gertner. The Idea Factory
  • Bo Lojek. History of Semiconductor Engineering
  • Braun & McDonald. Revolution in Miniature: The History and Impact of Semiconductor Electronics
  • Martin Davis. Engines of Logic
  • George Gilder. Microcosm: The Quantum Revolution in Economics and Technology
  • Paul N. Edwards. The Closed World: Computers and the Politics of Discourse in Cold War America
  • Fred Turner. From Counterculture to Cyberculture: Stewart Brand, the Whole Earth Network, and the Rise of Digital Utopianism
  • T.R. Reid. The Chip : How Two Americans Invented the Microchip and Launched a Revolution
  • Michael Hiltzik. Dealers of Lightning
  • M. Mitchell Waldrop. The Dream Machine
  • John Markoff. What The Dormouse said: How the Sixties Counterculture shaped the personal Computer Industry
  • Katie Hafner. Where Wizards Stay Up Late: The Origins Of The Internet
  • James Gleick. The Information: A History, A Theory, A Flood
  • Steven Levy. Hackers
  • Andy Hertzfeld. Revolution in the Valley
  • Steven Levy. Insanely Great: The Life and Times of Macintosh, the Computer that Changed Everything
  • George Dyson. Turing’s Cathedral: The Origins of the Digital Universe
  • David E Lundstorm. A Few Good Men from UNIVAC
  • Jane Smiley. The Man Who Invented the Computer
  • Ted Nelson. Possiplex
  • Ted Nelson. Geeks Bearing Gifts
  • Tracy Kidder. The Soul of New Machine
  • Howard Rheingold. Tools for Thought
  • Thierry Bardini. Bootstrapping: Douglas Engelbart, Coevolution, and the Origins of Personal Computing
  • Metropolis, Howlett, Rota. The History of Computing in Twentieth Century
  • Adele Goldberg. The History of Personal Workstations
  • Simson Garfinkel. The Unix-Haters Handbook
  • Richard L. Wexelblat. History of Programming Languages
  • Belinda Barnet. Memory Machines: The Evolution of Hypertext (Anthem Scholarship in the Digital Age)
  • Thomas J. Bergin. History of Programming Languages

Arcitechture

  • Franics D. K. Ching. Introduction to Architecture
  • Francis D. K. Ching. A Visual Dictionary of Architecture
  • Stewart Brand. How Buildings Learn: What Happens After They’re Built
  • Edward Denison, Ian Stewart. How to Read Bridges
  • Christopher Alexander. Notes on the Synthesis of Form
  • Jane Jacobs. The Death and Life of Great American Cities
  • Alexander, Ishikawa, Silverstein, Jacobson, Fiksdahl-King, Angel. A Pattern Language
  • Christopher Alexander. The Timeless Way of Building

Writing

  • Bill Bryson. Mother Tongue: English & How It Got That Way
  • Laurie Bauer and Peter Trudgill. Language Myths
  • Sol Stein. Stein On Writing: A Master Editor of Some of the Most Successful Writers of Our Century Shares His Craft Techniques and Strategies
  • Peter Turchi. Maps of the Imagination: The Writer as Cartographer
  • Ambroce Bierce. The Devil’s Dictionary
  • Mark Doty. The Art of Description: World into Word
  • Timothy Steele. All the Fun’s in How You Say a Thing: An Explanation of Meter and Versification
  • Theodore M. Bernstein. The Careful Writer: A Modern Guide to English Usage

Creativity and Ideas

  • Arthur Koestler. The Act of Creation
  • Howard E. Gardner and Mihaly Csikszentmihalyi. Good Work
  • Julia Cameron. The Artist’s Way
  • Steven Johnson. Where Good Ideas Come From
  • Lewis Hyde. The Gift: Creativity and the Artist in the Modern World
  • Scott Belsky. Making Ideas Happen
  • Lewis Hyde. Common as Air

Scientific Creativity

  • George Polya. How to Solve It
  • George Polya. Induction and Analogy in Mathematics
  • George Polya. Patterns of Plausible Inference
  • George Polya. Mathematical Discovery: On Understanding, Learning, and Teaching Problem Solving
  • Genrich Altshuller. And Suddenly the Inventor Appeared
  • Richard W. Hamming. The Art of Doing Science and Engineering: Learning to Learn
  • Nancy J. Nersessian. Creating Scientific Concepts
  • Landau, Clegg, Engelbart. The Engelbart Hypothesis
  • Walter G. Vincenti. What Engineers Know and How They Know it

Philosophy of Science

  • Sherry Turkle. Falling for Science
  • Thomas Kuhn. The Structure of Scientific Revolutions
  • Thomas Kuhn. The Road Since Structure
  • Alan F. Chalmers. What is the Thing Called Science?
  • Patrick W. Langley. Scientific Discovery: Computational Explorations of the Creative Processes
  • Paul Feyerabend. Against Method
  • Jacob Bronowski. The Origins of Knowledge and Imagination
  • John M. Ziman. Reliable Knowledge
  • Herbert Simon. The Sciences of the Artificial
  • Bruno Latour. Science in Action
  • Latour, Woolgar. Laboratory Life

Probability and AI

  • Harold Jeffreys. Theory of Probability
  • E.T. Jaynes. Probability Theory
  • Devinderjit Sivia. Data Analysis: A Bayesian Tutorial
  • Russell, Norvig. Artificial Intelligence: A Modern Approach
  • Koller, Friedman. Probabilistic Graphical Models
  • Minsky & Papert. Perceptrons: Expanded Edition
  • Tom M. Mitchell. Machine Learning
  • Judea Pearl. Heuristics: Intelligent Search Strategies for Computer Problem Solving

Systems & Modeling

  • John Gall. The Systems Bible
  • Weinberg & Weinberg. General Principles of Systems Design
  • Gerald M. Weinberg. An Introduction to General Systems Thinking
  • B. P. Zeigler, H. Praehofer, T. G. Kim. Theory of Modelling and Simulation
  • Robert H. Cannon Jr. Dynamic of Physical Systems
  • T.T. Woodson. Introduction to Engineering Design
  • Neil Gershenfeld. The Nature of Mathematical Modeling
  • John L. Casti. Alternate Realities: Mathematical Models of Nature and Man
  • William T. Powers. Living Control Systems: The Fact of Control
  • Duncan J. Watts. Six Degrees
  • Steven Johnson. Emergence: The Connected Lives of Ants, Brains, Cities, and Software
  • Norbert Weiner. Cybernetics
  • Norbert Wiener. The Human Use of Human Beings: Cybernetics and Society
  • Norbert Weiner. Selected Papers of Norbert Wiener

Programming Languages

  • Polivka, Panin. APL: The Language and its Usage
  • Bjarne Stroustrup. The Design and Evolution of C++
  • Ellis, Stroustrup. The Annotated C++ Reference Manual
  • Chris Houser. The Joy of Clojure
  • Bertrand Meyer. Eiffel: The Language
  • Joe Armstrong. Programming Erlang
  • W. P. Salman, O. Tisserand & B. Toulout. Forth
  • Leo Brodie. Thinking Forth
  • S. C. Plumb. Introduction to Fortran
  • Felleisen, Friedman. The Little Schemer
  • Felleisen, Friedman. The Seasoned Schemer
  • Friedman, Byrd. The Reasoned Schemer
  • Felleisen, Friedman. The Little MLer
  • Roberto Ierusalimschy. Programming in Lua
  • William Wadge. Lucid, the Dataflow Programming Language
  • Paul Chiusano. Functional Programming in Scala
  • William Clocksin. Clause and Effect: Prolog Programming for the Working Programmer
  • Ivan Sutherland. Sketchpad
  • Adele Goldberg. Smalltalk-80: The Interactive Programming Environment
  • Glen Krasner. Smalltalk-80: Bits of History, Words of Advice
  • Goldberg, Robson. Smalltalk-80: The Language
  • Donald Knuth. The TeXbook
  • Donald Knuth. The Metafont Book
  • Donald Knuth. TeX: The Program
  • Donald Knuth. Metafont: The Program
  • Scott E. Kim. Viewpoint: Toward a Computer for Visual Thinkers
  • Fred Lakin. Visual Grammars for Visual Languages

Music Theory

  • W. A. Mathieu. Harmonic Experience
  • Helmholtz. On the Sensations of Tone
  • Stuart Isacoff. Temperament: How Music Became a Battleground for the Great Minds of Western Civilization
  • Ross W. Duffin. How Equal Temperament Ruined Harmony (and Why You Should Care)
  • Ann Hutchinson Guest. Choreo-Graphics
  • Laurence Louppe. Traces of Dance

Persuasion

  • Chip Heath, Dan Heath. Made to Stick
  • Stuart Diamond. Getting More: How You Can Negotiate to Succeed in Work and Life
  • Chip Heath, Dan Heath. Switch
  • Paco Underhill. Why We Buy: The Science of Shopping
  • Robert B. Cialdini, Ph.D. Influence

Management

  • Clayton M. Christensen. The Innovator’s Dilemma
  • Peter F. Drucker. The Essential Drucker
  • DeMarco, Lister. Peopleware
  • Frederick P. Brooks, Jr. The Design of Design
  • Frederick P. Brooks, Jr. The Mythical Man-Month

Technology + Culture

  • Kevin Kelly. What Technology Wants
  • Kevin Kelly. Out of Control
  • W. Brian Arthur. The Nature of Technology: What It Is and How It Evolves
  • Neil Postman. Amusing Ourselves to Death
  • Neil Postman. Technopoly
  • Henry Jenkins. Convergence Culture
  • Clay Shirky. Here Comes Everybody: The Power of Organizing without Organizations
  • David Weinberger. Small Pieces Loosely Joined
  • Lawrence Lessig. Remix
  • Lawrence Lessig. Code and Other Laws of Cyberspace
  • Lawrence Lessig. The Future of Ideas
  • Richard W. Hamming. Computers and Society
  • Hervé Juvin. The Coming of the Body
  • Mumford. The Condition of Man
  • Mumford. Technics and Civilization
  • Jacob Bronowski. The Identity of Man
  • Steven A. Johnson. Interface Culture: How New Technology Transforms the Way We Create & Communicate
  • Joseph Weizenbaum. Computer Power and Human Reason
  • Dertouzos, Moses. The Computer Age
  • Jacob Bronowski. Science and Human Values
  • Ian Bogost. The Geek’s Chihuahua: Living with Apple
  • Theodore Roszak. From Satori to Silicon Valley
  • Theodore Roszak. The Cult of Information
  • Stewart Brand. The Clock of the Long Now
  • Eric Drexler. Engines of Creation: The Coming Era of Nanotechnology
  • Richard M. Stallman. Free Software, Free Society
  • Nick Bostrom. Superintelligence: Paths, Dangers, Strategies
  • Vannevar Bush. Science Is Not Enough
  • R. Buckminster Fuller. I Seem To Be a Verb
  • R. Buckminster Fuller. Operating Manual for Spaceship Earth
  • R. Buckminster Fuller. Utopia or Oblivion
  • R. Buckminster Fuller. Synergetics

Signal Processing

  • Oppenheim, Willsky, Nawab. Signals & Systems
  • Oppenheim, Schafer. Discrete-Time Signal Processing
  • P.P. Vaidyanathan. Multirate Systems and Filter Banks

Information Theory

  • Thomas M. Cover. Elements of Information Theory
  • Simon Haykin. An Introduction to Analog and Digital Communications
  • Khalid Sayood. Introduction to Data Compression
  • Christian S. Calude. Information and Randomness
  • Jeremy Campbell. Grammatical Man

Graphics

  • Alan Watt. 3D Computer Graphics
  • Dunn, Parberry. 3D Math Primer for Graphics and Game Development
  • Daniel Shiffman. The Nature of Code

Numerical Analysis

  • Richard W. Hamming. Introduction to Applied Numerical Analysis
  • Richard W. Hamming. Numerical Methods for Scientists and Engineers
  • Boyd and Vandenberghe. Convex Optimization

Programming

  • Felleisen, Findler, Flatt, Krishnamurthi. How to Design Programs
  • Gamma, Helm, Johnson, Vlissides. Design Patterns
  • Kiczales, des Rivières, Bobrow. The Art of the Metaobject Protocol
  • Stepanov, McJones. Elements of Programming
  • Van Roy, Haridi. Concepts, Techniques, and Models of Computer Programming
  • Abelson, Sussman. Structure and Interpretation of Computer Programs
  • Benjamin C. Pierce. Types and Programming Languages
  • Friedman, Wand. Essentials of Programming Languages
  • Steven Muchnick. Advanced Compiler Design & Implementation
  • Cormen, Leiseron, Rivest, Stein. Introduction to Algorithms
  • Henry S. Warren. Hacker’s Delight
  • Jon Bentley. Programming Pearls
  • Peter Seibel. Coders at Work
  • Marvin L. Minsky. Computation: Finite and Infinite Machines
  • Chris Okasaki. Purely Functional Data Structures
  • Robin Milner. The Space and Motion of Communicating Agents
  • Cox. Superdistribution
  • Bonnie A. Nardi. A Small Matter of Programming
  • Benjamine C. Pierce. Basic Category Theory for Computer Scientists

Ecology

  • Richard Register. Ecocities
  • Paul Hawken. The Ecology of Commerce
  • Alan Weisman. The World Without Us
  • Stewart Brand. Whole Earth Discipline
  • David JC MacKay. Sustainable Energy — Without the Hot Air
  • George Marshall. Don’t Even Think About It
  • Al Gore. Our Choice

Culture

  • Naomi Klein. No Logo
  • Ivan Illich. Deschooling Society
  • Ivan Illich. Disabling Professions
  • Ivan Illich. Tools for Conviviality
  • Paolo Soleri. The Omega Seed
  • John Perkins. Confessions of an Economic Hit Man
  • Juliet B. Schor. Born to Buy
  • Desmond Morris. The Naked Ape
  • Claude Levi-Strauss. The Savage Mind
  • Neil Postman. The Disappearance of Childhood
  • Edward O. Wilson. The Meaning of Human Existence
  • James C. Scott. Seeing Like a State
  • Bruno Latour. Reassembling the Social
  • Joseph Campbell. The Power of Myth

Cultural History

  • Jared Diamond. Guns, Germs, and Steel
  • Jared Diamond. Collapse
  • James W. Loewen. Lies My Teacher Told Me
  • Neustadt, May. Thinking in Time: The Uses of History for Decision-Makers
  • Ian Mortimer. Centuries of Change: Which Century Saw the Most Change and Why It Matters to Us

Circuit Design

  • Ramo, Whinnery, Van Duzer. Fields and Waves in Communication Electronics
  • Johns, Martin. Analog Integrated Circuit Design
  • Gray, Meyer. Analysis and Design of Analog Integrated Circuits
  • Jim Williams. Analog Circuit Design: Art, Science, and Personalities
  • Jan M. Rabaey. Digital Integrated Circuits: A Design Perspective
  • Devadas, Ghosh, Keutzer. Logic Synthesis
  • Carver Mead, Lynn Conway. Introduction to VLSI Systems
  • Carver Mead. Analog VLSI and Neural Systems

Architecture & Operating Systems

  • Hennessy and Patterson. Computer Architecture: A Quantitative Approach
  • Peter M. Kogge. The Architecture of Symbolic Computers
  • Maurice J. Bach. The Design of the Unix Operating System
  • Andrew S. Tanenbaum. Modern Operating Systems
  • Henry M. Levy. Capability-Based Computer Systems
  • Giorgio C. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications

Physics

  • Richard Feynman. The Feynman Lectures on Physics: Volume I
  • Richard Feynman. The Feynman Lectures on Physics: Volume II
  • Richard Feynman. The Feynman Lectures on Physics: Volume III
  • Richard Feynman. Six Easy Pieces: Essentials of Physics Explained by its Most Brilliant Teacher
  • David Hestenes. New Foundation for Classical Mechanics
  • Sussman and Wisdom. Structure and Interpretation of Classical Mechanics
  • Richard D. Mattuck. A Guide of Feynman Diagrams in the Many-Body Problem
  • Stephen Hawking. The Universe in a Nutshell
  • Stephen Hawking. The Illustrated A Brief History of Time / The Universe in a Nutshell
  • Lewiss Carroll Epstein. Relativity Visualized
  • Carver A. Mead. Collective Electrodynamics
  • Murray Gell-Mann. The Quark and the Jaguar: Adventures in the Simple and the Complex
  • Paul J. Nahin. The Science of Radio: With MATLAB and Electronics Workbench Demonstrations
  • Steven Weinberg. Dreams of a Final Theory: The Scientist’s Search for the Ultimate Laws of Nature
  • Freeman J. Dyson. The Sun, The Genome, & The Internet
  • Ilya Prigogine. From Being to Becoming: Time and Complexity in the Physical Sciences

Biology

  • D’Arcy Wentworth Thompson. On Growth and Form: The Complete Revised Edition
  • Matt Ridley. The Red Queen: Sex and the Evolution of Human Nature
  • Matt Ridley. Genome: The Autobiography of a Species in 23 Chapters
  • Richard Dawkins. The Selfish Gene
  • Marcus Wohlsen. Biopunk: Solving Biotech’s Biggest Problems in Kitchens and Garages
  • Robert M. Sapolsky. Monkeyluv: And other essays on our lives as animals
  • James N. Gardner. Biocosm: The New Scientific Theory of Evolution
  • Donald Brown. Human Universals
  • Schultz, Cannon, Cannon. The Stuff of Life
  • Richard Dawkins. The Blind Watchmaker