~strahinja/strahinja-org-slw

ref: e145519ed13b3c627c1aff6e863a539b6ef97488 strahinja-org-slw/tekstovi/softver/preporuke.slw -rw-r--r-- 18.8 KiB
e145519eСтрахиња Радић css/style.css: Make layout similar to pandoc -t html output 3 months ago
                                                                                
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
---
site-name: Програми које препоручујем
site-desc: Списак програма и додатака које препоручујем
---

{ul}
{li}[Програми које препоручујем](#heading-1)
  {ul}
  {li}[Оперативни систем](#heading-2){/li}
  {li}[Менаџер прозора](#heading-3){/li}
  {li}[Терминалски програм](#heading-4)
    {ul}
    {li}[Терминалски фонт](#heading-5){/li}
    {/ul}{/li}
  {li}[Љуска](#heading-6){/li}
  {li}[Уређивач текста](#heading-7){/li}
  {li}[Систем за изградњу](#heading-8){/li}
  {li}[Програм за промену привилегија](#heading-9){/li}
  {li}[Веб читач](#heading-10)
    {ul}
    {li}[Додаци за веб читаче које користим](#heading-11){/li}
    {/ul}{/li}
  {li}[Клијент за _Gopher_](#heading-12){/li}
  {li}[Клијент за Џемини](#heading-13){/li}
  {li}[Клијент за мејл](#heading-14){/li}
  {li}[_RSS_ читач](#heading-15){/li}
  {li}[_FTP_ клијент](#heading-16){/li}
  {/ul}{/li}
{li}[Опште смернице](#heading-17){/li}
{li}[Литература](#heading-18){/li}
{/ul}


# Програми које препоручујем


## Оперативни систем

{p}[_Artix Linux_][os] — дистрибуција оперативног система 
[ГНУ са Линуксом][gnuorg] заснована на дистрибуцији [_Arch Linux_][arch], али
која [не користи _systemd_][systemd]. Ја користим [66][66], колекцију алата која
користи [систем за контролу процеса и _init_ систем _s6_][s6], које сам
инсталирао из „_base_“ _.iso_-а.{/p}


## Менаџер прозора

{p}[_dwm_][dwm] — део пројекта _suckless_. Ефикасан 
[_tiling_ менаџер прозора][tilingwm] без сувишних додатака. Поставио сам и [свој
_fork_][mydwm] овог програма.{/p}


## Терминалски програм

{p}[_st_][st] — део пројекта _suckless_. Терминалски програм без сувишних
могућности. Поставио сам и [свој _fork_][myst].{/p}


### Терминалски фонт

{p}[_Terminus_][terminus] — јасан и компактан пикселски фонт, подржава доста
знакова Уникода, укључујући и ћирилицу.{/p}


## Љуска

{p}[_mksh_][mksh] — _MirBSD Korn Shell_, клон [љуске _ksh_][ksh] знатно
једноставнији од [ГНУ-овог _Bash_-а][bash].{/p}


## Уређивач текста

1. [_Vim_][vim] — _Vi IMproved_, веома моћан уређивач текста настао као
   побољшана верзија [традиционалног уређивача _vi_][vi]. _Vim_ користим уз
   [_Universal Ctags_][uctags].

2. [_vis_][vis] — уређивач који тежи ка једноставности и комбинује могућности
   _vim_~-а и уређивача _sam_ из ОС-а~~[_Plan9_][plan9].

3. [_sled_][sled] — једноставни уређивач текста који сам лично написао и
   одржавам.


## Систем за изградњу

{p}[_redo_][redo] — систем сличан _make_-у, али далеко мањи, бржи и
ефикаснији.{/p}


## Програм за промену привилегија

1. [_sup_][sup] — _suckless_ програм за извршавање програма као други корисник
   (као _sudo_). За разлику од _sudo_-а, _sup_ је далеко једноставнији, без
   непотребних могућности, а самим тим и безбеднији. Недостатак (или ипак не?)
   му је да програми који се извршавају морају имати искључене битове за дозволу
   уписа (`&= ~0222`, `a-w`).

2. [_doas_][doas] — још један програм за промену привилегија, који користи
   текстуални фајл за конфигурацију.


## Веб читач

Веб је у данашње време пренатрпан (_bloated_) и није безбедан. Ово значи да се
користе многе сувишне могућности, странице се споро учитавају и заузимају много
меморије. У странице се укључују разни системи за праћење активности корисника и
циљано оглашавање (што је само [врх леденог брега][socdilemma]). Имајући у виду 
све ово, постаје све јасније да традиционални веб читачи више нису погодни за 
своју основну намену — прегледање веба.

Препоручујем ставке~~7 и 8 из списка литературе.

1. [_Ungoogled chromium_][chromim] — ако вам је потребан веб читач са потпунијом
   подршком за модерни (претрпани) веб, а [не волите _Google_-ов
   надзор][digdeeper] (и надзор осталих сличних компанија), овај читач је за
   сада најмање зло од постојећих. На претходном линку се детаљно објашњава на
   који начин скоро сваки други веб читач, укључујући и оне који наводно штите
   приватност, шпијунира кориснике. Такође постоји и [верзија за
   Андроид][chromand], преко [_F-Droid_][fdroid] репозиторијума.

2. [_Surf_][surf] — део пројекта _suckless_. Графички веб читач заснован на
   погону _Webkit_, без свега сувишног. Користи [_dmenu_][dmenu] за унос УРЛ-ова
   и траку за претрагу. Подршка за табове се може додати преко везе са програмом
   [_tabbed_][tabbed]. Поставио сам и [своје][mysurf] [_fork_-ове][mytabbed]
   ових програма.

3. [_NetSurf_][netsurf] — једноставни, веома брзи веб читач умерених захтева за
   ресурсима који користи сопствени погон за приказивање _HTML_-а. Не подржава
   доста могућности које подржавају остали читачи, али и многи сајтови раде у
   њему.

4. [_Links_][links] и [_ELinks_][elinks] - текстуални веб читачи; _ELinks_ је 
   _fork_ програма _Links_ који подржава многе напредне могућности, између 
   осталог и _ECMAScript_ (_JavaScript_), _CSS_ и протоколе _BitTorrent_ и 
   Џемини.


### Додаци за веб читаче које користим

{p}[_uBlock Origin_][ublock] — додатак који користи листе за филтрирање сајтова,
насупрот [_uMatrix_][umatrix]-овом приступу правила, што аутоматски значи да
користи више меморије и зависи од редовног ажурирања листе, али се редовно
одржава.  Такође захтева и мање подешавања.  Омогућава контролу над тим шта ће
се учитавати, почевши од _CSS_-а па до скриптова, колачића и других метода за
праћење и сакупљање података о кориснику.{/p}


## Клијент за _Gopher_

[_sacc_][sacc] — _suckless Gopher_ клијент (_Git_ УРЛ: `git://bitreich.org/sacc`).


## Клијент за Џемини

1. [_Lagrange_][lagrange] — графички клијент писан у _C_-у који користи _SDL_ за
   графику. Подржава и _Gopher_.

2. [_Telescope_][telesc] — текстуални клијент писан у језику _C_.


## Клијент за мејл

1. [_Neomutt_][neomutt] — у данашње време Гуглов _Gmail_ је толико узео маха, да
   се готово изгубио појам „клијент за мејл“ и људи користе _Gmail_ као синоним
   за програм за мејл. _Neomutt_ је текстуални, али потпун програм за мејл.
   Подржава _TLS_, _POP_, _IMAP_, разне врсте _attachment_-а, _GPG_... ја га
   користим уз програм за преузимање поште [_isync_][isync] и програм за слање
   поште [_msmtp_][msmtp], подешене преко скрипта [_mutt-wizard_][muttwizard].

2. [_K-9 Mail_][k9mail] — слободни клијент за мејл за Андроид.


## _RSS_ читач

1. [_sfeed_][sfeed] (и _sfeed\_curses_) - _suckless_ читач фидова. Као 
   `SFEED_PLUMBER` користим _ELinks_.

2. [_snownews_][snownews] — за разлику од других читача, као што је
   [_newsboat_][newsboat], _snownews_ је: 1. написан у језику _C_, 2. лиценциран
   под ГНУ-овом ОЈЛ, 3. не садржи _Rust_, _snap_ и _Docker_ глупости.

3. [_Feeder_][feeder] — апликација за Андроид, преко _F-Droid_ репозиторијума.


## _FTP_ клијент

{p}[_lftp_][lftp] — напредни клијент за _FTP_ који користи интерфејс командне
линије.{/p}


# Опште смернице

Уколико програм није на овој листи, кад год је то могуће преферирам програме
који поштују следеће принципе:

* **Писани су у _C_-у,** а не у интерпретираним језицима (_Python_), или
  језицима које директно или индиректно контролишу _big tech_ корпорације као
  што је Гугл (_Go_, _Rust_). Видети ставке~~4 и 5 у одељку „Литература“.

* **Користе слободну софтверску лиценцу, при чему приоритет има 
  [ГНУ-ова ОЈЛ][gnugpl] в3 или каснија.** „Мање рестриктивне“ лиценце, као што је
  искључива ОЈЛ в2 (без додатка „или било која следећа верзија“), _BSD_ лиценца
  или _MIT_ лиценца, у ствари остављају одрешене руке корпорацијама да наметну
  _своје, додатне,_ рестрикције, и то оне које иду науштрб корисника. Дубоко сам
  уверен да су сви корисници као целина важнији од корпорација.

* **Поштују приватност корисника,** на делу а не само на речима, и не скупљају
  телеметријске податке.

* **Не зависе од [_systemd_][systemd]-а.**

* **Не користе [_Electron_][electron].**

* **Раде у текстуалном режиму,** идеално поштујући Уникс филозофију да „програми
  треба да раде једну ствар, да је раде добро, и да сарађују са другим
  програмима“ (рецимо, уз помоћ [_pipe_][pipeline]-овања). 

* Чак и ако користе графички интерфејс, **писани су за [_X.Org_][xorg] а не
  [_Wayland_][wayland].** Видети ставку~~6 у одељку „Литература“.

* **Зависе од што мање библиотека.**

* **Следе [_suckless_][sucklessphilo] филозофију и њену мање познату надоградњу,
  Битрајх принципе.** Видети ставку~~9 у одељку „Литература“.

Иако ови принципи нису наведени по одређеном редоследу, идеално имам следећи низ
приоритета тема које су мени битне:

> приватност > лиценца > антикорпоративност > једноставност

који иде од мени важнијих тема ка мање важним. Наравно, њега није увек могуће
пратити, па правим компромисе. Ипак, у највећем броју случајева се макар прва
три циља поклапају. На пример: они који се противе ОЈЛ в3 обично раде за велике
корпорације и штите њихове интересе, који скоро увек нарушавају приватност
корисника.


# Литература

1. [_Alternatives to bloatware_][alternatives] — листа програма сортираних у
   оквиру категорија, од компликованијих ка једноставнијим. Што је програм ближи
   крају категорије, бољи је, мада у одређеном броју случајева ипак не бих
   користио тај последњи програм.

2. [_Programs that rock_][sucklessrock] — листа програма које препоручује
   _suckless.org_.

3. [_Harmfull stuff_][catvharmful] — прилично субјективна, али вредна помена,
   листа програма који су штетни (аутори су пристрасни у корист ОС-а
   _Plan9_. Понегде се и слажем са овом листом.

4. [Rust is not a good C replacement][rustngcr] — чланак о томе зашто _Rust_
   није добра замена за _C_ (аутор хвали _Go_, са чим се не слажем јер је _Go_
   развијен у оквиру _Google_-а и такође садржи систем пакета, исто као и
   _Rust_).

5. [Rust sucks as a system language][rustsucks] — неки од главних разлога зашто
   је _Rust_ лош као системски језик.

6. [Boycott Wayland. It breaks everything!][boycwaylnd] — листа разлога зашто је
   _Wayland_ лошији од _X.Org_-а.

7. [How to choose a browser for everyday use?][choosebr] — детаљна анализа
   степена (не)поштовања приватности већине постојећих веб читача. Обавезно
   штиво за сваког ко користи веб (велика већина).

8. [Choose your browser carefully][sheikh] — још један сајт сличан претходном.

9. [Манифест Битрајха][bitreichma] ([_HTTPS_ прокси][bitreichmahttps]) — основни
   принципи покрета~-наследника _suckless_ покрета.


[66]: https://web.obarun.org/software/66/latest/
[alternatives]: https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md
[arch]: https://archlinux.org
[bash]: https://www.gnu.org/software/bash/
[bitreichma]: gopher://bitreich.org/0/documents/bitreich-manifesto.md
[bitreichmahttps]: https://codemadness.org/gopherproxy/?q=bitreich.org/0/documents/bitreich-manifesto.md
[boycwaylnd]: https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277
[catvharmful]: http://harmful.cat-v.org/software/
[choosebr]: https://digdeeper.neocities.org/ghost/browsers.html
[chromand]: https://uc.droidware.info
[chromim]: https://github.com/Eloston/ungoogled-chromium
[digdeeper]: https://digdeeper.neocities.org/ghost/browsers.html
[dmenu]: https://tools.suckless.org/dmenu
[doas]: https://github.com/Duncaen/OpenDoas
[dwm]: https://dwm.suckless.org
[electron]: https://en.wikipedia.org/wiki/Electron_(software_framework)
[elinks]: http://elinks.or.cz/
[fdroid]: https://f-droid.org
[feeder]: https://f-droid.org/en/packages/com.nononsenseapps.feeder/
[gnuorg]: https://www.gnu.org
[gnugpl]: https://www.gnu.org/licenses
[httpsever]: https://www.eff.org/https-everywhere
[isync]: http://isync.sourceforge.net
[k9mail]: https://k9mail.app
[ksh]: http://www.kornshell.org/
[lagrange]: https://gmi.skyjake.fi/lagrange/
[links]: http://links.twibright.com/
[lftp]: https://lftp.yar.ru/
[mksh]: http://www.mirbsd.org/mksh.htm
[msmtp]: https://marlam.de/msmtp
[muttwizard]: https://github.com/LukeSmithxyz/mutt-wizard
[mydwm]: https://git.sr.ht/~strahinja/dwm
[myst]: https://git.sr.ht/~strahinja/st
[mysurf]: https://git.sr.ht/~strahinja/surf
[mytabbed]: https://git.sr.ht/~strahinja/tabbed
[neomutt]: https://neomutt.org
[netsurf]: https://www.netsurf-browser.org/
[newsboat]: https://github.com/newsboat/newsboat
[os]: https://artixlinux.org
[pipeline]: https://en.wikipedia.org/wiki/Pipeline_(Unix)
[plan9]: https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
[redo]: https://github.com/apenwarr/redo
[rustngcr]: https://drewdevault.com/2019/03/25/Rust-is-not-a-good-C-replacement.html
[rustsucks]: https://hacktivis.me/articles/Rust%20sucks%20as%20a%20system%20language
[s6]: https://wiki.artixlinux.org/Main/S6
[sacc]: gopher://bitreich.org/1/releases/sacc
[sfeed]: https://git.codemadness.org/sfeed/
[sheikh]: https://www.unixsheikh.com/articles/choose-your-browser-carefully.html
[sled]: https://strahinja.srht.site/sled/
[socdilemma]: https://www.imdb.com/title/tt11464826/
[snownews]: https://github.com/msharov/snownews
[st]: https://st.suckless.org
[sucklessphilo]: https://suckless.org/philosophy/
[sucklessrock]: https://suckless.org/rocks/
[sup]: https://oldgit.suckless.org/sup/
[surf]: https://surf.suckless.org/
[systemd]: https://suckless.org/sucks/systemd
[tabbed]: https://tools.suckless.org/tabbed
[telesc]: https://telescope.omarpolo.com/
[terminus]: http://terminus-font.sourceforge.net/
[tilingwm]: https://en.wikipedia.org/wiki/Tiling_window_manager
[ublock]: https://github.com/gorhill/uBlock
[uctags]: https://ctags.io/
[umatrix]: https://github.com/gorhill/uMatrix
[vi]: https://en.wikipedia.org/wiki/vi
[vim]: https://www.vim.org
[vis]: https://github.com/martanne/vis/
[wayland]: https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Wayland_compositors
[xorg]: https://en.wikipedia.org/wiki/X.Org_Server