OpenLLM-France/wikimedia huggingface dataset:
# Open source software on Lets, Time Banks and Food Donation

In this book to create communion, sharing and solidarity in the social sphere, we will describe some open source software necessary to manage Lets (Local exchange trading system) that is, democratically organized non-profit businesses or communities that provide a exchange of goods and services, using a currency created locally, Time Banks which unlike the Lets can only exchange services, using time in hours as currency and finally Food donation where they appear 3 figures: the donor who donates food, the associations who book the donated food and then deliver it to less well-off families and the delivery drivers who take the food from the donors and bring it to the associations.
As regards Lets, the main usable software, released under the GNU (General Public Licence) license is Cyclos written in Java and installable on any operating system or on the network mainly in special web hosting which offer it already pre-configured, or you can use an online community version for free at: https://communities.cyclos.org/register/app/form. This latest version will be analyzed in this book. For assistance on the use of Cyclos you can use the following forum: https://forum.cyclos.org/
As regards Time Banks, in addition to Cyclos itself, you can use Openbdt, a Web application in Italian to be translated into English, written in Php, Mysql, released under the GNU license and freely downloadable from Github: https://github.com/MassimoGirondi/openbdt
Finally, for food donation you can use the 'Food donation app, a web application written in Php, Mysql, released under the MIT license and freely downloadable from Github: https://github.com/kishor-23/food-waste-management-system .
* Cyclos Install
* Cyclos Administration Manual
* Cyclos User Manual
* Openbdt Install
* Openbdt User Manual
* Food donation Install
* Food donation User Manual
# Open source software on Lets, Time Banks and Food Donation/Openbdt Install

Openbdt, in Italian to be translated into English, useful for managing a time bank, can only be used locally on your PC, as it contains a Php version lower than 6, so putting it online would cause IT security problems. It is therefore necessary to install a version of Xampp lower than 6 on your PC, which can be downloaded from Sourceforge, being careful not to overwrite more recent versions of Xampp. On Windows you can choose the folder where to install Xampp, while on Linux the folder is always /opt . For example, a usable version of Xampp for Linux is this: https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.40/. To install Openbdt you can follow the guide found here: https://girondi.net/it/post/openbdt/, after unzipping the openbdt-master.zip file in the Xampp htdocs folder.
# Open source software on Lets, Time Banks and Food Donation/Cyclos Install

To create an online community with Cyclos in order to create a Lets network with a community currency, you need to fill out the form found here: https://communities.cyclos.org/register/app/form
First you enter a "Network Name", this will be the name of your Lets network, e.g. "City of transition Rome". Then you enter your network URL, which will be the URL of your network's website. For example: when you enter "roma" your "URL" will be "https://communities.cyclos.org/roma". Next enter the name of your currency (e.g. "Units") and the symbol of your currency (e.g. "IU") and choose whether you want to display the currency symbol after the amount (e.g. "100 IU") or before (e.g. "IU 100").
Finally select the type of credit issue. When you select "Negative Account Limit", each account will start with a zero balance, but the account can become negative up to the amount specified in the "Negative Account Limit" (also known as mutual credit). When you select "Initial Credit" each new user will receive an automatic payment from the system's debit account. The amount of this payment can be specified in the "Initial credit" field.
Note 1:The community configuration cannot be changed after its creation. Initial data such as account names and payment types will be created in the language you chose and cannot be changed later.
Note 2: The credit limit can be changed per user and a manual initial credit payment can be made (from the system debit account).
Enter your network administrator username. The administrator can use this username to log in to Cyclos. The password will be sent to you after validating your email.
# Open source software on Lets, Time Banks and Food Donation/Openbdt User Manual

By logging into http://localhost/openbdt/ with username: admin and password: password you log in as administrators and need to change the password. The first thing the administrator needs to do is create time bank users from Administrator Menu --> Add User. Having done this, when a user must carry out an exchange in hours with another user or with the administrator, he must log in with username and password and add an exchange by selecting the user with whom to exchange and the category and subcategory of the activity to be exchanged and the hours he wants to exchange.
The exchange categories are:
Some subcategories of exchanges are:
By clicking on Balance you can see all the trades made by the user and the overall balance of the hours. Each user can record her skills according to categories and subcategories. From the administrator menu --> User management the administrator can carry out various actions on the user including viewing the history, modifying the data, deleting him etc. From the Cashier Menu you can view all exchanges and all skills and you can create new categories and subcategories.
# Ruby Programming/Reference/Predefined Classes

In ruby even the base types (also predefined classes) can be hacked. In the following example, 5 is an immediate, a literal, an object, and an instance of Fixnum.

## Footnotes

* ^ Which means the 4 VALUE bytes are not a reference but the value itself. All 5 have the same object id (which could also be achieved in other ways).
* ^ Might not always work as you would like, the base types don't have a constructor (def initialize), and can't have singleton methods. There are some other minor exceptions.
# RubyGems

Rubygems is a packaging and "download" system for ruby libraries. Using it is typically as easy as
where xxx is some gem name you'd like to install.
More information about rubygems can be had here.

## How to display text to the end user after a gem is installed.

or "another example":http://github.com/tablatom/rubydoctest/blob/master/rubydoctest.gemspec

## How to set the main page for rdocs of a gem

or "another example":http://github.com/eventmachine/evma_httpserver/blob/master/eventmachine_httpserver.gemspec

## How to install different versions of gems depending on which version of ruby the installee is using

Here's an example: create file ext/mkrf_conf.rb
http://groups.google.com/group/ruby-talk-google/browse_thread/thread/6a03451af53fb853/5d402de5b0da1adf?lnk=raot&pli=1 has a description
Also add @gemspec.extensions = 'ext/mkrf_conf.rb'@ to your gemspec.

## How to install a gem programmatically

see above.

## How to run configure from within an extconf.rb

Here's an example, from rice's extconf.rb

## How to use a Rakefile instead of a Makefile

By default if you list
it will expect a Makefile to have been created, and run Make against it, at install time. You can also list @gemspec.extensions = 'ext/mkrf_conf.rb'@ and it will run that, expect a Rakefile to have been created, and run rake against it.

## Plugins

Rubygems now supports plugins, for adding new gem xxx commands, or executing on install and uninstall of gems.

### Known rubygems plugins

Here's a list of plugins:
gemcutter gem http://github.com/qrush/gemcutter/blob/master/gem/lib/gemcutter.rb lets you "push" your gem to gemcutter after it's ready
graph gem http://blog.zenspider.com/2009/04/rubygems-now-has-plugins.html creates a graphviz of your local dependencies
yard gem has a way to create yard docu after installing a gem (instead of the default rdoc).
gem_file_conflict_checker gem: warns you when you install two gems whose lib files collide (which can cause serious problems, and is common for gem developers who install their own versions of gems, etc.)
isit19 http://blog.segment7.net/articles/2009/08/19/rubygems-isit19-1-0 gem
# Ruby Programming/Reference/Predefined Variables

Ruby's predefined (built-in) variables affect the behavior of the entire program, so their use in libraries isn't recommended.
The values in most predefined variables can be accessed by alternative means.
$0
$DEBUG
$defout
$F
$FILENAME
$LOAD_PATH
$SAFE
$stdin
$stdout
$stderr
$VERBOSE
$- x
The following are local variables:
$_
The following variables hold values that change in accordance with the current value of $~ and can't receive assignment:
$ n ($1, $2, $3...)
# Ruby Programming/Standard Library/Net::HTTP
## How to access webpages with Net::HTTP

Allows access to downloading webpages.
a 1.8 example:
Here is the rdoc which contains many examples.
See also OpenURI.
how to do it with https (ssl) snippets.dzone.com/posts/show/788
# Ruby Programming/Standard Library/Debugger
## Debugger

1. The first kind of line-by-line ruby debugging tool is called irb. The call of irb be made by command line, by the command:
2. Ruby has also a “pure ruby” debugger built right in. To use it:
or
If you’re on MRI, it is probably far recommended to use ruby-debug gem (which is in C, so faster), or, on 1.9, ruby-debug19 gem (same as ruby-debug gem, but written for 1.9). See a list of differences.
3. However, another options are available: a common alternative involves the optional gem "pry". Also in this case, the file to be debugged need the require instruction at the file top.
# Ruby Programming/Ruby editors

← Installing Ruby | Notation conventions →

### What is Ruby IDE ?

Integrated development environment or IDE is a software tool generally contains at least a debugger, a source code editor, and build automation tools.
There are a few of text editor/IDE that can be used for Ruby Programming language (arranged alphabetically) as shown below :
Although you can write Ruby programs with any plain text editor, some text editors have additional features to aid the Ruby programmer. The most common is syntax highlighting.
P.S 1: For the ease of readers, the book will be dealing with Notepad++ as the more popular Ruby IDE, ATOMS will be sun-setted by GitHub in 15 Dec 2022.
P.S 2: Pulsar is fork from ATOM IDE. Listed below for conveniences.
Arcadia
Price: (Free as in beer)
Website: https://www.arcadia-ide.org/

### GNU Emacs

Price: (Free as in beer)
Website: https://www.gnu.org/software/emacs/

### ICEcoder

Price: (Free as in beer)
Website: https://icecoder.net/

### Komodo

Price: (Free as in beer)
Website: https://www.activestate.com/products/komodo-ide/

### Notepad++

Price: (Free as in beer)
Website: https://notepad-plus-plus.org/

### Pulsar

Price: (Free as in beer)
Recommended for Freeware
Website: https://pulsar-edit.dev/
Ruby Packages:

### RubyMine

Price: (Annual subscription fee)
Recommended for Paidware
Website: https://www.jetbrains.com/ruby/whatsnew/

### Sublime Text

Price: (One off payment and receives 3 years of continuous updates)
Website: https://www.sublimetext.com/

### Vim

Price: (Free as in beer)
Website: https://www.vim.org/download.php#pc

#### References

Here is a link of spreadsheet of the various options available.
# Pinyin/Coprophagia

Search Pinyin stool
Coprophagia, commonly known as stool eating. It refers to some humans or other animals, under normal or special circumstances, eat the feces of oneself, or other feces of the same species or other animals. Under normal circumstances, dung beetles eat feces; moreover, when humans feed dogs, will unintentionally find out dogs occasionally eat their own feces. Generally speaking, among many reasons, the reason why dogs eat feces, is because when excrement is not completely digested, the remaining foods left in feces will give off smells. Some dogs with sensitive nose will mistaken feces as foods, so eat the feces.
Shífèn, súchēng chīshǐ, shì zhǐ yīxiē rén huò qítā dòngwù yǒushí zài chángtài huò tèshū zhuàngtài xià, chī zìjǐ huò qítā tónglèi huò yìlèi wùzhǒng d fènbiàn. Chángtài xià chīshǐ d, lìrú shǐjiǎchóng; zàizhě jiùshì rénlèi yǎng gǒu shí, wúyìjiān huì fāxiàn gǒu ǒu'ěr huì chī zìjǐ d páixièwù. Yībān láishuō, gǒu chī páixièwù shì yīnwèi yīxiē páixièwù xiāohuà bù wánquán shí, dāngzhōng cánliú shǎoxǔ shíwù d qìwèi děng hěnduō yīnsù, yīxiē bízi língmǐn d gǒu huì cuòwù rènwéi fèn​​​​biàn shì shíwù, yīncǐ bǎ fènbiàn chīdiào.
Humans also have the behavior of using feces as medicines to treat illnesses.
Rénlèi yě yǒu bǎ fènbiàn yòngzuò yàowù lái zhìliáo jíbìng d xíngwéi.
# Pinyin/Convoy

See also
# Pinyin/Core

* herxin
* guooxin; her'r
# Pinyin/Corn

* yùmǐ
* sùmǐ
# Pinyin/Contradiction

Search Pinyin contradiction
# Pinyin/Contraction

See also
# Pinyin/Controlled

See also
# Pinyin/Control

See also
# SPM/Installation on SunOS
## SPM8, SPM12

There are no plans to provide SPM8 or SPM12 MEX files for Solaris SPARC (32 or 64 bit) as these platforms are not supported by MathWorks any more, see MATLAB Roadmap.

## SPM5

Precompiled MEX files for Solaris SPARC (*.mexsol and *.mexs64) are available in the latest update.

### Installation

Download spm5.zip in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

In a Terminal, from the src folder of your SPM5 installation, type:

## SPM2

The following is a description of how to compile SPM2 to run nicely with MATLAB 7 (service pack 1) on a SUN running Solaris 9 with the gcc compiler installed. The standard Makefile that came with SPM2 didn't quite work; partly because it was expecting you to use the cc compiler that comes with Solaris.

#### Setting up compiling for MATLAB7

Copy the "gccopts.sh" file from $MATLAB_HOME_DIR/bin to the SPM2 directory and call it "mexopts.sh". This enables you to easily enter options for mex to use ONLY for compiling SPM2. Lower down you make the changes to the Makefile to tell it to use this mexopts.sh file instead of the default. Make sure this file sets variables like CC='gcc'. You may also need to edit the line for MLIBS to:
(everything between the quotes should be on one line) Note the extra directories to search for libraries and the "-lg2c" option are new. To be on the safe side also try adding:
Also changing the optimization flags may boost performance. For an UltraSPARCIII cpu you could try the following:
Getting the linker set up properly needed some searching; try adding the following in the mexopts.sh file

#### Editing the Makefile

Try changing the Makefile from:
to:
Again you could also try adding "-mcpu=v9" as an option in the CC variable for UltraSPARCIII cpu You may also need to edit the line
to:
As this recompiles the spm_vol_utils.a archive that may otherwise not be compatible with your newly compiled mexsol routines.
and then compiling using:
You may have to do:
first to get this to work. Without doing this you may get a long list of errors when linking.
In order to find out where things might be going wrong you can edit the line above from:
to:
This will not compile the SPM routines but will tell you want commands mex was going to issue to gcc.
# SPM/Installation on Windows
## Preamble

Installing SPM on Windows 32 bit (XP, Vista, 7) should be relatively straightforward. Common pitfalls can be found in the description of the 64bit Windows installation.

## SPM12
### Installation

* Download spm12.zip.
* Unzip spm12.zip in a folder of your choice, such as C:\Users\login\Documents\MATLAB\spm12).
* Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.
* Launch SPM by typing
You might have to install the VC++ 2005 and 2008 Redistributable Packages (vcredist_x86.exe) from Microsoft:
* http://support.microsoft.com/kb/2019667

### Update

If you have just downloaded the spm12.zip archive, it already contains the latest set of updates. To update SPM when a new version is released:
* Download spm12_updates_rxxxx.zip
* Unzip spm12_updates_rxxxx.zip on top of the folder containing your SPM installation so that newer files overwrite existing files.
Alternatively, you can use the spm_update.m function:
If a new version is available, it can be applied to your local installation by typing:

### Compilation

Precompiled MEX files (*.mexw32) are provided with SPM12 and you shouldn't need to recompile them by yourself.

## SPM8
### Installation

* Download spm8.zip and its updates spm8_updates_rxxxx.zip
* Unzip spm8.zip in a folder of your choice, such as C:\spm\spm8, and unzip spm8_updates_rxxxx.zip on top of it so that newer files overwrite existing files.
* Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.
* Launch SPM by typing

### Compilation

Precompiled MEX files (*.mexw32) are provided with SPM8 and you shouldn't need to recompile them by yourself.
See Compilation of SPM8 MEX files on Windows if needed.

## SPM5
### Installation

* Download spm5.zip.
* Unzip spm5.zip in a folder of your choice, such as C:\spm\spm5.
* Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.
* Launch SPM by typing

### Compilation

Precompiled MEX files (*.mexw32) are provided with SPM5 and you shouldn't need to recompile them by yourself.
See Compilation of SPM5 MEX files on Windows if needed.

## SPM2
### Installation

* Download spm2.tar.gz and its updated MEX files SPM2_R2007a_XP_MEX.zip
* Unzip spm2.tar.gz in a folder of your choice, such as C:\spm\spm2, and unzip SPM2_R2007a_XP_MEX.zip on top of it so that newer files overwrite existing files.
* Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.
* Launch SPM by typing

### Compilation

Precompiled MEX files (*.mexw32) are provided with SPM2 and you shouldn't need to recompile them by yourself.
See Compilation of SPM2 MEX files on Windows.
# Courses

See http://www.fil.ion.ucl.ac.uk/spm/course/

# Books

See Statistical Parametric Mapping: The Analysis of Functional Brain Images

# Websites
## SPM

http://www.fil.ion.ucl.ac.uk/spm/
http://imaging.mrc-cbu.cam.ac.uk/imaging/CbuImaging

## MATLAB

* MathWorks
* MATLAB Central
* MATLAB for Psychologists

## Maths

http://mathworld.wolfram.com/

# Example Data Sets

* SPM datasets and tutorials

# Mailing list

http://www.fil.ion.ucl.ac.uk/spm/support/
# SPM/Installation on Linux

Linux 32 bit is a supported platform up to SPM8. You might have to recompile SPM MEX files (*.mexglx) if those provided with the SPM distribution do not appear to be compatible with your system. The Troubleshooting section of the Linux 64 bit installation page might also contain some useful information.

## SPM12

SPM12 is not officially supported on Linux 32 bit, as this platform is about to be phased out (see MATLAB Platform Roadmap). This means that precompiled MEX files (*.mexglx) are not included in the SPM distribution.

## SPM8
### Installation

Download spm8.zip and its updates spm8_updates_rxxxx.zip in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

In a Terminal, from the src folder of your SPM8 installation, type:

## SPM5
### Installation

Download spm5.zip and its updated MEX files SPM5_Matlab7.1_LINUX32_MEX.zip in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

In a Terminal, from the src folder of your SPM5 installation, type:

## SPM2
### Installation

Download spm2.tar.gz and its updated MEX files SPM2_LINUX32_MEX.tar.gz in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

In a Terminal, type:
# SPM/Julia
## SPM and Julia

Julia is a modern programming language with excellent numerical computing abilities.

### SPM.jl

* SPM.jl
# SPM/Installation on Mac OS (PowerPC)
## SPM12

SPM12 is not supported on Mac PowerPC.

## SPM8

SPM8 is not officially supported on Mac PowerPC, as this platform is about to be phased out (see MATLAB Platform Roadmap). This means that precompiled MEX files (*.mexmac) are not included in the SPM distribution. It should however be relatively straightforward to compile them by yourself.

### Installation

Download spm8.zip and its updates spm8_updates_rxxxx.zip in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

You need to have Apple's development environment Xcode installed. It should be available on your Mac OS X installation DVD.
You also need to have the mex executable in your system path. To do so, type the following in a Terminal:
with the appropriate path where MATLAB is installed.
In a Terminal, from the src folder of your SPM8 installation, type:

## SPM5

Precompiled MEX files for Mac PowerPC (*.mexmac) are available in the latest update.

### Installation

Download spm5.zip in your home directory then type the following in a Terminal:
Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing
in MATLAB's workspace.

### Compilation

If you want to compile SPM5 MEX files by yourself, you need to have Xcode installed and mex in your system path (see SPM8 for details).
Then, in a Terminal, from the src folder of your SPM5 installation, type:

## SPM2

Precompiled MEX files for Mac PowerPC (*.mexmac) are available in the latest update.

### Compilation

NB. Some of the following commands require that you log in as root or use the "sudo" mode.
Assuming that your Matlab and SPM2 folders (say, "MATLAB" and "spm2") are in your Applications folder:
(1) make sure you use a version of gcc earlier than 3.3 (compiling spm2 with gcc3.3 fails when mex is invoked; there apparently is a conflict of library):
(2) put a symbolic link to the "mex" file found in MATLAB/bin into /usr/sbin/ (!!! not in usr/local/bin):
(3) recompile SPM2:
You should see something like the following lines:
# Scouting/BSA/Radio Merit Badge

Good information earning and teaching on the radio merit badge can be found on the Radio Merit Badge site : Radio Merit Badge Web Site