text:
Metasploit/UsingMetasploit

=Using Metasploit= This chapter covers various aspects of using The Metasploit Framework.

For the time being, its a collection of assorted topics. Later these can be organized to make more sense.

Using Databases with MSF
MSF allows storing scan/exploitation results into databases for persistent storage. The framework supports using quite a few database back-ends. These include:

 * Postgres
 * MySQL
 * SQLite (version 2 & 3)

Note: Except for SQLite (which stores the database as a file), you need to start the database server for Postgres or MySQL before starting to use the databases with the Framework.

Note: Using the Framework with postgres requires edits to /etc/postgresql/x.x/main/pg_hba.conf. Replace the default "ident" method with "trust" as shown:

Note: before using postgres, you must run. This requires header files that come with postgresql-dev

Note: For best results use msfconsole to interact with a database from the Framework.

Database storage comes in handy for MSF in quite a few ways. The most interesting/hot topic of automated exploitation (someone please write a good article on that based on H.D's blog) works with database integration. MSF can scan hosts using nmap and store their states in the DB and then automatically tries to exploit vulnerabilities that have exploits present for them in MSF. Auxiliary modules such as scanners can also utilize databases to store different state information. You can even write your own quick scanner and have it store information in the underlying database.

The Database Schema
MSF creates a database for its usage. This database contains following tables

 * hosts
 * creds
 * refs
 * services
 * vulns
 * vulns_refs
 * clients
 * events
 * loots
 * report_templates
 * reports
 * tasks
 * users
 * workspaces

You can easily view the structure of this database in your RDBMS.

Note: The folder framework_base_folder/data/sql/ contains SQL files that are used to create the database tables for a given RDBMS.

Loading A Database Module
Before starting to use databases with MSF, appropriate database module should be loaded. For msfconsole, this can be loaded by using the load db_* commands. Here is a sample session of using MySQL with MSF.

root # /etc/rc.d/rc.mysqld start    # start mysql database server Starting mysqld daemon with databases from /var/lib/mysql

root # msfconsole                   # start MSF console interface 888                          888        d8b888 888                          888        Y8P888 888                          888           888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 "888 "88bd8P Y8b888       "88b88K     888 "88b888d88""88b888888 888 888  88888888888888   .d888888"Y8888b.888  888888888  888888888 888  888  888Y8b.    Y88b. 888  888     X88888 d88P888Y88..88P888Y88b. 888  888  888 "Y8888  "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888 888                                           888                                            888        =[ msf v3.1-dev + -- --=[ 191 exploits - 104 payloads + -- --=[ 17 encoders - 5 nops =[ 35 aux msf > load db_mysql                # Load mysql database plugin [*] Successfully loaded plugin: db_mysql

msf > help                         # New set of commands are available now MySQL Database Commands =======================    Command        Description ---       ---     db_connect     Connect to an existing database ( user:pass@host:port/db ) db_create     Create a brand new database ( user:pass@host:port/db ) db_destroy    Drop an existing database ( user:pass@host:port/db ) db_disconnect Disconnect from the current database instance

Creating a Database
The first time you want to use a database with MSF, you need to create it. Once a database is created, you can use it by just connecting to it in future sessions. The db_create command allows you to create a new database. Let's create a database named metasploit

msf > db_create root:mydbpass@localhost/metasploit [*] Database creation complete (check for errors)
 * 1) Connect and user root with password mydbpass and create a database named metasploit

Once a database is created, it is automatically usable for that session. For further sessions, you can connect to the db.

Using an Existing Database
If you have created a database previously, then for future sessions you can just use it with the db_connect command.

root # msfconsole                   # start MSF console interface 888                          888        d8b888 888                          888        Y8P888 888                          888           888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 "888 "88bd8P Y8b888       "88b88K     888 "88b888d88""88b888888 888 888  88888888888888   .d888888"Y8888b.888  888888888  888888888 888  888  888Y8b.    Y88b. 888  888     X88888 d88P888Y88..88P888Y88b. 888  888  888 "Y8888  "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888 888                                           888                                            888        =[ msf v3.1-dev + -- --=[ 191 exploits - 104 payloads + -- --=[ 17 encoders - 5 nops =[ 35 aux msf > load db_mysql                                 # Load mysql database plugin [*] Successfully loaded plugin: db_mysql

msf > db_connect root:mydbpass@localhost/metasploit # Connect to the metasploit db

msf > help                # Upon connecting to a database, we get another new set of commands Database Backend Commands =========================    Command               Description ---              ---     db_add_host           Add one or more hosts to the database db_add_port          Add a port to host db_autopwn           Automatically exploit everything db_hosts             List all hosts in the database db_import_nessus_nbe Import a Nessus scan result file (NBE) db_import_nmap_xml   Import a Nmap scan results file (-oX) db_nmap              Executes nmap and records the output automatically db_services          List all services in the database db_vulns             List all vulnerabilities in the database

msf > db_hosts [*] Host: localhost

Disconnecting a Database
If in a session you feel that you no longer have the need to use the database then you can disconnect from the database by simply issuing the db_disconnect command at the 'MSF >' prompt.

Dropping a Database
When you just want to delete the database with all data in it (perhaps, you have taken a backup and are now looking to free up disk space), then you can do so by using the db_destroy command.

msf > db_destroy root:mydbpass@localhost/metasploit # Drops the metasploit database Database "metasploit" dropped

Database Backend Commands
When MSF is connected to a database, another set of commands called Database Backend Commands are available. These commands allow you to perform port scans on hosts, check for live hosts, what services they are running and the vulnerabilities that these services have.

Command              Description ---              ---                                             db_add_host           Add one or more hosts to the database db_add_note          Add a note to host db_add_port          Add a port to host db_autopwn           Automatically exploit everything db_hosts             List all hosts in the database db_import_nessus_nbe Import a Nessus scan result file (NBE) db_import_nmap_xml   Import a Nmap scan results file (-oX) db_nmap              Executes nmap and records the output automatically db_notes             List all notes in the database db_services          List all services in the database db_vulns             List all vulnerabilities in the database

The important one and most often used is db_nmap which will run nmap with specified commands and record the findings within the database.

msf> db_nmap -sS -P0 192.168.1.1 ...

To list the host(s) found in the scan...

msf> db_hosts [*] Time: Wed Mar 05 15:18:48 -0500 2008 Host: 192.168.1.1

To list possible vulnerabilities found in the scan of the host(s)... msf> db_vulns ...

db_autopwn
You can use another database backend command db_autopwn to execute exploits against the host(s) from the database. H.D. Moore wrote about this functionality when added to the framework -- for more information.

msf > db_autopwn [*] Usage: db_autopwn [options] -h        Display this help text -t        Show all matching exploit modules -x        Select modules based on vulnerability references -p        Select modules based on open ports -e        Launch exploits against all matched targets -s        Only obtain a single shell per target system (NON-FUNCTIONAL) -r        Use a reverse connect shell -b        Use a bind shell on a random port -I [range] Only exploit hosts inside this range -X [range] Always exclude hosts inside this range

title: Metasploit/UsingMetasploit


text:
Metasploit/UsingMixins

= Utilizing MSF Mixins For Exploit/Auxiliary Modules Development = Mixins are a handy mechanism in Ruby language to include functionality into a module. Although Ruby is a single-inheritance language, mixins provide a way to have multiple-inheritance of some sort. Metasploit makes good use of mixins. Understanding and efficiently using mixins is a vital part in the course of module development for MSF. This chapter aims to describe various mixins available, their purpose and functionality.

Please note  that mixins are normally not tied to a specific module category (Exploit, Auxiliary etc), though they appear under the one which most closely suits them. This means that you can use Exploit module mixins in Auxiliary modules and vice versa.

The Auxiliary::Report Mixin
This mixin is used to save host, service and vulnerability info to a database. It provides two methods report_host and report_service that are used to indicate the status of a host (Up or Down etc) and a service. To use this module you need to include it into your classes by using: include Auxiliary::Report

After including the mixin, you can use its method to save info in the DB.

Please note  if you haven't loaded a backend database, calling these methods won't do anything and will not raise an error.

Auxiliary::Report.report_host
This method takes in a hash argument. To save the status of a host that is up, you can call this method as:

report_host(:host => datastore['RHOST'])

To specify that a host is not online (dead), pass the second parameter to the method that should be of type HostState.

report_host(:host => '127.0.0.1', Msf::HostState::Dead)

Auxiliary::Report.report_service
Similar to the report_host method, this method also takes a hash argument containing various key-value pairs. The hash can contain values for the following keys:

 * addr (The hostname or address)
 * port (The numerical port number)
 * proto (Protocol can be  'tcp'  or  'udp' )
 * name (Service name, like 'http', 'https', etc)
 * state (service state of type Msf::ServiceState)

The code snippet below reports TCP port 80 to be open for localhost. Notice that the default value for state is Msf::ServiceState::Up so we don't need to specify the state parameter. report_service(:host => 'localhost',               :port => 80,                :name => 'HTTP'               )

The Auxiliary::Scanner Mixin
The Scanner mixin allows modules to have the ability to perform operations on more than one host. The easiest and most common way to implement a scanner is to include the scanner mixin with a line like:

include Auxiliary::Scanner

and then implement the run_host(ip) method in your module

def run_host(ip) print_status("Processing IP #{ip}") end

Each host/IP is automatically passed to this function and you just have to implement your logic as if you were working on a single host.

Including the scanner mixin removes the RHOST option from the module options and adds a RHOSTS option to the module. This option allows you to specify network address ranges (like: 192.168.10.0/24, 11.23.45.6-11.23.45.56, etc). This allows module users to specify the hosts to scan.

run_host
called with a single IP, with THREADS concurrent threads. The best way to mass-test a range of addresses for a host-specific issue.

run_batch
called with a group of IPs with the size defined by the run_batch_size method, with THREADS concurrent threads. This means it will process multiple batches at the same time, so don't use this for single-host testing (its useful for a few edge cases basically).

run_range
called *once* for the entire range of hosts. This is useful if you are going to be passing this range to another tool or doing some network-wide test. For example, calling the nmap program.

USING MULTIPLE THREADS FOR SCANNING
The scanner module now has an additional feature of using multiple threads to have multiple hosts scanned in parallel. Including the scanner mixin now adds an additional THREADS option to your module with a default value of 1. Module users and/or developers can change this value to anything greater than 1 to have multiple-threaded scanning.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Metasploit/UsingMixins


text:
Wikibooks talk:Featured books/Nominations

Completeness and Formatting
I agree with Xania that formatting is relatively minor thing, and that it would make somewhat of a bias towards books written by those who know more about wiki markup to favor those books with good formatting. Also, I think that if we feel formatting is the only thing keeping something from becoming a "featured book" then we should collaborate to fix the formatting (for the sake of any authors that do not know how) and then it'd be good to go.

As far as content is concerned, I think that there needs to be some break-point as far as how in-depth the book goes on a topic, yes I agree with Xania that formatting isn't as important but I would beg to differ about the amount (and, even more importantly, the quality) of the content. I agree that a good book doesn't need to be that long (eg the survival guide, which covers a rather narrow topic but does so well; also chess only has 7 pages I think but they cover the most essential topics regarding the game) but I feel it does need to cover a significant amount of the proposed topic.

I think part of the problem might be that we need to think about whether we want this project to be a list of good books or a list of the best books on the project, because it seems to me at least that there's some disagreement of which is which. I'd suggest that perhaps we should develop a more specific set of standards so that we know what we're looking for in content particularly before we vote on something (because we have several guidelines for formatting but only 1-2 very general points as far as content is concerned). I myself would vouch for the latter since the project is, as far as I can tell, reader-oriented. Mattb112885 (talk) 21:00, 20 April 2007 (UTC)

 * I'm really trying to put our best books forward, because I think readers will be more impressed by the "cream of the crop" then by a whole bunch of books that are  just "good enough". I will entertain criticisms that I am being too myopic. --Whiteknight (talk) (projects) 21:10, 20 April 2007 (UTC)

 * I agree completely with Whiteknight. It's far better to have a shorter list of truly excellent books than a long list of books that are just ok or even "good" ("good" is a really undescriptive word, and not really that high an accolade). I also don't like how we use the term "good books" in some places and "featured books" in others. Is there a difference? Is one an older naming convention than the other?
 * On Mattb112885's points, I think that both formatting and actual content are equally important. When looking at a textbook, there's nothing more daunting than a huge pile of unformatted text. No matter how thrilling the prose its, it's still just text and you won't learn much from it, in my opinion. On the other hand, substandard content cannot be improved by making it pretty; formatting alone does not a good book make. I believe that we need to require both good content, and good formatting, in order for a book to be featured. These are supposed to be the showcase of the website, and if they're lacking in either area, they're clearly not showing our full potential, or a standard for which to aim.
 * I also agree that we need to set some proper descriptive standards that encompass everything, so that we're all working from roughly the same page when voting.
 * Kind regards, Celestianpower 22:01, 20 April 2007 (UTC)

 * That is true, it can't be completely UN-formatted, I'm just saying that as long as the basic formatting is there we probably shouldn't look past the book just because it doesn't use fancy templates and what have you, as long as whatever is there does the job. Mattb112885 (talk) 21:31, 21 April 2007 (UTC)

 * We also have to ask how much effort, exactly, does it take to properly format a book to a minimum standard? The breaking of different subjects into different headings is one of the most important, and easiest, steps in formatting a book properly. Using bold on keywords, or italics on items that need emphasis are good too, but not always necessary. Other formatting tools such as tables, image captions, definition lists, etc are all nice but certainly not needed (and not always applicable). In the end, the formatting required is very very small, but that minimum level should not be ignored. --Whiteknight (talk) (projects) 23:21, 22 April 2007 (UTC)

Removing featured books
Should books that pass the nominations be removed from the list? RobinH 08:48, 23 April 2007 (UTC)

Re-nominations
Marketing has been re-nominated. Perhaps there should be some criteria for renomination. I would like to see, as a minimum:

 * 1) A link to the original nomination.
 * 2) A description of how the concerns raised in the rejection have been addressed.

Marketing is an interesting example for re-nomination because voters suggested changes that would make it eligible for featured book status rather than rejecting outright. RobinH 07:55, 2 May 2007 (UTC)

 * I agree, this just makes more sense than simply repeatedly posting something and hoping it passes. Mattb112885 (talk) 11:19, 2 May 2007 (UTC)

 * I changed the text of Good books to say that a book may not be renominated for at least one month (which is arbitrary, i know), or until the criticisms from the first nomination have been addressed. Providing a link to the previous nomination, if it can be found in the archives, is a good idea too. The Good books page is just a proposal right now, but if we keep doing what it says and nobody objects I think we could just make it into a guideline eventually. --Whiteknight (talk) 13:37, 2 May 2007 (UTC)

Algorithms comments
I definitely like the idea of an Algorithms book, and I do somewhat enjoy the tone. With respect to Xania's comment, the abbreviations and jargon are explained in the mathematical background, but you might have to wade through them to understand. This book is much more formal/theoretical than it is technical, so there are some inherent limits to how friendly one can make it. Friendliness would be brilliant, of course, but for an algorithms book (as opposed to a programming book), the priority is more to be correct than it is to be understandable. Overall, we can forgive this book for not being completely accessible to the general public. This book is likely suited for students in computer science programmes, and 'practical' computer programmers interested in catching up on their formal training -- Kowey 07:33, 4 May 2007 (UTC)
 * I am a former computer science student and graduate yet I will not support any book which doesn't aim to be "understandable". The worst thing about computer science today is that jargon and technical language is unnecessarily frightening for unfamiliar users - and it doesn't need to be. Xania [[Image:Flag_of_Italy.svg|15px]]talk 20:15, 4 May 2007 (UTC)
 * I have to be honest with you Xania, i dont see anything in this book that is particularly complicated or unaccessible. Remember that textbooks are not collections of articles, and that there is an intended reading order. If you start at the beginning of the book, and don't just flip to a random chapter, all the necessary terms and "jargon" are explained. Alot of the algorithms may not be intuitive or obvious, but that's because many of them deal with specific data structures. For instance, you dont need to know algorithms for manipulating a binary tree unless you know what a binary tree is in the first place. --Whiteknight (talk) 20:28, 4 May 2007 (UTC)

Xania - I'm still trying to decide how to vote on this one. Could you offer some concrete suggestions on how the authors could make this book more accessible? That is, not just "avoid burying the user in jargon and technical language", but specific points that could be made clearer. I would also be willing oppose if you could show a better way; otherwise, I'm leaning towards support.

Also out of curiosity, what kind of computer science did you study? Theoretical computer science with automata and what not, or more practical programming-oriented stuff? -- Kowey 08:44, 16 May 2007 (UTC)

 * Apologies for the late reply. I now see the appendix and explanations of terms that I had previously confused me.  I'm willing to support this book.  I studied 'Computation' which is geared towards a very broad study of all things computer-related, from software programming, statistics, social consequences of computers and modern technology, using computers for learning, computer architecture and software quality.  Basically a little of everything. Xania [[Image:Flag_of_Italy.svg|15px]]talk 22:44, 16 May 2007 (UTC)

 * Thanks for that. I think that's why this book seemed a little bit incomprehensible at first; it really does lean towards the theoretical part of computer science (well, it's halfway in between theory and practical, I guess).    It will be a useful resource, though -- Kowey 06:30, 17 May 2007 (UTC)

New look
I don't like the new look with the table of contents down the middle. Kayau ( talk | email | contribs ) 02:39, 16 July 2010 (UTC)
 * Looks like it was the result of deleting a |} by accident. I've fixed it.
 * never mind. Kayau ( talk | email | contribs ) 03:38, 16 July 2010 (UTC)

Archiving this stuff
Some of the nominations on the main page are two years old and long closed. I was going to move them to an archive but not sure where. I found a whole page of archives but they are all placed in a page of their own which seems very inconvenient and moving each closed nomination will be too time-consuming. Can we not just archive them as we would archive anything else and have one page for each year of nominations?--ЗAНИA talk 20:20, 16 March 2013 (UTC)

 * Hm. One-to-a-page is the way we archive deletion discussions, too.  The advantage, I suppose, is ability to automatically generate a link to it (or to them, if there are multiple nominations).  This is an instance where a bit of semi-automation to make the operation easier to do "by hand" would be a big help.  --Pi zero (discuss • contribs) 21:05, 16 March 2013 (UTC)

 * Yeah I forgot about the delete discussions. Seems a lot of work for something that almost nobody would ever want to read again.  I'll leave it until somebody has the time to move them to their resting place or a bot does the work for us.  It would be much simpler if we just moved them all to one page and then copied the main comments and a link to the archive page onto the book's Talk page.--ЗAНИA [[Image:Flag_of_Estonia.svg|15px]]talk 21:13, 16 March 2013 (UTC)

 * The other example of this I've seen was on Wikinews, where someone tried to set things up so that requests for privileges would all be filed away neatly in per-request archive pages, and whenever someone requested any sort of a privilege, a complete list of all their past requests for any privilege whatever would automatically pop up. Which makes all kinds of sense for Wikinews because it's quite common for any regular Wikinewsie to have multiple such requests, except that it was going to be too much work to maintain.  So there's clearly a market for a tool that would make this sort of per-request archiving easy to do.  --Pi zero (discuss • contribs) 01:24, 17 March 2013 (UTC)

Drive-bys
The most recent comment under the section about nomination for addition of the wikibook on OpenSSH looks like a drive-by and unintended to help the book. It is mostly addressing problems that don't exist and appears trying to change the scope of the book. It looks like the account owner has not read the book introduction even, especially about how the scope matches the title. There aren't even any missing or dead links in the section referred to in the nomination comment. I've looked at the comments that account has left in the book and there's not much on-topic there either. That said, I have tried gleaning what liitle I can from those. What should be done about the apparent drive-by account or its comment in the nominations? Larsnooden (discuss • contribs) 11:49, 2 May 2020 (UTC)
 * Are you are referring to the in the discussion? --12:16, 2 May 2020 (UTC)
 * Not so much the vote itself as the erroneous comments accompanying it. Larsnooden (discuss • contribs) 12:20, 2 May 2020 (UTC)
 * There appear to me to be two possible approaches, that call I think for careful weighing before doing either: reversion or reply. I've been thinking about how best to do each of these.
 * On my own I wouldn't revert because I wouldn't be confident enough of whether this is really vandalism; I'd be interested to know what thinks of this, as someone more familiar than I with the material (and an admin who has dealt with some subversive vandalism).  If I were reverting I'd likely use as edit summary a more compact form of the reply I'd most likely write.
 * The reply I've tentatively considered reads "It's not clear to me that these criticisms are consistent with the book material they're directed at (a concern also raised by Larsnooden)."
 * --Pi zero (discuss • contribs) 14:27, 2 May 2020 (UTC)
 * Thanks. I'll think about it more.  Larsnooden (discuss • contribs) 14:43, 2 May 2020 (UTC)
 * It's not a vandal because the critic is skilled and founded, so we shouldn't revert it. I'm going to reply... JackPotte (discuss • contribs) 20:19, 2 May 2020 (UTC)
 * I've considered some of the points again. 1)  The chapter on Public Key Authentication has been reworked.  2) The chapter on Host-based Authentication has also been reworked.  3) A chapter on Certificate-based authentication has been added.  4) The section on Managing Keys had been reworked slightly but there is not much to say since the main activity there concerns managing files, an activity related to system administration.  5) Automated backup has been touched up ever so slightly.  However 6) X-Windows is already covered in the section on Remote Processes, albeit briefly because anyone needing a tutorial to find the -X option is not going to be happy with the latency, so I'm not seeing merit in expanding that.  7) I'd expand on Automated Backup if I can see a way to do it without going off on a tangent and turning it into a shell scripting tutorial.  As it is now that chapter seems clear and to the point.  Larsnooden (discuss • contribs) 09:11, 9 May 2020 (UTC)

What do you mean Wikivuyo (discuss • contribs) 19:41, 13 April 2022 (UTC)


text:
Online OsiriX Documentation/Volume Rendering Settings

Online OsiriX Documentation/Volume Rendering Settings

Volume Rendering
Creating Volume Rendered images can be challenging. The window width and level need to be selected and the correct Color Lookup Table chosen. There are additional settings for the Opacity table and shading settings.

Virtual Endoscopy Settings

 * Window Level: -300
 * Window Width: 700
 * In OsiriX 2.7 and above create a custom 8 bit CLUT shading from a light pink to a darker pink
 * Use a logarithmic Opacity table.
 * Shading Settings
 * Ambient Coefficient: 0.12
 * Diffuse Coefficient: 0.62
 * Specular Coefficient: 0.73
 * Specular Power: 50.0


text:
Adventist Youth Honors Answer Book/Outreach/Christian Citizenship

The answers to the Christian Citizenship honor are dependent on the country in which you live. To keep from cluttering up the answers with all these variants, we instead provide separate answer chapters for each country.

Christian Citizenship (Antigua & Barbuda) Christian Citizenship (Australia) Christian Citizenship (Canada) Christian Citizenship (Guyana) Christian Citizenship (India) Christian Citizenship (Indonesia) Christian Citizenship (Jamaica) Christian Citizenship (Kenya) Christian Citizenship (Malaysia) Christian Citizenship (New Zealand) Christian Citizenship (Philippines) Christian Citizenship (Sint Maarten) Christian Citizenship (South Africa) Christian Citizenship (Trinidad and Tobago) Christian Citizenship (United Kingdom) Christian Citizenship (United States) Christian Citizenship (Zimbabwe) Christian Citizenship (Ghana)

If your country is not listed here, please add it. To create a new page, click on the red link. To add the requirements paste the following text into the newly-created page:

Save the page, and then start adding answers.

| /Honors with Region-dependent Answers


text:
Talk:Metasploit

I am concerned that this book is not as academically focused as it could be. --Remi 23:54, 20 April 2007 (UTC)

I just found this wiki book by pure chance, and I think that it is a great thing to do. My concern is as follows:

There are three approaches that can be taken, academic, as stated by Remi0o, technically enabled, as in the language HDM will understand - and basic beginer, someone trying to learn how to use metasploit. Has this been discussed anywhere? If maybe a few people can get together, and at least have a plan for all the sections that will be placed in the book, that would be a good idea I think. Thanks for looking :)

title: Talk:Metasploit


text:
User talk:62.7.131.186

Hi,

Sorry I had to remove the stuff you added to requirement 5 of the Fungi honor, but it violated the copyright policy of Wikibooks. I removed it and replaced it with section headers. We can copy stuff out of Wikipedia and paste it into here. I also added the website the text had been taken from as a reference at the bottom. -- Jomegat 01:22, 21 April 2007 (UTC)

title: User talk:62.7.131.186


text:
Adventist Youth Honors Answer Book/Nature/Fungi/Fusarium oxysporum

Fusarium oxysporum, also referred to as Agent Green, is a fungus that causes Fusarium wilt disease in more than a hundred species of plants. It does so by colonizing the water-conducting vessels (xylem) of the plant. As a result of this blockage and breakdown of xylem, symptoms appear in plants such as leaf wilting, yellowing and eventually plant death.

Interest in Fusarium oxysporum as a pesticide was first raised after the discovery in the 1960s that it was the causative agent in the destruction of the Hawaiian coca population.

The United States government was involved in a controversial program to use Fusarium oxysporum for the eradication of coca in Colombia and other Andean countries, but these plans were cancelled by president Bill Clinton who was concerned that the unilateral use of a biological agent would be perceived by the rest of the world as biological warfare. The Andean nations have since banned its use throughout the region. Use of biological agents to kill crops is potentially illegal under the Biological Weapons Convention.

|


text:
Adventist Youth Honors Answer Book/Nature/Fungi/Downy mildew

Downy mildew refers to any of several types of oomycete that infect plants. In commercial agriculture, they are a particular problem for growers of crucifers, grapes and vine-type vegetables.

The prime example is Peronospora farinosaas featured in NCBI-Taxonomy and HYP3.

Cucurbit downy mildew (caused by Pseudoperonospora cubensis) is specific to cantaloupe, cucumber, pumpkin, squash, watermelon and other members of the gourd family. The disease is one of the most important diseases of cucurbits worldwide.

|


text:
WebObjects/Additional Resources/WebObjects Training

Training is offered via the Seattle-based Ǔbermind, Inc. Ǔbermind offers a thorough 5-day introductory course as well as custom courses for interested parties. The courses are taught by the handful of indie contractors that make-up Ǔbermind, most of whom are long-term contractors for various internal Apple teams.


text:
Introduction to Chemical Engineering Processes/Systems of algebraic equations

What is a System of Equations?
A system of equations is any number of equations with more than one total unknown, such that the same unknown must have the same value in every equation. You have probably dealt a great deal, in the past, with linear systems of equations, for which many solution methods exist. A linear system is a system of the form:

Any system that is not linear is nonlinear. Nonlinear equations are, generally, far more difficult to solve than linear equations but there are techniques by which some special cases can be solved for an exact answer. For other cases, there may not be any solutions (which is even true about linear systems!), or those solutions may only be obtainable using a numerical method similar to those for single-variable equations. As you might imagine, these will be considerably more complicated on a multiple-variable system than on a single equation, so it is recommended that you use a computer program if the equations get too nasty.

Solvability
A system is solvable if and only if there are only a finite number of solutions. This is, of course, what you usually want, since you want the results to be somewhat predictable of whatever you're designing.

Here is how you can tell if it will definitely be impossible to solve a set of equations, or if it merely may be impossible.

Solvability of systems:
 * 1) If a set of n independent equations has n unknowns, then the system has a finite (possibly 0) number of solutions.
 * 2) If a set of n independent equations has less than n unknowns then the system has an infinite number of solutions.
 * 3) If a set of n independent or dependent equations has more than n unknowns then the system has no solutions.
 * 4) Any dependent equations in a system do not count towards n.

Note that even if a system is solvable it doesn't mean it has solutions, it just means that there's not an infinite number.

Methods to Solve Systems
As you may recall there are many ways to solve systems of linear equations. These include:

 * Linear Combination: Add multiples of one equation to the others in order to get rid of one variable. This is the basis for Gaussian elimination which is one of the faster techniques to use with a computer.
 * Cramer's rule which involves determinants of coefficient matrices.
 * Substitution: Solve one equation for one variable and then substitute the resulting expression into all other equations, thus eliminating the variable you solved for.

The last one, substitution, is most useful when you have to solve a set of nonlinear equations. Linear combination can only be employed if the same type of term appears in all equations (which is unlikely except for a linear system), and no general analogue for Cramer's rule exists for nonlinear systems. However, substitution is still equally valid. Let's look at a simple example.

Example of the Substitution Method for Nonlinear Systems
Solution: We want to employ substitution, so we should ask: which variable is easier to solve for?. In this case, X (in the top equation) is easiest to solve for so we do that to obtain:

$$ X = 4 - Y^2 $$

Substituting into the bottom equation gives:

$$ (4 - Y^2)^2 - Y^2 = 22 $$

$$ 4 - 8Y^2 + Y^4 - Y^2 = 22 $$

$$ Y^4 - 9Y^2 - 18 = 0 $$

This can be solved by the method of substitution:

Let $$ U = Y^2 $$. Plugging this in:

$$ U^2 - 9U - 18 = 0 $$

Solving by factoring:

$$ (U - 6)(U - 3) = 0 $$

$$ U = 3,6 $$

Thus since $$ U = Y^2 $$ we obtain four solutions for Y!

Notice, however, that depending on where this system came from, the negative solutions may not make sense, so think before you continue!

Let's take into account all of them for now. Since we have Y we can now solve for X:

$$ X = 4 - Y^2 = 4 - U $$

Notice that even a small system like this has a large number of solutions and, indeed, some systems will have an infinite number, such as:

 * 1) $$ y = sin(x) $$
 * 2) $$ y = cos(x) $$

Numerical Methods to Solve Systems
There are numerical equivalents in multiple variables to some of the methods demonstrated in the previous section. Many of them in their purest forms involve the use of calculus (in fact, the Taylor method does as well), but as before, they can be reduced to approximate algebraic forms at the expense of some accuracy.

Shots in the Dark
If you can solve all of the equations explicitly for the same variable (say, y) you can guess all but one and then compare how different the resulting values of y are in each equation. This method is entirely brute-force, because if there are more than two equations, it is necessary to guess all of the variables but one using this method, and there is no way to tell what the next guess should be. Trying to guess multiple variables at once from thin air gets to be a hastle even with a computer.

Since there are so many problems with this method, it will not be discussed further

Fixed-point iteration
Again, the multivariate form of fixed-point iteration is so unstable that it generally can be assumed that it will not work. Weighted iteration is also significantly more difficult.

Looping method
This is one method that does work, and that is somewhat different from any single-variable method. In the looping method technique, it is necessary to be able to solve each equation for a unique variable, and then you'll go around in a loop essentially, starting with an initial guess on (ideally) a single variable, say y, and then evaluating all equations until you return to your original variable with a new value y'. If the result is not the same as the guess(es) you started with, you need to make a new guess based on the trends in the results.

More specifically, here is an algorithm you can use:

 * 1) Solve all equations for a different variable.
 * 2) Make a guess on one variable (or as many as necessary to evaluate a second one, if it's more than one it gets harder though, so it is recommended to use another method)
 * 3) Go through all of the equations until you end up recalculating the variable (or all of the variables) which you had originally guessed. Note whether the result is higher or lower than your guess.
 * 4) Make another guess on the variable(s). Go through the loop again.
 * 5) After these two guesses, we know whether increasing or guess will increase or decrease the recalculated value. Therefore, we can deduce whether we need to increase or decrease our guess to get a recalculated value equal to the guess.
 * 6) Keep guessing appropriately until the recalculated value equals the guess.

This technique is often necessary in engineering calculations because they are based on data, not on explicit equations for quantities. As we'll see, however, it can be difficult to get it to converge, and this method isn't that convenient to do by hand (though it is the most reliable one to do realistically). It is great, however, for inputting guesses into a computer or spreadsheet until it works.

First we need to solve one of them for x, let's choose the first one:

$$ x = -ln(y) $$

 * To start off, we make a guess: y = 0.1 Then from the first equation, x = 2.303
 * Plug this back into the second equation and you'll come out with y' = 0.834. The recalculated value is too high.

 * Now make a new guess on y: say, y = 0.5. This results in x = 0.6931
 * Plugging back into the second equation gives y' = -0.3665. The recalculated value is too low.

 * Lets now try y = 0.25.
 * This results in x = 1.386 from the first equation and y' = 0.326 from the second. Too high so we need to increase our guess.

 * Let's guess y = 0.3
 * This yields x = 1.204 and thus y' = 0.185, which is too low indicating the guessed value was too high.

 * Guess y = 0.28, hence x = 1.273 and y'= 0.241. The guess is therefore still too high.

 * Guess y = 0.27, hence x = 1.309 and y' = 0.269. Therefore we have now converged:

Looping Method with Spreadsheets
We can do the guessing procedure more easily by programming it into a spreadsheet. First set up three rows like so:

A        B      C 1  y guess     x      y' 2           =-ln(A2) =ln(B2)

In B2 we put the first function solved for x, and in C2 we have the second function solved for y. Now all we need to do is type in guesses in A2 until the value in C2 is the same as our guess (the spreadsheet will automatically calculate B2 and C2 for you). To make things even easier, put the line $$ =A2 - C2 $$ into cell D2. Since we want y' to equal y, just keep guessing until the value in D2 is as close to zero as you like.

As a more in-depth example (which would be significantly more difficult to do by hand), consider the system:

In order for this to work, we only need to solve each equation for a unique variable, the expression need not be explicit! The following will work (assuming that X is a positive quantity), and this will be evident shortly:

 * $$ T = \frac{2*P^2*X^2 - 3*e^{-X/T}}{T-2} $$
 * $$ X = \sqrt{T^3 - P} $$
 * $$ P = 0.1T $$

Now we need to ask: which variable would be the best to guess to start the iteration procedure? In this case the best answer is T because from this guess, we can calculate P from equation 3, then X from equation 2, and finally a new guess on T from equation 1, and use this new value as a gauge of our old guess.

Lets program this into the spreadsheet:

A               B           C                        D                                        E 1   T guess            P           X                        T'                                    T' - T guess 2                  =0.1*A2    =sqrt(A2^3 - B2) =(2*B2^2*C2^2 - 3*exp(-C2/A2))/(A2 - 2)          =D2 - A2

Once all this is programmed in, you can just input guesses as before, with the eventual result that:

Multivariable Newton Method
There is a multivariate extension to Newton's method which is highly useful. It converges quickly, like the single-variable version, with the downside that, at least by hand, it is tedious. However, a computer can be programmed to do this with little difficulty, and the method is not limited only to systems which can be explicitly solved like the looping method is. In addition, unlike the looping method, the Newton method will actually give you the next set of values to use as a guess.

The method works as follows:

1. Solve all of the equations for 0, i.e. let $$ 0 = F(x_1, x_2, ...) $$ for all functions F in the system.

2. Guess a value for all variables, and put them into a matrix (X). Calculate the value of all functions F at this guess, and put them into a matrix (F).

3. We need to find estimates for all the partial derivatives of the function at the guessed values, which is described later.

4. Construct a matrix (to become the Jacobian) as follows: make an empty matrix with n rows and n columns, where n is the number of equations or the number of variables (remember, a solvable system generally has the same number of equations as variables. Then label the columns with the names of variables and the rows with the names of your functions. It should look something like this:

$$ \begin{bmatrix} --& x_1& y_2 & ... \\ F_1 & & &  \\ F_2& & & \\ ... & & & \\                   \end{bmatrix}. $$ 5. Put the appropriate partial derivative in the labeled spot. For example, put the partial derivative with respect to x1 from function 1 in the first spot.

6. Once the Jacobian matrix is completely constructed, find the inverse of the matrix. There are multiple computer programs that can do this including this one (WARNING:Not tested software, use at your own risk!). Or you can do it by hand if you know how.

7. Matrix-multiply the inverse Jacobian with the transpose function matrix F (to make it a column matrix), then subtract this from the transposition of X (again, make it a column matrix):

8. The result is your next guess. Repeat until convergence.

Estimating Partial Derivatives
A Partial derivative is, in its most basic sense, the slope of the tangent line of a function with more than one variable when all variables except one are held constant. The way to calculate it is:

Now we need to stay organized, so let's introduce some notation:

To calculate it:

 * 1) Calculate one function F at your guess.
 * 2) Increase one variable, x, by a very small amount $$ \delta $$. Leave all other variables constant.
 * 3) Recalculate F at the modified guess to give you F'.

The partial derivative of the function F with respect to x is then $$ \frac{\delta F_1}{\delta x} = \frac{F_1(x+\delta,y) - F_1(x,y)}{\delta} $$.

Example of Use of Newton Method
Let's go back to our archetypal example:

 * $$ y = e^{-x} $$
 * $$ y = ln(x) $$

Step 1: We need to solve each for zero:

 * $$ F_1 = 0 = e^{-x} - y $$
 * $$ F_2 = 0 = ln(x) - y $$

Step 2: Lets guess that x = 2.303 and y = 0.1 (it's a good idea to choose guesses that satisfy one of the equations). Then:

$$ X = [2.303, 0.1] $$

The values of F at this guess are $$ F_1 = 0, F_2 = 0.734213 $$, and hence by definition:

$$ F = [0, 0.724213] $$

Step 3-5: Calculate the partial derivatives Lets choose $$ \delta = 0.01 $$. Then:

 * $$ \frac{\delta F_1}{\delta x} = \frac{F_1(x+\delta,y) - F_1(x,y)}{\delta} $$
 * $$ = \frac{(e^{-2.303+0.01}-0.1) - (e^{-2.303}-0.1)}{0.01} = -0.1036 $$

 * $$ \frac{\delta F_1}{\delta y}= \frac{F_1(x,y+\delta) - F_1(x,y)}{\delta} $$
 * $$ = \frac{(e^{-2.303}-(0.1+0.01)) - (e^{-2.303}-0.1)}{0.01} = -1 $$

The partial derivatives of F2 can be similarly calculated to be $$ {\delta F_2}{\delta x} = 0.433 $$ and $$ {\delta F_2}{\delta y} = -1 $$

Therefore, the Jacobian of the system is:

$$ \begin{bmatrix} --& x& y \\ F_1 & -0.1036 & -1 \\ F_2& +0.433 & -1 \\ \end{bmatrix}. $$

Step 6: Using any method you know how to do, you can come up with the inverse of the matrix:

$$ J^{-1} = \begin{bmatrix} --& x& y \\ F_1 & -1.3636 & 1.8636 \\ F_2& -0.8069 & -0.1931 \\ \end{bmatrix}. $$

Step 7: The transposition of F is simply:

$$F^T = \begin{bmatrix} F \\ 0\\ 0.734213 \\                   \end{bmatrix}. $$

Therefore by doing matrix multiplication you can come up with the following modifying matrix:

$$ J^{-1} * F^T = \begin{bmatrix} \Delta \\ 1.3682\\ 0.1418 \\                   \end{bmatrix}.$$

Therefore, we should subtract 1.3682 from x and 0.1418 from y to get the next guess:

$$ x = 0.9373, y = 0.2418 $$

Notice how much closer this is to the true answer than what we started with. However, this method is generally better suited to a computer due to all of the tedious matrix algebra.


text:
User:Shakah

Welcome to my page!

title: User:Shakah


text:
User:TekSupport

CLICK THE DISCUSSION PAGE

title: User:TekSupport


text:
Common Lisp/Advanced topics/Files and Directories/C struct

= Lisp manipulation of C structures =

Overview
Ultimately, dealing with a  generated by a C or C++ program involves loading that structure into a buffer and picking out the individual fields. Similarly, sending such a structure involves composing a buffer.

Some type conversion is necessary when using strings or characters in Lisp.

The preferred approach here is to use  for bits coming from or going to the C structure.

While character arrays may be cheap in other languages like C or permit exploiting the de facto nature of the ASCII character set, that's the wrong approach for ANSI Common Lisp.

The ANSI specification does not guarantee that a character will contain ASCII or ISO-8859-1 or similar character sets. In fact, the ANSI spec only guarantees up to character code   even though contemporary implementations may support Unicode.

Similarly to what's advised for Files and Directories, simply read or write a vector of unsigned bytes.

Anything in the rest of your Lisp program that needs to work with actual strings or characters should convert only as needed after reading.

Reading
(defun read-c-file (&optional (file-path "data.struct") (max-length 48)) (with-open-file (stream (merge-pathnames file-path)			  :element-type '(unsigned-byte 8)			  :direction :input) (let ((buffer (make-array max-length :element-type '(unsigned-byte 8) :fill-pointer t)))     (let ((actual-length (read-sequence buffer stream					  :end max-length))) (setf (fill-pointer buffer) actual-length) (format t "received=~a max=~a buffer=~s~%" actual-length max-length buffer))     buffer)))

Use of  for the array is optional but recommended to help track the actual length received, which may differ from what was attempted to be read.

Writing
(defun write-C-file (buffer &optional length (file-path "data.struct")) (unless length (setf length (length buffer))) (with-open-file (stream (merge-pathnames file-path)			  :element-type '(unsigned-byte 8)			  :direction :output			  :if-exists :rename) (let ((written (length (write-sequence buffer stream))))     (format t "wrote=~a bytes buffer=~s~%" written buffer)))  buffer)

Processing
When processing the vector of  elements, convert each field of the corresponding C structure as needed based upon byte offsets. (Note that it's actually a vector despite being created with . The distinction is that this has only a single dimension.)

Extracting a string from the raw bytes: (map 'string #'code-char    (subseq buffer *start-index* *end-index*))

Extracting just one byte: (subseq buffer *state-index* (1+ *state-index*))

Of course, you'll need to assign the resulting value from each of those prior two examples.

Meanwhile, assigning into the buffer of raw bytes:

(setf (elt buffer *magic-number-index*) (logand #xFF *preamble-value*))

It's important to protect what you're assigning into; use of bitmasks like  work well for this.

For more than just one byte, such as inserting sequence2 to become a subset within sequence1, you could use:

(replace sequence1 (map 'vector #'char-code sequence2)	 :start1 a :end1 b) or following the examples above: (replace buffer (map '(vector '(unsigned-byte 8)) #'char-code string-text)	 :start1 *start-index* :end1 *end-index*)

A helper function is provided below that avoids an intermediate  from getting created.

Helper Functions
(defun map-replace (fn sequence1 sequence2 &key (start1 0) end1 (start2 0) end2) "Alter elements of first sequence with those from second but after applying function to that element first, performing each element in order.

Results will be identical to the following but without creating intermediate vector: (replace sequence1 (map 'vector #'char-code sequence2) :start1 start1 :end1 end1)

See also: http://common-lisp.net/project/trivial-utf-8

Side-effects: sequence1 gets modified unless sequence2 is effectively nil. Returns sequence1 after all modifications. " (loop     for i upfrom start1 below (or end1 (length sequence1))     and j upfrom start2 below (or end2 (length sequence2))     do (setf (elt sequence1 i) (funcall fn (elt sequence2 j))))  sequence1)

(defun network-bytes-to-number (buffer start-index total-bits) "Convert network byte ordered sequence of unsigned bytes to a number."  (unless (= (mod total-bits 8) 0) (error "Please specify total-bits as total for multiples of eight bit bytes")) (let ((value 0)) (loop for i downfrom (- total-bits 8) downto 0 by 8      for cursor upfrom start-index       do (setf value (dpb (elt buffer cursor)			   (byte 8 i) value))

(format t "buffer[~d]==#x~2X; shift<< ~d bits; value=~d~%"		 cursor (elt buffer cursor) i value))   value))

(defun number-to-network-bytes (number total-bits &optional buffer (start-index 0)) "Convert number to network byte ordered sequence of unsigned bytes characters."  (unless (= (mod total-bits 8) 0) (error "Please specify total-bits as total for multiples of eight bit bytes")) (unless buffer (setf buffer (make-array (/ total-bits 8) :element-type '(unsigned-byte 8)))) (loop for i downfrom (- total-bits 8) downto 0 by 8 for cursor upfrom start-index do (setf (elt buffer cursor) (ldb (byte 8 i) number))

(let ((value (ldb (byte 8 i) number)))	 (format t "number=~d: shift>> ~d bits; value=~d #x~2X; buffer[~d]==#x~2X~%" number i value value cursor (elt buffer cursor)))) buffer)

Time & Epochs
If converting time values from another language, let alone operating system, be aware that the epoch (semantics for value ) may be different.

ANSI Common Lisp has midnight 1 January 1900 UTC as the value 0 while Unix and many C libraries use 1 January 1970. Simple arithmetic converts between the two.


text:
Cookbook talk:Quiche

A question
What the heck is "condensed cream of mushroom soup"? --87.52.25.155 10:42, 21 April 2007 (UTC)
 * Some nasty commercial muck that alludes to being something like mushroom, but isn't. "Condensed" meaning just add water and heat, to get a salty mess with "natural flavours". Recipe should be amended to use fresh ingredients. Webaware talk 02:04, 22 April 2007 (UTC)

If you omit the yucky soup and just add some cooled sauted mushrooms, that basic recipe would be very tasty. ttiizen

Re "What the heck is "condensed cream of mushroom soup"?" - "I am glad to say, Miss Fairfax, that I have never seen a spade"

Is this the lazy persons version of a Quiche?
Don't get me wrong, but this recipe doesn't really sound that great, whatever happened to adding things like asparagus, mushrooms and some other vegetables to the persons taste, that is what cooking is about, experimentation. The one thing that really grates with me as well, is the idea that you throw all this in a blender, when manually whisking it all together with a bit of elbow grease would do exactly the same thing, would it not? I mean, chop the components of the quiche up as small as you like for a start. Also, it would be nice to have the recipe for the pastry, not just "frozen pre-made pastry", it screams of I can't be bothered, but I want to make this. Trumpy (discuss • contribs) 07:18, 20 July 2017 (UTC)

title: Cookbook talk:Quiche


text:
Talk:Programming Languages/Procedural Languages

 * I want to reshape this page and to write a complete book. alexsmail 12:29, 21 April 2007 (UTC)

I am written concurrently two books, perhaps you will want to look on united discussion page. Talk:Computer_programming/Object_oriented alexsmail 20:09, 18 May 2007 (UTC)

Do you want to write a book about what procedural programming means or about Java? In the first case I will help you. In the second case the title given is not appropriate. --vitalij 16:07, 8 September 2007 (UTC)
 * I want to write about procedural programming, while example will be written in Java. I will be appreciate for you help. alexsmail 12:30, 9 September 2007 (UTC)


text:
User:Alexsmail/Computer programming/Object oriented

Link on the related topics: Functional programming.

There is also a great book Object Oriented Programming. That books is describing OO on the programmer level. If you want to start to write rapidly OO or you want to understand existing program, you should read that book. If you want to understand philosophy of OO, if you want to learn theory of OO, this book is for you.

This book can be view as continue of Procedural programming. If one want to continue to learn object oriented, it is recommended to start from the previous book first.

Table of content:

 * 1) Objects are entities with state&methods. Twenty one game (version of Blackjack).
 * a. Struct as historical predecessor.
 * b. Classes, methods and constructors overview.
 * 1) Constructor. This. Null.
 * 2) Default Constructor, Copy constructor, Assignment operator.
 * 3) Examples: Fraction, Door, Rectangle.
 * 4) Wrapper class.
 * 5) Array is the Object.
 * 6) Exceptions. In common and in Java. Declare or throw. Runtime exception.
 * 7) String, Stream, System.
 * 8) Static & state.
 * 9) Inheritance. Object in C++ - abstract class. Pure abstract class. Inline function.
 * 10) Packages. Public.
 * a. Access management and inheritance.
 * 1) Polymorphisms. Casting.
 * 2) Re-use. Client-server. Black box.
 * 3) Functions again. Overloading. Redefinition and field&methods hiding. super.
 * 4) Functions again (cont). Parameters pass by value and by reference. Swap.
 * 5) Interface. Splitting of what class should do, and how does it do. Design pattern - factory.
 * 6) Again about final. Variable, method, class.
 * 7) End.

= Objects are entities with state&methods. Twenty one game (version of Blackjack). =

Real world example
Consider the real world example. You want to go out the room. You start to think how this mission can be accomplished. To make things simple, consider only the last faze of this mission, you are actually standing near the door. So, you think that you should just open the door and live the room, right? Consider that you actually percepts the world by entities: you distinguishes yourself, and the door from your environment. This entities has some interesting properties. The door can be closed or open, can have lock or not, for example. But actually, you don't care. You know, that you just want to open the door, and you know how this can be done to any door.

While I'll return to the previous example later on this book, meanwhile I want to concentrate on another example - the game twenty one (simplified version of Blackjack).

Much of blackjack's popularity is due to the mix of chance with elements of skill, and the publicity that surrounds card counting (keeping track of which cards have been played since the last shuffle). Blackjack's precursor was vingt-et-un ("twenty-one"), which originated in French casinos around 1700, and did not offer the 3:2 bonus for a two-card 21. I want to introduce very simple version of this game. I will call this simplified version twenty one through out the book.

There are two players on this game. Let name the first player a dealer. Dealer takes the card and gives one card to the second player, only second player sees the cards. Second player has three options - to ask more card, to surrendered or to stay, that is to say enough cards for now. Every card has number of points associated with it. Cards 2 through 10 are worth their face value, and face cards (jack, queen, king) are also worth 10. Ace will be considered to be 11 always. The goal of the game is to have the highest total as long as it doesn't exceed 21; a player with a higher total than 21 is said to bust or have too many. If the second player has more than 21 on his hand, he lose and must surrender. After the second player stays, the dealer gives cards to himself. If it have more than 21, so he just checks if second player is not cheating by just looking that it has less then 21, and second player wins. If it has less or equals to 21, than cards of the second player is opened and counted. If second player has more than 21, then he wins, if he has less, he lose. If there is draw, the dealer wins. Note, that if second player have 21, it can eventually lose, if dealer will have also 21.

I suppose, while blackjack is familiar to you, this simplified rules are new to you and looks very strange. It is done by two reason. First is to simplify the rules, so the code of this game will be short. Second is to give you to think how you thinks about this problem. Clearly, you spited the games by entities. You note, this in this game participates two player and cards. Players has some basic functionality, and have some difference. Dialer has some advantage upon the second player. Cards are passive entity. It just has a property how many points it includes. Players makes some actions (surround, stay or ask more card) considering cards. It is very naturally to split the problem based on entities.

Not all the problem can be naturally splited based on entities. For example, if you want to calculate some of two numbers, just go and calculate. (While it is possible to think that number is entity that can be added, it is not naturally to do). In the real world there are problems that is easy to split to entities and problem that are not. From theoretical point of view it can be rigorously proved, that every problem that can be solved by Procedural programming can be also solved by Object Oriented Programming, and vice-verse, every problem can be also solved by Object Oriented Programming can be also solved by Procedural programming. The question is what is more convenient to programmer, in what terms is easy to think about it. This book is not deals with this question, it just describes object oriented approach, and whether to use it in concrete situation is up to you.


text:
Horticulture/Pycnanthemum

Pycnanthemum, or Mountain Mint, is a genus of plants in the mint family, ../Lamiaceae/. Most species are very strongly scented and pungent, and are used in cooking and in making herbal tea. All plants in this genus are native to North America.

Description
Spreading perennial herbs with opposite leaves, square stems, and head-like inflorescences and stems that are square in cross-section. Individual flowers are small and white.

Growing conditions
Well drained soils, full sun to medium shade.

Species

 * P. albescens
 * P. beadlei
 * P. californicum
 * P. clinopodioides
 * P. curvipes
 * P. flexuosum
 * P. floridanum
 * P. incanum
 * P. loomisii
 * P. monotrichum
 * P. montanum
 * P. muticum
 * P. nudum
 * P. pycnanthemoides
 * P. setosum
 * P. tenuifolium
 * P. torrei
 * P. verticillatum
 * P. virginianum

Uses
Grown as a culinary herb, but also as a very high quality nectar source for bees and beneficial insects.

Maintenance
Keep under control by digging out the spreading parts in early spring.

Propagation
Division.

Harvesting
Cut stems at the base, keep leaves on the stem until ready to use.

Pests and diseases
../Rusts/

title: Horticulture/Pycnanthemum


text:
Talk:Horticulture/Berberis

species list from wikipedia:

title: Talk:Horticulture/Berberis


text:
Horticulture/Vitis

A grape is the fruit that grows on the woody vines of the family ../Vitaceae/. Grapes grow in clusters of 6 to 300, and can be black, blue, golden, green, purple, red, pink, brown, peach or white.

Description
Plants in this genus are woody vines which climb using tendrils. The alternate leaves are simple, palmately veined and often lobes. Flowers are produced in clusters of 6-300. The fruits are berries with 1-6 hard seeds.

Species
Many species of grapevines exist, including:

 * ../Vitis vinifera/, the European winemaking grapevine. Native to virtually all of mainland Europe.
 * ../Vitis labrusca/, the North American table and grape juice grapevines, sometimes used for wine. Native to the Eastern U.S. and Canada.
 * ../Vitis riparia/, a wild vine of North America, sometimes used for winemaking and for jam. Native to the entire Eastern U.S. and north to Quebec.
 * ../Vitis rotundifolia/, the muscadines, used for jams and wine. Native to the Southeastern U.S. from Delaware to the Gulf of Mexico.
 * ../Vitis aestivalis/, the variety Norton (AKA Cynthiana) is used for winemaking
 * ../Vitis lincecumii/ (also called Vitis aestivalis or Vitis lincecumii), ../Vitis berlandieri/ (also called Vitis cinerea var. helleri), ../Vitis cinerea/, ../Vitis rupestris/ are used for making hybrid grapevines and for pest-resistant rootstocks.
 * ../Vitis arizonica/ A desert grapevine found in the southwestern US that is hardy against extremes of temperature. Can be used for wines.
 * ../Vitis californica/ A grapevine important to the California wine industry for its rootstock which is able to withstand pests and cooler weather. Native to California and Oregon.
 * ../Vitis vulpina/ Frost grape. Native to the Midwest east to the coast up through New York.

There are many varieties of grapevines; most are cultivars of V. vinifera.

Hybrid grapes also exist, and these are primarily crosses between ../Vitis vinifera/ and one or more varieties of ../Vitis labrusca/, ../Vitis riparia/ or ../Vitis aestivalis/. Hybrids tend to be less susceptible to frost and disease (notably phylloxera), but wine from some hybrids may have a little of the characteristic "foxy" odor of ../Vitis labrusca/.

Uses
They can be eaten raw or used for making jam, grape juice, jelly, wine and grape seed oil. Cultivation of grapevines occurs in vineyards, and is calleviticulture. One who studies and practices growing grapes for wine is called a viticulturalist.

Raisins are the dried fruit of the grapevine, and the name actually comes from the French word for "grape". Wild grapevines are often considered a nuisance weed, as they cover other plants with their usually rather aggressive growth.

The leaves of the grape vine itself are considered edible and are used in the production of dolmades.

Maintenance
The most important maintenance requirement for grapes is regular pruning. Vines should be pruned back to spurs while dormant, in order to ensure good air circulation and keep the plants from getting out of hand.

Adequate calcium should be maintained in the soil if growing for fruit.

Propagation
Cultivars are almost always grafted.

Pests and diseases
Scorch, Wilt, Dieback ../Powdery Mildews/
 * Xylella fastidiosa (Pierce’s Disease)

../Downy Mildews/

../Diebacks/ ../Bunch Rots/ ../White Molds/ ../Aphids/ ../Scales/ ../Hoppers/ ../Mealybugs/ ../Bugs/ ../Flies/ ../Beetles/ ../Caterpillars/ ../Sawflies/ ../Wasps/ ../Bees/ ../Mites/
 * Eutypa lata
 * Eutypa armeniacae
 * Aspergillus niger
 * ../Botrytis cinerea/
 * Lasoidiplodia theobromae
 * ../Sclerotinia/
 * Grape Phylloxeran: ../Daktulosphaira vitifoliae/
 * Calico Scale: ../Eulecanium cerasorum/
 * European Fruit Lecanium Scale: ../Lecanium corni/
 * Oystershell Scale: ../Lepidosaphes ulmi/
 * Cottony Grape Scale: ../Pulvinaria vitis/
 * European Peach Scale: ../Parthenolecanium persicae/
 * Eastern Grape Leafhopper: ../Erythroneura comes/
 * Threebanded Leafhopper: ../Erythroneura tricincta/
 * Variegated Leafhopper: ../Erythroneura variabilis/
 * Virginiacreeper Leafhopper: ../Erythroneura ziczac/
 * Western Grape Leafhopper: ../Erythroneura vulnerata/
 * Grape Mealybug: ../Pseudococcus maritimus/
 * Obscure Mealybug: ../Psudococcus viburni/
 * Campylomma Bug: ../Campylomma verbasci/
 * Grape Tumid Gallmaker: ../Janetiella breviconda/
 * Grape Gall Midges: ../Schizomyia/
 * Grape Cane Girdler: ../Ampeloglypter ater/
 * Grape Cane Gallmaker: ../Ampeloglypter sesostris/
 * Rose Chafer: ../Macrodactylus subspinosus/
 * Japanese Beetle: ../Popillia japonica/
 * Apple Flea Beetle: ../Altica foliacea/
 * Apple Twig Borer: ../Amphicerus bicaudatus/
 * Grape Flea Beetle: ../Altica chalybea/
 * Grape Curculio: ../Craponius inaequalis/
 * Grapeleaf Skeletonizer: ../Harrisina americana/
 * Achemon Sphinx: ../Eumorpha achemon/
 * Eightspotter Forester: ../Alypia octomaculata/
 * Grape Berry Moth: ../Endopiza viteana/
 * Grapevine Root Borer: ../Vitacea polistiformis/
 * Redbanded Leafroller: ../Argyotaenia velutinana/
 * Spotted Cutworms: ../Xestia/ spp.
 * Virginiacreeper Sphinx: ../Darapsa myron/
 * Western Grapeleaf Skeletonizer: ../Harrisia brillans/
 * Whitelined Sphinx: ../Hyles lineata/
 * Grape Sawfly: ../Erythraspides vitis/
 * Yellowjackets
 * Leafcutter Bees
 * Grape Erineum Mite: ../Colomerus vitis/
 * European Red Mite: ../Panonychus ulmi/

title: Horticulture/Vitis


text:
A-level Chemistry/OCR (Salters)/Reactions of arenes

Reactions of arenes is the title of Section 12.4 in Chemical Ideas.

Introduction
Arenes are much more stable and less reactive than alkenes. Unlike alkenes, arenes do not undergo electrophilic addition reactions because doing so would destroy the arene's aromaticity (stability due to electron delocalisation in a ring).

The characteristic reactions of arenes are entirely different. They tend to undergo electrophilic substitution, which involves an electrophile taking the place of a hydrogen atom on the arene's benzene ring.

Mechanism

Overview
Anhydrous conditions are essential whenever aluminium chloride, AlCl3, is used — upon contact with water, an explosive reaction may occur, releasing corrosive hydrogen chloride gas.

Mechanism

Mechanism

The electrophile at the centre of Friedel-Crafts acylation is the acylium ion, [RCO]+. Its carbon atom carries a large partial positive charge and is highly electrophilic, allowing it to react with very unreactive arenes such as benzene. Bonding in the acylium ion is best described as a resonance hybrid of two canonical forms:

Overview
Arenes react with NO2+, a highly electrophilic linear cation called the nitronium ion. As a result, a nitro group, RNO2, replaces a hydrogen atom on the arene's benzene ring.

Because NO2+ is highly reactive, it is not readily available as a salt. It must be generated in situ (in the reaction vessel) by the reaction of concentrated sulfuric acid with concentrated nitric acid, which together are called a nitrating mixture.

 * HNO3 + 2H2SO4 → NO2+ + 2HSO4− + H3O+

For every mole of benzene nitrated, one mole of nitric acid is consumed, so nitric acid is a reactant. By contrast, sulfuric acid is regenerated once nitration has occurred, making it a catalyst.

In order to limit the number of nitro groups added, the temperature must be kept below 55 °C. Above this temperature, dinitro and trinitro compounds are formed, which are often dangerously unstable and prone to explosion. An example is TNT (trinitrotoluene, a trivial name for 2,4,6-trinitromethylbenzene).

Reduction of nitroarenes to arylamines
Tin in concentrated hydrochloric acid is an effective catalyst for the reduction of a nitroarene to an arylamine.

Mechanism
Concentrated sulfuric acid contains some sulfur trioxide, SO3, which is thought to be the electrophile involved in the sulfonation of arenes. SO3 has a large positive partial charge on its central sulfur atom, which is electrophilic enough to attract delocalised electrons from a benzene ring.

Hydrogenation
Benzene is very difficult to hydrogenate because doing so dispenses with the stable aromatic system of delocalised electrons. To hydrogenate benzene requires a highly active catalyst and conditions of high temperature and pressure.

The catalyst is based on very finely divided nickel and is called Raney nickel. The conditions used in industry are a pressure of 30 atm and a temperature of 300 °C. Three moles of dihydrogen, H2, are required to hydrogenate one mole of benzene.

Summary
With the exception of hydrogenation, the reactions of arenes presented here are all electrophilic substitution reactions. Arenes, especially benzene, have an exceptionally stable and unreactive aromatic system of delocalised electrons. Consequently, arenes only react with the most reactive of electrophiles and special catalysts are required to generate the highly electrophilic species required, such as Br+, NO2+ and R+.

Once a suitably electrophilic species, E+, has been generated, it will react rapidly with benzene. A highly unstable intermediate (containing a tetrahedral carbon) is formed, which significantly disrupts the delocalisation of electrons in the ring. The intermediate immediately releases a proton in order to regain a fully aromatic ring and hence decrease its energy considerably.

A more detailed look at the mechanism shows that a hydrogen atom from benzene is replaced by the electrophile.


text:
Surgical Procedures/Abdominal Surgery/Cholelithiasis

 Cholelithiasis  GallStones

Introduction:
 Approximately 10% of the population have gallstones. The majority of the gallstones are asymptomatic. Only approximately 30% of sufferers have surgery.

Types
 Cholesterol stones (Approximately 6%, less common). Mixed stones (Approximately 90%, common). Pigment stones (Uncommon).

Incidence of gallstones:
Classically: Fat, fertile flatulent female of fifty (forty).

Commonest Causal Factors:

Cholesterol stones: Approximately 75% of all gall stones are Cholesterol stones .

Excess of cholesterol relative to bile salts and phospholipids allowing cholesterol crystals to form.

Infection can cause cholesterol gallstone.

Oestrogens reduces gallbladder contraction and increases chances to        gallstone formation.

Multiple pregnancies/contraceptive use.

Obesity.

Rapid weight loss.

Infestation with:

Clonorchis sinensis, Ascaris Lumbricoides etc.

Pigmented stones: Approximately 25% of all gall stones are Pigmented Stones.

Black color Pigmented Stones:

Sufferer with Hemolytic disorders.

Sufferer with cirrhosis.

Brown color Pigmented stones:

Sufferer are mostly Asian population.

Bacterial Infection.

Mixed stones:

mixed of cholesterol and pigmented.

Investigation

USG.

CT.

Asymptomatic gallstones disease
(Symptomless)
Approximately 50% gallstone sufferer are Asymptomatic.

Generally do not require Surgical treatment. (Depending on the  indication).

Relative Indication:

Large stones ( >2-3 cm ) with high risk of cholecystitis.

High or increased risk of malignancy (cancer).

Sufferer's age above 70.

Sufferer with Sugar disease (Diabetes): New evidence suggests that cholecystectomy should be done for the same indications as general population. thaere is no need of prophylactis cholecystectomy in asymptomatic gallstones in diabetics..

Sufferer with Immune diseases.

 * Suggestive of gallstone disease.
 * Sufferer with Dyspepsia.
 * Vague abdominal discomfort.
 * Around Epigastric region.
 * Sufferer with increased flatulence.

Symptomatic Gallstone Disease

Pain:

Known as Biliary colic .

Usually Right Upper Quadrant (sided) chest/abdominal pain.

Usually pain after oily food.

Quick pain which lasts few moments to few hours.

Pain with discomfort.

Pain often radiates (travels) towards right scapula (back).

Nausea and Vomiting may also present with pain.

 Acute Cholecystitis :

Occurs in approximately 10% of symptomatic gallstone disease.

Treatment of choice:

Laparoscopic cholecystectomy.

Open cholecystectomy.

Percutaneous transhepatic placement of a cholecystostomy tube.

Effects and Complication of GallStones

 * In the gall bladder:
 * Asymptomatic gallstone.
 * Hydrops of the gallbladder.
 * Flatulent dyspepsia.
 * Gallstone colic.
 * Acute Obstructive cholecystitis which may lead to:
 * Mucocele.
 * Empyema.
 * Gangrene.
 * Perforation.
 * Fistula.
 * Chronic Cholecystitis.
 * Carcinoma.

 * In the CBD:
 * Obstructive jaundice..
 * Liver failure.
 * Cholangitis.
 * Acute or recurrent pancreatitis.

 * In the pancreas:
 * Acute Pancreatitis.
 * Acute relapsing Pancreatitis.
 * Chronic Pancreatitis.

 * In the Intestine:
 * Gallstone Ileus.

Gallstones with other Diseases:
Gallstone may be associated with other diseases.

 * Saint's Triad:
 * Gallstone + Hiatus Hernia + Diverticulosis of the Colon.

 * Cholecystic Heart:
 * Diseased gallbladder may cause decreased coronary blood flow, arrythmia or heart block in previously heart disorder.

 * Asymptomatic Gallstones:
 * After long follow-ups, approximately 50% asymptomatic turns into symptomatic.

About Gall Bladder and Cholelithiasis

 * : Gall Bladder Questions


text:
Talk:Aspies Book

Chapters first
I've thought about that it could be best to have the chapters at the top, above the explanation of what the book is about, because when you view a book, you first look at the 'index' which tells where everything is. Then you find the section that says "about this book". This would make people who read normal books more familiar with online kind of books. What do you think? (If I've changed the article you can revert and tell your view here) Logictheo 20:20, 21 April 2007 (UTC)

Title template removal
I removed the title template on the main page, because I think its better to have a special header for title. --Strange quark (discuss • contribs) 07:04, 25 May 2017 (UTC)

title: Talk:Aspies Book


text:
Zine Making

Presentation
A "zine" is an independent publication, a DIY magazine-like thing. Because you do it yourself it can be pretty much anything you want it to be. This wikibook is not about the style or content of what you do with your zine, since it can contain almost anything you want (that's the joy of zines!), but instead is intended to help you with some of the practicalities of how to make a zine, about putting paper and ink (or whatever) together to make something interesting that you can put out.

This guide aims to be fairly international and not connected to any particular "scene", so there aren't any addresses or country-specific things (e.g. about the postal system, legal system...). Hopefully you'll find it useful.

Table of contents

 * 1) /Writing the pages/
 * 2) Putting pages together: stapling, stitching, folding, etc
 * 3) /Making copies/
 * 4) Selling/giving copies to people
 * 5) Other resources about zine making
 * 6) /Authors/

title: Zine Making


text:
Zine Making/Writing the pages

Presentation
To some extent the way you write your pages depends on what you're doing. If it's a zine of your hand-drawn cartoons then your best option is to hand-draw some cartoons. If it's an art zine then the appearance is going to be defined by what you're trying to achieve artistically. And so on. But here are some things to bear in mind:

General considerations

 * For most copying purposes, colour is much more expensive than black-and-white (for photocopying, printing, etc). That's why most zines are in black and white. There are lots of things you can do to add a bit of colour, such as using coloured paper/card for the cover, or including one or two full-colour sheets in your zine (rather than the whole lot; it depends on your production method whether you can do this), or adding some colour after the zines have been produced.
 * If you're going to use a photocopier or a computer printer to print the pages, you'll probably find they don't print all the way to the edges of the paper, so you should probably experiment a little bit and make sure you don't go all the way to the edge on your "master copy".
 * Especially if photocopying, you'll probably find that subtleties of lightness and darkness won't come out very well. Stark black-and-white will photocopy most clearly.
 * If you have access to a scanner, try scanning the master copy to a computer instead of photocopying. Benefits include the ability to see exactly how the printouts will look, and the ability to make adjustments, without having to use paper and ink.

Pen/pencil etc
Hand-written / hand-drawn things can be brilliant.

 * Remember the point above about being able to copy it - if you photocopy something done with pencil on paper, often it comes out really faint. Biro (disposable ballpoint pen) can come out faint too. You can fiddle with the photocopier's brightness settings to make it clearer, or if you can scan it into a computer you can make it come out much clearer and have a lot more control over it. Alternatively, just trace over the pencil lines with a dark pen. You might not like the way the lines can look doubled-up, but often the photocopier pretty much loses the pencil lines altogether and the end result looks pretty good.

Typewriters
Typewriters are great and can make good-looking text that's not as boring as printed-out text from a computer, yet more legible than handwriting... but typewriters are becoming rarer and rarer these days so for many people they might not be available. However you can get a typewriter on eBay for pretty cheap, also check garage sales and thrift stores or even ask friends or relatives who have updated to computers.

Computers
OK, so computers are capable of quite a lot, and we can't possibly cover all of it here. You can type/draw things directly using your computer, you can add photos from your camera/phone/etc, you can scan drawings/writings/etc in.

 * If your zine is really quite text-based then a full word-processor like Apple Pages, LibreOffice Writer, Google Docs, Microsoft Word or AbiWord can be fine.
 * If you want to make your zine look pretty and have things laid out interestingly then a word-processor gets a bit limiting and it's difficult to stop things looking a bit samey, so you might find it better to just use a graphics program. Alternatively you can write your text, then print it out and then use cut-and-paste or whatever to organise/decorate the text more interestingly.
 * In most word processors you can use the columns feature to help arrange things. For example, use the page setup to set the pages as landscape, then use the "columns" options to specify that there should be two columns on each page. Hey presto, you now have a layout that can easily be typed and then folded to make the standard codex (book-like) folded zine.
 * If you're going to be scanning and printing a lot, then a good graphics program is helpful. (The "paint" software that comes with your computer can be a bit frustrating!) Commercial programs like Photoshop and Paintshop Pro are well-known and they're very good. If you can't afford those, or even if you can, you should definitely check out the free and open-source equivalent, which is a piece of software called GIMP (GNU Image Manipulation Program). Despite the unusual name, it's a full-featured and very good piece of software, and you're very likely to be able to do everything you want to do with it. Inkscape is also good, especially for vector graphics.
 * For desktop publishing software Scribus is free too.
 * LaTeX, a piece of free/libre software used for professional type setting, particularly in the maths and sciences, is another possibility.

Cut and paste
A lot of zine-making involves cutting and pasting, to compile your images and/or words. People also use it to incorporate things from other sources.

We're not going to consider anything about the legal/moral/political dimensions of making cut-and-paste works out of other people's stuff here. It can look brilliant; but at the same time if you're just taking someone else's work and dropping it into your own zine then you haven't really done anything.

Practically, remember the thing about contrast if you're going to be making copies. Also remember that if you're cutting-and-pasting from glossy paper (such as magazines) then it can sometimes photocopy really badly because the gloss on the paper just shines when it gets in the photocopier, and you end up with a bright white thing instead of your desired image (at least partially).

If you've cut and pasted your stuff all together then it can be very helpful to photocopy it to get a kind of "master copy" that doesn't have bits everywhere.

Photos
Photos rarely photocopy nicely. Choose ones with lots of contrasts, not too much detail (e.g. a face rather than a crowd of people) and that aren't too dark. If you can, you can probably improve results by scanning a photo, adjusting it (fiddle with the brightness, increase the contrast), and printing it back out again.

Sewing
I've seen some really good zines that make use of sewing, cross-stitch, and crafty things like that. If you're going to be photocopying or something like that, then you can still do crafty things like this, as they can often come out quite well when copied (you'll need to have good colour contrasts though). If you're going to hand-make the crafty bits on each copy then of course you have more freedom and can make perhaps more exciting items, but of course you need dedication...

title: Zine Making/Writing the pages


text:
Blender 3D: Noob to Pro/Realistic Water using Fluid Sim and Yafray

(This was written using Blender v2.43)

Using the Fluid Simulator and Yafray to create realistic looking water
This tutorial will (hopefully) successfully walk you through creating semi-realistic looking water using the Fluid Simulator in Blender, then rendering in Yafray.

Getting Started
When you first open blender there will be nothing but a blank cube.

 (noobie note: I don't know what the above step is for, adding the subsurf then click "X" removed it.)
 * 1) Make sure you are in object mode, and scale the cube up to about 5. Do this by pressing S in the 3d view and holding ctrl, move your mouse until the numbers in the bottom left of the screen are 5. Or select the object and press S then 5.
 * 1) Next, in the viewport shading box select wireframe. This lets you see through the cube.
 * 1) We are now going to enable the cube for Fluid Simulation. With the cube still selected in object mode, press F7 (object button) and then press the "Physics Button".
 * 1) You should see a tab labeled "Fluid Simulation" press Enable and then Domain. After pressing Domain several buttons will pop up, these will be used later.
 * 1) Make sure you are in top view now, if not just press NUMPAD7. Next press space>Add>Mesh>Cylinder. 32 vertices is ok.
 * 2) Now middle click and drag in the 3d view to see the cylinder inside your beautiful box. (yay!) What's going to happen is the cylinder is going to be turned into liquid, and the big box is where the liquid can flow about. (it is the "invisible wall")
 * 3) Move the cylinder to a corner of the cube, you can give it some height if you like. Now with the cylinder still selected press Shift-D to duplicate it. Move the new cylinder to the opposite corner.
 * 1) On both of the cylinders go the fluid sim. tab and press Enable then Fluid. This tells blender that these cylinders are fluid.
 * 2) IMPORTANT!!!     After this, you MUST subsurf both of the cylinders, but don't apply it. Instead, when the cylinder shows a preview of the subsurf, click the "X" in the top-right of the subsurf preferences.
 * 1) Switch to Object Mode then Right click on the big box (the domain) and press the big BAKE button. A little box will pop up and just click on the top option.
 * 2) Now you should see a blob looking thing appear in the cylinders, and it will fall to the ground and splash around. Your computer is "baking" the liquid. (Calculating where it should go)
 * 1) As you see now, the liquid isn't very realistic looking. If you do a render, you will see. You would also see that the cylinders are appearing in the image. This is not wanted, so with both of the cylinders selected, press M then click on one of the little boxes that isn't already pressed. This moves them to another layer.
 * 2) Now we are going to move the camera to a different position for a better view. Move the viewport around until it's where you think will give you the best view and press SHIFT-NUM0 to make the camera match your current view.
 * 3) Drag the newly placed camera back a bit, so the when NUMPAD0 is pressed most of the scene is in view. You should now have something that looks similar to this:
 * 1) Now we are going to rebake the water at a higher resolution for a more detailed result. Select the goo looking mesh, (both blobs should turn purple if either is clicked) and go the fluid simulation tab again. Turn the resolution up to about 100 (or whatever you want) this rebakes the fluid for more detail. If you turn preview mesh up too, you will see it more detailed before rendering. Baking now may take a while.
 * 2) After its done baking, you are ready to change the material of the water to something better looking.
 * 3) First change the renderer to YafRay. Press F10 then under the big Render button select YafRay. Make sure Yafray is installed first, the option still appears if you don't.
 * 4) Change the background white by pressing F5 then click on the box that has world buttons appear when the cursor is hovered over it.
 * 5) You will see HoR, HoG, and HoB. Turn these all the way over to one. The preview should turn white.
 * 6) Now go to the material buttons (red sphere) and make everything look like the following:  (I think I circled all the changed options, but maybe not.)
 * 1) After this is completed look through the frames by pressing right arrow, find one that looks cool then press render and you may get something like this:

Hopefully you got something like that :) (that's all folks...)

If the render does not look smooth, apply a subsurf.

Extra Practice
This YouTube tutorial on fluids might also help: Link and this Realistic Water Texture

Video tutorial showing fluid simulator objects in Blender 2.49b: http://www.youtube.com/watch?v=wX5w1Kmsv_A

User Question: When I click Bake there is no box that shows up, I cannot get it to bake my fluids at all, all it does is add a bunch of files to my hard drive and take a long time, What should I do?

Answer: Be sure to set the directory that you would like the files to be saved to, the option to do so is in the area where you changed the box to a domain very bottom there is a folder. Chose a directory and all will be good.

User question: When i click the bake button it says there can't be more than one domain object. I did everything you said to do but i don't understand why it says that.

Answer: The only solution I have found around that is to go to the top header and where it says "SR:2-Model" change that to actor and select the different objects until you find something that doesn't highlight. Delete those. I found that occasionally a domain "disappears" and when you make a new one causes this problem. I have also found it better to set up the domain last around your scene to prevent this annoyance as well.

Note: The domain object does NOT disappear - the Domain object IS the object on your screen which represents the fluid itself.


text:
User:Mrswanson

Mr. Swanson is Kris Swanson, a 5th Grade teacher at Poinciana Elementary School in Boynton Beach, Florida. He is also an adjunct professor in the College of Education at Florida Atlantic University.

title: User:Mrswanson


text:
Talk:Learning Theories/Organizational Learning: Contributions by Discipline

I have a question about the case study. Where is IWU?

This is a referenece to Indiana Wesleyan University in Marion, Indiana. The doctoral program referred to in the book is an Ed.D. in organizational leadership.


text:
Zine Making/Making copies

Hand-making
Hand-making is a good option if you're making very few indeed, or if it's based on crafty stuff, or a series of one-off things. Otherwise, remember that you've got every right to combine hand-making techniques with other techniques, such as photocopying the whole zine then sewing a front cover (or whatever).

Photocopiers
Photocopiers are a big thing in zine-making, whether it's subtle use of the photocopier at work (or so I've heard) or the photocopier in the library. Some photocopiers will even do your stapling for you, which is very kind.

Many photocopiers do not copy all the way to the edge of the page, and some have quirks about the way they photocopy different shades/colours, so it's a good idea to try a print-run out once or twice and see if you can get it looking good, before you dial in "500" and press Go. It's a good idea to get used to a specific photocopier's quirks and then stick with that one, to avoid giving yourself a new set of headaches.

Computer printers
If you have a computer and a printer at home then it can be easy to print things out yourself, especially if you're not doing many. But after a while it gets:

 * 1) Expensive. Printer ink is really quite expensive, and (especially if you have any pages with large amounts of black on them) you'll be using up printer ink faster than you can possibly imagine...
 * 2) Frustrating. This is particularly true if you're doing double-sided things but your printer doesn't do double-sided, because you need to do a lot of sitting there feeding printed sheets back into the printer in the correct order/orientation/etc, and it can go wrong quite a lot too. It can also go a bit wrong because the printed sheets might be a bit damp or crinkly, so the printer goes a bit wrong in feeding the paper back in. Then there's also the stuff about getting it all to print out so all the folds line up nicely.

Anyway. If you are using your own printer then here are some tips:

 * Remember to make sure it'll fit on the page. Most printers don't print right to the edge of the paper, which means that either the edges of what you've designed will be chopped off, or it'll be printed out slightly smaller than maybe you expected. You might find you need to leave an empty border around your work so that nothing gets chopped off.
 * Do a bit of experimenting then make a template. Draw some lines (or try and set appropriate borders) in your software, print them out, fiddle about and repeat until you've got it about right, and save that file. You can use this as a basis for your pages then delete/hide any guiding lines before you print the pages out. This webpage has a couple of examples of templates: http://www.footprinters.co.uk/layout.htm
 * A quick rule of thumb: if your zine doesn't fit in the page, resize it (in the print preferences or whatever) to about 97%.

Getting them printed

If you're strongly into DIY or anarchist things you might not want to use a company to print the things for you, and that's fine. But if not:

If you're getting to the point where you're making a lot of copies (more than a few dozen) then it's probably cheaper and easier to get the zines printed on your behalf, and will get you more uniform results. Of course there are various limitations with this: the printing companies are not likely to be willing to print every fourth page using tracing paper, for example. But you could easily get a printing company to make the zines and then do some "post-processing" on the zines to add your preferred cross-stitch/hole-punch/felt-tip customizations, which is quite a nice way of combining interestingness with painless production.

Printing companies typically vary a lot when it comes to pricing, so make sure you ask around for different prices. They can also vary in helpfulness, and this can be quite important. Does the company look small and friendly? A small friendly company may be more inclined to spend time talking to you and making sure they get it right. Double points if the website gives the name, photo and direct phone number of the person who gives quotes.

Check: are they happy to do small print runs? Check that "small print run" means 50 rather than 50,000.

You don't particularly need to pick a nearby printers, because delivery is often included or inexpensive.

What info to tell the print shop

 * What the finished zine will look like (e.g. 12-page A6 booklet)
 * How many copies you want printed
 * What weight of paper you want (e.g. 80gsm is normal printer paper, 120gsm is thick paper... ask them for advice if you're not sure)
 * The color and shininess of the paper (e.g. white, glossy)
 * What colors of ink you need (e.g. black, black and red, or full colour)
 * If you want it delivered and how soon you need it done
 * How you'll provide the original copy - either electronically (PDF, Word, jpg, by CD, email, etc) or 'camera ready' (on paper)

title: Zine Making/Making copies


text:
Zine Making/Other resources

Online information

 * http://www.zinebook.com/resource/zinetips.html
 * Plenty of advice in this fairly long article
 * http://zinewiki.com/
 * A wiki devoted to zines and independent media. It covers the history, production, distribution and culture of the small press.

Books, zines, etc

 * How to make books, a chapter by "robnoxious" in Making Stuff and Doing Things: A collection of DIY guides to doing just about everything, edited by Kyle Bravo and published by Microcosm Publishing, 2006.
 * This has a lot of nice info about how to do proper good book-binding yourself, including some diagrams about folding zines, stitching pages together, etc.
 * Bookbinding describes how to do book-binding yourself.
 * Drafting describes tools and techniques that may be useful in zine making.

title: Zine Making/Other resources


text:
Zine Making/Selling or giving copies to people

Presentation
Most people who make zines aren't doing it as a profit-making enterprise, and if you are hoping to make a living from your zine then you're probably wrong. Most people who sell their zines put them at a price which kind of approximately covers the costs of making/distributing them, so that the zine-making process doesn't bankrupt them. A lot of smaller zines (e.g. ones made from a single page of A4) are given away. It's much less hassle not having to collect money etc. And a lot of zines are swapped for other zines rather than bought. It's up to you what you do, but don't expect to see some kind of profit margin on your zine; that's usually not how it works.

Record shops / book shops

Lots of independent record shops / book shops are happy to carry zines. Some of them have stands for them and have a sale-or-return procedure in place to let you sell them. But even if they don't, you can often ask your friendly independent record/book-shop person if they wouldn't mind having them on the counter or wherever.

Sale-or-return is the typical agreement that shops do: they'll collect the money on your behalf, and you can come back in a month (or whatever) and collect your money (hopefully) or your unsold zines. Some shops have a time-limit, for example if you don't collect them within 6 months they assume you've forgotten about them and get rid of them. Some shops take a cut of the profit, and some don't.

Distros
People who like zines and who really enjoy photocopying often set themselves up to distribute other people's zines - these are often called "distro"s. There are some large and well-established distros and millions of tiny one-person distros, but typically it's just a case of if they like it, they'll be happy to carry it for you. If you find distros which have stuff you like, or your stuff fits in with them, just ask...

Remember that it's typically all done for the love of it so it's not quite the same as approaching some publishing company. You don't need to be particularly formal, just send them a zine and/or have a conversation with them.

Zine fairs
People who like zines and who really enjoy herding cats often set up a "zine fair" or "zine symposium" or some such, in their area or for their particular scene. Have a look around to see if there's anything suitable.

Carrying zines around
If you've got a nice load of zines freshly made and you want to take them to gigs, fairs, etc, you probably want to keep them looking nice, so it's a good idea to find a sturdy box to carry them around in. If you've only got a few then anything will do, but if you get to the point of having a lot to carry around then finding an old suitcase, camera-case, or some such case with a handle or strap can be really helpful.


text:
Template:Zine Making/Nav

Zine making

 * Writing the pages
 * Putting pages together
 * Making copies
 * Selling/giving copies to people
 * Other resources about zine making

Printable version

title: Template:Zine Making/Nav


text:
User talk:Kjoonlee

Please use a [ new section] or edit a relevant section. Thank you. This page will be archived when the table of contents fills up my view. --Kjoonlee 22:31, 21 April 2007 (UTC)

title: User talk:Kjoonlee