41554 blogs · [ { "id": "01a087b4-1c97-72c3-bcd7-ea00ba435902", "title": "15+ years later, Microsoft morged my diagram", "url": "https://nvie.com/posts/15-years-later/", "published_at": "2026-02-18T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b9514112", "title": "Why .every() on an empty list is true", "url": "https://nvie.com/posts/why-every-on-an-empty-list-is-true/", "published_at": "2021-12-06T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b907fdf0", "title": "Git power tools for daily use", "url": "https://nvie.com/posts/git-power-tools/", "published_at": "2018-11-08T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b8e240ff", "title": "An intro to decoders", "url": "https://nvie.com/posts/introducing-decoders/", "published_at": "2018-09-25T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b8dc8086", "title": "pip-tools 1.0 released", "url": "https://nvie.com/posts/pip-tools-10-released/", "published_at": "2015-07-21T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b89c7fe5", "title": "Beautiful code", "url": "https://nvie.com/posts/beautiful-code/", "published_at": "2015-06-16T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b8990683", "title": "Beautiful map", "url": "https://nvie.com/posts/beautiful-map/", "published_at": "2015-06-15T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b7bbca7c", "title": "Thinking in streams", "url": "https://nvie.com/posts/thinking-in-streams/", "published_at": "2015-03-25T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b76bc873", "title": "Modifying Deeply-Nested Structures", "url": "https://nvie.com/posts/modifying-deeply-nested-structures/", "published_at": "2014-10-03T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b6a172c3", "title": "Use More Iterators", "url": "https://nvie.com/posts/use-more-iterators/", "published_at": "2014-09-29T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b6244fed", "title": "Iterables vs. Iterators vs. Generators", "url": "https://nvie.com/posts/iterators-vs-generators/", "published_at": "2014-09-25T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b5c24dcc", "title": "Writing a Command-Line Tool in Python", "url": "https://nvie.com/posts/writing-a-cli-in-python-in-under-60-seconds/", "published_at": "2014-09-24T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3e387c9c", "title": "Better Package Management", "url": "https://nvie.com/posts/better-package-management/", "published_at": "2013-05-08T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3dbb9fbd", "title": "Pin Your Packages", "url": "https://nvie.com/posts/pin-your-packages/", "published_at": "2012-09-26T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3d8fd06a", "title": "Open Sourcing: the Ultimate Isolation", "url": "https://nvie.com/posts/open-sourcing-is-the-ultimate-isolation/", "published_at": "2012-09-09T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3cc1e910", "title": "Introducing RQ", "url": "https://nvie.com/posts/introducing-rq/", "published_at": "2012-03-28T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3cab0216", "title": "vim-flake8: Flake8 for Vim", "url": "https://nvie.com/posts/vim-flake8-flake8-for-vim/", "published_at": "2012-02-14T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3bdc7118", "title": "Introducing Times", "url": "https://nvie.com/posts/introducing-times/", "published_at": "2012-02-02T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3b363a1e", "title": "Chords + Lyrics", "url": "https://nvie.com/posts/chords-lyrics/", "published_at": "2011-10-05T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3b2c2705", "title": "A git-flow screencast", "url": "https://nvie.com/posts/a-git-flow-screencast/", "published_at": "2011-01-27T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3ad7c73d", "title": "How I boosted my Vim", "url": "https://nvie.com/posts/how-i-boosted-my-vim/", "published_at": "2010-09-14T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a3a09f047", "title": "A whole new blog", "url": "https://nvie.com/posts/a-whole-new-blog/", "published_at": "2010-09-13T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a39720afb", "title": "An upgrade of gitflow", "url": "https://nvie.com/posts/an-upgrade-of-gitflow/", "published_at": "2010-03-04T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a38b74e68", "title": "gitflow 0.1 released", "url": "https://nvie.com/posts/gitflow-01-released/", "published_at": "2010-01-26T00:00:00+00:00" }, { "id": "01a087b4-1c97-72c3-bcd7-ea00b9ba311e", "title": "A successful Git branching model", "url": "https://nvie.com/posts/a-successful-git-branching-model/", "published_at": "2010-01-05T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a384b0d59", "title": "Auto-generate classes for your Core Data data model, revisited", "url": "https://nvie.com/posts/auto-generate-classes-for-your-core-data-data-model-revisited/", "published_at": "2009-09-19T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a375dbe0b", "title": "Automatically generate classes for your Core Data data model", "url": "https://nvie.com/posts/automatically-generate-classes-for-your-core-data-data-model/", "published_at": "2009-06-30T00:00:00+00:00" }, { "id": "01a087b4-1c96-72c0-8955-927a369c366d", "title": "NSManagedObjectContext extensions", "url": "https://nvie.com/posts/nsmanagedobjectcontext-extensions/", "published_at": "2009-06-22T00:00:00+00:00" }, { "id": "01a087b4-1c90-7181-843b-2cb33f0843f9", "title": "NSPredicateEditor tutorial", "url": "https://nvie.com/posts/nspredicateeditor-tutorial/", "published_at": "2009-06-20T00:00:00+00:00" } ] posts Claim your blog
Back to nvie.com
Blog · corpus.blog/blogs/nvie.com/posts

nvie.com

nvie.com

2026

2021

2018

2015

2014

2013

2012

2011

2010

2009