This is a simple program to read a string of text from the user. The difference between this program and the bash builtin "read" command is that this program allows you to specify text that will be initially placed into the input edit buffer. That is, you can specify "default" input text that has been "pre-typed" for the user.
libsysconfcpus is an $LD_PRELOAD library that intercepts calls to sysconf() and adjusts the responses for _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN, which are used to determine the number of processors available (either configured or online) at runtime in a system. Unfortunately, some closed-source software assumes that all of these processors may be used for computation, which is an assumption that is frequently not true on multiuser and HPC systems. libsysconfcpus provides a simple, non-intrusive way of adjusting the behavior of such software (when it is dynamically linked).
xlibtrace displays the interaction between X11 client programs and the X11 client shared library (libX11.so) by showing the Xlib calls that are made. Output is shown in a style similar to strace(1). It works by using the $LD_PRELOAD dynamic linker option to insert itself between the target X11 client program and libX11.so. This allows it to "intercept" all calls to X functions, whereupon it has the opportunity to print the name of the function being called, along with any arguments and return value. This can be particularly useful when analyzing the behavior of closed-source X11 programs.
tunerlimit is a preload library that allows some fine-tuning of when calls to setrlimit(2) are allowed, and when they are "blocked". This can be useful in situations where, for example, SELinux policies cause programs to fail completely when making trivial or idempotent calls to setrlimit().
Storing binary (boolean) matrices where each element is a byte (or worse, a 32 or 64 bit integer) is incredibly inefficient and wasteful, both in time and space. For example, a 10k square matrix requires 400Mb of RAM if stored as 32 bit int values. Binmat is a library that bit-packs these matrices so that this 10k square matrix requires just 12.5Mb (the minimum space possible). More than that, binmat takes advantage of extremely fast bit-operations when multiplying matrices. The usual series of multiplications and additions required to compute each element are replaced by bitwise AND and OR operations. Furthermore, on 64-bit hardware each bitwise operation can replace up to 64 multiplications or additions, reducing operations that can take hundreds of clock cycles down to just a single cycle. This gives rise to some very considerable performance increases, especially when taking the power of a matrix. Binary exponentiation is implemented to further improve the performance of higher matrix powers.
Re: why not use...
> read -p "prompt" ?
Because that only sets the prompt, which is not enough. I want a default value provided in the input area, to save me from retyping that value.
For example, when I hit enter after typing:
I want a readline input line, but I want the text "readpreprompt.c" to already be in the input buffer. That way, I can just type ".old" followed by enter, to "rename" the file "readpreprompt.c" to "readpreprompt.c.old". Or I could hit ctrl-a followed by "OLD", etc. The alternative to this is to fully type out the command "mv readpreprompt.c readpreprompt.c.old", which I get sick of doing, especially for long filenames. Using tab completion can help, but it's still a pain when there are a lot of similarly named files.
Unfortunately, as far as I am aware, there is no option for bash's builtin "read" command which sets the default input text, even in bash 3.1. Ideally, I would like to be able to do something like this:
read -e -p "New filename: " -i "$1" fname
where the -i indicates the "initial" text to be provided to the user. This would be perfect, but it does not exist. At some point soon I hope to take a look at the bash source and see about adding this functionality, which shouldn't be too hard.
Re: Filtering by license?
> It would be nice if one could filter
> announcements by the license field. I'm
> usually not interested in seeing
> announcements for non-free software.
It's easy, the trove categories include licenses, so you can use the trove filters to filter out licenses.