<?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>All The json Shit | Ciprian Mandache</title>
<atom:link href="https://ciprian.51k.eu/tag/json/feed/" rel="self" type="application/rss+xml" /><link></link>
<description>Mostly writing code that does stuff...</description>
<lastBuildDate>Sat, 17 Oct 2026 18:31:29 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly	</sy:updatePeriod>
<sy:updateFrequency>
1	</sy:updateFrequency><image>
<url>https://ciprian.51k.eu/upld/2019/02/cropped-terminal-icon-32x32.png</url><title>All The json Shit | Ciprian Mandache</title><link></link>
<width>32</width>
<height>32</height>
</image>
<item><title>go-asyncapi: load AsyncAPI 3 specs in Go</title><link>https://ciprian.51k.eu/go-asyncapi-load-asyncapi-3-specs-in-go/</link>
<dc:creator><![CDATA[Ciprian Mandache]]></dc:creator>
<pubDate>Thu, 15 Oct 2026 21:06:39 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[asyncapi]]></category>
<category><![CDATA[claude code]]></category>
<category><![CDATA[code generation]]></category>
<category><![CDATA[ctxerrors]]></category>
<category><![CDATA[event-driven]]></category>
<category><![CDATA[go-asyncapi]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[json]]></category>
<category><![CDATA[json schema]]></category>
<category><![CDATA[library]]></category>
<category><![CDATA[package]]></category>
<category><![CDATA[parser]]></category>
<category><![CDATA[websocket]]></category>
<category><![CDATA[yaml]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/go-asyncapi-your-asyncapi-spec-is-a-fucking-graph-wearing-a-yaml-costume/</guid><description><![CDATA[<img
width="300" height="150" src="https://ciprian.51k.eu/upld/2026/10/go-asyncapi-linocut-2-300x150.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/upld/2026/10/go-asyncapi-linocut-2-300x150.png 300w, https://ciprian.51k.eu/upld/2026/10/go-asyncapi-linocut-2-768x384.png 768w, https://ciprian.51k.eu/upld/2026/10/go-asyncapi-linocut-2-600x300.png 600w, https://ciprian.51k.eu/upld/2026/10/go-asyncapi-linocut-2.png 1024w" sizes="(max-width: 300px) 100vw, 300px" />go-asyncapi reads AsyncAPI 3 documents in Go and hands you servers, channels, operations and messages as plain structs, with every $ref followed across files, every trait merged in, and everything ...]]></description>
</item>
<item><title>Why am I still hand-typing WebSocket structs from an AsyncAPI spec?</title><link>https://ciprian.51k.eu/gen-asyncapi-why-am-i-still-hand-typing-websocket-structs/</link>
<dc:creator><![CDATA[Ciprian Mandache]]></dc:creator>
<pubDate>Thu, 15 Oct 2026 18:25:51 +0000</pubDate>
<category><![CDATA[Golang]]></category>
<category><![CDATA[api]]></category>
<category><![CDATA[asyncapi]]></category>
<category><![CDATA[cli-tool]]></category>
<category><![CDATA[code generation]]></category>
<category><![CDATA[ctxerrors]]></category>
<category><![CDATA[gen-asyncapi]]></category>
<category><![CDATA[go generate]]></category>
<category><![CDATA[Go programming language]]></category>
<category><![CDATA[go-asyncapi]]></category>
<category><![CDATA[golang]]></category>
<category><![CDATA[json]]></category>
<category><![CDATA[json schema]]></category>
<category><![CDATA[library]]></category>
<category><![CDATA[typescript]]></category>
<category><![CDATA[validation]]></category>
<category><![CDATA[websocket]]></category>
<category><![CDATA[websocket client]]></category>
<category><![CDATA[yaml]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/gen-asyncapi-stop-hand-typing-your-fucking-websocket-structs/</guid><description><![CDATA[<img
width="300" height="150" src="https://ciprian.51k.eu/upld/2026/10/gen-asyncapi-noir-s11-300x150.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/upld/2026/10/gen-asyncapi-noir-s11-300x150.png 300w, https://ciprian.51k.eu/upld/2026/10/gen-asyncapi-noir-s11-768x384.png 768w, https://ciprian.51k.eu/upld/2026/10/gen-asyncapi-noir-s11-600x300.png 600w, https://ciprian.51k.eu/upld/2026/10/gen-asyncapi-noir-s11.png 1024w" sizes="(max-width: 300px) 100vw, 300px" />You shouldn&#8217;t be, because the AsyncAPI spec already says exactly what every message looks like and a machine can retype it better than you. I wrote gen-asyncapi so an AsyncAPI ...]]></description>
</item>
<item><title>docker-mql-compiler: reading compile_one, the function that runs MetaEditor under Wine</title><link>https://ciprian.51k.eu/docker-mql-compiler-reading-compile-one/</link>
<dc:creator><![CDATA[Ciprian Mandache]]></dc:creator>
<pubDate>Sat, 10 Oct 2026 05:56:44 +0000</pubDate>
<category><![CDATA[Containers]]></category>
<category><![CDATA[MQL]]></category>
<category><![CDATA[Trading]]></category>
<category><![CDATA[bash]]></category>
<category><![CDATA[cli-tool]]></category>
<category><![CDATA[compiler]]></category>
<category><![CDATA[docker]]></category>
<category><![CDATA[docker-mql-compiler]]></category>
<category><![CDATA[expert advisor]]></category>
<category><![CDATA[github actions]]></category>
<category><![CDATA[json]]></category>
<category><![CDATA[linux]]></category>
<category><![CDATA[metaeditor]]></category>
<category><![CDATA[metaquotes]]></category>
<category><![CDATA[metatrader]]></category>
<category><![CDATA[mql]]></category>
<category><![CDATA[mql4]]></category>
<category><![CDATA[mql5]]></category>
<category><![CDATA[mt4]]></category>
<category><![CDATA[mt5]]></category>
<category><![CDATA[trading]]></category>
<category><![CDATA[wine]]></category>
<guid
isPermaLink="false">https://ciprian.51k.eu/docker-mql-compiler-compile-mql4-and-mql5-on-linux-without-windows/</guid><description><![CDATA[<img
width="300" height="150" src="https://ciprian.51k.eu/upld/2026/10/dmc-macro2-300x150.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/upld/2026/10/dmc-macro2-300x150.png 300w, https://ciprian.51k.eu/upld/2026/10/dmc-macro2-768x384.png 768w, https://ciprian.51k.eu/upld/2026/10/dmc-macro2-600x300.png 600w, https://ciprian.51k.eu/upld/2026/10/dmc-macro2.png 1024w" sizes="(max-width: 300px) 100vw, 300px" />These are the lines the whole project exists to run. Everything else in docker-mql-compiler is setup for them, or cleanup after them: # MetaEditor's exit code is backwards (1 usually ...]]></description>
</item>
<item><title>telegram-logger</title><link>https://ciprian.51k.eu/telegram-logger/</link>
<dc:creator><![CDATA[Ciprian Mandache]]></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/upld/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/upld/2023/12/telegram-logger-300x225.jpg 300w, https://ciprian.51k.eu/upld/2023/12/telegram-logger-768x576.jpg 768w, https://ciprian.51k.eu/upld/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>
</channel>
</rss>
<!--
*** This site runs WP Super Minify plugin v2.0.1 - http://wordpress.org/plugins/wp-super-minify ***
*** Total size saved: 3.39% | Size before compression: 9558 bytes | Size after compression: 9234 bytes. ***
-->