This commit is contained in:
Miloslav Ciz 2021-11-06 16:49:28 -05:00
parent 4f1cf7fc4d
commit 4d550edaf2
2 changed files with 16 additions and 3 deletions

12
loc.md Normal file
View file

@ -0,0 +1,12 @@
# Lines of Code
Lines of code (LOC, KLOC = 10K LOC, MLOC = 1M LOC etc., also SLOC = source LOC) are a metric of software [complexity](complexity.md) that simply counts the number of lines of program's [source code](source_code.md). It is not a perfect measure but despite some [soyboys](soydev.md) shitting on it it's actually pretty good, espcially when using only one language ([C](c.md)) with consistent [formatting style](code_formatting.md).
Of course the metric becomes shitty when you have a project in 20 programming languages written by 100 pajeets out of which every one formats code differently. Also when you use it as a [productivity](productivity_cult.md) measure at [work](work.md) then you're guaranteed your devs are gonna just shit our as much meaningless code as possible in which case the measure fails again. Fortunately, at [LRS](lrs.md) we don't have such problems :)
When counting lines, we need to define what kind of lines we count. We can either count:
- raw (physical) lines: every single one
- lines that actually "matter" (*logical* lines), e.g. excluding comments, blank lines etc.
A comfy tool for counting lines is [`cloc`](cloc.md).

View file

@ -1,23 +1,24 @@
# Suckless
Suckless, software that sucks less, is a type of [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological minimalism, freedom and hackability, and opposes so called [bloat](bloat.md) which has been creeping into most "modern" software. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md).
Suckless, software that sucks less, is a type of [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological minimalism, freedom and hackability, and opposes so called [bloat](bloat.md) which has been creeping into most "[modern](modern.md)" software. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table.
Notable suckless promoters include [Luke Smith](luke_smith.md) and [Mental Outlaw](mental_outlaw.md).
## Attributes
- Extreme [minimalism](minimalism.md).
- Extreme [minimalism](minimalism.md) and minimizing [dependencies](dependency.md).
- Configuration of software is part of its source code (`config.h`) and change of this configuration requires recompiling the software (which is extremely easy with suckless software). This removes the need for dealing with config files which requires special libraries, file systems and extra code.
- Mainly using two programming languages: C for compiled programs amd POSIX shell for scripting.
- Forking by default, software is distributed in source format, every user is supposed to create a personal customized fork and compile the software himself.
- Mods (extension/addons) are implemented and distributed as [patch](patch.md) files.
- Permissive licensing, usually MIT.
- Typical [lines-of-code](loc.md) limit being 10k or lower.
## History
Suckless in current form has existed since 2006 when the domain suckless.org was registered by a German guy Anselm R. Garbe who is the founder of the community. It has evolved from a community centered around specific software projects, most notably [wmii](wmii.md). Garbe has given interview about suckless in FLOSS Weekly episode 355.
In 2012 a core veteran member of suckless, [Uriel](uriel.md), has killed himself.
In 2012 a core veteran member of suckless, [Uriel](uriel.md), has killed himself and became a [meme](meme.md).
## Projects