blob: 89b6c060eceb0ce1f37e3b4267dc6e9706f5b341 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<!DOCTYPE HTML>
<html lang="en">
<title>'Why "suckless" software is important'</title>
<meta name="date" content="2024/01/14">
<link rel="stylesheet" href="/style.css">
<style> html, body {
display: unset !important;
max-width: 80ch;
margin: auto;
} </style>
<body id="blog">
<p>
When it comes to learning how to program there are a few things you can
do:
</p>
<ol>
<li>Read a textbook</li>
<li>Watch videos</li>
<li>Read some source code</li>
</ol>
<p>
Of these options I find the best way to truly learn how to program is to
read someone else's program and try and understand it. For example
recently I've been working on my own
<a href="https://tools.suckless.org/dmenu">dmenu</a> clone for Wayland.
Throughout working on it instead of looking for tutorials on how to render
a square using pixman I decided to take a look at
<a href="https://github.com/djpohly/dtao">dtao</a> which is a clone of
dzen for Wayland. By just reading the code and messing around with the
program I was able to get an understanding for how rendering is done in
pixman.
</p>
<p>
Now you may be asking yourself something like: "But what does this have to
do with suckless software?". The answer to that is in their philosophy
which is about: "keeping things simple, minimal and usable". The idea of
keeping things minimal and useable allows them to create wonderful
programs that not only work, but also showcase how to do things without
extra fluff that something like i3 might have.
</p>
<p>
Even if you don't like suckless software it still serves as a great place
to learn how to do the bare minimum. And for those who do enjoy using it,
it can serve as a great starting place to hack upon until you get the
software of your dreams.
</p>
</body>
</html>
|