<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Conventions - Tag - Simi Studio</title>
        <link>/en/tags/conventions/</link>
        <description>Conventions - Tag - Simi Studio</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>simi@simi.studio (Simi)</managingEditor>
            <webMaster>simi@simi.studio (Simi)</webMaster><lastBuildDate>Sun, 15 Mar 2026 10:00:00 &#43;0800</lastBuildDate><atom:link href="/en/tags/conventions/" rel="self" type="application/rss+xml" /><item>
    <title>Go Best Practices</title>
    <link>/en/posts/go-best-practices/</link>
    <pubDate>Sun, 15 Mar 2026 10:00:00 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/en/posts/go-best-practices/</guid>
    <description><![CDATA[<p>One independently built Go tree, one <a href="https://go.dev/ref/mod" target="_blank" rel="noopener noreffer "><code>go.mod</code></a>. The gate is <a href="https://pkg.go.dev/cmd/gofmt" target="_blank" rel="noopener noreffer "><code>gofmt</code></a>, <code>go test ./...</code>, and <code>go vet ./...</code>. The rest of this note is the boundaries a production tree actually hits: modules, errors, concurrency, tests. <a href="https://go.dev/doc/effective_go" target="_blank" rel="noopener noreffer ">Effective Go</a> is not recopied.</p>]]></description>
</item>
<item>
    <title>Makefile Best Practices</title>
    <link>/en/posts/makefile/</link>
    <pubDate>Mon, 03 Jul 2023 11:15:34 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/en/posts/makefile/</guid>
    <description><![CDATA[<p>With several repos kept alive at once, the usual bottleneck is not the language. It is “how does this one boot.” The default front door is <a href="https://www.gnu.org/software/make/" target="_blank" rel="noopener noreffer ">GNU Make</a>. Not to compile C — because <code>make help</code> outlives a museum of commands in the README.</p>]]></description>
</item>
</channel>
</rss>
