<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Golang Archives | Ciprian Mandache</title>
<atom:link href="https://ciprian.51k.eu/coding/golang/feed/" rel="self" type="application/rss+xml" /><link></link>
<description>Software Engineer and more</description>
<lastBuildDate>Wed, 22 Apr 2026 21:05:36 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly	</sy:updatePeriod>
<sy:updateFrequency>
1	</sy:updateFrequency><image>
<url>https://ciprian.51k.eu/wp-content/uploads/2019/02/cropped-terminal-icon-32x32.png</url><title>Golang Archives | Ciprian Mandache</title><link></link>
<width>32</width>
<height>32</height>
</image>
<item><title>aichteeteapee: A Go HTTP Library Named By Someone Who Thinks Spelling Things Out Is Funny</title><link>https://ciprian.51k.eu/aichteeteapee-a-go-http-library-named-by-someone-who-thinks-spelling-things-out-is-funny/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Sat, 18 Apr 2026 04:24:37 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[api]]></category>
<category><![CDATA[go]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[http]]></category>
<category><![CDATA[library]]></category>
<category><![CDATA[middleware]]></category>
<category><![CDATA[Open Source]]></category>
<category><![CDATA[server]]></category>
<category><![CDATA[websocket]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=1161</guid><description><![CDATA[<img
width="300" height="295" src="https://ciprian.51k.eu/wp-content/uploads/2026/04/D4cxln0-f1c9d0d2-1a40-4de5-b9fd-9551ea38a6ef-300x295.webp" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" fetchpriority="high" srcset="https://ciprian.51k.eu/wp-content/uploads/2026/04/D4cxln0-f1c9d0d2-1a40-4de5-b9fd-9551ea38a6ef-300x295.webp 300w, https://ciprian.51k.eu/wp-content/uploads/2026/04/D4cxln0-f1c9d0d2-1a40-4de5-b9fd-9551ea38a6ef-1024x1005.webp 1024w, https://ciprian.51k.eu/wp-content/uploads/2026/04/D4cxln0-f1c9d0d2-1a40-4de5-b9fd-9551ea38a6ef-768x754.webp 768w, https://ciprian.51k.eu/wp-content/uploads/2026/04/D4cxln0-f1c9d0d2-1a40-4de5-b9fd-9551ea38a6ef.webp 1200w" sizes="(max-width: 300px) 100vw, 300px" />Say it out loud: aichteeteapee. Go on. Sound it out. Aitch-tee-tee-pee. Yeah. That&#8217;s HTTP. I named my Go HTTP library by spelling &#8220;HTTP&#8221; phonetically and published it with a straight ...]]></description>
</item>
<item><title>PIrateRF: Turning a $20 Raspberry Pi Zero Into an RF TX Swiss Army Knife</title><link>https://ciprian.51k.eu/piraterf-turning-a-20-raspberry-pi-zero-into-an-rf-tx-swiss-army-knife/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Mon, 06 Oct 2025 23:25:49 +0000</pubDate>
<category><![CDATA[Embedded]]></category>
<category><![CDATA[Golang]]></category>
<category><![CDATA[Radio]]></category>
<category><![CDATA[amateur radio]]></category>
<category><![CDATA[ham radio]]></category>
<category><![CDATA[pirate rf]]></category>
<category><![CDATA[pizero]]></category>
<category><![CDATA[pocket radio transmission]]></category>
<category><![CDATA[radio transmission]]></category>
<category><![CDATA[raspberry pi]]></category>
<category><![CDATA[rf tx]]></category>
<category><![CDATA[web ui]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=975</guid><description><![CDATA[<img
width="300" height="300" src="https://ciprian.51k.eu/wp-content/uploads/2025/10/piraterf-huge-300x300.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/10/piraterf-huge-300x300.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/10/piraterf-huge-150x150.png 150w, https://ciprian.51k.eu/wp-content/uploads/2025/10/piraterf-huge-768x768.png 768w, https://ciprian.51k.eu/wp-content/uploads/2025/10/piraterf-huge.png 1024w" sizes="(max-width: 300px) 100vw, 300px" />Remember when software-defined radio transmission required expensive hardware, complicated software, and a PhD to configure? Yeah, fuck that. I built PIrateRF to prove you can turn a $20 Raspberry Pi ...]]></description>
</item>
<item><title>servicepack: The Go Framework That Actually Understands How Real Development Works</title><link>https://ciprian.51k.eu/servicepack-the-go-framework-that-actually-understands-how-real-development-works/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Wed, 17 Sep 2025 21:02:53 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[architecture]]></category>
<category><![CDATA[boilerplate]]></category>
<category><![CDATA[code structure]]></category>
<category><![CDATA[framework]]></category>
<category><![CDATA[go]]></category>
<category><![CDATA[go framework]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[microservices]]></category>
<category><![CDATA[monolith]]></category>
<category><![CDATA[service-based]]></category>
<category><![CDATA[single-repo microservices]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=972</guid><description><![CDATA[<img
width="300" height="171" src="https://ciprian.51k.eu/wp-content/uploads/2025/10/Screenshot_2025-10-07_00-00-49-300x171.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/10/Screenshot_2025-10-07_00-00-49-300x171.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/10/Screenshot_2025-10-07_00-00-49-1024x584.png 1024w, https://ciprian.51k.eu/wp-content/uploads/2025/10/Screenshot_2025-10-07_00-00-49-768x438.png 768w, https://ciprian.51k.eu/wp-content/uploads/2025/10/Screenshot_2025-10-07_00-00-49.png 1238w" sizes="(max-width: 300px) 100vw, 300px" />Look, I&#8217;ve built a lot of shit in Go. Worked on microservices that were basically just glorified HTTP handlers talking to each other across Docker networks. Debugged race conditions at ...]]></description>
</item>
<item><title>gofindimpl: Stop Grep-ing for Go Interface Implementations Like a Damn Amateur</title><link>https://ciprian.51k.eu/gofindimpl-stop-grep-ing-for-go-interface-implementations-like-a-damn-amateur/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Thu, 11 Sep 2025 04:07:24 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[cli-tool]]></category>
<category><![CDATA[finder]]></category>
<category><![CDATA[go interface]]></category>
<category><![CDATA[go tool]]></category>
<category><![CDATA[implementation]]></category>
<category><![CDATA[interface]]></category>
<category><![CDATA[tool]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=963</guid><description><![CDATA[<img
width="300" height="124" src="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-11_07-06-31-300x124.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-11_07-06-31-300x124.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-11_07-06-31.png 500w" sizes="(max-width: 300px) 100vw, 300px" />Look, if you&#8217;ve ever wasted more than 5 minutes trying to hunt down which structs actually implement a Go interface, you already know this pain. It&#8217;s like trying to debug ...]]></description>
</item>
<item><title>Commander: Bcuz Go&#8217;s os/exec Made Me Want to Shart on My Laptop&#8217;s Screen</title><link>https://ciprian.51k.eu/commander-bcuz-gos-os-exec-made-me-want-to-shart-on-my-laptops-screen/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Sun, 07 Sep 2025 23:11:25 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[command execution]]></category>
<category><![CDATA[commander]]></category>
<category><![CDATA[exec wrapper]]></category>
<category><![CDATA[execution manager]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[package]]></category>
<category><![CDATA[process manager]]></category>
<category><![CDATA[shell]]></category>
<category><![CDATA[shell exec]]></category>
<category><![CDATA[stream]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=955</guid><description><![CDATA[<img
width="300" height="115" src="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-08_02-03-32-300x115.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-08_02-03-32-300x115.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-08_02-03-32.png 627w" sizes="(max-width: 300px) 100vw, 300px" />Let&#8217;s be fucking honest here – if you&#8217;ve ever tried to do anything serious with Go&#8217;s&#160;os/exec&#160;package, you know it&#8217;s about as user-friendly as a cactus suppository. Want to stream output ...]]></description>
</item>
<item><title>ctxerrors: Because Go&#8217;s Error Handling Doesn&#8217;t Have to Be Complete Shit</title><link>https://ciprian.51k.eu/ctxerrors-because-gos-error-handling-doesnt-have-to-be-complete-shit/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Sun, 07 Sep 2025 15:20:44 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[context]]></category>
<category><![CDATA[contexterrors]]></category>
<category><![CDATA[ctx]]></category>
<category><![CDATA[debugging]]></category>
<category><![CDATA[error]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[library]]></category>
<category><![CDATA[package]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=945</guid><description><![CDATA[<img
width="300" height="187" src="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01-300x187.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01-300x187.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01-768x478.png 768w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01-480x300.png 480w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01-640x400.png 640w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_18-20-01.png 870w" sizes="(max-width: 300px) 100vw, 300px" />Look, I&#8217;m gonna be straight with you. Go&#8217;s error handling is fucking verbose, and debugging without context is like trying to find your keys in a pitch-black room while drunk. ...]]></description>
</item>
<item><title>Stop Fighting logrus Configuration: Meet logrus-configurator</title><link>https://ciprian.51k.eu/stop-fighting-logrus-configuration-meet-logrus-configurator/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Wed, 08 Nov 2023 12:59:00 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[configuration]]></category>
<category><![CDATA[go]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[helper]]></category>
<category><![CDATA[logging]]></category>
<category><![CDATA[logrus]]></category>
<category><![CDATA[package]]></category>
<category><![CDATA[quickie]]></category>
<category><![CDATA[wrapper]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=941</guid><description><![CDATA[<img
width="300" height="190" src="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_15-58-03-300x190.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_15-58-03-300x190.png 300w, https://ciprian.51k.eu/wp-content/uploads/2025/09/Screenshot_2025-09-07_15-58-03.png 698w" sizes="(max-width: 300px) 100vw, 300px" />Alright, let me tell you about something that&#8217;ll save your ass when you&#8217;re knee-deep in Go code and your logrus setup looks like it was configured by a drunk intern ...]]></description>
</item>
<item><title>gonfiguration 🔧: The Ultimate Golang Config Chaos</title><link>https://ciprian.51k.eu/gonfiguration-%f0%9f%94%a7-the-ultimate-golang-config-chaos/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Fri, 03 Nov 2023 23:21:00 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[config package]]></category>
<category><![CDATA[configuration]]></category>
<category><![CDATA[env to struct]]></category>
<category><![CDATA[env var config]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[golang configuration]]></category>
<category><![CDATA[golang env to struct]]></category>
<category><![CDATA[golang package]]></category>
<category><![CDATA[golang struct config]]></category>
<category><![CDATA[struct configuration]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=562</guid><description><![CDATA[<img
width="300" height="240" src="https://ciprian.51k.eu/wp-content/uploads/2023/12/depositphotos_304205028-stock-illustration-tools-vector-wrench-icon-spanner-300x240.webp" class="webfeedsFeaturedVisual wp-post-image" alt="wrench" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2023/12/depositphotos_304205028-stock-illustration-tools-vector-wrench-icon-spanner-300x240.webp 300w, https://ciprian.51k.eu/wp-content/uploads/2023/12/depositphotos_304205028-stock-illustration-tools-vector-wrench-icon-spanner.webp 600w" sizes="(max-width: 300px) 100vw, 300px" />If you&#8217;re tired of writing the same env var parsing bullshit over and over, gonfiguration handles all the annoying shit for you. It&#8217;s got reflection-based mapping, supports all the types ...]]></description>
</item>
<item><title>telegram-logger</title><link>https://ciprian.51k.eu/telegram-logger/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Sat, 07 Jan 2023 09:33:00 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[docker]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[http]]></category>
<category><![CDATA[instant messaging]]></category>
<category><![CDATA[instant messenger]]></category>
<category><![CDATA[json]]></category>
<category><![CDATA[log collector]]></category>
<category><![CDATA[logger]]></category>
<category><![CDATA[remote log collector]]></category>
<category><![CDATA[telegram]]></category>
<category><![CDATA[telegram bot]]></category>
<category><![CDATA[web service]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/?p=546</guid><description><![CDATA[<img
width="300" height="225" src="https://ciprian.51k.eu/wp-content/uploads/2023/12/telegram-logger-300x225.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="telegram-logger" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2023/12/telegram-logger-300x225.jpg 300w, https://ciprian.51k.eu/wp-content/uploads/2023/12/telegram-logger-768x576.jpg 768w, https://ciprian.51k.eu/wp-content/uploads/2023/12/telegram-logger.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" />Yo, let&#8217;s dive into this cool tool I&#8217;ve been hacking on: telegram-logger. Imagine this: You&#8217;re chilling, coding away, and you need to keep an eye on your app&#8217;s logs, but ...]]></description>
</item>
<item><title>go-spamcheck package</title><link>https://ciprian.51k.eu/go-spamcheck-package/</link>
<dc:creator><![CDATA[psyb0t]]></dc:creator>
<pubDate>Fri, 25 Jan 2019 15:32:35 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[email]]></category>
<category><![CDATA[golang-spamcheck]]></category>
<category><![CDATA[postmark]]></category>
<category><![CDATA[spamfilter]]></category>
<guid
isPermaLink="false">http://local.51k.eu/?p=12</guid><description><![CDATA[<img
width="300" height="200" src="https://ciprian.51k.eu/wp-content/uploads/2019/01/27285904075_621601d58a_b-300x200.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://ciprian.51k.eu/wp-content/uploads/2019/01/27285904075_621601d58a_b-300x200.jpg 300w, https://ciprian.51k.eu/wp-content/uploads/2019/01/27285904075_621601d58a_b-768x512.jpg 768w, https://ciprian.51k.eu/wp-content/uploads/2019/01/27285904075_621601d58a_b.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" />Because there was no Golang package for Postmark’s spam API I decided to build one that can be easily used. Example Usage Well that&#8217;s simple, right? This will have the ...]]></description>
</item>
</channel>
</rss>
<!--
*** This site runs WP Super Minify plugin v2.0.1 - http://wordpress.org/plugins/wp-super-minify ***
*** Total size saved: 3.26% | Size before compression: 18897 bytes | Size after compression: 18281 bytes. ***
-->