nyuuzyou/wikis huggingface dataset:
ASM

First pkg install binutils. Next, cut and paste the following into your Termux terminal:
 cat >hello.s <<EOF
 .data
 message: .asciz "Hello World"
 len = .-message
 
 .text
 .global main
 main:
 mov r0, #1 
 ldr r1, =message
 ldr r2, =len
 mov r7, #4 
 swi 0 
 
 mov r7, #1
 swi 0
 bx lr
 EOF
 
 as hello.s -o hello.o
 ld hello.o -o hello
 ./hello
Your result:
Hello World
To see what you have made, use:
 ls -al hello*
 cat hello.s
Note: code above is ARM Assembly, so it will only work on ARM 32-bit devices. For others architectures, you can find Hello World examples in Assembly for your architecture here
= Packages =
Use pkg show binutils to install binutils:
Package: binutils
Maintainer: @termux
Depends: libc++, zlib
Homepage: https://www.gnu.org/software/binutils/
Description: Collection of binary tools, the main ones being ld, the GNU linker, and as, the GNU assembler
Use pkg show yasm to install YASM:
Package: yasm
Maintainer: Fredrik Fornwall @fornwall
Homepage: http://yasm.tortall.net/
Description: Assembler supporting the x86 and AMD64 instruction sets
= References = 
1) Hello World in every programming language
2) Javascript's God Mode : one language to rule them all. Code everything, everywhere, for everything.
3) More information about CLANG, ASM and Termux
= See Also =
* Development Environments 
* Editors
* IDEs
* Linux on Termux
* Package Management
* Software
Addons

Termux has some extra features. You can add them by installing addons:
; Termux:API: Access Android and Chrome hardware features.
; Termux:Boot: Run script(s) when your device boots.
; Termux:Float: Run Termux in a floating window.
; Termux:Styling: Have color schemes and powerline-ready fonts customize the appearance of the Termux terminal.
; Termux:Tasker: An easy way to call Termux executables from Tasker and compatible apps.
; Termux:Widget: Start small scriptlets from the home screen.
Community

Any questions after reading the FAQ? Consider joining us with a cup of herbal tea, and similar. Termux is a distributed community worldwide. Here are a few ways to get in touch:
== Official communities ==
* Homepage : https://termux.dev/
* Github : https://github.com/termux/
* fosstodon: https://fosstodon.org/@termux
* Discord : https://discord.gg/HXpF69X
* IRC : Channel #Termux on libera.chat
* Gitter : https://gitter.im/termux/termux
* Reddit : https://www.reddit.com/r/termux
* Facebook : https://facebook.com/termux/
* Twitter : https://twitter.com/termuxdevs
* Telegram : https://telegram.me/termux24x7
* YouTube : https://www.youtube.com/channel/UCGCVyLywi5KfW6n-54tiiJQ
=== Rules ===
== Other (non-official) communities ==
Here is a list of non-official communities. Termux developers are not responsible about any information or misinformation, site links and files distributed in these communities.
* Facebook Group : https://facebook.com/groups/termux/
* Telegram Chinese community: https://telegram.me/Termux_CN/
* Telegram Ethiopian community: https://telegram.me/Et_Termux_community/
* Telegram Spanish community: https://t.me/termux_es
* QQ Chinese community: https://jq.qq.com/?_wv=1027&k=ylRxQK7Z
= See Also =
* Development
Community Rules

Official communities are curated by @termux developers or by trusted person. Each community follows these rules with no exceptions unless specified otherwise:
1. Please use English.
Our community is international and English here is a standardized language which makes easier to follow conversations.
2. Use of Termux for digital threatening is not tolerated.
We discourage use of Termux application as base for digital threatening, including but not limited to hacking, phishing or spying. Even though Termux is known to be successfully used by penetration testing professionals, we do not provide any kind of assistance related to potentially destructive Termux use cases. Therefore we kindly asking our community participants to abstain from asking for help with mentioned topics or we will have to finish your membership.
Publications violating this rule will be deleted. Users violating this rule may receive a permanent ban.
3. Explicitly toxic behavior, trolling and flood are not tolerated.
Deliberate offensiveness against specific persons or whole community, as well as any behavior aimed at disrupting conversations, is strongly discouraged.
Publications violating this rule will be deleted. Users violating this rule may receive a temporary or permanent ban.
4. Our topic is Termux, its use cases, user experience and content share.
Our communities are solely about Termux, its use cases, usage experience and content produced by community members.
Little off-topic is okay, but abuse of or community for gathering knowledge about custom ROMs, custom kernels, Android OS, networking, programming, general computer science and basics is strongly discouraged. If you are looking for help with topic that is not directly connected with Termux project, please consider looking into more suitable communities and Internet resources.
You should not post any kind of information that discourage use of Termux application and its packages in the context of advertising own or third-party "better" utility.
Off-topic publications will be removed. Publications with inappropriate content (nsfw, gambling, lotteries, etc) will lead to permanent ban of their author.
5. Avoid direct messaging to Termux maintainers.
Please use community social media to ask questions about Termux.
Do not ask Termux developers for every single question about Termux, especially when it comes about utility usage or how to get started. We have community pages on various social media sites where you can ask your questions or share some Termux-related content.
See the available Community Pages.
Compiling and setting up OCaml

= OCaml + Termux =
OCaml native on android!
This is a copy of the original article, available at http://ygrek.org.ua/p/ocaml-termux.html
== Install ==
Use binary OPAM package for aarch64 to build OCaml
1. Install OPAM
echo "deb [arch=all,aarch64] http://ygrek.org.ua/files/debian/termux ./" >> data/data/com.termux/files/usr/etc/apt/sources.list
apt-get update # repository is not signed for now :]
pkg install opam
2. Install OCaml
opam init --comp=4.03.0+termux termux https://github.com/camlunity/opam-repository.git#termux
== Build ==
Build OCaml to build OPAM to build OCaml
1. Prepare proper build environment.
 pkg install build-essential diffutils m4 patch
2. NB termux lacks /bin/sh (and all other standard unix file paths for that matter), so the main problem during builds is hardcoded shell path in https://github.com/termux/termux-packages/issues/98.
To overcome it - use sh ./script instead of just ./script.
3. Build OCaml
mkdir ~/tmp
export TMPDIR=$HOME/tmp # add to ~/.profile
git clone https://github.com/ygrek/ocaml.git -b termux-4.03.0
cd ocaml
sh ./configure -prefix $PREFIX
make world.opt install
4. Build OPAM
curl -LO https://github.com/ocaml/opam/releases/download/1.2.2/opam-full-
1.2.2.tar.gz
tar -xzf opam-full-1.2.2.tar.gz
cd opam-full-1.2.2/
sed -i 's|/bin/sh|sh|' src/core/opamSystem.ml OCamlMakefile
CONFIG_SHELL=sh sh ./configure -prefix "$PREFIX"
OCAMLPARAM="safe-string=0,_" make lib-ext all install
5. Add OPAM remote with Termux patches
opam remote add termux https://github.com/camlunity/opam-repository.git#termux
6. Install OCaml via OPAM and remove system OCaml (built in step 3) to avoid confusion with OPAM switches
opam sw 4.03.0+termux # 4.02.3+termux 4.04.0+termux
rm /data/data/com.termux/files/usr/man/man1/ocaml*
rm /data/data/com.termux/files/usr/bin/ocaml*
rm -rf /data/data/com.termux/files/usr/lib/ocaml
opam sw remove system
Debian

First:
 pkg install debootstrap proot wget
Check your architecture with:
 uname -m
Example usage:
 debootstrap --arch=ARCH stable debian-stable http://ftp.debian.org/debian/ # ARCH is arm64 for aarch64, etc.
Then setup proot to mount the container. A sample proot start.sh includes:
 #!/data/data/com.termux/files/usr/bin/sh
 proot \
 -0 \
 --link2symlink \
 -r ~/debian-stable \
 -b /dev/ \
 -b /sys/ \
 -b /proc/ \
 -b /data/data/com.termux/files/home \
 /usr/bin/env \
 -i \
 HOME=/root \
 TERM="xterm-256color" \
 PATH=/bin:/usr/bin:/sbin:/usr/sbin \
 /bin/bash --login
 sh start.sh 
You can also install Debian with proot-distro, Termux package debootstrap and this method.
More information at https://github.com/termux/termux-packages/issues/1645
Editors

; Audio Editors : Audio editing software is software which allows editing and generating of audio data. Audio editing software can be implemented completely or partly as library, as computer application, as Web application or as a loadable kernel module.
; Hex Editors : A hex editor is a type of computer program that allows for manipulation of the fundamental binary data that constitutes a computer file.
; Image Editors : Image editing encompasses the processes of altering images, whether they are digital photographs, traditional photochemical photographs, or illustrations. Traditional analog image editing is known as photo retouching, using tools such as an airbrush to modify photographs, or editing illustrations with any traditional art medium. Graphic software programs, which can be broadly grouped into vector graphics editors, raster graphics editors, and 3D modelers, are the primary tools with which a user may manipulate, enhance, and transform images. Many image editing programs are also used to render or create computer art from scratch such as povray.
; Stream Editors : A Unix utility that parses and transforms text, using a simple, compact programming language. Options for doing stream editing include awk, node.js, perl and sed.
; Text Editors : A system or program that allows a user to edit text. A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.
; Video Editors : With video editors various Video manipulation can be done, including: cutting, converting, splitting, joining ...
= See Also =
* IDEs
* OCR
Emacs

Package: emacs
Description: An extensible, customizable, free/libre text editor — and more.
Homepage: https://www.gnu.org/software/emacs/
= ERC =
ERC is a powerful, modular, and extensible IRC client for Emacs. It is distributed with Emacs since version 22.1. To use ERC type the following in emacs: M-x erc +enter/return. M-x means ALT+x in Termux. Use “irc.libera.chat” as the IRC server, “6697” as the port, choose a nickname Just tap enter. Type /join #termux and presto, you can chat on #termux from emacs in your pocket. More at https://www.emacswiki.org/emacs/ERC
= Newsticker =
* Newsticker provides a Feed Reader for Emacs.
== See also ==
* ERC Manual
* IDE
* IRC
Emacstutor

Whenever you decide to start using Emacs, you should take the Emacs tutorial. It's an interactive hands-on which will familiarize you with many things, including:
* Starting and exiting Emacs
* Basic text movement and editing commands
* Opening and saving files
* Emacs concepts: windows, frames, files, and buffers
* Invoking commands with keybindings and with M-x
To run the tutorial, start Emacs and type C-h t, that is CTR-h followed by t. Alternatively, type M-x help-with-tutorial in emacs, that is ALT-x to get started.
= See Also =
Tutorials
FAQ Links:
https://duckduckgo.com/?q=emac+tutorials
https://gnu.org/software/emacs/tour/
FISH

FISH is a smart and user-friendly command line shell for macOS, Linux, and the rest of the family.
The FISH shell init files are ~/.fish, $PREFIX/etc/fish/config.fish and more. See `man fish` and `info fish` for more information.
== Oh-My-Fish ==
Oh-my-fish of fish shell working without any known issue in termux, you can install it with official manual in the repository here. Run $ omf to get some help installing plugin and theme.
== Fisherman ==
Fisherman is a fish-shell plugin manager.
=== Installation ===
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
=== Usage ===
Install a plugin.
fisher z
Install several plugins concurrently.
fisher fzf edc/bass omf/thefuck omf/theme-bobthefish
Install a specific branch.
fisher edc/bass:master
Install a specific tag.
fisher edc/bass@1.2.0
Install a gist.
fisher https://gist.github.com/username/1f40e1c6e0551b2666b2
Install a local plugin.
fisher ~/path/to/my_plugin
Edit your fishfile and run fisher to commit changes, e.g. install missing plugins.
$EDITOR ~/.config/fish/fishfile
fisher
Show everything you've installed.
fisher ls
@ my_plugin # a local plugin
* bobthefish # current theme
 bass
 fzf
 thefuck
 z
Show everything available to install.
fisher ls-remote
Show additional information about plugins:
fisher ls-remote --format="%name(%stars): %info [%url]\n"
Update everything.
fisher up
Update specific plugins.
fisher up bass z fzf
Remove plugins.
fisher rm thefuck
Remove all the plugins.
fisher ls | fisher rm
Get help.
fisher help z
Homepage: https://fisherman.github.io
Source code: https://github.com/fisherman/fisherman
Hardware Keyboard

The following shortcuts are available when using Termux with a hardware (e.g. bluetooth) keyboard by combining them with Ctrl+Alt:
* ‘C’ → Create new session
* ‘R’ → Rename current session
* Down arrow (or ‘N’) → Next session
* Up arrow (or ‘P’) → Previous session
* Right arrow → Open drawer
* Left arrow → Close drawer
* ‘M’ → Show menu
* ‘U’ → Select URL
* ‘V’ → Paste
* +/- → Adjust text size
* 1-9 → Go to numbered session
* ‘K’ → Enable/Disable soft keyboard
= See Also =
* Hardware Mouse
* OTG
* Touch Keyboard
Hex Editors

A hex editor is a type of computer program that allows for manipulation of the fundamental binary data that constitutes a computer file.
http://www.theunixschool.com/2011/06/3-different-ways-of-dumping-hex.html is about hexdump, od and xxd. See man hexdump, man od and man xxd for more info...
== hexcurse ==
Use pkg install hexcurse to install a console hex editor.
Homepage: https://github.com/LonnyGomes/hexcurse
== ired ==
Use pkg install ired to install a minimalist hexadecimal editor.
Homepage: https://github.com/radare/ired
== radare2 ==
Use pkg install radare2 to install an advanced hexadecimal editor.
Homepage: https://rada.re
IDEs

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger. 
= Codiad =
Codiad Web IDE
Codiad is a web-based IDE framework with a small footprint and minimal requirements.
Codiad was built with simplicity in mind, allowing for fast, interactive development without the massive overhead of some of the larger desktop editors. That being said even users of IDE's such as Eclipse, NetBeans and Aptana are finding Codiad's simplicity to be a huge benefit. While simplicity was key, we didn't skimp on features and have a team of dedicated developer actively adding more.
Rnauber has created a script for installing the web-based IDE/editor codiad locally:
 bash <(wget -qO- https://gist.githubusercontent.com/rnauber/9f579d1480db4cc5a9a3c97c00c52fb9/raw/install_codiad.sh )
= Emacs =
Package: emacs
Description: An extensible, customizable, free/libre text editor — and more.
Homepage: https://www.gnu.org/software/emacs/
= Vim =
Package: vim
Description: Vim - the ubiquitous text editor
Homepage: http://www.vim.org/
= See Also =
* Editors
IRC

Connect to IRC in Termux on Android and Chrome really easily with one of these following clients available in Termux:
; ERC : ERC is an IRC client for Emacs.
; irssi: Irssi is an IRC client.
; weechat: WeeChat is an IRC chat client.
The Termux community has a room on libera.chat and Gitter. The gitter room is accessible from Matrix and Discord as well (see Community), but there is currently no bridge for the irc room. To join, type /join #termux in your IRC client or click/tap Gitter or Matrix.
Image Editors

Image editing encompasses the processes of altering images, whether they are digital photographs, traditional photochemical photographs, or illustrations. Traditional analog image editing is known as photo retouching, using tools such as an airbrush to modify photographs, or editing illustrations with any traditional art medium. Graphic software programs, which can be broadly grouped into vector graphics editors, raster graphics editors, and 3D modelers, are the primary tools with which a user may manipulate, enhance, and transform images. Many image editing programs are also used to render or create computer art from scratch.
== dcraw ==
Raw digital camera images decoding utility
Homepage: http://www.cybercom.net/~dcoffin/dcraw/
== gifsicle ==
Tool for creating, editing, and getting information about GIF images and animations
Homepage: https://www.lcdf.org/gifsicle/
== gmic ==
Description: imageman
Homepage: http://gmic.eu
== graphicsmagick ==
Collection of image processing tools
Homepage: http://www.graphicsmagick.org/
== graphicsmagick++ ==
Format-independent image processing - C++ shared library
Homepage: http://www.graphicsmagick.org/
== imagemagick ==
Suite to create, edit, compose, or convert images in a variety of formats
Homepage: https://www.imagemagick.org/
== netpbm ==
Toolkit for manipulation of graphic images, including conversion of images between a variety of different formats
Homepage: http://netpbm.sourceforge.net/
== openjpeg-tools ==
Command-line tools using the JPEG 2000 library
Homepage: http://www.openjpeg.org/
== optipng ==
PNG optimizer that recompresses image files to a smaller size, without losing any information
Homepage: http://optipng.sourceforge.net/
== Perl ==
https://duckduckgo.com/?q=perl+image+manipulation+library+cpan
== Python ==
https://duckduckgo.com/?q=python+image+library
The Python Imaging Library adds image processing capabilities to your Python interpreter.
This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities.
The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool.
To install Pillow Termux
$ pkg install libjpeg-turbo
$ LDFLAGS="-L/system/lib/" CFLAGS="-I/data/data/com.termux/files/usr/include/" pip install Pillow
https://pillow.readthedocs.io/en/3.0.x/index.html
== Ruby ==
https://duckduckgo.com/?q=Ruby+image+library
Installing from F-Droid

How to install Termux app from F-Droid:
# Open F-Droid on your Android or Chrome OS device by tapping this link,
# Tap Download APK,
# Tap the downloaded APK on your device,
# Tap allow installation of apps from unknown sources (you will want to set this option anyway to be able to install apps built on your device in Termux),
# Allow the installation to complete,
# Once installed, you will see the Termux launcher on your home screen and in your App Drawer. Tap the icon to fire up the application.
Please do not mix your installation of Termux between Google Play and F-Droid. There are compatibility issues such as, "Can't install Termux:Api from google play on Nougat #53".
== See Also ==
* Installation
* Disclaimer
* Package Management
Intents and Hooks

Termux is able to catch several intents and execute shell scripts to act upon them:
* Sharing single files with Termux.Following handle will be executed:~/bin/termux-file-editor
** Opening in your popular editor by using a symbolic link:ln -s $PREFIX/bin/nvim ~/bin/termux-file-editor
** Creating a handle by creating a file and changing the access rights:
**#nano ~/bin/termux-file-editor)
**#chmod +x ~/bin/termux-file-editor)
* URL sharing available in common apps (e.g. Youtube).Following handle will be executed: ~/bin/termux-url-opener
** Sharing a URL to be downloaded.You can handle incoming URL by editing the content. yoursth-dl -f 'bestvideo[ext=mp4][height<=720]+bestaudio' --restrict-filenames -o '~/storage/downloads/%(title)s-%(id)s.%(ext)s' $1
MariaDB

MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system.
== Installing package ==
Install package "mariadb":
 pkg install mariadb
The installation should finish without any error. If error occurred, you probably need to report the issue on Github.
The command shown above will also initialize the database with 2 all-privilege accounts (introduced perhaps in MariaDB 10.4.x). The first one is "root" which is inaccessible and the second one with name of your Termux user (check with command id -un or whoami).
To enable access to root account, you need to login with your Termux user name
 mysql -u $(whoami)
and manually change password for root
 use mysql;
 set password for 'root'@'localhost' = password('YOUR_ROOT_PASSWORD_HERE');
 flush privileges;
 quit;
Verify that you are able to login as 'root' with mysql -u root -p. You will need to provide password set in previous step.
== Using package ==
Whenever you want to access MySQL database manually through command line or with some program (web application), you need to start MySQL server:
 mysqld_safe
Then you should be able to connect to database, e.g. with mysql -u root -p.
Newsticker

Newsticker provides a Feed Reader for Emacs. It retrieves headlines from a list of news sites, processes them, and provides frontends for reading and managing them. (Standard headline formats are RSS and Atom which makes Newsticker an “RSS Reader”, “Atom Reader” or “Feed Aggregator”.)
To use newsticker type the following in emacs: M-x newsticker, press TAB to see your options. Complete your command. Then hit +enter/return. M-x means ALT+x in Termux.
https://groups.io/g/termux/rss
NgIRCd

ngIRCd is a portable and lightweight Internet Relay Chat (IRC) server. It has been written from scratch and is consequently, unlike most other IRC daemons, not based on the originator, the daemon of the IRCNet.
Installing ngIRCd
 pkg install ngircd
Configuring ngIRCd
A ngircd.conf is a sample configuration file for ngIRCd IRC Daemon, which should be customized to the local preferences
 nano $PREFIX/etc/ngircd.conf
Starting IRC Server and add to boot
 ngircd
 
 # Symlink from ngircd to boot directory
 # Requires Termux:Boot
 ln -s $PREFIX/bin/ngircd ~/.termux/boot/ngircd
References
* https://ngircd.barton.de
No more -dev packages

As of July 28 2019 packages ending in -dev will no longer exist.
These packages previously contained header files and other files needed to build software on the device. As those files are small they are no longer split out but instead merged into their main packages.
= Example: ncurses =
Previously the package ncurses-dev contained the header files to compile code using ncurses. This package no longer exists and the header files are now a part of the ncurses package, along with the shared libraries there.
= What to do? =
* Run pkg up to update as normally. This will replace all -dev packages with updated versions of main packages.
* If you are trying to execute scripts or follow a tutorial that tries to install a -dev package, just remove the -dev suffix.
* If you have further questions, see the Community pages for where to ask questions.