# Peter Norvig

Articles by Peter Norvig

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## xkcd 1970: Name Dominoes

DevFeed: [xkcd 1970: Name Dominoes](<https://devfeed.tech/articles/xkcd-1970-name-dominoes-40597.md>)

Original publisher: [Read original article](<https://github.com/norvig/pytudes/blob/master/ipynb/xkcd-Name-Dominoes.ipynb>)

Author: Norvig

Published: 2018-03-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>)

Tags: [python](<https://devfeed.tech/tags/python.md>), [xkcd](<https://devfeed.tech/tags/xkcd.md>)

### AI overview

A Python program explores how to lay out dominoes legally when the dominoes contain people's names instead of numbers.

### Source excerpt

Lay out dominoes legally; the dominoes have people names, not numbers.

## Advent of Code 2016

DevFeed: [Advent of Code 2016](<https://devfeed.tech/articles/advent-of-code-2016-40525.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Advent%20of%20Code.ipynb>)

Published: 2016-12-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Advent of Code](<https://devfeed.tech/topics/advent-of-code.md>), [Code Challenge](<https://devfeed.tech/topics/code-challenge.md>), [Jupyter Notebook](<https://devfeed.tech/topics/jupyter-notebook.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [advent-of-code](<https://devfeed.tech/tags/advent-of-code.md>), [code](<https://devfeed.tech/tags/code.md>), [jupyter-notebook](<https://devfeed.tech/tags/jupyter-notebook.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>), [solutions](<https://devfeed.tech/tags/solutions.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

Peter Norvig documents his solutions to the Advent of Code puzzles released from December 1 through December 25, 2016. The notebook includes preparation, utility functions, tests, and selected explanations of his solving approach.

### Source excerpt

Solutions to the puzzle site.

## Advent of Code 2017

DevFeed: [Advent of Code 2017](<https://devfeed.tech/articles/advent-of-code-2017-40596.md>)

Original publisher: [Read original article](<https://github.com/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb>)

Published: 2016-12-24T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Advent of Code](<https://devfeed.tech/topics/advent-of-code.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [advent-of-code](<https://devfeed.tech/tags/advent-of-code.md>), [code](<https://devfeed.tech/tags/code.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>), [solutions](<https://devfeed.tech/tags/solutions.md>)

### AI overview

A collection of solutions to the Advent of Code 2017 puzzle site.

### Source excerpt

Solutions to the puzzle site.

## Translating English Sentences into Propositional Logic Statements

DevFeed: [Translating English Sentences into Propositional Logic Statements](<https://devfeed.tech/articles/translating-english-sentences-into-propositional-logic-statements-40533.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/PropositionalLogic.ipynb>)

Published: 2016-10-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [logic](<https://devfeed.tech/tags/logic.md>), [program](<https://devfeed.tech/tags/program.md>), [regular-expressions](<https://devfeed.tech/tags/regular-expressions.md>), [rules](<https://devfeed.tech/tags/rules.md>), [translation](<https://devfeed.tech/tags/translation.md>)

### AI overview

This tutorial presents a program that translates many informal English sentences into formal propositional-logic statements. It explains an ordered set of translation rules, recursive processing, propositional-symbol definitions, regular expressions, and test cases, while noting that the approach is limited and can produce errors.

### Source excerpt

Automatically converting informal English sentences into formal Propositional Logic.

## A Concrete Introduction to Probability Using Python

DevFeed: [A Concrete Introduction to Probability Using Python](<https://devfeed.tech/articles/the-strength-in-numbers-theorem-40531.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Probability.ipynb>)

Published: 2016-04-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [concepts](<https://devfeed.tech/tags/concepts.md>), [example](<https://devfeed.tech/tags/example.md>), [numbers](<https://devfeed.tech/tags/numbers.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A tutorial notebook introduces probability theory through Python 3 implementations. It defines experiments, outcomes, sample spaces, events, and probability, then applies these concepts to a fair-die example and notes a second part on probability paradoxes.

### Source excerpt

Update to my probability notebook, adding the Central Limit Theorem, also known as the Strength in Numbers Theorem.

## Countdown to 2016

DevFeed: [Countdown to 2016](<https://devfeed.tech/articles/countdown-to-2016-40528.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Countdown.ipynb>)

Published: 2016-01-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Python](<https://devfeed.tech/topics/python.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Go](<https://devfeed.tech/topics/go.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [go](<https://devfeed.tech/tags/go.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This tutorial solves a Countdown arithmetic puzzle using Python. It first enumerates expressions without parentheses, then discusses the larger search space created by parentheses and introduces dynamic programming to avoid recomputation.

### Source excerpt

Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. From an Alex Bellos puzzle.

## Refactoring a Crossword Game Program

DevFeed: [Refactoring a Crossword Game Program](<https://devfeed.tech/articles/refactoring-a-crossword-game-program-40534.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Scrabble.ipynb>)

Published: 2015-12-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [games](<https://devfeed.tech/tags/games.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [program](<https://devfeed.tech/tags/program.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

A tutorial notebook refactors a crossword game program developed incrementally for an Udacity CS 212 class. It explains how the earlier iterations created technical debt and introduces the game's core concepts, including racks, boards, plays, cross words, and scoring.

### Source excerpt

Refactoring the Scrabble / Wrds with Friends game from Udacity CS 212.

## Beal's Conjecture Revisited

DevFeed: [Beal's Conjecture Revisited](<https://devfeed.tech/articles/beal-s-conjecture-revisited-40544.md>)

Original publisher: [Read original article](<http://norvig.com/beal.html>)

Published: 2015-10-20T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [floating-point](<https://devfeed.tech/topics/floating-point.md>)

Tags: [errors](<https://devfeed.tech/tags/errors.md>), [floating-point](<https://devfeed.tech/tags/floating-point.md>), [number-theory](<https://devfeed.tech/tags/number-theory.md>), [precision](<https://devfeed.tech/tags/precision.md>), [program](<https://devfeed.tech/tags/program.md>)

### AI overview

An update on a program that searches for counterexamples to Beal's Conjecture, explaining why apparent counterexamples caused by floating-point arithmetic are invalid. The page also catalogs common errors in purported proofs and counterexamples.

### Source excerpt

Updating the work I did in 2000 to search for counterexamples to Beal's Conjecture. Lists some of the things that people do wrong in trying to settle the conjecture.

## Using Code to Analyze Words on a Letter-Based Combination Lock

DevFeed: [Using Code to Analyze Words on a Letter-Based Combination Lock](<https://devfeed.tech/articles/let-s-code-about-bike-locks-40529.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Fred%20Buns.ipynb>)

Published: 2015-06-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [function](<https://devfeed.tech/tags/function.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [writing-code](<https://devfeed.tech/tags/writing-code.md>)

### AI overview

This coding tutorial models a four-tumbler WordLock combination lock and uses dictionary words and generated letter combinations to investigate how many words the lock can make, whether alternative tumbler letters produce more words, and whether words can appear across multiple lines.

### Source excerpt

How many words can be made from a letter-based combination lock?

## Exploring Variations on the Cheryl's Birthday Logic Puzzle

DevFeed: [Exploring Variations on the Cheryl's Birthday Logic Puzzle](<https://devfeed.tech/articles/when-cheryl-met-eve-a-birthday-story-40526.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Cheryl-and-Eve.ipynb>)

Published: 2015-05-13T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [exploration](<https://devfeed.tech/tags/exploration.md>), [function](<https://devfeed.tech/tags/function.md>), [logic](<https://devfeed.tech/tags/logic.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>)

### AI overview

This notebook explores variations of the Cheryl's Birthday logic puzzle by using code to verify generated date lists, randomly construct new puzzles, measure solution outcomes, and introduce a new character named Eve.

### Source excerpt

An extended exploration beyond the popular "Cheryl's Birthday" logic puzzle.

## Cheryl's Birthday (How to Solve It with Code)

DevFeed: [Cheryl's Birthday (How to Solve It with Code)](<https://devfeed.tech/articles/cheryl-s-birthday-how-to-solve-it-with-code-40527.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/Cheryl.ipynb>)

Published: 2015-04-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [computer](<https://devfeed.tech/tags/computer.md>), [functions](<https://devfeed.tech/tags/functions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [logic](<https://devfeed.tech/tags/logic.md>), [programming](<https://devfeed.tech/tags/programming.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A tutorial that solves the Cheryl's Birthday logic puzzle by translating its statements and possible dates into Python code. It explains how computational enumeration can verify the puzzle's conditions and support problem solving.

### Source excerpt

A solution to the popular "Cheryl's Birthday" logic puzzle.

## xkcd 1313: Regex Golf

DevFeed: [xkcd 1313: Regex Golf](<https://devfeed.tech/articles/xkcd-1313-regex-golf-40537.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/xkcd1313.ipynb?create=1>)

Published: 2014-02-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [code](<https://devfeed.tech/tags/code.md>), [implement](<https://devfeed.tech/tags/implement.md>), [program](<https://devfeed.tech/tags/program.md>), [python](<https://devfeed.tech/tags/python.md>), [regex](<https://devfeed.tech/tags/regex.md>), [strategy](<https://devfeed.tech/tags/strategy.md>), [xkcd](<https://devfeed.tech/tags/xkcd.md>)

### AI overview

Peter Norvig examines the regex-golf challenge from xkcd 1313 and develops a Python approach for finding a regular expression that matches presidential election winners while excluding losers. The article also investigates an apparent inconsistency in the original xkcd example.

### Source excerpt

Code to implement a meta-regex-golf program based on xkcd comic #1313. The code is "a program that plays regex golf with arbitrary lists..."

## xkcd 1313: Regex Golf (Part 2: Infinite Problems)

DevFeed: [xkcd 1313: Regex Golf (Part 2: Infinite Problems)](<https://devfeed.tech/articles/xkcd-1313-regex-golf-part-2-infinite-problems-40536.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/xkcd1313-part2.ipynb?create=1>)

Published: 2014-02-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [function](<https://devfeed.tech/tags/function.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [programming](<https://devfeed.tech/tags/programming.md>), [regex](<https://devfeed.tech/tags/regex.md>), [test](<https://devfeed.tech/tags/test.md>), [xkcd](<https://devfeed.tech/tags/xkcd.md>)

### AI overview

Peter Norvig's second Regex Golf article explores improvements to a program that searches for short regular expressions separating arbitrary lists. It uses profiling, speedups, benchmarking, search strategies, pruning, added search components, and randomized exploration to test ideas and analyze results.

### Source excerpt

Newly updated and improved version of my code to implement a meta-regex-golf program based on xkcd comic #1313. The code is "a program that plays regex golf with arbitrary lists..."

## Letter Frequencies for Scrabble

DevFeed: [Letter Frequencies for Scrabble](<https://devfeed.tech/articles/letter-frequencies-for-scrabble-40586.md>)

Original publisher: [Read original article](<http://norvig.com/scrabble-letter-scores.html>)

Published: 2013-01-27T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Google](<https://devfeed.tech/topics/google.md>), [datasets](<https://devfeed.tech/topics/datasets.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [change](<https://devfeed.tech/tags/change.md>), [data](<https://devfeed.tech/tags/data.md>), [game](<https://devfeed.tech/tags/game.md>), [google](<https://devfeed.tech/tags/google.md>), [points](<https://devfeed.tech/tags/points.md>), [scrabble](<https://devfeed.tech/tags/scrabble.md>), [table](<https://devfeed.tech/tags/table.md>), [values](<https://devfeed.tech/tags/values.md>)

### AI overview

An analysis of English letter frequencies across historical periods and their relationship to Scrabble point values, using Google Books Ngram data.

### Source excerpt

An analysis of frequency counts for letters in English, with applications to the game of Scrabble. Also presents a distillation of the Google Books Ngram data, broken out by time periods.

## English Letter Frequency Counts: Mayzner Revisited or ETAOIN SRHLDCU

DevFeed: [English Letter Frequency Counts: Mayzner Revisited or ETAOIN SRHLDCU](<https://devfeed.tech/articles/english-letter-frequency-counts-mayzner-revisited-or-etaoin-srhldcu-40576.md>)

Original publisher: [Read original article](<http://norvig.com/mayzner.html>)

Published: 2013-01-04T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Sequences](<https://devfeed.tech/topics/sequences.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [data](<https://devfeed.tech/tags/data.md>), [google](<https://devfeed.tech/tags/google.md>), [sequences](<https://devfeed.tech/tags/sequences.md>)

### AI overview

This article revisits Mark Mayzner's 1960s study of English letter and letter-sequence frequencies. It analyzes Google Books Ngrams data, with counts organized by word length, letter position, and n-gram length, using a much larger dataset than the original sample.

### Source excerpt

An analysis of frequency counts for letters and letter sequences (n-grams), with counts broken out by length of word and poition in word, as well as by length of ngram. A re-implementation of the work done by Mark Mayzner in the 1960s -- but this time with 30 million times more data.

## Google's Hybrid Approach to Research

DevFeed: [Google's Hybrid Approach to Research](<https://devfeed.tech/articles/google-s-hybrid-approach-to-research-40567.md>)

Original publisher: [Read original article](<http://norvig.com/hybrid-research.pdf>)

Published: 2012-06-24T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [communications](<https://devfeed.tech/topics/communications.md>)

Tags: [approach](<https://devfeed.tech/tags/approach.md>), [article](<https://devfeed.tech/tags/article.md>), [communications](<https://devfeed.tech/tags/communications.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [research](<https://devfeed.tech/tags/research.md>)

### AI overview

An article in Communications of the ACM describes Google's hybrid approach to research across Google Research and engineering as a whole.

### Source excerpt

An article printed in the Communications of the ACM describing Google's research, both within Google Research and within Engineering as a whole. Alfred Spector, Peter Norvig and Slav Petrov.

## Peter Norvig: The 100,000-student classroom

DevFeed: [Peter Norvig: The 100,000-student classroom](<https://devfeed.tech/articles/peter-norvig-the-100-000-student-classroom-40594.md>)

Original publisher: [Read original article](<http://www.ted.com/talks/peter_norvig_the_100_000_student_classroom.html>)

Author: Peter Norvig

Published: 2012-06-24T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [intelligence](<https://devfeed.tech/topics/intelligence.md>)

Tags: [computers](<https://devfeed.tech/tags/computers.md>), [conference](<https://devfeed.tech/tags/conference.md>), [education](<https://devfeed.tech/tags/education.md>), [global-issues](<https://devfeed.tech/tags/global-issues.md>), [interactive](<https://devfeed.tech/tags/interactive.md>), [internet](<https://devfeed.tech/tags/internet.md>), [talk](<https://devfeed.tech/tags/talk.md>), [talks](<https://devfeed.tech/tags/talks.md>), [ted](<https://devfeed.tech/tags/ted.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

Peter Norvig discusses teaching an artificial intelligence class to 175 students in person and more than 100,000 students through an interactive webcast, explaining what he learned about teaching a global classroom.

### Source excerpt

My talk at the TED conference. Six minute video.

## Introduction to Artificial Intelligence

DevFeed: [Introduction to Artificial Intelligence](<https://devfeed.tech/articles/introduction-to-artificial-intelligence-40590.md>)

Original publisher: [Read original article](<http://www.ai-class.org/>)

Published: 2011-08-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [teaching](<https://devfeed.tech/tags/teaching.md>)

### AI overview

Sebastian Thrun and the publisher are teaching an online Introduction to Artificial Intelligence class. The source states that 126,000 people have signed up so far.

### Source excerpt

Sebastian Thrun and I are teaching an AI class online; 126,000 people have signed up so far.

## Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis

DevFeed: [Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis](<https://devfeed.tech/articles/prescient-but-not-perfect-a-look-back-at-a-1966-scientific-american-article-on-systems-analysis-40524.md>)

Original publisher: [Read original article](<http://blogs.scientificamerican.com/at-scientific-american/2011/08/23/systems-analysis-look-back-1966-scientific-american-article/>)

Published: 2011-08-24T00:00:00Z

Content type: opinion

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [article](<https://devfeed.tech/tags/article.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [programming](<https://devfeed.tech/tags/programming.md>), [systems](<https://devfeed.tech/tags/systems.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The author reflects on a 1966 Scientific American article that introduced them to programming and points readers toward a CPL compiler.

### Source excerpt

My thoughts on a 1966 Scientific American article that was my introduction to programming. And if you ever need a CPL compiler, this is a good place to start.

## On Chomsky and the Two Cultures of Statistical Learning

DevFeed: [On Chomsky and the Two Cultures of Statistical Learning](<https://devfeed.tech/articles/on-chomsky-and-the-two-cultures-of-statistical-learning-40547.md>)

Original publisher: [Read original article](<http://norvig.com/chomsky.html>)

Published: 2011-05-27T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Statistics](<https://devfeed.tech/topics/statistics.md>), [Language models](<https://devfeed.tech/topics/language-models.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [syntax](<https://devfeed.tech/topics/syntax.md>)

Tags: [essay](<https://devfeed.tech/tags/essay.md>), [history-of-science](<https://devfeed.tech/tags/history-of-science.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [probabilistic](<https://devfeed.tech/tags/probabilistic.md>), [science](<https://devfeed.tech/tags/science.md>), [statistics](<https://devfeed.tech/tags/statistics.md>)

### AI overview

This essay responds to Steven Pinker and Noam Chomsky on the role and success of statistical and probabilistic models in language. It argues that interpreting success as approximating unanalyzed data is not novel, and uses examples from language modeling, communication, gravitation, and statistical mechanics to distinguish trained, probabilistic, continuous, and quantitative models.

### Source excerpt

At the MIT 150 symposium, Chomsky said that the notion of success used by statistical language models (namely, that they successfully predict the world and allow programs to accomplish tasks) was "very novel ... I don't know of anything like it in the history of science." This essay argues that it is not novel at all, but perfectly commonplace.

## (An ((Even Better) Lisp) Interpreter (in Python))

DevFeed: [(An ((Even Better) Lisp) Interpreter (in Python))](<https://devfeed.tech/articles/an-even-better-lisp-interpreter-in-python-40573.md>)

Original publisher: [Read original article](<http://norvig.com/lispy2.html>)

Published: 2010-10-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Lisp](<https://devfeed.tech/topics/lisp.md>), [scheme](<https://devfeed.tech/topics/scheme.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [class](<https://devfeed.tech/tags/class.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [lisp](<https://devfeed.tech/tags/lisp.md>), [python](<https://devfeed.tech/tags/python.md>), [repl](<https://devfeed.tech/tags/repl.md>)

### AI overview

This article presents an improved version of Lispy, a Lisp interpreter implemented in Python. It adds input ports for reading complete expressions across multiple lines, improved error handling, macro examples, and a non-recursive evaluator implemented with a loop and mutable evaluation state.

### Source excerpt

A new version of Lispy (Lisp interpreter in Python). I released an earlier version on Sept. 30th, but this version is improved.

## (How to Write a (Lisp) Interpreter (in Python))

DevFeed: [(How to Write a (Lisp) Interpreter (in Python))](<https://devfeed.tech/articles/how-to-write-a-lisp-interpreter-in-python-40572.md>)

Original publisher: [Read original article](<http://norvig.com/lispy.html>)

Published: 2010-09-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Lisp](<https://devfeed.tech/topics/lisp.md>), [Python](<https://devfeed.tech/topics/python.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [scheme](<https://devfeed.tech/topics/scheme.md>), [compilers](<https://devfeed.tech/topics/compilers.md>)

Tags: [compilers](<https://devfeed.tech/tags/compilers.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [lisp](<https://devfeed.tech/tags/lisp.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [python](<https://devfeed.tech/tags/python.md>), [semantics](<https://devfeed.tech/tags/semantics.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how to implement computer-language interpreters in general and presents Lispy, an interpreter for most of Scheme written in Python 3. It introduces Scheme syntax and semantics and compares its simplicity with Java and Python.

### Source excerpt

A Lisp interpreter in 90 lines of Python

## The Odds of Finding a Set in The Card Game SET

DevFeed: [The Odds of Finding a Set in The Card Game SET](<https://devfeed.tech/articles/the-odds-of-finding-a-set-in-the-card-game-set-40542.md>)

Original publisher: [Read original article](<http://norvig.com/SET.html>)

Published: 2010-04-28T00:00:00Z

Content type: article

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>)

Tags: [card](<https://devfeed.tech/tags/card.md>), [color](<https://devfeed.tech/tags/color.md>), [game](<https://devfeed.tech/tags/game.md>), [number](<https://devfeed.tech/tags/number.md>), [results](<https://devfeed.tech/tags/results.md>), [set](<https://devfeed.tech/tags/set.md>), [simulation](<https://devfeed.tech/tags/simulation.md>)

### AI overview

An analysis of why the odds of finding no SET in the card game SET change during play. A simulation shows that the chances differ substantially between a freshly dealt layout and layouts reached after SETs are repeatedly removed and replaced, suggesting the instruction booklet's odds do not describe the course of an actual game.

### Source excerpt

Correcting an error in the instruction booklet for the card game SET

## Simulating Primary Elections with Uniform and Normal Voter Distributions

DevFeed: [Simulating Primary Elections with Uniform and Normal Voter Distributions](<https://devfeed.tech/articles/lieberman-egg-sausage-and-lieberman-40546.md>)

Original publisher: [Read original article](<http://norvig.com/chart538.html>)

Published: 2009-02-22T00:00:00Z

Content type: opinion

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Simulation](<https://devfeed.tech/topics/simulation.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [simulation](<https://devfeed.tech/tags/simulation.md>)

### AI overview

The article revisits assumptions in Nate Silver's jungle primary simulation. It replicates the original results, then tests normal voter and candidate distributions with different standard deviations, finding that the resulting primary-election patterns change substantially.

### Source excerpt

A reply to Nate Silver's jungle primary post

[Next page](<https://devfeed.tech/sources/peter-norvig.md?cursor=WyIyMDA5LTAyLTIyVDAwOjAwOjAwKzAwOjAwIiwgImU0ZjM0NmI0LTA4ZGUtNDJiMy04MzEwLTgwYzQ2NTI3OTQ4ZSJd>)