41554 blogs · [ { "id": "01a087e5-1807-7097-9d6d-423d25fc1ddc", "title": "A year at 37signals", "url": "https://stanko.io/a-year-at-37signals-8s17uw9GPHgD", "published_at": "2026-08-05T07:26:18+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d26417874", "title": "Clean air & AI", "url": "https://stanko.io/clean-air-ai-AHcddmIf21lt", "published_at": "2025-06-12T14:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d27266495", "title": "My last PHP app: How I Fell for Ruby", "url": "https://stanko.io/my-last-php-app-how-i-fell-for-ruby-pcaqgWmybRLN", "published_at": "2025-05-24T09:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d27e41c3d", "title": "Building Twice: A clone of Once", "url": "https://stanko.io/building-twice-a-clone-of-once-gJKxLYCe26Ak", "published_at": "2025-05-16T08:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d27ee0390", "title": "Adding MCP to a Rails app", "url": "https://stanko.io/adding-mcp-to-a-rails-app-NG9zkX3dyPq1", "published_at": "2025-05-06T09:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d27f61cb2", "title": "Building Simpl息", "url": "https://stanko.io/building-simpl-77CAzym51p5a", "published_at": "2025-04-24T06:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d28537a93", "title": "Adversarial Web Services", "url": "https://stanko.io/adversarial-web-services-Vjfkr3DF9LfG", "published_at": "2025-03-03T07:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d28f5c789", "title": "Monitoring ActionCable", "url": "https://stanko.io/monitoring-actioncable-GdeaeHfIU4Yk", "published_at": "2025-01-27T10:26:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d29655f05", "title": "Software is made by people", "url": "https://stanko.io/software-is-made-by-people-gWZri0iMla1q", "published_at": "2024-06-03T05:05:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2a117f10", "title": "Why does Rails put the type column first in an index for a polymorphic association?", "url": "https://stanko.io/why-does-rails-put-the-type-column-first-in-an-index-for-a-polymorphic-association-d1opdSyuh50B", "published_at": "2024-04-01T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2a40c010", "title": "Running Campfire behind traefik", "url": "https://stanko.io/running-campfire-behind-traefik-LrGQM0GE0FVd", "published_at": "2024-02-06T07:10:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2ab834bb", "title": "Deconstructing Action Cable", "url": "https://stanko.io/deconstructing-action-cable-DC7F33OsjGmK", "published_at": "2024-02-05T13:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2b500a67", "title": "Tracking online presence with ActionCable", "url": "https://stanko.io/tracking-online-presence-with-actioncable-ukEi6sUZ98Bz", "published_at": "2023-11-14T05:17:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2bb711b1", "title": "Rails World", "url": "https://stanko.io/rails-world-sPmrX4SDRCa5", "published_at": "2023-10-10T09:45:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2ca60946", "title": "Hold your own Poison Ivy", "url": "https://stanko.io/hold-your-own-poison-ivy-MIpqar9OcB5v", "published_at": "2023-08-28T05:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2d8cd15a", "title": "Rent in Zagreb is hell", "url": "https://stanko.io/rent-in-zagreb-is-hell-lxSb30fFZmQq", "published_at": "2023-07-31T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2e714fcd", "title": "Corporate newspeak", "url": "https://stanko.io/corporate-newspeak-v2E1RTcmIUfi", "published_at": "2023-04-26T06:01:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2efef4f0", "title": "From Markdown to ActionText", "url": "https://stanko.io/from-markdown-to-actiontext-jAIFShaUCI8Q", "published_at": "2023-04-05T08:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2f2d43e3", "title": "Vanilla Rails view components with partials", "url": "https://stanko.io/vanilla-rails-view-components-with-partials-41zctBGbN9ka", "published_at": "2023-01-24T14:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d2faac01e", "title": "COVID hangover", "url": "https://stanko.io/covid-hangover-5En5QhX2ecem", "published_at": "2023-01-21T16:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3007b947", "title": "Elden Ring", "url": "https://stanko.io/elden-ring-9aC2HBpWCnoG", "published_at": "2022-12-04T20:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d30c9449f", "title": "Cutting through the noise", "url": "https://stanko.io/cutting-through-the-noise-zadsDfjGrxyd", "published_at": "2022-11-27T21:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d317ef08f", "title": "Email", "url": "https://stanko.io/email-Hp5pkUZLCrw4", "published_at": "2022-11-20T21:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d319075a7", "title": "Tech debt for non-techies", "url": "https://stanko.io/tech-debt-for-non-techies-4rQhGJdxiMuY", "published_at": "2022-11-13T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3264e874", "title": "Fight perfection", "url": "https://stanko.io/fight-perfection-roooUsSEfduw", "published_at": "2022-11-04T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d334e5494", "title": "What is a professional tool anyway?", "url": "https://stanko.io/what-is-a-professional-tool-anyway-55xrWHjz6gDb", "published_at": "2022-10-29T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d33efa034", "title": "A week in Helsinki", "url": "https://stanko.io/a-week-in-helsinki-3XbBLSiAuFKy", "published_at": "2022-10-23T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d347be866", "title": "How an index made rendering slow", "url": "https://stanko.io/how-an-index-made-rendering-slow-4SwhrHpds4Te", "published_at": "2022-10-10T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d356d4c04", "title": "140 million rows later", "url": "https://stanko.io/140-million-rows-later-NiCShJ27Gj5a", "published_at": "2022-10-07T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d35d0311b", "title": "“Having a monolith is a single point of failure”", "url": "https://stanko.io/having-a-monolith-is-a-single-point-of-failure-3cYdY3KZ7qHW", "published_at": "2022-09-30T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d364a85a7", "title": "The humble ActiveModel", "url": "https://stanko.io/the-humble-activemodel-48C1eCmbgtrn", "published_at": "2022-09-22T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d367846f1", "title": "Take a break", "url": "https://stanko.io/take-a-break-4hwQBaUwEkZ9", "published_at": "2022-08-27T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d36793848", "title": "Keep it boring, don’t surprise me", "url": "https://stanko.io/keep-it-boring-dont-surprise-me-52opnwWR6CBh", "published_at": "2022-08-21T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d36f807ec", "title": "Scrum is for time estimates, not projects", "url": "https://stanko.io/scrum-is-for-time-estimates-not-projects-23ULmuBVSMqo", "published_at": "2022-07-15T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d371cb802", "title": "Misguided Mark misrepresents Micro-services: A story about paradigms", "url": "https://stanko.io/misguided-mark-misrepresents-micro-services-a-story-about-paradigms-XBMbcWf6RRkz", "published_at": "2022-07-11T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d37974f7c", "title": "How I stumbled upon Strada while forwarding an email", "url": "https://stanko.io/how-i-stumbled-upon-strada-while-forwarding-an-email-3W8mbS5KSKXs", "published_at": "2022-07-01T12:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d37ec8fd8", "title": "The Judo way", "url": "https://stanko.io/the-judo-way-np6Ftd4sUGzK", "published_at": "2021-08-28T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d38627d65", "title": "New coat of paint", "url": "https://stanko.io/new-coat-of-paint-3tgme2PMzsya", "published_at": "2021-08-09T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3920338f", "title": "GraphQL file upload with Shrine", "url": "https://stanko.io/graphql-file-upload-with-shrine-45fa26463c68", "published_at": "2019-01-02T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d39ddf260", "title": "Function composition >> Ruby", "url": "https://stanko.io/function-composition-ruby-8f91aea21e5f", "published_at": "2018-12-25T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3ac3c100", "title": "Best image uploader for Rails — Revisited", "url": "https://stanko.io/best-image-uploader-for-rails-revisited-3b3b7618cc4c", "published_at": "2018-12-25T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3b6c9c22", "title": "Licensing software", "url": "https://stanko.io/licensing-software-b13d043e2a93", "published_at": "2018-10-20T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3b92da3d", "title": "Do you really need WebSockets?", "url": "https://stanko.io/do-you-really-need-websockets-343aed40aa9b", "published_at": "2018-03-29T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3b9d7d0e", "title": "RabbitMQ is more than a Sidekiq replacement", "url": "https://stanko.io/rabbitmq-is-more-than-a-sidekiq-replacement-b730d8176fb", "published_at": "2018-03-07T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3c576c20", "title": "Supercharging services architectures with RabbitMQ", "url": "https://stanko.io/supercharging-services-architectures-with-rabbitmq-b2dc75804577", "published_at": "2018-03-01T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3d2ec27c", "title": "Tips to improve your tests", "url": "https://stanko.io/tips-to-improve-your-tests-414733ecbc4-414733ecbc4", "published_at": "2016-05-23T00:00:00+00:00" }, { "id": "01a087e5-1807-7097-9d6d-423d3d855055", "title": "Hacking privacy into Facebook’s Messenger in 24 hours", "url": "https://stanko.io/hacking-privacy-into-facebook-s-messenger-in-24-hours-3da239baf6c5", "published_at": "2016-04-25T00:00:00+00:00" } ] posts Claim your blog
Back to stanko.io
Blog · corpus.blog/blogs/stanko.io/posts

stanko.io

stanko.io

2026

2025

2024

2023

2022

2021

2019

2018

2016