<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Golang on NotNil Blog</title><link>https://notnil.org/en/tags/golang/</link><description>Recent content in Golang on NotNil Blog</description><generator>Hugo</generator><language>en-US</language><copyright>© Matthieu Moreau</copyright><lastBuildDate>Wed, 05 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://notnil.org/en/tags/golang/index.xml" rel="self" type="application/rss+xml"/><item><title>Our GenAI tech stack in production</title><link>https://notnil.org/en/posts/24-squid/</link><pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate><guid>https://notnil.org/en/posts/24-squid/</guid><description>&lt;figure&gt;&lt;img src="https://notnil.org/images/posts/squid/feature.png"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Let&amp;rsquo;s talk GenAI tech (but not LLMs)!&lt;/p&gt;&#10;&lt;p&gt;I was sharing &lt;a href="https://notnil.org/en/posts/23-rex2024/"&gt;my Monday observations&lt;/a&gt; on the GenAI market, and notably the importance of a robust software foundation.&lt;/p&gt;&#10;&lt;h2 id="the-fundamentals-of-a-genai-platform"&gt;The fundamentals of a GenAI platform&lt;/h2&gt;&#10;&lt;p&gt;A GenAI platform rests on fundamental elements: task orchestration (often asynchronous), agents with memory management, intelligent document parsing, a high-performance vector database, and fine-grained observability of LLM generation.&lt;/p&gt;&#10;&lt;p&gt;If you do a Google search, sorry, Perplexity, you&amp;rsquo;ll be offered LangChain or llamaIndex, 2 &amp;ldquo;popular&amp;rdquo; frameworks that have the elements cited above. In the end we set LangChain aside; its abstraction layer turned out to be more of a hindrance than anything else. A GenAI project is above all a project of flow orchestration and API calls, nothing that requires a framework.&lt;/p&gt;</description></item><item><title>T-OTP</title><link>https://notnil.org/en/posts/6-totp/</link><pubDate>Sun, 27 Nov 2022 00:00:00 +0000</pubDate><guid>https://notnil.org/en/posts/6-totp/</guid><description>&lt;p&gt;&lt;img src="https://notnil.org/images/posts/totp/time_feature.jpeg" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Article originally written for the &lt;a href="https://blog.coddity.com"&gt;Coddity blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;For a while now I&amp;rsquo;ve been building, in my spare time, a complete authentication service, with the aim of implementing a lot of authentication mechanisms: magic link, login/password, Oauth2, account validation, password recovery, and the famous 2FA.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ll admit I used Google Authenticator every day without ever thinking to look at the mechanism &amp;ldquo;under the hood&amp;rdquo;. This article is the plain-language version of what I learned.&lt;/p&gt;</description></item><item><title>A cup of Gitea</title><link>https://notnil.org/en/posts/5-gitea/</link><pubDate>Sat, 19 Nov 2022 00:00:00 +0000</pubDate><guid>https://notnil.org/en/posts/5-gitea/</guid><description>&lt;p&gt;&lt;img src="https://notnil.org/images/posts/gitea/Gitea_Logo_feature.png" alt="gitea"&gt;&lt;/p&gt;&#10;&lt;h2 id="20"&gt;$20&lt;/h2&gt;&#10;&lt;p&gt;For 5 years at &lt;a href="https:coddity.com"&gt;Coddity&lt;/a&gt; we had been using Gitlab&amp;rsquo;s free tier. With a private namespace, we hosted the code of every side project in the company as well as our SaaS products, the whole thing coming to about 30 users, fifty or so small projects, and 2 bigger projects using Gitlab-CI.&lt;/p&gt;&#10;&lt;p&gt;In March 2022, Gitlab announces the end of the free tier for private domains above 5 users. Ok, that&amp;rsquo;s fair, every company needs to generate revenue and we got plenty out of the freemium offer.&lt;/p&gt;</description></item></channel></rss>