/tech/ - Technology

Technology & Computing

New Reply
Files 🖌️ Max 5 files32MB total
[New Reply]

[Hide] (100.4KB, 587x575)
Repost of the Julay /tech/ sticky with some minor edits: https://archive.vn/znAXT
Beginner Info
If you would like to try out GNU/Linux because of https://itvision.altervista.org/why-windows-10-sucks.html, you can do one of the following:
0) Install a GNU/Linux distribution of your choice in a Virtual Machine (preferably using KVM or Oracle VirtualBox for newfriends).
1) Use a live image and to boot directly into the GNU/Linux distribution without installing anything (keep in mind that the performance of live distros might be very different than from distro that was booted from your HDD, as most distros are loaded in RAM and don't include the proprietary drivers for NVIDIA GPUs or up-to-date Mesa libraries in their isos).
2) Dual boot the GNU/Linux distribution of your choice along with Windows (make sure to install Windows first, as it can "replace" GRUB or other UNIX bootloaders, and troubleshooting of Windows replacing your bootloader of choice might be painful for people that just started learning about the Linux kernel)
3) Go balls deep and replace everything with GNU/Linux (you really shouldn't do this, if you don't know what you're putting yourself into, see: https://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.current.html).

Use your web browser and search engine of choice. Good comparison between them is hosted here:
If not sure which browser to choose, just use the Tor Browser Bundle:
or paste these commands to your terminal emulator of choice (please make sure to first learn what they're exactly doing):
$ sudo apt install torbrowser-launcher (Debian, Ubuntu, Linux Mint or just simply apt-based distros)
$ sudo pacman -S base-devel git python && git clone https://aur.archlinux.org/pikaur.git && cd pikaur && makepkg -si
$ cd .. && rm -rf pikaur && pikaur -S tor-browser (pacman-based distros)
$ xbps-install -S torbrowser-launcher (Void Linux)
If you "bricked" yourself and can't launch Xorg/Wayland, then try installing an terminal-only browser like Lynx and using it troubleshoot your mistake.

Type these commands to your terminal emulator to learn more about various commands:
$ man command
$ info command
$ command -h/--help
$ help builtin/keyword

Don't know what to look for?
$ apropos something

Check the wikis (most troubleshoots work for all distros):
8chan /tech/'s wiki on GNU/Linux:
4chan /g/'s wiki on GNU/Linux:

Watch videos on JewTube:
https://github.com/omarroth/invidious/wiki/Invidious-Instances (Invidious is unreliable now, keeping this link anyways)
https://yt-dl.org/ (Either install it from pip or the distro repos)

>What distro should I choose?
1. Ubuntu, or it's flavors like Xubuntu, Kubuntu or even forks like Linux Mint (only LTS or LMDE) and KDE Neon (only LTS)
- Groovy Gorilla 20.10 is the semi-rolling release of Ubuntu (still containing mostly stable and out-of-date packages)
- Focal Fossa 20.04 is the current LTS (long term support) release of Ubuntu and thus is the most supported by corporations like Canonical (corporation behind Ubuntu) and it's partners, Valve, GOG.com and hardware manufactures in general. It just works™
2. Debian GNU/Linux
- Stable (“buster”)
It's the stable/LTS and the "true" release of Debian. Contains a lot of outdated, but stable packages and is the easiest to install release of Debian.
- Testing (“bullseye”)
Is the testing release of Debian, which still contains a few outdated packages to be more stable. It's packages later go to the stable channel.
- Unstable (“sid”)
Is the rolling release of Debian and with the help of Debian Experimental, can be nearly as rolling as Arch or even Gentoo. It's packages after enough testing (usually a week) later go to the testing channel.
>How do I install Debian's experimental packages?
If you want something that has insane support and one of the largest communities out there, or just simply something that gives users more choices than Ubuntu, then this is the distro for you.
3. Arch Linux
Is a rolling distro with a semi-minimalistic approach to GNU/Linux, meaning you install it only from the console itself with pre-compiled binary packages (packages that are ready to install). Can be easily broken, if the end-user doesn't know how to avoid troubleshooting it. It's primary audience are users that want bigger control of their system. and people who want to stay on the most-up-to-date versions of their favorite programs. Good for learning how GNU/Linux works.
4. Manjaro Linux/EndeavourOS
Are forks of Arch Linux with the Calameres installer. Manjaro has it's own repositories, with package release channel similar to Debian's, while EndeavourOS tries to stay as close to Arch as it is possible. Decent, if you're one of those people which never read manuals.
5. Gentoo GNU/Linux
Is a distro that is very similar to Arch, but is much more stable and up-to-date thanks to you getting in control of configuring and compiling everything from the source code. Is also much harder/longer to setup than Arch's installation process, but compiling everything from it's source can result in overall better performance of programs that you use daily. Nothing can beat it when it comes to avoiding systemd. Perfect for learning how your UNIX systems actually work.
6. Linux From Scratch (LFS), Guix or NixOS
if somehow Gentoo didn't made you comfy with it, then with these distros you possibly can't get comfier except if you make the switch to BSD-based systems.

Even more info here:

If you don't care about having a modern desktop and want to avoid systemd, make sure to give the distros listed by this website a try:

If you prefer 100% libre, free as in speech distros:

>What are some cool programs?
>What are some cool terminal commands?
https://www.commandlinefu.com/commands/browse (doesn't work without JavaScript enabled)
>Where can I learn the command line?
>Where can I learn more about Free Software?
>How can I run Windows software?
Install the drivers for your GPU:
Then install Wine (Wine Is Not an Emulator) and preferably the 'Staging' branch of it:
Lastly read this:
Also, make sure to learn about winetricks, DXVK and Windows .dll files in general.
Aside from not being in line with the UNIX philosophy is Linux Mint unsubstantial as a starter OS?
Replies: >>555 >>561 >>623
Linux Mint is good because it's just Ubuntu with some of the cancer removed. And Ubuntu is good because there are a lot of retard proof guides on how to do things with it. Ubuntu is bad because it's stock repository is very lackluster.

In my experience MX Linux should be the recommended debian "beginner" distribution. It's repositories are a lot more robust and it comes with a good custom software suite. One of the biggest turn-offs for me when I first started using Linux was that the Ubuntu flavors and their software "stores" were some of the most clunky and slow software I've ever used in my entire life. MX Linux on the other hand comes with a very intuitive and fast package manager GUI, alongside having synaptic installed.

I've also never ran into a single machine that couldn't install it. Meanwhile shit like (((Manjaro))) is a coin toss as to whether it will even install.
Replies: >>570
I got a question for people who use the linux-libre kernel. Is installing hardware drivers that were removed complicated? Do you have to recompile the kernel for every new device?

I've installed it for many people as a replacement for W10 and haven't had any issues so far. Asides some boot problems thanks to UEFI but that could happen with any distro.
What about LMDE?
Replies: >>571
It's literally just a yet another Debian-based distro. The only difference between Ubuntu and Debian are different repositories. Ubuntu has either LTS, semi-"rolling" or unofficial PPA repos, while Debian has Stable, Testing and Unstable repositories.
>derp deeper
hmm seems like its a good thing i missed Julay
>>530 (OP) 
>Anonymous comments are pre-moderated disabled. I'm tired of anonymous haters who have nothing to say. Besides, Disqus sports authentification via Google/Twitter/Facebook and if you don't have any of these accounts then I'm sorry for your seclusion. You might as well not exist at all.
>not having a Google/Twitter/Facebook account makes you pretty much a persona non grata on his eye
Holy shit what a fucking faggot, that really comes rich from somebody who is a FOSS developer, doesn't that faggot know that those 3 are the worst companies to exist when it comes to privacy and data protection?
Replies: >>591
FOSS is full of idiots that can't make money, what's your point?
Replies: >>593
Corporations are full of idiots that wageslaves for their (((bosses))), what's your point?
Replies: >>594
At least they are not all commie trannies like the Foss idiot pussies.
Replies: >>595 >>599
You're telling falsehoods, anon.
[Hide] (3MB, 4128x3096)
If anyone somehow missed this news:

The CentOS Project Just Committed Suicide
>In shocking news the CentOS project announced today that are shifting their Linux distribution to be based on the beta (non-stable) branch of Red Hat Enterprise Linux, rather than the stable branch. And that they are terminating CentOS 8 updates at the 31st of December, 2021.
Replies: >>600
[Hide] (235KB, 200x261)
CoCfaggotry and commie trannies came from corporate HRfaggotry. The cancer killing free software has already chewed its way through the business world and parasitised a good chunk of it, and now it's here for us.
The good news is that they don't have the same legal options for fucking over wrongthinkers as they do in a regular business, mostly just social pressure. The bad news is that most programemrs are autistic fucks who don't handle that well, letting the more social shitters run circles around them. There is still hope, however: if a single noteworthy dev puts up any meaningful resistance or if a newcomer gives them the finger while still making good shit, he could inspire others to follow him and the entire takeover will collapse. This is why they're so insistent on making EVERY project and EVERY developer cave to their whims, no matter how small: most of their power is soft power and a single charismatic opponent could wipe the floor with them.
Replies: >>644 >>2270
[Hide] (65.4KB, 900x643)
just in time for DAY OF THE SEAL
[Hide] (49KB, 420x604)
I've used many "beginner" distros as my daily driver, or on a second machine; but Linux Mint is still what I install on my friend's and family member's computers whenever their winbloat 10 installation corrupts itself (or they corrupt it themselves; or they get infected with ransomware and think they have to pay the ransom (which I've witnessed first-hand, and it's sad to watch something so preventable happen)).

Like OP said about Ubuntu, Linux Mint also "just werks". It requires no more technical knowledge to read emails and watch youtube videos on Linux Mint than it does to do those same tasks on winbloat 10. But that's not the reason why I always choose Linux Mint to install on my friend's and family's fried laptops. After all, Manjaro, Endeavour and of course Ubuntu are also equally easy to use and have their own strengths over Mint.

The reason why I install Linux Mint on their laptops is for compatibility: every time I've installed a distro for someone, they think they still have to open their browser and go to a website in order to download a piece of software like you have to do on winbloat. Even when I show them how to access their distros repos, they still prefer to get their software via their browser and I know full well that when I leave and go back home, that's how they'll likely be downloading all their software. Given that many websites provide their Linux ports exclusively in the form of DEB packages, then if I'd installed an Arch-based distro on their laptop, pacman wouldn't be able to do anything with the DEB package they downloaded and they'd likely get very frustrated, ring me up and then I'd have to go to their house just to type "sudo apt install X package" into a terminal for them.

>tl;dr most people shouldn't even be within 50 feet of a computer, but since they still have one, all you can do is set it up for them such that they can use it exactly as they would use winbloat 10. They won't change their habits for a new OS because they can't understand how one OS is different to another.
Replies: >>629
Installing random shit you found on the Internet on a Linux desktop is a lot more dangerous than with Windows, considering there's basically no security model for X or Wayland. Would these brainlets at least use a web facing frontend to the package manager?
Replies: >>630
Where else would those .deb packages be hosted? It's a very different situation than on windows where thousands of sites out there have software packaged with spyware included, worst case scenario the installer needs to grab a .NET version to make it run on W7/8/10. Or where the official windows store is mostly filled with garbage.

Asides for github/gitlab and sourceforge I can't think of many places I've downloaded .deb packages from.
You inspire hope in me Anon. Thanks.
[Hide] (6.6KB, 104x133)
[Hide] (1.5MB, 687x687)
Why Gentoo? 
* You can choose the features you want to be compiled in packages (less bloat, better security)
* Can be fully optimized and riced to your liking! https://archive.is/TbXbC
* Say no to botnet, Say hello to Mister God!
* Portage is a very nice package manager, even though it resolves dependencies rather slowly... well, you could try using PyPy3: https://archive.is/j0YPV
* Gentoo is stable but has fresh packages available. You can choose which packages you want to be ""Bleeding Edge"" (use the ~arch keyword. for example: ~amd64)
* You can filter software based on the license, or in other words, you can install just Free Software as defined by the FSF

Why aren't you running Gentoo already?
>inb4 I have low-end Neetpad
Use distcc: https://wiki.gentoo.org/wiki/Distcc
>What are the alternatives to Gentoo?
* Funtoo
* Artix
* OpenBSD (imo the most usable *BSD)
* Source Mage GNU/Linux (SMGL)
* Slackware
* LFS (heh) perhaps with pkgsrc...?
* TempleOS

* Packages: https://packages.gentoo.org
* Overlays: https://overlays.gentoo.org
* Unofficial list of overlays with package search: https://gpo.zugaina.org/Overlays
* USE Flags: https://www.gentoo.org/support/use-flags/ (Pro Tip: Install gentoolkit and use equery u package)

Install Gentoo
Gentoo Handbook ( https://wiki.gentoo.org/wiki/Handbook:AMD64 ) is the official installation guide. I think that there is little point in rewriting everything here, but I am going to provide some tips for installing and using Gentoo.
>Which profile to use?
If you are unsure, select the newest one that is not marked as experimental and that has "desktop" in its name.
Want to partition using gparted? Want to have access to GUI while installing? Use SystemRescueCD https://www.system-rescue-cd.org

You should compile the kernel manually, as sys-kernel/genkernel messes up sometimes but it's fine to use it to generate your initramfs: genkernel [--microcode] --install initramfs
Pro Tip: If you use GRUB, add GRUB_CMDLINE_LINUX="slub_debug=P page_poison=1 nosmt=force l1tf=full" to your /etc/default/grub to keep the CIA out if you are on X86/AMD64 ( https://raw.githubusercontent.com/torvalds/linux/master/Documentation/admin-guide/kernel-parameters.txt )

>inb4 too dumb to compile the kernel manually
Use a pre-built kernel: https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel#Alternative:_Using_distribution_kernels
Pro Tip: Enable symlink USE flag for sys-kernel/gentoo-sources and initramfs USE for sys-kernel/linux-firmware
Also: https://wiki.gentoo.org/wiki/Microcode https://wiki.gentoo.org/wiki/AMD_microcode https://wiki.gentoo.org/wiki/Intel_microcode

Oh, and one thing about USE flags: Avoid adding local USE flags to your /etc/portage/make.conf  (these are local to the package, while global USE flags have the same meaning everywhere) Also, it's better to not enable too many USE flags in your make.conf, however disabling things is fine. If you need some USE flag just for one package, then add it to your /etc/portage/package.use file/directory instead of enabling it system-wide in your make.conf

Portage can use GPG to validate snapshots

Useful tools 
app-portage/gentoolkit      - Contains various utilities, such as equery and glsa-check. pls install. It can save your life someday.
app-portage/eix             - Search packages faster. Rember to run eix-update
app-portage/layman          - Manage your overlays (read below) You can also use eselect-repository instead, if you want to.
app-portage/cpuid2cpuflags  - Find out the correct CPU_FLAGS_X86 for your make.conf

Add extra configuration options for Eix:
# read eix's man-page
cat /etc/portage/env/eix-extra-econf.conf
  EXTRA_ECONF="--enable-strong-security --enable-optimization"

cat /etc/portage/package.env
  app-portage/eix eix-extra-econf.conf

emerge --oneshot --noreplace hwinfo app-portage/cpuid2cpuflags mirrorselect
emerge --noreplace gentoolkit eix layman tmux bc

Enable etckeeper:
cat /etc/.gitignore

emerge etckeeper dev-vcs/git
sudo -i # or: su -
cd /etc
etckeeper init
etckeeper commit 'initial commit'
git gc
[Hide] (411.2KB, 566x800)
Get list of available overlays by running layman -L
Instead of using layman, you can also use eselect repository, if you want: https://wiki.gentoo.org/wiki/Eselect/Repository

When you have found an overlay you want to add, you really should first mask all packages from that overlay by editing your /etc/portage/package.mask file/directory.
After you masked the packages, add the overlay: layman --add OverlayName After adding the desired overlay, update your overlays: layman -S (The reason for masking all packages in overlays, is to keep your system 100% halal/kosher.)
Finally, you have to unmask the packages you want to install from the overlay, by adding its name in your /etc/portage/package.unmask file/directory. 

For example:
possible language: bash, relevance: 10
cat /etc/portage/package.mask

# you could also use the guru overlay
layman -a torbrowser
layman -S

emerge --pretend --verbose torbrowser-launcher # for pedagogical reasons

cat /etc/portage/package.unmask
# Read the ebuild before installing the package from the overlay
emerge torbrowser-launcher
For more info on writing your own ebuilds and creating overlays:

package.use and friends
These can be either files or directories containing files. You can find these in /etc/portage/ directory.
Pro Tip: It's often convenient to have a file called zzAutomatic (or similar) in these directories (if you chose to use directories instead of files, that is.) Because this way when you tell portage to make changes to your configs, it will modify these files instead of some random files in your package.use (actually you need to use dispatch-conf (or similar) to apply the changes)
Pro Tip: You should try to not enable every USE flag in your make.conf, use package.use instead! (Especially with local USE flags, as the function of local USE flags varies between packages!)

package.use contains the per-package USE flag settings. For example: 
possible language: php, relevance: 16
# This is a comment
# -Minus sign means that we are going to disable(!) the USE flag.
# By default the CIA is trying to trick the user into installing OpenSSL with harmful features enabled. You can fix this by customizing the USE flags for the OpenSSL pakcage.
# Also, FYI, Gentoo does have *UNOFFICIAL* "support" for LibreSSL: https://wiki.gentoo.org/wiki/Project:LibreSSL (tl;dr you need to add the community-maintained libressl overlay)

cat /etc/portage/package.use/security_and_crypt
  dev-libs/openssl -sslv3 -tls-heartbeat -zlib
package.keywords (used to be called package.accept_keywords) here you can enable keywords for packages. The ~arch keyword (where "arch" is the desired architecture, for example ~amd64) enables testing/unstable packages, so in other words you can install newer versions and packages that aren't marked as stable yet. For example, to allow installation of games-misc/katawa-shoujo (games, etc. are often marked as unstable), add the following to your package.keywords:

# Actually, just download the VN from https://www.katawa-shoujo.com 
games-misc/katawa-shoujo ~amd64
package.mask and package.unmask were covered in the section regarding overlays.
package.license allows you to allow/block installation of a package based on its license. If you want to set this globally, for example to only install Free software, add  ACCEPT_LICENSE="-* @FREE" to your make.conf.

If you want to accept makemkv eula, edit your package.license:
cat /etc/portage/package.license
  media-video/makemkv MakeMKV-EULA
package.env and /etc/portage/patches allow you to, for exmple, set custom CFLAGS per package (for example for debugging purposes) or apply patches:

Example (incomplete) make.conf
possible language: perl, relevance: 29
CFLAGS="-march=native -Os -pipe -fno-plt"
CFLAGS="-march=native -O2 -pipe -fstack-protector-strong -fstack-clash-protection"

CPU_FLAGS_X86="..." # use cpuid2cpuflags
MAKEOPTS="-j4 --load-average=4.0"
EMERGE_DEFAULT_OPTS="--ask --complete-graph=y --with-bdeps=y --backtrack=1000 --jobs=3 --load-average=4.0" # you might want to also read about --keep-going 

# Remove wayland/pulseaudio USE flag from the list if you aren't going to use it
# Enabling pulseaudio USE will pull in pukeaudio
USE="X wayland xft elogind bluray bdplus aacs cdr dvd hardened pie pic vtv ssp crypt ssl openssl system-ssl socks socks5 unicode alsa ffmpeg offensive pulseaudio -suid -upnp -upnp-av -zeroconf -binary -deprecated -nls -gnome -kde -bluetooth -gps -geoip -geoip2 -geolocation -telemetry"


VIDEO_CARDS="nouveau amdgpu radeonsi vesa"
INPUT_DEVICES="evdev libinput"
GRUB_PLATFORMS="efi-64 pc"
GENTOO_MIRRORS="..." # use mirrorselect

Post Install
possible language: perl, relevance: 11
USE="motif X -gtk -gtk2 -athena -Xaw3d" emerge app-editors/{neovim,emacs} # install editor
# it might be a good idea to install busybox with static USE enabled
emerge --noreplace gentoolkit lm-sensors smartmontools tmux debugedit gdb bc busybox net-misc/openntpd app-crypt/gnupg
# X11
emerge --noreplace x11-base/xorg{-server,-drivers} x11-apps/xdm  # or...
# wayland
# sway is (almost) drop-in replacement for i3(gaps)
emerge --noreplace sway x11-terms/alacritty

useradd -m -G video,audio,users,wheel sleeper
rc-update add ntpd default
rc-service ntpd restart

# make sure everything is up-to-date and remove old/unused/unselected packages
emerge --ask --update --deep --newuse --with-bdeps=y --keep-going @world
emerge --ask --depclean
Replies: >>2234 >>5037 >>5317
[Hide] (782.7KB, 1100x799)
[Hide] (409.3KB, 640x368, 00:09)
[Hide] (964.1KB, 1120x720, 00:08)
TempleOS Video Archive
* https://archive.org/details/TerryADavis_TempleOS_Archive
* https://ia600600.us.archive.org/31/items/TerryADavis_TempleOS_Archive/videos/
* There are also a few channels on YT

TempleOS ISO Archive
* https://archive.org/details/TempleOS_ISO_Archive
* https://archive.org/download/TempleOS_ISO_Archive
* Download version 4.13 because it has most programs (like After Egypt)
* Shrine (unofficial TOS distro) https://github.com/minexew/Shrine
* You must install TOS inside a VM; Use QEMU, VirtualBox or VMware. To get sound, your VM must support PC speaker. (Note that sound doesn't work with VirtualBox)
* TempleOS FAQ: https://web.archive.org/web/20161129044519/http://www.templeos.org/Wb/Doc/FAQ.html
* HolyC: https://web.archive.org/web/20170325000321/http://www.templeos.org/Wb/Doc/HolyC.html
* Compiler overview: https://web.archive.org/web/20170305045826/http://www.templeos.org/Wb/Doc/CompilerOverview.html
* Guidelines: https://web.archive.org/web/20170306232214/http://www.templeos.org/Wb/Doc/GuideLines.html
* Demands: https://web.archive.org/web/20170305045050/http://www.templeos.org/Wb/Doc/Demands.html

possible language: rust, relevance: 11

You can't do anything until you burn a TempleOS CD/DVD from the ISO file
and boot it, or you aim your virtual machine's CD/DVD at the ISO file
and boot.

TempleOS is 64-bit and will not run on 32-bit hardware.

TempleOS requires 512 Meg of RAM minimum and can have 256 Gig of RAM or more!

TempleOS files are compressed with a nonstandard LZW format and the source
code can only be compiled by the TempleOS compiler because it is HolyC, a
nonstandard C/C++ dialect.  You must boot TempleOS.  Then, you can compile it
because it is 100% open source and all source present on the distro.

If attempting to run on native hardware, TempleOS may require you to enter I/O
port addresses for the CD/DVD drive and the hard drive.  In Windows, you can
find I/O port info in the Accessories/System Tools/System Info/Hardware
Resources/I/O ports.  Look for and write down "IDE", "ATA" or "SATA" port numbers.
In Linux, use "lspci -v".  Then, boot the TempleOS CD and try all combinations.
(Sorry, it's too difficult for TempleOS to figure-out port numbers, automatically.)
TempleOS Charter (abridged)

* TempleOS is God's official temple.  Just like Solomon's temple, this is a 
community focal point where offerings are made and God's oracle is consulted.

* God said 640x480 16 color graphics is a covenant like circumcision.  Children 
will do offerings.  Think of 16 colors like the Simpson's cartoons.  In the 
future, even if one GPU were universal, we would keep 640x480 16 color and not 
use GPU acceleration.  Graphics operations should be transparent, not hidden in 
a GPU.

* God said to use a single-voice 8-bit signed MIDI-like sample for sound.  God 
does not want death screams, perhaps, because God has PTSD or soldiers have 
PTSD.  (Imagine wounded on battlefields.) 

* God said His temple must be perfect.  We don't think twice about breaking 
compatibility.  God said we do a seven year release cycle.  I say the PC 
hardware follows a 49 year, jubilee cycle, like broadcast TV upgrades.

* The vision is the same usage model and niche as the Commodore 64 -- a 
non-networked, simple machine where programming was the goal, not just a means 
to an end.  However, it is modern, 64-bit and multi-cored.  It is special 
purpose, not general purpose, so some things it will not do.  Also, it's a 
kayak, not a Titanic. The priority is user developers, not 3rd party developers.

* We do not put any hooks for future changes.  "Perfect" means we always act as 
though it is final, for all time.  Microsoft allowed the Windows BMP file format 
to adapt to the future and it became grotesque.

* Low line count is the highest good, so it is easy to learn the whole thing.  
Users should see the light at the end of the tunnel.  One file system, for 
example, is better than many file systems.

* There is a limit of 100,000 lines of code for all time, not including 
applications and demos.  Code comments count, however.  Currently, there are 
81,502 lines of code.  3rd party libraries are banned because they circumvent 
the intent of this limit.  The vision is a Commodore 64 ROM -- a fixed core API 
that is the only dependency of applications.  Dependency on components and 
libraries creates a hell that is no longer blissful.
* Minimal abstraction is a goal.  Sheep are fools.  They always respect a design 
that is more complicated than another.  Any genius can make it complicated.  
Like in physics, it takes a supra-genius to make it simple.

* One platform. x86_64 PC compatibles.  Desk-tops are all we design for, but 
laptops can tag along.

* All hardware access will be done through x86 IN/OUT instructions, not PCI 
drivers.  A frame buffer for VGA is an exception.

* One driver for each class of device.  Limited exceptions are allowed.  With 
divergent device capabilities, it is a nightmare for user applications and what 
is gained?  A three bttn mouse is like a leg you cannot put weight on.

* Ring-0-only.  Everything runs in kernel mode, including user applications.

* Full access to everything.  All memory, I/O ports, instructions, and similar 
things must never be off limits.  All functions, variables and class members 
will be accessible.  There are no C++ public/private protections and all 
functions, even secondary ones in the kernel, can be called.

* Single-address-map as though paging is not used.  Long mode requires paging, 
however, so the nearest thing is keeping all memory identity-mapped.

* No networking, so malware is not an issue.

* No encryption or passwords.  Files are compressed, not encrypted.

* Free and public domain.

* 100% open source with all source included.

* Documents are not for printing.  They're dynamic, intended for the scrn.

* Just one 8x8 fixed-width font.  No Unicode, just Extended ASCII.  Other 
countries can make their own versions.  The versions should be just for one 
language and platform.

* No multimedia.  Sounds and images will be primarily calculated in real-time, 
not fetched from storage.

* "Commodore 64" is a trademark owned by Polabe Holding NV.
* "The Simpsons" is a trademark owned by Fox.
* "Windows" is a trademark owned by MicroSoft Corp.
Replies: >>4146
I haven't tried Gentoo but I main Void so I can give you an idea what it's like. But take it with a grain of salt as this is just my personal experience, and Void is only my second distro ever after Ubuntu which I quickly abandoned... Here are my key points.
 - Text-based installer using dialog. Very easy to use coming from Windows but the partitioning can be tricky, so refer to the handbook or watch a youtube video.
 - Barebones ISO available if you wanna go the Arch/Gentoo way, otherwise go with the XFCE ISO (package list here http://0x0.st/--At.txt ). Alternatively you can use their mklive tool (which I surprisingly found easy to use) to create your own custom, live-bootable, installable ISO. You can make a custom base configuration (in a VM for example) and install that instead of going with a "stock" ISO right away, if you like.
 - Active IRC channel and subreddit, great source of help even if you're new to linux altogether.
 - Pretty fast and lightweight. A base install (without xorg) is less than half a gig and boots in a couple seconds, adding a DM + DE takes an extra 3-5 seconds to reach the desktop.
 - Package manager is efficient but command line only, although you can install a graphical front-end for it like Octoxbps, which I use. Downloaded packages are cached by default and remain in cache until you either completely clear it or run xbps-remove -O to remove obsolete packages.
 - There are only 4 repos total; 2 for 64-bit and 2 for 32-bit. The software selection is good but not AUR good (complete list here https://voidlinux.org/packages ), so you will sometimes have to compile from source or look up xbps-src on github. Creating local repos is easy (literally 1 command), creating your own packages is supposedly just as easy but I haven't tried it.

Hope this helps.
Replies: >>982
Yes thanks for replying to my post I deleted.
The deleted post was something like this:
>are void linux and devuan good alternatives to gentoo?
First time witching to new GNU+Linux, planning on trying Debian as a daily driver while setting up LFS on a different parition as an excercise and to get to know Linux better.
Is this a good idea or should I try something braindead like de-GNOMEd Ubuntu first?
Replies: >>1114 >>1120 >>1147
You need only to be able to complete the install process and, in case you can't find the solution to something in man pages, connect to the Internet and install a web browser. You shouldn't need to try Ubuntu first. The more something is made easy to use, the more its functionality is obscured, the more it retards your learning. LFS seems to be a lot of instruction following and waiting, something to do when you're very experienced and have nothing better to do with your time. You could probably learn more quickly from books.
My opinion as a beginner.
I tried using Debian for a while, but the biggest issue I had was not knowing the difference between DEs when I first installed it, so I chose XFCE which I absolutely hated. KDE is the closest to Win10 so choose that for a good middle ground. Also if you're using an Nvidia card you're going to have a miserable time dealing with nouveau or Nvidia's nonexistant proprietary drivers.
Replies: >>1147
Debian's fine, and if you want a non-systemd alternative there's Devuan. You'll get a nice ISO with a DE pre-installed so you can get started quickly, but you can always change anything you don't like later.

Nvidia's proprietary driver works nicely on laptops that are officially supported tbh
>>530 (OP) 
I love Linux but Linux makes me sad
>>530 (OP) 
The only distro worth using in your list is Gentoo, delete the thread and try again faggot.
[Hide] (849KB, 2463x2463)
I'm thinking of switching to Void, but I heard there was some fuckery with the lead dev disappearing a while back. Have the current devs sorted shit out or is it in risk of dying? 
Have they finally unfucked the sound drivers yet?
Just look up Void's official Twitter account through Nitter.
Replies: >>2188 >>2271
[Hide] (110.2KB, 630x613)
[Hide] (12.4KB, 649x160)
[Hide] (14.8KB, 629x153)
[Hide] (64.7KB, 615x551)
I wish I hadn't.
Replies: >>2189 >>2190 >>2233
I thought it's the spammer again, if only I knew how bad things really are.
Wow, at least arch community aren't pozzed like this kind of level. How horrifying.
Replies: >>2192
I just want an OS that isn't shit, why does everything have to be gay?
Replies: >>2193 >>2196
Because people like you only use things but don't make things.
Replies: >>2194
I haven't been chosen by God, I can't make an entire OS by myself and maintain it.
Replies: >>2195
Literally nobody is. Even Terry didn't make an OS that's generally usable.
Replies: >>2197
I've seen it mentioned before, but sites that write about distros are always shit. How is it?
Replies: >>2198 >>2205
It's just arch without systemd, still got elogind and other shit though. Have access to arch and aur packages.
Replies: >>2203
[Hide] (23.6KB, 342x342)
>using devuan linux
>paranoid that i'm somehow going to install systemdicks by mistake
>paranoid that I already have
is there a way i can check?
Replies: >>2200 >>2204
man apt?
online search "apt search installed"?
Replies: >>2201
is there a specific name it'd be under? it wouldn't just be "systemd" wouldn't it?
Replies: >>2202
Who knows, may be searching "debian systemd package" helps?
Sounds neat, I'll give it a try eventually.
>antisystemd fags don't even know how to check what's installed on their computer
I can't believe people are still falling for all the trolling about systemd. If you want sysvinit use a BSD. It's that simple Whoever was spamming about systemd being the systemdevil really did a number on your brain. Consider not posting on image boards if you're truly this credulous.
>How is it?
I couldn't make dnscrypt-proxy work on it for shit, but otherwise it's fine and does the job of mitigating systemd quite well.
Don't all the BSDs still use a BSD init?  SysV is different, it's how Debian used to be setup.
>it's either systemd or sysvinit
>taking random schizo seriously
Your post has more to do with /tech/ than his, but you are just as retarded.
>shilling systemd using a retard as proxy
How about you get back to sucking pottering's systemdick, you ignorant retard faggot? shitd is not linux.
[Hide] (302.8KB, 351x367)
I switched to Devuan not because I am afraid of systemd. If anything, I would be all for it as a standardized system that other programs would build on for support, something I believe the Linux ecosystem really needs. My problem is that the developers are braindead retards that would rather spend more time sucking each other off over their bloated dumpster fire of a system than actually fixing it and making it useful, combined with their technological incompetence (I believe Poettering didn't even know what RAID was) and virtue signalling (labelling everyone against systemd as racists). Similar to the stunt Void Linux just pulled, I want my computer to just run shit without having any backdoors/unnecessary garbage built into it and the developers of its software to do just that: develop software and not act like they're gatekeepers of something they have no part of.
I don't people ever talk about this but do you guys realise poettering basically became the goto for corporations and big projects? Steam uses lib32-systemd on artix, it doesn't even start if you have all systemd dependencies but no systemd(this was how it was a year ago), wine pipes sound into pulseaudio instead of alsa, firefox creates pulse files even if you don't use paudio but use systemd. 
Valve just decided "fuck it systemd is a must now" and it was a dependency.
Replies: >>2222
Big corporations will always go for the path of least resistance as well as what is being perceived as the "future" that's corporate enough. SystemD is what RedHat sponsors, so the choice is made. Valve uses it for two reasons. One, the company as a whole is amazingly stupid even if it employs smart people. Two, the only official support they offer on Linux, besides their SteamOS, is that it works on Ubuntu. Ubuntu uses systemd and it doesn't start without it because see reason one. What else do you expect from a company that makes you run a fucking web browser as an interface to their video game launcher program?
>>530 (OP) 
<¿habla taco que queso?
Disliking wares for the sake of other's beliefs and perceptions is just beyond autsim, schizophrenia or any other mental-illneses.
Replies: >>2241
[Hide] (144.6KB, 1500x1000)
Replies: >>4081
>dropping a product because it's made by people who hate you when their opinions will most likely impact the future of the product and also introduce a non-zero chance they will try and fuck with you is "beyond autism"
Replies: >>4922
No, you are just retarded. Doesn't matter if wares are free or not. If not free, you pay them to support their beliefs and perceptions. If free, you use it so they can say a thousand people uses this and get funding, which is spent on their beliefs and perceptions.
Do you think the same for unpopular beliefs and perceptions? Looks like not being retarded makes you a mentally ill schizo autist.
I don't see why the good ones don't even try to use mullerian mimicry (mimicking these noxious people to avoid trouble).
I've seen some though who are crypto-trannies (they aren't actually into lgbt but they just do it so they can stay in their "culturally enriched" company/branch and so that they won't lose their job).
I'm not really into these politics and social/soft science bullshit but I can see myself making online accounts that claim I support "BLM" like everyone else.

As they say, blend with the herd. Be a crypto.
Replies: >>2271
see >>2270
Not all of "supporters" are true supporters.
Anonymity and deceptiveness does not need to stand out for its beliefs, instead fakes it to their own advantage.
>>530 (OP) 
>want to avoid SystemD
>use Artix
>recently learned that Steam depends on SystemDalthough i installed it and it seemed fine without it, but haven't done through testing
>might switch back to EndeavorOS
Replies: >>2294
Steam depends on lib32-systemd, there was (!)bug that didn't let steam open without 64bit-systemd but i think they fixed it because it works with just lib32-systemd.

This only goes to show how misunderstood systemd really is, and how the community has overreacted to the absolutely false rumours regarding it fully incorporating entire linux distributions.

Instead of joyfully accepting the superb multimedia experiences that systemd could be bringing to your workstation, living room media player and laptop, instead of appreciating the beauty of its design, the grace it bestows upon higher-level software that could exist without knowing what init system is being used  - BUT WHY SHOULD IT?! - ... I now see the light! I now understand why Dota2 MUST be engulfed by systemd. The three lanes must be defined in the kernel, the creeps must be spawned by a systemd timer ... and one can only assume the true meaning of systemctl daemon-reload! (hint: actual daemons!)

I feel ashamed by my past. I bow to thee, systemd, bringer of colourful virtual creatures that I can click upon and kill. The elders say it was also used to start services, but that's obviously nonsense from the extremist naysayers. Heretics!
SystemD is the final conclusion of universe, it will engulf everything to the point that it becomes the ultimate singularity and become the monad of the universe.
>On 2021-07-06, the sys-apps/opentmpfiles package was masked due to a
>root privilege escalation vulnerability (CVE-2017-18925 [0],
>bug #751415 [1], issue 4 [2] upstream).
>The use of opentmpfiles is discouraged by its maintainer due to the
>unpatched vulnerability and other long-standing bugs [3].
>Users will start seeing their package manager trying to replace
>sys-apps/opentmpfiles with sys-apps/systemd-tmpfiles because it is
>another provider of virtual/tmpfiles.
>Despite the name, 'systemd-tmpfiles' does not depend on systemd, does
>not use dbus, and is just a drop-in replacement for opentmpfiles. It is
>a small binary built from systemd source code, but works separately,
>similarly to eudev or elogind. It is known to work on both glibc and
>musl systems.
>Note that systemd-tmpfiles is specifically for non-systemd systems. It
>is intended to be used on an OpenRC system.
Replies: >>2407 >>2408
I've read the manual and have no idea what that program is even for.
Seems it creates files and directories with specific permissions, and gives them a timer after which they're deleted? But why? That's trivial in C and we have /tmp/ for temporary storage.

Speaking of, it would be nice to have a function to get a file with no filename. Right now you have to open a new file and delete it. That leaves a portion of time where the file is linked in the filesystem.
Replies: >>2409 >>2411
Also the systemd implementation of this is 4000 lines of source because of course why WOULDN'T corporate software blow up into an unexplainably huge line count?
>But why?
Because it's a new type of virus.
Replies: >>2414
Replies: >>2412
mkstemp is for avoiding a TOCTTOU when creating a tempfile, I want to create a file that has no name in the filesystem.
Replies: >>2415

time to destroy the economy
Replies: >>2546
[Hide] (7KB, 640x480)
creat(2) can create temporary file without filename, but if you want the file to be permanent, you'll have to name it.
Replies: >>2596
[Hide] (163.5KB, 1200x786)
>hear about musl from the void linux circles
>hear it's smaller, faster, less bloated...etc
>decide to give it a try
>load my custom script which creates <700MB void iso files and set it to use musl instead of glibc
>resulting iso file is over a gigabyte in size
Am I missing something?
Replies: >>2536 >>2539 >>2541
If you want to see how much less bloated musl is, just open the source code. It's a difference like night and day. There is no way to tell what the problem with your script is if you don't post it.
Replies: >>2537
Here's the script:

language: bash
sudo ./mklive.sh -a x86_64-musl -i xz -s xz \
-p "dialog ntfs-3g fuse strace neofetch                     `# base, filesystems`           \
    grub grub-x86_64-efi                                    `# bootloader`                  \
    xorg-minimal xorg-video-drivers xmessage xset xbitmaps  `# X11`                         \
    autox jwm xfontsel                                      `# DM, WM, theming`             \
    alsa-utils                                              `# audio`                       \
    NetworkManager curl lynx                                `# networking`                  \
    st nano xfe xcalc feh azpainter                         `# accessories`                 \
    scrot xclip wmctrl xdotool                              `# screen capture, WM control`  \
The mklive tool is from https://github.com/void-linux/void-mklive
the wokescolds captured void just like they did KISS
all smells very glowey
Replies: >>2542
Is there a way to use musl on Artix? From searching that I've done it isn't officially implemented, and adding it would be a big project. Is that right, or is there an easier route?
Replies: >>2542 >>2543 >>2544
Nevermind, the problem was fixed by passing -c some/clean/path to mklive, what this does is basically use the provided clean path as a package cache directory (musl), instead of falling back to the default system one (glibc). I'm guessing without this flag each package will be installed twice, once from the musl repos and once from the glibc cache.
The end result is a <700MB iso file with the clean path now full of musl packages. Success!

Fuck off blackpill.

I have no idea honestly, but I would suggest you try musl first on void/alpine before jumping into any big project relating to it.
Replies: >>2552
Gentoo has supported musl for a while now and still has a fair share of musl-specific patches (especially for shit like GCC and Mesa) in the official overlay, so that would probably be quite some work.
Replies: >>2552
Absolutely not. At the minimum it would require having an entirely new repository of software compiled against musl, some with patches to fix niggerliciousness that glibc encouraged. Just install Gentoo/Void/anything that officially supports it.
Replies: >>2552
Yes Systemd is a new type of virus in that it's spreads exclusively through humans(retarded) on computers instead of just computers.
Replies: >>2547
>spreads exclusively through compromised humans
Sounds more like a vaccine than a virus.
Replies: >>2549
Just like the corona vaccines, it's a solution to a problem that didn't exist which creates problems of its own.
Replies: >>2551
does it also replace system files with pictures of nig gates to trick your antivirus into deleting the whole directory
Replies: >>2553
Thanks, I thought so. I was on Gentoo, but it took too much time to set up and maintain, the installation wasn't as hard as everyone says though. I have Alpine on one of my Pis, so I already am familiar with it a little. And I switched from Void to Artix, because the packages are so much more up to date and it doesn't break as much.
Replies: >>2554 >>2559
[Hide] (862.5KB, 1200x833)
The virus and its dependencies have very likely  given every glownigger dial up to your retard-linux-system asshole(if they want) for 7 years such as most recent:
>7 years
>some of the world's best high paid programmers
>find backdoor
>"we didn't know"
>this happens over and over
>repeat the same things over and over again
>miraculously get away with it every single time
>do just a little bit of research and find out redhat works with ZOG and gets actual contracts for decades already
Connect the dots nigger, that's all you need to do.
>artix not breaking as much as void
This is a joke, right?
>I was on Gentoo, but it took too much time to set up and maintain,
How so, compilation times? The only times I had maintenance issues was when I did shit the distro maintainers explicitly didn't plan for, like running super old versions.
[Hide] (82.8KB, 640x640)
is it just me or are "rolling" distros more stable than "stable" (i.e. debian) distros?
Unless its software that explicitly has stable releases with backports / patches I think bleeding might actually be superior.
I'm not talking about web servers, kernels or the like, but smaller projects that have at most 5 developers.
I've been trying to do audio production on linux for years and have ALWAYS had stability issues, I tried the pro audio distros and they sucked too, honestly artix does a better job than these domain-specific distros.
there simply isn't any effort in actually quanitiying the "stability" of these debian-like distros, the author says its stable so the distributor releases that version until enough people complain, then the cycle repeats.
With rolling everyone is sort of on the same page, if one library author fucks up, then 1000 people come knocking -- its a reasonably effective feedback loop where the developer always risks losing end-users by making irresponsible regressions.
Its not ideal, but its an organic sort of evolutionary process -- we simply lack the resources to be formal and beuracractic about FOSS development, this is rougly in line with ESR's 'cathedral & bazaar' thesis.
When I used debian and slackware I'd constantly be manually building libraries in order to get updated versions of programs to fix certain bugs, on a rolling release your libraries are close enough to bleeding that you can build anything that is in current development, i.e. anything worth a damn that wasn't abandonded by its authors.

A project can only grow so large before it becomes intractible to verify its stability. openbsd can make solid claims about their core because its smaller than the X server, but when you have over 10,000 packages that are just assumed to be stable because they were released 10 years ago then your just full of shit.
If a distro were to be serious about stability, that would mean every time a library is updated, all of its reverse dependancies would have to be tested. Its simply impossible to deal with that level of complexity.
not really trying to make a blog post or anything, just extremely frustrated that I can barely do stuff that was stable on wangblows in 2004 on my lunix machine without getting a segfault every hour and ripping out my hair.
The average programmer isn't djikstra or knuth and if they were they wouldn't be writing FOSS shit they'd be hired by NASA or some military shit.

tldr; the best solution is gentoo or artix and I really wish it wasn't.
There can't be any real stability the way modern software is typically done.  Watch the video.
Replies: >>2564 >>2577
good talk but heh, kinda cute how brits go out of their way to ignore konrad zuse.
What exactly does this talk have to do with what you said or what you replied to?
Replies: >>2585
They can be more stable because the maintainers of "stable" distros backport a lot of features and security improvements. I usually look at it in terms of tradeoffs and benefits.

Rolling release: up-to-date software with no need to backport any features, but you are basically the eternal beta tester (alpha testing is done by package maintainers)

Stable release: software is, in theory, solid and is less likely to have sudden changes. You are, however, stuck with very old versions of shit.

Put rolling release on the desktop and stable release on the server and call it a day. You might even get away with rolling on the server as well, if it's not some coprohomo project.

>smaller projects that have at most 5 developers
Those same developers tend to be the ones maintaining their own packages on stable distros. Imagine getting out another stable release of your codebase. You compile everything on Arch or Gentoo on the latest (or close to it) versions of all the dependencies. Now you get to Debian/Ubuntu and the libraries are years fucking old with probably some breaking changes in some of them compared to later versions. So it's time to break out the system-specific patches. Considering a lot of open source software gets written voluntarily during free time, this boring shit can get to people and you end up with unmaintained, broken packages.

>A project can only grow so large before it becomes intractible to verify its stability. openbsd can make solid claims about their core because its smaller than the X server
Yes, but even OpenBSD guys don't claim every single thing you install doesn't affect your system's security. It's safe to assume that all the "most secure major OS" is only related to the default install without any additional installations.
>If a distro were to be serious about stability, that would mean every time a library is updated, all of its reverse dependancies would have to be tested
I'm not sure about distributions, but OSS/FOSS has no QA and testers to speak of. If you think of how many programs have already been written, it would make more sense to build a feature & regression testing base that already exists, rather than pumping out thing X rewritten in meme language Y for your retarded nerd or job cred. It sounds incredibly boring and it is, but it would be at least be useful.
>just extremely frustrated that I can barely do stuff that was stable on wangblows in 2004 on my lunix machine without getting a segfault every hour and ripping out my hair
Windows owes that stability to DLL hell. You can replicate the same by asking software authors to package their shit as flatpaks for stable distros or just by doing it yourself.
I have never used a stable distro and in 4 years no big crash except lightdm, which refused to start about 4 times in 10ish update. Now that i use sx to start xorg(which is the only stable way to start xorg) i have no issue with stability.
His talk has everything to do with the topic of stability.  What part about this don't you understand?
Replies: >>2587
[Hide] (52.3KB, 375x484)
>if one library author fucks up, then 1000 people come knocking -- its a reasonably effective feedback loop where the developer always risks losing end-users by making irresponsible regressions.
that's a double-edged sword, they'll be paranoid about introducing new features because of the risk of breaking shit and having an angry mob outside their door because they accidentally put a space in "del /home /username/documents"
Replies: >>2587 >>2588
The entire thing is just very over the place and never really comes to a point. It felt like I was watching an old man talk about various things he's excited about. The closest related thing is to identify packages with their hashes (I believe Guix does this), but the only way this addresses the problem is if you reproduce the DLL hell of Windows, which I sure as hell hope you aren't advocating.

>they'll be paranoid about introducing new features because of the risk of breaking shit and having an angry mob outside their door because they accidentally put a space in "del /home /username/documents"
Well, they should. I know the space refers to a real bug, but if you have problems like these your review process it utterly fucked and you should fix that before pushing out any new things.
>they accidentally put a space in "del /home /username/documents"
It's a good reason to make a container that is used to test out which files and directories the installation of your program or library affects, as part of pre-release procedures. The times it happened was due to lazy and/or shit devs, see Valve and Steam deleting /usr.
Oh, didn't know Linux had this. That's a good extension.

Creating a file and immediately deleting it is an old unix technique for getting a temporary file nothing else can touch and that you can't forget to delete, I'm aware it'll be deleted after no process has a FD pointing to it.
It seems today's unix hackers have forgotten this trick, even the official flac encoder leaves garbage in the filesystem if you ^C it.

The thing is that it's perfectly possible for someone else to open the file before you delete it.
You can portably kludge it with flock(2), an exclusive flock lock can be obtained atomically when creating the file. This leaks the temporary filename and you have to remember to truncate the file to 0-length before closing it, because someone could open the file while it's visible in the filesystem and wait for you to release your exclusive lock to read your data.
possible language: rust, relevance: 17
----09/13/13 17:08:06----

Linux is inspired by 1970's mainframes.  They are set-up for multi-user with 2 
meg shared by 100 users.  They put things in pipes, doing a little at a time, 
and they have virtual memory.  They have a language good for admins.

TempleOS is inspired by a C64.  It is to be used for the same sorts of things, 
but it is modern.  It loads and processes whole files.  Actual disk virtual 
memory, by the way, is really retarded these days because if it ever actually 
does swap, it's unacceptablly slow!  All vestiges of virtual memory should be 
purged from all operating systems.

Linux will let you play two video games at once.  TempleOS doesn't see that as 
important.  Sharing-locks?  Don't be a retard.

C/C++ translation is very close to direct-to-assembly instructions.  GCC wastes 
compiler time on optimizations in case you give it dumb C/C++ code to compile 
because they are arrogant fools and suffer from piling ever-more-shit into it, 
like Intel and like Microsoft.

Linux and Windows do SMP.  That is not good for real-time flight simulators 
without GPU.  TempleOS does master/slave.  All applications run on core 0 and 
simply control, explicity and specifically, each of the other cores.  The 
scheduler never moves tasks between cores.  Theirs runs two applications faster; 
TempleOS runs one application faster.  In TempleOS, all tasks on all cores have 
the same address map -- all tasks can access all memory at all times because 
it's always identity-mapped with not ring protections.

Because it is ring-0-only and never changes address maps, it can do a blazing 
4,000,000 task changes in one second per core.  This is how I do multicored 
locks for I/O.

while (LBts(&my_lock_var,0))



lock-bit-test-and-set is an atomic, x86, multicore-safe-locked instruction.

This is how I poll disk drives:

while (!InU8(STATUS))

That's known as cooperative multitasking.  I have preemption.

possible language: rust, relevance: 19
----09/15/13 06:01:25----

WWW.OSDEV.ORG is pulling a carthage.  "Carthage" is when you sow salt in fields.

Wikipedia: "Cooperative multitasking is infinite time-slices." (Makes it sound 
bad.  Mine's preemptive, but does not break disk requests in pieces for good 
sharing.  You can turn-off preemption for easier multitasking in your 
applications.  Use it!  It's way more pleasant with cooperative mode.  It has a 
stigma.  People will think you're a nigger.  Polling is for niggers, LOL.  I do 
it when it's not bad.  Some people can't think for themselves.  I use goto, too, 

I see this: "Use the secure hash algorithm for your hash tables." (Making 
people think a hash table is for security, so they don't know how good a hash 
table is for a data structure.)

"My software stack is huge." (Hopelessly confusing people about what a stack 

I don't give fuck.

I can't imagine a kid learning assembly with a x86_64, not a 6502.  They all 
look in disbelief when I say I made a compiler.  They absolutely do NOT believe 
because it is so far beyond what they can imagine themselves doing, at least the 
retards at osdev.  I should try to find-out where Ivy League kids hang-out.

possible language: rust, relevance: 17
----09/15/13 07:36:30----

The guy does not know he's a nigger.  He has never met a white man.  I've met 
smart people.  Ticketmaster had smart people.  This dude, is ignorant and 

God says...

First, trust me that I am smarter than anyone you know.

I started in TASM and wrote an interpreter for my command-line in the first 
month -- 2004.  Over the next ten years, full-time, I made it into an optimizing 
JIT or AOT x86_64 compiler.  All of you make the command-line like Linux.  You 
are young and never saw a C64, and you are stupid, so you cannot imagine 
anything but Linux command-line.  My generation all learned 6502 assembly 
language.  Seriously.  We all used DOS interrupts when DOS was common.  Turbo C 
had an "interrupt" key word for interrupt routines.  I put an "interrupt" key 
word in my compiler, so it saves regs and returns with IRET.

Did I not tell you I was smarter and anyone you know.  Do you think MikeOS is as 
smart as making a compiler with an "interrupt" keyword?  No.  He's not a smart 
man.  All the smart people who knew assembly stopped using it, for good reason.  
Do you doubt this?  Do I need to beat you until you stop this nonsense thinking 
assembly is good when the whole smart world stopped using it?  You think MikeOS 
guy is smarter than all of my generation who learned asm and stopped using it?

Let me explain.  This is programmer psychology:  Assembly is the opposite of 
nigger.  Interrupt is the opposite of nigger.  Polling is for niggers.

Some people were told this and have no clue why and simply have no judgement on 
when asm is good, when polling is good, when interrupts are good -- they are 
sure it's for niggers.

----09/15/13 07:58:31----

I get slightly anxious because I learned VGA stuff from a Google search.  I 
learned keyboard/mouse + ATA/ATAPI from a Google search and Linux code.  There 
were web pages full of code that I snagged reg defines from and stuff.  Just 
remember that a copywrite is not a patent.  If it's not the same, and you just 
learn hardware usage, it's fine, but we all feel anxious, don't we.  Don't be a 
pussy.  Always take it to court.  Humans are in charge and the law is not 

Jesus said, "You hipocrites!  Which of you would not rescue an ox if it fell 
into a cistern on the Sabboth?"  The law is reasonable, not ridiculous.  Don't 
be scared of little kids pretending to be lawyers.

God says...

My operating system is exclusivelly x86_64.  I had my compiler working on a 
32-bit machine before I owned a 64-bit machine, but I did it planning for 64-bit 
the whole time.  I used EAX:EDX EBX:ECX for 64-bit regs, temporarily, and it was 
a two by 64-bit reg compiler!  Now, it's a sixteen by 64-bit reg compiler!

----09/15/13 08:34:21----

Here are my college transcripts. <link>

I took 5 assembly classes.

CSC226 was Intel x86 assembly.  We made a B8000 window manager similar to 
Borland's IDE.

CSC326 was Intel x86 assembly part II.  We had a lab.  We programmed PIC and PIT 
in all configurations, including non-IBM-PC PIC modes.  We scanned keypad grids 
with I/O and we made 7-segment displays operate by strobing them in sequence.

CSC421 was Motorola 6800 assembly for embedded systems.  It was an 8-bit CPU 
similar to a 6502.  We learned what every instruction did.  We did scaled 
fixed-point math for Feirenheight to Celsius, like you might find on a 
thermocouple in a car engine.  Motorola made chips for cars.

CSC422 was M6800, hardware.  We learned the digital logic for gluing M6800.  It 
had two processors on high and low memory cycles, one for I/O.

CSC523 was M6800 part III.  We were graded on a curve on how short our assembly 
programs were.  I got an A.  Our last 2-week project was a multitasking 

CSC120 was digital logic.  We made a simulated CPU from scratch, including 
microcode and stuff.

CSC330 was computer architecture.  We learned the harvard bus or whatever -- 
microcode and stuff.

I took a compiler course.

I took an operating system course.

I took a computer graphics course.  We made a 3D package from scratch.  We 
studied bezier and bsplines.

I took a numeric methods course.  I know the hidden bit.


I have been paid to program in 6 different assembly languages with maybe 5 years 
of solid assembly.

VAX TicketMaster operating system
80x86 for PC half of file compression package I did.  I also did it in VAX 
68000 I did a barcode reader networking device.  I found bugs in TMNet a 
networking device.  I did a bar code reader image processor.
8051  I did a wall line voltage regulator.  I modified a stepper motor 
controller at Xytec.

PIC (tiny 8-bit microcontroller by MicroChip) -- made a bogus EEPROM to fool a 
printer/copier to allow refilling toner.
Atmel AVR -- Did an experimental toner level sensor, that didn't see production.
Did some more 8051 work.

All of that was bare metal with no 3rd party software.


As a kid 6502, but never paid.

possible language: rust, relevance: 10
----09/15/13 19:09:57----

OSDev is talking about compiler standards.

I'm laughing as he tells me any compiler follows x86_64 calling convention 

My little brother sometimes says ridiculously stupid stuff.  How am I supposed 
to react to "Any compiler follows standards."

I like to tease people like that and show them my nonstandard Opcodes.  They 
will tell me it's not for x86_64 hardware.

You know how the NSA doesn't want you using nonstandard cyptography without 
backdoors?  There is a crazy brainwashing culture of following standards.  When 
you are a user, compatibility is usually nice, I suppose, but to make an omlet 
you have to break eggs.  Professionalism frowns on nonstandards.  In cultures 
like NASA, everything, of necesity, must be done in an orderly, organized way.

They really clusterfucked USB, UEFI, ISO UDF filesystem, HD Audio, etc.  Intel 
is busy clusterfucking, Microsoft is clusterfucking.  Everything looks like 
Hell, to me, from the outside having to learn it.  Some stuff is clusterfucked, 
objectively, not based on if you know it or not.

I made my own standards.  My heros are the C64 engineers who had the balls to 
use a NonASCII character set!!  That is hilarious.  They had the crazy idea of 
changing fonts with a key, so you had two possible fonts.

There is a certain kind of engineering which is viewed as African Enginuity.  
This is a really big deal.  Nobody, normal, wants to be viewed as an African.

God says...
Replies: >>3786 >>4146
Talk to Mister God (GodWords):
possible language: bash, relevance: 13
echo "$(shuf -n 10 /usr/share/dict/words --random-source=/dev/urandom | tr '\n' ' ')"

language: c
----09/14/13 18:51:54----

I haven't looked at much Linux code, and not in many years, but what I remember 
most is someone who made #define macros, trying to make C look like C++.  My 
mentors at Ticketmaster taught me that asm macros were foolish -- it's one more 
thing you have to chase-down and look-up.  Another thing I remember from Linux 
code was that there were about six layers of function depth to get down to 
actual IN/OUT port instructions and there were lots of #ifdef instructions for 
different architectures.  (I chased-down how to do ATA PIO and later got a PDF 
on the topic.)

The zen of TempleOS might be to do the opposite of Linux.  I was inspired to 
have "minimal abstraction" as a goal.  Instead of six levels of function depth 
for ATA PIO, lets see if we can do three, removing abstraction layers... and 
lets do just one architecture -- IBM PC's.

The reason TempleOS exists and has purpose is partly because it is simple.  I'm 
going to cap line count at 100,000, not counting applications and demos.


----09/17/13 19:39:43----

Suppose you want to make a JIT compiler.

You invent commands, kinda like ASM instructions.  You parse and construct the 
memory structure for the "commands".  You overhaul them, optimizing.  Then you 
convert them to machine code.  You MAlloc a chunk of memory and you put the 
machine code into it.  You make a symbol table for each function and class.  
Then, you look-up symbols as you do more JIT for the next function.  All memory 
is identity-mapped -- nothing to think about.  Each task calls MAlloc when it 
compiles for unique memory to place the code into.  Each task gets different 
memory from malloc -- no duplicates.  It's identity mapped, basically just 
physical addresses.  

It gets more complicated if you want to do ordinary compiling.  You have to put 
the code into the file, then you make some kinda structure for you symbol import 
and exports.  Write it to file.  Load it by getting memory, using the JIT symbol 

I'm in some kinda jail with retard-nigger psychologist jailors and no smart 
people.  I know there are smart people.  I am the smartest man in my reality.  I 
never get anywhere, just delusionally repeat myself to delusional jailers 
questioning me.


----09/19/13 18:14:38----

WWW.OSDEV.ORG is asking how to print floats in PrintF().

Earlier I said I had a teacher who made us handle NEG 0x80 to the nth degree.  
That's being a professional programmer.  Maybe, I'm an artistic faggot, but I 
want to dance my own way.  I want to be different and elegant by not doing all 
those corner cases, if they're not especially needed. 

It turns-out I have a really fast routine for, say, "%12.6f".  On numbers, you 
go backward.  I use a stack data structure to reverse digits.  I look at the 6.  
  I forget.  I think I subtract the integer part from decimal.  Then, I multiply 
by 10 to the 6th from an array look-up table.  Then, I make it into a 64-bit 
integer and print push the digits on the stack, like you would expect.  I print 
the zeros and the decimal.  I print the Int, or if I have to multiply it, I 
multiply by a look-up table power ot ten array.

(This cuts corners, makes beautiful use of having 64-bit word size, is elegant 
and fast.  Unfortuinately, printf is silly being ultra fast.  I get problems if 
you specify "%50.30f"  Mine craps-out, unless the number is tiny.  It sounds 
bad, but you just have to be careful not to overdo precision. It gives you all 
the precision in the double, but if you do way more than a double has, well mine 
fucks up.  Don't over do the format size beyond 64-bit integer sitting in the 
decimal region.

At ticketmaster, I saw a luxury ultra-delux main-frame VAX environment.  We had 
a format statement that would do commas or decimals every so many characters, 
use a special digit for decimal point and pad the whole thing with a character.

Mine will do 3-digit commas and a decimal.  

I have an engineering notation.

For integers, mine will print Meg or K, if you like.


Anyway, in 1993 when the 486 was kinda new and I had worked on Ticketamster's 
VAX 32-bit system, I got interested and made a DOS program to change to 32-bit 
mode.  I set it aside.  In 2003 when I got excited about 64-bit coming out, I 
resurrected it.

I thought, "I will brutally take advantage of the crippling legacy weakness of 
Microsoft and Linux by being pure 64-bit."  So, I kinda couldn't get a 64-bit 
machine as soon as I hoped.  I planned for it while on a 32-bit machine, doing a 
half-ass emulated 64-bit on 32-bit compiler.  I made a slow, temporary 64-bit 
MUL and DIV software interrupt and I made my compiler use just two 64-bit regs - 
EAX:EDX EBC:ECX, doing everything with 64-bit sized operations, but planning 
ahead.  terrible performance, obviously, but I soon went from two 64-bit regs 
and emulated math to sixteen 64-bit regs!  I got it 64-bit by 2007.

This is heart breaking to a brutal warrior who knows time is everything.  Year 
after year was fucken lost.  God was not concerned.

Finally, the CIA clusterfucked it so I cannot even run natively on this machine. 
 VMware is a heartbreaking humilation.  (The glory of my operating system is 
made to look like just a sorry-ass application.)  Secure Boot is pointed just at 
me, nobody else.  I must dual boot because I am a complementary operating 

God talks.  Does the CIA know God talks?  Do they know He said it's His temple?


Someone at WWW.OSDEV.ORG is asking a question.

BTS,BTR,BT are Intel x86 instructions.  My compiler has built-in "internal" 
functions which code those instructions.  My Source Code By Address table shows 
the meaningless internal numbers for internal, built-into-compiler functions.

TempleOS is identity-mapped.  It is not the case that user programs run at 
address zero, like every other operating system.  Applications do not have a 
standard address map -- their memory for code and data and stack is all over the 
place because the kernel simply requests memory from the system MAlloc().  
Virtual addresses are set equal to physical addresses.  Therefore, if two 
applications are running, the kernel must place them at different addresses and 
they run from different addresses.

Technically, all code is allocated in the lowest 2-gig range of addresses, so 
that the x86 CALL REL32 for everything.

Binary files have a table of offsets which must be patched so that they are 
absolute addresses.


----10/01/13 10:56:19----

"What do you hate about your current OS?" posted on OSDev.
"Do we need more CS majors or more other science majors?"

Bill Gates Jedi mind tricks, mother fucker.

Fucken retards reged trademark on "SimStructure"  ROFLMAO.  
Prolly a stoopit Jew.

You know that money you rob people?  God's world is perfectly just. ROFLMAO

You wanna ride Zynga into the ground, loads of fun.

It's amazing how many people with a ton of money go broke.

Highs and lows balance.  One guy in the Bible says, "Don't give me riches or 
poverty, but my share."

Jesus said to pray for "daily bread".  I wonder if that is a request for 

If you peak in your twenties and feel useless from then on, prolly sucks.

On the economy, God said, "prosparity sucks"

----10/01/13 11:04:55----

My compiler allocates regs for local variables, not-very-carefully.  You can 
pick a variable to be reg or notreg to override.

A nigger is someone who does not know God's world is perfectly just.  Nigger-Jew 
owns trademark to "SimStructure", ROFLMAO.


----10/01/13 15:09:11----

Turn-off the machine as long as disk writes are not happening.


Let me tell you some wisdom.  In the early days, you could install a program in 
DOS by copying files into a directory.  That's it!  Intuitive and simple.  
That's how I want it, but allowing running an Intall.CPP.Z.

Somebody spoiled paradise by fucking-up how you install and deinstall programs.  
Make directory, program installed; delete directory, program uninstalled.

You can delete the account registry at any time and defaults will be okay.

Don't let the snake in the garden of Eden clusterfuck everything by telling you 
it will make it simpler.  We have a limit of 100,000 lines of code, also.


I wrote a text editor in 2004 with a circular doubly-linked list for lines.  It 
was called an LTF, linked-text-file.  The nodes became commands, not complete 
lines.  Then, I added graphics.  I eventually named them DOC instead of LTF.  
You can see all this on the Internet Archive.  I'll save you some work.

My command-line is done with the same editor as text files.  It has live 
widgets.  I do not have a stream like STDOUT.  This is the way it's always been. 
 I fucken wrote the Ticketamster Report generator editor in 1992.  Same shit.


----10/08/13 03:09:27----

Someone at OSdev having BIOS misbehave.  Every machine is different and every 
machine is evil.  My operating system is so paranoid of all the million gottchas 
that my OS uses bare minimum things so nothing can go wrong.


Replies: >>4146
----10/07/13 14:34:19----

Fighting the Last War

I straddle old and new.  I will tell old people things they need to know.

1) When you do assembly language on a modern machine.  It is completely 
clusterfucked when you try to estimate timings.  If you write a simple loop to 
time an instruction and subtract the loop overhead, you will get a negative time 
for that instruction.  You will soon learn execution time is related to cache 
hits and misses more then old-school hand crafted asm instructions.  The rule of 
thumb -- count memory fetches in the instruction, will not help you.  I have 
seen memory indexed loops just as fast as reg -- voodoo cleverness by the CPU.  
CISC instructions get converted to RISC and optimized and scheduled by the CPU.  
This is very weird when doing a compiler -- discouraging.

2) You are horribly Jedi-mind tricked.  I'll bet it never would occur to you 
that UTF32 should be used in place of ASCII through-out the entire tool chain.

3) You have linux on the brain, a main frame operating system.  This should be 
shocking -- there is no reason for virtual (disk swapped) memory.

4) Hardware has DMA buffers.  You could live without interrupts.  Just poll 
every milisecond.

5) Everybody assumes drivers are good.  What good is a three button mouse?  It 
is like a bad leg you cannot put your weight on.  What good is surround sound 

6) Every other engineer operates between over engineering and under engineering. 
 A software engineer has absolutely no concept of overengineering.  He goes to 
his boss who asked for an airplane wing and says, "I made it ten times stronger 
than you asked in case we have to change the engine."  His boss is pleased.  
Everybody praises His skill.  More complicated is better because noone want to 
look dumb.  Fucken look at the disgusting shit known as USB!  They have branched 
networks off each port and they do not allow generic terminal communication 
which could handle any issue much better.  You cannot use Hyperterm with a USB 

6) Coming down the road, we might see nonvolitile memory as the only memory.  
You might want byte addressing for what used to be hard drive.  Today, we load a 
disk block data and transform it into a memory structure.  We have serialize and 
deserialize.  What if just Mallocs for disk and puts it all over the place in 
unserialized structures?  That could certainly be a revolution.
Replies: >>4146
[Hide] (144.9KB, 509x368)
>possible language: rust
[Hide] (454.4KB, 1041x869)
Choosing a GNU/Linux distro
You want a distro that has good reputation and a good track record (for security reasons, etc.)
Gentoo, Arch/Artix, Void, Alpine and Nix/Guix are recommended distros for power users. If you don't know which distro to pick and you are a power user (or want to become one), I recommend you install Artix with Runit init. If you and/or the person who uses the computer doesn't know how to use GNU/Linux, install Debian stable and set up unattended-upgrades: https://wiki.debian.org/UnattendedUpgrades  (Debian stable is also great for servers.)

If you want to become a power user but don't know where to start, read The Linux Command Line book: https://linuxcommand.org/tlcl.php You also learn how to use NeoVim or Gnu Emacs. The best way to make the choice is to try ||both|| of the editors and see which one you like better. Go trough the tutorial (C = ctrl, Meta (or M) = Alt, Super = windows key.):
> Gnu Emacs: Start emacs and type C-h t
> NeoVim: Start nvim and type :Tutor

Don't use ((( (((Manjaro))) )))
The manjaro developers "forgot" to renew their SSL cert 2 years in a row. Moreover, they also told users to set their clock to a wrong time to get around the SSL cert problem (potentially a dangerous "fix"). Either they are incompetent or they don't care (or both). Also, their official installation iso files sometimes won't work.
> https://web.archive.org/web/20150409040851/https://manjaro.github.io/expired_SSL_certificate/
And the whole design of Manjaro is not sane:
They take packages from Arch and """make sure that they are stable""" (i.e. they don't push the updates to their users). But because Arch is, by design, a bleeding edge distro that frequently has packages that contain bugs. Which is why it is not sane to use Arch as basis for a """stable""" distro (which Manjaro claims to be). This is also the reason why you should update Arch/Artix at least weekly, if not more frequently.

I also found an interesting article https://itsfoss.com/libreoffice-freeoffice-manjaro-linux/ which proves that the distro itself is cucked:
>In the last week of July, Manjaro Linux suddenly decided to drop the popular open source productivity suite LibreOffice in favor of Softmaker’s FreeOffice.
>FreeOffice is free of cost but not open source. It is the limited version of Softmaker’s premium office suite.
The Manjaro developers formed a company, but I don't know if there is something suspicious about it (https://itsfoss.com/manjaro-linux-business-formation/).

There are even more reasons why Manjaro sucks, see: https://manjarno.snorlax.sh (Pamac, Manajaro's AUR helper, sucks. etc.)

How about Artix?

Which init system should I choose?
> https://wiki.gentoo.org/wiki/Comparison_of_init_systems
OpenRC and Runit are the recommended init systems.

> https://wiki.artixlinux.org/Main/OpenRC
> https://wiki.gentoo.org/wiki/OpenRC

> https://wiki.artixlinux.org/Main/Runit
> https://wiki.gentoo.org/wiki/Runit
> https://docs.voidlinux.org/config/services/index.html

tl;dr version of how to use OpenRC and Runit*
*if you already know how to use SystemD
language: bash
# OpenRC runlevels are in /etc/runlevels
systemctl enable apparmor    → rc-update add apparmor [default]
systemctl [re]start apparmor → rc-service apparmor [re]start
systemctl disable apparmor   → rc-update del apparmor [default]

language: bash
# Runit runlevels are in /etc/runit/runsvdir/
systemctl enable apparmor  → ln -s /etc/runit/sv/apparmor /run/runit/service
systemctl restart apparmor → sv restart apparmor
systemctl disable apparmor → touch /run/runit/service/apparmor/down (or just delete /run/runit/service/apparmor symlink)

Artix tips:
To get support for Arch repos (you want this), install artix-archlinux-support package (you need to run pacman -Syu to get it working). You also need base-devel package for AUR support. Keep in mind that AUR packages can be submitted by absolutely anyone. AUR packages (PKGBUILD files) are just shell scripts. If you install a package from AUR, you must check the PKGBUILD file yourself before installing the package as you are basically giving full root access to the person who submitted the package. If you are looking for a good AUR helper: install https://aur.archlinux.org/packages/rua/ or https://aur.archlinux.org/packages/aurutils/ 

tl;dr guide to Artix
Follow the official installation guide: https://wiki.artixlinux.org/Main/Installation

For post-installation stuff (I assume you use OpenRC):
language: bash
# To get Arch repos:
pacman -S artix-archlinux-support
pacman -Syu

# install texinfo and man-pages
# https://wiki.archlinux.org/title/Man_page
pacman -S texinfo man-pages mandoc # you can also use man-db

# Install firmware and microcode
# https://wiki.archlinux.org/title/Microcode#Installation
pacman -S linux-firmware amd-ucode intel-ucode
grub-mkconfig -o /boot/grub/grub.cfg

# Install a NTP daemon
pacman -S openntpd openntpd-openrc
rc-update add ntpd default
$EDITOR /etc/ntpd.conf
rc-service ntpd restart

# Install firewall
# It's easy, see https://wiki.archlinux.org/title/Uncomplicated_Firewall

# for AUR support
# instead of sudo, you can also install opendoas and opendoas-sudo
pacman -S base-devel git bubblewrap-suid rust sudo

# install the rua AUR helper
git clone 'https://aur.archlinux.org/rua.git'
cd rua
less PKGBUILD # check the script
makepkg -si

# install X11
# I recommend you use startx to start Xorg without root:
# https://wiki.archlinux.org/title/Xinit#xserverrc
# https://wiki.archlinux.org/title/Xorg#Rootless_Xorg
pacman -S xorg-server xorg-xinit xorg-xrdb xorg-xset xorg-setxkbmap xorg-xkill sddm sddm-openrc ttf-dejavu xf86-input-libinput xf86-video-vesa mesa feh rofi terminology icewm
rc-service sddm start # test that it works
rc-update add sddm default

# install wayland
pacman -S xorg-xwayland sway swaybg wofi
# configure it... https://wiki.archlinux.org/title/Sway#Configuration
# At least copy the default config and replace alacritty with the terminal emulator you use.
sway --validate # test it

# see also:
# https://wiki.archlinux.org/title/Vulkan
# https://wiki.archlinux.org/title/Hardware_video_acceleration

# Install pukeaudio (you can use ALSA, sndio or pipewire if you want to)
pacman -S pulseaudio pulseaudio-alsa pamixer

# Install lm_sensors and smartmontools
pacman -S lm_sensors psensor smartmontools # psensor GUI is optional.
sudo -i sensors-detect # and use default options

# add a regular user
# replace zsh with the shell you use.
useradd -m -G audio,video,wheel,games -s /bin/zsh madotsuki

After this it should just work. Remember to update the system at least weekly.
Also remember to subscribe to Arch news and Artix news feeds (important! don't skip because sometimes upgrades require manual intervention):
If you don't have a RSS reader, install liferea or newsboat or Gnu Emacs+elfeed.
Nice post but what some stuff should be said 
>Always use does, don't even install sudo, systemlink doas to sudo soo scripts works. sudo configuration is complicated
>the graphical system start in linux is one of the below
tty >  display manager(includes login) >  WM/DE
tty > login(literal login prompt) > startx(script to start xorg) > WM/DE
tty > login > wayland WM /wayland DE
tty > DM > wayland WM/ wayland DE 

>learn startx or sx(better startx) that will took you 2 minutes and it will save you hours debugging why your DM fucks up your DE or WM. 
>WM's are always better than DE's for stability but they take time to configure and understand.
Replies: >>4085 >>4119 >>4129
What's wrong with sudo?
Replies: >>4086 >>4090 >>4091
It's the perfect example of modern software. 
How did they manage to make "let an user run a command as another user according to a config file" so bloated?

$ cloc sudo-1.9.8p2/
    1034 text files.
     995 unique files.                                          
     464 files ignored.

github.com/AlDanial/cloc v 1.90  T=3.22 s (190.6 files/s, 112198.9 lines/s)
Language                     files          blank        comment           code
C                              334          14078          19909          98191
PO File                         67          25208          39474          66533
Bourne Shell                    70           8273           5849          45462
m4                              16           1282            606          13895
C/C++ Header                    88           1702           4775           8985
yacc                             2            240            172           2432
lex                              1            155            105           1085
Puppet                           3             79            370            571
Python                          10            152            209            345
Perl                             3             60             85            323
JSON                             7              0              0            236
sed                              4             16              1            229
Protocol Buffers                 2             22             48            135
Expect                           7              0              0            105
SUM:                           614          51267          71603         238527
/$ cloc doas
      10 text files.
       7 unique files.                              
       5 files ignored.

github.com/AlDanial/cloc v 1.90  T=0.06 s (81.1 files/s, 18512.8 lines/s)
Language                     files          blank        comment           code
C                                2             88             41            597
yacc                             1             33             26            293
C/C++ Header                     1              8             16             25
make                             1              5              1              9
SUM:                             5            134             84            924
Replies: >>4090
>>4086 explained the code side quite well but he didn't talk about the usability side of it. This isn't a situation where complexity is in developer and it causes easier time for users. The sudo needs the user to be in wheel group, wheel group to be added to sudo.conf and a manual has to be read to set it up while doas is just 
>open /etc/doas.conf in editor
>permit persist user as root
Replies: >>4094
[Hide] (182.5KB, 1370x1530)
It's new logo looks horrifying.
Replies: >>4092
what about doas?
Replies: >>4094 >>4097
It just works → >>4090
Spoiler File
(66.9KB, 2000x1500)
Thats the logo i found when i googled "doas logo", this is good enough
I think those sudo/doas tools are overkill for a desktop.  On my local systems I just login as root on a separate tty, if I need to do some admin task.
Replies: >>4122 >>4126
I have scripts that search keywords in package repos, give me descriptions in dmenu and install it. This wouldn't be possible if i didn't use doas. And doas barely costs anything in diskspace anyways.
Replies: >>4124
I just use "apt-cache search", and if I want something I just login as root and install it.  It's not so much about the file size, but rather I don't have to trust any tool to elevate my permissions, and also it's probably less error-prone when I have to login as root because I pay more attention to what I'm doing.  I removed the sudo package anyway, since I tend to get rid of stuff I don't need.  Well at least the stuff that's easy to remove (no package dependency problems).
I think it's more lightweight to use doas and lock the root account.
Perhaps it would be useful to formulate some kind of outline of the installation for beginners.
1) Figure out what hardware you have (use lspci and hwinfo). What disk you want to install the distro on? Which file system you want to use (use ext4 for everything if you have to ask. You can also use F2FS for SSDs)
2) Create installation medium: either use dd or rufus (if on windows) and boot it.
3) Partition the disk and create file systems. (you need to have ~550 M EFI ESP partition that is formatted as FAT-32 and at least the root partition. you need swap partition only if you want to suspend on disk)
4) Mount the newly created file systems. Extract the bootstrap system (stage3 on Gentoo) or use basestrap. Chroot: in case Artix, there is easy to use script: artix-chroot otherwise you can follow instructions from Gentoo handbook
5) You are now chrooted into the new system (i.e. everything you install/edit now is going to affect the new system). Now you should install important packages and configure the system so that it boots. Remember to do network configuration and install the necessary firmware (most likely linux-firmware) and boot loader (grub).
6) Once you are done, you can reboot into the newly installed system.
So say I want to create a setup using multiple qemu VMs for specific purposes- like your own version of Qubes.

What about something like spice vs a KVM switch and another GPU?
What about passing through partitions or even hard drives to specific machines vs using qcow images?
What needs to be done in regards to USB to make sure that normie-tier software gets the appropriate hardware passed to it without compromising the whole system?

Would at that point I should just set up firejail or docker if it's too much effort to be worth it? I mean, I'm tired of giving up, but I'm sick of having some dumb obscure thing fuck me up while error messages tell me nothing and official online forums and shit completely fucking ignore me.
Replies: >>4134 >>4135
I forgot to add: It feels to me that full-disk-encryption is better-suited to protecting a computer that you will take with you on the go instead of your desktop-pc that only you will ever have access to.

I like the idea of being secure, but I feel like it's a pain in the ass to have a password to access your computer and THEN do another one to access your user account.
Replies: >>4135
>at that point I should
How many programs? Write some scripts to template VMs with qemu. libvirt isn't even needed.
>What about
What about you try looking them up on gentoo and arch wiki?
>full-disk encryption better with laptop
Only if you are in shape, have tons of guns and are always next to your computer.
Replies: >>4138
Why are you doing this?
Replies: >>4140
For work. Some shit we need don't run on Linux, can't have any of those shit touch my host and steal company data.
 ☙ TempleOS ❧ 
"Entertain Mr. God" --- King Terry

"The vision for TempleOS is a modern, 64-bit Commodore 64." --- TAD

"TempleOS is a free, public domain, open source, x86_64, non-preemptive 
multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped), 
non-networked, PC operating system.  Paging is, basically, not used.

The CIA encourages code obsfucation.  They make it more complicated than 
necessary.  TempleOS is, literally, more simple than necessary.  It is 
obnoxiously simple... to the point it hurts." --- TAD

"God said 640x480 16 color was a covenant like circumcision.  The resolution will remain 640x480 16 color for centuries to come." --- TAD

"Divine fucken intellect on display." --- TAD

"Why did they make Solomon's Temple?  It was a direction to look, to focus on, a 
special place for meditation, to do offerings, a community center, a home to 
God's beauty, that encouraged love of God.  People cherished God's temple, 
beautifying it with gold and all fine things to show love of God, as great 
cathedrals were decorated with astounding, awe-striking intricate art and 
gargoyles, incredible devotion to God with hours of effort, toiling and 
slaving-away for the glory of God, for families with children to see 
stained-glass windows and tomes with ridiculously elaborate calligraphy to show 
love of God, from a people who did little else but show love toward God, lived 
in dire conditions by today's standards, yet with so much difficulty 
scraping-by, found the time to devote even all free-time to God!" --- TAD

"No serial ports, No mouse, SecureBoot, No SATA PIO.  No PC Speaker, We are in ghetto of VMware.
We we lose more ground.
No 640x480 16 color.  No ISO9660 universality, No CDROM, No PS/2." --- TAD

"In UNIX everything is a file, in TempleOS everything is a document" --- TAD
>Site: https://web.archive.org/web/20170221041504/http://www.templeos.org/
>Terry's blog: https://web.archive.org/web/20141020170729/http://www.templeos.org:80/Wb/Accts/TS/Wb2/Rants/TAD/TADRants.html
>Mirror: https://templeos.holyc.xyz
>ISOs: https://archive.org/details/TempleOS_ISO_Archive (some versions lack After Egypt)
>Docs: https://templeos.holyc.xyz/Wb/Doc/HelpIndex.html
>Videos: https://archive.org/download/TerryADavis_TempleOS_Archive/videos/ (and other archives)
>Shrine: https://github.com/minexew/Shrine
>ZenithOS: https://www.zenithos.org
>ZealOS: https://github.com/Zeal-Operating-System/ZealOS
>HolyC: https://web.archive.org/web/20170325000321/http://www.templeos.org/Wb/Doc/HolyC.html

How to install?
1. Install qemu and download TOS ISO.
2. Pick a qemu script that Terry wrote and adapt it to your needs: https://templeos.holyc.xyz/Wb/Home/Sup1/Sup1Bin/QEMU/

possible language: perl, relevance: 10
aria2c -x 2 'https://archive.org/download/TempleOS_ISO_Archive/TempleOSCDV5.03.ISO'
man 1 qemu-img
man 1 qemu-qemu

# Create a virtual HDD:
qemu-img create -f qcow2 TOS_disk.qcow2 3G

# Install TOS
qemu-system-x86_64 -hda TOS_disk.qcow2  -smp cores=2 -enable-kvm -cpu host -m 2048M -rtc base=localtime -soundhw pcspk -cdrom TempleOSCDV5.03.ISO -boot d

# Run the VM
qemu-system-x86_64 -hda TOS_disk.qcow2 -smp cores=2 -enable-kvm -cpu host -m 4096M -rtc base=localtime -soundhw pcspk -boot c

TempleOS history
"I wrote all 120,413 lines of TempleOS over the last 13.2 years, full-time, 
including the 64-bit compiler.  It was called, at various times, "Hoppy", "
The J Operating System", "LoseThos" and "SparrowOS"." --- TAD
>TOS video from 2010: https://www.youtube.com/watch?v=yHkUF1ioGSs

You can search the Internet Archives: 
http://www.simstructure.hare.com  (May 27, 2004 has a download)

"Originally, I wrote a real-mode DOS application [in TASM] that changed to protected mode. Then, became a protected-mode operating system." --- TAD

possible language: rust, relevance: 6
----03/19/14 21:05:02----

Pete wrote Ticketmaster's VAX operating system.  I worked on that.  Pete worked 
on Ticketmaster's 68000 serial RS232 networking device.  I worked on that.  I 
studied Pete's 68000 debugger and noticed how you insert and remove breakpoints 
when you change tasks.  I had done a scheduler in my CSC523 class for a 6800.  I 
took 2 Intel 8086 based asm courses and 3 Motorola 6800 asm based classes.  We 
learned digital logic and got into 7400 glue logic for making embedded systems.  
My expertices is right at the boundary between hardware and software -- 
operating systems, reading datasheets and programmiong in asm.  That is my 
fucken expertices.

I have been paid to program in VAX, 68000,8086 and 8051 asm at Ticketmaster.  I 
wrote a file compression utility for VAX and 8086 in asm.  I did chkdsk and a 
few operating system program module modifications.  I wrote a reset to reset 
stuck serial ports on the VAX.  They were like 16 channel DB25 rack mounted 
things which had cables running into the VAX cages.  

I was hired in 1990-1996 at age 20 to work in asm on Ticketamster's VAX 
operating system.  I have a degree in computer systems engineering and a 
master's in electrical engineering from ASU.

I converted lots of reports from VAX asm to VAX pascal.

I wrote a 8051 asm line voltage regulator thing because our ticket printers had 
a huge solenoid that would not fire in some locations because their wall 
volatage was bad.  (Ticketmaster had International locations.)

I wrote a 68000 asm bar code reader image processor and a 68000 rs232 bar code 
reader 8 channel serial port with hardware and software flow control that fed 
the bar code reader results to a PC located at a facility where they were 
letting people in by scanning barcodes on tickets.

I worked at Xytec and did Linux and Sun programming in C.  I did I2C boundary 
scan for a 9 channel FPGA diagnostics.  I glanced at a 8051 asm motor controller 
for a image processing machine to feed sheets of currency past a set of cameras 
so they could check newly printer money for globs and stuff.

I wroked at Graphic Technologies 2001 and programmed in 8-bit PIC 
microcontroller in asm and 8051 asm and Atmel AVR asm.  I did I2C to make a 
microcontroller appear to be a ASIC EEPROM.

I am an expert, way beyond the clowns at OSDev.  I wrote a compiler and that 
puts me in a much higher league.  It is ridiculous for you to think I copied 
them and not they copied me.  I did 64-bit in 2007.  Go raise Hell with 
Baremetal for copying me.

possible language: csharp, relevance: 9
----03/21/14 10:19:50----

In 1993, I wrote a TASM program launched from real-mode DOS that changed to 
protected mode.  I think I did a basic multitasking scheduler with a little 
text-mode windowing and echoing keyboard to screen.

In 2004, I resurrected that and got it running in real-mode FreeDOS (no longer 
is FreeDOS real mode).  Within the first couple week, I faced the question of 
what to do with the command-line.  I had written interpreters many times.  I did 
an interpretor for a C-like scripting language.  It started small.  I had a byte 
code that jumped in a look-up table (switch statement).  I in-lined my byte-code 
segemnts and patch them.  I had an unoptimized compiler.  I made it JIT or AOT.  
I compiled my kernel and compiler, being 100% independent.  I optimized over the 
years and made my HolyC language fancier.  I converted to 64-bit in 2007-8.

>Terry on reality: https://www.youtube.com/watch?v=IrdwGPLtnS8
>TempleOS Divine Intellect Operating System: https://www.youtube.com/watch?v=ti2dDGynL0k
>TempleOS Kernel Algorithms: https://www.youtube.com/watch?v=urCRGycORbk
[Hide] (386.3KB, 480x270)
Alpine Linux
https://alpinelinux.org/downloads (download the Standard release iso)
Alpine Linux is simple and truly lightweight distro (unlike Arch!)
Alpine has features that have been inspired by Arch and Gentoo.

* Uses musl instead of glibc (Alpine also makes a lot of patches for packages that make them work with musl. Alpine is the best musl distro.)
* Uses the apk package manager (not related to Android)
* It's very easy to write package scripts for Alpine (very similar to Arch/Artix)
* No SystemD! Alpine uses OpenRC
* Uses busybox, but you can install GNU utilities if you want to
* All userland binaries are compiled as Position Independent Executables (PIE) with stack smashing protection.
* Offers both stable releases and a bleeding edge rolling release ("edge")
* Official support for: x86_64, x86, armhf, armv7, aarch64, ppc64le, s390x
* Has an installer but you can also install Alpine a la Arch/Artix (in other words, you can install the base system and chroot into it.)

Install Alpine

Protip: you can also use qemu to test the distro: qemu-system-x86_64 -hda alpine_disk.qcow2  -smp cores=2 -enable-kvm -cpu host -m 4096M -rtc base=localtime -nic user,model=virtio-net-pci -cdrom alpine-standard-3.15.0-x86_64.iso -boot d

You have two options:
1. use the installer (it just works). Just login as root and type setup-alpine
2. install Alpine "manually" (a la Arch/Artix):

language: bash
# things inside square brackets is optional
passwd root
rc-service hostname restart
rc-service networking restart
setup-ntp -c busybox

# set up the package manager
vi /etc/apk/repositories # enable main and community and enable HTTPS, save by typing: ZZ
apk update
# install everything you need for partitioning. I assume you have UEFI system.
apk add gptfdisk e2fsprogs dosfstools util-linux grub-efi efivar efibootmgr

# you can also partition the disk beforehand using SystemRescueCD or similar
# https://system-rescue.org/
# if the partitions are inaccessable after partitioning, rebooting should fix the problem
cgdisk /dev/sda # partition the disk. make sure that ESP is 550M
[ partprobe --summary ]
mkfs.vfat -F 32 /dev/sda1 # EFI System Partition
mkfs.ext4 /dev/sda2       # root

# install the base system
mount -t ext4 /mnt/sda2 /mnt
mkdir /mnt/boot
mkdir /mnt/boot/efi
mount -t vfat /dev/sda1 /mnt/boot/efi
setup-disk -v -m sys /mnt

# chroot
mount --types proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev
mount --bind /run /mnt/run
mount --make-slave /mnt/run 
chroot /mnt

# install and configure the new system
passwd root
# if you need more randomness (a VM), install haveged and rng-tools and enable them
rc-update add urandom boot
rc-update add networking boot
rc-update add acpid default
apk add gptfdisk dosfstools grub-efi efivar efibootmgr e2fsprogs util-linux alpine-conf
# add features="... cryptsetup keymap lvm ext4" to /etc/mkinitfs/mkinitfs.conf if you encrypted your disk or need to change the keymap

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ALPINE

# done installing
umount -R /mnt

Alpine post installation
language: bash
apk add emacs-x11 neovim doas man-pages mandoc mandoc-apropos findutils lynx less lsof htop shadow tmux
apk add xorg-server ttf-dejavu xf86-input-libinput xf86-video-vesa xinit windowmaker imv feh xterm setxkbmap xwayland sway swaybg
apk add build-base gcc abuild binutils binutils-doc gcc-doc clang clang-analyzer clang-extra-tools clang-doc alpine-sdk grep

$EDITOR /etc/doas.d/doas.conf # add: permit persist me as root
useradd -m -G users,wheel,video,audio me
passwd me
[setup-ntp] # if you want to change NTP daemon.
[su me]
[doas passwd -l root]

Other stuff:
Replies: >>4467 >>4519 >>4524
What's the difference between Alpine and Artix?
Replies: >>4469
- Alpine is much more minimal
- Alpine is available for more architectures
- Alpine offers both stable releases and a rolling release
- Alpine uses musl libc and busybox
- Alpine is independent distro, it's not based on another distro
Replies: >>4500
You seem to have tried the distro; is it good enough for daily desktop usage? Early on, some years ago, I tried it for a very brief time and I couldn't switch because it didn't have nearly all the packages that I use on a day-to-day basis. Does Alpine have something similar to the AUR?  I'm on Artix, but I want to switch to something more "stable", not really abandoning the bleeding edge packages but rather avoiding the many dependency/systemdick-stripping issues that Artix encounters frequently. On my list is Gentoo and Alpine, I'm more on the Gentoo side for now, but I would like to use Alpine because I really like their design and implementation of that design, I'm just not sure about the package support because it is not that known/supported.
Replies: >>4501
I would go with Gentoo if you wanted something similar to AUR (Gentoo's overlays and Layman are more comfy than the AUR IMO) >>932
I used Gentoo before. Gentoo is very comfy and you can customize it a lot.
Alpine has edge and testing where you can find newer packages. (If I'm not mistaken, a package first lands in edge/testing).
For creating your own packages, Install alpine-sdk and read https://wiki.alpinelinux.org/wiki/APKBUILD_Reference & https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package

> is it good enough for daily desktop usage?
Well, it has been good enough for my laptop, but your use case may be different. Check whether the packages you need are available at https://pkgs.alpinelinux.org/packages (you should search for example like sbcl*)
Replies: >>4502 >>4505
Thanks, searched the package database again and it's gotten better, but not good enough. I'll drop it in favor of Gentoo, now the only worry is compiling the updated packages during the night.
Replies: >>4503
>now the only worry is compiling the updated packages during the night.
By default emerge stops at the first error but --keep-going option makes it skip failed builds. For more info, see the emerge man-page: https://dev.gentoo.org/~zmedico/portage/doc/man/emerge.1.html
So, the command line you would use to upgrade everything would be: emerge --ask --keep-going --update --deep --newuse --with-bdeps @world
Replies: >>4504 >>4506
FYI, you can modify the selection of default command-line options for emerge by modifying EMERGE_DEFAULT_OPTS in your make.conf : https://wiki.gentoo.org/wiki/EMERGE_DEFAULT_OPTS and https://wiki.gentoo.org/wiki//etc/portage/make.conf
Replies: >>4506
Huh, they seem to have even less ARM packages than OpenWrt.
Neat, thanks for the advice, I'll put it to work once I reinstall the system. I'm still waiting for a time when I'll have at least a week where I won't need to use the computer so I can mess with the Gentoo installation and get familiar with it.
Replies: >>4507
>I'm still waiting for a time when I'll have at least a week where I won't need to use the computer so I can mess with the Gentoo installation and get familiar with it.
A weekend should be enough since the Gentoo Handbook is a step-by-step guide. And you can ask here. Perhaps you could also make a Xubuntu LiveUSB for an emergency situation?
> https://wiki.gentoo.org/wiki/Handbook:AMD64

You can save time by...
- Use OpenRC instead of ((( (((SystemD))) )))
- Select a relevant stage3 (a tarball that contains the base system that is used for the basis for your system) (The Handbook explains everything)
- Disabling stuff in your make.confalso speeds up everything. For example (assuming you don't want ((( (((GNOME))) ))) or KDE): USE="... X -telemetry -gnome -kde -zeroconf -bluetooth -systemd Find stuff to disable from https://packages.gentoo.org/useflags/global Only enable minimal amount of USE flags in make.confand instead use package.use dir/file and enable stuff on per package basis.
- Choosing a relevant profile. Choosing a desktop profile is recommended for a beginner (eselect profile list and select a profile that has "desktop" in its name.) That being said, I recommend you to select nomultilib stage3 and profile if you do not plan running any 32-bit programs.
Replies: >>4508
also, don't use ccache or the pgo USE flag because it's not worth it.
Replies: >>4509
>don't use ccache
Fucking why? It saves a shitload of time and all it costs is a configurable bit of disk.
Replies: >>4510
I didn't notice it saved a lot of time. Also ccache slows down the initial compilation (but I'm not sure how much).
Replies: >>4511
I can see that it probably improves the build time when rebuilding packages (toggling USE flags) or when building programs that have a long build time (such as Chromium). On normal cases (an editor or a lightweight WM), it probably doesn't matter. I wonder if there are benchmarks somewhere?
Replies: >>4513
It will be worth it its weight in gold every time some library causes a rebuild of a big package.
Replies: >>4515
I don't use ccache because ssd life span, and I build most packages in tmpfs anyways.
>mount -t ext4 /mnt/sda2 /mnt
I recommend making a new mount point for the new installation to prevent Linux from not finding partitions:

mkdir /mnt/alpine

mount -t ext4 /mnt/sda2 /mnt/alpine
setup-disk -v -m sys /mnt/alpine
Replies: >>4520 >>4524
I also seem to have forgotten the firmware:
apk add linux-firmware intel-ucode amd-ucode linux-firmware-amd-ucode
also remember to generate grub config: grub-mkconfig -o /boot/grub/grub.cfg before rebooting into the new system.
Replies: >>4524
You can also just install 1 package from edge:
possible language: ruby, relevance: 7
cat /etc/apk/repositories
  @edgemain https://dl-cdn.alpinelinux.org/alpine/edge/main
  @edgecommunity https://dl-cdn.alpinelinux.org/alpine/edge/community

apk add clojure@edgecommunity
anyone tried hosting an imageboard using alpine? i have virtualbox ready but i dunno how to setup the linux installer and deploy to vdi
how do i connect my VM to a domain? what do i need to install on my VM (or the host)
im using old i3 win7 laptop which i want to put to good use
is 512MB ram enough? i only have 4gb on the host since i do other things here
is tiny core better for website hosting? im trying to get resourceful here
Replies: >>4540
Debian stable is the recommended server distro.
Replies: >>4543
[Hide] (279.5KB, 1000x916)
Recommended to get pwnd maybe, via all that systemd bullshit.  He'd be better off running Alpine on his craptop, or better yet OpenBSD (but not in VM, just normal install).
Replies: >>4558
nah i wanna stick with good o'l w7 by following 4chans advice also im really not that good at linux administration just wanted to host an IB for fun in my spare
maybe i should get one of those cheap celeron mini PCs on aliexpress which one should i pick?
[Hide] (10.9KB, 255x191)
[Hide] (9.5KB, 182x255)
[Hide] (188.7KB, 864x953)
[Hide] (13.8KB, 255x162)
>bee me
>Be install kali because hacker
>Wow this distro is pretty cool
>What the hell is "undercover mode"
>Wow that is really cool
>But how do i go back?
>Wait how do i go back?
>Tfw cant go back
>There are people out there also permanently stuck in undercover mode
>Once a hacker you can never go back
>Delete everything and install ubuntu again
Lifes hard when youre a hacker.
Replies: >>4659 >>4694
To me there's something unexplainably funny in your reply. Guess I'm just weird.
It says here you can, you just have to type kali-undercover again.
So, for many years I've been using Arch and I wanted to try debian based distro for the first time. Holy shit, it comes to my surprise that the package manager cli for debian really sucks!. Why the hell does the command line divided into three separate groups? (eg. apt-get, dpkg and apt-cache). Why can't they group everything into apt like cli syntax:
possible language: html, relevance: 7
apt-edit <pkg>
apt-update <pkg>
apt-search <pkg>
apt-info <pkg>
apt-download <pkg> </loc>
apt-install <pkg.deb>
There, that should solve all the problems. There's no need to type "apt-cache search <pkg>" seriously wtf? Another thing is there's no such command line equivalent to pacman -Sii <pkg>possible language: python, relevance: 7
]:~$ pacman -Sii aria2
Repository      : community
Name            : aria2
Version         : 1.36.0-1
Description     : Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink
Architecture    : x86_64
URL             : http://aria2.sourceforge.net/
Licenses        : GPL
Groups          : None
Provides        : None
Depends On      : gnutls  libxml2  sqlite  c-ares  ca-certificates  libssh2
Optional Deps   : None
Required By     : libkiwix  midori  persepolis
Optional For    : uget  yt-dlp
Conflicts With  : None
Replaces        : None
Download Size   : 1506.72 KiB
Installed Size  : 5769.76 KiB
Packager        : Felix Yan <[email protected]>
Build Date      : Sat 21 Aug 2021 19:18:43
MD5 Sum         : 3440ba4a628d1f54bec94b673c4f1a0b
SHA-256 Sum     : e586f4900e0ecfdcf856f59b1ac2f2f0bc33e416cfb380321a759ec5a325a754
Signatures      : 786C63F330D7CB92
You can't get any more clearer than that. This level of information query should be mandatory in all linux distro. How could you install a package without knowing every single details about a package. I don't know If I miss anything else but so far the cli they have are insufficient and hardly reliable.
Replies: >>4866 >>4868
They have "apt" for that now.
Replies: >>4868
Like the other anon said...
Also, you can edit your .bashrc and use a shortened alias of any command that might be tedious to type often.
A tip for Gentoo: you can suppress the output of make while emerging by adding --jobs=3 --load-average=3.0 or --quiet-build to EMERGE_DEFAULT_OPTS (in your make.conf). This should speed up the compilation a little, especially on slow computers.
Replies: >>4875
Also use zram/tmpfs for build directories makes it fly if you have enough ram.
[Hide] (13.3MB, 1280x720, 03:30)
[Hide] (3.1MB, 1280x720, 00:29)
Drop all things computer while you're at it.
protip: don't go down this hole with every single product you use.
Replies: >>4926
[Hide] (696.2KB, 632x388, 00:01)
>implying a small software group wasting limited resources on gay shit is comparable to multi-billion dollar companies using marketing money on marketing 
>implying a software with many valid alternatives, including DIY, is somehow comparable to hardware companies with no alternatives and many barriers to entry for competition 
>implying AMD and NVIDIA aren't shit companies with compromised hardware, thus proving the point
>implying all modern computer things aren't objectively shit
>implying implications
I'm going through the process of learning Gentoo even though I have a very limited understanding of basic shit in Windows, but my only regret is not doing this sooner.
Replies: >>4931
>I'm going through the process of learning Gentoo even though I have a very limited understanding of basic shit in Windows, but my only regret is not doing this sooner.
Gentoo is great for learning GNU/Linux, if you have the time to read the wiki. Gentoo is overall very comfy distro (you can disable the stuff you don't like, ebuild scripts & overlays are good, applying custom patches is easy enough...) The only downside to Gentoo is that you have to build packages yourself. I read that busybox is not part of default Gentoo installation anymore: https://www.gentoo.org/support/news-items/2021-09-24-busybox-removal-from-system-set.html  busybox can be useful for system recovery, but you need to emerge it with static USE flag enabled. Also, the 2nd paragraph in >>4081 is relevant if you a beginner GNU/Linux user.
Layman is deprecated.
< eselect-repository utility supersedes Layman for listing, configuring, and handling synchronization of alternate repositories. There are still some exceptions for which Layman can supplement eselect-repository, when using version control systems that Portage does not natively sync (e.g. darcs and g-sorcery in Portage).

Other stuff
* Use iptables/ufw and a mandatory access control list, like AppArmor, SMACK, TOMOYO and AKARI (SELinux is a major pain to use)
tl;dr version of configuring, building and installing the Linux kernel: 
language: bash
USE="symlink initramfs" emerge sys-kernel/gentoo-sources sys-kernel/linux-firmware sys-kernel/genkernel
# /usr/src/linux should be symlink to the latest version of kernel sources.
# you can use symlink USE flag (automatic) or eselect kernel (semi-manual) to manage the symlink
cd /usr/src/linux

# if you are upgrading, copy the old .config file from the old kernel src dir and run:
# make oldconfig

# use hwinfo, dmesg, lspci, Gentoo wiki pages, etc. to select the config options.
# Pro Tip: it is recommended to select display drivers as modules.
# Pro Tip: press ? to get help on the highlighted config option.
# Pro Tip: press / to search for config options (You can use number keys to jump to a search result)
# Pro Tip: you don't have to (or shouldn't) enable NTFS write support in the kernel. you should use sys-fs/ntfs3g instead.
make menuconfig

# build and install the kernel and the modules:
make -j4
make modules_install
make install

# rebuild initramfs and update Grub
# Important: https://wiki.gentoo.org/wiki/Microcode
genkernel --microcode --install initramfs # you could also use dracut
grub-mkconfig -o /boot/grub/grub.cfg 

Firewall, mandatory access control and Linux Security Modules
Install UFW:
First follow instructions on: https://wiki.gentoo.org/wiki/Iptables Then follow these instructions to install ufw: https://wiki.gentoo.org/wiki/Ufw
(Be sure to read about nftables as well: https://wiki.gentoo.org/wiki/Nftables and https://netfilter.org/projects/nftables/ tl;dr nftables is the successor of iptables)

Using AppArmor is easy
First enable it in the kernel .config, and append "apparmor=1 lsm=[capability,yama,landlock,lockdown,]apparmor security=apparmor" (the option(s) inside [ ] are optional) to your kernel boot params in /etc/default/grub
Then you need to install a few packages: emerge sys-apps/apparmor sys-apps/apparmor-utils sec-policy/apparmor-profiles (Note that some packages provide extra AppArmor profiles when emerged with apparmor USE enabled)
Finally, you need to enable the service: rc-update add apparmor boot 

>AppArmor:         https://www.kernel.org/doc/html/latest/admin-guide/LSM/apparmor.html 
>TOMOYO 2.6.x:     https://tomoyo.osdn.jp/2.6/index.html.en and https://www.kernel.org/doc/html/latest/admin-guide/LSM/tomoyo.html 
>AKARI 1.0:        https://akari.osdn.jp/1.0/index.html.en 
>SMACK:            https://www.kernel.org/doc/html/latest/admin-guide/LSM/Smack.html 

>YAMA:     https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html 
>LoadPin:  https://www.kernel.org/doc/html/latest/admin-guide/LSM/LoadPin.html 
>landlock: https://landlock.io/ & https://www.kernel.org/doc/html/latest/security/landlock.html

Like Capabilities, mandatory access control should be used to supplement other security precautions. In a way, Capabilities are extended form of SUID bit and mandatory access control systems are a bit like extended form of Unix ACLs (or rather an extended form of MULTICS access control lists.)
>inb4 LSMs add more code to the kernel
Yup. That's something that should be kept in mind. (this is also the reason why you might want to install sys-apps/bubblewrap with suid USE flag enabled which makes it work without user_namespaces(7))

It's important to note that Capabilities are kind of snakeoil in a way, since some of them can potentially be bypassed (and elevated to full root access! in other words, Capabilities aren't that much different from SUID):

There are other security-related/helpful kernel parameters, like:
GRUB_CMDLINE_LINUX="module_blacklist=pcspkr,bluetooth,btusb,btrtl,btintel,btbcm,uvcvideo slub_debug=P page_poison=1 mitigations=auto,nosmt nosmt=force loglevel=3"
See https://raw.githubusercontent.com/torvalds/linux/master/Documentation/admin-guide/kernel-parameters.txt
Replies: >>5038
These Linux capability limitation frameworks are extremely horrible.
One time I tried to add them to a program and the Linux version alone had more lines of code than the OpenBSD, FreeBSD, MacOS and POSIX versions combined.
In the end, I just used the POSIX version on Linux.

They'll never reach widespread adoption until Linux has something as good as OpenBSD's unveil() and pledge().
The whole idea of a 3rd party creating these profiles is pure brain damage, Linux needs something like landlock but not Microsoft braindamage, and versions of the seccomp-related functions that are usable in the real world instead of theoretically serving every use case.
Replies: >>5039 >>5054
What is the point of capability limitation? A container or VM is less clumsy than running a profile which may be full of holes and end up slower than a VM.
Replies: >>5040
They're a way to express in code something like:
>my program never opens a socket
>my program never reads anything under /home
>my program never forks
And then have the kernel unconditionally kill the program if it violates its promise. This is a mitigation, if your program gets pwned, then it can't do more than it was designed for. That way, your web browser might get pwned, but maybe its capability limitations forbid it from reading/writing outside ~/Downloads, thus it can't steal your SSH key at ~/.ssh unless your kernel gets pwned too.

The details can vary a bit between the exact implementation, sometimes you can also ask to have the relevant functions return error or to receive a signal.
It also seems to be common for implementations to separate the part of its capability limitations that say "these are the syscalls I can use" and the part that says "this is what I can do to the fileystem". For instance, OpenBSD has pledge() for syscalls and unveil() for the filesystem, and Linux has the seccomp functions for syscalls and the landlock functions for the filesystem (as well as a shitload of alternatives to both seccomp and landlock).
Some form of another of this is available on most OSes, and some are more limited than others. You can have entirely separate packages providing profiles like AppArmor seems to do, you can start with no permissions and ask the user to give you more (Android does this), and you can make it opt-in and do it in code like FreeBSD does.

Containers and VMs, when used for the same purposes, are many orders of magnitude more complicated, and nowhere near as fine grained.
For instance, once you do it in code, you can have stricter limitations depending on which code path your program is using. OpenBSD's netcat does this a lot; it's a versatile tool, so it can restrict itself to different sets of capabilities depending on what it'll do in a particular run. Doing it in code is also completely transparent and unnoticeable to the user unless the program violates its capabilities.
Replies: >>5041
Reminds me of https://www.mail-archive.com/[email protected]/msg167776.html
Replies: >>5054
>The whole idea of a 3rd party creating these profiles is pure brain damage
The whole idea of developers creating these profiles for their own code is pure brain damage. Maybe they should just learn how to write secure code in the first place.

The point of 3rd parties writing security profiles is that me as a user can add extra restrictions based on my personal threat model instead of just blindly trusting that the developers won't do something I don't want them to do.

>Reminds me of https://www.mail-archive.com/[email protected]/msg167776.html
Web browsers are basically their own operating system now.
Seems there's a new Linux distro that might be worth checking out: https://carbslinux.org/

>no systemdisease
Replies: >>5064
Sounds almost perfect. I say "almost" because it's probably not fully statically linked... Someone needs to take the Oasis project beyond the proof-of-concept phase.
Replies: >>5066 >>5069
Yeah, it says "majority of the base packages," so it definitely suffers from dynamic linking braindamage.
I can only hope it's only because a lot of programs simply don't have static linking support.
Replies: >>5069
Some libraries should not be static linked, such as openssl.
Replies: >>5070
Some libraries should not be used, such as openssl.
Replies: >>5071
Do you implement your own tls/ssl?
Replies: >>5072
Nope. I call libtls functions.
Replies: >>5073
So it is a library that will never have bugs and will never be updated if you somehow stop maintaining your program? All network interfacing programs have bugs, only a matter of time before they are found and library swap is needed.
And if you are already on a source based distro, static or dynamic makes no difference except you need to compile 10 programs that uses libxyz or compile just the library.
Replies: >>5074 >>5075
Just don't be a nigger and write the next C++ hello world or Firefox that needs an entire day to compile.
The compilation time is a complete non-issue for any C project written with proper practices.
Replies: >>5075 >>5083
Also, the compilation time is dominated by... linking.
Just statically link to avoid dynamic linking's hueg compilation times.
Replies: >>5076
How does dynamic linking take more time to link?
Replies: >>5077
There's no actual linking when you statically link. You're not writing offset tables, figuring out which library of which version to point the resulting binary to, inserting shims that load the undefined function the first time it's called behind the addresses the GOT points to, trying to figure out the most efficient way to cram variables while maintaining alignment (Windows demands 8 byte alignment for exported variables for instance).
You just pull the object file that has the symbol you need the moment you need it. It's much simpler.
Replies: >>5078 >>5083
Make sense. How do you solve library replacement problem for static linking? This isn't a problem for source based distros, but rather a binary distro problem.
Replies: >>5079
Update all the packages that depend on the library.
Replies: >>5080
I am convinced. Time to reinstall.
>just change reality and it will be fine

>You just pull the object file that has the symbol you need the moment you need it.
You still need to copy and paste the machine code into where it is used and update all addresses that try to access it.

>It's much simpler.
The only thing that's simpler is you don't have the global offset table which jumps into the dynamic loader the first time a running application tries to access a library symbol.

Further arguments against static linking is that you've got no way to tell which version of the library was copied into the executable just by looking at it (and therefor if it's vulnerable or not). This is the same reason docker is a security mess.

Also it somewhat breaks aslr because there is no loader to change the address the library is loaded at each time you run.

You might feel clever and cool by doing something different but there is a reason why everyone else is doing the normal thing.
Replies: >>5087 >>5088
Not him. Does it matter in a source-based distro? The package manager knows which package is static linked with what library. It may matter in binary distro, but the above can be done for static packages.
Replies: >>5088
>you've got no way to tell which version of the library was copied into the executable just by looking at it
This is a non-issue and can be easily fixed by storing the library version separately, which most respectable developers already do even when dynamic linking.
Also seconding >>5087
Replies: >>5230
>can be easily fixed by storing the library version separately, which most respectable developers already do even when dynamic linking.
If that's true you should have no problem linking to an example.
inb4 "respectable developers" only exist in your head
Replies: >>5261
>If that's true you should have no problem linking to an example.
The SDL_* libraries list the exact versions of the libraries used during building:
Since Layman is deprecated, I wrote a tutorial for eselect-repository

language: bash
# install it
emerge --ask app-eselect/eselect-repository dev-vcs/git

# list all repositories
# you should use a web interface, like https://gpo.zugaina.org/
eselect repository list

# you want to mask __all__ packges from the overlay you want to add
# and then allow (unmask) a packge on per package basis.
cat /etc/portage/package.mask
#End Of File

# you could also use the guru overlay
eselect repository enable torbrowser

# Sync the overlay. Also read the man-page.
emaint sync --repo torbrowser

emerge --pretend --verbose torbrowser-launcher # for pedagogical reasons

cat /etc/portage/package.unmask
#End Of File

# Read the ebuild before installing a package from a overlay
emerge torbrowser-launcher
Arch broke audio if you installed pipewire: https://archlinux.org/news/undone-replacement-of-pipewire-media-session-with-wireplumber/
Replies: >>5582
you mean the user broke audio by installing pipewire
wake me up once pipewire has option to replace its damned resampler (spa-resample was it?) that eats 10% cpu playing 1 music stream without significantly expensive resampling conversion (it's 44100 ffs) and distorts when certain float32 plugins are activated.
even the resampler itself (spa-resample?) has distortion (sounds like the video at >>1 ) during resampling using the terminal command, there's a problem but I don't know, I don't want to be another red hat cuck, not your issue tracker m8. fuck you red hat.
delete systemd delete pipewire. pipewire = systemd.
enjoy your remote desktop glowie backdoor. enjoy your gnome project at-spi "accessibility for disabilities" backdoor screentext/keylogger.
Replies: >>5592
What is the purpose of pipewire? Alsa just works. If you want bloat, Jack and Pulse have everything anyways. If you want even more, get snd_aloop and do whatever you want with ffmpeg output to actual hardware.
Replies: >>5594
>What is the purpose of pipewire?
To be better Pulseaudio.
[Hide] (19KB, 651x279)
>>530 (OP) 
Is there something similar to this for nvidia (proprietary drivers)?

I have tried adding/changing "... video=DVI-D-0:[email protected]" on my grub kernel line but when my PC boots it completely ignores the setting and just uses 60Hz on my monitor instead.
On intel/igpu/motherboard display port the above kernel command line works but when I used another GPU it just sucks:
>ctrl alt F1 makes screen go black (due to 60-75Hz clock changes)
>grub/boot screen is 60Hz until it loads my desktop which is 75Hz causing the monitor to blink off like 5x
It doesn't blink if I used intel igpu, and I could swap to tty1 to tty7 and the clock is set to 75hz all the way (from grub menu). I don't like my tty at 60Hz since it is slow, causes gpu/display to stutter/change clocks which can degrade its life span too.

I just got memed.
Next time I'll only either buy AMD with APU or Intel with IGPU, no mix or match so the screen wouldn't have to blink 5x and blink more when I switch tty. I also recommend you anons do that too.
Replies: >>5615
I've tried all possible grub command line or early kms settings and then finally just setting it all to 60Hz and yet it's still fucked.
Switching to [email protected] from [email protected] would still blink the monitor off due to the graphics(and even audio, or programs) being suspended when switching to tty.
I think nvidia driver is running at userspace or something and halts during the switch (which is kinda terrible unlike with integrated graphics) or maybe it's due to the graphics memory not sharing (dedicated) so it would halt when switching between those.

Well that's it for me, there's no solution. The only solution is either I get iGPU or downgrade and I'm thinking only intel (or more modern AMD) is/are capable of natively getting the tty at higher than 60hz clock rate.
Replies: >>5616
I searched around, couldn't find anything. Should have got a GPU with open source driver. I know >>5573 but it's too late.
[New Reply]
194 replies | 38 files
Show Post Actions



- news - rules - faq -
jschan 0.7.0