<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ABGEO's Personal website</title><link>https://www.abgeo.dev/</link><description>Recent content on ABGEO's Personal website</description><generator>Hugo</generator><language>en-us</language><copyright>Temuri Takalandze (ABGEO)</copyright><atom:link href="https://www.abgeo.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>A New Way to Query HTTP APIs with a Body</title><link>https://www.abgeo.dev/blog/http-query-method/</link><pubDate>Thu, 13 Aug 2026 20:48:39 +0400</pubDate><guid>https://www.abgeo.dev/blog/http-query-method/</guid><description>&lt;p&gt;Have you done something like this?&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;POST /api/orders/search HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
 &amp;#34;status&amp;#34;: &amp;#34;shipped&amp;#34;,
 &amp;#34;createdAfter&amp;#34;: &amp;#34;2026-01-01&amp;#34;,
 &amp;#34;customer&amp;#34;: { &amp;#34;country&amp;#34;: &amp;#34;GE&amp;#34; },
 &amp;#34;sortBy&amp;#34;: &amp;#34;createdAt&amp;#34;,
 &amp;#34;limit&amp;#34;: 50
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Most backend developers have. I&amp;rsquo;ve seen it in dozens of production APIs. You need to filter, sort, and page through a
resource, the filter shape is too complex for query parameters, so you reach for POST and call the endpoint &lt;code&gt;/search&lt;/code&gt;.
It works. It also lies about what the request does.&lt;/p&gt;</description></item><item><title>Siesta</title><link>https://www.abgeo.dev/projects/siesta/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/siesta/</guid><description>&lt;p&gt;A macOS menu bar app that pauses your Slack status and Google Calendar availability while you&amp;rsquo;re away,
and restores them when you&amp;rsquo;re back.&lt;/p&gt;</description></item><item><title>CLI Authentication, the Right Way</title><link>https://www.abgeo.dev/blog/cli-authentication-the-right-way/</link><pubDate>Thu, 18 Jun 2026 09:57:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/cli-authentication-the-right-way/</guid><description>&lt;p&gt;I SSH into a fresh dev VM and run &lt;code&gt;claude&lt;/code&gt; to start a session in there. The CLI prints a login URL
with &lt;code&gt;http://localhost:54213/callback&lt;/code&gt; buried in the query string, tries to open a browser on the
remote box, and starts waiting for a callback. There is no browser on this box. The CLI catches the
failure, prints &lt;code&gt;Paste code here if prompted&lt;/code&gt;, and hangs. I copy the URL into the browser on my
laptop, log in, and the consent page hands me a one-time code instead of a redirect. I paste it back
over SSH. It works. It is also 2009 wearing a 2026 t-shirt.&lt;/p&gt;</description></item><item><title>Mezz</title><link>https://www.abgeo.dev/projects/mezz/</link><pubDate>Sun, 10 May 2026 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/mezz/</guid><description>&lt;p&gt;A small wifi sandbox for inspecting your own IoT devices.&lt;/p&gt;</description></item><item><title>Anyone on the Internet Can Ring Your Doorbell</title><link>https://www.abgeo.dev/blog/anyone-can-ring-your-doorbell/</link><pubDate>Wed, 06 May 2026 10:35:15 +0400</pubDate><guid>https://www.abgeo.dev/blog/anyone-can-ring-your-doorbell/</guid><description>&lt;h2 id="updates"&gt;Updates&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;2026-05-06.&lt;/strong&gt; I opened a coordination case with &lt;a href="https://kb.cert.org/vince"&gt;CERT/CC&amp;rsquo;s VINCE&lt;/a&gt; covering the findings below. CVE assignment will go through that process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2026-05-07.&lt;/strong&gt; Naxclow contacted me one day after this post went live, acknowledged the report, and started their internal review process.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.abgeo.dev/blog/anyone-can-ring-your-doorbell/images/vendor-response.webp"
 alt="Email from Naxclow&amp;#39;s technical director acknowledging the disclosure report"&gt;&lt;figcaption&gt;
 &lt;p&gt;Naxclow&amp;rsquo;s reply, the day after publication.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;2026-06-11.&lt;/strong&gt; CISA published advisory &lt;a href="https://www.cisa.gov/news-events/ics-advisories/icsa-26-162-02"&gt;ICSA-26-162-02&lt;/a&gt; for the Naxclow IoT Platform, assigning seven CVEs from the VINCE case. Naxclow did not respond to CISA.&lt;/p&gt;</description></item><item><title>Nginx Ingress Is Dead: Your Complete Guide to What Comes Next</title><link>https://www.abgeo.dev/blog/nginx-ingress-retirement/</link><pubDate>Wed, 25 Mar 2026 19:54:48 +0400</pubDate><guid>https://www.abgeo.dev/blog/nginx-ingress-retirement/</guid><description>&lt;p&gt;For many years, the nginx ingress controller was the preferable choice when running a Kubernetes cluster, whether it was a simple few-node homelab setup or a production-grade deployment serving millions of requests. You installed it, wrote a couple of Ingress manifests, and moved on with your life. It just worked.&lt;/p&gt;
&lt;p&gt;That era is over. The Kubernetes team &lt;a href="https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/"&gt;announced the retirement&lt;/a&gt; of the &lt;a href="https://github.com/kubernetes/ingress-nginx/"&gt;ingress-nginx&lt;/a&gt; project back in November 2025, and as of March 2026 the project is officially retired. The repository is archived and marked read-only. No more releases, no bug fixes, no security patches.&lt;/p&gt;</description></item><item><title>Trivy GitHub Actions Compromised: Full Malware Payload Analysis</title><link>https://www.abgeo.dev/blog/trivy-github-actions-compromised-full-payload-analysis/</link><pubDate>Fri, 20 Mar 2026 15:28:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/trivy-github-actions-compromised-full-payload-analysis/</guid><description>&lt;p&gt;On March 19, 2026, the Trivy vulnerability scanner got owned. Again. Less than three weeks after the &lt;a href="https://github.com/aquasecurity/trivy/discussions/10420"&gt;hackerbot-claw incident on February 28&lt;/a&gt;, attackers came back with a much more aggressive payload. This time they force-pushed 75 out of 76 version tags in &lt;a href="https://github.com/aquasecurity/trivy-action"&gt;&lt;code&gt;aquasecurity/trivy-action&lt;/code&gt;&lt;/a&gt; — the official GitHub Action with over 10,000 workflow references — to point at commits containing a full credential stealer.&lt;/p&gt;
&lt;p&gt;Malicious &lt;code&gt;v0.69.4&lt;/code&gt; and &lt;code&gt;v0.70.0&lt;/code&gt; releases were published. The only tag that wasn&amp;rsquo;t affected during the attack was &lt;code&gt;@0.35.0&lt;/code&gt;. Maintainers have since removed all compromised tags and re-tagged clean releases with a &lt;code&gt;v&lt;/code&gt; prefix (e.g., &lt;code&gt;v0.35.0&lt;/code&gt; instead of &lt;code&gt;0.35.0&lt;/code&gt;), keeping the original &lt;code&gt;0.35.0&lt;/code&gt; intact.&lt;/p&gt;</description></item><item><title>My Electronic Garden in Obsidian</title><link>https://www.abgeo.dev/blog/my-electronic-garden-in-obsidian/</link><pubDate>Thu, 19 Mar 2026 12:00:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/my-electronic-garden-in-obsidian/</guid><description>&lt;p&gt;I&amp;rsquo;ve been collecting houseplants for a while now, and at some point the mental overhead of remembering which plant needs water, which one got repotted last week, and where I put the new orchid became too much. I&amp;rsquo;m already building &lt;a href="https://github.com/ABGEO/maroid/tree/main/plugins/jasmine"&gt;Jasmine&lt;/a&gt;, a plant management plugin for &lt;a href="https://github.com/ABGEO/maroid"&gt;Maroid&lt;/a&gt;, but that&amp;rsquo;s still a work in progress. I needed something &lt;em&gt;now&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So I turned to &lt;a href="https://obsidian.md/"&gt;Obsidian&lt;/a&gt;. It started as a simple &amp;ldquo;one note per plant&amp;rdquo; thing and gradually grew into a proper plant database with automated entries, maintenance tracking, photo galleries, and dashboards that tell me which plants I&amp;rsquo;ve been neglecting.&lt;/p&gt;</description></item><item><title>UBill SDK Generator</title><link>https://www.abgeo.dev/projects/ubill-sdk-generator/</link><pubDate>Mon, 02 Jun 2025 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/ubill-sdk-generator/</guid><description>&lt;p&gt;A fully automated system for generating SDKs from the UBill API. It builds, tests,
and releases SDKs for multiple languages like PHP, Go, and JavaScript/TypeScript — with zero manual steps.
This project powers open-source developer tooling for UBill, a Georgian billing and SMS platform.&lt;/p&gt;</description></item><item><title>Follytics</title><link>https://www.abgeo.dev/projects/follytics/</link><pubDate>Mon, 03 Mar 2025 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/follytics/</guid><description>&lt;p&gt;A GitHub follower analytics service that tracks follows and unfollows using an event-sourcing-like pattern.
Gain historical insights into follower trends with precise, event-based tracking.&lt;/p&gt;</description></item><item><title>Secure Kubernetes Apps with Cert-Manager and Let’s Encrypt</title><link>https://www.abgeo.dev/blog/secure-kubernetes-apps-with-cert-manager-and-lets-encrypt/</link><pubDate>Sat, 25 Jan 2025 19:06:38 +0400</pubDate><guid>https://www.abgeo.dev/blog/secure-kubernetes-apps-with-cert-manager-and-lets-encrypt/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In today&amp;rsquo;s digital landscape, securing websites with SSL (Secure Sockets Layer) is essential. SSL not only encrypts data in transit, ensuring privacy and security for users, but also builds trust and improves the credibility of your application. Kubernetes, combined with &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; and &lt;a href="https://letsencrypt.org/"&gt;Let’s Encrypt&lt;/a&gt;, makes managing SSL certificates seamless and automated.&lt;/p&gt;
&lt;p&gt;In this guide, we’ll demonstrate how to secure a Kubernetes-based web service with SSL. To make it engaging, we’ll deploy a Star Wars-themed demo service accessible at &lt;a href="https://deathstar.abgeo.cloud"&gt;https://deathstar.abgeo.cloud&lt;/a&gt;. This service displays Death Star-related information and serves as a practical example of securing an application with cert-manager and Let’s Encrypt.&lt;/p&gt;</description></item><item><title>Dynamic Environment Variables in Dockerized Next.js: A Flexible Multi-Environment Solution</title><link>https://www.abgeo.dev/blog/dynamic-environment-variables-dockerized-nextjs/</link><pubDate>Sun, 12 Jan 2025 21:48:24 +0400</pubDate><guid>https://www.abgeo.dev/blog/dynamic-environment-variables-dockerized-nextjs/</guid><description>&lt;p&gt;When building a Next.js application, managing environment variables across different environments becomes challenging, particularly when deploying with Docker. Typically, environment variables are accessed using &lt;code&gt;process.env.VARIABLE_NAME&lt;/code&gt;, which works well for server-side code. However, since the browser doesn’t have access to the server’s runtime variables, we’re restricted to using environment variables embedded during the client bundle build process.&lt;/p&gt;
&lt;p&gt;In cases where &lt;code&gt;process.env&lt;/code&gt; is accessed in client-side code, Next.js compiles these variables by embedding their values directly into the generated JavaScript. For example, the following code:&lt;/p&gt;</description></item><item><title>Generate a Professional CV PDF Using Markdown and Hugo</title><link>https://www.abgeo.dev/blog/generate-a-professional-cv-pdf-using-markdown-and-hugo/</link><pubDate>Wed, 25 Dec 2024 20:25:56 +0400</pubDate><guid>https://www.abgeo.dev/blog/generate-a-professional-cv-pdf-using-markdown-and-hugo/</guid><description>&lt;p&gt;Recently, I updated my personal website and rebuilt it using &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;. For those unfamiliar:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My website includes various sections such as About, Work Experience, Projects, and more. However, this blog focuses specifically on the CV section - a PDF file containing a summary of my work experience, education, skills, projects, and more. Essentially, the CV is duplicated content from my website.&lt;/p&gt;
&lt;p&gt;Maintaining two separate sources for my website and the CV seemed inefficient, so I considered generating the CV directly from my Hugo content. After some research, I discovered that Hugo does not natively support generating PDF files. But don’t worry - this story has a happy ending! I found a workaround to solve my problem.&lt;/p&gt;</description></item><item><title>MailTM CLI</title><link>https://www.abgeo.dev/projects/mailtm-cli/</link><pubDate>Sun, 25 Sep 2022 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/mailtm-cli/</guid><description>&lt;p&gt;Here&amp;rsquo;s my latest Go project - Mail.tm CLI, a CLI application for working with Mail.tm&amp;rsquo;s disposable email service.&lt;/p&gt;</description></item><item><title>httpinfo</title><link>https://www.abgeo.dev/projects/httpinfo/</link><pubDate>Sat, 05 Mar 2022 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/httpinfo/</guid><description>&lt;p&gt;Display information about HTTP status codes.&lt;/p&gt;</description></item><item><title>dupman</title><link>https://www.abgeo.dev/projects/dupman/</link><pubDate>Wed, 09 Feb 2022 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/dupman/</guid><description>&lt;p&gt;Manage multiple Drupal instance updates just in one place&lt;/p&gt;</description></item><item><title>vaccination.py</title><link>https://www.abgeo.dev/projects/vaccination.py/</link><pubDate>Wed, 01 Sep 2021 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/vaccination.py/</guid><description>&lt;p&gt;Get COVID-19 vaccination schedules from booking.moh.gov.ge in the CLI.&lt;/p&gt;</description></item><item><title>nomrebi-web</title><link>https://www.abgeo.dev/projects/nomrebi-web/</link><pubDate>Sat, 27 Feb 2021 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/nomrebi-web/</guid><description>&lt;p&gt;Get information about phone numbers stored in the Nomrebi.com database&lt;/p&gt;</description></item><item><title>goclockify</title><link>https://www.abgeo.dev/projects/goclockify/</link><pubDate>Mon, 13 Jul 2020 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/goclockify/</guid><description>&lt;p&gt;A terminal-based client for Clockify time tracker&lt;/p&gt;</description></item><item><title>XML to JSON</title><link>https://www.abgeo.dev/projects/xml-to-json/</link><pubDate>Sun, 10 May 2020 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/xml-to-json/</guid><description>&lt;p&gt;Simple way to convert XML to JSON.&lt;/p&gt;</description></item><item><title>Convert JSON to POPO</title><link>https://www.abgeo.dev/blog/convert-json-to-popo/</link><pubDate>Sat, 09 May 2020 13:37:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/convert-json-to-popo/</guid><description>&lt;p&gt;Consider that you have &lt;code&gt;example.json&lt;/code&gt; with the following content:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;firstName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Temuri&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;lastName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Takalandze&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;active&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;position&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Developer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;department&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;IT&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>JSON to POPO</title><link>https://www.abgeo.dev/projects/json-to-popo/</link><pubDate>Wed, 29 Apr 2020 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/json-to-popo/</guid><description>&lt;p&gt;My PHP library to fill Plain Old PHP Object with JSON content.&lt;/p&gt;</description></item><item><title>How not to be hacked</title><link>https://www.abgeo.dev/blog/how-not-to-be-hacked/</link><pubDate>Sat, 25 Apr 2020 15:44:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/how-not-to-be-hacked/</guid><description>&lt;p&gt;We live in a world where almost everything is digital. To manage the digital world, we need digital accounts. It can be an online bank account, an online wallet or even a Facebook profile. When it comes to online systems, we need to pay close attention to its security and safety, but no matter how secure the system is, its weak point will always be the user.&lt;/p&gt;
&lt;p&gt;I will teach you how not to be a weak point in global systems and how to secure your online accounts.&lt;/p&gt;</description></item><item><title>Stalin's List Website</title><link>https://www.abgeo.dev/projects/stalins-list-website/</link><pubDate>Sat, 25 Apr 2020 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/stalins-list-website/</guid><description>&lt;p&gt;Website for the presentation of the &amp;ldquo;Stalin&amp;rsquo;s list&amp;rdquo;&lt;/p&gt;</description></item><item><title>covid19-cli</title><link>https://www.abgeo.dev/projects/covid19-cli/</link><pubDate>Sun, 05 Apr 2020 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/covid19-cli/</guid><description>&lt;p&gt;Simple CLI tool for displaying COVID-19 statistics.&lt;/p&gt;</description></item><item><title>My programming activity in 2k19</title><link>https://www.abgeo.dev/blog/my-programming-activity-in-2k19/</link><pubDate>Wed, 18 Dec 2019 08:32:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/my-programming-activity-in-2k19/</guid><description>&lt;p&gt;My #programming activity in #2k19 :)&lt;/p&gt;
&lt;p&gt;This year was the #firstyear of #contribution to #symfony.&lt;/p&gt;</description></item><item><title>gen-md</title><link>https://www.abgeo.dev/projects/gen-md/</link><pubDate>Thu, 29 Aug 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/gen-md/</guid><description>&lt;p&gt;PHP Library for generating Markdown document.&lt;/p&gt;</description></item><item><title>nbg-currency-d8</title><link>https://www.abgeo.dev/projects/nbg-currency-d8/</link><pubDate>Sat, 17 Aug 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/nbg-currency-d8/</guid><description>&lt;p&gt;Drupal 8 module for working with NBG Currency API.&lt;/p&gt;</description></item><item><title>gen-html</title><link>https://www.abgeo.dev/projects/gen-html/</link><pubDate>Tue, 23 Jul 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/gen-html/</guid><description>&lt;p&gt;PHP Library for generating HTML document.&lt;/p&gt;</description></item><item><title>nbg-currency</title><link>https://www.abgeo.dev/projects/nbg-currency/</link><pubDate>Tue, 16 Jul 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/nbg-currency/</guid><description>&lt;p&gt;PHP Library for getting data from National Bank of Georgia (NBG)&amp;rsquo;s API.&lt;/p&gt;</description></item><item><title>Hello, World!</title><link>https://www.abgeo.dev/blog/hello-world/</link><pubDate>Thu, 11 Jul 2019 12:28:00 +0400</pubDate><guid>https://www.abgeo.dev/blog/hello-world/</guid><description>&lt;p&gt;Hallo, it&amp;rsquo;s my first blog on my website :)&lt;/p&gt;</description></item><item><title>docker4symfony</title><link>https://www.abgeo.dev/projects/docker4symfony/</link><pubDate>Thu, 23 May 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/docker4symfony/</guid><description>&lt;p&gt;My Docker stack for Symfony projects.&lt;/p&gt;</description></item><item><title>Cherry Framework</title><link>https://www.abgeo.dev/projects/cherry-framework/</link><pubDate>Wed, 27 Feb 2019 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/cherry-framework/</guid><description>&lt;p&gt;My simple PHP micro framework.&lt;/p&gt;</description></item><item><title>Informatics.Ge</title><link>https://www.abgeo.dev/projects/informatics.ge/</link><pubDate>Thu, 15 Nov 2018 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/informatics.ge/</guid><description>&lt;p&gt;Informatics.Ge - Website to learn programming and competitive programming.&lt;/p&gt;</description></item><item><title>iMatiane</title><link>https://www.abgeo.dev/projects/imatiane/</link><pubDate>Sat, 09 Jun 2018 00:00:00 +0400</pubDate><guid>https://www.abgeo.dev/projects/imatiane/</guid><description>&lt;p&gt;Historical quiz created for VizHack.&lt;/p&gt;</description></item><item><title/><link>https://www.abgeo.dev/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/cv/</guid><description>&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;Temuri T. is a versatile Software Engineer with expertise in back-end development using PHP, Python, and Go, known for designing high-performance, scalable, and cloud-native web and CLI applications. An Open Source advocate, he has contributed to projects like Symfony, phpMyAdmin, Slim Framework, and Composer, created award-winning PHP libraries such as “gen-md,” and founded Informatics.Ge, a programming competition platform with thousands of users. Combining strong DevOps skills in automation, containerization, CI/CD, and monitoring, Temuri has built robust infrastructures using AWS, Kubernetes, Terraform, and Ansible. Beyond software, he explores reverse engineering, hardware hacking, IoT, and embedded systems, leveraging his software and hardware expertise to drive innovation, all while contributing to the tech ecosystem through impactful solutions and community engagement.&lt;/p&gt;</description></item><item><title>About Myself</title><link>https://www.abgeo.dev/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/about/</guid><description>&lt;p&gt;Hello there, I am Temuri Takalandze - a passionate Software Engineer with extensive experience in back-end development, specializing in PHP, Python, and currently thriving in Go. My expertise spans the creation of high-performance, scalable, and cloud-native applications for both WEB and CLI-based solutions, leveraging Go’s exceptional capabilities.&lt;/p&gt;
&lt;p&gt;As an Open Source advocate, I have contributed to renowned projects such as Symfony, phpMyAdmin, Slim Framework, Composer, and many more. My own projects include award-winning PHP libraries, like “gen-md,” a recipient of the PHP Innovation Award, as well as Informatics.Ge, a thriving online programming competition platform with thousands of active users.&lt;/p&gt;</description></item><item><title>Book a Time to Chat</title><link>https://www.abgeo.dev/book/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/book/</guid><description>&lt;div class="calendly-inline-widget" data-url="https://calendly.com/abgeo/book-a-time-to-chat" data-resize="true" &gt;&lt;/div&gt;
&lt;script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async&gt;&lt;/script&gt;</description></item><item><title>Contact</title><link>https://www.abgeo.dev/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/contact/</guid><description>&lt;p&gt;&lt;strong&gt;If you’re here to schedule a meeting, please visit the &lt;a href="https://www.abgeo.dev/book"&gt;Book&lt;/a&gt; page.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can also connect with me through any of the social links below:&lt;/strong&gt;
&lt;div class="social-links"&gt;
 
 &lt;p&gt;Email :: &lt;a href="mailto:me@abgeo.dev" target="_blank"&gt;mailto:me@abgeo.dev&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;GitHub :: &lt;a href="https://github.com/ABGEO" target="_blank"&gt;https://github.com/ABGEO&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;LinkedIn :: &lt;a href="https://linkedin.com/in/abgeo" target="_blank"&gt;https://linkedin.com/in/abgeo&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;X (Twitter) :: &lt;a href="https://x.com/ABGEO07" target="_blank"&gt;https://x.com/ABGEO07&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;Facebook :: &lt;a href="https://facebook.com/ABGEO.dev" target="_blank"&gt;https://facebook.com/ABGEO.dev&lt;/a&gt;&lt;/p&gt;
 
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alternatively, feel free to fill out the form below:&lt;/strong&gt;
&lt;div class="contact-form-wrapper"&gt;
 &lt;form action="https://formspree.io/f/mrbglarr" method="POST"&gt;
 &lt;fieldset&gt;
 &lt;input type="text" name="name" placeholder="Enter your Name" required /&gt;&lt;br /&gt;
 &lt;input type="email" name="email" placeholder="Enter your Email" required /&gt;&lt;br /&gt;
 &lt;input type="text" name="subject" placeholder="Enter Subject" required /&gt;&lt;br /&gt;
 &lt;textarea name="message" placeholder="Enter your Message..." required&gt;&lt;/textarea&gt;
 &lt;/fieldset&gt;

 &lt;button type="submit"&gt;Send&lt;/button&gt;
 &lt;/form&gt;
&lt;/div&gt;
&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://www.abgeo.dev/privacy-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/privacy-policy/</guid><description>&lt;p&gt;&lt;strong&gt;Effective date: July 31, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="1-scope"&gt;1. Scope&lt;/h2&gt;
&lt;p&gt;This Privacy Policy applies to software applications developed and published by Temuri Takalandze, operating as ABGEO (&amp;ldquo;we,&amp;rdquo; &amp;ldquo;us,&amp;rdquo; &amp;ldquo;the Developer&amp;rdquo;), that link to this page (each, an &amp;ldquo;Application&amp;rdquo;). If a specific Application publishes its own privacy policy, that document governs instead of this one.&lt;/p&gt;
&lt;p&gt;This Policy does not cover the abgeo.dev website itself, which may use its own analytics tools independently of any Application.&lt;/p&gt;</description></item><item><title>Terms of Service</title><link>https://www.abgeo.dev/terms-of-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.abgeo.dev/terms-of-service/</guid><description>&lt;p&gt;&lt;strong&gt;Effective date: July 31, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="1-scope"&gt;1. Scope&lt;/h2&gt;
&lt;p&gt;These Terms of Service (&amp;ldquo;Terms&amp;rdquo;) apply to software applications developed and published by Temuri Takalandze, operating as ABGEO (&amp;ldquo;we,&amp;rdquo; &amp;ldquo;us,&amp;rdquo; &amp;ldquo;the Developer&amp;rdquo;), that link to this page (each, an &amp;ldquo;Application&amp;rdquo;). If a specific Application publishes its own terms, that document governs instead of this one.&lt;/p&gt;
&lt;p&gt;By downloading, installing, or using an Application, you agree to these Terms. If you do not agree, do not use the Application.&lt;/p&gt;</description></item></channel></rss>