πŸ‘‹ Hi, I'm @amkisko
πŸ‘€ Available at @kiskolabs
🌱 Digital gardening practices
πŸ’žοΈ Enjoying flow and experience
πŸ“« Personal account at @amaaov

Ruby Gems

πŸ“Šaction_reporter
Ruby wrapper for multiple reporting services
Read Article
πŸ€–grape-slack-bot
Slack bot implementation for ruby-grape
Read Article
🌱seed_builder
Extension for ActiveRecord to organize seeds in a directory and generate them as migrations
Read Article
πŸ”„data-migration
Data migrations kit for ActiveRecord and ActiveJob
Read Article
πŸ“grape_rails_logger
Rails-compatible, ActiveSupport-integrated logging for Grape APIs, including request context and ActiveRecord timings
Read Article
πŸ“‹activesupport-json_logging
Lightweight JSON logger and formatter integrating with Rails/ActiveSupport
Read Article
⏰timely-app
Ruby client for the Timely API
πŸ”omniauth-slack-openid
An OmniAuth strategy for implementing Sign-in with Slack using OpenID Connect
πŸ”‘opdotenv
Load and export environment variables with 1Password CLI or Connect API

Recent Posts

View All β†’
Before the Dashboard

After the DAW-less evening: tape, green tea, verification culture, platforms, and music before the dashboard takes the origin.

A DAW-less Evening

A fairy-tale story about hardware jams, green tea, the severe DAW-less club, and publishing sound without the glowing rectangle.

Slop Is a Lazy Word

A stand-up story about generic culture, Suno overload, commit messages, lunch under a generated wall, and why touch matters more than purity.

Reality-Driven Development

A novella about a river, a bridge, and specification as media about a solutionβ€”with riverbank notes on verification, sessions, and weight.

The Distance Grows

A story about hallucinations, dreams, definitions, and why outsourced language creates distance between words and lived experience.

Playing Computer, Playing Music

A philosophical story about intention, effort, and distance: when sound machines play, when humans play, and how juggling helps redraw the line.

When Reading Costs More Than Writing

Observation record from 2023-2026: generated commit and review artifacts can become cheaper to produce than to read, shifting practice toward selective trust and local verification.

Manual Gravity in the Probability Storm

A futuristic story about LLM-era review discipline where constrained generation, manual acceptance, tests-first reading, and UAT keep delivery aligned with intent.

Inner Formation in the Age of Bots

An essay on bot-driven development and LLM dopamine loops, with practical criteria for distinguishing professional practice from gambling-like behavior.

Teplo and the Saturated Internet: A Text-Only Browser Guide

Technical guide: why Teplo matters in LLM-amplified workflows β€” text-only navigation, structured extraction, security research utility, mobile-first operation, and multi-language implementation strategy.

ActiveVersion Before Release: Build Room Notes

A release-week story of active_version.rb: from proposal to implementation, what is stable, and how Rails multi-db patterns shape the next steps.

Tiny story PostgreSQL partitioning and Rails

A tiny story about PostgreSQL partitioning in Rails, including how it fits with sharding, clustering, replication, and multi-shard operations.

Post for Reddit: Constraints vs Enforcement

A Reddit-style post on formatters, linters, and moving tools out of project dependencies.

Robots don't need police!

Guide to RuboCop with trunk.io for isolated Ruby linting and GitHub Actions.

Recommendations on Collective Practices

Guidelines for creating safe, respectful, and inclusive spaces in collective activities and public events.

Collective Awareness and the Era of Automated Production

Exploring collective awareness in software development, automation with background agents, and the shift from individual to collective responsibility.

LLMs as Probabilistic Medium

Large language models as probabilistic media: fluency, imitation, deviation, and human initiation.

ActiveRecord Model Versioning

Proposal for ActiveVersion: schema design without JSON/YAML storage, extensible for i18n and auditing.

Building Extensible Slack Bots with Grape

grape-slack-bot framework for slash commands, interactive components, events, and views.

Unified Error Reporting with ActionReporter

Managing Sentry, Honeybadger, and multiple loggers through one interface.

Solving Grape API Logging

Structured JSON request logging for Grape APIs with grape-rails-logger.

Organizing Seeds with SeedBuilder

Directory-structured seeds and migration-style generation for Rails.

Schema and Data Migrations: Why Separate

Why schema and data migrations serve different purposes and should be managed apart.

iOS App Signing in CI

Certificates, provisioning profiles, and automated iOS builds in CI.

The Force Push Debate

When to rewrite Git history, risks, and force-with-lease practices.

Troubleshooting Version Managers on macOS

rbenv, RVM, nodenv, asdf, and mise on Apple Silicon and Intel.

Trunk-Based Releases

Practical trunk-based development, branching, automation, and feature flags.

Principles of Self-Organization

Diversity, transparency, and ethical guidelines for collective action.

Freedom, Consumerism, and the Price of Traces

Freedom as attribute, consumer traces, boundaries, and career in digital life.