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
    C

    Caktus Group Blog

    caktusgroup.com · Company blog · on HN since 2011

    Caktus Group, a Django and Python development firm, blogs about Django, Celery, open source, and managing client projects.

    Visit blogHN submissions
    ProgrammingWeb DevelopmentOpen Source & Linux
    What HN says

    Commenters call it a great technical blog on Python and Django. HN also links its post on why a clean git merge can still be wrong.

    Stats for nerds
    20HN people shared it
    20linked in comments
    91story points
    Jan 2026last shared
    2012people per year2026

    Top posts on HN

    1. 1
      Raspberry IO open sourced
      1 person · 44 points · first shared 2013 · 6 comments on HN
    2. 2
      Narrowing the Gender Gap in the Open Source community
      1 person · 12 points · first shared 2012 · Discussion on HN
    3. 3
      Class-based views in Django 1.3
      1 person · 7 points · first shared 2012 · 1 comments on HN
    4. 4
      Django Is Boring, or Why Tech Startups (Should) Use Django
      1 person · 4 points · first shared 2016 · Discussion on HN
    5. 5
      Django-scribbler, a lightweight front-end interface for Django template editing
      1 person · 2 points · first shared 2012 · Discussion on HN
    6. 6
      Managing Client Expectations Amind Shifting Deadlines
      1 person · 2 points · first shared 2011 · Discussion on HN
    7. 7
      Don't keep important data in your Celery queue (2016)
      1 person · 2 points · first shared 2017 · Discussion on HN
    8. 8
      Openblock Geocoder Part 1: Data Models and Geocoding
      1 person · 2 points · first shared 2011 · Discussion on HN
    9. 9
      Introduction to Monte Carlo Tree Search
      1 person · 2 points · first shared 2015 · Discussion on HN
    10. 10
      Live from Djangocon 2012: Notes on the First Day
      1 person · 2 points · first shared 2012 · Discussion on HN

    What HN people wrote when they linked it

    • tinodbOct 2024

      I’m a bit surprised to hear that is the state of migrations in Rails. Being a Django developer I’m used to having most of the points you mention covered for a really long time already.

      It’s timeless by looking at a captured schema, that doesn’t change with later code changes. Which means you can’t import / use methods of models and have to copy those over. So a different way than using the vcs for this, but still.

      Not sure I’d name the second point “scalable”, but you can easily do data migrations as well.

      It is really easy to use!

      And you can certainly write tests for it, although it isn’t included in the framework [0]. But you can do that with just SQL too [1].

      What I find much harder with (somewhat) larger dbs, is is a) determining whether it will lock up too much and b) whether it backwards compatible (so that you can roll back). Which is splitting in these pre- and post-migration steps as the article mentions. We currently use a linter for that but it is still a bit basic [2].

      [0] https://www.caktusgroup.com/blog/2016/02/02/writing-unit-tests-django-migrations/

      [1] https://tapoueh.org/blog/2017/08/sql-regression-tests/

      [2] https://github.com/3YOURMIND/django-migration-linter

    • tmariceJan 2026

      This is not specific to Django, but to any project using a database. Here's a list of a couple quite useful resources I used when we had to address this:

      * https://github.com/tbicr/django-pg-zero-downtime-migrations

      * https://docs.gitlab.com/development/migration_style_guide/

      * https://pankrat.github.io/2015/django-migrations-without-downtimes/

      * https://www.caktusgroup.com/blog/2021/05/25/django-migrations-and-deployment/

      * https://openedx.atlassian.net/wiki/spaces/AC/pages/23003228/Everything+About+Database+Migrations

      Generally it's also advisable to set a statement timeout for migrations otherwise you can end up with unintended downtime -- ALTER TABLE operations very often require ACCESS EXCLUSIVE lock, and if you're migrating a table that already has an e.g. very long SELECT operation from a background task on it, all other SELECTs will queue up behind the migration and cause request timeouts.

      There are some cases you can work around this limitation by manually composing operations that require less strict locks, but in our case, it was much simpler to just make sure all Celery workers were stopped during migrations.

    • iendsApr 2016

      In RTP, since that's where I am:

      https://www.caktusgroup.com/

      http://www.redhat.com

      https://www.sciencelogic.com/

      https://www.ansible.com/

      I moved from Python to JavaScript a few years ago primarily because the market just isn't there locally.

    • throwawaysnipeApr 2012

      That OP is cherrypicking is obvious, but his web shop example is particularly brazen.

      Google for 'django consulting' also turns up on first page:

      http://www.comfychairconsulting.com/

      http://tivix.com/

      http://www.caktusgroup.com/

    • fulafelApr 2025

      In git the rebase of course isn't a sound operation either, the merge is heuristic and you're liable to get conflicts or silent mismerges.

      Some simple examples: https://www.caktusgroup.com/blog/2018/03/19/when-clean-merge-wrong/

    • japhyrApr 2017

      The Caktus team has a great technical blog with many posts about Python and Django. I've also really enjoyed visiting with their people at PyCon over the years.

      https://www.caktusgroup.com/blog/

    Related

    Django Blogdjangoproject.com312 people

    Happy 20th Birthday, Django

    Django Blog
    Company · last shared 2026
    Microsoft Cloud Blogscloudblogs.microsoft.com133 people

    exFAT in the Linux kernel

    Microsoft Cloud Blogs
    Company · last shared 2024
    Python Software Foundation Blogpyfound.blogspot.com147 people

    PSF has withdrawn $1.5M proposal to US Government grant program

    Python Software Foundation Blog
    Company · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    Microsoft Blogblogs.microsoft.com669 people

    Announcing SQL Server on Linux

    Microsoft Blog
    Company · last shared 2026
    James Bennettb-list.org95 people

    Let’s talk about usernames

    James Bennett
    Personal · last shared 2026
    Prefect Blogprefect.io35 people

    The Prefect open source workflow engine

    Prefect Blog
    Company · last shared 2026
    PyPy Blogmorepypy.blogspot.com242 people

    Let's Remove the Global Interpreter Lock

    PyPy Blog
    Company · last shared 2024