Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    I don't like notebooks.- Joel Grus (Allen Institute for Artificial Intelligence)

    O'Reilly

    6 HN recommenders · recommended in 12 months, 2018–2025

    YouTube

    56:13 · 120K views · Oct 10, 2018

    Joel Grus's JupyterCon talk explaining why he dislikes Jupyter notebooks. He covers hidden state, trouble with reproducibility and testing, and how notebooks frustrate teaching. He shows his preferred workflow and what Jupyter could change.

    It is the go-to funny, irreverent critique of notebooks, linked whenever HN debates notebooks versus testable code.

    AI, Machine Learning & DataData science & statisticsPython, Ruby & scripting languagesTesting, debugging & developer tools
    1. 52:09
      I Like NotebooksJeremy Howard55K views • 6 years ago
    2. 47:41
      "Programming Should Eat Itself" by Nada AminStrange Loop Conference43K views • 12 years ago
    3. 45:50
      "The Mess We're In" by Joe ArmstrongStrange Loop Conference398K views • 12 years ago
    4. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    5. 43:58
      "The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)Strange Loop Conference141K views • 3 years ago
    6. 23:38
      Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020The Julia Programming Language48K views • 6 years ago
    7. 49:55
      How Python was Shaped by leaky Internals, Armin Ronacher, Flask frameworkВидео с мероприятий {speach!20K views • 10 years ago
    8. 38:47
      RailsConf 2014 - All the Little Things by Sandi MetzConfreaks190K views • 12 years ago
    9. 54:01
      You Suck at Excel - Joel Spolsky (Reupload)Cool Bug Facts27K views • 2 years ago
    10. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago
    11. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    12. 1:06:44
      Programming is terrible—Lessons learned from a life wasted. EMF2012tef ebooks1.7M views • 13 years ago
    13. 21:16
      Emacs + org-mode + python in reproducible research; SciPy 2013 PresentationEnthought50K views • 13 years ago
    14. 27:29
      Stop Writing ClassesNext Day Video962K views • 14 years ago
    15. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    16. 4:57
      Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made SimpleFred Overflow43K views • 6 years ago
    17. 40:01
      Keynote - Preventing, Finding, and Fixing Bugs On a Time Budget | Raymond Hettinger @ PyBay2018SF Python27K views • 8 years ago
    18. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    19. 1:02:44
      DjangoCon 2008 Keynote: Cal HendersonGoogle for Developers125K views • 18 years ago
    20. 1:09:38
      "How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)Strange Loop Conference9.3K views • 5 years ago

    13 comments from Hacker News

    1. @kevsimApr 2019· in “How to separate your data from your code”

      Jupyter notebooks are really abysmal when it comes to best engineering practices. There's an amazing talk called "I don't like notebooks" by Joel Grus at last years JupyterCon [0]. I highly recommend it. [0] this video

      Strongly recommendsView on HN
    2. @tcpekinOct 2018· in “Why Jupyter is data scientists’ computational notebook of choice”

      Here they are - they're definitely irreverent, but I find myself strongly agreeing with everything he says. [LINK] this video

      Strongly recommendsView on HN
    3. @carreauJan 2022· in “IPython 8.0”

      First, yes, this is a common question. IPython does not try to deal with that, it's just the executing engine. Notebooks, do not have to be stored in ipynb form, I would suggest to look at [LINK] , and notebook UI is inherently not design for multi-file and application developpement. So training humans will always be necessary. Technically Jupyter Notebook does not even care that notebooks are files, you could save then using say postgres ( [LINK] ) , and even sync content between notebooks. I'm not too well informed anymore on this particular topic, but there are other folks at [LINK] that might be more aware, you can also ask on discourse.jupyter.org, I'm pretty sure you can find threads on those issues. I think on the Jupyter side we could do a better job curating and exposing many tools to help with that, but there are just so many hours in the day... I also recommend I don't like notebook from Joel Grus, this video it's a really funny talk, a lot of the points are IMHO invalid as Joel is misinformed on how things can be configured, but still a great watch.

      RecommendsView on HN
    4. @lelandbateyJun 2024· in “Notebooks Are McDonalds of Code”

      REPL stands for Read–eval–print loop [LINK] A REPL, by its name, is a very narrow version of the broader paradigm of interactive computer programming environments. But Notebooks are not REPLs, unless you use REPL to mean "interactive programming environment" and not REPL. Notebooks are much broader than a REPL! In a notebook, you can go back and edit and run individual lines of the notebook without re-running the whole notebook from the start and without re-computing everything that depends on what you just edited. Behavior like this makes it super hard to track the actual state, and super easy to lose track of how things are how they are. That's pretty terrible! The parent article links this great talk that goes into more detail than the parent post and is much easier to understand: this video

      RecommendsView on HN
    5. @softwaredougJun 2021· in “Ask HN: How do you run long computations without interruption?”

      Get extensive code out of notebooks into testable libraries. Confirm it works before running a big computation. We try to keep our notebooks slim and factor anything complex into a Python library. We can experiment with this libraries implementation, write unit tests on smaller data sets to confirm it works, before doing a bigger experiment. We can also deploy the library to prod and ensure users get the exact same thing we experimented with. I would recommend the talk “I don’t like notebooks” this video (There’s also the alternative nbdev that creates a full software engineering and experimentation setup in 100% notebooks. Not something I particularly like, but it might be another option.)

      RecommendsView on HN