41554 blogs · [ { "id": "01a0d839-908a-738f-a07d-1bed355bcf2d", "title": "AI makes design system guardrails mandatory; this framework delivers them", "url": "https://evilmartians.com/chronicles/ai-makes-design-system-guardrails-mandatory-this-framework-delivers-them", "published_at": "2026-09-23T00:00:00+00:00" }, { "id": "01a0d839-908b-7148-a4eb-c58301916403", "title": "Agents on Rails", "url": "https://evilmartians.com/events/agents-on-rails-rails-at-scale", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a0b0cc-2f26-7374-ac70-19ab11413c44", "title": "Good wigs & golden paths: dev tools in the AI era", "url": "https://evilmartians.com/events/monkcast-victoria-melnikova", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0b0cc-2f26-7374-ac70-19ab027bd123", "title": "Rails Hyperdrive: supercharged agentic development for Rails", "url": "https://evilmartians.com/chronicles/rails-hyperdrive-supercharged-agentic-development-for-rails", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0b0cc-2f26-7374-ac70-19ab11beede2", "title": "How to run tech startup events in San Francisco", "url": "https://evilmartians.com/events/everything-outside-code-victoria-melnikova", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a08775-f281-70b3-9861-274e0be82a1d", "title": "Give up a little speed, get your team back", "url": "https://evilmartians.com/chronicles/give-up-a-little-speed-get-your-team-back", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a08216-8067-7300-8973-994dfb655a9e", "title": "The Golden Switch, or migrating from Gatsby to Astro in under 9¾ days", "url": "https://evilmartians.com/chronicles/golden-switch-or-migrating-from-gatsby-to-astro-in-under-9-days", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3db9d428d9", "title": "Why Gusto hired Evil Martians for Sidekiq infrastructure", "url": "https://evilmartians.com/chronicles/why-gusto-hired-evil-martians-for-sidekiq-infrastructure", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dba5d0a38", "title": "10 anti-AI slop moves for frontend projects going faster than humans can review", "url": "https://evilmartians.com/chronicles/ten-anti-ai-slop-moves-for-frontend-projects-going-faster-than-humans-can-review", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbb49c247", "title": "Why engineers should come to the SF Ruby Startup Conference in 2026", "url": "https://evilmartians.com/chronicles/why-engineers-should-come-to-the-sf-ruby-startup-conference-in-2026", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a0c50c-0905-7208-aee0-68bfc1add558", "title": "Why engineers should come to the SF Ruby Conference in 2026", "url": "https://evilmartians.com/chronicles/why-engineers-should-come-to-the-sf-ruby-conference-in-2026", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbc34c425", "title": "Access control for AI agents on Rails: gating SQL with Action Policy", "url": "https://evilmartians.com/chronicles/access-control-for-ai-on-rails-gating-sql-with-action-policy", "published_at": "2026-08-25T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc8e1d535", "title": "William Imoh of Hackmamba: AEO is just good SEO, killing your own traffic, and building a GTM agent", "url": "https://evilmartians.com/events/william-imoh-hackmamba", "published_at": "2026-08-25T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc94391fb", "title": "Smart Nano Stores, or how to make state management in Angular simpler", "url": "https://evilmartians.com/events/ng-kenya-2026", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a0c50c-093c-73d5-b4b1-0448cfaa575a", "title": "Rails in the age of AI-assisted development", "url": "https://evilmartians.com/events/technology-for-humans-irina-nazarova", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbcc0a685", "title": "Get in, human: cut Rails boot time with require-profiler and this guide", "url": "https://evilmartians.com/chronicles/get-in-human-cut-rails-boot-time-with-require-profiler-and-this-guide", "published_at": "2026-08-19T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbd8ae97d", "title": "Ship agent skills like packages: discovery index, digests, and install sources", "url": "https://evilmartians.com/chronicles/publishing-agent-skills-discovery-index", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbdcc3bfb", "title": "Fair by design: orchestrating background jobs in Ruby", "url": "https://evilmartians.com/chronicles/fair-by-design-orchestrating-background-jobs-in-ruby", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a0c50c-093c-73d5-b4b1-0448d024dc4f", "title": "SF Ruby 2026 with Irina and Vladimir", "url": "https://evilmartians.com/events/remote-ruby-sf-ruby-2026-with-irina-and-vladimir", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbe75d25e", "title": "5 best practices for preventing chaos in Tailwind CSS", "url": "https://evilmartians.com/chronicles/5-best-practices-for-preventing-chaos-in-tailwind-css", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbf4fe435", "title": "+14% activated users for AppSignal: designing a new homepage in code", "url": "https://evilmartians.com/chronicles/plus-14-percent-activated-users-for-appsignal-designing-a-new-homepage-in-code", "published_at": "2026-08-04T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dca428f3a", "title": "(Sync)testing Concurrent Code with Confidence", "url": "https://evilmartians.com/events/gophercon-synctesting-concurrent-code-with-confidence", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dca58a37a", "title": "Unlocking Real-World Go Mutex Usage Patterns by Writing a Mutex Linter", "url": "https://evilmartians.com/events/gophercon-unlocking-real-world-go-mutex-usage-patterns", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dbfb4befd", "title": "The secure way to release an npm package in 2026", "url": "https://evilmartians.com/chronicles/the-secure-way-to-release-an-npm-package", "published_at": "2026-07-28T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc07dac33", "title": "Which AI actually reads your site? Two months of LLM traffic, measured", "url": "https://evilmartians.com/chronicles/which-ai-actually-reads-your-site-two-months-of-llm-traffic-measured", "published_at": "2026-07-21T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc097c7a5", "title": "The joy of Inertia Rails: painting your own with 50 happy little lines", "url": "https://evilmartians.com/chronicles/the-joy-of-inertia-rails-painting-your-own-with-50-happy-little-lines", "published_at": "2026-07-14T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dcaf157d9", "title": "Fair by design: orchestrating background jobs in Ruby", "url": "https://evilmartians.com/events/rubyconf-fair-by-design", "published_at": "2026-07-14T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dcaf7fc10", "title": "Kate Holterhoff of RedMonk: AI slop, agent experience, and the open source crisis", "url": "https://evilmartians.com/events/kate-holterhoff-redmonk", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc0ed43eb", "title": "Storybook Workbench: audit vibe-coded UIs and find hidden bugs in hours", "url": "https://evilmartians.com/chronicles/storybook-workbench-audit-vibe-coded-uis-and-find-hidden-bugs-in-hours", "published_at": "2026-07-08T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dcb17735e", "title": "Smart Nano Stores, or how we made web development simpler", "url": "https://evilmartians.com/events/tbilisijs", "published_at": "2026-07-04T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc0f65641", "title": "AI vs. human illustrators? AI + human illustrators!", "url": "https://evilmartians.com/chronicles/ai-vs-human-illustrators-ai-plus-human-illustrators", "published_at": "2026-07-01T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc1d068d9", "title": "Most MCP servers don't need to exist. Your case might be an exception.", "url": "https://evilmartians.com/chronicles/most-mcp-servers-dont-need-to-exist-your-case-might-be-an-exception", "published_at": "2026-06-30T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc2a56a8b", "title": "Choose your fighter: benchmarking 5 WebSocket servers for Node.js", "url": "https://evilmartians.com/chronicles/choose-your-fighter-benchmarking-5-websocket-servers-for-nodejs", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc2ccbd26", "title": "Building a design system specced for engineers and agents", "url": "https://evilmartians.com/chronicles/building-a-design-system-specced-for-engineers-and-agents", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259bf04ede2", "title": "Startups on Rails: 2026", "url": "https://evilmartians.com/events/blastoff-rails-startups-on-rails", "published_at": "2026-06-11T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc31bff7e", "title": "2 Martians, greenfield to MVP in 4 weeks: agentic coding on Rails", "url": "https://evilmartians.com/chronicles/2-martians-greenfield-to-mvp-in-4-weeks-agentic-coding-on-rails", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc3ca8029", "title": "Stop writing rules in AGENTS.md: use agent hooks and nano-staged instead", "url": "https://evilmartians.com/chronicles/stop-writing-rules-in-agents-md-use-agent-hooks-and-nano-staged-instead", "published_at": "2026-05-26T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc43b4e68", "title": "AI-assisted engineers are burning out, is this fine?", "url": "https://evilmartians.com/chronicles/ai-assisted-engineers-are-burning-out-is-this-fine", "published_at": "2026-05-19T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259bffc5f88", "title": "Drop your app/services!", "url": "https://evilmartians.com/events/balkan-ruby-vladimir-dementyev", "published_at": "2026-05-15T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259c003e246", "title": "Matt Biilmann of Netlify: agent experience is the new developer experience", "url": "https://evilmartians.com/events/matt-biilmann-netlify", "published_at": "2026-05-12T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259c085caa4", "title": "Max Prilutskiy of Lingo.dev: from hackathon to YC", "url": "https://evilmartians.com/events/max-prilutskiy-lingodev", "published_at": "2026-04-28T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259c1345018", "title": "Require Hooks: Filling the Gap in Ruby's Extensibility", "url": "https://evilmartians.com/events/require-hooks-rubykaigi", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259c1d7f665", "title": "TutorialKit.rb: interactive Ruby gem docs powered by Wasm", "url": "https://evilmartians.com/events/tutorialkit-rb-rubykaigi", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a07df2-e4f6-73d7-a0de-f259c29fa933", "title": "Writing DSL for DSL: Catch Code as It's Born with TracePoint", "url": "https://evilmartians.com/events/writing-dsl-for-dsl-rubykaigi", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc537c822", "title": "Trust Nothing, Ship Safely: Surviving the Supply Chain Attack Era", "url": "https://evilmartians.com/events/react-summit-us", "published_at": null }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc5f82329", "title": "Automatic and Accessible Dynamic Themes With OKLCH Color Space", "url": "https://evilmartians.com/events/js-nation-us", "published_at": null }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc67b6564", "title": "Evil Martians hosts SF Ruby 2026 featuring Garry Tan", "url": "https://evilmartians.com/events/sf-ruby-startup-conference-2026", "published_at": null }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc6f46e03", "title": "Privacy-first architecture", "url": "https://evilmartians.com/events/privacy-first-architecture-geekscat", "published_at": null }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc761007b", "title": "Trust nothing, ship safely: surviving the supply chain attack era", "url": "https://evilmartians.com/events/lisbon-ai", "published_at": null }, { "id": "01a07df2-e4f5-70e9-a913-5f3dc8522fb4", "title": "Durable orchestration on Rails: from continuation to workflow", "url": "https://evilmartians.com/events/rails-world-durable-orchestration-on-rails", "published_at": null }, { "id": "01a08775-f281-70b3-9861-274e173249ba", "title": "What developers can learn from Soviet space program failures", "url": "https://evilmartians.com/events/what-developers-can-learn-from-soviet-space-program-failures-osijek", "published_at": null }, { "id": "01a096ca-f86a-7271-aefa-17b20d874de9", "title": "Inertia Rails: the One-Person Framework with React & friends", "url": "https://evilmartians.com/events/inertia-rails-one-person-framework-kaigi-on-rails", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448c632cc1d", "title": "Keynote: why start a new company on Ruby, and AI, today", "url": "https://evilmartians.com/events/keynote-rubyworld-conference-irina-nazarova", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448c8af5737", "title": "Why start a new company on Rails, and AI, today", "url": "https://evilmartians.com/events/irina-nazarova-sf-ruby-conference-2026", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448c9833b8c", "title": "Evil Martians host SF Ruby Conference 2026", "url": "https://evilmartians.com/events/sf-ruby-conference-2026", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448ca058633", "title": "Agents Scale, Humans Don't: Hiring Without Slowing Down", "url": "https://evilmartians.com/events/svyatoslav-kryukov-sf-ruby-conference-2026", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448ca8dc9de", "title": "Ruby for AI and AI for Ruby", "url": "https://evilmartians.com/events/vladimir-dementyev-sf-ruby-conference-2026", "published_at": null }, { "id": "01a0c50c-093c-73d5-b4b1-0448cbc5fc03", "title": "Agents on Rails: learnings from benchmarking AI models for the Rails Foundation", "url": "https://evilmartians.com/events/agents-on-rails-deccan-queen", "published_at": null } ] posts Claim your blog
Back to Evil Martians Chronicles
Blog · corpus.blog/blogs/evilmartians.com/posts

Evil Martians Chronicles

evilmartians.com

2026

Undated