41554 blogs · [ { "id": "01a08789-282f-725a-a68d-eef53a4a79c1", "title": "A grounded take on agentic coding for production environments", "url": "https://iximiuz.com/en/posts/grounded-take-on-agentic-coding/", "published_at": "2026-01-19T00:00:00+00:00" }, { "id": "01a08789-282f-725a-a68d-eef53acd6eaa", "title": "Kubernetes Basics: Understanding Pods, Deployments, and Services", "url": "https://iximiuz.com/en/posts/kubernetes-vs-age-old-infra-patterns/", "published_at": "2023-10-08T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ebcfa0d5c", "title": "JavaScript or TypeScript? How To Benefit From the Dichotomy", "url": "https://iximiuz.com/en/posts/javascript-or-typescript/", "published_at": "2023-09-09T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ebd963397", "title": "On Software Design... and Good Writing", "url": "https://iximiuz.com/en/posts/on-software-design-and-good-writing/", "published_at": "2023-08-18T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ebe8d9d26", "title": "Debugging Containers Like a Pro", "url": "https://iximiuz.com/en/series/mastering-container-debugging/", "published_at": "2022-12-09T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ebf0d2a5d", "title": "How To Publish a Port of a Running Container", "url": "https://iximiuz.com/en/posts/docker-publish-port-of-running-container/", "published_at": "2022-11-30T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec000f015", "title": "What Actually Happens When You Publish a Container Port", "url": "https://iximiuz.com/en/posts/docker-publish-container-ports/", "published_at": "2022-11-27T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec033a882", "title": "Docker: How To Debug Distroless And Slim Containers", "url": "https://iximiuz.com/en/posts/docker-debug-slim-containers/", "published_at": "2022-10-08T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec04358bc", "title": "Docker: How To Extract Image Filesystem Without Running Any Containers", "url": "https://iximiuz.com/en/posts/docker-image-to-filesystem/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec12efdfd", "title": "In Pursuit of Better Container Images: Alpine, Distroless, Apko, Chisel, DockerSlim, oh my!", "url": "https://iximiuz.com/en/posts/containers-making-images-better/", "published_at": "2022-08-20T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec1d012d1", "title": "How To Start Programming In Go: Advice For Fellow DevOps Engineers", "url": "https://iximiuz.com/en/posts/how-to-start-programming-in-go-for-devops/", "published_at": "2022-06-01T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec289f69d", "title": "Kubernetes Ephemeral Containers And kubectl debug Command", "url": "https://iximiuz.com/en/posts/kubernetes-ephemeral-containers/", "published_at": "2022-05-29T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec2f339d8", "title": "How To Develop Kubernetes CLIs Like a Pro", "url": "https://iximiuz.com/en/posts/kubernetes-api-go-cli/", "published_at": "2022-05-14T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec3bc0a81", "title": "Cracking the Docker CLI: How to Grasp Container Management Commands", "url": "https://iximiuz.com/en/posts/containers-101-container-mgmt-commands/", "published_at": "2022-04-26T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec49a438d", "title": "Learning Docker with Docker", "url": "https://iximiuz.com/en/posts/containers-learning-docker-with-docker/", "published_at": "2022-04-15T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec574fa9c", "title": "How To Extend Kubernetes API - Kubernetes vs. Django", "url": "https://iximiuz.com/en/posts/kubernetes-api-how-to-extend/", "published_at": "2022-03-24T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec58d3db3", "title": "T-shaped Pipelines in Go - io.TeeReader and io.MultiWriter", "url": "https://iximiuz.com/en/posts/go-io-tee-reader-and-multi-writer/", "published_at": "2022-02-20T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec60686c3", "title": "How To Call Kubernetes API from Go - Types and Common Machinery", "url": "https://iximiuz.com/en/posts/kubernetes-api-go-types-and-common-machinery/", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec6c1b909", "title": "How To Call Kubernetes API using Simple HTTP Client", "url": "https://iximiuz.com/en/posts/kubernetes-api-call-simple-http-client/", "published_at": "2022-01-16T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec7a3cc24", "title": "Working with Kubernetes API - Resources, Kinds, and Objects", "url": "https://iximiuz.com/en/posts/kubernetes-api-structure-and-terminology/", "published_at": "2022-01-09T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec864c599", "title": "OpenFaaS - Run Containerized Functions On Your Own Terms", "url": "https://iximiuz.com/en/posts/openfaas-case-study/", "published_at": "2021-12-02T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec8e15155", "title": "Learning Containers From The Bottom Up", "url": "https://iximiuz.com/en/posts/container-learning-path/", "published_at": "2021-11-14T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec9155720", "title": "Containers vs. Pods - Taking a Deeper Look", "url": "https://iximiuz.com/en/posts/containers-vs-pods/", "published_at": "2021-10-28T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ec9b8b49f", "title": "List of Hands-On Cloud Native Learning Platforms", "url": "https://iximiuz.com/en/posts/learn-by-doing-platforms/", "published_at": "2021-10-03T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597eca3eb39d", "title": "Reverse Proxy, HTTP Keep-Alive Timeout, and sporadic HTTP 502s", "url": "https://iximiuz.com/en/posts/reverse-proxy-http-keep-alive-and-502s/", "published_at": "2021-09-30T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597eca6f2972", "title": "Why and How to Use containerd From Command Line", "url": "https://iximiuz.com/en/posts/containerd-command-line-clients/", "published_at": "2021-09-12T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597eca9e652a", "title": "How to Expose Multiple Containers On the Same Port", "url": "https://iximiuz.com/en/posts/multiple-containers-same-port-reverse-proxy/", "published_at": "2021-08-28T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecab418ac", "title": "How to Set Go net/http Socket Options - setsockopt() example", "url": "https://iximiuz.com/en/posts/go-net-http-setsockopt-example/", "published_at": "2021-08-19T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecb90d3f0", "title": "Disposable Local Development Environments with Vagrant, Docker, and Arkade", "url": "https://iximiuz.com/en/posts/how-to-setup-development-environment/", "published_at": "2021-08-03T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecc525ffb", "title": "DevOps, SRE, and Platform Engineering", "url": "https://iximiuz.com/en/posts/devops-sre-and-platform-engineering/", "published_at": "2021-08-01T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597eccd63374", "title": "My Choice of Programming Languages", "url": "https://iximiuz.com/en/posts/my-choice-of-programming-languages/", "published_at": "2021-07-28T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecd98281f", "title": "Prometheus Is Not a TSDB", "url": "https://iximiuz.com/en/posts/prometheus-is-not-a-tsdb/", "published_at": "2021-07-24T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ece6e6da0", "title": "How to learn PromQL with Prometheus Playground", "url": "https://iximiuz.com/en/posts/prometheus-learning-promql/", "published_at": "2021-07-24T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecf24d627", "title": "Prometheus Cheat Sheet - Basics (Metrics, Labels, Time Series, Scraping)", "url": "https://iximiuz.com/en/posts/prometheus-metrics-labels-time-series/", "published_at": "2021-07-24T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecf6ceea1", "title": "Writing Parsers With nom Parser Combinator Framework", "url": "https://iximiuz.com/en/posts/rust-writing-parsers-with-nom/", "published_at": "2021-07-22T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ecfb075b0", "title": "pq - parse and query log files as time series", "url": "https://iximiuz.com/en/posts/pq/", "published_at": "2021-07-08T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed05229e0", "title": "Prometheus Functions Cheat Sheet - Aggregation Over Time", "url": "https://iximiuz.com/en/posts/prometheus-functions-agg-over-time/", "published_at": "2021-06-28T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed08155f3", "title": "Prometheus vector matching rules visualized", "url": "https://iximiuz.com/en/posts/prometheus-vector-matching/", "published_at": "2021-06-13T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed0e35ce2", "title": "The need for slimmer containers", "url": "https://iximiuz.com/en/posts/thick-container-vulnerabilities/", "published_at": "2021-06-02T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed10111ef", "title": "Understanding Rust Privacy and Visibility Model", "url": "https://iximiuz.com/en/posts/rust-privacy-and-visibility/", "published_at": "2021-05-15T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed118e1ec", "title": "Bridge vs Switch: What I Learned From a Data Center Tour", "url": "https://iximiuz.com/en/posts/bridge-vs-switch/", "published_at": "2021-03-28T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed154d270", "title": "Ethernet and IP Networking 101 (Heavily Illustrated)", "url": "https://iximiuz.com/en/posts/computer-networking-101/", "published_at": "2021-03-21T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed1e7c3ac", "title": "KiND - How I Wasted a Day Loading Local Docker Images", "url": "https://iximiuz.com/en/posts/kubernetes-kind-load-docker-image/", "published_at": "2021-02-13T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed23f95c3", "title": "Go, HTTP handlers, panic, and deadlocks", "url": "https://iximiuz.com/en/posts/go-http-handlers-panic-and-deadlocks/", "published_at": "2021-02-06T17:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed32993e5", "title": "Exploring Kubernetes Operator Pattern", "url": "https://iximiuz.com/en/posts/kubernetes-operator-pattern/", "published_at": "2021-01-31T13:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed3bef266", "title": "Making sense out of Cloud Native buzz", "url": "https://iximiuz.com/en/posts/making-sense-out-of-cloud-native-buzz/", "published_at": "2020-12-10T19:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed3ec9982", "title": "Service discovery in Kubernetes - combining the best of two worlds", "url": "https://iximiuz.com/en/posts/service-discovery-in-kubernetes/", "published_at": "2020-12-06T15:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed40892f6", "title": "API Developers Never REST", "url": "https://iximiuz.com/en/posts/api-developers-never-rest/", "published_at": "2020-11-21T20:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed4a56830", "title": "Container networking is simple", "url": "https://iximiuz.com/en/posts/container-networking-is-simple/", "published_at": "2020-10-18T17:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed4adbf18", "title": "Traefik: canary deployments with weighted load balancing", "url": "https://iximiuz.com/en/posts/traefik-canary-deployments-with-weighted-load-balancing/", "published_at": "2020-09-20T16:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed508b14b", "title": "Service Proxy, Pod, Sidecar, oh my!", "url": "https://iximiuz.com/en/posts/service-proxy-pod-sidecar-oh-my/", "published_at": "2020-09-06T15:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed59ebc4e", "title": "You need containers to build an image", "url": "https://iximiuz.com/en/posts/you-need-containers-to-build-an-image/", "published_at": "2020-05-25T14:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed629b38a", "title": "You don't need an image to run a container", "url": "https://iximiuz.com/en/posts/you-dont-need-an-image-to-run-a-container/", "published_at": "2020-05-16T22:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed6c14668", "title": "Not every container has an operating system inside", "url": "https://iximiuz.com/en/posts/not-every-container-has-an-operating-system-inside/", "published_at": "2020-05-07T19:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed73fb10f", "title": "Working with container images in Go", "url": "https://iximiuz.com/en/posts/working-with-container-images-in-go/", "published_at": "2020-03-01T17:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed7a95541", "title": "Master Go While Learning Containers", "url": "https://iximiuz.com/en/posts/master-go-while-learning-containers/", "published_at": "2020-02-03T21:40:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed8497fee", "title": "Implementing Container Runtime Shim: Interactive Containers", "url": "https://iximiuz.com/en/posts/implementing-container-runtime-shim-3/", "published_at": "2020-01-26T14:20:00+00:00" }, { "id": "01a0821c-bbae-7011-b8fe-9774d9d52796", "title": "How to use Flask with gevent (uWSGI and Gunicorn editions)", "url": "https://iximiuz.com/en/posts/flask-gevent-tutorial/", "published_at": "2019-12-27T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ed9fc7b3d", "title": "My 10 Years of Programming Experience", "url": "https://iximiuz.com/en/posts/my-10-years-of-programming-experience/", "published_at": "2019-12-22T20:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597eda964eaf", "title": "Implementing Container Runtime Shim: First Code", "url": "https://iximiuz.com/en/posts/implementing-container-runtime-shim-2/", "published_at": "2019-12-18T21:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edaf50d5e", "title": "Implementing Container Runtime Shim: runc", "url": "https://iximiuz.com/en/posts/implementing-container-runtime-shim/", "published_at": "2019-12-15T20:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edbbba701", "title": "Kubernetes Repository On Flame", "url": "https://iximiuz.com/en/posts/kubernetes-repository-on-flame/", "published_at": "2019-11-17T21:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edc7c0127", "title": "Dealing with process termination in Linux (with Rust examples)", "url": "https://iximiuz.com/en/posts/dealing-with-processes-termination-in-Linux/", "published_at": "2019-10-20T13:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edcebb482", "title": "conman - [the] Container Manager: Inception", "url": "https://iximiuz.com/en/posts/conman-the-container-manager-inception/", "published_at": "2019-10-06T12:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edd90e096", "title": "A journey from containerization to orchestration and beyond", "url": "https://iximiuz.com/en/posts/journey-from-containerization-to-orchestration-and-beyond/", "published_at": "2019-08-18T11:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edde3a4d1", "title": "Linux PTY - How docker attach and docker exec Commands Work Inside", "url": "https://iximiuz.com/en/posts/linux-pty-what-powers-docker-attach-functionality/", "published_at": "2019-08-11T21:30:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ede27d5c4", "title": "Layman's iptables 101", "url": "https://iximiuz.com/en/posts/laymans-iptables-101/", "published_at": "2019-06-21T15:30:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edf112b1a", "title": "From Docker Container to Bootable Linux Disk Image", "url": "https://iximiuz.com/en/posts/from-docker-container-to-bootable-linux-disk-image/", "published_at": "2019-06-09T22:05:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edf139517", "title": "Пишем свой веб-сервер на Python: протокол HTTP", "url": "https://iximiuz.com/ru/posts/writing-python-web-server-part-3/", "published_at": "2019-05-19T12:50:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597edf49c4dc", "title": "9001 способ создать веб-сервер на Python", "url": "https://iximiuz.com/ru/posts/over-9000-ways-to-make-web-server-in-python/", "published_at": "2019-05-02T21:24:00+00:00" }, { "id": "01a0821c-bbae-7011-b8fe-9774da1e8897", "title": "Explaining async/await in 200 lines of code", "url": "https://iximiuz.com/en/posts/from-callback-hell-to-async-await-heaven/", "published_at": "2019-05-02T00:00:00+00:00" }, { "id": "01a0821c-bbae-7011-b8fe-9774da48f304", "title": "Explaining event loop in 100 lines of code", "url": "https://iximiuz.com/en/posts/explain-event-loop-in-100-lines-of-code/", "published_at": "2019-04-25T00:00:00+00:00" }, { "id": "01a0821c-bbae-7011-b8fe-9774db0eda44", "title": "Save the day with gevent", "url": "https://iximiuz.com/en/posts/save-the-day-with-gevent/", "published_at": "2019-04-17T00:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee17980d1", "title": "Пишем свой веб-сервер на Python: процессы, потоки и асинхронный I/O", "url": "https://iximiuz.com/ru/posts/writing-python-web-server-part-2/", "published_at": "2019-04-14T13:00:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee1c378a9", "title": "Truly optional scalar types in protobuf3 (with Go examples)", "url": "https://iximiuz.com/en/posts/truly-optional-scalar-types-in-protobuf3/", "published_at": "2019-04-10T20:15:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee27d1031", "title": "Node.js Writable streams distilled", "url": "https://iximiuz.com/en/posts/nodejs-writable-streams-distilled/", "published_at": "2019-04-07T21:15:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee2ca7891", "title": "Node.js Readable streams distilled", "url": "https://iximiuz.com/en/posts/nodejs-readable-streams-distilled/", "published_at": "2019-03-17T21:44:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee3726952", "title": "How to on starting processes (mostly in Linux)", "url": "https://iximiuz.com/en/posts/how-to-on-processes/", "published_at": "2018-01-30T21:10:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee43565cd", "title": "Дайджест интересных ссылок – Июль 2016", "url": "https://iximiuz.com/ru/posts/digest-links-july-2016/", "published_at": "2016-07-31T08:39:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee471108a", "title": "Пишем свой веб-сервер на Python: сокеты", "url": "https://iximiuz.com/ru/posts/writing-python-web-server-part-1/", "published_at": "2016-04-13T19:14:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee4ddbe7f", "title": "Наследование в JavaScript", "url": "https://iximiuz.com/ru/posts/javascript-inheritance/", "published_at": "2016-01-17T15:41:00+00:00" }, { "id": "01a08789-2830-71d6-83ce-597ee5cef1f1", "title": "Мастерить!", "url": "https://iximiuz.com/ru/posts/handicrafts/", "published_at": "2016-01-08T12:32:00+00:00" } ] posts Claim your blog
Back to Ivan Velichko
Blog · corpus.blog/blogs/iximiuz.com/posts

Ivan Velichko

iximiuz.com

2026

2023

2022

2021

2020

2019

2018

2016