OpenLLM-France/wikimedia huggingface dataset:
# Ivan Illich: Deschooling Society

"The most radical alternative to school would be a network or service which gave each man the same opportunity to share his current concern with others motivated by the same concern." -- Ivan Illich.

## Reading Group

A reading group for discussion of Ivan Illich's Deschooling Society. If you are interested in this text, please add your name to the list of participants and put the chapter notes pages on your watchlist.

## Chapters

Deschooling Society is arranged in the following chapters:
| 1. Introduction | Notes | Discussion |
| 2. Why We Must Disestablish School | Notes | Discussion |
| 3. Phenomenology of School | Notes | Discussion |
| 4. Ritualization of Progress | Notes | Discussion |
| 5. Institutional Spectrum | Notes | Discussion |
| 6. Irrational Consistencies | Notes | Discussion |
| 7. Learning Webs | Notes | Discussion |
| 8. Rebirth of Epimethean Man | Notes | Discussion |

## The Text

Deschooling society by Ivan Illich
Full-text online: http://www.davidtinapple.com/illich/1970_deschooling.html
Audiobook online: http://www.unwelcomeguests.net/Deschooling_Society
Type: Book
Language: English
Publisher: New York, Harper & Row [1971]
Edition: 1st ed. | 18 Editions
ISBN: 0060121394 9780060121396
OCLC: 154591
Related Subjects: Education -- United States. Educational sociology -- United States.

## Participants

* User:Countrymike
* User:JWSchmidt
* User:Aslinkirkpatrick - wants to contribute but a little guide on how will be appreciated.
* User:Leighblackall
* User:minh
* User:Mackiwg - will do my best to participate - travel commitments may take their toll ..;-(.
* Cormaggio
* User:Weidingerc
* Mirwin 01:28, 27 December 2007 (UTC)
* User:DaveKunes
* Luai lashire 01:20, 24 January 2008 (UTC)
* User:rosmareri
* User:digitalis will try to add now and again
* User:palabea
* User:binah28
* User:libertyblues let's do this.
* User:bigmutt
* User:queerqueen
* Dsfrimer
* User:Rego_b
* User:BillBell
* User:Graciek84
* User:Deschooling
* User:Merwan
* User:kbell14
* User:wscheid
* Pb101
* User:Thirzel
* User:Daniel.inform

## Recent Activity

* Ivan Illich
* Ivan Illich: Deschooling Society/Learning Webs
* Ivan Illich: Deschooling Society/Ritualization of Progress
* Ivan Illich: Deschooling Society/Phenomenology of School
* Ivan Illich: Deschooling Society/Why We Must Disestablish School
* Ivan Illich: Deschooling Society/Introduction
* Leighblackall/An ethical framework for ubiquitous learning
* Ivan Illich: Deschooling Society
See also: Special:Recentchangeslinked/Ivan_Illich:_Deschooling_Society
# MakerBot/Scanning an object using kinect: Full 360degree view
## Purpose

The tutorial will show how to scan a an object in 360 degree view for 3d printing.

## Procedure

Steps
    1. Install drivers from http://labs.manctl.com/rgbdemo/index.php/Main/Download.
The drivers must be installed in this order,
A simple process of installing all the drivers without worrying about the order they are installed is to use an all-in-one installer from zigu, can be found on the same website (http://labs.manctl.com/rgbdemo/index.php/Main/Download)
    2. download and unzip RgbDemo in any folder on the computer.
    3. Plug in the kinect
    4.Collaborate the kinect with the printed checkered board so that the kinect can follow all the movements, when scan an object in 360degree view.
after collaborating the image would look similar to this: http://nicolas.burrus.name/index.php/Research/KinectCalibration
    5. After printing the board collaborate the kinect using the software rgbdemo folder.After collaborating the image would look similar to this: http://nicolas.burrus.name/index.php/Research/KinectCalibration
    6.Run the maker software found in the rgbdemo folder
    7. There are options for saving the model and they are saved in the same folder where the software is found.
    8.This website show a demo as to how the rotating of the board will create 3d scan of an object http://labs.manctl.com/rgbdemo/index.php/Main/HomePage. After scanning save the file as obj file format and open it in any 3d software package.
# MakerBot/clean gear mechanism
## Target Audience

Someone who suspects that the print head is not clean, is extruding randomly globs and then nothing.

## Starting Point

Makerbot has had the PLA removed and has cooled down.

## Replication Goal

Take print head apart, possibly clean, and put back together so it works.

## Procedure remove printhead

* Makerbot Replicator 2 heat sink removed, showing two black tubes to guide screws back through the grill, fan, heatsink, mounting block and into the stepper motor.
* Makerbot Replicator 2 showing teeth that grab the PLA are not dirty after the first 80 hours of printing.
The steps in this video] were not followed exactly. The grill, fan and heatsink should be kept together with the screws remaining in the assembly. Watch the video all the way through first. The stepper motor gear cleaning happens in the second half of the video.
# MakerBot/Tutorial on Blender
### Building STL files in blender and printing them

    1. Go the computer near the makerbot
    2. Go to "my computer"
    3. Click on local Disk (C:)
    4. Open the "Program Files (x86)"
    5. Open Blender Foundation
    6. A cube will appear
    7. Delete the cube unless you are making a house
    8. Go to "add" in the upper left hand corner
    9. Click "Mesh"
    10. Add the geometric shape you want. (Icospheres are good).
    11. Design it the way you want.
    12. When done with the geometric shape save it as an STL file.
    13. Go to file then export and click on STL file
    14. Name it and for convenience save it to the Desktop.
    15. Open Replicator G
    16. Open your file in Replicator G. (If it be big and you want small go to scale)
    17. Go to control panel and Click 180 to target temperature and from the Panel temperature type 110 (This will take a couple of minutes, faster if you can type fast though).
    18. Generate the Gcode
    19. In the Gcode tab replace "S 220 T" to "S 180 T"
    20 Click on build
    21 Go to the room with the makerbot
    22 Now wait for 7 or 100 minutes or so
    23 IF YOU MADE A HOUSE YOU SHOULD BUY A DOLL
# MakerBot/Scanning An Object Using The Kinect: Full 360 Degree View
## Purpose

To create a procedure to scan an object in 360 degrees for 3D printing

## Procedure

    1. Install drivers from http://labs.manctl.com/rgbdemo/index.php/Main/Download.
    The drivers must be installed in this order,
    Visit the RGB-Demo website, go to the "Download" page and download the all in one driver package named "Zigfu"
    2. Install the Drivers manually by extracting the files from the .zip folder and going through the Control Panel > Device Manager > Kinect (Plug in/Disconnect the USB to the computer to find the right Com port if it is not recognized)> Properties > Hardware > Properties > Driver > Update Driver > Browse my computer... > Browse... > Find the extracted driver
    3. Download and extract the RGB-Demo software
    4a. For 360 degree views try using calibrate-kinect-ir.exe. I have not had success with this execution file, but this may be because I did not install the drivers manually. I just realized this as a possible solution after reading my partners tutorial for capturing a perspective view point cloud.
    Calibrate the Kinect with the printed checkered board so that the Kinect can follow all the movements when an object is scanned in 360 degrees. After calibration, the image should look similar to this example.
    4b. Use the rgbd-viewer or rgbd-reconstructor to see a color image and a RGB (red-green-blue) image through the Kinect
       Note: Use the execution files one at a time, otherwise they crash
    5a. After calibrating the Kinect, 3D scanning using rgbd-scan-markers should work to capture a 360 degree view point cloud.
       Note: There are options for saving the model and they are saved in the same folder where the software is found by default (example images below).
    5b. Use the grab-mesh (automatically captures mesh) or rgbd-reconstructor (use start button) to capture a point cloud which is saved as a .ply (polygon) mesh in the RGB-Demo folder
    6. Download and install MeshLab (search google)
       Note: Many other free software programs besides MeshLab are available for 3D modeling, such as Blender, AutoDesk Maya with free 3 year Student License, or Autodesk 123D
    7. Refer to our tutorial on Cleaning up Point Cloud Meshes in MeshLab to push your project towards 3D printing
    On RGB-Demo's main page a demonstrational video shows an object being scanned on the calibration board.
# MakerBot/assembly of iris box
## Target Audience

Someone printing thingiverse iris box.

## Starting Point

Have printed the parts successfully, want to assemble.

## Replication Goal

Turn the cog wheel and the iris petals all move out of the way, but the lid doesn't shake open.

## Procedure Inspect

* leaf groove slides on box numb
* screw head travels in channel
* screw head goes through leaf hole and tightens into bottom of the lid
Check that the leaves, box and lid formed ok. The leaf groove slides on a box numb in an arc determined by the leaf groove. The leaf hole moves in a different path determined by the circle of the box. Twisting the lid causes these two points to rotate the leaves. youtube Video

## Procedure Assemble

* Check the numbs. One was missing so inserted screw and cut off head.
* Save metal screws. Small screws made in PLA are not that strong.
* insert screws into the lid bottom to make easier assembly in the future
* tape leaves together so they will stay in position
* turn everything upside down, align the holes
* put box on, drop screws down holes and tighten
* take the tape off
* test .. loosen or tighten screws until perfect
* The makerbot can knock off the numbs when making the bottom box. In this case a screw was inserted into the PLA where the numb was knocked off. Then the screw head was cut off with a dremel. The dremel caused the screw to heat up and melt the PLA. The PLA and screw were cooled in position with water. Water can cause the PLA to degrade, so care was taken to not soak anything. In the future, dremel, then run cold water over the screw head until cold. Go slow.
* Select screws
* The base has long holes in it coming up from the bottom. The holes are not tapered, so screw can have a head on it. Don't push screws down into the holes, find big head that still rattles down the hole and doesn't come out the top.
* Tape leaves together so they will stay in position
* Turn everything upside down, take base off, align holes in lid and leaves
* Put the box on upside down, drop screws into the holes and tighten
* Take the tape off and test ... loosen or tighen screws until perfect
# Java Tutorial/Methods

So far, we've been putting all our code into one method or function, main. However, we can also have more than one method! To make a new method, just write something like:
Note that there is nothing in the parentheses. Anything within it is called a parameter. But first, lets learn how to use our new method...
The main method calls anotherMethod, by writing its name. Now, say you wanted the main method to tell anotherMethod what to write. Then...
As you can see, anotherMethod takes in a String (what_to_print) as a parameter, and then accesses its value. However, this is not all that methods can do. As you can see, we are using something called void. This means, essentially, nothing. What if we wanted anotherMethod to tell the main method what to print? Well, look at this:
anotherMethod returns a string for main to print. Because it does this, anotherMethod is just like a variable, except that it's code is being executed instead of its value being accessed. You can change what it returns, but it has to be a String, as that's what we specified it would return.

## Excercises

* Change what anotherMethod returns to an integer
* Try removing main's parameter, and see what errors you get
Answer:
| Previous: | Control Structures II - Looping | Up: | Java Tutorial | Next: | Arrays |
# Java Tutorial/Overview of Swing components

| JColorChooser | extends JComponent |
| JDesktopPane | extends JLayeredPane |
| JFileChooser | extends JComponent |
| JFormattedTextField | extends JTextField |
| JOptionPane | extends JComponent |
| JSpinner | extends JComponent |
| JTextPane | extends JEditorPane |
| JRadioButton | extends JToggleButton |
| JRadioButtonMenuItem | extends JMenuItem |
| JSlider | extends JComponent |
| JToolTip | extends JComponent |
| DefaultTreeCellRenderer | extends JLabel |
| JTree | extends JComponent |
| DefaultTableCellRenderer | extends JLabel |
| JTableHeader | extends JComponent |
| JProgressBar | extends JComponent |
| JCheckBox | extends JToggleButton |
| JTabbedPane | extends JComponent |
| JTable | extends JComponent |
| JEditorPane | extends JTextComponent |
| JTextArea | extends JTextComponent |
| JViewport | extends JComponent |
| JScrollPane | extends JComponent |
| DefaultListCellRenderer | extends JLabel |
| JList | extends JComponent |
| JScrollBar | extends JComponent |
| JComboBox | extends JComponent |
| JSeparator | extends JComponent |
| JPopupMenu | extends JComponent |
| JMenuBar | extends JComponent |
| Box | extends JComponent |
| JToggleButton | extends AbstractButton |
| JSplitPane | extends JComponent |
| JToolBar | extends JComponent |
| JButton | extends AbstractButton |
| JCheckBoxMenuItem | extends JMenuItem |
| JMenuItem | extends AbstractButton |
| JMenu | extends JMenuItem |
| JInternalFrame | extends JComponent |
| JLayeredPane | extends JComponent |
| JTextField | extends JTextComponent |
| JPasswordField | extends JTextField |
| JPanel | extends JComponent |
| JRootPane | extends JComponent |
| JLabel | extends JComponent |

## Overview of Swing components

The components are listed in the {{/Sidebar}} template now.
Somebody could write more explanatory text here ...
# Java Tutorial/Intermediate GUIs/Why is Swing single-threaded?

Swing is single-threaded because the designers had no need for multi-threading and only to use one thread made the design simpler (so complexity and performance could be wasted in other places).
Of course the class SwingUtilities does offer invokeLater and invokeAndWait, which can be used to communicate with the Swing user interface from other threads. Computationally intensive tasks should always be performed on other threads to allow the user interface to remain responsive.
Some operating systems (for instance QNX, Haiku or Mach) intensively use messages for the communication between processes. If you would prefer a more message-oriented design, that can easily be retrofitted to Swing: Just implement the following interface and you can send messages. One should remember, however, not to make any calls into Swing components that weren't designed to be multi-threaded from other threads than the Swing thread. For your own components, however, there is no such limitation as long as you remember to use the synchronize keyword where it is required.
A MessagePort can easily send messages to the Swing thread by wrapping a call to invokeLater with a Runnable that knows what to do with the message. Of course other threads can also receive messages, which makes the design more consistent; your own Swing components can, of course, also send messages internally to cause computation on the Swing thread, when called from another thread.
# Java Tutorial/Intermediate GUIs/Working with tables/Locode viewer
## Locode viewer

This is a small program that downloads the list of UN location codes from the United Nations Economic Commission for Europe (UNECE) and displays the table of location codes with a special TableSorter class published by Oracle. The table sorter can sort by multiple rows (hold the CTRL key and select another row by clicking on the header to sort by a second or third row).

### Exercises

* Improve the table model and the rendering of table cells. What can be improved?
* Add a filter that can filter the table with regular expressions.
* Display location codes on a globe or allow to select regions on a map.
(Attention: If you write a program using location codes or the table sorter please pay attention to either license.)
# Java Tutorial/Template:Navigation

| Previous: | [[Java Tutorial/{{{1}}}|{{{1}}}]] | Up: | Java Tutorial | Next: | [[Java Tutorial/{{{2}}}|{{{2}}}]] |
# Java Tutorial/Intermediate GUIs/Writing a simple editor
## Writing a simple editor

Writing a simple editor is a good exercise to learn some of the details of a widget toolkit. This editor uses JTextPane as the editor but apparently the DefaultStyledDocument requires a buffer that has not been implemented yet, so you will have to start writing this editor by implementing a buffer class. You have to consider the Position interface and the UndoableEdit may require a bit of thought, but the buffer itself is also not entirely trivial.

### Exercises

* Fill in the auto-generated method stubs (the class BufferContent is a gap).
* Improve your editor with a JMenuBar
* Add optional display of line numbers and bookmarks.
* Add syntax highlighting for Java using an ANTLR parser.
* Add code folding for sections of code (e.g. methods, blocks and inner classes). The following method does iterate over sections (subclasses of Element) of an AbstractDocument. Can these sections be useful for code folding?
# Java Tutorial/JARs

This Programming Language resource is a "stub". Learn how you can help Wikiversity to develop it.
JAR -- It's abbreviated as Java Archive, when concept of bundling comes in picture these JAR are at the hand.
# Java Tutorial/Overview of Swing components/Sidebar

| JColorChooser | extends JComponent |
| JDesktopPane | extends JLayeredPane |
| JFileChooser | extends JComponent |
| JFormattedTextField | extends JTextField |
| JOptionPane | extends JComponent |
| JSpinner | extends JComponent |
| JTextPane | extends JEditorPane |
| JRadioButton | extends JToggleButton |
| JRadioButtonMenuItem | extends JMenuItem |
| JSlider | extends JComponent |
| JToolTip | extends JComponent |
| DefaultTreeCellRenderer | extends JLabel |
| JTree | extends JComponent |
| DefaultTableCellRenderer | extends JLabel |
| JTableHeader | extends JComponent |
| JProgressBar | extends JComponent |
| JCheckBox | extends JToggleButton |
| JTabbedPane | extends JComponent |
| JTable | extends JComponent |
| JEditorPane | extends JTextComponent |
| JTextArea | extends JTextComponent |
| JViewport | extends JComponent |
| JScrollPane | extends JComponent |
| DefaultListCellRenderer | extends JLabel |
| JList | extends JComponent |
| JScrollBar | extends JComponent |
| JComboBox | extends JComponent |
| JSeparator | extends JComponent |
| JPopupMenu | extends JComponent |
| JMenuBar | extends JComponent |
| Box | extends JComponent |
| JToggleButton | extends AbstractButton |
| JSplitPane | extends JComponent |
| JToolBar | extends JComponent |
| JButton | extends AbstractButton |
| JCheckBoxMenuItem | extends JMenuItem |
| JMenuItem | extends AbstractButton |
| JMenu | extends JMenuItem |
| JInternalFrame | extends JComponent |
| JLayeredPane | extends JComponent |
| JTextField | extends JTextComponent |
| JPasswordField | extends JTextField |
| JPanel | extends JComponent |
| JRootPane | extends JComponent |
| JLabel | extends JComponent |
# Java Tutorial/String and Character Manipulation
## Strings

* String str = "abc"
* String str = "abc"+"def"
* String str = "abc".substring(2,3);
* charAt
* concat
* String.format
* indexOf
* length
* split
* substring
* String.valueOf

## String builder

In Java, Strings are normally immutable objects - making a change necessitates creating a new String, which will be inefficient if you need to manipulate large amounts of text.
The StringBuilder class is designed for such instances.
The following methods are important for the string builder:
* append(addition): adds the value to the end of the string.
* charAt(index)
* delete(start, end)
* insert(offset, addition)
* length
* replace(start, end, str)
* toString
# Java Tutorial/Intermediate GUIs/Working with tables
## Example programs

* Locode viewer (a small program that downloads the list of UN location codes from the United Nations Economic Commission for Europe (UNECE) and displays the table of location codes)
# Linear mapping/Image and preimage/Linear subspaces/Fact/Proof/Exercise

Let $K$ be a field, and let $V$ and $W$ be $K$-vector spaces. Let
    $\varphi \colon V\longrightarrow W$
be a linear map. Prove the following facts.
* For a linear subspace $S\subseteq V$, also the image $\varphi (S)$ is a linear subspace of $W$.
* In particular, the image of the map is a subspace of $W$.
    $\operatorname {Im} \varphi =\varphi (V)\,$
* For a linear subspace $T\subseteq W$, also the preimage $\varphi ^{-1}(T)$ is a linear subspace of $V$.
* In particular, $\varphi ^{-1}(0)$ is a subspace of $V$.
# Linear mapping/Introduction/Section
## Definition

Let $K$ be a field, and let $V$ and $W$ be $K$-vector spaces. A mapping
    $\varphi \colon V\longrightarrow W$
is called a linear mapping, if the following two properties are fulfilled.
* $\varphi (u+v)=\varphi (u)+\varphi (v)$ for all $u,v\in V$.
* $\varphi (sv)=s\varphi (v)$ for all $s\in K$ and $v\in V$.
Here, the first property is called additivity and the second property is called compatibility with scaling. When we want to stress the base field, then we say $K$-linearity. The identity $\operatorname {Id} _{V}\colon V\rightarrow V$, the null mapping $V\rightarrow 0$ and the inclusion $U\subseteq V$ of a linear subspace are the simplest examples for linear mappings. For a linear mapping, the compatibility with arbitrary linear combination holds, that is,
    $\varphi {\left(\sum _{i=1}^{n}s_{i}v_{i}\right)}=\sum _{i=1}^{n}s_{i}\varphi (v_{i})\,,$
see exercise.

## Example

Let $K$ denote a field, and let $K^{n}$ be the $n$-dimensional standard space. Then the $i$-th projection, this is the mapping
    $K^{n}\longrightarrow K,\left(x_{1},\,\ldots ,\,x_{i-1},\,x_{i},\,x_{i+1},\,\ldots ,\,x_{n}\right)\longmapsto x_{i},$
is a $K$-linear mapping. This follows immediately from componentwise addition and scalar multiplication on the standard space. The $i$-th projection is also called the $i$-th coordinate function.

## Lemma

Let $K$ denote a field, and let $U,V,W$ denote vector spaces over $K$. Suppose that
    $\varphi :U\longrightarrow V\,\,{\text{ and }}\,\,\psi :V\longrightarrow W$
are linear mappings. Then also the composition
    $\psi \circ \varphi \colon U\longrightarrow W$

### Proof

$\Box$

## Lemma

Let $K$ be a field, and let $V$ and $W$ be $K$-vector spaces. Let
    $\varphi \colon V\longrightarrow W$
be a bijective linear map. Then also the inverse mapping
    $\varphi ^{-1}\colon W\longrightarrow V$

### Proof

$\Box$
# Linear mapping/Kernel/2152 3-27-1 2-1-43/Exercise

Determine the kernel of the linear map
    $\mathbb {R} ^{4}\longrightarrow \mathbb {R} ^{3},{\begin{pmatrix}x\\y\\z\\w\end{pmatrix}}\longmapsto {\begin{pmatrix}2&1&5&2\\3&-2&7&-1\\2&-1&-4&3\end{pmatrix}}{\begin{pmatrix}x\\y\\z\\w\end{pmatrix}}.$
# Linear mapping/Image and preimage/linear subspaces/Fact

Let $K$ be a field, let $V$ and $W$ denote $K$-vector spaces and let
    $\varphi \colon V\longrightarrow W$
be a $K$-linear mapping. Then the following hold.
* For a linear subspace $S\subseteq V$, the image $\varphi (S)$ is a linear subspace of $W$.
* In particular, the image $\operatorname {Im} \varphi =\varphi (V)$ of the mapping is a linear subspace of $W$.
* For a linear subspace $T\subseteq W$, the preimage $\varphi ^{-1}(T)$ is a linear subspace of $V$.
* In particular, $\varphi ^{-1}(0)$ is a linear subspace of $V$.