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

    Andrew Godwin

    aeracode.org · Personal blog · on HN since 2008

    Andrew Godwin, a Python developer, writes about Django, async Python, migrations, Channels, and the Fediverse project Takahē.

    Visit blogRSSHN submissions
    ProgrammingWeb DevelopmentOpen Source & Linux
    What HN says

    HN commenters credit him as the creator of South and Django migrations, and link his posts on Takahē's maintenance status.

    Stats for nerds
    68HN people shared it
    60linked in comments
    502story points
    Feb 2025last shared
    2012people per year2025

    Top posts on HN

    1. 1
      Hello, This Is London Rising: 3D Printing Maps from LIDAR Data
      2 people · 140 points · first shared 2016 · 41 comments on HN
    2. 2
      Python and Async Simplified (2018)
      5 people · 110 points · first shared 2018 · 46 comments on HN
    3. 3
      Introducing Mantrid (runtime-configurable, Python load balancer)
      1 person · 65 points · first shared 2011 · 8 comments on HN
    4. 4
      The Fediverse, and Custom Domains
      4 people · 23 points · first shared 2022 · 7 comments on HN
    5. 5
      One Change Is Not Enough
      2 people · 19 points · first shared 2012 · 1 comments on HN
    6. 6
      Twitter, ActivityPub and the Future
      4 people · 16 points · first shared 2022 · Discussion on HN
    7. 7
      Django Channels 2.0 Released
      3 people · 16 points · first shared 2018 · Discussion on HN
    8. 8
      The End of an Era (Django South 1.0)
      1 person · 10 points · first shared 2014 · Discussion on HN
    9. 9
      Django – Beyond Request-Response
      5 people · 9 points · first shared 2015 · Discussion on HN
    10. 10
      Ep.io, a new python WSGI hosting company
      1 person · 9 points · first shared 2011 · 1 comments on HN

    What HN people wrote when they linked it

    • karinatoDec 2017

      In contrast, donations by Roberto Rosario:

      - Gold sponsor of Django schema migration work (http://www.aeracode.org/2013/04/11/whole-load-kickstarting/)

      - Gold sponsor of the Django multi template engine work (https://myks.org/en/multiple-template-engines-for-django/funders/)

      - Gold sponsor for the Django REST framework work (http://www.django-rest-framework.org/topics/kickstarter-announcement/#gold-sponsors)

      - Gives money and time to groups looking to increase participation of women to STEM fields like #IncludeGirls (https://medium.com/ladies-storm-hackathons/include-girls-137ab2168bbe) (https://aldia.microjuris.com/2013/10/07/ciclo-de-conferencias-sobre-criptografia/) (https://www.eventbrite.com/e/python-django-workshop-tickets-9132677083#).

      - Has started initiatives like PythonLatino and DjangoLatino to increase Latinamerican participation in Django and Python.

      - Was chairman of the group that got the PyCon started in Cuba after travel restrictions were relaxed.

      - Author or many Python and Django popular projects that help a lot of people like Awesome Django (https://github.com/rosarior/awesome-django).

      - Sponsored STEM books.

      - PSF candidate with endorsements by Python leaders like Anna Ravencroft, co-author of the Python Cookbook along with her husband Alex Martelli, fellow of the Python Software Foundation (https://en.wikipedia.org/wiki/Alex_Martelli) (https://wiki.python.org/moin/PythonSoftwareFoundation/BoardCandidates2015#roberto-rosario).

      Many more but…

    • dragonwriterSep 2021

      > The issue is if you need to add an async call to an existing synchronous code base.

      What it seems is needed is a blue function that wraps a red function with (in the simple case, though the actual inplementation needs to be more complicated to identify when thr sinple case applies vs when you have to do something more complicated) a dedicated single-item event loop and returns its result [0] (in async-await, I’d want to have a keyword “sync” used much like “await” but in an otherwise synchronous context to wrap a red function in this blue function.) JS—or at least browsers specifically—might avoid having this, or the tools to do it, to avoid encouraging use of async constructs in a sync context which could kill UI liveness, but for other red/blue async/sync environments it would be useful to have, whether in function or keyword form.

      [0] “async_to_sync" in this article is an example (for Python, but the general idea would be the same un any environment): https://www.aeracode.org/2018/02/19/python-async-simplified/

    • tedmistonJul 2016

      Kind of.

      48 contributors total (Yes, Andrew is doing most) - https://github.com/andrewgodwin/channels/graphs/contributors

      It sounds like it wasn't decided to keep 3rd party as much as decided not to not combine yet:

      > The feedback I got during the proposal process for putting Channels into Django 1.10 (it did not get in before the deadline, but will still be developed as an external app with 1.10) was valuable; some of the more recent changes and work, such as backpressure and the local-and-remote Redis backend, are based on feedback from that process, and I imagine more tweaks will emerge as more things get deployed on Channels.

      https://www.aeracode.org/2016/6/16/philosophy-channels/

      You can still use Channels today in 1.8–1.10.

      https://blog.heroku.com/in_deep_with_django_channels_the_future_of_real_time_apps_in_django

      This project is very much in the spotlight, was heavily discussed at PyCon, etc. I don't think it's going anywhere.

    • huxleyJan 2014

      Close, but not exactly, Andrew Godwin, the creator of South, has added support for migrations into the dev branch of Django, to be part of the Django 1.7 release.

      https://docs.djangoproject.com/en/dev/topics/migrations/

      Andrew has significantly rethought migrations and applied the lessons he's learned from years of maintaining and developing South.

      He's kept a developer diary that has been pretty fascinating to read (YMMV):

      http://www.aeracode.org/2013/11/27/new-apps-migrations/

      and others at:

      http://www.aeracode.org/category/django-diaries/

      [update: route3 is faster than me, but still it's worth checking out the developer diaries]

    • acdhaMar 2016

      I think part of what he's insanely good at is carefully soliciting feedback from other people, particularly those with a lot of experience with similar but distinct problems. The final spec goes back close to a year (https://www.aeracode.org/2015/6/17/beyond-request-response/ https://groups.google.com/d/topic/django-developers/mt1mTNvc0Ew/discussion) and the polish really shows.

      I think of that as a “senior developer” skill which is easy to underestimate since it doesn't directly translate into tons of commits but is so critical to the long-term success of a project.

    • tragicFeb 2014

      As I understand it, the new migrations module is more fully featured than south: eg, it intelligently squashes/flattens migrations together to avoid redundancy when you run the migrations (say you create a model in migration 1, and remove it in migration 3 after changing approach, the whole operation will be skipped).[0] This will speed things up if you have a lot of migrations to run.

      I think I heard that some of this stuff will be backported to South for those of us stuck on 1.5/1.6, however.

      [0] http://www.aeracode.org/2013/10/23/flat-pancake/

    Related

    Reinout van Reesreinout.vanrees.org31 people

    PostgreSQL when it is not your job

    Reinout van Rees
    Personal · last shared 2026
    Textual Blogtextual.textualize.io54 people

    Algorithms for high performance terminal apps – Textual

    Textual Blog
    Company · last shared 2026
    Adrian Holovatyholovaty.com65 people

    Adding a feature because ChatGPT incorrectly thinks it exists

    Adrian Holovaty
    Personal · last shared 2025
    Feldera Blogfeldera.com21 people

    The Pain That Is GitHub Actions

    Feldera Blog
    Company · last shared 2026
    Alex Gaynoralexgaynor.net120 people

    About Python 3

    Alex Gaynor
    Personal · last shared 2026
    Doug Hellmanndoughellmann.com44 people

    The Performance Impact of Using dict() Instead of {} in CPython 2.7

    Doug Hellmann
    Personal · last shared 2024
    Cal Patersoncalpaterson.com102 people

    Firefox usage is down despite Mozilla's top exec pay going up

    Cal Paterson
    Personal · last shared 2026
    Miguel Grinbergblog.miguelgrinberg.com94 people

    Python 3.14 is here. How fast is it?

    Miguel Grinberg
    Personal · last shared 2026