[ / / / / / / / / / / / / / ] [ dir / abdl / choroy / dempart / doomer / leo / lounge / mewch / shota ]

/cyber/ - Cyberpunk & Science Fiction

A board dedicated to all things cyberpunk (and all other futuristic science fiction) NSFW welcome
Name
Email
Subject
Comment *
File
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Flag
Embed
(replaces files and can be used instead)
Oekaki
Show oekaki applet
(replaces files and can be used instead)
Options

Allowed file types:jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 16 MB.
Max image dimensions are 15000 x 15000.
You may upload 5 per post.


“Your existence is a momentary lapse of reason.”

File: e84ab48a331b8ae⋯.png (1.22 MB, 1920x2238, 320:373, THE-CYBER-KILL-CHAIN-body.….png)

 No.54938

####################################################

#————-/Cyber/ Guide to Software————-

#————————–Libre-Minimalist Flavor #

####################################################

This guide attempts to provide an overview of the theory surrounding minimalism and libre philosophy in software as well a list of recommended software that adheres to these principals. This guide was written for /cyber/ anonymously, and should be distributed an modified, emended as expanded as fits the distributors of the document.

####### Contents ########

# 1 Software Minimalism : Why Minimalism creates reliable and faster software and users.

# 2 Softare Freedom

# 3 Recommendations

#1 Software Minimalism

'there is one quality that cannot be purchased in this way - and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay. '

Software is inherantly bug ridden and complex. Bugs, responsible for security failures, loss of data, crashing applications, and other technological ills are introduced into code at a reliable rate per line of code. The largest enterprises haven't been able to produce reliable technology despite enormous operating budgets over years, and the web is a perfect example of this: Virtually all Browsers leak memory due to the complexity of the modern web, and the bug ridden code that composes the preponderous browsers. Computers despite having many orders of mangitude more resources have become less responsive to the humans that operate them, and phenomena known as "Wirths Law", and less available due to failures as software has scaled in complexity. C.A.R. Hoare consisly and elegantly described the problem in his turning lecture "The Emperors Old Clothes" with the following gem:

"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature."

Out of this economy of complexity, we gain firstmost in reliablity, but there are far more advantages to be had than this alone. Minimalists software runs faster, allows the user to invest in software and become a power user, to fine tune the enviroment to suit the user, and ultimately allows the (re)use of lower end hardware, preventing obsolence.

Choosing minimalist software is a rejection of the "All features, all the time" (wirth) software release model where software must add features, and change in design purely for the sake of convincing customers to buy a product. Choosing minimalist software allows a user to invest in learning how to use software with the understanding that the investment will pay dividends. That is to say, radically altered,new user interfaces will not appear to make new functionality accessible. This is ultimately a promise to the user that enables the user to become a power user.

Because Users are expected to become power users, the can forgo plenty of fluff. Expressed by Wirth in the following quote:

"Increased Complexity results in large part from our recent penchant for friendly user interaction."

Becuase users are expected to become power users, we can define interfaces that are optimized not for discoverability but for power users trying to acheive goals rapidly with minimal effort. A simple example of this is Unix command names and directory names, which were "…. worn down to three letter nubbins, like stones smoothed by a river." (Stephenson) in an effort to spare unneccesary keystrokes. Of note, this has been notably attacked by the Unix-Haters Handbook. Minimalist software thus encourages power users, and enables there computing, rather than targeting discoverybility, ease of use, and providing marketable, maximalist feature creep.

Although minimalist software need not be textual, Unix Systems have taken this minimalist approach to creating power users, and enhanced it through creating composible programs with the commandline. The Unix commandline environment encourages "taco bell programing", or combinations of small, reliable, tools to acheieve complex tasks without writing large amounts of code from scratch - named for taco bells ability to make millions through combinations of few ingredients. This is valuable, in the words of Ted Dziuba because of the trust we can have in minimalist, time tested software:

 No.54939

"I have far more faith in xargs than I do in Hadoop. Hell, I trust xargs more than I trust myself to write a simple multithreaded processor. I trust syslog to handle asynchronous message recording far more than I trust a message queue service."

The unix composible minamlist software encourages a casual, approachable "programming", that allows users to automate there work flows, and ultimately cross-translates into and pays dividends when learning "real" programming. This the shell provides an incremental latter that scales up with the needs of the user, while offering a reliable, high speed, minamlist environment that is worth learning, and not subject to rapid change.

Because component programs, even outside the commandline, are interchangable users are able to customize there environments to suit their needs. Because software is minimalist, users are encouraged, but not required, to compile, or even develop the software they use. This is made possible by the simpiler internal structure, lower number of lines of code, and fewer dependancys.

Finally, due to the lower resource requirements of minimalist software, users are able to repurpose, reuse, or retain older hardware longer. This is ultimately good for the environment, good for the poor, and allows the user maximal choice over what hardware to use.


 No.54940

# 2 Software Freedom

Software is dangerous because it fundamentally takes human decision out of the loop by automating decisions - this can be very liberating, or very destructive depending on its use. Decisions made by computer programmers, ultimately acted out by technology can have the Force of Law (cf. Lessig) , and appear to be a consequence of the environment rather than policy. When a cashier at a retail store claims to be unable to issue a refund due to "the system" we are inclined to accept this as an architectural consequence of the environment rather than to percieve this as a policy of the retailer. If the cashier had claimed policy rather than mere inability we might react differently.

The code running our technology is among other things an expression of policy. Having the ability to change the source code, to change the policy, is ownership of technology. When using propetary software, you are providing unaccountable ownership and control of your device to the software vendor. Open source software is subject to public scrutiny, but doesn't necessarily allow legal modification should the software be found to contain unacceptable policy. Libre Software allows a kind of "true" community ownership whereby should the software be found lacking for any reason either technological, or political, it can be modified and distributed by anyone, allowing a meritocracy, and software the behaves as users want.

Whats wrong with providing unaccountable ownership of your device to your software vendor?

This question has been definetely answered by the snowden leaks of 2013. It is clear that Independant software vendors are vulnerable to government pressure. As the market diversifies globally, this will not be one government but many. Indeed existing governments are already worried about this: Russia has created a parallel set of cryptography suites to avoid use of uncertain western standards, the US is suspicious of chinese networking giant Huwei, china is creating its own computer architecture, and North Korea has its own linux distribution. Backdoors inserted by one government may be exploited by others, or other malicious non-government actors. Commericial actors also have a wide variety of anti-user measures and serveilance that almost certainly causes more harm than good: For instance, virtually every computer sold in the US is sold with a Windows License, yet a valid Windows licenses fail activiation or WGA all the time due to the complexity of the system, causing users all kinds of unneccesary maintenence and fees. Any user concerned with privacy from both governments or commercial actors, or anti-features should be skepitical of propetary software.

Worse, its not just the governments of today that need be feared. The time frame of a human life is politically unpredicatable. Its concievable that a human may have lived through 5 different german governments, Monarchy, Wienmar Republic, 3rd Riech, East German Communism, and finally the current German System. Trust in the current government is not a reason to have faith government over the scale of a lifetime. Further, governments, and commercial actors collecting data have poor records in information security, and data collected for one purpose may end up legally resold for another (Cf. radio shack bankruptcy), potentially allowing the collection of data by actors that you do not trust.

Ultimately, the existing serveilance regime both commericial and governmental is the enforcement of power over the individual against their will that could have serious consequences in an uncertain political future. What may constitute a criminality long term, or be political dangerous to an individual is uncertain.


 No.54941

# Recommendations

This is the most living part of the document, and part most likely to be out of date. It's perhaps also the most subjective, there are many programs that can provide given functionality, and what constitutes "minalism" cannot be defined objective. Its perhaps best to take a pragmatic approach and choose what software works for you.

– Operating System –

Arch Linux . Alternatives: Xubutnu, Debian, Gentoo, OpenBSD

Windows is neither libre, minamalist nor very customizable. Arch linux provides minimalism and simplicity, and adherance to the unix philosophy as a design goal. Arch is designed for power users, and encourages contributing through the AUR repos. Unlike Gentoo, arch is binary rather than source based makes for better tested and integrated software at the expense of configuerability. Gentoo provides unmatched configuerability but doesn't test packages in all configuerations. Both Arch and Gentoo suffer a tougher installation than Xubutnu or Debian, or OpenBSD by not providing an installer at all - but requiring the user to build the system as they desire. Xubuntu or Debian allow a user an easy installation, and a default environment setup. For this reason, as well as the amount of popular support, a new user should consider Xubuntu. OpenBSD is minimalist security focused Unix distribution rather than Linux distribution. It is known for high quality code, and not implementing features without implmenting them correctly. OpenBSD lacks support for common file systems, and has a much more limited list of additional prepacked software than any other vendor on the list. If you plan to compile software yourself, you may not find this an issue.

– Window Manager –

DWM . Alternatives: i3, LXDE, XFCE, Englightment

A window manager/ desktop environment sets the most prominent visual elements of the computer and how interaction with the computer will occur. DWM is a small window manager designed to be unobtrusive, it is also visually minimalist drawing small border, removing visual window controls, and automating placement of windows through "tiling". Using Tiling window managers makes it easy to make an application full screen, or half screen, and allows for rapid control of windows through key strokes rather than mouse interaction. i3 is similiar to DWM but offers additional configueration options. LXDE, XFCE, and Englightenment are Desktop environements which contain not only a window manager, but additional programs designed to provide a uniform suite of programs that look alike and are well integrated. XFCE provides a less resource intensive standard looking desktop environment complete with a non-tiling window manager, file manager, control panel, and is suited to new users. LXDE is even less resource intensive, and visually less striking than XFCE. Enlightment provides a whimsimcal desktop environment.

– Web Browser –

Firefox Altneratives: Surf, uzbl

For the most part, web browsers are only visually different. Almost all web browsers use varations of kthml called Blink or Webkit. Mozilla effectively provides the only different web engine, called gecko. Surf is visually the most minimalist of the browsers, it provides no tabbing mechaninsm and must be combined with tabbed to produce a tabbed web browser. Uzbl is a framework for producing a web browser, and is the most configerable. Firefox supports a wide variety of addons that are unfortunatley neccessary due to the complexity and hostility of the modern web.

# Further Reading

[Dziuba] - Taco Bell Programming

[Hoare] - The Emperor's Old Clothes

[Stephenson] - In the Begining was the Command Line

[Wirth] - A Plea for Lean Software

Should I keep writing ?


 No.54958

File: 4d84882051b52c1⋯.jpg (7.69 KB, 168x210, 4:5, 934806_10154570942860054_7….jpg)

>>54938

>>54940

>>54941

By all means, continue


 No.54977

File: 4037dfa78d20d45⋯.jpg (47.12 KB, 405x540, 3:4, 4037dfa78d20d454d01dfece9d….jpg)


 No.54978

>>54941

>Arch Linux . Alternatives: Xubutnu, Debian, Gentoo, OpenBSD

I would only suggest amending this to : elementaryOS/Xubuntu, Debian, Arch, Gentoo, OpenBSD. Ranked from ease of use to complexity and minimalism. But good posts and you are on the right path. Now dd a post about encrypting everything and only using the strongest possible crypto options which is aes-xts-plain64 for data at rest and chacha20-poly1305 for data in motion.


 No.55021

>>54978

Don't forget Devuan. Most of the good of Debian, without the cancer of SystemD.


 No.55024

– Text Editor –

vim / gvim

Alternatives: emacs acme nano

Vim is the prime example of minimalism producing power users - is an editor for someone who manipulates text for a living. It has a vast feature set focused strictly around editing text, and remains lightwieght, speedy and reliable. Its features are accessed by a rather terse vocabulary of single letter commands, although learning this language proves valuable because it is fequently emulated outside vim (cf. Vimperator, Kate, etc.). The commands are positioned for maximium effiency in entry, for example movement of the cursor is driven by keys on the home row of qwerty keyboard. vim also has lightweight graphical and text model interfaces - so it goes where you are. There are are wide variety of extension to vim to allow its comfortable use for many tasks. Designed as it is, vim has a famous learning curve, however, the basic features are quit usable after learning how to enter insert mode, and how to quit. Emacs is a famous "maximalist" alternative. Although EMACs contains a wide variety of wierd functionality for a text editor including games, a mail client, a lisp interpreter, due to the current state of desktop software, its is bizzarely mimalist in comparison. Unlike vim, Emacs isn't driven by single letter keystrokes to execute commands, but use combinations of keys to execute commands. Emacs is famous for its ORG mode extensions which allow the creation of a personal wiki. Nano is the no-frills default text mode editor of most linux distributions, it has virtually no features, and documents all of them visually at the bottom of the screen, wasting vertical screen space. Nano doesnt have a graphical interface, and is really designed as a featureless editor of last resort for people unwilling to learn to use a real editor.

– Document Markup –

Markdown + aspell

Altneratives: Abiword, HTML, Latex

Latex is a markup language similiar to HTML used for creating documents. By learning few latex commands, users able to produce professional looking documents with relative ease. Latex is designed to allow the editor to focus on the semantic meaning of the document, while the software worries about the layout of the document - the defaults look good, but can be easily changed. Virtually all academic articles are marked up in Latex. All texteditors worth the name have integration with Latex. Abiword is a lightwieight WYSIWYG editor for word documents, compatabile with Microsoft Word, and with a rougly equivlent feature set. Of note, antiword, can be used to convert word documents to text. Finally, the gold standard is text. Text is and will remain readable for the indefinete feature, it is lightweight, and readable by machines. By choosing to write your documents in markdown, and leaving presentation to software, you are opting to preserve your data, save storage space, and have access to it through the wide variety of unix tools designed to access a standard text output including grep, cut, awk, diff, et al. Markdown is a set of conventions layered upon text documents by humans to make a text document readable as plaintext, while encoding formating information for presentation by software. Markdown conventions are fequently used for formating on the web in various web apps. Aspell is a spell check utility designed to check the spelling of plaintext files including latex and markdown.

– Password Management –

pass + passmenu

Pass is the best password managment software for unix systems. It has a variety of useful features including copy to clipboard, and clear clipboard, encryption (via GPG allowing use of smart cards), password generation, and version control of passwords via git. Passmenu uses suckless' dmenu software to make passwords available easily graphically in any environment. Because pass uses standard files (+gpg encryption) to store passwords, data is easily accessible, and recoverable, even without the passscript provided the gpg key is avialable ensuring your passwords will be available long term.


 No.55171

>>54978

My personal pick is serpent-xts at 512/256 key. chacha20-poly1305 for ssh socket networks. Maybe if my CPU has instructions for AES and get better speeds I'd use aes-xts but I don't trust such CPUs.

Arch/Gentoo isn't a problem when you can just use both BBQ/Calculate respectively. Artix if you want non-systemd but doubt it'll last long, can't even setup FDE in it.




[Return][Go to top][Catalog][Nerve Center][Cancer][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / / / / / / ] [ dir / abdl / choroy / dempart / doomer / leo / lounge / mewch / shota ]