Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
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
    A

    Adam Geitgey

    medium.com/@ageitgey · Personal blog · on HN since 2015

    Adam Geitgey writes beginner-friendly machine learning tutorials, including the Machine Learning is Fun series, on face recognition, image recognition and Python.

    Visit blogHN submissions
    AI & Machine LearningProgramming
    What HN says

    HN commenters strongly recommend the Machine Learning is Fun series as an easy, example-driven introduction, especially for programmers without advanced maths.

    Stats for nerds
    69HN people shared it
    80linked in comments
    2.1Kstory points
    Oct 2020last shared
    2016people per year2020

    Top posts on HN

    1. 1
      A dumb reason computer vision apps aren’t working: Exif Orientation
      1 person · 599 points · first shared 2019 · 167 comments on HN
    2. 2
      The new MacBook Pro is kind of great for hackers
      3 people · 400 points · first shared 2016 · 333 comments on HN
    3. 3
      Nvidia announces Jetson Nano 2GB, a single board computer
      3 people · 293 points · first shared 2020 · 201 comments on HN
    4. 4
      How to break a Captcha system in 15 minutes with Machine Learning
      1 person · 257 points · first shared 2017 · 99 comments on HN
    5. 5
      A Simple Explanation of How Image Recognition Works
      6 people · 180 points · first shared 2016 · 7 comments on HN
    6. 6
      Snagging Parking Spaces with Mask R-CNN and Python
      5 people · 113 points · first shared 2019 · 24 comments on HN
    7. 7
      Machine Learning Is Fun Part 4: Modern Face Recognition with Deep Learning
      11 people · 67 points · first shared 2016 · 1 comments on HN
    8. 8
      The world’s easiest introduction to Machine Learning
      22 people · 61 points · first shared 2015 · Discussion on HN
    9. 9
      Abusing Generative Adversarial Networks to Make 8-bit Pixel Art
      6 people · 26 points · first shared 2017 · 2 comments on HN
    10. 10
      The Real Scandal of AI: Awful Stock Photos
      2 people · 25 points · first shared 2018 · 5 comments on HN

    What HN people wrote when they linked it

    • lwnealJun 2020

      This article talks about technologies used to produce human-like text, and "deep-fake" video and audio. The article argues that such generative AI can be used by criminals to commit fraud- but at the same time, AI can also be used on the other side to detect and prevent fraud!

      You might be interested to know that the technological breakthrough that made today's realistic image and audio generation possible was in fact a form of this very idea: one AI creates fake but realistic data, while another AI attempts to detect the fake data. The two systems fight against each other in a game theoretical back-and-forth contest until both the fraudster and the fraud detector are almost perfect.

      The idea, the Generative Adversarial Network, was published by Goodfellow et al. [1] in 2014 and has spread widely since then. My favorite introductory explanation of GANs is [2], which describes the generator as a money counterfeiter attempting to fraudulently submit fake dollar bills, and the discriminator as a police officer who is inspecting each dollar bill to determine whether it is real or counterfeit.

      Given infinite time and memory, the mathematical result is always the same: the fraudster's output becomes perfect, and the police can only guess at random.

      [1] https://arxiv.org/abs/1406.2661

      [2] https://medium.com/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7

    • sowhatquestionNov 2018

      PHP has had optionally typed function parameters and return values since the late 5.x releases I think (current release is 7.3). Types are checked at runtime and throw TypeErrors if the declared types are violated. They can also be checked ahead of time by IDEs with code inspection such as PhpStorm.

      The 7.4 release is adding typed class properties as well[1].

      I maintain a ~75k LOC PHP codebase (using the Laravel framework), and we have almost never encountered type issues. The new style of PHP (and Javascript is heading in a similar direction tbh) is to write it almost like it's Java, but with the option to fall back to dynamic "magic" as needed. If you utilize the dynamic elements sparingly, and following widely understood conventions, the productivity-vs.-reliability tradeoff is highly favorable for many applications compared to languages like Java and C#.

      P.S. I like Python, but I would argue PHP actually has a better story to tell about types these days. "While Python 3.6 gives you this syntax for declaring types, there’s absolutely nothing in Python itself yet that does anything with these type declarations..." [2]. Declaring types in a dynamic language only to have them ignored at runtime does not inspire much confidence.

      1. https://laravel-news.com/php7-typed-properties

      2. https://medium.com/@ageitgey/learn-how-to-use-static-type-checking-in-python-3-6-in-10-minutes-12c86d72677b

    • spangryJan 2017

      Yeah I kinda get that feel as well. The thing that makes me suspicious is the amount of unnecessary and obfuscating jargon that gets thrown about. They've even invented new jargon to replace perfectly confusing old jargon (e.g. your model's "error residual" is now your "function cost"). I've spent the past couple of weeks doing a bit of ML vision stuff. Most of the terminology was lost on me, at least until today when I discovered "Machine Learning is Fun": https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471

      I think I learned more in an hour than I did in the past week, thanks to this series. The author actually bothers to explain concepts (that turn out to be fairly simple btw) like 'gradient descent'. Highly recommended read if you have the time and interest. Just to whet your appetite:

      ...current machine learning algorithms aren’t that good yet — they only work when focused a very specific, limited problem. Maybe a better definition for “learning” in this case is “figuring out an equation to solve a specific problem based on some example data”.

      Unfortunately “Machine Figuring out an equation to solve a specific problem based on some example data” isn’t really a great name. So we ended up with “Machine Learning” instead.

    • jottoOct 2016

      If you want to jump right in with "hello world" type TensorFlow (a tool for machine learning), see https://news.ycombinator.com/item?id=12465935 (how to fit a straight line using TensorFlow)

      If you like to study/read: the famous Coursera Andrew Ng machine learning course: https://www.coursera.org/learn/machine-learning

      If you just want course materials from UC Berkeley, here's their 101 course: https://news.ycombinator.com/item?id=11897766

      If you want a web based intro to a "simpler" machine learning approach, "decision trees": https://news.ycombinator.com/item?id=12609822

      Here's a list of top "deep learning" projects on Github and great HN commentary on some tips on getting started: https://news.ycombinator.com/item?id=12266623

      If you just want a high level overview: https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471

    • pdkl95Feb 2019

      > I have never been to Nicaragua, so....limited relevance

      Ok, that's probably some sort of error.

      > you'd think they could do slightly better

      It depends on how they made their model. With machine learning, it's easy to build something that does improve the whatever high-level metric they were tying to optimize (like "revenue") , but gives essentially random results for many individuals. This is especially true for any anything that wasn't fully covered in the training data/; a handwritten digit recognizer may work wonderfully on average, while giving random results random output when presented with anything that wasn't covered by the MNIST dataabsse. Sometimes this can be especially fragile[1]!

      [1] https://medium.com/@ageitgey/machine-learning-is-fun-part-8-how-to-intentionally-trick-neural-networks-b55da32b7196

    • ageitgeyMar 2017

      This is a good paper for anyone interested in how modern Machine Translation works at the level of detail you might get from a well-written text in a college-level CS course (which is what I believe this is from). The paper starts with a background on statistical machine translation and then goes through the newer approach of sequence-to-sequence learning for translation, including word replacement and attention mechanisms. It's a good overview.

      But if you are looking for a higher-level introduction that covers the same big ideas in ~10 minutes for a more general audience, here's my take: https://medium.com/@ageitgey/machine-learning-is-fun-part-5-language-translation-with-deep-learning-and-the-magic-of-sequences-2ace0acca0aa

    Related

    Edwin Chenblog.echen.me41 people

    Exploring LSTMs

    Edwin Chen
    Personal · last shared 2023
    One Useful Thingoneusefulthing.org104 people

    No elephants: Breakthroughs in image generation

    One Useful Thing
    Personal · last shared 2026
    LessWronglesswrong.com2.4k people

    The Best Textbooks on Every Subject

    LessWrong
    Publication · last shared 2026
    PyImageSearchpyimagesearch.com84 people

    Face recognition in images and video with Python

    PyImageSearch
    Personal · last shared 2025
    Drew Breunigdbreunig.com43 people

    DuckDB is probably the most important geospatial software of the last decade

    Drew Breunig
    Personal · last shared 2026
    Google AI Blogai.googleblog.com596 people

    Google Duplex: An AI System for Accomplishing Real World Tasks Over the Phone

    Google AI Blog
    Company · last shared 2026
    Andy Masleyandymasley.substack.com78 people

    Using ChatGPT is not bad for the environment

    Andy Masley
    Personal · last shared 2026
    Google Research Bloggoogleresearch.blogspot.com303 people

    Announcing SyntaxNet: The World’s Most Accurate Natural Language Parser

    Google Research Blog
    Company · last shared 2017