<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>RedDec</title><link>https://blog.reddec.net/</link><description>Recent content on RedDec</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 02 May 2025 23:43:00 +0800</lastBuildDate><atom:link href="https://blog.reddec.net/index.xml" rel="self" type="application/rss+xml"/><item><title>Special projects</title><link>https://blog.reddec.net/special/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.reddec.net/special/</guid><description>&lt;p&gt;Specific to one subject single-page projects (aka: landings).&lt;/p&gt;</description></item><item><title>OpenEBS ZFS Permission</title><link>https://blog.reddec.net/posts/openebs-zfs-permission/</link><pubDate>Fri, 02 May 2025 23:43:00 +0800</pubDate><guid>https://blog.reddec.net/posts/openebs-zfs-permission/</guid><description>&lt;p&gt;&lt;a href="https://github.com/openebs/zfs-localpv"&gt;OpenEBS ZFS LocalPV&lt;/a&gt; delivers powerful and notably fast storage for Kubernetes environments. However, a common hurdle appears when attempting to use these volumes with containers operating under non-root privileges. Let&amp;rsquo;s dissect why this occurs specifically with native ZFS volumes and outline the effective solution.&lt;/p&gt;
&lt;h3 id="how-openebs-zfs-provisions-volumes"&gt;How OpenEBS ZFS provisions volumes&lt;/h3&gt;
&lt;p&gt;OpenEBS ZFS LocalPV offers &lt;a href="https://github.com/openebs/zfs-localpv/blob/develop/docs/quickstart.md#pool-name-requirement"&gt;several methods&lt;/a&gt; for volume creation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Native ZFS Volume (using &lt;code&gt;fstype: &amp;quot;zfs&amp;quot;&lt;/code&gt;):&lt;/strong&gt; This method carves out a ZFS filesystem directly within your ZFS pool. It stands out as the &lt;strong&gt;fastest and most straightforward approach&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volume with other filesystems (e.g., &lt;code&gt;fstype: &amp;quot;ext4&amp;quot;&lt;/code&gt;):&lt;/strong&gt; This involves creating a ZFS subvolume (or zvol) which is then formatted using a different filesystem, such as ext4 or XFS.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This guide concentrates on the first scenario: native ZFS volumes.&lt;/p&gt;</description></item><item><title>Longhorn Backup and Restore</title><link>https://blog.reddec.net/posts/longhorn-backup-and-restore/</link><pubDate>Mon, 21 Oct 2024 12:53:49 +0800</pubDate><guid>https://blog.reddec.net/posts/longhorn-backup-and-restore/</guid><description>&lt;p&gt;Article breaks down using Longhorn (version 1.7) for backups, self-hosting, and recovery. It&amp;rsquo;s for seasoned DevOps and SysAdmin folks who like doing things themselves. You&amp;rsquo;ll find a step-by-step guide on setting up and restoring backups with Longhorn, Velero, and GitOps. The goal is to show you a tried-and-true setup for getting your backups and restores working smoothly.&lt;/p&gt;</description></item><item><title>Go-Flags VSCode snippet</title><link>https://blog.reddec.net/posts/go-flags-vscode-snippet/</link><pubDate>Mon, 15 Apr 2024 07:37:29 +0000</pubDate><guid>https://blog.reddec.net/posts/go-flags-vscode-snippet/</guid><description>&lt;p&gt;Snippet for generating &lt;a href="https://github.com/jessevdk/go-flags"&gt;go-flags&lt;/a&gt; parameters in VS Code.&lt;/p&gt;</description></item><item><title>Oauth Token via CLI</title><link>https://blog.reddec.net/posts/oauth-token-via-cli/</link><pubDate>Wed, 03 Apr 2024 09:37:07 +0800</pubDate><guid>https://blog.reddec.net/posts/oauth-token-via-cli/</guid><description>&lt;p&gt;In today&amp;rsquo;s world of distributed systems and microservices, security has
become more critical than ever. One common approach to securing these
systems is through the use of OpenID Connect (OIDC), an identity layer
built on top of the OAuth 2.0 protocol. However, integrating OIDC into
command-line interface (CLI) applications can be challenging due to the complexity of OIDC flows.&lt;/p&gt;
&lt;p&gt;In this short article there is a use-case of using &lt;a href="https://github.com/cloudentity/oauth2c"&gt;oauth2c&lt;/a&gt; to obtain token via CLI.
Keycloak is used as primary refernce of IDP, but any other OIDC complient solutions should work in the same way.&lt;/p&gt;</description></item><item><title>Redesigned Data Portal</title><link>https://blog.reddec.net/posts/redesign-data-portal/</link><pubDate>Tue, 15 Aug 2023 08:47:25 +0000</pubDate><guid>https://blog.reddec.net/posts/redesign-data-portal/</guid><description>Significant update to &lt;a href="https://data.reddec.net"&gt;data warehouse portal&lt;/a&gt;.</description></item><item><title>Portable Stack</title><link>https://blog.reddec.net/posts/portable-stack/</link><pubDate>Tue, 24 Jan 2023 13:22:01 +0800</pubDate><guid>https://blog.reddec.net/posts/portable-stack/</guid><description>&lt;p&gt;Once upon a time, I was sitting in front of my laptop with an IDE where hundreds of different Kubernetes manifests were opened and I was thinking: &amp;ldquo;how come I am in this moment? I need to add a new service, but to do it, I have to keep in my mind zillions of details and configure dozens of files instead promised by marketing &amp;rsquo;little changes&amp;rsquo;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;It wasn&amp;rsquo;t my first frustrating time: I have always been thinking that the current practice of how to set up an environment is slightly more complicated than needed for micro/small businesses especially for pet projects. Yes, even in pet-projects we want to have automatic TLS, backups, databases, security, and other useful stuff. The system should be scalable.
While those reasons sound like the truth, it also feels like the IT road turned somewhere wrong.&lt;/p&gt;</description></item><item><title>Delayme</title><link>https://blog.reddec.net/posts/delayme/</link><pubDate>Fri, 16 Sep 2022 17:37:49 +0800</pubDate><guid>https://blog.reddec.net/posts/delayme/</guid><description>&lt;p&gt;Delay request before redirect to the original URL&lt;/p&gt;</description></item><item><title>USD rates</title><link>https://blog.reddec.net/posts/rates/</link><pubDate>Tue, 09 Aug 2022 16:47:30 +0800</pubDate><guid>https://blog.reddec.net/posts/rates/</guid><description>&lt;p&gt;Rates to USD from different world-wide currencies. Updates once per day from Philippines Central Bank.&lt;/p&gt;</description></item><item><title>How to get SSL certificates on Synology</title><link>https://blog.reddec.net/posts/how-to-get-ssl-on-synology/</link><pubDate>Tue, 11 Jan 2022 09:24:06 +0800</pubDate><guid>https://blog.reddec.net/posts/how-to-get-ssl-on-synology/</guid><description>&lt;p&gt;I have been working with Synology Disk Station products for SOHO for a long time now. It&amp;rsquo;s a costly NAS but worth it because of: the combination of high-quality software (DSM) and hardware, and it is friendly for newcomers and professionals alike.&lt;/p&gt;
&lt;p&gt;By default, Synology offers access to the NAS UI via HTTPS or HTTP protocol.&lt;/p&gt;
&lt;p&gt;While HTTP is the simplest option, HTTPS (if done properly) is much more secure. However, the self-signed certificate, provided by Synology is not good neither in terms of security or user experience (ie: RED alerts in browsers and etc).&lt;/p&gt;
&lt;p&gt;In general, in DSM 7 you may issue a certificate by two methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;request a free certificate from Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;li&gt;import already existing certificate&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first option is available only in case you exposed your Synology to the public internet which might not be the best idea in terms of security.&lt;/p&gt;
&lt;p&gt;In this article, I would like to share an approach on how to secure a connection to the Synology by issuing a valid (!) certificate without exposing NAS to the outer world.&lt;/p&gt;</description></item><item><title>Kubernetes Ingress Dashboard</title><link>https://blog.reddec.net/posts/kid/</link><pubDate>Mon, 13 Dec 2021 17:13:10 +0800</pubDate><guid>https://blog.reddec.net/posts/kid/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/ingress-dashboard.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/ingress-dashboard" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/ingress-dashboard
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Automatic dashboard generation for Ingress objects.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No JS&lt;/li&gt;
&lt;li&gt;Supports OIDC (Keycloak, Google, Okta, &amp;hellip;) and Basic authorization&lt;/li&gt;
&lt;li&gt;Automatic discovery of Ingress objects, configurable by annotations&lt;/li&gt;
&lt;li&gt;Supports static configuration (in addition to Ingress objects)&lt;/li&gt;
&lt;li&gt;Multiarch docker images: for amd64 and for arm64&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Git Pipe</title><link>https://blog.reddec.net/posts/git-pipe/</link><pubDate>Sat, 12 Jun 2021 17:13:10 +0800</pubDate><guid>https://blog.reddec.net/posts/git-pipe/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/git-pipe.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/git-pipe" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/git-pipe
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Hassle-free minimal CI/CD for git repos for docker-based projects.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;zero configuration for repos by default&lt;/li&gt;
&lt;li&gt;optional automatic TLS by Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;li&gt;optional automatic domain registration by supported providers&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Binp</title><link>https://blog.reddec.net/posts/binp/</link><pubDate>Mon, 08 Feb 2021 23:23:40 +0800</pubDate><guid>https://blog.reddec.net/posts/binp/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/binp.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/binp" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/binp
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Provides a platform for automation with code-first approach, with embedded batteries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tracing (journals)&lt;/li&gt;
&lt;li&gt;Internal and user-defined API&lt;/li&gt;
&lt;li&gt;Ultra-light but rich mobile-first UI&lt;/li&gt;
&lt;li&gt;Embedded key-value storage&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Nano Run</title><link>https://blog.reddec.net/posts/nano-run/</link><pubDate>Mon, 28 Sep 2020 14:32:41 +0800</pubDate><guid>https://blog.reddec.net/posts/nano-run/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/nano-run.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/nano-run" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/nano-run
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;A simplified version of &lt;a href="https://blog.reddec.net/posts/trusted-cgi/"&gt;trusted-cgi&lt;/a&gt; designed for async processing extreme amount of requests.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DevOps friendly - plain YAML configuration per subject&lt;/li&gt;
&lt;li&gt;Low memory footprint&lt;/li&gt;
&lt;li&gt;Can handle any size of request (limited by disk only)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Trusted CGI</title><link>https://blog.reddec.net/posts/trusted-cgi/</link><pubDate>Mon, 25 May 2020 11:23:08 +0800</pubDate><guid>https://blog.reddec.net/posts/trusted-cgi/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/trusted-cgi.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/trusted-cgi" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/trusted-cgi
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Lightweight self-hosted lambda/applications/cgi/serverless-functions engine.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No specific requirements: just one binary. Working &amp;ldquo;as-is&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Rich API&lt;/li&gt;
&lt;li&gt;Scheduler: run actions in cron-tab like style&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Github Card</title><link>https://blog.reddec.net/posts/github-card/</link><pubDate>Wed, 13 May 2020 18:38:04 +0800</pubDate><guid>https://blog.reddec.net/posts/github-card/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/github-card.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/github-card" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/github-card
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Custom element tag to show github repository&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ultra light - 12KB without gzip (4.5KB - gzipped)&lt;/li&gt;
&lt;li&gt;library agnostic&lt;/li&gt;
&lt;li&gt;provides fallback if no JS available (or for old browsers)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Element Logo Generator</title><link>https://blog.reddec.net/posts/element-logo-generator/</link><pubDate>Fri, 31 Jan 2020 15:25:57 +0800</pubDate><guid>https://blog.reddec.net/posts/element-logo-generator/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/element-logo-generator.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/element-logo-generator" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/element-logo-generator
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Generate nice and cute logotypes in periodic element style.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Build on SvelteJS platform - easy to embedded, lightweight and fast&lt;/li&gt;
&lt;li&gt;Support SVG and PNG export&lt;/li&gt;
&lt;li&gt;Support customization&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tinc Boot Full Mesh VPN without pain</title><link>https://blog.reddec.net/posts/tinc-boot-full-mesh-vpn-without-pain/</link><pubDate>Wed, 20 Nov 2019 10:15:46 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot-full-mesh-vpn-without-pain/</guid><description>&lt;p&gt;Automatic, secure, distributed, with transitive connections (that is, forwarding messages when there is no direct access between subscribers), without a single point of failure, peer-to-peer, time-tested, low resource consumption, and a full-mesh VPN network with the ability to “punch” NAT – is it possible?&lt;/p&gt;</description></item><item><title>Tinc Boot</title><link>https://blog.reddec.net/posts/tinc-boot/</link><pubDate>Tue, 15 Oct 2019 23:19:43 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/tinc-boot.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/tinc-boot" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/tinc-boot
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Tinc-boot - is a all-in-one tool with zero dependency (except tinc of course), that aims to achieve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one-line node initialization&lt;/li&gt;
&lt;li&gt;automatic keys distribution&lt;/li&gt;
&lt;li&gt;simplified procedure to add new node to existent net&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tinc Boot Full Mesh сеть без боли</title><link>https://blog.reddec.net/posts/tinc-boot-full-mesh-%D1%81%D0%B5%D1%82%D1%8C-%D0%B1%D0%B5%D0%B7-%D0%B1%D0%BE%D0%BB%D0%B8/</link><pubDate>Fri, 20 Sep 2019 11:06:38 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot-full-mesh-%D1%81%D0%B5%D1%82%D1%8C-%D0%B1%D0%B5%D0%B7-%D0%B1%D0%BE%D0%BB%D0%B8/</guid><description>&lt;p&gt;Автоматическая, защищенная, распределенная, с транзистивными связями (т.е. пересылкой сообщений, когда нет прямого доступа между абонентами), без единой точки отказа, равноправная, проверенная временем, с низким потреблением ресурсов, full-mesh VPN сеть c возможностью “пробивки” NAT — это возможно?&lt;/p&gt;
&lt;p&gt;Полная статья опубликована на &lt;a href="https://habr.com/ru/post/468213/"&gt;Хабр&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Ros-Reestr</title><link>https://blog.reddec.net/posts/reestr/</link><pubDate>Fri, 09 Aug 2019 16:47:30 +0800</pubDate><guid>https://blog.reddec.net/posts/reestr/</guid><description>&lt;p&gt;The parser and visualizer for documents from Russian registry.&lt;/p&gt;</description></item><item><title>Securities and Legal Regulation</title><link>https://blog.reddec.net/posts/%D1%86%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%BE%D0%B5-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</link><pubDate>Wed, 10 Jul 2019 15:27:13 +0800</pubDate><guid>https://blog.reddec.net/posts/%D1%86%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%BE%D0%B5-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/hse.png"&gt;&lt;/p&gt;
&lt;p&gt;The main attention in the process of mastering the course is directed to the formation of the most important practical skill - identification of risks of the problem under consideration in the complex and in the interrelation of its various aspects. For example, when studying bonds, many issues are considered, concerning not only the issue of these securities, but also the consequences of the bond issuer&amp;rsquo;s failure to fulfill its obligations to pay interest and repay the face value of the bonds.&lt;/p&gt;</description></item><item><title>Forensic Accounting and Fraud Examination</title><link>https://blog.reddec.net/posts/forensic-accounting-and-fraud-examination/</link><pubDate>Sun, 05 May 2019 15:21:15 +0800</pubDate><guid>https://blog.reddec.net/posts/forensic-accounting-and-fraud-examination/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/wvu.png"&gt;&lt;/p&gt;
&lt;p&gt;Everyday across the world, thousands of businesses are victimized by fraud. Who commits these bad acts? Why? And, how? The course are going to help answer the questions: who commits fraud, why and how. Also it helps develop skills for catching them.&lt;/p&gt;</description></item><item><title>Machine Learning</title><link>https://blog.reddec.net/posts/machine-learning/</link><pubDate>Fri, 25 Jan 2019 09:28:02 +0800</pubDate><guid>https://blog.reddec.net/posts/machine-learning/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/stanford.jpg"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks).&lt;/li&gt;
&lt;li&gt;Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning).&lt;/li&gt;
&lt;li&gt;Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>The Elements of Ai</title><link>https://blog.reddec.net/posts/the-elements-of-ai/</link><pubDate>Tue, 03 Jul 2018 15:34:44 +0800</pubDate><guid>https://blog.reddec.net/posts/the-elements-of-ai/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/helsinki.svg"&gt;&lt;/p&gt;
&lt;p&gt;The Elements of AI is a series of free online courses created by Reaktor and the University of Helsinki. They want to encourage as broad a group of people as possible to learn what AI is, what can (and can’t) be done with AI, and how to start creating AI methods. The courses combine theory with practical exercises and can be completed at your own pace.&lt;/p&gt;</description></item><item><title>Fluent Amqp</title><link>https://blog.reddec.net/posts/fluent-amqp/</link><pubDate>Wed, 30 May 2018 23:23:12 +0800</pubDate><guid>https://blog.reddec.net/posts/fluent-amqp/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/fluent-amqp.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/fluent-amqp" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/fluent-amqp
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Fluent and easy wrapper over streadway-amqp API. Adds such features like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconnecting. Will restore all defined infrastructure&lt;/li&gt;
&lt;li&gt;Optional auto-requeue (with delay)&lt;/li&gt;
&lt;li&gt;Signing and verifiying messages by public/private pair&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Envredis</title><link>https://blog.reddec.net/posts/envredis/</link><pubDate>Fri, 15 Dec 2017 23:23:31 +0800</pubDate><guid>https://blog.reddec.net/posts/envredis/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/envredis.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/envredis" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/envredis
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Wrap syscall for get/set/clean and e.t.c environment and map values to/from Redis&lt;/p&gt;
&lt;p&gt;Just-for-fun but could be useful in some real cases.&lt;/p&gt;</description></item><item><title>Отображение переменных окружения в Redis</title><link>https://blog.reddec.net/posts/%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-redis/</link><pubDate>Fri, 15 Dec 2017 11:08:22 +0800</pubDate><guid>https://blog.reddec.net/posts/%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-redis/</guid><description>&lt;p&gt;Redis — это такое хранилище вида ключ-значение. Переменные окружения (environment variables) — напоминают то же самое. А что если это как-то объединить?&lt;/p&gt;</description></item><item><title>Легкая система мониторинга с Телеграмом и консулом</title><link>https://blog.reddec.net/posts/%D0%BB%D0%B5%D0%B3%D0%BA%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0-%D1%81-%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0/</link><pubDate>Tue, 08 Aug 2017 11:11:54 +0800</pubDate><guid>https://blog.reddec.net/posts/%D0%BB%D0%B5%D0%B3%D0%BA%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0-%D1%81-%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0/</guid><description>&lt;p&gt;Эволюционно так получилось, что в моем личном владении оказался не маленький зоопарк различных серверов: от дешевого Supermicro до топового (на момент выпуска) HP Gen 8. Все конечно связано оптикой и прочими радостями жизни.&lt;/p&gt;
&lt;p&gt;И вроде все работает. Но иногда наступает тот дивный чудный момент, когда приходит потребитель одного из сервисов с вопросом вида “а чего-то у меня уже неделю сервис такой-то немного не живой”.&lt;/p&gt;</description></item><item><title>Monexec</title><link>https://blog.reddec.net/posts/monexec/</link><pubDate>Tue, 04 Jul 2017 14:47:11 +0800</pubDate><guid>https://blog.reddec.net/posts/monexec/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/monexec.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/monexec" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/monexec
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Light supervisor on Go (with optional Consul autoregistration)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Just a single binary file pre-compilled for most major platforms&lt;/li&gt;
&lt;li&gt;Can be used as a Golang library with clean and simple architecture&lt;/li&gt;
&lt;li&gt;Integrated with Consul&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Брокер сообщений для сервисной архитектуры</title><link>https://blog.reddec.net/posts/%D0%B1%D1%80%D0%BE%D0%BA%D0%B5%D1%80-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B9-%D0%B0%D1%80%D1%85%D0%B8%D1%82/</link><pubDate>Sat, 18 Jul 2015 11:13:52 +0800</pubDate><guid>https://blog.reddec.net/posts/%D0%B1%D1%80%D0%BE%D0%BA%D0%B5%D1%80-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B9-%D0%B0%D1%80%D1%85%D0%B8%D1%82/</guid><description>&lt;p&gt;Профессиональное счастье программиста довольно простое — писать на своем любимом языке интересные задачи и получать за это деньги (желательно не маленькие, хотя денег всегда мало). Подобные желания привели к тому, что родился целый подход в виде отдельностоящих приложений и процесса обмена между ними: SOA (в частности SOAP/WSDL/XML-RPC/JSON-RPC т.п.), REST, микросервисная архитектура. Суть в том, что следуя заветам Unix, отдельный функционал выделяется в приложения, а обмен данными между ними специфицируется отдельно.&lt;/p&gt;</description></item><item><title>Mutalk</title><link>https://blog.reddec.net/posts/mutalk/</link><pubDate>Sat, 11 Oct 2014 23:23:21 +0800</pubDate><guid>https://blog.reddec.net/posts/mutalk/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/mutalk.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/mutalk" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/mutalk
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;UDP Multicast messaging library&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supports pub/sub pattern with minimal network overhead&lt;/li&gt;
&lt;li&gt;Plain POSIX C without dependencies&lt;/li&gt;
&lt;li&gt;Customizable&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Децентрализованная система обмена сообщениями</title><link>https://blog.reddec.net/posts/%D0%B4%D0%B5%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0-%D1%81/</link><pubDate>Sat, 11 Oct 2014 11:17:39 +0800</pubDate><guid>https://blog.reddec.net/posts/%D0%B4%D0%B5%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0-%D1%81/</guid><description>&lt;p&gt;Мир IT-разработок идет по спирали. Основатели UNIX считали, что пусть программ будет много, но каждая из них выполняет свою задачу на «отлично». В начале 2000х основным трендом были программы-комбайны, выполняющие все, что только можно и даже больше. Сейчас вектор направления разработок начал движение в обратную сторону. И если раньше для обмена данными использовался в основном стандартный поток ввода/вывода, то теперь из-за того, что системы делают все более распределенными, передачей данными между узлами занимаются специализированные интеграционные комплексы (англ. Message Bus или Message broker).&lt;/p&gt;</description></item></channel></rss>