Skip to content

Commit c44ce50

Browse files
committed
Site update
1 parent 963b696 commit c44ce50

File tree

15 files changed

+709
-151
lines changed

15 files changed

+709
-151
lines changed

2024/07/25/packaging-go-dependencies-for-gentoo/index.html

+3
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,9 @@ <h2 id="howcanwedobetter">How can we do better?</h2>
261261
</a>
262262
</li>
263263
<li class="next">
264+
<a href="/2025/02/03/lint-early-lint-often/index.html" rel="next">
265+
Newer →
266+
</a>
264267
</li>
265268
</ul>
266269

+140
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta content="width=device-width, initial-scale=1" name="viewport">
6+
<meta content="Lint early, lint often" name="title" property="og:title">
7+
<meta content="article" name="type" property="og:type">
8+
<meta content="/theme/images/agile_sysadmin.webp" name="type" property="og:image">
9+
<meta content="https://blog.ferki.it/2025/02/03/lint-early-lint-often/index.html" name="url" property="og:url">
10+
<meta content="Ferenc Erki - agile sysadmin" name="description">
11+
<meta content="Ferenc Erki" name="author">
12+
<meta content="4KzbYclokErOfwrKiBpX8XCu8ckJ9A7zwueL9VAbAYE" name="google-site-verification">
13+
<link href="/theme/images/favicon.svg" rel="icon">
14+
<link href="/theme/css/selenized.css" rel="stylesheet">
15+
<script data-domain="blog.ferki.it" defer src="https://plausible.io/js/script.js"></script>
16+
<title>Lint early, lint often</title>
17+
</head>
18+
<body>
19+
<header>
20+
<h1><a href="/">🧑‍💻 agile sysadmin</a></h1>
21+
<p>by Ferenc Erki</p>
22+
</header>
23+
24+
<nav>
25+
<ul>
26+
<li><a href="/pages/about.html">About</a></li>
27+
<li><a href="/">Posts</a></li>
28+
<li><a href="https://ferki.it" target="_blank">Homepage</a></li>
29+
<li><a href="https://cal.com/ferki" target="_blank">Booking</a></li>
30+
</ul>
31+
</nav>
32+
33+
<main>
34+
<article>
35+
36+
<header>
37+
<h1><a href="/2025/02/03/lint-early-lint-often/">Lint early, lint often</a></h1>
38+
39+
<aside>
40+
<time datetime="2025-02-03" title="published">
41+
🗓 2025-02-03
42+
</time>
43+
<a href="/tag/linting/">#linting</a>
44+
<a href="/tag/static-analysis/">#static analysis</a>
45+
</aside>
46+
47+
</header>
48+
49+
50+
<section id="section-1">
51+
<p>Wikipedia defines <a href="https://en.wikipedia.org/wiki/Lint_(software)">linting
52+
software</a> as:</p>
53+
54+
<blockquote>
55+
<p>a static code analysis tool used to flag programming errors, bugs, stylistic
56+
errors and suspicious constructs.</p>
57+
</blockquote>
58+
59+
<p>Linters play an important role to detect common mistakes fast. I often find
60+
that running them first in the build pipelines happens already too late,
61+
reducing their usefulness.</p>
62+
63+
<p>When to lint to maximize their value?</p>
64+
65+
</section>
66+
<section id="section-2">
67+
<p>Software change processes commonly involve the following steps before
68+
triggering a pipeline for automated tests:</p>
69+
70+
<ul>
71+
<li>change some code</li>
72+
<li>save the file</li>
73+
<li>run local tests</li>
74+
<li>commit changes to version control</li>
75+
<li>push the changes to the main repository</li>
76+
</ul>
77+
78+
<p>When linters find a problem during the pipeline steps, it leads to considerable
79+
delays: I already done the work, I have to get back to context, apply a fix,
80+
save the changes, run local tests, make new commits, and start the pipeline
81+
again.</p>
82+
83+
<p>Let’s find a way to do it earlier then.</p>
84+
85+
<p>How about before pushing changes? Or before making commits? As part of the
86+
local tests? Upon saving files? We can do even better!</p>
87+
88+
<p>I prefer to configure my editor to run linters asynchronously as I type, and
89+
show the results in its UI. That way I get instant feedback about my work. At
90+
my fingertips. In most cases even before saving the file I work with.</p>
91+
92+
<p>For example I use Vim with the <a href="https://github.com/dense-analysis/ale">Asynchronous Lint
93+
Engine</a> plugin. Which <a href="https://github.com/dense-analysis/ale/blob/master/supported-tools.md">supports many
94+
languages</a>
95+
and their linting tools.</p>
96+
97+
<p>Having such frictionless and immediate feedback about what I type helps
98+
tremendously.</p>
99+
100+
<p>I recommend to lint as early and as often as possible.</p>
101+
102+
<p>Shift left.</p>
103+
104+
</section>
105+
106+
</article>
107+
108+
<ul class="pager">
109+
<li class="prev">
110+
<a href="/2024/07/25/packaging-go-dependencies-for-gentoo/index.html" rel="prev">
111+
← Older
112+
</a>
113+
</li>
114+
<li class="next">
115+
</li>
116+
</ul>
117+
118+
119+
</main>
120+
121+
<footer>
122+
123+
<ul>
124+
<li><a href="https://blog.ferki.it/index.rss" target="_blank">RSS</a></li>
125+
<li><a href="https://blog.ferki.it/index.atom" target="_blank">Atom</a></li>
126+
<li><a href="https://github.com/ferki" rel="me" target="_blank">GitHub</a></li>
127+
<li><a href="https://profile.codersrank.io/user/ferki" rel="me" target="_blank">CodersRank</a></li>
128+
<li><a href="https://www.linkedin.com/in/ferki" rel="me" target="_blank">LinkedIn</a></li>
129+
<li><a href="https://fosstodon.org/@ferki" rel="me" target="_blank">Mastodon</a></li>
130+
<li><a href="mailto:[email protected]">Email</a></li>
131+
<li><a href="/pages/impressum.html">Impressum</a></li>
132+
<li><a href="/pages/privacy_policy.html">Privacy policy</a></li>
133+
</ul>
134+
<ul>
135+
<li>© 2023–2025 Ferenc Erki</li>
136+
</ul>
137+
138+
</footer>
139+
</body>
140+
</html>

index.atom

+33-33
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,46 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<id>https://blog.ferki.it/</id>
44
<title>agile sysadmin</title>
5-
<updated>2024-07-25T00:00:00Z</updated>
5+
<updated>2025-02-03T00:00:00Z</updated>
66
<link href="https://blog.ferki.it/index.atom" rel="self" />
77
<link href="https://blog.ferki.it/" rel="alternate" />
88
<author>
99
<name>Ferenc Erki</name>
1010
</author>
1111
<generator version="0.098">Statocles</generator>
1212

13+
<entry>
14+
<id>https://blog.ferki.it/2025/02/03/lint-early-lint-often/</id>
15+
<title>Lint early, lint often</title>
16+
<author><name>Ferenc Erki</name></author>
17+
<link href="https://blog.ferki.it/2025/02/03/lint-early-lint-often/" rel="alternate" />
18+
<content type="html"><![CDATA[
19+
<p>Wikipedia defines <a href="https://en.wikipedia.org/wiki/Lint_(software)">linting
20+
software</a> as:</p>
21+
22+
<blockquote>
23+
<p>a static code analysis tool used to flag programming errors, bugs, stylistic
24+
errors and suspicious constructs.</p>
25+
</blockquote>
26+
27+
<p>Linters play an important role to detect common mistakes fast. I often find
28+
that running them first in the build pipelines happens already too late,
29+
reducing their usefulness.</p>
30+
31+
<p>When to lint to maximize their value?</p>
32+
33+
<p><a href="https://blog.ferki.it/2025/02/03/lint-early-lint-often/#section-2">Continue reading...</a></p>
34+
35+
<p>Tags:
36+
<a href="https://blog.ferki.it/tag/linting/">linting</a>
37+
<a href="https://blog.ferki.it/tag/static-analysis/">static analysis</a>
38+
</p>
39+
40+
]]></content>
41+
<updated>2025-02-03T00:00:00Z</updated>
42+
<category term="linting" />
43+
<category term="static analysis" />
44+
</entry>
1345
<entry>
1446
<id>https://blog.ferki.it/2024/07/25/packaging-go-dependencies-for-gentoo/</id>
1547
<title>Packaging Go dependencies for Gentoo</title>
@@ -130,37 +162,5 @@ where it should reach the reviewed branch soon.</p>
130162
<category term="GURU" />
131163
<category term="vale" />
132164
</entry>
133-
<entry>
134-
<id>https://blog.ferki.it/2023/09/07/packaging-vale-2-28-3-for-gentoo/</id>
135-
<title>Packaging vale-2.28.3 for Gentoo</title>
136-
<author><name>Ferenc Erki</name></author>
137-
<link href="https://blog.ferki.it/2023/09/07/packaging-vale-2-28-3-for-gentoo/" rel="alternate" />
138-
<content type="html"><![CDATA[
139-
<p><a href="https://vale.sh">Vale</a>, the “syntax-aware linter for prose built with speed
140-
and extensibility in mind”, has a new <a href="https://github.com/errata-ai/vale/releases/tag/v2.28.3">v2.28.3
141-
release</a>.</p>
142-
143-
<p><a href="https://github.com/ferki/gentoo-overlay">My overlay</a> already makes it
144-
available for fellow Gentoo users. I also contributed the same ebuild to the
145-
official Gentoo <a href="https://wiki.gentoo.org/wiki/Project:GURU">GURU overlay</a>,
146-
where it should reach the reviewed branch soon.</p>
147-
148-
149-
<p>Tags:
150-
<a href="https://blog.ferki.it/tag/gentoo/">Gentoo</a>
151-
<a href="https://blog.ferki.it/tag/ebuild/">ebuild</a>
152-
<a href="https://blog.ferki.it/tag/overlay/">overlay</a>
153-
<a href="https://blog.ferki.it/tag/guru/">GURU</a>
154-
<a href="https://blog.ferki.it/tag/vale/">vale</a>
155-
</p>
156-
157-
]]></content>
158-
<updated>2023-09-07T00:00:00Z</updated>
159-
<category term="Gentoo" />
160-
<category term="ebuild" />
161-
<category term="overlay" />
162-
<category term="GURU" />
163-
<category term="vale" />
164-
</entry>
165165
</feed>
166166

index.html

+34-31
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,40 @@ <h1><a href="/">🧑‍💻 agile sysadmin</a></h1>
3333
<main>
3434
<article>
3535

36+
<header>
37+
<h1><a href="/2025/02/03/lint-early-lint-often/">Lint early, lint often</a></h1>
38+
39+
<aside>
40+
<time datetime="2025-02-03" title="published">
41+
🗓 2025-02-03
42+
</time>
43+
<a href="/tag/linting/">#linting</a>
44+
<a href="/tag/static-analysis/">#static analysis</a>
45+
</aside>
46+
47+
</header>
48+
49+
50+
<p>Wikipedia defines <a href="https://en.wikipedia.org/wiki/Lint_(software)">linting
51+
software</a> as:</p>
52+
53+
<blockquote>
54+
<p>a static code analysis tool used to flag programming errors, bugs, stylistic
55+
errors and suspicious constructs.</p>
56+
</blockquote>
57+
58+
<p>Linters play an important role to detect common mistakes fast. I often find
59+
that running them first in the build pipelines happens already too late,
60+
reducing their usefulness.</p>
61+
62+
<p>When to lint to maximize their value?</p>
63+
64+
65+
<p><a href="/2025/02/03/lint-early-lint-often/#section-2">Continue reading …</a></p>
66+
67+
</article>
68+
<article>
69+
3670
<header>
3771
<h1><a href="/2024/07/25/packaging-go-dependencies-for-gentoo/">Packaging Go dependencies for Gentoo</a></h1>
3872

@@ -150,37 +184,6 @@ <h1><a href="/2024/05/01/packaging-vale-3-4-2-for-gentoo/">Packaging vale-3.4.2
150184

151185

152186

153-
</article>
154-
<article>
155-
156-
<header>
157-
<h1><a href="/2023/09/07/packaging-vale-2-28-3-for-gentoo/">Packaging vale-2.28.3 for Gentoo</a></h1>
158-
159-
<aside>
160-
<time datetime="2023-09-07" title="published">
161-
🗓 2023-09-07
162-
</time>
163-
<a href="/tag/gentoo/">#Gentoo</a>
164-
<a href="/tag/ebuild/">#ebuild</a>
165-
<a href="/tag/overlay/">#overlay</a>
166-
<a href="/tag/guru/">#GURU</a>
167-
<a href="/tag/vale/">#vale</a>
168-
</aside>
169-
170-
</header>
171-
172-
173-
<p><a href="https://vale.sh">Vale</a>, the “syntax-aware linter for prose built with speed
174-
and extensibility in mind”, has a new <a href="https://github.com/errata-ai/vale/releases/tag/v2.28.3">v2.28.3
175-
release</a>.</p>
176-
177-
<p><a href="https://github.com/ferki/gentoo-overlay">My overlay</a> already makes it
178-
available for fellow Gentoo users. I also contributed the same ebuild to the
179-
official Gentoo <a href="https://wiki.gentoo.org/wiki/Project:GURU">GURU overlay</a>,
180-
where it should reach the reviewed branch soon.</p>
181-
182-
183-
184187
</article>
185188

186189
<ul class="pager">

index.rss

+31-28
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,37 @@
66
<atom:link href="https://blog.ferki.it/index.rss" rel="self" type="application/rss+xml" />
77
<description>Blog feed of agile sysadmin</description>
88
<generator>Statocles 0.098</generator>
9+
<item>
10+
<title>Lint early, lint often</title>
11+
<link>https://blog.ferki.it/2025/02/03/lint-early-lint-often/</link>
12+
<guid>https://blog.ferki.it/2025/02/03/lint-early-lint-often/</guid>
13+
<description><![CDATA[
14+
<p>Wikipedia defines <a href="https://en.wikipedia.org/wiki/Lint_(software)">linting
15+
software</a> as:</p>
16+
17+
<blockquote>
18+
<p>a static code analysis tool used to flag programming errors, bugs, stylistic
19+
errors and suspicious constructs.</p>
20+
</blockquote>
21+
22+
<p>Linters play an important role to detect common mistakes fast. I often find
23+
that running them first in the build pipelines happens already too late,
24+
reducing their usefulness.</p>
25+
26+
<p>When to lint to maximize their value?</p>
27+
28+
<p><a href="https://blog.ferki.it/2025/02/03/lint-early-lint-often/#section-2">Continue reading...</a></p>
29+
30+
<p>Tags:
31+
<a href="https://blog.ferki.it/tag/linting/">linting</a>
32+
<a href="https://blog.ferki.it/tag/static-analysis/">static analysis</a>
33+
</p>
34+
35+
]]></description>
36+
<pubDate>
37+
Mon, 03 Feb 2025 00:00:00 +0000
38+
</pubDate>
39+
</item>
940
<item>
1041
<title>Packaging Go dependencies for Gentoo</title>
1142
<link>https://blog.ferki.it/2024/07/25/packaging-go-dependencies-for-gentoo/</link>
@@ -114,34 +145,6 @@ where it should reach the reviewed branch soon.</p>
114145
Wed, 01 May 2024 00:00:00 +0000
115146
</pubDate>
116147
</item>
117-
<item>
118-
<title>Packaging vale-2.28.3 for Gentoo</title>
119-
<link>https://blog.ferki.it/2023/09/07/packaging-vale-2-28-3-for-gentoo/</link>
120-
<guid>https://blog.ferki.it/2023/09/07/packaging-vale-2-28-3-for-gentoo/</guid>
121-
<description><![CDATA[
122-
<p><a href="https://vale.sh">Vale</a>, the “syntax-aware linter for prose built with speed
123-
and extensibility in mind”, has a new <a href="https://github.com/errata-ai/vale/releases/tag/v2.28.3">v2.28.3
124-
release</a>.</p>
125-
126-
<p><a href="https://github.com/ferki/gentoo-overlay">My overlay</a> already makes it
127-
available for fellow Gentoo users. I also contributed the same ebuild to the
128-
official Gentoo <a href="https://wiki.gentoo.org/wiki/Project:GURU">GURU overlay</a>,
129-
where it should reach the reviewed branch soon.</p>
130-
131-
132-
<p>Tags:
133-
<a href="https://blog.ferki.it/tag/gentoo/">Gentoo</a>
134-
<a href="https://blog.ferki.it/tag/ebuild/">ebuild</a>
135-
<a href="https://blog.ferki.it/tag/overlay/">overlay</a>
136-
<a href="https://blog.ferki.it/tag/guru/">GURU</a>
137-
<a href="https://blog.ferki.it/tag/vale/">vale</a>
138-
</p>
139-
140-
]]></description>
141-
<pubDate>
142-
Thu, 07 Sep 2023 00:00:00 +0000
143-
</pubDate>
144-
</item>
145148
</channel>
146149
</rss>
147150

0 commit comments

Comments
 (0)