41554 blogs · [ { "id": "01a0876d-18b4-72af-a162-df283365b6d3", "title": "\"We don't deploy on Fridays\"", "url": "https://dimiterpetrov.com/blog/we-dont-deploy-on-fridays/", "published_at": "2024-11-06T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2833f8c2c4", "title": "How I test Stimulus controllers", "url": "https://dimiterpetrov.com/blog/how-i-test-stimulus-controllers/", "published_at": "2024-07-02T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2834197280", "title": "Dealing with flaky tests", "url": "https://thoughtbot.com/blog/dealing-with-flaky-tests", "published_at": "2024-05-27T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2834e4604d", "title": "Service objects are poorly-named models", "url": "https://dimiterpetrov.com/blog/service-objects-are-poorly-named-models/", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2835680c92", "title": "Have we moved past contempt culture?", "url": "https://dimiterpetrov.com/blog/have-we-moved-past-contempt-culture/", "published_at": "2023-12-07T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2836159409", "title": "Helvetic Ruby 2023: a personal retrospective", "url": "https://dimiterpetrov.com/blog/helvetic-ruby-2023-personal-retrospective/", "published_at": "2023-11-26T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df28366b8068", "title": "3 ways to model an associated collection in Rails", "url": "https://thoughtbot.com/blog/3-ways-to-model-an-associated-collection-in-rails", "published_at": "2023-11-23T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df2836c6901f", "title": "Turn off notifications", "url": "https://dimiterpetrov.com/blog/turn-off-notifications/", "published_at": "2023-07-26T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283771c3b9", "title": "GitHub pull request merge strategies", "url": "https://thoughtbot.com/blog/github-pull-request-merge-strategies", "published_at": "2023-07-17T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df28386983d2", "title": "Rails developers write some Rust: a review of Axum 0.6", "url": "https://thoughtbot.com/blog/axum-from-a-rails-perspective", "published_at": "2023-01-16T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283923771e", "title": "Trying to prevent errors is good, being able to recover from errors is better", "url": "https://dimiterpetrov.com/blog/error-prevention-vs-error-recovery/", "published_at": "2022-12-05T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283a04cb30", "title": "Thoughts on onboarding and offboarding", "url": "https://dimiterpetrov.com/blog/onboarding-offboarding/", "published_at": "2022-11-16T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283ad00f97", "title": "SVG icon sizing and alignment", "url": "https://dimiterpetrov.com/blog/svg-icon-sizing-and-alignment/", "published_at": "2022-07-25T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283b588a92", "title": "Working with constant interruptions", "url": "https://dimiterpetrov.com/blog/working-with-constant-interruptions/", "published_at": "2022-05-12T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283b82568b", "title": "Clean your backlog", "url": "https://blog.simplificator.com/2021/11/10/clean-your-backlog/", "published_at": "2021-11-10T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283ba7656d", "title": "Tips for applying to a job at a small company", "url": "https://blog.simplificator.com/2021/10/12/tips-for-applying-to-a-job-at-a-small-company/", "published_at": "2021-10-12T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283c3500d8", "title": "How to connect to an Apple Thunderbolt display from Linux", "url": "https://dimiterpetrov.com/blog/linux-thunderbolt-display-connection/", "published_at": "2021-09-20T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283c4d90c8", "title": "A subtle change in PDF output", "url": "https://blog.simplificator.com/2021/07/05/a-subtle-change-in-pdf-output/", "published_at": "2021-07-05T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283c51a357", "title": "The trade-offs of two feature flag implementations", "url": "https://dimiterpetrov.com/blog/the-trade-offs-of-two-feature-flag-implementations/", "published_at": "2020-12-30T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283ca91b71", "title": "Broken video in Safari after DOM change", "url": "https://dimiterpetrov.com/blog/broken-video-in-safari-after-dom-change/", "published_at": "2020-06-22T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283cd54361", "title": "Github OAuth authorization with serverless functions", "url": "https://dimiterpetrov.com/blog/github-oauth-authorization-with-serverless-functions/", "published_at": "2019-12-13T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283d9b50e2", "title": "A tale of flaky Cypress tests", "url": "https://dimiterpetrov.com/blog/a-tale-of-flaky-cypress-tests/", "published_at": "2019-10-24T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283e43076f", "title": "Setting up Cypress with Rails", "url": "https://blog.simplificator.com/2019/10/11/setting-up-cypress-with-rails/", "published_at": "2019-10-11T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283eae076c", "title": "Decoding disparate JSON fields into a custom Elm type", "url": "https://dimiterpetrov.com/blog/decoding-disparate-json-fields-into-custom-elm-type/", "published_at": "2019-03-20T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283f3fb572", "title": "Long-lived background Ruby processes", "url": "https://dimiterpetrov.com/blog/long-lived-background-ruby-processes/", "published_at": "2018-10-28T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283fd1ca5d", "title": "Keeping Elm JSON decoders in sync with your Rails API", "url": "https://dimiterpetrov.com/blog/keeping-elm-json-decoders-in-sync-with-your-rails-api/", "published_at": "2017-09-11T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df283fec4414", "title": "A Self-Testing Test Library", "url": "https://dimiterpetrov.com/blog/self-testing-test-library/", "published_at": "2016-08-18T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df28405f83c5", "title": "Elm Single Page Application Setup", "url": "https://dimiterpetrov.com/blog/elm-single-page-application-setup/", "published_at": "2016-08-03T00:00:00+00:00" }, { "id": "01a0876d-18b4-72af-a162-df284064ebf1", "title": "API Response Serialization with Plain Old Ruby Objects and ActiveSupport", "url": "https://dimiterpetrov.com/blog/api-response-serialization-with-plain-old-ruby-objects-and-activesupport/", "published_at": "2016-07-30T00:00:00+00:00" } ] posts Claim your blog
Back to dimiterpetrov.com
Blog · corpus.blog/blogs/dimiterpetrov.com/posts

dimiterpetrov.com

dimiterpetrov.com

2024

2023

2022

2021

2020

2019

2018

2017

2016