56,966 blogs · [ { "id": "01a0879c-4ccc-7155-b71c-728c8831e7bc", "title": "My one big complaint working with Vapor 4", "url": "https://www.loopwerk.io/articles/2021/one-big-complaint-vapor4/", "published_at": "2021-07-17T16:15:35+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c88450f04", "title": "Interview with proglib.io", "url": "https://www.loopwerk.io/articles/2021/interview-proglib/", "published_at": "2021-07-11T20:15:36+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c88fa2e91", "title": "Mentee Question 5: What's the deal with coordinators?", "url": "https://www.loopwerk.io/articles/2021/faq-coordinators/", "published_at": "2021-03-10T12:16:24+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c897dc196", "title": "Mentee Question 4: When to use PassthroughSubject and CurrentValueSubject?", "url": "https://www.loopwerk.io/articles/2021/faq-passthroughsubject-currentvaluesubject/", "published_at": "2021-02-25T12:47:21+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c89d7303a", "title": "Mentee Question 3: How to know when multiple publishers completed?", "url": "https://www.loopwerk.io/articles/2021/faq-promise-all-combine/", "published_at": "2021-02-22T13:31:11+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8a6265a5", "title": "Announcing tag-changelog: automate your changelog and GitHub releases", "url": "https://www.loopwerk.io/articles/2021/automating-changelog/", "published_at": "2021-02-19T23:59:05+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8b47b8c6", "title": "A review of Markdown parsers for Swift", "url": "https://www.loopwerk.io/articles/2021/review-markdown-parsers/", "published_at": "2021-02-17T00:13:08+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8b63342e", "title": "Building my own static site generator, part 7: updates & the road to 1.0.0", "url": "https://www.loopwerk.io/articles/2021/saga-7-updates/", "published_at": "2021-02-13T22:27:51+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8bedcce4", "title": "Building my own static site generator, part 6: replacing SwiftMarkdown", "url": "https://www.loopwerk.io/articles/2021/saga-6-replacing-swiftmarkdown/", "published_at": "2021-02-09T16:17:53+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8cdda640", "title": "Building my own static site generator, part 5: replacing Ink and Splash", "url": "https://www.loopwerk.io/articles/2021/saga-5-replacing-ink/", "published_at": "2021-02-08T14:40:05+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8d5fe7b8", "title": "Building my own static site generator, part 4: a complete redesign", "url": "https://www.loopwerk.io/articles/2021/saga-4-complete-redesign/", "published_at": "2021-02-03T18:04:56+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8d745d85", "title": "Building my own static site generator, part 3: thoughts so far", "url": "https://www.loopwerk.io/articles/2021/saga-3-thoughts-so-far/", "published_at": "2021-02-02T21:58:26+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8d8b8c75", "title": "Building my own static site generator, part 2: API design", "url": "https://www.loopwerk.io/articles/2021/saga-2-api-design/", "published_at": "2021-01-31T18:17:21+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8dd5d7f5", "title": "Building my own static site generator, part 1: inspiration & goals", "url": "https://www.loopwerk.io/articles/2021/saga-1-inspiration/", "published_at": "2021-01-30T16:13:56+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8e3e1884", "title": "Swift generics and arrays", "url": "https://www.loopwerk.io/articles/2021/swift-generics/", "published_at": "2021-01-27T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8ed71522", "title": "Looking at the static site generator Publish", "url": "https://www.loopwerk.io/articles/2021/static-site-publish/", "published_at": "2021-01-22T17:51:52+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c8f911765", "title": "Mentee Question 2: How to get started", "url": "https://www.loopwerk.io/articles/2021/faq-getting-started/", "published_at": "2021-01-21T10:11:19+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c9033fa84", "title": "Mentee Question 1: UIKit or SwiftUI", "url": "https://www.loopwerk.io/articles/2021/faq-uikit-vs-swiftui/", "published_at": "2021-01-20T14:35:07+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c90fc4e81", "title": "Book review: Thinking in SwiftUI", "url": "https://www.loopwerk.io/articles/2020/book-review-thinking-in-swiftui/", "published_at": "2020-09-19T13:55:05+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c91a09a12", "title": "Exploring two-way databinding solutions in UIKit", "url": "https://www.loopwerk.io/articles/2020/two-way-databinding-uikit/", "published_at": "2020-07-10T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c9297a65a", "title": "Book review: Practical Combine", "url": "https://www.loopwerk.io/articles/2020/book-review-practical-combine/", "published_at": "2020-06-29T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c9318ba17", "title": "Connecting Stripe to Firestore via Cloud Functions and webhooks", "url": "https://www.loopwerk.io/articles/2020/stripe-firestore/", "published_at": "2020-06-26T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c93f9f6b4", "title": "A review of SwiftUI problems", "url": "https://www.loopwerk.io/articles/2020/swiftui-review/", "published_at": "2020-06-21T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c94738a98", "title": "User subscriptions on the web", "url": "https://www.loopwerk.io/articles/2020/user-subscriptions/", "published_at": "2020-06-20T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c94afa2e4", "title": "Connecting Storekit to Firestore via Cloud Functions and webhooks", "url": "https://www.loopwerk.io/articles/2020/storekit-webhooks-firestore/", "published_at": "2020-06-15T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c957181b4", "title": "Clean up Firestore and Storage when deleting a document", "url": "https://www.loopwerk.io/articles/2020/clean-up-firestore/", "published_at": "2020-06-14T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c963b9149", "title": "After Vapor and Django comes.. Firestore", "url": "https://www.loopwerk.io/articles/2020/firestore/", "published_at": "2020-06-07T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334cba26b23", "title": "Vapor 3 versus Django REST Framework", "url": "https://www.loopwerk.io/articles/2019/vapor-vs-drf/", "published_at": "2019-04-14T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c96756a82", "title": "Struggles with Vapor 3", "url": "https://www.loopwerk.io/articles/2019/vapor/", "published_at": "2019-03-20T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c97135605", "title": "2016 in review", "url": "https://www.loopwerk.io/articles/2016/2016-in-review/", "published_at": "2016-12-19T12:00:00+00:00" }, { "id": "01a0879c-4ccc-7155-b71c-728c973bd44d", "title": "Searching for a next gen back end", "url": "https://www.loopwerk.io/articles/2016/next-gen-backend/", "published_at": "2016-11-24T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619515f451", "title": "My one weekend with Android", "url": "https://www.loopwerk.io/articles/2016/one-weekend-with-android/", "published_at": "2016-07-13T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-6361959c6f22", "title": "Our front end stack one year later", "url": "https://www.loopwerk.io/articles/2016/front-end-stack-one-year-later/", "published_at": "2016-06-22T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636196053e85", "title": "Researching front end tools, part 3: Angular & Webpack vs Browserify", "url": "https://www.loopwerk.io/articles/2015/research-front-end-part-3/", "published_at": "2015-06-14T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619696eaa6", "title": "Researching front end tools, part 2: Deku, page.js and cssnext", "url": "https://www.loopwerk.io/articles/2015/research-front-end-part-2/", "published_at": "2015-05-31T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636196e20e99", "title": "Researching front end tools, part 1: Ampersand.js, React, Webpack, PostCSS and ESLint", "url": "https://www.loopwerk.io/articles/2015/research-front-end-part-1/", "published_at": "2015-05-17T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636196ff748f", "title": "Review roundup: email clients for OS X", "url": "https://www.loopwerk.io/articles/2013/email-clients-os-x/", "published_at": "2013-08-14T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636197f18ba0", "title": "Searching for a solution to back up all my pictures to the cloud", "url": "https://www.loopwerk.io/articles/2013/finding-solution-pictures-cloud/", "published_at": "2013-07-25T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-6361984d420b", "title": "Review roundup: iOS debug tools and inspectors", "url": "https://www.loopwerk.io/articles/2013/review-ios-debuggers/", "published_at": "2013-06-04T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-6361986cbd51", "title": "Getting started with programming", "url": "https://www.loopwerk.io/articles/2013/getting-started-with-programming/", "published_at": "2013-06-03T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636198e3ab41", "title": "iOS development: three years later", "url": "https://www.loopwerk.io/articles/2013/ios-development-three-years-later/", "published_at": "2013-05-20T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636199161f18", "title": "Apple's worst iOS framework: MediaPlayer", "url": "https://www.loopwerk.io/articles/2013/mediaplayer-apples-worst-framework/", "published_at": "2013-01-29T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636199875368", "title": "The software I used in 2012", "url": "https://www.loopwerk.io/articles/2013/software-used-2012/", "published_at": "2013-01-07T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636199b7ac46", "title": "2012 in review", "url": "https://www.loopwerk.io/articles/2012/looking-back-2012/", "published_at": "2012-12-26T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-636199d1271b", "title": "MPVolumeView (Airplay button) on an UIBarButtonItem", "url": "https://www.loopwerk.io/articles/2012/mpvolumeview-uibarbuttonitem/", "published_at": "2012-10-12T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334cc9ba968", "title": "Django-CMS backend usability", "url": "https://www.loopwerk.io/articles/2011/django-cms-backend-usability/", "published_at": "2011-01-29T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334ccec3e79", "title": "Django-CMS vs. FeinCMS vs. Mezzanine", "url": "https://www.loopwerk.io/articles/2011/django-cms-vs-feincms-vs-mezzanine/", "published_at": "2011-01-28T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619b2a0b72", "title": "My thoughts after having completed my first Appcelerator project", "url": "https://www.loopwerk.io/articles/2010/my-thoughts-after-having-completed-my-first-appcelerator-projects/", "published_at": "2010-12-02T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619c260228", "title": "Once again I turn to Appcelerator", "url": "https://www.loopwerk.io/articles/2010/once-again-i-turn-appcelerator/", "published_at": "2010-11-09T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619caaea05", "title": "Book review: Head First iPhone Development", "url": "https://www.loopwerk.io/articles/2010/book-review-head-first-iphone-development/", "published_at": "2010-05-16T12:00:00+00:00" }, { "id": "01a0879c-4ccd-72c4-9078-63619cc919e1", "title": "Getting started with iPhone app development", "url": "https://www.loopwerk.io/articles/2010/getting-started-iphone-app-development/", "published_at": "2010-04-21T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334cd03e34f", "title": "Things I \"hate\" about Python and Django", "url": "https://www.loopwerk.io/articles/2009/things-i-hate-about-python-and-django/", "published_at": "2009-12-06T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334cd96a1a6", "title": "Using the Google Visualization API in Django", "url": "https://www.loopwerk.io/articles/2009/using-google-visualization-api-django/", "published_at": "2009-11-29T12:00:00+00:00" }, { "id": "01a0821d-2d53-72f2-a1cb-7334ce689fb3", "title": "How to dynamically add fields to a Django model", "url": "https://www.loopwerk.io/articles/2009/how-dynamically-add-fields-django-model/", "published_at": "2009-11-26T12:00:00+00:00" } ] posts Claim your blog
Back to Kevin Renskers
Blog · corpus.blog/blogs/loopwerk.io/posts

Kevin Renskers

loopwerk.io

2021

2020

2019

2016

2015

2013

2012

2011

2010

2009